@charset "UTF-8";
/*
Theme Name: parkhyatttokyo
Author: parkhyatttokyo
*/

/**
* 共通
*/
html {
    scroll-behavior: smooth;
}
body {
    color: #ece9df;
    margin: 0;
}
a {
    text-decoration: none;
}
ul, ol, li {
    list-style: none;
}
div {
    box-sizing: border-box;
}
@media screen and (max-width: 768px) {
    html {
        font-size: calc(100vw / 768 * 10);
    }
}

.grecaptcha-badge { visibility: hidden; }


/* PC/SP */
.disp_pc {
    display: block;
}
.disp_sp {
    display: none;
}
@media screen and (max-width: 768px) {
    .disp_pc {
        display: none;
    }
    .disp_sp {
        display: block;
    }
}

@media(min-width: 768px){
    a[href^="tel:"]{
        pointer-events: none;
    }
}

.fadein {
	opacity: 0;
	transform: translateY(80px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}
.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}
.fadein_simple {
	opacity: 0;
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}
.fadein_simple.is-active {
	opacity: 1;
}


/* 
 * フォント
 */
body {
    font-size: 16px;
    font-family: "yu-mincho-pr6n", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-weight: 400;
}
.font_sans {
    font-size: 16px;
    font-family: "yu-gothic-pr6n", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 400;
}
.font_en {
    font-size: 16px;
    font-family: "linotype-didot", serif;
    font-weight: 400;
}
.font_en_sub {
    font-size: 16px;
    font-family: "futura-pt", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
}
.font_en_sans {
    font-size: 16px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 400;
}
@media(max-width: 1920px){
    body, .font_sans, .font_en, .font_en_sub {
        font-size: clamp(13px, 0.83vw, 16px);
    }
}
/* ローディング中のスタイル */
.wf-loading .font_sans, .wf-loading .font_en, .wf-loading .font_en_sub, .wf-loading .font_en_sans{
	opacity: 0;
}
/* フォント読み込み完了後のスタイル */
.wf-active .font_sans, .wf-active .font_en, .wf-active .font_en_sub, .wf-active .font_en_sans{
	opacity: 1;
	transition: opacity 0.3s ease;
}
/* フォント読み込み失敗時のスタイル */
.wf-inactive {
	opacity: 1;
}


/* 
 * ヘッダー
 */
header {
    background-color: rgba(23,23,23,0.8);
    position: fixed;
    width: 100vw;
    z-index: 999;
}
header .inner{
    width: 90%;
    max-width: 1920px;
    margin:  0 auto;
    padding: 12px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
header .logo {
    position: relative;
    margin: 0 0 0 30px;
    height: 50px;
}
header .logo a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
header .logo img{
    width: 100%;
    max-width: 200px;
}
header .logo_font {
    position: relative;
    left: 40px;
}
header .logo_font a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
header .logo_font p{
    margin: 0;
}
header .gnav ul{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    z-index: 40;
    position: relative;
}
header .list {
    position: relative;
    padding: 0 40px;
    font-weight: 400;
}
header .list a{
    color: #ece9df;
    letter-spacing: 1px;
}
header .list span {
    position :relative;
    transition: all .3s;
}
header .list span::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ece9df;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform .3s;
}
header .list span:hover::after {
    transform-origin: center top;
    transform: scale(1, 1);
}
header .btn_cta {
    position: relative;
    background-color: #ffffff;
    width: 140px;
    height: 40px;
    padding: 0;
    margin: 0 10px;
    text-align: center;
    cursor: pointer;
    caret-color: transparent;
}
header .btn_cta span.list_txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #333333;
    width: 100%;
    line-height: 13px;
}
header .btn_cta a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
header .btn_cta:hover {
    background-color: #a29061;
}
header .btn_cta:hover span{
    color: #ece9df;
}
header .btn_cta span.list_txt:hover::after {
    transform: scale(0, 1);
}

.gnav_menu_button {
    display: inline-block;
    cursor: pointer;
}
.gnav_menu_dropdown {
    position: absolute;
    top: 48px;
    left: 0;
    background: #333333;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    z-index: 20;
    padding: 20px 0;
}
.gnav_menu_dropdown a {
    padding: 8px 30px;
    text-decoration: none;
    font-size: 20px;
    color: #333333;
    letter-spacing: 0;
    white-space: nowrap;
    transition: 0.3s;
}
.gnav_menu_dropdown a:hover {
    transition: 0.3s;
}
.gnav_menu_dropdown.open {
    display: flex;
}
@media(max-width: 1920px){
    header .logo {
        margin: 0 0 0 1.5vw;
        height: 2.6vw;
    }
    header .list {
        padding: 0 2.083vw;
    }
    header .btn_cta {
        width: 5.208vw;
    }

    .gnav_menu_dropdown {
        top: 2.5vw;
        padding: 1.0416vw 0;
    }
    .gnav_menu_dropdown a {
        padding: 0.4166vw 1.5625vw;
        font-size: 1.0416vw;
    }
}
@media(max-width: 768px){
    header .gnav {
        display: none;
    }

    header .inner{
        width: 90%;
        padding: 0;
    }
    header .logo {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        height: auto;
        margin: 1.2rem 0;
        padding: 1.5rem 0 0 0;
    }
    header .logo img{
        width: 32rem;
        max-width: none;

    }

    .gnav_menu_button {
        cursor: unset;
    }
    .gnav_menu_dropdown {
        display: none;
    }
}


/* ハンバーガー */
.hamburger_gr_pc {
    display: flex;
    align-items: center;
}
.hamburger_gr_sp {
    display: none;
}

body.no-scroll {
    overflow: hidden;
}
.hamburger {
    width: 25px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
    z-index: 30;
    position: relative;
}
.hamburger span {
    height: 1.5px;
    background: #ffffff;
    border-radius: 1px;
    transition: all 0.4s ease;
}
.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(7px, 6px);
}
.hamburger.active span:nth-child(2) {
    opacity: 0;
}
.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(7px, -6px);
}
.nav-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #333333;
    padding: 60px 0;
    z-index: 20;
    transform: translateX(-100%);
    transition: transform 1s;
}
.nav-menu.active {
    overflow-y: scroll;
    transform: translateX(0);
}
.nav-menu.active {
    right: 0;
}
.nav-menu_pc.active {
    display: block;
    overflow-y: scroll;
}
.nav-menu_pc.active {
    right: 0;
}  
.nav-menu ul {
    list-style: none;
    padding: 0 40px;
    width: 90%;
    max-width: 1920px;
    margin:  40px auto;
} 
.nav-menu li {
    margin: 20px 0;
}
.nav-menu .hamburger_logo {
    padding: 10px 40px;
    width: 80%;
    max-width: 1920px;
    margin:  20px auto;
}
.nav-menu .hamburger_logo img{
    width: 100%;
    max-width: 300px;
}
.nav-menu .hamburger_menu_lisub {
    margin: 10px 0 10px 5px;
}
.nav-menu a {
    color: white;
    text-decoration: none;
    font-size: 14px;
}
.nav-menu .hamburger_menu_lisub a {
    font-size: 16px;
}
.nav-menu .hamburger_cta_sec {
    width: 90%;
    max-width: 1920px;
    margin:  60px auto 120px auto;
    padding-bottom: 20px;
}
.nav-menu .hamburger_cta {
    position: relative;
    width: 80%;
    max-width: 300px;
    height: 60px;
    background-color: #ffffff;
    color: #333333;
    margin: 40px 0 120px 40px;
    transition: all .3s;
}
.nav-menu .hamburger_cta a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.nav-menu .hamburger_cta p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    letter-spacing: 2px;
    margin: 0;
    width: 100%;
    text-align: center;
}
@media(max-width: 768px){
    .hamburger_gr_pc {
        display: none;
    }
    .hamburger_gr_sp {
        display: block;
    }
    .nav-menu ul {
        padding: 0 30px;
        width: 95%;
        max-width: 600px;
    } 
}
@media(max-width: 500px){
    .nav-menu .hamburger_cta {
        margin: 40px auto 120px auto;
    }
}


/* スマホ FIX CTA */
.sp_fix_cta {
    display: none;
}
@media(max-width: 768px){
    .sp_fix_cta {
        display: block;
        position: fixed;
        bottom: 0;
        width: 100vw;
        height: 70px;
        background-color: #666666;
        color: #ece9df;
        text-align: center;
        z-index: 99;
    }
    .sp_fix_cta_inner {
        display: flex;
        justify-content: space-around;
        width: 100%;
        margin: 0 auto;
    }
    .sp_fix_cta_tel {
        position: relative;
        width: 50vw;
        font-size: 2.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
    }
    .sp_fix_cta_tel p{
        width: auto;
        margin: 0;
    }
    .sp_fix_cta_tel img{
        width: 30px;
        height: 30px;
    }
    .sp_fix_cta_tel a{
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 2;
        color: #ece9df;
    }
    .sp_fix_cta_btn {
        position: relative;
        background-color: #ffffff;
        width: 50vw;
        height: 80px;
        font-size: 2.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3rem;
    }
    .sp_fix_cta_btn_jp p{
        font-size: 2.1rem;
    }
    .sp_fix_cta_btn p{
        color: #333333;
        margin: 0;
        width: auto;
        text-align: center;
        z-index: 2;
    }
    .sp_fix_cta_btn img{
        width: 33px;
        height: 33px;
    }
    .sp_fix_cta_btn a{
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 2;
    }
}
@media(max-width: 500px){
    .sp_fix_cta_tel {
        font-size: 3.2rem;
    }
    .sp_fix_cta_btn {
        font-size: 3.2rem;
    }
    .sp_fix_cta_btn_jp p{
        font-size: 3rem;
    }
}


/* 
 * TOP 
 */
.fv, .fv_parts {
    width: 100%;
    height: 100vh;
    max-height: 1400px;
    overflow: hidden;
    text-align: center;
    object-fit: cover;
    z-index:-1;
    transition: opacity .4s;
}
.fv {
    position: relative;
}
.fv_parts {
    position: fixed;
}
.fv_img img{
    width: 100vw;
    height: 100vh;
    max-height: 1400px;
    object-fit: cover;
    margin: 0;
}


@media(max-width: 1920px){
    .fv {
        max-height: 56.25vw;
    }
    .fv_img img{
        max-height: 56.25vw;
    }
}
@media screen and (max-width: 768px) {
    .fv {
        height: 94rem;
        max-height: 470px;
    }
    .fv_img img{
        height: 94rem;
        max-height: 470px;
    }
}
.top_contents_sec {
    position: relative;
    z-index: 2;
}


/* 
 * TOPのお知らせ
 */
.top_info_sec {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 18;
}
.top_info_btn{
    display: flex;
    justify-content: space-between;
    width: 360px;
    height: 50px;
    color: #333333;
    background-color: #ffffff;
    border: 1px solid #ccc;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding: 0 15px;
}
.top_info_btn-left, .top_info_btn-right{
    display: flex;
    align-items: center;
}
.top_info_btn-left {
    gap: 0.8rem;
}
.top_info_btn-left img {
    width: 35px;
    height: 35px;
}
.top_info_btn-left p {
    font-size: 16px;
}
.top_info_btn-right {
    gap: 1.5rem;
    padding-right: 0.5rem;
}
.top_info_btn-right a {
    font-size: 14px;
    color: #333333;
    text-decoration: none;
}
.top_info_btn-close {
    font-size: 24px;
    cursor: pointer;
}

.top_info_popup {
    display: none;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.top_info_popup-content {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
    color: #333333;
    padding: 2rem 3rem;
    margin: 0 auto;
    width: 600px;
    height: auto;
    pointer-events: auto;
}
.top_info_popup_title {
    font-size: 28px;
}
.top_info_popup-content p{
    font-size: 16px;
    line-height: 24px;
}
.top_info_popup-content a{
    color: #333333;
}
.popup-close {
    position: absolute;
    top: 8px;
    right: 16px;
    font-size: 24px;
    cursor: pointer;
}
.no-scroll {
    overflow: hidden;
    height: 100vh;
}

/* 背景 */
.fv {
    position: relative;
    transition: background-color 0.3s ease;
}
.fv.info_fv::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 2;
}
@media(max-width: 1920px){
    .top_info_sec {
        top: 6vw;
    }
    .top_info_btn{
        width: auto;
        gap: 30px;
    }
}
@media(max-width: 1280px){
    .top_info_sec {
        top: 10vw;
    }
}
@media screen and (max-width: 768px) {
    .top_info_sec {
        top: 18rem;
        width: 90%;
        max-width: 350px;
    }
    .top_info_btn{
        width: auto;
        height: 55px;
        padding: 0 15px;
        gap: 0;
    }
    .top_info_btn-left {
        width: auto;
    }
    .top_info_btn-left p {
        font-size: 15px;
    }
    .top_info_btn-right {
        width: auto;
        padding-right: 2rem;
    }
    .top_info_btn-right a {
        font-size: 13px;
    }

    .top_info_popup {
        width: 100%;
    }
    .top_info_popup-content {
        padding: 6rem 4rem;
        width: 100%;
        max-width: 350px;
    }
    .top_info_popup_title {
        font-size: 18px;
    }
    .top_info_popup-content p{
        font-size: 14px;
        line-height: 20px;
    }
}
@media screen and (max-width: 360px) {
    .top_info_btn{
        padding: 0 5px;
    }
}


/* 
 * イントロ
 */

.fv_main .intro {
    background-color: rgba(23,23,23,0.7);

}

.intro {
    text-align: center;
    padding: 160px 0 40px 0;
}
.intro_gold_en {
    font-size: 48px;
    letter-spacing: 3px;
    color: #a29061;
    margin-bottom: 60px;
}
.intro_gold {
    font-size: 38px;
    font-weight: 600;
    letter-spacing: 4px;
    line-height: 70px;
    color: #a29061;
    margin-bottom: 60px;
}
.intro_txt {
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 42px;
}
.intro_logo {
    position: relative;
}
.intro_logo a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.intro_logo_gr {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1000px;
    margin: 100px auto;
    gap: 40px 0;
}
.intro_logo img{
    width: 250px;
}
@media(max-width: 1920px){
    .intro {
        padding: 8.33vw 0 2.083vw 0;
    }
    .intro_gold_en {
        font-size: clamp(35px, 2.5vw, 48px);
        letter-spacing: 0.208vw;
        margin-bottom: clamp(30px, 3.125vw, 60px);
    }
    .intro_gold {
        font-size: clamp(25px, 1.98vw, 38px);
        letter-spacing: 0.208vw;
        line-height: clamp(60px, 3.64vw, 70px);
        margin-bottom: 3.125vw;
    }
    .intro_txt {
        font-size: clamp(14px, 1vw, 20px);
        letter-spacing: 0.104vw;
        line-height: clamp(28px, 2.1875vw, 42px);
    }
    .intro_logo_gr {
        max-width: clamp(540px, 70vw, 1000px);
        margin: 5.2vw auto;
        gap: 2.08vw 0;
    }
    .intro_logo img{
        width: clamp(130px, 17vw, 250px);
    }
}
@media screen and (max-width: 768px) {
    .intro {
        padding: 16rem 0 4rem 0;
    }
    .intro_gold_en {
        font-size: 5.5rem;
        letter-spacing: 1px;
        margin-bottom: 9rem;
    }
    .intro_gold {
        font-size: 5rem;
        letter-spacing: 3px;
        line-height: 8rem;
        margin-bottom: 11rem;
    }
    .intro_txt {
        font-size: 2.5rem;
        letter-spacing: 1px;
        line-height: 4.5rem;
        width: 90%;
        margin: 0 auto;
    }
    .intro_logo_gr {
        max-width: none;
        margin: 14rem auto 0 auto;
        gap: 4rem 0;
    }
    .intro_logo img{
        width: 38rem;
    }
}


/* 
 * レストラン一覧
 */
.restaurant_list {
    width: 100vw;
    padding: 220px 0 40px 0;
    background-color: #000000;
}
.restaurant_sec {
    width: 100%;
    position: relative;
    top: 0;
    bottom: 0;
    width: 1360px;
}
.restaurant_sec_left {
    left: 0;
    margin: 0 auto 200px 0;
}
.restaurant_sec_right {
    right: 0;
    margin: 0 0 200px auto;
}

.restaurant_img{
    overflow: hidden;
}
.restaurant_img img{
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    overflow: hidden;
    transform: scale(1.1);
}
.fadein.is-active img {
    animation: imgzoom 3s ease-out forwards;
}
@keyframes imgzoom {
    0% {
      transform: scale(1.2);
    }
    100% {
      transform: scale(1);
    }
}


.restaurant_txt {
    color: #ece9df;
    margin-top: 20px;
}
.restaurant_sec_left .restaurant_txt {
    text-align: right;
}
.restaurant_sec_right .restaurant_txt {
    text-align: left;
}
.restaurant_txt_name {
    font-size: 57px;
    margin-bottom: 15px;
}
.restaurant_txt_name_jp {
    font-size: 41px;
}
.restaurant_txt_name_jp span{
    font-size: 30px;
}
.restaurant_txt_name a{
    color: #ece9df;
}
.restaurant_txt_note {
    font-size: 19px;
    margin-bottom: 60px;
}
.restaurant_sec_left .restaurant_txt_note {
    margin-right: -12px;
}
.restaurant_txt_linkgr {
    display: flex;
    gap: 90px;
}
.restaurant_sec_left .restaurant_txt_linkgr {
    justify-content: flex-end;
}
.restaurant_sec_right .restaurant_txt_linkgr {
    justify-content: flex-start;
}
.restaurant_txt_link {
    position: relative;
    font-size: 17px;
    color: #a29061;
    transition: all .3s;
}
.restaurant_list_jp .restaurant_txt_link {
    font-size: 16px;
}
.restaurant_txt_link::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1.5px;
    background-color: #a29061;
    transform-origin: center top;
    transform: scale(1, 1);
    transition: transform .3s;
}
.restaurant_txt_link:hover::after {
    transform-origin: center top;
    transform: scale(1.5, 1);
}
.restaurant_txt_link a{
    color: #a29061;
}

.restaurant_txt_link_menu {
    display: inline-block;
    cursor: pointer;
}
.restaurant_txt_link_menu_dropdown {
    position: absolute;
    top: 160%;
    left: -15px;
    background: rgba(255,255,255,0.8);
    display: none;
    flex-direction: column;
    align-items: flex-start;
    z-index: 20;
    padding: 15px 0;
    transition: 0.3s;
}
.restaurant_txt_link_menu_dropdown a {
    padding: 2px 15px;
    text-decoration: none;
    font-size: 14px;
    color: #333333;
    background-color: transparent;
    border: none;
    text-align: left;
    letter-spacing: 0;
    white-space: nowrap;
    transition: 0.3s;
}
.restaurant_txt_link_menu_dropdown a:hover {
    font-weight: 500;
    transition: 0.3s;
}
.restaurant_txt_link_menu_dropdown.open {
    display: flex;
}

/* メニューPDFポップアップ */
.pdf-modal {
    display: none;
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}
.pdf-modal.active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}
.pdf-modal-content {
    position: relative;
    width: 90%;
    max-width: 960px;
    height: 90%;
    background: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    border-radius: 6px;
    overflow: hidden;
}
#pdfFrame {
    width: 100%;
    height: 100%;
    border: none;
}
body.modal-open {
    overflow: hidden;
}
.pdf-modal-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: none;
    border: none;
    font-size: 28px;
    font-weight: bold;
    color: #ffffff;
    cursor: pointer;
}


@media(max-width: 1920px){
    .restaurant_list {
        padding: 11.458vw 0 2.083vw 0;
    }
    .restaurant_sec {
        width: 70.83vw;
    }
    .restaurant_sec_left {
        left: 0;
        margin: 0 auto 10.416vw 0;
    }
    .restaurant_sec_right {
        right: 0;
        margin: 0 0 10.416vw auto;
    }
    
    .restaurant_txt {
        margin-top: 1.0416vw;
    }
    .restaurant_txt_name {
        font-size: 2.96875vw;
        margin-bottom: 0.78125vw;
    }
    .restaurant_txt_name_jp {
        font-size: 2.135vw;
    }
    .restaurant_txt_name_jp span{
        font-size: 1.5625vw;
    }
    .restaurant_txt_note {
        font-size: clamp(14px, 0.99vw, 19px);
        margin-bottom: 3.125vw;
    }
    .restaurant_sec_left .restaurant_txt_note {
        margin-right: -0.625vw;
    }
    .restaurant_txt_linkgr {
        gap: 4.6875vw;
    }
    .restaurant_txt_link {
        font-size: clamp(13px, 0.885vw, 17px);
    }
    .restaurant_list_jp .restaurant_txt_link {
        font-size: clamp(13px, 0.83vw, 16px);
    }
    .restaurant_txt_link::after {
        bottom: -0.52vw;
        height: 0.078125vw;
    }
}
@media screen and (max-width: 768px) {
    .restaurant_list {
        padding: 16rem 0 2rem 0;
    }
    .restaurant_sec {
        width: 100%;
    }
    .restaurant_sec_left {
        margin: 0 auto 28rem auto;
    }
    .restaurant_sec_right {
        margin: 0 auto 28rem auto;
    }

    .restaurant_img img{
        height: 50rem;
    }
    
    .restaurant_txt {
        width: 90%;
        margin: 4rem auto;
    }
    .restaurant_sec_left .restaurant_txt {
        text-align: left;
    }
    .restaurant_sec_right .restaurant_txt {
        text-align: left;
    }
    .restaurant_txt_name {
        font-size: 6rem;
        margin-bottom: 4rem;
    }
    .restaurant_txt_name_jp {
        font-size: 5.5rem;
    }
    .restaurant_txt_name_jp span{
        font-size: 4rem;
    }
    .restaurant_txt_note {
        font-size: 3rem;
        line-height: 4.5rem;
        margin-bottom: 6rem;
    }
    .restaurant_sec_left .restaurant_txt_note {
        margin-right: 0;
    }
    .restaurant_txt_linkgr {
        gap: 10rem;
    }
    .restaurant_sec_left .restaurant_txt_linkgr {
        justify-content: flex-start;
    }
    .restaurant_sec_right .restaurant_txt_linkgr {
        justify-content: flex-start;
    }
    .restaurant_txt_link {
        font-size: 3rem;
    }
    .restaurant_list_jp .restaurant_txt_link {
        font-size: 2.5rem;
    }
    .restaurant_txt_link::after {
        bottom: -1rem;
        height: 1.5px;
    }

    .pdf-modal {
        padding: 8rem 0;
    }
    .pdf-modal-close {
        color: #333333;
    }
}


/* 
 * トップページ コンテンツ
 */
.top_contents {
    background-color: #ffffff;
    width: 100vw;
    padding: 80px 0 0 0;
    color: #333333;
}
.top_contents_title {
    font-size: 50px;
    letter-spacing: .5px;
}
@media(max-width: 1920px){
    .top_contents {
        padding: 4.16vw 0 0 0;
    }
    .top_contents_title {
        font-size: 2.604vw;
    }
}
@media screen and (max-width: 768px) {
    .top_contents {
        padding: 14rem 0 0 0;
    }
    .top_contents_title {
        font-size: 5.5rem;
    }
}


/* 
 * シェフ
 */
.top_chef {
    width: 1920px;
    margin: 80px auto;
}
.top_chef_gr {
    display: flex;
    align-items: flex-end;
    gap: 180px;
    margin-top: 30px;
}
.top_chef_img{
    overflow: hidden;
}
.top_chef_img img{
    width: 960px;
    height: 640px;
    object-fit: cover;
}
.top_chef_txt {
    width: 700px;
}
.top_chef_title {
    font-size: 38px;
    margin-bottom: 100px;
}
.top_chef_name_gr {
    display: flex;
    align-items: baseline;
    gap: 60px;
    margin-bottom: 60px;
}
.top_chef_name {
    font-size: 29px;
}
.top_chef_name_en {
    font-size: 18px;
}
.top_chef_note {
    font-size: 18px;
    line-height: 30px;
    width: 520px;
    text-align: justify;
    margin-bottom: 10px;
}
.top_chef_note_en {
    text-align: left;
}
@media(max-width: 1920px){
    .top_chef {
        width: 100vw;
        margin: 6.25vw auto;
    }
    .top_chef_gr {
        gap: 8vw;
        margin-top: 1.5625vw;
    }
    .top_chef_img img{
        width: 50vw;
        height: clamp(360px, 31vw, 640px);
    }
    .top_chef_txt {
        width: 36.45833vw;
    }
    .top_chef_title {
        font-size: clamp(21px, 1.98vw, 38px);
        margin-bottom: 5.2vw;
    }
    .top_chef_name_gr {
        gap: 1.5vw;
        margin-bottom: 2.125vw;
    }
    .top_chef_name {
        font-size: clamp(16px, 1.51vw, 29px);
    }
    .top_chef_name_en {
        font-size: clamp(13px, 0.9375vw, 18px);
    }
    .top_chef_note {
        font-size: clamp(13px, 0.885vw, 18px);
        line-height: clamp(20px, 1.5625vw, 30px);
        width: 28vw;
        margin-bottom: 0.52083vw;
    }
}
@media screen and (max-width: 768px) {
    .top_chef {
        width: 90%;
        margin: 0 auto;
    }
    .top_chef_gr {
        flex-direction: column;
        align-items: center;
        gap: 4rem;
        margin-top: 4rem;
    }
    .top_chef_img {
        text-align: center;
    }
    .top_chef_img img{
        width: 100%;
        height: auto;
    }
    .top_chef_title {
        font-size: 4rem;
        margin-bottom: 4rem;
        line-height: 7rem;
    }
    .top_chef_txt {
        width: 100%;
    }
    .top_chef_name_gr {
        gap: 3rem;
        margin-bottom: 5.5rem;
    }
    .top_chef_name {
        font-size: 3.5rem;
    }
    .top_chef_name_en {
        font-size: 2.8rem;
        letter-spacing: -0.5px;
        color: #a29061;
    }
    .top_chef_note {
        font-size: 2.6rem;
        line-height: 3.8rem;
        width: 100%;
        margin-bottom: 10rem;
    }
}



/* 
 * ニュース
 */
.top_news {
    width: 1290px;
    margin: 120px auto;
}
.top_news_gr {
    width: 100%;
    border-top: solid 1px #333333;
    border-bottom: solid 1px #333333;
    font-size: 18px;
}
.news_all {
    font-size: 17px;
    font-weight: 700;
}
.news_all a{
    text-decoration: none;
}
.top_news ul {
    list-style: none;
    padding: 0 5px;
}
.top_news li {
    margin: 25px 0 30px 0;
}
.top_news dl {
    display: flex;
}
.top_news dt {
    width: 160px;
}
.top_news dd {
    flex: 1;
    margin-left: 10px;
}
.top_news dd a {
    color: #333333;
    text-decoration: none;
}
@media(max-width: 1920px){
    .top_news {
        width: 67.1875vw;
        margin: 6.25vw auto;
    }
    .top_news_gr {
        font-size: clamp(14px, 0.9375vw, 18px);
    }
    .news_all {
        font-size: clamp(13px, 0.885vw, 17px);
    }
    .top_news ul {
        padding: 0 0.26vw;
    }
    .top_news li {
        margin: 1.302vw 0 1.5625vw 0;
    }
    .top_news dt {
        width: 8.33vw;
    }
    .top_news dd {
        margin-left: 0.52vw;
    }
}
@media screen and (max-width: 768px) {
    .top_news {
        width: 90%;
        margin: 17rem auto 0 auto;
    }
    .top_news_gr {
        font-size: 3rem;
        margin-top: 2rem;
    }
    .news_all {
        font-size: 3rem;
    }
    .top_news ul {
        padding: 0;
    }
    .top_news li {
        margin: 2.5rem 0 3rem 0;
    }
    .top_news dd {
        margin-left: 0;
    }
}



/* 
 * リンク
 */
.top_link {
    width: 1400px;
    margin: 160px auto 120px auto;
    list-style: none;
    display: grid;
    grid-template-columns: 700px 1fr 480px;
    grid-template-areas:
      "one . two"
      "three . four";
    align-items: end;
}
.top_link_title {
    font-size: 36px;
    margin: 0 0 15px 0;
    width: 100%;
}
.top_link_img {
    overflow: hidden;
}
.top_link_parts {
    position: relative;
    object-fit: cover;
    margin-bottom: 80px;
    cursor: pointer;
    transition: 0.4s;
}
.top_link_parts:hover {
    opacity: 0.5;
}
.top_link_parts01{ grid-area: one; }
.top_link_parts02{ grid-area: two; }
.top_link_parts03{ grid-area: three; }
.top_link_parts04{ grid-area: four; }

.top_link_parts_bg .top_link_img img{
    object-fit: cover;
    width: 700px;
    height: 300px;
}
.top_link_parts_sm .top_link_img img{
    object-fit: cover;
    width: 480px;
    height: 280px;
}
.top_link_note {
    font-size: 18px;
    margin: 10px 0 -10px 0;
    line-height: 28px;
    height: 56px;
}
.top_link_parts a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    color: #333333;
}
@media(max-width: 1920px){
    .top_link {
        width: 72.916vw;
        margin: 8.3vw auto 6.25vw auto;
        grid-template-columns: 36.4583vw 1fr 25vw;
    }
    .top_link_title {
        font-size: clamp(21px, 1.98vw, 38px);
        margin: 0 0 0.78vw 0;
    }
    .top_link_parts {
        margin-bottom: 4.166vw;
    }
    .top_link_parts_bg  {
        width: 36.4583vw;
    }
    .top_link_parts_sm  {
        width: 25vw;
    }
    .top_link_parts_bg .top_link_img img{
        width: 36.4583vw;
        height: 15.625vw;
    }
    .top_link_parts_sm .top_link_img img{
        width: 25vw;
        height: 14.5833vw;
    }
    .top_link_note {
        font-size: clamp(13px, 0.9375vw, 18px);
        margin: 0.52vw 0 -0.520vw 0;
        line-height: clamp(18px, 1.4583vw, 28px);
        height: clamp(36px, 2.916vw, 56px);
    }
}
@media screen and (max-width: 768px) {
    .top_link {
        width: 90%;
        margin: 15rem auto;
        justify-items: center;
        grid-template-columns: 1fr;
        grid-template-areas:
            "one"
            "three"
            "two"
            "four";
    }
    .top_link_parts {
        margin: 0 0 8rem 0;
    }
    .top_link_title {
        font-size: 5rem;
        margin: 0 0 1rem 0;
    }
    .top_link_parts_bg, .top_link_parts_sm {
        width: 64rem;
    }
    .top_link_parts_bg .top_link_img img{
        width: 64rem;
        height: 30rem;
    }
    .top_link_parts_sm .top_link_img img{
        width: 64rem;
        height: 30rem;
    }
    .top_link_note {
        font-size: 3rem;
        margin: 1rem 0 3rem 0;
        line-height: 5rem;
        height: auto;
    }
}



/* 
 * シェアリンク
 */
.top_share_gallery_bk {
    width: 100vw;
    background-color: #e6e6e6;
    padding: 10px 0 100px 0;
}
.top_share {
    width: 1290px;
    margin: 120px auto;
}
.top_share_gr {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 40px;
}
.top_share_sns_parts {
    position: relative;
}
.top_share_sns_parts_instagram img{
    width: 40px;
}
.top_share_sns_parts_x img{
    width: 35px;
}
.top_share_sns_parts_facebook img{
    width: 44px;
}
.top_share_sns_parts a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.top_share_note {
    font-size: 18px;
}
@media(max-width: 1920px){
    .top_share_gallery_bk {
        padding: 0.52vw 0 5.2vw 0;
    }
    .top_share {
        width: 67.1875vw;
        margin: 6.25vw auto;
    }
    .top_share_gr {
        gap: 2.08vw;
        margin-top: 2.08vw;
    }
    .top_share_sns_parts_instagram img{
        width: 2.08vw;
    }
    .top_share_sns_parts_x img{
        width: 1.923vw;
    }
    .top_share_sns_parts_facebook img{
        width: 2.2916vw;
    }
    .top_share_note {
        font-size: clamp(14px, 0.9375vw, 18px);
    }
}
@media screen and (max-width: 768px) {
    .top_share_gallery_bk {
        padding: 10rem 0 5rem 0;
    }
    .top_share {
        width: 90%;
        margin: 0 auto 10rem auto;
    }
    .top_share_gr {
        justify-content: flex-end;
        gap: 3.5rem;
        margin-top: 6rem;
        position: relative;
    }
    .top_share_sns_parts {
        margin-top: 12rem;
    }
    .top_share_sns_parts_instagram img{
        width: 6rem;
    }
    .top_share_sns_parts_x img{
        width: 5.2rem;
    }
    .top_share_sns_parts_facebook img{
        width: 6.4rem;
    }
    .top_share_note {
        font-size: clamp(13px, 0.9375vw, 18px);
    }
    .top_share_note {
        position: absolute;
        top: 0;
        font-size: 2.5rem;
    }
}


/* 
 * トップギャラリー
 */
.top_gallery.disp_sp {
    display: none;
}
.top_gallery {
    width: 100vw;
    margin: 100px auto 40px auto;
    display: flex;
    gap: 3.125vw;
}
.top_gallery_img {
    overflow: hidden;
    position: relative;
    display: inline-block;
}
.top_gallery_img img{
    display: block;
    max-width: 100%;
    height: auto;
}
.top_gallery_left img{
    width: 50vw;
    height: 33.333vw;
    object-fit: cover;
}
.top_gallery_right_parts img{
    width: 15.4vw;
    height: 15.4vw;
    object-fit: cover;
}
.top_gallery_right {
    display: flex;
    flex-wrap: wrap;
    width: 34vw;
}
.top_gallery_right_parts01 {
    margin-top: 50px;
    margin-right: 50px;
}
.top_gallery_right_parts02 {
    margin-top: -50px;
}

.top_gallery_txt{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.5);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    opacity: 0;
    transition: opacity .3s ease;
}
.top_gallery_txt_p{
    color: #ece9df;
    padding: 5px 25px;
    line-height: 28px;
}
.top_gallery_img:hover .top_gallery_txt{
    /* opacity: 1; */
}


@media(max-width: 1920px){
    .top_gallery {
        margin: 11.45f8vw auto 2.083vw auto;
        gap: 3.125vw;
    }
    .top_gallery_left img{
        width: 50vw;
        height: 33.33vw;
    }
    .top_gallery_right_parts img{
        width: 15.4vw;
        height: 15.4vw;
    }
    .top_gallery_right {
        width: 34vw;
    }
    .top_gallery_right_parts01 {
        margin-top: 2.604vw;
        margin-right: 2.604vw;
    }
    .top_gallery_right_parts02 {
        margin-top: -2.604vw;
    }
}
@media screen and (max-width: 768px) {
    .top_gallery.disp_pc {
        display: none;
    }
    .top_gallery.disp_sp {
        display: block;
        position: relative;
        margin: 4rem auto 4rem auto;
    }
    .top_gallery_img {
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }
    .top_gallery_img img{
        width: 90vw;
        height: 90vw;
        object-fit: cover;
    }
    .topGallerySwiper {
        width: 90%;
        margin: 0 auto;
        overflow: hidden;
    }
    .top_gallery_swiper_control {
        position: relative;
        height: 40px;
    }
    .top_gallery_swiper_control .swiper-pagination-bullet {
        width: 10px;
        height: 10px;
        background-color: #cccccc;
        opacity: 1;
        margin: 0 5px;
        border-radius: 50%;
    }
    .top_gallery_swiper_control .swiper-pagination-bullet-active {
        background-color: #333333;
    }
}



/* 
 * TOP & アウトレット - Seasonal Promotions
 */
.outlet_promotion {
    width: 100vw;
    background-color: #e6e6e6;
    padding: 80px 0 160px 0;
    overflow: hidden;
    margin-bottom: -5px;
}
.outlet_promotion_title {
    font-size: 50px;
    color: #333333;
    width: 1400px;
    margin: 0 auto 30px auto;
    padding-left: 55px;
}
.outlet_promotion_jp .outlet_promotion_title {
    font-size: 38px;
}
.outlet_promotion_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 1250px;
    padding: 50px;
    margin: 0 auto;
    background-color: #ffffff;
    cursor: pointer;
}
.outlet_promotion_txt {
    width: 560px;
    padding-top: 5px;
    color: #333333;
    transition: all .3s;
}
.outlet_promotion_txt_title {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 50px;
}
.outlet_promotion_jp .outlet_promotion_txt_title {
    font-size: 28px;
    line-height: 42px;
}
.outlet_promotion_txt_note {
    font-size: 18px;
    line-height: 26px;
}
.outlet_promotion_jp .outlet_promotion_txt_note {
    font-size: 19px;
    line-height: 31px;
}
.outlet_promotion_txt_more span{
    position: relative;
    font-family: "futura-pt", sans-serif;
    display: inline-block;
    color: #333333;
    /* border-bottom: solid 1px #333333; */
    margin: 40px 0 0 500px;
    /* padding: 5px; */
    width: 45px;
    text-align: center;
}
.outlet_promotion_txt_more span::after{
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333333;
    transform-origin: center top;
    transform: scale(1, 1);
    transition: transform .3s;
}
.outlet_promotion_txt_more a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.outlet_promotion_inner:hover .outlet_promotion_txt_more span::after {
    transform-origin: center top;
    transform: scale(1.5, 1);
}
.outlet_promotion_txt:hover {
    opacity: 0.6;
}
.outlet_promotion_img {
    overflow: hidden;
    transition: all .3s;
}
.outlet_promotion_img img{
    width: 600px;
}

.promotionSwiper {
    position: relative;
    width: 1400px;
    margin: -10px auto 0 auto;
    overflow: visible;
}
.promotionSwiper .swiper-slide {
    width: 1250px;
}
.promotionSwiper .swiper-slide img {
    width: 520px;
    height: auto;
    border-radius: 6px;
}
.promotionSwiper .swiper_center {
    margin: 0 auto;
}
.outlet_promotion_control {
    position: relative;
}
.promotion-next,
.promotion-prev,
.promotion-pagination {
    color: #333333;
    position: absolute;
    top: auto;
    transform: translateX(-50%);
}
.promotion-next {
    bottom: -70px;
    left: calc(50% + 50px);
}
.promotion-prev {
    bottom: -70px;
    left: calc(50% - 50px);
}
.promotion-pagination {
    width: auto;
    bottom: -60px;
    left: 50%;
}
.promotion-next:after, .promotion-prev:after {
    font-size: 17px;
}
@media(max-width: 1920px){
    .outlet_promotion {
        padding: 4.16vw 0 8.33vw 0;
    }
    .outlet_promotion_title {
        font-size: 2.6vw;
        width: 72.9vw;
        margin: 0 auto 1.5625vw auto;
        padding-left: 2.86458vw;
    }
    .outlet_promotion_jp .outlet_promotion_title {
        font-size: 2.1vw;
    }
    .outlet_promotion_inner {
        width: 65.1vw;
        padding: 2.6vw;
    }
    .outlet_promotion_txt {
        width: 29.16vw;
        padding-top: 0.26vw;
    }
    .outlet_promotion_txt_title {
        font-size: clamp(20px, 1.66vw, 32px);
        line-height: clamp(22px, 2.1875vw, 42px);
        margin-bottom: 2.6vw;
    }
    .outlet_promotion_jp .outlet_promotion_txt_title {
        font-size: clamp(16px, 1.45vw, 28px);
        line-height: clamp(22px, 2.1875vw, 42px);
    }
    .outlet_promotion_txt_note {
        font-size: clamp(12px, 0.9375vw, 18px);
        line-height: clamp(15px, 1.354vw, 26px);
    }
    .outlet_promotion_jp .outlet_promotion_txt_note {
        font-size: clamp(12px, 1vw, 19px);
        line-height: clamp(15px, 1.614vw, 31px);
    }
    .outlet_promotion_txt_more span{
        margin: 2.083vw 0 0 26vw;
    }
    .outlet_promotion_img img{
        width: 31.25vw;
    }

    .promotionSwiper {
        width: 72.9vw;
        margin: 0.52vw auto 0 auto;
    }
    .promotionSwiper .swiper-slide {
        width: 65.1vw;
    }
    .promotionSwiper .swiper-slide img {
        width: 27.083vw;
        border-radius: 0.3125vw;
    }
    .outlet_promotion_control {
        position: relative;
    }
    .promotion-next {
        bottom: -50px;
    }
    .promotion-prev {
        bottom: -50px;
    }
    .promotion-pagination {
        bottom: -36px;
    }
}
@media(max-width: 768px){
    .outlet_promotion {
        padding: 10rem 0 24rem 0;
    }
    .outlet_promotion_title {
        width: 90%;
        font-size: 6rem;
        margin: 0 auto 4rem auto;
        padding-left: 6rem;
    }
    .outlet_promotion_jp .outlet_promotion_title {
        font-size: 5rem;
    }
    .outlet_promotion_inner {
        flex-direction: column-reverse;
        align-items: center;
        width: 100%;
        padding: 4.5rem;
    }
    .outlet_promotion_txt {
        width: 100%;
        padding-top: 2rem;
    }
    .outlet_promotion_txt_title {
        font-size: 4.5rem;
        line-height: 5rem;
        margin-bottom: 5rem;
    }
    .outlet_promotion_jp .outlet_promotion_txt_title {
        font-size: 4rem;
        line-height: 5rem;
    }
    .outlet_promotion_txt_note {
        font-size: 2.5rem;
        line-height: 3.2rem;
    }
    .outlet_promotion_jp .outlet_promotion_txt_note {
        font-size: 2.5rem;
        line-height: 4rem;
    }
    .outlet_promotion_txt_more span{
        margin: 6rem 0 0 0;
        font-size: 2.6rem;
    }
    .outlet_promotion_img img{
        width: 100%;
    }

    .promotionSwiper {
        width: 90%;
        margin: -10px auto 0 auto;
    }
    .promotionSwiper .swiper-slide {
        width: 100%;
    }
    .promotionSwiper .swiper-slide img {
        width: 100%;
    }
    .promotion-next,
    .promotion-prev,
    .promotion-pagination {
        color: #333333;
        position: absolute;
        top: auto;
        transform: translateX(-50%);
    }
    .promotion-next {
        left: calc(50% + 50px);
    }
    .promotion-prev {
        left: calc(50% - 50px);
    }
    .promotion-pagination {
        width: auto;
        left: 50%;
    }
    .promotion-next:after, .promotion-prev:after {
        font-size: 2rem;
    }

    .outlet_promotion_txt:hover {
        opacity: 1;
    }
}



/* 
 * アウトレットページ共通
 */
.outlet_fv {
    position: relative;
    overflow: hidden;
}
.outlet_fv_mov {
    position: relative;
    height: 100vh;
    max-height: 1000px;
    width: 100%;
    text-align: center;
    overflow: hidden;
}
.outlet_fv_mov video{
    object-fit: cover;
    height: 100vh;
    max-height: 930px;
    width: 100%;
}
.outlet_fv_img_pc {
    position: relative;
    height: 100vh;
    max-height: 1000px;
    width: 100%;
    text-align: center;
    overflow: hidden;
}
.outlet_fv_img_pc img{
    object-fit: cover;
    height: 100vh;
    max-height: 930px;
    width: 100%;
}
@media(max-width: 1920px){
    .outlet_fv_mov{
        height: 48.43vw;
    }
    .outlet_fv_mov video{
        height: 48.43vw;
    }
    .outlet_fv_img_pc{
        height: 48.43vw;
    }
    .outlet_fv_img_pc img{
        height: 48.43vw;
    }
}
@media(max-width: 768px){
    .outlet_fv_img{
        position: relative;
        height: 100vh;
        max-height: 930px;
        text-align: center;
        overflow: hidden;
        width: 100vw;
        max-height: 560px;
    }
    .outlet_fv_img img{
        object-fit: cover;
        height: 100vh;
        max-height: 560px;
        width: 100%;
    }
}


/* 重要なお知らせ */
.outlet_important_info {
    position: absolute;
    top: 150px;
    left: 120px;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: center;
    padding: 30px 30px 0 30px;
    width: 300px;
    height: 440px;
}
.outlet_important_info_logo img{
    width: 240px;
}
.outlet_important_info_txt {
    font-size: 15px;
    color: #ece9df;
    margin-top: 20px;
    text-align: left;
}
@media(max-width: 1920px){
    .outlet_important_info {
        top: 7.8125vw;
        left: 6.25vw;
        padding: 1.5625vw 1.5625vw 2vw 1.5625vw;
        width: clamp(200px, 16vw, 500px);
        height: auto;
    }
    .outlet_important_info_logo img{
        width: 12.5vw;
    }
    .outlet_important_info_txt {
        font-size: clamp(12px, 0.78125vw, 15px);
        margin-top: 1.0416vw;
    }
}
@media(max-width: 768px){
    .outlet_important_info {
        top: auto;
        bottom: 2rem;
        left: 2rem;
        padding: 4rem 3rem 2rem 3rem;
        width: 40rem;
        height: 56rem;
    }
    .outlet_important_info_logo img{
        width: 24rem;
        height: auto;
    }
    .outlet_important_info_txt {
        font-size: 2rem;
        margin-top: 20px;
    }
}



/* 前置き */
.outlet_intro {
    width: 100vw;
    background-color: #ffffff;
    color: #333333;
    text-align: center;
    padding: 120px 0 120px 0;
}
.outlet_intro_title {
    font-size: 38px;
    margin-bottom: 10px;
}
.outlet_intro_subtitle {
    font-size: 20px;
}
.outlet_intro_title_en {
    font-size: 48px;
}
.outlet_intro_note {
    font-size: 19px;
    line-height: 50px;
    margin-top: 100px;
}
.outlet_intro_note.font_en_sans {
    font-size: 29px;
    margin-top: 70px;
}
.outlet_intro_cta {
    position: relative;
    width: 420px;
    height: 80px;
    background-color: #333333;
    color: #ece9df;
    margin: 170px auto 70px auto;
    transition: all .3s;
    font-family: "futura-pt", sans-serif;
}
.outlet_intro_cta.font_en_sans {
    margin: 140px auto 10px auto;
}
.outlet_intro_cta a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.outlet_intro_cta p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    letter-spacing: 1.5px;
    margin: 0;
}
.outlet_intro_cta:hover{
    background-color: #a29061;
    color: #ece9df;
}
.outlet_intro_cta_none {
    height: 60px;
}
@media(max-width: 1920px){
    .outlet_intro {
        padding: 10vw 0 6.25vw 0;
    }
    .outlet_intro_title {
        font-size: clamp(24px, 1.98vw, 38px);
        margin-bottom: 0.52vw;
    }
    .outlet_intro_subtitle {
        font-size: clamp(14px, 1.0416vw, 20px);
    }
    .outlet_intro_title_en {
        font-size: 2.5vw;
    }
    .outlet_intro_note {
        font-size: clamp(13px, 0.99vw, 19px);
        line-height: clamp(28px, 2.7vw, 50px);
        margin-top: 5.2083vw;
    }
    .outlet_intro_note.font_en_sans {
        font-size: 1.51vw;
        margin-top: 3.6458vw;
    }
    .outlet_intro_cta {
        width: 21.875vw;
        height: 4.16vw;
        margin: 8.85vw auto 3.8vw auto;
    }
    .outlet_intro_cta.font_en_sans {
        margin: 7.291vw auto 0.52083vw auto;
    }
    .outlet_intro_cta p{
        font-size: 1.1458vw;
        letter-spacing: 0.078125vw;
    }
    .outlet_intro_cta_none {
        height: 3.125vw;
    }
}
@media(max-width: 768px){
    .outlet_intro {
        padding: 12rem 0 1rem 0;
    }
    .outlet_intro_title {
        font-size: 4.8rem;
        margin-bottom: 1rem;
    }
    .outlet_intro_subtitle {
        font-size: 2.7rem;
    }
    .outlet_intro_title_en {
        font-size: 6rem;
    }
    .outlet_intro_note {
        font-size: 2.7rem;
        line-height: 5rem;
        margin-top: 6rem;
    }
    .outlet_intro_note.font_en_sans {
        font-size: 2.8rem;
        margin-top: 4rem;
    }
    .outlet_intro_cta {
        width: 56rem;
        height: 12rem;
        margin: 12rem auto 1rem auto;
    }
    .outlet_intro_cta p{
        font-size: 3rem;
        letter-spacing: 1.5px;
    }
    .outlet_intro_cta_none {
        height: 2rem;
    }
}



/* 全幅画像 */
.outlet_image img{
    width: 100vw;
    height: 970px;
}
@media(max-width: 1920px){
    .outlet_image img{
        height: 51.04vw;
    }
}
@media(max-width: 768px){
    .outlet_image img{
        height: 105rem;
        object-fit: cover;
    }
}

/* コンテンツ */
.outlet_contents_sec {
    background-color: #ffffff;
    padding: 40px 0;
}
.outlet_contents {
    position: relative;
    width: 100%;
    max-width: 1920px;
    margin: 100px auto;
}
.outlet_contents_img {
    position: absolute;
    top: 0;
    z-index: 0;
    overflow: hidden;
}
.outlet_contents_img img{
    width: 960px;
    height: 640px;
}
.outlet_contents_left .outlet_contents_img {
    left: 0;
}
.outlet_contents_right .outlet_contents_img {
    right: 0;
}
.outletModuleSwiper {
    max-width: 960px;
    margin: 0;
    overflow: hidden;
}
.outlet_module_control {
    position: relative;
    height: 40px;
}
.swip-module-next,
.swip-module-prev,
.swip-module-pagination {
    color: #282821;
    top: auto;
}
.swip-module-next {
    bottom: -10px;
    left: 120px;
}
.swip-module-prev {
    bottom: -10px;
    left: 10px;
}
.swip-module-pagination {
    width: auto;
    bottom: 0;
    left: 60px;
}
.swip-module-next:after, .swip-module-prev:after {
    font-size: 17px;
}

.outlet_contents_inner {
    position: relative;
    display: flex;
    align-items: center;
    height: 640px;
    max-width: 1540px;
    margin: 0 auto;
}
.outlet_contents_txt {
    position: absolute;
    z-index: 1;
    color: #333333;
    width: 600px;
}
.outlet_contents_left .outlet_contents_txt {
    right: 0;
}
.outlet_contents_txt_title {
    margin-bottom: 70px;
}
.outlet_contents_txt_title_thin {
    letter-spacing: -0.5px;
}
.outlet_contents_txt_title.font_en_sub {
    font-size: 53px;
}
.outlet_contents_txt_subtitle {
    font-size: 32px;
    margin-bottom: 30px;
}
.outlet_contents_txt_note {
    font-size: 18px;
    line-height: 31px;
    text-align: left;
    width: 95%;
}
.outlet_contents_jp .outlet_contents_txt_title {
    font-size: 35px;
    line-height: 61px;
}
.outlet_contents_jp .outlet_contents_txt_note {
    text-align: justify;
    font-size: 17px;
    line-height: 38px;
}

.outlet_contents_link_gr {
    display: flex;
    justify-content: flex-end;
    gap: 110px;
    margin-top: 100px;
    font-size: 16px;
    width: 90%;
}
.outlet_contents_jp .outlet_contents_link_gr {
    font-size: 15px;
}
.outlet_contents_link {
    position: relative;
    transition: all .3s;
}
.outlet_contents_link::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333333;
    transform-origin: center top;
    transform: scale(1, 1);
    transition: transform .3s;
}
.outlet_contents_link:hover::after {
    transform-origin: center top;
    transform: scale(1.5, 1);
}
.outlet_contents_link a{
    color: #333333;
}
.outlet_contents_link_menu {
    display: inline-block;
    cursor: pointer;
}
.outlet_contents_link_menu_dropdown {
    position: absolute;
    top: 160%;
    left: -15px;
    background: rgba(240, 240, 240, 0.9);
    display: none;
    flex-direction: column;
    align-items: flex-start;
    z-index: 20;
    padding: 15px 0;
}
.outlet_contents_link_menu_dropdown a {
    padding: 2px 15px;
    text-decoration: none;
    font-size: 14px;
    color: #333333;
    white-space: nowrap;
    transition: 0.3s;
}
.outlet_contents_link_menu_dropdown a:hover {
    font-weight: 600;
    transition: 0.3s;
}
.outlet_contents_link_menu_dropdown.open {
    display: flex;
}

@media(max-width: 1920px){
    .outlet_contents_sec {
        padding: 2.08vw 0;
    }
    .outlet_contents {
        margin: 5.2vw auto;
    }
    .outlet_contents_img img{
        width: 50vw;
        height: 33.33vw;
    }    
    .outletModuleSwiper {
        width: 50vw;
    }
    .outlet_module_control {
        height: 30px;
    }
    .swip-module-next {
        bottom: -15px;
    }
    .swip-module-prev {
        bottom: -15px;
    }
    .swip-module-next:after, .swip-module-prev:after {
        font-size: 0.885vw;
    }

    .outlet_contents_inner {
        height: 33.33vw;
        max-width: 80vw;
    }
    .outlet_contents_txt {
        width: 32.5vw;
    }
    .outlet_contents_txt_title {
        font-size: 2.96875vw;
        margin-bottom: 3.64vw;
    }
    .outlet_contents_txt_title_thin {
        letter-spacing: 0;
    }
    .outlet_contents_txt_title.font_en_sub {
        font-size: 3.02083vw;
    }
    .outlet_contents_txt_subtitle {
        font-size: 1.666vw;
        margin-bottom: 1.5625vw;
    }
    .outlet_contents_txt_note {
        font-size: clamp(13px, 0.9375vw, 18px);
        line-height: clamp(18px, 1.614vw, 31px);
    }
    .outlet_contents_jp .outlet_contents_txt_title {
        font-size: 1.82vw;
        line-height: 3.2vw;
    }
    .outlet_contents_jp .outlet_contents_txt_note {
        font-size: clamp(13px, 0.885vw, 17px);
        line-height: clamp(22px, 1.98vw, 38px);;
    }

    .outlet_contents_link_gr {
        gap: 5.73vw;
        margin-top: 5.2vw;
        font-size: clamp(12px, 0.83vw, 16px);
    }
    .outlet_contents_link::after {
        bottom: -0.52vw;
    }
}
@media(max-width: 768px){
    .outlet_contents_sec {
        padding: 2rem 0;
    }
    .outlet_contents {
        margin: 10rem 0 14rem 0;
    }
    .outlet_contents_img {
        position: relative;
    }
    .outlet_contents_img img{
        width: 100vw;
        height: auto;
    }
    .outletModuleSwiper {
        width: 100%;
    }
    .outlet_module_control {
        height: 20px;
    }
    .swip-module-next {
        bottom: -10px;
    }
    .swip-module-prev {
        bottom: -10px;
    }
    .swip-module-pagination {
        bottom: 5px;
        font-size: 12px;
    }
    .swip-module-next:after, .swip-module-prev:after {
        font-size: 12px;
    }
    
    .outlet_contents_inner {
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: auto;
        margin: 6rem auto;
    }
    .outlet_contents_txt {
        position: relative;
        width: 92%;
    }
    .outlet_contents_left .outlet_contents_txt {
        right: auto;
    }
    .outlet_contents_txt_title {
        font-size: 6rem;
        margin-bottom: 8rem;
        text-align: center;
    }
    .outlet_contents_txt_title.font_en_sub {
        font-size: 6rem;
        text-align: left;
        width: 88%;
        margin: 0 auto 4rem auto;
    }
    .outlet_contents_txt_subtitle {
        font-size: 5rem;
        margin-bottom: 4rem;
    }
    .outlet_contents_txt_note {
        font-size: 3rem;
        line-height: 4.5rem;
        width: 88%;
        margin: 0 auto;
    }
    .outlet_contents_jp .outlet_contents_txt_title {
        font-size: 4.4rem;
        line-height: 6.5rem;
    }
    .outlet_contents_jp .outlet_contents_txt_note {
        font-size: 2.8rem;
        line-height: 4.5rem;
    }

    .outlet_contents_link_gr {
        justify-content: flex-start;
        gap: 7.5rem;
        margin: 10rem auto 4rem auto;
        font-size: 3.15rem;
        width: 88%;
    }
    .outlet_contents_jp .outlet_contents_link_gr {
        font-size: 2.2rem;
    }
    .outlet_contents_link::after {
        bottom: -2.5rem;
    }
}

/* 
 * シェフ - アウトレット
 */
.outlet_chef {
    width: 1920px;
    margin: 160px auto 80px auto;
    color: #333333;
}
.outlet_chef_gr {
    display: flex;
    align-items: center;
    gap: 180px;
    margin-top: 30px;
}
.outlet_chef_img{
    overflow: hidden;
}
.outlet_chef_img img{
    width: 950px;
    height: 600px;
    object-fit: cover;
}
.outlet_chef_txt {
    width: 700px;
}
.outlet_chef_name_gr {
    display: flex;
    align-items: baseline;
    gap: 60px;
    margin-bottom: 80px;
}
.outlet_chef_name {
    font-size: 32px;
}
.outlet_chef_name.font_en_sans {
    font-size: 31px;
}
.outlet_chef_note {
    font-size: 18px;
    line-height: 31px;
    width: 520px;
    text-align: justify;
    margin-bottom: 10px;
}
.outlet_chef_en .outlet_chef_note {
    text-align: left;
}
@media(max-width: 1920px){
    .outlet_chef {
        width: 100vw;
        margin: 8vw auto 6.25vw auto;
    }
    .outlet_chef_gr {
        gap: 8vw;
        margin-top: 1.5625vw;
    }
    .outlet_chef_img img{
        width: 50vw;
        height: clamp(360px, 31.25vw, 600px);
    }
    .outlet_chef_txt {
        width: 36.45833vw;
    }
    .outlet_chef_name_gr {
        gap: 1.5vw;
        margin-bottom: 3.5vw;
    }
    .outlet_chef_name {
        font-size: 1.66vw;
    }
    .outlet_chef_name.font_en_sans {
        font-size: 1.6145vw;
    }
    .outlet_chef_note {
        font-size: clamp(13px, 0.885vw, 18px);
        line-height: clamp(20px, 1.5625vw, 30px);
        width: 28vw;
        margin-bottom: 0.52083vw;
    }
}
@media screen and (max-width: 768px) {
    .outlet_chef {
        width: 90%;
        margin: 20rem auto 0 auto;
    }
    .outlet_chef_gr {
        flex-direction: column;
        gap: 4rem;
        margin-top: 4rem;
    }
    .outlet_chef_img {
        text-align: center;
    }
    .outlet_chef_img img{
        width: 100%;
        height: auto;
    }
    .outlet_chef_txt {
        width: 100%;
    }
    .outlet_chef_name_gr {
        gap: 3rem;
        margin-bottom: 5.5rem;
    }
    .outlet_chef_name {
        font-size: 3.9rem;
    }
    .outlet_chef_name {
        font-size: 3.8rem;
    }
    .outlet_chef_note {
        font-size: 2.6rem;
        line-height: 3.8rem;
        width: 100%;
        margin-bottom: 10rem;
    }
}


/* 
 * フォトギャラリー
 */
.outlet_gallery_bk {
    width: 100vw;
    height: 700px;
    background-color: #e6e6e6;
    padding: 70px 0;
    overflow: hidden;
    margin-top: -1px;
}
.outlet_gallery_txt_title {
    width: 1400px;
    font-size: 50px;
    color: #282821;
    margin: 0 auto;
}

.outlet_gallery {
    position: relative;
    width: 1400px;
    height: 100%;
    margin: 30px auto 0 auto;
}
.outlet_gallery_txt {
    width: 1400px;
    margin: 0 auto;
}
.outlet_gallery_txt_note {
    width: 310px;
    font-size: 18px;
    line-height: 36px;
}

.outlet_gallery_sec {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}
.outlet_gallery_img {
    overflow: hidden;
}
.outletSwiper {
    width: 600px;
    margin: 0;
    overflow: visible;
}
.outletSwiper .swiper-slide {
    width: 520px;
}
.outletSwiper .swiper-slide img {
    width: 520px;
    height: 370px;
    border-radius: 6px;
    object-fit: cover;
}
.outlet_gallery_control {
    position: relative;
}
.gallery-next,
.gallery-prev,
.gallery-pagination {
    color: #282821;
    position: absolute;
    top: auto;
}
.gallery-next {
    bottom: -70px;
    left: 100px;
}
.gallery-prev {
    bottom: -70px;
    left: 0;
}
.gallery-pagination {
    width: auto;
    bottom: -60px;
    left: 45px;
}
.gallery-next:after, .gallery-prev:after {
    font-size: 17px;
}
@media(max-width: 1920px){
    .outlet_gallery_bk {
        height: 36.458vw;
        padding: 3.6458vw 0;
    }
    .outlet_gallery_txt_title {
        width: 72.9vw;
        font-size: 2.6vw;
    }
    
    .outlet_gallery {
        width: 72.916vw;
    }
    .outlet_gallery_txt {
        width: 67.7vw;
    }
    .outlet_gallery_txt_note {
        width: 16.14vw;
        font-size: clamp(14px, 0.9375vw, 18px);
        line-height: clamp(28px, 1.875vw, 36px);
    }
    
    .outletSwiper {
        width: 31.25vw;
    }
    .outletSwiper .swiper-slide {
        width: 30.729vw;
    }
    .outletSwiper .swiper-slide img {
        width: 30.729vw;
        height: 19.27vw;
        border-radius: 0.3125vw;
    }

    .outlet_gallery_control {
        position: relative;
    }
    .gallery-next {
        bottom: -40px;
    }
    .gallery-prev {
        bottom: -40px;
    }
    .gallery-pagination {
        bottom: -25px;
    }
}
@media(max-width: 768px){
    .outlet_gallery_bk {
        height: 94rem;
        padding: 0;
        margin-top: 2rem;
    }
    
    .outlet_gallery {
        width: 90%;
        padding: 7rem 0 11rem 0;
        margin: 0 auto;
    }
    .outlet_gallery_txt {
        width: 86%;
        margin: 0 auto;
    }
    .outlet_gallery_txt_title {
        width: 80%;
        font-size: 6rem;
        padding: 8rem 0 0 0;
    }
    .outlet_gallery_txt_note {
        width: 100%;
        font-size: 2.5rem;
        line-height: 4.5rem;
    }
    
    .outlet_gallery_sec {
        position: relative;
        top: 0;
        left: 0;
        margin: 0 auto 6rem auto;
    }
    .outletSwiper {
        width: 100%;
    }
    .outletSwiper .swiper-slide {
        width: 100%;
    }
    .outletSwiper .swiper-slide img {
        width: 70rem;
        height: 50rem;
    }
    .outlet_gallery_control {
        position: relative;
    }
    .outlet_gallery_control .swiper-button-next:after, .outlet_gallery_control .swiper-button-prev:after {
        font-size: 13px;
    }
}




/* 
 * ニュース・シェフ
 */
.outlet_news_chef {
    background-color: #ffffff;
    width: 100vw;
    padding: 80px 0;
    color: #333333;
}
@media(max-width: 1920px){
    .outlet_news_chef {
        padding: 4.166vw 0;
    }
}
@media(max-width: 768px){
    .outlet_news_chef {
        padding: 20rem 0 10rem 0;
    }
}



/* 
 * ニュース
 */
.outlet_news {
    width: 1290px;
    margin: 20px auto 120px auto;
}
.outlet_news_title {
    font-size: 50px;
    margin-bottom: 30px;
}
.outlet_news_gr {
    width: 100%;
    border-top: solid 1px #333333;
    border-bottom: solid 1px #333333;
    font-size: 18px;
}
.outlet_news_all {
    font-size: 17px;
    font-weight: 700;
}
.outlet_news_all a{
    text-decoration: none;
}
.outlet_news ul {
    list-style: none;
    padding: 0 5px;
}
.outlet_news li {
    margin: 40px 0 45px 0;
}
.outlet_news dl {
    display: flex;
}
.outlet_news dt {
    width: 160px;
}
.outlet_news dd {
    flex: 1;
    margin-left: 10px;
}
.outlet_news dd a {
    color: #333333;
    text-decoration: none;
}
@media(max-width: 1920px){
    .outlet_news {
        width: 67.1875vw;
        margin: 1.041vw auto 6.25vw auto;
    }
    .outlet_news_title {
        font-size: 2.6vw;
        margin-bottom: 1.5625vw;
    }
    .outlet_news_gr {
        border-top: solid 0.052vw #333333;
        border-bottom: solid 0.052vw #333333;
        font-size: clamp(14px, 0.9375vw, 18px);
    }
    .outlet_news_all {
        font-size: clamp(14px, 0.885vw, 17px);
    }
    .outlet_news ul {
        padding: 0 0.26vw;
    }
    .outlet_news li {
        margin: 2.08vw 0 2.34375vw 0;
    }
    .outlet_news dt {
        width: 8.33vw;
    }
    .outlet_news dd {
        margin-left: 0.52vw;
    }
}
@media(max-width: 768px){
    .outlet_news {
        width: 90%;
        margin: 2rem auto 12rem auto;
    }
    .outlet_news_title {
        font-size: 6rem;
        margin-bottom: 2rem;
    }
    .outlet_news_gr {
        font-size: 2.5rem;
    }
    .outlet_news_all {
        font-size: 2.5rem;
    }
    .outlet_news li {
        margin: 5rem 0;
    }
    .outlet_news dd {
        flex: 1;
        margin-left: 1.5rem;
    }
}

/* 
 * インフォメーション
 */
.outlet_info {
    width: 1400px;
    margin: 240px auto 190px auto;
    color: #333333;
}
.outlet_info_title {
    font-size: 50px;
    width: 1400px;
    margin: 0 auto 30px auto;
}
.outlet_info_sec {
    display: flex;
    gap: 50px;
}
.outlet_info_bl {
    background-color: rgba(0, 0, 0, 0.8);
    text-align: center;
    padding: 60px 0;
    width: 254px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.outlet_info_bl_nologo {
    padding: 60px 0 170px 0;
}
.outlet_info_bl_logo img{
    width: 220px;
}
.outlet_info_bl_cta {
    position: relative;
    background-color: #ffffff;
    width: 190px;
    height: 60px;
    margin: 60px auto -10px auto;
    font-family: "futura-pt", sans-serif;
    font-size: 16px;
}
.outlet_info_bl_cta a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.outlet_info_bl_cta p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #333333;
    letter-spacing: 0.3px;
    margin: 0;
    width: 100%;
}
.outlet_info_bl_cta:hover {
    background-color: #a29061;
}
.outlet_info_bl_cta:hover p{
    color: #ece9df;
}

.outlet_info_wh {
    flex: 1;
    font-size: 18px;
    line-height: 25px;
    width: 100%;
    border-collapse: collapse;
}
.outlet_info_wh_gr {
    border-bottom: 1px solid #333333;
}
.outlet_info_wh_gr_last {
    border-bottom: none;
}
.outlet_info_wh_title, .outlet_info_wh_note {
    padding: 20px;
    vertical-align: top;
    text-align: left;
}
.outlet_info_wh_note a{
    color: #333333;
    background-image: linear-gradient(#333333 0 0);
    background-size: 100% 1px;
    background-position: 0 100%;
    background-repeat: repeat-x;
}
.outlet_info_wh_note_tel a{
    background-size: 0;
}
.outlet_info_wh_title {
    width: 360px;
    font-weight: 400;
}
@media(max-width: 1920px){
    .outlet_info {
        width: 72.916vw;
        margin: 12.5vw auto 9.895vw auto;
    }
    .outlet_info_title {
        font-size: 2.6vw;
        width: 72.916vw;
        margin: 0 auto 1.56vw auto;
    }
    .outlet_info_sec {
        gap: 2.60416vw;
    }
    .outlet_info_bl {
        padding: 2.083vw 0;
        width: 13.23vw;
    }
    .outlet_info_bl_nologo {
        padding: 2.083vw 0 8.85vw 0;
    }
    .outlet_info_bl_logo img{
        width: 11.458vw;
    }
    .outlet_info_bl_cta {
        width: 10vw;
        height: 3.125vw;
        margin: 3.125vw auto -0.5vw auto;
        font-size: clamp(13px, 0.83vw, 16px);
    }

    .outlet_info_wh {
        font-size: clamp(13px, 0.937vw, 18px);
        line-height: clamp(20px, 1.3vw, 25px);
    }
    .outlet_info_wh_title, .outlet_info_wh_note {
        padding: 1.04vw;
    }
    .outlet_info_wh_title {
        width: 18.75vw;
    }
}
@media(max-width: 768px){
    .outlet_info {
        width: 90%;
        margin: 14rem auto 20rem auto;
    }
    .outlet_info_title {
        width: 90%;
        font-size: 6rem;
        margin: 0 auto 6rem auto;
    }
    .outlet_info_sec {
        flex-direction: column;
        gap: 5rem;
        width: 94%;
        margin: 0 auto;
    }

    .outlet_info_wh, .outlet_info_wh_title, .outlet_info_wh_note  {
        display: block;
        width: 100%;
    }
    .outlet_info_wh {
        margin: 0 auto;
        font-size: 2.6rem;
    }
    .outlet_info_wh_title, .outlet_info_wh_note {
        padding: 2rem;
        width: auto;
    }
    .outlet_info_wh_title {
        padding: 6rem 2rem 2rem 2rem;
    }
    .outlet_info_wh_note {
        padding: 2rem 2rem 6rem 2rem;
        border: none;
        line-height: 4rem;
    }
}



/* 
 * プライベートダイニング
 */
.private_fv {
    width: 1280px;
    margin: 0 auto;
    padding-top: 140px;
    overflow: hidden;
}
.private_fv img{
    width: 1280px;
}

.private_intro {
    color: #333333;
    margin: 80px auto 120px auto;
    text-align: center;
}
.private_intro_title {
    font-size: 38px;
    margin-bottom: 40px;
}
.private_intro_txt {
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto;
}
.private_intro_txt {
    font-size: 16px;
    max-width: 700px;
    margin: 0 auto;
}
.private_intro_txt_en {
    font-size: 18px;
}

.private_plan_sec {
    color: #333333;
    margin: 80px auto 220px auto;
}
.private_plan_sec_bk {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background-color: #e6e6e6;
    padding: 60px 0 100px 0;
    margin-bottom: 160px;
}
.private_plan_parts {
    width: 1920px;
    margin: 80px auto;
    display: flex;
    align-items: center;
    gap: 100px;
}
.private_plan_parts_img{
    overflow: hidden;
}
.private_plan_parts_img img{
    width: 960px;
    height: 640px;
    object-fit: cover;
}
.private_plan_parts_txtgr {
    width: 700px;
}
.private_plan_parts_title {
    font-size: 38px;
    margin-bottom: 80px;
}
.private_plan_parts_txt {
    font-size: 17px;
    line-height: 40px;
    width: 540px;
    text-align: justify;
    margin-bottom: 10px;
}
.private_plan_sec_en .private_plan_parts_txt {
    text-align: left;
    font-size: 18px;
}

.private_plan_info {
    width: 740px;
    border: solid #333333 1px;
    margin: 20px auto 40px auto;
    padding: 20px 30px;
}
.private_plan_info dl{
    display: flex;
}
.private_plan_info dt{
    width: 140px;
}
.private_plan_info dd{
    flex: 1;
    margin-left: 20px;
}
.private_plan_info_flex {
    display: flex;
    justify-content: space-between;
}
.private_plan_info_flex_price {
    width: 100px;
    font-size: 13px;
}
.private_plan_info dd span{
    font-size: 13px;
}
.private_plan_note {
    width: 720px;
    font-size: 15px;
    line-height: 28px;
    margin: 0 auto;
}
.private_plan_note p{
    text-indent: -1em;
    padding-left: 1em;
    margin: 0;
}

.private_cta {
    position: relative;
    width: 260px;
    height: 46px;
    background-color: #333333;
    color: #ece9df;
    margin: 120px auto 220px auto;
    transition: all .3s;
}
.private_cta a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.private_cta p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    margin: 0;
}
.private_cta:hover{
    background-color: #a29061;
    color: #ece9df;
}

.private_explan_sec {
    width: 1280px;
    margin: 240px auto;
    overflow: hidden;
}
.private_explan {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1250px;
    padding: 40px 35px 40px 40px;
    margin: 80px auto;
    background-color: #ffffff;
    border: solid #333333 1px;
}
.private_explan_img {
    overflow: hidden;
}
.private_explan_img img{
    width: 500px;
}
.private_explan_txt {
    width: 560px;
    color: #333333;
}
.private_explan_txt_title {
    font-size: 32px;
    margin-bottom: 60px;
}
.private_explan_txt_note {
    font-size: 18px;
    line-height: 36px;
}

@media(max-width: 1920px){
    .private_fv {
        width: 66.66vw;
        padding-top: 7.29166vw;
    }
    .private_fv img{
        width: 66.66vw;
    }

    .private_intro {
        margin: 4.166vw auto 6.25vw auto;
    }
    .private_intro_title {
        font-size: 1.97916vw;
        margin-bottom: 2.083vw;
    }
    .private_intro_txt {
        font-size: clamp(12px, 0.83vw, 16px);
    }
    .private_intro_txt_en {
        font-size: clamp(13px, 0.9375vw, 18px);
    }

    .private_plan_sec {
        width: 100%;
        margin: 4.166vw auto 11.45vw auto;
    }
    .private_plan_sec_bk {
        padding: 3.125vw 0 5.2083vw 0;
        margin-bottom: 8.3vw;
    }

    .private_plan_parts {
        width: 100%;
        margin: 4.166vw auto;
        gap: 5.2083vw;
    }
    .private_plan_parts_img img{
        width: 50vw;
        height: 33.33vw;
    }
    .private_plan_parts_txtgr {
        width: 36.4583vw;
    }
    .private_plan_parts_title {
        font-size: 1.979vw;
        margin-bottom: 4.166vw;
    }
    .private_plan_parts_txt {
        font-size: 0.88vw;
        line-height: 2.083vw;
        width: 28.125vw;
        margin-bottom: 0.52vw;
    }
    .private_plan_sec_en .private_plan_parts_txt {
        font-size: clamp(13px, 0.9375vw, 18px);
    }

    .private_plan_info {
        width: 38.5416vw;
        margin: 1.0416vw auto 2.083vw auto;
        padding: 1.0416vw 1.5625vw;
    }
    .private_plan_info dt{
        width: 8vw;
    }
    .private_plan_info dd{
        margin-left: 1.0416vw;
    }
    .private_plan_info_flex_price {
        width: 76px;
        font-size: 10px;
    }
    .private_plan_info dd span{
        font-size: 10px;
    }
    .private_plan_note {
        width: 37.5vw;
        font-size: 10px;
        line-height: 16px;
    }

    .private_cta {
        width: 14vw;
        height: 3vw;
        margin: 6.25vw auto 11.458vw auto;
    }
    .private_cta p{
        width: 100%;
        text-align: center;
        font-size: clamp(12px, 0.9375vw, 18px);
    }

    .private_explan_sec {
        width: 66.66vw;
        margin: 12.5vw auto;
    }
    .private_explan {
        width: 65.10416vw;
        padding: 2.0833vw 1.822916vw 2.0833vw 2.0833vw;
        margin: 4.166vw auto;
    }
    .private_explan_img img{
        width: 26.0416vw;
    }
    .private_explan_txt {
        width: 29.166vw;
    }
    .private_explan_txt_title {
        font-size: 1.66vw;
        margin-bottom: 3.125vw;
    }
    .private_explan_txt_note {
        font-size: clamp(13px, 0.9375vw, 18px);
        line-height: clamp(20px, 1.875vw, 36px);
    }
}
@media(max-width: 768px){
    .private_fv {
        width: 70rem;
        margin: 0 auto;
        padding-top: 20rem;
    }
    .private_fv img{
        width: 70rem;
    }

    .private_intro {
        margin: 8rem auto 12rem auto;
    }
    .private_intro_title {
        font-size: 6rem;
        margin-bottom: 4rem;
    }
    .private_intro_txt {
        width: 90%;
        font-size: 2.5rem;
    }

    .private_plan_sec {
        width: 95%;
        margin: 16rem auto 26rem auto;
    }
    .private_plan_sec_bk {
        padding: 8rem 0 10rem 0;
        margin-bottom: 20rem;
    }
    .private_plan_parts {
        margin: 10rem auto;
        flex-direction: column;
        gap: 6rem;
    }
    .private_plan_parts_img img{
        width: 70rem;
        height: 46rem;
    }
    .private_plan_parts_txtgr {
        width: 90%;
        margin: 0 auto;
    }
    .private_plan_parts_title {
        font-size: 5.2rem;
        margin-bottom: 3rem;
    }
    
    .private_plan_parts_txt {
        width: 100%;
        font-size: 3rem;
        line-height: 5.5rem;
        margin-bottom: 1rem;
    }

    .private_plan_info {
        width: 95%;
        margin: 4rem auto 8rem auto;
        padding: 3rem;
    }
    .private_plan_info dl{
        flex-direction: column;
    }
    .private_plan_info dt{
        width: 16rem;
    }
    .private_plan_info dd{
        margin-left: 3rem;
    }
    .private_plan_info_flex_price {
        width: 18rem;
        font-size: 2.2rem;
    }
    .private_plan_info dd span{
        font-size: 2.2rem;
    }
    .private_plan_note {
        width: 95%;
        font-size: 2.8rem;
        line-height: 4.4rem;
    }

    .private_cta {
        width: 30rem;
        height: 6rem;
        margin: 12rem auto 22rem auto;
    }
    .private_cta p{
        font-size: 2.4rem;
    }

    .private_explan_sec {
        width: 70rem;
        margin: 30rem auto;
        overflow: hidden;
    }
    .private_explan {
        flex-direction: column;
        width: 70rem;
        padding: 6rem 3rem;
        margin: 12rem auto;
    }
    .private_explan_img img{
        width: 64rem;
    }
    .private_explan_txt {
        width: 64rem;
    }
    .private_explan_txt_title {
        font-size: 4.5rem;
        margin: 1rem 0 3rem 0;
    }
    .private_explan_txt_note {
        font-size: 2.8rem;
        line-height: 4.4rem;
    }
}



/* 
 * アクセスページ
 */
.access_sec {
    color: #333333;
    margin: 80px auto;
}
.access_txt {
    color: #333333;
    margin: 80px auto;
    text-align: center;
    font-size: 19px;
    line-height: 32px;
}
.access_how_bk {
    width: 100vw;
    background-color: #f7f8f8;
    padding: 90px 0;
}
.access_how_gr {
    width: 1400px;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    gap: 80px;
    padding: 80px 0;
    margin: 0 auto;
    font-size: 15px;
}
.access_how_gr_en .access_how_gr {
    font-size: 16px;
}
.access_how_title {
    position: relative;
    padding-left: 10px;
    padding-bottom: 10px;
    width: 600px;
    font-size: 17px;
    font-weight: 700;
    color: #a29061;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}
.access_how_title_icon ,.access_how_title_icon img{
    width: 28px;
    height: 28px;
}
.access_how_title::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #a29061;
}
.access_how_txt01 {
    margin: 30px auto 0 auto;
    font-size: 16px;
    line-height: 25px;
    padding-left: 5px;
    width: 600px;
}
.access_how_txt02 {
    font-size: 15px;
    margin: 30px auto 0 auto;
    padding-left: 5px;
    width: 600px;
}
.access_how_gr_en .access_how_txt02 {
    font-size: 16px;
}
.access_how_txt02 a{
    text-decoration: underline;
}

.access_how_gr01 .access_how_txt02 {
    margin-top: 90px;
}
.access_how_gr02 .access_how_txt02 {
    margin-top: 50px;
}
.access_how_center_title {
    font-size: 16px;
    color: #a29061;
}
.access_how_y {
    font-size: 15px;
    line-height: 22px;
}
.access_how_gr_en .access_how_y {
    font-size: 16px;
}
.access_how_txt02 ul {
    padding-left: 0;
    font-size: 15px;
    line-height: 22px;
}
.access_how_gr_en .access_how_txt02 ul {
    font-size: 16px;
}
.access_how_gr01 .access_how_txt02 ul {
    padding-left: 1rem;
    font-size: 15px;
    line-height: 22px;
}
.access_how_txt02 li {
    text-indent: -1em;
    padding-left: 1em;
    word-break: break-all;
    margin-bottom: 5px;
}
.access_how_txt02 li.access_how_ul_left2 {
    padding-left: 1.6em;
}
.access_how_txt02 li span{
    width: 150px;
    display: inline-block;
}
.access_how_car_txt {
    font-size: 15px;
    line-height: 22px;
    margin-bottom: 20px;
}
.access_how_gr_en .access_how_car_txt {
    font-size: 16px;
}
.access_kakko {
    margin-left: -7px;
}

.access_map {
    max-width: 1400px;
    height: 600px;
    margin: 70px auto 90px auto;
    overflow: hidden;
    text-align: center;
}
.access_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    width: 100%;
    height: 100%;
}
.access_map_link {
    position: relative;
    width: 420px;
    height: 80px;
    background-color: #333333;
    color: #ece9df;
    margin: 90px auto 160px auto;
    transition: all .3s;
}
.access_map_link a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.access_map_link p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    margin: 0;
}
.access_map_link:hover{
    background-color: #a29061;
    color: #ece9df;
}
@media(max-width: 1920px){
    .access_sec {
        margin: 4.166vw auto;
    }
    .access_txt {
        font-size: clamp(14px, 0.99vw, 19px);
        line-height: clamp(20px, 1.66vw, 32px);
    }
    .access_how_bk {
        padding: 4.6875vw 0;
    }
    .access_how_gr {
        width: 84vw;
        max-width: 1400px;
        margin: 4.166vw auto;
        gap: 4.16vw;
        padding: 4.16vw 0;
    }
    .access_how_title {
        padding-left: 0.52083vw;
        padding-bottom: 0.52083vw;
        width: 35vw;
        max-width: 600px;
        gap: 0.52vw;
    }
    .access_how_txt01 {
        margin-top: 1.5625vw;
        font-size: clamp(12px, 0.83vw, 16px);
        line-height: clamp(18px, 1.3vw, 25px);
        padding-left: 0.260416vw;
        width: 35vw;
        max-width: 600px;
    }
    .access_how_txt02 {
        font-size: clamp(12px, 0.78125vw, 15px);
        line-height: clamp(18px, 1.3vw, 25px);
        margin-top: 1.5625vw;
        padding-left: 0.260416vw;
        width: 35vw;
        max-width: 600px;
    }
    .access_how_txt02 li {
        margin-bottom: 0.2vw;
    }
    .access_how_txt02 li span{
        width: 7.9vw;
    }
    .access_how_gr_en .access_how_txt02 {
        font-size: clamp(12px, 0.83vw, 16px);
    }
    .access_how_gr01 .access_how_txt02 {
        margin-top: 4.6875vw;
    }
    .access_how_gr02 .access_how_txt02 {
        margin-top: 2.604vw;
    }
    .access_how_center_title {
        font-size: clamp(13px, 0.83vw, 16px);
    }
    .access_how_y {
        font-size: clamp(12px, 0.78125vw, 15px);
        line-height: clamp(16px, 1.1458vw, 22px);
    }
    .access_how_gr_en .access_how_y {
        font-size: clamp(12px, 0.83vw, 16px);
    }
    .access_how_gr01 .access_how_txt02 ul {
        font-size: clamp(12px, 0.78125vw, 15px);
        line-height: clamp(16px, 1.25vw, 24px);
    }
    .access_how_txt02 ul {
        font-size: clamp(12px, 0.78125vw, 15px);
        line-height: clamp(16px, 1.25vw, 24px);
    }
    .access_how_gr_en .access_how_txt02 ul {
        font-size: clamp(12px, 0.83vw, 16px);
    }
    .access_how_car_txt {
        font-size: clamp(12px, 0.78125vw, 15px);
        line-height: clamp(16px, 1.1458vw, 22px);
        margin-bottom: 1.6vw;
    }
    .access_how_gr_en .access_how_car_txt {
        font-size: clamp(12px, 0.83vw, 16px);
    }

    .access_map {
        width: 84vw;
        max-width: 1400px;
        height: 31.25vw;
        margin: 3.6458vw auto 4.6875vw auto;
    }
    .access_map_link {
        width: 21.875vw;
        height: 4.16vw;
        margin: 4.6875vw auto 8.33vw auto;
    }
    .access_map_link p{
        font-size: 1.1458vw;
    }
}
@media(max-width: 1530px){
    .access_how_txt02 li span{
        width: 125px;
    }
}
@media(max-width: 768px){
    .access_sec {
        margin: 8rem auto;
    }
    .access_txt {
        line-height: 5rem;
    }
    .access_how_bk {
        padding: 12rem 0;
    }
    .access_how_gr {
        width: 95%;
        gap: 2rem;
        padding: 0 0 8rem 0;
        font-size: 2.2rem;
        margin: 0 auto;
        flex-direction: column;
    }
    .access_how_title {
        padding-left: 2rem;
        padding-bottom: 1rem;
        width: 90%;
        margin: 10rem auto 0 auto;
        gap: 1rem;
    }
    .access_how_txt01 {
        height: auto;
        margin-top: 3rem;
        padding: 0 1rem;
        width: 90%;
        margin: 20px auto;
    }
    .access_how_gr_en .access_how_txt01 {
        height: auto;
    }
    .access_how_car_txt {
        margin-bottom: 2.5rem;
    }
    .access_how_txt02 {
        margin-top: 4rem;
        padding: 0 1rem;
        width: 90%;
        margin: 20px auto;
    }
    .access_how_txt02 li {
        margin-bottom: 0.5rem;
    }
    .access_how_ul_left {
        margin-left: 0;
    }

    .access_map {
        width: 90%;
        max-width: 760px;
        height: 90rem;
        margin: 10rem auto 12rem auto;
    }
    .access_map_link {
        width: 56rem;
        height: 12rem;
        margin: 8rem auto 12rem auto;
    }
    .access_map_link p{
        font-size: 3rem;
    }
}



/* 
 * ブログ・季節のご案内
 */
.news_title {
    font-size: 38px;
    text-align: center;
    padding: 200px 0 80px 0;
    color: #333333;
}
.news_title_season {
    padding: 160px 0 40px 0;
}
.news_post_sec {
    width: 1290px;
    margin: 40px auto 220px auto;
    color: #333333;
}
.news_post_title {
    position: relative;
    font-size: 32px;
    padding-bottom: 20px;
}
.news_post_title::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333333;
}
.news_post_date {
    text-align: right;
    padding: 15px 0 0 0;
}
.news_post_title_season {
    position: relative;
    width: 1210px;
    margin: 0 auto;
}
.news_post_title_season .news_post_title {
    width: 660px;
    margin: 0;
    font-size: 30px;
    line-height: 43px;
    padding-top: 100px;
    padding-bottom: 0;
}
.news_post_sec .news_post_title_season .news_post_title {
    padding-top: 80px;
}
.news_post_title_season .news_post_title::after {
    content: none;
}
.news_post_title_season .news_post_date {
    text-align: left;
    position: absolute;
    bottom: 0;
    left: 700px;
}

.news_writer_gr {
    font-family: "yu-gothic-pr6n", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    width: 1280px;
    margin: 0 auto 80px  auto;
    display: flex;
    align-items: center;
    gap: 40px;
    color: #333333;
}
.news_writer_gr_en {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.news_writer {
    font-size: 26px;
    font-weight: 700;
    color: #a29061;
}
.news_writer_outlet {
    font-size: 16px;
}
.news_writer, .news_writer_outlet {
    margin: 0;
}
.news_thumbnail {
    width: 950px;
    margin: 40px auto 0 auto;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.news_thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.news_thumbnail_season {
    width: 1270px;
    margin: 0 auto;
}
.news_thumbnail_season img{
    width: 100%;
}
.single_season_swiper_img {
    width: 1270px;
    margin: 0 auto;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.single_season_swiper_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.topGallerySwiper {
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
}
.single_season_swiper_control {
    position: relative;
    height: 40px;
}
.single_season_swiper-next,
.single_season_swiper-prev,
.single_season_swiper-pagination {
    color: #333333;
    position: absolute;
    top: auto;
    transform: translateX(-50%);
}
.single_season_swiper-next {
    bottom: -10px;
    left: calc(50% + 50px);
}
.single_season_swiper-prev {
    bottom: -10px;
    left: calc(50% - 50px);
}
.single_season_swiper-pagination {
    width: auto;
    bottom: 0;
    left: 50%;
}
.single_season_swiper-next:after, .single_season_swiper-prev:after {
    font-size: 17px;
}

.news_contents {
    width: 950px;
    margin: 120px auto 10px auto;
}
.news_contents_season {
    width: 1210px;
    margin: 50px auto 10px auto;
}
.news_contents p{
    font-size: 16px;
    line-height: 30px;
    margin: 15px auto;
}
.news_contents_season p{
    width: 820px;
    margin: 40px auto 20px 0;
}
.news_contents_en p{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.news_contents .wp-block-heading{
    font-family: "yu-gothic-pr6n", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #a29061;
    margin: 60px auto 20px auto;
}
.news_contents_en .wp-block-heading{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.news_contents .wp-block-image {
    width: 100%;
    margin: 100px auto 20px auto;
}
.news_contents .wp-block-image img{
    width: 100%;
}
.news_contents .wp-block-buttons {
    margin: 120px auto;
    justify-content: center;
}
.news_contents .wp-block-buttons a{
    border-radius: 0;
    width: 100%;
    padding: 20px 60px;
    font-size: 20px;
    transition: all .3s;
}
.news_contents .wp-block-buttons:hover a{
    background-color: #a29061;
    color: #ece9df;
}

.news_btn_all {
    font-size: 22px;
    text-align: center;
    margin: 220px auto 180px auto;
    padding-top: 80px;
    border-top: solid 1px #333333;
}
.news_btn_all a{
    position: relative;
    transition: all .3s;
    color: #333333;
    padding-bottom: 10px;
}
.news_btn_all a::after{
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #333333;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform .3s;
}
.news_btn_all a:hover::after {
    transform-origin: center top;
    transform: scale(1, 1);
}
@media(max-width: 1920px){
    .news_title {
        font-size: clamp(28px, 1.979vw, 38px);
        padding: 14vw 0 4vw 0;
    }
    .news_title_season {
        padding: 8.3vw 0 2.08vw 0;
    }
    .news_post_sec {
        width: 67.1875vw;
        margin: 2.0833vw auto 11.4583vw auto;
    }
    .news_post_title {
        font-size: clamp(20px, 1.4583vw, 28px);
        padding-bottom: 1.0416vw;
    }
    .news_post_date {
        padding: 0.78125vw 0 0 0;
    }
    .news_post_title_season {
        width: 63vw;
    }
    .news_post_title_season .news_post_title {
        width: 38vw;
        font-size: 1.5625vw;
        line-height: 2.24vw;
        padding-top: 5.208vw;
    }
    .news_post_sec .news_post_title_season .news_post_title {
        padding-top: 4.16vw;
    }
    .news_post_title_season .news_post_date {
        left: 38.5vw;
    }

    .news_writer_gr {
        width: 66.66vw;
        margin: 0 auto 4.16vw  auto;
        gap: 2.0833vw;
    }
    .news_writer {
        font-size: 1.35416vw;
    }
    .news_writer_outlet {
        font-size: clamp(13px, 0.83vw, 16px);
    }
    .news_thumbnail {
        width: clamp(480px, 60vw, 950px);
    }
    .news_thumbnail_season {
        width: 67.1875vw;
    }
    .single_season_swiper_img {
        width: 67.1875vw;
    }
    .single_season_swiper_control {
        height: 30px;
        margin-bottom: 4rem;
    }
    .single_season_swiper-next:after, .single_season_swiper-prev:after {
        font-size: 15px;
    }

    .news_contents {
        width: clamp(480px, 60vw, 950px);
        margin: 6.25vw auto 0.5208vw auto;
    }
    .news_contents_season {
        width: 63vw;
        margin: 2.6041vw auto 0.52vw auto;
    }
    .news_contents p{
        font-size: clamp(13px, 0.83vw, 16px);
        line-height: clamp(22px, 1.5vw, 30px);
        margin: 0.8vw auto;
    }
    .news_contents_season p{
        width: 42.7vw;
        margin: 2.083vw auto 1.04vw 0;
    }
    .news_contents .wp-block-heading{
        font-size: clamp(16px, 1.35416vw, 26px);
        margin: 3.125vw auto 1.0416vw auto;
    }
    .news_contents .wp-block-image {
        margin: 5.2083 auto 1.0416vw auto;
    }
    .news_contents .wp-block-buttons {
        margin: 6.25vw auto;
    }
    .news_contents .wp-block-buttons a{
        padding: 1.0416vw 3.125vw;
        font-size: 1.0416vw;
    }

    .news_btn_all {
        font-size: 1.14583vw;
        margin: 11.458vw auto 9.375vw auto;
        padding-top: 4.16vw;
    }
    .news_btn_all a{
        padding-bottom: 0.52083vw;
    }
    .news_btn_all a::after{
        bottom: -0.26vw;
    }
}
@media(max-width: 768px){
    .news_title {
        font-size: 6rem;
        padding: 28rem 0 8rem 0;
    }
    .news_title_season {
        padding: 24rem 0 4rem 0;
    }

    .news_post_sec {
        width: 90%;
        max-width: 600px;
        margin: 4rem auto 20rem auto;
    }
    .news_post_title {
        font-size: 4.5rem;
        padding-bottom: 3rem;
        line-height: 6rem;
    }
    .news_post_date {
        padding: 1rem 0 0 0;
    }
    .news_post_title_season {
        width: 90%;
    }
    .news_post_title_season .news_post_title {
        width: 100%;
        font-size: 4.5rem;
        line-height: 6rem;
        padding-top: 4rem;
    }
    .news_post_sec .news_post_title_season .news_post_title {
        padding-top: 3.5rem;
    }
    .news_post_title_season .news_post_date {
        position: relative;
        left: 0;
    }

    .news_writer_gr {
        width: 100%;
        margin: 0 auto 10rem auto;
        gap: 4rem;
    }
    .news_writer {
        font-size: 2.6rem;
    }
    .news_writer_outlet {
        font-size: 2.2rem;
    }
    .news_thumbnail {
        width: 90%;
    }
    .news_thumbnail_season {
        width: 100%;
    }
    .single_season_swiper_img {
        width: 100%;
    }

    .news_contents {
        width: 95%;
        margin: 12rem auto 8rem auto;
    }
    .news_contents_season {
        width: 90%;
    }
    .news_contents p{
        font-size: 3rem;
        line-height: 4.8rem;
        margin: 4rem auto 2rem auto;
    }
    .news_contents_season p{
        width: 100%;
    }
    .news_contents .wp-block-heading{
        font-size: 3.8rem;
        margin: 6rem auto 2rem auto;
    }
    .news_contents .wp-block-image {
        margin: 10rem auto 2rem auto;
    }
    .news_contents .wp-block-buttons {
        margin: 14rem auto;
    }
    .news_contents .wp-block-buttons a{
        padding: 2rem 6rem;
        font-size: 2.6rem;
    }

    .news_btn_all {
        font-size: 2.8rem;
        margin: 22rem auto 28rem auto;
        padding-top: 8rem;
    }
    .news_btn_all a{
        padding-bottom: 10px;
    }
    .news_btn_all a::after{
        bottom: -5px;
    }
}


/* アーカイブページ */
.news_archive_sec{
    display: flex;
    flex-wrap: wrap;
    gap: 80px 60px;
    margin: 40px auto;
    width: 1200px;
}
.news_parts {
    width: 360px;
    transition: all .3s;
}
.news_parts:hover {
    opacity: 0.6; 
}
.news_parts_thumbnail img{
    width: 360px;
    height: 270px;
    object-fit: cover;
}

.news_parts_txt {
    padding: 10px 4px;
}
.news_parts_title {
    font-size: 18px;
    line-height: 22px;
    margin: 10px 0;
    color: #333333;
}
.news_parts_meta {
    font-size: 13px;
    color: #333333;
}
.news_parts_writer{
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    color: #a29061;
    margin-left: 20px;
}
.news_pagination {
    text-align: center;
    margin: 80px auto 200px auto;
    color: #333333;
}
.news_pagination .page-numbers {
    display: inline-block;
    margin: 0 10px;
}
@media(max-width: 1920px){
    .news_archive_sec{
        gap: 4.16vw 3.125vw;
        margin: 2.083vw auto;
        width: 62.5vw;
    }
    .news_parts {
        width: 18.75vw;
    }
    .news_parts_thumbnail img{
        width: 18.75vw;
        height: 14.0625vw;
    }

    .news_parts_txt {
        padding: 0 0.2vw;
    }
    .news_parts_title {
        font-size: clamp(14px, 0.9375vw, 18px);
        line-height: clamp(20px, 1.875vw, 24px);
        margin: 0;
    }
    .news_parts_meta {
        font-size: 10px;
    }
    .news_parts_writer{
        font-size: 13px;
        letter-spacing: -0.5px;
        margin-left: 5px;
    }
    .news_pagination {
        margin: 4.166vw auto 10.416vw auto;
    }
}
@media(max-width: 768px){
    .news_archive_sec{
        flex-direction: column;
        align-items: center;
        gap: 12rem 0;
        margin: 4rem auto;
        width: 90%;
    }
    .news_parts {
        width: 62rem;
    }
    .news_parts_thumbnail {
        text-align: center;
    }
    .news_parts_thumbnail img{
        width: 60rem;
        height: 45rem;
    }

    .news_parts_txt {
        padding: 0 4px;
    }
    .news_parts_title {
        font-size: 18px;
        line-height: 22px;
        margin: 10px 0;
    }
    .news_parts_meta {
        font-size: 13px;
    }
    .news_parts_writer{
        font-size: 15px;
        margin-left: 15px;
    }
    .news_pagination {
        margin: 80px auto 200px auto;
    }
}



/* オリジナルブロック */
/* 画像横並び */
.blog_block_twoimg_gr {
    display: flex;
    gap: 1vw;
    margin: 40px auto 20px auto;
}
.blog_block_twoimg {
    aspect-ratio: 4/3;
    overflow: hidden;
    width: 100%;
}
.blog_block_twoimg img{
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.two-images-wrapper {
    display: flex;
    gap: 20px;
    width: 90%;
    max-width: 840px;
    margin: 20px auto;
}
.image-item {
    flex: 1;
    text-align: center;
}
.image-item img{
    aspect-ratio: 4/3;
    overflow: hidden;
    object-fit: cover;
}
@media(max-width: 1920px){
    .blog_block_twoimg_gr {
        margin: 2.083vw auto 1.0416vw auto;
    }
}
@media screen and (max-width: 768px) {
    .blog_block_twoimg_gr {
        flex-direction: column;
        gap: 2rem;
        margin: 4rem auto 8rem auto;
    }
}



/* インフォメーション */
.blog_block_info {
    font-size: 20px;
    font-weight: 700;
    line-height: 40px;
    font-family: "yu-gothic-pr6n", "游ゴシック", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    margin: 40px auto 20px auto;
}
.news_contents_en .blog_block_info{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.information-block-editor {
    width: 90%;
    max-width: 840px;
    margin: 20px auto;
}
@media(max-width: 1920px){
    .blog_block_info {
        font-size: clamp(13px, 1.04vw, 20px);
        line-height: clamp(26px, 2.083vw, 40px);
        margin: 2.083vw auto 1.0416vw auto;
    }
}
@media screen and (max-width: 768px) {
    .blog_block_info {
        font-size: 2.6rem;
        line-height: 4.4rem;
        margin: 4rem auto 8rem auto;
    }
}



/* メニュー */
.menu-block {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 40px auto 80px auto;
}
.menu-block-left {
    width: 760px;
}
.menu-block-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 32px;
    margin-bottom: 10px;
}
.menu-block-txt {
    font-size: 16px;
    line-height: 32px;
}
.news_contents_en .menu-block-title, .news_contents_en .menu-block-txt{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.menu-block-right {
    aspect-ratio: 4/3;
    overflow: hidden;
    width: 300px;
}
.menu-block-right img{
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.menu-block-editor {
    width: 90%;
    max-width: 840px;
    margin: 20px auto;
}
.menu-block-right img{
    aspect-ratio: 4/3;
    overflow: hidden;
    object-fit: cover;
}
@media(max-width: 1920px){
    .menu-block {
        margin: 2.083vw auto 4.16vw auto;
    }
    .menu-block-left {
        width: 39.583vw;
    }
    .menu-block-title {
        font-size: clamp(13px, 0.83vw, 16px);
        line-height: clamp(26px, 1.66vw, 32px);
        margin-bottom: 0.52vw;
    }
    .menu-block-txt {
        font-size: clamp(13px, 0.83vw, 16px);
        line-height: clamp(22px, 1.66vw, 32px);
    }
    .menu-block-right {
        width: 15.625vw;
    }
}
@media screen and (max-width: 768px) {
    .menu-block {
        flex-direction: column-reverse;
        gap: 2rem;
        margin: 4rem auto 8rem auto;
    }
    .menu-block-left {
        width: 100%;
    }
    .menu-block-title {
        font-size: 2.4rem;
        line-height: 4rem;
    }
    .menu-block-txt {
        font-size: 2.4rem;
        line-height: 4rem;
    }
    .menu-block-right {
        width: 100%;
    }
}


/* 
 * faq
 */
.faq_fv {
    width: 100vw;
    height: 580px;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
}
.faq_fv img{
    width: 100vw;
    object-fit: cover;
    object-position: center;
}
.faq_main_title {
    margin: 100px auto;
    color: #333333;
    text-align: center;
}
.faq_main_title_main {
    font-size: 48px;
}
.faq_main_title_sub {
    font-size: 18px;
}

.faq {
    margin: 120px auto;
}
.faq_title {
    position: relative;
    font-size: 21px;
    color: #333333;
    text-align: center;
    margin: 120px 0 70px 0;
    padding-bottom: 30px;
}
.faq_title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 1px;
    background-color: #333333;
}
.font_en_sans .faq_title {
    font-size: 23px;
}

.faq_sec {
    background-color: #f5f5f5;
}
.accordion-area {
    list-style: none;
    width: 1120px;
    margin: 0 auto;
    padding: 80px 0;
    color: #333333;
}
.accordion-area li{
    border-bottom: solid #333333 1px;
}
.accordion-area_li1st {
    border-top: solid #333333 1px;
}
.faq_contents {
    display: flex;
    align-items: flex-start;
}
.faq_head {
    font-size: 30px;
    padding-right: 20px;
}
.faq_a .faq_head {
    padding-left: 3px;
}
.faq_txt {
    font-size: 18px;
    line-height: 28px;
    padding-top: 14px;
}
.font_en_sans .faq_txt {
    padding-top: 10px;
}
.faq_q {
    position: relative;
    cursor: pointer;
    padding: 5px 10px;
    transition: all .5s ease;
}
.font_en_sans .faq_q {
    padding: 8px 10px 10px 10px;
}
.faq_q::before,
.faq_q::after{
    position: absolute;
    content:'';
    width: 14px;
    height: 2px;
    background-color: #333333;
    z-index: 2;
}
.faq_q::before{
    top: 50%;
    right: 32px;
    transform: rotate(90deg);
}
.faq_q::after{
    top: 50%;
    right: 32px;
    transform: rotate(0deg);
}
.faq_q.close::before{
    transform: rotate(45deg);
}
.faq_q.close::after{
    transform: rotate(135deg);
}
.faq_a {
    display: none;
    color: #333333;
    background: #ffffff;
    margin: 0 0 10px 0;
    padding: 10px 50px 10px 12px;
}
@media(max-width: 1920px){
    .faq_fv {
        height: 30vw;
    }
    .faq_main_title {
        margin: 5.2vw auto;
    }
    .faq_main_title_main {
        font-size: 2.5vw;
    }
    .faq_main_title_sub {
        font-size: clamp(13px, 0.9375vw, 18px);
    }

    .faq {
        margin: 6.25vw auto;
    }
    .faq_title {
        font-size: clamp(15px, 1.09vw, 21px);
        margin: 6.25vw 0 3.6458vw 0;
        padding-bottom: 1.5625vw;
    }
    .faq_title::after {
        bottom: -0.26vw;
        width: 3.6458vw;
    }
    .font_en_sans .faq_title {
        font-size: clamp(17px, 1.2vw, 23px);
    }

    .accordion-area {
        width: 60vw;
        padding: 4.16vw 0;
    }
    .faq_head {
        font-size: 1.5625vw;
        padding-right: 1.0416vw;
    }
    .faq_a .faq_head {
        padding-left: 0.156vw;
    }
    .faq_txt {
        font-size: clamp(13px, 0.9375vw, 18px);
        line-height: clamp(18px, 1.458vw, 28px);
        padding-top: 14px;
    }
    .font_en_sans .faq_txt {
        padding-top: 8px;
    }
    .faq_q {
        padding: 0.26vw 0.52vw;
    }
    .font_en_sans .faq_q {
        padding: 0.4vw 0.52vw 0.52vw 0.52vw;
    }
    .faq_q::before,
    .faq_q::after{
        height: 0.1vw;
    }
    .faq_q::before{
        right: 1.66vw;
    }
    .faq_q::after{
        right: 1.66vw;
    }
    .faq_a {
        margin: 0 0 0.52vw 0;
        padding: 0.1vw 2.6vw 0.8vw 0.625vw;
    }
}
@media screen and (max-width: 1200px) {
    .faq_txt {
        padding-top: 10px;
    }
    .font_en_sans .faq_txt {
        padding-top: 4px;
    }
}
@media screen and (max-width: 900px) {
    .faq_txt {
        padding-top: 6px;
    }
    .font_en_sans .faq_txt {
        padding-top: 2px;
    }
}
@media screen and (max-width: 768px) {
    .faq_fv {
        height: 60rem;
        padding-top: 15rem;
    }
    .faq_fv img{
        height: 60rem;
    }
    .faq_main_title {
        margin: 8rem auto;
    }
    .faq_main_title_main {
        font-size: 6rem;
    }
    .faq_main_title_sub {
        font-size: 3rem;
    }

    .faq {
        margin: 14rem auto;
    }
    .faq_title {
        font-size: 3.5rem;
        margin: 14rem 0 6rem 0;
        padding-bottom: 3rem;
    }
    .faq_title::after {
        width: 12rem;
    }
    .font_en_sans .faq_title {
        font-size: 3.6rem;
    }

    .accordion-area {
        width: 92%;
        padding: 12rem 0;
    }
    .faq_head {
        font-size: 4.5rem;
        padding-right: 2rem;
    }
    .faq_a .faq_head {
        padding-left: 0.5rem;
    }
    .faq_txt {
        font-size: 2.8rem;
        line-height: 3.8rem;
        padding-top: 2.8rem;
    }
    .font_en_sans .faq_txt {
        padding-top: 1.6rem;
    }
    .faq_q {
        padding: 1rem 5rem 1rem 1.5rem;
    }
    .font_en_sans .faq_q {
        padding: 2rem 5rem 2rem 1.5rem;
    }
    .faq_q::before,
    .faq_q::after{
        width: 14px;
        height: 1px;
    }
    .faq_q::before{
        right: 8px;
    }
    .faq_q::after{
        right: 8px;
    }
    .faq_a {
        margin: 0 0 10px 0;
        padding: 3rem 3rem 3rem 1.5rem;
    }

}



/* 
 * 問い合わせ
 */
.contact_title {
    padding: 160px 0 120px 0;
    color: #333333;
    text-align: center;
}
.contact_title_main {
    font-size: 26px;
}
.contact_title_sub {
    font-size: 18px;
}

.page_contact_intro {
    width: 800px;
    margin: 0 auto 50px auto;
    color: #333333;
    font-size: 15px;
    line-height: 22px;
    text-align: center;
}

.page_contact_form {
    width: 100vw;
    background-color: #f5f5f5;
    padding: 100px 0;
    color: #333333;
}
.contact_form {
    width: 95%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 80px 0;
    background-color: #ffffff;
}
.contact_form_tr {
    width: 95%;
    max-width: 800px;
    margin: 40px auto;
    padding: 3px 10px;
}
.contact_form_th {
    font-size: 15px;
    font-weight: 700;
}
.contact_form_th_note {
    font-size: 13px;
    font-weight: 400;
    line-height: 22px;
}
.contact_form_th p.contact_form_th_note_txtarea {
    margin-bottom: 5px;
}
.contact_form_th span{
    color: #ff0000;
}
.contact_form_td {
    width: 100%;
    height: auto;
    border: solid 1px #333333;
}
.contact_form_th p, .contact_form_td p{
    margin: 0;
}
.contact_form_td_radio.contact_form_td {
    border: none;
    margin-top: 10px;
}
.wpcf7-radio .wpcf7-list-item {
    margin: 2px 20px 2px 0px;
}
button, input, select, textarea {
    border: none;
    background-color: transparent;
}
.contact_privacy_note {
    width: 95%;
    max-width: 800px;
    font-size: 13px;
    margin: 0 auto;
    padding-left: 10px;
}

input,
textarea {
    font-size: 16px;
}
input[type="text"],
input[type="tel"],
input[type="email"] {
    width: 90%;
    padding: 7px 2%;
}
input[type="submit"] {
    cursor: pointer;
}
textarea {
    width: 90%;
    height: 100px;
    padding: 10px 2% 0;
    resize: none;
    line-height: 24px;
}
.wpcf7 input::placeholder { 
    color: #cacaca;
}

.form_submit {
    margin: 80px auto 20px auto;
    text-align: center;
    width: 260px;
}
.form_submit p{
    margin: 0;
}
.form_submit input{
    position: relative;
    width: 260px;
    height: 46px;
    transition-duration: 0.5s;
    display: block;
    border: solid 1px #3e3a39;
    transition-duration: 0.5s;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
    background-color: #3e3a39;
}
div.wpcf7 .wpcf7-spinner {
    display: block;
}
.has-text-align-center {
    margin-bottom: 160px;
}

.wpcf7 form.sent .wpcf7-response-output {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto 80px auto;
}

@media(max-width: 1920px){
    .contact_title {
        padding: 12vw 0 6.25vw 0;
    }
    .contact_title_main {
        font-size: clamp(20px, 1.354vw, 26px);
    }
    .contact_title_sub {
        font-size: clamp(13px, 0.9375vw, 18px);
    }

    .page_contact_intro {
        width: 90%;
        max-width: 780px;
        margin: 0 auto 2.6vw auto;
    }

    .page_contact_form {
        padding: 5.2vw 0;
    }
    .contact_form {
        padding: 4.16vw 0;
    }
    .contact_form_tr {
        margin: 2.08vw auto;
    }
    .contact_form_th {
        font-size: 15px;
    }
    .contact_form_th_note {
        font-size: 13px;
        line-height: 22px;
    }
}
@media screen and (max-width: 768px) {
    .page_contact_intro {
        padding: 6rem 0 4rem 0;
        font-size: 2.5rem;
        text-align: left;
    }
    .page_contact_intro_main {
        width: 100%;
        margin: 0 auto 6rem auto;
        font-size: 3rem;
        line-height: 5rem;
    }
    .page_contact_intro_note {
        width: 80%;
        font-size: 2.4rem;
        line-height: 4rem;
    }

    .page_contact_form {
        padding: 4rem 0;
    }
    .contact_form {
        max-width: none;
    }
    .contact_form_tr {
        flex-direction: column;
        align-items: flex-start;
        margin: 4rem auto;
        padding: 0 2rem;
    }
    .contact_form_th {
        width: auto;
        font-size: 2.4rem;
    }
    .contact_form_th p, .contact_form_td p{
        padding: 0.5rem 0;
    }
    .wpcf7-radio .wpcf7-list-item {
        margin-top: 0.5rem;
        font-size: 2.2rem;
    }

    input,
    textarea {
        font-size: 2.5rem;
    }
    input[type="text"],
    input[type="tel"],
    input[type="email"] {
        padding: 0.5rem 2%;
    }
    textarea {
        height: 25rem;
        padding: 1rem 4% 0;
        line-height: 4rem;
    }
    .wpcf7-form-control wpcf7-radio {
        display: block;
    }

    .form_submit {
        margin: 14rem auto 1rem auto;
        width: 280px;
    }
    .form_submit input{
        width: 280px;
        height: 56px;
        border-radius: 30px;
        border: solid 1px #474747;
        font-size: 16px;
    }
    div.wpcf7 .wpcf7-spinner {
        display: block;
    }
    .has-text-align-center {
        margin-bottom: 24rem;
    }
}
@media screen and (max-width: 540px) {
    .contact_title {
        padding: 25rem 0 8rem 0;
    }
    .contact_title_main {
        font-size: 5rem;
    }
    .contact_title_sub {
        font-size: 2.2rem;
    }

    .page_contact_intro {
        margin: 0 auto 7rem auto;
        line-height: 4rem;
    }

    .page_contact_intro {
        padding: 6rem 0 4rem 0;
    }
    .page_contact_intro_main {
        font-size: 3.5rem;
        line-height: 6rem;
    }
    .page_contact_intro_note {
        font-size: 2.8rem;
    }

    .contact_form_th {
        font-size: 2.8rem;
    }
    .wpcf7-radio .wpcf7-list-item {
        font-size: 2.8rem;
    }

    input,
    textarea {
        font-size: 3rem;
    }
}






/* 
 * 404
 */
.error_404 {
    margin: 0 auto 140px auto;
    padding-top: 160px;
    color: #333333;
    text-align: center;
}
.error_404_title {
    font-size: 36px;
    margin-bottom: 80px;
}
.error_404_txt {
    font-size: 17px;
    margin-bottom: 100px;
}
.error_404_link {
    position: relative;
    width: 360px;
    height: 60px;
    background-color: #333333;
    color: #ece9df;
    margin: 60px auto;
    transition: all .3s;
}
.error_404_link a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.error_404_link p{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    margin: 0;
}
.error_404_link:hover{
    background-color: #a29061;
    color: #ece9df;
}
@media(max-width: 768px){
    .error_404 {
        width: 90%;
    }
    .error_404_title {
        font-size: 26px;
    }
    .error_404_txt {
        font-size: 16px;
    }
    .error_404_link {
        width: 100%;
        max-width: 360px;
        margin: 8rem auto 1rem auto;
    }
}



/* 
 * footer
 */
footer {
    position: relative;
    z-index: 2;
    width: 100vw;
    height: 730px;
    background-color: #333333;
    padding: 110px 0;
    font-family: "noto-sans-display", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.footer01 {
    display: flex;
    justify-content: space-between;
    width: 1390px;
    margin: 0 auto 30px auto;
}
.footer_tel_gr {
    color: #a29061;
    padding-left: 20px;
    margin-bottom: 80px;
}
.footer_tel {
    font-size: 43px;
    font-weight: 400;
}
.footer_tel span{
    font-size: 31px;
}
.footer_tel a{
    color: #a29061;
}
.footer_tel_txt {
    font-size: 20px;
    letter-spacing: 1.5px;
}
.footer_link {
    position: relative;
    border: solid 1.5px #ffffff;
    width: 260px;
    height: 46px;
    text-align: center;
    margin: 10px auto 20px 0;
    transition: all .3s;
}
.footer_link a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.footer_link p{
    margin: 10px auto;
}
.footer_link:hover {
    background-color: #a29061;
    color: #ece9df;
}

.footer_outlet_gr {
    padding-left: 20px;
}
.footer_outlet_title {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 10px;
}
.footer_menu {
    display: flex;
    gap: 190px;
}
.footer_menu ul {
    padding-left: 0;
    font-size: 18px;
    font-weight: 300;
}
.footer_menu li {
    padding-bottom: 20px;
}
.footer_menu li a{
    color: #ece9df;
}

.footer_sns_gr {
    margin: 60px 20px 20px auto;
}
.footer_sns_txt {
    font-size: 21px;
    font-weight: 500;
    margin-bottom: 30px;
}
.footer_sns_txt_jp {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 30px;
}
.footer_sns_txt_a {
    margin-top: -20px;
}
.footer_sns_txt_a a{
    color: #ece9df;
    text-decoration: underline;
}
.footer_sns_logo_gr {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-bottom: 30px;
}
.footer_sns_parts {
    position: relative;
}
.footer_sns_parts a{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}
.footer_sns_parts_instagram img{
    width: 40px;
}
.footer_sns_parts_x img{
    width: 35px;
}
.footer_sns_parts_facebook img{
    width: 44px;
}

.footer_line {
    width: 1390px;
    height: 1px;
    background-color: #ffffff;
    margin: 60px auto;
}

.footer02 {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 1390px;
    margin: 0 auto;
    padding: 0 20px;
}
.footer02_logo {
    height: 60px;
}
.footer02 p{
    font-size: 18px;
    letter-spacing: 2px;
    margin: 5px auto;
}
.footer02 a{
    color: #ece9df;
}
.footer02_logo img{
    width: 220px;
}

.footer03 {
    margin: 80px auto 0 auto;
}
.footer03 ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px 0;
    padding: 0;
}
.footer03 li{
    font-size: 14px;
}
.footer03 ul li:after {
    content: "  ｜  ";
}
.footer03 ul li.copyright:after {
    content: "";
}
.footer03 a, .copyright{
    color: #ece9df;
    padding: 0 10px;
}
@media(max-width: 1920px){
    footer {
        /* height: 38.02vw; */
        height: auto;
        padding: 5.73vw 0;
    }
    
    .footer01 {
        width: 72.39vw;
        margin: 0 auto 1.5625vw auto;
    }
    .footer_tel_gr {
        padding-left: 1.04vw;
        margin-bottom: 4.166vw;
    }
    .footer_tel {
        font-size: 2.24vw;
    }
    .footer_tel span{
        font-size: 1.6vw;
    }
    .footer_tel_txt {
        font-size: 1.04vw;
        letter-spacing: 0.078125vw;
    }
    .footer_link {
        border: solid 0.078125vw #ffffff;
        width: 13.54vw;
        height: 2.3958vw;
        margin: 0.52vw auto 1.04vw 0;
    }
    .footer_link p{
        margin: 0.52vw auto;
    }
    
    .footer02 {
        width: 72.39vw;
    }
    .footer_outlet_gr {
        padding-left: 1.04vw;
    }
    .footer_outlet_title {
        font-size: 1.09375vw;
        margin-bottom: 0.52vw;
    }
    .footer_menu {
        gap: 9.8958vw;
    }
    .footer_menu ul {
        font-size: clamp(14px, 0.9375vw, 18px);
    }
    .footer_menu li {
        padding-bottom: 1.04vw;
    }
    
    .footer_sns_gr {
        margin: 3.125vw 1.04vw 1.04vw auto;
    }
    .footer_sns_txt {
        font-size: 1.09375vw;
        margin-bottom: 1.3vw;
    }
    .footer_sns_txt_jp {
        font-size: 0.95vw;
        margin-bottom: 1.3vw;
    }
    .footer_sns_txt_a {
        margin-top: -0.8vw;
    }
    .footer_sns_logo_gr {
        gap: 2.08vw;
        margin-bottom: 1.3vw;
    }
    .footer_sns_parts_instagram img{
        width: 2.08vw;
    }
    .footer_sns_parts_x img{
        width: 1.923vw;
    }
    .footer_sns_parts_facebook img{
        width: 2.2916vw;
    }
    
    .footer_line {
        width: 72.39vw;
        height: 0.052vw;
        margin: 3.125vw auto;
    }
    
    .footer02 {
        width: 72.39vw;
        padding: 0 1.04vw;
    }
    .footer02 p{
        font-size: 1vw;
        letter-spacing: 0.1vw;
        margin: 0.78125vw auto;
    }
    .footer02_logo img{
        width: 11.458vw;
    }
    
    .footer03 {
        width: 72.39vw;
        margin: 4vw auto 0 auto;
    }
    .footer03 li{
        font-size: clamp(12px, 0.7vw, 14px);
    }
    .footer03 a, .copyright{
        padding: 0 10px;
    }
}
@media(max-width: 900px){
    .footer_link {
        width: 14vw;
        height: 3.4vw;
    }
    .footer_menu {
        gap: 20px;
    }
}
@media(max-width: 768px){
    footer {
        height: 100%;
        padding: 9rem 0;
    }
    
    .footer01 {
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }
    .footer_tel_gr {
        padding-left: 0.8rem;
        margin-bottom: 7rem;
    }
    .footer_tel {
        font-size: 5.5rem;
    }
    .footer_tel span{
        font-size: 3.8rem;
    }
    .footer_tel_txt {
        font-size: 2.8rem;
    }
    .footer_link {
        width: 44rem;
        height: 6rem;
        text-align: center;
        margin: 4rem 0;
    }
    .footer_link p{
        font-size: 2.5rem;
        margin: 1rem auto;
    }
    
    .footer_outlet_gr {
        padding-left: 0.8rem;
    }
    .footer_outlet_title {
        font-size: 3.2rem;
        margin-bottom: 4rem;
    }
    .footer_menu {
        flex-direction: column;
        gap: 0;
    }
    .footer_menu ul {
        margin: 0;
        padding-left: 0;
        font-size: 2.5rem;
    }
    .footer_menu li {
        padding-bottom: 3.5rem;
    }
    
    .footer_sns_gr {
        margin: 8rem 0 0 0;
    }
    .footer_sns_txt, .footer_sns_txt_jp {
        font-size: 2.5rem;
        margin-bottom: 2rem;
    }
    .footer_sns_txt_a {
        margin-top: -1rem;
    }
    .footer_sns_logo_gr {
        gap: 4rem;
        margin-bottom: 2rem;
    }
    .footer_sns_parts_instagram img{
        width: 6rem;
    }
    .footer_sns_parts_x img{
        width: 5.2rem;
    }
    .footer_sns_parts_facebook img{
        width: 6.4rem;
    }
    
    .footer_line {
        width: 90%;
        margin: 6rem auto 2.5rem auto;
    }
    
    .footer02 {
        align-items: flex-start;
        flex-direction: column;
        width: 90%;
        padding: 0;
        margin: 10rem auto;
    }
    .footer02 p{
        font-size: 2.5rem;
        letter-spacing: 0.2rem;
        margin: 2.5rem auto;
    }
    .footer02_logo img{
        width: 31rem;
    }
    .footer02_add {
        margin-bottom: 2rem;
    }
    .footer02_add p{
        margin: 0.5rem auto;
    }
    
    .footer03 {
        width: 90%;
        margin: 10rem auto;
    }
    .footer03 ul{
        flex-direction: column;
        gap: 1.2rem 0;
    }
    .footer03 li{
        font-size: 11.5px;
    }
    .footer03 ul li:after {
        content: "";
    }
    .footer03 a, .copyright{
        padding: 0;
    }
    .copyright {
        margin-top: 8rem;
    }
}
