@charset "UTF-8";

/* 共通部分
---------------------------*/

html {
    font-size: 100%;
}

body {
    font-family: "kozuka-mincho-pro", 'Noto Serif JP', serif, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", 'YuMincho', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: #333;
}

.kozuka {
    font-family: 'kozuka-gothic-pr6n', '小塚ゴシック Pro', 'Kozuka Gothic Pro', sans-serif;
}

.shippori {
    font-family: 'shippori-mincho', sans-serif;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

.container_x {
    width: 100%;
    margin-bottom: 100px;
}

/* ナビゲーションの上下の空白を消すためにbase cssの打ち消し */
#wrapper {
    font-size: 1rem;
}

.info-inner,
.about-inner,
.reason-inner,
.product-inner,
.drug-inner,
.flow-inner,
.price-inner {
    width: 900px;
    margin: 0 auto;
    text-align: center;
}

.info-cont,
.about-cont,
.product-cont,
.flow-cont,
.price-cont {
    width: 100%;
}

.about-cont,
.product-cont,
.flow-cont {
    margin-top: 80px;
}

.reason.container_x,
.product.container_x,
.flow.container_x {
    margin-bottom: 0;
}

.mainview img {
    width: 100%;
}

.main-headline {
    display: flex;
    margin: 0 auto;
    width: 900px;
    justify-content: space-between;
    border-bottom: 6px solid #56AAD5;
    letter-spacing: .4rem;
    padding-bottom: 10px;
}

span.hedline.shippori {
    font-size: 2rem;
    font-weight: 600;
}

.headline-s {
    font-size: 1.2rem;
    letter-spacing: .5rem;
}

.headline-left {
    font-size: 2rem;
    color: #4D4D4D;
    font-weight: 200;
}

.headline-right {
    color: #ccc;
    font-size: 1.8rem;
}

span.txt-s {
    font-size: 1.3rem;
    color: #D1A76F;
    margin-left: 15px;
}

.about-flex {
    display: flex;
    align-items: center;
    margin: 50px 0 150px;
}

.about-flex img {
    width: 30%;
}

.about-flex p {
    font-size: 1.2rem;
    text-align: left;
    letter-spacing: .1rem;
    line-height: 2;
    margin-left: 40px;
}

.about-bottom {
    margin-bottom: 150px;
}

.features-fig {
    margin-top: 50px;
}


.reason,
.drug,
.price {
    background-color: #E9F1F4;
}

.reason-box {
    padding: 50px 0;
}

.reason-list {
    text-align: left;
}

.reason-list p {
    font-size: 1.2rem;
    letter-spacing: .3rem;
    padding: 0 10px 20px;
    line-height: 2;
    font-weight: 400;
}

.reason-list-bg-white {
    background-color: #fff;
    margin-bottom: 50px;
    padding: 30px 10px;
}

.list-border {
    width: 60%;
    border-bottom: 4px solid #6AC0E8;
    margin-top: -13px;
    margin-left: 10px;
}

span.num.shippori {
    color: #6AC0E8;
    font-size: 3.3rem;
    font-weight: 700;
    letter-spacing: 0;
}

.list-num span {
    color: #565656;
    font-size: 1.75rem;
    vertical-align: middle;
    margin-left: 5px;
    letter-spacing: .3rem;
    font-weight: 200;
}

.pr-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pr-flex-left {
    width: 55%;
}

.pr-flex-right {
    width: 35%;
}


.down-arrow {
    position: relative;
    padding: 50px 0;
}

.down-arrow::before {
    content: "";
    position: absolute;
    top: 20%;
    left: 50%;
    margin-left: -100px;
    border: 90px solid transparent;
    border-top: 40px solid #E9F1F4;
}

.flow01 {
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px;
}

.flow01>li {
    list-style-type: none;
    width: 16%;
    display: flex;
}

.flow01>li dl {
    padding: 5px;
    margin: 0;
    position: relative;
}

.flow01>li:not(:first-child) dl::before {
    content: "";
    width: 14px;
    height: 0;
    margin-right: 10px;
    display: inline-block;
    border-left: 20px solid #ccc;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    position: absolute;
    top: calc(25%);
    left: -30px;
}

.flow01>li dl dd {
    font-family: '小塚ゴシック Pro', 'Kozuka Gothic Pro', sans-serif;
    margin-left: 0;
    font-size: 12px;
    text-align: left;
    margin-top: 20px;
    line-height: 1.9 !important;
}

.flow-list li:first-child,
.flow-list li {
    padding: 0;
}



.block::after {
    content: '';
    display: block;
    background-color: #E9F1F4;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    width: 100%;
    height: 70px;
}

.wid50 {
    margin: 0 auto;
    width: 15%;
}

.product-flex {
    margin: 50px 0 100px;
}

.product-title {
    margin: 0 auto;
    width: 900px;
    font-size: 1.8rem;
    letter-spacing: .3rem;
    text-align: left;
    padding: 0.05em 0.5em;
    color: #494949;
    background: transparent;
    border-left: 5px solid #6AC0E8;
    font-weight: lighter;
}

.product-list {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0;
    color: #4d4d4d;
}

.product-list figure {
    width: 25%;
}

.product-list-right {
    width: 65%;
    background-color: #f2f2f2;
    padding: 15px 20px 40px;
    text-align: left;
    line-height: 1;
}

.product-list-right h4 {
    font-size: 1.8rem;
    letter-spacing: .3rem;
    border-bottom: 1px solid #B3B3B3;
    font-weight: 200;
    padding-bottom: 10px;
}

.product-list-right span {
    font-size: 1.3rem;
    font-weight: 300;
    letter-spacing: .3rem;
    line-height: 1.8;
    color: #4D4D4D;
}


.arrow {
    position: relative;
}

.arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    border: 25px solid transparent;
    border-left: 18px solid #ccc;
}

.recommend-flex {
    margin: 50px 0 100px;
}

.recommend-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 1.5rem;
    letter-spacing: .3rem;
    text-align: left;
    margin-top: 20px;
}

.recommend-list p {
    margin-left: 10px;
    font-size: 20px;
}

.recommend-left:after {
    content: "";
    display: block;
    width: 45%;
    /* .boxに指定したwidthと同じ幅を指定する */
    height: 0;
}

.recommend-left,
.recommend-right {
    width: 45%;
    background-image: url(../images/check.png);
    background-repeat: no-repeat;
    background-position: left;
    padding: 10px 10px 10px 50px;
}

.drug {
    padding: 50px 0;
}

.serum-box h2 {
    width: 80%;
    font-size: 1.6rem;
    letter-spacing: .3rem;
    font-weight: 500;
    margin: 0 auto 30px;
    color: #000;
    border-bottom: 1px solid #000;
}

.serum-box h2 span {
    font-size: 1rem;
}

.serum-cont {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

.serum-box {
    padding: 30px 0;
    margin-bottom: 50px;
    background-color: #fff;
}

.serum-cont-right {
    width: 60%;
}

.serum-cont-right-img {
    display: flex;
    justify-content: start;
}

.serum-cont-right-img p {
    width: 140px;
    padding: 5px;
    background: #E8F1F4;
    margin-right: 15px;
}

.serum-txt {
    text-align: left;
    letter-spacing: .1rem;
    font-size: 16px;
    line-height: 2;
    font-weight: 400;
    margin: 15px 0;
}

.flow-list li:first-child {
    margin-top: 60px;
}

.flow-list li:last-child {
    margin-bottom: 150px;
}

.flow-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    margin-top: 35px;
    z-index: 2;
}

.flow-list-img {
    width: 150px;
    position: relative;
}

.flow-list-txts {
    width: 78%;
    text-align: left;
    margin-top: -15px;
}

.flow-list-head {
    color: #B6D5E0;
    margin-top: 8px;
    font-weight: 700;
    font-size: 2.7rem;
    line-height: 1;
}

.flow-list-title {
    letter-spacing: .3rem;
    vertical-align: 5px;
    color: #4d4d4d;
    font-size: 1.5rem;
    margin-left: 20px;
}

.flow-list-txt {
    font-weight: 500;
    font-size: 18px;
    line-height: 162%;
    letter-spacing: 0.04em;
    margin-top: 10px;
    color: #727272;
}

.table-outer {
    padding: 80px 0;
}

table.price-table {
    width: 100%;
    background-color: #fff;
    color: #4D4D4D;
}

table.price-table img {
    margin-bottom: 5px;
}

table.price-table th img {
    width: 85px;
    margin-left: -60px;
}

table.price-table td img {
    height: 18.5px;
}

table,
td,
th {
    border-collapse: collapse;
    padding: 15px 5px;
}

td.table-32,
td.table-28,
td.table-40,
table.price-table th {
    background-color: #B6D5E0;
    border: 1px solid #fff;
    line-height: 1;
}


td.table-32,
td.table-28,
td.table-40 {
    color: #fff;
    border: none;
    text-align: center;
    letter-spacing: .2rem;
    font-size: 1.2rem;
}

table tbody tr td:nth-of-type(1) {
    background-color: #E9F1F4;
    letter-spacing: .2rem;
}

table.price-table tbody tr th:nth-of-type(1) {
    font-size: 1.3rem;
    letter-spacing: .2rem;
    /* background-color: #B6D5E0; */
}

table tbody tr td {
    border: 1px solid #B6D5E0;
    font-size: 1.2rem;
    text-align: center;
}

table tbody tr th {
    font-size: 1.2rem;
    text-align: center;
}

th.pr-flex-left {
    text-align: left;
}

th.left.bottom-blue{
    border-bottom: 1px solid #B6D5E0;  
    text-align: center; 
}

table.price-table th.left {
    line-height: 1.5;
}

table.price-table th.border-none {
    border-top: none;
}

th.left.bottom-blue p {
    display: inline-block;
    text-align: left;
}

td.table-32 {
    width: 32%;
}

td.table-28 {
    width: 28%;
}

td.table-40 {
    width: 40%;
    background-color: #B6D5E0;
}

span.side-txt-l {
    font-size: 2.4rem;
    vertical-align: middle;
}

span.side-txt-m {
    letter-spacing: .15rem;
    font-size: 2.06rem;
    font-weight: 800;
    vertical-align: middle;
}

span.side-txt-s {
    font-size: 1.2rem;
    vertical-align: -10px;
    margin-left: 10px;
}

span.side-txt-xs {
    font-size: .75rem;
    letter-spacing: .1rem;
    vertical-align: -8px;
    margin-left: 10px;
}

span.side-txt-en-s {
    font-size: 1.4rem;
    vertical-align: -5px;
    margin-right: 5px;
}

span.under-txt-xs {
    font-size: .75rem;
    margin-left: 10px;
}

span.top-txt-xs {
    display: block;
    width: 30%;
    font-size: .75rem;
    padding: 6px;
    margin-left: 50px;
    margin-bottom: 5px;
    background: #E9F1F4;
}

.price-num {
    font-size: 1.08125rem;
    letter-spacing: .1rem;
}

/* CTA設定 */
.cta-container {
    margin-top: 20px;
    margin-bottom: 60px;
    width: 100%;
    position: relative;
    display: inline-block;
    text-align: center;
}

.cta-btn {
    border: none;
    background-color: #B6D5E0;
    width: 600px;
    height: 90px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.15em;
    border-radius: 8px;
    box-shadow: 4px 5px 6px 0 rgba(0, 0, 0, .4);
}

.cta-btn:hover {
    cursor: pointer;
    box-shadow: inset 3px 6px 6px 0 rgba(0, 0, 0, .3);
    color: #f7e498;
}

br.sp-only,
img.sp-only {
    display: none;
}

.pc-capture{
    margin: 0 auto;
    font-size: .75rem;
    padding: 5px;
    margin-bottom: 5px;
    background: #fff;
}

.container.l-container.container_cl{
    width: 900px;
}

.clinic-corect {
    margin-top: 30px;
}
.clinic-corect li{
    margin-top: 10px;
    padding: 10px;
    line-height: 0.6;
}


@media screen and (max-width:550px) {
    .cta-btn {
        font-size: 20px;
        width: 300px;
        height: 60px;
    }
    .span-container{
        right:14px !important;
    }
}

@media(max-width: 767px) {

    html {
        font-size: 88%;
    }

    .container_x {
        width: 95%;
        margin: 0 auto;
        margin-bottom: 60px;
    }

    .about-inner,
    .reason-inner,
    .product-inner,
    .drug-inner,
    .flow-inner,
    .price-inner,
    .main-headline {
        width: 100%;
    }

    .about-cont,
    .product-cont,
    .flow-cont {
        margin-top: 40px;
    }

    .main-headline {
        letter-spacing: 0.04em;
    }

    .headline-left,
    span.hedline.shippori {
        font-size: 1.3rem;
    }

    .headline-s,
    .headline-right {
        font-size: 1rem;
        letter-spacing: 0.04em;
    }

    .about-flex {
        display: block;
        width: 100%;
        margin: 0 auto 50px;
    }

    .about-flex img {
        width: 20%;
        margin: 15px 0;
    }

    .about-flex p {
        margin: 0;
    }

    .reason-list {
        text-align: center;
    }

    .list-num {
        font-size: 2rem;
    }

    .list-num span {
        font-size: 1.3rem;
        letter-spacing: 0.04em;
    }

    span.num.shippori {
        font-size: 2rem;
    }

    .recommend-flex {
        margin: 30px auto 50px;
        width: 95%;
    }

    .recommend-left,
    .recommend-right {
        width: 50%;
        padding: 15px 10px 10px 30px;
        background-size: 30px;
    }

    .serum-box {
        width: 95%;
        margin: 0 auto 50px;
    }

    /* .serum-box:nth-child(2) {
        margin: 0 auto;
    } */
    .serum-box:nth-child(4) {
        margin: 0 auto;
    }

    .serum-cont {
        display: block;
    }

    .serum-cont img {
        width: 60%;
    }

    .serum-cont-right {
        padding: 30px 10px 0;
        width: 100%;
    }

    .serum-cont-right p {
        font-size: 1rem;
        text-align: left;
    }

    .serum-cont-right-img p {
        width: 90px;
        text-align: center;
        margin-right: 10px;
    }

    .figure.flow-list-img img {
        width: 70%;
    }

    .flow01 {
        gap: 20px;
        justify-content: space-between;
    }

    .flow01::after {
        content: "";
        display: block;
        width: 25%;
    }

    .flow01>li {
        width: 25%;
    }

    .pr-flex {
        display: flex;
        flex-direction: column-reverse;
        justify-content: space-between;
    }

    .pr-flex-left,
    .pr-flex-right {
        width: 100%;
    }

    .pr-flex-right {
        text-align: center;
    }

    .reason-box {
        padding: 30px 10px;
        margin-top: 50px;
    }

    .reason-list-bg-white {
        width: 95%;
        margin: 0 auto 50px;
        background-color: #fff;
        padding: 35px 10px 15px;
        text-align: left;
    }

    .list-border {
        width: 95%;
        margin: 0 auto;
    }

    .down-arrow {
        position: relative;
        padding: 30px 0;
    }

    .down-arrow::before {
        margin-left: -80px;
        border: 80px solid transparent;
        border-top: 25px solid #E9F1F4;
    }

    .arrow::before {
        border: 18px solid transparent;
        border-left: 10px solid #ccc;
        left: -5px;
    }

    .block::after {
        height: 30px;
    }

    .recommend-flex p,
    .reason-list p {
        font-size: 1rem;
        letter-spacing: .1rem;
    }

    .product-title {
        font-size: 1.3rem;
    }

    .product-list-right h4 {
        font-size: 1.2rem;
        letter-spacing: 0.04em;
    }

    .product-list-right span {
        font-size: 1rem;
        line-height: 1.5;
        letter-spacing: 0.04em;
    }

    .flow-list {
        margin: 10px;
    }

    .flow-list-img {
        width: 20%;
    }

    .flow-list-txt {
        font-weight: 400;
        font-size: 1rem;
    }

    .flow-list-txts {
        width: 75%;

    }

    .flow-list-head {
        margin-top: 12px;
    }

    .flow-list-head span {
        font-size: 1.2rem;
        letter-spacing: 0.04em;
        vertical-align: baseline;
    }

    .flow-list li:last-child {
        margin-bottom: 100px;
    }

    .flow01>li:not(:first-child) dl::before {
        content: "";
        width: 14px;
        height: 0;
        margin-right: 10px;
        display: inline-block;
        border-left: 15px solid #ccc;
        border-top: 15px solid transparent;
        border-bottom: 15px solid transparent;
        position: absolute;
        top: calc(50% - 15px);
        left: -25px;
    }

    .flow01 li:nth-child(4) dl::before {
        content: none;
    }

    .table-outer {
        padding: 60px 15px;
    }

    td.table-32,
    td.table-28,
    td.table-40,
    table tbody tr th,
    table tbody tr td,
    span.side-txt-en-s,
    table.price-table tbody tr th:nth-of-type(1) {
        font-size: 1rem;
        letter-spacing: 0.04em;
    }

    table.price-table th img {
        margin-left: 0;
    }

    table, td, th{
        padding: 10px 5px;
    }

    span.side-txt-xs {
        margin-left: 0;
    }

    span.side-txt-m{
        font-size: 1.3rem;
        vertical-align: text-top;
    }

    td.fig-pad {
        padding: 5px;
    }

    span.top-txt-xs {
        width: 50%;
        padding: 4px;
        margin-left: 5px;
    }

    br.sp-only,
    img.sp-only {
        display: block;
    }

    .pc-capture{
       padding: 0; 
       font-size: .65rem;
}
.container.l-container.container_cl{
    max-width: 100%;
    margin-top: 30px;
}

}
