@charset "UTF-8";
/********************************
DEFAULT
*********************************/
abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,summary,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;outline:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}address,caption,h1,h2,h3,h4,h5,h6,th{font-weight:400;margin:0;padding:0;font-size:100%}dd,dl,dt,li,ol,ul{list-style:none}iframe,img{vertical-align:middle;border:0}img{line-height:0;font-size:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}table{border-collapse:collapse}th{font-weight:400;text-align:left}button,fieldset,form,input,label,legend,select,textarea{font-style:inherit;font-weight:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}select{padding:2px}select::-ms-expand{display:none}input,select{font-size:100%;vertical-align:middle}input[type=password],input[type=text],select,textarea{outline:0}textarea{font-size:100%}input{vertical-align:middle}input[type=email],input[type=password],input[type=tel],input[type=text]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;border:0;border-radius:0;outline:0;background:0 0;box-sizing:border-box;width:100%;background:#fff}textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;border:0;border-radius:0;outline:0;background:0 0;box-sizing:border-box;width:100%;background:#fff}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;background:0 0;border-radius:0;box-sizing:border-box;transition:opacity .2s ease-out,all .2s ease-out}button{background-color:transparent;border:none;cursor:pointer;outline:0;padding:0;appearance:none}input[type=checkbox],input[type=radio]{display:none}input[type=checkbox]:checked+label,input[type=radio]:checked+label{background:0 0}select::-ms-expand{display:none}::-webkit-input-placeholder{color:#797979}::-webkit-input-placeholder{color:#797979}:placeholder-shown{color:#797979}::-webkit-input-placeholder{color:#797979}:-moz-placeholder{color:#797979;opacity:1}::-moz-placeholder{color:#797979;opacity:1}:-ms-input-placeholder{color:#797979}label{padding:0}hr{display:none}a{transition:opacity .2s ease-out,all .2s ease-out;-webkit-tap-highlight-color:transparent}a,a:link{color:#222;text-decoration:underline;word-break:break-all}a:visited{color:#222}@media(min-width:767px){a:active,a:hover{color:#222;text-decoration:underline}}.c_fix:after{content:".";display:block;clear:both;visibility:hidden;font-size:.01em;height:0;overflow:hidden}.c_fix{min-height:1px}html{height:100%}
@font-face {
    font-family: "ZenMaruGothic";
    src: url("../font/ZenMaruGothic-Black.woff2") format("woff2");
    font-weight: 900;
}
@font-face {
    font-family: "ZenMaruGothic";
    src: url("../font/ZenMaruGothic-Bold.woff2") format("woff2");
    font-weight: 700;
}
@font-face {
    font-family: "ZenMaruGothic";
    src: url("../font/ZenMaruGothic-Medium.woff2") format("woff2");
    font-weight: 500;
}
@font-face {
    font-family: "ZenMaruGothic";
    src: url("../font/ZenMaruGothic-Regular.woff2") format("woff2");
    font-weight: 400;
}
@font-face {
    font-family: "ZenMaruGothic";
    src: url("../font/ZenMaruGothic-Light.woff2") format("woff2");
    font-weight: 300;
}
body {
    font-family: "ZenMaruGothic", sans-serif;
    line-height: 1.8;
    color: #333;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    min-height: 100%;
    height: auto !important;
    position: relative;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    background: #fffef9;
    box-sizing: border-box;
}
main {
    overflow: hidden;
}
/********************************
C系CSS
*********************************/
.c-pc {
    display: block;
}
.c-pc-in {
    display: inline;
}
.c-sp {
    display: none;
}
.c-sp-in {
    display: none;
}
.c-sp-sp {
    display: none;
}
.c-wrap {
    width: 1200px;
    margin: 0 auto;
}
/********************************
inview
*********************************/
.fadeIn_up,
.fadeIn_left,
.fadeIn_right {
    opacity: 0;
    transition: .6s;
}
.fadeIn_up {
    transform: translate(0, 50%);
}
.fadeIn_left {
    transform: translate(-50%, 0);
}
.fadeIn_right {
    transform: translate(50%, 0);
}
.fadeIn_up.is-show,
.fadeIn_left.is-show,
.fadeIn_right.is-show {
    transform: translate(0, 0);
    opacity: 1;
}
.fadeIn_left2,
.fadeIn_right2 {
    opacity: 0;
    transition: .4s;
}
@media only screen and (min-width: 896px) {
    .fadeIn_left2 {
        transform: translate(-50%, 0) rotate(-5deg);
    }
    .fadeIn_right2 {
        transform: translate(50%, 0) rotate(-5deg);
    }
}
.fadeIn_left2.is-show,
.fadeIn_right2.is-show {
    transform: translate(0, 0) rotate(-5deg);
    opacity: 1;
}
/********************************
popup
*********************************/
.popup_wrap {
    display: none;
}
.popup_wrap.active {
    display: block;
}
.popup_in {
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
.popup_bg {
    background: rgba(0, 0, 0, .6);
    width: 100%;
    height: 100vh;
    position: absolute;
    z-index: 9999;
}
.popup_cls {
    position: absolute;
    top: 20px;
    right: 30px;
    display: block;
    width: 18px;
    height: 18px;
    z-index: 99;
    padding: 0;
    cursor: pointer;
}
.popup_cls span,
.popup_cls span:before,
.popup_cls span:after {
    display: block;
    width: 100%;
    height: 2px;
    border-radius: 2px;
}
.popup_cls span:before,
.popup_cls span:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    background: #03a62c;
    margin-top: 8px;
}
.popup_cls span:after {
    transform: rotate(45deg);
}
.popup_cls span:before {
    transform: rotate(-45deg);
}
.popup_main {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
    width: 60vw;
    max-width: 900px;
    box-sizing: border-box;
    z-index: 9999;
}
.txtbox {
    display: none;
    background: #fff;
    border: 1px solid #333;
    padding: 60px;
    width: 100%;
    height: 100%;
    max-height: 80vh;
    box-sizing: border-box;
    overflow-y: auto;
}
.txtbox.is-green {
    border: 12px solid #b3e4c0;
}
.txtbox.is-yellow {
    border: 12px solid #fbe2b4;
}
.txtbox.is-blue {
    border: 12px solid #b2d2e9;
}
.txtbox.is-pink {
    border: 12px solid #f7c0dc;
}
.txtbox.active {
    display: block;
}
.txtbox .txt {
    font-weight : bold;
    font-size : 30px;
    line-height : 1.66;
    color : #333;
}
.txtbox .txt span {
    background: linear-gradient(transparent 60%, #fef686 60%);
}
/********************************
header
*********************************/
header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    z-index: 999;
    box-sizing: border-box;
    overflow: hidden;
}
.mvLogo_wrap {
    display: flex;
    align-items: center;
    gap: 0 32px;
    height: 155px;
    padding-left: 190px;
    padding-right: 126px;
    background: #f7c0dc;
    border-radius: 0 100vh 100vh 0;
    box-sizing: border-box;
}
@media only screen and (min-width: 896px) {
    .mvLogo-left a:hover,
    .mvLogo-right a:hover {
        opacity: .8;
    }
}
.mvBtn_wrap {
    display: flex;
    align-items: center;
    gap: 0 38px;
    padding: 58px 58px 0 0;
    box-sizing: border-box;
}
.mvBtn {
    width: 176px;
    height: 176px;
}
.mvBtn a {
    width: 100%;
    height: 100%;
    background: #e52d8a;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 100%;
    text-decoration: none;
    box-sizing: border-box;
    padding-top: 6px;
}
.search-btn a {
    background: #e52d8a;
}
.inquiry-btn a {
    background: #009844;
}
.search-btn span {
    position: relative;
}
.search-btn span:before {
    content: '';
    display: block;
    width: 25px;
    height: 25px;
    position: absolute;
    right: 6px;
    bottom: 4px;
    background: url(../svg/icn_search.svg) no-repeat center / 100% auto;
    z-index: 1;
}
@media only screen and (min-width: 896px) {
    .mvBtn a:hover {
        opacity: .8;
    }
}
/********************************
footer
*********************************/
footer {
    background: #99d6b4;
    text-align: center;
    padding:80px 0;
}
.footer_wrap .txt {
    font-size: 28px;
    line-height: 1;
    font-weight: bold;
}
.footer_wrap .tel {
    font-size: 64px;
    line-height: 1;
    font-weight: bold;
    padding: 26px 0;
}
.footer_wrap .tel span {
    position: relative;
    padding-left: 98px;
}
.footer_wrap .tel span:before {
    content: '';
    display: block;
    width: 72px;
    height: 56px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: url(../svg/icn_freecall.svg) no-repeat center / 100% auto;
    z-index: 1;
}
.footer-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 60px;
    margin-top: 30px;
}
.footer-list li {
    font-size: 24px;
    font-weight: bold;
}
.footer-list li a {
    position: relative;
    text-decoration: none;
    color: #333;
}
@media only screen and (min-width: 896px) {
    .footer-list li a:after {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #333;
        position: absolute;
        left: 0;
        bottom: -2px;
        transform: scale(0, 1);
        transform-origin: left top;
        transition: transform .2s;
    }
    .footer-list li a:hover:after {
        transform: scale(1, 1);
    }
}
.copyright {
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    margin-top: 30px;
}
.cp0-bnr_wrap {
    box-sizing: border-box;
    text-align: center;
    padding: 72px 0 0;
    position: relative;
    z-index: 9;
}
.cp0-bnr_wrap img {
    max-width: 800px;
    width: 100%;
    height: auto;
}
.floating-banner {
    position: fixed;
    bottom: 40px;
    left: 40px;
    z-index: 9999;
    width: 220px;
    height: 220px;
    display: none;
}
.floating-banner .close-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    color: rgb(255, 255, 255);
    font-size: 18px;
    width: 26px;
    height: 26px;
    cursor: pointer;
    line-height: 1;
    text-align: center;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.5);
    border-width: initial;
    border-style: none;
    border-color: initial;
    border-image: initial;
    border-radius: 50%;
}
.floating-banner img {
    width: 100%;
    height: auto;
    display: block;
}
/********************************
cv
*********************************/
.cv_wrap {
    width: 100%;
    max-width: 800px;
    background: #fffef9;
    padding: 58px 0 62px;
    margin: 0 auto;
}
.cv-ttl {
    text-align: center;
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
}
.cv-search_wrap {
    padding: 50px 0 38px;
}
.cv-search-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 6px;
}
.cv-search-box .cv-prefecture,
.cv-search-box .cv-city {
    position: relative;
}
.cv-search-box .cv-prefecture::before,
.cv-search-box .cv-city::before {
    position: absolute;
    content: '';
    background: url(../svg/cv_select.svg) no-repeat;
    background-size: 100% auto;
    width: 14px;
    height: 14px;
    top: 37px;
    right: 18px;
    z-index: 9;
}
.cv-search-box select {
    appearance: none;
    border: none;
    width: 232px;
    height: 86px;
    background: #009844;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    padding: 0 15px;
    padding-right: 32px;
    cursor: pointer;
}
.cv-search-box select::before {
    position: absolute;
    content: '';
    background: url(../svg/cv_search.svg) no-repeat;
    background-size: 100% auto;
    width: 20px;
    height: 20px;
    top: 4px;
    right: 0;
    z-index: 9;
}
.cv-searchbtn {
    border: none;
    width: 232px;
    height: 86px;
    background: #e52d8a;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    transition: opacity .2s ease-out;
}
@media only screen and (min-width: 896px) {
    .cv-searchbtn span {
        position: relative;
        padding-right: 58px;
    }
    .cv-searchbtn span::before {
        position: absolute;
        content: '';
        background: url(../svg/cv_search.svg) no-repeat;
        background-size: 100% auto;
        width: 20px;
        height: 20px;
        top: 4px;
        right: 0;
        z-index: 9;
    }
}
.cv-contactbtn {
    width: 100%;
    max-width: 334px;
    height: 105px;
    margin: 0 auto;
}
.cv-contactbtn a {
    width: 100%;
    height: 100%;
    background: #0068b6;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 40px;
    text-decoration: none;
    box-sizing: border-box;
}
@media only screen and (min-width: 896px) {
    .cv-searchbtn:hover {
        opacity: .8;
    }
    .cv-contactbtn a:hover {
        opacity: .8;
    }
}
/********************************
MV
*********************************/
.mv_wrap {
    position: relative;
    width: 100%;
    padding-top: 234px;
    overflow: hidden;
}
.mv_ttl {
    text-align: center;
}
.mv_ttl {
    background: url(../svg/mv_txt_bk.svg) no-repeat center / 798px auto;
}
.mv_ttl .is-txt {
    display: block;
    font-size: 70px;
    font-weight: bold;
    color: #009844;
    position: relative;
    z-index: 2;
}
.mv_ttl .is-txt .is-s {
    font-size: 50px;
}
.mv_ttl .is-txt .is-pnk {
    color: #e52d8a;
}
.mv_ttl .is-txt.ver2 {
    color: #fff;
}
.mv_img {
    text-align: center;
    max-width: 1440px;
    margin: 24px auto 0;
}
.mv_img img {
    width: 100%;
    height: auto;
}
/********************************
read
*********************************/
.read_in {
    width: 100%;
}
.read_txt {
    font-size : 36px;
    font-weight : bold;
    line-height : 1.5;
    position: relative;
    z-index: 2;
    padding: 41px 16px;
}
.read_txt span {
    background: linear-gradient(transparent 60%, #fef686 60%);
}
.read_txt.is-ver1 {
    background: #cdedd5;
    margin-top: -48px;
    position: relative;
}
.read_txt.is-ver2 {
    background: #f7c0dc;
    margin-top: 72px;
}
@media only screen and (min-width: 896px) {
    .read_txt.is-ver1:before,
    .read_txt.is-ver1:after{
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        top: 0;
        background: #cdedd5;
        z-index: 1;
    }
    .read_txt.is-ver1:before{
        width: 136px;
        left: -136px;
        border-radius: 100vh 0 0 100vh;
    }
    .read_txt.is-ver1:after{
        width: -webkit-calc((100dvw - 916px) / 2);
        width: calc((100dvw - 916px) / 2);
        right: -webkit-calc((100dvw - 916px) / -2);
        right: calc((100dvw - 916px) / -2);
    }
    .read_txt.is-ver2:before,
    .read_txt.is-ver2:after{
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        top: 0;
        background: #f7c0dc;
        z-index: 1;
    }
    .read_txt.is-ver2:before{
        width: 136px;
        right: -136px;
        border-radius: 0 100vh 100vh 0;
    }
    .read_txt.is-ver2:after{
        width: -webkit-calc((100dvw - 916px) / 2);
        width: calc((100dvw - 900px) / 2);
        left: -webkit-calc((100dvw - 916px) / -2);
        left: calc((100dvw - 916px) / -2);
    }
}
.read_dtl {
    font-size : 30px;
    font-weight : bold;
    line-height : 1.8;
    margin-top: 46px;
}
.read_img {
    text-align: center;
    margin-top: 26px;
}
.read_img source,
.read_img img {
    width: 100%;
    max-width: 995px;
    height: auto;
}
.read_ent {
    font-size : 30px;
    font-weight : bold;
    text-align: center;
    margin-bottom: 46px;
}
/********************************
point
*********************************/
.point_wrap {
    background: #cdedd5;
    padding: 90px 0 0;
}
.point_in {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
.point_ttl {
    font-weight : bold;
    font-size : 48px;
    line-height : 1.29;
    text-align: center;
}
.point_ttl span {
    display: block;
    margin-top: 30px;
    background: url(../svg/point_ttl.svg) no-repeat center / 770px auto;
    padding: 60px 0;
    color: #fff;
}
.point_lst {
    margin-top: 68px;
    margin-bottom: 80px;
}
.point_lst li {
    background: #fffef9;
    margin-bottom: 16px;
}
.point_lst li:last-child {
    margin-bottom: 0;
}
.point_lst li a {
    background: #fffef9;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    position: relative;
    height: 310px;
    z-index: 2;
    transition: transform .2s;
}
@media only screen and (min-width: 896px) {
    .point_lst li a:before,
    .point_lst li a:after{
        content: '';
        display: block;
        height: 100%;
        position: absolute;
        top: 0;
        background: #fffef9;
        z-index: 1;
        transition: transform .2s;
    }
    .point_lst li a:before{
        width: 170px;
        left: -170px;
        border-radius: 100vh 0 0 100vh;
    }
    .point_lst li a:after{
        width: -webkit-calc((100dvw - 770px) / 2);
        width: calc((100dvw - 770px) / 2);
        right: -webkit-calc((100dvw - 770px) / -2);
        right: calc((100dvw - 770px) / -2);
    }
    .point_lst li:nth-child(1) a:before,
    .point_lst li:nth-child(3) a:before{
        left: auto;
        right: -170px;
        border-radius: 0 100vh 100vh 0;
    }
    .point_lst li:nth-child(1) a:after,
    .point_lst li:nth-child(3) a:after{
        right: auto;
        left: -webkit-calc((100dvw - 770px) / -2);
        left: calc((100dvw - 770px) / -2);
    }
    .point_lst li a:hover {
        background: #ffffd3;
    }
    .point_lst li a:hover:before,
    .point_lst li a:hover:after{
        background: #ffffd3;
    }
    .point_lst li a:before {
        display: none;
    }
    .point_lst li {
        max-width: 860px;
        margin: 0 auto 16px;
        background: none;
    }
    .point_lst li a {
        border-radius: 140px 0 0 140px;
        padding-left: 35px;
        padding-right: 30px;
        box-sizing: border-box;
    }
    .point_lst li:nth-child(1) a,
    .point_lst li:nth-child(3) a {
        border-radius: 0 140px 140px 0;
        padding-right: 35px;
        padding-left: 30px;
    }
    .point_lst li:nth-child(4) a {
        padding-right: 0;
    }
    .point_lst li:nth-child(4) a .point {
        margin-right: 65px;
    }
    .read_ct {
        max-width: 930px;
        margin: 0 auto;
    }
    .read_dtl {
        max-width: 790px;
        margin: 46px auto 0;
    }
}
@media only screen and (min-width: 950px) {
    .read_txt.is-ver1 {
        padding-left: 60px;
        padding-right: 0;
    }
    .read_txt.is-ver2 {
        max-width: 790px;
        margin: 72px auto 0;
    }
    .read_txt.is-ver1:before {
        width: 136px;
        left: -85px;
        z-index: -1;
    }
    .read_txt.is-ver2:after {
        width: -webkit-calc((100dvw - 790px) / 2);
        width: calc((100dvw - 790px) / 2);
        left: -webkit-calc((100dvw - 790px) / -2);
        left: calc((100dvw - 790px) / -2);
        z-index: -1;
    }
}
.point_lst .point {
    font-weight : bold;
    font-size : 22px;
    line-height : 1;
    text-align: center;
    color: #009844;
}
.point_lst .point span {
    display: block;
    font-size: 74px;
}
.point_lst .txt {
    font-weight : bold;
    font-size : 36px;
    line-height : 1.5;
}
.point_lst .txt span {
    background: linear-gradient(transparent 70%, #fef686 70%);
}
.point_lst .more {
    font-weight : bold;
    font-size : 26px;
    line-height : 1.4;
    color : #E52D8A;
    text-align: right;
}
.point_lst li:nth-child(1) .point,
.point_lst li:nth-child(3) .point {
    order: 3;
}
.point_end {
    background: url(../img/point_img01.png) center / cover no-repeat;
    padding: 69px 0;
    margin-bottom: 90px;
}
.point_end .txt {
    text-align: center;
    font-weight : bold;
    font-size : 36px;
    line-height : 2;
    color : #FFFFFF;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
.pointFlow_wrap {
    margin-top: 90px;
    background: #e5f0f8;
    padding-top: 70px;
}
.pointFlow_wrap .txt {
    font-weight : bold;
    font-size : 40px;
    line-height : 2;
    text-align: center;
}
.pointFlow_wrap .txt span {
    color: #e52d8a;
}
.pointFlow_img {
    text-align: center;
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
}
.pointFlow_img source,
.pointFlow_img img {
    width: 100%;
    height: auto;
}
.pointFlow_img:before {
    content: '';
    display: block;
    width: 100%;
    height: calc(180px / 2);
    background: #e5f0f8;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -1px;
    z-index: 1;
}
/********************************
pass
*********************************/
.pass_wrap {
    padding: 86px 0 82px;
}
.pass_ttl {
    display: block;
    background: url(../svg/pass_ttl.svg) no-repeat center / 810px auto;
    padding: 84px 0;
    text-align: center;
    margin-bottom: 82px;
}
.pass_ttl span {
    font-weight : bold;
    font-size : 56px;
    line-height: 1;
    color : #FFF5F2;
}
.pass_lst {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 28px 0;
}
.pass_lst li {
    width: 48.3%;
}
.pass_lst li a {
    background: #b3e4c0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    height: 348px;
    position: relative;
    border-radius: 40px;
}
.pass_lst li.is-yellow a {
    background: #fbe2b4;
}
.pass_lst li.is-blue a {
    background: #b2d2e9;
}
.pass_lst li.is-pink a {
    background: #f7c0dc;
}
.pass_lst li a:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url(../svg/pass_bk.svg) no-repeat center bottom 8px / auto 100px;
    z-index: 1;
}
.pass_lst li a:before {
    content: '';
    display: block;
    background: #b3e4c0;
    height: calc(60px / 2);
    width: 40px;
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    position: absolute;
    left: -25px;
    bottom: -6px;
    transform: rotate(-38deg);
    z-index: 1;
}
.pass_lst li:nth-child(2n) a:before {
    left: auto;
    right: -25px;
    bottom: -6px;
    transform: rotate(218deg);
}
.pass_lst li.is-yellow a:before {
    background: #fbe2b4;
}
.pass_lst li.is-blue a:before {
    background: #b2d2e9;
}
.pass_lst li.is-pink a:before {
    background: #f7c0dc;
}
@media only screen and (min-width: 896px) {
    .pass_lst li a:hover {
        opacity: .8;
    }
}
.pass_lst li .txt {
    font-weight : bold;
    font-size : 30px;
    line-height : 1.5;
    color : #000000;
    text-align: center;
    padding-bottom: .6em;
}
.pass_lst li .txt span {
    background: linear-gradient(transparent 60%, #fef686 60%);
}
.pass_lst li .more {
    font-weight : bold;
    font-size : 24px;
    line-height : 1.6;
    color : #E52D8A;
    text-align: center;
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: auto;
}
/********************************
price
*********************************/
.price_wrap {
    background: #fbe2b4;
    padding: 78px 0;
}
.price_in {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding-top: 46px;
    padding-bottom: 50px;
    position: relative;
}
.price-ttl {
    font-weight : bold;
    font-size : 30px;
    color : #FFF5F2;
    text-align: center;
    display: block;
    background: url(../svg/price_ttl.svg) no-repeat center / 282px auto;
    padding: 12px 0;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 3;
}
.pricebox_wrap {
    display: flex;
    justify-content: center;
    gap: 0 30px;
    position: relative;
}
.pricebox_in {
    background: #fff;
    width: 382px;
    height: 322px;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 60px;
}
.cate_wrap {
    text-align: center;
}
.cate_in {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 20px;
}
.cate-txt {
    font-weight : bold;
    font-size : 30px;
    line-height : 1.2;
    text-align: left;
}
.strong-numimg {
    font-size: 88px;
    line-height : 1;
    font-family: "bahnschrift", sans-serif;
    font-weight: 700;
    font-style: normal;
}
.pricedtl_txt {
    font-size: 60px;
    line-height: 1;
    font-family: "bahnschrift", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-top: 10px;
}
.pricedtl-txt .fs-l {
    font-size: 88px;
}
.anoround_wrap {
    width: 138px;
    height: 138px;
    position: absolute;
    left: 50%;
    bottom: -50px;
    transform: translateX(-50%);
    background: #009844;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.anoround-txt {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    color: #FFF5F2;
}
.anoround-txt .fs-l {
    font-size: 32px;
}
/********************************
free
*********************************/
.free_wrap {
    background: #b2d2e9;
    padding: 0 0 82px;
}
.free_read {
    position: relative;
}
.free_img {
    overflow: hidden;
    height: 65vw;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.free_img source,
.free_img img {
    width: 100%;
    height: auto;
}
@media only screen and (min-width: 896px) {
    .free_txt {
        transform: rotate(-5deg);
        font-weight : bold;
        font-size : 3.889vw;
        line-height: 1.6;
        color : #FFF5F2;
        position: absolute;
        z-index: 1;
        text-align: center;
    }
    .free_txt .txt span {
        font-size: 4.861vw;
    }
    .free_txt.is-ver1 {
        top: 4.167vw;
        left: 7.639vw;
    }
    .free_txt.is-ver2 {
        bottom: 12.5vw;
        right: 12.5vw;
    }
}
.free_in {
    padding-top: 34px;
}
.free_ttl {
    text-align: center;
    font-weight : bold;
    font-size : 70px;
    line-height : 1.3;
}
.free_ttl span {
    font-size : 56px;
}
.free_lst {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 0 6px;
    margin-top: 210px;
    margin-bottom: 86px;
}
.free_lst li {
    width: -webkit-calc((100% - 6px * 2) / 3);
    width: calc((100% - 6px * 2) / 3);
    height: 192px;
    box-sizing: border-box;
    background: #fff5f2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
}
.free_icon {
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    top: -114px;
    margin: auto;
}
.free_box .mds {
    font-weight : bold;
    font-size : 28px;
    line-height : 1.5;
    margin-bottom: 10px;
}
.free_box .txt {
    font-weight : bold;
    font-size : 18px;
    line-height : 1.5;
}
@media screen and (min-width:767px) and (max-width:1200px) {
    /********************************
    header
    *********************************/
    .mvLogo_wrap {
        gap: 0 2.667vw;
        height: 12.917vw;
        padding-left: 7.917vw;
        padding-right: 5.167vw;
    }
    .mvBtn_wrap {
        gap: 0 3.167vw;
        padding: 4.833vw 2.5vw 0 0;
    }
    .mvBtn {
        width: 14.667vw;
        height: 14.667vw;
    }
    .mvBtn a {
        font-size: 2vw;
        padding-top: 0.5vw;
    }
    .search-btn span:before {
        display: block;
        width: 2.083vw;
        height: 2.083vw;
        right: 0.5vw;
        bottom: 0.333vw;
    }
    /********************************
    footer
    *********************************/
    .footer-list {
        gap: 0 32px;
    }
}
@media only screen and (max-width: 896px) {
    body {
        line-height: 1.6;
        font-size: 14px;
        min-width: 320px;
        width: 100%;
        padding-top: 48px;
    }
    /********************************
    C系CSS
    *********************************/
    .c-pc {
        display: none;
    }
    .c-pc-in {
        display: none;
    }
    .c-sp {
        display: block;
    }
    .c-sp-in {
        display: inline;
    }
    .c-wrap {
        width: 100%;
    }
    /********************************
    inview
    *********************************/
    .fadeIn_left2,
    .fadeIn_right2 {
        transform: translate(0, 50%) rotate(-5deg);
    }
    /********************************
    popup
    *********************************/
    .popup_cls {
        top: 10px;
        right: 10px;
    }
    .popup_main {
        top: 6%;
        transform: none;
        width: 90vw;
    }
    .txtbox {
        padding: 28px;
        max-height: 86svh;
    }
    .txtbox.is-green {
        border: 6px solid #b3e4c0;
    }
    .txtbox.is-yellow {
        border: 6px solid #fbe2b4;
    }
    .txtbox.is-blue {
        border: 6px solid #b2d2e9;
    }
    .txtbox.is-pink {
        border: 6px solid #f7c0dc;
    }
    .txtbox .txt {
        font-size : 14px;
        line-height : 1.7;
    }
    /********************************
    header
    *********************************/
    header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #f7c0dc;
        padding: 0 2.667vw;
    }
    .mvLogo_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 1.333vw;
        height: 20.8vw;
        background: transparent;
        border-radius: 0;
        padding: 0;
    }
    .mvLogo-left img {
        width: 20.267vw;
        height: auto;
    }
    .mvLogo-right img {
        width: 19.2vw;
        height: auto;
    }
    .mvBtn_wrap {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0 2.667vw;
        height: 20.8vw;
        padding: 0;
    }
    .mvBtn {
        width: 16vw;
        height: 16vw;
    }
    .mvBtn a {
        font-size: 2.667vw;
        line-height: 1.4;
        padding-top: 0.533vw;
    }
    .search-btn span:before {
        width: 2.133vw;
        height: 2.133vw;
        right: 1.6vw;
        bottom: 0.267vw;
    }
    /********************************
    footer
    *********************************/
    footer {
        padding:8vw 0;
    }
    .footer_wrap .txt {
        font-size: 2.667vw;
    }
    .footer_wrap .tel {
        font-size: 5.333vw;
        padding: 2.133vw 0;
    }
    .footer_wrap .tel span {
        padding-left: 8vw;
    }
    .footer_wrap .tel span:before {
        width: 5.867vw;
        height: 4.8vw;
    }
    .footer-list {
        display: block;
        margin-top: 4.267vw;
    }
    .footer-list li {
        font-size: 4.267vw;
        margin-bottom: 2.133vw;
    }
    .copyright {
        font-size: 4.267vw;
        margin-top: 3.733vw;
    }
    .cp0-bnr_wrap {
        margin: 0 auto;
        width: 100%;
        padding: 4.267vw 0 0;
    }
    .cp0-bnr_wrap img {
        width: calc(100% - 13.333vw);
        max-width: 100%;
    }
    .floating-banner {
        bottom: 26.667vw;
        left: 2.667vw;
        width: 29.333vw;
        height: 29.333vw;
    }
    .floating-banner .close-btn {
        position: absolute;
        top: 1.067vw;
        right: 1.067vw;
        width: 5.333vw;
        height: 5.333vw;
        font-size: 3.2vw;
    }
    /********************************
    cv
    *********************************/
    .cv_wrap {
        width: -webkit-calc(100% - 13.867vw);
        width: calc(100% - 13.867vw);
        box-sizing: border-box;
        padding: 7.467vw 0 6.933vw;
        margin: 0 auto;
    }
    .cv-ttl {
        font-size: 4.8vw;
    }
    .cv-search_wrap {
        padding: 6.667vw 0 5.333vw;
    }
    .cv-search-box {
        display: flex;
        flex-wrap: wrap;
        gap: 3.2vw 0;
    }
    .cv-search-box .cv-prefecture,
    .cv-search-box .cv-city {
        width: -webkit-calc(100% - 16vw);
        width: calc(100% - 16vw);
    }
    .cv-search-box .cv-prefecture::before,
    .cv-search-box .cv-city::before {
        width: 2.667vw;
        height: 2.667vw;
        top: 7.467vw;
        right: 4.8vw;
        z-index: 9;
    }
    .cv-search-box select {
        width: 100%;
        height: 17.333vw;
        font-size: 4.8vw;
        font-weight: bold;
        line-height: 1.4;
        text-align: left;
        padding: 0 4.8vw;
        padding-right: 9.6vw;
    }
    .cv-search-box select::before {
        position: absolute;
        content: '';
        background: url(../svg/cv_search.svg) no-repeat;
        background-size: 100% auto;
        width: 5.333vw;
        height: 5.333vw;
        top: 1.067vw;
        right: 0;
        z-index: 9;
    }
    .cv-searchbtn {
        width: -webkit-calc(100% - 16vw);
        width: calc(100% - 16vw);
        box-sizing: border-box;
        height: 17.333vw;
        font-size: 4.8vw;
        text-align: left;
        padding-left: 9.067vw;
        position: relative;
    }
    .cv-searchbtn::before {
        position: absolute;
        content: '';
        background: url(../svg/cv_search.svg) no-repeat;
        background-size: 100% auto;
        width: 7.467vw;
        height: 7.467vw;
        top: 5.067vw;
        right: 4vw;
        z-index: 9;
    }
    .cv-contactbtn {
        width: -webkit-calc(100% - 16vw);
        width: calc(100% - 16vw);
        max-width: none;
        height: 21.333vw;
        margin: 0 auto;
    }
    .cv-contactbtn a {
        font-size: 4.8vw;
    }
    /********************************
    MV
    *********************************/
    .mv_wrap {
        padding-top: 57.6vw;
        background: url(../img/sp/mv_img.png) no-repeat center / 100% auto;
        height: 165.333vw;
        box-sizing: border-box;
    }
    .mv_ttl {
        max-width: 91.2vw;
        margin: 0 auto;
        background: url(../svg/mv_txt_bk.svg) no-repeat center / 100% auto;
    }
    .mv_ttl .is-txt {
        font-size: 8.533vw;
    }
    .mv_ttl .is-txt .is-s {
        font-size: 5.333vw;
    }
    .mv_ttl .ver1 {
        text-align: left;
        padding-bottom: 2.133vw;
    }
    .mv_ttl .ver3 {
        text-align: right;
        padding-top: 2.133vw;
    }
    .mv_img {
        display: none;
    }
    /********************************
    read
    *********************************/
    .read_in {
        width: 100%;
    }
    .read_txt {
        font-size : 4.267vw;
        line-height : 1.6;
    }
    .read_txt.is-ver1 {
        margin-top: -12.267vw;
        border-radius: 100vh 0 0 100vh;
        padding: 1.333vw 15vw;
    }
    .read_txt.is-ver2 {
        margin-top: 4.267vw;
        border-radius: 0 100vh 100vh 0;
        padding: 1.333vw 8vw;
    }
    .read_dtl {
        font-size : 4.267vw;
        line-height : 1.6;
        padding: 0 8vw;
        margin-top: 4.8vw;
    }
    .read_img {
        margin-top: 4.267vw;
    }
    .read_ent {
        font-size : 3.2vw;
        margin: 4.267vw 0 3.733vw;
    }
    /********************************
    point
    *********************************/
    .point_wrap {
        padding: 5.333vw 0 0;
    }
    .point_in {
        width: 100%;
    }
    .point_ttl {
        font-size : 5.867vw;
        line-height : 1.36;
    }
    .point_ttl span {
        font-size : 10.667vw;
        margin-top: 0;
        background: url(../svg/point_ttl_sp.svg) no-repeat center / 61.867vw auto;
        padding: 1.333vw 0 1.867vw;
    }
    .point_lst {
        margin-top: 5.333vw;
        margin-bottom: 8vw;
    }
    .point_lst li {
        margin-bottom: 2.133vw;
        border-radius: 0 100vh 100vh 0;
    }
    .point_lst li:nth-child(2n) {
        border-radius: 100vh 0 0 100vh;
    }
    .point_lst li a {
        display: block;
        height: auto;
        padding: 8vw 18.667vw 5.333vw 8vw;
        border-radius: 0 100vh 100vh 0;
    }
    .point_lst li:nth-child(2n) a {
        border-radius: 100vh 0 0 100vh;
        padding: 8vw 8vw 5.333vw 18.667vw;
    }
    .point_lst .point {
        font-size : 3.733vw;
        position: absolute;
        right: 4.8vw;
        top: 50%;
        transform: translateY(-50%);
    }
    .point_lst li:nth-child(2n) .point {
        right: auto;
        left: 4.8vw;
    }
    .point_lst .point span {
        font-size: 11.733vw;
    }
    .point_lst .txt {
        font-size : 5.333vw;
        line-height : 1.5;
    }
    .point_lst .img {
        text-align: center;
        padding: 3.2vw 0 0;
    }
    .point_lst .more {
        text-align: left;
        font-size : 4.267vw;
        position: absolute;
        left: 8vw;
        bottom: 3.733vw;
    }
    .point_lst li:nth-child(2n) .more {
        text-align: right;
        left: auto;
        right: 8vw;
    }
    .point_end {
        background: url(../img/sp/point_img01.png) center / cover no-repeat;
        padding: 6.133vw 0;
        margin-bottom: 8.533vw;
    }
    .point_end .txt {
        font-size : 4.8vw;
        line-height : 1.7;
    }
    .pointFlow_wrap {
        margin-top: 12.267vw;
        padding-top: 6.4vw;
    }
    .pointFlow_wrap .txt {
        font-size : 4.8vw;
        line-height : 1.7;
    }
    .pointFlow_img:before {
        height: calc(29.333vw / 2);
        top: -0.267vw;
    }
    /********************************
    pass
    *********************************/
    .pass_wrap {
        padding: 8vw 0 11.733vw;
    }
    .pass_ttl {
        background: url(../svg/pass_ttl.svg) no-repeat center / 82.667vw auto;
        padding: 8vw 0;
        margin-bottom: 5.333vw;
    }
    .pass_ttl span {
        font-size :5.867vw;
    }
    .pass_lst {
        gap: 4.8vw 0;
        padding: 0 3.733vw;
        box-sizing: border-box;
    }
    .pass_lst li {
        width: 100%;
    }
    .pass_lst li a {
        height: 46.667vw;
        border-radius: 16vw;
    }
    .pass_lst li a:after {
        background: url(../svg/pass_bk_sp.svg) no-repeat center bottom 6.4vw / auto 22.4vw;
    }
    .pass_lst li a:before {
        height: calc(13.333vw / 2);
        width: 6.667vw;
        left: auto;
        right: -0.533vw;
        bottom: 0px;
        transform: rotate(218deg);
    }
    .pass_lst li:nth-child(2n) a:before {
        right: auto;
        left: -0.533vw;
        bottom: 0px;
        transform: rotate(-38deg);
    }
    .pass_lst li .txt {
        font-size : 5.333vw;
        padding-bottom: .6em;
    }
    .pass_lst li .more {
        font-size : 4.267vw;
        bottom: 1.6vw;
    }
    /********************************
    price
    *********************************/
    .price_wrap {
        padding: 8vw 8vw;
    }
    .price_in {
        width: 100%;
        padding-top: 7.467vw;
        padding-bottom: 0;
    }
    .price-ttl {
        font-size : 5.867vw;
        background: url(../svg/price_ttl.svg) no-repeat center / 61.867vw auto;
        padding: 4vw 0;
    }
    .pricebox_wrap {
        display: flex;
        flex-wrap: wrap;
        gap: 13.333vw 0;
    }
    .pricebox_in {
        width: 100%;
        height: 64vw;
        padding-top: 10.133vw;
    }
    .pricebox_in.ver2 {
        height: 60.8vw;
    }
    .cate_in {
        gap: 0 5.333vw;
    }
    .cate-txt {
        font-size : 6.933vw;
    }
    .strong-numimg {
        font-size: 20.267vw;
    }
    .pricedtl_txt {
        font-size: 13.333vw;
        margin-top: 0;
    }
    .pricedtl-txt .fs-l {
        font-size: 20.267vw;
    }
    .anoround_wrap {
        width: 31.467vw;
        height: 31.467vw;
        left: 0;
        right: 0;
        margin: auto;
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
    }
    .anoround-txt {
        font-size: 4.8vw;
    }
    .anoround-txt .fs-l {
        font-size: 7.467vw;
    }
    /********************************
    free
    *********************************/
    .free_wrap {
        padding: 0 0 11.733vw;
    }
    .free_read {
        overflow: hidden;
    }
    .free_img {
        height: auto;
    }
    .free_txt {
        transform: rotate(-5deg);
        font-weight : bold;
        line-height: 1.2;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 1;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }
    .free_txt .txt {
        font-size: 5.333vw;
    }
    .free_txt .txt span {
        font-size: 8.533vw;
    }
    .free_txt .is-fw {
        color: #FFF5F2;
    }
    .free_txt .is-bk {
        color: #333;
    }
    .free_txt .is-bk span {
        font-size: 5.333vw;
    }
    .free_txt.is-ver1 {
        top: 4vw;
        gap: 0 6.667vw;
        padding-left: 0;
    }
    .free_txt.is-ver2 {
        bottom: 70.133vw;
        gap: 0 6.667vw;
        padding-right: 1.333vw;
    }
    .free_txt.is-ver1:before {
        content: '';
        display: block;
        width: 14.667vw;
        height: 11.2vw;
        position: absolute;
        right: 19.733vw;
        top: 2.667vw;
        background: url(../img/sp/free_img2.png) no-repeat center / 100% auto;
        z-index: 1;
    }
    .free_in {
        padding-top: 9.067vw;
    }
    .free_ttl {
        font-size : 8vw;
    }
    .free_ttl span {
        font-size : 5.867vw;
    }
    .free_lst {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 5.333vw 0;
        margin: 6.933vw 0 11.2vw;
    }
    .free_lst li {
        width: -webkit-calc(100% - 19.733vw);
        width: calc(100% - 19.733vw);
        height: 22.933vw;
        margin-left: auto;
    }
    .free_lst li:nth-child(2n) {
        margin: 0;
        margin-right: auto;
    }
    .free_icon {
        left: -11.733vw;
        right: auto;
        top: 50%;
        margin: -11.733vw 0 0;
    }
    .free_icon source,
    .free_icon img {
        width: 23.467vw;
        height: auto;
    }
    .free_lst li:nth-child(2n) .free_icon {
        left: auto;
        right: -11.733vw;
    }
    .free_box .mds {
        font-size : 4.8vw;
        line-height : 1.4;
        margin-bottom: 0.533vw;
    }
    .free_box .txt {
        font-size : 3.733vw;
        line-height : 1.2;
    }
}/*@media*/