@charset "UTF-8";

[data-simplebar] {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  justify-content: flex-start;
}

.simplebar-wrapper {
  width: inherit;
  max-width: inherit;
  height: inherit;
  max-height: inherit;
  overflow: hidden;
}

.simplebar-mask {
  z-index: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto !important;
  height: auto !important;
  margin: 0;
  padding: 0;
  overflow: hidden;
  direction: inherit;
}

.simplebar-offset {
  -webkit-overflow-scrolling: touch;
  box-sizing: inherit !important;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0;
  direction: inherit !important;
  resize: none !important;
}

.simplebar-content-wrapper {
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box !important;
  display: block;
  position: relative;
  width: auto;
  max-width: 100%; /* Not required for horizontal scroll to trigger */
  height: 100%; /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  max-height: 100%; /* Needed for vertical scroll to trigger */
  overflow: auto;
  direction: inherit;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  display: table;
  content: ' ';
}

.simplebar-placeholder {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  z-index: -1;
  position: relative;
  flex-basis: 0;
  flex-grow: inherit;
  flex-shrink: 0;
  width: 100%;
  max-width: 1px;
  height: 100%;
  max-height: 1px;
  margin: 0;
  padding: 0;
  float: left;
  overflow: hidden;
  pointer-events: none;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  width: 1000%;
  min-width: 1px;
  height: 1000%;
  min-height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
}

[data-simplebar].simplebar-dragging {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: none;
  user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  right: 0;
  left: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  right: 2px;
  left: 2px;
  border-radius: 7px;
  background: black;
  content: '';
  opacity: 0;
  transition: opacity 0.2s 0.5s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  opacity: 0.5;
  transition-delay: 0s;
  transition-duration: 0s;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-scrollbar:before {
  top: 2px;
  right: 2px;
  bottom: 2px;
  left: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  top: 0;
  right: auto;
  bottom: 0;
  left: 0;
  width: auto;
  min-width: 10px;
  min-height: 0;
}

/* Rtl support */
[data-simplebar-direction='rtl'] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.simplebar-dummy-scrollbar-size {
  -ms-overflow-style: scrollbar !important;
  visibility: hidden;
  position: fixed;
  width: 500px;
  height: 500px;
  overflow-x: scroll;
  overflow-y: hidden;
  direction: rtl;
  opacity: 0;
}

.simplebar-dummy-scrollbar-size > div {
  width: 200%;
  height: 200%;
  margin: 10px 0;
}

.simplebar-hide-scrollbar {
  scrollbar-width: none;
  -ms-overflow-style: none;
  visibility: hidden;
  position: fixed;
  left: 0;
  overflow-y: scroll;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
/* table, caption, tbody, tfoot, thead, tr, th, td, */
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 100%;
  font-style: normal;
  font-weight: inherit;
  vertical-align: baseline;
}

img {
  vertical-align: bottom;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

:focus {
  outline: none;
}

/* a:not([class]),
a:not([class]):link,
a:not([class]):visited,
a:not([class]):hover,
a:not([class]):active {
  margin: 0;
  padding: 0;
  outline: 0;
  text-decoration: none;
  vertical-align: baseline;
  cursor: pointer;
} */

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

del {
  text-decoration: line-through;
}

ins {
  background-color: #FFFFBB;
  color: #000000;
  text-decoration: none;
}

mark {
  background-color: #FFFFBB;
  color: #000000;
  text-decoration: none;
}

hr {
  display: block;
  height: 1px;
  margin: 0;
  padding: 0;
  border: none;
  border-top: 1px solid #CCCCCC;
}

main {
  display: block;
}

html {
  height: 100%;
  font-size: 62.5%;
}

body {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
  overflow-x: hidden;
  background-color: #fff;
  color: #333;
  font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-variant-ligatures: none;
  font-weight: 400;
  line-height: 1;
}
body *,
body *::before,
body *::after {
  box-sizing: border-box;
}
body.is-navOpen {
  height: 100%;
  overflow: hidden;
}

.mb5 {
  margin-bottom: 5px;
}

.mb10 {
  margin-bottom: 10px;
}

.mb15 {
  margin-bottom: 15px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb25 {
  margin-bottom: 25px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb35 {
  margin-bottom: 35px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb45 {
  margin-bottom: 45px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb55 {
  margin-bottom: 55px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb65 {
  margin-bottom: 65px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb75 {
  margin-bottom: 75px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.mb110 {
  margin-bottom: 110px;
}

.mb125 {
  margin-bottom: 125px;
}

.mb130 {
  margin-bottom: 130px;
}

.mb140 {
  margin-bottom: 140px;
}

.mb150 {
  margin-bottom: 150px;
}

.mb190 {
  margin-bottom: 190px;
}

.mb200 {
  margin-bottom: 200px;
}

.mb240 {
  margin-bottom: 240px;
}

.mb250 {
  margin-bottom: 250px;
}

.mb300 {
  margin-bottom: 300px;
}

.mb02em {
  margin-bottom: 0.2em;
}

.mb05em {
  margin-bottom: 0.5em;
}

.mb10em {
  margin-bottom: 1em;
}

.mb15em {
  margin-bottom: 1.5em;
}

.mb166em {
  margin-bottom: 1.66em;
}

.mb20em {
  margin-bottom: 2em;
}

.mb25em {
  margin-bottom: 2.5em;
}

.mb30em {
  margin-bottom: 3em;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}
.pt5 {
  padding-top: 5px;
}

.pt10 {
  padding-top: 10px;
}

.pt15 {
  padding-top: 15px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt95 {
  padding-top: 95px;
}

.pt100 {
  padding-top: 100px;
}

.pt120 {
  padding-top: 120px;
}

.pt150 {
  padding-top: 150px;
}

.pt05em {
  padding-top: 0.5em;
}

.pt10em {
  padding-top: 1em;
}

.pt15em {
  padding-top: 1.5em;
}

.pt20em {
  padding-top: 2em;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb150 {
  padding-bottom: 150px;
}

.pb200 {
  padding-bottom: 200px;
}
body span {
  font-weight: inherit;
}

.fw100 {
  font-weight: 100;
}

.fw500 {
  font-weight: 500;
}

strong,
.strong,
.fwBold {
  font-weight: 700;
}

.fwNormal {
  font-weight: normal;
}

.italic {
  font-style: italic;
}

.serif {
  font-family: "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

.serifEn {
  font-family: "EB Garamond", "Times New Roman", serif;
}

.sansSerif {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

.sansSerifEn {
  font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}

.fcMain {
  color: #bda366;
}

.fcSub {
  color: #2a469f;
}

.fcText {
  color: #333;
}

.fcBase {
  color: #fff;
}

.fcWhite {
  color: #fff;
}

.fcBlack {
  color: #000;
}

.fs0 {
  font-size: 0;
}

.fs9 {
  transform: scale(0.9);
  transform-origin: center left;
  font-size: 1rem;
  line-height: 1.6666;
}

.fs10 {
  font-size: 1rem;
}

.fs11 {
  font-size: 1.1rem;
}

.fs12 {
  font-size: 1.2rem;
}

.fs13 {
  font-size: 1.3rem;
}

.fs14 {
  font-size: 1.4rem;
}

.fs15 {
  font-size: 1.5rem;
}

.fs16 {
  font-size: 1.6rem;
}

.fs17 {
  font-size: 1.7rem;
}

.fs18 {
  font-size: 1.8rem;
}

.fs20 {
  font-size: 2rem;
}

.fs22 {
  font-size: 2.2rem;
}

.fs23 {
  font-size: 2.3rem;
}

.fs24 {
  font-size: 2.4rem;
}

.fs25 {
  font-size: 2.5rem;
}

.fs26 {
  font-size: 2.6rem;
}

.fs28 {
  font-size: 2.8rem;
}

.fs30 {
  font-size: 3rem;
}

.fs32 {
  font-size: 3.2rem;
}

.fs36 {
  font-size: 3.6rem;
}

.fs40 {
  font-size: 4rem;
}

.fs48 {
  font-size: 4.8rem;
}

.fs50 {
  font-size: 5rem;
}

.fs50per {
  font-size: 50%;
}

.fs60per {
  font-size: 60%;
}

.fs70per {
  font-size: 70%;
}

.fs75per {
  font-size: 75%;
}

.fs80per {
  font-size: 80%;
}

.fs85per {
  font-size: 85%;
}

.fs90per {
  font-size: 90%;
}

.lh10 {
  line-height: 1;
}

.lh12 {
  line-height: 1.2;
}

.lh14 {
  line-height: 1.4;
}

.lh16 {
  line-height: 1.6;
}

.lh17 {
  line-height: 1.7;
}

.lh18 {
  line-height: 1.8;
}

.lh19 {
  line-height: 1.9;
}

.lh20 {
  line-height: 2;
}

.lh24 {
  line-height: 2.4;
}

.ls01 {
  letter-spacing: 0.01em;
}

.ls03 {
  letter-spacing: 0.03em;
}

.ls05 {
  letter-spacing: 0.05em;
}

.ls10 {
  letter-spacing: 0.1em;
}

.ls12 {
  letter-spacing: 0.12em;
}

.ls15 {
  letter-spacing: 0.15em;
}

.ls20 {
  letter-spacing: 0.2em;
}

.ls25 {
  letter-spacing: 0.25em;
}

.ls30 {
  letter-spacing: 0.3em;
}

.ls-05 {
  letter-spacing: -0.05em;
}

.ls-10 {
  letter-spacing: -0.1em;
}

.ls-20 {
  letter-spacing: -0.2em;
}

.wordWrapBreak {
  word-wrap: break-word;
}

.wordBreakAll {
  word-break: break-all;
}
img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
img.w100per,
video.w100per {
  width: 100%;
}

a:not([class]) {
  color: inherit;
}

a,
a:link,
a:visited,
a:hover,
a:active {
  outline: none;
  text-decoration: none;
}
a[href^="tel:"],
a:link[href^="tel:"],
a:visited[href^="tel:"],
a:hover[href^="tel:"],
a:active[href^="tel:"] {
  color: #333;
}

a.textLink {
  color: #333;
  text-decoration: underline;
}
a.textLinkHasIcon {
  display: inline-flex;
  align-items: center;
  column-gap: calc(8 / 12 * 1em);
  color: #333;
}
a.textLinkHasIcon .text {
  translate: 0 calc(-2 / 16 * 1em);
}
a.textLinkHasCircle {
  display: inline-flex;
  align-items: center;
  column-gap: calc(10 / 14 * 1em);
  color: #333;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
a.textLinkHasCircle .text {
  position: relative;
}
a.textLinkHasCircle .text.serifEn {
  font-size: calc(16 / 14 * 1em);
  text-transform: uppercase;
}
a.textLinkHasCircle .text::after {
  inset-inline: 0;
  inset-block-end: -4px;
  position: absolute;
  border-block-end: 1px solid #333;
  content: "";
}
a.textLinkHasCircle::before {
  aspect-ratio: 1;
  display: block;
  flex-shrink: 0;
  width: calc(14 / 14 * 1em);
  background: linear-gradient(to bottom right, #bda366 33%, #e6e6e6 64%);
  background-position: 100% 100%;
  background-size: 300% 300%;
  content: "";
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%225.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%225.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.displayInlineBlock {
  display: inline-block;
}

.displayInline {
  display: inline;
}

.displayBlock {
  display: block;
}

.displayNone {
  display: none;
}

.displaySp {
  display: none;
}

.displayXwide {
  display: none;
}
.posRelative {
  position: relative;
}

.posAbsolute {
  position: absolute;
}

.posFixed {
  position: fixed;
}

.posStatic {
  position: static;
}

.floatLeft {
  float: left;
}

.floatRight {
  float: right;
}

.clearLeft {
  clear: left;
}

.clearRight {
  clear: right;
}

.clearBoth {
  clear: both;
}

.txtLeft {
  text-align: left;
}

.txtCenter {
  text-align: center;
}

.txtRight {
  text-align: right;
}

.txtJustify,
.txtJustify * {
  text-align: justify;
}
.verticalTop {
  vertical-align: top;
}

.verticalMiddle {
  vertical-align: middle;
}

.verticalBottom {
  vertical-align: bottom;
}

.centering {
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content;
}

button {
  padding: 0;
  border: 0px;
  outline: none;
  background-color: transparent;
}

.clearfix:after,
.cf:after {
  display: block;
  clear: both;
  content: "";
}

.l-container {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  overflow-x: clip;
  background-color: #fff;
}

.l-header {
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 10;
  z-index: 100;
  position: sticky;
  width: 100%;
}

.headerLogo .headerLogoInner {
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  transition: opacity 0.4s ease;
}
.headerLogoSymbol img {
  aspect-ratio: 1;
  width: 100%;
}
.headerLogoType {
  width: 146px;
  line-height: 10px;
  transition: opacity 0.6s ease;
}
.headerLogoType img {
  aspect-ratio: 146/10;
  width: 100%;
}
.is-scrolled .headerLogoType {
  opacity: 0;
}
body.is-navOpen .headerLogoType {
  opacity: 0;
}

.l-nav {
  inset-inline-end: 0;
  z-index: 10;
  position: fixed;
  pointer-events: none;
}
body.is-navOpen .l-nav {
  pointer-events: initial;
}

.navGlobal {
  display: grid;
  align-items: center;
  width: 100vw;
  width: 100dvw;
  height: 100vh;
  height: 100dvh;
  background-color: #fff;
  pointer-events: none;
  transition: -webkit-mask-position 1s ease;
  transition: mask-position 1s ease;
  transition: mask-position 1s ease, -webkit-mask-position 1s ease;
}
body.is-navOpen .navGlobal {
  pointer-events: initial;
}
.navGlobal [data-simplebar] {
  max-height: 100vh;
  max-height: 100dvh;
}
.navGlobalInner {
  row-gap: 48px;
  display: grid;
  width: 100%;
}

.listNavGlobal {
  row-gap: 32px;
  display: flex;
  flex-direction: column;
  column-gap: 32px;
}
.listNavGlobalWrap {
  display: grid;
}
.listNavGlobalItem {
  container-type: inline-size;
}
.listNavGlobal .listNavGlobalLink {
  row-gap: calc(8 / 12 * 1em);
  display: flex;
  flex-direction: column;
  color: inherit;
  font-size: 1.2rem;
}
.listNavGlobal .listNavGlobalLink .textEn {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: calc(-2 / 32 * 1em);
  background: linear-gradient(to right, #bda366, #e5dcac);
  background-clip: text;
  color: #bda366;
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: min(3.2rem, calc(32 / 310 * 100cqw));
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.listNavGlobal .listNavGlobalLink .textJa {
  letter-spacing: 0.1em;
}

.listNavGlobalSub {
  row-gap: calc(16 / 14 * 1em);
  display: flex;
  flex-direction: column;
}
.listNavGlobal .listNavGlobalSub {
  row-gap: calc(10 / 14 * 1em);
  margin-block-start: calc(24 / 14 * 1em);
}
.listNavGlobalSub .listNavGlobalSubLink {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  column-gap: calc(10 / 14 * 1em);
  color: inherit;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.listNavGlobalSub .listNavGlobalSubLink::before {
  aspect-ratio: 1;
  display: block;
  width: calc(14 / 14 * 1em);
  background: linear-gradient(to bottom right, #bda366 33%, #e6e6e6 64%);
  background-position: 100% 100%;
  background-size: 300% 300%;
  content: "";
  -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%225.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");
          mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Ccircle%20cx%3D%227%22%20cy%3D%227%22%20r%3D%225.5%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

.boxNavGlobalContact {
  container-type: inline-size;
  padding-block-start: calc(20 / 14 * 1em);
  border-block-start: 1px solid #e6e6e6;
  font-size: 1.4rem;
}
.boxNavGlobalContactTel {
  row-gap: calc(20 / 14 * 1em);
  display: flex;
  flex-direction: column;
}
.boxNavGlobalContactTelTitle {
  font-family: "EB Garamond", "Times New Roman", serif;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}
.boxNavGlobalContactTelContent {
  row-gap: calc(12 / 10 * 1em);
  display: flex;
  flex-direction: column;
  font-size: 1rem;
}
.boxNavGlobalContactTel .textTel {
  margin-inline: calc(-3 / 60 * 1em);
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: min(6rem, calc(60 / 352 * 100cqw));
  letter-spacing: 0.05em;
}
.boxNavGlobalContactTel .textOpening {
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.boxNavGlobalContact .listNavGlobalContact {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-block-start: 48px;
  font-size: clamp(1.2rem, calc(14 / 352 * 100cqw), 1.4rem);
}
.boxNavGlobalContact .listNavGlobalContactItem {
  position: relative;
}
.boxNavGlobalContact .listNavGlobalContactItem::before {
  inset-block-start: 50%;
  inset-inline-start: 0;
  translate: 0 -50%;
  position: absolute;
  height: calc(20 / 14 * 1em);
  border-inline-start: 1px solid #e6e6e6;
  content: "";
}
.boxNavGlobalContact .listNavGlobalContactItem:last-child::after {
  inset-block-start: 50%;
  inset-inline-end: 0;
  translate: 0 -50%;
  position: absolute;
  height: calc(20 / 14 * 1em);
  border-inline-start: 1px solid #e6e6e6;
  content: "";
}
.boxNavGlobalContact .listNavGlobalContactLink {
  display: block;
  color: inherit;
  text-align: center;
}

.btnToggleNav {
  gap: 8px;
  display: flex;
  z-index: 101;
  position: fixed;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 64px;
  color: #bda366;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  text-transform: uppercase;
}
.btnToggleNav .icon-menu {
  position: relative;
  width: 32px;
  height: 6px;
}
.btnToggleNav .icon-menu::before, .btnToggleNav .icon-menu::after {
  inset-inline: 0;
  position: absolute;
  border-block-start: 1px solid #bda366;
  content: "";
  transition: all 0.3s ease;
  transition-duration: inset-block-start, rotate;
}
.btnToggleNav .icon-menu::before {
  inset-block-start: 0;
}
.btnToggleNav .icon-menu::after {
  inset-block-start: 100%;
}
body.is-navOpen .btnToggleNav .icon-menu::before {
  inset-block-start: 50%;
  rotate: 20deg;
}
body.is-navOpen .btnToggleNav .icon-menu::after {
  inset-block-start: 50%;
  rotate: -20deg;
}
.btnToggleNav .text {
  position: relative;
  transition: color 0.4s ease;
}
body.is-navOpen .btnToggleNav .text {
  color: rgba(189, 163, 102, 0);
}
.btnToggleNav .text::after {
  inset: 0;
  display: grid;
  position: absolute;
  place-items: center;
  color: #bda366;
  content: "Close";
  opacity: 0;
  transition: opacity 0.4s ease;
}
body.is-navOpen .btnToggleNav .text::after {
  opacity: 1;
}

.l-footer {
  background: linear-gradient(to right, rgba(189, 163, 102, 0.1), rgba(229, 220, 172, 0.1));
}

.footerInner {
  display: grid;
}
.footerContent01 {
  row-gap: 24px;
  display: flex;
  flex-direction: column;
}
.footerContent01 .footerLinkAccess {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.footerContent02 {
  display: grid;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
.footerContent02 .listNavFooter {
  display: flex;
  flex-direction: column;
}
.footerContent02 .listNavFooter .listNavFooterLink {
  color: inherit;
}
.footerContent03 {
  row-gap: 20px;
  display: flex;
  flex-direction: column;
}
.footerContent03 .listSns {
  gap: 16px;
  display: flex;
}
.footerContent03 .listSns .listSnsLink {
  display: block;
}
.footerContent03 .listSns .listSnsLink img {
  opacity: 0.2;
}
.footerContent03 .textCopyright {
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: 1rem;
  letter-spacing: 0.15em;
}

[class*=icon-] {
  display: inline-flex;
  width: 24px;
  height: 24px;
  font-size: 24px;
}
[class*=icon-].colorMain {
  color: #bda366;
}
[class*=icon-].colorSub {
  color: #2a469f;
}
[class*=icon-].small {
  width: 20px;
  height: 20px;
}
[class*=icon-].smallX {
  width: 16px;
  height: 16px;
}
[class*=icon-].large {
  width: 32px;
  height: 32px;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 100, "GRAD" 0, "opsz" 24;
}

.icon-arrow-bar {
  width: 32px;
  height: 7px;
}
.icon-arrow-bar svg {
  fill: none;
  stroke: currentColor;
}

.icon-play.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 100, "GRAD" 0, "opsz" 24;
}

.bgBase {
  background-color: #fff;
}

.bgMain {
  background-color: #bda366;
}

.bgMainPale {
  background-color: #faf8f5;
}

.bgSub {
  background-color: #2a469f;
}

.bgSubPale {
  background-color: #f7f9fc;
}


.linkBtn,
button.linkBtn,
a.linkBtn {
  padding-block: calc(12 / 16 * 1em);
  padding-inline: calc(24 / 16 * 1em);
  display: inline-flex;
  align-items: center;
  column-gap: calc(16 / 16 * 1em);
  background-color: #333;
  color: #fff;
  font-size: 1.6rem;
}
.colorMain.linkBtn {
  background-color: #bda366;
}
.colorSub.linkBtn {
  background-color: #2a469f;
}
.disabled.linkBtn, [disabled].linkBtn {
  opacity: 0.2;
  pointer-events: none;
}
.linkBtn .text {
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.linkBtn .text.serifEn {
  font-size: calc(18 / 16 * 1em);
}

.listConversionButton {
  z-index: 100;
  position: fixed;
}
.listConversionButtonItem {
  z-index: 1;
  position: relative;
}
.listConversionButtonItem:not(:first-child) {
  position: relative;
}
.listConversionButtonItem:not(:first-child)::before {
  display: block;
  content: "";
}
.listConversionButton .btnConversion {
  gap: calc(12 / 12 * 1em) calc(8 / 12 * 1em);
  display: flex;
  align-items: center;
  color: #333;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}

.sectionFooterContact {
  padding-block: 80px 64px;
  border-block-start: 1px solid #e6e6e6;
}
.sectionFooterContactTitle {
  margin-block-end: 64px;
  color: #bda366;
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.sectionFooterContactContent {
  display: grid;
}
.sectionFooterContact .boxFooterContactTel {
  row-gap: 32px;
  container-type: inline-size;
  display: flex;
  flex-direction: column;
}
.sectionFooterContact .boxFooterContactTel .textTel {
  margin-inline: calc(-8 / 80 * 1em);
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: min(8rem, calc(60 / 352 * 100cqw));
  letter-spacing: 0.05em;
  line-height: calc(56 / 80);
}
.sectionFooterContact .boxFooterContactTel .textOpening {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.sectionFooterContact .listFooterContact {
  border-block-start: 1px solid #e6e6e6;
}
.sectionFooterContact .listFooterContactItem {
  border-block-end: 1px solid #e6e6e6;
}
.sectionFooterContact .listFooterContactLink {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block-start: calc(24 / 16 * 1em);
  padding-block-end: calc(20 / 16 * 1em);
  column-gap: 1em;
  color: inherit;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

.simplebar-track .simplebar-scrollbar::before {
  top: 3px;
  right: 3px;
  bottom: 3px;
  left: 3px;
  background-color: #333;
}
.simplebar-track .simplebar-scrollbar.simplebar-visible::before {
  opacity: 0.2;
}

.swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
  display: none;
}
.swiper.swiper-initialized .swiper-slide:not(:first-child) {
  display: initial;
}
.swiper .swiper-controllers {
  display: flex;
  align-items: center;
  margin-block-start: 64px;
  column-gap: 32px;
}
.swiper .swiper-pagination {
  position: static;
  height: 1px;
  background: #e6e6e6;
}
.swiper .swiper-pagination .swiper-pagination-progressbar-fill {
  background: #bda366;
}
.swiper .swiper-navigation {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  column-gap: 16px;
}
.swiper .swiper-navigation .swiper-navigation-button {
  padding-block: 8px;
  line-height: 7px;
  cursor: pointer;
  transition: opacity 0.4s ease;
}
.swiper .swiper-navigation .swiper-navigation-button.swiper-navigation-prev {
  rotate: y 180deg;
}
.swiper .swiper-navigation .swiper-navigation-button.swiper-button-disabled {
  opacity: 0.2;
}
.swiper .swiper-navigation .swiper-navigation-num {
  flex-shrink: 0;
  font-family: "EB Garamond", "Times New Roman", serif;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

.js-appearImage {
  background-color: #f7f9fc;
}
.js-appearImage img {
  display: block;
  -webkit-mask-image: linear-gradient(to right bottom, black 40%, rgba(0, 0, 0, 0) 60%);
          mask-image: linear-gradient(to right bottom, black 40%, rgba(0, 0, 0, 0) 60%);
  -webkit-mask-position: 100% 100%;
          mask-position: 100% 100%;
  -webkit-mask-size: 400% 400%;
          mask-size: 400% 400%;
  transition: -webkit-mask-position 3s cubic-bezier(0.25, 1, 0.5, 1);
  transition: mask-position 3s cubic-bezier(0.25, 1, 0.5, 1);
  transition: mask-position 3s cubic-bezier(0.25, 1, 0.5, 1), -webkit-mask-position 3s cubic-bezier(0.25, 1, 0.5, 1);
}
.js-appearImage.is-appear img {
  -webkit-mask-position: 0 0;
          mask-position: 0 0;
}

.js-appearHeadline {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline-start: calc(-2 / 48 * 1em);
  background-clip: text;
  background-position: 100% 50%;
  background-size: 250% 100%;
  transition: background-position 2s cubic-bezier(0.25, 1, 0.5, 1);
}
.js-appearHeadline.fcMainGradient {
  background-image: linear-gradient(to right, #bda366, #e5dcac 40%, #f7f9fc 60%);
}
.js-appearHeadline.fcText {
  background-image: linear-gradient(to right, #333 40%, #f7f9fc 60%);
}
.js-appearHeadline.is-appear {
  background-position: 0 50%;
}

.iframeWrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.iframeWrapper iframe,
.iframeWrapper video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (min-width: 640px) and (max-width: 768px) {
  .mediumOnlyMb50 {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 639px) {
  .spMb0 {
    margin-bottom: 0;
  }

  .spMb5 {
    margin-bottom: 5px;
  }

  .spMb10 {
    margin-bottom: 10px;
  }

  .spMb12 {
    margin-bottom: 12px;
  }

  .spMb15 {
    margin-bottom: 15px;
  }

  .spMb20 {
    margin-bottom: 20px;
  }

  .spMb25 {
    margin-bottom: 25px;
  }

  .spMb30 {
    margin-bottom: 30px;
  }

  .spMb35 {
    margin-bottom: 35px;
  }

  .spMb40 {
    margin-bottom: 40px;
  }

  .spMb45 {
    margin-bottom: 45px;
  }

  .spMb50 {
    margin-bottom: 50px;
  }

  .spMb60 {
    margin-bottom: 60px;
  }

  .spMb65 {
    margin-bottom: 65px;
  }

  .spMb70 {
    margin-bottom: 70px;
  }

  .spMb80 {
    margin-bottom: 80px;
  }

  .spMb90 {
    margin-bottom: 90px;
  }

  .spMb100 {
    margin-bottom: 100px;
  }

  .spMb150 {
    margin-bottom: 150px;
  }

  .spMb170 {
    margin-bottom: 170px;
  }

  .spMb200 {
    margin-bottom: 200px;
  }
  .spPt100 {
    padding-top: 100px;
  }

  .spPt200 {
    padding-top: 200px;
  }

  .spPb100 {
    padding-bottom: 100px;
  }
  .spFs10 {
    font-size: 1rem;
  }

  .spFs11 {
    font-size: 1.1rem;
  }

  .spFs12 {
    font-size: 1.2rem;
  }

  .spFs13 {
    font-size: 1.3rem;
  }

  .spFs14 {
    font-size: 1.4rem;
  }

  .spFs15 {
    font-size: 1.5rem;
  }

  .spFs16 {
    font-size: 1.6rem;
  }

  .spFs17 {
    font-size: 1.7rem;
  }

  .spFs18 {
    font-size: 1.8rem;
  }

  .spFs20 {
    font-size: 2rem;
  }

  .spFs22 {
    font-size: 2.2rem;
  }

  .spFs24 {
    font-size: 2.4rem;
  }

  .spFs30 {
    font-size: 3rem;
  }

  .spFs42 {
    font-size: 4.2rem;
  }

  .spLs01 {
    letter-spacing: 0.01em;
  }

  .spLs20 {
    letter-spacing: 0.2em;
  }

  .spLh20 {
    line-height: 2;
  }
  .narrowTxtLeft {
    text-align: left;
  }

  .narrowTxtCenter {
    text-align: center;
  }
}
@media (any-hover: hover) {
  a.textLinkHasCircle::before {
    transition: background-position 0.6s ease;
  }
  a.textLinkHasCircle:hover::before {
    background-position: 0 0;
  }
  .alpha {
    transition: opacity 0.4s ease;
  }
  .alpha:hover {
    opacity: 0.6;
  }

  .textLink {
    transition: opacity 0.4s ease;
  }
  .textLink:hover {
    opacity: 0.6;
  }

  .textLinkHasIcon {
    transition: opacity 0.4s ease;
  }
  .textLinkHasIcon .icon-arrow-bar {
    transition: translate 0.4s ease;
  }
  .textLinkHasIcon:hover {
    opacity: 0.6;
  }
  .textLinkHasIcon:hover .icon-arrow-bar {
    translate: 10% 0;
  }

  a[href^="tel:"] {
    color: #333;
    text-decoration: none;
    pointer-events: none;
  }
  .headerLogo .headerLogoInner:hover {
    opacity: 0.6;
  }
  .listNavGlobal .listNavGlobalLink {
    transition: opacity 0.6s ease;
  }
  .listNavGlobal .listNavGlobalLink:hover {
    opacity: 0.6;
  }
  .listNavGlobalSub .listNavGlobalSubLink::before {
    transition: background-position 0.6s ease;
  }
  .listNavGlobalSub .listNavGlobalSubLink:hover::before {
    background-position: 0 0;
  }
  .footerContent03 .listSns .listSnsLink {
    transition: opacity 0.4s ease;
  }
  .footerContent03 .listSns .listSnsLink:hover {
    opacity: 0.6;
  }
  .linkBtn,
button.linkBtn,
a.linkBtn {
    transition: opacity 0.4s ease;
  }
  .linkBtn:hover {
    opacity: 0.6;
  }
  .sectionFooterContact .listFooterContactLink {
    transition: color 0.4s ease;
  }
  .sectionFooterContact .listFooterContactLink:hover {
    color: rgba(51, 51, 51, 0.6);
  }
  .sectionFooterContact .listFooterContactLink:hover .icon-arrow-bar {
    animation: moveArrow 0.4s ease;
  }
  @keyframes moveArrow {
    0% {
      translate: 0 0;
    }
    50% {
      translate: 25% 0;
    }
    100% {
      translate: 0 0;
    }
  }
}
@media screen and (min-width: 1440px) {
  .displayXwide {
    display: inherit;
  }
}
@media screen and (max-width: 768px) {
  .displaySp {
    display: inherit;
  }

  .displayNotMedium {
    display: none !important;
  }

  .displayMedium {
    display: block;
  }
}
@media screen and (min-width: 769px) {
  .displayNotMedium {
    display: block;
  }
  .displayNotMedium.displayInlineBlock {
    display: inline-block;
  }

  .displayMedium {
    display: none !important;
  }
  .l-contents {
    padding-inline: 80px;
  }
  .l-inner {
    margin-inline: auto;
    padding-inline: min(80px, calc(80 / 1440 * 100vw));
    box-sizing: content-box;
    max-width: 1120px;
  }
  .l-header {
    height: 135px;
    padding-block-start: 24px;
  }
  .headerLogo .headerLogoInner {
    row-gap: 12px;
  }
  .headerLogoSymbol {
    width: 64px;
  }
  .l-nav {
    inset-block: 0;
  }
  .navGlobal {
    padding-inline: 80px;
    -webkit-mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0) 40%, black 60%);
            mask-image: linear-gradient(120deg, rgba(0, 0, 0, 0) 40%, black 60%);
    -webkit-mask-position: 0 50%;
            mask-position: 0 50%;
    -webkit-mask-size: 300% 100%;
            mask-size: 300% 100%;
  }
  body.is-navOpen .navGlobal {
    -webkit-mask-position: 100% 50%;
            mask-position: 100% 50%;
  }
  .navGlobalInner {
    padding-block: 135px 80px;
    padding-inline: calc(80 / 1440 * 100vw);
    column-gap: 32px;
  }
  .listNavGlobalWrap {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 32px;
  }
  .btnToggleNav {
    inset-block-start: 50%;
    inset-inline-end: 40px;
    translate: 50% -50%;
  }
  .l-footer {
    padding-block: 80px 120px;
    padding-inline: 80px;
  }
  .footerContent02 {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 32px;
  }
  .footerContent02 .listNavFooter {
    row-gap: 24px;
  }
  .listConversionButton {
    inset-block: 0;
    inset-inline-start: 0;
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    justify-content: center;
    width: 80px;
  }
  .listConversionButtonItem:nth-child(1) {
    align-self: flex-end;
  }
  .listConversionButtonItem:not(:first-child)::before {
    margin-inline: auto;
    width: 24px;
    border-block-start: 1px solid #e6e6e6;
  }
  .listConversionButton .btnConversion {
    padding-block: calc(20 / 12 * 1em);
    padding-inline: calc(8 / 12 * 1em);
    flex-direction: column;
  }
  .listConversionButton .btnConversion .text {
    writing-mode: vertical-rl;
  }
  .listConversionButton .btnConversion .icon-mail {
    margin-block-start: calc(-2 / 12 * 1em);
  }
  .listConversionButton .listConversionButtonItem:nth-child(1) .btnConversion {
    flex-direction: column-reverse;
  }
}
@media screen and (max-width: 640px) {
  .displayNotNarrow {
    display: none !important;
  }

  .displayNarrow {
    display: inherit;
  }
}
@media screen and (min-width: 641px) {
  .displayNotNarrow {
    display: inherit;
  }
  .displayNotNarrow.displayInlineBlock {
    display: inline-block;
  }

  .displayNarrow {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .l-contents {
    /* padding-inline: 20px; */
  }
  .l-inner {
    padding-inline: calc(20 / 390 * 100vw);
  }
  .l-header {
    height: 120px;
    padding-block-start: 18px;
  }
  .headerLogo .headerLogoInner {
    row-gap: 10px;
  }
  .headerLogoSymbol {
    width: 56px;
  }
  .l-nav {
    inset-block-end: 0;
  }
  .navGlobal {
    -webkit-mask-image: linear-gradient(150deg, rgba(0, 0, 0, 0) 40%, black 60%);
            mask-image: linear-gradient(150deg, rgba(0, 0, 0, 0) 40%, black 60%);
    -webkit-mask-position: 50% 0;
            mask-position: 50% 0;
    -webkit-mask-size: 100% 300%;
            mask-size: 100% 300%;
  }
  body.is-navOpen .navGlobal {
    -webkit-mask-position: 50% 100%;
            mask-position: 50% 100%;
  }
  .navGlobalInner {
    padding-block: 120px;
    padding-inline: calc(20px + 20 / 390 * 100vw);
  }
  .listNavGlobalWrap {
    row-gap: 32px;
  }
  .btnToggleNav {
    inset-block-end: 0;
    inset-inline-end: 0;
  }
  .l-footer {
    padding-block: 64px 160px;
    padding-inline: 20px;
  }
  .footerContent02 {
    row-gap: 32px;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
  }
  .footerContent02 .listNavFooter.navFooterSub {
    grid-column: 1/3;
    padding-block-start: 32px;
    border-block-start: 1px solid #e6e6e6;
  }
  .footerContent02 .listNavFooter {
    row-gap: 20px;
  }
  .listConversionButton {
    inset-inline: 0;
    inset-block-end: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 64px;
    padding-inline-end: 56px;
  }
  .listConversionButton::after {
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 0;
    position: absolute;
    height: 96px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 60%);
    content: "";
  }
  .listConversionButtonItem:not(:first-child)::before {
    inset-inline-start: 0;
    inset-block-start: 50%;
    translate: 0 -50%;
    position: absolute;
    height: 24px;
    border-inline-start: 1px solid #e6e6e6;
  }
  .listConversionButton .btnConversion {
    padding-block: calc(8 / 12 * 1em);
    padding-inline: calc(20 / 12 * 1em);
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .navGlobalInner > .listNavGlobalSub {
    padding-block-start: 48px;
    border-block-start: 1px solid #e6e6e6;
  }
}
@media screen and (min-width: 1024px) {
  .navGlobalInner {
    grid-template-columns: repeat(3, 1fr);
  }
  .navGlobalInner .listNavGlobalWrap {
    grid-column: 1/3;
    grid-row: 1/3;
  }
  .navGlobalInner .boxNavGlobalContact {
    align-self: flex-end;
  }
  .footerInner {
    row-gap: 32px;
    grid-template-columns: auto min(544px, calc(100% - 240px));
    justify-content: space-between;
    column-gap: 40px;
  }
  .footerInner .footerContent02 {
    grid-column: 2/3;
    grid-row: 1/3;
  }
  .footerInner .footerContent03 {
    align-self: flex-end;
  }
  .sectionFooterContactContent {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 32px;
  }
  .sectionFooterContactContent .boxFooterContactTel {
    grid-column: 1/3;
  }
}
@media screen and (max-width: 1023px) {
  .footerInner {
    row-gap: 64px;
  }
  .footerInner .footerContent02 {
    max-width: 544px;
  }
  .sectionFooterContactContent {
    row-gap: 64px;
  }
}
