@charset "UTF-8";
/* ==================================================================
 tokens
================================================================== */
/* ==================================================================
 mv
 ページ共通のメインビジュアル（背景写真＋左下に流れてくる模様＋タイトル）。
 高さ比率（aspect-ratio）だけはページごとのFigma実寸に合わせて各ページの
 scssで上書きする（例: shibuya.scss / position.scss）
================================================================== */
.mv {
  position: relative;
  overflow: hidden;
}
.mv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.mv::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 9.213%);
}
.mv__shape {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50%;
  aspect-ratio: 960/554;
  max-height: 100%;
  background: rgba(255, 255, 255, 0.7);
  clip-path: polygon(0 100%, 0 0, 100% 100%);
}
@media screen and (max-width: 767px) {
  .mv__shape {
    width: 89.5674%;
  }
}
.mv__ttl {
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 24px;
  font-family: "optima-lt-pro", sans-serif;
  font-size: 48px;
  color: #040000;
  letter-spacing: 0.14em;
  opacity: 0;
  transition: opacity 0.7s ease;
}
@media screen and (max-width: 767px) {
  .mv__ttl {
    padding: 16px 18px;
    font-size: 28px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mv__ttl {
    transition-duration: 0ms;
  }
}
.mv__ttl.is-show {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .mv__ttl--sm {
    font-size: 24px;
  }
}

body,
p,
h1,
h2,
h3,
h4,
h5,
h6,
li,
a,
dt,
dd,
dl {
  font-family: YuMincho, Yu Mincho, "游明朝", serif;
}

a:hover {
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .siteHeader .headerNavi a.current {
    background-color: #E6E5E5;
  }
}
.siteHeader .headerNavi a.current::after {
  background-color: #040000;
  height: 1px;
  margin-left: 0;
  transform: translateX(-50%);
  width: 90%;
}

@media screen and (max-width: 1024px) {
  .siteHeader .headerLogo img {
    height: 25px;
  }
}

.headerLogo a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.siteHeader .headerLogo .headerLogo__mark {
  height: 17px;
  width: auto;
}

.siteHeader .headerLogo .headerLogo__sub {
  height: 14px;
  width: auto;
}

.pc_none {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc_none {
    display: block;
  }
}

.c-width {
  padding: 0 20px;
  max-width: 1460px;
  margin: 0 auto;
}
.c-width.pc_none {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-width.pc_none {
    display: block;
  }
}
.c-width.medium {
  max-width: 1240px;
}

.c-caption {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 12px;
  bottom: 5px;
  right: 5px;
  color: #fff;
  padding: 4px;
  position: absolute;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .c-caption {
    font-size: 10px;
  }
}
.c-caption.white {
  color: #211815;
  font-weight: 700;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: #fff;
  text-shadow: none;
}
.c-caption.bg-black {
  padding: 4px;
  background-color: rgba(0, 0, 0, 0.3);
}
.c-caption.black {
  color: #211815;
  text-shadow: none;
}
.c-caption.black-white {
  color: #fff;
  font-weight: 700;
  -webkit-text-stroke-width: 0.5px;
  -webkit-text-stroke-color: #211815;
  text-shadow: none;
}
@media screen and (max-width: 767px) {
  .c-caption.sp-left {
    right: auto;
    left: 5px;
  }
}
.c-caption.left {
  left: 0;
  right: auto;
}
.c-caption.static {
  position: static;
  text-align: right;
  margin-top: 6px;
  padding-right: 5px;
  text-shadow: none;
}
.c-caption.center {
  text-align: center;
}
.c-caption.gothic {
  font-family: "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", Meiryo, sans-serif;
}

.c-txt {
  font-size: 16px;
  text-align: center;
  line-height: 2 !important;
}
@media screen and (max-width: 767px) {
  .c-txt {
    font-size: 14px;
  }
}
.c-txt.right {
  text-align: right;
}
.c-txt.left {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-txt.left {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .c-txt.sp-left {
    text-align: left;
  }
}
.c-txt.white {
  color: #fff;
}
.c-txt.small {
  font-size: 14px;
}

.c-ttl {
  font-size: 32px;
  line-height: 1.7;
  letter-spacing: 0.25em;
}
@media screen and (max-width: 767px) {
  .c-ttl {
    font-size: 20px;
    text-align: center;
  }
}
.c-ttl.medium {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-ttl.medium {
    font-size: 16px;
  }
}
.c-ttl.small {
  font-size: 20px;
}
.c-ttl.white {
  color: #fff;
}
.c-ttl.center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-ttl.sp-left {
    text-align: left;
  }
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 16px;
  margin-left: 40px;
  margin-top: 47px;
}
@media screen and (max-width: 767px) {
  .c-btn {
    margin-top: 32px;
    margin-left: 0;
    justify-content: center;
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .c-btn.sp_none {
    display: none;
  }
}
.c-btn.pc_none {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-btn.pc_none {
    display: flex;
  }
}

.c-btn_more {
  background-color: #211815;
  border-radius: 100%;
  color: #fff;
  aspect-ratio: 1/1;
  width: 91px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .c-btn_more {
    width: 46px;
  }
}

.c-btn_txt {
  color: #211815;
  padding-left: 30px;
  position: relative;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .c-btn_txt {
    font-size: 12px;
    padding-left: 15px;
  }
}
.c-btn_txt::before {
  position: absolute;
  content: "";
  width: 13px;
  height: 15px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/btn-arrow.svg) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .c-btn_txt::before {
    width: 6px;
    height: 7px;
  }
}

.c-access-detail {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.c-access-detail_txt {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.c-access-detail_txt p {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .c-access-detail_txt p {
    font-size: 16px;
  }
}
.c-access-detail_txt p .small {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .c-access-detail_txt p .small {
    font-size: 14px;
  }
}
.c-access-detail_txt p .big {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-access-detail_txt p .big {
    font-size: 20px;
  }
}

.c-access-detail_memo {
  font-size: 12px;
  text-align: center;
  line-height: 1.5;
}

.u-ib {
  display: inline-block;
}

.js-fade-in {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .js-fade-in {
    transition-duration: 0ms;
  }
}
.js-fade-in.is-show {
  opacity: 1;
  transform: translateY(0);
}

.js-fade-in-lines > * {
  display: block;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .js-fade-in-lines > * {
    transition-duration: 0ms;
  }
}
.js-fade-in-lines > *.is-show {
  opacity: 1;
  transform: translateY(0);
}

.parallax-wrap {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.parallax-img {
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translateY(0) scale(1.1);
  transition: transform 0.1s linear;
  /* カクつき防止 */
  will-change: transform;
}
.annotation {
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .annotation {
    padding-top: 30px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .c-annotation {
    font-size: 10px;
  }
}
.c-annotation a {
  color: #040000;
}
.c-annotation p {
  font-size: 12px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #040000;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

.g-footer-contact_ttl {
  margin: 40px auto 0;
  font-size: 18px;
  font-family: "optima-lt-pro", sans-serif;
  color: #BEAB96;
  letter-spacing: 0.2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .g-footer-contact_ttl {
    margin-top: 40px;
    font-size: 16px;
  }
}

.g-footer-contact .g-footer-contact__text-1 {
  border: none;
  font-size: 14px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (max-width: 767px) {
  .g-footer-contact .g-footer-contact__text-1 {
    font-size: 12px;
  }
}

.g-footer-contact .g-footer-contact__text-3 {
  font-size: 14px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
@media screen and (max-width: 767px) {
  .g-footer-contact .g-footer-contact__text-3 {
    font-size: 12px;
  }
}

.g-footer-contact {
  background-color: transparent;
  color: #fff;
  padding-top: 16px;
  padding-bottom: 46px;
  flex-direction: column;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .g-footer-contact {
    padding-top: 0;
  }
}

.g-footer-contact__item .tel {
  color: #fff;
  font-size: 40px;
  font-family: YuMincho, Yu Mincho, "游明朝", serif;
}
@media screen and (max-width: 767px) {
  .g-footer-contact__item .tel {
    margin-bottom: 5px;
    font-size: 36px;
  }
}

.atlasFooter {
  padding-top: 30px;
}
.atlasFooter a {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .atlasFooter {
    padding-top: 10px;
  }
}
.atlasFooter .otherLinks a {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

@media screen and (max-width: 767px) {
  .sp_none {
    display: none;
  }
}

.siteFooter {
  background-color: #3C4650;
}
.siteFooter .footerNavi {
  background-color: #E6E5E5;
  padding: 48px;
}
@media screen and (max-width: 767px) {
  .siteFooter .footerNavi {
    padding: 20px;
  }
}
.siteFooter .footerNavi .wrap {
  max-width: 1070px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .siteFooter .footerNavi .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.siteFooter .footerNavi li {
  border-left: 1px solid #8C7F60;
  border-right: 1px solid #8C7F60;
}
@media screen and (max-width: 767px) {
  .siteFooter .footerNavi li {
    margin: 8px -1px 8px 0;
  }
}
.siteFooter .footerNavi li + li {
  border-left: none;
}
@media screen and (max-width: 767px) {
  .siteFooter .footerNavi li + li {
    border-left: 1px solid #8C7F60;
  }
}
.siteFooter .footerNavi li:last-child {
  border-right: 1px solid #8C7F60;
}
.siteFooter .footerNavi a {
  padding: 0 48px;
  color: #8C7F60;
  font-family: "optima-lt-pro", sans-serif;
  font-size: 13px;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  .siteFooter .footerNavi a {
    padding: 0 14px;
  }
}

.atlasFooter {
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .atlasFooter {
    padding-top: 20px;
  }
}

.atlasFooter .fixingBtns li {
  width: 25% !important;
}
.atlasFooter .fixingBtns li.reserve {
  display: none;
}

.siteHeader .otherLinks {
  grid-template: "nav1 nav2" auto "nav3 nav3" auto "nav5 nav5" auto/1fr 1fr !important;
  border-bottom: none;
}

.modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}

.modal.is-open {
  display: block;
}

.modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}

.modal__content {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  padding: 30px;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .modal__content {
    padding: 0;
  }
}

.modal__video {
  max-width: 1200px;
  width: 100%;
}

.modal__close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
}

.modal__closeWrap {
  text-align: right;
}

.c-information {
  background-color: #231815;
  color: #f5f5f5;
  width: 100%;
  padding: 48px 20px 80px;
  margin-top: 108px;
}
@media screen and (max-width: 767px) {
  .c-information {
    margin-top: 30px;
    padding: 30px 20px 30px;
  }
}

.c-information__en {
  color: #f5f5f5;
  font-size: 20px;
  padding-bottom: 16px;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 767px) {
  .c-information__en {
    font-size: 14px;
  }
}
.c-information__en::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0;
  bottom: 0;
}

.c-information__ttl {
  color: #f5f5f5;
  text-align: center;
  font-size: 24px;
  margin-top: 24px;
  line-height: 1.5;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 767px) {
  .c-information__ttl {
    margin-top: 16px;
    font-size: 16px;
  }
}

.c-information__txt {
  color: #f5f5f5;
  font-size: 18px;
  margin-top: 10px;
  letter-spacing: 0.16em;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-information__txt {
    font-size: 16px;
    margin-top: 10px;
  }
}
.c-information__txt.big {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .c-information__txt.big {
    font-size: 20px;
  }
}
.c-information__txt.big .small {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c-information__txt.big .small {
    font-size: 18px;
  }
}
.c-information__txt.big + .big {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-information__txt.big + .big {
    margin-top: 13px;
  }
}
.c-information__txt .large {
  font-size: 120%;
}

.c-information__btn {
  color: #f5f5f5;
  text-align: center;
  padding: 12px 16px;
  font-weight: 700;
  max-width: 490px;
  margin: 56px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #76683C 0%, #B7AC89 47%, #76683C 100%);
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-information__btn {
    margin-top: 20px;
    padding: 12px 16px;
  }
}
.c-information__btn .jp {
  color: #f5f5f5;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-decoration: none;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .c-information__btn .jp {
    font-size: 16px;
  }
}
.c-information__btn .en {
  color: #f5f5f5;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0.2em;
  margin-top: 5px;
  text-align: center;
}

.siteHeader .headerNavi {
  background-color: #fff;
  text-shadow: none;
}
.siteHeader .headerNavi ul::before, .siteHeader .headerNavi ul::after {
  background-color: #040000;
}
.siteHeader .headerNavi ul::before {
  right: auto;
  left: 0;
}
.siteHeader .headerNavi li::after {
  background-color: #040000;
}
.siteHeader .headerNavi li a {
  color: #040000;
  letter-spacing: 0.14em;
  font-family: "optima-lt-pro", sans-serif;
  overflow: hidden;
}
.siteHeader .headerNavi li a::after {
  background-color: #040000;
  margin-left: 0;
  transform: translateX(-100%);
  width: 90%;
  transition: 0.5s;
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 12px;
  left: 50%;
  margin-left: 0%;
  width: 96%;
  height: 1px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .siteHeader .headerNavi li a::after {
    transform: translateX(0);
    left: auto;
    right: 5px;
    width: auto;
    top: 40%;
  }
}
@media screen and (min-width: 1272px) {
  .siteHeader .headerNavi li a:hover::after {
    background-color: #040000;
    margin-left: 0;
    transform: translateX(-50%);
    height: 1px;
  }
}

.siteHeader .headerNavi a.new:before {
  width: -moz-fit-content;
  width: fit-content;
  background: none;
  content: "New";
  transform: translate(-50%, -50%);
  top: 10px;
  left: 50%;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #a48c6d;
}
@media screen and (max-width: 767px) {
  .siteHeader .headerNavi a.new:before {
    font-size: 10px;
    color: #a3081c;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid;
    height: -moz-fit-content;
    height: fit-content;
    top: 50%;
    right: 23px;
    left: auto;
    transform: translateY(-50%);
    padding-bottom: 2px;
  }
}

/* g-footer-recommend start */
.g-footer-recommend {
  text-align: center;
  padding: 64px 32px;
  color: #002662;
  background: #DFDFDF;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend {
    padding: 32px 16px;
  }
}
.g-footer-recommend img {
  max-width: 100%;
  height: auto;
}
.g-footer-recommend .g-footer-recommend__header {
  margin-bottom: 40px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__header {
    margin-bottom: 32px;
  }
}
.g-footer-recommend .g-footer-recommend__body {
  max-width: 1024px;
  margin: 0 auto;
}
.g-footer-recommend .g-footer-recommend__heading-1 {
  font-family: "Cinzel", serif;
  color: #002662;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 11.2px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__heading-1 {
    font-size: 18px;
    letter-spacing: 8px;
  }
}
.g-footer-recommend .g-footer-recommend__heading-1::after {
  content: "";
  display: block;
  background: #002662;
  width: 1px;
  height: 8px;
  margin: 8px auto;
}
.g-footer-recommend .g-footer-recommend__heading-2 {
  color: #002662;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 7.84px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__heading-2 {
    font-size: 12px;
  }
}
.g-footer-recommend .g-footer-recommend__list-1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 48px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__list-1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    max-width: 480px;
    margin: 0 auto;
  }
}
.g-footer-recommend .g-footer-recommend__list-1 > li {
  text-align: left;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__card {
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__card .g-footer-recommend__list-1__card-header {
    flex: 0 1 40%;
  }
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__image {
  margin-bottom: 8px;
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__image img {
  /* stylelint-disable */
  aspect-ratio: 217/215;
  /* stylelint-enable */
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left center;
  object-position: left center;
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__heading {
  color: #002662;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 3px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__heading {
    font-size: 14px;
    line-height: 1.4;
  }
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__text {
  color: #002662;
  font-size: 12px;
  font-weight: 400;
  line-height: 200%;
  /* 24px */
  letter-spacing: 3px;
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__more {
  margin-top: 8px;
}
@media screen and (max-width: 1024px) {
  .g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__more {
    margin-top: 20px;
  }
}
.g-footer-recommend .g-footer-recommend__list-1 .g-footer-recommend__list-1__btn {
  display: block;
  font-family: "Cinzel", serif;
  color: #002662;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 6.72px;
  background: url("../img/common/footer/recommend_icon_arw.svg") no-repeat left bottom;
  width: 86px;
  height: 18px;
}
.g-footer-recommend .g-footer-recommend__banner {
  margin: 27px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.5s;
  max-width: 504px;
  box-shadow: 0px 4px 4px 3px rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1272px) {
  .g-footer-recommend .g-footer-recommend__banner:hover {
    opacity: 0.7;
  }
}

/* g-footer-recommend end */
/* ==================================================================
 link grid (footer sitemap tiles)
================================================================== */
.link-grid__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
}
@media screen and (max-width: 1271px) {
  .link-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.link-grid__link {
  display: block;
  position: relative;
  aspect-ratio: 639/432;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .link-grid__link {
    aspect-ratio: 196/180;
  }
}
.link-grid__link::after {
  content: "";
  position: absolute;
  inset: 0;
  transition: 0.5s;
  background: rgba(4, 0, 0, 0.5);
}
@media screen and (min-width: 1272px) {
  .link-grid__link:hover {
    opacity: 1;
  }
  .link-grid__link:hover::after {
    background: transparent;
  }
  .link-grid__link:hover img {
    transform: scale(1.1);
  }
}

.link-grid__img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s;
}

.link-grid__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .link-grid__overlay {
    gap: 4px;
  }
}

.link-grid__ttl {
  font-family: "optima-lt-pro", sans-serif;
  font-size: 40px;
  color: #fff;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .link-grid__ttl {
    font-size: 26px;
    letter-spacing: 0.06em;
  }
}

.link-grid__txt {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  letter-spacing: 0.12em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .link-grid__txt {
    font-size: 12px;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }
}

.link-grid__br-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .link-grid__br-sp {
    display: inline;
  }
}

.link-grid__caption {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 4px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 10px;
  color: #fff;
}

@media screen and (max-width: 1060px) {
  .atlasFooter .fixingBtns li.request a {
    padding: 14px 0 8px;
  }
}

.siteHeader .headerNavi a .ja {
  display: none;
}
@media screen and (max-width: 1024px) {
  .siteHeader .headerNavi a .ja {
    display: block;
    font-size: 11px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-top: 0.5em;
  }
}

@media screen and (max-width: 1024px) {
  .siteHeader .headerNavi li {
    text-align: left;
    height: 62px;
  }
  .siteHeader .headerNavi li a {
    flex-direction: column;
    align-items: flex-start;
  }
  .siteHeader .headerNavi li a .ja {
    font-size: 10px;
  }
}
#page-brand .sustainability-section-2--block-1__image-1 .c-caption {
  position: static;
}
#page-brand .sustainability-section--more__list-1 .c-btn {
  margin-top: 0;
}