@charset "UTF-8";

/*normalize: http://necolas.github.io/normalize.css/*/

/* Box sizing rules */

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
ul,
ol,
dd {
  margin: 0;
  padding: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */

ul,
ol{
  list-style: none;
}

/* Set core root defaults */

/* html:focus-within {
  scroll-behavior: smooth;
} */

/* Set core body defaults */

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
  font: inherit;
}

:root {
  --text-color:#ffffff;
  --base-color:#111111;
  

  --body-font:'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック','游ゴシック体', 'YuGothic M', YuGothic,'メイリオ',Meiryo,sans-serif;
  --en-font:"adobe-garamond-pro", serif;
  --en-font2:'DIN 2014',"din-2014", sans-serif;

  --color-black:#222222;
  --color-gray:#555555;
  --color-gray2:#DDDDDD;

  --wp--preset--color--base:#fff;
}

/* ==========================================================================
   ajaロード関連
========================================================================== */

@keyframes fadeInAjax {
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.loading{
  position: relative;
  z-index: -1;
}

.loading::before{
    position: absolute;
    top:50px;
    left:50%;
    margin:-26px 0 0 -26px;
    width: 52px;
    height: 52px;
    content: '';
    animation: loader .8s infinite linear;
    border: 6px solid #000;
    border-top-color: #ddd;
    border-radius: 50%;
  }

@media only screen and (max-width: 767px) {
    .loading::before{
      top:2.5641vw;
      left:50%;
      margin:-3.84615vw 0 0 -3.84615vw;
      width: 7.69231vw;
      height: 7.69231vw;
      border: 1.28205vw solid #000;
      border-top-color: #ddd;
    }
}

@keyframes loader{
  0%{
    transform: rotate(0deg);
  }
  100%{
    transform: rotate(360deg);
  }
}

/* ==========================================================================
  アニメーション
========================================================================== */

@keyframes menuSlideIn {
  0%{
    display: flex;
    opacity: 0;
    transform: translateX(100%);
  }
  100%{
    opacity: 1;
    transform: translateX(0%);
  }
}

@keyframes menuSlideOut {
  0%{
    opacity: 1;
    transform: translateX(0%);
  }
  99%{
    opacity: 0;
    transform: translateX(100%);
  }
  100%{
    display: none;
    opacity: 0;
  }
}

@keyframes blur-in {
  from {
    -webkit-backdrop-filter: blur(0px);
            backdrop-filter: blur(0px);
  }
  to {
    -webkit-backdrop-filter: blur(11px);
            backdrop-filter: blur(11px);
  }
}

@keyframes fadeInUp{
  0%{
    transform: translate(0,50px);
    opacity: 0;
  }
  100%{
    transform: translate(0,0);
    opacity: 1;
  }
}

.isAnime{
  opacity: 0;
}

.fadeInUp.animeAction{
  animation: fadeInUp .7s 1 0s ease forwards;
}

/* ==========================================================================
   フォーム
========================================================================== */

.formWall{
  max-width: 764px;
  margin: 50px auto 0;
}

.formWall select,
  .formWall input[type="text"],
  .formWall input[type="date"],
  .formWall input[type="tel"],
  .formWall input[type="url"],
  .formWall input[type="email"]{
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
    width: 100%;
    border-radius: 2px;
    border:1px solid #BBBBBB;
    font-size: 1.7rem;
  }

.formWall textarea{
    width: 100%;
    padding: 20px;
    height: 300px;
    border-radius: 2px;
    border:1px solid #BBBBBB;
    font-size: 1.7rem;
  }

.formWall .formBoxRow{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:37px 20px;
  }

.formWall .formBoxRow .telBox{
      grid-column: 1 / 3;
      max-width: 372px;
    }

.formWall .formBoxRow .messageBox{
      grid-column: 1 / 3;
    }

.formWall .formBox .inputTitle{
      font-size:1.5rem;
      font-weight: 500;
      line-height: 1;
      margin-bottom: 16px;
    }

.formWall .formBox .inputTitle .required{
        color: #ED015C;
        padding-left: .5em;
      }

.formWall .privacy{
    margin-top: 40px;
    font-size: 1.3rem;
    text-align: justify;
    line-height: 2;
    border: 1px solid #BBBBBB;
    background: #fff;
    border-radius: 2px;
    padding: 15px 5px 7px 20px;
    color: #222222;
    color: var(--color-black);
  }

.formWall .privacy .inner{
      padding: 0 30px 20px 0;
      height: 110px;
      overflow-y: auto;
      overscroll-behavior-y: none;
    }

.formWall .privacy .inner::-webkit-scrollbar{
        width: 10px;
        
      }

.formWall .privacy .inner::-webkit-scrollbar-thumb{
        background-color: #444444;
        border-radius: 7px;
      }

.formWall .privacy h2{
      font-size: 1.7rem;
      font-weight: 400;
    }

.formWall .privacy h3{
      font-size: 1.5rem;
      font-weight: 500;
      margin-top: 1em;
    }

.formWall .accept{
    margin-top: 30px;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
  }

.formWall .accept span{
      display: block;
    }

.formWall .accept .wpcf7-list-item{
      margin: 0;
    }

.formWall .accept label{
      display: flex;
      align-items: center;
    }

.formWall .accept label input{
        width: 25px;
        height: 25px;
        margin:0 15px 0 0;
        accent-color:#444444;
      }

.formWall .kome{
    margin-top: 11px;
    font-size: 1.3rem;
    line-height: 2;
  }

.formWall .send{
    margin-top: 50px;
  }

.formWall .send input{
      width: 230px;
      height: 56px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: url('../../img/arrow-right.svg') no-repeat calc(100% - 20px) center / 14px auto;
      background-color:#444444;
      border-radius: 5px;
      color: #fff;
      font-weight: 500;
      margin: 0 auto;
      border: none;
    }

.formWall .send input:disabled{
        opacity: .5;
      }

.formWall .send input:disabled:hover{
          opacity: .5;
        }

.formWall .send input:hover{
        opacity: .8;
      }

.formWall .send .wpcf7-spinner{
      display: block;
      margin: 10px auto 0;
    }

.formWall .wpcf7-not-valid-tip{
    padding: .3em;
    font-size: 1.4rem;
  }

.formWall .wpcf7-response-output{
    margin: 10px 0 0 0  !important;;
    grid-column: 1 / 3;
    font-size: 1.5rem;
    padding: 1em !important;
    text-align: center;
  }

@media only screen and (max-width: 767px) {
.formWall{
  max-width: 92.30769vw;
  margin: 19.23077vw auto 0;
}
  .formWall select,
  .formWall input[type="url"],
  .formWall input[type="text"],
  .formWall input[type="tel"],
  .formWall input[type="email"]{
    padding: 0 5.12821vw;
    height: 12.82051vw;
    line-height: 12.82051vw;
    border-radius: 0.51282vw;
    border:0.25641vw solid #BBBBBB;
    font-size: 16px;
  }
  .formWall textarea{
    width: 100%;
    padding: 5.12821vw;
    height: 92.30769vw;
    border-radius: 0.51282vw;
    border:0.25641vw solid #BBBBBB;
    font-size: 16px;
  }
  .formWall .formBoxRow{
    display: grid;
    grid-template-columns:100%;
    gap:7.69231vw 0;
  }
    .formWall .formBoxRow .telBox{
      grid-column: 1;
      max-width: none;
    }
    .formWall .formBoxRow .messageBox{
      grid-column: 1;
    }
    .formWall .formBox .inputTitle{
      margin-bottom: 4.10256vw;
    }
  .formWall .privacy{
    margin-top: 7.69231vw;
    border: 0.25641vw solid #BBBBBB;
    border-radius: 0.51282vw;
    padding: 2.5641vw 1.28205vw 1.28205vw 2.5641vw;
  }
    .formWall .privacy .inner{
      padding: 0 3.58974vw 0 0vw;
      height: 25.64103vw;
      overflow-y: auto;
      overscroll-behavior-y: none;
    }
      .formWall .privacy .inner::-webkit-scrollbar{
        width: 0.76923vw;
      }
  .formWall .accept{
    margin-top: 7.69231vw;
  }
      .formWall .accept label input{
        width: 6.41026vw;
        height: 6.41026vw;
        margin:0 3.84615vw 0 0;
      }
  .formWall .kome{
    margin-top: 2.82051vw;
  }
  .formWall .send{
    margin-top: 10.25641vw;
  }
    .formWall .send input{
      width: 58.97436vw;
      height: 14.35897vw;
      background: url('../../img/arrow-right.svg') no-repeat calc(100% - 5.12821vw) center / 3.58974vw auto;
      background-color:#444444;
      border-radius: 1.28205vw;
    }

}

/* ==========================================================================
   英語フォント
========================================================================== */

.enFont{
  font-family: "adobe-garamond-pro", serif;
  font-family: var(--en-font);
}

/* ==========================================================================
   英語フォント
========================================================================== */

.enFont2{
  font-family: 'DIN 2014',"din-2014", sans-serif;
  font-family: var(--en-font2);
}

/* ==========================================================================
   明朝フォント
========================================================================== */

.fontM {
  font-family: "Zen Old Mincho", serif;
}

/* ==========================================================================
   下層共通
========================================================================== */

.subPage{
  padding-top: 70px;
}

.subPage .main{
    padding-bottom: 100px;
  }

@media (max-width: 767px) {
  .subPage{
    padding-top: 22.05128vw;
  }
    .subPage .main{
      padding-bottom: 17.94872vw;
    }
}

/* ==========================================================================
   下層タイトル 飾り文字
========================================================================== */

.subPage{
  position: relative;
}

.subPage .fvKazari{
    position: absolute;
    top: 24px;
    left: 11px;
    writing-mode: vertical-rl;
    font-size: 1.3rem;
    letter-spacing: .1em;
    display: flex;
    align-items: center;
  }

.subPage .fvKazari::before{
      content: '';
      width: 1px;
      height: 100px;
      background: #ffffff;
      background: var(--text-color);
      margin-bottom: 10px;
    }

@media (max-width: 767px) {
    .subPage .fvKazari{
      top: 6.15385vw;
      left: 2.82051vw;
    }
      .subPage .fvKazari::before{
        width: 0.25641vw;
        height: 12.82051vw;
        margin-bottom: 2.5641vw;
      }
}

/* ==========================================================================
   下層タイトル
========================================================================== */

.pageHeader{
  max-width: 850px;
  margin: 0 auto;
}

.pageHeader .pageTitle{
    font-size: 12rem;
    line-height: 1;
    color: #DDDDDD;
    color: var(--color-gray2);
    font-weight: 400;
    text-align: center;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }

.pageHeaderInNavi .pageTitle{
    margin-bottom: 48px;
  }

.pageHeaderInNavi .headerNav .current{
      color: #777777;
      pointer-events: none;
    }

.pageHeaderInNavi .headerNav .catList{
      list-style: none;
      display: flex;
      justify-content: center;
      flex-flow: row wrap;
      gap: .5em 0; 
      font-size: 1.5rem;
      letter-spacing: .1em;
      font-weight: 700;
    }

.pageHeaderInNavi .headerNav .catList li{
        flex-shrink: 0;
      }

.pageHeaderInNavi .headerNav .catList li::after{
          content: '｜';
          margin: 0 2em;
        }

.pageHeaderInNavi .headerNav .catList li:first-child::before{
          content: '｜';
          margin: 0 2em 0 0;
        }

.pageHeaderInNavi .headerNav .catList li:last-child::after{
          margin-right: 0;
        }

.pageHeaderInNavi .headerNav .tagList{
      margin-top: 30px;
      list-style: none;
      display: flex;
      flex-flow: row wrap;
      gap: 1.5em 1em;
    }

.pageHeaderInNavi .headerNav .tagList li{
        font-size: 1.5rem;
        line-height: 1.2;
        letter-spacing: .03em;
      }

@media (max-width: 767px) {
  .pageHeader{
    max-width: 92.30769vw;
  }
    .pageHeader .pageTitle{
      font-size: 6rem;
    }
  .pageHeaderInNavi{
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr;
    gap: 0;
  } 
    .pageHeaderInNavi::before{
      display: none;
    }
    .pageHeaderInNavi h2{
      grid-column: 1;
      grid-row: 1;
    }
    .pageHeaderInNavi .headerNav{
      grid-column: 1;
      grid-row: 2;
      margin-top: 12.82051vw;
    }
      .pageHeaderInNavi .headerNav .catList{
        gap: .5em 0;
      }
        .pageHeaderInNavi .headerNav .catList li{
          flex-shrink: 0;
        }
          .pageHeaderInNavi .headerNav .catList li::after{
            margin: 0 1.28em;
          }
          .pageHeaderInNavi .headerNav .catList li:first-child::before{
            display: none;
          }
          .pageHeaderInNavi .headerNav .catList li:last-child::after{
            display: none;
          }
      .pageHeaderInNavi .headerNav .tagList{
        margin-top: 5.12821vw;
        gap:0 1.3em;
      }
        .pageHeaderInNavi .headerNav .tagList a{
          line-height: 2;
        }
}

/* ==========================================================================
  luminous 画像ポップアップ表示用
========================================================================== */

.lum-lightbox{
	z-index: 1000;
}

.lum-lightbox .lum-close-button{
    display: none;
  }

.lum-lightbox-inner{
  display: flex;
  justify-content: center;
  align-items: center;
  gap:0 30px;
}

.lum-lightbox-inner .lum-lightbox-image-wrapper{
    order: 2;
    width: 563px !important;
    height: 750px !important;
    display: flex;
    justify-content: center;
    align-items: center;
  }

.lum-lightbox-inner .lum-gallery-button{
    position: static;
    width: 35px;
    height: 35px;
    background: url('../../img/popup_arrow.svg') no-repeat center center / contain;
    transform: translateY(0%);
  }

.lum-lightbox-inner .lum-gallery-button::after{
      display: none;
    }

.lum-lightbox-inner .lum-previous-button{
    order: 1;
  }

.lum-lightbox-inner .lum-next-button{
    order: 3;
    rotate:180deg;
  }

.lum-lightbox-inner .lum-lightbox-position-helper{
    position: relative;
    z-index: 1;
  }

.lum-lightbox-inner .lum-lightbox-position-helper::before{
      content: '';
      width: 60px;
      height: 16px;
      background: url('../../img/popup_close.svg') no-repeat center center / contain;
      position: absolute;
      top: 20px;
      right: 20px;
      z-index: 2;
    }

@media only screen and (max-width: 767px) {
  .lum-lightbox-inner{
    top: 0%;
    right: 0%;
    bottom: 0%;
    left: 0%;
    width: 100vw;
    flex-flow: row wrap;
    justify-content: space-between;
    align-content: center;
    gap:5.12821vw 0;
  }
    .lum-lightbox-inner .lum-lightbox-image-wrapper{
      order: 1;
      width: 100% !important;
      height: auto !important;
      max-width: 100% !important;
      max-height: 133.33333vw !important;
    }
    .lum-lightbox-inner .lum-gallery-button{
      width: 8.97436vw;
      height: 8.97436vw;
    }
    .lum-lightbox-inner .lum-previous-button{
      order: 2;
      margin-left: 5.12821vw;
    }
    .lum-lightbox-inner .lum-next-button{
      order: 3;
      margin-right: 5.12821vw;
    }
    .lum-lightbox-inner .lum-lightbox-position-helper{
      position: relative;
      z-index: 1;
    }
      .lum-lightbox-inner .lum-lightbox-position-helper::before{
        width: 10.51282vw;
        height: 2.82051vw;
        top: 3.33333vw;
        right: 3.33333vw;
      }
}

/* ==========================================================================
  ページ送り
========================================================================== */

.pagenation >.page-numbers{
    display: flex;
    justify-content: center;
    font-size: 1.6rem;
    line-height: 1;
  }

.pagenation >.page-numbers a,.pagenation >.page-numbers span{
      display: flex;
      justify-content: center;
      align-items: center;
      height: 50px;
      width: 50px;
      border-radius: 3px;
    }

.pagenation >.page-numbers .current{
      background: #111111;
      background: var(--base-color);
      color: #fff;
    }

.pagenation >.page-numbers .dots{
      width: auto;
    }

.pagenation >.page-numbers .prevArrow{
      margin-right: 70px;
      justify-content: flex-start;
    }

.pagenation >.page-numbers .prevArrow::before{
        content: '';
        width: 18px;
        height: 11px;
        background: url('../../img/prev_arrow.svg') no-repeat center center / contain;
        flex-shrink: 0;
        margin-right: 14px;
      }

.pagenation >.page-numbers .nextArrow{
      margin-left: 70px;
      justify-content: flex-end;
    }

.pagenation >.page-numbers .nextArrow::after{
        content: '';
        width: 18px;
        height: 11px;
        background: url('../../img/prev_arrow.svg') no-repeat center center / contain;
        flex-shrink: 0;
        margin-left: 14px;
        rotate:180deg;
      }

@media only screen and (max-width: 767px) {
  .pagenation{
    margin-top: 7.69231vw;
  }
      .pagenation >.page-numbers a,.pagenation >.page-numbers span{
        height: 12.82051vw;
        width: 7.69231vw;
        margin: 0 1.28205vw;
        border-radius: 0.76923vw;
      }
      .pagenation >.page-numbers .current{
        width: 7.69231vw;
      }
      .pagenation >.page-numbers .dots{
        margin: 0;
      }
      .pagenation >.page-numbers .prevArrow{
        margin-right: 7.69231vw;
      }
        .pagenation >.page-numbers .prevArrow::before{
          width: 4.61538vw;
          height: 2.82051vw;
          margin-right: 0.76923vw;
        }
      .pagenation >.page-numbers .nextArrow{
        margin-left: 7.69231vw;
      }
        .pagenation >.page-numbers .nextArrow::after{
          width: 4.61538vw;
          height: 2.82051vw;
          margin-left: 0.76923vw;
        }
}

/* ==========================================================================
  日付部分
========================================================================== */

.dateCal{
  height: 77px;
  align-self: start;
  line-height: 1;
  padding-right: 27px;
  border-right: 1px solid #DDDDDD;
  border-right: 1px solid var(--color-gray2);
  display: flex;
  flex-flow: column;
}

.dateCal .year{
    font-size: 1.5rem;
    letter-spacing: .35em;
    text-align: center;
    margin: 5px 0 7px;
    display: block;
  }

.dateCal .dateBox{
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto;
    margin-left: 10px;
    width: 40px;
    height: 40px;
    font-size: 2.5rem;
    line-height: 1;
    position: relative;
  }

.dateCal .dateBox::after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #DDDDDD;
      background-color: var(--color-gray2);
      transform-origin: 100% 0;
      transform: rotate(-45deg) scale(1.414); /* √2 = 1.414 */
    }

.dateCal .dateBox .month{
      grid-column: 1;
      grid-row: 1;
      margin: -.2em 0 0 -.4em;
    }

.dateCal .dateBox .day{
      grid-column: 1;
      grid-row: 1;
      justify-self: end;
      align-self: end;
      margin: 0 -.28em -.25em 0;
    }

@media only screen and (max-width: 767px) {
  .dateCal{
    height: 19.74359vw;
    padding-right: 6.92308vw;
    border-right: 0.25641vw solid #DDDDDD;
    border-right: 0.25641vw solid var(--color-gray2);
  }
    .dateCal .year{
      margin-bottom: 2.30769vw;
    }
    .dateCal .dateBox{
      margin-left: 1.28205vw;
      width: 10.25641vw;
      height: 10.25641vw;
    }
      .dateCal .dateBox::after {
        height: 0.25641vw;
      }
}

.is-layout-constrained,.is-root-container {
	line-height: 1.85;
}

.is-layout-constrained h2,.is-root-container h2{
		font-family: "Zen Old Mincho", serif;
		line-height: 1.4;
		font-size: 20px;
		font-weight: 700;
		border-bottom: 1px solid #BEBEBE;
		padding-bottom: .4em;
	}

.is-layout-constrained h3,.is-root-container h3{
		font-family: "Zen Old Mincho", serif;
		line-height: 1.4;
		font-size: 18px;
		font-weight: 500;
		padding-left: 0.8em;
		border-left: 1px solid #ffffff;
		border-left: 1px solid var(--text-color);
	}

.is-layout-constrained h4,.is-root-container h4{
		font-family: "Zen Old Mincho", serif;
		line-height: 1.4;
		font-size: 17px;
		font-weight: 500;
		display: flex;
		position: relative;
		align-items: center;
	}

.is-layout-constrained h4::before,.is-root-container h4::before{
			content: '';
			width: 0.88em;
			height: 1px;
			flex-shrink: 0;
			margin: 0 0.58em 0 0;
			background: #ffffff;
			background: var(--text-color);
		}

.is-layout-constrained >h2 + *,
	.is-layout-constrained >h3 + *,
	.is-layout-constrained >h4 + *,
	.is-root-container >h2 + *,
	.is-root-container >h3 + *,
	.is-root-container >h4 + *{
		margin-top: 1.05em;
	}

.is-layout-constrained ol,.is-layout-constrained ul,.is-root-container ol,.is-root-container ul{
		list-style: inherit;
		padding-left: 1.5em;
	}

.is-layout-constrained a,.is-root-container a{
		text-decoration: underline;
	}

.is-layout-constrained .wp-block-button a,.is-root-container .wp-block-button a{
			text-decoration: none;
		}

/* end .entry-content */

@media only screen and (max-width: 767px) {
	.is-layout-constrained,.is-root-container  {
		max-width: 94.87179vw;
		margin: 0 auto;
	}
		.is-layout-constrained h2,.is-root-container h2{
			font-size: 2rem;
		}
		.is-layout-constrained h3,.is-root-container h3{
			font-size: 1.8rem;
		}
		.is-layout-constrained h4,.is-root-container h4{
			font-size: 1.7rem;
		}
		.is-layout-constrained .wp-block-media-text,.is-root-container .wp-block-media-text{
			grid-template-areas:"media-text-media" "media-text-content";
			grid-template-columns:1fr;
		}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
				grid-area: media-text-media;
			}
			.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
				grid-area: media-text-content;
				padding: 3rem 0 0;
			}
	.wp-block-columns.is-not-stacked-on-mobile{
		gap:0 .5em;
	}
}

@media only screen and (max-width: 767px){
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__media,.is-root-container .wp-block-media-text .wp-block-media-text__media{
    -ms-grid-row: 1;
    -ms-grid-column: 1;
		}
		.is-layout-constrained .wp-block-media-text .wp-block-media-text__content,.is-root-container .wp-block-media-text .wp-block-media-text__content{
    -ms-grid-row: 2;
    -ms-grid-column: 1;
		}
}

/* ==========================================================================
   共通設定
========================================================================== */

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
	overflow-y:scroll;
  scroll-padding-top: 80px;
}

body {
  font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック','游ゴシック体', 'YuGothic M', YuGothic,'メイリオ',Meiryo,sans-serif;
  font-family: var(--body-font);
	font-feature-settings : 'pkna';
  color: #ffffff;
  color: var(--text-color);
	background:#222222;
	background:var(--color-black);
	text-align: justify;
	hanging-punctuation: allow-end;
	width:100%;
  min-width: 1190px;
	font-size: 1.4rem;
	line-height: 1.5;
	overflow: hidden;
}

img{
	vertical-align:bottom;
	max-width: 100%;
	height: auto;
  backface-visibility: hidden;
}

a{
	color: #ffffff;
	color: var(--text-color);
	text-decoration: none;
  display: inline-block;
}

a:hover{
  opacity: .8;
}

.spShow{
	display: none;
}

.pcShow{
	display: inline-block;
}

.container{
	display: grid;
	min-height: 100vh;
	grid-template-columns: 100%;
  grid-template-rows: 76px 1fr auto auto;
}

.header{
	grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 2;
}

.pageContainer{
	grid-column: 1;
  grid-row: 2;
  position: relative;
  z-index: 1;
}

.mainCta{
	grid-column: 1;
  grid-row: 3;
  z-index: 1;
}

.footer{
	grid-column: 1;
  grid-row: 4;
  z-index: 2;
}

button{
  background: none;
  border: none;
  padding: 0;
  outline: none;
  color: #111111;
  color: var(--base-color);
}

button:focus{
    outline: none;
  }

button:disabled{
    opacity:1;
    color: #111111;
    color: var(--base-color);
  }

/* ==========================================================================
   ヘッダー
========================================================================== */

.header{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  min-width: 1190px;
  height: 76px;
  background: transparent;
  padding-left: 50px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap:0 50px;
  transition: background-color .4s linear;
}

.header .siteTitle{
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    max-width: 230px;
    height: 60px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 3;
  }

.header .siteTitle a{
      width: 100%;
    }

.header .siteTitle img{
      width: 100%;
      height: 100%;
      -o-object-fit: contain;
         object-fit: contain;
    }

.header .menuBtn{
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    width: 76px;
    height: 76px;
    position: relative;
    z-index: 10;
  }

.header .menuBtn button{
      cursor: pointer;
      background: #111111;
      background: var(--base-color);
      width: 100%;
      height: 100%;
      line-height: 1;
      font-size: 1.3rem;
      font-weight: 500;
      color: #ffffff;
      color: var(--text-color);
      display: grid;
      place-content:center;
    }

@media (hover:hover) {
        .header .menuBtn button:hover{
          opacity: .8;
        }
      }

.header .menuBtn button .inner{
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto auto 1fr;
        gap: 3px 0;
      }

.header .menuBtn button .line{
        width: 38px;
        justify-self: center;
        background: #ffffff;
        background: var(--text-color);
        height: 1px;
        transition: rotate .2s linear;
      }

.header .menuBtn .menuBtnOpen{
      gap:0;
    }

.header .menuBtn .menuBtnOpen .line1{
        grid-row: 1;
        transform-origin: left;
        rotate: 15deg;
      }

.header .menuBtn .menuBtnOpen .line2{
        grid-row: 2;
        transform-origin: left;
        margin-top: 6px;
        rotate: -15deg;
      }

.header .menuBtn .menuBtnOpen .name{
        grid-row: 3;
        margin-top: 1px;
      }

.fixHeader{
  background: rgba(34,34,34,0.87);
}

/* ==========================================================================
   gNav
========================================================================== */

.gNav{
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10;
  width: 400px;
  height: 100%;
  max-height: 768px;
  background: #222222;
  background: var(--color-black);
  overflow-y: auto;
  justify-content: center;
  align-items: center;
  padding: 100px 50px;
}

.gNav .inner{
    width: 100%;
    display: flex;
    align-items: center;
    flex-flow: column;
    margin: auto;
  }

.gNav ul{
    display: grid;
    grid-template-columns: 1fr 1fr;
    font-size: 1.6rem;
    letter-spacing: -.05em;
    gap:34px 10px;
  }

.gNav .reservationLink{
    margin-top: 65px;
    width: 300px;
    height: 300px;
    border: 1px solid #555555;
    border: 1px solid var(--color-gray);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 700;
  }

.gNav .reservationLink::before{
      content: '';
      width: 36px;
      height: 40px;
      background: url('../../img/navi_cal.svg') no-repeat center center / contain;
      margin-bottom: 25px;
    }

.gNav .reservationLink::after{
      content: '';
      width: 15px;
      height: 15px;
      background: url('../../img/navi_plus.svg') no-repeat center center / contain;
      margin-top: 15px;
    }

.navOpen{
  display: flex;
  animation: menuSlideIn .5s 1 0s ease forwards;
}

.navClose{
  animation: menuSlideOut .3s 1 0s linear forwards;
}

.menuOverlay{
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 3;
}

/* ==========================================================================
   footer
========================================================================== */

.footer{
  background: #111111;
  background: var(--base-color);
  padding: 44px 44px 44px 20px;
  position: relative;
  
}

.footer .footerInner{
    width: 100%;
    max-height: 400px;
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px 26px;
  }

.footer .footereLogo{
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
    max-width: 230px;
  }

.footer .pageLink{
    grid-column: 3;
    grid-row: 1;
    align-self: end;
  }

.footer .pageLink ul{
      display: flex;
      justify-content: flex-end;
      letter-spacing: -.05em;
      gap:0 44px;
    }

.footer .sns{
    grid-column: 3;
    grid-row: 2;
    align-self: start;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap:0 30px;
  }

.footer .sns a{
      display: block;
    }

.footer .copyright{
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: center;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.2;
    color: #646262;
    writing-mode: sideways-rl;
    font-family: "futura-pt", sans-serif;
    text-align: center;
  }

.footer .pagetop{
    display: none;
    width: 100px;
    position: fixed;
    bottom: 40px;
    right: 44px;
    z-index: 10;
  }

.footer .stopBtn{
    position: absolute;
    top: -50px;
    bottom: auto;
  }

/* ==========================================================================
   mainCta
========================================================================== */

.mainCta{
  width: min(calc(100% - 40px),1288px);
  margin: 0 auto;
  position: relative;
  z-index: 1;
  height: 480px;
  display: flex;
  flex-flow: row-reverse;
  align-items: center;
  justify-content: space-between;
}

.mainCta::before{
    content: '';
    background: url('../../img/cta_bk.jpg') no-repeat center center / cover;
    width: 82.85714vw;
    min-width: 1140px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    margin-left: -457px;
  }

@media (max-width:1335px) {
    .mainCta::before{
      left: 184px;
      z-index: -1;
      margin-left: 0;
    }
  }

.mainCta >h2{
    font-size: 12rem;
    line-height: 1;
    font-weight: 400;
    color: #DDDDDD;
    color: var(--color-gray2);
    margin-right: 50px;
  }

.mainCta .reservationLink{
    width: 360px;
    height: 360px;
    border-radius: 3px;
    background: url('../../img/cta_box_bk.svg') no-repeat center center / contain;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    font-size: 1.6rem;
    line-height: 1;
    font-weight: 700;
  }

.mainCta .reservationLink::before{
      content: '';
      width: 45px;
      height: 50px;
      background: url('../../img/navi_cal.svg') no-repeat center center / contain;
      margin-bottom: 17px;
    }

.mainCta .reservationLink::after{
      content: '';
      width: 15px;
      height: 15px;
      background: url('../../img/navi_plus.svg') no-repeat center center / contain;
      margin-top: 15px;
    }

/* ==========================================================================
   Style gallery
========================================================================== */

.styleGalleryArchive .pageHeader{
    margin-bottom: 50px;
  }

.styleGalleryArchive .galleryList{
    max-width: 1370px;
    margin: 0 auto;
  }

.styleGalleryArchive .galleryList .galleryRow{
      margin: 0 auto;
      display: flex;
      justify-content: center;
      gap:30px;
    }

.styleGalleryArchive .galleryList .galleryRow li{
        flex: 0 1 18.24818%;
      }

.styleGalleryArchive .galleryList .galleryRow + .galleryRow{
      margin-top: 30px;
    }

.styleGalleryArchive .pagenation{
    margin-top: 100px;
  }

.galleryItem{
  overflow: hidden;
}

.galleryItem .inner{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }

.galleryItem .inner:hover{
      opacity: 1;
    }

.galleryItem .textBox{
    grid-column: 1;
    grid-row: 1;
    z-index: 3;
    justify-self: center;
    align-self: center;
    width: 100%;
    height: 100%;
    position: relative;
    opacity: 0;
    background: rgba(9,0,82,.7);
    transition: opacity .4s ease;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }

.galleryItem .textBox::before{
      grid-column: 1;
      grid-row: 1;
      z-index: 1;
      justify-self: center;
      align-self: center;
      content: '';
      width: calc(100% - 20px);
      height: calc(100% - 20px);
      border: 1px solid rgba(255,255,255,.72)
    }

@media (hover:hover) {
        .galleryItem a:hover .textBox{
          opacity: 1;
        }
  }

.galleryItem .staff{
    grid-column: 1;
    grid-row: 1;
    z-index: 2;
    align-self: end;
    padding: 0 0 97px 22px;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    letter-spacing: -.05em;
  }

.galleryItem .staff::before{
      content: '';
      background: url('../../img/staff_icon.svg') no-repeat center center / contain;
      width: 13px;
      height: 17px;
      flex-shrink: 0;
      margin-right: 10px;
    }

.galleryItem .backImg{
    grid-column: 1;
    grid-row: 1;
    z-index: 1;
  }

/* ==========================================================================
   ニュース詳細
========================================================================== */

.newsSingle{
  padding-top: 110px;
}

.newsSingle .postContent{
    max-width: 946px;
    margin: 0 auto;
  }

.newsSingle .postContent .newsPostHeader{
      display: grid;
      grid-template-columns: 84px 1fr;
      grid-template-rows: auto;
      gap:0 25px;
    }

.newsSingle .postContent .newsPostHeader .dateCal{
        grid-column: 1;
        grid-row: 1;
      }

.newsSingle .postContent .newsPostHeader >h2{
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        font-weight: 700;
        font-size: 2.2rem;
        line-height: 1.62;
      }

.newsSingle .postContent .singleEdit{
      margin: 50px 0 0 auto;
      max-width: 836px;
    }

.newsSingle .singlePrevNext{
    margin-top: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:0 103px;
  }

.newsSingle .singlePrevNext .linkBox a{
        font-size: 1.6rem;
        display: flex;
        align-items: center;
      }

.newsSingle .singlePrevNext .backList{
      width: 50px;
      height: 50px;
      border-radius: 3px;
      border: 1px solid #d1d1d1;
      background: #111111;
      background: var(--base-color);
      justify-content: center;
    }

.newsSingle .singlePrevNext .prev{
      letter-spacing: .1em;
    }

.newsSingle .singlePrevNext .prev::before{
        content: '';
        width: 18px;
        height: 11px;
        background: url('../../img/prev_arrow.svg') no-repeat center center / contain;
        flex-shrink: 0;
        margin-right: 14px;
      }

.newsSingle .singlePrevNext .next{
      letter-spacing: .1em;
    }

.newsSingle .singlePrevNext .next::after{
        content: '';
        width: 18px;
        height: 11px;
        background: url('../../img/prev_arrow.svg') no-repeat center center / contain;
        flex-shrink: 0;
        margin-left: 14px;
        rotate:180deg;
      }

/* ==========================================================================
   ニュース詳細
========================================================================== */

.newsArchive .pageHeader{
    margin-bottom: 50px;
  }

.newsArchive .newsRow{
    width: min(calc(100% - 40px),1200px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap:30px;
  }

.newsArchive .pagenation{
    margin-top: 100px;
  }

.newsPostBox{
  background: #444444;
  padding: 20px;
  position: relative;
  z-index: 1;
  min-height: 289px;
}

.newsPostBox::before{
    content: '';
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: -1;
    border: 1px solid #333333;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
  }

.newsPostBox a{
    display: grid;
    grid-template-columns: 100px 1fr;
    grid-template-rows: auto 1fr;
  }

.newsPostBox .dateCal{
    grid-column: 1;
    grid-row: 1;
    padding-right: 0;
    border-right: none;
    margin-top: 55px;
  }

.newsPostBox .dateCal .year{
      font-size: 2.1rem;
      margin: 0 0 7px;
    }

.newsPostBox .dateCal .dateBox{
      grid-template-columns: 100%;
      grid-template-rows: 62px;
      margin-left: 16px;
      width: 62px;
      height: 62px;
      font-size: 3.8rem;
    }

.newsPostBox .dateCal .dateBox .month{
        margin: -.1em 0 0 -.4em;
      }

.newsPostBox .dateCal .dateBox .day{
        margin: 0 -.28em -.18em 0;
      }

.newsPostBox .tm{
    grid-column: 2;
    grid-row: 1;
  }

.newsPostBox .title{
    grid-column: 1 / 3;
    grid-row: 2;
    margin-top: 20px;
    font-size: 2rem;
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-align:left;
  }

/* ==========================================================================
   staff
========================================================================== */

.staffArchive .pageHeader{
    margin-bottom: 50px;
  }

.staffArchive .staffBox{
    max-width: 1400px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 691px;
    grid-template-rows: 1fr auto;
  }

.staffArchive .staffBox .ph{
      grid-column: 1;
      grid-row: 1;
      z-index: 1;
      align-self: start;
    }

.staffArchive .staffBox .profile{
      grid-column: 2;
      grid-row: 1;
      z-index: 1;
      align-self: start;
    }

.staffArchive .staffBox .galleryList{
      grid-column: 1 / 3;
      grid-row: 2;
      z-index: 2;
    }

.staffArchive .staffBox .ph{
      max-height: 779px;
      aspect-ratio: 709/779;
      background: #111111;
      background: var(--base-color);
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      padding: 30px;
    }

.staffArchive .staffBox .ph figcaption{
        position: absolute;
        top: 0;
        right: 0;
        font-size: 4.2rem;
        letter-spacing: .2em;
        line-height: 1;
        font-style: italic;
        writing-mode: sideways-lr;
        color: #555555;
      }

.staffArchive .staffBox .profile{
      margin-top: 70px;
      min-height: 779px;
      background: #444444;
      box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16);
      padding: 108px 40px 108px 55px;
      position: relative;
      z-index: 1;
    }

.staffArchive .staffBox .profile::before{
        content: '';
        position: absolute;
        top: 28px;
        left: 28px;
        z-index: -1;
        border: 1px solid #333333;
        width: calc(100% - 56px);
        height: calc(100% - 56px);
      }

.staffArchive .staffBox .profile >header{
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-rows: auto 1fr;
        padding-right: 30px;
        line-height: 1.5;
        margin-bottom: 36px;
      }

.staffArchive .staffBox .profile >header::before{
          grid-column: 1;
          grid-row: 1;
          content: '';
          background: url('../../img/staff_line.svg') no-repeat center center / contain;
          width: 24px;
          height: 85px;
          margin-right: 12px;
        }

.staffArchive .staffBox .profile >header .name{
          grid-column: 2;
          grid-row: 1;
          align-self: center;
          font-size: 4.2rem;
          font-weight: 700;
        }

.staffArchive .staffBox .profile >header .instagram{
          grid-column: 3;
          grid-row: 1;
          align-self: center;
          margin-left: 30px;
        }

.staffArchive .staffBox .profile .textScrollBox{
        height: 376px;
        overflow-y: auto;
        padding-right: 20px;
      }

.staffArchive .staffBox .profile .textScrollBox::-webkit-scrollbar{
          width: 1px;
          background: #555555;
        }

.staffArchive .staffBox .profile .textScrollBox::-webkit-scrollbar-thumb{
          background-color: #ffffff;
          background-color: var(--text-color);
        }

.staffArchive .staffBox .profile .textScrollBox >* + *{
          margin-top: 20px;
        }

.staffArchive .staffBox .profile p{
        font-size: 1.4rem;
        line-height: 1.57;
        font-weight: 300;
      }

.staffArchive .staffBox .profile .profSec h2{
          font-size: 1.5rem;
          line-height: 1.46;
          font-weight: 500;
          margin-bottom: 9px;
        }

.staffArchive .staffBox .profile .goAllStyle{
        margin-top: 29px;
        min-width: 228px;
        min-height: 38px;
        background: #111111;
        background: var(--base-color);
        display: inline-flex;
        align-items: center;
        padding: 5px 28px 5px 20px;
      }

.staffArchive .staffBox .profile .goAllStyle::before{
          content: '';
          background: url('../../img/staff_icon.svg') no-repeat center center / contain;
          width: 15px;
          height: 20px;
          flex-shrink: 0;
          margin-right: 18px;
        }

.staffArchive .staffBox .galleryList{
      margin-top: -40px;
    }

.staffArchive .staffBox .galleryList ul{
        display: flex;
        justify-content: center;
        gap:30px;
      }

.staffArchive .staffBox .galleryList ul li{
          flex: 0 1 18.24818%;
        }

.staffArchive .staffBox + .staffBox{
    margin-top: 100px;
  }

/* ==========================================================================
   MENU
========================================================================== */

.menuPage .main{
    max-width: 1150px;
    margin: 80px auto 0;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap:0 50px;
  }

.menuPage .menuPriceSec >h2{
      font-size: 1.3rem;
      line-height: 1.46;
      padding-bottom: 13px;
      border-bottom: 1px solid #DDDDDD;
      border-bottom: 1px solid var(--color-gray2);
      display: flex;
      align-items: center;
      gap:0 15px;
      margin-bottom: 30px;
      font-weight: 400;
    }

.menuPage .menuPriceSec >h2::before{
        content: attr(data-en);
        font-size: 2.4rem;
        font-family: "adobe-garamond-pro", serif;
        font-family: var(--en-font);
        line-height: 1;
      }

.menuPage .menuPriceSec >figure{
      margin-bottom: 30px;
      overflow: hidden;
      border-radius: 3px;
    }

.menuPage .menuPriceSec >p{
      line-height: 1.42;
    }

.menuPage .menuPriceSec >dl{
      margin-top: 21px;
      display: grid;
      grid-template-columns: 1fr auto;
    }

.menuPage .menuPriceSec >dl dt{
        grid-column: 1;
        font-size: 1.8rem;
        font-weight: 500;
        align-self: center;
        font-family: "Zen Old Mincho", serif;
      }

.menuPage .menuPriceSec >dl .price{
        grid-column: 2;
        align-self: center;
        justify-self: end;
        font-family: "adobe-garamond-pro", serif;
        font-family: var(--en-font);
        font-size: 2.2rem;
        font-weight: 600;
        line-height: 1;
      }

.menuPage .menuPriceSec >dl .price .en{
          font-family: 'Noto Sans','Noto Sans JP','Noto Sans CJK JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','游ゴシック','游ゴシック体', 'YuGothic M', YuGothic,'メイリオ',Meiryo,sans-serif;
          font-family: var(--body-font);
          font-size: 1.6rem;
          font-weight: 500;
        }

.menuPage .menuPriceSec >dl .price .plus{
          font-size: 2.2rem;
          font-weight: 300;
        }

.menuPage .menuPriceSec >dl .description{
        grid-column: 1 / 3;
        margin-top: 7px;
        max-width: 448px;
        font-size: 1.3rem;
        font-weight: 300;
        line-height: 1.46;
      }

.menuPage .menuPriceSec >dl .description >* + *{
          margin-top: 1.6em;
        }

.menuPage .menuPriceSec >dl .description ul li{
            text-indent: -1em;
            margin-left: 1em;
          }

.menuPage .menuPriceSec >dl .description ul li::before{
              content: '・';
            }

.menuPage .menuPriceSec >dl + dl{
      margin-top: 21px;
    }

.menuPage .menuPriceSec .pcm{
      margin-bottom: 64px;
    }

.menuPage .menuPriceSec .notice{
      font-size: 1.3rem;
      line-height: 1.46;
      margin-top: 20px;
    }

.menuPage .menuPriceSec + .menuPriceSec{
    margin-top: 50px;
  }

.menuPage .endText{
    margin-top: 50px;
    font-size: 1.3rem;
  }

/* ==========================================================================
   home
========================================================================== */

.home .container{
    grid-template-rows: 0 1fr auto auto;
  }

.home .header{
    background: linear-gradient(rgba(17, 17, 17, 0.68) 0%, rgba(17, 17, 17, 0) 100%);
  }

.home .fixHeader{
    background: rgba(34,34,34,0.87);
  }

.homePage .homeMvSlide{
    
    position: relative;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }

.homePage .homeMvSlide .swiper{
      grid-column: 1;
      grid-row: 1;
      z-index: 1;
      width: 100%;
    }

.homePage .homeMvSlide .swiper .swiper-slide{
        height: 100dvh;
        min-height: 600px;
      }

.homePage .homeMvSlide .swiper .swiper-slide picture{
          display: contents;
        }

.homePage .homeMvSlide .swiper .swiper-slide img{
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
             object-fit: cover;
        }

.homePage .homeMvSlide .swiper-pagination{
      position: static;
      margin-bottom: 35px;
      grid-column: 1;
      grid-row: 1;
      z-index: 2;
      justify-self: center;
      align-self: end;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-flow: row wrap;
      gap:10px;
    }

.homePage .homeMvSlide .swiper-pagination .swiper-pagination-bullet{
        width: 13px;
        height: 13px;
        border: 1px solid #707070;
        border-radius: 50%;
        background: #fff;
        margin: 0;
        opacity: 1;
      }

.homePage .homeMvSlide .swiper-pagination .swiper-pagination-bullet-active{
        background: #111111;
        background: var(--base-color);
      }

.homePage .homeMvSlide .catch{
      grid-column: 1;
      grid-row: 1;
      z-index: 2;
      justify-self: center;
      align-self: center;
    }

.homePage .homeMvSlide .catch span{
        display: block;
        font-size: 2.4rem;
        line-height: 1;
        margin-top: 20px;
        text-align: center;
      }

.homePage .homeMvSlide .reservationBtn{
      width: 400px;
      height: 60px;
      border-radius: 3px 0px 0px 3px;
      background-image: url('../../img/reservation_cal.svg'),url('../../img/reservation_plus.svg');
      background-repeat: no-repeat;
      background-size: 32px auto,15px auto;
      background-position: 20px center,calc(100% - 26px) center;
      background-color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      right: 0;
      bottom: 24px;
      z-index: 3;
      font-size: 1.6rem;
      color: #111111;
      color: var(--base-color);
    }

.homePage .pointSection{
    max-width: 1400px;
    margin-inline:auto;
    display: grid;
    grid-template-columns: 1fr 600px 1fr;
    grid-template-rows: auto;
  }

.homePage .pointSection .textBox{
      grid-column: 2;
      grid-row: 1;
      z-index: 2;
      align-self: center;
      width: 600px;
      min-height: 500px;
      background: #111111;
      background: var(--base-color);
      box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.16);
    }

.homePage .pointSection .textBox .number{
        margin-top: -50px;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto;
        line-height: 1;
        text-align: center;
      }

.homePage .pointSection .textBox .number .point{
          grid-column: 1;
          grid-row: 1;
          z-index: 1;
          align-self: center;
          justify-self: center;
          font-size: 5rem;
          letter-spacing: .2em;
          font-style: italic;
          color: rgba(255,255,255,.5);
          padding-top: .3em;
        }

.homePage .pointSection .textBox .number .num{
          grid-column: 1;
          grid-row: 1;
          z-index: 2;
          justify-self: center;
          font-size: 20rem;
          letter-spacing: -.05em;
          color: rgba(226,226,181,.7);
          text-box-trim: trim-both;
          text-box-edge: cap alphabetic;
        }

.homePage .pointSection .textBox h2{
        margin: 45px auto 0;
        max-width: 430px;
        font-size: 2.6rem;
        line-height: 1.38;
        font-weight: 700;
        display: flex;
        align-items: center;
      }

.homePage .pointSection .textBox h2::before{
          grid-column: 1;
          grid-row: 1;
          content: '';
          background: url('../../img/point_line.svg') no-repeat center center / contain;
          width: 18px;
          height: 64px;
          margin-right: 7px;
          flex-shrink: 0;
        }

.homePage .pointSection .textBox p{
        margin: 20px auto 0;
        max-width: 430px;
        font-size: 1.5rem;
        line-height: 2;
      }

.homePage .pointSection .imgBox1{
      grid-column: 1;
      grid-row: 1;
      z-index: 1;
      align-self: start;
      margin-right: -50px;
      position: relative;
    }

.homePage .pointSection .imgBox1 img{
        position: absolute;
        top: -50px;
        right: 0;
        width: 450px;
        max-width: none;
      }

.homePage .pointSection .imgBox2{
      grid-column: 3;
      grid-row: 1;
      z-index: 1;
      align-self: end;
      margin-left: -50px;
      position: relative;
    }

.homePage .pointSection .imgBox2 img{
        position: absolute;
        bottom: -50px;
        left: 0;
        width: 450px;
        max-width: none;
      }

.homePage .pointSection1{
    margin-top: 201px;
  }

.homePage .pointSection2,
  .homePage .pointSection3{
    margin-top: 130px;
  }

.homePage .secTitle{
		font-size: 12rem;
		font-weight: 400;
    letter-spacing: -0.03em;
    color: #DDDDDD;
    line-height: 1;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }

.homePage .news{
    width: min(calc(100% - 40px),1200px);
    margin: 175px auto 0;
    position: relative;
    z-index: 1;
  }

.homePage .news::before{
      content: '';
      width: 892px;
      height: 364px;
      background: #333;
      position: absolute;
      top: 0;
      left: 50%;
      translate:-50% 0;
      z-index: -1;

    }

.homePage .news .secTitle{
      margin-bottom: 30px;
    }

.homePage .news .newsRow{
      display: grid;
      grid-template-columns: repeat(3,1fr);
      gap:30px;
    }

.homePage .news .moreBtn{
      margin: 50px auto 0;
      width: 250px;
      height: 55px;
      border-radius: 3px;
      background: url('../../img/plus_white.svg') no-repeat calc(100% - 20px) center / 15px auto;
      background-color: #111111;
      background-color: var(--base-color);
      font-size: 1.4rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: .1em;
      display: flex;
      align-items: center;
      padding-left: 38px;
    }

.homePage .styleGallery{
    margin-top: 100px;
  }

.homePage .styleGallery .secTitle{
      text-align: center;
      margin-bottom: 36px;
    }

.homePage .styleGallery .catList{
      list-style: none;
      display: flex;
      justify-content: center;
      flex-flow: row wrap;
      gap: .5em 0; 
      font-size: 1.5rem;
      letter-spacing: .1em;
      font-weight: 700;
    }

.homePage .styleGallery .catList li{
        flex-shrink: 0;
      }

.homePage .styleGallery .catList li::after{
          content: '｜';
          margin: 0 2em;
        }

.homePage .styleGallery .catList li:first-child::before{
          content: '｜';
          margin: 0 2em;
        }

.homePage .styleGallery .catList button{
        color: #fff;
        cursor: pointer;
      }

@media (hover:hover) {
          .homePage .styleGallery .catList button:hover{
            opacity: .8;
          }
        }

.homePage .styleGallery .catList .current{
        color: #777777;
        pointer-events: none;
      }

.homePage .styleGallery .galleryRowAll{
      margin: 30px auto 0;
      max-width: 1370px;
      min-height: 250px;
    }

.homePage .styleGallery .galleryRowAll .galleryRow{
        display: flex;
        justify-content: center;
        gap:30px;
      }

.homePage .styleGallery .galleryRowAll .galleryRow li{
          flex: 0 1 18.24818%;
        }

.homePage .styleGallery .galleryRowAll .galleryRow + .galleryRow{
        margin-top: 30px;
      }

.homePage .staff{
    margin-top: 110px;
  }

.homePage .staff .secTitle{
      text-align: center;
    }

.homePage .staff .staffRow{
      max-width: 1400px;
      margin: 0 auto;
    }

.homePage .staff .staffHomeBox{
      display: grid;
      grid-template-columns: 35.71429% 34.85714% 29.42857%;
      grid-template-rows: auto;
      /* .galleryList:not(:has(.itemCount2)){
        .goAllStyleBtn{
          display: none;
        }
      } */
    }

.homePage .staff .staffHomeBox .ph{
        grid-column: 1;
        grid-row: 1;
      }

.homePage .staff .staffHomeBox .profile{
        grid-column: 2;
        grid-row: 1;
      }

.homePage .staff .staffHomeBox .galleryList{
        grid-column: 3;
        grid-row: 1;
      }

.homePage .staff .staffHomeBox .ph{
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        padding: 50px 30px;
      }

.homePage .staff .staffHomeBox .ph figcaption{
          position: absolute;
          top: 50px;
          right: 0;
          font-size: 3rem;
          letter-spacing: .2em;
          line-height: 1;
          font-style: italic;
          writing-mode: sideways-lr;
          color: #555555;
        }

.homePage .staff .staffHomeBox .profile{
        padding: 39px;
        position: relative;
        z-index: 1;
        background: #555555;
        display: flex;
        flex-flow: column;
        justify-content: center;
      }

.homePage .staff .staffHomeBox .profile::before{
          content: '';
          position: absolute;
          top: 20px;
          left: 20px;
          z-index: -1;
          border: 1px solid #333333;
          width: calc(100% - 40px);
          height: calc(100% - 40px);
        }

.homePage .staff .staffHomeBox .profile >header{
          display: grid;
          grid-template-columns: auto 1fr auto;
          grid-template-rows: auto 1fr;
          line-height: 1.5;
          margin-bottom: 15px;
        }

.homePage .staff .staffHomeBox .profile >header::before{
            grid-column: 1;
            grid-row: 1;
            content: '';
            background: url('../../img/home_staff_line.svg') no-repeat center center / contain;
            width: 16px;
            height: 60px;
            margin-right: 8px;
          }

.homePage .staff .staffHomeBox .profile >header .name{
            grid-column: 2;
            grid-row: 1;
            align-self: center;
            font-size: 3.5rem;
            font-weight: 700;
          }

.homePage .staff .staffHomeBox .profile >header .instagram{
            grid-column: 3;
            grid-row: 1;
            align-self: center;
          }

.homePage .staff .staffHomeBox .profile .textBox{
          line-height: 2;
          font-size: 1.5rem;
        }

.homePage .staff .staffHomeBox .profile .goStaff{
          margin-top: 20px;
          width: 150px;
          height: 33px;
          border-radius: 3px;
          background: url('../../img/plus_white.svg') no-repeat calc(100% - 11px) center / 13px auto;
          background-color: #111111;
          background-color: var(--base-color);
          font-size: 1.4rem;
          font-weight: 700;
          line-height: 1;
          display: flex;
          align-items: center;
          padding-left: 23px;
          letter-spacing: .1em;
        }

.homePage .staff .staffHomeBox .galleryList{
        position: relative;
        display: grid;
        grid-template-columns: 100%;
        grid-template-rows: auto;
      }

.homePage .staff .staffHomeBox .galleryList ul{
          grid-column: 1;
          grid-row: 1;
          z-index: 1;
          display: flex;
          flex-flow: row wrap;
          gap:0;
        }

.homePage .staff .staffHomeBox .galleryList ul li{
            flex: 0 1 50%;
            height: 50%;
          }

.homePage .staff .staffHomeBox .galleryList ul img{
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover;
          }

.homePage .staff .staffHomeBox .galleryList .goAllStyleBtn{
          grid-column: 1;
          grid-row: 1;
          z-index: 2;
          justify-self: center;
          align-self: center;
          width: 90px;
          min-height: 110px;
          padding: 10px;
          border-radius: 3px;
          display: flex;
          flex-flow: column;
          justify-content: center;
          align-items: center;
          background: #222222;
          background: var(--color-black);
          text-align: center;
          font-size: 1.3rem;
          line-height: 1.5;
        }

.homePage .staff .staffHomeBox .galleryList .goAllStyleBtn::before{
            content: '';
            background: url('../../img/staff_icon.svg') no-repeat center center / contain;
            width: 13px;
            height: 17px;
            margin-bottom: 5px;
          }

.homePage .staff .staffHomeBox:nth-child(even) .ph{
        background: #111111;
        background: var(--base-color);
      }

.homePage .staff .staffHomeBox:nth-child(even) .profile{
        background: #444444;
      }

.homePage .instagramGallery{
    margin: 100px auto 0;
    width: min(calc(100% - 40px),1229px);
  }

.homePage .instagramGallery .instagramLink{
      background: #111111;
      background: var(--base-color);
      height: 50px;
      border-radius: 3px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

.homePage .instagramGallery .instagramLink img{
        width: 25px;;
      }

.homePage .instagramGallery .follow{
      background: #111111;
      background: var(--base-color);
      height: 50px;
      border-radius: 3px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      font-size: 1.7rem;
      font-weight: 600;
    }

.homePage .mainCta{
    margin-top: 100px;
  }

.homePage .shopInfo{
    margin-top: 100px;
    background: #111111;
    background: var(--base-color);
  }

.homePage .shopInfo .inner{
      max-width: 1400px;
      margin: 0 auto;
      padding: 30px;
      position: relative;
      display: grid;
      grid-template-columns: 500px 1fr;
      gap:0 30px;
    }

.homePage .shopInfo .secTitle{
      position: absolute;
      top:0;
      left: 30px;
      translate:0 -63%;
    }

.homePage .shopInfo .info{
      grid-column: 1;
      border: 1px solid #707070;
      min-height: 500px;
      padding: 30px;
      display: flex;
      flex-flow: column;
      justify-content: center;
      align-items: center;
      font-family: "adobe-garamond-pro","Zen Old Mincho", serif;

    }

.homePage .shopInfo .info .fontEn{
        letter-spacing: .1em;
      }

.homePage .shopInfo .info .infoDL{
        display: grid;
        grid-template-columns: 90px 1fr;
        gap:53px 10px;
      }

.homePage .shopInfo .info .infoDL dt{
          font-weight: 400;
          font-size: 1.5rem;
        }

.homePage .shopInfo .info .infoDL dd{
          font-weight: 400;
        }

.homePage .shopInfo .info .infoDL .mapBtn{
          width: 250px;
          height: 45px;
          background: url('../../img/googlemap_btn_bk.svg') no-repeat center center / contain;
          display: grid;
          place-content:center;
          letter-spacing: .2em;
          margin-top: 19px;
        }

.homePage .shopInfo .info .infoDL .access{
          margin-top: 16px;
        }

.homePage .shopInfo .info .infoDL .openList li{
            display: grid;
            grid-template-columns: 130px 1fr;
            gap:0 10px;
          }

.homePage .shopInfo .info .infoDL .openList li + li{
            margin-top: 8px;
          }

.homePage .shopInfo .map{
      grid-column: 2;
      grid-row: 1;
      -moz-filter: grayscale(100%);
      -o-filter: grayscale(100%);
      -ms-filter: grayscale(100%);
      filter: grayscale(100%);
    }

.homePage .shopInfo .map iframe{
        width: 100%;
        height: 100%;
      }

/* ==========================================================================
   end
========================================================================== */

@media only screen and (max-width: 767px) {
  html{
    font-size: 2.5641vw;
    scroll-padding-top: 20.51282vw;
  }
body {
  min-width: 0;
	width:100%;
}
img{
	width: 100%;
}
.spShow{
	display: inline-block;
}
.pcShow{
	display: none;
}
.container{
	display: grid;
	min-height: 100vh;
	grid-template-columns: 100%;
  grid-template-rows: 19.48718vw 1fr auto auto;
}
/* ==========================================================================
   ヘッダー
========================================================================== */
.header{
  min-width: 0;
  height: 19.48718vw;
  padding-left: 3.84615vw;
  gap:0 5.12821vw;
}
  .header .siteTitle{
    max-width: 56.41026vw;
    height: 15.38462vw;
  }
  .header .menuBtn{
    width: 19.48718vw;
    height: 19.48718vw;
  }
      .header .menuBtn button .inner{
        gap: 0.76923vw 0;
      }
      .header .menuBtn button .line{
        width: 9.74359vw;
        height: 0.25641vw;
      }
      .header .menuBtn .menuBtnOpen .line2{
        margin-top: 1.53846vw;
      }
      .header .menuBtn .menuBtnOpen .name{
        margin-top: 0.25641vw;
      }
.header:has(.menuBtnOpen){
  background: transparent;
}
/* ==========================================================================
   gNav
========================================================================== */
.gNav{
  width: 100%;
  height: 100%;
  max-height: none;
  height: 100dvh;
  padding: 25.64103vw 11.53846vw 6.41026vw;
}
  .gNav ul{
    gap:8.71795vw 2.5641vw;
  }
      .gNav ul .homeLink img{
        width: 7.69231vw;
      }
  .gNav .reservationLink{
    margin-top: 16.66667vw;
    width: 76.92308vw;
    height: 76.92308vw;
    border: 0.25641vw solid #555555;
    border: 0.25641vw solid var(--color-gray);
  }
    .gNav .reservationLink::before{
      width: 9.23077vw;
      height: 10.25641vw;
      margin-bottom: 6.41026vw;
    }
    .gNav .reservationLink::after{
      width: 3.84615vw;
      height: 3.84615vw;
      margin-top: 3.84615vw;
    }
/* ==========================================================================
   footer
========================================================================== */
.footer{
  padding: 8.71795vw 5.12821vw 5.12821vw;
}
  .footer .footerInner{
    max-height: none;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 0 6.66667vw;
  }
  .footer .footereLogo{
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    max-width: 58.97436vw;
  }
  .footer .pageLink{
    grid-column: 1 / 3;
    grid-row: 3;
    margin-top: 4.87179vw;
  }
    .footer .pageLink ul{
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      letter-spacing: -.05em;
      gap:2.5641vw 11.53846vw;
    }
  .footer .sns{
    grid-column: 1 / 3;
    grid-row: 2;
    margin-top: 6.66667vw;
    gap:0 7.69231vw;
    justify-content: flex-start;
  }
    .footer .sns .instagram{
      width: 4.87179vw;
    }
    .footer .sns .x{
      width: 4.87179vw;
    }
    .footer .sns .tiktok{
      width: 4.35897vw;
    }
    .footer .sns .youtube{
      width: 4.10256vw;
    }
    .footer .sns .facebok{
      width: 2.5641vw;
    }
    .footer .sns .note{
      width: 9.48718vw;
    }
  .footer .copyright{
    grid-column: 1;
    grid-row: 1;
  }
  .footer .pagetop{
    width: 25.64103vw;
    bottom: 10.25641vw;
    right: 0;
  }
  .footer .stopBtn{
    top: -12.82051vw;
    bottom: auto;
  }
/* ==========================================================================
   mainCta
========================================================================== */
.mainCta{
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  height: auto;
  display: block;
  background: url('../../img/sp_cta_bk.jpg') no-repeat center top / 100% auto;
  padding-top: 51.28205vw;
}
  .mainCta::before{
    display: none;
  }
  .mainCta >h2{
    font-size: 7rem;
    line-height: 1;
    text-align: center;
    margin-right: 0;
  }
  .mainCta .reservationLink{
    width: 92.30769vw;
    height: 92.30769vw;
    margin: 33.33333vw auto 0;
    border-radius: 0.76923vw;
  }
    .mainCta .reservationLink::before{
      width: 11.53846vw;
      height: 12.82051vw;
      margin-bottom: 4.35897vw;
    }
    .mainCta .reservationLink::after{
      width: 3.84615vw;
      height: 3.84615vw;
      margin-top: 3.84615vw;
    }
/* ==========================================================================
   Style gallery
========================================================================== */
  .styleGalleryArchive .pageHeader{
    margin-bottom: 20.51282vw;
  }
  .styleGalleryArchive .galleryList{
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:2.5641vw;
  }
    .styleGalleryArchive .galleryList .galleryRow{
      display: contents;
    }
  .styleGalleryArchive .galleryItem.odd{
    margin-top: -12.82051vw;
  }
.galleryItem{
  overflow: hidden;
}
  .galleryItem .inner{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }
    .galleryItem .inner:hover{
      opacity: 1;
    }
  .galleryItem .textBox{
    display: none;
  }
  .galleryItem .staff{
    display: none;
  }
/* ==========================================================================
   ニュース詳細
========================================================================== */
.newsSingle{
  padding-top: 14.35897vw;
}
  .newsSingle .postContent{
    max-width: 92.30769vw;
  }
    .newsSingle .postContent .newsPostHeader{
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto 1fr;
      gap:18.20513vw 0;
    }
      .newsSingle .postContent .newsPostHeader .dateCal{
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        padding-right: 0;
        border-right: 0;
      }
      .newsSingle .postContent .newsPostHeader >h2{
        grid-column: 1;
        grid-row: 2;
        line-height: 1.18;
        padding-left: 6.66667vw;
        border-left: 0.25641vw solid #ffffff;
        border-left: 0.25641vw solid var(--text-color);
        padding-top: .3em;
        padding-bottom: .3em;
      }
    .newsSingle .postContent .singleEdit{
      margin: 12.82051vw 0 0 auto;
      max-width: none;
    }
  .newsSingle .singlePrevNext{
    margin-top: 12.82051vw;
    display: flex;
    justify-content: center;
    align-items: center;
    gap:0 16.41026vw;
  }
      .newsSingle .singlePrevNext .linkBox a{
        font-size: 1.6rem;
        display: flex;
        align-items: center;
      }
    .newsSingle .singlePrevNext .backList{
      width: 24.10256vw;
      height: 12.82051vw;
      border-radius: 0.76923vw;
      border: 0.25641vw solid #d1d1d1;
    }
      .newsSingle .singlePrevNext .prev::before{
        width: 4.61538vw;
        height: 2.82051vw;
        margin-right: 0.51282vw;
      }
      .newsSingle .singlePrevNext .next::after{
        width: 4.61538vw;
        height: 2.82051vw;
        margin-left: 0.51282vw;
      }
/* ==========================================================================
   ニュース詳細
========================================================================== */
  .newsArchive .pageHeader{
    margin-bottom: 7.69231vw;
  }
  .newsArchive .newsRow{
    width: 100%;
    grid-template-columns: repeat(2,1fr);
    gap:2.5641vw;
  }
  .newsArchive .pagenation{
    margin-top: 12.82051vw;
  }
.newsPostBox{
  padding: 6.41026vw 5.12821vw;
  min-height: 48.71795vw;
}
  .newsPostBox::before{
    top: 2.5641vw;
    left: 2.5641vw;
    border: 0.25641vw solid #333333;
    width: calc(100% - 5.12821vw);
    height: calc(100% - 5.12821vw);
  }
  .newsPostBox a{
    display: grid;
    grid-template-columns: 17.4359vw 1fr;
  }
  .newsPostBox .dateCal{
    margin-top: 0;
  }
    .newsPostBox .dateCal .year{
      font-size: 1.3rem;
      margin: 0 0 1.79487vw;
    }
    .newsPostBox .dateCal .dateBox{
      grid-template-rows: 10vw;
      margin-left: 3.58974vw;
      width: 10vw;
      height: 10vw;
      font-size: 2.4rem;
    }
  .newsPostBox .tm{
    grid-column: 2;
    grid-row: 1;
  }
    .newsPostBox .tm img{
      width: 20.51282vw;
    }
  .newsPostBox .title{
    grid-column: 1 / 3;
    grid-row: 2;
    margin-top: 1.28205vw;
    font-size: 1.6rem;
    line-height: 1.37;
  }
/* ==========================================================================
   staff
========================================================================== */
  .staffArchive .pageHeader{
    margin-bottom: 21.79487vw;
  }
  .staffArchive .staffBox{
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: auto 1fr auto;
  }
    .staffArchive .staffBox .ph{
      grid-column: 1;
      grid-row: 1;
    }
    .staffArchive .staffBox .profile{
      grid-column: 1;
      grid-row: 2;
    }
    .staffArchive .staffBox .galleryList{
      grid-column: 1;
      grid-row: 3;
    }
    .staffArchive .staffBox .ph{
      max-height: none;
      aspect-ratio:auto;
      background: none;
      padding: 0;
    }
      .staffArchive .staffBox .ph img{
        width: 74.35897vw;
      }
      .staffArchive .staffBox .ph figcaption{
        right: 0;
        font-size:3rem;
      }
    .staffArchive .staffBox .profile{
      margin-top: 12.5641vw;
      min-height: 0;
      padding: 12.82051vw 6.41026vw 12.30769vw 10.25641vw;
    }
      .staffArchive .staffBox .profile::before{
        top: 5.12821vw;
        left: 5.12821vw;
        border: 0.25641vw solid #333333;
        width: calc(100% - 10.25641vw);
        height: calc(100% - 10.25641vw);
      }
      .staffArchive .staffBox .profile >header{
        padding-right: 3.84615vw;
        margin-bottom: 6.41026vw;
      }
        .staffArchive .staffBox .profile >header::before{
          width: 4.10256vw;
          height: 15.38462vw;
          margin-right: 2.05128vw;
        }
        .staffArchive .staffBox .profile >header .name{
          font-size: 3.5rem;
        }
        .staffArchive .staffBox .profile >header .instagram{
          width: 5.64103vw;
          margin-left: 3.84615vw;
        }
      .staffArchive .staffBox .profile .textScrollBox{
        height: 96.41026vw;
        padding-right: 3.84615vw;
      }
        .staffArchive .staffBox .profile .textScrollBox::-webkit-scrollbar{
          width: 0.51282vw;
        }
        .staffArchive .staffBox .profile .textScrollBox >* + *{
          margin-top: 5.12821vw;
        }
      .staffArchive .staffBox .profile .goAllStyle{
        margin-top: 7.4359vw;
        min-width: 56.92308vw;
        min-height: 8.97436vw;
        font-size: 1.3rem;
        padding: 1.53846vw 7.94872vw 1.53846vw 4.61538vw;
      }
        .staffArchive .staffBox .profile .goAllStyle::before{
          width: 3.58974vw;
          height: 4.61538vw;
          margin-right: 4.35897vw;
        }
    .staffArchive .staffBox .galleryList{
      margin-top:0;
      position: relative;
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto;
    }
      .staffArchive .staffBox .galleryList ul{
        grid-column: 1;
        grid-row: 1;
        z-index: 1;
        flex-flow: row wrap;
        gap:0;
      }
        .staffArchive .staffBox .galleryList ul li{
          flex: 0 1 50%;
        }
        .staffArchive .staffBox .galleryList ul li:nth-child(5){
          display: none;
        }
      .staffArchive .staffBox .galleryList .goAllStyleBtn{
        grid-column: 1;
        grid-row: 1;
        z-index: 2;
        justify-self: center;
        align-self: center;
        width: 21.79487vw;
        min-height: 26.66667vw;
        border-radius: 0.76923vw;
        padding: 1.28205vw;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        background: #222222;
        background: var(--color-black);
        text-align: center;
        font-size: 1.2rem;
        line-height: 1.5;
      }
        .staffArchive .staffBox .galleryList .goAllStyleBtn::before{
          content: '';
          background: url('../../img/staff_icon.svg') no-repeat center center / contain;
          width: 3.07692vw;
          height: 4.10256vw;
          margin-bottom: 1.53846vw;
        }
      .staffArchive .staffBox .galleryList:not(:has(.itemCount2)) .goAllStyleBtn{
        display: none;
      }
  .staffArchive .staffBox + .staffBox{
    margin-top: 25.64103vw;
  }
/* ==========================================================================
   MENU
========================================================================== */
  .menuPage .main{
    max-width: 92.30769vw;
    margin: 12.82051vw auto 0;
    display: grid;
    grid-template-columns: 100%;
    gap:12.82051vw 0;
  }
    .menuPage .menuPriceSec >h2{
      flex-flow: row wrap;
      padding-bottom: 3.33333vw;
      border-bottom: 0.25641vw solid #DDDDDD;
      border-bottom: 0.25641vw solid var(--color-gray2);
      gap:1.28205vw 3.84615vw;
      margin-bottom: 7.69231vw;
    }
    .menuPage .menuPriceSec >figure{
      margin-bottom: 7.69231vw;
      border-radius: 0.76923vw;
    }
    .menuPage .menuPriceSec >dl{
      margin-top: 5.12821vw;
      grid-template-columns: 100%;
    }
      .menuPage .menuPriceSec >dl dt{
        grid-column: 1;
        grid-row: 1;
      }
      .menuPage .menuPriceSec >dl .price{
        grid-column: 1;
        grid-row: 3;
        align-self: start;
        justify-self: end;
        margin-top: 2.5641vw;
      }
      .menuPage .menuPriceSec >dl .description{
        grid-column: 1;
        grid-row: 2;
        margin-top: 1.79487vw;
        max-width: none;
      }
    .menuPage .menuPriceSec >dl + dl{
      margin-top: 5.12821vw;
    }
    .menuPage .menuPriceSec .pcm{
      margin-bottom: 7.4359vw;
    }
    .menuPage .menuPriceSec .notice{
      margin-top: 5.12821vw;
    }
  .menuPage .menuPriceSec + .menuPriceSec{
    margin-top: 12.82051vw;
  }
  .menuPage .endText{
    margin-top: 0;
  }
/* ==========================================================================
   home page
========================================================================== */
      .homePage .homeMvSlide .swiper .swiper-slide{
        min-height: 100vw;
      }
    .homePage .homeMvSlide .swiper-pagination{
      margin-bottom: 8.97436vw;
      gap:2.5641vw;
    }
      .homePage .homeMvSlide .swiper-pagination .swiper-pagination-bullet{
        width: 3.33333vw;
        height: 3.33333vw;
        border: 0.25641vw solid #707070;
      }
    .homePage .homeMvSlide .catch{
      max-width: 83.58974vw;
    }
      .homePage .homeMvSlide .catch span{
        margin-top: 5.12821vw;
      }
    .homePage .homeMvSlide .reservationBtn{
      width: 76.92308vw;
      height: 15.38462vw;
      border-radius: 0.76923vw 0px 0px 0.76923vw;
      background-size: 7.4359vw auto,3.84615vw auto;
      background-position: 5.12821vw center,calc(100% - 6.66667vw) center;
      bottom: 6.15385vw;
    }
  .homePage .pointSection{
    max-width: 100%;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
  }
    .homePage .pointSection .textBox{
      grid-column: 1 / 3;
      grid-row: 2;
      width: 100%;
      min-height: 0;
      padding: 0 6.41026vw 10.51282vw 6.41026vw;
    }
      .homePage .pointSection .textBox .number{
        margin-top: -8.20513vw;
      }
        .homePage .pointSection .textBox .number .point{
          font-size: 3.2rem;
        }
        .homePage .pointSection .textBox .number .num{
          font-size: 13rem;
        }
      .homePage .pointSection .textBox h2{
        margin: 9.23077vw 0 0;
        max-width: none;
        font-size: 2.1rem;
      }
        .homePage .pointSection .textBox h2::before{
          width: 3.07692vw;
          height: 12.82051vw;
          margin-right: 1.79487vw;
        }
      .homePage .pointSection .textBox p{
        margin: 3.84615vw auto 0;
        max-width: none;
        font-size: 1.5rem;
        line-height: 1.66;
      }
    .homePage .pointSection .imgBox1{
      grid-column: 1;
      grid-row: 1;
      z-index: 1;
      margin-right:0;
    }
      .homePage .pointSection .imgBox1 img{
        position: static;
        width: 100%;
      }
    .homePage .pointSection .imgBox2{
      grid-column: 2;
      grid-row: 1;
      z-index: 1;
      margin-left: 0;
    }
      .homePage .pointSection .imgBox2 img{
        position: static;
        width: 100%;
      }
  .homePage .pointSection1{
    margin-top: 0;
  }
  .homePage .pointSection2,
  .homePage .pointSection3{
    margin-top: 0;
  }
  .homePage .secTitle{
		font-size: 9rem;
  }
  .homePage .news{
    width: 100%;
    margin: 17.94872vw auto 0;
    position: relative;
    z-index: 1;
  }
    .homePage .news::before{
      display: none;
    }
    .homePage .news .secTitle{
      margin-bottom: 6.41026vw;
    }
    .homePage .news .newsRow{
      width: 97.4359vw;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 100%;
      gap:1.28205vw 0;
    }
    .homePage .news .newsPostBox{
      padding: 5.12821vw;
      min-height: 74.10256vw;
    }
      .homePage .news .newsPostBox::before{
        top: 5.12821vw;
        left: 5.12821vw;
        border: 1px solid #333333;
        width: calc(100% - 10.25641vw);
        height: calc(100% - 10.25641vw);
      }
      .homePage .news .newsPostBox a{
        grid-template-columns: 25.64103vw 1fr;
      }
      .homePage .news .newsPostBox .dateCal{
        margin-top: 14.10256vw;
      }
        .homePage .news .newsPostBox .dateCal .year{
          font-size: 2.1rem;
          margin: 0 0 1.79487vw;
        }
        .homePage .news .newsPostBox .dateCal .dateBox{
          grid-template-columns: 100%;
          grid-template-rows: 15.89744vw;
          margin-left: 4.10256vw;
          width: 15.89744vw;
          height: 15.89744vw;
          font-size: 3.8rem;
        }
          .homePage .news .newsPostBox .dateCal .dateBox .month{
            margin: -.1em 0 0 -.4em;
          }
          .homePage .news .newsPostBox .dateCal .dateBox .day{
            margin: 0 -.28em -.18em 0;
          }
      .homePage .news .newsPostBox .tm{
        grid-column: 2;
        grid-row: 1;
      }
        .homePage .news .newsPostBox .tm img{
          width: 100%;
        }
      .homePage .news .newsPostBox .title{
        grid-column: 1 / 3;
        grid-row: 2;
        margin-top: 5.12821vw;
        font-size: 2rem;
        line-height: 1.45;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        text-align:left;
      }
    .homePage .news .moreBtn{
      margin: 7.69231vw auto 0;
      width: 64.10256vw;
      height: 14.10256vw;
      border-radius: 0.76923vw;
      background: url('../../img/plus_white.svg') no-repeat calc(100% - 5.12821vw) center / 3.84615vw auto;
      background-color: #111111;
      background-color: var(--base-color);
      padding-left: 9.74359vw;
    }
  .homePage .styleGallery{
    margin-top: 19.74359vw;
  }
    .homePage .styleGallery .secTitle{
      font-size: 8rem;
      text-align: right;
      margin-bottom: 14.10256vw;
    }
    .homePage .styleGallery .catList{
      width: 92.30769vw;
      margin: 0 auto;
      justify-content: flex-start;
      gap: .5em 0; 
      font-size: 1.5rem;
      letter-spacing: .1em;
      font-weight: 700;
    }
      .homePage .styleGallery .catList li{
        flex-shrink: 0;
      }
        .homePage .styleGallery .catList li::after{
          margin: 0 1.28em;
        }
        .homePage .styleGallery .catList li:first-child::before{
          display: none;
        }
        .homePage .styleGallery .catList li:last-child::after{
          display: none;
        }
    .homePage .styleGallery .galleryRowAll{
      margin: 18.97436vw auto 0;
      max-width: 100%;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap:2.5641vw;
      min-height: 64.61538vw;
    }
      .homePage .styleGallery .galleryRowAll .galleryRow{
        display: contents;
      }
      .homePage .styleGallery .galleryRowAll .galleryItem.odd{
        margin-top: -12.82051vw;
      }
  .homePage .staff{
    margin-top: 19.23077vw;
  }
    .homePage .staff .secTitle{
      margin-bottom: 19.23077vw;
      font-size: 9rem;
    }
    .homePage .staff .staffRow{
      max-width: 100%;
      margin: 0 auto;
    }
    .homePage .staff .staffHomeBox{
      display: grid;
      grid-template-columns: 100%;
      grid-template-rows: auto 1fr auto;
    }
      .homePage .staff .staffHomeBox .ph{
        grid-column: 1;
        grid-row: 1;
      }
      .homePage .staff .staffHomeBox .profile{
        grid-column: 1;
        grid-row: 2;
      }
      .homePage .staff .staffHomeBox .galleryList{
        grid-column: 1;
        grid-row: 3;
      }
      .homePage .staff .staffHomeBox .ph{
        padding: 0 0 12.5641vw;
      }
        .homePage .staff .staffHomeBox .ph figcaption{
          top: 12.5641vw;
        }
        .homePage .staff .staffHomeBox .ph img{
          width: 74.35897vw;
        }
      .homePage .staff .staffHomeBox .profile{
        padding: 10vw;
        min-height: 112.5641vw;
      }
        .homePage .staff .staffHomeBox .profile::before{
          top: 5.12821vw;
          left: 5.12821vw;
          border: 0.25641vw solid #333333;
          width: calc(100% - 10.25641vw);
          height: calc(100% - 10.25641vw);
        }
        .homePage .staff .staffHomeBox .profile >header{
          margin-bottom: 3.84615vw;
        }
          .homePage .staff .staffHomeBox .profile >header::before{
            width: 4.10256vw;
            height: 15.38462vw;
            margin-right: 2.05128vw;
          }
          .homePage .staff .staffHomeBox .profile >header .instagram{
            width: 5.64103vw;
          }
        .homePage .staff .staffHomeBox .profile .textBox{
          line-height: 2.1;
          font-size: 1.4rem;
        }
        .homePage .staff .staffHomeBox .profile .goStaff{
          margin-top: 5.12821vw;
          width: 38.46154vw;
          height: 8.46154vw;
          border-radius: 0.76923vw;
          background: url('../../img/plus_white.svg') no-repeat calc(100% - 2.82051vw) center / 3.33333vw auto;
          background-color: #111111;
          background-color: var(--base-color);
          padding-left: 5.89744vw;
        }
          .homePage .staff .staffHomeBox .galleryList ul li{
            height: auto;
          }
        .homePage .staff .staffHomeBox .galleryList .goAllStyleBtn{
          width: 21.79487vw;
          min-height: 26.66667vw;
          padding: 2.5641vw;
          border-radius: 0.76923vw;
          font-size: 1.2rem;
        }
          .homePage .staff .staffHomeBox .galleryList .goAllStyleBtn::before{
            width: 3.07692vw;
            height: 4.10256vw;
            margin-bottom: 1.53846vw;
          }
      .homePage .staff .staffHomeBox:nth-child(even) .ph{
        background: none;
      }
      .homePage .staff .staffHomeBox:nth-child(even) .profile{
        background: #555555;
      }
    .homePage .staff .staffHomeBox + .staffHomeBox{
      margin-top: 25.89744vw;
    }
  .homePage .instagramGallery{
    margin-top: 17.94872vw;
    width: 100%;
  }
    .homePage .instagramGallery .instagramLink{
      height: 12.82051vw;
      border-radius: 0.76923vw;
    }
      .homePage .instagramGallery .instagramLink img{
        width: 6.41026vw;
      }
    .homePage .instagramGallery .follow{
      height: 12.82051vw;
      border-radius: 0.76923vw;
    }
  .homePage .mainCta{
    margin-top: 17.94872vw;
  }
  .homePage .shopInfo{
    margin-top: 9.23077vw;
    background: #111111;
    background: var(--base-color);
  }
    .homePage .shopInfo .inner{
      max-width: 100%;
      margin: 0 auto;
      padding: 7.69231vw 0 0;
      display: block;
    }
    .homePage .shopInfo .secTitle{
      font-size: 9rem;
      top:0;
      left: 7.69231vw;
      translate:0 -50%;
    }
    .homePage .shopInfo .info{
      border: 0.25641vw solid #707070;
      min-height: 110.25641vw;
      width: 84.61538vw;
      margin: 0 auto;
      padding: 7.69231vw 4.10256vw 7.69231vw 5.64103vw;

    }
      .homePage .shopInfo .info .infoDL{
        align-items: flex-start;
        grid-template-columns: 14.61538vw 1fr;
        gap:13.58974vw 2.5641vw;
        word-break: break-all;
      }
        .homePage .shopInfo .info .infoDL .mapBtn{
          width: 57.69231vw;
          height: 11.53846vw;
          margin-top: 4.87179vw;
        }
        .homePage .shopInfo .info .infoDL .access{
          margin-top: 4.10256vw;
        }
          .homePage .shopInfo .info .infoDL .openList li{
            grid-template-columns: 29.48718vw 1fr;
            gap:0 2.5641vw;
          }
          .homePage .shopInfo .info .infoDL .openList li + li{
            margin-top: 2.05128vw;
          }
    .homePage .shopInfo .map{
      margin-top: 7.69231vw;
      height: 128.20513vw;
    }
/*end*/
}