/* CSS Document */
body {/*font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ",Georgia,メイリオ,Meiryo,serif;*/background-color: #fff;}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd {padding:0;margin: 0;list-style: none;font-weight: 400;}

a {color:#439fd9;transition: 0.2s;-webkit-transition: 0.2s;}
a:hover {color:#209FCC;transition: 0.2s;-webkit-transition: 0.2s;}
/**************ヘッダ*/
header {background-color:#fff;}
header a {text-decoration: none;}



/*********メインエリア*/
main{background-color:#f3faff;}
.text-area h3 {color: #444;}
.text-area:nth-child(7n+2) h2:before {background-image: url(img/icon-ro.png);}
.text-area:nth-child(7n+3) h2:before {background-image: url(img/icon-ha.png);}
.text-area:nth-child(7n+4) h2:before {background-image: url(img/icon-ni.png);}
.text-area:nth-child(7n+5) h2:before {background-image: url(img/icon-to.png);}
.text-area:nth-child(7n+6) h2:before {background-image: url(img/icon-i2.png);}
.text-area:nth-child(7n+7) h2:before {background-image: url(img/icon-ro2.png);}

table.no-border td span {font-size:160%;color:#B21C3F;}
/**************aside*/
ul.fixed-btn li a{background-color: #FF6A6A;}
ul.fixed-btn li:nth-child(2) a{background-color:#239EEA;}
ul.fixed-btn li:nth-child(3) a{background-color:#1CD1A1;}
/*パスワード制限ページ*/
form.post-password-form{padding: 40px;min-height: 500px;}
form.post-password-form p:first-child{font-size:12px;}
form.post-password-form p {text-align:center;font-size:14px;color:#666;margin:0 auto 15px;}
form.post-password-form p label input[type="password"]{display:block;margin:15px auto;line-height: 35px; width: 200px;}
form.post-password-form p input[type="submit"]{background-color: #ff416e; color: white; line-height: 35px; padding: 0 15px; width: 150px; border: 1px solid #0001;  border-bottom-width: 1px; border-bottom-width: 3px; box-sizing: border-box; border-radius: 18px;margin:10px auto;cursor:pointer;}
form.post-password-form p input[type="submit"]:hover{opacity:0.8;}
@media screen and (min-width: 769px) {
form.post-password-form{padding: 70px;min-height: 500px;}
}
/**************店舗ページ　ACFエリア*/
.shop-info{border: 4px solid #439fd9;border-left:none;border-right:none; width: 90%; margin: auto;padding: 3em; box-sizing: border-box;}
.shop-info .shop-info-box{border-bottom:1px solid #aad3ed; margin: 0 0 3em; padding: 0 0 3em;}
.shop-info .shop-info-box:last-child{border:none;}
.shop-info .shop-info-box .official-btn{}
.shop-info .shop-info-box .official-btn a{display:block;width:80%;min-width:240px;max-width:320px;line-height:45px;text-decoration:none;margin:auto;text-align:center;border:1px solid #0002;border-bottom-width:2px;border-radius:1000px;background-color: #ff6a6a; color: white; font-size: 90%;}
.shop-info .shop-info-box .official-btn a:hover{background-color:#efa6a6;}
.shop-info p{color:#666;}
.shop-info-box span.shop-check{background-color: #f3f3f3;margin: 0em 1em 1em 0;display: inline-block;padding: 0.7em;font-size: 0.80em;border-radius: 5px;border: 3px solid #e5eff5;}
.shop-info h4{font-size:1.6em;font-family: serif;color: #439fd9;margin:0 0 1em;}
.shop-info ul.shop-image-box{position:relative;display: flex; flex-wrap: wrap; width: 100%; padding: 1em; box-sizing: border-box;justify-content: space-evenly; gap: 1em;}
.shop-info ul.shop-image-box li{width: calc(100% / 3 - 1em);min-width: 170px;box-sizing:border-box;border:3px solid #f3faff;white-space: nowrap; aspect-ratio: 4 / 3;border-radius:5px;}
.shop-info ul.shop-image-box li img{width:100%; height:100%;object-fit:cover;display:block;position:relative;border-radius:5px;}
.shop-info ul.shop-image-box:hover li:not(:hover){opacity:0.7;z-index:1;transition:0.5s ease-out;}
.shop-info ul.shop-image-box:hover li:hover{transform:scale(1.3);z-index:3;transition:0.5s ease-out;}
.staff-prof-box{width:100%;display:flex;flex-wrap:wrap;justify-content: space-evenly; gap: 1em;}
.staff-prof-box .staff-prof-field{width:45%; min-width: 220px; border: 5px solid #f3faff; box-sizing: border-box;}
.staff-prof-box .staff-prof-field div{width:100%;aspect-ratio: 16 / 9;margin: 0 0 1em;}
.staff-prof-box .staff-prof-field div img{width:100%;height:100%;object-fit:cover;display:block;}
.staff-prof-box .staff-prof-field p{font-size:0.9em;}
@media screen and (max-width: 768px) {
    .shop-info{padding:3em 1em;width: 100%;}
    .shop-info h4{text-align:center;font-size:1.4em;}
    .shop-info ul.shop-image-box{flex-wrap:nowrap;width:100%;overflow-x:auto;}
    .shop-info ul.shop-image-box li:not(:hover){opacity:0.8;}
}
/**************WP独自ブロック*/
ul.wp-block-list{width:calc(100% - 3em);max-width:600px;margin: 0em auto 2em; padding: 1em; border: 1px solid #eaeaea; border-left: none; border-right: none; font-size: 95%;color:#333;}
ul.wp-block-list li{list-style:circle;margin: 0 0 0.3em;}
/**************フッタ*/
footer {background-color: #262525;}

/*ContactForm7*/
dl.mail-form dt > span{display: block; background-color: #239eea; width: 180px; padding: 5px 0; text-align: center; margin: auto; font-size: 90%; border-radius: 100px; color: white;}
p.submit-quiz {background:#333;color: white !important;width: 300px;margin: auto !important;text-align: center;padding: 15px !important;border-radius: 6px;}
p.submit-quiz span{max-width:90%;color:white;}
p.submit-quiz label > span {display: block;color: #f24d7c;font-size: 160%;margin:7px auto;}
p.submit-quiz input {line-height: 40px;height: 40px;width: 200px;text-align: center;}
.wpcf7-not-valid-tip {margin:auto !important;font-size:80% !important;color:#f24d7c !important;}
.birth-block {display: flex;align-items: baseline;}
.birth-block select{margin: 10px 5px 0 0;}
span.noc{font-size:90%;color:#888;display:block;padding:10px;}
div.rule{background-color:white;}
/*reCAPTCHA*/
div.grecaptcha-badge {display:none}

.top-flex-con .flex-area .top-topix {
    height: calc(100% - 100px);
}

.box-m-size:before {
    height: 60%;
}


/**ryouritsu**/
figure.ryouritsu{width: 80%; padding: 10px; background-color: white; margin:50px auto !important;  max-width: 500px;border-radius: 8px; border: 2px solid #888;}
figure.ryouritsu table{background-color:#fff;}
figure.ryouritsu table thead{border:none;}
figure.ryouritsu table thead tr{}
figure.ryouritsu table thead tr th{border: none; background-color: #e7e7e7; color: black; box-sizing: border-box;line-height: 36px;}
figure.ryouritsu table thead tr th:first-child{border-radius:30px 0 0 30px;}
figure.ryouritsu table thead tr th:last-child{border-radius:0 30px 30px 0;color: #5baddd;}
figure.ryouritsu table tbody{}
figure.ryouritsu table tbody tr{}
figure.ryouritsu table tbody tr td:nth-child(1){border:none;font-weight: 600;}
figure.ryouritsu table tbody tr td:nth-child(2){}
figure.ryouritsu table tbody tr td:nth-child(3) {font-size: 200%;color: #5baddd;font-weight: 600;text-shadow: 0 1px #577182;}
figure.ryouritsu table tbody tr td{border:none;border-bottom:1px dashed #ddd;text-align:center;widows:calc(100% - 3);}
figure.ryouritsu table tbody tr:last-child td{border:none;}
figure.ryouritsu figcaption{color:#999;}


/*ログインページ重要なお知らせ*/
.section.alert{}
.section.alert .container {
    border: 4px solid black;
    box-shadow: 3px 3px 1px #666;
    margin: 0;
    position: relative;
}
.text-area:nth-child(7n+3) .section.alert .container h2{border: initial;padding: 0;}
.text-area:nth-child(7n+3) .section.alert .container h2:before {
    background-image: none;
}

.section.alert .container .btn_wrapper .btn a {
    margin: 20px auto;
    background-color: #666;
    color: white;
}


/*TOPキャンペーンフッターエリア*/
#campaign_box {    position: fixed;    bottom: 0px;    left: 5px;    box-sizing: border-box;    z-index: 100;}
#campaign_box p.btn-link-fukidashi {text-align: center;margin: 0;}
#campaign_box p.btn-link-fukidashi a {    position: relative;    width: 150px;    height: auto;    display: block;    color: #239eea;}
#campaign_box p.btn-link-fukidashi a:before {    display: block;    content: "現在申請受付中！";    font-size: 80%;    background: white;    padding: 0px 10px;    line-height: 25px;    width: 80%;    position: absolute;    height: 25px;    overflow: hidden;    top: -27px;    right: -5px;    border-radius: 16px;    animation: float 3s ease-in-out infinite;    border: 1px solid #239eea;text-decoration: none;}
@keyframes float {0% {transform: translateY(0);}50% {transform: translateY(-10px);}100% {transform: translateY(0);}}
#campaign_box p.btn-link-fukidashi a:after {    display: block;    content: "";    position: absolute;    top: -1px;    right: 20px;    width: 0;    height: 0;    border-style: solid;    border-width: 8px 6px 0 6px;    border-color: #239eea transparent transparent transparent;    animation: float 3s ease-in-out infinite;    z-index: 100;}
#campaign_box p.btn-link-fukidashi a img {    width: 100%;    height: auto;    border-radius: 8px;    border: 6px solid #f6fcff}
@media screen and (min-width: 769px) {
#campaign_box {bottom: 0px;left: 0;}
#campaign_box p.btn-link-fukidashi a {        width: 240px;        color: #239eea;    }
#campaign_box p.btn-link-fukidashi a:before {        font-size: 90%;        padding: 0px 5px;        line-height: 30px;        width: 70%;        height: 30px;        right: 0px;        text-decoration: none;    }

@keyframes float {0% {transform: translateY(0);  }  50% {transform: translateY(-10px);  }  100% {transform: translateY(0);} }
#campaign_box p.btn-link-fukidashi a:after {        top: 5px;    }

}
/*
Banner
---------------------------------*/
@media (max-width: 768px) {
ul.pr-box{ scroll-snap-type: x mandatory;list-style:none;display:flex;overflow-x:scroll;width:100%;padding: 0 1em 0 0;margin:0;}
ul.pr-box li {color: black;scroll-snap-align: center;scroll-snap-stop:always; width: 240px;height:180px;flex-shrink: 0;margin: 0 0.5em;}
    ul.pr-box li a{display:block;width: 100%; height: 100%;}
ul.pr-box li img{width: 100%; height:100%; object-fit: cover; border-radius: 8px; margin: 0 0.5em; display: block; filter: drop-shadow(0px 1px 2px #0006);}
}
@media (min-width: 769px) {
ul.pr-box{ background-color:transparent; list-style: none;display: flex; width:100%;padding: 0.5em; margin: 0; box-sizing: border-box;scrollbar-width: none;scroll-snap-type: x mandatory;overflow-x:scroll;}
    ul.pr-box li a{display:block;width: 100%; height: 100%;}
ul.pr-box li {color: black; width: 240px; padding: 5px; box-sizing: border-box;margin: 0;scroll-snap-align: center; scroll-snap-stop:always;}
ul.pr-box li img{width: calc(100%); height: 100%; object-fit: cover; border-radius: 8px; margin: 0; display: block; filter: drop-shadow(0px 1px 2px #0006);}
}
/*
Section
---------------------------------*/