@charset "UTF-8";
/*
Theme Name:お赦しください2024-01
Theme URI:https://festa.cocomal.com/
Description:お赦しください2024-01
Version: 1.0
Author:お赦しください2024-01
Author URI:https://festa.cocomal.com/
*/ 

.w-100per {width:100%; height:auto;}
.w-90per {width:90%; height:auto;}
.w-80per {width:80%; height:auto;}
.w-70per {width:70%; height:auto;}
.w-60per {width:60%; height:auto;}
.w-40per {width:40%; height:auto;}
.w-20per {width:20%; height:auto;}
.w-30per {width:30%; height:auto;}
.w-10per {width:10%; height:auto;}

.w-26px {width:auto; height:40px;}


/*--▼z-index--*/
.rel {position:relative; z-index:1;}
/*--nav-menu--*/
.abs-nav {position:absolute; bottom:10px; right:0px; z-index:11;}
.abs-nav img {width:auto; height:60px;}
@media only screen and (max-width:821px) {
.abs-nav {display:none;}
}
/*--ham-menu--*/
.abs-ham-menu {position:absolute; bottom:10px; right:0px; z-index:11;}
@media only screen and (min-width:821px) {
.abs-ham-menu {display:none;}
}
/*ec-icon*/
.abs-ec {position:absolute; bottom:-10px; right:0px; z-index:12;}
@media only screen and (max-width:641px) {
.abs-ec {width:50px; height:auto;}
}
/*logo-main*/
.logo-main {width:auto; max-height:60px; position:absolute; bottom:10px; left:0px; z-index:10;}
@media only screen and (max-width:821px) {
.logo-main {max-width:260px; height:auto; max-height:60px; min-height:30px; bottom:5px;}
}
@media only screen and (max-width:480px) {
.logo-main {max-width:210px; height:auto; max-height:34px; bottom:10px;}
}
/*--▲z-index--*/

/*--bgパタ－ン--*/
.bg-ptn-01 {background: url("img/bg-ptn-01.png") no-repeat top right / 100% auto;}
/*@media screen and (max-width:641px) {}*/
/*@media only screen and (max-width:481px) {}*/

/*--2列記事50対50可変--*/
.column2-50 {float:left; width:49%; margin:0 2% 0 0; display:inline-block; height:auto;}
.column2-50:last-child {margin:0 0% 0 0;}
@media only screen and (max-width:640px) {
.column2-50, .column2-50:last-child {display:block; width:100%; height:auto; margin:0 0% 0 0;}
}

/*--2列記事50per固定--*/
.column2-50kotei-l, .column-2-50kotei-r {float:left; width:49%; height:auto; display:block;}
.column2-50kotei-l {margin:0 2% 20px 0;}
.column2-50kotei-r {margin:0 0% 20px 0;}

/*--2列記事60対40可変--*/
.column2-60, .column-2-40 {display:inline-block; height:auto;}
.column2-60 {float:left; width:60%; margin:0 4% 0 0;}
.column2-40 {float:right; width:36%; margin:0 0 0 0;}
@media only screen and (max-width:769px) {
.column2-60, .column2-40 {
display:block;
width:100%;
height:auto;
margin:0 0% 0 0;
}
}

/*btn-midiuml*/
.btn-m a {
width:100%;
padding:15px 1%;
display:inline-block;
/*text-decoration:none;*/
line-height:1em;
text-shadow:none;
background:#fff;
border:2px solid #ff3399;
color:#ff3399;
}
.btn-m a:hover {
background:#ff3399;
color:#fff;
}

/*.bod-left-b {border-left:8px solid #ff3399; padding:0 0 0 7px; display:block;}*/
.bod-left-pink {border-left:8px solid #ff3399; padding:0 0 0 7px; display:inline-block;}
@media only screen and (max-width:641px) {
.bod-left-pink {
border-left:none;
border-bottom:5px solid #ff3399;
padding:0 0 5px 0;
margin:0 0 30px 0
}
}

/*--list--*/
/*--disc--*/
.list-disc li {
display:block;
/*padding-left:-5px;*/
/*margin-left:5px;*/
padding-left:20px;
margin-left:0px;
background: url("img/icon-disc.png") no-repeat top 4px left / auto 15px;
min-height:30px;
margin-bottom:4px;
}
/*--矢印--*/
.list-yazirushi li {
display:block;
padding-left:30px;
margin-left:-5px;
text-decoration:none;
background: url("img/icon-yazirushi.png") no-repeat top left / auto 30px;
min-height:30px;
}
/*--数字--*/
.list-deci li {
list-style:decimal outside;
padding:0;
margin:0 0 20px 15px;
}
/*--list最期--*/
.list-disc, .list-yazirushi, .list-deci li:last-child {
margin-bottom:0px;
}
/*--/list--*/

.trim-1px-pink {
border:1px solid #ff3399;
padding:14px 14px 0px 14px;
}

.trim-1px-pink-2 {
border-top:1px solid #ff3399;
border-bottom:1px solid #ff3399;
padding:13px 0px 0px 0px;
}


.ma-t5 {margin-top: 5px;}
.ma-t10 {margin-top: 10px;}
.ma-t15 {margin-top: 15px;}
.ma-t20 {margin-top: 20px!important;}
.ma-t30 {margin-top: 30px!important;}
.ma-b3 {margin-bottom: 3px;}
.ma-b5 {margin-bottom: 5px;}
.ma-b10 {margin-bottom: 10px;}
.ma-b15 {margin-bottom: 15px;}
.ma-b20 {margin-bottom: 20px;}
.ma-b30 {margin-bottom: 30px;}
.ma-l5 {margin-left: 5px;}
.ma-l10 {margin-left: 10px;}
.ma-l15 {margin-left: 15px;}
.ma-l20 {margin-left: 20px;}
.ma-r5 {margin-right: 5px;}
.ma-r10 {margin-right: 10px;}
.ma-r15 {margin-right: 15px;}
.ma-r20 {margin-right: 20px;}

.f-l {float:left;}
.f-r {float:right;}
.clear {clear:both;}
.c-fix { zoom: 1; }
.c-fix:before,
.c-fix:after { content: ""; display: table; }
.c-fix:after { clear: both; }

/*--formから--*/
.textarea, .textarea-kensaku {
padding:8px 4px;
outline: none;
border:2px solid #c1c1c1;
-webkit-border-radius:1px;
-moz-border-radius:1px;
border-radius:1px;
font-size:15px;
box-sizing:border-box;
word-break:keep-all;
background:#fff;
cursor:pointer;
}
.textarea:hover {border-color:#777;}

/*PC版検索textエリア*/
.textarea-kensaku {
width:68%; margin-right:2%; padding:2px 0px;
}

/*--btn-submit--*/
.btn-submit, .btn-submit-kensaku {
-webkit-appearance:none;/*ios対策*/
border-radius:0;/*ios対策*/
/*margin:0px;*/
padding:10px 10px;
color: #555;
cursor:pointer;
background: #fff;
border-radius:1px;
border:2px solid #777;
width:100%;
overflow:auto;
font-size:1.3em;
font-weight:bold;
}
.btn-submit:hover {background:#e4e4e4;}

/*PC版検索btn*/
.btn-submit-kensaku {width:30%; padding:2px 0px;}

/*821px以下PC版検索非表示*/
@media only screen and (max-width:821px) {
.textarea-kensaku, .btn-sunmit-kensaku {display:none;}
}


/*--text--*/
.bold{font-weight: bold;}
.col-white {color: #fff;}
.col-pink {color:#ff3399;}
.col-red {color: #dc143c;}
.col-gray {color: #ccc;}
.col-navy {color: #003366;}
.col-green {color: #669900;}

.text-l{text-align:left;}
.text-r{text-align:right;}
.text-c{text-align:center;}
.text-lc {text-align:left;}
.text-rc {text-align:right;}
.text-rl {text-align:right;}
.text-cl {text-align:center;}
@media only screen and (max-width:641px) {
.text-lc, .text-rc {text-align:center;}
.text-rl, .text-cl {text-align:left;}
}

.text-08 {font-size:0.7em;}
.text-12 {font-size:1.2em;}

h1.title {color:#003366; font-size:2.0em; display:inline; line-height:1.0em; letter-spacing:0.1em;}
h1.title-index {font-size:1.2em; display:inline;}
h2.title-prof {font-size:1.3em; display:inline;}
h2.title {font-size:1.2em; display:inline;}
h3.title {font-size:1.1em; display:inline;}
@media only screen and (max-width:641px) {
h1.title {font-size:1.4em;}
h2.title {font-size:1.1em;}
h3.title {font-size:1.1em;}
}

.text-trim-1px {
text-shadow:white 1px 1px 0px,
white -1px 1px 0px,
white 1px -1px 0px,
white -1px -1px 0px;
}
.text-trim-2px {
text-shadow: 
#fff 2px 0px, #fff -2px 0px,
#fff 0px -2px, #fff 0px 2px,
#fff 2px 2px, #fff -2px 2px,
#fff 2px -2px, #fff -2px -2px,
#fff 1px 2px, #fff -1px 2px,
#fff 1px -2px, #fff -1px -2px,
#fff 2px 1px, #fff -2px 1px,
#fff 2px -1px, #fff -2px -1px;
}
/*--text--*/

.of-hidden {
width:100%;
max-width:960px!important;
overflow:hidden!important;
}

.disp-block {display:block;}
.disp-il-block {display:inline-block;}

.bod-b-dotted {border-bottom:dotted 2px #fff; padding-bottom:5px;}

#breadcrumb li {
float:left;
list-style-type:none;
font-size:0.9em;
text-decoration:none;
margin-bottom:20px;
}

/*homeに戻る-基点*/
.rel-return {
position:relative;
z-index:2;
} 
/*homeに戻る-BTN*/
.abs-return a {
bottom:15px;
left:30px;
z-index:20;
position: fixed;
min-width:120px;
height:auto;
cursor:pointer;
background:#fff;
border:2px solid #ccc;
border-radius:4px;
text-align:center;
}
@media screen and (max-width:767px) {
.abs-return a  {
width:50px;
bottom:5px;
left:10px;
}
}

/*--page先頭へ--*/
.page-top {z-index:9999; width:80px; position:fixed; bottom:15px; right: 30px;}
.page-top img {width:100%;}
@media screen and (max-width:767px) {
.page-top {width:50px; bottom:5px; right:10px;}
}

/*category*/
.entry {
display: flex; /*flexコンテナ 子要素は自動的にflexアイテムとなる*/
flex-direction: row; /*横並び表示*/
flex-wrap: wrap; /*画面幅に収まらない場合折り返す*/
width:100%;
overflow:hidden;
_zoom: 1;
}

.item, .item-right0 {float:left; width:32%; padding-bottom:4px; border-bottom:dotted 1px #666;}
.item {margin:10px 2% 10px 0;}
.item-right0 {margin:10px 0% 10px 0;}
@media only screen and (max-width:641px) {
.item, .item-right0 {display:block; width:100%; margin:10px 0% 10px 0; height:auto; padding-bottom:4px; border-bottom:dotted 1px #666;}
}

/*ct用2列記事可変*/
.ct-img {display:block; width:100%; height:auto;}
.ct-img img {
width:100%;
height:auto;
max-height:160px;
overflow:hidden;
}
.ct-txt a {display:block; width:100%; height:auto;}
@media only screen and (max-width:641px) {
.ct-img {float:left; width:49%; margin-right:2%; display:inline-block;}
.ct-txt a {float:left; width:49%; display:inline-block;}
}
/*ct用2列記事可変*/
.category-description {}
/*category*/


/*table*/
.table-01 {
width:100%;
padding:0;
border-collapse:collapse;
border-top:1px dotted #333;
/*border-bottom:1px dotted #333;*/
}
.table-01 td:first-child {
width:20%;
text-align:left;
vertical-align:top;
padding:8px 2% 8px 5px;
border-bottom:1px dotted #333;
/*border-left:5px solid #0099ff;*/
font-weight:bold;
background:#f1f1f1;
}
.table-01 td:last-child {
padding:8px 2px;
border-bottom:1px dotted #333;
}
@media only screen and (max-width:641px){
.table-01 {
width:100%;
border-top:none;
border-bottom:none;
}
.table-01 td:first-child {
width:100%;
display:block;
padding:8px 0 8px 8px;
border-bottom:none;
background:#e4e4e4;
}
.table-01 td:last-child {
width:100%;
display:block;
padding:8px 0 8px 2px;
border-bottom:none;
}
}

.table-02 {width:100%; border-collapse:collapse; border-top:none;}
.table-02 tr {border-top:1px dotted #ccc;}
.table-02 tr:first-child {border-top:none;}
.table-02 th:first-child {text-align:left; vertical-align:top; padding:8px 2% 8px 0;}
.table-02 td:last-child {padding:8px 0px;}
@media only screen and (max-width:641px){
.table-02 th:first-child {width:100%; display:block; text-align:left; padding:4px 0px; border-top:none;}
.table-02 td:last-child {width:100%; display:block; padding:4px 0px; border:none;}
}
/*table*/

/*--img白フチと影--*/
.img-sd {
width:100%;
height:auto;
margin-left:auto;
margin-right:auto;
border:3px solid #fff;
box-shadow:0 0 6px #999;
text-align:center;
}
.img-sd img {
width:100%;
height:auto;
}

/*--動画size--*/
.bc-size {width:100%; height:auto; min-height:300px; overflow:hidden;}
@media only screen and (max-width:641px){
.bc-size {min-height:240px;}
}

.bg-test {
background:#f1f1f1;
color:#000;
}

.text-sd-w{
text-shadow: 0px 0px 4px rgba(0, 0, 0, 1);
color: #fff;
}

/*--▼flexbox-外枠--*/
.flexbox-2-1, .flexbox-3-2, .flexbox-4-2 {
display: flex; /*--子要素は自動的にflex-item化--*/
flex-direction: row; /*--横並び--*/
flex-wrap: wrap; /*--画面幅に収まらない場合折り返す--*/
align-items:stretch; /*--縦の位置指定--*/
justify-content:center; /*水平方向の位置*/
width:100%;
margin:0 auto 3% auto;
padding:0;
background: url(img/bg-index-01.png) #e8e8e8 center bottom no-repeat;
background-size: 100% auto;
/*_zoom: 1;*/
/*align-content:stretch; 折り返し時の配置指定*/
}
/*--共通img--*/
.flexbox-4-2 img, .flexbox-3-2 img, .flexbox-2-1 img{
margin-bottom:15px;
}
/*--▼共通p--*/
.flexbox-4-2 p, .flexbox-3-2 p, .flexbox-2-1 p{
margin-bottom:15px;
}
/*--▼共通bg--*/
.flexbox-4-2 li, .flexbox-3-2 li, .flexbox-2-1 li{
background:#bacbd4;
/*background:rgba(180, 160, 170, 0.7);*/
border:1px solid #ccc;
}
/*--▼4列～2列--*/
.flexbox-4-2 p, .flexbox-4-2 li{
width:22%;
padding:2% 2% 1% 2%;
margin:0 4% 3% 0;
}
.flexbox-4-2 li:nth-child(4n + 0){margin:0 0% 3% 0;}
.flexbox-4-2 li:last-child {margin:0 0% 3% 0;}
@media only screen and (max-width:769px) {
.flexbox-4-2 p, .flexbox-4-2 li{width:48%; margin:0 4% 4% 0;}
.flexbox-4-2 li:nth-child(2n + 0){margin:0 0% 4% 0;}
.flexbox-4-2 li:last-child {margin:0 0% 4% 0;}
}
/*--▼3列～2列--*/
.flexbox-3-2 li{
width:32%;
margin:0px 2% 3% 0;
padding:2%;
}
.flexbox-3-2 li:nth-child(3n + 0){margin:0 0% 3% 0;}
.flexbox-3-2 li:last-child {margin:0 0% 3% 0;}
@media only screen and (max-width:769px) {
.flexbox-3-2 li{width:48%; margin:0 4% 4% 0;}
.flexbox-3-2 li:nth-child(3n + 0){margin:0px 4% 4% 0;}
.flexbox-3-2 li:nth-child(2n + 0){margin:0px 0% 4% 0;}
.flexbox-3-2 li:last-child {margin:0px 0% 4% 0;}
}
/*--▼2列～1列--*/
.flexbox-2-1 li{
width:48%;
padding:2%;
margin:0px 4% 3% 0;
}
.flexbox-2-1 li:nth-child(2n + 0) {margin:0px 0% 3% 0;}
.flexbox-2-1 li:last-child {margin:0 0% 3% 0;}
@media only screen and (max-width:769px) {
.flexbox-2-1 li{
width:100%;
padding:3%;
display:block;
margin:0px 0% 4% 0;
}
.flexbox-2-1 li:nth-child(2n + 0){margin:0 0% 4% 0;}
.flexbox-2-1 li:last-child {margin:0 0% 4% 0;}
}

.img-dark {
color:#fff;
text-shadow: 0 0 8px #000;
}
.img-dark::before {
content: "";
position: absolute;
top: 0;  bottom: 0;
left: 0;  right: 0;
background: #000;
opacity:0.2;
}
.img-dark img{
margin-bottom:0;
}

.abs-c {
position:absolute;
z-index:2;
left: 50%;
top:50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
width:90%;
margin:0 auto;
padding:0;
/*background:#ccc;*/
}
.abs-c-top {
position:absolute;
z-index:2;
left: 50%;
top: 25%;
margin:0 auto;
-ms-transform: translate(-50%,25%);
-webkit-transform: translate(-50%,25%);
transform: translate(-50%,25%);
width:90%;
display:block;
}
.abs-cc{
position:absolute;
left: 50%;
top:50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
/*margin:0 auto;*/
}

/*--cssでimgを丸--*/
.img-circle img{
border-radius:50%;
width:50%;
margin-bottom:10px;
}

/*--▼rotate--*/
.rotate-90 {transform: rotate(90deg) /*translateX(180px);*/}
.rotate-180 {transform: rotate(180deg)}
.rotate-90-180 {transform: rotate(90deg)}
@media only screen and (max-width:480px) {
.rotate-90-180 {transform: rotate(180deg)}
}


.bg-white-clear {background:rgba(240,240,240,0.8); border:1px solid #ccc;}

.disp-none {display:none;}