@charset "UTF-8";
body {
    padding-top: 0;
}
header {
    position: relative;
}
.site-main {
    padding: 0;
}
.headLogo_wrap {
    max-width: 1280px;
    margin: 0 auto;
    height: 100px;
    display: flex;
    align-items: center;
    font-size: 0;
}
.mv_wrap {
    position: relative;
    background-color: #FEF2CE;
}
.mv_wrap::before {
    content: "";
    display: block;
    position: absolute;
    background: url(../img/mv_tail01.png) no-repeat 0 0;
    width: 194px;
    height: 118px;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 109;
}
.mv-ttl {
    width: 100%;
    height: 370px;
    margin: 0 auto;
}
.mv-ttl span {
    width: 100%;
    height: 0;
    display: block;
    overflow: hidden;
    padding: 370px 0 0 0;
    background: url(../img/mv_img01.png) no-repeat center center;
}
.flow_lst .slick-prev,
.flow_lst .slick-next {
    display: inline-block;
    width: 40px;
    height: 40px;
    top: 50%;
    margin-top: -20px;
    transform: translateY(0);
    background-image: url(../img/arw_round.svg?2);
    background-size: 100% auto;
}
.orbg_wrap {
    padding: 75px 0 90px;
    background-color: #FAF7F5;
}
.feature_wrap {
    max-width: 1030px;
    padding: 0 20px;
    margin: 0 auto 60px;
}
.shopTtl_wrap {
    text-align: center;
    margin-bottom: 70px;
    font-weight: bold;
}
.shop-ttls {
    font-size: 24px;
    margin-bottom: 20px;
}
.shopTtl_wrap .shop-ttls {
    color: #FF6400;
    display: inline-block;
    line-height: 1.4;
}
.feature_in {
    width: 100%;
    background-color: #fff;
    padding: 70px 20px 50px;
    margin-bottom: 95px;
    position: relative;
    text-align: center;
}
.feature_wrap .feature_in:last-of-type {
    margin: 0;
}
.feature_in:before {
    content: "";
    position: absolute;
    top: -31px;
    left: 50%;
    width: 62px;
    height: 62px;
    margin-left: -31px;
}
.feature_in.is-01:before {
    background: url(../img/icon_01.png) no-repeat center / 100% auto;
}
.feature_in.is-02:before {
    background: url(../img/icon_02.png) no-repeat center / 100% auto;
}
.feature_in.is-03:before {
    background: url(../img/icon_03.png) no-repeat center / 100% auto;
}
.feature-ttls {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 35px;
    line-height: 1;
}
.feature-ttls .is-fzl,
.feature-ttls .is-fzx {
    font-size: 48px;
    font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
}
.feature-ttls .add {
    font-size: 20px;
    vertical-align: top;
    line-height: 2.5;
}
.feature_in img {
    margin-bottom: 20px;
}
.feature_ct {
    max-width: 610px;
    margin: 0 auto;
    text-align: left;
    position: relative;
}
.feature-txt {
    font-size: 22px;
    margin-bottom: 18px;
}
.feature_ct .feature-txt:last-of-type {
    margin: 0;
}
.feature-txt.is-ver2 {
    max-width: 384px;
}
.feature_ct.is-ver2 dd {
    position: relative;
}
.feature_ct.is-ver2 dd:before {
    content: "";
    position: absolute;
    background: url(../img/shop_img04.svg?2) no-repeat top center / 100% auto;
    width: 89px;
    height: 107px;
    bottom: 6px;
    right: 50px;
}
.feature_ct dt {
    display: none;
}
.open-img {
    cursor: pointer;
}
.open-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    z-index: 99999999;
    background: rgba(0, 0, 0, 0.5);
    display: none;
}
.open-content {
    position: relative;
    max-width: 1044px;
    width: 60%;
    font-size: 0;
    margin-top: 5.2vw;
}
.open-content img {
    width: 100%;
    height: auto;
    margin: 0;
}
.close-btn {
    position: absolute;
    cursor: pointer;
    top: 0;
    right: -40px;
    z-index: 10001;
}
.is-color,
.voiceLst-txt span,
.voice-txt span {
    color: #FF6400;
    font-weight: bold;
}
.feature-txts {
    font-size: 14px;
}
.reason_wrap {
    max-width: 1030px;
    padding: 0 20px;
    margin: 0 auto;
    text-align: center;
}
.reason_wrap .shop-ttl {
    margin-bottom: 40px;
}
.reasonLst_wrap {
    display:flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.reasonLst_wrap li {
    width: 300px;
    padding: 232px 25px 30px;
    background-color: #fff;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.27;
    position: relative;
}
.reasonLst_wrap li:before {
    content: "";
    position: absolute;
    left: 50%;
}
.reasonLst_wrap li.is-01:before {
    background: url(../img/shop_img05.svg) no-repeat center / 100% auto;
    width: 135px;
    height: 159px;
    margin-left: -67px;
    top: 42px;
}
.reasonLst_wrap li.is-02:before {
    background: url(../img/shop_img06.svg) no-repeat center / 100% auto;
    width: 155px;
    height: 178px;
    margin-left: -77px;
    top: 33px;
}
.reasonLst_wrap li.is-03:before {
    background: url(../img/shop_img07.svg) no-repeat center / 100% auto;
    width: 156px;
    height: 161px;
    margin-left: -78px;
    top: 41px;
}
.reasonLst_wrap li .is-single {
    padding: 19px 0;
}
.reasonCl-txt {
    font-size: 53px;
    color: #FF6400;
    margin: 10px 0;
    font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
}
.reasonCl-txt .fs-s {
    font-size: 34px;
}
.reasonLst_wrap .is-fzs {
    font-size: 18px;
}
.reasonTxtlst_wrap li {
    font-size: 16px;
    padding-left: 40px;
    margin-bottom: 13px;
    position: relative;
    text-align: left;
}
.reasonTxtlst_wrap li:last-of-type {
    margin: 0;
}
.reasonTxtlst_wrap li span {
    position: absolute;
    top: 0;
    left: 0;
}
.voice_wrap {
    margin: 110px auto 160px;
    max-width: 1280px;
    display: block;
}
.voice_wrap .shop-ttl,
.flow_wrap .shop-ttl {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.025em;
    margin-bottom: 40px;
}
.voice_wrap .shop-ttl span,
.flow_wrap .shop-ttl span {
    color: #FF6400;
    font-size: 40px;
}
.voiceLst_wrap,
.flowLst_wrap {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 42px;
}
.voiceLst_wrap li {
    max-width: 372px;
    width: 31%;
    margin: 0 20px;
}
.voiceLst_wrap li dt,
.flow_lst li dt {
    width: 100%;
    padding: 21px 0;
    background-color: #333;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    line-height: 1;
}
.flow_lst li dt {
    font-size: 22px;
    line-height: 1.5;
    font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
    padding: 6px 0 10px;
}
.voiceLst_wrap li dt span {
    font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
}
.voiceTxt_wrap {
    background-color: #FAF7F5;
    padding: 20px 15px 20px 20px;
}
.voice-txt {
    font-size: 22px;
    height: 218px;
    overflow-y: scroll;
}
.flow_wrap {
    margin: 0 auto 170px;
}
.flow_lst.slick-slider {
    margin: 0 -20px;
    padding: 0;
}
.flow_lst li dl {
    height: 100%;
}
.flow_lst li dd {
    background-color: #FAF7F5;
    padding: 25px 20px 25px;
    font-size: 22px;
    height: 460px;
    position: relative;
    font-size: clamp(18px, 1.7vw, 22px);
}
.flow_lst li dd .img_wrap {
    margin: 0 auto 20px;
    width: 303px;
}
.flow_lst .slick-slide {
    margin: 0 20px;
    max-width: 372px;
}
.flow_lst .slick-prev {
    left: -38px;
    transform: scale(-1, 1);
}
.flow_lst .slick-next {
    right: -40px;
}
.qa_wrap {
    background-color: #FAF7F5;
    padding: 78px 0 110px;
}
.qa_wrap .shop-ttl {
    text-align: center;
    margin-bottom: 45px;
}
.faq_wrap {
    max-width: 1030px;
    padding: 0 20px;
    margin: 0 auto;
}
.faq_wrap dl {
    overflow: hidden;
    margin-bottom: 50px;
    box-shadow: none;
    border-radius: 0;
}
.faq_wrap dl dt {
    position: relative;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.38;
    color: #fff;
    padding: 18px 80px 17px 30px;
    background: #FF6400;
    cursor: pointer;
}
.faq_wrap dl dt:before,
.faq_wrap dl dt:after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    z-index: 10;
    border-radius: 0;
}
.faq_wrap dl dt:before {
    width: 24px;
    height: 4px;
    right: 25px;
}
.faq_wrap dl dt:after {
    width: 4px;
    height: 24px;
    right: 35px;
}
.faq_wrap dl dt.on:after {
    display: none;
}
.faq_wrap dl dt span,
.faq_wrap dl dd span {
    display: block;
    position: relative;
    padding: 0 0 0 45px;
}
.faq_wrap dl dt span:before,
.faq_wrap dl dd span:before {
    position: absolute;
    left: 0;
    z-index: 10;
    font-family: "Helvetica Neue", Helvetica, sans-serif;
    font-size: 30px;
    font-weight: bold;
    line-height: 1;
}
.faq_wrap dl dt span:before {
    content: "Q";
    top: 50%;
    transform: translateY(-50%);
}
.faq_wrap dl dd span:before {
    content: "A";
    top: 3px;
    transform: translateY(0);
    color: #FF6400;
}
.faq_wrap dl dd {
    display: none;
    font-size: 22px;
    line-height: 1.6;
    padding: 28px 50px 28px 30px;
    background-color: #fff;
}
.nFooter {
    margin-top: 50px;
}
.nFooter-List {
    margin: 0 15px;
}
.nFooter-Item.is-sns {
    margin: 70px auto 40px;
    position: relative;
    max-width: 1600px;
}
.bFooterSponsor-Image {
    display: flex;
    align-items: center;
}
.bFooterSponsor-Image:not(:first-of-type) {
    margin-left: 5vw;
}
.sSponsor-Image {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    vertical-align: middle;
}
.sLImage-main {
    width: 200px;
    height: auto;
}
.sLImage-main.is-ver2 {
    width: 95px;
}
.sLImage-main.is-ver3 {
    width: 50px;
}
.sLImage-main.lazyloaded {
    opacity: 1;
}
.sSponsorText {
    padding-left: 35px;
    font-size: 16px;
    box-sizing: border-box;
    max-width: 418px;
}
.bFooterNav-Text {
    text-align: center;
    margin: 0 auto;
}
.bFooterNavList {
    display: flex;
    justify-content: center;
    align-items: center;
}
.bFooterNavItem {
    font-size: 17px;
    text-decoration: underline;
    margin-left: 32px;
}
.bFooterNavItem:first-of-type {
    margin: 0;
}
.bFooterNavItem a {
    color: #1D1D1D;
    display: inline-block;
}
.bFooterNavCaution {
    font-size: 10px;
    margin-top: 10px;
    display: block;
    line-height: 1;
}
.bFooterSns_wrap li {
    margin-left: 25px;
}
.bFooterSns_wrap li:first-of-type {
    margin: 0;
}
.sSnsLink {
    display: inline-block;
    transition: transform .2s cubic-bezier(.36,.01,.29,.99), -webkit-transform .2s cubic-bezier(.36,.01,.29,.99);
    font-size: 0;
}
.sLImage {
    position: relative;
    font-size: 0;
}
.nFooter-copyright {
    text-align: center;
    background-color: #000;
    color: #fff;
    padding: 20px;
}
.t-jp-caption {
    font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", YuGothic, "游ゴシック", "メイリオ", Meiryo, sans-serif;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    letter-spacing: .04em;
}
.store_lst .store_img {
    max-height: 244px;
}
.store_lst .store-adrs {
    font-size: 16px;
    margin-top: 15px;
}
.store_lst .store-info {
    font-size: 16px;
}
.store-ttl {
    font-size: 24px;
    font-weight: bold;
}
.acceses-txt {
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0 8px;
}
.map-txt a {
    line-height: 1;
    font-weight: bold;
}
.columnLst_wrap {
    margin-top: 15px;
    min-height: 77px;
}
.columnLst_in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.columnLst_wrap .column {
    width: 49%;
    border-radius: 4px;
}
.columnLst_wrap .column:nth-of-type(n+3) {
    margin-top: 9px;
}
.mod-text-label-02 {
    padding: 3px 2px;
}
.slick-slide > div {
    width: 100%;
}
.sp_search {
    display: none !important;
}
.simStep_box:before{
    top: -50px;
}
.simStep_box.n1:before {
    background: url(../img/sim_step01.png) no-repeat 0 0;
}
.simStep_box.n2:before {
    background: url(../img/sim_step02.png) no-repeat 0 0;
}
.simStep_box.n3:before {
    background: url(../img/sim_step03.png) no-repeat 0 0;
}
.slc-ttl.n1 {
    background: url(../img/sim_icn01.png) no-repeat left center;
    padding: 17px 0 17px 84px;
}
.slc-ttl.n2 {
    background: url(../img/sim_icn02.png) no-repeat left center;
    padding: 13px 0 13px 84px;
}
.slc-ttl.n3 {
    background: url(../img/sim_icn03.png) no-repeat left center;
    padding: 16px 0 16px 84px;
}
.slc-ttl.n4 {
    background: url(../img/sim_icn04.png) no-repeat left center;
    padding: 16px 0 16px 96px;
}
.slc-ttl.n5 {
    background: url(../img/sim_icn05.png) no-repeat left center;
    padding: 19px 0 19px 84px;
}
.simulation .site-content.of-bgcolor-pink > .str-outer {
    background-color: #EC86B6;
}
.simStep_ct.form-step {
    padding: 100px 0 0; 
    background-color: #EC86B6;
}
.simStep_ct.ver2.form-step {
    padding: 40px 0 0; 
}
#slideWrapper {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 472px;
}
.form-step {
    position: absolute;
    width: 100%;
    top: 0;
}
.simStep_box {
    margin: 0 0 54px;
    padding: 60px 0 70px;
}
.simStep_box.n2 {
    padding: 52px 0 88px;
}
.simStep_box.n3 {
    padding: 59px 0 52px;
}
.prnxbtn_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
.mod-form-select select{
    border-radius: 8px;
    font-size: 20px;
    padding: 8px 35px 7px 21px;
    border: 2px solid #d1ccc9;
}
.mod-form-select .inner::before {
    right: 18px;
}
.btnStl a {
    border: 2px solid #E55C9C;
    height: 64px;
    border-radius: 8px;
    color: #E55C9C;
    margin-bottom: 3px;
}
.slc_dtl:before {
    display: none;
}
.slc_dtl:after {
    display: none;
}
.radio-input + label .is-fs {
    font-size: 24px;
    padding: 0 0 0 11px;
}
.radio-input + label .is-fs.ver2 {
    padding: 0 0 0 2px;
}
.radio-input + label {
    font-size: 18px;
    border: 2px solid #E55C9C;
    border-radius: 8px;
    color: #E55C9C;
}
.slc_dtl {
    padding: 0 0 44px;
}
.education .site-content > .str-outer > .str-inner {
    max-width: 100%;
}
.simStep_it {
    max-width: 990px;
    margin: 0 auto;
}
.radio-input:checked + label {
    background: #E55C9C;
}
.education .mod-form-select {
    font-size: 20px;
}
.mod-text-lead {
    margin-top: 30px;
}
.mod-text-lead.of-type2 > .text {
    font-size: 16px;
    margin-bottom: 10px;
}
.simStep-txt {
    font-size: 16px;
}
.simStep-txt.mb-10 {
    margin-bottom: 10px;
}
.simStep_btn {
    width: 280px;
    margin: 0;
    padding: 0;
}
.simStep_btn .mod-button-conversion > a {
    min-height: 64px;
    margin-bottom: 3px;
}
.mod-button-conversion a {
    padding: 0;
    background-color: #ffffff;
    color: #E55C9C;
    border: 2px solid #E55C9C;
    border-radius: 8px;
    font-weight: bold;
}
.btnStl {
    width: 280px;
}
.rsltCnt_ttl:before {
    display: none;
}
.rsltCnt_ttl {
    padding-top: 0;
}
.rsltCnt_box.n1:before {
    display: none;
}
.rsltCnt_box.n2:before {
    display: none;
}
.rslt-total span {
    color: #E55C9C;
    font-size: 68px;
    padding: 0 23px 0 28px;
}
.rsltCnt-txt {
    padding: 43px 0 0 0;
    color: #ffffff;
    line-height: 1.625;
    font-size: 16px;
}
.rsltCnt_warp {
    padding: 0;
}
.btnStl.is-ver2 {
    top: 0;
    right: 0;
}
.btnStl_box {
    width: 280px;
    padding: 67px 0 0;
    margin-top: 50px;
}
.btnStl.is-ver2 a {
    height: 64px;
}
.rsltCnt-ttl {
    font-size: 28px;
}
.rslt-ttl {
    font-size: 28px;
}
.rslt-total {
    font-size: 26px;
}
.rslt-rem {
    font-size: 20px;
    padding: 25px 0 0;
}
.simStep-txt.t2 {
    padding: 33px 0 0;
    font-size: 16px;
}
.rslt_ttl {
    margin: 0 0 40px;
}
.simStep_ct.form-step.active {
    display: block;
    z-index: 10;
}
.store_lst .slick-disabled, .flow_lst .slick-disabled {
    display: none !important;
}
.shop-ttl {
    font-size: 40px;
    font-weight: bold;
    line-height: 1.6;
}
.shop-ttl span {
    color: #FF6400;
}
/* 20250502 */
.rfrnc_wrap {
    background: #FEF2CE;
}
.rfrnc_in {
    padding: 86px 0 124px;
}
.rfrnc-ttl {
    font-size: 30px;
    text-align: center;
    font-weight: bold;
    line-height: 1.333;
    margin-bottom: 68px;
}
.rfrnc-ttl span {
    position: relative;
    display: inline-block;
}
.rfrnc-ttl span::before {
    content: "";
    width: 69px;
    height: 79px;
    background: url(../img/rfrnc_icon01.png) no-repeat center / 100% auto;
    position: absolute;
    top: -19px;
    right: -138px;
}
.rfrncBox_wrap .rfrncBox_in:not(:last-child) {
    margin-bottom: 53px;
}
.rfrncBox_in {
    border: 4px solid #FF771F;
    border-radius: 8px;
    box-sizing: border-box;
    background: #FFFFFF;
}
.rfrncBox-ttl {
    height: 66px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    color: #FFFFFF;
    background: #FF771F;
    line-height: 1;
    font-weight: bold;
}
.rfrncBox_ct .box-item {
    max-width: 810px;
    margin: 0 auto;
    padding: 37px 0 58px;
}
.rfrncBox_ct .box-cat {
    text-align: center;
    margin-bottom: 39px;
}
.rfrncBox_ct .box-cat .price-txt {
    font-size: 34px;
    color: #FF771F;
    line-height: 1.34;
    margin-bottom: 16px;
    font-weight: bold;
}
.rfrncBox_ct .box-cat .price-txt .fs-l {
    font-size: 50px;
}
.rfrncBox_ct .catun-txt {
    font-size: 18px;
    line-height: 1.222;
}
.rfrncBox_ct .box-txt {
    font-size: 18px;
    line-height: 1.5555;
}
.rfrncCmpr_wrap {
    display: flex;
    justify-content: space-between;
    margin: 28px 0 35px;
}
.rfrncCmpr_in {
    width: 389px;
}
.rfrncCmpr_in .catch {
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FEF2CE;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 8px;
    margin-bottom: 26px;
    font-size: 20px;
}
.rfrncCmpr-lst {
    padding: 0 10px;
    box-sizing: border-box;
}
.rfrncCmpr-lst li {
    border-bottom: 2px solid #DADADA;
    box-sizing: border-box;
    padding: 0 30px 16px 10px;
}
.rfrncCmpr-lst li:not(:last-child) {
    margin-bottom: 12px;
}
.rfrncCmpr-lst .lst-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.3;
}
.rfrncCmpr-lst .kinds {
    padding-left: 24px;
    box-sizing: border-box;
    position: relative;
}
.rfrncCmpr-lst .kinds::before {
    content: "";
    width: 13px;
    height: 13px;
    background: #FF771F;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 9;
}
.rfrncCmpr-lst .price.is-add {
    position: relative;
}
.rfrncCmpr-lst .price.is-add::before {
    content: "※1";
    font-size: 12px;
    position: absolute;
    top: 0;
    right: -25px;
    line-height: 9;
    line-height: 1.7;
}
.rfrncBox_ct .box-stxt li {
    font-size: 14px;
    line-height: 1.214;
}
.rfrncBox_ct .box-stxt li:not(:last-child) {
    margin-bottom: 8px;
}
.ano-txt {
    padding-left: 1.3em;
    position: relative;
    box-sizing: border-box;
}
.ano-txt > span {
    position: absolute;
    top: 0;
    left: 0;
}
.ano-txt.ver-n {
    padding-left: 2em;
}
.rfrncBox-ttl.ver2 {
    gap: 0 25px;
}
.rfrncBox-ttl .label {
    width: 113px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 22px;
    background: #ffffff;
    color: #FF771F;
    font-size: 24px;
}
.rfrncBox_ct .box-cat.ver2 {
    margin-bottom: 23px;
}
.rfrncBox_ct .box-cat.ver2 .cat-txt {
    font-size: 28px;
    line-height: 1.357;
    font-weight: bold;
    color: #FF771F;
    margin-bottom: 8px;
}
.rfrncCmpr-lst.ver2 {
    width: 368px;
    margin: 0 auto;
    margin-bottom: 30px;
    padding: 0 2px;
}
.rfrncCmpr-lst.ver2 li {
    padding: 0 0 16px 0;
}
.rfrncBox_ct .box-stxt.ver2 li {
    line-height: 1.5714;
}
.rfrncBox_ct .box-stxt.ver2 li:not(:last-child) {
    margin-bottom: 6px;
}
.rfrncBox_ct .box-item.ver2 {
    padding: 32px 0 43px;
}
.worry_wrap {
    background: #1E77B3;
    position: relative;
}
.worry_wrap::before {
    content: "";
    width: 173px;
    height: 93px;
    background: url(../img/worry_tail01.png) no-repeat top center / 100% auto;
    position: absolute;
    bottom: -86px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.worry_in {
    padding: 50px 0 32px;
}
.worry-ttl {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.666;
    text-align: center;
    color: #FFFFFF;
    margin-bottom: 36px;
    letter-spacing: 0.05em;
}
.worry-ttl span {
    position: relative;
    display: inline-block;
}
.worry-ttl span::before,
.worry-ttl span::after {
    content: "";
    position: absolute;
    z-index: 9;
}
.worry-ttl span::before {
    width: 121px;
    height: 93px;
    background: url(../img/worry_icon01.png) no-repeat center / 100% auto;
    top: 0;
    left: -152px;
}
.worry-ttl span::after {
    width: 112px;
    height: 99px;
    background: url(../img/worry_icon02.png) no-repeat center / 100% auto;
    bottom: 9px;
    right: -144px;
}
.worry-box {
    background: #ffffff;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 38px 0 50px;
    margin-bottom: 33px;
}
.box-catch {
    text-align: center;
    margin-bottom: 22px;
    font-weight: bold;
}
.box-catch .on1 {
    font-size: 24px;
    line-height: 1.333;
    margin-bottom: 15px;
    display: inline-block;
}
.box-catch .on2 {
    font-size: 30px;
    line-height: 1.325;
    display: inline-block;
}
.box-catch .on2 .fs-l {
    font-size: 40px;
}
.worry-ing {
    text-align: center;
}
.worry-txt {
    font-size: 40px;
    line-height: 1.325;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
}
.reco_wrap {
    background: #FEF2CE;
}
.reco_in {
    padding: 124px 257px 70px 28px;
    background: url(../img/reco_icon01.png) no-repeat center right 28px;
}
.reco_txt {
    font-weight: bold;
}
.reco_txt > p {
    font-size: 28px;
    line-height: 1.324;
    margin-bottom: 25px;
}
.reco_txt > p .fs-l {
    font-size: 34px;
    line-height: 1.324;
}
.reco_txt .un-txt {
    display: flex;
    gap: 0 11px;
}
.reco_txt .un-txt .label {
    width: 125px;
    height: 60px;
    background: #ffffff;
    border-radius: 42px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FF6400;
    font-size: 34px;
}
.reco_txt .un-txt .txt {
    font-size: 28px;
    line-height: 1.333;
}
.reco_txt .un-txt .txt .fs-l {
    font-size: 42px;
}
.typreco_wrap {
    background: #FDF2F6;
}
.typreco_in {
    padding: 74px 0 35px 0;
}
.typreco-ttl {
    font-size: 30px;
    line-height: 1.092;
    font-weight: bold;
    margin-bottom: 47px;
    text-align: center;
    letter-spacing: 0.05em;
}
.typreco-ttl .fs-l {
    font-size: 44px;
}
.typreco-ttl .on-dott {
    position: relative;
    display: inline-block;
}
.typreco-ttl .on-dott:before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    box-sizing: border-box;
    background: #EC86B6;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.typreco-ttlun {
    color: #E55C9C;
    font-size: 28px;
    text-align: center;
    line-height: 1.571;
    margin-bottom: 21px;
    font-weight: bold;
}
.typreco-ttlun span {
    padding: 0 95px;
    box-sizing: border-box;
    position: relative;
    display: inline-block;
}
.typreco-ttlun span::before,
.typreco-ttlun span::after {
    content: "";
    width: 41px;
    height: 90px;
    position: absolute;
    bottom: -4px;
    z-index: 9;
}
.typreco-ttlun span::before {
    background: url(../img/typreco_txtdeco-l.png) no-repeat center / 100% auto;
    left: 0;
}
.typreco-ttlun span::after {
    background: url(../img/typreco_txtdeco-r.png) no-repeat center / 100% auto;
    right: 0;
}
.typreco-anotxt {
    font-size: 18px;
    line-height: 1.222;
    text-align: center;
}
.typreco-lst {
    margin: 64px 0 65px;
}
.typreco-lst li:not(:last-child) {
    margin-bottom: 72px;
}
.typreco-lstitem {
    background: #ffffff;
    box-sizing: border-box;
    position: relative;
    border-radius: 8px;
    padding: 59px 90px 48px;
    display: none;
}
.typreco-lstitem:first-child {
    display: block;
}
.typreco-lstitem::before {
    content: "";
    width: 66px;
    height: 66px;
    background: url(../img/typreco_01.png) no-repeat center / 100% auto;
    position: absolute;
    top: -33px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.typreco-lstitem.ver2::before {
    background: url(../img/typreco_02.png) no-repeat center / 100% auto;
}
.typreco-lstitem.ver3::before {
    background: url(../img/typreco_03.png) no-repeat center / 100% auto;
}
.typreco-lstitem.ver4::before {
    background: url(../img/typreco_04.png) no-repeat center / 100% auto;
}
.typreco-lstitem.ver5::before {
    background: url(../img/typreco_05.png) no-repeat center / 100% auto;
}
.typreco-lstitem .ttl {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.357;
    margin-bottom: 35px;
    text-align: center;
}
.typrecotab-btnlst {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 33px;
}
.typrecotab-btnlst .tab-btn {
    width: 224px;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #E55C9C;
    border: 3px solid #E55C9C;
    border-radius: 8px;
    box-sizing: border-box;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    font-weight: bold;
    text-decoration: none;
    font-size: 20px;
}
.typrecotab-btnlst .tab-btn.active {
    background: #E55C9C;
    color: #ffffff;
}
.typrecotab_wrap .tab-content {
    margin-top: 38px;
    display: none;
}
.typrecotab_wrap .tab-content.active {
    display: block;
}
.typrecotab_wrap .tab-content .tab-txt {
    font-size: 18px;
    line-height: 1.555;
}
.typreco-txt .on-txt {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.324;
    margin-bottom: 25px;
    text-align: center;
}
.typreco-txt .on-txt .fs-l {
    font-size: 34px;
}
.typreco-txt .is-pnk {
    color: #E55C9C;
}
.typreco-txt .txt {
    font-size: 40px;
    line-height: 1.325;
    margin-bottom: 35px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.05em;
}
.typreco-img {
    text-align: center;
}
.ankbtn_wrap,
.shopsbtn_wrap {
    background: #6D5F54;
}
.ankbtn_in {
    padding: 67px 0 69px;
    position: relative;
}
.ankano-txt {
    font-size: 18px;
    color: #FFFFFF;
    margin-top: 20px;
    text-align: center;
    line-height: 1.222;
}
.ankbtn_in::before {
    content: "";
    width: 104px;
    height: 168px;
    background: url(../img/btn_img01.png) no-repeat center / 100% auto;
    position: absolute;
    right: -104px;
    bottom: 128px;
    z-index: 9;
}
.ankbtn_in .deco-txt {
    text-align: center;
    font-size: 28px;
    line-height: 1.357;
    margin-bottom: 23px;
    color: #ffffff;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.ankbtn_in .deco-txt span {
    position: relative;
    padding: 0 57px;
    box-sizing: border-box;
    display: inline-block;
}
.ankbtn_in .deco-txt span::before,
.ankbtn_in .deco-txt span::after {
    content: "";
    width: 31px;
    height: 31px;
    background: url(../img/btn_txtdeco01.png) no-repeat center / 100% auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 9;
}
.ankbtn_in .deco-txt span::before {
    left: 0;
}
.ankbtn_in .deco-txt span::after {
    right: 0;
}
.ankbtn-txt {
    font-size: 36px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    line-height: 1.327;
    margin-bottom: 47px;
    letter-spacing: 0.05em;
}
.ankbtn-txt .fs-l {
    font-size: 49px;
}
.ankbtn-txt sup {
    font-size: 0.6em;
}
.ankbtn-btn {
    text-align: center;
    line-height: 1;
}
.ankbtn-btn a {
    display: inline-block;
    line-height: 1;
    font-size: 0;
}
.mederit_wrap {
    background: #FEF2CE;
}
.mederit_in {
    padding: 83px 0 105px;
}
.merit_wrap > .ttl {
    text-align: center;
    font-weight: bold;
    font-size: 40px;
    line-height: 1.325;
    margin-bottom: 37px;
}
.merit-lst {
    background: #ffffff;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 36px 75px 76px;
}
.merit-lst li:not(:last-child) {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid #C8C8C8;
}
.merit-lstitem .number {
    text-align: center;
    margin-bottom: 20px;
    font-size: 0;
    line-height: 1;
}
.merit-lstitem .catch {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.357;
    text-align: center;
}
.merit-con {
    margin-top: 16px;
}
.merit-con .plan_wrap {
    margin: 14px 0 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 20px;
}
.merit-con .plan_in {
    width: 320px;
    background: #FEF2CE;
    border-radius: 8px;
    box-sizing: border-box;
    padding: 11px 23px 11px 49px;
    position: relative;
}
.merit-con .plan_in::before {
    content: "";
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #FF6400;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 21px;
    transform: translateY(-50%);
    z-index: 9;
}
.merit-con .plan_in p {
    font-size: 18px;
    line-height: 1.555;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.merit-img {
    margin-top: 28px;
    text-align: center;
    font-size: 0;
}
.merit-con .exp-txt {
    font-size: 18px;
    line-height: 1.555;
}
.merit-con .exp-txt sup {
    font-size: 0.7em;
}
.merit-con .ano-txt {
    font-size: 14px;
    line-height: 1.5714;
    margin-top: 4px;
}
.merit_wrap.demerit {
    margin-top: 85px;
}
.mederit_txt {
    margin-top: 60px;
}
.mederit-txt {
    font-size: 30px;
    font-weight: bold;
    line-height: 1.684;
    text-align: center;
}
.mederit-txt .fs-l {
    font-size: 38px;
}
.is-or {
    color: #FF6400;
}
.mederit-box {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 31px;
}
.mederit-box .txt-box {
    width: 466px;
    padding: 31px 55px;
    border-radius: 8px;
    box-sizing: border-box;
    background: #ffffff;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.8182;
}
.mederit-img {
    font-size: 0;
}
.shopsbtn_in {
    padding: 39px 0 56px;
}
.shopsbtn_in .catch {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    line-height: 1.325;
    color: #ffffff;
    margin-bottom: 26px;
    letter-spacing: 0.005em;
}
.shopsbtn_in .catch .fs-l {
    font-size: 40px;
}
.shopsbtn_in .catch > span {
    position: relative;
}
.shopsbtn_in .catch > span::after {
    content: "";
    width: 31px;
    height: 35px;
    background: url(../img/btn_txtdeco02.png) no-repeat center / 100% auto;
    position: absolute;
    top: 50%;
    right: -45px;
    transform: translateY(-50%);
    z-index: 9;
}
.shopsbtn_in .bubble span {
    line-height: 1;
}
.shopsbtn_in .bubble {
    width: 177px;
    margin: 0 auto 33px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 37px;
    background: #ffffff;
    box-sizing: border-box;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    height: 42px;
}
.shopsbtn_in .bubble::before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid #ffffff;
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9;
}
.shopsbtn-box {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 26px;
    margin-bottom: 45px;
}
.shopsbtn-txt {
    color: #ffffff;
    font-weight: bold;
    font-size: 27px;
    line-height: 1.85;
    letter-spacing: 0.05em;
}
.shopsbtn-txt .fs-l {
    font-size: 39px;
}
.shopsbtn-img,
.shopsbtn-btn,
.shopsbtn-btn .js-srcpo.lnk {
    font-size: 0;
}
.shopsbtn-btn {
    text-align: center;
}
.shopsbtn-btn .js-srcpop.lnk {
    display: inline-block;
    cursor: pointer;
}
.shopsbtn-img img {
    border-radius: 8px;
    overflow: hidden;
    box-sizing: border-box;
}
/* 割と共通 */
.rfrnc_in,
.worry_in,
.reco_in,
.typreco_in,
.ankbtn_in,
.shopsbtn_in,
.mederit_in {
    margin: 0 auto;
    box-sizing: border-box;
}
@media (min-width: 960px) {
    .sSnsLink:hover {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: 0.8;
    }
    .simCnt_warp {
        padding: 0;
    }
    .simStep_warp {
        padding: 0;
    }
    .btnStl.ver2 {
        width: 226px;
    }
    .slc_dtl:last-child {
        border-bottom: 1px solid #d1ccc9;
        padding: 0 0 44px;
    }
    .btnStl a:hover,
    .mod-button-conversion:not(.is-disabled) > a:hover {
        opacity: 1;
        border: 2px solid #EF9DC4;
        color: #EF9DC4;
    }
    .btnStl.is-ver2 a:hover {
        border: 1px solid #F3EFED;
        background: #F3EFED;
        color: #858585;
    }
    /* 20250502 */
    .rfrnc_in,
    .worry_in,
    .typreco_in {
        max-width: 990px;
    }
    .reco_in,
    .ankbtn_in,
    .shopsbtn_in,
    .mederit_in {
        max-width: 810px;
    }
    .typrecotab-btnlst .tab-btn:hover {
        background: #E55C9C;
        color: #ffffff;
    }
    .ankbtn-btn a:hover img,
    .shopsbtn-btn .js-srcpop.lnk:hover img {
        opacity: .8;
    }
    .is-02 .reasonCl-txt {
        font-size: 52px;
    }
    .is-03 .reasonCl-txt {
        font-size: 51px;
    }
    .shopsbtn-btn .js-srcpop.lnk,
    .ankbtn-btn a {
        background-color: #ffffff;
        border-radius: 4px;
    }
}
@media (max-width: 1380px) and (min-width: 961px) {
    .voiceLst_wrap li dt {
        font-size: max(1.9vw, 20px);
    }
    .flow_lst li dt {
        font-size: max(1.5vw, 15px);
    }
    .flow_lst li dd {
        height: 85%;
    }
}
@media (max-width: 1360px) and (min-width: 961px) {
    .flow_lst .slick-prev {
        left: -10px;
        margin-top: 30px;
    }
    .flow_lst .slick-next {
        right: -10px;
        margin-top: 30px;
    }
}
@media (max-width: 1300px) and (min-width: 960px) {
    .reasonLst_dtl {
        padding: 75px 30px 50px 30px;
    }
    .reasonLst_dtl dl dt {
        font-size: 1.4vw;
    }
    .reasonLst_dtl dl dt span {
        font-size: 1.15vw;
    }
}
@media (max-width: 1160px) and (min-width: 960px) {
    .flow_lst li dd .img_wrap {
        width: 100%;
    }
}
@media (max-width: 1100px) and (min-width: 960px) {
    .sec-ttl {
        font-size: 3.6vw;
    }
    .support_in {
        padding: 50px 80px 60px 80px;
    }
    .support_lst {
        padding: 40px;
    }
    .support_lst li {
        font-size: 1.8vw;
    }
}
@media (max-width: 1060px) and (min-width: 960px) {
    .voiceDtl_wrap {
        padding: 40px 30px;
    }
    .voiceDtl_txt dt {
        font-size: 1.7vw;
    }
}
@media (min-width: 960px) {
    .voiceLst_wrap ul {
        display: flex;
        justify-content: center;
        margin: 0 -20px;
    }
    .nFooter-Item.is-sponsor {
        display: flex;
        justify-content: flex-start;
        max-width: 1280px;
        margin: 0 auto;
    }
    .bFooterSns_wrap {
        display: flex;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    .voiceLst_wrap dd {
        background-color: #FAF7F5;
        padding-top: 30px;
    }
    .voiceLst_wrap .img_wrap picture {
        display: flex;
        justify-content: center;
        align-items: baseline;
    }
}
@media (max-width: 960px) {
    .headLogo_wrap {
        height: 40px;
    }
    .mvon_wrap {
        background-color: #e55c9c;
    }
    .mvon-txt {
        width: 100%;
        height: 70px;
        margin: 0 auto;
        max-width: 375px;
        display: block;
        line-height: 1;
        font-size: 0;
    }
    .mvon-txt span {
        padding: 70px 0 0 0;
        background: url(../img/sp/mvon_img01.png?2) no-repeat center;
        background-size: 100% auto;
        -ms-background-size: 100% auto;
        -moz-background-size: 100% auto;
        -webkit-background-size: 100% auto;
        display: block;
    }
    .mv_wrap::before {
        background: url(../img/sp/mv_tail01.png) no-repeat 0 0;
        width: 171px;
        height: 99px;
        bottom: -74px;
        z-index: 109;
        background-size: 100% auto;
        -ms-background-size: 100% auto;
        -moz-background-size: 100% auto;
        -webkit-background-size: 100% auto;
    }
    .mv-ttl {
        max-width: 375px;
        height: 361px;
    }
    .mv-ttl span {
        padding: 361px 0 0 0;
        background: url(../img/sp/mv_img01.png) no-repeat center center;
        background-size: 100% auto;
        -ms-background-size: 100% auto;
        -moz-background-size: 100% auto;
        -webkit-background-size: 100% auto;
    }
    .orbg_wrap {
        padding: 37px 0 25px;
    }
    .feature_wrap {
        padding: 0 15px;
        margin: 0 auto 26px;
    }
    .shopTtl_wrap {
        margin-bottom: 45px;
    }
    .shop-ttls {
        font-size: 16px;
        margin-bottom: 12px;
    }
    .feature_in {
        padding: 45px 20px 25px;
        margin-bottom: 45px;
    }
    .feature_in:before {
        top: -22px;
        width: 45px;
        height: 45px;
        margin-left: -22px;
    }
    .feature_in.is-01:before {
        background: url(../img/sp/icon_01.png) no-repeat center / 100% auto;
    }
    .feature_in.is-02:before {
        background: url(../img/sp/icon_02.png) no-repeat center / 100% auto;
    }
    .feature_in.is-03:before {
        background: url(../img/sp/icon_03.png) no-repeat center / 100% auto;
    }
    .feature-ttls {
        font-size: 20px;
        margin-bottom: 15px;
        line-height: 1.6;
    }
    .feature-ttls .is-fzl {
        font-size: 30px;
    }
    .feature-ttls .is-fzx {
        font-size: 35px;
    }
    .feature-ttls .add {
        font-size: 16px;
        line-height: 3.5;
    }
    .feature_ct {
        border-radius: 3px;
        overflow: hidden;
    }
    .feature-txt {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .feature-txt.is-ver2 {
        width: 63%;
    }
    .feature_ct.is-ver2 dd:before {
        width: 86px;
        height: 103px;
        right: 0;
    }
    .open-content {
        width: 80%;
        display: flex;
        justify-content: center;
    }
    .open-content img {
        width: 100%;
        max-height: 65vh;
        height: auto;
    }
    .open-content .close-btn img {
        width: 20px;
    }
    .close-btn {
        top: -30px;
        right: -25px;
    }
    .feature_in img {
        width: 100%;
        height: auto;
        max-width: 430px;
    }
    .feature_ct dt {
        width: 165px;
        height: 29px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 15px;
        background: #FF6400;
        position: relative;
        box-sizing: border-box;
        padding-right: 5px;
        color: #ffffff;
        font-size: 15px;
        font-weight: bold;
        margin: 0 auto;
    }
    .feature_ct dt:after {
        content: "";
        width: 16px;
        height: 16px;
        background: url(../img/sp/detailbtn_or.png) no-repeat center / 100% auto;
        position: absolute;
        top: 50%;
        right: 7px;
        transform: translateY(-50%);
        z-index: 9;
    }
    .feature_in picture {
        font-size: 0;
    }
    .feature_ct dd {
        display: none;
        padding-top: 18px;
    }
    .feature_ct dt.on:after {
        background: url(../img/sp/detailbtn-on_or.png) no-repeat center / 100% auto;
    }
    .feature-txts {
        font-size: 14px;
    }
    .reason_wrap {
        padding: 0 15px;
    }
    .reason_wrap .shop-ttl {
        margin-bottom: 25px;
        font-size: 24px;
    }
    .reasonLst_wrap {
        margin-bottom: 19px;
    }
    .reasonLst_wrap li {
        width: 31%;
        padding: 20vw 5px 5px;
        font-size: 11px;
    }
    .reasonLst_wrap li:before {
        transform: translateX(-50%);
    }
    .reasonLst_wrap li.is-01:before {
        width: 12.4vw;
        height: 14.6vw;
        margin-left: 0;
        top: 10px;
    }
    .reasonLst_wrap li.is-02:before {
        width: 14.2vw;
        height: 16.4vw;
        margin-left: 0;
        top: 10px;
    }
    .reasonLst_wrap li.is-03:before {
        width: 14.4vw;
        height: 14.9vw;
        margin-left: 0;
        top: 10px;
    }
    .reasonLst_wrap li .is-single {
        padding: 7px 0;
    }
    .reasonCl-txt {
        font-size: 4.8vw;
        margin: 5px 0;
    }
    .reasonLst_wrap .is-fzs {
        font-size: 8px;
    }
    .reasonTxtlst_wrap li {
        font-size: 11px;
        padding-left: 22px;
        margin-bottom: 8px;
        line-height: 1.45;
    }
    .voice_wrap {
        margin: 30px auto 58px;
    }
    .voice_wrap .shop-ttl,
    .flow_wrap .shop-ttl {
        font-size: 15px;
        letter-spacing: 0.05em;
        margin-bottom: 10px;
        line-height: 1.75;
    }
    .voice_wrap .shop-ttl span,
    .flow_wrap .shop-ttl span {
        letter-spacing: 0;
        font-size: 28px;
    }
    .voiceLst_wrap {
        padding: 0 15px;
    }
    .voiceLst_wrap li {
        max-width: 100%;
        width: 100%;
        margin: 0 0 22px;
    }
    .voiceLst_wrap li dt {
        padding: 8px 0;
        font-size: 17px;
    }
    .flow_lst li dt {
        font-size: 15px;
        line-height: 1.5;
        padding: 7px 0 6px;
        letter-spacing: 0.05em;
    }
    .flow_lst li dt span {
        padding-right: 15px;
    }
    .voiceLst_wrap li dd {
        display: flex;
    }
    .voiceLst_wrap li dd .img_wrap {
        width: 31.9%;
        font-size: 0;
    }
    .voiceTxt_wrap {
        padding: 2vw 8px 4px 12px;
        width: 68.2%;
    }
    .voice-txt {
        font-size: 16px;
        height: 26vw;
    }
    .flow_wrap {
        margin: 0 auto 73px;
    }
    .flowLst_wrap {
        padding: 0 15px;
    }
    .flow_lst.slick-slider {
        margin: 0;
        padding-bottom: 25px;
    }
    .flow_lst .slick-dots {
        width: 100px;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0;
    }
    .flow_lst .slick-dots li {
        width: 8px !important;
        height: 8px;
        border-radius: 50%;
    }
    .flow_lst .slick-dots li + li {
        margin-left: 15px;
    }
    .flow_lst .slick-dots li button {
        border: none;
        background-color: #B4B4B4;
    }
    .flow_lst .slick-dots li.slick-active button {
        background-color: #ff6400;
    }
    .flow_lst li dd {
        padding: 13px;
        font-size: 16px;
        height: auto;
        display: flex;
    }
    .flow_lst li dd .img_wrap {
        margin: 0 13px 0 0;
        width: 122px;
    }
    .flow_lst li dd .flow-txt {
        max-width: 184px;
        height: 105px;
        overflow-y: scroll;
    }
    .flow_lst .slick-slide {
        max-width: 345px;
        margin: 10px;
    }
    .qa_wrap {
        padding: 35px 0 45px;
    }
    .qa_wrap .shop-ttl {
        margin-bottom: 25px;
        font-size: 30px;
    }
    .faq_wrap {
        padding: 0 15px;
    }
    .faq_wrap dl {
        margin-bottom: 27px;
    }
    .faq_wrap dl dt {
        font-size: 15px;
        line-height: 1.33;
        padding: 8px 40px 8px 13px;
    }
    .faq_wrap dl dt:before {
        width: 16px;
        height: 2px;
        right: 12px;
    }
    .faq_wrap dl dt:after {
        width: 2px;
        height: 16px;
        right: 19px;
    }
    .faq_wrap dl dt span,
    .faq_wrap dl dd span {
        padding: 0 0 0 25px;
    }
    .faq_wrap dl dt span:before,
    .faq_wrap dl dd span:before {
        font-size: 16px;
    }
    .faq_wrap dl dd {
        font-size: 16px;
        line-height: 1.5;
        padding: 20px 12px 25px 12px;
    }
    .nFooter {
        margin-top: 50px;
    }
    .nFooter-List {
        margin: 0;
        padding: 0 15px;
    }
    .nFooter-Item.is-sns {
        margin: 30px auto 15px;
        padding-top: 15px;
        border-top: 1px solid #e6e6e6;
    }
    .bFooterSponsor-Image:not(:first-of-type) {
        margin: 30px 0 0;
    }
    .sLImage-main {
        width: 96px;
    }
    .sLImage-main.is-ver2 {
        width: 49px;
    }
    .sLImage-main.is-ver3 {
        width: 25px;
    }
    .sSponsorText {
        padding-left: 15px;
        font-size: 12px;
    }
    .bFooterNavList {
        flex-wrap: wrap;
    }
    .bFooterNavItem {
        font-size: 11px;
        margin-left: 0;
    }
    .bFooterNavItem:not(:first-of-type) {
        margin-left: 10px;
    }
    .bFooterNavItem:not(:last-of-type):after {
        content: '';
        position: relative;
        display: inline-block;
        width: 1px;
        height: 10px;
        background: #000;
        margin-left: 10px;
    }
    .bFooterNavCaution {
        margin-top: 20px;
    }
    .bFooterSns_wrap {
        display: flex;
        justify-content: center;
        margin-top: 30px;
        font-size: 0;
    }
    .bFooterSns_wrap li {
        margin-left: 25px;
    }
    .bFooterSns_wrap li:first-of-type {
        margin: 0;
    }
    .sLImage {
        position: relative;
        font-size: 0;
    }
    .nFooter-copyright {
        padding: 10px 20px;
    }
    .t-jp-caption {
        font-size: 11px;
    }
    .store_lst .store_img {
        max-height: 163px;
    }
    .store_lst .store-adrs {
        font-size: 14px;
        margin-top: 10px;
    }
    .store_lst .store-info {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .store-ttl {
        font-size: 19px;
    }
    .acceses-txt {
        font-size: 14px;
        margin: 5px 0 0;
    }
    .map-txt a {
        font-size: 14px;
    }
    .columnLst_wrap {
        min-height: 60px;
    } 
    .columnLst_wrap .column {
        border-radius: 2px;
        margin: 0;
    }
    .columnLst_wrap .column:nth-of-type(n+3) {
        margin-top: 6px;
    }
    .mod-text-label-02 {
        font-size: 12px;
        padding: 1px 2px 0;
        border-radius: 2px;
    }
    .img_wrap img {
        width: 100%;
        height: auto;
    }
    .simStep_box:before{
        top: -38px;
    }
    .simStep_box.n1:before {
        background: url(../img/sp/sim_step01.png) no-repeat 0 0 / 100% auto;
    }
    .simStep_box.n2:before {
        background: url(../img/sp/sim_step02.png) no-repeat 0 0 / 100% auto;
    }
    .simStep_box.n3:before {
        background: url(../img/sp/sim_step03.png) no-repeat 0 0 / 100% auto;
    }
    .slc-ttl.n1 {
        background: url(../img/sp/sim_icn01.png?2) no-repeat left center / 53px auto;
        padding: 13px 0 14px 61px;
    }
    .slc-ttl.n2 {
        background: url(../img/sp/sim_icn02.png?2) no-repeat left center / 53px auto;
        padding: 13px 0 14px 61px;
    }
    .slc-ttl.n3 {
        background: url(../img/sp/sim_icn03.png?2) no-repeat left center / 53px auto;
        padding: 13px 0 14px 61px;
    }
    .slc-ttl.n4 {
        background: url(../img/sp/sim_icn04.png?2) no-repeat left center / 53px auto;
        padding: 13px 0 14px 62px;
    }
    .slc-ttl.n5 {
        background: url(../img/sp/sim_icn05.png?2) no-repeat left center / 53px auto;
        padding: 13px 0 14px 61px;
    }
    .simulation .site-content.of-bgcolor-pink > .str-outer {
        padding: 0;
    }
    .simCnt_warp {
        padding-bottom: 0;
    }
    .simStep_ct.form-step {
        padding: 52px 0 0; 
    }
    .simStep_ct.ver2.form-step {
        padding: 38px 0 0; 
    }
    .simStep_box {
        margin: 0 0 35px;
        padding: 46px 0 36px;
    }
    .simStep_box.n2 {
        padding: 46px 0 48px;
    }
    .simStep_box.n3 {
        padding: 59px 0 52px;
    }
    .prnxbtn_wrap {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 0;
    }
    .prnxbtn_wrap.ver2 {
        justify-content: center;
    }
    .mod-form-select select{
        border-radius: 4px;
        font-size: 17px;
        padding: 8px 35px 8px 18px;
        border: 1px solid #d1ccc9;
    }
    .slc-ttl {
        font-size: 17px;
    }
    .radio-input + label .is-in {
        line-height: 1.3;
    }
    .mod-form-select .inner::before {
        right: 15px;
    }
    .btnStl a {
        height: 67px;
        border-radius: 4px;
        margin-bottom: 3px;
    }
    .radio-input + label .is-fs {
        font-size: 22px;
        padding: 0;
    }
    .radio-input + label .is-fs.ver2 {
        padding: 0;
    }
    .simStep-ttl {
        line-height: 1.6111;
    }
    .radio-input + label {
        font-size: 16px;
        border-radius: 4px;
    }
    .slc_dtl {
        padding: 0 0 30px;
        margin: 0 0 23px;
    }
    .education .site-content > .str-outer > .str-inner {
        margin: 0;
    }
    .simStep_it {
        margin: 0 15px;
    }
    .education .mod-form-select {
        font-size: 17px;
    }
    .simSmrD_select .mod-form-select:nth-child(2) {
        padding: 23px 0 0;
    }
    .mod-text-lead {
        margin-top: 23px;
    }
    .mod-text-lead.of-type2 > .text {
        font-size: 14px;
        margin-bottom: 0;
        line-height: 1.571;
    }
    .simStep-txt {
        font-size: 14px;
        line-height: 1.571;
        padding: 0 20px;
        box-sizing: border-box;
    }
    .simStep-txt.mb-10 {
        margin-bottom: 0;
    }
    .radio-input + label.is-lng .is-in {
        line-height: 1.3;
    }
    .simStep_btn {
        width: calc(50% - 10px);
    }
    .simStep_btn .mod-button-conversion > a {
        min-height: 67px;
        margin-bottom: 3px;
        font-size: 17px;
    }
    .mod-button-conversion a {
        border-radius: 4px;
    }
    .btnStl {
        width: calc(50% - 17px);
    }
    .rslt-total span {
        font-size: 45px;
        padding: 0 12px 0 16px;
    }
    .rsltCnt-txt {
        padding: 19px 0 0 0;
        line-height: 1.5;
        font-size: 12px;
    }
    .rsltCnt_warp {
        padding: 0;
    }
    .btnStl.is-ver2 {
        padding: 0;
    }
    .btnStl_box {
        width: 100%;
        padding: 0;
        margin-top: 35px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .btnStl.is-ver2 a {
        height: 67px;
    }
    .rsltCnt-ttl {
        font-size: 18px;
    }
    .rslt-ttl {
        font-size: 18px;
        line-height: 1.6111;
    }
    .rslt-total {
        font-size: 17px;
    }
    .rslt-rem {
        font-size: 15px;
        padding: 8px 0 0;
        line-height: 1.333;
    }
    .simStep-txt.t2 {
        padding: 22px 20px 0;
        box-sizing: border-box;
        font-size: 12px;
        text-align: left;
        line-height: 1.417;
    }
    .simStep-txt.t2.ta-c {
        text-align: center;
        padding: 15px 20px 0;
        font-size: 13px;
    }
    .rslt_ttl {
        margin: 0 0 10px;
    }
    #slideWrapper {
        height: 338px;
    }
    .rsltCnt_box {
        padding: 28px 0 29px;
    }
    .rsltCnt_ttl {
        padding: 0 0 19px;
    }
    .shop-ttl {
        font-size: 28px;
        line-height: 1.321;
    }
    /* 20250502 */
    .rfrnc_in {
        padding: 25px 15px 21px;
    }
    .rfrnc-ttl {
        font-size: 22px;
        line-height: 1.591;
        margin-bottom: 21px;
    }
    .rfrnc-ttl span::before {
        width: 42px;
        height: 48px;
        background: url(../img/sp/rfrnc_icon01.png) no-repeat center / 100% auto;
        top: 14px;
        right: -52px;
    }
    .rfrncBox_wrap .rfrncBox_in:not(:last-child) {
        margin-bottom: 17px;
    }
    .rfrncBox_in {
        border: 2px solid #FF771F;
        border-radius: 4px;
    }
    .rfrncBox-ttl {
        height: 45px;
        font-size: 18px;
    }
    .rfrncBox_ct .box-item {
        max-width: 100%;
        margin: 0;
        padding: 20px 20px 31px;
        box-sizing: border-box;
    }
    .rfrncBox_ct .box-cat {
        margin-bottom: 22px;
    }
    .rfrncBox_ct .box-cat .price-txt {
        font-size: 20px;
        line-height: 1.25;
        margin-bottom: 12px;
    }
    .rfrncBox_ct .box-cat .price-txt .fs-l {
        font-size: 30px;
    }
    .rfrncBox_ct .catun-txt {
        font-size: 15px;
        line-height: 1.2333;
    }
    .rfrncBox_ct .box-txt {
        font-size: 16px;
        line-height: 1.5;
    }
    .rfrncCmpr_wrap {
        display: block;
        margin: 17px 0 31px;
    }
    .rfrncCmpr_in {
        width: 100%;
    }
    .rfrncCmpr_wrap .rfrncCmpr_in:last-child {
        margin-top: 38px;
    }
    .rfrncCmpr_in .catch {
        height: 36px;
        border-radius: 4px;
        margin-bottom: 20px;
        font-size: 18px;
    }
    .rfrncCmpr-lst {
        padding: 0 2px;
    }
    .rfrncCmpr-lst li {
        border-bottom: 1px solid #DADADA;
        padding: 0 28px 10px 7px;
    }
    .rfrncCmpr-lst li:not(:last-child) {
        margin-bottom: 10px;
    }
    .rfrncCmpr-lst .lst-item {
        font-size: 16px;
        line-height: 1.34375;
    }
    .rfrncCmpr-lst .kinds {
        padding-left: 19px;
    }
    .rfrncCmpr-lst .kinds::before {
        width: 10px;
        height: 10px;
    }
    .rfrncCmpr-lst .price.is-add::before {
        font-size: 9px;
        right: -22px;
        line-height: 1.7;
    }
    .rfrncBox_ct .box-stxt li {
        font-size: 12px;
        line-height: 1.416;
    }
    .rfrncBox_ct .box-stxt li:not(:last-child) {
        margin-bottom: 7px;
    }
    .rfrncBox-ttl.ver2 {
        gap: 0 11px;
    }
    .rfrncBox-ttl .label {
        width: 81px;
        height: 27px;
        border-radius: 14px;
        font-size: 15px;
    }
    .rfrncBox_ct .box-cat.ver2 {
        margin-bottom: 15px;
    }
    .rfrncBox_ct .box-cat.ver2 .cat-txt {
        font-size: 22px;
        line-height: 1.341;
        margin-bottom: 6px;
    }
    .rfrncCmpr-lst.ver2 {
        width: 100%;
        margin: 0 0 13px 0;
        padding: 0 2px;
    }
    .rfrncCmpr-lst.ver2 li {
        padding: 0 3px 10px;
    }
    .rfrncBox_ct .box-stxt.ver2 li {
        line-height: 1.4166;
    }
    .rfrncBox_ct .box-stxt.ver2 li:not(:last-child) {
        margin-bottom: 7px;
    }
    .rfrncBox_ct .box-item.ver2 {
        padding: 15px 20px 22px;
        box-sizing: border-box;
    }
    .worry_wrap::before {
        width: 54px;
        height: 29px;
        background: url(../img/sp/worry_tail01.png) no-repeat top center / 100% auto;
        position: absolute;
        bottom: -24px;
    }
    .worry_in {
        padding: 26px 15px 20px;
        box-sizing: border-box;
    }
    .worry-ttl {
        font-size: 22px;
        line-height: 1.591;
        margin-bottom: 11px;
        letter-spacing: 0;
    }
    .worry-ttl span::before,
    .worry-ttl span::after {
        display: none;
    }
    .worry-box {
        border-radius: 4px;
        padding: 22px 17px 25px;
        margin-bottom: 16px;
    }
    .box-catch {
        margin-bottom: 15px;
        font-weight: bold;
    }
    .box-catch .on1 {
        font-size: 16px;
        line-height: 1.34375;
        margin-bottom: 5px;
    }
    .box-catch .on2 {
        font-size: 22px;
        line-height: 1.325;
        display: inline-block;
    }
    .box-catch .on2 .fs-l {
        font-size: 28px;
    }
    .box-catch .on3 {
        display: inline-block;
        margin-bottom: 4px;
    }
    .boxon-img {
        font-size: 0;
        text-align: center;
    }
    .worry-txt {
        font-size: 25px;
        line-height: 1.2;
    }
    .reco_in {
        padding: 34px 15px 150px;
        background: url(../img/sp/reco_icon01.png) no-repeat center bottom 0 / 310px auto;
    }
    .reco_txt > p {
        font-size: 18px;
        line-height: 1.341;
        margin-bottom: 15px;
        text-align: center;
    }
    .reco_txt > p .fs-l {
        font-size: 22px;
        line-height: 1.341;
    }
    .reco_txt .un-txt {
        gap: 0 9px;
        justify-content: center;
    }
    .reco_txt .un-txt .label {
        width: 107px;
        height: 47px;
        border-radius: 23px;
        font-size: 32px;
    }
    .reco_txt .un-txt .txt {
        font-size: 20px;
        line-height: 1.333;
    }
    .reco_txt .un-txt .txt .fs-l {
        font-size: 33px;
    }
    .typreco_in {
        padding: 37px 15px 23px;
    }
    .typreco-ttl {
        font-size: 22px;
        line-height: 1.591;
        margin-bottom: 22px;
    }
    .typreco-ttl .fs-l {
        font-size: 30px;
    }
    .typreco-ttl .on-dott:before {
        width: 6px;
        height: 6px;
        top: -5px;
    }
    .typreco-ttlun {
        font-size: 20px;
        line-height: 1.65;
        margin-bottom: 15px;
    }
    .typreco-ttlun span {
        padding: 0 40px;
    }
    .typreco-ttlun span::before,
    .typreco-ttlun span::after {
        width: 27px;
        height: 60px;
        bottom: 2px;
    }
    .typreco-ttlun span::before {
        background: url(../img/sp/typreco_txtdeco-l.png) no-repeat center / 100% auto;
        left: 0;
    }
    .typreco-ttlun span::after {
        background: url(../img/sp/typreco_txtdeco-r.png) no-repeat center / 100% auto;
        right: 0;
    }
    .typreco-anotxt {
        font-size: 12px;
        line-height: 1.25;
    }
    .typreco-lst {
        margin: 35px 0 31px;
    }
    .typreco-lst li:not(:last-child) {
        margin-bottom: 47px;
    }
    .typreco-lstitem {
        border-radius: 4px;
        padding: 36px 20px 20px;
    }
    .typreco-lstitem::before {
        width: 45px;
        height: 45px;
        background: url(../img/sp/typreco_01.png) no-repeat center / 100% auto;
        top: -22px;
    }
    .typreco-lstitem.ver2::before {
        background: url(../img/sp/typreco_02.png) no-repeat center / 100% auto;
    }
    .typreco-lstitem.ver3::before {
        background: url(../img/sp/typreco_03.png) no-repeat center / 100% auto;
    }
    .typreco-lstitem.ver4::before {
        background: url(../img/sp/typreco_04.png) no-repeat center / 100% auto;
    }
    .typreco-lstitem.ver5::before {
        background: url(../img/sp/typreco_05.png) no-repeat center / 100% auto;
    }
    .typreco-lstitem .ttl {
        font-size: 18px;
        line-height: 1.5555;
        margin-bottom: 17px;
    }
    .typrecotab-btnlst {
        justify-content: space-between;
        gap: 0;
    }
    .typrecotab-btnlst .tab-btn {
        width: calc(50% - 7px);
        height: 50px;
        border: 2px solid #E55C9C;
        border-radius: 4px;
        font-size: 15px;
    }
    .typrecotab_wrap .tab-content {
        margin-top: 16px;
    }
    .typrecotab_wrap .tab-content .tab-txt {
        font-size: 16px;
        line-height: 1.5;
    }
    .typreco-txt .on-txt {
        font-size: 18px;
        line-height: 1.5;
        margin-bottom: 13px;
    }
    .typreco-txt .on-txt .fs-l {
        font-size: 22px;
    }
    .typreco-txt .txt {
        font-size: 22px;
        line-height: 1.316;
        margin-bottom: 26px;
    }
    .typreco-txt .txt .fs-l {
        font-size: 30px;
        display: inline-block;
        margin-bottom: 11px;
    }
    .typreco-img img {
        width: 100%;
        height: auto;
        max-width: 285px;
    }
    .ankbtn_in {
        padding: 26px 15px 17px;
    }
    .ankano-txt {
        font-size: 11px;
        margin-top: 13px;
        line-height: 1.227;
    }
    .ankbtn_in::before {
        display: none;
    }
    .ankbtn_in .deco-txt {
        font-size: 18px;
        line-height: 1.333;
        margin-bottom: 15px;
    }
    .ankbtn_in .deco-txt span {
        padding: 0 38px;
    }
    .ankbtn_in .deco-txt span::before,
    .ankbtn_in .deco-txt span::after {
        width: 20px;
        height: 20px;
        background: url(../img/sp/btn_txtdeco01.png) no-repeat center / 100% auto;
    }
    .ankbtn_txt {
        text-align: center;
        margin-bottom: 22px;
    }
    .ankbtn-txt {
        font-size: 22px;
        line-height: 1.8181;
        margin-bottom: 0;
        padding: 0 78px 0 20px;
        box-sizing: border-box;
        display: inline-block;
        position: relative;
        text-align: left;
    }
    .ankbtn-txt::before {
        content: "";
        width: 59px;
        height: 94px;
        background: url(../img/sp/btn_img01.png) no-repeat center / 100% auto;
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        z-index: 9;
    }
    .ankbtn-txt .fs-l {
        font-size: 30px;
    }
    .ankbtn-btn {
        text-align: center;
        line-height: 1;
    }
    .ankbtn-btn a {
        display: inline-block;
        line-height: 1;
    }
    .mederit_in {
        padding: 36px 15px 22px;
    }
    .merit_wrap > .ttl {
        font-size: 28px;
        line-height: 1.3214;
        margin-bottom: 25px;
    }
    .merit-lst {
        border-radius: 4px;
        padding: 20px 20px 37px;
    }
    .merit-lst li:not(:last-child) {
        margin-bottom: 24px;
        padding-bottom: 25px;
    }
    .merit-lstitem .number {
        margin-bottom: 8px;
    }
    .merit-lstitem .catch {
        font-size: 18px;
        line-height: 1.5555;
        margin-bottom: 18px;
    }
    .merit-con {
        margin-top: 18px;
    }
    .merit-con .plan_wrap {
        margin: 0 0 12px;
        display: block;
    }
    .merit-con .plan_wrap .plan_in:not(:last-child) {
        margin-bottom: 14px;
    }
    .merit-con .plan_in {
        width: 100%;
        border-radius: 4px;
        padding: 8px 17px 7px 43px;
    }
    .merit-con .plan_in::before {
        width: 10px;
        height: 10px;
        left: 18px;
    }
    .merit-con .plan_in p {
        font-size: 16px;
        line-height: 1.375;
    }
    .merit-img {
        margin-top: 4px;
    }
    .merit-con .exp-txt {
        font-size: 16px;
        line-height: 1.5;
    }
    .merit-con .exp-txt sup {
        font-size: 0.7em;
    }
    .merit-con .ano-txt {
        font-size: 12px;
        line-height: 1.4166;
        margin-top: 12px;
    }
    .merit_wrap.demerit {
        margin-top: 50px;
    }
    .mederit_txt {
        margin-top: 22px;
    }
    .mederit-txt {
        font-size: 20px;
        line-height: 1.7347;
    }
    .mederit-txt .fs-l {
        font-size: 24px;
    }
    .mederit-box {
        margin-top: 22px;
        flex-direction: column-reverse;
        gap: 0;
    }
    .mederit-box .txt-box {
        width: 100%;
        padding: 13px 20px 14px;
        border-radius: 4px;
        font-size: 18px;
        line-height: 1.5555;
        text-align: center;
    }
    .mederit-img {
        font-size: 0;
    }
    .shopsbtn_in {
        padding: 18px 15px 23px;
    }
    .shopsbtn_in .catch {
        font-size: 19px;
        line-height: 1.3478;
        margin-bottom: 20px;
    }
    .shopsbtn_in .catch .fs-l {
        font-size: 23px;
    }
    .shopsbtn_in .catch > span {
        padding-right: 30px;
        box-sizing: border-box;
    }
    .shopsbtn_in .catch > span::after {
        width: 23px;
        height: 27px;
        background: url(../img/sp/btn_txtdeco02.png) no-repeat center / 100% auto;
        right: 0;
        margin-top: 4px;
    }
    .shopsbtn_in .bubble {
        width: 154px;
        margin: 0 auto 24px;
        border-radius: 18px;
        font-size: 19px;
        height: 37px;
    }
    .shopsbtn_in .bubble::before {
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 13px solid #ffffff;
        bottom: -12px;
    }
    .shopsbtn-box {
        flex-direction: column-reverse;
        gap: 13px;
        margin-bottom: 15px;
    }
    .shopsbtn-txt {
        font-size: 19px;
        line-height: 1.65;
        text-align: center;
    }
    .shopsbtn-txt .fs-l {
        font-size: 33px;
    }
    .shopsbtn-txt > span {
        position: relative;
        padding: 0 38px;
        box-sizing: border-box;
        display: inline-block;
    }
    .shopsbtn-txt > span::before,
    .shopsbtn-txt > span::after {
        content: "";
        width: 20px;
        height: 20px;
        background: url(../img/sp/btn_txtdeco01.png) no-repeat center / 100% auto;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 9;
    }
    .shopsbtn-txt > span::before {
        left: 0;
    }
    .shopsbtn-txt > span::after {
        right: 0;
    }
    .shopsbtn-img,
    .shopsbtn-btn,
    .shopsbtn-btn .js-srcpo.lnk {
        font-size: 0;
    }
    .shopsbtn-btn {
        text-align: center;
    }
    .shopsbtn-btn .js-srcpop.lnk {
        display: inline-block;
        cursor: pointer;
    }
    .shopsbtn-img img {
        border-radius: 4px;
        max-width: 345px;
    }
    .detail-btn {
        width: 165px;
        height: 29px;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 15px;
        background: #FF6400;
        position: relative;
        box-sizing: border-box;
        padding-right: 5px;
        color: #ffffff;
        font-size: 15px;
        font-weight: bold;
        margin: 0 auto;
    }
    .detail-btn p {
        line-height: 1;
    }
    .detail-btn::after {
        content: "";
        width: 16px;
        height: 16px;
        background: url(../img/sp/detailbtn_or.png) no-repeat center / 100% auto;
        position: absolute;
        top: 50%;
        right: 7px;
        transform: translateY(-50%);
        z-index: 9;
    }
    .detail-btn.active::after {
        background: url(../img/sp/detailbtn-on_or.png) no-repeat center / 100% auto;
    }
    .detail-btn.ver2 {
        background: #3F92E5;
    }
    .detail-btn.ver2::after {
        background: url(../img/sp/detailbtn_bl.png) no-repeat center / 100% auto;
    }
    .detail-btn.ver2.active::after {
        background: url(../img/sp/detailbtn-on_bl.png) no-repeat center / 100% auto;
    }
    .detail-box {
        margin-top: 21px;
        display: none;
    }
    .worry-ing img,
    .typreco-img img,
    .ankbtn-btn img,
    .shopsbtn-img img,
    .shopsbtn-btn img {
        width: 100%;
        height: auto;
    }
    .worry-ing img {
        max-width: 300px;
    }
    .typreco-img img {
        max-width: 285px;
    }
    .ankbtn-btn img,
    .shopsbtn-btn img {
        max-width: 345px;
    }
    .reasonCl-txt .fs-s {
        font-size: 3.2vw;
    }
    .merit-con {
        display: none;
    }
}
@media (max-width: 374px) {
    .headMain_tel {
        margin-right: 10px;
    }
    .headMain_logo a img {
        width: 120px;
    }
    .btnStl {
        width: calc(50% - 10px);
    }
    .radio-input + label .is-fs {
        font-size: 19px;
    }
}
@media (max-width: 370px) {
    .rfrnc-ttl {
        font-size: 19px;
    }
    .rfrncBox_ct .box-cat .price-txt {
        font-size: 18px;
    }
    .rfrncBox_ct .box-cat .price-txt .fs-l {
        font-size: 26px;
    }
    .rfrncCmpr-lst .lst-item {
        font-size: 14px;
    }
    .box-catch .on2 {
        font-size: 20px;
    }
    .box-catch .on2 .fs-l {
        font-size: 26px;
    }
    .reco_txt > p {
        font-size: 16px;
    }
    .reco_txt > p .fs-l {
        font-size: 20px;
    }
    .reco_txt .un-txt .txt {
        font-size: 20px;
    }
    .reco_txt .un-txt .txt .fs-l {
        font-size: 29px;
    }
    .reco_txt .un-txt .label {
        width: 100px;
        font-size: 29px;
    }
    .typreco-ttlun {
        font-size: 17px;
    }
    .ankbtn-txt {
        font-size: 19px;
    }
    .mederit-txt {
        font-size: 18px;
    }
    .mederit-txt .fs-l {
        font-size: 21px;
    }
    .mederit-box .txt-box {
        font-size: 16px;
    }
    .shopsbtn-txt .fs-l {
        font-size: 28px;
    }
    .shopsbtn-txt {
        font-size: 18px;
    }
    .shopsbtn-txt > span {
        padding: 0 30px;
    }
    .shopsbtn_in .catch {
        font-size: 17px;
    }
    .ankbtn_in .deco-txt span {
        padding: 0 30px;
    }
}
@media (max-width: 340px) {
    .headTop_wrap {
        padding: 0 10px;
    }
    .headMain_tel {
        width: 128px;
    }
    .headMain_wrap .headMain_logo a img {
        width: 160px;
    }
    .headMenu_btn li .lnk {
        font-size: 10px;
    }
    .headMenu_btn li .lnk:before {
        width: 7px;
        height: 12px;
        right: 1px;
        margin-top: -6px;
    }
    .c-btn a,
    .c-btn .js-srcpop {
        font-size: 16px;
    }
    .support_in {
        padding: 30px 10px;
    }
    .support_lst {
        padding: 20px 5px;
    }
    .support_lst li {
        letter-spacing: -0.1em;
    }
    .formLnk-txt {
        font-size: 14px;
    }
    .store_btn a:after {
        right: 10px;
    }
    .searchCon-ttl {
        font-size: 28px;
    }
    /*20221027*/
    .storeNone_btn.ver2 .c-btn.ver4 a:after {
        right: 10px;
    }
    .rfrncCmpr-lst .lst-item {
        font-size: 13px;
    }
    .box-catch .on1 {
        font-size: 14px;
    }
    .typreco-ttlun {
        font-size: 16px;
    }
    .typreco-ttl {
        font-size: 20px;
    }
    .ankbtn-txt {
        font-size: 17px;
    }
    .reason_wrap .shop-ttl {
        font-size: 22px;
    }
}
