@charset "UTF-8";

/* --- kv --- */
.kv .txp01{
    box-sizing:border-box;
    border:1px solid #eee;
    border-radius: 8px;
}
/* --- 対象期間 --- */
.schedule .ttl02{
    font-size:33px;
    font-weight:600;
    background: url("/campaign/kangen_common/_img_bg/h2_schedule.svg") no-repeat left top;
    background-size:85px auto;
    padding:28px 0 10px 0;
}
.schedule .note{
    font-size:13px;
    font-weight:550;
    margin-bottom:40px;
}

.scheduleList{
    display:flex;
    flex-wrap: wrap;
    gap: 80px 76px
}
.scheduleList li{
    list-style:none;
    width:512px;
    border-bottom:1px solid #707070;
    padding:0 0 24px 0;
    position:relative;
}

.scheduleList .dateTx span{
    font-size:17px;
    font-weight:500;
    color:#666;
    display:block;
    margin-bottom:5px;
}
.scheduleList .dateTx{
    font-size:17px;
    font-weight:600;
}
.scheduleList .dateTx b{
    font-size:23px;
    font-weight:600;
}
.scheduleList .btn{
    position:absolute;
    right:0;
    bottom:24px;
    font-size:17px;
    font-weight:500;
    color:#666;
}
.scheduleList .btn a{
    display:block;
    font-size:17px;
    font-weight:550;
    color:#333;
    border-radius:2em;
    border:1px solid #D83200;
    padding:0.2em 1.9em 0.2em 1.3em;
    background: #fff url("/campaign/kangen_common/_img_bg/icon_arrow.svg") no-repeat center right 12px;
    background-size:16px auto;
    opacity:1;
    transition: 0.3s ease;
    text-decoration:none;
}
.scheduleList .btn a:hover{
    opacity:0.7;
    transition: 0.4s ease;
}

/* --- shop --- */
.shopBlock{
    width:1100px;
    margin:120px auto;
    background-color:#ffffff;
    color:#333;
    line-height:1.4;
}
.shopBlock .schedule{
    width:1100px;
    margin:0 auto;
}
.shopBlock .ttl02{
    font-size:33px;
    font-weight:600;
    background: url("/campaign/kangen_common/_img_bg/h2_shop.svg") no-repeat left top;
    background-size:55px auto;
    padding:28px 0 40px 0;
}

/* --- 店舗リスト --- */
.shopBlock .each{
    border:1px solid #D83200;
    margin-bottom:40px;
    display:flex;
}
.shopBlock .dateNote{
    width:500px;
    padding:40px;
    box-sizing:border-box;
}
.dateNote .dateTx{
    font-size:19px;
    font-weight:600;
}
.dateNote .dateTx span{
    font-size:17px;
    font-weight:500;
    color:#666;
}
.dateNote .dateTx b{
    font-size:23px;
    font-weight:600;
}
.dateNote .note{
    font-size:13px;
    font-weight:500;
    color:#666;
    padding:0.6em 0 0 0;
}

/* --- エリアブロック --- */
.accordionSpLs {
    width:550px; 
    margin:0; 
    padding:40px 40px 30px 20px; 
    font-size:17px;
    box-sizing:content-box;
}
.accordionSpLs dt {
    background:#333 url("/campaign/kangen_common/_img_bg/circle_arrow_down.png") 98% center no-repeat;
    background-size:25px 25px;
    border-bottom:1px dotted #aaa;
    color:#fff;
    padding:8px;
    font-size:17px;
    text-align:center;
    font-weight:600;
    margin-bottom:15px;
    cursor:pointer;
    opacity:1;
    transition: 0.3s ease;
}
.accordionSpLs dt:hover{
    opacity:0.8;
    transition: 0.3s ease;
}
dl.accordionSpLs dt.open {
    background:#333 url("/campaign/kangen_common/_img_bg/circle_arrow_up.png") 98% center no-repeat;
    background-size:25px 25px;
    color:#fff;
}
dl.accordionSpLs dd { 
    padding:1em 0 4em 0.5em;
    display:none;
}
dl.accordionSpLs dd ul{ 
    width:100%;
    list-style:none;
    display:flex;
    flex-wrap: wrap;
    gap:1.5em 2.2em;
}
dl.accordionSpLs dd li{
    width:6em;
    padding:3px 0;
    font-size:17px;
    font-weight:550;
    color:#ccc;
    text-align:left;
    box-sizing:border-box;
}
dl.accordionSpLs dd li a{
    display:block;
    padding:3px 2em 3px 0;
    background: url("/campaign/kangen_common/_img_bg/circle_arrow_right.png") no-repeat right center;
    background-size:20px 20px;
    opacity:1;
    transition: 0.3s ease;
}
dl.accordionSpLs dd li a:link {color: #333;text-decoration: none;}
dl.accordionSpLs dd li a:visited {color: #333;text-decoration: none;}
dl.accordionSpLs dd li a:hover {
    opacity:0.7;
    transition: 0.3s ease;
}

/* ------- モーダル ------- */
#backMaskBase {
	background: #000;
 	display: none;
	height: 100%;
	left: 0px;
	-moz-opacity: 0.7;
	filter: alpha(opacity=7);
    opacity: 0.7;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9990;
}
#modalWin {
	display: none;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	height: 0;
    position: fixed;
    /* position: relative; */
	width: 100%;
	z-index: 9991;
}
#modalContent {
    display:none;
	position: relative;
	background-color: #f7f7f7;
	box-shadow: 3px 3px 8px #000;
	box-sizing: border-box;
	min-width: 730px;
    max-width: 770px;
	height: auto;
    min-height:200px;
    max-height:80vh;
    overflow:auto;
	margin: 0 auto;
	padding: 0 0 4em 0;
	z-index: 9992;
	text-align: center;
	color: #000;
}
#modalContent .closeBtn{
    position:absolute;
    top:4px;
    right:4px;
    width:27px;
    height:27px;
    background-color:#777;
    cursor:pointer;
    z-index:999;
    transition: all 150ms 0s ease;
    border:1px solid #eee;
    opacity:1;
    transition: 0.3s ease;
}
#modalContent .closeBtn:hover{
    opacity:0.7;
    transition: 0.3s ease;
}
#modalContent .closeBtn div{
    display: inline-block;
    position: relative;
    margin: 5px 0 0 0;
    padding: 0;
    width: 2px;
    height: 17px;
    background: #fff;
    transform: rotate(45deg);
}
#modalContent .closeBtn div:before{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: -7px;
    width: 16px;
    height: 2px;
    margin-top: -1px;
    background: #fff;
}
.modalinner{
    text-align:left;
}
.modalinner .err{
    font-size:18px;
    color:#666;
}
.modalinner .ttlMdl{
    background-color:#d7d5d3;
    font-size:25px;
    color:#000;
    text-align:center;
    padding:7px;
}
.modalinner .shopls{
    margin:15px 0;
}
.modalinner .shopls li{
    list-style-type: none;
    box-sizing: border-box;
    width:50%;
    padding:10px 25px;
    font-size:16px;
    line-height:1.3;
    font-weight:700;
    color:#a53;
    float:left;
} 
.modalinner .shopls li a{
    display:block;
    padding:3px 30px 3px 0;
    border-bottom:1px dotted #777;
    height:auto;
    word-spacing:100%;
    background: url("/campaign/kangen_common/_img_bg/icon_right_arw1.svg") no-repeat right center;
    opacity:1;
    transition: 0.3s ease;
}

.modalinner .shopls li a:link, .modalinner .shopls li a:visited{
    color:#333;
}
.modalinner .shopls li a:hover, .modalinner .shopls li a:active{
    text-decoration:none;
    color:#333;
    opacity:0.6;
    transition: 0.3s ease;
}

/* --- バナー --- */
.imgBnr{
    width:100%;
    background-color:#FCFCEA;
    padding:120px 0;
}
.imgBnr .ttl3{
    font-size:23px;
    font-weight:700;
    color:#D83200;
    text-align:center;
}
imgBnr .ttl3 span{
    font-weight:700;
}
.imgBnr .ttl3 b{
    font-size:19px;
    font-weight:700;
}
.obliLInr1{
    display:inline-block;
    width:40px;
    height:2px;
    margin:0 -5px 5px 0;
    transform:rotate(70deg);
    background-color:#D83200;
}
.obliLInr2{
    display:inline-block;
    width:40px;
    height:2px;
    margin:0 0 5px -5px;
    transform:rotate(-70deg);
    background-color:#D83200;
}
.obliLInr3{
    display:inline-block;
    width:40px;
    height:2px;
    margin:0 -5px 5px 0;
    transform:rotate(70deg);
    background-color:#D83200;
}
.obliLInr4{
    display:inline-block;
    width:40px;
    height:2px;
    margin:0 0 5px -5px;
    transform:rotate(-70deg);
    background-color:#D83200;
}

.bnrImg{
    width:800px;
    margin:24px auto 0;
}
.bnrImg img{
    width:100%;
}

.btm{
    padding-bottom:16px;
}

/* --- ボタン --- */
.yoyakuBtn{
    width:100%;
    background-color:#fff;
    padding:120px 0;
}
.yoyakuBtn .ttl3{
    font-size:23px;
    font-weight:700;
    color:#D83200;
    text-align:center;
}
yoyakuBtn .ttl3 span{
    font-weight:700;
}
.yoyakuBtn .ttl3 b{
    font-size:19px;
    font-weight:700;
}
.pityoyaku{
    width:400px;
    margin:24px auto 0;
    text-align:center;
}
.pityoyaku a{
    display:block;
    font-size:19px;
    font-weight:700;
    background-color:#ED6C00;
    color:#fff;
    width:100%;
    padding:22px 0;
    border-radius:4em;
    text-decoration:none;
}
.pityoyaku a b{
    font-size:17px;
    font-weight:550;
}

/* --- スタッフイメージ --- */
.stafBnr{
    width:100%;
    background-color:#FCFCEA;
    padding:120px 0;
}
.stafBnr .stafImg{
    width:796px;
    margin:0 auto;
}
.stafBnr .stafImg img{
    width:100%;
    vertical-align:bottom;
}

/* floating */
.floating-bottom {
    position: fixed;
    z-index: 99999;
    width: 100%;
    bottom: 0;
    display: none;
    background-color: #b2b2b2;
}
.fb_inner {
    display: block;
    width: 460px;
    margin: 0 auto;
    padding: 10px 30px;
}
.fb_inner_link {
    display:block;
}


/* css-button */
.iconTxBtn{
    display:block;
    background-color:#ED6C00;
    color:#fff;
    width:460px;
    height:50px;
    vertical-align:middle;
    font-size:17px;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
    line-height:50px;
    border-radius:4em;
    margin:3px auto;
}
.iconTxBtn .iconbox{
    display:inline-block;
    font-weight:550;
    height:50px;
    padding-left:40px;
    background-repeat: no-repeat;
    background-position: left center;
    background-size:33px auto;
}
.iconTxBtn .iconbox br{
    display:none;
}

.iconbox.icon07{
    background-image: url("/campaign/kangen_common/_img_bg/btn_icon_pit.svg");
    background-size:30px auto;
    padding-left:37px;
}
.iconbox.icon01{
    background-image: url("/campaign/kangen_common/_img_bg/btn_icon_tire.svg");
    background-size:30px auto;
    padding-left:37px;
}






/* --- SP --- */
@media screen and (max-width:768px){

    /* --- 対象期間 --- */
    .schedule .ttl02{
        font-size:7.2vw;
        background-size:17vw auto;
        padding:5vw 0 3vw 0;
    }
    .schedule .note{
        font-size:3.5vw;
        margin-bottom:10vw;
    }
    .scheduleList{
        display:block;
    }
    .scheduleList li{
        width:92vw;
        padding:0 0 3vw 0;
        margin:0 auto 4.3vw;
        position:relative;
    }
    .scheduleList .dateTx span{
        font-size:3.5vw;
        margin-bottom:0.3em;
    }
    .scheduleList .dateTx{
        font-size:3.5vw;
    }
    .scheduleList .dateTx b{
        font-size:4.5vw;
    }
    .scheduleList .btn{
        position:absolute;
        right:0;
        bottom:3vw;
        font-size:3.3vw;
        font-weight:500;
        color:#333;
    }
    .scheduleList .btn a{
        font-size:3.3vw;
        font-weight:550;
        color:#333;
        padding:0.3em 1.6em 0.3em 0.9em;
        background-position:center right 1.5vw;
        background-size:3vw auto;
        opacity:1;
    }
    
    /* --- 対象店舗 --- */
    .shopBlock{
        width:92vw;
        margin:21vw auto;
    }
    .shopBlock .schedule{
        width:92vw;
        margin:0 auto;
    }
    .shopBlock .ttl02{
        font-size:7.2vw;
        background-size:11vw auto;
        padding:5vw 0 10vw 0;
    }
    
    /* --- 店舗リスト --- */
    .shopBlock .each{
        border:none;
        border-top:1px solid #D83200;
        margin-bottom:0;
        display:block;
    }
    .shopBlock .dateNote{
        width:100%;
        padding:0;
        box-sizing:border-box;
    }
    .dateNote .dateTx{
        font-size:3.5vw;
        padding:0.8em 0 0 0;
    }
    .dateNote .dateTx span{
        font-size:3.5vw;
        display:block;
    }
    .dateNote .dateTx b{
        font-size:4.5vw;
    }
    .dateNote .note{
        font-size:3.5vw;
        padding:0.3em 0 1.5em;
    }
    
    /* --- エリアブロック --- */
    .accordionSpLs {
        width:100%; 
        margin:0; 
        padding:0 0 20vw 0; 
        font-size:4.5vw;
    }
    .accordionSpLs dt {
        background-size:5.5vw 5.5vw;
        background-position:97% center;
        padding:0.5em;
        font-size:4.5vw;
        margin-bottom:6vw;
        cursor:normal;
        opacity:1;
    }
    .accordionSpLs dt:hover{
        opacity:1;
    }
    dl.accordionSpLs dt.open {
        background-size:5.5vw 5.5vw;
        background-position:97% center;
    }
    dl.accordionSpLs dd { 
        padding:0 1em 20vw 1em;
        display:none;
    }
    dl.accordionSpLs dd ul{ 
        width:100%;
        gap:1.5em 5em;
    }
    dl.accordionSpLs dd li{
        width:30vw;
        padding:3px 0;
        font-size:4.5vw;
    }
    dl.accordionSpLs dd li a{
        padding:3px 1.8em 3px 0;
        background-size:5vw 5vw;
    }
    dl.accordionSpLs dd li a:link {color: #333;text-decoration: none;}
    dl.accordionSpLs dd li a:visited {color: #333;text-decoration: none;}
    dl.accordionSpLs dd li a:hover {
        opacity:1;
    }

    /* ------- モーダル ------- */
    #modalContent {
        box-shadow: 3px 3px 8px #000;
        box-sizing: border-box;
        min-width: 94vw;
        max-width: 94vw;
        height: auto;
        min-height:50vh;
        max-height:70vh;
        overflow:auto;
        margin: 0 auto;
        padding: 0 0 10vw 0;
    }
    #modalContent .closeBtn{
        position:absolute;
        top:7px;
        right:7px;
        width:7vw;
        height:7vw;
        background-color:#777;
        z-index:999;
        border:1px solid #eee;
    }
    #modalContent .closeBtn div{
        display: inline-block;
        position: relative;
        margin: 5px 0 0 0;
        padding: 0;
        width: 2px;
        height: 4.5vw;
        background: #fff;
        transform: rotate(45deg);
    }
    .modalinner{
        text-align:left;
        padding:0 0 8vw 0;
    }
    .modalinner .ttlMdl{
        background-color:#d7d5d3;
        font-size:6.5vw;
        color:#000;
        text-align:center;
        padding:0.3em;
    }
    .modalinner .shopls{
        margin:1em 0;
    }

    /* --- バナー --- */
    .imgBnr{
        padding:21vw 0;
    }
    .imgBnr .ttl3{
        font-size:4.5vw;
    }
    .imgBnr .ttl3 b{
        font-size:3.5vw;
        font-weight:700;
    }
    .imgBnr .ttl3 span{
        display:inline-block;
        font-weight:600;
    }
    .obliLInr1{
        display:inline-block;
        width:9vw;
        height:2px;
        margin:0 -5px 2vw 0;
    }
    .obliLInr2{
        display:inline-block;
        width:9vw;
        height:2px;
        margin:0 0 2vw -5px;
    }
    .obliLInr3{
        display:inline-block;
        width:9vw;
        height:2px;
        margin:0 -5px 4vw 0;
    }
    .obliLInr4{
        display:inline-block;
        width:9vw;
        height:2px;
        margin:0 -5px 4vw 0;
    }
    .bnrImg{
        width:92vw;
        margin:4.3vw auto 0;
    }
    .btm{
        padding-bottom:4vw;
    }

    /* --- ボタン --- */
    .yoyakuBtn{
        padding:10vw 0;
    }
    .yoyakuBtn .ttl3{
        font-size:4.3vw;
    }
    .yoyakuBtn .ttl3 span{
        display:inline-block;
        font-weight:600;
    }
    .pityoyaku{
        width:84vw;
        margin:4.5vw auto 0;
    }
    .pityoyaku a{
        font-size:5.1vw;
        padding:3.7vw 0;
    }
    .pityoyaku a b{
        font-size:4.4vw;
    }

    /* --- スタッフイメージ --- */
    .stafBnr{
        width:100%;
        background-color:#FCFCEA;
        padding:21vw 0;
    }
    .stafBnr .stafImg{
        width:92vw;
    }

    /* floating */
    .fb_inner {
        width: 100%;
        padding: 2vw 0;
        max-height: 15vh;
        text-align:center;
    }

    .fb_inner_link picture,.fb_inner_link img {
        display: block;
        width: 100%;
    }
    
    /* css-button */
    .iconTxBtn{
        display:inline-block;
        background-color:#ED6C00;
        color:#fff;
        width:auto;
        height:auto;
        max-height:14vw;
        vertical-align:middle;
        font-size:4.3vw;
        text-align:center;
        white-space:nowrap;
        overflow:hidden;
        line-height:auto;
        border-radius:4em;
        margin:2px 0 0 0;
        padding:0 1.5em;
    }
    .iconTxBtn .iconbox{
        display:inline-block;
        font-weight:550;
        height:auto;
        padding-left:10vw;
        background-repeat: no-repeat;
        background-position: left center;
        background-size:9vw auto;
    }
    .iconTxBtn .iconbox br{
        display:block;
    }
    .iconbox.icon07{
        background-image: url("/campaign/kangen_common/_img_bg/btn_icon_pit.svg");
        background-size:8vw auto;
        background-position: left center;
        padding-left:11vw;
        padding-top:1.5vw;
        font-size:4.2vw;
        line-height:1.3;
        text-align:left;
        height:auto;
    }
    .iconbox.icon01{
        background-image: url("/campaign/kangen_common/_img_bg/btn_icon_tire.svg");
        background-size:8vw auto;
        background-position: left 0.7em;
        padding-left:11vw;
        padding-top:1.5vw;
        font-size:4.2vw;
        line-height:1.3;
        text-align:left;
        height:auto;
    }
    
}/* SP */