@charset "UTF-8";
/* 共通部分 */
body {
    background: #f4f4f4;
    color: #52514c;
    overflow: hidden;
    font-size: 15px;
    font-size: clamp(16px, 0.75vw, 20px);
    letter-spacing: .05em;
    counter-reset: number 0 counter-reset1 counter-reset2;
}
.font-type2, .headline-font-type {
    font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
h2 {
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 400;
}
p, .post-content p {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}
a, .post-content p {
    color: #52514c;
}
.post-content ul {
    font-size: 0.95em;
    list-style: none;
}
.post-content ul li{
    line-height: 1.6;
}
.breadcrumb-wrapper {
    background: none;
}
.breadcrumb.inner {
    font-size: 0.75em;
    padding: 0;
    width: fit-content;
    display: block;
    height: 35px;
    line-height: 35px;
}
.breadcrumb-wrapper .breadcrumb li a,.breadcrumb-wrapper .breadcrumb li {
    color: #fff !important;
}
.signage {
    height: 250px;
    /*background: linear-gradient(80deg, #f2e2e2 30%, #fffef0 80%) !important;*/
}
.signage-title.headline-font-type, .signage-title-sub {
    text-align: center;
    text-shadow: none;
    font-weight: 400;
    color: #fff !important;
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.signage-title.headline-font-type {
    letter-spacing: .06em;
    margin-top: -15px;
    margin-bottom: 20px;
    font-size: 2.5em !important;
}
.signage-title-sub {
    font-size: 1em !important;
    line-height: 1;
}
@media only screen and (max-width: 768px) {
    .signage {
        height: 180px;
    }
    .signage-title.headline-font-type {
        font-size: 1.8em !important;
        margin-bottom: 12px;
    }
    .signage-title-sub {
        font-size: 0.7em !important;
    }
}
.signage:after{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    z-index: 0;
    content: "";
}
.signage-content{
    position: relative;z-index: 9;
}
/* 共通部分 END */
/* ナビ */
.home .header::after {
    width: 100%;
    height: 100%;
    position: absolute;
    content: '';
    right: 0;
    top: 0;
    background: rgba(0,0,0,0.2) !important;
    z-index: 1;
}
.header-bar {
    z-index: 50;
    box-shadow: none;
    background: linear-gradient(120deg, #fff 30%, #fff 80%) !important;
}
.logo-image {
    top: 15px;
    left: 15px;
    width: 80px;
    height: auto;
    position: absolute;
    opacity: 0.75;
}
.global-nav {
    padding-right: 15px;
}
.header-bar-inner {
    width: 100%;
    max-width: unset;
    z-index: 100;
}
.global-nav > ul > li > a {
    font-size: 16px;
    letter-spacing: .1em;
    font-weight: 400;
    line-height: 88px;
    padding: 0px 22px;
    position: relative;
    text-align: center;
    transition: all 0.5s;
    color: #52514c;
}
.global-nav > ul > li > a::before {
    content: "";
    width: 0;
    height: 1px;
    bottom: 15px;
    right: 22px;
    background: #e7c3c3;
    position: absolute;
    transition: all 0.5s;
    z-index: 1;
}
.global-nav > ul > li > a:hover::before {
    width: calc(100% - 43px);
}
/*.global-nav > ul > li > a::after {
    position: relative;
    text-align: center;
    display: block;
    bottom: 25px;
    line-height: 1;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .05em;
    color: #52514c;
}*/
.global-nav > ul > li > a span {
    position: relative;
    text-align: center;
    display: block;
    bottom: 25px;
    line-height: 1;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .05em;
    color: #52514c;
}
/*.global-nav > ul > li.global-menu-home > a::after {
    content: "ホーム";
}
.global-nav > ul > li.global-menu-menu > a::after {
    content: "メニュー";
}
.global-nav > ul > li.global-menu-about > a::after {
    content: "こだわり";
}
.global-nav > ul > li.global-menu-news > a::after {
    content: "最新情報";
}
.global-nav > ul > li.global-menu-faq > a::after {
    content: "よくある質問";
}
.global-nav > ul > li.global-menu-information > a::after {
    content: "店舗概要";
}
.global-nav > ul > li.global-menu-contact > a::after {
    content: "ご予約・お問い合わせ";
}*/
.global-nav .sub-menu {
    left: auto;
    right: 0px !important;
}
.global-nav .sub-menu a {
    font-size: 13px;
    font-weight: 500;
    color: #52514c;
    background: #fffef6;
}
.global-nav .sub-menu a:hover {
    color: #e39c9c !important;
    background: #fffef6;
}
.global-nav .sub-menu a:hover::before {
    content: none;
}
.global-nav > ul > li > a, .global-nav .sub-menu {
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media only screen and (max-width: 1200px) {
    .logo-image {
        top: 0;
        left: -5px;
        width: 75px;
    }
    .header-bar {
        box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
        border-bottom: none;
    }
    .global-nav-button {
        border-left: 0px;
        background: none;
    }
    .global-nav-button:before {
        color: #52514c;
    }
    .global-nav-button:hover:before {
        color: #f0bbbb;
    }
    .header-bar-fixed .global-nav {
        padding-right: 0;
        background: #fff !important;
    }
    .global-nav > ul > li > a {
        font-size: 12px;
        letter-spacing: 1px;
        text-shadow: none;
        text-align: center;
        padding: 0px;
        line-height: 50px;
        background: #fff;
        border-bottom: 1px solid #c8102e;
    }
    .global-nav > ul > li > a span {
        text-align: left;
        line-height: 0;
        bottom: 25px;
        padding-left: 170px;
        display: none;
    }
    .global-nav a {
        background: none;
        color: #52514c !important;
    }
    .global-nav .sub-menu a {
        font-size: 11px;
        color: #52514c !important;
        background: none;
    }
    .global-nav a:hover, .global-nav .sub-menu a:hover {
        background: none;
        color: #e39c9c !important;
    }
    .global-nav > ul > li > a::before {
        content: none !important;
    }
    .global-nav .menu-item-has-children > a span::before {
        color: #52514c;
    }
}
@media only screen and (max-width: 820px) {
    img.s_logo {
        width: 100%;
    }
}
/* ナビ END */
/* YouTube コントロールバー非表示 */
.mb_YTPBar {
    display: none !important;
}
/* YouTube コントロールバー非表示 */
/* トップ・フッター */
.top-slider-content {
    border-radius: 0;
    flex-direction: column;
    justify-content: center;
    display: -webkit-flex;
    display: flex;
    width: 100% !important;
    height: 100% !important;
}
.top-slider-content-inner, .top-slider-content-inner:hover {
    background: none;
}
.top-slider-content-inner {
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box;
    margin: 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.top-slider-content-inner:after {
    content: none;
}
.front-slider-box {
    width: 86%;
    margin: 0 auto;
}
.front-copy-box {
    text-align: left;
}
h2.front-copy-title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .12em;
    font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
p.front-copy-text.pc-only {
    font-size: 1.1em;
    line-height: 1.8;
    letter-spacing: .1em;
    margin-top: 15px;
}
.front-copy-img {
    width: 20%;
    max-width: 150px;
    margin-top: 40px;
}
/*.top-slider-wrapper::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 40px;
    background: #52514c;
    bottom: 0;
    left: 5%;
    z-index: 10;
}
.top-slider-wrapper::after {
    content: 'SCROLL';
    position: absolute;
    color: #52514c;
    text-align: center;
    width: 10%;
    left: 0;
    bottom: 50px;
    font-size: 12px;
    font-weight: 400;
    font-family: "Crimson Text", serif;
    line-height: 1;
    z-index: 2;
}*/
div#content01::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 30px;
    background: #52514c;
    left: 5%;
    z-index: 1;
}
.front_original01 {
    padding: 5em 0;
    position: relative;
}
.front_original01::before {
    content: '';
    position: absolute;
    display: block;
    background: #f2e2e2;
    width: 50%;
    height: 100%;
    top: 0px;
    left: 0;
    z-index: -1;
}
.front-original01-inner {
    width: 86%;
    max-width: 1150px;
    margin: 0 auto;
}
.front-original01__title {
    width: 50%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: -webkit-flex;
    display: flex;
    position: relative;
}
.front-original01__title::after {
    content: "Bringing kimono closer to you. As you like.";
    position: absolute;
    text-align: end;
    font-size: 4rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #e7c3c3;
    font-family: "Sacramento", cursive;
    bottom: 0;
    right: -50px;
    transform: rotate(-8deg);
    z-index: -1;
}
.front-original01__text {
    width: 50%;
    padding-left: 5em;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.front-original01__title h2 {
    font-size: 2.2em;
    letter-spacing: .05em;
    line-height: 1.8;
    text-align: left;
}
.front-original01__text p {
    margin-bottom: 30px;
    width: 100%;
}
.front-original01__text p:last-of-type {
    margin-bottom: 0;
}
.front_content02 {
    padding-bottom: 7em;
    position: relative;
}
.front_content02::before {
    content: '';
    position: absolute;
    display: block;
    background: #f2e2e2;
    width: 50%;
    height: 10%;
    top: 0;
    left: 0;
    z-index: -1;
}
.front_content02-inner {
    width: 86%;
    max-width: 1200px;
    margin: 0 auto;
}
img.front_content02_main {
    margin-bottom: 7em;
}
.front_content02-box {
    margin-bottom: 80px;
}
.front_content02-box:last-of-type {
    margin-bottom: 0;
}
.front_content02-text {
    width: 60%;
    padding-left: 2.5em;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.front_content02-img {
    width: 40%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    position: relative;
}
/*.front_content02-img::before {
    content: "About.";
    position: absolute;
    font-size: 6rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #f0bbbb;
    font-family: "Sacramento", cursive;
    top: -40px;
    left: -40px;
    transform: rotate(-10deg);
}
.front_content02-box:nth-of-type(2) .front_content02-img::before {
    content: "Menu.";
}
.front_content02-box:nth-of-type(3) .front_content02-img::before {
    content: "Gallery.";
}*/
.front_content02-text h2, .front_content02-text p {
    width: 100%;
}
.front_content02-text h2 {
    font-size: 1.4em;
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 15px;
}
.front_content02-text p {
    line-height: 2;
}
.content02-button {
    font-size: 0.95em;
    font-weight: 400;
    overflow: hidden;
    text-align: left;
    width: 100%;
    max-width: 180px;
    height: 55px;
    line-height: 55px;
    position: relative;
    margin-right: auto;
    margin-top: 10px;
    margin-bottom: 0;
    background: none;
    box-sizing: border-box;
    transition: 0.5s;
    color: #52514c;
    z-index: 1;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.content02-button::before {
    width: 50px;
    height: 1px;
    position: absolute;
    content: '';
    background: #52514c;
    left: 0;
    bottom: 0;
    z-index: -1;
    transition: 0.5s;
}
.content02-button::after {
    content: '\ea3c';
    color: #fff;
    font-size: 0.8em;
    text-align: center;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 100px;
    background: #f0bbbb;
    position: absolute;
    font-weight: 500;
    bottom: 0;
    right: 5px;
    font-family: 'design_plus';
    transition: 0.5s;
}
.content02-button:hover {
    color: #52514c;
    background: none;
}
.content02-button:hover::before {
    width: 120px;
    background: #cbe0a9;
}
.content02-button:hover::after {
    color: #fff;
    background: #cbe0a9;
    right: 0;
}
.front_original02 {
    padding: 7em 0;
    position: relative;
    z-index: 0;
}
.front_original02::before {
    content: '';
    position: absolute;
    display: block;
    width: 65%;
    height: 100%;
    background: linear-gradient(180deg, #f2e2e2 0%, #fffef6 50%, #fff 70%) !important;
    top: 0;
    left: 0;
}
.front-original02-inner {
    width: 86%;
    max-width: 1200px;
    margin: 0 auto;
}
.front-original02__img {
    width: 60%;
    margin-left: 40%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    position: relative;
    z-index: -1;
}
.front-original02__img::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(-110deg, #ffffff00 0 40%, #fff 95%);
}
.front-original02__text {
    width: 50%;
    margin-left: -100%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    z-index: 1;
}
.front-original02__text h2, .front-original02__text p {
    width: 100%;
}
.front-original02__text h2 {
    font-size: 1.8em;
    margin-bottom: 30px;
    letter-spacing: .08em;
}
.front-original02__text p {
    margin-bottom: 20px;
}
.front-original02__text p:last-child {
    margin-bottom: 0;
}
.front_original03 {
    padding: 7em 0;
}
.front-original03-inner {
    width: 86%;
    max-width: 1200px;
    margin: 0 auto;
}
.third-box {
    margin-bottom: 40px;
}
.third-box:last-of-type {
    margin-bottom: 0;
}
.front-third-img {
    width: 55%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    z-index: -1;
}
.third-box:nth-of-type(odd) .front-third-img {
    margin-left: 45%;
}
.front-third-text {
    width: 45%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    z-index: 0;
    position: relative;
}
.third-box:nth-of-type(odd) .front-third-text {
    margin-left: -100%;
    padding-right: 2.5em;
}
.third-box:nth-of-type(even) .front-third-text {
    padding-left: 2.5em;
}
.front-third-text::before {
    counter-increment: number 1;
    content: "Point."counter(number) "";
    position: absolute;
    font-size: 6rem;
    font-weight: 400;
    letter-spacing: 0;
    display: block;
    font-family: "Sacramento", cursive;
    top: 30px;
    z-index: -1;
    color: #f0bbbb;
    opacity: 0.65;
}
.third-box:nth-of-type(odd) .front-third-text::before {
    right: 20px;
    transform: rotate(9deg);
}
.third-box:nth-of-type(even) .front-third-text::before {
    left: -30px;
    transform: rotate(-9deg);
}
.front-third-text h2 {
    font-size: 1.5em;
    line-height: 1.5;
    margin-bottom: 15px;
    width: 100%;
}
.front_topics {
    padding: 5em 0;
    margin-bottom: 5em;
    position: relative;
}
.front_topics::before {
    content: '';
    position: absolute;
    display: block;
    background: #fff;
    width: 50%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}
.front-topics-inner {
    width: 86%;
    max-width: 1150px;
    margin: 0 auto;
}
h2.front_topics_title {
    width: 25%;
    font-size: 2.5em;
    letter-spacing: .05em;
    margin: 3.2em auto;
    float: left;
}
h2.front_topics_title span {
    margin-top: 15px;
    font-size: 0.35em;
    display: block;
}
h2.headline-primary {
    display: none;
}
.footer-gallery-title, .align1 {
    display: none;
}
.footer {
    margin-top: 0;
    background: #f2e2e2;
}
.footer_contact_sec {
    padding: 6em 0;
}
.footer_contact_inner {
    width: 86%;
    max-width: 1200px;
    margin: 0 auto;
    display: block;
}
.footer_contact_bg {
    width: 40%;
    text-align: center;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.footer_address_bg {
    width: 40%;
    padding-left: 3em;
    text-align: center;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.footer_menu_bg {
    width: 20%;
    padding-left: 3em;
    border-left: 1px solid #cbb7b7;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    display: -webkit-flex;
    display: flex;
}
h2.footer-logo-name {
    font-size: 1.5em;
    margin-bottom: 20px;
    text-align: left;
    width: 100%;
}
dl.address_body {
    width: 100%;
    font-size: 0.9em;
    text-align: left;
    line-height: 1.6;
    display: flex;
    margin-bottom: 8px;
}
dl.address_body:last-of-type {
    margin-bottom: 20px;
}
dt.address_title {
    width: 20%;
}
dd.address_text {
    width: 80%;
}
address.footer_tel {
    font-size: 2em;
    font-weight: 400;
    font-style: normal;
    letter-spacing: .05em;
    margin-bottom: 6px;
    text-align: left;
    width: 100%;
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
span.footer_tel_sub {
    font-size: 0.5em;
    margin-right: 4px;
    letter-spacing: 1px;
}
p.footer-con-caution {
    font-size: 0.85em;
    position: relative;
    line-height: 1.5;
    padding-left: 15px;
    margin-bottom: 5px;
    box-sizing: border-box;
    text-align: left;
    width: 100%;
}
p.footer-con-caution:last-of-type {
    margin-bottom: 0;
}
p.footer-con-caution::before {
    content: '※';
    position: absolute;
    left: 0;
    color: #ff5353;
}
ul.sns__links {
    width: 100%;
    max-width: 270px;
    display: flex;
    margin-top: 25px;
    margin-right: auto;
}
li.sns__links-item {
    width: 33.3333%;
}
a.footer_sns {
    display: block;
    text-align: center;
}
a.footer_sns::before {
    content: "";
    font-family: design_plus;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: auto;
    color: #52514c;
    background: #fff;
    font-size: 15px;
    width: 35px;
    height: 35px;
    border-radius: 100%;
    transition: all 0.5s;
    z-index: 1;
}
a.footer_mail_but::before {
    content: '\f0e0';
}
a.footer_line_but::before {
    content: '\e909';
}
a.footer_insta_but::before {
    content: '\ea92';
}
a.footer_sns:hover {
    background: none;
}
a.footer_mail_but:hover {
    color: #e7c3c3;
}
a.footer_line_but:hover {
    color: #00b900;
}
a.footer_insta_but:hover {
    color: #ff0357;
}
a.footer_sns:hover::before {
    color: #fff;
}
a.footer_mail_but:hover::before {
    background: #e7c3c3;
}
a.footer_line_but:hover::before {
    background: #00b900;
}
a.footer_insta_but:hover::before {
    background-image: linear-gradient(45deg, #ffd75f, #ff0357);
}
a.footer_sns span {
    margin-top: 7px;
    text-align: center;
    display: block;
    font-size: 12px;
    font-weight: 500;
}
.footer_address_bg h2, .footer_address_bg h3, .footer_address_bg p {
    text-align: left;
    width: 100%;
}
.footer_address_bg h2 {
    font-size: 1.3em;
    letter-spacing: 0;
}
.footer_address_bg h3 {
    font-size: 1.1em;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 10px;
}
.footer_address_bg p {
    font-size: 0.85em;
}
ul.footer-content-list-outer {
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
}
ul.footer-content-list-outer:last-child {
    padding-right: 0;
    margin-bottom: 0;
}
ul.footer-content-list-outer li {
    width: 100%;
    font-size: 0.85em;
    letter-spacing: 0;
    line-height: 1.5;
    padding-left: 15px;
    margin-bottom: 10px;
    position: relative;
}
ul.footer-content-list-outer li:last-of-type {
    margin-bottom: 0;
}
ul.footer-content-list-outer li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 1px;
    background: #52514c;
    top: 11px;
    left: 0;
    transition: all 0.5s;
}
ul.footer-content-list-outer li:hover::before {
    padding-left: 8px;
}
ul.footer-content-list-outer li a:hover {
    color: #e39c9c;
}
ul.footer-content-list-outer li a span{
    display: none;
}
.footer-content {
    display: none;
}
.pagetop {
    right: 50px;
    bottom: 20px;
}
.pagetop a {
    background: none;
    color: #52514c;
    position: relative;
    width: auto;
    height: auto;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    font-family: "Crimson Text", serif;
}
.pagetop a::before {
    content: "\ea3a";
    position: absolute;
    display: block;
    color: #52514c;
    background: #cbe0a9;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 12px;
    text-align: center;
    border-radius: 100px;
    right: 0;
    top: auto;
    bottom: 20px;
    z-index: -1;
    transition: all 0.5s ease 0s;
}
.pagetop a:hover {
    color: #52514c;
    background: none;
}
.pagetop a:hover::before {
    bottom: 25px;
    color: #fff;
    background: #cbe0a9;
}
.copyright {
    font-size: 11px;
    color: #52514c;
}
.footer-bar01, .footer-bar01-inner, .copyright {
    background: none;
}

.dp-footer-bar-item span{
    color: #000 !important;
}

@media only screen and (max-width: 1200px) {
    .header-youtube {
        height: calc(80vh - 80px);
    }
}
@media only screen and (max-width: 970px) {
    .header-youtube, .header-video, .top-slider {
        height: calc(60vh - 55px);
    }
    .front-original01__title {
        width: 100%;
        margin-bottom: 1.5em;
    }
    .front-original01__text {
        width: 100%;
        padding-left: 0;
    }
    .front-original01__title::after {
        width: 70%;
        font-size: 3rem;
        opacity: 0.5;
        right: 0;
        bottom: -60px;
    }
    .front-original01__title h2 br {
        display: contents;
    }
    .front_content02-img {
        width: 100%;
    }
    .front_content02-text {
        width: 100%;
        padding-left: 0;
        margin-top: 1.5em;
    }
    .front-original02__img {
        width: 100%;
        margin-left: 0;
        margin-bottom: 2.5em;
    }
    .front-original02__text {
        width: 100%;
        margin-left: 0;
    }
    .front_original03 {
        padding-top: 0;
    }
    .front-third-img, .front-third-text {
        width: 100%;
    }
    .front-third-img {
        margin-bottom: 2em;
    }
    .third-box:nth-of-type(odd) .front-third-img {
        margin-left: 0;
    }
    .third-box:nth-of-type(odd) .front-third-text {
        margin-left: 0;
        padding-right: 0;
    }
    .third-box:nth-of-type(even) .front-third-text {
        padding-left: 0;
    }
    .front-third-text::before {
        top: -60px;
        opacity: 0.8;
    }
    .third-box:nth-of-type(odd) .front-third-text::before {
        right: -20px;
        transform: rotate(0deg);
    }
    .third-box:nth-of-type(even) .front-third-text::before {
        left: auto;
        right: -20px;
        transform: rotate(0deg);
    }
    .front_topics {
        margin-bottom: 0;
    }
    .front_topics::before {
        height: 50%;
    }
    h2.front_topics_title {
        width: 100%;
        float: none;
        margin: 0;
        margin-bottom: 30px;
        text-align: center;
    }
    .footer_contact_sec {
        padding: 4em 0;
    }
    .footer_contact_bg, .footer_address_bg {
        width: 50%;
        margin-bottom: 3em;
    }
    .footer_menu_bg {
        width: 100%;
        padding-left: 0;
        border: 0;
    }
    dl.address_body {
        display: block;
    }
    dt.address_title, dd.address_text {
        width: 100%;
    }
    ul.footer-content-list-outer {
        width: 30%;
        margin-bottom: 0;
    }
    .dp-footer-bar {
        background: #fffef0 !important;
        border-top: 1px solid #c8102e !important;
    }
    .dp-footer-bar .dp-footer-bar-item{
        background: #fff !important;
    }
    .dp-footer-bar-item + .dp-footer-bar-item {
        border-left: 1px solid #c8102e !important;
    }
    .dp-footer-bar-icon:before {
        font-weight: 500;
    }
    .icon-file-text:before {
        content: '\e909';
    }
    .dp-footer-bar a {
        color: #52514c;
    }
}
@media only screen and (max-width: 768px) {
    .header-youtube, .header-video, .top-slider {
        height: calc(100vh - 55px);
    }
    h2.front-copy-title {
        font-size: 1.4rem;
    }
    p.front-copy-text.pc-only {
        display: none;
    }
    .front-copy-img {
        margin-top: 20px;
    }
    .top-slider-wrapper::before, .top-slider-wrapper::after, div#content01::before {
        content: none;
    }
    .front_original01 {
        padding: 3em 0;
    }
    .front-original01__title::after {
        width: 100%;
    }
    .front-original01__title h2 {
        font-size: 1.6em;
        line-height: 1.5;
        letter-spacing: 0;
    }
    .front-original01__text p {
        margin-bottom: 12px;
    }
    .front_content02 {
        padding-bottom: 3em;
    }
    img.front_content02_main {
        margin-bottom: 5em;
    }
    .front_content02-box {
        margin-bottom: 40px;
    }
    .front_content02-img::before {
        font-size: 4rem;
        top: -20px;
        left: -10px;
    }
    .front_original02 {
        padding: 3em 0;
    }
    .front-original02__text h2 {
        font-size: 1.4em;
        margin-bottom: 20px;
    }
    .front-original02__text p {
        margin-bottom: 10px;
    }
    .front_original03 {
        padding-bottom: 3em;
    }
    .front-third-text::before {
        font-size: 4rem;
    }
    .front_topics {
        padding: 3em 0;
    }
    h2.front_topics_title {
        font-size: 2em;
    }
    .footer_contact_sec {
        padding: 2.5em 0;
    }
    .social-nav {
        width: 90%;
        margin: auto;
    }
    .pagetop {
        bottom: 60px !important;
        right: 50px;
    }
    .pagetop a {
        font-size: 11px;
    }
}
@media only screen and (max-width: 500px) {
    .header-youtube, .header-video, .top-slider {
        height: calc(60vh - 60px);
    }
    .footer_contact_bg, .footer_address_bg {
        width: 100%;
    }
    .footer_address_bg {
        padding-left: 0;
    }
    ul.footer-content-list-outer {
        width: 50%;
    }
}
@media only screen and (max-height: 400px) {
    .top-slider {
        height: 100vh;
    }
}
/* トップ・フッター END */
/* 固定ページ */
.page .post-header {
    margin: 0px;
}
.content_inner {
    width: 86%;
    max-width: 1150px;
    margin: 0px auto;
    padding: 100px 0;
    box-sizing: border-box;
    position: relative;
}
.post-content h2 {
    font-size: 1.6em;
    line-height: 1.8;
    margin-bottom: 30px;
    padding-top: 0;
    font-weight: 700;
    text-align: center;
}
.post-content h2::after {
    content: "";
    display: block;
    background: #f9b9b9;
    width: 25px;
    height: 1px;
    margin: 15px auto 0;
}
.post-content h3 {
    font-size: 1.4em;
    font-weight: 500;
    padding: 0;
    margin-bottom: 15px;
    line-height: 1.5;
    color: #e39c9c;
    width: 100%;
}
.post-content h4 {
    font-size: 1.2em;
    margin-bottom: 15px;
    line-height: 1.5;
    font-weight: 500;
    padding: 0;
}
.post-content table {
    margin: 0;
}
.post-content th, .post-content td {
    font-size: 0.95em;
    font-weight: 400;
    vertical-align: middle;
    line-height: 1.8;
    letter-spacing: .08em;
    padding: 22px 2px 18px;
    background: none;
    border: 0;
    border-bottom: 1px #bcbcbc dotted;
}
.post-content th {
    width: 20%;
    text-align: left;
    border-right: none;
}
.post-content td {
    border-left: none;
}
@media only screen and (max-width: 1200px) {
    .content_inner {
        padding: 80px 0;
    }
}
@media only screen and (max-width: 970px) {
    .post-content th, .post-content td {
        padding: 14px 4px 10px;
        line-height: 1.5;
        display: block;
        box-sizing: border-box;
        margin-top: -1px;
        width: 100% !important;
    }
    .post-content th {
        border-bottom: none;
        padding-bottom: 0;
    }
    .post-content td {
        border-top: none;
    }
}
@media only screen and (max-width: 768px) {
    .content_inner {
        padding: 50px 0;
    }
    .post-content h2 {
        font-size: 1.4em;
        letter-spacing: 0;
        line-height: 1.5;
        margin-bottom: 20px;
    }
    .post-content h2::after {
        width: 20px;
        margin-top: 10px;
    }
    .post-content h3 {
        font-size: 1.2em;
        margin-bottom: 10px;
    }
}
/* 固定ページ END */
/* お知らせ */
.archive.category .main, .post-template-default .main, .blog .main {
    padding-bottom: 100px;
}
h2.archive-title {
    color: #52514c;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.archive-header {
    margin: 90px 0px 40px;
}
.article03 {
    background: #fff;
    box-sizing: border-box;
    border: 1px solid #f2e2e2;
}
.article03-content {
    padding: 15px;
}
.article03-title {
    font-size: 0.85em;
    font-weight: 400;
    line-height: 1.5;
    color: #52514c;
}
.article03-category-item:hover, .article03 a:hover .article03-title {
    text-decoration: none;
}
.post-category {
    font-weight: 300;
}
.post-title, .post-meta {
    color: #52514c;
    font-weight: 500;
}
.nav-links01 {
    border-top: 1px dotted #bcbcbc;
    border-bottom: 1px dotted #bcbcbc;
}
.nav-links01-previous + .nav-links01-next {
    border-left: 1px dotted #bcbcbc;
}
.article01-title a {
    font-size: 0.9em;
    font-weight: 500;
}
.nav-links01-previous a::before, .nav-links01-next a::after {
    font-size: 15px;
    font-weight: 500;
}
.post-meta-box {
    background: #fffef6;
}
.post-meta-box-item {
    font-weight: 500;
}
.post-meta-box-item::before {
    color: #e7c3c3;
}
.primary {
    width: 100%;
}
.headline-bar {
    color: #fffef6;
    font-weight: 500;
    background: #52514c;
}
@media only screen and (max-width: 1200px) {
    .archive.category .main, .post-template-default .main {
        padding-bottom: 80px;
    }
    .article03-title {
        margin: 0;
    }
}
@media only screen and (max-width: 970px) {
    .post-meta-box-item {
        padding: 8px 0px 8px 20px;
        margin-left: 15px;
    }
}
@media only screen and (max-width: 768px) {
    .archive.category .main, .post-template-default .main {
        padding-bottom: 30px;
    }
    .archive-header {
        margin: 50px 0px 30px;
    }
    h2.archive-title {
        font-size: 25px !important;
    }
    h1.post-title {
        font-size: 1.2em !important;
    }
    .nav-links01-previous a::before, .nav-links01-next a::after {
        color: #52514c;
    }
    .article04-title {
        font-size: 15px;
    }
    .nav-links01 {
        border: 1px dotted #bcbcbc;
    }
}
@media only screen and (max-width: 500px) {
    .post-title, .post-meta {
        text-align: left;
    }
    .article03-title {
        font-size: 10px;
        margin-top: 0;
    }
}
/* お知らせ END */
/* コンテンツ 共通 */
.flex-inner {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}
p.caution {
    line-height: 1.5;
    margin-bottom: 5px;
    padding-left: 15px;
    position: relative;
    box-sizing: border-box;
}
p.caution:last-of-type {
    margin-bottom: 0;
}
p.caution::before {
    content: '※';
    position: absolute;
    left: 0;
}
span.caution {
    position: relative;
    padding-left: 17px;
    line-height: 1.8;
    box-sizing: border-box;
    display: inline-block;
}
span.caution::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
    color: #ff5353;
}
ul.list {
    margin: 0;
    list-style: none;
}
ul.list li {
    padding-left: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
    box-sizing: border-box;
    position: relative;
}
ul.list li:last-child {
    margin-bottom: 0;
}
ul.list li::before {
    content: '';
    position: absolute;
    background: #cbe0a9;
    width: 7px;
    height: 7px;
    top: 10px;
    left: 0;
}
ul.list.caution_list li::before {
    content: '※';
    background: none;
    top: 0;
    color: #f35d63;
}
/* コンテンツ 共通 END */
/* メニュー ・ キャンセルについて 共通 */
.menu_sec .content_inner {
    max-width: 900px;
}
.menu_sec h2 {
    text-align: left;
    margin-bottom: 15px;
}
.menu_sec h2::after {
    margin-top: 8px;
    margin-left: 0;
}
.menu_box {
    margin-bottom: 80px;
}
.menu_box:last-of-type {
    margin-bottom: 0;
}
p.first-price_text {
    background: #f2e2e2;
    padding: 5px 8px;
    line-height: 1.5;
}
.cancel_sec .content_inner {
    max-width: 900px;
}
.price_box {
    padding: 25px 30px;
    margin-bottom: 20px;
    border: 1px solid #f2e2e2;
    background: #fffef6;
    box-sizing: border-box;
}
.price_box:last-of-type {
    margin-bottom: 0;
}
.price_box h3 {
    margin-bottom: 10px;
}
.price_box p {
    margin-bottom: 5px;
}
.price_box p:last-child {
    margin-bottom: 0;
}
.price_box ul.caution_list {
    font-size: 0.85em;
}
.discount_box {
    padding: 15px 20px;
    background: #faefef;
    margin-bottom: 5px;
    box-sizing: border-box;
}
.discount_box:last-of-type {
    margin-bottom: 0;
}
.discount_box h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
    color: #52514c;
}
.discount_box p {
    margin-bottom: 0;
}
.discount_box span {
    font-weight: 500;
    color: #f35d63;
}
a.insta_but {
    width: 100%;
    max-width: 250px;
    padding: 10px 15px;
    border-radius: 10px;
    margin-top: 15px;
    font-weight: 700;
    display: block;
    color: #fff;
    background-image: linear-gradient(-20deg, #ffd75f, #ff0357);
    box-sizing: border-box;
    position: relative;
}
a.insta_but::after {
    content: '\ea92';
    font-family: design_plus;
    position: absolute;
    right: 20px;
    font-weight: 400;
}
a.insta_but:hover {
    color: #52514c;
    background: #f2e2e2;
}
table.price_tbl {
    margin-bottom: 15px;
}
table.price_tbl th, table.price_tbl td {
    font-weight: 500;
}
table.price_tbl th {
    width: 50%;
}
table.price_tbl td {
    text-align: end;
}
span.tax {
    margin-left: 10px;
    font-size: 0.85em;
}
.address_two {
    width: 50%;
    margin-right: -1px;
    padding: 20px 25px;
    border: 1px solid #cbe0a9;
    box-sizing: border-box;
}
.address_two:nth-of-type(2) {
    margin-right: 1px;
    margin-bottom: 0;
}
.address_two h3 {
    font-size: 1.2em;
    margin-bottom: 10px;
}
.address_two p {
    line-height: 1.8;
    margin-bottom: 10px;
}
table.address_tbl th, table.address_tbl td {
    font-size: 0.85em;
    font-weight: 500;
}
table.address_tbl th {
    width: 30%;
    color: #e39c9c;
}
@media only screen and (max-width: 768px) {
    .menu_box {
        margin-bottom: 40px;
    }
    .price_box {
        padding: 20px;
        margin-bottom: 10px;
    }
    .address_two {
        width: 100%;
        margin-right: 0;
        margin-bottom: -1px;
        padding: 20px;
    }
}
/* メニュー ・ キャンセルについて 共通 END */
/* ご利用の流れ */
.flow_sec .content_inner {
    max-width: 950px;
}
.flow_sec h2 {
    text-align: left;
}
.flow_sec h2::after {
    width: 50px;
    margin-left: 0;
}
.flow_box {
    margin-bottom: 50px;
}
.flow_box:last-of-type {
    margin-bottom: 0;
}
.flow {
    padding-left: 70px;
    padding-top: 6px;
    padding-bottom: 40px;
    position: relative;
    box-sizing: border-box;
    z-index: 0;
}
.flow:first-of-type {
    margin-top: 60px;
}
.flow:last-of-type {
    padding-bottom: 0;
}
.flow::before {
    counter-increment: number 1;
    content: counter(number)"";
    position: absolute;
    text-align: center;
    width: 45px;
    height: 45px;
    line-height: 45px;
    font-size: 33px;
    font-weight: 400;
    font-family: "Crimson Text", serif;
    color: #fff;
    background: #e7c3c3;
    border-radius: 100px;
    box-sizing: border-box;
    top: 0;
    left: 0;
    z-index: 0;
}
.flow::after {
    content: '';
    position: absolute;
    top: 0;
    left: 22px;
    width: 1px;
    height: 100%;
    background: #e7c3c3;
    z-index: -1;
}
.flow:last-of-type::after {
    display: none;
}
.flow h3 {
    font-size: 1.3em;
    margin-bottom: 10px;
    color: #52514c;
}
.flow h4 {
    font-size: 1.1em;
    margin-bottom: 5px;
}
.flow p {
    margin-bottom: 20px;
}
.flow p:last-child {
    margin-bottom: 0;
}
a.flow_con_but {
    width: 100%;
    max-width: 300px;
    padding: 12px 20px;
    margin-top: 10px;
    color: #52514c;
    border: 1px solid;
    border-radius: 100px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: -webkit-flex;
    display: flex;
    position: relative;
}
a.flow_con_but::after {
    content: "\ea3c";
    font-family: design_plus;
    position: absolute;
    font-size: 14px;
    right: 25px;
    font-weight: 400;
}
a.flow_con_but:hover {
    color: #52514c;
    background: #f2e2e2;
    border-color: #f2e2e2;
}
.need_box {
    padding: 25px 30px;
    border: 1px solid #f2e2e2;
    background: #fffef6;
    box-sizing: border-box;
}
.need_box h2 {
    margin-bottom: 15px;
}
.need_box h2::after {
    content: none;
}
ul.need_list {
    width: 50%;
}
ul.need_list:nth-of-type(2) {
    padding-left: 1em;
}
span.need_caution {
    font-size: 0.9em;
    display: block;
}
@media only screen and (max-width: 768px) {
    .flow_box {
        margin-bottom: 30px;
    }
    .flow {
        padding-top: 1px;
        padding-left: 50px;
        padding-bottom: 25px;
    }
    .flow:first-of-type {
        margin-top: 30px;
    }
    .flow::before {
        width: 35px;
        height: 35px;
        line-height: 35px;
        font-size: 27px;
    }
    .flow::after {
        left: 17px;
    }
    .need_box {
        padding: 20px;
    }
}
@media only screen and (max-width: 500px) {
    ul.need_list {
        width: 100%;
        margin-bottom: 8px;
    }
    ul.need_list:nth-of-type(2) {
        padding-left: 0;
        margin-bottom: 0;
    }
}
/* ご利用の流れ END */
/* よくある質問*/
.faq_sec h2 {
    margin-bottom: 15px;
    line-height: 1.5;
    text-align: left;
}
.faq_sec h2::after {
    content: none;
}
a.faq_con_but {
    width: 100%;
    max-width: 300px;
    padding: 12px 20px;
    margin-top: 10px;
    color: #52514c;
    border: 1px solid;
    border-radius: 100px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: -webkit-flex;
    display: flex;
    position: relative;
}
a.faq_con_but::after {
    content: "\ea3c";
    font-family: design_plus;
    position: absolute;
    font-size: 14px;
    right: 25px;
    font-weight: 400;
}
a.faq_con_but:hover {
    color: #52514c;
    background: #f2e2e2;
    border-color: #f2e2e2;
}
.faq {
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px #bcbcbc dotted;
    box-sizing: border-box;
}
.faq:first-of-type {
    margin-top: 60px;
}
.faq:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
.faq h3, p.answer {
    padding-left: 50px;
    position: relative;
}
.faq h3 {
    font-size: 1.2em;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 15px;
    padding-top: 2px;
    color: #52514c;
}
p.answer {
    padding-top: 2px;
    margin-bottom: 10px;
    position: relative;
}
p.answer:last-child {
    margin-bottom: 0;
}
.faq h3::before, p.answer::before {
    content: '';
    position: absolute;
    display: block;
    font-size: 20px;
    font-weight: 400;
    width: 33px;
    height: 33px;
    line-height: 33px;
    border-radius: 100px;
    text-align: center;
    color: #fff;
    background: #e7c3c3;
    top: 0;
    left: 0;
    font-family: "Crimson Text", serif;
}
.faq h3::before {
    content: 'Q';
}
p.answer::before {
    content: 'A';
    color: #e39c9c;
    background: #ffffd9;
}
a.link_but {
    font-weight: 500;
    color: #94b36f;
    text-decoration: revert;
}
a.link_but:hover {
    color: #cbe0a9;
}
@media only screen and (max-width: 768px) {
    .faq {
        margin-bottom: 25px;
        padding-bottom: 25px;
    }
    .faq:first-of-type {
        margin-top: 40px;
    }
    .faq h3, p.answer {
        padding-left: 45px;
    }
}
/* よくある質問 END */
/* こだわり */
.commitment_sec:first-of-type .content_inner {
    padding-bottom: 0;
}
.commitment__img {
    width: 45%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.commitment__text {
    width: 55%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.commitment_sec:nth-of-type(1) .commitment__text {
    padding-right: 2.5em;
}
.commitment_sec:nth-of-type(1) .commitment__img {
    justify-content: center;
}
.commitment_sec:nth-of-type(2) .commitment__img {
    padding-right: 2.5em;
}
.commitment__text h2, .commitment__text h3, .commitment__text p, .commitment__text ul {
    width: 100%;
}
.commitment__text h2 {
    text-align: left;
    line-height: 1.5;
    margin-bottom: 20px;
}
.commitment__text h2::after {
    content: none;
}
h3.name {
    font-size: 1.4em;
    margin-bottom: 25px;
}
h3.name span {
    margin-right: 15px;
    font-size: 0.7em;
}
.commitment__text h3:nth-of-type(2) {
    font-size: 1.2em;
    margin-top: 30px;
    margin-bottom: 10px;
}
.commitment__text p {
    margin-bottom: 20px;
}
.commitment__text p:last-of-type {
    margin-bottom: 0;
}
span.thought {
    font-weight: 600;
    color: #e39c9c;
}
@media only screen and (max-width: 768px) {
    .commitment__img {
        width: 100%;
    }
    .commitment__text {
        width: 100%;
    }
    .commitment_sec:nth-of-type(1) .commitment__text {
        padding-right: 0;
        margin-bottom: 1em;
    }
    .commitment_sec:nth-of-type(2) .commitment__img {
        padding-right: 0;
        max-width: 300px;
        margin: 0 auto 20px;
    }
    h3.name {
        text-align: center;
        margin-bottom: 15px;
    }
    .commitment__text h3:nth-of-type(2) {
        margin-top: 15px;
    }
    .commitment__text p {
        margin-bottom: 12px;
    }
}
/* こだわり END */
/* 店舗概要 */
.info_sec .content_inner {
    max-width: 750px;
}
table.info_tbl th {
    width: 32%;
}
span.shop_name {
    font-weight: 500;
    margin-top: 15px;
    display: inline-block;
}
span.shop_name:first-of-type {
    margin-top: 0;
}
span.caution.info_caution {
    font-size: 0.9em;
    letter-spacing: 0;
}
/* 店舗概要 END */
/* お問い合わせ */
.contact_sec .content_inner, .mail_sec .content_inner {
    max-width: 950px;
}
.contact_sec .content_inner {
    padding-bottom: 0;
}
.con__inner {
    margin-bottom: 70px;
}
.con__inner:last-of-type {
    margin-bottom: 0;
}
.con__inner p {
    margin-bottom: 0;
}
.con_line_box {
    color: #fff;
    background: #00b900;
    padding: 30px;
    box-sizing: border-box;
}
.con_line_box h2 {
    line-height: 1.5;
    margin-bottom: 15px;
    color: #fff;
}
.con_line_box h2::after {
    content: none;
}
.con_line_box p {
    font-weight: 500;
}
a.con_line_but {
    width: 100%;
    max-width: 350px;
    padding: 15px 25px;
    font-size: 1em;
    font-weight: 500;
    color: #fff;
    background: #c8102e;
    border-radius: 100px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: -webkit-flex;
    display: flex;
    position: relative;
    margin: auto;
}
a.con_line_but::before {
    content: '\e909';
    font-size: 23px;
    font-weight: 400;
    position: absolute;
    font-family: "design_plus";
    right: 25px;
}
a.con_line_but:hover {
    opacity: 0.7;
}
address.con_tel {
    font-size: 2.8em;
    font-style: normal;
    letter-spacing: .05em;
    text-align: center;
    font-weight: 400;
    margin-bottom: 10px;
    line-height: 1;
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
span.con_tel_sub {
    font-size: 0.5em;
    font-weight: 500;
    letter-spacing: .05em;
    margin-right: 3px;
    color: #000;
}
p.con_caution {
    width: fit-content;
    margin: auto;
    margin-bottom: 20px;
    font-size: 0.9em;
    color: #f35d63;
}
p.con_time {
    width: fit-content;
    margin: auto;
    line-height: 1.5;
    margin-bottom: 8px;
}
p.con_time:last-of-type {
    margin-bottom: 0;
}
p.con_time span {
    display: inline-block;
    margin-right: 10px;
    font-weight: 500;
}
span.caution.time_caution {
    color: #52514c;
    font-weight: 400;
    font-size: 0.85em;
}
.mail_info_box {
    margin-bottom: 20px;
}
.mail_info_box p {
    line-height: 2;
    margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
    .con__inner {
        margin-bottom: 40px;
    }
    .con_line_box {
        padding: 20px;
    }
    address.con_tel {
        font-size: 2em;
        letter-spacing: 0;
    }
    address.con_tel a {
        color: #52514c;
    }
    p.con_time span {
        display: block;
        text-align: center;
        margin-right: 0;
    }
    span.caution.time_caution {
        display: inline-block;
    }
}
/* お問い合わせ END */
/* お問い合わせフォーム */
span.required {
    font-size: 0.8em;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
    display: inline-block;
    margin-left: 8px;
    margin-bottom: 8px;
    padding: 1.5px 3px;
    border-radius: 2px;
    color: #fff;
    background: #f35d63;
}
.wpcf7 {
    border: none;
    background: none;
    margin-bottom: 0 !important;
}
.wpcf7 input, .wpcf7 textarea {
    background: #e9e9e9;
    border: 0;
    padding: 18px;
    box-sizing: border-box;
}
.wpcf7 form {
    margin: 0;
}
.wpcf7 form p {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.5;
    margin-bottom: 22px;
}
.wpcf7 form p:last-of-type {
    margin-bottom: 0;
}
.wpcf7 input.wpcf7-submit {
    margin-top: 30px;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    font-size: 1em;
    font-weight: 400;
    letter-spacing: .05em;
    height: 70px;
    color: #52514c;
    background: none;
    border: 1px solid !important;
    border-radius: 100px;
    transition: all .5s;
    font-family: "Crimson Text", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.wpcf7 input.wpcf7-submit:hover {
    color: #fff;
    background: #e7c3c3;
    border-color: #e7c3c3 !important;
    transform: translateY(8px);
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
    box-shadow: none !important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border: none;
    color: #f33c36;
    background: #ffd8df;
    line-height: 1.8;
    padding: 15px 20px;
}
@media only screen and (max-width: 768px) {
    .wpcf7 input.wpcf7-submit {
        margin-top: 20px;
    }
}
/* お問い合わせフォーム END */
/* ブログ記事の画像 */
.single .post-content img {
    width: auto;
}
/* ブログ記事の画像 END */
/* インスタ埋め込み */
.front_insta {
    padding: 5em 0;
    position: relative;
}
.front_insta::before {
    content: '';
    position: absolute;
    display: block;
    background: #f2e2e2;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: -1;
}
.front-insta-inner {
    width: 86%;
    max-width: 1150px;
    margin: auto;
}
.front_insta_title {
    width: 35%;
    margin-left: 65%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.front_insta_img {
    width: 65%;
    margin-left: -100%;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
}
.front_insta_title h2 {
    font-size: 2.5em;
    margin-bottom: 40px;
}
a.front_insta_but {
    font-size: 0.85em;
    letter-spacing: .1em;
    text-align: center;
    width: 100%;
    font-weight: 400;
    font-family: "Crimson Text", serif;
    position: relative;
    box-sizing: border-box;
    transition: 0.8s;
}
a.front_insta_but span::after {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    background: #52514c;
    margin: 15px auto 0;
    transition: 0.5s;
}
a.front_insta_but:hover {
    color: #cbe0a9;
}
a.front_insta_but:hover span::after {
    width: 50px;
}
@media only screen and (max-width: 970px) {
    .front_insta::before {
        height: 50%;
    }
    .front_insta_title, .front_insta_img {
        width: 100%;
        margin-left: 0;
    }
    .front_insta_title {
        margin-bottom: 1.5em;
    }
}
@media only screen and (max-width: 768px) {
    .front_insta {
        padding: 3em 0;
    }
    .front_insta_title h2 {
        font-size: 2em;
        margin-bottom: 20px;
    }
}
/* インスタ埋め込み END */
/* スマホ動画 */
video {display:block;}
#bg-video {
    right:0;
    bottom:0;
    z-index:-1;
}
#main-image {
    background-color: rgba(0, 0, 0, 0);
}

video {
    min-height: 20%;
    min-height: 20vh;
    min-width: 20%;
    min-width: 20vw;
    width:100%;
    height:auto;
    background: url('img/main_img-scaled.jpg') no-repeat;
    background-attachment: fixed;
    background-position: center center;
}

/* ご予約・お問い合わせ */
.con_line_box p {
    text-align: center;
    margin-top: 16px;
    color: #fff;
    font-size: 1em;
}

/* 固定ページ　準備中 */
.post-content p.pending {
    text-align: center;
    margin-bottom: 0;
    font-size: 1.5em;
}

/* フッター　屋号読み仮名 */
h2.footer-logo-name {
    font-size: 1.8em;
}
.footer-yomi {
    font-size: 0.5em;
    padding-left: 1em;
    font-family: "Zen Maru Gothic", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/* ヘッダーロゴ　小文字に変更 
.logo-image {
        top: -6px;
    width: 150px;
}
@media only screen and (max-width: 1200px) {
        .logo-image {
    top: -8px;
    left: 0px;
    width: 85px;
        }
}  */

/* 260127 トップページバナー */
.top-banner-wrapper {
    width: 100%;
    background: #fff;
    position: relative;
    z-index: 1;
    clear: both; /* 追加 */
}

.top-banner {
    max-width: 800px;
    margin: 0 auto 40px;
    padding: 20px;
}

.top-banner a {
    display: block;
}

.top-banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* 動画が潰れないように */
#content01 {
    clear: both;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .top-banner {
        padding: 15px;
    }
}

/* 260128 シーズン料金導入の投稿 */
.post-content .wp-caption.alignleft {
    float: none !important;
    display: inline-block;
    vertical-align: top;
    margin: 0 1% 20px !important;
}

.post-content .wp-caption.alignleft {
    width: 22% !important;
}

@media (max-width: 1024px) {
    .post-content .wp-caption.alignleft {
        width: 47% !important;
    }
}

@media (max-width: 768px) {
    .post-content .wp-caption.alignleft {
        width: 100% !important;
        display: block;
        margin: 0 0 20px 0 !important;
    }
}

.post-content .wp-caption img[width],
.post-content figure img[width] {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}
.price-button {
    display: block;
    margin-top: 30px;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1em;
    font-weight: 500;
    letter-spacing: .05em;
    height: 70px;
    line-height: 70px;
    text-align: center;
    color: #cc6565 !important;
    background: none;
    border: 1px solid #52514c;
    border-radius: 100px;
    transition: all .5s;
    text-decoration: none;
    cursor: pointer;
}

.price-button:hover {
    color: #fff !important;
    background: #e7c3c3;
    border-color: #e7c3c3;
    transform: translateY(8px);
}

.flex-inner.price__content {
    margin: 3em auto 0;
}
/*===================*/
.p-price {
    position: relative;
    background-color: #efefef;
    margin: 0 -20px;
}
.p-price__body {
    margin: 0 0 20px;
    background-color: #fff;
    border-radius: 10px;
}
.p-price__heading {
    position: relative;
    margin: 0;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}
.p-price__heading .en {
    color: #A3231F;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: 60px;
    line-height: 1.4;
}
.p-price__heading .ja {
    display: block;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
}
.p-price__lead {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 0 0;
    line-height: 2.4;
}
.p-price__features {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style: none;
}
.p-price__feature {
    position: relative;
    padding-bottom: 10px;
}
.p-price__feature::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    width: 230px;
    height: 8px;
    background: url(../images/p-price/img-line.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.p-price__feature .label {
    background: #c8102e ;
    color: #fff;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 18px;
    padding: 0 20px;
    border-radius: 20px;
}
@media screen and (min-width: 768px) {
    .p-price__feature .label {
        font-size: calc(1.3157894737 + vw + 7.8947368421 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__feature .label {
        font-size: 25px;
    }
}
.p-price__feature .label::before {
    /*content: "";*/
    display: block;
    width: 32px;
    height: 32px;
    background: url(../images/p-price/icon-check.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 20px;
}
.p-price__plans {
    display: -ms-grid;
    display: grid;
    list-style: none;
    padding: 0;
}
.p-price__balloon {
    background: #ececec;
    position: relative;
    padding: 4px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.p-price__balloon_02 {
    background: #fae6bf;
    position: relative;
    padding: 4px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.p-price__balloon,
.p-price__balloon_02 .label {
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
    .p-price__balloon,
    .p-price__balloon_02 .label {
        font-size: calc(1.1278195489 + vw + 9.3383458647 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__balloon,
    .p-price__balloon_02 .label {
        font-size: 24px;
    }
}
.p-price__user {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    margin: 20px 0 0 0;
}
@media screen and (min-width: 768px) {
    .p-price__user {
        font-size: calc(0.7518796992 + vw + 10.2255639098 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__user {
        font-size: 20px;
    }
}
.p-price__price,
.p-price__price02 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
}
@media screen and (min-width: 768px) {
    .p-price__price,
    .p-price__price02 {
        font-size: calc(1.8796992481 + vw + 9.5639097744 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__price,
    .p-price__price02 {
        font-size: 17px;
    }
}
.p-price__price .label {
    color: #A3231F;
    font-size: 50px;
    line-height: 1.1;
    padding-right: 10px;
}
.p-price__price02 .label {
    color: #f5b210;
    font-size: 50px;
    line-height: 1.1;
    padding-right: 10px;
}
@media screen and (min-width: 768px) {
    .p-price__price .label {
        font-size: calc(7.5187969925 + vw + -7.7443609023 + px);
    }
    .p-price__price02 .label {
        font-size: calc(7.5187969925 + vw + -7.7443609023 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__price .label {
        font-size: 90px;
    }
    .p-price__price02 .label {
        font-size: 90px;
    }
}
.p-price__price .label02 {
    color: #A3231F;
}
.p-price__price02 .label02 {
    color: #f5b210;
}
.p-price__btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    list-style: none;
    padding: 0;
}
ul.p-price__btns {
    list-style: none;
    margin-left: 0;
}
.p-price__btn {
    width: 100%;
}
.p-price__overview {
    border-top: 2px solid #efefef;
}
.p-price__overviewList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.p-price__overviewTitle {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.65;
}
.p-price__overviewTitle_01 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.65;
}
.p-price__overviewLead_flex {
    display: flex;
}
.p-price__plan02{
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-price__overviewLead_flex {
        display: block;
        width: 100%;
    }
}
@media screen and (min-width: 768px) {
    .p-price__overviewTitle {
        font-size: calc(1.1278195489 + vw + 7.3383458647 + px);
    }
    .p-price__overviewTitle_01 {
        font-size: calc(1.1278195489 + vw + 7.3383458647 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewTitle {
        font-size: 18px;
    }
    .p-price__overviewTitle_01 {
        font-size: 18px;
    }
}
.p-price__overviewLead {
    font-size: 16px;
    font-weight: bold;
    margin-right: 50px;
}
@media screen and (min-width: 768px) {
    .p-price__overviewLead {
        font-size: calc(1.1278195489 + vw + 7.3383458647 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewLead {
        font-size: 22px;
    }
}
.p-price__overviewLead .label {
    color: #A3231F;
    font-size: 26px;
    line-height: 0;
    font-weight: bold;
}
@media screen and (min-width: 768px) {
    .p-price__overviewLead .label {
        font-size: calc(4.5112781955 + vw + -8.6466165414 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewLead .label {
        font-size: 50px;
    }
}
.p-price__overviewLead .label02 {
    color: #A3231F;
    font-size: 18px;
}
@media screen and (min-width: 768px) {
    .p-price__overviewLead .label02 {
        font-size: calc(1.1278195489 + vw + 9.3383458647 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewLead .label02 {
        font-size: 24px;
    }
}
.p-price__overviewLead .label03 {
    font-size: 14px;
}
@media screen and (min-width: 768px) {
    .p-price__overviewLead .label03 {
        font-size: calc(0.7518796992 + vw + 8.2255639098 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewLead .label03 {
        font-size: 18px;
    }
}
.p-price__overviewText {
    font-size: 14px;
    font-weight: bold;
}
@media screen and (min-width: 768px) {
    .p-price__overviewText {
        font-size: calc(0.7518796992 + vw + 8.2255639098 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewText {
        font-size: 16px;
    }
}
.p-price__overviewText .label {
    font-size: 14px;
    color: #A3231F;
}
.p-price__overviewText .label_01 {
    font-size: 14px;
    color: #686767;
}
@media screen and (min-width: 768px) {
    .p-price__overviewText .label {
        font-size: calc(0.3759398496 + vw + 11.1127819549 + px);
    }
    .p-price__overviewText .label_01 {
        font-size: calc(0.3759398496 + vw + 11.1127819549 + px);
    }
}
@media screen and (min-width: 1300px) {
    .p-price__overviewText .label {
        font-size: 16px;
    }
    .p-price__overviewText .label_01 {
        font-size: 16px;
    }
}
.p-price__caution {
    font-size: 0.875rem;
    text-align: left;
    margin: 65px auto !important;
    width: 720px;
}
@media print, screen and (min-width: 768px) {
    .p-price__inner {
        position: relative;
        max-width: 1300px;
        margin: 0 auto;
        padding: 100px 20px 80px;
    }
    .p-price__bodyInner {
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 0 10px;
    }
    .p-price__heading {
        margin: 0 0 34px;
    }
    .p-price__features {
        margin: 30px 0 0 0;
    }
    .p-price__feature:nth-child(2) {
        margin-left: 70px;
    }
    .p-price__plans {
        -ms-grid-columns: 1fr 60px 1fr;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 60px;
        margin: 15px 0 0 0;
    }
    .post-content li.p-price__plan {
        border-bottom: 2px solid #A3231F;
        padding-bottom: 4px;
        margin: 0;
    }
    .p-price__plan02 {
        border-bottom: 2px solid #A3231F;
        padding-bottom: 4px;
    }
    .post-content li.p-price__plan02 .p-price__price02{
        position: absolute;
        bottom: 5px;
        width: 100%;
    }
    .p-price__btns {
        margin: 55px 0 0 0;
    }
    .p-price__btn {
        max-width: 290px;
    }
    .p-price__btn:nth-child(2) {
        margin-left: 60px;
    }
    .p-price__overview {
        margin-top: 80px;
        padding-top: 65px;
    }
    .p-price__overviewList:not(:last-child) {
        margin-bottom: 35px;
    }
    .p-price__overviewTitle {
        min-width: 140px;
        font-weight: bold;
        border-right: 2px solid #A3231F;
    }
    .p-price__overviewTitle_01 {
        min-width: 190px;
        font-weight: bold;
        border-right: 2px solid #686767;
    }
    .p-price__overviewMain {
        padding-left: 40px;
    }
    .p-price__overviewLead .label {
        padding-left: 10px;
    }
    .p-price__overviewLead .label02 {
        color: #A3231F;
        padding-left: 10px;
    }
    .p-price__overviewLead .label03 {
        padding-left: 16px;
    }
    .p-price__caution {
        margin: 65px 0 0 0;
    }
}
@media screen and (max-width: 1159px) {
    .p-price__lead {
        font-size: 30px;
    }
}
@media screen and (max-width: 979px) {
    .p-price__heading .en {
        font-size: 46px;
    }
    .p-price__heading .ja {
        font-size: 16px;
    }
    .p-price__lead {
        font-size: 24px;
    }
}
@media screen and (max-width: 767px) {
    .p-price {
        padding: 40px 20px;
    }
    .p-price__body {
        margin-left: 0;
        margin-right: 0;
        border-radius: 5px;
    }
    .p-price__bodyInner {
        padding: 35px 20px;
    }
    .p-price__heading {
        margin: 0 0 20px;
    }
    .p-price__lead {
        font-size: 16px;
    }
    .p-price__features {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .p-price__feature {
        position: relative;
        padding-bottom: 10px;
        text-align: center;
        min-width: 180px;
    }
    .p-price__feature:not(:last-child) {
        margin-bottom: 10px;
    }
    .p-price__feature::after {
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 180px;
        height: 6px;
    }
    .p-price__features{
        margin-top: 30px;
    }
    .p-price__feature .label {
        font-weight: bold;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 18px;
        text-align: center;
        justify-content: center;
    }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
    .p-price__feature .label {
        font-size: calc(1.3157894737 + vw + 7.8947368421 + px);
    }
}
@media screen and (max-width: 767px) and (min-width: 1300px) {
    .p-price__feature .label {
        font-size: 25px;
    }
}
@media screen and (max-width: 767px) {
    .p-price__price .label02{
        font-size: 18px;
    }
    /*    .p-price__feature .label::before {
            content: "";
            display: block;
            width: 32px;
            height: 32px;
            background: url(../images/p-price/icon-check.svg);
            background-size: contain;
            background-position: center;
            background-repeat: no-repeat;
            margin-right: 20px;
        }*/
    .p-price__plans {
        display: -ms-grid;
        display: grid;
        grid-gap: 25px;
        margin: 35px 0 0 0;
    }
    .p-price__plan {
        border-bottom: 2px solid #A3231F;
        padding-bottom: 2px;
    }
    .p-price__plan02 {
        border-bottom: 2px solid #f2a630;
        padding-bottom: 2px;
    }
    .p-price__btns {
        margin: 35px 0 0 0;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .p-price__btn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .p-price__btn:not(:last-child) {
        margin-bottom: 10px;
    }
    .p-price__overview {
        margin-top: 40px;
        padding-top: 30px;
    }
    .p-price__overviewList {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .p-price__overviewList:not(:last-child) {
        margin-bottom: 35px;
    }
    .p-price__overviewTitle {
        font-weight: bold;
        border-bottom: 1px solid #A3231F;
        padding-bottom: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .p-price__overviewTitle_01 {
        font-weight: bold;
        border-bottom: 1px solid #A3231F;
        padding-bottom: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .p-price__overviewMain {
        margin-top: 10px;
    }
    .p-price__overviewLead .label {
        line-height: 1.3;
    }
    .p-price__overviewLead .label02 {
        padding-left: 6px;
    }
    .p-price__overviewLead .label03 {
        padding-left: 10px;
    }
    .p-price__caution {
        margin: 30px 0 0 0;
        width: 100%;
    }
}

/* ===== 稽古日程 ===== */
.p-schedule {
    padding: 60px 0 40px;
}

.p-schedule__inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 20px 0;
}

.p-schedule__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 0;
    border: 1px solid #c8b89a;
    margin-top: 36px;
}

.p-schedule__card {
    display: flex;
    flex-direction: column;
    border-right: 1px solid #c8b89a;
    position: relative;
    overflow: hidden;
    transition: background 0.3s ease;
}

.p-schedule__card:last-child {
    border-right: none;
}

.p-schedule__card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, rgba(180,140,80,0.06) 0%, transparent 60%);
    pointer-events: none;
}

.p-schedule__card:hover {
    background: #fdf8f2;
}

.p-schedule__day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 22px 12px 18px;
    background: #2a1f14;
    position: relative;
}

.p-schedule__day::after {
    content: '';
    display: block;
    width: 32px;
    height: 1px;
    background: #b8935a;
    margin: 10px auto 0;
}

.p-schedule__day-ja {
    font-size: 2.2rem;
    font-weight: 700;
    color: #e8d5b0;
    letter-spacing: 0.05em;
    line-height: 1;
    font-family: 'Hiragino Mincho ProN', 'Yu Mincho', 'HGS明朝E', serif;
}

.p-schedule__day-en {
    font-size: 0.65rem;
    color: #b8935a;
    letter-spacing: 0.18em;
    margin-top: 6px;
    font-family: Georgia, 'Times New Roman', serif;
}

.p-schedule__sessions {
    padding: 20px 18px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.p-schedule__session {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 16px;
    border-bottom: 1px dashed #d8c9b0;
}

.p-schedule__session:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.p-schedule__time {
    font-size: 0.92rem;
    font-weight: 700;
    color: #2a1f14;
    letter-spacing: 0.05em;
    font-family: Georgia, 'Times New Roman', serif;
}

.p-schedule__time em {
    font-style: normal;
    color: #b8935a;
    margin: 0 2px;
}

.p-schedule__place {
    font-size: 0.78rem;
    color: #6b5a45;
    line-height: 1.5;
    padding-left: 10px;
    border-left: 2px solid #b8935a;
}

.post-content .p-schedule__card p:empty {
	margin: 0;
}

@media (max-width: 640px) {
    .p-schedule__grid {
        grid-template-columns: 1fr 1fr;
    }

    .p-schedule__card {
        border-right: 1px solid #c8b89a;
        border-bottom: 1px solid #c8b89a;
    }

    .p-schedule__card:nth-child(2n) {
        border-right: none;
    }

    .p-schedule__card:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

@media (max-width: 400px) {
    .p-schedule__grid {
        grid-template-columns: 1fr;
    }

    .p-schedule__card {
        border-right: none;
        border-bottom: 1px solid #c8b89a;
    }

    .p-schedule__card:last-child {
        border-bottom: none;
    }
}
.post-content ol.feature_list{list-style:none;}

/* コンタクトフォーム */
.c-button{
    display: block;
    margin: 1.5em auto 0 0;
    line-height: 60px;
    background: #E4668B;
    color: #ffffff;
    box-sizing: border-box;
    position: relative;
    width: 100%;
    max-width: 300px;
    padding: 0 25px;
    text-align: center;
}


/********************************
  .feature
*********************************/
.box1 {
    position: relative;
    width: 1200px;
    margin: 0 auto 100px;
}
.feature{
    padding:100px 0 0;
}
.feature_list{
    display:flex;
    flex-wrap:wrap;
    margin:106px 0 0;
}
.feature_list li{
    position:relative;
}
.feature_list li:not(:last-child){
    margin:0 0 172px;
}
.feature_list01{
    margin:0 0 0 80px;
}
.feature_list01 .feature_info{
    margin:0 0 0 77px;
}
.feature_list01::before{
    position:absolute;
    right:76px;
    bottom:-80px;
    width:6000px;
    height:463px;
    background:#fbf9f8;
    content:"";
    z-index:-1;
}
.feature_list02::before{
    position:absolute;
    left:80px;
    bottom:-70px;
    width:6000px;
    height:351px;
    background:#fbf9f8;
    content:"";
    z-index:-1;
}
.feature_list03::before{
    position:absolute;
    right:30px;
    bottom:-70px;
    width:6000px;
    height:437px;
    background:#fbf9f8;
    content:"";
    z-index:-1;
}
.feature_list04::before{
    position:absolute;
    left:30px;
    bottom:-70px;
    width:6000px;
    height:437px;
    background:#fbf9f8;
    content:"";
    z-index:-1;
}
.feature_list05::before{
    position:absolute;
    left:90px;
    bottom:-80px;
    width:6000px;
    height:350px;
    background:#fbf9f8;
    content:"";
    z-index:-1;
}
.feature_list02 .feature_info,.feature_list05 .feature_info{
    margin:0 0 0 510px;
}
.feature_info p{
    font-size:16px;
    line-height:36px;
}
.feature_list figure{
    position:relative;
    display:inline-block;
}
.feature_list figure::after{
    position:absolute;
    width:100%;
    height:100%;
    border:1px solid #e2dfe0;
}
.post-content .feature_list figure img{
    transform: translate(15px,15px);
    max-width: 435px !important;
}
.feature_list100 figure{
    dispplay:inlien-block;
    position:absolute;
}
.feature_list01 figure, .feature_list03 figure{
    top:0;
    right:0;
    width:auto;
    height:auto;
}
.feature_list02 figure,.feature_list05 figure{
    top:0;
    left:0;
}
.feature_list li figure::before{
    position:absolute;
    top:32px;
    left:32px;
    width:100%;
    height:100%;
    background: #E4668B;
    content:"";
    z-index:-1;
}
.feature_list li figure::after{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border:1px solid #e2dfe0;
    content:"";
}
.feature_list50 .feature_tit figure::before{
    top:22px;
    left:22px;
}
.feature_list100{
    width:100%;
}
.feature_list50{
    width:50%;
}
.feature_list h3{
    display:table;
}
.feature_list100 h3{
    position:relative;
    font-size:27px;
    margin:0 0 112px;
    font-family: "Shippori Mincho B1", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.12em;
    color: #615151;
}
.feature_list li h3::before{
    font-size:240px;
    color:#fbf9f8;
    font-weight: 300;
    font-style: normal;
    line-height:160px;
    z-index:-1;
}
.feature.feature-voice{
    padding-top: 0;
}
.feature-voice .feature_list100 h3{
    margin-bottom: 30px;
}
.feature-voice .feature_list01 h3::before,
.feature-voice .feature_list02 h3::before,
.feature-voice .feature_list03 h3::before{
    display: none;
}
.feature_list01 h3::before{
    position:absolute;
    right:-134px;
    top:-88px;
    content:"01";
}
.feature_list02 h3::before{
    position:absolute;
    right: -128px;
    bottom: -7px;
    content:"02";
}
.feature_list03 h3::before{
    position:absolute;
    right: -134px;
    bottom: -7px;
    content:"03";
}
.feature_list04 h3::before{
    position:absolute;
    top: 55px;
    left: 100px;
    content:"04";
}
.feature_list05 h3::before{
    position:absolute;
    top: -100px;
    right: -89px;
    content:"05";
}
.feature_list50 h3{
    font-size:25px;
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.1em;
}
.feature_list100 h3 span{
    font-size:34px;
}
.feature_list50 h3 span{
    font-size:28px;
}
.feature_tit{
    display:flex;
    justify-content: space-between;
    align-items: center;
}
.feature_list03 h3{
    margin-right:50px;
    margin-bottom:20px;
}
.feature_list04 h3{
    margin-left:110px;
    margin-bottom:20px;
}
.feature_list05 h3{
    padding:18px 0 0;
}
.feature_list04 .feature_tit figure{
    order:2;
}
.feature_list100 p{
    width:619px;
    letter-spacing: 0.1em;
}
.feature_list100 p:last-child{
    margin:21px 0 0;
}
.feature_list50 .feature_info{
    width:410px;
    color:#383436;
    line-height:38px;
    letter-spacing: 0.01em;
}
.feature_list04 .feature_info{
    margin:71px 0 0 108px;
}
.feature_list50 .feature_info p{
    line-height:38px;
}
.feature_list50 .feature_info p:nth-of-type(2){
    margin:20px 0 0;
}

.feature_list-price .feature_list100 {
    display: flex;
}
.feature_list-price .feature_list02 {
    flex-direction: row-reverse;
}
.feature_list-price .feature_list01 {
    margin: 0 0 32px;
}
.feature_list-price .feature_list01 .feature_info,
.feature_list-price .feature_list02 .feature_info {
    margin: 0;
}
.feature_list-price .feature_list01::before, .feature_list-price .feature_list02::before {
    display: none;
}
.feature_list-price .feature_info {
    width: 55%;
}
.feature_list-price .feature_list100 figure {
    position: relative;
    width: 45%;
}
.feature_list-price .feature_list100 p {
    width: auto;
}
.feature_list-price .feature_list100 h3 {
    margin: 0;
}
.feature_list-price .feature_list100 h3::before {
    display: none;
}
.feature_list-price .feature_list100 h3 span {
    font-size: 24px;
}
.feature_list-price .feature_list02 figure img {
    transform: translate(-15px,15px);
}

@media only screen and (max-width: 640px){
    .box1 {
        width: auto;
        margin: 0 0 80px;
    }

    .feature_list{
        margin-top: 40px;
    }
    .feature_list li:not(:last-child){
        margin-bottom: 140px;
    }
    /*============================================================================

        $feature

============================================================================*/
    .feature_list01 .feature_info{
        margin: 250px 20px 0 0;
        padding:10px;
    }
    .feature_list li h3::before{
        top:0;
        bottom:0;
        left:auto;
        right:0;
        font-size:120px;
        line-height:80px;
        z-index:-1;
    }
    .feature_list01 figure{
        left:0;
        margin:auto;
        width:270px;
    }
    .feature_list figure{
        width:270px;
        height:auto;
    }
    .feature_list figure img{
        width:100%;
        height:auto;
    }
    .feature_list100 p{
        width:100%;
    }
    .feature_list100 figure{
        width:270px;
    }
    .feature_list100 h3,.feature_list50 h3{
        font-size:18px;
        text-align:center;
        margin:0 0 32px;
        padding-right:20%;
        z-index:10;
    }
    .feature_list100 h3 span{
        font-size:24px;
    }
    .feature_list02 .feature_info, .feature_list05 .feature_info{
        margin: 250px 0 0 0 ;
    }
    .feature_list02 figure, .feature_list05 figure{
        right:0;
        margin:auto;
    }
    .feature_list50{
        width:100%;
    }
    .feature_tit{
        flex-direction:column;
        gap:40px;
    }
    .feature_list03 h3{
        margin-right:0;
    }
    .feature_list04 .feature_info,.feature_list03 .feature_info{
        margin: 310px 0 0 0 ;
    }
    .feature_list50 .feature_info{
        width:100%;
    }
    .feature_list03 .feature_tit,.feature_list04 .feature_tit{
        gap:0;
    }
    .feature_list03 h3{
        position:relative;
        margin:40px 0 0;
    }
    .feature_list04 h3{
        position:relative;
        margin: 40px 0 0;
    }
    .feature_list04 .feature_tit{
        flex-direction:column-reverse
    }
    .feature_list03::before{
        height:337px;
    }
    .feature_list04::before{
        height:337px;
    }

    .feature_list-price .feature_info, .feature_list-price .feature_list100 figure {
        width: 100%;
    }
    .feature_list-price .feature_list100, .feature_list-price .feature_list02 {
        flex-direction: column-reverse;
    }
    .feature_list-price .feature_list100 h3 {
        padding: 0;
    }
    .feature_list-price .feature_list01 figure img, .feature_list-price .feature_list02 figure img {
        margin: 0 0 20px;
        transform: none;
    }
}

.greeting_intro-img {
    width: 40%;
    box-sizing: border-box;
}

.greeting_intro-title {
    width: calc(60% + 4em);
    margin-left: -4em;
    background: #fff;
    padding: 1em 0 1em 8em;
}

.greeting_intro {
    align-items: center;
}

.greeting_intro-title h2 {
    padding: 0;
    margin: 0;
    font-size: 1.4em;
    border: none;
    text-align: left;
}

.greeting_intro-title h2::after {
    display: none;
}

.greeting_intro-title h3 {
    margin-top: 2em;
    border: none;
    padding: 0;
    font-size: 1.3em;
    margin-bottom: 0;
}

span.greeting_intro-name {
    display: block;
    font-size: 0.6em;
}

.greeting-text {
    margin: 4em auto 0;
}

.greeting-text h3 {
    padding: 0;
    border: none;
    margin: 2em auto;
}

@media only screen and (max-width: 767px) {
    .greeting_intro-img {
        width: 100%;
    }

    .greeting_intro-title {
        width: 100%;
        margin: 2em auto 0;
        padding: 2em;
    }

    .greeting-text {
        margin-top: 3em;
    }
}
.flex-inner {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
}
.post-content h2.tit01,
.post-content .greeting-text h2{
    text-align: left;
    border-bottom: 1px solid #ffffff;
}
.post-content h2.tit01::after,
.post-content .greeting-text h2::after{
    margin: 15px 0 0;
}
@media screen and (min-width: 768px) {
    .spbr {
        display: none;
    }
}

.profile-list{
    padding-block: 60px;
}
.profile-block{
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.0);
    flex-wrap: wrap;
}
.profile-block+.profile-block{
    margin-top: 60px;
}
.profile-block .profile-image{
    width: 100%;
}
.profile-block .profile-content{
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    margin: 20px 0px 0;
    width: 100%;
}
.profile-block .roles{
    background: #EEEEEE;
    border-radius: 4px;
    padding: 6px 8px 6px 8px;
    list-style: none;
    margin-left: 0;
}
.profile-block .roles li{
    color: #333;
    font-size: 13px;
    font-weight: 400;
    height: auto;
    line-height: 1.2;
    text-align: center;
    justify-content: center;
}
.profile-block .name-section{
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    margin: 16px 0px 40px 0px;
}
.profile-block .name-jp{
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    margin: 0px 12px 0px 0px;
    max-width: calc(100% - 12px);
}
.post-content .profile-block p.name-en{
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}
.profile-block .profile-text .label{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4;
    margin: 0px 0px 8px 0px;
}
.profile-block .profile-text .description{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

@media only screen and (min-width: 992px){
    .profile-block .profile-image{
        width: 50%;
    }
    .profile-block .profile-content{
        width: calc(50% - 48px);
        margin: 0px 0px 20px 48px;
    }
}

/* faq */
.faq-sec h3, .faq-sec p {
    padding-left: 45px;
}

.faq-sec h3 {
    font-size: 1.2em;
    margin-bottom: 0.25em;
    padding-bottom: 0;
    border: none;
}

.faq-sec h3::after {
    display: none;
}

.faq-sec p {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 1px solid #dac4e8;
}

.faq-sec p:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.faq-sec h3::before {
    width: 30px;
    height: 30px;
    line-height: 30px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    content: 'Q';
    text-align: center;
    font-size: 16px;
}

.faq-sec p::before {
    width: 30px;
    height: 30px;
    line-height: 30px;
    background: #af95bc;
    position: absolute;
    left: 0;
    top: 0;
    content: 'A';
    text-align: center;
    font-size: 16px;
    color: #fff;
}

@media only screen and (max-width: 1024px) {
    .faq-sec h3, .faq-sec p {
        padding-left: 45px;
    }

    .faq-sec h3::before, .faq-sec p::before {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 20px;
    }
}

.faq-sec h2, .faq-sec p {
    padding-left: 45px;
    position: relative;
    text-align: left;
}

.faq-sec h2 {
    font-size: 1.2em;
    margin-bottom: 0.25em;
    padding-bottom: 0;
    border: none;
}

.faq-sec h2::after {
    display: none;
}

.faq-sec p {
    margin-bottom: 2em;
    padding-bottom: 2em;
    border-bottom: 2px solid #ffffff;
}

.faq-sec p:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.faq-sec h2::before {
    width: 30px;
    height: 30px;
    line-height: 28px;
    background: #A3231F;
    position: absolute;
    left: 0;
    top: 0;
    content: 'Q';
    text-align: center;
    font-size: 16px;
    color: #ffffff;
}

.faq-sec p::before {
    width: 30px;
    height: 30px;
    line-height: 28px;
    background: #ffffff;
    position: absolute;
    left: 0;
    top: 0;
    content: 'A';
    text-align: center;
    font-size: 16px;
    color: #A3231F;
    font-weight: 900;
}

@media only screen and (max-width: 1024px) {
    .faq-sec h2, .faq-sec p {
        padding-left: 45px;
    }

    .faq-sec h2::before, .faq-sec p::before {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 20px;
    }
}

/* お問い合わせ */
.contact_sec .content_inner, .mail_sec .content_inner {
    max-width: 1000px;
}
.contact_sec .content_inner {
    padding-bottom: 0;
}
.con__inner {
    margin-bottom: 40px;
}
.con__inner:last-of-type {
    margin-bottom: 0;
}
.con__inner p {
    margin-bottom: 0;
}
address.con_tel {
    font-size: 2.5em;
    font-style: normal;
    letter-spacing: .05em;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1;
    color: #3eb926;
    text-align: center;
}
address.con_tel a {
    color: #3eb926;
}
span.con_tel_sub {
    font-size: 0.5em;
    letter-spacing: 1px;
    margin-right: 5px;
    color: #151515;
}
p.con-time {
    width: fit-content;
    margin: auto;
    margin-bottom: 10px;
    line-height: 1.5;
    font-weight: 600;
}
p.con_time:last-of-type {
    margin-bottom: 0;
}
p.con-time span {
    display: inline-block;
    margin-right: 10px;
    color: #ff870b;
}
p.con_caution {
    font-size: 0.85em;
    width: fit-content;
    margin: 0 auto 10px;
}
.mail_info_box {
    margin-bottom: 30px;
}
.mail_info_box p {
    font-size: 0.9em;
    line-height: 2;
    margin-bottom: 0;
}
@media only screen and (max-width: 768px) {
    address.con_tel {
        font-size: 1.8em;
    }
}
/* お問い合わせ END */
/* お問い合わせフォーム */
span.required {
    font-size: 0.7em;
    line-height: 1.5;
    letter-spacing: 0;
    display: inline-block;
    margin-left: 8px;
    margin-bottom: 8px;
    padding: 3px 5px;
    border-radius: 2px;
    color: #fff;
    background: #ff5353;
}
.wpcf7 {
    border: none;
    background: none;
    margin-bottom: 0 !important;
}
.wpcf7 input, .wpcf7 textarea {
    background: #efefef;
    border: 0;
    padding: 18px;
    box-sizing: border-box;
}
.wpcf7 form {
    margin: 0;
}
.wpcf7 form p {
    font-size: 15px;
    font-weight: 700;
    line-height: 2.5;
    margin-bottom: 22px;
}
.wpcf7 form p:last-of-type {
    margin-bottom: 0;
}
.wpcf7-list-item {
    margin-left: 0;
    margin-top: 8px;
    line-height: 1.5;
    font-weight: 500;
}
.wpcf7 select {
    background: #fff;
}
.wpcf7 input.wpcf7-submit {
    margin-top: 30px;
    width: 100%;
    max-width: 400px;
    margin-left: auto;
    font-size: 1.2em;
    font-weight: 700;
    height: 75px;
    color: #fff;
    background: #3eb926;
    border-radius: 100px;
    transition: all .5s;
    font-family: 'Quicksand', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}
.wpcf7 input.wpcf7-submit:hover {
    color: #3eb926;
    background: #e0f6dd;
    transform: translateY(8px);
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
    box-shadow: none !important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    border: none;
    background: #ffd8df;
    line-height: 1.8;
    padding: 15px 20px;
}

.post-meta .post-category {
    font-size: 16px;
}
@media only screen and (max-width: 767px) {
    .wpcf7 input.wpcf7-submit {
        margin-top: 20px;
    }

    .post-meta .post-category {
        font-size: 14px;
    }
}
/* お問い合わせフォーム END */

@media only screen and (max-width: 1200px) {
    .global-nav-button:before {
        font-size: 24px;
    }
    .post-content .s_table{
        white-space: normal;
    }
    .post-content th, .post-content td{
        text-align: left;
    }
}