@charset "UTF-8";
/* CSS Document */

:root {
    --font-serif: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "Noto Serif JP", serif;
    --font-sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴシック", "Noto Sans JP", sans-serif;
    --white: #fff;
    --txt-color: #503631;
    --head-color: #c15143;
    --bg-light: #f7eee1;
    color-scheme: light;
    /* ダークモードを有効化しない */
}

html {
    font-size: 62.5%;
    /*16px×62.5％＝10px*/
}

body {
    color: var(--txt-color);
    font-family: var(--font-sans);
    font-size: 1.6rem;
    font-weight: 300;
}

a {
    text-decoration: none;
}

.sp {
    display: none;
}

.inner {
    width: 50%;
    margin: auto;
}

#fv {
    width: 100%;
    padding: 2vw 0 7vw;
    background-image: url(../img/fv.jpg);
    background-size: cover;
}

.fv_txt {
    top: 3vw;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    color: var(--white);
    font-family: var(--font-serif);
}

.logo {
    width: 10vw;
    margin-bottom: 3vw;
}

.fv_txt h2 {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    margin-bottom: 2vw;
    font-size: 4vw;
    font-weight: 300;
    letter-spacing: -.025em;
    z-index: 10;
}

.fv_txt h2 span {
    font-size: 3vw;
}

.fv_txt h2::before {
    position: absolute;
    left: 0;
    bottom: .6vw;
    display: inline-block;
    content: '';
    width: 100%;
    height: 1.2vw;
    background-color: #832f2f;
    opacity: .35;
    z-index: -10;
}

.fv_txt p {
    margin-bottom: 2.4vw;
    font-size: 2.4vw;
    text-align: right;
}

.fv_menu {
    right: 0;
    margin-left: auto;
    width: 14vw;
    font-family: var(--font-sans);
}

.fv_menu li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 14vw;
    margin-bottom: 1vw;
    border-radius: 50%;
    background-color: var(--white);
    color: #904444;
    font-size: 2.2vw;
    line-height: 2vw;
    text-align: center;
}

.fv_menu li span {
    margin-bottom: .6vw;
    font-size: 1.4vw;
}

.fv_menu li span span {
    font-size: 1.2vw;
}

.cta {
    padding: 4vw 0;
    background-color: var(--bg-light);
}

.line_present {
    color: #642c2c;
    font-family: var(--font-serif);
    font-size: 3vw;
    font-weight: 300;
    text-align: center;
}

.line_present p {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2vw;
}

.line_present p::before,
.line_present p::after {
    content: '';
    display: block;
    width: 4vw;
    height: 2px;
    background-color: #5f301c;
}

.line_present p::before {
    transform: rotate(70deg);
}

.line_present p::after {
    transform: rotate(-70deg);
}

.line_btn {
    position: relative;
    display: inline-block;
    width: 85%;
    padding: 2vw;
    background-color: #832f2f;
    color: var(--white);
    font-size: 3vw;
    font-weight: 300;
    text-align: center;
    letter-spacing: .115em;
    line-height: 4vw;
    transition: .2s;
}

.line_btn:hover {
    background-color: #622323;
}

.line_btn.brown {
    background-color: #5f301c;
}

.line_btn.brown:hover {
    background-color: #4c2616;
}

.question_selfcare {
    position: relative;
    padding: 2.4vw;
    background-color: #edd3c9;
    font-size: 2.7vw;
    font-weight: 300;
    text-align: center;
    letter-spacing: .115em;
    line-height: 3.6vw;
}

.question_selfcare span {
    font-size: 2.5vw;
}

.question_selfcare::after {
    content: '';
    position: absolute;
    display: block;
    bottom: -2vw;
    left: 50%;
    transform: translateX(-50%);
    margin: auto;
    width: 7vw;
    height: 2vw;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #edd3c9;
}

.check_answer {
    padding: 5vw 0;
    background-image: url(../img/bg_lay.jpg);
    background-size: cover;
    background-position: top center;
}

.check_list {
    padding: 0 5vw;
}

.check_item {
    position: relative;
    margin-bottom: 2vw;
    padding-left: 4vw;
    color: var(--white);
    font-size: 2.3vw;
}

.check_item::before {
    content: '';
    position: absolute;
    top: .6vw;
    left: 1.6vw;
    display: block;
    width: 1.8vw;
    height: 1.8vw;
    background-image: url(../img/check.png);
    background-size: cover;
}

.check_list+img,
.line_message+img {
    width: 17vw;
    margin: 4vw auto;
}

.check_list+img+p {
    color: var(--white);
    font-family: var(--font-serif);
    font-size: 2.5vw;
    text-align: center;
}

.yellow_grd {
    margin-left: .6vw;
    margin-right: .6vw;
    background: linear-gradient(180deg, #ffd75b 0%, #fff5a0 30%, #ffffdb 50%, #fff5a0 70%, #fdd456 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 3.3vw;
    font-weight: 600;
}

.starry {
    position: relative;
    background-image: url(../img/bg_damask.jpg);
    background-size: 70% auto;
    background-repeat: repeat;
}

.starry img {
    width: 50%;
    margin: 0 auto;
}

.starry_txt {
    position: absolute;
    top: 12vw;
    left: 50%;
    transform: translateX(-50%);
    color: var(--white);
    font-family: var(--font-serif);
    font-size: 2.4vw;
    font-weight: 600;
    line-height: calc(77 / 45);
}

.starry_txt p {
    margin-bottom: 7vw;
}

.declaration {
    position: relative;
    padding-top: 7vw;
    background-color: rgba(235, 217, 205, .7);
}

.declaration>img {
    position: absolute;
}

.declaration>img:first-of-type {
    width: 17vw;
    top: 2.5vw;
    left: 20%;
    z-index: -10;
}

.declaration>img:last-of-type {
    width: 43vw;
    bottom: 0;
    right: 10%;
    z-index: -10;
}

.declaration_img {
    position: relative;
    width: 100%;
    height: 30vw;
    padding: 5vw 0;
}

.declaration_img img {
    position: absolute;
}

.declaration_img .water {
    width: 100%;
    height: 20vw;
    object-fit: cover;
}

.declaration_img .shop_img:nth-child(2) {
    top: 0;
    left: 50%;
    transform: translateX(-65%);
    width: 30vw;
}

.declaration_img .shop_img:last-child {
    bottom: 0;
    left: 50%;
    transform: translateX(30%);
    width: 15vw;
}

.declaration p {
    font-family: var(--font-serif);
    font-size: 2.4vw;
    text-align: center;
    line-height: calc(77 / 45);
    letter-spacing: .115em;
}

.p_upper {
    margin-bottom: 4vw;
}

.p_lower1 {
    margin-top: 4vw;
    margin-bottom: 2vw;
}

.p_lower1 span {
    font-size: 3.1vw;
}

.p_lower2 {
    padding-bottom: 7.5vw;
}

.declaration:first-child p {
    margin: 7vw auto 5vw;
}

#menu {
    padding: 7vw 0;
    background-color: var(--white);
}

.section_title {
    margin-bottom: 3.6vw;
}

.section_title h2 {
    font-size: 4vw;
    font-weight: 200;
    text-align: center;
    letter-spacing: .115em;
}

.section_title.white h2 {
    margin-bottom: 1vw;
}

.section_title img {
    width: 90%;
    margin: 0 auto;
}

.section_title {
    color: var(--head-color);
}

.section_title.white {
    color: var(--white);
}

.section_description {
    margin-bottom: 6.6vw;
    font-size: 2vw;
    font-weight: 600;
    font-family: var(--font-serif);
    text-align: center;
}

.menu_item:not(:last-of-type) {
    margin-bottom: 8vw;
}

.menu_number {
    width: 7vw;
    margin: 0 auto 2.4vw;
}

.menu_lead {
    margin-bottom: 1.5vw;
    font-size: 1.8vw;
    letter-spacing: .015em;
    text-align: center;
}

.menu_title {
    margin-bottom: 2.8vw;
    font-size: 3.4vw;
    font-weight: 400;
    letter-spacing: .015em;
    text-align: center;
}

.menu_subtitle {
    margin-top: 3.2vw;
    margin-bottom: 2.8vw;
    text-align: center;
}

.menu_subtitle::before {
    content: '';
    display: block;
    width: 8vw;
    height: 1px;
    margin: 0 auto 1.6vw;
    background-color: var(--txt-color);
}

.menu_subtitle h4 {
    font-size: 2.8vw;
    font-weight: 300;
}

.menu_subtitle p {
    font-size: 2.2vw;
    text-align: center
}

.menu_item:not(:first-of-type) .menu_content:not(:last-child) {
    padding-bottom: 2.4vw;
}

.menu_content.wide_img img {
    margin-bottom: 5vw;
}

.menu_content.narrow_img {
    display: flex;
}

.menu_content.narrow_img img {
    width: 8.5vw;
    height: 100%;
    margin-right: 2.1vw;
}

.menu_content p {
    margin-bottom: 2vw;
    font-size: 2vw;
    letter-spacing: .03em;
    line-height: calc(50 / 40);
}

.menu_txt {
    padding-top: 2vw;
}

.price {
    margin: 0 auto;
}

.menu_txt .price {
    margin-top: 4vw;
}

.menu_content.wide_img .price {
    width: 42%;
}

.menu_content.narrow_img .price {
    width: 53%;
}

.price_item {
    display: flex;
    justify-content: space-between;
    font-size: 2.3vw;
}

.price_item dt::after {
    content: '';
    display: inline-block;
    width: 3vw;
    height: 1vw;
    margin-left: 1.4vw;
    background-image: url(../img/dot.png);
    background-repeat: no-repeat;
    background-size: contain;
}

.sunflower {
    width: 100%;
    height: 12vw;
}

.sunflower img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#voice {
    padding: 4.5vw 0 0;
    background-color: #ffebcc;
}

.voice_inner {
    padding: 4vw 0;
    background-image: url(../img/bg_damask.jpg);
    background-size: 70% auto;
    background-repeat: repeat;

}

.voice_item {
    width: 90%;
    margin: 0 auto 6.8vw;
    border-radius: 40px;
    background-color: var(--white);
    box-shadow: 5px 5px 51px rgba(39, 39, 39, .47);
    color: #b23b27;
}

.voice_head {
    display: flex;
}

.voice_imgBox {
    width: 35%;
}

.voice_imgBox img {
    width: 100%;
    border-top-left-radius: 40px;
    border-bottom-right-radius: 40px;
}

.voice_title img {
    width: 60%;
    margin: 0 0 0 auto;
}

.voice_title {
    width: 65%;
    padding: 1.3vw 2.6vw;
}

.voice_title h3 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 85%;
    font-size: 2.4vw;
    font-weight: 400;
    line-height: calc(66 / 47);
    line-break: anywhere;
}

.voice_title h3::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: '';
    background-image: url(../img/voice_line.png);
    width: 80%;
    height: 1vw;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50%;
}

.voice_content {
    padding: 3vw;
}

.voice_txt {
    font-size: 2vw;
    line-height: calc(60 /40);
}

.voice_owner {
    font-size: 1.7vw;
    text-align: right;
}

#shop {
    padding: 4vw 0;
    background-image: url(../img/plateau.png);
    background-size: cover;
    color: var(--white);
}

.shop_lead {
    margin-bottom: 2.7vw;
    font-family: var(--font-serif);
    font-size: 2.3vw;
    letter-spacing: .015em;
    line-height: calc(68 / 46);
    text-align: center;
}

.shop_lead span {
    font-size: 2.1vw;
}

.shop_description {
    margin-bottom: 3.2vw;
    font-size: 1.9vw;
    letter-spacing: .015em;
    line-height: calc(62 / 38);
    text-align: center;
}

.shop_info {
    width: 85%;
    margin: 0 auto 2vw;
    padding: 4vw 3vw;
    background-color: var(--white);
    color: #512323;
    font-family: var(--font-serif);
}

.shop_infoItem {
    margin-bottom: 1.4vw;
}

.shop_infoFlex {
    display: flex;
    align-items: center;
}

.shop_infoCenter {
    text-align: center;
}

.shop_info dt {
    width: 9vw;
    height: 2.6vw;
    margin-right: 1vw;
    padding-left: .8vw;
    padding-right: .8vw;
    border-radius: .65vw;
    background-color: #540404;
    color: var(--white);
    font-size: 1.6vw;
    text-align-last: justify;
    /* Chrome・Firefox用 */
    text-justify: inter-ideograph;
    /* IE・Edge用 */
    line-height: 2.6vw;
}

.shop_info dt.padding {
    padding-left: 1vw;
    padding-right: 1vw;
}

.shop_info dd {
    font-size: 2vw;
}

#profile {
    padding: 8.5vw 0 7.4vw;
    background-color: var(--white);
}

#profile .section_title {
    letter-spacing: .015em;
}

.profile_content {
    position: relative;
    color: var(--head-color);
}

.txt_layer {
    z-index: 10;
}

.profile_content img {
    position: absolute;
}

.profile_img {
    top: 0;
    right: 0;
    width: 50%;
    z-index: 1;
}

.lotus_mono01 {
    top: auto;
    bottom: -20vw;
    left: -20%;
    width: 100%;
    z-index: 0;
}

.profile_comment {
    display: inline-block;
    font-family: var(--font-serif);
    font-size: 2.5vw;
    font-weight: 600;
    letter-spacing: .015em;
    line-height: calc(74 / 50);
    text-align: center;
}

.profile_comment::after {
    content: '';
    display: block;
    width: 90%;
    height: 1vw;
    margin: 2.8vw auto 0;
    background-image: url(../img/profile_line.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.profile_name {
    width: 65%;
    font-family: var(--font-serif);
    font-size: 3vw;
    font-weight: 600;
    text-align: center;
}

.profile_birthplace {
    width: 65%;
    margin-bottom: 1.5vw;
    font-size: 1.6vw;
    font-weight: 200;
    text-align: center;
}

.career {
    position: relative;
    margin-bottom: 2.7vw;
    font-size: 1.8vw;
    z-index: 10;
}

.profile_info {
    position: relative;
    font-size: 2vw;
    letter-spacing: .015em;
    line-height: calc(62 / 40);
    z-index: 10;
}

.now {
    margin-bottom: 6.2vw;
    font-size: 1.2vw;
    text-align: right;
}

.message img {
    width: 90%;
    margin: 0 auto 2.7vw;
}

.message_subtitle {
    margin-bottom: 5vw;
    font-family: var(--font-serif);
    font-size: 3.3vw;
    font-weight: 600;
    text-align: center;
}

.message_subtitle span {
    font-size: 3vw;
}

.message_container {
    position: relative;
    margin-bottom: 4vw;
    font-size: 2vw;
    letter-spacing: .015em;
    line-height: calc(60 / 40);
}

.message_container p {
    margin-bottom: 2vw;
}

.message_container p span {
    font-weight: 600;
}

.message_container img {
    position: absolute;
    right: -5vw;
    bottom: 0;
    width: 50%;
}

#branch {
    padding: 4vw 0;
}

#branch.bg_fixed {
    background-image: url(../img/rainbow.jpg);
    background-attachment: fixed;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}



#branch .section_title {
    font-family: var(--font-serif);
    font-weight: 600;
    letter-spacing: .015em;
}

.branch_commBox {
    text-align: center;
}

.branch_comment {
    display: inline-block;
    margin: 0 auto 3vw;
    color: var(--white);
    text-align: left;
    font-family: var(--font-serif);
    font-size: 2vw;
    font-weight: 600;
    letter-spacing: .015em;
    line-height: calc(75 / 40);
}

.branch_info {
    width: 90%;
    margin: 0 auto 13vw;
    padding: 3vw;
    background-color: rgba(255, 255, 255, .5);
}

.branch_infoTtlBox {
    text-align: center;
}

.branch_infoTtl {
    display: inline-block;
    margin-bottom: 2vw;
    padding: 0 1vw;
    border-radius: 10px;
    background-color: #5f301c;
    color: var(--white);
    font-size: 2.3vw;
    letter-spacing: .015em;
}

.branch_list {
    font-size: 2.3vw;
    font-weight: 400;
}

.branch_list li {
    margin-bottom: 1.8vw;
}

.branch_list span {
    padding-left: 2.8vw;
    font-size: 2vw;
}

.branch_ps {
    margin-bottom: 2.2vw;
    font-size: 2vw;
}

.branch_note {
    position: relative;
    margin-left: 2vw;
    font-size: 1.9vw;
}

.branch_note::before {
    position: absolute;
    left: -2vw;
    content: '※';
}

.branch_trial {
    position: relative;
    width: 80%;
    margin: 0 auto 5vw;
    background-color: rgba(100, 66, 51, .6);
}

.branch_trial img {
    width: 98%;
    margin: 0 auto;
    padding: 2% 0;
}

.branch_trialTxt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    color: var(--white);
    font-size: 2.5vw;
    text-align: center;
}

.trial_title {
    margin-bottom: 3vw;
    font-size: 2.9vw;
    font-weight: 700;
}

.trial_content {
    margin-bottom: 1vw;
    font-size: 2.2vw;
}

.trial_price {
    margin-bottom: 1vw;
    font-size: 2.5vw;
}

.trial_price span {
    font-size: 3vw;
}

.line_message {
    margin-bottom: 2.6vw;
    font-family: var(--font-serif);
    font-size: 2.5vw;
    font-weight: 600;
    letter-spacing: .015em;
    line-height: 5vw;
    text-align: center;
}

.line_entry {
    margin-bottom: 2.3vw;
    font-family: var(--font-serif);
    font-size: 3.3vw;
    font-weight: 600;
    text-align: center;
}

.benefit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto 2.9vw;
    padding: 3vw 2vw;
    background-color: var(--white);
}

.benefit_list {
    width: 65%;
}

.benefit img {
    width: 30%;
    height: 100%;
}

.benefit_list .check_item {
    color: var(--txt-color);
    font-size: 2.2vw;
    line-height: calc(54 / 44);
}

.benefit_list .check_item::before {
    top: .3vw;
    background-image: url(../img/check_brown.png);
}

.btn_box {
    text-align: center;
    padding-bottom: 3vw;
}

#faq {
    padding: 5vw 0;
}

.faq_title {
    position: relative;
    width: 90%;
    margin: 0 auto 5vw;
}

.faq_title h2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-serif);
    font-size: 3.6vw;
    letter-spacing: .015em;
}

.faq_item {
    margin-bottom: 4vw;
}

.faq_q {
    padding: 4vw 2.5vw 3vw;
    background-color: #9e7251;
    color: var(--white);
    font-size: 2.1vw;
    letter-spacing: .015em;
}

.faq_q p,
.faq_a p {
    position: relative;
    margin-left: 6vw;
}

.faq_q p::before,
.faq_a p::before {
    position: absolute;
    top: -.5vw;
    left: -6vw;
    display: block;
    width: 4.4vw;
    height: 4.4vw;
    background-color: var(--white);
    border-radius: 50%;
    color: var(--txt-color);
    line-height: 4.4vw;
    text-align: center;
}

.faq_q p::before {
    content: 'Q.';
}

.faq_a {
    padding: 4vw 2.5vw 3vw;
    font-size: 1.9vw;
    letter-spacing: .025em;
    line-height: calc(45 / 38);
}

.faq_a p::before {
    content: 'A.';
}

#future {
    padding: 5.5vw 0;
    background: linear-gradient(130deg, #e8bdac 0%, #f0e0da 100%);
}

#future h2 {
    margin-bottom: 4vw;
    font-family: var(--font-serif);
    font-size: 2.5vw;
    font-weight: 600;
    line-height: 4vw;
    text-align: center;
}

#future h2 span {
    font-size: 2.9vw;
}

.future_list .check_item {
    margin-bottom: 3.6vw;
    color: var(--txt-color);
}

.future_list .check_item:last-of-type {
    margin-bottom: 0;
}

.future_list .check_item::before {
    background-image: url(../img/check_box.png);
}

#catch {
    padding: 5vw;
    background-image: url(../img/sky_light.jpg);
    background-size: cover;
}

#catch h2 {
    margin: 0 auto;
    font-family: var(--font-serif);
    font-size: 2.5vw;
    font-weight: 300;
    writing-mode: vertical-rl;
    line-height: 10vw;
}

#catch h2 span {
    margin-top: 10vw;
}

.close {
    padding-bottom: 7vw;
}

.closing {
    margin-bottom: 6vw;
    font-size: 2.2vw;
    line-height: 4vw;
    text-align: center;
}

@media screen and (max-width:767px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .inner {
        width: 90%;
    }

    #fv {
        padding: 2rem 0;
        background-image: url(../img/fv_sp.png);
        background-position: center;
        background-size: cover;
    }

    .logo {
        width: 12rem;
        margin-bottom: 3rem;
    }

    .fv_txt h2 {
        margin-bottom: 2rem;
        font-size: 3.2rem;
    }

    .fv_txt h2 span {
        font-size: 2.4rem;
    }

    .fv_txt h2::before {
        height: 1rem;
    }

    .fv_txt p {
        margin-bottom: 2rem;
        font-size: 2rem;
    }

    .fv_menu {
        width: 12rem;
    }

    .fv_menu li {
        height: 12rem;
        margin-bottom: 1rem;
        font-size: 1.6rem;
        line-height: 1em;
    }

    .fv_menu li span {
        font-size: 1.2rem;
    }

    .fv_menu li span span {
        font-size: 1rem;
    }

    .cta {
        padding: 4rem 0;
    }

    .line_present {
        font-size: 1.6rem;
    }

    .line_present p {
        margin-bottom: 1rem;
    }

    .line_btn {
        padding: 1rem;
        font-size: 1.6rem;
        line-height: 1.5em;
    }

    .question_selfcare {
        padding: 2.4rem;
        font-size: 2rem;
        line-height: 2;
    }

    .question_selfcare span {
        font-size: 1.8rem;
    }

    .question_selfcare::after {
        bottom: -2rem;
        width: 8rem;
        height: 2.2rem;
    }

    .check_answer {
        padding: 3rem 0;
    }

    .check_item {
        padding-left: 2rem;
        font-size: 1.6rem;
    }

    .check_item::before {
        left: 0;
        width: 1.4rem;
        height: 1.4rem;
    }

    .check_list+img,
    .line_message+img {
        width: 16rem;
    }

    .check_list+img+p {
        font-size: 1.8rem;
    }

    .yellow_grd {
        font-size: 2.2rem;
    }

    .starry img {
        width: 80%;
    }

    .starry_txt {
        width: 70%;
        font-size: 1.6rem;
    }

    .declaration {
        padding-top: 3rem;
    }

    .declaration_img {
        height: 18rem;
        padding: 3rem 0;
    }

    .declaration_img .water {
        height: 12rem;
    }

    .declaration_img .shop_img:nth-child(2) {
        width: 16rem;
    }

    .declaration_img .shop_img:last-child {
        width: 8rem;
    }

    .declaration p {
        font-size: 1.6rem;
    }

    .p_lower1 span {
        font-size: 2.4rem;
    }

    .p_lower2 {
        padding-bottom: 3rem;
    }

    .section_title {
        margin-bottom: 3rem;
    }

    .section_title h2 {
        font-size: 3rem;
    }

    .section_description {
        font-size: 1.6rem;
    }

    .menu_item:not(:last-of-type) {
        margin-bottom: 4rem;
    }

    .menu_number {
        width: 8rem;
    }

    .menu_lead {
        font-size: 1.3rem;
    }

    .menu_title {
        font-size: 2rem;
    }

    .menu_subtitle {
        margin-top: 2.4rem;
        margin-bottom: 2rem;
    }

    .menu_subtitle::before {
        width: 8rem;
    }

    .menu_subtitle h4 {
        font-size: 1.8rem;
    }

    .menu_subtitle p {
        font-size: 1.4rem;
    }

    .menu_content.narrow_img img {
        width: 20%;
        height: 100%;
        object-fit: cover;
    }

    .menu_content p {
        margin-bottom: 2rem;
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .menu_txt {
        width: 80%;
    }

    .menu_content.wide_img .price {
        width: 45%;
        min-width: 180px;
    }

    .menu_content.narrow_img .price {
        width: 60%;
        min-width: 150px;
    }

    .price_item {
        font-size: 2rem;
    }

    .price_item dt::after {
        width: 3rem;
        height: .8rem;
    }

    .sunflower {
        height: 8rem;
    }

    #voice {
        padding: 4rem 0 0;
    }

    .voice_inner {
        padding: 4rem 0;
    }

    .voice_item {
        border-radius: 20px;
    }

    .voice_imgBox img {
        border-top-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

    .voice_title {
        padding: 1rem 2rem;
    }

    .voice_title h3 {
        height: 90%;
        font-size: 1.6rem;
        letter-spacing: -.02em;
    }

    .voice_content {
        padding: 2rem;
    }

    .voice_txt {
        font-size: 1.4rem;
    }

    .voice_owner {
        font-size: 1.3rem;
    }

    #shop {
        padding: 4rem 0;
    }

    .shop_lead {
        font-size: 2rem;
    }

    .shop_lead span {
        font-size: 1.6rem;
    }

    .shop_description {
        font-size: 1.4rem;
        letter-spacing: 0;
    }

    .shop_info dt {
        width: 6rem;
        height: 2rem;
        margin-right: .8rem;
        border-radius: 4px;
        font-size: 1.3rem;
        line-height: 2rem;
    }

    .shop_info dd {
        font-size: 1.6rem;
    }

    .shop_info dd.letter_space {
        letter-spacing: -.08em;
    }

    .profile_comment {
        margin-bottom: .8rem;
        font-size: 2rem;
    }

    .profile_name {
        font-size: 2.4rem;
    }

    .profile_birthplace {
        margin-bottom: 2rem;
        font-size: 1.4rem;
    }

    .career {
        font-size: 1.6rem;
    }

    .profile_info {
        font-size: 1.4rem;
    }

    .now {
        font-size: 1.3rem;
    }

    .message img {
        margin-bottom: 2rem;
    }

    .message_subtitle {
        font-size: 2.8rem;
    }

    .message_subtitle span {
        font-size: 2.6rem;
    }

    .message_container {
        font-size: 1.6rem;
    }

    .message_container p {
        margin-bottom: 2rem;
    }

    #branch {
        padding: 4rem 0;
    }

    .branch_comment {
        margin-bottom: 3rem;
        font-size: 1.6rem;
    }

    .branch_info {
        padding: 3rem 2rem;
    }

    .branch_infoTtl {
        padding: .2rem 1rem;
        border-radius: 6px;
        font-size: 1.8rem;
    }

    .branch_list {
        font-size: 1.8rem;
    }

    .branch_list span {
        font-size: 1.6rem;
    }

    .branch_ps {
        font-size: 1.6rem;
    }

    .branch_note {
        margin-left: 1.6rem;
        font-size: 1.4rem;
    }

    .branch_note::before {
        left: -1.6rem;
    }

    .branch_trialTxt {
        font-size: 2rem;
    }

    .trial_title {
        margin-bottom: 1rem;
        font-size: 2.4rem;
    }

    .trial_content {
        font-size: 1.8rem;
    }

    .trial_price {
        margin-bottom: 1rem;
        font-size: 2.2rem;
    }

    .trial_price span {
        font-size: 2.4rem;
    }

    .line_message {
        font-size: 2rem;
        line-height: 1.5;
    }

    .line_entry {
        font-size: 2.4rem;
    }

    .benefit_list {
        width: 70%;
    }

    .benefit img {
        width: 25%;
    }

    .benefit_list .check_item {
        font-size: 1.6rem;
    }

    #faq {
        padding: 4rem 0 3rem;
    }

    .faq_title h2 {
        font-size: 2.4rem;
    }

    .faq_q {
        font-size: 1.6rem;
    }

    .faq_q p,
    .faq_a p {
        margin-left: 4rem;
    }

    .faq_q p::before,
    .faq_a p::before {
        top: 0;
        left: -3rem;
        width: 2.4rem;
        height: 2.4rem;
        line-height: 2.4rem;
    }

    .faq_a {
        font-size: 1.4rem;
    }

    #future {
        padding: 4rem 0;
    }

    #future h2 {
        font-size: 2rem;
        line-height: 1.5;
    }

    #future h2 span {
        font-size: 2.4rem;
    }

    #catch {
        padding: 4rem;
    }

    #catch h2 {
        font-size: 2rem;
        line-height: 6rem;
    }

    .closing {
        font-size: 1.6rem;
        line-height: 1.3;
    }

    @media screen and (max-width:374px) {
        .branch_trialTxt {
            font-size: 1.8rem;
        }

        .trial_title {
            font-size: 1.8rem;
        }

        .trial_content {
            font-size: 1.4rem;
        }

        .trial_price {
            font-size: 1.8rem;
        }

        .trial_price span {
            font-size: 2rem;
        }

        .faq_title h2 {
            font-size: 2rem;
        }
    }
}