/* noto-sans-jp-300 - latin */
@font-face {
 font-display: swap;
 /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 300;
 src: url('../fonts/noto-sans-jp-v56-japanese-300.woff2') format('woff2');
 /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-sans-jp-regular - latin */
@font-face {
 font-display: swap;
 /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
 font-family: 'Noto Sans JP';
 font-style: normal;
 font-weight: 400;
 src: url('../fonts/noto-sans-jp-v56-japanese-regular.woff2') format('woff2');
 /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-serif-jp-300 - japanese */
@font-face {
 font-display: swap;
 /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
 font-family: 'Noto Serif JP';
 font-style: normal;
 font-weight: 300;
 src: url('../fonts/noto-serif-jp-v33-japanese-300.woff2') format('woff2');
 /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* noto-serif-jp-regular - japanese */
@font-face {
 font-display: swap;
 /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
 font-family: 'Noto Serif JP';
 font-style: normal;
 font-weight: 400;
 src: url('../fonts/noto-serif-jp-v33-japanese-regular.woff2') format('woff2');
 /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*====================================================
////id |  common
====================================================*/
:root {
 --font_family: 'Noto Sans JP', "Yu Gothic", "游ゴシック Medium", "YuGothic", 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
 --font_en: 'Cormorant', serif;
 --font_serif: 'Noto Serif JP', "游明朝 Medium", "YuMincho Medium", "游明朝体 Medium", "Hiragino Mincho ProN", "MS PMincho", serif;

 --color_1: #B8965A;
 --color_2: #E2D9D2;
}

#contents {
 font-family: var(--font_family);
}

p.text {
 font-weight: 300;
 margin: 0;
}

.innerBox {
 margin: auto;
 width: min(90%, 1160px);
}

.f-default {
 font-family: var(--font_family);
}

.f-en {
 font-family: var(--font_en);
}

.f-serif {
 font-family: var(--font_serif);
}

.en_jp {
 display: grid;
 font-weight: 300;
 line-height: 1.3;
}

.en_jp .en {
 font-family: var(--font_en);
}

.en_jp .jp {
 font-family: var(--font_serif);
}

.en_jp.normal {
 font-size: 26px;
 place-items: center;
}

.en_jp.normal .en {
 font-size: 11px;
 font-weight: 400;
 letter-spacing: 30%;
 margin-bottom: 1em;
}

.en_jp.normal .jp {
 letter-spacing: 12%;
 padding-bottom: .5em;
 position: relative;
}

.en_jp.normal .jp::after {
 border-bottom: solid 1px var(--color_1);
 content: '';
 display: block;
 margin: auto;
 position: absolute;
 left: 0;
 right: 0;
 bottom: 0;
 width: min(10.256vw, 40px);
 height: 0;
}

.en_jp.en_strong {
 font-size: min(13.33vw, 52px);
 margin-bottom: 1em;
 place-items: center;
}

.en_jp.en_strong .en {
 font-weight: 300;
 letter-spacing: 25%;
}

.en_jp.en_strong .jp {
 font-size: 11px;
 letter-spacing: 20%;
 padding-top: .5em;
}


figure img {
 width: auto;
 height: auto;
 max-width: 100%;
 max-height: 100%;
 display: block;
}

.coverImg {
 overflow: hidden;
 position: relative;
 padding-top: 69%;
 width: 100%;
}

.coverImg img {
 margin: auto;
 -o-object-fit: cover;
 object-fit: cover;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 transition: .3s ease-in-out;
 width: 100%;
 max-width: none;
 height: 100%;
 max-height: none;
}

ul.markList {
 padding-left: 0;
}

ul.markList>li {
 font-weight: 300;
 position: relative;
 padding-left: 1em;
 line-height: 1.5;
}

ul.markList.attentionMark>li {
 padding-left: 1.2em;
}

ul.markList.attentionMark>li:before {
 background: transparent;
 content: "\203B";
 top: 0.1em;
 left: 0;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .hidden-mob {
  display: none;
 }

 .display-mob {
  display: block;
 }
}

@media screen and (max-width:600px) {
 .hidden-small {
  display: none;
 }

 .display-small {
  display: block;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {

 .hidden-pc_d-tab,
 .hidden-pc {
  display: none;
 }
}

.link_btn {
 background: var(--color_2);
 display: inline-block;
 font-size: 13px;
 font-weight: 300;
 letter-spacing: 14%;
 margin-right: 3.9em;
 min-width: min(71.8vw, 280px);
 padding: 1em 4em;
 position: relative;
 text-align: center;
 transition: filter .2s ease-in-out;
}

.link-02 {
 background: #fff;
 border: 2px solid var(--color_2);
 transition: all .3s;
}

.link_btn::after {
 background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 143 28"><path fill="none" stroke="%23000000" stroke-width="1" d="M.54,14.1h135.2M142.46,14.1h-6.72M135.74,14.1L125.66.66" /></svg>') no-repeat center / contain;
 content: '';
 display: block;
 margin: auto;
 position: absolute;
 top: 0;
 bottom: 0;
 left: calc(100% - 3.7em);
 transition: transform .2s ease-in-out;
 width: 6.5em;
 height: 2em;
}

@media (hover: hover) {
 .link_btn:hover {
  filter: brightness(1.05);
 }

 .link_btn:hover::after {
  transform: translateX(.6em);
 }

 .link-02:hover {
  background: var(--color_2);
 }
}

a[href^="tel:"] {
 text-decoration: none !important;
}

@media print,
screen and (min-width: 600px) {

 .tel_link a,
 a[href^="tel:"] {
  pointer-events: none;
 }
}

/*====================================================
////id |  mv
====================================================*/
/* #mv {
  display: grid;
    grid-template-rows: 1fr auto;
  min-height: 100vh;
  min-height: 100svh;
} */
.mv-main {
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
}

.mv-main-inner {
 padding: 80px 0;
}

.mv-content {
 display: grid;
 place-items: center;
 text-shadow: 1px 2px 6px rgba(0, 0, 0, .45);
}

.mv-head_sub {
 border-bottom: solid 1px;
 font-weight: 300;
 font-size: min(2.115vw, 11px);
 letter-spacing: 35%;
 margin-bottom: 1em;
 padding-bottom: .3em;
}

.mv-head {
 display: grid;
 place-items: center;
 font-weight: 400;
}

.mv-head .en {
 font-size: min(11.153vw, 58px);
 letter-spacing: 18%;
}

.mv-head .jp {
 font-size: min(2.692vw, 14px);
 letter-spacing: 10%;
 line-height: 1.857;
 margin-top: 1em;
}

.mv-description {
 background: #E4EAF1;
}

.mv-description-inner {
 padding: 37px 0;
}

.mv-description-text {
 font-size: min(35.9vw, 14px);
 letter-spacing: 14%;
 line-height: 2;
 text-align: center;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .mv-main {
  background: url('../images/guest-wear/mv-mob.webp') no-repeat center / cover;
  min-height: min(160vw, 670px);
  padding-top: 76px;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 #mv {
  margin-top: -119px;
 }

 .mv-main {
  background: url('../images/guest-wear/mv-pc.webp') no-repeat right center / cover;
  min-height: min(100vw, 700px);
  padding-top: 119px;
 }
}

@media print,
screen and (min-width: 1500.1px) {
 .mv-main {
  min-height: min(46.32vw, 900px);
 }
}

@media (hover: hover) {}

/*====================================================
////id |  reason
====================================================*/
#reason {
 background: #FAFAFA;
}

.reason-inner {
 padding: 80px 0;
}

#reason .reason-head .jp::after {
 width: 100%;
}

.reason-items {
 display: flex;
 margin: 48px auto 0;
}

.reason-item {
 background: #fff;
 flex: 1;
 text-align: center;
}

.reason-item-no {
 color: var(--color_1);
 font-size: 10px;
 letter-spacing: 28%;
}

.reason-item-img {
 margin: 16px auto;
 width: 48px;
}

.reason-item-img .coverImg {
 padding-top: 100%;
}

.reason-item-text {
 margin-top: 16px;
}

.reason-item-text dt {
 font-size: 16px;
 line-height: 1.625;
}

.reason-item-text dd {
 font-size: 13px;
 font-weight: 300;
 letter-spacing: 6%;
 line-height: 1.84;
 margin-top: 16px;
}

.reason-text {
 font-size: 13px;
 letter-spacing: 14%;
 line-height: 1.6;
 margin-top: 48px;
 text-align: center;
}

.reason-link {
 display: flex;
 justify-content: center;
 margin-top: 15px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 1080px) {
 .reason-items {
  flex-direction: column;
  width: min(100%, 600px);
 }

 .reason-item {
  border-bottom: solid 1px var(--color_1);
  padding: 52px 6.4vw;
 }

 .reason-item:last-child {
  border-bottom: none;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 1080.1px) {
 .reason-item {
  border-right: solid 1px var(--color_1);
  padding: 52px min(2.5vw, 40px);
 }

 .reason-item:nth-child(3n) {
  border-right: none;
 }
}

@media (hover: hover) {}

/*====================================================
////id |  lineup
====================================================*/
.lineup-head-wrapper {
 padding: min(23vw, 120px) 0 min(15vw, 80px);
}

.lineup-wrapper {
 margin: 0 0 min(15vw, 80px);
 background: #E4EAF1;
}

.tomesode .lineup-head-wrapper {
 padding: min(15vw, 80px) 0 min(15vw, 80px);
}

.tomesode .lineup-head {
 font-size: min(35.9vw, 14px);
 letter-spacing: 14%;
 line-height: 2;
 text-align: center;
}

.lineup-head {
 place-items: center;
 text-align: center;
}

.lineup-head .en {
 font-size: 36px;
 letter-spacing: 20%;
}

.lineup-head .jp {
 font-size: 16px;
 letter-spacing: 10%;
}

.lineup-nav {
 border: solid var(--color_2);
 border-width: 1px 0;
}

.lineup-nav-items {
 display: flex;
 flex-wrap: wrap;
 gap: 0 1.5vw;
 justify-content: center;
 padding: min(3vw, 32px) min(5vw, 40px);
}

.lineup-nav-item {
 font-weight: 300;
 letter-spacing: 10%;
 padding: min(1vw, .5em) .5em;
 white-space: nowrap;
}

.lineup-items-wrapper {
 padding: 0 0 min(18vw, 100px);
}

.lineup-items {
 display: grid;
 margin: auto;
}

.lineup-item-title-wrapper {
 grid-area: lineup-title;
}

.lineup-item-title .en {
 line-height: 1.1;
}

.lineup-item-img {
 grid-area: lineup-img;
}

.lineup-item-content {
 grid-area: lineup-content;
}

.lineup-item-text {
 grid-area: lineup-text;
 font-size: 13px;
 line-height: 2.1;
}

.lineup-item-price {
 margin-top: 28px;
}

.lineup-item-price dt {
 font-weight: 300;
 font-size: 10px;
}

.lineup-item-price dd {
 line-height: 1.3;
}

.lineup-item-price dd span {
 line-height: 1.3;
 font-size: 12px;
 font-weight: 300;
 letter-spacing: 6%;
 line-height: 1.8;
 margin-top: .6em;
}

.lineup-item-set {
 background: #F8F5F0;
 border: solid 2px var(--color_2);
 padding: 16px 18px;
}

.lineup-item-set dt {
 color: #C5AD9B;
 font-size: 10px;
 letter-spacing: 22%;
}

.lineup-item-set dd {
 font-size: 12px;
 font-weight: 300;
 letter-spacing: 6%;
 line-height: 1.8;
 margin-top: .6em;
}

.lineup-item-link {
 display: grid;
 grid-gap: 16px;
 place-content: baseline;
 margin-top: 20px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .lineup-item {
  display: grid;
  grid-template-columns: 1fr min(60.28%, 300px);
  padding-top: 110px;
 }

 .lineup-item-title .en {
  font-size: min(5.128vw, 46px);
  letter-spacing: 6%;
 }

 .lineup-item-title .jp {
  font-size: 14px;
  letter-spacing: 17%;
  margin-top: 6px;
 }

 .lineup-item-img {
  margin-left: 20px;
 }

 .lineup-item-img .coverImg {
  padding-top: 128%;
 }

 .lineup-item-img .coverImg img {
  top: -5%;
  height: 110%;
 }

 .lineup-item-price dd {
  font-size: 26px;
 }
}

@media screen and (min-width: 680.1px) and (max-width: 800.0px) {
 .lineup-item {
  grid-template-areas:
   "lineup-title lineup-img"
   "lineup-text lineup-img"
   "lineup-content lineup-content";
 }

 .lineup-item-title-wrapper {
  display: flex;
  align-items: flex-end;
  margin-bottom: 36px;
 }

 .lineup-item-content {
  margin-top: 20px;
 }
}

@media screen and (max-width: 680.0px) {
 .lineup-item {
  grid-template-areas:
   "lineup-title lineup-img"
   "lineup-text lineup-text"
   "lineup-content lineup-content";
 }

 .lineup-item-title-wrapper {
  display: flex;
  align-items: center;
 }

 .lineup-item-text {
  margin-top: 10px;
 }

 .lineup-item-content {
  margin-top: 8px;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .lineup-item {
  display: grid;
  grid-template-rows: auto auto 1fr;
  margin-top: -30px;
  padding-top: 110px;
 }

 .lineup-item:nth-child(odd) {
  grid-template-columns: 40.45% 1fr;
  grid-template-areas:
   "lineup-img lineup-title"
   "lineup-img lineup-text"
   "lineup-img lineup-content";
 }

 .lineup-item:nth-child(even) {
  grid-template-columns: 1fr 40%;
  grid-template-areas:
   "lineup-title lineup-img"
   "lineup-text lineup-img"
   "lineup-content lineup-img";
 }

 .lineup-item-title .en {
  font-size: min(5vw, 46px);
  letter-spacing: 10%;
 }

 .lineup-item-title .jp {
  font-size: 12px;
  letter-spacing: 20%;
  margin-top: 10px;
 }

 .lineup-item-img .coverImg {
  padding-top: 155.555%;
 }

 .lineup-item-price dd {
  font-size: min(3vw, 26px)
 }
}

@media screen and (min-width:800.1px) and (max-width:1080.0px) {
 .lineup-items {
  width: min(100%, 890px);
 }

 .lineup-item-title-wrapper {
  padding: 50px 5vw 0;
 }

 .lineup-item-text {
  padding: 36px 5vw 0;
 }

 .lineup-item-content {
  padding: 8px 5vw 0;
 }
}

@media print,
screen and (min-width: 1080.1px) {
 .lineup-nav-items {
  gap: 0 24px;
 }

 .lineup-nav-item {
  padding: min(1vw, .5em) 1em;
 }

 .lineup-items {
  width: min(100%, 960px);
 }

 .lineup-item:nth-child(odd) {
  margin-right: 70px;
 }

 .lineup-item:nth-child(even) {
  margin-left: 70px;
 }

 .lineup-item-title-wrapper {
  padding: 50px 60px 0;
 }

 .lineup-item-text {
  padding: 36px 60px 0;
 }

 .lineup-item-content {
  padding: 36px 60px 0;
 }
}

@media (hover: hover) {}

/*====================================================
////id |  price
====================================================*/
#price {
 background: #DFECE9;
}

.price-inner {
 padding: min(20.5vw, 120px) 0;
}

.price-head.en_jp .en {
 font-size: 13px;
 transform: skew(-10deg);
}

.price-head.en_jp .jp:after {
 border-bottom-color: #000;
 width: 100%;
}

.price-items {
 display: flex;
 align-items: flex-start;
 flex-wrap: wrap;
 gap: 40px min(2vw, 40px);
 justify-content: center;
 margin-top: min(10.666vw, 60px);
}

.price-item {
 background: #fff;
 flex: 1;
 min-width: min(100%, 400px);
 max-width: 500px;
}

.price-item-title {
 background: #000;
 color: #fff;
 font-size: 12px;
 line-height: 1.4;
 padding: 17px 20px;
}

.price-item-list dl {
 border-bottom: solid 1px #E8E8E8;
 display: grid;
 grid-gap: 20px;
 grid-template-columns: 1fr auto;
 font-size: 13px;
 padding: 20px;
}

.price-item-list dt,
.price-item-list dd {
 font-weight: 300;
}

.price-attention {
 display: flex;
 justify-content: center;
 font-size: 11px;
 margin-top: min(10.666vw, 60px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {}

@media (hover: hover) {}

/*====================================================
////id |  flow
====================================================*/
.flow-inner {
 padding: 80px 0;
}

.flow-text {
 letter-spacing: 8%;
 line-height: 2;
 margin-top: 12px;
 text-align: center;
}

.flow-items {
 margin-top: 52px;
}

.flow-item-no {
 border: solid 1px;
 border-radius: 100%;
 color: var(--color_1);
 display: flex;
 align-items: center;
 flex-direction: column;
 justify-content: center;
 font-size: 20px;
 letter-spacing: 4%;
 line-height: 1.3;
 width: 3.6em;
 height: 3.6em;
}

.flow-item-no .text {
 font-size: 9px;
 letter-spacing: 18%;
}

.flow-item-text dt {
 font-size: 15px;
 letter-spacing: 15%;
}

.flow-item-text dd {
 font-size: 12px;
 font-weight: 300;
 letter-spacing: 6%;
 line-height: 1.83;
 margin-top: 16px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .flow-items-wrapper {
  display: flex;
  justify-content: center;
 }

 .flow-items {
  display: grid;
  grid-gap: 30px 16px;
  grid-template-columns: auto auto;
 }

 .flow-item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .flow-items {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 2em;
  justify-content: center;
 }

 .flow-item {
  text-align: center;
 }

 .flow-item-no {
  margin: 0 auto 16px;
 }
}

@media screen and (min-width: 800.1px) and (max-width: 1290.0px) {
 .flow-item {
  width: min(calc(100% / 3 - (2em * 2 / 3)), 280px);
 }
}

@media screen and (min-width: 1290.1px) {
 .flow-item {
  width: calc(100% / 5 - (2em * 4 / 5));
 }
}

@media (hover: hover) {}

/*====================================================
////id |  voice
====================================================*/
#voice {
 background: var(--color_2);
}

.voice-inner {
 padding: 80px 0;
}

.voice-items {
 display: grid;
 grid-gap: 24px min(2vw, 24px);
 margin: 52px auto 0;
}

.voice-item {
 background: #fff;
}

.voice-item-text {
 font-size: 13px;
 letter-spacing: 6%;
 line-height: 2;
}

.voice-item-user {
 border-top: solid 1px var(--color_2);
 display: grid;
 align-items: center;
 grid-gap: 12px;
 grid-template-columns: 44px 1fr;
 margin-top: 24px;
 padding-top: 20px;
}

.voice-item-user-img .coverImg {
 border-radius: 100%;
 padding-top: 100%;
}

.voice-item-user-text .name {
 font-size: 13px;
 letter-spacing: 10%;
}

.voice-item-user-text .product {
 font-size: 11px;
 font-weight: 300;
 letter-spacing: 6%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .voice-items {
  width: min(100%, 600px);
 }

 .voice-item {
  padding: 36px min(5vw, 36px);
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .voice-items {
  grid-template-columns: 1fr 1fr;
 }

 .voice-item {
  padding: 36px min(3vw, 36px);
 }
}

@media (hover: hover) {}

/*====================================================
////id |  fitting
====================================================*/
#fitting {
 overflow: hidden;
}

.fitting-visual-text {
 display: flex;
 justify-content: center;
 letter-spacing: 12%;
 line-height: 1.037;
 /* margin-bottom: -1.25em; */
 position: relative;
 z-index: 5;
}

.fitting-visual-img {
 position: relative;
}

.fitting-visual-img::before {
 background: var(--color_2);
 content: '';
 display: block;
 margin: auto;
 position: absolute;
 bottom: 0;
 z-index: -1;
}

.fitting-head {
 font-size: 24px;
 font-weight: 400;
 letter-spacing: 12%;
}

.fitting-text {
 font-size: 14px;
 letter-spacing: 10%;
 line-height: 1.8;
 margin-top: 18px;
}

.fitting-link-items {
 display: flex;
 flex-wrap: wrap;
 gap: 20px;
 margin-top: 18px;
}

.fitting-link-item {
 background: var(--color_2);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 16px;
 font-weight: 300;
 letter-spacing: 10%;
 line-height: 1.3;
 min-height: 3.625em;
 min-width: min(60.5vw, 242px);
 position: relative;
 transition: filter .2s ease-in-out;
}

.fitting-link-item::before {
 border: solid 1px #000;
 box-sizing: border-box;
 content: '';
 display: block;
 margin: auto;
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 transition: width .2s ease-in-out, height .2s ease-in-out;
 width: calc(100% - 6px);
 height: calc(100% - 6px);
}

.fitting-open_hour {
 font-size: 12px;
 letter-spacing: 10%;
 margin-top: 18px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .fitting-inner {
  padding: 60px 0;
 }

 .fitting-visual-text {
  display: flex;
  justify-content: center;
  font-size: min(13.8vw, 54px);
  margin-bottom: calc(min(13vw, 1.4em) * -1);
 }

 .fitting-visual-img {
  display: flex;
  justify-content: center;
  margin-left: -5vw;
  margin-right: -5vw;
  padding-left: 7%;
  width: 100vw;
 }

 .fitting-visual-img::before {
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100% - min(6.0vw, 40px));
 }

 .fitting-visual-img figure {
  width: min(92.82%, 500px);
 }

 .fitting-content {
  margin-top: 33px;
 }

 .fitting-link-items {
  flex-direction: column;
  align-items: center;
 }

}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .fitting-inner {
  padding-top: 230px;
  display: grid;
  grid-gap: 37px;
  grid-template-columns: 50% 1fr;
 }

 .tomesode .fitting-inner {
  padding: 134px 0;
 }

 .fitting-visual {
  position: relative;
 }

 .fitting-visual-text {
  font-size: min(6vw, 54px);
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% - 1.25em);
 }

 .fitting-visual-img::before {
  right: 0;
  width: 55vw;
  height: calc(100% - min(4.0vw, 30px));
 }

 .fitting-visual-img figure {
  margin: auto;
  width: min(100%, 362px);
 }

 .fitting-content {
  padding-top: min(10vw, 134px);
 }

 .fitting-head {
  padding-top: 28px;
  position: relative;
 }

 .fitting-head::before {
  border-top: solid 1px #000;
  content: '';
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: calc(min(8vw, 107px) * -1);
  width: min(24vw, 280px);
  height: 0;
 }
}

@media (hover: hover) {
 .fitting-link-item:hover {
  filter: brightness(1.05);
 }

 .fitting-link-item:hover::before {
  width: 100%;
  height: 100%;
 }
}

/*====================================================
////id |  access
====================================================*/
.access-inner {
 padding: 120px 0;
}

.access-item {
 margin-top: 80px;
}

.map-wrapper .map {
 overflow: hidden;
 position: relative;
 width: 100%;
 padding-top: 96.5%;
}

.map-wrapper iframe {
 margin: auto;
 position: absolute;
 top: 0;
 width: 100%;
 height: 100%;
}

.access-item-head {
 font-size: 18px;
 font-weight: 300;
 margin-bottom: 6px;
}

.access-item-address {
 font-weight: 300;
}

.access-item-details {
 display: grid;
 grid-gap: 10px;
 margin-top: 24px;
}

.access-item-detail {
 border-left: solid 1px #E8E8E8;
 display: grid;
 align-items: center;
 grid-gap: 24px;
 grid-template-columns: 80px 1fr;
 font-size: 13px;
 padding-left: 40px;
}

.access-item-detail dt {
 color: #999999;
 font-size: 11px;
 font-weight: 300;
 letter-spacing: .1em;
}

.access-item-parking {
 margin-top: 28px;
}

.access-item-parking_text {
 font-size: 13px;
}

.access-item-text {
 font-size: 12px;
 line-height: 2;
 margin-top: 6px;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {
 .access-items {
  margin: auto;
  width: min(100%, 540px);
 }

 .access-item-content {
  margin-top: 40px;
 }
}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .access-item {
  display: grid;
  grid-gap: min(3vw, 40px);
  grid-template-columns: 1fr 46.55%;
 }

 .access-item-parking figure {
  width: 242px;
 }

}

@media (hover: hover) {}

/*====================================================
////id |  faq
====================================================*/
dl.accordion>dt {
 cursor: pointer;
 position: relative;
}

dl.accordion>dt:has(.plus_icon) {
 display: grid;
 align-items: center;
 grid-template-columns: 1fr auto;
 grid-gap: 1em;
}

dl.accordion>dt>.plus_icon {
 display: block;
 width: 1em;
 height: 1em;
 position: relative;
}

dl.accordion>dt>.plus_icon::before,
dl.accordion>dt>.plus_icon::after {
 border-top: solid 1px #999999;
 content: "";
 display: block;
 margin: auto;
 position: absolute;
 top: 0.1em;
 left: 0;
 right: 0;
 bottom: 0;
 transition: 0.2s ease-in-out;
 width: 14px;
 height: 0;
}

dl.accordion>dt>.plus_icon::after {
 transform: rotate(90deg);
}

dl.accordion.open>dt>.plus_icon::before {
 transform: rotate(90deg);
 opacity: 0;
}

dl.accordion.open>dt>.plus_icon::after {
 transform: rotate(180deg);
}

dl.accordion>dd {
 overflow: hidden;
 transition: 0.2s ease-in-out;
}

dl.accordion>dd>.accordion-inner {
 opacity: 0;
 transition: 0.2s ease-in-out;
}

dl.accordion.open>dd>.accordion-inner {
 opacity: 1;
}

.accordion_close {
 cursor: pointer;
}


#faq {
 background: #FAFAFA;
 border-top: solid 1px #E8E8E8;
}

.faq-inner {
 padding: min(20.5vw, 120px) 0;
}

.faq-items {
 border-bottom: solid 1px #E8E8E8;
 margin: 64px auto 0;
 width: min(100%, 760px);
}

.faq-item {
 border-top: solid 1px #E8E8E8;
 line-height: 2;
}

.faq-item dt {
 font-weight: 300;
 padding: 24px 0 24px 30px;
 position: relative;
}

.faq-item dd .accordion-inner {
 font-size: 13px;
 padding: 0 0 24px 26px;
 position: relative;
}

.faq-item dt::before,
.faq-item dd .accordion-inner::before {
 color: var(--color_1);
 display: block;
 font-family: var(--font_en);
 font-weight: 400;
 line-height: 1.8;
 margin: auto;
 position: absolute;
 width: 1em;
 height: 1.2em;
}

.faq-item dt::before {
 content: 'Q';
 font-size: 16px;
 top: 24px;
 left: 0;
}

.faq-item dd .accordion-inner::before {
 content: 'A';
 font-size: 14px;
 left: 0;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {
 .faq-item dd .accordion-inner {
  padding-top: 24px;
  padding-bottom: 48px;
 }

 .faq-item dd .accordion-inner::before {}

}

@media (hover: hover) {}

/*====================================================
////id |  xxx
====================================================*/

/* ////////// mobile ////////// */
@media screen and (max-width: 800.0px) {}

/* ////////// PC ////////// */
@media print,
screen and (min-width: 800.1px) {}

@media (hover: hover) {}

.text-center {
 text-align: center;
}

.su-tomesode-page {
 --su-brand: #f58220;
 --su-brand-dark: #d9710e;
 --su-dark: #333;
 --su-muted: #999;
 --su-light: #f5f5f5;
 color: var(--su-dark);
 letter-spacing: 0.12em;
}

.su-tomesode-page *,
.su-tomesode-page *::before,
.su-tomesode-page *::after {
 box-sizing: border-box;
}

.su-tomesode-page img {
 display: block;
 max-width: 100%;
}

.su-tomesode-page p,
.su-tomesode-page h1,
.su-tomesode-page h2 {
 margin: 0;
}

.su-tomesode-container {
 width: min(100% - 32px, 1152px);
 margin-inline: auto;
}

.su-tomesode-container--narrow {
 max-width: 672px;
}

.su-tomesode-container--set {
 max-width: 768px;
}

.su-tomesode-container--reservation {
 max-width: 576px;
}

.su-tomesode-hero {
 position: relative;
 min-height: 40vh;
 display: grid;
 place-items: center;
 overflow: hidden;
 background: #d1d5db;
 /* 本番では下記URLを実際のヒーロー画像URLへ変更 */
 /* background-image: url('/wp-content/uploads/xxxx/hero.jpg'); */
 background-position: center;
 background-size: cover;
}

.su-tomesode-hero__overlay {
 position: absolute;
 inset: 0;
 background: linear-gradient(to bottom, rgba(0, 0, 0, .2), rgba(0, 0, 0, .4));
}

.su-tomesode-hero__content {
 position: relative;
 z-index: 1;
 padding: 24px 16px;
 color: #fff;
 text-align: center;
}

.su-tomesode-hero__en {
 margin-bottom: 8px !important;
 font: italic 300 clamp(30px, 4vw, 40px)/1.2 'Cormorant Garamond', serif;
 letter-spacing: .2em;
}

.su-tomesode-hero__title {
 color: #fff;
 font-size: clamp(13px, 1.6vw, 16px);
 font-weight: 300;
 letter-spacing: .15em;
}

.su-tomesode-lead {
 padding-block: 56px 64px;
 text-align: center;
}

.su-tomesode-lead p {
 font-size: clamp(13px, 1.3vw, 14px);
 font-weight: 300;
 line-height: 2.2;
}

.su-tomesode-lineup {
 padding-bottom: 112px;
}

.su-tomesode-grid {
 display: grid;
 grid-template-columns: repeat(4, minmax(0, 1fr));
 gap: 24px;
}

.su-tomesode-card {
 overflow: hidden;
 border-radius: 4px;
 background: #fff;
 cursor: pointer;
 transition: transform .3s;
}

.su-tomesode-card:hover,
.su-tomesode-card:focus-visible {
 transform: translateY(-2px);
 outline: none;
 opacity: 0.8;
}

.su-tomesode-card img {
 width: 100%;
 aspect-ratio: 3 / 4;
 object-fit: cover;
}

.su-tomesode-card__body {
 padding: 8px 0px 8px;
}

.su-tomesode-card__name {
 margin-bottom: 4px !important;
 font-size: 16px;
 font-weight: 500;
 line-height: 1.7;
 font-family: var(--font_serif);
}

.su-tomesode-card__price {
 color: #B8965A;
 font: 400 18px/1.4 var(--font_serif);
 letter-spacing: .03em;
}

@media print,
screen and (max-width: 800.0px) {
 .su-tomesode-card__name {
  font-size: 14px;
  padding-bottom: 0;
 }

 .su-tomesode-card__price {
  font-size: 14px;
 }
}

.su-tomesode-set {
 padding-block: 72px;
 background: #FAFAFA;
}

.su-tomesode-title-lines {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 12px;
 margin-bottom: 40px;
}

.su-tomesode-title-lines span {
 width: 32px;
 height: 1px;
 background: #B8965A;
}

.su-tomesode-title-lines h2 {
 font-size: 16px;
 font-weight: 400;
 letter-spacing: .15em;
 font-family: var(--font_serif);
}

@media print,
screen and (max-width: 800.0px) {
 .su-tomesode-title-lines h2 {
  font-size: 14px;
 }
}

.su-tomesode-set__box {
 padding: 40px;
 border-radius: 8px;
 background: #fff;
 box-shadow: 0 1px 8px rgba(0, 0, 0, .04);
}

.su-tomesode-set__list {
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 gap: 16px 24px;
 margin: 0;
 padding: 0;
 list-style: none;
}

.su-tomesode-set__list li {
 position: relative;
 padding-left: 16px;
 font-size: 14px;
 font-weight: 300;
}

.su-tomesode-set__list li::before {
 content: '';
 position: absolute;
 top: .82em;
 left: 0;
 width: 6px;
 height: 6px;
 border-radius: 50%;
 background: #B8965A;
 transform: translateY(-50%);
}

.su-tomesode-set__small {
 margin: 16px 0 0 16px !important;
 color: var(--su-muted);
 font-size: 12px;
 font-weight: 300;
}

.su-tomesode-set__note {
 margin-top: 24px !important;
 padding-top: 20px;
 border-top: 1px solid #f0f0f0;
 color: var(--su-muted);
 font-size: 12px;
 line-height: 1.8;
 font-weight: 300;
}

.su-tomesode-reservation {
 padding-block: 88px;
 text-align: center;
}

.su-tomesode-reservation h2 {
 margin-bottom: 32px;
 font-size: 14px;
 font-weight: 400;
 letter-spacing: .15em;
 font-weight: 300;
}

.su-tomesode-reservation>div>p {
 margin-bottom: 32px;
 color: rgba(51, 51, 51, .72);
 font-size: 13px;
 font-weight: 300;
 line-height: 2;
}

.su-tomesode-reservation__buttons {
 display: flex;
 justify-content: center;
 gap: 12px;
 margin-bottom: 16px;
}

.su-tomesode-btn {
 display: inline-flex;
 min-width: 220px;
 align-items: center;
 justify-content: center;
 padding: 14px 28px;
 border-radius: 5px;
 color: #fff !important;
 font-size: 13px;
 letter-spacing: .08em;
 text-decoration: none !important;
 transition: opacity .3s, background-color .3s;
}

.su-tomesode-btn:hover {
 opacity: .88;
}

.su-tomesode-btn--tel {
 background: var(--su-brand);
}

.su-tomesode-btn--tel:hover {
 background: var(--su-brand-dark);
}

.su-tomesode-btn--line {
 background: #06c755;
}

.su-tomesode-reservation__hours {
 margin: 0 !important;
 color: var(--su-muted) !important;
 font-size: 10px !important;
}

.su-tomesode-back {
 margin-top: 32px;
 text-align: left;
}

.su-tomesode-back a {
 color: var(--su-brand);
 font-size: 12px;
 letter-spacing: .08em;
 text-decoration: none;
 border-bottom: 1px solid #000;
 padding-bottom: 10px;
 display: inline-block;
 transition: all .3s;
}

.su-tomesode-back a:hover {
 opacity: 0.7;
 transform: translateY(-2px);
 transition: all .3s;
}

.su-tomesode-lightbox {
 position: fixed;
 inset: 0;
 z-index: 99999;
 display: none;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 padding: 24px;
 background: rgba(0, 0, 0, .85);
}

.su-tomesode-lightbox.is-active {
 display: flex;
}

.su-tomesode-lightbox__image {
 max-width: 90vw;
 max-height: 80vh;
 object-fit: contain;
 border-radius: 4px;
}

.su-tomesode-lightbox__name {
 margin-top: 12px !important;
 color: #fff;
 font-size: 16px;
 letter-spacing: .08em;
 font-family: var(--font_serif);
 margin-bottom: 0;
}

.su-tomesode-lightbox__price {
 margin-top: 4px !important;
 color: #fff;
 font: 400 18px/1.4 var(--font_serif);
}

@media print,
screen and (max-width: 800.0px) {
 .su-tomesode-lightbox__name {
  font-size: 14px;
  padding-bottom: 0;
 }

 .su-tomesode-lightbox__price {
  font-size: 14px;
 }
}

.su-tomesode-lightbox__close {
 position: absolute;
 top: 16px;
 right: 20px;
 padding: 0;
 border: 0;
 background: transparent;
 color: #fff;
 font-size: 32px;
 line-height: 1;
 cursor: pointer;
 opacity: .75;
}

.su-tomesode-lightbox__close:hover {
 opacity: 1;
}

@media (max-width: 959px) {
 .su-tomesode-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
 }
}

@media (max-width: 767px) {
 .su-tomesode-hero {
  min-height: 35vh;
 }

 .su-tomesode-lead {
  padding-block: 48px 56px;
 }

 .su-tomesode-lineup {
  padding-bottom: 80px;
 }

 .su-tomesode-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
 }

 .su-tomesode-card__body {
  padding: 8px 0;
 }

 .su-tomesode-set {
  padding-block: 56px;
 }

 .su-tomesode-set__box {
  padding: 28px 24px;
 }

 .su-tomesode-set__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 18px;
 }

 .su-tomesode-reservation {
  padding-block: 64px;
 }

 .su-tomesode-reservation__buttons {
  flex-direction: column;
 }

 .su-tomesode-btn {
  width: 100%;
  min-width: 0;
 }

 .su-pc-only {
  display: none;
 }
}

.su-tomesode-section-heading {
 margin-bottom: 32px;

}

@media print,
screen and (min-width: 800.1px) {

 .su-tomesode-section-heading h2 {
  font-size: min(5vw, 46px);
  letter-spacing: 10%;
 }

 .lineup-item-title p {
  font-size: 12px;
  letter-spacing: 20%;
  margin-top: 10px;
 }
}

@media screen and (max-width: 800.0px) {


 .su-tomesode-section-heading h2 {
  font-size: min(5.128vw, 46px);
  letter-spacing: 6%;
 }

 .lineup-item-title p {
  font-size: 14px;
  letter-spacing: 17%;
  margin-top: 6px;
 }

}

.lineup-link-wrapper {
 text-align: center;
 margin-top: 40px;
}

.lineup-link-wrapper .fitting-link-item {
 max-width: 380px;
 margin: auto;
}
