@charset "utf-8";
/* CSS Document */

.app_lead {
    text-align: center !important;
    font-size: 18px;
    letter-spacing: 0.15em;
    font-weight: 500;
}

.marker_yellow_hoso {
    background: linear-gradient(transparent 60%, #ffff66 60%);
}

.keyimg01 {
    margin: 0 0 40px 0;
}

.keyimg02 {
    margin: 0 0 40px 0;
}

.ul_step01 {
    margin: 0 auto 30px auto;
    display: block;
    text-align: center;
    padding: 0;
    letter-spacing: 0;
    font-size: 0;
}

.ul_step01 li {
    width: 20%;
    display: inline-block;

}

.ul_step01 li.last {}

.ul_step01 li img {
    max-width: 100%;

}

.notice01 {
    margin: 0 0 30px 0;
    font-size: 16px;
}

.ul_basic01 li {
    margin: 0 0 10px 0;
}

.ul_photo01,
.ul_photo02 {
    float: left;
}

.ul_photo01 li,
.ul_photo02 li {
    margin: 0 40px 0 0;
    width: 124px;
    float: left;
    color: #666666;
    font-size: 79%;
}

.ul_photo01 li.last {
    margin: 0 70px 0 0;
}

.ul_photo01 img,
.ul_photo02 img {
    margin: 0 0 5px 0;
}

.flL {
    width: 725px;
}

#content .pageTop {
    margin: 0 0 40px 0;
}

.box_text01 {
    padding: 20px 20px 10px 20px;
    background: #f0fafc;
}

.box_text01 h4 {
    margin: 0 0 5px 0;
    color: #51babe;
    font-weight: bold;
    font-size: 150%;
}

.box_text01 .ul_basic01 {
    margin: 0 0 15px 5px;
}

.box_text01 .ul_basic01 li {
    margin: 0 0 0 0;
}

.box_text01 .ul_basic01 li small {
    margin: 5px 0 0 0;
    display: block;
    color: #666666;
}

.box_text01 div {
    margin: 0 auto 20px;
    width: 549px;
}

.box_text01 div p {
    margin: 0 0 5px 0;
    font-weight: bold;
}

.box_application01 {
    margin: 60px 0;
    text-align: center;
    display: flex;
    gap: 20px;
}

.box_application01 p {
    margin: 0 auto 15px;
    width: 550px;
    text-align: center !important;
    border-radius: 10px;
}

.box_application01 p.left {
    text-align: left !important;
}

.box_application01 p a {
    padding: 8px;
    cursor: pointer;
    font-weight: bold;
}

.box_application01 p a span {
    font-size: 150%;
    padding: 0;
}

.box_application02 {
    margin: 30px 0 50px 0;
    text-align: center;
}

.box_application02 p {
    margin: 0 auto 15px;
    width: 550px;
}

.box_application02 p a {
    padding: 18px 10px 18px 10px;
    cursor: pointer;
}

.box_application02 p a span {
    font-size: 150%;
}

.faq .h4_basic01 {
    margin: 16px 0;
    padding: 16px;
    font-size: 18px;
}

.faq p {
    padding: 0 0 0 16px;
}

.faq figure {
    margin: 20px;
}

.faq .blue {
    color: #2b52b1;
    font-size: 120%;
}

.faq .red {
    font-size: 120%;
    font-weight: bold;
    padding-right: 10px;
}

.faq ol {
    list-style: decimal;
    padding: 0 20px 10px 40px;
    font-weight: bold;
    line-height: 200%;
    color: #1a99a0;
    font-size: 18px;
}

.inline_switch {
    display: inline-block !important;
    background: none !important;
}

/* !tablet(768px)
---------------------------------------------------------- */
@media screen and (max-width: 929px) {

    .ul_photo01,
    .ul_photo02 {
        float: none;
    }

    .ul_photo01 {
        margin: 0 0 20px 0;
    }

    .flL {
        width: 515px;
    }

    .ul_step01 li img {
        max-width: 100%;
        height: 191px;
    }
}

.aArea {
    margin: 0 0 32px;
}

@media screen and (max-width: 728px) {
    .aArea {
        margin: 0 0 2em;
    }
}


/* !smt(480px)
---------------------------------------------------------- */
@media screen and (max-width: 728px) {
    .faq .h4_basic01 {
        margin: 32px 0 16px;
        font-size: 18px;
    }

    .keyimg01 {
        margin: 0 -15px 40px -15px;
    }

    .keyimg02 {
        margin: 20px 0 0;
    }

    .ul_step01 {
        margin: 0 auto;
        margin-bottom: 56px;
    }

    .ul_step01 li,
    .ul_step01 li.last {
        width: 100%;
        float: none;
    }

    .ul_step01 li img {
        max-width: 100%;
        height: auto;
    }

    .box_card01 {
        text-align: center;
    }

    .box_card01 img {
        margin: 0 0 10px 0;
        height: 68px;
    }

    .ul_photo01 li,
    .ul_photo01 li.last {
        margin: 0 0 0 0;
    }

    .ul_photo02 li {
        margin: 0 0 15px 0;
    }

    .ul_photo01 li.first,
    .ul_photo02 li.first {
        margin: 0 20px 0 0;
    }

    .ul_photo02 li.last {
        margin: 0 0 0 0;
    }

    .flL,
    .flR {
        width: 100%;
        float: none;
    }

    .box_text01 {
        padding: 20px 10px 10px 10px;
    }

    .box_text01 div {
        width: 100%;
    }

    .box_application01 {
        display: block;
        margin: 30px auto 0;
        max-width: 90%;
    }

    .box_application01 p {
        width: 100%;
        padding: 0 !important;
        margin-bottom: 10px !important;
    }

    .box_application01 p a {
        padding: 14px 10px;
        line-height: 1.7;
    }

    .box_application01 p a span {
        font-size: 129%;
    }

    .box_application01 p a span small {
        line-height: 1.3;
        display: inline-block;
    }

    .box_application02 {
        margin: 0 0 30px 0;
    }

    .box_application02 p {
        width: 100%;
    }

    .box_application02 p a span {
        font-size: 129%;
    }

    .faq ol {
        padding: 0 32px 24px;
        font-size: 16px;
    }

    .keyimg01 {
        margin: 0;
    }

    .inline_switch {
        display: none !important;
    }
}

/*〇人が検討中 ------------------------------------------------------------------------*/
#content {
    position: relative;
}

.target_msg_box {
    position: fixed;
    right: -100%;
    transform: translate(-50%, -50%);
    bottom: 2%;
    transition: all .9s ease-out;
    /*		font-size: clamp(1.5vw,3vw,18px);*/
    letter-spacing: 0.06em;
    font-feature-settings: "palt";
    padding: 10px 50px;
    background: rgba(85, 85, 85, 0.9);
    color: #fff;
    box-sizing: border-box;
}

.add {
    transform: translate(50%, -50%);
    inset: auto 0 2% auto;
    margin: auto;
    /*width: 30%;*/
    right: 50%;
}

#content .add .target_msg {
    justify-content: center;
}

.bye {
    left: 0;
    transition: all .9s ease-in-out;
}

#content .target_msg::before {
    content: "";
    position: relative;
    background-image: url("/uploads/2022/02/10/ico_application_examination02.svg");
    /*		top: 0;
    bottom: 0;
    margin: auto;*/
    background-size: 25px;
    background-repeat: no-repeat;
    /*		vertical-align: sub;*/
    width: 26px;
    height: 26px;
    padding-right: 1rem;
}

#content .target_msg {
    margin-bottom: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0;
    font-size: max(1.0vw, 16px);
    height: 100%;
    box-sizing: border-box;
}

.big_txt {
    font-weight: bold;
    font-size: max(1.2vw, 18px);
    font-family: 'Noto Sans Japanese', sans-serif, "メイリオ", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

/*	.orange_txt{
		color: #f37212;
		font-weight: bold;
		font-size: max(1.5vw,18px);
	}*/

@media screen and (max-width:768px) {
    .target_msg_box {
        padding: 10px 20px;
    }

    #content .target_msg {
        font-size: max(1.5vw, 14px);
    }
}

@media screen and (max-width:728px) {
    .target_msg_box {
        display: none;
        transition: all .0s ease-out;
        position: fixed;
        left: 0;
        right: auto;
        bottom: auto;
        top: 1vh;
        transform: unset;
        text-align: center;
        width: 100%;
        padding: 0.8rem;
        letter-spacing: 0.03em;
        height: 5vw;
    }

    /*
	.target_msg_box_fade{
		display: none;
	}
*/

    #content .target_msg::before {
        background-size: 15px;
        width: 15px;
        height: 15px;
        padding-right: 6px;
        /*padding-right: 11px;*/
    }

    #content .target_msg {
        justify-content: center;
        /*		padding: 0.3rem 0.5rem;*/
    }

    /*	.load-fade {
		opacity: 0;
		visibility: hidden;
		transition: all 1s;
		}
	
	.load-fade.is-show {
		opacity: 1;
		visibility: visible;
	}*/

    /*	.add {
	  right: 0;
	  left: 0;
	  margin: auto;
	}

	.bye {
		left: 0;
		transition: all .9s ease-in-out;
	}*/

}

@media screen and (max-width:375px) {
    #content .target_msg::before {
        background-size: 15px;
        width: 15px;
    }

    .target_msg_box {
        bottom: 10.3vh;
    }
}

@media screen and (max-width:320px) {
    .target_msg_box {
        bottom: 11vh;
    }

    #content .target_msg {
        font-size: 13px;
    }
}







/*2022年5月27日*/


/* pc */
.ttl_pc {
    padding: 38px 0 32px 125px;
    /* line-height: 1.2; */
    color: #ffffff;
    font-size: 1.3rem;
    background: url(../../apply/img/ttl_pc.png) no-repeat;
    margin: 0 0 16px;
}

.ttl_pc .fzL {
    font-size: 1.5rem;
    font-weight: bold;
}

.ttl_pc .fzS {
    font-size: 72%;
}

@media screen and (max-width: 728px) {

    /* title */
    .ttl_pc {
        padding: 10px 0 8px 50px;
        margin: 20px 0;
        font-size: 108%;
        line-height: 1.2;
        background: #82d7dc url(../../apply/img/ttl_pc_sp.png) no-repeat;
        background-size: contain;
    }

    .ttl_paper {
        padding: 10px 0 8px 55px;
        margin: 0 0 20px 0;
        font-size: 108%;
        line-height: 1.2;
        background: #82d7dc url(../../apply/img/ttl_paper_sp.png) no-repeat;
        background-size: contain;
    }
}





/* paper */
.ttl_paper {
    padding: 40px 0 40px 125px;
    line-height: 1.2;
    color: #ffffff;
    font-size: 158%;
    background: url(../../apply/img/ttl_paper.png) no-repeat;
    margin: 0 0 16px;
}

.ttl_paper .fzL {
    font-size: 127%;
    font-weight: bold;
}

.ttl_paper .fzS {
    font-size: 72%;
}

@media screen and (max-width: 728px) {
    .ttl_paper {
        padding: 10px 0 8px 55px;
        margin: 0 0 20px 0;
        font-size: 108%;
        line-height: 1.2;
        background: #82d7dc url(../../apply/img/ttl_paper_sp.png) no-repeat;
        background-size: contain;
    }

}

.box_inner01 {
    margin: 0 0 40px;
}

.box_inner01 .flex {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.box_inner01 .flex .btn_catalog01,
.box_inner01 .flex .btn_basic02 {
    width: calc(100% / 2 - 20px);
}

.box_inner01 .flex .btn_catalog01 a,
.box_inner01 .flex .btn_basic02 a {
    padding: 20px;
    text-align: center;
}

@media screen and (max-width: 728px) {
    .box_inner01 .flex {
        width: 100%;
        gap: 20px;
    }

    .box_inner01 .flex .btn_catalog01,
    .box_inner01 .flex .btn_basic02 {
        width: 100%;
        padding: 0 !important;
    }

    .box_inner01 .flex .btn_catalog01 a,
    .box_inner01 .flex .btn_basic02 a {
        text-align: center;
        padding: 10px;
        line-height: 1.2;
    }

    .btn_basic02 a span {
        padding: 0;
        text-align: center;
    }
}

.direct {
    margin-top: 40px;

}

.box_application01 .direct_txt a {
    font-weight: 500;
}

@media screen and (max-width: 480px) {
    .box_application01 p a span {
        font-size: 28px;
    }
}


/*申し込みページABテスト用------------------------------------------------------------------------*/
/* クレジットカード払いボタン_サイドボタン */
.applicationFixedArea_b .btn_application01_b a .font_yu {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
    font-weight: 400;
    font-size: 0.7rem;
}

.applicationFixedArea_b {
    position: fixed;
    right: 0;
    top: 20%;
    z-index: 9999;
    width: 60px;
}

.applicationFixedArea_b .btn_application01_b {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    box-shadow: 0 4px 0px #909090;
    font-size: 0.85rem;
    height: 210px;
    writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 0;
    cursor: pointer;
    background: #e74069;
}

.applicationFixedArea_b .btn_application01_b a {
    font-weight: 400;
    line-height: 1.3;
    font-size: 0.85rem;
    color: #ffffff;
    display: block;
    text-decoration: none;
    text-align: center;
    font-size: 0.80rem;
}

.applicationFixedArea_b .btn_application01_b a:hover {
    opacity: 0.8;
    /* font-size: 0.75rem; */
}

.applicationFixedArea_b .btn_application01_b a span {
    background: none;
    padding: 0;
    font-size: 1.1rem;
    letter-spacing: 0.02rem;
    font-weight: 700;
}

/* クレジットカード払いボタン ------------------------------------------------------------------------*/
.box_application01_b {
    margin: 60px 0;
    text-align: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.box_application01_b p {
    font-size: 18px;
    line-height: 1.6;
    text-align: justify;
    margin-bottom: 1em;
    letter-spacing: 0.02em;
}

.box_application01_b .btn_application_b {
    text-align: center !important;
    border-radius: 10px;
    width: calc(100% / 2);
}

.box_application01_b .btn_application_b a {
    color: #FFF;
    background: #e74069;
    position: relative;
    border: 1px solid #e74069;
    background-color: #e74069;
    box-shadow: 0 4px 0px #909090;
    transition: all .5s ease;
    line-height: 1.3;
    display: block;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 6px;
    font-size: 20px;
    padding: 24px 10px;
    cursor: pointer;
    font-weight: bold;
    padding: 8px;
    font-weight: 400;
}

.box_application01_b .btn_application_b a span {
    font-weight: 700;
    font-size: 30px;
}

.box_application01_b .btn_application_b a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 7%;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 13px solid #fff;
}

.box_application01_b .btn_application_b a:hover {
    color: #e74069;
    background: #FFF;
    border: 1px solid #e74069;
    opacity: 1;
}

.box_application01_b .btn_application_b a:hover::before {
    border-left: 13px solid #e74069;
}

/* 口座引き落としボタン_サイドボタン ------------------------------------------------------------------------*/
.applicationFixedArea_b .btn_catalog_b {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    font-size: 0.85rem;
    color: #333;
    box-shadow: 0 4px 0px #909090;
    background: #fffa82;
    writing-mode: vertical-rl;
    height: 210px;
}

.applicationFixedArea_b .btn_catalog_b a {
    font-weight: 400;
    line-height: 1.3;
    font-size: 0.85rem;
    color: #333;
    display: block;
    text-decoration: none;
    text-align: center;
    font-size: 0.80rem;
}

.applicationFixedArea_b .btn_catalog_b a:hover {
    opacity: 0.5;
}

.applicationFixedArea_b .btn_catalog_b a span {
    background: none;
    padding: 0;
    font-size: 1.2rem;
    letter-spacing: 0.02rem;
    font-size: 1.1rem;
    letter-spacing: 0.02rem;
    font-weight: 700;
}

/* 口座引き落としボタン ------------------------------------------------------------------------*/
.btn_catalog01_b {
    text-align: center !important;
    border-radius: 10px;
    width: calc(100% / 2);
}

.btn_catalog01_b a {
    color: #000;
    background: #fffa82;
    position: relative;
    border: 1px solid #fffa82;
    background-color: #fffa82;
    box-shadow: 0 4px 0px #909090;
    transition: all .5s ease;
    display: block;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    border-radius: 6px;
    font-size: 20px;
    padding: 24px 10px;
    cursor: pointer;
    font-weight: bold;
    text-decoration: none;
    padding: 8px;
    font-weight: 400;
}

.btn_catalog01_b a span {
    font-weight: 700;
    font-size: 30px;
}

.btn_catalog01_b a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 7%;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 13px solid #333;
}

.btn_catalog01_b a:hover {
    background: #FFF;
    border: 1px solid #fffa82;
}

@media screen and (max-width: 728px) {
    .applicationFixedAreaSp_b .btn_application01_b a .font_yu {
        font-family: "NotoSansJP", sans-serif;
        font-size: 0.7rem;
        font-weight: 400;
    }

    /* クレジットカード払いボタン_サイドボタン ------------------------------------------------------------------------*/
    .applicationFixedArea_b {
        display: none;
    }

    .applicationFixedAreaSp_b {
        display: flex;
        background: #E9E9E9;
    }

    .applicationFixedAreaSp_b .btn_application01_b,
    .applicationFixedAreaSp_b .btn_catalog02_b {
        width: calc(100% / 2);
    }

    .applicationFixedAreaSp_b .btn_application01_b a,
    .applicationFixedAreaSp_b .btn_catalog02_b a {
        display: block;
        text-decoration: none;
        padding: 4%;
        line-height: 1.3;
    }

    .applicationFixedAreaSp_b .btn_application01_b a span,
    .applicationFixedAreaSp_b .btn_catalog02_b a span {
        font-size: 20px;
        font-weight: 600;
    }

    .applicationFixedAreaSp_b .btn_application01_b {
        background: #e74069;
        margin: 8px 4px 8px 8px;
        border-radius: 3px;
    }

    .applicationFixedAreaSp_b .btn_application01_b a {
        color: #fff;
        font-size: 0.9rem;
    }

    /* クレジットカード払いボタン ------------------------------------------------------------------------*/
    .box_application01_b {
        flex-direction: column;
    }

    .box_application01_b .btn_application_b,
    .box_application01_b .btn_catalog01_b {
        margin-bottom: 0 !important;
        width: 100%;
    }

    .box_application01_b .btn_application_b a span {
        font-size: 26px;
    }

    /* 口座引き落としボタン_サイドボタン ------------------------------------------------------------------------*/
    .applicationFixedAreaSp_b .btn_catalog02_b {
        margin: 8px 8px 8px 4px;
    }

    .applicationFixedAreaSp_b .btn_catalog02_b a {
        color: #333;
        background: #fffa82;
        border-radius: 3px;
        font-size: 0.9rem;
    }

    /* 口座引き落としボタン ------------------------------------------------------------------------*/
    .btn_catalog01_b a span {
        font-size: 26px;
    }
}

/* サーバーメンテナンスのお知らせ ------------------------------------------------------------------------*/
.notice_area_appli_b {
    margin: 1% auto;
    border: solid 1px #FF388C;
    border-radius: 5px;
    color: #FF388C;
    padding: 20px;
    max-width: 930px;
}

.notice_area_appli_b .notice_area_list li {
    display: flex;
    font-size: 1rem;
    letter-spacing: 0.05em;
    justify-content: center;
    align-items: center;
}

.notice_area_appli_b .notice_area_list li a {
    color: #FF388C;
}

@media screen and (max-width: 728px) {
    .notice_area_appli_b {
        margin-bottom: 4%;
    }
}

/*キャンペーンバナーテスト 上部に移動パターン ------------------------------------------------------------------------*/
.cp-popup_wrap .overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.1s, transform 0s 0.1s;
    transform: scale(0);
    -webkit-transition: opacity 0.1s, transform 0s 0.1s;
    -moz-transition: opacity 0.1s, transform 0s 0.1s;
    -ms-transition: opacity 0.1s, transform 0s 0.1s;
    -o-transition: opacity 0.1s, transform 0s 0.1s;
}

.cp-popup_wrap input~.overlay .cp-popup_cont,
.cp-txt+.cp-popup_wrap.gf input~.overlay .cp-popup_cont {
    opacity: 0;
}

.cp-popup_wrap input:checked~.overlay .cp-popup_cont {
    width: fit-content;
    height: fit-content;
    padding: 56px 40px;
    opacity: 1;
    background: #FFFBD0;
    border: 4px solid #47B1B7;
    transform: translateY(32%);
    -webkit-transform: translateY(32%);
    -moz-transform: translateY(32%);
    -ms-transform: translateY(32%);
    -o-transform: translateY(32%);
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}


.cp-txt+.cp-popup_wrap.gf input:checked~.overlay .cp-popup_cont {
    max-width: fit-content;
    height: fit-content;
    padding: 0;
    opacity: 1;
    transform: translateY(8%);
    -webkit-transform: translateY(8%);
    -moz-transform: translateY(8%);
    -ms-transform: translateY(8%);
    -o-transform: translateY(8%);
    background: none;
    border: none;
    border-radius: inherit;
    -webkit-border-radius: inherit;
    -moz-border-radius: inherit;
    -ms-border-radius: inherit;
    -o-border-radius: inherit;
}

.cp-popup_wrap.gf img {
    width: 100%;
    max-width: 466px;
    margin: 0 auto;
}

.cp-popup input,
.cp-popup_wrap input {
    display: none;
}

.cp-btn {
    padding: 10px 46px;
    display: inline-block;
    cursor: pointer;
}

.cp-txt {
    margin: 0 0 30px;
    font-size: 18px;
    text-align: center;
}

.cp-txt .cp-btn {
    padding: 0;
    font-size: 16px;
    text-decoration: underline;
}

.box_application01_b.gf {
    margin: 40px 0 20px;
}

.cp-popup_wrap .overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: opacity 0.1s, transform 0s 0.1s;
    transform: scale(0);
    -webkit-transition: opacity 0.1s, transform 0s 0.1s;
    -moz-transition: opacity 0.1s, transform 0s 0.1s;
    -ms-transition: opacity 0.1s, transform 0s 0.1s;
    -o-transition: opacity 0.1s, transform 0s 0.1s;
}

.cp-popup_cont {
    height: 50%;
}

.popup-trigger {
    width: 100%;
    height: 100%;
    position: absolute;
}

.close_button {
    max-width: 38px;
    padding: 4px;
    color: #fff;
    font-size: 21px;
    position: absolute;
    top: -40px;
    right: 0;
    cursor: pointer;
    z-index: 2;
}

.cp-popup_wrap input:checked~.overlay {
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transition: opacity 0.1s;
    -webkit-transition: opacity 0.1s;
    -moz-transition: opacity 0.1s;
    -ms-transition: opacity 0.1s;
    -o-transition: opacity 0.1s;
}


#content .box_application01_b.gf p {
    margin: 0;
}

@media screen and (max-width: 728px) {
    .close_button {
        top: -40px;
    }

    .cp-txt {
        font-size: 14px;
    }

    .cp-popup {
        bottom: 100px;
    }

    #content .cp-popup:has(input:checked) {
        left: -100%;
    }

    .cp-popup_cont {
        width: 90%;
    }

    .cp-popup_wrap input:checked~.overlay .cp-popup_cont {
        width: clamp(300px, 94vw, 500px);
        padding: 6vw;
        transform: translateY(32%);
        -webkit-transform: translateY(32%);
        -moz-transform: translateY(32%);
        -ms-transform: translateY(32%);
        -o-transform: translateY(32%);
    }

    .cp-txt+.cp-popup_wrap.gf input:checked~.overlay .cp-popup_cont {
        transform: translateY(12%);
        -webkit-transform: translateY(12%);
        -moz-transform: translateY(12%);
        -ms-transform: translateY(12%);
        -o-transform: translateY(12%);
    }

    .cp-txt+.cp-popup_wrap.gf input:checked~.overlay .cp-popup_cont+img {
        width: clamp(300px, 85vw, 500px);
    }
}

@media screen and (max-width: 350px) {
    .cp-txt+.cp-popup_wrap.gf input:checked~.overlay .cp-popup_cont {
        width: clamp(250px, 78vw, 300px);
    }

    .close_button {
        top: -40px;
    }
}

@media screen and (max-width: 320px) {
    .cp-txt+.cp-popup_wrap.gf input:checked~.overlay .cp-popup_cont {
        transform: translateY(14%);
        -webkit-transform: translateY(14%);
        -moz-transform: translateY(14%);
        -ms-transform: translateY(14%);
        -o-transform: translateY(14%);
    }

}


/*A4DM クッションページ ------------------------------------------------------------------------*/
.app-confirm_wrap {
    margin: 8% auto 13%;
}

.dm-img picture {
    margin: 0;
}

.app-btn {
    width: 100%;
    max-width: 400px;
    margin: 6% auto 0;
    text-align: center;
}

.app-btn a {
    padding: 24px;
    font-size: 24px;
    font-weight: 500;
    display: block;
    background: #e74069;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    box-shadow: 0 4px 0 #909090;
    border: 1px solid #e74069;
    position: relative;
}

.app-btn a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
    border: 10px solid transparent;
    border-left: 13px solid #fff;
    transition: all ease .5s;
    -webkit-transition: all ease .5s;
    -moz-transition: all ease .5s;
    -ms-transition: all ease .5s;
    -o-transition: all ease .5s;
}

article#webpage .app-btn a {
    color: #fff;
    text-decoration: none;
    transition: all ease .5s;
    -webkit-transition: all ease .5s;
    -moz-transition: all ease .5s;
    -ms-transition: all ease .5s;
    -o-transition: all ease .5s;
}

article#webpage .app-btn a:hover {
    background: #fff;
    color: #e74069;
    box-shadow: 0 0 0 #909090;
    transform: translateY(4px);
    -webkit-transform: translateY(4px);
    -moz-transform: translateY(4px);
    -ms-transform: translateY(4px);
    -o-transform: translateY(4px);
}

article#webpage .app-btn a:hover::after {
    border-left: 13px solid #e74069;
}

@media screen and (max-width: 728px) {
    .app-confirm_wrap {
        margin: 8% auto 16%;
    }

    .app-btn {
        margin: 8% auto 0;
    }

    .app-btn a {
        padding: 0.8em;
        font-size: clamp(20px, 6.2vw, 24px);
    }
}

/*乗り換えメール クッションページ ------------------------------------------------------------------------*/

#content .app-transfer_wrap {
    padding-block: 4em 2em;
}

#content .app-transfer_wrap .lead-txt {
    font-size: 1.2rem;
    text-align: center;
    font-weight: bold;
}

.app-transfer_wrap ul li {
    margin-bottom: 10px;
}

@media screen and (max-width: 728px) {
    #content .app-transfer_wrap {
        padding-block: 2em;
    }

    #content .app-transfer_wrap .lead-txt {
        font-size: clamp(19px, 5.9vw, 20px);
    }

    .app-transfer_wrap ul {
        padding-bottom: 4px;
    }
}

/*テスト ------------------------------------------------------------------------*/
.cp-popup_wrap input+.overlay .cp-popup_cont img {
    opacity: 0;
    display: none;
}

.cp-popup_wrap input:checked+.overlay .cp-popup_cont img {
    opacity: 1;
    display: block;
}

/*2024/08/08 申込みページ画像復活 ------------------------------------------------------------------------*/
.normal_cp {
    max-width: 800px;
    margin: 20px auto 24px;
}

.normal_cp img {
    width: 100%;
}

.dm_img {
    margin: 24px auto 0;
}

@media screen and (max-width: 728px) {
    #app_hide {
        display: none;
    }

    #app_hd {
        padding: 0 15px 8px;
    }

    #app_hd #hd_cv_sp {
        display: none !important;
    }

    #app_hd .nav-header__hamburger {
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    }

    .normal_cp {
        margin: 20px auto;
    }

}

@media screen and (max-width: 600px) {
    #app_hd .nav-header__hamburger {
        top: -70%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    }
}

/*申込みページ画像 コストコ追加 ------------------------------------------------------------------------*/
.costco_cp_img {
    margin: 20px 0 4px;
}

#content .costco_txt {
    margin-bottom: 1.5em;
    text-align: center;
    line-height: 1.5;
}

@media screen and (max-width: 728px) {
    #content .costco_txt {
        text-align: left;
    }
}

/*コストコ キャンペーン概要 ------------------------------------------------------------------------*/
.notice_area {
    picture {
        margin: 0 0 20px;

        img {
            width: 100%;
            height: auto;
        }
    }

    .gray {
        margin-block-end: 30px;
        padding-block: 15px;
        padding-inline: 15px;
        background: rgb(249 249 249 / 1);
    }

    h3 {
        margin-block: 10px 20px;
        color: rgb(255 56 140 / 1);
        font-size: 1.3rem;
        font-weight: 700;
        line-height: 1.3;

        &::before {
            content: "";
            display: inline-block;
            width: 16px;
            height: 16px;
            margin-inline: 0 4px;
            background: rgb(255 56 140 / 1);
        }
    }

    h4 {
        font-size: 1.1rem;
        font-weight: bold;
    }

    .costco_att {
        display: inline-block;
        font-weight: bold;
        text-decoration: underline;
    }
}



/*不担保特約リンク追加 ------------------------------------------------------------------------*/
.faq_contract {
    display: block;
}