@charset "UTF-8";
@import "base.css";
@import "fonts.css";

/*==========================================================================*/
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*==========================================================================*/
h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd { font-size: 2rem; -webkit-text-size-adjust: none; font-weight:400;}
*,::before,::after{box-sizing:border-box;outline: none;}
img {vertical-align: middle;max-width: 100%;flex-shrink: 0;height: auto;}
select { visibility: visible !important; }
a{transition:all ease 0.3s;color: #2C30DC;}
a:hover{opacity: .8;text-decoration: none;}
a[href^="tel:"] {word-break: keep-all;}
ol li{list-style: decimal;}

/*==========================================================================*/
/*                             Common-Setting                               */
/*==========================================================================*/
:root {
  --txt: #000000;
  --mcolor: #000000;
  --scolor: #00b0f0;
  --container: 1200px;

  --gray: #9fa0a0;
  --blue: #001e50;
  --red: red;

  --f-main: "VWTextWeb","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --f-VWHead: "VWHeadWeb","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  --f-sec: "Meiryo", "メイリオ", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Osaka", "MS PGothic", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

html{background:#fff;font-size: 62.5%;}
body{margin: 0;padding: 0;-webkit-text-size-adjust:none;min-width:32rem;color:var(--txt);background-color: #fff;font-family: var(--f-main);font-weight: 400;font-size: 1.6rem;line-height: 1.4;-webkit-font-smoothing: antialiased;}
input, button, textarea, select {font-family: inherit;}
table {width: 100%}
select, input, button, textarea {font-family: inherit;font-size: 100%;}
h1, h2, h3, h4, h5, h6, b, strong, .bold {font-weight: 700;}
h1,h2,h3,h4,h5,h6{line-height: 1.4;}
p,dd,dt,li,th,td,address{line-height: 1.45;letter-spacing: 0;}
p{margin: 0 0 1.5em;}
p:last-child{margin-bottom: 0}

.bold{font-weight: bold;}
.f-normal{font-weight: normal;}
.left{text-align:left}
.right{text-align: right;}
.auto{margin-left: auto; margin-right: auto;}
.link{text-decoration: underline;color: var(--mcolor);}

.mb10{margin-bottom:1rem}
.mb15{margin-bottom:1.5rem}
.mb20{margin-bottom:2rem}
.mb30{margin-bottom:3rem}

#wrapper{overflow:hidden;margin:0 auto}
.inner{width: var(--container);margin:0 auto;position:relative;max-width: 100%;padding: 0 15px;}

@media screen and (max-width: 768px) {.inner{padding: 0 1.5rem;}}
.en{font-family: var(--f-VWHead);}
.bold{font-weight: bold;}
.color1{color:var(--txt) !important}

.article a {
  text-decoration: underline;
}
.article a:hover {
  text-decoration: none;
}

/*============= HEADER ==============*/
header{position: relative; z-index:9;}
.h_box{width:100%;position: absolute;top: 9rem;left: 0;}
.h_box .inner {
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: center; 
}
#logo{width: fit-content;position: relative;}
#logo::before,#logo::after{content: '';position: absolute;height: 0.5rem;width: 100vw;background-color: #FFF;top: calc(50% - 0.3rem);}
#logo img{width: 17rem;}

/*============= MAIN ==============*/
main{position: relative;z-index: 2;}

.btn a{font-size: 36px;font-weight: bold;text-align: center;color: #FFF;display: flex;justify-content: center;align-items: center;background-color: var(--mcolor);width: 687px;height: 105px;max-width: 100%;border-radius: 999px;letter-spacing: -.1rem;}
.btn.center a{margin-left: auto;margin-right: auto;}

/* Main Visual */
.mv { position: relative; width: 100%; overflow: hidden; }

.f48{font-size: 4.8rem;}
.f40{font-size: 4.0rem;}
.f35{font-size: 3.5rem;}
.f34{font-size: 3.4rem;}
.f31{font-size: 3.1rem;}
.f30{font-size: 3rem;}
.f28{font-size: 2.8rem;}
.f27{font-size: 2.7rem;}
.f26{font-size: 2.6rem;}
.f24{font-size: 2.4rem;}
.f22{font-size: 2.2rem;}
.f18{font-size: 1.8rem;}
.f17{font-size: 1.7rem;}
.f16{font-size: 1.6rem;}
.f15{font-size: 1.5rem;}
.f12{font-size: 1.2rem;}
.f10{font-size: 1rem;}
.f9{font-size: 0.9rem;}
.fw200{font-weight: 200;}
.fw300{font-weight: 300;}
.fw500{font-weight: 500;}
h2,h3{font-family: var(--f-VWHead);}
.txt_u{text-decoration: underline;text-underline-offset: 2px;}

/*sec01*/
.sec01{padding: 8rem 0 10rem;}
.sec01_tt{font-size:8rem;font-weight: 700;line-height: 1.3;margin-bottom: 5rem;letter-spacing: 0.03em;}
.sec01 .hero-subtext {font-weight: 100;font-size: 4rem;display: block;}
.sec01_day {font-size:8rem;font-weight: 700;line-height: 1.3;margin-bottom: 8rem;letter-spacing: 0.03em;}
.day-note {font-weight: 400;font-size: 2.2rem;display: block;}

.sec01_img{margin-bottom: 10rem;}
.sec01_desc{margin-bottom: 8rem;}
.sec01_desc p{font-size: 2.2rem;letter-spacing: 0.0525em;font-weight: 400;line-height: 2;font-weight: 700;}
.sec01_desc p.sec01_desc_ttl {font-size:3rem;font-weight: 700;line-height: 1.3;margin-bottom: 5rem;letter-spacing: 0.03em;}
.sec_title {margin: 0rem 0 6rem;font-family: var(--f-sec);font-size: 4rem;letter-spacing: 0.1em;font-weight: 700;}

/* --- テーブル --- */
.sec_table01{width:100%;max-width:var(--container);margin:0 auto;border-collapse:collapse;margin-bottom:9rem;}
.sec_table01 th,.sec_table01 td{padding:2.0rem;text-align:left;vertical-align:top;border:none;font-weight:400;font-size:1.8rem;line-height:1.36;}
.sec_table01 th{width:135px;font-weight:700;padding:0rem 0rem 2rem 0rem;}
.sec_table01 tr:nth-child(3) th{letter-spacing:-0.03em;}
.sec_table01 td{padding:0rem 0rem 3rem 12.3rem;letter-spacing:0.01em;}
.sec_table01 td small{font-size:2rem;margin-top:0.5rem;font-weight:400;letter-spacing:-0.02em;}
.sec_table01 span{font-size:1.8rem;display: block;padding-left: 1.8rem;text-indent: -1.8rem;padding-top: 0.3rem;}

.scroll_box { width: 100%; }
.scroll_box img { width: 100%; height: auto; }
.scroll_note { display: none; }

/*お申し込みボタン*/
.btn_area{text-align:center;}
.btn_entry{display:inline-block;background-color:var(--blue);color:#fff;font-family:var(--f-main);font-size:3.6rem;font-weight:bold;padding:1.5rem 13rem;text-decoration:none;transition:opacity 0.3s ease;letter-spacing:0.1em;}
.btn_entry:hover{opacity:0.8;color:#fff;}
.sec_notes{max-width:var(--container);margin:6rem auto 0;}

/*注意事項*/
.notes_title{font-family:var(--f-main);font-size:2.2rem;margin-bottom:1.5rem;text-align:left;font-weight:700;line-height:0.926;}
.notes_list{list-style:none;padding:0;margin:0;}
.notes_list li{font-family:var(--f-main);font-size:1.8rem;padding-left:1.2em;text-indent:-1.2em;position:relative;line-height:1.364;letter-spacing:0.03em;}
.notes_list li::before{content:"※";}
.note {font-size: 1.8rem;font-weight: 400;}

/*sec02*/
.sec02 {padding: 0rem 0 10rem;}
.time_schedule.type01 {margin-bottom: 5rem;}
.time_schedule.type01 img {max-width: 800px;}
span.c-gray {color:var(--gray)}
.time_schedule_ttl {font-size: 2.8rem; font-weight: 700;line-height: 1;}
.time_schedule .sec02_img {margin-bottom: 0;}

/*sec03*/
.sec03 {padding: 0rem 0 10rem;}

/* --- 料理紹介ボックス全体 --- */
.dish_box { display: grid; justify-content: space-between; align-items: center; gap: 3rem; grid-template-columns: 1fr 1fr; }
.dish_ttl { font-size: 2.6rem; font-weight: bold; margin-bottom: 1.5rem; letter-spacing: 0.1em; }
.dish_name { font-size: 1.8rem; font-weight: bold; margin-bottom: 2rem; color: #333; }
.dish_text { font-size: 1.6rem; font-weight: normal; line-height: 1.8; letter-spacing: 0.05em; }
.dish_img img { width: 100%; height: auto; border-radius: 4px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }

/*sec04*/
.sec04 {padding: 0rem 0 10rem;}
.sec04 h3 {text-align: center;font-size: 2.6rem;font-weight: 700;margin-bottom: 3rem;}

.feature_grid { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 8.5rem; align-items: stretch; }
.grid_2 { justify-content: center; margin-bottom: 0; }
.feature_item { display: flex; flex-direction: column; background: #fff; }
.grid_3 .feature_item { width: calc((100% - 3.0rem) / 3); }
.grid_2 .feature_item { width: calc((100% - 1.5rem) / 2); max-width: 356px; }
.item_img { margin-bottom: 1.5rem; }
.item_img img { width: 100%; height: auto; display: block;}
.item_ttl { font-size: 1.6rem; font-weight: bold; line-height: 1.375; letter-spacing: 0; margin-bottom: 2.5rem; }
.item_txt { font-size: 1.6rem; font-weight: normal; line-height: 1.375; letter-spacing: 0; flex-grow: 1; }
.item_txt span { display: block; font-size: 1.2rem; margin-top: 3px; }

/*sec05*/
.sec05 h3 {text-align: center;font-size: 2.6rem;font-weight: 700;margin-bottom: 3rem;}
.sec05 { padding: 0rem 0 10rem; background-color: #fff; }
.artist_box { display: flex; justify-content: space-between; align-items: stretch; gap: 5.0rem; margin-bottom: 1rem; background-color:var(--blue); padding: 6.0rem; color: #fff; }
.artist_visual { width: 40%; }
.artist_visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.artist_info { width: 55%; display: flex; flex-direction: column; justify-content: center; }
.artist_label { font-size: 1.8rem; font-weight: bold; margin-bottom: 0; letter-spacing: 0.1em; }
.artist_name { font-size: 3.0rem; font-weight: bold; margin-bottom: 2.5rem; letter-spacing: 0.05em; line-height: 1.2; }
.artist_desc { font-size: 1.8rem; font-weight: normal; line-height: 1.7; margin-bottom: 4.5rem; letter-spacing: 0.05em; }
.artist_link a { display: flex; justify-content: center; align-items: center; width: 66.6%; height: 5.4rem; border: 1px solid #fff; color: #fff; font-size: 1.8rem; text-decoration: none; transition: all 0.3s; }
.artist_link a:hover { background-color: #fff; color: #000; }

/*sec06*/
.sec06{padding: 0 0 10rem;}
.sec06 h3 {text-align: center;font-size: 2.6rem;font-weight: 700;margin-bottom: 3rem;}
.sec06 p {font-size: 1.6rem;line-height: 1.75;}

.sec_gallery { padding: 8.5rem 0; background-color: #fff; }
.gallery_row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 3rem; }
.gallery_row:last-child { margin-bottom: 0; }
.gallery_item img { width: 100%; height: auto; display: block; }
.one_column .gallery_item { width: 100%; }
.three_columns { gap: 1.5rem; }
.three_columns .gallery_item { width: calc((100% - 3.0rem) / 3); }

/*sec07 客室案内セクション --- */
.sec07{padding: 0 0 10rem;}
.sec07 h3 {text-align: center;font-size: 2.6rem;font-weight: 700;margin-bottom: 3rem;}
.room_grid { display: flex; justify-content: space-between; gap: 1.5rem; align-items: stretch; margin-bottom: 4rem; }
.room_item { width: calc((100% - 3.0rem) / 3); display: flex; flex-direction: column; }
.room_img { margin-bottom: 1.5rem; }
.room_img img { width: 100%; height: auto; display: block; aspect-ratio: 3 / 2; object-fit: cover; }
.room_info { flex-grow: 1; }
.room_text { font-size: 1.4rem; font-weight: normal; line-height: 1.43; letter-spacing: 0.05em; }
.room_text strong { display: block; font-size: 1.6rem; margin-bottom: 0.5rem; }

.btn_wrapper { display: flex; justify-content: flex-start; margin-top: 4.0rem; }
.btn_detail { display: flex; justify-content: center; align-items: center; width: 390px; height: 6.0rem; background-color: #fff; border: 1px solid #000; color: #000; font-size: 1.6rem; font-weight: normal; text-decoration: none; transition: all 0.3s ease; box-sizing: border-box; }
.btn_detail:hover { background-color:var(--blue); color: #fff; }
.sec07 .note {font-size: 1.2rem;}
.sec07 .redtx {color: #d60000;}

/*sec08 */
.sec08 { background-color:var(--blue);padding: 8.5rem 0 0; color: #fff; margin: 0rem auto 10rem;}
.sec08 h3 {font-weight: 700; font-size: 5rem; line-height: 1.2;margin: 0 auto 5rem;max-width: 1000px;}
.sec08 .sec08_desc { font-size: 2.2rem; line-height: 1.64; margin-bottom: 6rem;margin: 0 auto 5rem;max-width: 1000px;}
.sec08 .sec08_desc span { font-size: 1.6rem; display: block;margin: 0 auto 5rem;}

.list_grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8.0rem; list-style: none; padding: 0; margin: 0 auto 3rem; max-width: 1000px; }
.list_item { width: calc((100% - 8.0rem) / 2); margin-bottom: 3.0rem; display: flex; align-items: center; font-size: 1.8rem; font-weight: normal; line-height: 1.2; min-height: 3.6rem; letter-spacing: 0.01em; color: #fff; border-left: 1px solid #fff; padding-left: 1.0rem; box-sizing: border-box; }

/*sec09 */
.sec09 { padding: 0rem 0 28rem; background-color: #fff; }
.sec09 .inner { max-width: 1290px; margin: 0 auto; padding: 0 1.5rem; }
.event_box { display: flex; flex-direction: row; background-color: #000; align-items: stretch; width: 100%; }
.event_visual { width: 42%; }
.event_visual img { width: 100%; height: 100%; object-fit: cover; display: block; object-position: 90% center; }
.event_info { width: 58%; background-color:var(--blue);color: #fff; padding: 4.55rem 7.05rem; display: flex; flex-direction: column; justify-content: center; text-align: left; }
.event_sub { font-size: 1.8rem; font-weight: normal; line-height: 1.67; letter-spacing: 0.01em; margin-bottom: 2.0rem; }
.event_ttl { font-size: 4rem; font-weight: bold; margin-bottom: 2.0rem; letter-spacing: 0.05em; line-height: 1.2; }
.event_date { font-size: 2.6rem; font-weight: bold; margin-bottom: 4.0rem; letter-spacing: 0.1em; }
.event_btn_area { width: 100%; }
.btn_apply { display: flex; justify-content: center; align-items: center; width: 100%; height: 6.0rem; border: 1px solid #fff; color: #fff; font-size: 2.0rem; font-weight: normal; text-decoration: none; transition: all 0.3s; }
.btn_apply:hover { background-color: #fff; color: #000; }


/*============= FOOTER ==============*/
footer{position: relative;z-index: 3;}
address{background-color:var(--blue);padding: 1.5rem 1rem;color:#bbbbbb;text-align:center;font-size: 1.2rem;font-weight: 300;letter-spacing: -.02rem;}
.ft_tt{margin-bottom: 1.5rem;line-height: 1.4;font-size: 3.5rem;font-weight: bold;letter-spacing: 0.2rem;font-family: var(--f-VWHead);}
.ft_tt .en{font-size: 114.2856%;letter-spacing: 0.1rem;font-family: var(--f-VWHead);}
.ft_add{font-size: 2.2rem;line-height: 1.4;letter-spacing: 0.1rem;}
.ft_add .letter{letter-spacing: -.1rem;}

.to_top{position:fixed;z-index:9;width:7rem;height:7rem;bottom:2rem;right:2rem;cursor:pointer;transition:all .2s;opacity:0;visibility:hidden}
.to_top.show{transform:scale(1);opacity:1;visibility:visible}

/* FIREFOX ONLY */
@-moz-document url-prefix() {}

/* Safari 10.1+ (which is the latest version of Safari at this time) */
@media not all and (min-resolution: 0.001dpcm) {}

@media screen and (min-width: 751px) {
  .sp{display:none !important}
  .find_a,.find_out{cursor: pointer;}
  .nowrap_pc{white-space: nowrap;}
  .alignleft{float:left;margin-right:2rem;margin-bottom:2rem;max-width:30rem}
  .alignright{float:right;margin-left:2rem;margin-bottom:2rem;max-width:30rem}
  .image_r{float:right;margin:0 0 0 5rem}
  .image_l{float:left;margin:0 5rem 0 0}

  #logo{margin-left: 32%;}
  #logo::after { left: calc(100% + 2rem); }
  #logo::before { right: calc(100% + 2rem); }
 

  .h_box .inner{max-width: 100%;width: 100%;}
  .mv {height: 100vh;background: url(../images/mv_bg.jpg) no-repeat center center / cover; max-height: 100vh;}
  .ft_box{padding: 70px 0 81px;}

  /* HOVER */
  .btn a:not([target="_blank"]):hover{opacity: 0.7;}
  .to_top img:hover,.find_a:hover,.pagenavi a:hover{opacity:.8}
}


@media screen and (min-width: 751px) and (max-width:1580px){
  .h_box{top: 4rem;}
  .to_top{width: 5rem;}
  .h_box .inner{width: 90rem;}
  #logo {margin-left: 48%;}

}

@media screen and (min-width: 1025px) {
  .mv { 
    height: 38.38vw;
    background: url(../images/mv_bg.jpg) no-repeat center center / cover;
    max-height: 737px;
  }
}

@media screen and (min-width: 751px) and (max-width:1024px){
  html{font-size: 50%;}
  .f26{font-size: 2rem;}
  .f28{font-size: 2.2rem;}
  .f30{font-size: 2.4rem;}
  .btn a{width: 500px;height: 80px;font-size: 2.4rem;}
  .mv {
      background: url(../images/mv_bg.jpg) no-repeat center top / contain;
      height: 38.4vw;
      min-height: 0 !important; 
      max-height: none;
      margin-top: 0;
    }
  #logo img{width: 10rem;max-width: 300px;}

  .time_schedule.type01 img {
    max-width: 100%;
  }
  .grid_2 .feature_item {
    max-width: 230px;
  }

}


@media screen and (max-width: 750px) {
    h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd{font-size: 160%;}
    img{max-width:100%; height: auto;}
    .pc{display:none!important}
    #wrapper,header,main,footer,.inner{width:100%!important;min-width:unset!important}
    .image_r,.image_l{display:inline-block;width:100%;text-align:center;margin:0 auto 3rem !important}
    .f35{font-size: 2.8rem;}
    .f31{font-size: 2.3rem;}
    .f30{font-size: 2.2rem;}
    .f28{font-size: 2.1rem;}
    .f27{font-size: 2rem;}
    .f26{font-size: 1.9rem;}
    .f24{font-size: 1.8rem;}
    .f22{font-size: 1.7rem;}
    .f18{font-size: 1.6rem;}
    .f17{font-size: 1.5rem}
    .f16{font-size: 1.4rem;}
    .f15{font-size: 1.2rem;}
    .f12{font-size: 1rem;}
    /*==========================================================================*/
    /*                                 TOP PAGE                                 */
    /*==========================================================================*/
.h_box {
        height: 6rem;
        /* ここを 3rem から変更して上に詰めます */
        top: 1.5rem; 
        
        right: 0;
        width: 100%;
        position: absolute; /* 親要素に対して絶対配置であることを再確認 */
    }

    .h_box .inner {
        display: flex;
        /* 一旦中央に配置する */
        justify-content: center; 
        padding-right: 0; 
        width: 100%;
    }

    #logo {
        /* 中央からどれくらい右にずらすか。この数値を調整してください */
        margin-left: 45%; 
        
        margin-right: 0;
        width: fit-content;
    }

    #logo img {
        width: 5.5rem;
    }

    #logo::before, #logo::after {
        height: 0.3rem;
    }

    #logo::before {
        right: calc(100% + 1rem);
    }

    #logo::after {
        left: calc(100% + 1rem);
    }

    /*============= MAIN ==============*/

   .mv { 
    background: url(../images/mv_bg.jpg) no-repeat center top / contain;
    height: auto; 
    aspect-ratio: 1920 / 737; 
    background-size: contain;
  }
      
    .btn a{width: 32rem;height: 6rem;font-size: 1.8rem;}

    /*section共通*/
    .sec_title {font-size: 2.8rem;margin-bottom: 1.5rem;}

    /*sec01*/
    .sec01 {padding: 6rem 0;}
    .sec01_tt {font-size: 3.4rem;line-height: 1;margin-bottom: 3rem;}
    .sec01 .hero-subtext {font-size: 2.2rem;margin-top: 1.0rem;line-height: 1.3;}
    .sec01_day {font-size: 3.4rem;margin-bottom: 4.0rem;line-height: 1;}
    .sec01_desc{margin-bottom: 3rem;}
    .sec01_desc p {font-size: 1.7rem;line-height: 1.8;}
    .day-note {margin-top: 1rem;font-size: 1.7rem;line-height: 1.3;}
    .sec01_desc p.sec01_desc_ttl {font-size: 2rem;margin-bottom: 3rem;}
    .sec01_img {margin-bottom: 6rem;}
    .sec_table01 td p {font-size: 1.6rem;}
    .sec_table01 tr:first-child th {padding-top: 0;}
    .scroll_box { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 1.5rem; }
    .scroll_box img { width: 800px; max-width: none; }
    .scroll_note { display: block; font-size: 1.2rem; color: #666; text-align: center; margin-bottom: 2.0rem; }


    /*sec02*/
    .sec02 {padding: 0 0 6rem;}
    .time_schedule_ttl {margin-bottom: 1rem;font-size: 2.2rem;line-height: 1.2;}
    .time_schedule.type01 img {max-width: 100%;}

    /*sec03*/
    .sec03{padding: 0 0 6rem;}
    .dish_name {margin-bottom: 0.5rem;font-size: 1.7rem;}
    .dish_box { flex-direction: column; gap: 3rem; grid-template-columns: 1fr;}
    .dish_info, .dish_img { width: 100%; }
    .dish_img { order: 2; }
    .dish_info { order: 1; text-align: left; }

     /*sec04*/
    .sec04 {padding: 0 0 6rem;}
    .feature_grid:not(.grid_2) {margin-bottom: 3rem;}
    .item_img img {max-width: 100%;}
    .grid_2 .feature_item {max-width: 100%;}
    .item_txt span {font-size: 1.4rem;}
    .feature_grid { flex-direction: column; gap: 3rem; }
    .grid_3 .feature_item, .grid_2 .feature_item { width: 100%; }
    .item_ttl { margin-bottom: 1rem; }

    /*sec05*/
    .sec05 {padding: 0 0 6rem;}
    .artist_label{font-size: 1.6rem;}
    .artist_name{font-size: 2.4rem;margin-bottom: 2rem;}
    .artist_desc {font-size: 1.6rem;margin-bottom: 3rem;}
    .artist_box { flex-direction: column; gap: 3.0rem; padding: 3.0rem 2.0rem; }
    .artist_visual, .artist_info { width: 100%; }
    .artist_link a { width: 100%; font-size: 1.6rem; }

    /*sec06*/
    .sec06 {padding: 0 0 6rem;}
    .gallery_row {margin-bottom: 0.8rem;}
    .three_columns { gap: 0.8rem; }
    .three_columns .gallery_item { width: calc((100% - 1.6rem) / 3); }

    /*sec07*/
    .sec07 {padding: 0 0 6rem;}
    .room_text {font-size: 1.6rem;}
    .btn_detail { width: 100%; height: 6.5rem; font-size: 1.8rem; padding: 1rem;}
    .room_grid { flex-direction: column; gap: 4.0rem; }
    .room_item { width: 100%; }
    .sec07 h3 { font-size: 2.6rem; margin-bottom: 3.0rem; }

    /*sec08*/
    .sec08 {margin: 0 0 6rem;}
    .sec08 h3 {font-size: 3rem;margin-bottom: 3rem;}
    .sec08 .sec08_desc  {font-size: 1.7rem;margin-bottom: 3rem;}
    .sec08 .sec08_desc span {font-size: 1.4rem;}
    .sec08 .sec08_desc { padding: 0; }
    .list_grid { flex-direction: column; align-items: flex-start; gap: 0; padding: 0 2.5rem; }
    .list_item { width: 100%; margin-bottom: 2.5rem; font-size: 1.6rem; }

     /*sec09*/
    .sec09  {padding: 0 0 6rem;}
    .event_sub {font-size: 1.6rem;}
    .event_date{font-size: 2.3rem;margin-bottom: 2rem;}
    .event_box { flex-direction: column-reverse; }
    .event_info, .event_visual { width: 100%; }
    .event_info { padding: 4.0rem 2.5rem; }
    .event_ttl { font-size: 2.8rem;margin-bottom: 1rem;}
    .event_visual img { height: auto; aspect-ratio: 3 / 2; }
    .btn_apply {font-size: 1.8rem;padding: 1rem;}

    .ft_box{padding: 4rem 0;}
    .ft_tt1{font-size: 2.6rem;line-height: 1.4;}
    .ft_tt{font-size: 2.4rem;}
    .ft_add{font-size: 1.6rem;letter-spacing: 0.05rem;}

    address{font-size: 1.2rem;}
    /*============= FOOTER ==============*/
    .to_top{width:5rem;height:5rem;right:1rem;bottom: 1rem;}

  /*テーブル*/
  .sec_table01 {margin-bottom: 4rem;border-collapse: separate;}
  .sec_table01 th, .sec_table01 td { display: block; width: 100%; border-right: none; padding: 1.0rem 0; font-size: 1.6rem;} 
  .sec_table01 th { padding-top: 2.0rem; border-bottom: none;text-align-last: unset;} 
  .sec_table01 tr:not(:last-child) td { padding-bottom: 2.0rem; border-bottom: 1px solid #eee;}
  .sec_notes .sec_table01 td { padding-bottom: 0; border-bottom: none;}
  .sec_table01 span {font-size: 1.4rem;}
  .sec_table01 td small {font-size: 1.4rem;}

  
  /*申し込みボタン*/
  .btn_entry{font-size:2.2rem;padding:1.5rem 3.0rem;width:90%;box-sizing:border-box;}

  /*注意事項*/
  .notes_title {font-size: 1.6rem;}
  .notes_list li {font-size: 1.4rem;padding-left: 1em; text-indent: -1em;}
  .sec_notes {margin: 4rem auto 0;}
  .note{font-size: 1.4rem;}

}

@media screen and (max-width: 480px) {
    #logo img {
        width: 4rem;
    }
}

@media screen and (max-width: 374px) {
  html{font-size: 50%;}
}
