@charset "UTF-8";

:root {
  --base: #333333;
  --gold: #D4B987;
  --bg: #333333;
  --gray1: #A7A7A7;
  --gray2: #BCBCBC
}
a, b, dd, dt, h1, h2, h3, h4, h5, li, p, span, strong {
  margin: 0;
  padding: 0
}
img {
  height: auto;
  width: 100%;
  min-height: 0;
  vertical-align: top
}
figure {
  width: 100%;
  min-height: 0;
  line-height: 0;
  margin: 0 auto;
  padding: 0
}
ul {
  list-style: none;
  margin: 0;
  padding: 0
}
a {
  backface-visibility: hidden;
  transition: .3s
}
a img {
  display: inline-block
}
button {
  background: 0 0;
  border: none;
  cursor: pointer;
  outline: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%
}
@media only screen and (max-width:880px) {
  html {
    font-size: 1.1363636364vw
  }
}
@media only screen and (max-width:767px) {
  html {
    font-size: 2.6666666667vw
  }
}
.grecaptcha-badge {
  display: none !important
}
body {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  background: var(--bg);
  position: relative;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  color: #fff;
  font-size: 1.6rem
}
@media only screen and (max-width:767px) {
  body {
    overflow: hidden;
    overflow-y: scroll
  }
}
a {
  color: inherit;
  text-decoration: underline
}
a:hover {
  text-decoration: none
}
button, input[type=email], input[type=tel], input[type=text], select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  font-family: "Zen Old Mincho", sans-serif
}
label {
  cursor: pointer
}
img {
  vertical-align: middle
}
a, button {
  transition: .3s opacity
}
.l-main {
  display: block
}
.pc {
  display: block
}
@media only screen and (max-width:767px) {
  .pc {
    display: none
  }
}
.tab {
  display: none
}
@media only screen and (max-width:880px) {
  .tab {
    display: block
  }
}
.sp {
  display: none
}
@media only screen and (max-width:767px) {
  .sp {
    display: block
  }
}
.inline-pc {
  display: inline
}
@media only screen and (max-width:767px) {
  .inline-pc {
    display: none
  }
}
.inline-sp {
  display: none
}
@media only screen and (max-width:767px) {
  .inline-sp {
    display: inline
  }
}
.no-link {
  pointer-events: none
}
.c-page-links {
  scroll-margin-top: 9.5rem
}
@media only screen and (max-width:767px) {
  .c-page-links {
    scroll-margin-top: 6rem
  }
}
.l-header {
  max-width: 88rem;
  width: 100%;
  margin: 0 auto; /*! background: url(../img/home/mv_body.webp) 50% 0/100% no-repeat; */ position: relative;
  z-index: 1
}
@media only screen and (max-width:767px) {
  .l-header { /*! background-image: url(../img/home/mv_body-sp.webp); */
  }
}
.l-header__kv {
  width: 100%;
  aspect-ratio: 880/1360;
  background: url(../img/home/mv.webp) no-repeat;
  background-position: center top;
  background-size: 100% auto;
  padding: 6.44rem 0 0
}
@media only screen and (max-width:767px) {
  .l-header__kv {
    width: 100vw;
    aspect-ratio: 752/2561;
    background-image: url(../img/home/mv-sp.webp)
  }
}
.l-header__kv_logo {
  width: 11.158rem;
  margin: 0 auto
}
.l-header__kv_body {
  padding: 23rem 0 0;
  position: relative;
  z-index: 1;
  margin-top: -37rem
}

html[lang=en] .l-header__kv_body {
  padding-top:18rem;
}
@media only screen and (max-width:767px) {
  .l-header__kv_body {
    padding-top: 15rem; /*! background: linear-gradient(to top, #333333 25%, #333333, rgba(255, 255, 255, 0) 85%); */ margin-top: -48rem
  }
  html[lang=en] .l-header__kv_body {
    padding-top: 5rem
  }
}
.l-header__kv_body::before {
  content: "";
  width: 5.217rem;
  height: 112.297rem;
  background: url(../img/home/futo.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  right: 23.5rem;
  z-index: 2;
}
html[lang=en] .l-header__kv_body::before {
  display: none
}
@media only screen and (max-width:767px) {
  .l-header__kv_body::before {
    width: 3.478rem;
    height: 74.868rem;
    right: 9.59rem
  }
}
.l-header__kv_body::after {
  content: "";
  width: 50.5rem;
  height: 20.9rem;
  background: url(../img/home/bg-02.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: 33.9rem;
  right: 11.5rem;
  z-index: -2
}
@media only screen and (max-width:767px) {
  .l-header__kv_body::after {
    width: 37.5rem;
    height: 15.5rem;
    background-image: url(../img/home/bg-02-sp.webp);
    top: 30.2rem;
    right: 0
  }
}
.l-header__kv_image {
  width: 68.8rem;
  margin-left: -4.3rem;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:767px) {
  .l-header__kv_image {
    width: 40.6rem;
    margin-left: -7.8rem
  }
}
.l-header__kv_sign {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 13rem auto 0;
  background: url(../img/home/bg-01.webp) 50% 4.48rem/23.7rem no-repeat
}
@media only screen and (max-width:767px) {
  .l-header__kv_sign {
    margin-top: 12.23rem;
    background-position: 50% 6.85rem;
    background-size: 18.167rem
  }
}
.l-header__kv_copy {
  position: relative;
  z-index: 1;
  line-height: 2.2;
  letter-spacing: .1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  font-size: 2.6rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .l-header__kv_copy {
    font-size: 1.8rem
  }
}
.l-header__kv_copy span {
  display: block
}
.l-header__kv_copy span:nth-child(2) {
  margin-top: 3lh
}
html[lang=en] .l-header__kv_sign {
  background-position: center center
}
html[lang=en] .l-header__kv_copy {
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 80vw;
  max-height: 500px
}
html[lang=en] .l-header__kv_copy span:nth-child(2) {
  margin-top: 1em
}
.l-footer {
  padding: 13.987rem 0 10.99rem;
  position: relative
}
@media only screen and (max-width:767px) {
  .l-footer {
    padding: 11.427rem 0 12.95rem;
  }
}
.l-footer::before {
  content: "";
  width: 100%;
  aspect-ratio: 1/0.026;
  background: url(../img/common/border.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  left: 0
}
@media only screen and (max-width:767px) {
  .l-footer::before {
    aspect-ratio: 1/0.106;
    background-size: cover
  }
}
.l-footer-reserve {
  max-width: 88rem;
  width: 100%;
  margin: 0 auto;
  padding: 0 11.44rem;
  box-sizing: border-box
}
@media only screen and (max-width:767px) {
  .l-footer-reserve {
    padding: 0 2.3rem
  }
}
.l-footer-reserve__head {
  display: flex;
  justify-content: space-between;
}

.l-footer-reserve__head_title .c-title--ptn1.is-vertical {
  /*! width:fit-content; */
  /*! margin-inline:auto; */
  text-align: center;
}

@media only screen and (max-width:767px) {
  .l-footer-reserve__head_title {
    padding-left: 2.3rem
  }
  html[lang=en] .l-footer-reserve__head {
    flex-direction: column
  }
  html[lang=en] .l-footer-reserve__head > .l-footer-reserve__head_title {
    width: fit-content;
    padding-left: 0;
    margin-bottom: 4rem;
  }
}
.l-footer-reserve__head_caption {
  width: 51rem;
  margin: 0 0 0 auto;
  line-height: 1.875;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}
html[lang=en] .l-footer-reserve__head_caption {
  width: 46rem
}
@media only screen and (max-width:767px) {
  .l-footer-reserve__head_caption {
    width: 21.9rem;
    line-height: 1.8571428571;
    font-size: 1.4rem
  }
  html[lang=en] .l-footer-reserve__head_caption {
    width: auto
  }
}
.l-footer-reserve__head_caption p + p {
  margin-top: 1.2em
}
.l-footer-reserve__body {
  max-width: 32.8rem;
  width: 100%;
  margin: 3.31rem auto 0
}
@media only screen and (max-width:767px) {
  .l-footer-reserve__body {
    margin-top: 2rem
  }
}
.l-footer-contact {
  max-width: 88rem;
  width: 100%;
  margin: 0 auto;
  padding: 10rem 11.44rem 0;
  box-sizing: border-box
}
@media only screen and (max-width:767px) {
  .l-footer-contact {
    padding: 9.14rem 2.3rem 0
  }
}
.l-footer-contact__lead {
  margin: 3rem auto 0;
  line-height: 1.875;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .l-footer-contact__lead {
    line-height: 1.8571428571;
    font-size: 1.4rem
  }
}
.l-footer-contact__form {
  margin: 5.3rem auto 0
}
.l-footer-contact__form .wpcf7-not-valid-tip {
  color: red;
  text-align: left
}
.l-footer-contact__form .wpcf7-response-output {
  color: #fff
}
@media only screen and (max-width:767px) {
  .l-footer-contact__form {
    margin-top: 4.8rem
  }
}
.l-footer-contact__form label {
  display: block
}
footer .links {
  text-align: center;
  color: #fff;
  margin-top: 10rem
}
footer .links a {
  color: #fff;
  font-size: .9em
}
.l-form__box {
  margin: 0 auto
}
.l-form__box + .l-form__box {
  margin-top: 1.8rem
}
@media only screen and (max-width:767px) {
  .l-form__box + .l-form__box {
    margin-top: 1rem
  }
}
.l-form__box input[type=email], .l-form__box input[type=tel], .l-form__box input[type=text], .l-form__box textarea {
  width: 100%;
  padding: 1.6rem 1.8rem;
  border: 0;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.875;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif
}
@media only screen and (max-width:767px) {
  .l-form__box input[type=email], .l-form__box input[type=tel], .l-form__box input[type=text], .l-form__box textarea {
    padding: 1.6rem
  }
}
.l-form__box textarea {
  height: 6lh
}
.l-form__btn {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 2.5rem auto 0
}
.l-form__submit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 20.4rem;
  height: 5.7rem;
  background: url(../img/common/submit_bg.webp) 50% 50%/cover no-repeat;
  line-height: 1.4;
  letter-spacing: .1em;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--base)
}
.l-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 11.44rem;
  box-sizing: border-box;
  position: relative
}
@media only screen and (max-width:767px) {
  .l-container {
    padding: 0 2rem
  }
}
@media(min-width:768px) {
  #news .l-container--ptn1 {
    max-width: 90vw
  }
}
.l-container--ptn1 {
  max-width: 88rem
}
.l-container--ptn2 {
  max-width: 88rem;
  padding: 0
}
.l-scroll-effect__fadeIn {
  opacity: 0
}
.l-scroll-effect__fadeIn.js-on {
  animation: fadeIn .6s linear forwards
}
@keyframes fadeIn {
  from {
    opacity: 0
  }
  to {
    opacity: 1
  }
}
.l-fixed__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  position: fixed;
  top: 2.1rem;
  right: 2.3rem;
  z-index: 10
}
@media(min-width:768px) {
  .l-fixed__btns {
    right: 0;
    top: 50%;
    transform: translateY(-33.5rem);
    width: 6.8rem;
    background: url(../img/common/fixed-bar_bg.webp) 50% 50%/cover no-repeat
  }
  html[lang=en] .l-fixed__btns {
    transform: translateY(-29rem)
  }
  .l-fixed__btns > * {
    width: 100%;
    aspect-ratio: 1/1.2;
    display: flex;
    justify-content: center !important;
    align-items: center !important
  }
  .l-fixed__btns > :nth-child(n+2) {
    border-top: 1px solid var(--gray1)
  }
}
@media only screen and (max-width:767px) {
  .l-fixed__btns {
    right: 1rem;
    color: #fff
  }
  html[lang=en] .low .l-fixed__btns {
    top: 60px
  }
}
.l-fixed__btns_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.4444444444;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 400;
  color: #000;
  transition: .3s;
  gap:0.8rem;
}
@media only screen and (max-width:767px) {
  .l-fixed__btns_item {
    z-index: 10
  }
}
.l-fixed__btns_item::before {
  line-height: 1.2;
  font-size: 2.5rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
@media(min-width:768px) {
  .l-fixed__btns_item.is-lang, html[lang=en] .l-fixed__bar_item, html[lang=en] .l-fixed__btns_item {
    font-size: 1rem !important
  }
}
@media only screen and (max-width:767px) {
  .l-fixed__btns_item.is-lang {
    top: 2.2rem;
    right: 2.2rem;
    font-size: .9rem
  }
  html[lang=en] .l-fixed__btns_item.is-lang {
    top: 4rem
  }
  html[lang=en] .l-fixed__btns_item {
    font-size: .9rem
  }
}
.l-fixed__btns_item.is-lang::before {
  content: "\f57d"
}
@media only screen and (max-width:767px) {
  .l-fixed__btns_item.is-share {
    right: 2.2rem;
    bottom: 8.25rem
  }
}
.l-fixed__btns_item.is-share::before {
  content: "";
  width: 3rem; /*! height: 2.61rem; */ background: url(../img/common/icon-share.svg) 50% 50%/100% no-repeat;
  aspect-ratio: 1/1
}
@media(max-width:767px) {
  .l-fixed__btns_item.is-difference, .l-fixed__btns_item.is-difference + div {
    color: #fff
  }
  .l-fixed__btns_item.is-difference.is-share::before {
    background-image: url(../img/common/icon-share-white.svg)
  }
}
.l-fixed__btns_item.is-difference + .langopts {
  color: #fff
}
.l-fixed__bar {
  display: grid;
  grid-template-rows: 8.1rem 8.1rem 1fr;
  width: 6.8rem; /*! width:fit-content; */ /*! height: 37.5rem; */ box-shadow: 0 -.3rem .6rem rgba(0, 0, 0, .08);
  background: url(../img/common/fixed-bar_bg.webp) 50% 50%/cover no-repeat;
  position: fixed;
  top: 43%;
  right: 0;
  translate: 0 -50%;
  z-index: 10
}
.langbox, .snsbox {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: transform .3s ease;
  position: relative
}
.langbox > div {
  display: none;
  gap: 2rem;
  position: absolute;
  left: 3.3em;
}
html[lang=en] .langbox > div a:first-child {
  text-decoration: none
}
html[lang=ja] .langbox > div a:last-child {
  text-decoration: none
}
html[lang=en] .langbox > div a:hover {
  text-decoration: underline !important;
}
html[lang=ja] .langbox > div a:first-child {
  text-decoration: underline !important;
}
html[lang=en] .langbox > div a:last-child {
  text-decoration: underline !important;
}
.snsbox a {
  vertical-align: top
}
.snsbox .a2a_kit {
  position: absolute;
  width: 280px;
  text-align: left;
  left: 3em;
  display: none
}
.l-menu__head_item .snsbox {
  align-items: center;
  display: flex;
  flex-direction: column
}
.l-menu__head_item .snsbox .a2a_kit {
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  top: 200%
}
.snsopen .snsbox {
  transform: translateX(-170px)
}
.snsopen .snsbox .a2a_kit {
  display: block
}
.snsopen .l-menu__head_item .snsbox {
  transform: none
}
.snsopen .l-menu__head_item .snsbox .a2a_kit {
  display: flex;
  flex-direction: column
}
.langopen .langbox {
  transform: translateX(-105px);
  color: #000
}
.langopen .langbox > div {
  display: flex;
  font-size: 2rem
}

@media(min-width:768px) {
  .langopen .l-fixed__btns .langbox > .langopts {
    left:-15px;
  }
}
.langopen .l-fixed__btns .langbox {
  transform: none
}
.snsopen .l-fixed__btns .snsbox {
  transform: none
}
.langopen .l-fixed__btns .langbox > .langopts {
  position: absolute;
  transform: translateX(-100%);
  background:rgba(0, 0, 0, 0);
  padding:0 0.3em;
  backdrop-filter: blur(5px);
}
.snsopen .l-fixed__btns .snsbox > .a2a_kit {
  position: absolute;
  left: -10px;
  transform: translateX(-100%);
  width: fit-content;
  display: flex
}

@media(max-width:767px) {
  .langopen .l-fixed__btns .langbox > .langopts {
    left:0;
  }
}


@media(min-width:1200px) {
  .langopen .l-fixed__btns .langbox > .langopts {
    color: #fff
  }
}
.l-menu__head_item .langbox > div {
  top: 120%;
  left: 50%;
  transform: translateX(-50%)
}
.l-menu__head_item .langbox > div {
  color: var(--base)
}
.langopen .l-menu__head_item .langbox {
  transform: none
}
#google_translate_element {
  display: none
}
@media(min-width:768px) {
  .l-fixed__bar {
    display: block
  }
  
  .l-fixed__bar a, .l-fixed__bar button {
    aspect-ratio: 1/1
  }
  
  .l-fixed__bar .sp_bg {
    display:none;
  }
}
@media only screen and (max-width:767px) {
  .l-fixed__btns .snsbox {
    position: absolute;
    top: calc(100dvh - 16rem)
  }
  html[lang=en] .low .l-fixed__btns .snsbox {
    top: calc(100dvh - 60px - 13rem)
  }
  .langopen .langbox {
    transform: translateX(-10rem)
  }
  .l-fixed__bar {
    grid-template-columns: 1fr 8.1rem 8.1rem;
    grid-template-rows: 100%;
    width: 100%;
    height: 6.8rem;
    /*background-image: url(../img/common/fixed-bar_bg-sp.webp);*/
    background:none;
    top: auto;
    bottom: 0;
    translate: 0 0
  }
  
  .l-fixed__bar .sp_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
  }
}
.l-fixed__bar_item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  line-height: 1.3333333333;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--base)
}
.l-fixed__bar_item::before {
  line-height: 1.25;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
.l-fixed__bar_item {
  padding: 0 10px
}
.l-fixed__bar_item.is-menu {
  gap: .28rem;
  white-space: nowrap
}
@media only screen and (max-width:767px) {
  .l-fixed__bar_item.is-menu {
    grid-row: 1/2;
    grid-column: 3/4
  }
}
.l-fixed__bar_item.is-menu::before {
  content: "\f0c9";
  font-size: 2.8rem;
  font-weight: sold
}
.l-fixed__bar_item.is-map {
  gap: .48rem;
  border-top: 1px solid var(--gray1);
  box-sizing: border-box;
  border-left: 1px solid var(--gray1) !important;
}
@media only screen and (max-width:767px) {
  .l-fixed__bar_item.is-map {
    grid-row: 1/2;
    grid-column: 2/3;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: var(--gray1)
  }
}
.l-fixed__bar_item.is-map::before {
  content: "\f3c5";
  font-size: 2.5rem;
  font-weight: solid
}
.l-fixed__bar_item.is-reserve {
  gap: 1.3rem;
  background: url(../img/common/fixed-bar-reserve_bg.webp) 50% 50%/cover no-repeat;
  font-size: 1.5rem;
  color: #fff;
  aspect-ratio: auto;
  padding: 1.5em 0;
  display: none;
}
html[lang=en] .l-fixed__bar_item.is-reserve {
  font-size: 1.2rem;
    gap:0.8rem;
}
@media only screen and (max-width:767px) {
  .l-fixed__bar_item.is-reserve {
    grid-row: 1/2;
    grid-column: 1/2;
    gap: .49rem;
    background-image: url(../img/common/fixed-bar-reserve_bg-sp.webp);
    font-size: 1.2rem;
    opacity: 0;
    pointer-events: none;
  }
}
.l-fixed__bar_item.is-reserve span {
  writing-mode: vertical-rl;
  text-orientation: upright
}
@media only screen and (max-width:767px) {
  .l-fixed__bar_item.is-reserve span {
    writing-mode: horizontal-tb;
    text-orientation: sideways
  }
}
.l-fixed__bar_item.is-reserve::before {
  content: "\f274";
  font-size: 2.5rem;
  font-weight: 400
}
.l-menu {
  display: none;
  width: 100%;
  height: 100dvh;
  background: #fff;
  overflow: hidden;
  overflow-y: auto;
  position: fixed;
  top: 0;
  left: 50%;
  translate: -50% 0;
  z-index: 20
}
@media only screen and (max-width:767px) {
  .l-menu {
    max-width: initial
  }
}
.l-menu__wrap {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 100dvh
}
.l-menu__head {
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 30vh;
  margin: 0 auto;
  padding: 0 2.8rem 0 0;
  box-sizing: border-box;
  position: relative;
  z-index: 0
}
@media only screen and (max-width:767px) {
  .l-menu__head {
    flex-grow: 1;
    height: auto;
    padding-bottom: 3rem
  }
}
.l-menu__head::after, .l-menu__head::before {
  content: "";
  background: 50% 50%/100% no-repeat;
  position: absolute;
  z-index: -1
}
.l-menu__head::before {
  width: 13.4rem;
  height: 30.675rem;
  background-image: url(../img/common/menu-decoration-01.webp);
  top: 0;
  left: 0
}
.l-menu__head::after {
  width: 23.798rem;
  height: 23.841rem;
  background-image: url(../img/common/menu-decoration-02.webp);
  top: -1.92rem;
  right: -2.76rem
}
.l-menu__head_list {
  display: flex;
  gap: 4rem;
  margin: 0 0 0 auto;
  line-height: 1.4615384615;
  font-size: 1.3rem;
  font-weight: 400
}
.l-menu__head_item + .l-menu__head_item {
  position: relative
}
.l-menu__head_item + .l-menu__head_item::before {
  content: "";
  width: 1px;
  height: 100%;
  background: var(--base);
  position: absolute;
  top: 0;
  right: calc(100% + 2rem)
}
.l-menu__head_link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  text-decoration: none;
  color: var(--base)
}
.l-menu__head_link::before {
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
.l-menu__head_link.is-lang {
  padding-left: 3.6rem
}
.l-menu__head_link.is-lang::before {
  content: "\f57d";
  font-size: 2.5rem
}
.l-menu__head_link.is-share {
  padding-left: 3.4rem;
  transition: transform .3s ease
}
.l-menu__head_link.is-share::before {
  content: "";
  width: 2.349rem;
  height: 2.61rem;
  background: url(../img/common/icon-share.svg) 50% 50%/100% no-repeat
}
.l-menu__body {
  flex-grow: 0;
  display: flex;
  gap: 3.61rem;
  max-width: 50rem;
  width: 100%;
  margin: 0 auto;
  padding: 4rem 0 0 1.86rem;
  box-sizing: border-box;
  position: relative;
  z-index: 0
}
.l-menu__logo {
  width: 9.682rem
}
.l-menu__nav {
  width: calc(100% - 1.86rem - 9.682rem);
  text-align: left
}
.l-menu__nav_list {
  display: flex;
  flex-direction: column;
  gap: 2.2rem;
  line-height: 1.4444444444;
  font-size: 1.8rem;
  font-weight: 400
}
.l-menu__nav_item {
  padding-left: 3.251rem;
  position: relative
}
.l-menu__nav_item::before {
  content: "";
  width: 1.871rem;
  height: 1px;
  background: var(--gray1);
  position: absolute;
  top: .8em;
  left: 0
}
.l-menu__nav_link {
  text-decoration: none;
  color: var(--base)
}
.l-menu__sub {
  margin: 1.1rem 0 0;
  line-height: 1.8571428571;
  letter-spacing: .1em;
  font-size: 1.4rem;
  font-weight: 400
}
.l-menu__sub_link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  text-decoration: none;
  color: var(--base)
}
.l-menu__sub_link::after {
  content: "\f061";
  position: absolute;
  top: 50%;
  left: calc(100% + .6rem);
  translate: 0 -50%;
  font-size: 1.1rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
.l-menu__reserve {
  flex-grow: 1;
  max-width: 50rem;
  width: 100%;
  margin: 0 auto;
  padding: 4.2rem 3rem 5rem;
  box-sizing: border-box;
  position: relative
}

.l-menu__reserve .l-menu__close_btn {
  background:none;
  display:flex;
  flex-direction: row;
  gap:1em;
  font-size:1.5rem;
  box-shadow: none;
}

@media only screen and (max-width:767px) {
  .l-menu__reserve {
    flex-grow: 0
  }
  .l-menu__reserve .l-menu__close_btn {
    display:none;
  }
}
.l-menu__reserve_block {
  display: flex;
  justify-content: center;
  align-items: center
}
.l-menu__reserve::before {
  content: "";
  width: 18.167rem;
  height: 18.2rem;
  background: url(../img/common/menu-decoration-03.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: -4.7rem;
  left: -9.08rem;
  z-index: -1
}
.l-menu__reserve_title {
  width: 12.2rem;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.4166666667;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--base)
}
.l-menu__reserve_content {
  width:100%;
  padding: .5rem 0 .5rem 0rem;
  box-sizing: border-box
}
.l-menu__reserve_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4.8rem;
  background: url(../img/common/fixed-bar-reserve_bg-sp.webp) 50% 50%/cover no-repeat;
  line-height: 1.2;
  text-decoration: none;
  font-size: 1.7rem;
  font-weight: 400;
  color: #fff;
  display: none;
}
.l-menu__reserve_btn span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 2.33rem;
  position: relative
}
.l-menu__reserve_btn span::before {
  content: "\f274";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  font-size: 2rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
.l-menu__close {
  flex-grow: 0
}
.l-menu__close_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: .28rem;
  width: 100%;
  height: 6.8rem;
  box-shadow: 0 -.3rem .6rem rgba(0, 0, 0, .08);
  background: url(../img/common/btn_close-bg.webp) 50% 50%/cover no-repeat;
  line-height: 1.3333333333;
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--base)
}
.l-menu__close_btn::before {
  content: "\f00d";
  line-height: 1;
  font-size: 2.8rem;
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}
.c-title--ptn1 {
  padding: 2.38rem 0 0;
  position: relative;
  line-height: 1.875;
  letter-spacing: .1em;
  font-size: 2.6rem;
  font-weight: 400;
  color: var(--gold)
}
.c-title--ptn1.al-left {
  width: fit-content
}
html[lang=en] .c-title--ptn1 {
  padding-top: 2rem;
  line-height: 1.4;
}
@media(min-width:768px) {
  .l-menu__close_btn {
    display:none;
  }
}
@media only screen and (max-width:767px) {
  .c-title--ptn1 {
    padding-top: 2rem;
    font-size: 2.2rem
  }
}
.c-title--ptn1::before {
  content: "";
  width: 9.298rem;
  height: 2.38rem;
  background: url(../img/common/title_decoration-01.svg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0
}
@media only screen and (max-width:767px) {
  .c-title--ptn1::before {
    width: 7.748rem;
    height: 1.983rem
  }
}
.c-title--ptn1.is-vertical {
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left
}
.c-title--ptn2 {
  line-height: 2;
  letter-spacing: .1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  font-size: 2.6rem;
  font-weight: 400;
  color: #fff
}
html[lang=en] .c-title--ptn2 {
  line-height: 1.6;
  display:flex;
  align-items: baseline;
  flex-wrap: wrap;
}
@media only screen and (max-width:767px) {
  .c-title--ptn2 {
    font-size: 2.4rem
  }
  html[lang=en] .c-title--ptn2 {
    margin-left:1em;
  }
}
.c-title--ptn2 span {
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  background: linear-gradient(to left, #fff 1px, rgba(255, 255, 255, 0) 1px, rgba(255, 255, 255, 0))
}
html[lang=en] .c-title--ptn2 span {
  background: 0 0;
  position: relative;
  width: fit-content
}
html[lang=en] .c-title--ptn2 span:nth-child(n+2) {
  margin-top: .5em
}
html[lang=en] .c-title--ptn2 span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #fff
}
.c-btn {
  text-decoration: none;
  cursor: pointer
}
.c-text--color-gold {
  color: var(--gold)
}
.p-home-body {
  background: var(--bg);
  position: relative
}
.p-home-body::before { /*! content: ""; */ width: 100%;
  height: 122rem; /*! background: url(../img/home/mv_bg-pc.webp) 50% 100%/cover no-repeat; */ position: absolute;
  top: 0;
  left: 0
}
.p-home-news {
  padding: 13.4rem 0 0;
  overflow: hidden
}

.p-home-news__slider_item {
  width: 40rem
}
@media only screen and (max-width:767px) {
  .p-home-news__slider_item {
    width: 15.6rem
  }
}
.p-home-news__slider_image {
  display: block;
  width: 100%;
  aspect-ratio: 500/298;
  overflow: hidden
}
@media only screen and (max-width:767px) {
  .p-home-news__slider_image {
    height: 9.3rem
  }
}
.p-home-news__slider_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}
.p-home-news__slider_content {
  padding: .84rem 0 0;
  text-align: left
}
@media only screen and (max-width:767px) {
  .p-home-news__slider_content {
    padding-top: .6rem
  }
}
.p-home-news__slider_date {
  margin: 0 0 .5rem;
  line-height: 1;
  letter-spacing: .1em;
  font-size: 1.4rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-news__slider_date {
    margin-bottom: .3rem;
    line-height: 1.6363636364;
    font-size: 1.1rem
  }
}
.p-home-news__slider_title {
  line-height: 1.5;
  letter-spacing: .1em;
  font-size: 1.6rem;
  font-weight: 400
}
@media only screen and (max-width:767px) {
  .p-home-news__slider_title {
    line-height: 1.6363636364;
    font-size: 1.1rem
  }
}
.p-home-news__slider_title a {
  text-decoration: none;
  color: #fff
}
.p-home-news__btn {
  display: flex;
  justify-content: flex-end;
  margin: 2rem 0 0 auto
}
@media only screen and (max-width:767px) {
  .p-home-news__btn {
    margin-top: 3.6rem
  }
}
.p-home-news__btn_link {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 3.2rem;
  position: relative;
  line-height: 1.625;
  letter-spacing: .1em;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-news__btn_link {
    padding-right: 2.5rem;
    font-size: 1.4rem
  }
}
.p-home-news__btn_link::after {
  content: "";
  width: 2rem;
  aspect-ratio: 1/1;
  background: url(../img/common/link-arrow.svg) 50% 50%/100% no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%
}
.p-home-about {
  overflow: hidden
}
.p-home-about__title {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 1;
  line-height: 1.8;
  letter-spacing: .1em;
  text-align: left;
  font-size: 2.9rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-about__title {
    line-height: 1.44;
    font-size: 2.5rem
  }
}
.p-home-about__title span {
  background: linear-gradient(to top, #fff 1px, rgba(255, 255, 255, 0) 1px, rgba(255, 255, 255, 0))
}
.p-home-about__caption {
  line-height: 1.875;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}

@media(min-width:768px) {
  html[lang=en] .p-home-about__caption.sec2 {
    margin-top:4rem;
  }
  html[lang=en] .p-home-about__caption.sec2 > figure.r02 {
    width: 50%;
    float:right;
    margin:0 0 2em 2em;
  }
  
}

.r02 {
  margin-inline-end: 0;
  margin-bottom: 4rem
}
@media only screen and (max-width:767px) {
  .p-home-about__caption {
    line-height: 1.8571428571;
    font-size: 1.4rem
  }
  html[lang=en] .p-home-about__caption.sec2 {
    margin-top:4rem;
  }
  .r02 {
    width: 100%
  }
}
.p-home-about__caption p + p {
  margin-top: 1.6em
}
.p-home-about__head {
  padding: 17.69rem 0 0
}
.p-home-about__head .l-container::after {
  content: "";
  width: 44.3rem;
  height: 40.1rem;
  background: url(../img/home/bg-03.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: -.6rem;
  right: -16rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__head .l-container::after {
    width: 8.2rem;
    height: 40.1rem;
    background-image: url(../img/home/bg-03-sp.webp);
    top: 0;
    right: -2.3rem
  }
}
.p-home-about__head_title {
  position: absolute;
  top: -7.8rem;
  left: 22rem
}
html[lang=en] .p-home-about__head_title {
  left: 5%;
  top: -15rem
}
@media only screen and (max-width:767px) {
  .p-home-about__head_title {
    top: -7.3rem;
    left: 4.8rem
  }
}
.p-home-about__head_logo {
  width: 17.258rem;
  margin: 0 auto
}
.p-home-about__content1 {
  padding: 23.21rem 0 0
}
@media only screen and (max-width:767px) {
  .p-home-about__content1 {
    padding-top: 16.8rem
  }
}
.p-home-about__content1_image {
  width: 49.147rem;
  margin: 8.66rem 0 0 -11.44rem;
  position: relative
}
@media only screen and (max-width:767px) {
  .p-home-about__content1_image {
    width: 29.6rem;
    margin: 16.92rem 0 0 -5.8rem
  }
}
.p-home-about__content1_image::before {
  content: "";
  width: 35.615rem;
  height: 35.679rem;
  background: url(../img/home/bg-04.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: -16.25rem;
  left: -9.25rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content1_image::before {
    width: 18.167rem;
    height: 18.2rem;
    top: auto;
    bottom: calc(100% + .8rem);
    left: 0
  }
}
.p-home-about__content1_image::after {
  content: "";
  width: 74.551rem;
  height: 15.688rem;
  background: url(../img/home/img-02_bg.webp) 50% 50%/100% no-repeat;
  position: absolute;
  left: 13.45rem;
  bottom: -12.79rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content1_image::after {
    width: 35.2rem;
    height: 7.582rem;
    left: 8.1rem;
    bottom: -5.84rem
  }
}
.p-home-about__content1_copy {
  position: absolute;
  top: 10.1rem;
  right: 22.6rem;
  line-height: 2;
  letter-spacing: .1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  font-size: 2rem;
  font-weight: 400;
  color: #fff
}
html[lang=en] .p-home-about__content1_copy {
  top: 15rem;
  right: 2em
}
@media only screen and (max-width:767px) {
  .p-home-about__content1_copy {
    right: 2.3rem;
    font-size: 1.6rem
  }
}
.p-home-about__content1_caption {
  margin: 17.41rem auto 0
}
@media only screen and (max-width:767px) {
  .p-home-about__content1_caption {
    margin-top: 8.3rem
  }
}
.p-home-about__content2 {
  padding: 10rem 0 0
}
@media only screen and (max-width:767px) {
  .p-home-about__content2 {
    padding-top: 7.67rem
  }
}
.p-home-about__content2_title {
  margin: 0 0 3rem auto
}
.p-home-about__content2_lead {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 3rem auto
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_lead {
    margin-bottom: 3.63rem
  }
}
.p-home-about__content2_image {
  width: 52.761rem;
  margin: 0 auto 0 3.2rem;
  position: relative
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_image {
    width: 35.2rem;
    margin-left: -2.3rem
  }
}
.p-home-about__content2_image::before {
  content: "";
  width: 52.761rem;
  height: 23.462rem;
  background: url(../img/home/img-03_bg.webp) 50% 50%/100% no-repeat;
  position: absolute;
  left: 14.99rem;
  bottom: -5.9rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_image::before {
    width: 27.5rem;
    height: 15.653rem;
    left: auto;
    right: -2.3rem;
    bottom: -3.94rem
  }
}
.p-home-about__content2_image::after {
  content: "";
  width: 23.96rem;
  height: 23.47rem;
  background: url(../img/home/bg-05.webp) 50% 50%/140% no-repeat;
  position: absolute;
  top: calc(100% + 5rem);
  left: -2rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_image::after {
    width: 15.792rem;
    height: 15.469rem;
    top: calc(100% + 3rem)
  }
}
.p-home-about__content2_copy {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 64.8rem;
  height: 61.2rem;
  margin: 11.77rem 0 0 0;
  padding: 14.96rem 0 0;
  box-sizing: border-box;
  position: relative;
  z-index: 1
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_copy {
    width: calc(100% + 4.6rem);
    height: 40.3rem;
    margin: 7.08rem -2.3rem 0;
    padding-top: 3.86rem
  }
}
.p-home-about__content2_copy::before {
  content: "";
  width: 38.462rem;
  height: 35.134rem;
  background: url(../img/home/bg-06.webp) 50% 50%/100% no-repeat;
  position: absolute;
  left: -4.5rem;
  bottom: -18.47rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_copy::before {
    width: 25.35rem;
    height: 23.156rem;
    left: -6rem;
    bottom: -12.2rem
  }
}
.p-home-about__content2_copy::after {
  content: "";
  width: 22.614rem;
  height: 26.684rem;
  background: url(../img/home/bg-07.webp) 50% 50%/100% no-repeat;
  position: absolute;
  right: -4.19rem;
  bottom: -12.34rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_copy::after {
    width: 14.904rem;
    height: 17.587rem;
    right: -4.35rem;
    bottom: -8.16rem
  }
}
.p-home-about__content2_copy-bg {
  width: 110%;
  aspect-ratio: 1059/1029;
  background:none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0
}

.js-on .p-home-about__content2_copy-bg {
  background: url(../img/home/img-04.webp) 50% 50%/100% no-repeat;
}

html[lang=en] .p-home-about__content2_copy-bg {
  width: 110%;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../img/home/img-04_en.webp);
  pointer-events: none
}
html[lang=en] .js-on .p-home-about__content2_copy-bg {
  background: url(../img/home/img-04.webp) 50% 50%/100% no-repeat;
}


@media only screen and (max-width:767px) {
  .js-on .p-home-about__content2_copy-bg {
    width: 100%;
    background-image: url(../img/home/img-04-sp.webp);
    aspect-ratio: 563/672
  }
}
.p-home-about__content2_copy p {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  line-height: 2;
  letter-spacing: .1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  font-size: 2rem;
  font-weight: 400;
  color: #fff
}
html[lang=en] .p-home-about__content2_copy p {
  margin-left: auto;
  margin-right: 0;
  margin-top: -5rem; /*! padding-right: 1rem; */ max-width: 90%
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_copy p {
    font-size: 1.8rem
  }
  html[lang=en] .p-home-about__content2_copy p {
    width: 65%;
    margin-right: 1em;
    margin-top: -3rem
  }
  html[lang=en] .p-home-about__content2_copy p br {
    display: none
  }
}
.p-home-about__content2_caption1 {
  width: 66.2rem;
  margin: 22.3rem -11.4rem 0 auto
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_caption1 {
    width: 100%;
    margin: 12.2rem 0 0 auto;
    padding-left: 5.9rem;
    box-sizing: border-box
  }
}
.p-home-about__content2_caption2 {
  margin: 6.53rem auto 0
}
@media only screen and (max-width:767px) {
  .p-home-about__content2_caption2 {
    margin-top: 4.4rem;
    padding-right: 5.1rem;
    box-sizing: border-box
  }
}
.p-home-special {
  padding: 10rem 0 0
}
@media only screen and (max-width:767px) {
  .p-home-special {
    padding-top: 8rem;
    overflow: hidden
  }
}
.p-home-special__sign {
  display: flex;
  justify-content: center
}
.p-home-special__title {
  margin: 0 auto 7.28rem
}
@media only screen and (max-width:767px) {
  .p-home-special__title {
    margin-bottom: 5.43rem
  }
}
.p-home-special__title span:nth-child(2) {
  margin-top: .6lh
}
.p-home-special__image {
  margin: 0 auto 12.6rem;
  position: relative
}
@media only screen and (max-width:767px) {
  .p-home-special__image {
    margin-bottom: 11.8rem
  }
}
.p-home-special__block1 {
  position: relative;
  z-index: 1
}
.p-home-special__block1::before {
  content: "";
  width: 38.8rem;
  height: 46.5rem;
  background: url(../img/home/bg-09.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: -11.6rem;
  left: 0;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-special__block1::before {
    width: 15.7rem;
    height: 28.9rem;
    background-image: url(../img/home/bg-09-sp.webp)
  }
}
.p-home-special__block1_image {
  width: 43.7rem;
  margin: 0
}
@media only screen and (max-width:767px) {
  .p-home-special__block1_image {
    width: 22.3rem
  }
  html[lang=en] .p-home-special__block1_image {
    padding-top: 15rem
  }
}
.p-home-special__block1_copy {
  position: absolute;
  top: -5.77rem;
  right: 21.9rem;
  line-height: 1.875;
  letter-spacing: .1em;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  font-size: 2rem;
  font-weight: 400;
  color: #fff
}
html[lang=en] .p-home-special__block1_copy {
  width: 45%;
  white-space: wrap;
  right: 0;
  top: 0
}
@media only screen and (max-width:767px) {
  .p-home-special__block1_copy {
    top: -6.8rem;
    right: 2.8rem;
    font-size: 1.6rem
  }
  html[lang=en] .p-home-special__block1_copy {
    top: -5rem;
    width: 70%;
    right: 2rem
  }
}
.p-home-special__block2 {
  margin: 12.23rem 0 0;
  position: relative
}
html[lang=en] .p-home-special__block2 {
  margin-top: -15rem
}
@media only screen and (max-width:767px) {
  .p-home-special__block2 {
    margin-top: 15.83rem
  }
  html[lang=en] .p-home-special__block2 {
    margin-top: -12rem
  }
}
.p-home-special__block2_image {
  width: 35.075rem;
  margin: 0 0 0 auto
}
@media only screen and (max-width:767px) {
  .p-home-special__block2_image {
    width: 23.588rem;
    margin-right: -1.77rem
  }
}
.p-home-special__block2_copy {
  position: absolute;
  top: 1.2rem;
  left: 25.7rem;
  line-height: 1.875;
  letter-spacing: .1em;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-align: left;
  font-size: 2rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-special__block2_copy {
    top: -5rem;
    left: 4.5rem;
    font-size: 1.6rem
  }
  html[lang=en] .p-home-special__block2_copy {
    top: -10rem;
    width: 100%;
    left: 0;
    text-align: center
  }
  html[lang=en] .p-home-special__block2_copy br {
    display: none
  }
}
.p-home-special__caption1 {
  max-width: 65rem;
  width: 100%;
  margin: 5.93rem 0 0
}
@media only screen and (max-width:767px) {
  .p-home-special__caption1 {
    padding: 0 7.3rem 0 2.3rem;
    box-sizing: border-box;
    margin-top: 3.68rem
  }
}
.p-home-special__caption2 {
  margin: 6.68rem auto 0;
  padding: 0 11.44rem;
  box-sizing: border-box
}
@media only screen and (max-width:767px) {
  .p-home-special__caption2 {
    margin-top: 3.68rem;
    padding: 0 2.3rem 0 6.1rem;
    box-sizing: border-box
  }
}
.p-home-chef {
  margin: 0rem auto 0;
  padding: 12.2rem 0 0;
  position: relative;
  overflow: hidden
}
html[lang=en] .p-home-chef {
  padding-top: 15rem;
}
@media only screen and (max-width:767px) {
  .p-home-chef {
    margin-top: 8.42rem;
    padding-top: 0;
    overflow: visible
  }
  html[lang=en] .p-home-chef {
    margin-top: 15rem
  }
}
.p-home-chef::before {
  content: "";
  width: 100vw;
  aspect-ratio: 750/1078;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0 /*! mix-blend-mode: screen; */
}
@media only screen and (max-width:767px) {
  .p-home-chef::before {
    width: 100%;
    height: 53.9rem;
    background-image: url(../img/home/bg-10-sp.webp);
    background-size: 100% 100%;
    top: -12.7rem;
    z-index: -1
  }
}
.p-home-chef__sign {
  margin: 0 auto 7.15rem;
  position: relative
}
@media only screen and (max-width:767px) {
  .p-home-chef__sign {
    margin-bottom: 3.2rem
  }
}
.p-home-chef__sign_image {
  width: 42.502rem;
  margin: 0
}
@media only screen and (max-width:767px) {
  .p-home-chef__sign_image {
    width: 19.9rem;
    margin-left: -2.3rem
  }
  html[lang=en] .p-home-chef__sign_image {
    width: 80%;
    margin-left: 0;
    margin-right: 0
  }
}
.p-home-chef__sign_title {
  position: absolute;
  top: 0em;
  right: 1em
}

html[lang=en] .p-home-chef__sign {
  padding-top:10rem;
}
html[lang=en] .p-home-chef__sign_title {
  right: -14rem;
  top:-5rem;
}
@media only screen and (max-width:767px) {
  .p-home-chef__sign_title {
    right: 2.3rem;
    top: 0
  }
  html[lang=en] .p-home-chef__sign {
    padding-top:0;
  }
  html[lang=en] .p-home-chef__sign_title {
    right: 0;
    top: -8em
  }
}
.p-home-chef__caption1 {
  margin: 0 auto
}
html[lang=en] .p-home-chef__caption1 {
  /*! padding-left: 5em */
}
.p-home-chef__caption2 {
  width: 65rem;
  margin: 4.3rem -11.4rem 0 auto
}
@media only screen and (max-width:767px) {
  .p-home-chef__caption2 {
    width: 100%;
    margin: 1.6em 0 0
  }
  html[lang=en] .p-home-chef__caption2 p {
    padding-right: 5rem;
  }
}
.p-home-cook {
  padding: 10rem 0 0;
  overflow: hidden
}
@media only screen and (max-width:767px) {
  .p-home-cook {
    padding-top: 7.4rem
  }
}
.p-home-cook__title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 3.3rem 5rem
}
html[lang=en] .p-home-cook__sign {
  flex-direction: column
}
@media only screen and (max-width:767px) {
  .p-home-cook__sign {
    width: 100%;
    margin: 0 auto
  }
}

.p-home-cook__sign {
  display: flex;
  justify-content: space-between;
  width: calc(100% + 11.4rem);
  margin:0 -11.4rem 0 0;
}
.p-home-cook__sign_title {
  width: 12.7rem
}
html[lang=en] .p-home-cook__sign_title {
  width: 100%;
  margin-bottom: 1em
}
@media only screen and (max-width:767px) {
   .p-home-cook__sign {
    width: 100%;
    margin: 0 auto;
  }
  .p-home-cook__sign_title {
    width: 13.4rem;
    margin: 0 auto
  }
}
.p-home-cook__sign_caption {
  width: 59.8rem;
  padding: 23.72rem 0 0;
  position: relative
}
html[lang=en] .p-home-cook__sign_caption {
  width: 65rem
}
@media only screen and (max-width:767px) {
  .p-home-cook__sign_caption {
    width: calc(100% - 13.4rem);
    padding-top: 12.1rem
  }
  html[lang=en] .p-home-cook__sign_caption {
    width: 100%
  }
}
.p-home-cook__sign_caption::before {
  content: "";
  width: 100%;
  height: 20rem;
  background: url(../img/home/bg-11.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: 0;
  left: 0
}
@media only screen and (max-width:767px) {
  .p-home-cook__sign_caption::before {
    width: 21.8rem;
    height: 9.8rem;
    background-image: url(../img/home/bg-11-sp.webp);
    left: auto;
    right: -2.3rem
  }
  html[lang=en] .p-home-cook__sign_caption::before {
    left: -2.3rem;
    right: auto;
    width: 101vw;
    background-image: url(../img/home/bg-11-sp-en.webp);
    background-size: 100% auto;
    background-position: 0 0;
    background-repeat: repeat-x
  }
}
.p-home-cook__omakase {
  width: 29.506rem;
  margin: 7.18rem auto 0;
  padding: 3.817rem 0 2.072rem;
  box-sizing: border-box;
  position: relative
}
@media only screen and (max-width:767px) {
  .p-home-cook__omakase {
    margin-top: 4.76rem
  }
}
.p-home-cook__omakase::after, .p-home-cook__omakase::before {
  content: "";
  width: 100%;
  background: 50% 50%/100% no-repeat;
  position: absolute;
  left: 0
}
.p-home-cook__omakase::before {
  height: 2.777rem;
  background-image: url(../img/home/omakase_head.webp);
  top: 0
}
.p-home-cook__omakase::after {
  height: .732rem;
  background-image: url(../img/home/omakase_bottom.webp);
  bottom: 0
}
.p-home-cook__omakase_title {
  margin: 0 auto;
  line-height: 1.4444444444;
  letter-spacing: .1em;
  font-size: 1.8rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-cook__omakase_title {
    margin-bottom: .34rem;
    line-height: 1.4;
    font-size: 1.5rem
  }
}
.p-home-cook__omakase_price {
  line-height: 1.4772727273;
  letter-spacing: .1em;
  font-size: 2.64rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-cook__omakase_price {
    font-size: 2.2rem
  }
}
.p-home-cook__omakase_price span {
  font-size: 1.4rem
}
@media only screen and (max-width:767px) {
  .p-home-cook__omakase_price span {
    font-size: 1.2rem
  }
}
.p-home-cook__omakase_caption {
  margin: 2.14rem auto 0;
  line-height: 1.5;
  letter-spacing: .1em;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-cook__omakase_caption {
    margin-top: 1.54rem;
    line-height: 1.4285714286;
    font-size: 1.4rem
  }
}

.p-home-shop {
  padding: 31.7rem 0 10rem;
  overflow: hidden
}
@media only screen and (max-width:767px) {
  .p-home-shop {
    padding: 16.42rem 0 7.44rem
  }
}
.p-home-shop__container {
  position: relative;
  z-index: 0
}
.p-home-shop__container::before {
  content: "";
  width: 37.09rem;
  height: 37.157rem;
  background: url(../img/home/bg-12.webp) 50% 50%/100% no-repeat;
  position: absolute;
  top: -21.7rem;
  left: 0;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-shop__container::before {
    width: 18.167rem;
    height: 18.2rem;
    top: -13.5rem;
    left: -7.08rem
  }
}
.p-home-shop__title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 6.7rem 0 auto
}
@media only screen and (max-width:767px) {
  .p-home-shop__title {
    margin-right: 3.5rem
  }
  html[lang=en] .p-home-shop__title {
    margin: 0 auto
  }
}
.p-home-shop__map {
  width: 100%;
  height: 48.688rem;
  margin: 6.35rem auto 0;
  position: relative;
  z-index: 1 /*! filter: grayscale(100%); */
}
@media only screen and (max-width:767px) {
  .p-home-shop__map {
    width: 100%;
    height: 27.4rem;
    margin: 4.5rem 0 0
  }
}
.p-home-shop__map::after {
  content: "";
  width: 25.538rem;
  height: 25.015rem;
  background: url(../img/home/bg-13.webp) 50% 50%/100% no-repeat;
  position: absolute;
  right: -6.57rem;
  bottom: -10.78rem;
  z-index: -1
}
@media only screen and (max-width:767px) {
  .p-home-shop__map::after {
    width: 18.167rem;
    height: 18.2rem;
    right: -8.17rem;
    bottom: -8.9rem
  }
}
.p-home-shop__map iframe {
  width: 100%;
  height: 100%
}
.p-home-shop__body {
  margin: 5.57rem auto 0
}
@media only screen and (max-width:767px) {
  .p-home-shop__body {
    margin-top: 3.7rem
  }
}
.p-home-shop__block {
  display: flex;
  margin: 0 auto;
  line-height: 1.4375;
  letter-spacing: .1em;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 400;
  color: #fff
}
@media only screen and (max-width:767px) {
  .p-home-shop__block {
    line-height: 1.5;
    font-size: 1.4rem
  }
}
.p-home-shop__block + .p-home-shop__block {
  margin-top: 2.8rem
}
@media only screen and (max-width:767px) {
  .p-home-shop__block + .p-home-shop__block {
    margin-top: 2.2rem
  }
}
.p-home-shop__block_title {
  width: 12.7rem
}
@media only screen and (max-width:767px) {
  .p-home-shop__block_title {
    width: 9.6rem
  }
}
.p-home-shop__block_content {
  width: calc(100% - 12.7rem)
}
@media only screen and (max-width:767px) {
  .p-home-shop__block_content {
    width: calc(100% - 9.6rem)
  }
}
.p-home-shop__block_content p + p {
  margin-top: 1.6em
}
@media only screen and (max-width:767px) {
  .p-home-shop__block_content p + p {
    margin-top: 2.2rem
  }
}
.p-home-shop__block_content p > img {
  width: 33.086rem;
  margin: 1.28rem 0 0
}
@media only screen and (max-width:767px) {
  .p-home-shop__block_content p > img {
    width: 23rem;
    margin-top: .9rem
  }
}
.p-home-shop__block_att {
  line-height: 1.5;
  font-size: 1.4rem
}
@media only screen and (max-width:767px) {
  .p-home-shop__block_att {
    line-height: 1.75;
    font-size: 1.2rem
  }
}
.low #uokatsu_logo {
  width: 30vw;
  max-width: 160px;
  margin: 0 0 10rem;
  margin-inline: auto
}
@media(max-width:767px) {
  .low .l-fixed__btns_item {
    color: #fff
  }
  .low .l-fixed__btns_item.is-share::before {
    background-image: url(../img/common/icon-share-white.svg)
  }
  .low .l-fixed__btns_item.is-lang::before { /*! background-image: url(../img/common/icon-lang-white.svg); */
  }
  .low .l-fixed__btns_item.is-lang + div {
    color: #fff
  }
}
.low #container {
  color: #fff;
  padding: 10rem 0 8rem;
  text-align: left
}
#content_head {
  text-align: center
}
#content_head + :not(.post_main) {
  margin-top: 4em
}
#content_head + .post_main {
  margin-top: 1em
}
#content_head .meta {
  margin-top: 1rem;
  margin-bottom: 1rem
}
#content_head .meta a {
  text-decoration: none
}
.low h1 {
  text-align: left;
  font-size: 2em;
  width: fit-content;
  margin-inline: auto
}
@media(max-width:767px) {
  #content_head {
    text-align: left
  }
  .low h1 {
    margin-inline: 0
  }
}
@media(max-width:768px) {
  .post_main {
    position: relative;
    left: -2rem;
    width: 100vw
  }
}
.post_main img {
  height: auto;
  margin-bottom: 4rem
}
.post_content {
  font-size: 1.14em
}
.post_content p:not(:first-child):not(:last-child) {
  margin-top: 1em;
  margin-bottom: 1em
}
.post_content p + :not(p):not(figure) {
  margin-top: 4em
}
.post_content .constbox a {
  color: var(--color_orange)
}
.post_content .note {
  font-size: 1em;
  line-height: 1.4;
  margin-top: .5em
}
@media(max-width:768px) {
  .post_content {
    font-size: 1em
  }
}
.simpleblogcard_wrap {
  margin-left: 0;
  margin-right: 0;
  border-radius: 0
}
.simpleblogcard_wrap > a {
  display: flex;
  color: #fff !important;
  gap: 1rem
}
.simpleblogcard_wrap > a figure {
  position: relative
}
.simpleblogcard_wrap > a figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover
}
.simpleblogcard_inner > div {
  border: none
}
.simpleblogcard_inner > div > div {
  color: #fff !important;
  margin-top: .5em
}
@media(max-width:768px) {
  .simpleblogcard_wrap > a {
    flex-direction: column;
    gap: 0
  }
  .simpleblogcard_wrap > a figure {
    width: auto
  }
}
.post_content .constbox h2, .post_content .constbox h3, .post_content .constbox h4, .post_content .constbox h5 {
  font-weight: 600
}
.post_content .constbox h2 {
  line-height: 1.4;
  font-size: 2.5em;
  color: var(--color_orange);
  text-align: center
}
.post_content .constbox h2 > .inline_fill {
  margin-top: 1em
}
.post_content .constbox h3 {
  line-height: 1.4;
  font-size: 1.7em;
  color: var(--color_orange)
}
@media(max-width:768px) {
  .post_content .constbox h2 {
    font-size: 1.57em
  }
}
.post_content .constbox h2:not(:first-child), .post_content .constbox h3:not(:first-child) {
  margin-top: 6em
}
.post_content .constbox h2 + * {
  margin-top: 4em !important
}
.post_content .constbox h2 + h3 {
  margin-top: 2em !important
}
.post_content .constbox h3 + * {
  margin-top: 2em !important
}
.post_content .constbox .tit_strong {
  font-size: 1.28em
}
body.single #mv h1 {
  font-size: 3em
}
body.single #mv h1 .en {
  font-size: 2em;
  margin-bottom: .5em
}
body.single #mv .author {
  text-align: right;
  margin-top: 1em;
  font-size: 1.2em;
  z-index: 1;
  position: relative
}
@media(max-width:768px) {
  body.single #mv h1 {
    font-size: 5vw
  }
  body.single #mv h1 .en {
    font-size: 4vw
  }
  body.single #mv .author {
    font-size: 3.5vw
  }
}
body.single .post_content .constbox {
  max-width: 850px
}
.post_content .wp-block-heading:not(:first-child) {
  margin-top: 2em
}
.fill_box {
  border-radius: 5px;
  padding: 2em;
  position: relative
}
.fill_box.spadding {
  padding: 1em
}
.fill_box + .fill_box {
  margin-top: 2em
}
.fill_box .illust {
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: 0;
  max-width: 150px;
  transform: translate(50%, 50%);
  width: 25%
}
@media(max-width:768px) {
  .fill_box .illust {
    right: -4vw;
    bottom: 4vw;
    transform: translate(0, 50%)
  }
}
.inline_fill {
  padding: .3em .5em;
  border-radius: 5px;
  display: block;
  width: fit-content;
  text-align: center;
  text-decoration: none;
  line-height: 1.4
}
.inline_fill.large_padding {
  padding: 1em
}
.block:not(:first-child) {
  margin-top: 4em
}
.round_wrapper {
  border-radius: 5px;
  overflow: hidden;
  height: fit-content
}
.round_wrapper > * {
  border-radius: 0
}
.post_content .layout1 > :nth-child(n+2):not(.separate_self) {
  margin: 0 !important
}
.post_content .layout1 > .separate_self {
  margin-top: 1em !important
}
.post_content .layout1 .tit {
  font-size: 1.4em;
  padding: .8em
}
.post_content .layout1 .tit span.note {
  font-size: 1.14em;
  display: block
}
.post_content .layout1 .tit.fill_box {
  justify-content: flex-start
}
.post_content .layout1.separate > :nth-child(n+2) {
  margin-top: 1em !important
}
.post_content .label_text {
  display: flex;
  gap: 1em
}
.post_content .label_text > i {
  display: block;
  width: fit-content;
  white-space: nowrap;
  align-self: flex-start;
  padding: .5em .5em;
  line-height: 1;
  border-radius: 3px;
  font-style: normal
}
.post_content .label_text > :last-child {
  flex: 1
}
.post_content ul:not(.notype) {
  list-style-type: disc;
  padding-left: 1.5em
}
@media(max-width:768px) {
  .post_content .layout1 .tit + .fill_box {
    padding: 1em
  }
}
.post_list {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap
}
.post_list > * {
  width: calc((100% - 4rem)/ 3)
}
@media(max-width:768px) {
  .post_list > * {
    width: calc((100% - 4rem)/ 2)
  }
}
.share_container {
  display: flex;
  justify-content: center;
  margin-top: 8rem
}
.breadcrumbs {
  font-size: 1.4rem;
  margin-bottom: 5rem;
  text-align: left
}
.wp-pagenavi {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5rem;
  gap: 1rem;
  font-size: 1.8rem
}
.wp-pagenavi > * {
  text-decoration: none;
  min-width: 2rem
}
.wp-pagenavi > .current {
  color: var(--gold)
}
.post-navigation ul {
  list-style-type: none;
  font-size: 2rem;
  margin-top: 4rem
}
.post-navigation ul .next {
  margin-top: 2rem;
  text-align: right
}
html[lang=en] * {
  text-orientation: unset !important;
  writing-mode: unset !important
}
.low_heading {
  display: flex;
  gap: .3em;
  align-items: center;
  margin-bottom: 1em
}
.low_heading::before {
  content: "";
  width: 1em;
  height: 1em;
  background: url(../img/home/bg-13.webp);
  background-size: 100% 100%;
  filter: brightness(5)
}
.meta_list {
  margin-top: 8rem
}
.meta_list .low_heading:nth-child(n+2) {
  margin-top: 2em
}
.category-list, .tag-list {
  font-size: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1em
}


.news-swiper {
  margin-top:2em;
}
.news-swiper .swiper-slide {
  margin-right:1em;
}

@media only screen and (max-width: 767px) {
  .news-swiper {
    position: relative;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    padding-left:2em;
  }
}


.cook-swiper {
  position: relative;
  left:50%;
  transform:translateX(-50%);
  width:100vw;
  pointer-events: none;
  margin-top:3em;
}
.cook-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}

.cook-swiper .swiper-wrapper .swiper-slide {
  margin-right:2em;
  width:23.66rem;
}

@media only screen and (max-width: 767px) {
  .cook-swiper .swiper-wrapper .swiper-slide {
    width:17rem;
    margin-right:1.2em;
  }
}


.modal {
  background:rgba(0, 0, 0, 0.6);
  position: fixed;
  width:100vw;
  height:100dvh;
  display:flex;
  justify-content: center;
  align-items:center;
  z-index: 1000000;
}

.modal .inner {
  position: relative;
  background:#fff;
  color:#000;
  padding:2em;
  display:flex;
  flex-direction: column;
  gap:1em;
  max-width:calc(80vw - 4em);
}
.modal .inner .tit {
  font-size:1.3em;
}
.modal .inner p {
  text-align: left;
  line-height: 1.8;
}

.modal .inner  a {
  position: absolute;
  right:0;
  top:0;
  width:2em;
  height:2em;
}
.modal .inner  a::before,
.modal .inner  a::after {
  content:"";
  position: absolute;
  top:50%;
  left:50%;
  width:60%;
  height:1px;
  background:#000;
  
}
.modal .inner  a::before {
  transform:translateX(-50%) rotate(-45deg);
}
.modal .inner  a::after {
  transform:translateX(-50%) rotate(45deg);
}



