@charset "UTF-8";

/******************************************************************************
*
* [共通]追従
*
******************************************************************************/

footer {
    padding-bottom: 150px;
}

#fb {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    padding: 8px 0 5px;
}

#fb .wrap {
    width: 94%;
    max-width: 750px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#fb .limit {
    width: 350px;
}

#fb .btn_area {
    width: 75%;
    width: -webkit-calc(100% - 350px);
    width: calc(100% - 350px);
}

/*期限*/

#fb .limit {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
}

#fb .limit h2 {
    color: #333;
    border: solid 1px #333;
    padding: 0 6px 1px;
    background: #fff;
}

#fb .limit time {
    font-size: 20px;
    color: #ad6375;
    margin: 0 2px 0 7px;
    font-weight: 900;
}

#fb .limit aside {
    font-size: 20px;
}

/*注意書き*/

#fb ul.attention {
    margin-top: 0;
}

#fb ul.attention li {
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
    text-indent: -1em;
    padding-left: 1em;
    color: #999;
}

/*750px以下*/

@media only screen and (max-width: 750px) {
    #fb {
        padding: 5px 0;
    }

    #fb .wrap {
        display: block;
    }

    #fb .limit {
        width: 100%;
        justify-content: center;
    }

    #fb .btn_area {
        width: 100%;
        width: -webkit-calc(100%);
        width: calc(100%);
    }

    #fb ul.attention {
        margin-top: 0;
    }

    #fb ul.attention li {
        font-size: 9px;
    }

    /*期限*/

    #fb .limit {
        font-size: 11px;
        margin-bottom: 2px;
    }

    #fb .limit h2 {
        padding: 0 6px 1px;
    }

    #fb .limit time {
        font-size: 16px;
        margin: 0 2px 0 7px;
    }

    #fb .limit aside {
        font-size: 16px;
    }

}

/******************************************************************************
*
* [共通]メインヘッダー
*
******************************************************************************/

.main_fv {
    width: 100%;
    height: auto;
    position: relative;
}

.main_fv::before {
    content: "";
    display: block;
    padding-top: 820px;
}

.main_fv .inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images4/main/fv.jpg);
    background-size: cover;
    background-position: center;
}

/*R2事業再構築*/

.main_fv .r2 {
    font-size: 12px;
    width: 100px;
    border: solid 1px #999;
    text-align: center;
    position: absolute;
    top: 15px;
    right: 15px;
    color: #999;
}


/******************************************************************************
*
* [共通]サブヘッダー
*
******************************************************************************/

.sub_fv {
    background: #5e0120;
    padding: 50px 0;
    position: relative;
}

.sub_fv::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 20px 25px 20px;
    border-color: transparent transparent #5e0120 transparent;
    position: absolute;
    top: -24px;
    left: 0;
    right: 0;
    margin: auto;
}

/*---------------------
* 特典
---------------------*/

.sub_fv .min {
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
    border-radius: 15px;
}

/*特典*/

.sub_fv .gift_box .lead {
    width: 50%;
    margin: 0 auto 30px;
}

.sub_fv .gift_box .gifts {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

.sub_fv .gift_box .gifts > div {
    width: 49%;
    box-sizing: border-box;
}

/*---------------------
* ボタン
---------------------*/

/*期限*/

.cta_btn .limit {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
}

.cta_btn .limit h2 {
    color: #333;
    border: solid 1px #333;
    padding: 0 6px 2px;
    background: #fff;
}

.cta_btn .limit time {
    font-size: 22px;
    color: #ad6375;
    margin: 0 2px 0 7px;
    font-weight: 900;
}

.cta_btn .limit aside {
    font-size: 22px;
}

/*ボタン*/

.cta_btn .btn {
    width: 75%;
    margin: -5px auto -12px;
}

/*注意書き*/

.cta_btn ul.attention li {
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    text-indent: -1em;
    padding-left: 1em;
    color: #999;
}

/*---------------------
* 流れ
---------------------*/

#flow {
    background: #fff;
    background-image: url(../images/mistake/bg.jpg);
    background-size: 40px;
}

#flow .lead {
    width: 50%;
    margin: 0 auto 50px;
}

/*---------------------
* CTA用調整
---------------------*/

.sub_fv.cta {
    background-image: url(../images/fv/bg.jpg);
    position: relative;
    z-index: 10;
}

.sub_fv.cta::before {
    display: none;
}

.sub_fv.cta {
    padding: 60px 0;
}

.sub_fv.cta .gift_box {
    width: 85%;
    margin: auto;
}

.sub_fv.cta .min {
    width: 85%;
    margin: auto;
    margin-top: 50px;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.1));
    transform: translateZ(0);
    position: relative;
}

.sub_fv.cta .min::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 20px 30px 20px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
}

.sub_fv.cta .min .lead {
    width: 50%;
    margin: 0 auto 30px;
}

/******************************************************************************
*
* [共通]プロフィール
*
******************************************************************************/

#prof {
    background-image: url(../images/prof/bg.jpg);
    background-size: cover;
    background-position: center top;
}

#prof .ava {
    width: 90%;
    margin: 0 auto -3%;
}

/*補足*/

#prof aside.media {
    background: #000;
    padding: 20px;
    margin-top: 20px;
}

#prof aside.media h2 {
    text-align: center;
    margin-bottom: 15px;
}

#prof aside.media h2 span {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    background: linear-gradient(90deg, rgba(173, 99, 117, 1) 0%, rgba(255, 71, 102, 1) 100%);
    color: #fff;
    padding: 6px 15px;
    border-radius: 50px;
}

#prof aside.media p {
    font-size: 13px;
    color: #fff;
}


/******************************************************************************
*
* [下層]声リスト
*
******************************************************************************/

#v_list {
    background-color: #fff;
    background-image: url(../images/voice/bg1.jpg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100%;
}

#v_list .wrap {
    width: 94%;
    max-width: 750px;
}

#v_list .lead {
    width: 75%;
    margin: 0 auto 40px;
}

#v_list .box {
    background: #fff;
    padding: 30px 50px 50px;
    border-radius: 15px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
    margin-bottom: 80px;
    position: relative;
}

#v_list .box:last-child {
    margin-bottom: 0;
}

/*動画*/

#v_list .box .mov .thum {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

#v_list .box .mov .start {
    width: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    cursor: pointer;
}

#v_list .box .mov .thum.none,
#v_list .box .mov .start.none {
    display: none;
}


/*番号*/

#v_list .box .num {
    width: 115px;
    position: absolute;
    top: -20px;
    left: -20px;
    filter: drop-shadow(4px 4px 8px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
}

/*名前*/

#v_list .box .name {
    text-align: center;
    font-size: 32px;
    margin-bottom: 30px;
    color: #4b2433;
    font-weight: bold;
}

#v_list .box .name span {
    font-size: 55%;
    margin-left: 5px;
    opacity: 0.7;
}

#under2 #v_list .box .name {
    color: #243949;
}

#under3 #v_list .box .name {
    color: #473724;
}


/*段落*/

#v_list .box p {
    color: #333;
    margin-top: 30px;
    background-color: #fff;
    background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), linear-gradient(180deg, #ccc 1px, transparent 1px);
    background-size: 8px 100%, 100% 2.5em;
    line-height: 2.5em;
    padding-bottom: 1px;
}


/******************************************************************************
*
* [共通]医師の推薦
*
******************************************************************************/

#clinic {
    background-color: #dee4eb;
    padding-top: 30px;
}

#clinic h2 {
    width: 90%;
    margin: auto;
}

#clinic .txt {
    background: #7592b4;
    padding: 60px;
    margin-bottom: 70px;
}

#clinic .txt p {
    color: #fff;
}

#clinic .m2,
#clinic .m3 {
    margin-top: 70px;
}

#clinic h3 {
    width: 90%;
    max-width: 320px;
    margin: 0 auto 30px;
}

/*リスト*/

#clinic .list {
    display: flex;
    flex-wrap: wrap;
}

#clinic .list dl {
    width: 24%;
    background: #fff;
    margin-right: 1.3%;
    border: solid 1px #fff
}

#clinic .list dl:nth-child(4n),
#clinic .list dl:last-child {
    margin-right: 0;
}

#clinic .list dl:nth-child(n+5) {
    margin-top: 20px;
}

#clinic .list dl dd {
    background: #fff;
    padding: 20px;
}

#clinic .list dl dd .job {
    font-size: 12px;
    color: #999;
}

#clinic .list dl dd .name {
    font-size: 20px;
    margin: 0 0 10px;
}

#clinic .list dl dd .name small {
    font-size: 60%;
    margin-left: 3px;
}

#clinic .list dl dd ul.sub li {
    font-size: 13px;
    text-indent: -1.2em;
    padding-left: 1.2em;
    margin-top: 5px;
}

#clinic .list dl dd ul.sub li::before {
    content: "●";
    color: #ccc;
    margin-right: 0.2em;
}


/******************************************************************************
*
* [共通]悩み
*
******************************************************************************/

/*---------------------
* 1
---------------------*/

#t1 {
    background-image: url(../images/trouble/bg1.jpg);
    background-size: cover;
    background-position: center bottom;
}

#t1 .lead {
    width: 65%;
    margin: 0 auto 60px;
}

#t1 .thinking {
    width: 90%;
    margin: auto;
}

/*---------------------
* 2
---------------------*/

#t2 {
    background: linear-gradient(0deg, rgba(9, 10, 14, 1) 0%, rgba(0, 38, 83, 1) 100%);
    position: relative;
}

#t2::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 20px 0 20px;
    border-color: #3a3d42 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#t2 .lead {
    width: 70%;
    margin: auto;
}

/*---------------------
* 3
---------------------*/

#t3 {
    background-image: url(../images/trouble/bg2.jpg);
    background-size: 100vw;
    background-position: center top;
    position: relative;
    padding-bottom: 100px;
}

#t3 p.tc {
    text-align: center;
    font-size: 18px;
    color: #fff;
    font-weight: 700;
}

#t3 .person {
    width: 60%;
    margin: 40px auto;
}

#t3 .arrow {
    width: 140px;
    margin: auto;
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
}

/*---------------------
* 4
---------------------*/

#t4 {
    background-image: url(../images/trouble/bg3.jpg);
    background-size: cover;
    background-position: center;
    padding: 100px 0
}

#t4 .lead {
    width: 85%;
    margin: 0 auto;
    filter: drop-shadow(0 0 4px #c8ad96) drop-shadow(0 0 8px rgba(200, 173, 150, 0.7));
    transform: translateZ(0);
}


/******************************************************************************
*
* [共通]誤解
*
******************************************************************************/

#mistake {
    background-image: url(../images/mistake/bg.jpg);
    background-size: 40px;
}

#mistake .lead {
    width: 70%;
    margin: 0 auto 80px;
}

#mistake p.mp {
    width: 85%;
    margin: auto;
    text-align: center;
}

#mistake p.mp.mp2 {
    margin-top: 70px;
}

/*---------------------
* テキスト
---------------------*/

#mistake .txt_sec {
    margin-top: 110px;
}

#mistake .txt_sec section {
    position: relative;
}

#mistake .txt_sec section:nth-child(n+2) {
    margin-top: 80px;
}

#mistake .txt_sec section .icon {
    width: 100px;
    position: absolute;
    left: 0;
    right: 0;
    top: -50px;
    margin: auto;
}

#mistake .txt_sec section .head {
    margin: 0 calc(50% - 600px);
    width: 1200px;
    border-radius: 15px;
    overflow: hidden;
}

#mistake .txt_sec section .txt {
    box-sizing: border-box;
    background: #fff;
    padding: 50px;
    border-radius: 15px;
    width: 90%;
    box-shadow: 7px 7px 20px rgb(15 41 53 / 20%);
    margin: -50px auto 0;
    position: relative;
}

/*見出し*/

#mistake .txt_sec section .txt .sec_lead {
    text-align: center;
    margin-bottom: 50px;
}

#mistake .txt_sec section .txt .sec_lead .num span {
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    background: #3d2545;
    color: #fff;
    padding: 5px 25px;
    border-radius: 50px;
    margin-bottom: 10px;
}

#mistake .txt_sec section .txt .sec_lead h2 {
    font-size: 32px;
    line-height: 1.5;
    font-weight: 900;
    color: #3d2545;
}


/******************************************************************************
*
* [共通]未来
*
******************************************************************************/

#future {
    background-image: url(../images/future/bg.jpg);
    background-size: 100vw;
    background-position: center top;
}

#future .lead {
    width: 45%;
    margin: 0 auto 60px;
}

#future .list {
    width: 75%;
    margin: 0 auto;
}

/******************************************************************************
*
* [共通]テキストエリア
*
******************************************************************************/

#txtarea {
    background-color: #e3cdb5;
    background-image: url(../images/txt/bg.jpg);
    background-size: 100vw;
}

/*セクション内の段落*/

article.content_article section.ca_sec {
    background: #fff;
}

article.content_article section.ca_sec:nth-child(n+2) {
    margin-top: 80px;
    position: relative;
}

article.content_article section.ca_sec:nth-child(n+2)::before {
    content: "";
    display: block;
    width: 2px;
    height: 80px;
    position: absolute;
    top: -80px;
    left: 0;
    right: 0;
    margin: auto;
    background: #e5728e;
}

article.content_article section.ca_sec > p {
    padding: 50px;
}

/*要素が見えたら背景画像を浮遊化*/

.fixed_bg {
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
}

.fixed_bg.on {
    background-attachment: fixed;
}

/*---------------------
* 見出し
---------------------*/

.common_h2 {
    background: #000;
    width: 100%;
    min-height: 340px;
    box-sizing: border-box;
    position: relative;
    background-image: url(../images/txt/lead_bg.jpg);
    background-size: cover;
    display: table;
}

.common_h2 h2 {
    text-align: center;
    font-size: 32px;
    line-height: 1.7;
    color: #3d2545;
    font-weight: 900;
    width: 100%;
    box-sizing: border-box;
    padding: 30px 15px;
    display: table-cell;
    vertical-align: middle;
}

.common_h2 h2 .sub {
    display: block;
    font-size: 11px;
    letter-spacing: 0.5px;
    position: relative;
    line-height: 2.5;
    margin-top: 10px;
}

.common_h2 h2 .sub::before,
.common_h2 h2 .sub::after {
    content: "";
    display: block;
    width: 60%;
    height: 1px;
    margin: 0 auto;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #3d2545 50%, rgba(255, 255, 255, 0) 100%);
}

/*---------------------
* ここからコンテンツ内容
---------------------*/


/******************************************************************************
*
* [共通]メリット
*
******************************************************************************/

#merit {
    background-image: url(../images/merit/bg.jpg);
    background-size: cover;
    position: relative;
}

#merit::before {
    content: "";
    display: block;
    width: 100%;
    height: 200px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 49.48%, rgba(255, 255, 255, 0) 100%);
}

#merit .lead {
    width: 50%;
    margin: 0 auto 70px;
}

/*---------------------
* テキスト
---------------------*/

#merit .txt_sec {
    width: 90%;
    margin: auto;
    margin-top: 70px;
}

#merit .txt_sec section {
    box-sizing: border-box;
    background-image: url(../images/mistake/bg.jpg);
    background-size: 40px;
    padding: 50px;
    box-shadow: 7px 7px 20px rgb(15 41 53 / 20%);
    margin: 0 auto;
    position: relative;
}

#merit .txt_sec section:nth-child(n+2) {
    margin-top: 50px;
}

#merit .txt_sec section::before {
    content: "";
    display: block;
    width: 96%;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
    height: 96%;
    height: -webkit-calc(100% - 20px);
    height: calc(100% - 20px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    box-sizing: border-box;
    border: solid 1px #c0a357;
}

/*見出し*/

#merit .txt_sec section .sec_lead {
    text-align: center;
    margin-bottom: 50px;
}

#merit .txt_sec section .sec_lead .num span {
    display: inline-block;
    font-size: 20px;
    font-weight: bold;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(243, 233, 204, 1) 0%, rgba(255, 251, 243, 1) 50.77%, rgba(243, 233, 204, 1) 100%);
    padding: 5px 25px;
    border-radius: 50px;
    margin-bottom: 10px;
}

#merit .txt_sec section .sec_lead h2 {
    font-size: 32px;
    line-height: 1.5;
    font-weight: 900;
    color: #c0a357;
}


/******************************************************************************
*
* [共通]声(2)
*
******************************************************************************/

#voice2 .lead {
    width: 550px;
    margin: 0 auto 60px;
}

/*---------------------
* リスト
---------------------*/

#voice2 .list ul li.box {
    padding: 0 10px;
}

#voice2 .list dl {
    background: #fff;
    border: solid 4px #ad6375;
    box-sizing: border-box;
    height: 100%;
    padding: 30px;
    border-radius: 12px;
}

/*アバター*/

#voice2 .list dl dt .ava {
    width: 140px;
    margin: 0 auto 20px;
}

/*見出し*/

#voice2 .list dl dt .cv {
    width: 130px;
    margin: 0 auto 10px;
}

#voice2 .list dl dt h2 {
    text-align: center;
    color: #3d2545;
    font-size: 20px;
    line-height: 1.3;
    font-weight: 900;
    margin-bottom: 10px;
}

/*情報*/

#voice2 .list dl dt .info {
    text-align: center;
}

#voice2 .list dl dt .info span {
    font-size: 13px;
    font-weight: bold;
    display: inline-block;
    background: #ad6375;
    padding: 1px 10px;
    color: #fff;
}

#voice2 .list dl dd {
    font-size: 15px;
    line-height: 1.5;
    margin-top: 15px;
}

/*slick設定*/

.slick-track {
    display: flex;
}

.slick-slide {
    height: auto !important;
}

.slick-dots {
    bottom: -40px;
}

.slick-dots li {
    margin: 0;
}


/******************************************************************************
*
* [共通]コンテンツ
*
******************************************************************************/

#content {
    background-image: url(../images/future/bg.jpg);
    background-size: 100vw;
    background-position: center top;
}

#content .lead {
    width: 60%;
    margin: 0 auto 60px;
}


#content .foot {
    width: 70%;
    margin: 30px auto 40px;
}

/*---------------------
* リスト
---------------------*/

#content .list dl {
    display: flex;
    justify-content: space-between;
    background: #fff;
    padding: 30px;
    box-sizing: border-box;
    width: 92%;
    box-shadow: 7px 7px 20px rgb(15 41 53 / 10%);
    border-left: solid 8px #ffdbdb;
}

#content .list dl:nth-child(n+2) {
    margin-top: 20px;
}

#content .list dl:nth-child(even) {
    margin-left: auto;
}

#content .list dl dt {
    width: 60%;
    width: -webkit-calc(100% - 180px);
    width: calc(100% - 180px);
}

#content .list dl dd {
    width: 150px;
}

/*タイトル*/

#content .list dl dt .title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}

#content .list dl dt .title .num {
    width: 70px;
}

#content .list dl dt .title h2 {
    width: 80%;
    width: -webkit-calc(100% - 90px);
    width: calc(100% - 90px);
    font-size: 23px;
    line-height: 1.4;
    font-weight: 900;
}

#content .list dl dt p {
    padding-left: 5px;
}

/******************************************************************************
*
* [共通]FAQ
*
******************************************************************************/

#faq {
    background: #ad6375;
}

#faq .lead {
    width: 250px;
    margin: 0 auto 50px;
}

/*---------------------
* FAQリスト
---------------------*/

/*リストコンテナ*/

.faq_list {
    width: 80%;
    margin: auto;
}

.faq_list ul li {
    padding: 30px;
    background: #fff;
    margin-bottom: 15px;
    border-radius: 15px;
}

.faq_list ul li:last-child {
    margin-bottom: 0;
}

/*リスト内部*/

.faq_list dl dt,
.faq_list dl dd {
    display: flex;
    justify-content: space-between;
}

.faq_list dl dt {
    margin-bottom: 15px;
}

.faq_list dl dt .txt {
    font-size: 20px;
    font-weight: bold;
}

.faq_list dl i {
    width: 30px;
    height: 30px;
    background-size: cover;
}

.faq_list dl i.q {
    background-image: url(../images/faq/q.png);
}

.faq_list dl i.a {
    background-image: url(../images/faq/a.png);
}

.faq_list dl .txt {
    width: 92%;
    width: -webkit-calc(100% - 44px);
    width: calc(100% - 44px);
    font-size: 16px;
    line-height: 1.5;
}

.faq_list dl .txt small {
    display: block;
}


/******************************************************************************
*
* [共通]レスポンシブ対応
*
******************************************************************************/

/*960px以下*/

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

    /*---------------------
    * [共通]メインヘッダー
    ---------------------*/

    .main_fv::before {
        padding-top: 134.5%;
    }

    .main_fv .inner {
        background-image: url(../images4/main/fv_sp.jpg);
    }

    /*R2事業再構築*/

    .main_fv .r2 {
        display: none;
    }

    /*---------------------
    * [共通]サブヘッダー
    ---------------------*/

    .sub_fv {
        padding: 30px 0;
    }

    .sub_fv::before {
        border-width: 0 15px 18px 15px;
        top: -17px;
    }

    /*FVミニボックス*/

    .sub_fv .min {
        padding: 15px;
        width: 100%;
        margin: 0 auto 0;
    }

    .sub_fv .min::before {
        border-width: 0 10px 15px 10px;
        top: -14px;
    }

    /*特典*/

    .sub_fv .gift_box {
        border-radius: 5px;
    }

    .sub_fv .gift_box .lead {
        width: 80%;
        margin: 0 auto 15px;
    }

    .sub_fv .gift_box .gifts {
        margin-bottom: 20px;
        display: block;
    }

    .sub_fv .gift_box .gifts > div {
        width: 100%;
    }

    .sub_fv .gift_box .gifts .rc {
        margin-top: 15px;
    }

    /*ボタン*/

    .cta_btn .limit {
        font-size: 13px;
    }

    .cta_btn .limit h2 {
        padding: 0 5px 2px;
    }

    .cta_btn .limit time {
        font-size: 16px;
    }

    .cta_btn .limit aside {
        font-size: 16px;
    }

    .cta_btn .btn {
        width: 100%;
        margin: 8px auto 4px;
    }

    /*注意書き*/

    .cta_btn ul.attention li {
        font-size: 10px;
        text-align: left;
    }

    /*---------------------
    * CTA用調整
    ---------------------*/

    .sub_fv.cta {
        padding: 30px 0;
    }

    .sub_fv.cta .gift_box {
        width: 90%;
        margin: auto;
    }

    .sub_fv.cta .min {
        width: 90%;
        margin-top: 30px;
    }

    .sub_fv.cta .min::before {
        border-width: 0 15px 20px 15px;
        top: -19px;
    }

    .sub_fv.cta .lead {
        margin: 0 auto 30px;
    }

    .sub_fv.cta .min .lead {
        width: 70%;
        margin: 0 auto 15px;
    }

}

/*644px以下*/

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

    /*---------------------
    * [共通]流れ
    ---------------------*/

    #flow {
        background-size: 34px;
    }

    #flow .lead {
        width: 80%;
        margin: 0 auto 30px;
    }

    .flow_list {
        position: relative;
    }

    .flow_list .add {
        width: 40%;
        position: absolute;
        bottom: 2.8%;
        right: 6.6%;
    }

    /*---------------------
    * [共通]プロフィール
    ---------------------*/

    #prof {
        background-image: url(../images/prof/bg.jpg);
        padding-bottom: 0;
    }

    #prof .ava {
        width: 100%;
        margin: 0 auto;
    }

    /*補足*/

    #prof aside.media {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        box-sizing: border-box;
        margin-top: 30px;
        padding: 20px 15px;

    }

    #prof aside.media h2 {
        margin-bottom: 12px;
    }

    #prof aside.media h2 span {
        font-size: 14px;
    }

    #prof aside.media p {
        font-size: 11px;
    }

    /*---------------------
    * [下層]声リスト
    ---------------------*/

    #v_list .box {
        padding: 18px 15px 25px;
        border-radius: 10px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
        margin-bottom: 40px;
    }

    /*番号*/

    #v_list .box .num {
        width: 62px;
        top: -8px;
        left: -6px;
    }

    /*名前*/

    #v_list .box .name {
        font-size: 20px;
        margin-bottom: 18px;
    }

    #v_list .box .name span.br {
        display: block;
        margin-left: 0;
    }

    /*動画*/

    #v_list .box .mov .start {
        width: 50px;
    }

    /*段落*/

    #v_list .box p {
        margin-top: 15px;
        font-size: 12px;
        background-size: 8px 100%, 100% 2.2em;
        line-height: 2.2em;
    }


    /*---------------------
    * [共通]医師の推薦
    ---------------------*/

    #clinic {
        padding-top: 15px;
    }

    #clinic h2 {
        width: 100%;
    }

    #clinic .txt {
        padding: 20px;
        margin-bottom: 40px;
    }

    #clinic .txt p {
        font-size: 13px;
    }

    #clinic .m2,
    #clinic .m3 {
        margin-top: 40px;
    }

    #clinic h3 {
        width: 90%;
        max-width: 200px;
        margin: 0 auto 20px;
    }

    /*リスト*/

    #clinic .list {
        justify-content: space-between;
    }

    #clinic .list dl {
        width: 48.5%;
        margin-right: 0;
    }

    #clinic .list dl:nth-child(n+3) {
        margin-top: 15px;
    }

    #clinic .list dl dd {
        padding: 20px 10px;
    }

    #clinic .list dl dd .job {
        font-size: 11px;
    }

    #clinic .list dl dd .name {
        font-size: 16px;
    }

    #clinic .list dl dd ul.sub li {
        font-size: 11px;
        margin-top: 3px;
    }

    /*---------------------
    * [共通]悩み
    ---------------------*/

    /*1*/

    #t1 {
        padding-top: 20px;
    }

    #t1 .lead {
        width: 95%;
        margin: 0 auto 30px;
    }

    #t1 .thinking {
        width: 100%;
    }

    /*2*/

    #t2::before {
        border-width: 15px 10px 0 10px;
    }

    #t2 .lead {
        width: 90%;
    }

    /*3*/

    #t3 {
        padding-bottom: 70px;
    }

    #t3 p.tc {
        font-size: 14px;
    }

    #t3 .person {
        width: 90%;
        margin: 30px auto;
    }

    #t3 .arrow {
        width: 90px;
        bottom: -10px;
    }

    /*4*/

    #t4 {
        background-image: url(../images/trouble/bg3.jpg);
        background-position: left center;
        padding: 40px 0;
    }

    #t4 .lead {
        width: 100%;
        filter: drop-shadow(0 0 6px #fff) drop-shadow(0 0 12px #fff);
        transform: translateZ(0);
    }

    /*---------------------
    * [共通]誤解
    ---------------------*/

    #mistake {
        background-size: 30px;
    }

    #mistake .lead {
        width: 85%;
        margin: 10px auto 40px;
    }

    #mistake p.mp {
        width: 100%;
    }

    #mistake p.mp.mp2 {
        margin-top: 40px;
    }

    /*テキスト*/

    #mistake .txt_sec {
        margin-top: 80px;
    }

    #mistake .txt_sec section:nth-child(n+2) {
        margin-top: 40px;
    }

    #mistake .txt_sec section .icon {
        width: 75px;
        top: -45px;
    }

    #mistake .txt_sec section .head {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
        border-radius: 0;
    }

    #mistake .txt_sec section .txt {
        padding: 30px 20px;
        border-radius: 8px;
        width: 100%;
        margin: -35px auto 0;
    }

    #mistake .txt_sec section .txt .sec_lead {
        margin-bottom: 30px;
    }

    #mistake .txt_sec section .txt .sec_lead .num span {
        font-size: 16px;
        padding: 5px 20px;
    }

    #mistake .txt_sec section .txt .sec_lead h2 {
        font-size: 24px;
    }

    /*---------------------
    * [共通]未来
    ---------------------*/

    #future {
        background-image: url(../images/future/bg.jpg);
    }

    #future .lead {
        width: 85%;
        margin: 0 auto 30px;
    }

    #future .list {
        width: 100%;
    }

    /*---------------------
    * [共通]テキストエリア
    ---------------------*/

    #txtarea {
        background-image: url(../images/txt/bg_sp.jpg);
    }

    /*セクション内の段落*/

    article.content_article section.ca_sec:nth-child(n+2) {
        margin-top: 40px;
    }

    article.content_article section.ca_sec:nth-child(n+2)::before {
        width: 1px;
        height: 40px;
        top: -40px;
    }

    article.content_article section.ca_sec > p {
        padding: 25px 20px;
    }

    /*見出し*/

    .common_h2 {
        min-height: 170px;
    }

    .common_h2 h2 {
        font-size: 5.8vw;
        line-height: 1.5;
        padding: 30px 0;
    }

    .common_h2 h2 .sub {
        font-size: 10px;
        letter-spacing: 0;
        margin-top: 15px;
        transform: scale(0.9);
    }

    .common_h2 h2 .sub::before,
    .common_h2 h2 .sub::after {
        width: 90%;
    }

    /*---------------------
    * [共通]メリット
    ---------------------*/

    #merit {
        background-image: url(../images/merit/bg.jpg);
    }

    #merit .lead {
        width: 80%;
        margin: 0 auto 30px;
    }

    /*テキスト*/

    #merit .txt_sec {
        width: 100%;
        margin-top: 40px;
    }

    #merit .txt_sec section {
        background-size: 30px;
        padding: 26px;
    }

    #merit .txt_sec section:nth-child(n+2) {
        margin-top: 30px;
    }

    #merit .txt_sec section::before {
        width: -webkit-calc(100% - 9px);
        width: calc(100% - 9px);
        height: -webkit-calc(100% - 9px);
        height: calc(100% - 9px);
    }

    /*見出し*/

    #merit .txt_sec section .sec_lead {
        margin-bottom: 25px;
    }

    #merit .txt_sec section .sec_lead .num span {
        font-size: 14px;
        padding: 7px 20px;
    }

    #merit .txt_sec section .sec_lead h2 {
        font-size: 22px;
    }

    /*---------------------
    * [共通]声(2)
    ---------------------*/

    #voice2 .lead {
        width: 90%;
        margin: 10px auto 40px;
    }

    /*リスト*/

    #voice2 .list {
        margin: 0 calc(50% - 50vw);
        width: 100vw;
    }

    #voice2 .list ul li.box {
        padding: 0 4px;
    }

    #voice2 .list dl {
        border-width: 2px;
        padding: 15px;
        border-radius: 10px;
    }

    #voice2 .list dl dt .ava {
        width: 100px;
    }

    #voice2 .list dl dt .cv {
        width: 110px;
    }

    #voice2 .list dl dt h2 {
        font-size: 15px;
        line-height: 1.4;
    }

    #voice2 .list dl dt .info span {
        font-size: 11px;
        padding: 1px 7px;
    }

    #voice2 .list dl dd {
        font-size: 13px;
    }

    .slick-dots {
        bottom: -25px;
    }

    /*---------------------
    * [共通]コンテンツ
    ---------------------*/

    #content .lead {
        width: 90%;
        margin: 0 auto 30px;
    }

    #content .foot {
        width: 90%;
        margin: 30px auto 20px;
    }

    /*リスト*/

    #content .list dl {
        padding: 15px 13px 15px 8px;
        width: 100%;
        border-left-width: 4px;
        display: block;
        position: relative;
    }

    #content .list dl:nth-child(n+2) {
        margin-top: 12px;
    }

    #content .list dl dt {
        width: 100%;
        width: -webkit-calc(100%);
        width: calc(100%);
    }

    #content .list dl dd {
        width: 50px;
        position: absolute;
        top: 11px;
        right: 10px;
    }

    /*タイトル*/

    #content .list dl dt .title {
        width: 70%;
        width: -webkit-calc(100% - 50px);
        width: calc(100% - 50px);
        margin-bottom: 14px;
    }

    #content .list dl dt .title .num {
        width: 38px;
    }

    #content .list dl dt .title h2 {
        width: -webkit-calc(100% - 44px);
        width: calc(100% - 44px);
        font-size: 15px;
    }

    #content .list dl dt p {
        padding-left: 0;
        font-size: 13px;
        line-height: 1.5;
    }

    /*---------------------
    * [共通]FAQ
    ---------------------*/

    #faq .lead {
        width: 150px;
        margin: 0 auto 30px;
    }

    /*リスト*/

    .faq_list {
        width: 100%;
    }

    .faq_list ul li {
        padding: 15px;
        margin-bottom: 12px;
        border-radius: 10px;
    }

    .faq_list dl dt {
        margin-bottom: 15px;
    }

    .faq_list dl dt .txt {
        font-size: 15px;
    }

    .faq_list dl i {
        width: 24px;
        height: 24px;
    }

    .faq_list dl .txt {
        width: -webkit-calc(100% - 30px);
        width: calc(100% - 30px);
        font-size: 13px;
    }


}

/*375px以下*/

@media only screen and (max-width: 375px) {}

/*360px以下*/

@media only screen and (max-width: 360px) {}

/*330px以下*/

@media only screen and (max-width: 330px) {}
