@charset "UTF-8";





/*index*/
/*メインビジュアル*/
.index .mainimg {
    overflow-x: clip;
    position: relative;
    padding: 21.1rem 0 0;
}
.index .mainimg .slider {
    width: 76.042vw;                        /*146*/
    border-radius: 0 3rem 3rem 0;
    overflow: hidden;
}
.index .mainimg .slider .pic {
    height: 52.656vw;                       /*101.1*/
}
.index .mainimg h2 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: clamp(3rem, 2.292vw, 4.4rem); /*4.4*/
    font-weight: 700;
    line-height: 1.73;
    writing-mode: vertical-rl;
    white-space: nowrap;
    position: absolute;
    top: 17.2rem;
    right: 12.24vw;                         /*23.5*/
}
.index .mainimg .wave {
    width: 97.5vw;                          /*187.2*/
    position: absolute;
    top: calc(21.1rem + 35.885vw);          /*68.9*/
    left: 12.344vw;                         /*23.7*/
    z-index: 2;
    pointer-events: none;
}
.index .mainimg .wave img {
    width: 100%;
}

/*眠りのお悩みに寄り添う*/
.index_cnt1 {
    overflow-x: clip;
    position: relative;
    padding: 22.2rem 0 25.1rem;
}
.index_cnt1 .pic {
    width: 55.208vw;                        /*106*/
    aspect-ratio: 1060/741;
    border-radius: 0 3rem 3rem 0;
    position: absolute;
    top: 28.5rem;
    left: 0;
}
.index_cnt1 .deco {
    color: #fbeccd;
    font-family: "Sniglet", sans-serif;
    font-size: 8.333vw;                     /*16*/
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transform: scaleX(0.756);
    transform-origin: left top;
    position: absolute;
    top: calc(28.5rem + 32.17vw);           /*61.8*/
    left: 2.396vw;                          /*4.6*/
    z-index: 3;
}
.index_cnt1 .illust {
    width: 14.688vw;                        /*28.2*/
    position: absolute;
    top: calc(28.5rem + 18.646vw);          /*35.8*/
    left: 40.104vw;                         /*77*/
    z-index: 2;
}
.index_cnt1 .illust img {
    width: 100%;
}
.index_cnt1 .inner {
    width: auto;
    max-width: none;
    margin: 0 0 0 57.969vw;                 /*111.3*/
    padding: 0 2rem 0 0;
}
.index_cnt1 .inner .titleA {
    justify-items: start;
    text-align: left;
}
.index_cnt1 .inner .titleA h3 {
    font-size: clamp(3rem, 2.083vw, 4rem);  /*4*/
    line-height: 1.55;
    margin: 0.5rem 0 0 4.5rem;
}
.index_cnt1 .inner .cmt {
    max-width: 61.5rem;
    line-height: 2.222;
    margin: 2.3rem 0 5.4rem 4.7rem;
}
.index_cnt1 .inner .buttonA {
    width: 30rem;
    margin: 0 0 0 4.7rem;
}

/*こんなお悩みありませんか？*/
.index_cnt2 {
    background: #fdf8ee;
    border-radius: 50% 50% 0 0 / 75rem 75rem 0 0;
    padding: 4.2rem 0 10.8rem;
}
.index_cnt2 .inner .title {
    width: 51.2rem;
    margin: 0 auto 1.7rem;
}
.index_cnt2 .inner .title .icon {
    width: 5.2rem;
    margin: 0 0 0 8.5rem;
}
.index_cnt2 .inner .title h3 img {
    width: 100%;
}
.index_cnt2 .inner .flex {
    width: min(100.4rem, 100%);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 4.7rem;
}
.index_cnt2 .inner .flex .dl {
    width: 25.1rem;
    height: 22.4rem;
    background: no-repeat center;
    display: grid;
    align-content: start;
    justify-items: center;
    text-align: center;
}
.index_cnt2 .inner .flex .dl:nth-of-type(1) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg1.png);
    background-size: 19.1rem 20rem;
    background-position: calc(50% + 0.2rem) calc(50% - 1rem);
}
.index_cnt2 .inner .flex .dl:nth-of-type(2) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg2.png);
    background-size: 21.1rem 20rem;
    background-position: calc(50% - 0.2rem) calc(50% - 0.2rem);
}
.index_cnt2 .inner .flex .dl:nth-of-type(3) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg3.png);
    background-size: 20.9rem 19.6rem;
    background-position: calc(50% + 0.2rem) 50%;
}
.index_cnt2 .inner .flex .dl:nth-of-type(4) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg4.png);
    background-size: 19.3rem 19.6rem;
    background-position: calc(50% - 0.2rem) calc(50% - 1.5rem);
}
.index_cnt2 .inner .flex .dl:nth-of-type(5) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg5.png);
    background-size: 21rem 20.1rem;
    background-position: calc(50% - 1.1rem) calc(50% + 0.3rem);
}
.index_cnt2 .inner .flex .dl:nth-of-type(6) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg6.png);
    background-size: 22.2rem 20.1rem;
    background-position: calc(50% - 0.6rem) calc(50% - 0.6rem);
}
.index_cnt2 .inner .flex .dl:nth-of-type(7) {
    background-image: url(/system_panel/uploads/images/index_cnt2_bg7.png);
    background-size: 22.3rem 20.6rem;
    background-position: calc(50% + 0.6rem) calc(50% - 0.7rem);
}
.index_cnt2 .inner .flex .dl .dd.icon {
    grid-row: 1;
    height: 11.8rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.index_cnt2 .inner .flex .dl:nth-of-type(1) .dd.icon img {
    width: 7.8rem;
    margin: 0 0 0.5rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(2) .dd.icon img {
    width: 5.9rem;
    margin: 0 0 1.1rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(3) .dd.icon img {
    width: 6.9rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(4) .dd.icon img {
    width: 8.5rem;
    margin: 0 0 0.6rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(5) .dd.icon img {
    width: 9.4rem;
    margin: 0 0 1.4rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(6) .dd.icon img {
    width: 7.9rem;
    margin: 0 0 1.6rem;
}
.index_cnt2 .inner .flex .dl:nth-of-type(7) .dd.icon img {
    width: 10.5rem;
}
.index_cnt2 .inner .flex .dl .dt {
    font-size: 1.6rem;
    line-height: 1.5;
    white-space: nowrap;
}
.index_cnt2 .inner .cmt {
    line-height: 2.389;
    text-align: center;
}

/*おすすめのメニュー*/
.index_cnt3 {
    background: #fdf8ee;
    position: relative;
    z-index: 0;
    padding: 12.3rem 0 25.5rem;
}
.index_cnt3::before {
    content: "";
    background: linear-gradient(to bottom, #f0eae0 calc(100% - 14.5rem), #ffbd52 100%);
    border-radius: 14rem 14rem 0 0;
    position: absolute;
    inset: 0;
    z-index: -1;
}
.index_cnt3 .inner .titleC p {
    gap: 2.7rem;
    margin: 0 0 2.3rem 2.3rem;
}
.index_cnt3 .inner .grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 38rem));
    justify-content: center;
    gap: 3rem;
    margin: 8.3rem 0 7.9rem;
}
.index_cnt3 .inner .grid .set {
    background: #fff;
    border-radius: 1rem;
    overflow: hidden;
    padding: 0 0 2rem;
}
.index_cnt3 .inner .grid .set .pic {
    height: 26.8rem;
}
.index_cnt3 .inner .grid .set h4 {
    color: #f3a541;
    font-size: 2.8rem;
    line-height: 1;
    margin: 3rem 0 2.1rem;
}
.index_cnt3 .inner .grid .set h4 a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #f3a541;
    padding: 0 3.1rem 0 3.8rem;
}
.index_cnt3 .inner .grid .set h4 a::after {
    content: "";
    background: url(/system_panel/uploads/images/arrowB.png) no-repeat center;
    background-size: contain;
    width: 3.1rem;
    height: 3.1rem;
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s;
}
.index_cnt3 .inner .grid .set h4 a:hover::after {
    transform: translateX(0.6rem);
}
.index_cnt3 .inner .grid .set .read {
    min-height: 7.7rem;
    background: #f2ede6;
    border-radius: 1rem;
    display: grid;
    align-content: center;
    line-height: 1.778;
    margin: 0 2.9rem 1.5rem;
    padding: 0 2.2rem 0 2.8rem;
}
.index_cnt3 .inner .grid .set .check {
    margin: 0 2.9rem;
}
.index_cnt3 .inner .buttonA {
    width: 30rem;
    margin: auto;
}

/*よくあるご質問・施術の流れ*/
.index_cnt4 {
    padding: 5.3rem 0 8.1rem;
}
.index_cnt4 .inner .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 57.6rem));
    justify-content: center;
    column-gap: 4.8rem;
}
.index_cnt4 .inner .grid .dl {
    display: grid;
    justify-items: center;
}
.index_cnt4 .inner .grid .dl .dd.balloon {
    grid-row: 1;
    justify-self: start;
    height: 7rem;
    background: no-repeat left top;
    background-size: contain;
    display: grid;
    place-items: center;
    color: #f3a541;
    font-size: 1.6rem;
    line-height: 1;
}
.index_cnt4 .inner .grid .dl:nth-of-type(1) .dd.balloon {
    width: 14.5rem;
    background-image: url(/system_panel/uploads/images/balloon2.png);
    margin: 0 0 0 22.6rem;
    padding: 0 0 3.2rem 0.4rem;
}
.index_cnt4 .inner .grid .dl:nth-of-type(2) .dd.balloon {
    width: 15.5rem;
    background-image: url(/system_panel/uploads/images/balloon3.png);
    margin: 0 0 0 14.7rem;
    padding: 0 0.7rem 2.8rem 0;
}
.index_cnt4 .inner .grid .dl .dt {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 3rem;
}
.index_cnt4 .inner .grid .dl .dd.pic {
    aspect-ratio: 576/400;
    border-radius: 1rem;
    margin: 0 0 2.7rem;
}
.index_cnt4 .inner .grid .dl .buttonA {
    width: 35.5rem;
}

/*お客様の声*/
.index_cnt5 {
    padding: 0 0 8.4rem;
}
.index_cnt5 .inner .sub {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 3.7rem;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1;
    margin: 0 12.4rem 1.7rem auto;
}
.index_cnt5 .inner .sub::before,
.index_cnt5 .inner .sub::after {
    content: "";
    width: 0.2rem;
    height: 4rem;
    background: #2b2523;
    display: block;
    transform: rotate(-40deg);
}
.index_cnt5 .inner .sub::after {
    transform: rotate(40deg);
}
.index_cnt5 .inner .window {
    height: 26rem;
    background: #fff;
    border-radius: 1rem;
    display: block;
    overflow: hidden;
    position: relative;
    padding: 9.2rem 0 0 10rem;
}
.index_cnt5 .inner .window .pic {
    height: 100%;
    position: absolute;
    inset: 0;
}
.index_cnt5 .inner .window .pic img {
    object-position: right center;
    transition: transform 0.5s;
}
.index_cnt5 .inner .window:hover .pic img {
    transform: scale(1.03);
}
.index_cnt5 .inner .window .titleB {
    width: fit-content;
    position: relative;
}
.index_cnt5 .inner .window .titleB p {
    color: #f3a541;
    margin: 0 0 1.3rem;
}
.index_cnt5 .inner .window .titleB h3 {
    color: #2b2523;
    font-size: 3.5rem;
    text-shadow: #ffffff 1px 0 10px;
}

/*お知らせ*/
.index_cnt6 {
    background: linear-gradient(to bottom, #ffbd52 0, #f0eae0 12rem);
    overflow-x: clip;
    position: relative;
    padding: 21.7rem 0 12.3rem;
}
.index_cnt6 .wave {
    width: 109.219vw;                       /*209.7*/
    position: absolute;
    top: -2.1rem;
    left: -23.698vw;                        /*-45.5*/
    pointer-events: none;
}
.index_cnt6 .wave img {
    width: 100%;
}
.index_cnt6 .inner .window {
    background: #fff;
    border-radius: 3rem;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 6.2rem 13rem 7.8rem;
}
.index_cnt6 .inner .window .titleB {
    width: fit-content;
}
.index_cnt6 .inner .window .titleB p {
    margin: 0 0 1.1rem;
}
.index_cnt6 .inner .window .buttonA {
    width: 22rem;
    align-self: end;
    margin: 0 0 -1rem;
}
.index_cnt6 .inner .window .webgene-blog {
    grid-column: 1 / 3;
    border-top: 0.1rem solid #eae4da;
    margin: 5.6rem 0 0;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item {
    border-bottom: 0.1rem solid #eae4da;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    padding: 3.6rem 6rem 3.8rem 0.7rem;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl::after {
    content: "";
    background: url(/system_panel/uploads/images/arrowC.png) no-repeat center;
    background-size: contain;
    width: 3.3rem;
    height: 3.3rem;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    transition: right 0.3s;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl:hover::after {
    right: 0.4rem;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dd.day {
    order: 1;
    color: #bfbab8;
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0 1.8rem 0 0;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
    order: 2;
    min-width: 11.8rem;
    height: 2.4rem;
    background: #f1ece5;
    border-radius: 1.2rem;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    padding: 0 1.5rem;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dt {
    order: 3;
    width: 100%;
    font-size: 1.8rem;
    margin: 1.5rem 0 0;
}
.index_cnt6 .inner .window .webgene-blog .webgene-item .dl .dt a::after {
    content: "";
    position: absolute;
    inset: 0;
}
.index .bottom {
    background: linear-gradient(to bottom, #eae4da 14rem, transparent 14rem);
}





/*about*/
.about .maintitle {
    margin: 0 0 20.1rem;
}

/*頑張ってきた身体に*/
.about_cnt1 {
    overflow-x: clip;
    padding: 0 0 17.7rem;
}
.about_cnt1 .inner .col2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.about_cnt1 .inner .col2 .left {
    min-width: 0;
    padding: 1rem 0 0 4.1rem;
}
.about_cnt1 .inner .col2 .left .catch {
    line-height: 2.222;
}
.about_cnt1 .inner .col2 .right {
    flex: 0 1 57.6rem;
    min-width: 0;
    position: relative;
    margin: 0 min(11.5rem, 6vw) 0 0;
}
.about_cnt1 .inner .col2 .right .pic {
    aspect-ratio: 576/400;
    border-radius: 1rem;
}
.about_cnt1 .inner .col2 .right .illust {
    width: 40.3rem;
    position: absolute;
    top: 11.5rem;
    left: 33.9rem;
}
.about_cnt1 .inner .col2 .right .illust img {
    width: 100%;
}

/*來の想い*/
.about_cnt2 {
    background: linear-gradient(to bottom, #f0eae0 calc(100% - 18.5rem), #ffbd52 100%);
    border-radius: 14rem 14rem 0 0;
    padding: 8.5rem 0 26.7rem;
}
.about_cnt2 .inner .titleA p {
    margin: 0 14.4rem 0 0;
}
.about_cnt2 .inner .titleA {
    margin: 0 0 9.6rem;
}
.about_cnt2 .inner .col2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
}
.about_cnt2 .inner .col2:not(:last-of-type) {
    margin: 0 0 11rem;
}
.about_cnt2 .inner .col2 > div {
    flex: 0 1 60rem;
    min-width: 0;
}
.about_cnt2 .inner .col2 > div:has(.pic) {
    flex-basis: 54rem;
}
.about_cnt2 .inner .col2 .pic {
    width: 100%;
    aspect-ratio: 540/400;
    border-radius: 1rem;
}
.about_cnt2 .inner .col2 .cmt {
    max-width: 60rem;
    line-height: 2.222;
}
.about_cnt2 .inner .col2:nth-of-type(2) .left {
    padding: 1.6rem 0 0;
}
.about_cnt2 .inner .col2:nth-of-type(3) .right {
    padding: 0.2rem 0 0;
}

/*「來」という名前*/
.about_cnt3 {
    padding: 10.4rem 0 0;
}
.about_cnt3 .inner .window {
    background: #fdf8ee;
    border-radius: 1rem;
    display: grid;
    grid-template-columns: 26rem minmax(0, 1fr);
    align-items: center;
    min-height: 35rem;
    column-gap: 4rem;
    padding: 0 1.5rem 0 4.5rem;
}
.about_cnt3 .inner .window .pic {
    aspect-ratio: 1/1;
    border-radius: 1rem;
}
.about_cnt3 .inner .window .cmt {
    max-width: 80rem;
    line-height: 2.222;
}

/*施術者メッセージ*/
.about_cnt4 {
    padding: 20.3rem 0 21.8rem;
}
.about_cnt4 .inner .col2 {
    display: flex;
    justify-content: space-between;
    gap: 3.3rem;
}
.about_cnt4 .inner .col2 .left {
    width: 50rem;
    flex-shrink: 0;
    padding: 5.1rem 0 0;
}
.about_cnt4 .inner .col2 .left .pic {
    aspect-ratio: 500/620;
    border-radius: 1rem;
    margin: 0 0 2.3rem;
}
.about_cnt4 .inner .col2 .left .name {
    display: flex;
    align-items: baseline;
    gap: 1.7rem;
    padding: 0 0 0 2.9rem;
}
.about_cnt4 .inner .col2 .left .name p:first-of-type {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
}
.about_cnt4 .inner .col2 .left .name p:last-of-type {
    font-size: 1.6rem;
    line-height: 1;
}
.about_cnt4 .inner .col2 .right {
    width: 66.7rem;
}
.about_cnt4 .inner .col2 .right .titleA {
    justify-items: start;
    text-align: left;
    margin: 0 0 4rem;
}
.about_cnt4 .inner .col2 .right .titleA h3 {
    margin: 1.7rem 0 0 4.3rem;
}
.about_cnt4 .inner .col2 .right .cmt {
    max-width: 61.5rem;
    line-height: 2.222;
    margin: 0 0 0 4.5rem;
}

/*サロン概要*/
.about_cnt5 {
    background: #f0eae0;
    overflow-x: clip;
    position: relative;
    padding: 19.7rem 0 11.9rem;
}
.about_cnt5 .wave {
    width: 109.219vw;                       /*209.7*/
    position: absolute;
    top: -5.3rem;
    left: -23.594vw;                        /*-45.3*/
    pointer-events: none;
}
.about_cnt5 .wave img {
    width: 100%;
}
.about_cnt5 .inner {
    max-width: 142rem;
}
.about_cnt5 .inner .window {
    background: #fff;
    border-radius: 3rem;
    padding: 6.2rem 11rem 6.8rem;
}
.about_cnt5 .inner .window .titleB {
    margin: 0 0 4.4rem;
}
.about_cnt5 .inner .window .titleB p {
    margin: 0 0 1rem;
}
.about_cnt5 .inner .window .flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4rem;
}
.about_cnt5 .inner .window .flex .grid {
    width: 56rem;
    border-top: 0.1rem solid #eae4da;
    margin: 1.8rem 0 0;
}
.about_cnt5 .inner .window .flex .grid .dl {
    min-height: 5.5rem;
    border-bottom: 0.1rem solid #eae4da;
    display: grid;
    grid-template-columns: 17rem minmax(0, 1fr);
    align-items: center;
    line-height: 1.5;
    padding: 1rem 0;
}
.about_cnt5 .inner .window .flex .grid .dl .dt {
    color: #bfbab8;
    font-weight: 500;
    padding: 0 0 0 1.7rem;
}
.about_cnt5 .inner .window .flex .photo {
    width: 57.1rem;
    height: 42rem;
    position: relative;
}
.about_cnt5 .inner .window .flex .photo .pic {
    position: absolute;
}
.about_cnt5 .inner .window .flex .photo .pic:nth-of-type(1) {
    width: 26rem;
    height: 42rem;
    top: 0;
    right: 0;
}
.about_cnt5 .inner .window .flex .photo .pic:nth-of-type(2) {
    width: 36rem;
    height: 30rem;
    bottom: 0;
    left: 0;
}
.about_cnt5 .inner .map {
    height: 44rem;
    border-radius: 3rem;
    overflow: hidden;
    margin: 6.5rem 0 0;
}
.about_cnt5 .inner .map iframe {
    width: 100%;
    height: 100%;
    vertical-align: bottom;
}
.about .bottom {
    background: linear-gradient(to bottom, #f0eae0 14rem, transparent 14rem);
}





/*features*/
.features .maintitle {
    margin: 0 0 22.5rem;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 4rem;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 > div {
    flex: 0 1 58rem;
    min-width: 0;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .pic {
    width: 100%;
    aspect-ratio: 580/480;
    border-radius: 1rem;
}
:is(.features_cnt1, .features_cnt3, .features_cnt5) .inner .col2 .right {
    padding: 0.8rem 0 0;
}
:is(.features_cnt2, .features_cnt4) .inner .col2 .left {
    padding: 0.7rem 0 0;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title {
    position: relative;
    margin: 0 0 2rem;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.55;
    position: relative;
    z-index: 1;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .title .num {
    color: #fbeccd;
    font-family: "Sniglet", sans-serif;
    font-size: 16rem;
    font-weight: 800;
    line-height: 1;
    transform: scaleX(0.85);
    transform-origin: left top;
    position: absolute;
    top: -1.3rem;
}
.features_cnt1 .inner .col2 .title .num {
    left: 39.9rem;
}
.features_cnt2 .inner .col2 .title .num {
    color: #ffbd52;
    left: 38.1rem;
}
.features_cnt3 .inner .col2 .title .num {
    left: 39rem;
}
.features_cnt4 .inner .col2 .title .num {
    color: #ffbd52;
    left: 38.2rem;
}
.features_cnt5 .inner .col2 .title .num {
    left: 39.2rem;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) .inner .col2 .cmt {
    max-width: 56rem;
    line-height: 2.222;
}
.features_cnt1 .inner .col2 .cmt {
    margin: 0 0 2.8rem;
}
.features_cnt1 .inner .col2 .buttonA {
    width: 30rem;
}
:is(.features_cnt1, .features_cnt2, .features_cnt3, .features_cnt4, .features_cnt5) {
    overflow-x: clip;
}
.features_cnt1 {
    padding: 0 0 10.8rem;
}
.features_cnt5 .inner .col2 .pic {
    aspect-ratio: 1/1;
}
:is(.features_cnt2, .features_cnt4) {
    position: relative;
    z-index: 0;
    padding: 13rem 0 11.9rem;
}
:is(.features_cnt2, .features_cnt4)::before {
    content: "";
    width: 92.708%;                         /*178*/
    background: #f0eae0;
    border-radius: 0 3rem 3rem 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.features_cnt3 {
    padding: 13.4rem 0 10.8rem;
}
.features_cnt4 {
    padding: 12.9rem 0 11.8rem;
}
.features_cnt5 {
    padding: 13rem 0 20.9rem;
}
.features_cnt6 {
    background: #f0eae0;
    overflow-x: clip;
    position: relative;
    padding: 20.3rem 0 12.4rem;
}
.features_cnt6 .wave {
    width: 109.219vw;                       /*209.7*/
    position: absolute;
    top: -4.7rem;
    left: -23.594vw;                        /*-45.3*/
    pointer-events: none;
}
.features_cnt6 .wave img {
    width: 100%;
}
.features_cnt6 .inner {
    max-width: 142rem;
}
.features_cnt6 .inner .window {
    background: #fff;
    border-radius: 3rem;
    display: grid;
    justify-items: center;
    text-align: center;
    padding: 6.4rem 2rem 6.2rem;
}
.features_cnt6 .inner .window .cmt {
    line-height: 2.222;
    margin: 0 0 5.2rem;
}
.features_cnt6 .inner .window .buttonA {
    width: 35rem;
    margin: 0 2rem 0 0;
}
.features .bottom {
    background: linear-gradient(to bottom, #f0eae0 14rem, transparent 14rem);
}





/*concern*/
.concern .maintitle {
    margin: 0 0 22.3rem;
}

/*なんとなくの不調を*/
.concern_cnt1 {
    padding: 0 0 6.2rem;
}
.concern_cnt1 .inner h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.55;
    margin: 0 0 2.2rem;
}
.concern_cnt1 .inner .cmt {
    line-height: 2.222;
}

/*お悩みから探す（共通）*/
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 {
    display: flex;
    justify-content: center;
    gap: 6rem;
    margin: 0 1.2rem 11.4rem 0;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left {
    flex: 0 1 44rem;
    min-width: 0;
    background: #fff;
    border-radius: 1rem;
    padding: 3rem 3.9rem 3rem 2.9rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left .cate {
    width: fit-content;
    height: 4.5rem;
    background: #f2ede6;
    border-radius: 1rem;
    display: grid;
    align-items: center;
    line-height: 1;
    margin: 0 0 1.8rem;
    padding: 0 3rem 0 2.9rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left .check {
    margin: 0 0 0 0.2rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .left .check .li {
    padding: 0 0 0 1rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .right {
    flex: 0 1 60rem;
    min-width: 0;
    position: relative;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .col2 .right .pic {
    height: 43rem;
    border-radius: 1rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .titleC p {
    gap: 3.6rem;
    margin: 0 0 2.3rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .cmt {
    line-height: 2.389;
    text-align: center;
    margin: 4.6rem 0 5rem;
}
:is(.concern_cnt2, .concern_cnt3, .concern_cnt4) .inner .buttonA {
    min-width: 35rem;
    margin: auto;
}
.concern_cnt2 {
    background: linear-gradient(to bottom, #fdf8ee calc(100% - 16rem), #ffbd52 calc(100% - 2rem));
    border-radius: 50% 50% 0 0 / 75rem 75rem 0 0;
    padding: 5.2rem 0 22rem;
}
.concern_cnt2 .inner .titleA {
    margin: 0 0 6rem;
}
.concern_cnt2 .inner .titleA p {
    margin: 0 28.2rem 0 0;
}
.concern_cnt2 .inner .titleA h3 {
    color: #f79a22;
    margin: 1rem 0 0;
}
.concern_cnt2 .inner .buttonA {
    width: 40rem;
}
.concern_cnt3 {
    padding: 13.9rem 0 10.6rem;
}
.concern_cnt3 .inner .col2 .right .balloon {
    width: 14.5rem;
    height: 6.6rem;
    background: url(/system_panel/uploads/images/balloon2.png) no-repeat center;
    background-size: contain;
    display: grid;
    place-items: center;
    color: #f3a541;
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: -3.7rem;
    left: 39.3rem;
    padding: 0 0 3rem;
}
.concern_cnt3 .inner .titleC h4 {
    color: #fff;
}
.concern_cnt3 .inner .cmt {
    margin: 4.6rem 0 3.8rem;
}
.concern_cnt4 {
    background: linear-gradient(to bottom, #ffbd52 0, #fdf8ee 10rem);
    padding: 23.1rem 0 12.2rem;
}
.concern_cnt4 .inner .buttonA {
    width: 36rem;
}

/*どのメニューを選べばいいかわからない*/
.concern_cnt5 {
    background: #f0eae0;
    overflow-x: clip;
    position: relative;
    margin: 16.8rem 0 0;
    padding: 20.1rem 0 12rem;
}
.concern_cnt5 .wave {
    width: 109.219vw;                       /*209.7*/
    position: absolute;
    top: -4.9rem;
    left: -23.594vw;                        /*-45.3*/
    pointer-events: none;
}
.concern_cnt5 .wave img {
    width: 100%;
}
.concern_cnt5 .inner {
    max-width: 142rem;
}
.concern_cnt5 .inner .window {
    background: #fff;
    border-radius: 3rem;
    text-align: center;
    padding: 7.8rem 2rem 6.1rem;
}
.concern_cnt5 .inner .window h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 5.5rem;
}
.concern_cnt5 .inner .window .cmt {
    line-height: 2.222;
}
.concern .bottom {
    background: linear-gradient(to bottom, #f0eae0 14rem, transparent 14rem);
}





/*menu*/
.menu .maintitle {
    margin: 0 0 23.3rem;
}

/*來の施術メニュー*/
.menu_cnt1 {
    padding: 0 0 9.4rem;
}
.menu_cnt1 .inner .title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 4.9rem;
    margin: 0 0 5.5rem;
}
.menu_cnt1 .inner .title h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}
.menu_cnt1 .inner .title p {
    line-height: 1;
}
.menu_cnt1 .inner .grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 38rem));
    justify-content: center;
    gap: 3rem;
}
.menu_cnt1 .inner .grid .dl {
    background: #fff;
    border-radius: 1rem;
    display: grid;
    justify-items: center;
    position: relative;
    overflow: hidden;
    padding: 0 0 2.5rem;
}
.menu_cnt1 .inner .grid .dl:nth-child(2) {
    overflow: visible !important;
}
.menu_cnt1 .inner .grid .dl:nth-child(2)::before {
  content: "";
  position: absolute;
  top: -30px;    /* 上にはみ出す量 */
  right: -20px;  /* 右にはみ出す量 */
  width: 150px;
  height: 90px;
  background: url("https://salon-rai.com/system_panel/uploads/images/20261008145816159259.png") no-repeat center / contain;
  z-index: 10;
  pointer-events: none;
}
.menu_cnt1 .inner .grid .dl .dd.pic {
    grid-row: 1;
    height: 26.8rem;
}
.menu_cnt1 .inner .grid .dl .dd.num {
    color: #fbeccd;
    font-family: "Sniglet", sans-serif;
    font-size: 6rem;
    font-weight: 800;
    line-height: 1;
    transform: scaleX(0.85);
    transform-origin: left top;
    position: absolute;
    top: 23rem;
    left: 1.8rem;
}
.menu_cnt1 .inner .grid .dl .dt {
    color: #f3a541;
    font-size: 2.8rem;
    line-height: 1;
    margin: 2.9rem 0 3rem;
}
.menu_cnt1 .inner .grid .dl .dd.more {
    margin: 0 0.8rem 0 0;
}
.menu_cnt1 .inner .grid .dl .dd.more a {
    height: 5rem;
    background: #f2ede6;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 0 1.7rem 0 3.5rem;
}
.menu_cnt1 .inner .grid .dl .dd.more a::after {
    content: "";
    background: url(/system_panel/uploads/images/arrowB.png) no-repeat center;
    background-size: contain;
    width: 3.1rem;
    height: 3.1rem;
    display: block;
    transition: transform 0.3s;
}
.menu_cnt1 .inner .grid .dl .dd.more a:hover::after {
    transform: translateX(0.4rem);
}

/*各メニュー（共通）*/
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title {
    width: fit-content;
    position: relative;
    margin: 0 auto 4.1rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title h3 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.55;
    text-align: center;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .title .num {
    color: #ffbd52;
    font-family: "Sniglet", sans-serif;
    font-size: 16rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transform: scaleX(0.85);
    transform-origin: right top;
    position: absolute;
    top: -1.8rem;
    right: calc(100% + 3rem);
}
.menu_cnt3 .inner .title .num {
    color: #f0eae0;
    top: -1.4rem;
    right: calc(100% + 2.3rem);
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 5.5rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 > div {
    min-width: 0;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .left {
    flex: 0 1 58rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .left .pic {
    width: 100%;
    aspect-ratio: 580/380;
    border-radius: 1rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right {
    flex: 0 1 56.5rem;
    padding: 0.2rem 0 0;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price {
    background: #f9f5ed;
    border: 0.1rem solid #eae4da;
    border-radius: 0.5rem;
    overflow: hidden;
    margin: 0 0 3.1rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl {
    min-height: 7.9rem;
    display: grid;
    grid-template-columns: 25.1rem minmax(0, 1fr);
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl:not(:last-of-type) {
    border-bottom: 0.1rem solid #eae4da;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dt {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 0.6rem 1rem 0 4.6rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dd {
    background: #fff;
    display: flex;
    align-items: baseline;
    justify-content: center;
    color: #db8700;
    font-size: 2.6rem;
    line-height: 1;
    padding: 2.8rem 0 0;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dd p {
    display: flex;
    align-items: inherit;
    justify-content: inherit;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dd span:first-of-type {
    font-size: 1.8rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .price .dl .dd span:last-of-type {
    color: #2b2523;
    font-size: 1.5rem;
    font-weight: 500;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .col2 .right .buttonA {
    width: 22rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner h4 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin: 8.8rem 0 4.5rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex {
    display: grid;
    row-gap: 4.8rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl {
    min-height: 30rem;
    position: relative;
    z-index: 0;
    padding: 6.4rem 5.8rem 2.4rem 45.5rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl::before {
    content: "";
    background: #fff;
    border-radius: 1rem;
    position: absolute;
    inset: 2rem 0 0 10rem;
    z-index: -1;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dd.pic {
    width: 40rem;
    height: 30rem;
    border-radius: 1rem;
    position: absolute;
    top: 0;
    left: 0;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dt {
    color: #f79a22;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 2.2rem;
}
:is(.menu_cnt2, .menu_cnt3, .menu_cnt4) .inner .flex .dl .dd.cmt {
    line-height: 2.222;
}
:is(.menu_cnt2, .menu_cnt4) {
    position: relative;
    z-index: 0;
    padding: 7.2rem 0 13.2rem;
}
:is(.menu_cnt2, .menu_cnt4)::before {
    content: "";
    width: 92.708%;                         /*178*/
    background: #f0eae0;
    border-radius: 0 3rem 3rem 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.menu_cnt3 {
    padding: 14.1rem 0 17.1rem;
}
.menu_cnt4 {
    margin: 0 0 19.4rem;
    padding: 7.2rem 0 13rem;
}

/*フェイシャルケアの施術内容・セットメニュー*/
.menu_cnt4 .inner .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 59rem));
    justify-content: space-between;
    gap: 2rem;
    margin: 5.2rem 0 0;
}
.menu_cnt4 .inner .grid .window {
    min-height: 26.5rem;
    background: #fff;
    border-radius: 1rem;
    padding: 3.1rem 2.3rem 2rem 2.8rem;
}
.menu_cnt4 .inner .grid .window .sub {
    color: #f3a541;
    font-size: 2.8rem;
    line-height: 1;
    padding: 0 0 0 0.9rem;
}
.menu_cnt4 .inner .grid .window .ol {
    counter-reset: num;
    margin: 1.2rem 0 0;
}
.menu_cnt4 .inner .grid .window .ol .li {
    counter-increment: num;
    height: 4.4rem;
    background: linear-gradient(to right, #707070 0.2rem, transparent 0.2rem) left bottom / 0.3rem 0.1rem repeat-x;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    line-height: 1;
    padding: 0 0 0 1.1rem;
}
.menu_cnt4 .inner .grid .window .ol .li::before {
    content: counter(num) ".";
    color: #f3a541;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 700;
}
.menu_cnt4 .inner .grid .window:nth-of-type(2) {
    padding: 3.3rem 2rem 2rem 3.8rem;
}
.menu_cnt4 .inner .grid .window:nth-of-type(2) .sub {
    padding: 0;
    margin: 0 0 2.2rem;
}
.menu_cnt4 .inner .grid .window .cmt {
    line-height: 1.944;
    margin: 0 0 2.2rem;
}
.menu_cnt4 .inner .grid .window .add {
    color: #db8700;
    font-size: 3.89rem;
    line-height: 1;
}
.menu_cnt4 .inner .grid .window .add span:first-of-type {
    font-size: 2.69rem;
}
.menu_cnt4 .inner .grid .window .add span:last-of-type {
    color: #2b2523;
    font-size: 2.24rem;
    font-weight: 500;
}
.menu_cnt4 .inner .col2 .right .price {
    margin: 0 0 3.8rem;
}
.menu_cnt4 .inner h4 {
    margin: 9.2rem 0 4.5rem;
}





/*flow*/
.flow .maintitle {
    margin: 0 0 9.4rem;
}

/*予約から施術の流れ*/
.flow_cnt1 {
    padding: 0 0 4.6rem;
}
.flow_cnt1 .inner .titleA p {
    margin: 0 33.8rem 0 0;
}
.flow_cnt1 .inner .titleA h3 {
    margin: 1.7rem 0 0;
}

/*各ステップ*/
.flow_cnt2 {
    position: relative;
    z-index: 0;
    margin: 0 0 18.7rem;
    padding: 11.6rem 0 17.1rem;
}
.flow_cnt2::before {
    content: "";
    width: 92.708%;                         /*178*/
    background: #f0eae0;
    border-radius: 0 3rem 3rem 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
}
.flow_cnt2 .inner .set {
    position: relative;
    padding: 0 0 9.1rem 12.2rem;
}
.flow_cnt2 .inner .set:nth-of-type(2) {
    padding-bottom: 9.8rem;
}
.flow_cnt2 .inner .set:nth-of-type(2) .cmt {
    margin: 0 0 2.9rem;
}
.flow_cnt2 .inner .set:nth-of-type(3) .cmt {
    margin: 0 0 3.6rem;
}
.flow_cnt2 .inner .set:nth-of-type(4) .cmt {
    margin: 0 0 4.1rem;
}
.flow_cnt2 .inner .set:nth-of-type(3) {
    padding-bottom: 12.9rem;
}
.flow_cnt2 .inner .set:nth-of-type(4) {
    padding-bottom: 12rem;
}
.flow_cnt2 .inner .set:last-of-type {
    padding-bottom: 0;
}
.flow_cnt2 .inner .set:last-of-type .cmt {
    margin: 0;
}
/*番号をつなぐ縦線*/
.flow_cnt2 .inner .set:not(:last-of-type)::after {
    content: "";
    width: 0.1rem;
    background: #2b2523;
    position: absolute;
    top: 9.2rem;
    bottom: 4.9rem;
    left: 4.7rem;
}
.flow_cnt2 .inner .set .num {
    width: 9rem;
    color: #ffbd52;
    font-family: "Sniglet", sans-serif;
    font-size: 10rem;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    transform: scaleX(0.85);
    position: absolute;
    top: -2.3rem;
    left: 0;
}
.flow_cnt2 .inner .set .title {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    column-gap: 2.3rem;
    margin: 0 0 3.4rem;
}
.flow_cnt2 .inner .set .title h4 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
}
.flow_cnt2 .inner .set .title p {
    font-size: 1.6rem;
    line-height: 1;
}
.flow_cnt2 .inner .set .cmt {
    line-height: 2.222;
    margin: 0 0 3rem;
}
.flow_cnt2 .inner .set .info {
    background: #f9f5ed;
    border: 0.1rem solid #eae4da;
    border-radius: 0.5rem;
    padding: 1.7rem 2rem 2.4rem 4.3rem;
}
.flow_cnt2 .inner .set .info p {
    font-size: 1.6rem;
    line-height: 2.188;
    margin: 0 0 1.5rem;
}
.flow_cnt2 .inner .set .info .pic {
    width: 55.9rem;
    margin: 0 0 0 0.2rem;
}
.flow_cnt2 .inner .set > .pic {
    aspect-ratio: 1075/333;
    border-radius: 2rem;
}
.flow_cnt2 .inner .set .flex {
    display: flex;
    gap: 2.9rem;
}
.flow_cnt2 .inner .set .flex .pic {
    width: 50rem;
    aspect-ratio: 500/333;
    border-radius: 2rem;
}
.flow_cnt2 .inner .set:first-of-type .cmt {
    margin: 0 0 2.3rem;
}





/*voice*/
.voice .maintitle {
    margin: 0 0 9.4rem;
}
.voice_cnt1 {
    padding: 0 0 22rem;
}
.voice_cnt1 .inner .titleA p {
    margin: 0 25.4rem 0 0;
}
.voice_cnt1 .inner .titleA h3 {
    margin: 1.7rem 0 0;
}
.voice_cnt1 .inner .titleA {
    margin: 0 0 10.9rem;
}
.voice_cnt1 .inner h4 {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 3.1rem;
}
.voice_cnt1 .inner .col2 {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
}
.voice_cnt1 .inner .col2:not(:last-of-type) {
    margin: 0 0 12.5rem;
}
.voice_cnt1 .inner .col2 :is(.left, .right) {
    width: calc(50% - 1.5rem);
    display: grid;
    row-gap: 2.8rem;
}
.voice_cnt1 .inner .col2 .dl {
    background: #f9f5ed;
    border: 0.1rem solid #eae4da;
    border-radius: 0.5rem;
    box-shadow: inset 0 0 0 0.7rem #fefcf8, inset 0 0 0 0.8rem #cdc3c0;
    padding: 3.2rem 3.7rem 2.7rem 3.4rem;
}
.voice_cnt1 .inner .col2 .dl .dt {
    background: linear-gradient(to right, #71706d 0.2rem, transparent 0.2rem) left bottom / 0.3rem 0.1rem repeat-x;
    color: #f79a22;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 1.1rem;
    padding: 0 0 1.4rem 0.6rem;
}
.voice_cnt1 .inner .col2 .dl .dd {
    line-height: 2.222;
    padding: 0 0 0 0.4rem;
}





/*faq*/
.faq .maintitle {
    margin: 0 0 14.6rem;
}
.faq_cnt1 {
    padding: 0 0 5.6rem;
}
.faq_cnt1 .inner .flex {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
}
.faq_cnt1 .inner .flex .buttonA {
    min-width: 0;
}
.faq_cnt1 .inner .flex .buttonA a {
    justify-content: flex-start;
    padding: 0 5.3rem 0 2.9rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) {
    padding: 0 0 4rem;
}
.faq_cnt6 {
    padding: 0 0 18.9rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window {
    background: #fdf8ee;
    border-radius: 3rem;
    padding: 6.6rem 9.2rem 6.1rem 7.8rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window h3 {
    color: #f79a22;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 3.1rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl {
    border: 0.1rem solid #eae4da;
    border-radius: 0.5rem;
    overflow: hidden;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl:not(:last-of-type) {
    margin: 0 0 2rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt {
    min-height: 5.7rem;
    background: #f9f5ed;
    display: flex;
    align-items: center;
    gap: 1.3rem;
    font-size: 1.8rem;
    line-height: 1.5;
    padding: 0 6rem 0 2.5rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt::before {
    content: "Q.";
    width: 2.3rem;
    flex-shrink: 0;
    color: #ffbd52;
    font-family: "Sniglet", sans-serif;
    font-size: 3rem;
    font-weight: 800;
    line-height: 1;
    transform: scaleX(0.75);
    transform-origin: left center;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dt::after {
    right: 2.7rem;
}
:is(.faq_cnt2, .faq_cnt3, .faq_cnt4, .faq_cnt5, .faq_cnt6) .inner .window .dl .dd {
    background: #fff;
    border-top: 0.1rem solid #eae4da;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2.059;
    padding: 0.8rem 2rem 1.2rem 6.1rem;
}





/*topics&topicsdetail共通*/
:is(.topics, .topicsdetail) .maintitle {
    margin: 0 0 14.6rem;
}
:is(.topics, .topicsdetail) .maintitle h2 {
    color: #fff;
}
:is(.topics_cnt1, .topicsdetail_cnt1) {
    padding: 0 0 5.6rem;
}
:is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4rem;
}
:is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog .buttonA {
    min-width: 0;
}
:is(.topics_cnt1, .topicsdetail_cnt1) .inner .webgene-blog .buttonA a {
    justify-content: flex-start;
    padding: 0 5.3rem 0 2.9rem;
}
:is(.topics_cnt2, .topicsdetail_cnt2) {
    padding: 0 0 19.6rem;
}
:is(.topics_cnt2, .topicsdetail_cnt2) .inner .window {
    background: #fff;
    border-radius: 3rem;
}

/*topics*/
.topics_cnt2 .inner .window {
    padding: 7.9rem 13rem 9.9rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item {
    border-top: 0.1rem solid #eae4da;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item:last-of-type {
    border-bottom: 0.1rem solid #eae4da;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl {
    display: grid;
    grid-template-columns: 24rem auto minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: start;
    column-gap: 3.6rem;
    position: relative;
    padding: 2rem 7rem 2.1rem 1.4rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl::after {
    content: "";
    background: url(/system_panel/uploads/images/arrowC.png) no-repeat center;
    background-size: contain;
    width: 3.3rem;
    height: 3.3rem;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    transition: right 0.3s;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl:hover::after {
    right: 0.4rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.pic {
    grid-column: 1;
    grid-row: 1 / 3;
    height: 16rem;
    background: #eae4da;
    border-radius: 1rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.pic {
    height: 30rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.day {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    color: #bfbab8;
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0.9rem 0 0;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    min-width: 11.8rem;
    height: 2.4rem;
    background: #f1ece5;
    border-radius: 1.2rem;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    margin: 0.9rem 0 0 -1.8rem;
    padding: 0 1.5rem;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dt {
    grid-column: 2 / 4;
    grid-row: 2;
    font-size: 1.8rem;
    line-height: 1.5;
    margin: 1.1rem 0 0;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-item .dl .dt a::after {
    content: "";
    position: absolute;
    inset: 0;
}
.topics_cnt2 .inner .window .webgene-blog .webgene-pagination {
    margin: 6.2rem 0 0;
}

/*topicsdetail*/
.topicsdetail_cnt2 .inner .window {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    padding: 6.5rem 13rem 10rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog {
    width: 100%;
    min-width: 0;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.day {
    order: 1;
    color: #bfbab8;
    font-size: 1.6rem;
    font-weight: 500;
    margin: 0 1.8rem 0 1.4rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cate {
    order: 2;
    min-width: 11.8rem;
    height: 2.4rem;
    background: #f1ece5;
    border-radius: 1.2rem;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    padding: 0 1.5rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dt {
    order: 3;
    width: 100%;
    border-bottom: 0.1rem solid #eae4da;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    margin: 0.8rem 0 3.2rem;
    padding: 0 1.4rem 1.9rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo {
    order: 4;
    width: 100%;
    min-width: 0;
    padding: 0 0 0 1.4rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .slider {
    width: 70rem;
    max-width: 100%;
    margin: 0 0 1.1rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .slider .slick-img {
    height: 60.5rem;/*46.5rem*/
    border-radius: 1rem;
    overflow: hidden;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .thumbnail {
    width: 84.8rem;
    max-width: calc(100% + 1.2rem);
    margin: 0 0 0 -0.6rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .thumbnail .thumbnail-img {
    height: 13rem;
    cursor: pointer;
    padding: 0 0.6rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo :is(.slick-img, .thumbnail-img) img {
    width: 100%;
    height: 100%;
    /*object-fit: cover;*/
  object-fit: contain;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.photo .thumbnail-img img {
    border-radius: 1rem;
}
.topicsdetail_cnt2 .inner .window .webgene-blog .webgene-item .dl .dd.cmt {
    order: 5;
    max-width: 91.7rem;
    line-height: 2.222;
    margin: 3.7rem 0 0;
    padding: 0 0 0 1.7rem;
}
.topicsdetail_cnt2 .inner .window .buttonA {
    width: 22rem;
    margin: 6.4rem 0 0;
}
