@charset "utf-8";
/* 共通設定
========================================================================== */
html {
    font-size: 62.5%;
    /* 10px */
}
*,
*::before,
*::after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
body {
    min-width: inherit;
    color: #3F332B;
    font-size: 1.6rem;
    line-height: 1.6;
    font-family:  "Noto Sans JP", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    height: 100vh;
}
a {
    color: #3F332B;
    text-decoration: none;
}
img {
    max-width: 100%;
    vertical-align: bottom;
}
ul, ol {
    list-style: none;
}
h2 {
    text-align: center;
}
.container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 0 calc(10 * 100vw / 750) rgba(0, 0, 0, .16);
    background-color: #ffffff;
}

@media screen and (min-width: 751px) {
.container {
    width: min(calc(1200 * 100vw / 1200), 1200px);
    box-shadow: 0 0 min(calc(10 * 100vw / 1200), 10px) rgba(0, 0, 0, .16);
}
}

/* SP・PC 表示切替え
---------------------------------------------------------- */
@media screen and (min-width: 751px) {
.is-pc {
    display: block;
}
.is-sp {
    display: none;
}
}
@media screen and (max-width: 750px) {
.is-pc {
    display: none;
}
.is-sp {
    display: block;
}
}

/* タグ
---------------------------------------------------------- */
#tag {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* トップに戻るボタン
---------------------------------------------------------- */
/* PC */
/* .btn_top {
    position: fixed;
    right: 2%;
    bottom: 8%;
    z-index: 1000;
    width: 50px;
    height: 50px;
}
.btn_top a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
.btn_top a:hover {
    opacity: .7;
}
} */
/* SP */
/* @media screen and (min-width: 751px) {
.btn_top {
    bottom: 4%;
}
} */


/* top
========================================================================== */
.top {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
}
.logo_text {
    font-size: calc(18 * 100vw / 750);
    margin-bottom: calc(4 * 100vw / 750);
    color: #fff;
}
.top_logo {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0.5%;
    left: 2%;
    line-height: 1.6;
}
.header_logo-link {
    width: calc(310 * 100vw / 750);
    min-width: 140px;
    line-height: 1;
}
.header_logo-images {
    width: 100%;
}

@media screen and (min-width: 751px) {
.top {
    position: relative;
}
.top_logo {
    top: 2%;
    line-height: 2;
}
.logo_text {
    font-size: min(calc(12 * 100vw / 1200), 12px);
    margin-bottom: 0;
}
.header_logo-link {
    width: min(calc(300 * 100vw / 1200), 300px);
}
}

/* entrance
========================================================================== */
.entrance {
    position: relative;
    text-align: center;
    margin: 0 calc(40 * 100vw / 750);
    padding: calc(80 * 100vw / 750) 0 calc(50 * 100vw / 750);
}
.entrance_header {
    font-size: calc(40 * 100vw / 750);
    font-weight: bold;
    color: #EE0000;
}
.entrance_text {
    font-size: calc(26 * 100vw / 750);
    font-weight: bold;
    letter-spacing: .05em;
    text-align: center;
    margin: calc(55 * 100vw / 750) 0 calc(50 * 100vw / 750);;
}
.entrance_text rt {
    letter-spacing: -1.3em;
    margin-left: 4px;
}
.entrance_text.-last {
    margin: 0 0 calc(60 * 100vw / 750);
}
.entrance_text span {
    font-size: calc(47 * 100vw / 750);
    color: #E72207;
    font-family: korolev,sans-serif;
}
.entrance_data {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: calc(31 * 100vw / 750);
    font-weight: bold;
    margin-bottom: calc(48 * 100vw / 750);
}
.entrance_data dt {
    color: #FFF ;
    padding: calc(4 * 100vw / 750) calc(30 * 100vw / 750) ;
    /* background: linear-gradient(to left, #E072FF, #8D8BF6); */
    background: #50CB6A;
    letter-spacing: .05em ;
    margin-bottom: calc(20 * 100vw / 750)
}
.entrance_data dd {
    line-height: 1.4;
}
/* キャンペーン終了時にはコメントアウト解除尾 */
/* .line-through {
    text-decoration: line-through;
    display: block;
} */
.endtext {
    color: #E72207;
    display: none; /* 終了告知を表示する場合はコメントアウト */
}

@media screen and (min-width: 751px) {
.entrance {
    padding: min(calc(70 * 100vw / 1200), 70px) 0 min(calc(50 * 100vw / 1200), 50px) ;
    margin: auto;
}
.entrance_header {
    font-size: min(calc(30 * 100vw / 1200), 30px);
}
.entrance_text {
    font-size: min(calc(20 * 100vw / 1200), 20px);
    margin: min(calc(60 * 100vw / 1200), 60px) 0 min(calc(40 * 100vw / 1200), 40px);
}
.entrance_text.-last {
    margin: 0 0 min(calc(60 * 100vw / 1200), 60px);
}
.entrance_text span {
    font-size: min(calc(36 * 100vw / 1200), 36px);
}
.entrance_data {
    width: min(calc(740 * 100vw / 1200), 740px);
    flex-direction: row;
    font-size: min(calc(27 * 100vw / 1200), 27px);
    justify-content: flex-start;
    margin: 0 auto min(calc(30 * 100vw / 1200), 30px);
}
.entrance_data dt {
    margin-right: min(calc(25 * 100vw / 1200), 25px);
    margin-bottom: 0;
    padding: min(calc(8 * 100vw / 1200), 8px) min(calc(34 * 100vw / 1200), 34px);
}
.entrance_data dd {
    text-align: justify;
}
}


/* gold & silver
========================================================================== */

.gold {
    padding: calc(80 * 100vw / 750) calc(34 * 100vw / 750) calc(62 * 100vw / 750);
}
.silver {
    padding: calc(80 * 100vw / 750) calc(34 * 100vw / 750) 0;
}
.gold,
.silver {
    background: #FDC226;
}
/* .silver {
    background: #E8E9F1;
} */
.gold_title {
    font-size: calc(70 * 100vw / 750);
    font-weight: bold;
    margin-bottom: calc(100 * 100vw / 750);
    letter-spacing:calc(30 * 100vw / 750);
    text-indent: calc(30 * 100vw / 750);
}
.gold_header {
    position: absolute;
    top: calc(-47 * 100vw / 750);
    left: 50%;
    transform: translate(-50%, 0);
    width: 100%;
    max-width: calc(488 * 100vw / 750);
}
.silver_header {
    position: absolute;
    top: calc(-100 * 100vw / 750);
    left: calc(-30 * 100vw / 750);
    /* transform: translate(-50%, 0); */
    width: 100%;
    max-width: calc(140 * 100vw / 750);
}
.gold_header img,
.silver_header img {
    width: 100%;
    height: auto;
}
.gold_inner,
.silver_inner {
    position: relative;
    border-radius: calc(50 * 100vw / 750);
    background: #FFF;
    padding: calc(84 * 100vw / 750) calc(20 * 100vw / 750) calc(70 * 100vw / 750);
    border: 4px solid #905F1F;
}
.silver_inner  {
    padding: calc(64 * 100vw / 750) calc(20 * 100vw / 750) calc(70 * 100vw / 750);
}
/* .silver_inner {
    border: 4px solid #A9B6CA;
} */
.gold_inner > dl:last-child,
.silver_inner > dl:last-child {
    padding-bottom: 0;
}
.gold_inner > dl:last-child::after,
.silver_inner > dl:last-child::after {
    content: none;
}
.gold_box,
.silver_box {
    padding-bottom: calc(80 * 100vw / 750);
}
.gold_box::after,
.silver_box::after {
    content: "";
    width: calc(610 * 100vw / 750);
    height: calc(11 * 100vw / 750);
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/img_line_s.webp);
    background-size: contain;
    position: relative;
    left: calc(10 * 100vw / 750);
    bottom: calc(-46 * 100vw / 750);
}
.gold_pic,
.silver_pic {
    margin-bottom: calc(20 * 100vw / 750);
}
.gold_pic figcaption {
    text-align: left;
    font-size: calc(22 * 100vw / 750);
}
.gold_box dd,
.silver_box dd {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.gold_box dd p,
.silver_box dd p {
    font-size: calc(26 * 100vw / 750);
    line-height: 1.5;
    text-align: justify;
}
.gold_box dt,
.silver_box dt {
    position: relative;
}
.silver_box dt {
    font-size: calc(35 * 100vw / 750);
    font-weight: 600;
}
.silver_box dt span {
    color: #EE0000;
}
/* dd.-gold_4 {
    margin-top: calc(26 * 100vw / 750);
} */
dd.-gold_2,
dd.-gold_3,
dd.-gold_4,
dd.-gold_5 {
    margin-top: calc(20 * 100vw / 750);
}
dd.-silver_a,
dd.-silver_c {
    margin-top: calc(26 * 100vw / 750);
}
dd.-silver_b {
    margin-top: calc(-46 * 100vw / 750);
}
.silver_box dd p span {
    display: block;
    font-size: calc(22 * 100vw / 750);
    line-height: 1.5;
}
.silver_box dd p > span:first-child {
    margin-top: calc(30 * 100vw / 750);
}
@media screen and (min-width: 751px) {
    .gold {
        padding: min(calc(120 * 100vw / 1200), 120px);
    }
    .silver {
        padding: 0 min(calc(120 * 100vw / 1200), 120px);
    }
    .gold_title {
        font-size: min(calc(62 * 100vw / 1200), 62px);
        margin-bottom: min(calc(90 * 100vw / 1200), 90px);
        letter-spacing: min(calc(36 * 100vw / 1200), 36px);
        text-indent: min(calc(36 * 100vw / 1200), 36px);
    }
    .gold_header {
        max-width: min(calc(567 * 100vw / 1200), 567px);
        top: max(calc(-50 * 100vw / 1200), -50px);
    }
     .silver_header {
        max-width: min(calc(154 * 100vw / 1200), 154px);
        top: max(calc(-70 * 100vw / 1200), -70px);
        left: max(calc(-65 * 100vw / 1200), -65px);
    }
    .gold_inner,
    .silver_inner {
        border-radius: min(calc(50 * 100vw / 1200), 50px);
         padding: min(calc(90 * 100vw / 1200), 90px) min(calc(36 * 100vw / 1200), 36px) min(calc(70 * 100vw / 1200), 70px);
    }
    .silver_inner {
         padding: min(calc(60 * 100vw / 1200), 60px) min(calc(36 * 100vw / 1200), 36px) min(calc(70 * 100vw / 1200), 70px);
    }
    .gold_box,
    .silver_box {
        padding-bottom: min(calc(70 * 100vw / 1200), 70px);
    }
    .gold_box::after,
    .silver_box::after {
        width: min(calc(760 * 100vw / 1200), 760px);
        height: min(calc(10 * 100vw / 1200), 10px);
        background-image: url(../images/img_line.webp);
        left: min(calc(50 * 100vw / 1200), 50px);
        bottom: min(calc(-30 * 100vw / 1200), -30px);
    }
    .gold_pic,
    .silver_pic {
        width: 100%;
        max-width: min(calc(367 * 100vw / 1200), 367px);
        margin-bottom: 0;
    }
    .gold_pic picture,
    .gold_pic picture img,
    .silver_pic picture,
    .silver_pic picture img
     {
        display: block;
    }
    .gold_pic figcaption {
        text-align: left;
        font-size:min(calc(12 * 100vw / 1200), 12px);
        margin-top: min(calc(8 * 100vw / 1200), 8px);
    }
    .gold_box dd,
    .silver_box dd {
        align-items: start;
    }
    .gold_box dd,
    .silver_box dd {
        width: min(calc(810 * 100vw / 1200), 810px);
        flex-direction: row;
        gap: min(calc(40 * 100vw / 1200), 40px);
    }
    .gold_box dd p,
    .silver_box dd p {
        width: min(calc(403 * 100vw / 1200), 403px);
        font-size: min(calc(16 * 100vw / 1200), 16px);
        margin-bottom: min(calc(20 * 100vw / 1200), 20px);
        line-height: 2.4em;
    }
    .silver_box dd p {
        margin-bottom: 0;
    }
    .silver_box dt {
        font-size: min(calc(35 * 100vw / 1200), 35px);
        margin: 0 0 min(calc(40 * 100vw / 1200), 40px) min(calc(60 * 100vw / 1200), 60px);
    }
    dd.-silver_a {
        margin-top: min(calc(-10 * 100vw / 1200), -10px);
    }
    dd.-silver_b {
        margin-top: min(calc(-60 * 100vw / 1200), -60px);
    }
    dd.-gold_0,
    dd.-gold_1,
    dd.-gold_2,
    dd.-gold_3,
    dd.-silver_c {
        margin-top: min(calc(20 * 100vw / 1200), 20px);
    }
 
    .silver_box dd p.-full {
        width: 100%;
        padding-left: min(calc(40 * 100vw / 1200), 40px);
    }
    .silver_box dd p span {
        /* display: block; */
        font-size: min(calc(12 * 100vw / 1200), 12px);
        line-height: 2em;
    }
    .silver_box dd p > span:first-child {
        margin-top: min(calc(30 * 100vw / 1200), 30px);
    }
}

/* apply
========================================================================== */
.apply_inner,
.caution_inner {
    background: #FDC226;
}
.apply_inner {
    padding: calc(110 * 100vw / 750) calc(32 * 100vw / 750) calc(50 * 100vw / 750);
}
.apply_title {
    font-size: calc(64 * 100vw / 750);
    font-weight: bold;
    line-height: 1;
}
.apply_text {
    text-align: center;
    font-size: calc(32 * 100vw / 750);
    margin: calc(70 * 100vw / 750) 0;
}
.apply_flow {
    position:relative;
    z-index: 2;
}
.apply_entry {
    position: relative;
    background: #FFF;
    margin: calc(-10 * 100vw / 750) 0 calc(84 * 100vw / 750);
    padding: calc(80 * 100vw / 750) calc(30 * 100vw / 750) calc(50 * 100vw / 750) ;
}
.apply_entry::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: calc(30 * 100vw / 750);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    background-color: #FDC226;
}
.apply_entry dt {
    text-align: center;
    font-weight: bold;
    font-size: calc(33 * 100vw / 750);
    margin-bottom: calc(30 * 100vw / 750);
}
.apply_entry dd {
    font-size: calc(23 * 100vw / 750);
}
.caution_inner {
    padding: calc(50 * 100vw / 750) calc(32 * 100vw / 750) calc(110 * 100vw / 750);
}
.precautions {
    margin-top: calc(30 * 100vw / 750);
}
.precautions .box_iframe iframe {
    width: 100%;
    height: calc(550 * 100vw / 750);
    background: #FFF;
    padding-left: calc(30 * 100vw / 750);
}


@media screen and (min-width: 751px) {
    .apply_inner {
        padding: min(calc(100 * 100vw / 1200), 100px) min(calc(120 * 100vw / 1200), 120px) 0;
    }
    .apply_title {
        font-size: min(calc(56 * 100vw / 1200), 56px);
        color: #FFF;
        /* font-weight: bold;
        line-height: 1; */
    }
    .apply_text {
        /* text-align: center; */
        font-size: min(calc(28 * 100vw / 1200), 28px);
        margin: min(calc(50 * 100vw / 1200), 50px) 0;
        color: #FFF;
    }
    .apply_flow {
        position: relative;
        margin-bottom: min(calc(60 * 100vw / 1200), 60px);
    }
     .apply_flow::after {
        position: absolute;
        bottom: max(calc(-46 * 100vw / 1200), -46px);
        left: 50%;
        transform: translate(-50%, 0);
        content: "";
        width: min(calc(150 * 100vw / 1200), 150px);
        height: min(calc(30 * 100vw / 1200), 30px);
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        background-color: #FFF;
    }
    .apply_entry {
        /* background: #FFF; */
        margin:0 0 min(calc(90 * 100vw / 1200), 90px);
        padding: min(calc(30 * 100vw / 1200), 30px) min(calc(60 * 100vw / 1200), 60px) ;
    }
    .apply_entry::before {
        content: none;
    }
    .apply_entry dt {
        /* text-align: center;
        font-weight: bold; */
        font-size: min(calc(30 * 100vw / 1200), 30px);
        margin-bottom: min(calc(16 * 100vw / 1200), 16px);
    }
    .apply_entry dd {
        font-size: min(calc(16 * 100vw / 1200), 16px);
    }
    .apply_entry dd .caution {
        font-size: min(calc(14 * 100vw / 1200), 14px);
        margin-top: min(calc(5 * 100vw / 1200), 5px);
    }
    .caution_inner {
        padding: min(calc(90 * 100vw / 1200), 90px) min(calc(120 * 100vw / 1200), 120px) min(calc(150 * 100vw / 1200), 150px);
    }
    .precautions {
        margin-top: min(calc(54 * 100vw / 1200), 54px);
    }
    .precautions .box_iframe iframe {
        /* width: 100%; */
        height: min(calc(550* 100vw / 1000), 550px);
        /* background: #FFF; */
        padding-left: min(calc(20 * 100vw / 1200), 20px);
    }

}














/* service
========================================================================== */
.service {
    font-weight: bold;
}
/* .messeage {
    background: #F0F0F0;
} */
.step_item::before {
    border-top: calc(30* 100vw / 750) solid #FFB932;
}
.service_item-arrow {
    background: #FFB932;
}
.step_item-thumb.-step1::after {
    background: url("../images/img_step01.png");
    background-size: contain;
}
.step_item-thumb.-step2::after {
    background: url("../images/img_step02.png");
    background-size: contain;
}
.step_item-thumb.-step3::after {
    background: url("../images/img_step03.png");
    background-size: contain;
}
.service_item-ico{
    background: url("../images/img_atena-cam.png");
    background-size: contain;
}
@media screen and (min-width: 751px) {
.step_item::before {
    border-top: min(calc(20* 100vw / 1200), 20px) solid transparent;
    border-left: min(calc(25* 100vw / 1200), 25px) solid #FFB932;
}
}

/* appeal
========================================================================== */

/* design_feature
========================================================================== */
.feature_bottom-btn a {
    background-color: #EE0000;
}
.feature_btn-arrow::after {
    border-left: calc(16* 100vw / 750) solid #EE0000;
}
@media screen and (min-width: 751px) {
.feature_btn-arrow::after {
    border-left: min(calc(12 * 100vw / 1200), 12px) solid #EE0000;
}
}

/* footer
========================================================================== */
.footer {
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    height: calc(260*100vw/750);
}
/* .footer::after {
    content: "";
    background: url("../images/bg_footer_s.webp") no-repeat center center / cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
} */
.footer_inner {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 100%;
    z-index: 10;
}
@media screen and (min-width: 751px) {
.footer_inner {
    transform: translate(-50%);
}
}

/* bottom
-------------------------------------------------------------------------- */
.bottom {
    padding: calc(20 * 100vw / 750) 0;
    font-size: calc(24 * 100vw / 750);
    letter-spacing: .02em;
    background: #FFB932;
    color: #fff;
}
.bottom a {
    color: #fff;
}
/* bread */
.bread_list {
    display: flex;
    justify-content: center;
    margin-bottom: calc(8 * 100vw / 750);
}
.bread_item:not(:last-child)::after {
    padding: 0 calc(8 * 100vw / 750);
    content: "＞";
}
/* copy */
.copyright {
    text-align: center;
}
.copyright_link {
    text-decoration: underline;
}
.copyright_link:hover {
    text-decoration: none;
}

@media screen and (min-width: 751px) {
.footer {
    height: min(calc(300 * 100vw / 1200), 300px);
}
/* .footer::after {
    background: url("../images/bg_footer.webp") no-repeat center center / cover;
} */

/* bottom
-------------------------------------------------------------------------- */
.bottom {
    padding: min(calc(14 * 100vw / 1200), 14px) 0;
    font-size: min(calc(12 * 100vw / 1200), 12px);
    letter-spacing: .04em;
}
/* bread */
.bread_list {
    margin-bottom: min(calc(4 * 100vw / 1200), 4px);
}
.bread_item:not(:last-child)::after {
    padding: 0 min(calc(8 * 100vw / 1200), 8px);
}
.bread_item a:hover {
    text-decoration: underline;
}

}



/* LP共通のcssを使用しているけどこのページだけ違う仕様（打ち消し設定） */
.messeage {
    background: #FFF;
}