@charset "utf-8";

/*-----------------------------------
        基本設定
------------------------------------*/
.header_ {
    width: 100%;
}

.header_ p:nth-child(1) {
    background-color: #fff;
    height: 130px;
}

.header_ p:nth-child(2) {
    background-color: #897563;
    height: 50px;
    margin-bottom: 5px;
}

html {
    /* scroll-behavior: smooth; */
}

/*---戻るボタン---*/

.page_top {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 60px;
    background: rgba(255, 255, 255, 0.8);
    border: solid 2px #4d4135;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #4d4135;
    border-right: 3px solid #4d4135;
    transform: translateY(20%) rotate(-45deg);
}

.show.page_top {
    transition: 1s;
    opacity: 1;
    visibility: visible;
}

.main_contents,
.type_wrap {
    width: 100%;
}

img {
    object-fit: cover;
}

/*---fonts---*/
.main_contents * {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 400;
    color: #4d4135;
    word-break: break-all;
}

.main_contents p,
.main_contents li,
.basic_font_size,
.txt,
dt,
li {
    font-size: 18px;
    line-height: 1.8em;
}

.main_contents .heads {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: calc(30px + .5em) 0 30px 0;
}

.act_font {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
}

#min_font_size {
    font-size: 14px;
}

#point_font_size {
    font-size: 36px;
    font-weight: bold;
}

.bold {
    font-weight: bold;
}

/*---section margin---*/
.section_bottom {
    margin-bottom: 150px;
}

/*---flexible width---*/
.hero_header {
    width: 100%;
}

.section_wrap,
.type_block,
.sticky_btn_wrap {
    max-width: 980px;
    width: 100%;
    margin: 0 auto;
}

.main_contents {
    background-color: #e7d6bc;
}

/*---各タイプごとのカラー--*/
.typ_1 {
    background-color: #79b1cf;
}

.typ_2 {
    background-color: #d67b6f;
}

.typ_3 {
    background-color: #e3bc5e;
}

.typ_4 {
    background-color: #61b7af;
}

.font_typ_1 {
    color: #79b1cf;
}

.font_typ_2 {
    color: #d67b6f;
}

.font_typ_3 {
    color: #e3bc5e;
}

.font_typ_4 {
    color: #61b7af;
}

/*-----------------------------------
        スライダーの設定
------------------------------------*/

.splide {
    background-color: #e7d6bc;
    width: 100%;
}

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

.slide_top {
    background-color: rgba(231, 214, 188, .9);
    position: absolute;
    height: 100%;
    top: 0;
    left: 24.47%;
    width: 25.52%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide_top .img_wrap {
    width: 92%;
}

/*---スクロールバー---*/
.scrolldown1 {
    position: absolute;
    left: 8%;
    bottom: 50px;
    height: 0;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
    position: absolute;
    left: 15px;
    top: 20px;
    color: #4d4135;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.1em;
    word-break: keep-all;
}

/* 線の描写 */
.scrolldown1::after {
    content: "";
    position: absolute;
    bottom: 200px;
    width: 1px;
    height: 100px;
    background: #4d4135;
    animation: pathmove 2s ease-in-out infinite;
    opacity: 0;
}

@keyframes pathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }

    30% {
        height: 50px;
        opacity: 1;
    }

    100% {
        height: 0;
        top: 80px;
        opacity: 0;
    }
}

/*-----------------------------------
                導入
------------------------------------*/
/*---共通設定---*/
.intro_block,
.type_type_block {
    display: flex;
    flex-direction: column;
    align-items: center;
}

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

.inner_contents .heads {
    position: relative;
}

.inner_contents .heads::before,
.type_block .heads::before {
    content: "◆ ◆ ◆";
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    font-size: .5em;
    top: -30px;
}

.intro_block h2,
.type_block h2 {
    width: 100%;
    position: relative;
    z-index: 1;
}

.intro_block h2::before,
.type_block h2::before {
    content: "";
    position: absolute;
    top: 57%;
    left: 0;
    transform: translateY(-57%);
    width: 100%;
    height: 2px;
    background-color: #4d4135;
    z-index: 0;
}

.intro_block:nth-of-type(3) h2::before,
.intro_block:nth-of-type(4) h2::before {
    top: 43%;
    transform: translateY(-43%);
}

.type_block h2::before {
    top: 40%;
    transform: translateY(-40%);
}

/*---入りの説明文領域---*/

.intro_block h2 span {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 0 10px;
    background-color: #e7d6bc;
}

.intro_block .head_1_wrap {
    width: calc(18.77% + 10px);
}

.intro_block .inner_contents.first_block .txt {
    margin: 0 auto;
}

/*---体型の一例---*/
.intro_block .head_2_wrap {
    width: calc(26.63% + 10px);
}

.inner_contents .body_size {
    display: flex;
    justify-content: space-between;
}

.inner_contents .body_size .img_wrap,
.inner_contents .body_size .txt_wrap {
    width: 48.98%;
}

.inner_contents .body_size .txt_wrap {
    background-color: #fff;
    border: 1px solid #4d4135;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.inner_contents .body_size .txt_wrap::before {
    content: "";
    position: absolute;
    top: 1.02%;
    bottom: 1.02%;
    left: 1.3%;
    right: 1.2%;
    border: solid 1px #4d4135;
}

.inner_contents .body_size .txt_wrap .name .act_font {
    display: block;
    margin: 0;
    text-align: left;
    line-height: .5;
}

.inner_contents .body_size .txt_wrap .txt .insta {
    display: flex;
    align-items: center;
}

.inner_contents .body_size .txt_wrap .txt .insta .insta_icon {
    width: 7%;
    margin-right: 3px;
}

.inner_contents .body_size .txt_wrap .txt .body_txt_points {
    margin-top: 10px;
}

.inner_contents .body_size .txt_wrap .txt .body_txt_points ul {
    list-style: disc;
    margin-left: 1.5em;
}

/*---お悩み別ボタン---*/
.intro_block .head_3_wrap {
    width: calc(28.57% + 10px);
}

.intro_block .btn_contents {
    display: flex;
    gap: 6.122%;
}

.intro_block .btn_contents .btn_wrap {
    width: 20.4%;
}

.intro_block .btn_contents .btn_wrap .btn_pic_wrap {
    width: 80%;
    margin: 20px 10%;
    overflow: hidden;
}

.intro_block .btn_contents .btn_wrap .btn_pic_wrap img {
    transition: transform .6s ease;
}

.intro_block .btn_contents .btn_wrap .btn_head {
    background-color: #e7d6bc;
}

.intro_block .btn_contents .btn_wrap .btn_head .type_pic_wrap {
    margin: 0 auto;
    padding: 10px 0;
}

.intro_block .btn_contents .btn_wrap:nth-child(1) .btn_head .type_pic_wrap {
    width: 28.5%;
}

.intro_block .btn_contents .btn_wrap:nth-child(2) .btn_head .type_pic_wrap {
    width: 29.5%;
}

.intro_block .btn_contents .btn_wrap:nth-child(3) .btn_head .type_pic_wrap,
.intro_block .btn_contents .btn_wrap:nth-child(4) .btn_head .type_pic_wrap {
    width: 30.5%;
}

.intro_block .btn_contents .btn_wrap .btn_head {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.intro_block .btn_contents .btn_wrap .btn_head p {
    position: relative;
    font-weight: bold;
    transition: .6s ease;
}

.intro_block .btn_contents .btn_wrap .btn_head p::after {
    content: "";
    position: absolute;
    top: 60%;
    right: -15px;
    border: 0.3888rem solid transparent;
    border-top: 0.44444444444444rem solid #4d4135;
    transform: translateY(-50%);
    transition: all .6s ease;
}

/*---ホバーアクション---*/

.intro_block .btn_contents .btn_wrap:hover .btn_pic_wrap img {
    transform: scale(1.2);
}

.intro_block .btn_contents .btn_wrap.typ_1:hover .btn_head p {
    color: #79b1cf;
}

.intro_block .btn_contents .btn_wrap.typ_1:hover .btn_head p::after {
    top: 75%;
    border-top: 0.4444rem solid #79b1cf;
}

.intro_block .btn_contents .btn_wrap.typ_2:hover .btn_head p {
    color: #d67b6f;
}

.intro_block .btn_contents .btn_wrap.typ_2:hover .btn_head p::after {
    top: 75%;
    border-top: 0.4444rem solid #d67b6f;
}

.intro_block .btn_contents .btn_wrap.typ_3:hover .btn_head p {
    color: #e3bc5e;
}

.intro_block .btn_contents .btn_wrap.typ_3:hover .btn_head p::after {
    top: 75%;
    border-top: 0.4444rem solid #e3bc5e;
}

.intro_block .btn_contents .btn_wrap.typ_4:hover .btn_head p {
    color: #61b7af;
}

.intro_block .btn_contents .btn_wrap.typ_4:hover .btn_head p::after {
    top: 75%;
    border-top: 0.4444rem solid #61b7af;
}

/*---追従ボタン---*/
.sticky_btn_wrap {
    width: 100%;
    display: flex;
    gap: 2.04%;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: all .6s ease;
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 990;
}

.sticky_btn_wrap .sticky_btn {
    width: 100%;
    background-color: #fff;
    text-align: center;
}

.sticky_btn_wrap .sticky_btn a {
    display: block;
    position: relative;
    font-weight: bold;
    font-size: 16px;
    padding: 20px 0;
    transition: all .6s ease;
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    color: #4d4135;
}

.sticky_btn_wrap .sticky_btn a br {
    display: none;
}

.sticky_btn_wrap .sticky_btn a::after {
    content: "";
    position: absolute;
    top: 45%;
    border: 0.3888rem solid transparent;
    border-top: 0.4444rem solid #4d4135;
    transition: all .6s ease;
}

.sticky_btn_wrap .sticky_btn:nth-child(1) a {
    border: 8px solid #79b1cf;
}

.sticky_btn_wrap .sticky_btn:nth-child(2) a {
    border: 8px solid #d67b6f;
}

.sticky_btn_wrap .sticky_btn:nth-child(3) a {
    border: 8px solid #e3bc5e;
}

.sticky_btn_wrap .sticky_btn:nth-child(4) a {
    border: 8px solid #61b7af;
}

.sticky_btn_wrap .sticky_btn:hover a::after {
    border-top: 0.4444rem solid #fff;
}

.sticky_btn_wrap .tp_1:hover,
.sc_act1 {
    background-color: #79b1cf;
    color: #fff;
}

.sticky_btn_wrap .tp_2:hover,
.sc_act2 {
    background-color: #d67b6f;
    color: #fff;
}

.sticky_btn_wrap .tp_3:hover,
.sc_act3 {
    background-color: #e3bc5e;
    color: #fff;
}

.sticky_btn_wrap .tp_4:hover,
.sc_act4 {
    background-color: #61b7af;
    color: #fff;
}

.on_scroll {
    visibility: visible;
    opacity: 1;
}

/*-----------------------------------
            タイプ別ブロック
------------------------------------*/
/*---見出し商品---*/
.type_wrap {
    padding-bottom: 100px;
}

.type_wrap:nth-last-child(1) {
    padding-bottom: 150px;
}

.type_wrap .type_block h2 {
    padding-top: 50px;
}

.type_wrap .type_block .head_wrap {
    position: relative;
    width: calc(18.57% + 10px);
    display: block;
    margin: 0 auto;
    padding: 0 10px;
}

.type_wrap .type_block .heads {
    display: flex;
    justify-content: center;
    position: relative;
}

.type_wrap .type_block h3 {
    color: #fff;
    margin-bottom: 30px;
    text-align: center;
}

.type_wrap .type_block .large_block {
    display: flex;
    background-color: #fff;
    gap: 2.04%;
    padding: 20px 2.04%;
    margin-bottom: 50px;
}

.type_wrap .type_block .large_block:nth-of-type(2n) {
    flex-flow: row-reverse;
}

.type_wrap .type_block .large_block .sp_head {
    display: none;
}

.type_wrap .type_block .large_block .img_wrap,
.type_wrap .type_block .large_block .inner {
    width: 50%;
}

.type_wrap .type_block .large_block .inner {
    display: flex;
    flex-flow: wrap;
    justify-content: center;
}

.type_wrap .type_block .large_block .inner .act_font {
    margin-bottom: 20px;
}

.type_wrap .type_block .act_font,
.type_wrap .type_block .large_block .sp_head {
    line-height: 1.5;
}

.type_wrap .type_block .large_block .inner .detail_wrap {
    display: flex;
    position: relative;
    gap: 0 4.4%;
}

.type_wrap .type_block .large_block .inner .detail_wrap::before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 40px;
    background-image: url(https://ic4-a.wowma.net/mi/w/1280/h/1280/q/90/bcimg1-a.wowma.net/plus/u13980757/pc/feature-styles/assets/css/../img/block_point.png);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: -32px;
}

.type_wrap .type_block .large_block .inner .side {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.type_wrap .type_block .large_block .inner .link_wrap a,
.type_wrap .type_block .small_blocks .inner .link_wrap a {
    display: flex;
    align-items: center;
    gap: 4.166%;
}

.type_wrap .type_block .large_block .inner .link_wrap a *,
.type_wrap .type_block .small_blocks .inner .detail .link_wrap * {
    font-weight: bold;
}

.type_wrap .type_block .large_block .inner .link_wrap .img_wrap {
    width: 39.13%;

}

.type_wrap .type_block .small_blocks .inner .detail .link_wrap .img_wrap {
    width: 40.942%;
}

.type_wrap .type_block .large_block .inner .detail_wrap .detail .img_wrap {
    width: 100%;
}

.type_wrap .type_block .large_block .inner .detail_wrap .detail {
    width: 50%;
}

.type_wrap .type_block .large_block .inner .link_wrap .txt_wrap {
    width: 52.364%;
}

.type_wrap .type_block .large_block .inner .detail_wrap .detail .txt {
    margin: 10px 0;
}

/*---その他商品---*/
.type_wrap .type_block .small_blocks {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 50px 2.04%;
    justify-content: space-between;
}

.type_wrap .type_block .small_blocks .inner {
    width: 48.98%;
    background-color: #fff;
}

.type_wrap .type_block .small_blocks .inner .detail {
    padding: 4.166%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.type_wrap .type_block .small_blocks .inner .link_wrap {
    width: 100%;
    margin-top: 20px;
}

.type_wrap .type_block .small_blocks .inner .link_wrap .txt_wrap {
    width: 54.9%;
}

.type_wrap .type_block .inner .link_wrap a p {
    font-size: 13px;
    font-weight: normal;
}

/*---送料無料マーク---*/
.type_wrap .type_block .inner .link_wrap a .price {
    font-size: 24px;
    font-weight: bold;
    position: relative;
}

.free::after {
    content: '送料無料';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 8px;
    margin-left: 10px;
    background-color: #4d4135;
}

/*---リンクのエフェクト---*/
.shine_act {
    position: relative;
    overflow: hidden;
}

.shine_act::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 10%;
    height: 150%;
    background: #fff;
    /*光の色*/
    transform: rotate(45deg);
    /*45度傾ける*/
    animation: reflect 5s ease-in-out infinite;
}

@keyframes reflect {

    0%,
    75% {
        transform: rotate(45deg) scale(0);
        opacity: 1;
    }

    100% {
        transform: rotate(45deg) scale(100);
        opacity: 0;
    }
}

/*---画面遷移エフェクト---*/
.leftCurtainbg,
.rightCurtainbg {
    display: block;
    content: "";
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    background-color: #e7d6bc;
    animation-duration: 1.2s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

.leftCurtainbg {
    right: 50%;
    transform: scaleX(0);
    animation-name: curtainAnimeLeft;
}

.rightCurtainbg {
    left: 50%;
    transform: scaleX(1);
    animation-name: curtainAnimeRight;
}

@keyframes curtainAnimeLeft {
    0% {
        transform-origin: right;
        transform: scaleX(1);
    }

    50% {
        transform-origin: left;
    }

    100% {
        transform-origin: left;
        transform: scaleX(0);
    }
}

@keyframes curtainAnimeRight {
    0% {
        transform-origin: left;
        transform: scaleX(1);
    }

    50% {
        transform-origin: right;
    }

    100% {
        transform-origin: right;
        transform: scaleX(0);
    }
}

.fadeout {
    animation: fadeOut 0.8s;
    animation-fill-mode: both;
}

@keyframes fadeOut {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

/*bodyにpageOnクラスがついたら出現*/
body.pageOn #container {
    animation-name: PageAnimeOn;
    animation-duration: 1s;
    animation-delay: 0.2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes PageAnimeOn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}