@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700&display=swap");

/* 文字装飾 */
.t-center {
    text-align: center;
}

.pink-chara {
    color: #c9338e;
}

.green-border {
    border: 1px solid #c8d200;
    padding: 5px 20px;
}

.gold-under {
    font-weight: bold;
    background: linear-gradient(transparent 70%, #D0BF86 70%);
}

.green-under {
    font-weight: bold;
    background: linear-gradient(transparent 70%, #ee8 70%);
}

.orange-under {
    font-weight: bold;
    background: linear-gradient(transparent 70%, #facba0 70%);
}

.pink-under {
    font-weight: bold;
    background: linear-gradient(transparent 70%, #f2c6c7 70%);
}

.blue-under {
    font-weight: bold;
    background: linear-gradient(transparent 70%, #ccecfa 70%);
}

.link-blue {
    color: #006bb4 !important;
}

/* かたまり */
.box-txt-01 {
    margin: 10px 0;
}

.box-txt-01 p {
    margin: 0 0 1.5em;
    letter-spacing: 0.05em;
}

.box-txt-02 {
    margin: 0 0 1.5em;
}

.box-txt-03 {
    margin: 20px 0;
}

.box-txt-03 p {
    margin: 0 0 1.5em;
    letter-spacing: 0.05em;
    font-size: 16px;
}

@media screen and (max-width:767px) {
    .box-txt-03 p {
        font-size: 14px
    }
}

/* キャンペーンは終了しました */
.box-txt-04 p {
    margin: 0;
    letter-spacing: 0.05em;
    font-size: 18px;
    color: red;
    font-weight: bold;
}

@media screen and (max-width:767px) {
    .box-txt-04 p {
        font-size: 16px
    }
}

/* 3個並べる */
.box-culumn3-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
}

@media screen and (max-width:767px) {
    .box-culumn3-01 {
        display: block
    }
}

.box-culumn3-01>.inner {
    width: 31.7%
}

@media screen and (max-width:767px) {
    .box-culumn3-01>.inner {
        width: 100%
    }
}

.box-culumn3-01>.inner:not(:nth-child(3n)) {
    margin-right: 2.45%;
}

@media screen and (max-width:767px) {
    .box-culumn3-01>.inner:not(:nth-child(3n)) {
        margin-right: 0
    }
}

/* @media screen and (max-width:767px){.box-culumn3-01>.inner:not(:first-child){margin-top:20px}}
*+.box-culumn3-01{margin-top:50px} */

/* 1:1で2個並べる */
.box-culumn2-01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    margin-bottom: 1.5em;
}

@media screen and (max-width:767px) {
    .box-culumn2-01 {
        display: block
    }
}

.box-column2-01>.inner {
    width: 48%;
}

@media screen and (max-width:767px) {
    .box-column2-01>.inner {
        width: 100%;
    }
}

.box-column2-01>.inner:not(:nth-child(2n)) {
    margin-right: 4%
}

@media screen and (max-width:767px) {
    .box-culumn2-01>.inner:not(:nth-child(2n)) {
        margin-right: 0
    }
}

/* 2:1で2個並べる */
.box-culumn2-02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    margin-bottom: 1.5em;
}

@media screen and (max-width:767px) {
    .box-culumn2-02 {
        display: block
    }
}

.box-culumn2-02>.inner:not(:nth-child(2n)) {
    width: 65.85%;
    margin-right: 2.45%
}

@media screen and (max-width:767px) {
    .box-culumn2-02>.inner:not(:nth-child(2n)) {
        width: 100%;
        margin-right: 0
    }
}

.box-culumn2-02>.inner:nth-child(2n) {
    width: 31.7%;
    margin-right: 0;
}

@media screen and (max-width:767px) {
    .box-culumn2-02>.inner:nth-child(2n) {
        width: 100%;
        margin-right: 0
    }
}

/* 1:2で2個並べる */
.box-culumn2-03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    margin-bottom: 1.5em;
}

@media screen and (max-width:767px) {
    .box-culumn2-03 {
        display: block
    }
}

.box-culumn2-03>.inner:not(:nth-child(2n)) {
    width: 31.7%;
    margin-right: 2.45%;
}

@media screen and (max-width:767px) {
    .box-culumn2-03>.inner:not(:nth-child(2n)) {
        width: 100%;
        margin-right: 0
    }
}

.box-culumn2-03>.inner:nth-child(2n) {
    width: 65.85%;
    margin-right: 0
}

@media screen and (max-width:767px) {
    .box-culumn2-03>.inner:nth-child(2n) {
        width: 100%;
        margin-right: 0
    }
}

/* お試しキャンペーンLP */
/* 内容 */
.box-content-01 {
    margin: 20px 0 20px;
}

.box-content-01 p {
    margin: 0 0 1em 1em;
    letter-spacing: 0.05em;
    font-size: 16px;
}

@media screen and (max-width:767px) {
    .box-content-01 p {
        font-size: 14px
    }
}

.box-content-01 table {
    margin: 0 0 0.5em 1em;
    width: auto;
}

.box-content-01 th {
    padding: 0 0 0.25em 0em;
    font-weight: normal;
}

@media screen and (max-width:767px) {
    .box-content-01 th {
        padding: 0 0 0.25em 0;
    }
}

.box-content-01 td {
    padding: 0 0 0.25em 1em;
}

@media screen and (max-width:767px) {
    .box-content-01 td {
        padding: 0 0 0.5em 0;
    }
}

.box-content-01 th,
.box-content-01 td {
    letter-spacing: 0.05em;
    font-size: 16px;
    border: none;
    width: auto;
}

@media screen and (max-width:767px) {

    .box-content-01 th,
    .box-content-01 td {
        font-size: 14px;
        display: block;
    }
}

.box-content-01 .th-title {
    padding: 0 0 0.5em 0;
    font-weight: bold;
}




/* 見出し */
.unit-title-02 {
    margin-bottom: 10px !important;
}

.unit-text-03 {
    margin: 1.5em 0 1em;
    padding: 1em;
    border-left: 6px solid #1c642a;
    background-color: #eed;
}

.unit-text-03.birthday {
    border-left: 6px solid #fab26e;
    background-color: #fef9eb;
}

.unit-text-03.valentine {
    border-left: 6px solid #edb1b3;
    background-color: #fcf3f3;
}

.unit-text-03.thebar {
    border-left: 6px solid #76BEB5;
    background-color: #e3f2f0;
}

.unit-text-03.insole {
    border-left: 6px solid #00a1e9;
    background-color: #e5f5fc;
}

.unit-text-03 p {
    margin: 0;
    letter-spacing: 0.1em;
    font-size: 18px;
    font-weight: bold;
}

@media screen and (max-width:767px) {
    .unit-text-03 p {
        font-size: 16px
    }
}

/* 小見出し */
.unit-text-01 {
    margin: 0 0 0.5em;
    padding-left: 0.5em;
    border-left: 6px solid #c9338e;
}

.unit-text-01 p {
    margin: 0;
    font-size: 16px;
    font-weight: bold;
}

.unit-text-02 {
    margin: 0 0 0.5em;
}

.unit-text-02 p {
    margin: 0;
    font-weight: bold;
}

.unit-text-04 {
    margin: 0 0 0.5em;
    padding-left: 0.5em;
    border-left: 6px solid #ddc;
}

.unit-text-04 p {
    margin: 0;
    letter-spacing: 0.1em;
    font-size: 16px;
    font-weight: 700;
}

@media screen and (max-width:767px) {
    .unit-text-04 p {
        font-size: 14px
    }
}


p[class="unit-text-05"] {
    display: inline-block;
    margin: 0 0 0.5em;
    background: #c9338e;
    padding: 0.7em 0.8em;
    color: #FFF;
    border-radius: 30px;
    font-size: small;
    text-align: center;
}


.unit-content-01-name p {
    margin-bottom: 0;
    padding-left: 1em;
}

.unit-content-01-tho p {
    margin-bottom: 0;
}



/* 口コミ */
/* unit-balloon-01 */
.unit-balloon-01 {
    position: relative;
    display: inline-block;
    margin: 1.3em 0 2em;
    padding: 1em;
    min-width: 120px;
    max-width: 100%;
    border: solid 2px #FFF0FE;
    border-radius: 12px;
    background: #FFF0FE;
    box-sizing: border-box;
}

.unit-balloon-01::before {
    content: "";
    position: absolute;
    top: -24px;
    left: 10%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #FFF0FE;
    z-index: 2;
}

.unit-balloon-01::after {
    content: "";
    position: absolute;
    top: -30px;
    left: 10%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-bottom: 14px solid #FFF0FE;
    z-index: 1;
}

.box-txt-01 .unit-content-01:last-child .unit-balloon-01 {
    margin-bottom: 0;
}




/* リスト */
.unit-list-01 ul {
    list-style: none;
    margin: 0 0 1em;
    padding: 0;
}

.unit-list-01 li {
    margin: 0 0 0.5em;
    letter-spacing: 0.05em;
    font-size: 14px;
}

.unit-list-01 p {
    margin: 0;
}

.unit-list-02 ul {
    list-style: none;
    margin: 0 0 1em 1em;
    padding: 0;
}

.unit-list-02 li {
    margin: 0 0 0.5em;
    letter-spacing: 0.05em;
    color: #808080;
    font-size: 12px;
}

.unit-list-02 p {
    margin: 0;
}

.unit-list-03 ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.unit-list-03 li {
    margin: 0;
    padding-left: 1em;
}

.unit-list-03 li::before {
    margin-left: -1em;
}

.unit-list-03 p {
    margin: 0;
}

.unit-list-04 li {
    font-size: 16px;
}

@media screen and (max-width:767px) {
    .unit-list-04 li {
        font-size: 14px
    }
}

.unit-list-04-decimal ul {
    list-style: decimal-leading-zero;
    margin: 0 2.5em 1em;
    padding: 0;
}

.unit-list-04-decimal li {
    margin: 0 0 0.5em;
    letter-spacing: 0.05em;
    font-size: 16px;
}

@media screen and (max-width:767px) {
    .unit-list-04-decimal li {
        font-size: 14px
    }
}

.unit-list-04-decimal p {
    margin: 0;
}

/* リストスタイル */
.list-circle::before {
    content: "●" !important;
}

.list-kome::before {
    content: '※' !important;
}

.list-dot::before {
    content: '・' !important;
}

/* 注釈 */
.unit-sup-01 {
    font-size: 1.2rem;
    vertical-align: super;
}

.unit-sub-01 {
    margin-bottom: 0.5em !important;
    color: #808080;
    font-size: 12px;
}

/* テーブル */
.table-01 {
    border-collapse: collapse;
}

.table-01 th {
    text-align: center;
}

.table-01 th,
.table-01 td {
    border: solid 1px;
    padding: 10px;
}

/* 画像右寄せ */
.img-right {
    float: right;
}


/* 画像出し分け */
img.pc {
    display: block
}

@media screen and (max-width:767px) {
    img.pc {
        display: none
    }
}

img.sp {
    display: none
}

@media screen and (max-width:767px) {
    img.sp {
        display: block
    }
}

@media screen and (max-width:767px) {
    img.sp.inline-block {
        display: inline-block
    }
}

/* ボタン */
.unit-btn-detail-01 {
    display: inline-block;
    margin: 10px auto
}

.unit-btn-detail-01 .inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    display: block;
    color: #fff;
    font-weight: bold;
    width: 100%;
    letter-spacing: 0.1rem;
    border-radius: 5px;
    padding: 12px 20px;
    background: #bb1c71;
    z-index: 1;
    text-align: center;
    font-size: 18px;
    min-width: 250px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease
}

@media screen and (max-width:767px) {
    .unit-btn-detail-01 .inner {
        font-size: 16px
    }
}

.unit-btn-detail-01 .inner:after {
    content: "";
    font-family: FontAwesome;
    font-size: 18px;
    padding-left: 5px
}

@media screen and (max-width:767px) {
    .unit-btn-detail-01 .inner:after {
        font-size: 16px
    }
}

.unit-btn-detail-01 .inner:hover {
    text-decoration: none;
    opacity: 0.7
}

.unit-btn-detail-01 p {
    margin: 0;
    letter-spacing: 0.1em;
    font-size: 16px;
}

@media screen and (max-width:767px) {
    .unit-btn-detail-01 p {
        font-size: 14px
    }
}

.btn-linkout .inner {
    background: #aaa;
    pointer-events: none;
}


/* 健康応援フェアLP */
.healthy-wrapper .unit-h-title-03 {
    margin: 0 auto 20px;
    width: fit-content;
    font-size: 2.5rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    position: relative;
    padding: 1rem 2rem calc(1rem + 10px);
    background: #D0E6AF;
}

@media screen and (max-width:768px) {
    .healthy-wrapper .unit-h-title-03 {
        font-size: 2rem
    }
}

.healthy-wrapper .unit-h-title-03:before {
    position: absolute;
    top: -7px;
    left: -7px;
    width: 100%;
    height: 100%;
    content: '';
    border: 2px solid #555;
}


.healthy-wrapper .unit-h-text-03 p {
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}

@media screen and (max-width:768px) {
    .healthy-wrapper .unit-h-text-03 p {
        text-align: left;
        font-size: 1.4rem
    }
}


.healthy-wrapper .unit-h-table-01 {
    margin: auto;
}

.healthy-wrapper .unit-h-table-01 th,
.healthy-wrapper .unit-h-table-01 td {
    font-weight: bold;
    letter-spacing: 0.05em;
    border: none;
}

@media screen and (max-width:768px) {

    .healthy-wrapper .unit-h-table-01 th,
    .healthy-wrapper .unit-h-table-01 td {
        display: block;
    }
}

.healthy-wrapper .unit-h-table-01 th {
    text-align: right;
    width: 40%;
    padding: 0.5em;
}

@media screen and (max-width:768px) {
    .healthy-wrapper .unit-h-table-01 th {
        text-align: left;
        width: 100%;
    }
}

.healthy-wrapper .unit-h-table-01 td {
    text-align: left;
    width: 60%;
    padding: 0.5em;
}

@media screen and (max-width:768px) {
    .healthy-wrapper .unit-h-table-01 td {
        width: 100%;
        padding: 0 0.5em 1.5em;
    }
}


.fukidashi-yellowgreen {
    position: relative;
    padding: 10px;
    background-color: #c7e73f;
    color: #1c642a;
    font-weight: 700;
    border-radius: 10px;
    margin: 0 1px 15px;
}

.fukidashi-yellowgreen:before {
    content: "";
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    bottom: -10px;
    left: 20px;
    margin-left: 0;
    background-color: #c7e73f;
    border-radius: 0 50px 0 50px;
    z-index: -1;
}

.fukidashi-yellowgreen:after {
    content: "";
    position: absolute;
    display: block;
    width: 30px;
    height: 30px;
    bottom: -5px;
    left: 30px;
    margin-left: 0;
    background-color: #fff;
    border-radius: 0 50px 0 50px;
    z-index: -1;
    transform: rotate(30deg);
}



/* お試しキャンペーンLP */
.healthcam-wrapper .wrapper {
    max-width: 1040px;
    margin: auto;
}

.healthcam-wrapper .w1250 {
    max-width: 1250px;
    margin: auto
}

.healthcam-wrapper .w900 {
    max-width: 900px;
    margin: auto
}

.healthcam-wrapper .box-mv-01 {
    margin-top: 40px;
    margin-bottom: 40px;
}

@media screen and (max-width:767px) {
    .healthcam-wrapper .box-mv-01 {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.healthcam-wrapper .box-mv-01 .mv {
    margin-bottom: 0
}

.healthcam-wrapper .box-mv-01 .mv img {
    max-width: 1040px;
    width: 100%;
    margin: auto
}

.healthcam-wrapper .sec-healthy-link {
    padding: 10px 0px 10px;
}

.healthcam-wrapper .box-h-anchor-01 {
    justify-content: space-around;
}

.healthcam-wrapper .sec-healthy-pro-01 {
    padding: 0 0 10px;
}

.healthcam-wrapper .wrapper {
    padding: 0 10px;
}


.pro-box.mothersday {
    border: 1px solid #edb1b3;
}

.bg02.mothersday {
    background-color: #edb1b3 !important;
    color: #fff !important;
    border-radius: 0px !important;
}

.pro-box.insole {
    border: 1px solid #00a1e9;
}

.bg02.insole {
    background-color: #00a1e9 !important;
    color: #fff !important;
    border-radius: 0px !important;
}

.coupon {
    background-color: #fff;
    color: #333;
    border-radius: 30px;
    padding: 4px 32px;
}

.btn-wh {
    background-color: #fff;
    max-width: 500px;
    margin: auto;
}