/*----------------------------------------------------
  reset
---------------------------------------------------*/
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  background: var(--black);
  -webkit-text-size-adjust: 100%;
}

body,
p,
h1,
h2,
h3,
h4 {
  margin: 0;
}

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

ul {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

/*----------------------------------------------------
  content
----------------------------------------------------*/
:root {
  scroll-padding: 60px;
  scroll-behavior: smooth;
  --black: #000;
  --white: #fff;
  --red: #8F0005;
}

@media (min-width:768px) {
  :root {
    scroll-padding: 80px;
  }
}

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

p {
  color: var(--black);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 156.25%;
}

@media (min-width:768px) {
  p {
    font-size: calc(1.6rem*1.45);
  }
}

a:hover {
  opacity: 0.7;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.content__wrap {
  display: grid;
  grid-template-columns: 1fr 545px min(486px, 25.3%);
}

/* pcのみ表示 */
.container-left {
  grid-column: 1/2;
  position: sticky;
  align-self: start;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height: 100vh;
  width: 100%;
  top: 0;
  left: 0;
}

.container-left p {
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: fade 10s infinite;
}

.slide:nth-child(1) {
  background-image: url('img/left1.webp');
  animation-delay: 0s;
}

.slide:nth-child(2) {
  background-image: url('img/left2.webp');
  animation-delay: 2s;
}

.slide:nth-child(3) {
  background-image: url('img/left3.webp');
  animation-delay: 4s;
}

.slide:nth-child(4) {
  background-image: url('img/left4.webp');
  animation-delay: 6s;
}

.slide:nth-child(5) {
  background-image: url('img/left5.webp');
  animation-delay: 8s;
}

.slide:nth-child(6) {
  background-image: url('img/left6.webp');
  animation-delay: 10s;
}


@keyframes fade {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  35% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

.container-right {
  position: sticky;
  align-self: start;
  background-image: url('img/bg_right.webp');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  min-height: 100vh;
  width: 100%;
  top: 0;
  right: 0;
  grid-column: 3 / 4;
  box-shadow: inset 4px 0 22px rgba(0, 0, 0, 0.35);
}

@media (max-width: 768px) {
  .content__wrap {
    grid-template-columns: 1fr;
  }

  .container-left,
  .container-right {
    display: none;
  }
}

.nav--wrapper-pc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-inline: auto;
  width: max-content;
}

@media (max-width: 1080px) {
  .nav--wrapper-pc {
    display: none;
  }
}

.nav--item {
  position: relative;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: 2.2px;
  margin-bottom: 30px;
  padding-left: 50px;
}

.nav--wrapper-pc {
  color: var(--black);
}

.nav--item::before {
  position: absolute;
  content: "";
  display: block;
  box-sizing: border-box;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 1px solid currentColor;
  border-radius: 50%;
}

.nav--item::after {
  position: absolute;
  content: "";
  display: block;
  left: 11px;
  top: calc(50% - 6px);
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(135deg);
}

/*----------------------------------------------------
  header
----------------------------------------------------*/
.header {
  position: sticky;
  background-color: var(--black);
  color: var(--white);
  top: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 5;
}

.header__img {
  margin-left: clamp(0.9rem, -0.9rem + 4.8vw, 2.7rem);
  width: clamp(15rem, 8.1rem + 18.4vw, 21.9rem);
  height: auto;
  display: flex;
  align-items: center;
}

.hamburger {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: clamp(4.5rem, 2.5rem + 5.333vw, 6.5rem);
  width: clamp(4.5rem, 2.5rem + 5.333vw, 6.5rem);
  background-color: var(--red);
  border: var(--white) 2px solid;
  margin: 7px;
  cursor: pointer;
}

.hamburger:hover {
  opacity: 0.7;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.hamburger-line {
  position: absolute;
  top: 35%;
  left: 50%;
  width: clamp(2.9rem, 1.6rem + 3.467vw, 4.2rem);
  height: 2px;
  transform: translate(-50%, 50%);
  border-radius: 4px;
  background-color: var(--white);
}

.hamburger-line::before,
.hamburger-line::after {
  position: absolute;
  left: 0;
  width: inherit;
  height: inherit;
  border-radius: inherit;
  background-color: var(--white);
  content: "";
  transition: all 0.2s ease-in-out;
  transform-origin: center;
}

.hamburger-line::before {
  transform: translateY(calc(clamp(0.65rem, 0.35rem + 0.8vw, 0.95rem) *-1));
}

.hamburger-line::after {
  transform: translateY(clamp(0.65rem, 0.35rem + 0.8vw, 0.95rem));
}


.hamburger-text {
  color: var(--white);
  text-align: center;
  font-size: clamp(0.85rem, 0.5rem + 0.933vw, 1.2rem);
  font-style: normal;
  font-weight: 400;
  line-height: 16.749px;
  letter-spacing: 1.246px;
  margin-bottom: 0;
}

@media (min-width:768px) {
  .hamburger-text  {
    margin-bottom: 7px;
  }
}


/* ハンバーガーがアクティブの時 */
.js-active .hamburger-line {
  background-color: transparent;
}

.js-active .hamburger-line::before {
  transform: rotate(30deg);
}

.js-active .hamburger-line::after {
  transform: rotate(-30deg);
}

.nav--wrapper {
  display: none;
  background-color: var(--black);
  color: var(--white);
  width: 340px;
  height: fit-content;
  margin-top: -1px;
  margin-inline: auto 0;
  padding-block: 36px 80px;
  padding-left: 30px;
  position: fixed;
  right: min(486px, 25.3%);
  top: clamp(6rem, 4rem + 5.333vw, 8rem);
  z-index: 4;
}

@media (max-width: 768px) {
  .nav--wrapper {
    right: 0;
  }
}

.nav--wrapper.js-open {
  display: block;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  pointer-events: none;
  transition: background-color 0.3s ease;
  z-index: 4;
}

/* メニュー開いた時に有効化 */
.overlay.js-active {
  pointer-events: auto;
  background-color: rgba(0, 0, 0, 0.3);
}

body.js-active {
  overflow-y: hidden;
}


/*----------------------------------------------------
  main_content
----------------------------------------------------*/
.container-center {
  position: relative;
  background-color: var(--black);
  width: 100%;
  grid-column: 2 / 3;
}

@media (max-width: 768px) {
  .container-center {
    grid-column: 1 / -1;
  }
}

.content video {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
}

.intro {
  position: relative;
  z-index: 2;
  background-image: url('img/intro_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin-top: calc(clamp(5.8rem, 3.1rem + 7.2vw, 8.5rem) *-1);
}

.intro__title {
  width: 545px;
}

@media (max-width:768px) {
  .intro__title {
    width: 100%;
  }
}

.heading {
  color: var(--black);
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 153.846%;
  letter-spacing: clamp(0.286rem, 0.156rem + 0.346vw, 0.416rem);
}

@media (min-width:768px) {
  .heading {
    font-size: calc(2.6rem *1.45);
  }
}

.intro__text {
  font-size: clamp(1.4rem, 0.765rem + 1.693vw, 2.035rem);
  font-style: normal;
  font-weight: 400;
  line-height: 220%;
  letter-spacing: 0.814px;
}

@media (min-width:768px) {
  .intro__text {
    font-size: calc(1.4rem *1.45);
  }
}

.intro__text-wrap {
  padding-block: clamp(6rem, 4rem + 5.333vw, 8rem) clamp(17.4rem, 9.6rem + 20.8vw, 25.2rem);
  margin-inline: clamp(2.5rem, 0.074rem + 6.471vw, 3.6rem) 10px;
}

.deco-1 {
  position: relative;
  z-index: 3;
  margin-top: calc(clamp(18.7rem, 10.9rem + 20.8vw, 26.5rem) *-1);
}

.inner__wrap {
  padding-inline: clamp(2rem, 0.074rem + 6.471vw, 3rem);
}

.inner__wrap-ramen {
  padding-inline: clamp(2.5rem, 0.074rem + 6.471vw, 3.6rem);
}

.inner__wrap-s {
  padding-inline: clamp(1.4rem, 0.8rem + 1.6vw, 2rem);
}

.sec1__bg {
  background-image: url('img/sec1_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.text__band {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 900;
  line-height: 252.536%;
}

@media (min-width:768px) {
  .text__band {
    font-size: calc(1.3rem* 1.45);
  }
}

.text__band.-white {
  background-color: var(--white);
  color: var(--red);
}

.sec1__text {
  color: var(--white);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

@media (min-width:768px) {
  .sec1__text {
    font-size: calc(13px* 1.45);
  }
}

.sec1__text-wrap {
  margin-bottom: clamp(1.7rem, -0.285rem + 5.294vw, 2.6rem);
}

.sec1__date-wrap {
  margin-bottom: clamp(8.8rem, 0.197rem + 22.941vw, 12.7rem);
}

.text__band.-black {
  width: 5em;
  background-color: var(--black);
  color: var(--white);
  line-height: 134.371%;
  font-weight: 400;
}

.sec1_tokumori {
  margin-bottom: clamp(1.4rem, 0.076rem + 3.529vw, 2rem);
  width: max(545px, 100%);
}

.sec1__catch--content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 20px;
}

.sec1__catch--content>img {
  width: 100px;
  height: auto;
}

@media (min-width:768px) {
  .sec1__catch--content>img {
    width: calc(100px *1.45);
  }
}

.sec1__catch-text {
  width: 180px;
  height: auto;
  margin-bottom: 5px;
}

@media (min-width:768px) {
  .sec1__catch-text {
    width: calc(180px *1.45);
  }
}

.sec1__catch-wrap {
  padding-bottom: 86px;
}

@media (min-width:768px) {
  .sec1__catch-wrap {
    padding-bottom: calc(86px *1.45);
  }
}

.sec2__bg {
  background-color: var(--black);
  padding-bottom: 170px;
}

@media (min-width:768px) {
  .sec2__bg {
    padding-bottom: calc(170px * 1.45);
  }
}

.sec2__container-1 {
  position: relative;
  z-index: 0;
  background-image: url('img/sec2_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  text-align: center;
}

.sec2__container-1 {
  & .sec2__title {
    width: 198px;
    padding-top: clamp(5rem, 0.588rem + 11.765vw, 7rem);
  }

  & .sec2__deco {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    mix-blend-mode: screen;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%);
    mask-repeat: no-repeat;
    mask-size: cover;

    & ::after {
      content: "";
      position: absolute;
      inset: 0;
      background: white;
      opacity: 0.3;
    }
  }
}

@media (min-width:768px) {
  .sec2__container-1 .sec2__title {
    width: calc(198px *1.45);
  }
}

.sec2__container-2 {
  position: relative;
  z-index: 0;
  background-image: url('img/sec2_img1_bg.webp');
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 292px auto;
  padding-top: 108px;
}


@media (min-width:768px) {
  .sec2__container-2 {
    background-size: calc(292px *1.45) auto;
    padding-top: calc(108px*1.45);
  }
}


.sec2__text {
  color: var(--white);
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

@media (min-width:768px) {
  .sec2__text {
    font-size: calc(1.3rem *1.45);
  }
}

.sec2__container-2 img {
  padding-left: clamp(2.6rem, 2.2rem + 1.067vw, 3rem);
}

.sec2__container-3 {
  position: relative;
  z-index: 0;
  background-image: url('img/sec2_img2_bg.webp');
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
}

.sec2__container-4 {
  position: relative;
  z-index: 0;
  background-image: url('img/sec2_img3_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  padding-top: clamp(4.9rem, 2.7rem + 5.867vw, 7.1rem);
}

.sec2__img4 {
  display: block;
  margin-inline: auto;
  width: clamp(26.4rem, 19.8rem + 17.6vw, 33rem);
  height: auto;
}

.deco-2 {
  margin-top: calc(clamp(10.9rem, 4.8rem + 16.267vw, 17rem) *-1);
  margin-bottom: clamp(7.7rem, 4.1rem + 9.6vw, 11.3rem);
}

.sec3__bg {
  background-image: url('img/sec3_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}

.heading-vertical {
  color: var(--black);
  text-align: center;
  font-size: 2.9rem;
  font-style: normal;
  font-weight: 400;
  line-height: 113.793%;
  letter-spacing: 3.19px;
  writing-mode: vertical-rl;
  text-align: center;
  display: block;
  margin: 0 auto 7px;
}

@media (min-width:768px) {
  .heading-vertical {
    font-size: calc(2.9rem *1.45);
    letter-spacing: calc(3.19px*1.45);
  }
}

.heading-sub {
  color: var(--red);
  text-align: center;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 198.834%;
  letter-spacing: 1.54px;
}

@media (min-width:768px) {
  .heading-sub {
    font-size: calc(1.4rem *1.45);
    letter-spacing: calc(1.54px *1.45);
  }
}

.shop__title {
  color: var(--black);
  text-align: center;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 153.846%;
  letter-spacing: 2.86px;
  padding-block: 11px 14px;
  border-top: var(--black) 1px solid;
  border-bottom: var(--black) 1px solid;
  margin-inline: clamp(2.5rem, 0.074rem + 6.471vw, 3.6rem);
  margin-bottom: clamp(5rem, 3rem + 5.333vw, 7rem);
}

@media (min-width:768px) {
  .shop__title {
    font-size: calc(2.6rem *1.45);
    letter-spacing: calc(2.86px *1.45);
    padding-block: calc(11px *1.45) calc(14px *1.45);
  }
}

.shop__title-wrap {
  padding-top: clamp(6.1rem, 3.4rem + 7.2vw, 8.8rem);
}

.menu__container {
  margin-bottom: clamp(8rem, 4.3rem + 9.867vw, 11.7rem);
}

.menu__item {
  padding-bottom: clamp(5rem, 4.3rem + 9.867vw, 8.7rem);
}

.menu__title {
  color: var(--black);
  text-align: center;
  font-size: 4.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 104.762%;
  letter-spacing: 4.2px;
  margin-bottom: clamp(4.3rem, 5.6rem + -3.467vw, 3rem);
}

@media (min-width:768px) {
  .menu__title {
    font-size: 6.1rem;
    letter-spacing: 6.104px;
  }
}

.menu__text {
  text-align: center;
  font-size: 2.3rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 2.53px;
}

@media (min-width:768px) {
  .menu__text {
    font-size: calc(2.3rem *1.45);
    letter-spacing: calc(2.53px *1.45);
  }
}

.menu__price {
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 21.133px;
  letter-spacing: 1.6px;
}

@media (min-width:768px) {
  .menu__price {
    font-size: calc(1.6rem *1.45);
    line-height: calc(21.133px *1.45);
    letter-spacing: calc(1.6px *1.45);
  }
}

.menu__price-tax {
  color: var(--black);
  text-align: center;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 21.133px;
  letter-spacing: 1.3px;
}

@media (min-width:768px) {
  .menu__price-tax {
    font-size: calc(1.3rem *1.45);
    line-height: calc(21.133px *1.45);
    letter-spacing: calc(1.3px *1.45);
  }
}

.menu__wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 30px;
}

.menu__wrap img {
  width: 100%;
  max-width: clamp(15rem, 8.2rem + 18.133vw, 21.8rem);
  height: auto;
  display: block;
  margin: 0 auto;
}

.sidemenu__wrap {
  position: relative;
  background-image: linear-gradient(to right, var(--black) 80%, transparent 80%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left top;
}

.sidemenu__wrap li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: linear-gradient(to right, var(--black) 80%, transparent 80%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.sidemenu__wrap .menu__price {
  text-align: start;
  line-height: 1.2;
  letter-spacing: 0;
  padding-block: clamp(1.9rem, 1.4rem + 1.333vw, 2.4rem);
}

.sidemenu__title {
  color: var(--black);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 44px;
}

@media (min-width:768px) {
  .sidemenu__title {
    font-size: calc(1.6rem *1.45);
    line-height: calc(44px *1.45);
  }
}

.set__title {
  color: var(--black);
  text-align: center;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 146.154%;
  letter-spacing: 2.6px;
}

@media (min-width:768px) {
  .set__title {
    font-size: calc(2.6rem *1.45);
    letter-spacing: calc(2.6px *1.45);
  }
}

.set__container {
  padding-bottom: clamp(8rem, 4.3rem + 9.867vw, 11.7rem);
}

.set__container div {
  margin-bottom: clamp(2rem, 0.5rem + 4vw, 3.5rem);
}

.sec4__bg {
  background-image: url('img/sec4_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-bottom: clamp(6.8rem, 3.6rem + 8.533vw, 10rem);
}

.sec4__heading {
  color: var(--white);
  text-align: center;
  font-size: 2.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: 3.08px;
  padding-block: clamp(5rem, 3rem + 5.333vw, 7rem);
}

@media (min-width:768px) {
  .sec4__heading {
    font-size: calc(2.8rem *1.45);
    letter-spacing: calc(3.08px *1.45);
  }
}

.sec4__card {
  background-color: #F0E6D9;
  border-radius: 10px;
  padding: 17px 19px 28px;
  margin-bottom: clamp(5.3rem, 2.5rem + 6.667vw, 7.5rem);
}


@media (min-width:768px) {
  .sec4__card {
    padding: 24px 27px 40px;
  }
}

.sec4__number {
  background-color: #F0E6D9;
  width: 87px;
  border-radius: 50% / 100% 100% 0 0;
  text-align: center;
  margin: -12px auto;
  padding-left: 2px;
}

@media (min-width:768px) {
  .sec4__number {
    width: calc(87px *1.45);
  }
}

.sec4__card-title,
.sec4__number {
  color: var(--red);
  text-align: center;
  font-size: 2.3rem;
  font-style: normal;
  font-weight: 900;
  line-height: 173.913%;
  letter-spacing: 2.53px;
}

@media (min-width:768px) {

  .sec4__card-title,
  .sec4__number {
    font-size: calc(2.3rem *1.45);
    letter-spacing: calc(2.53px *1.45);
  }
}

.sec4__card-note {
  color: var(--red);
  text-align: center;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

@media (min-width:768px) {
  .sec4__card-note {
    font-size: calc(1.3rem *1.45);
  }
}

.sec4__card-border {
  background-image: linear-gradient(to right, var(--red) 80%, transparent 80%);
  background-size: 9px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: clamp(2.1rem, 1.3rem + 2.133vw, 2.9rem);
  margin-bottom: clamp(0.5rem, 0.3rem + 0.533vw, 0.7rem);
}

.sec4__card-text {
  color: var(--red);
  text-align: center;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  padding-top: clamp(2rem, 1rem + 2.667vw, 3rem);
  margin-bottom: 7px;
}

@media (min-width:768px) {
  .sec4__card-text {
    font-size: calc(1.6rem *1.45);
  }
}

.sec4__list {
  counter-reset: number 0;
}

.sec4__list li {
  position: relative;
  padding-block: 1.6rem;
  line-height: 150%;
  text-align: start;
  padding-left: 73px;
}

@media (min-width:768px) {
  .sec4__list li {
    font-size: calc(1.6rem *1.45);
    padding-left: calc(73px *1.45);
  }
}

.sec4__list li::before {
  position: absolute;
  left: 30px;
  counter-increment: number 1;
  content: counter(number) " . ";
}

.sec5__bg {
  background-image: url('img/sec5_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: clamp(6.1rem, 3.4rem + 7.2vw, 8.8rem) clamp(6.5rem, 3.4rem + 8.267vw, 9.6rem);
}

.sidemenu__note {
  color: var(--black);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
}

@media (min-width:768px) {
  .sidemenu__note {
    font-size: calc(1rem *1.45);
  }
}

.sec6__bg {
  background-image: url('img/sec6_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: clamp(6.8rem, 3.8rem + 8vw, 9.8rem) 80px;
}

.sec6__heading {
  color: var(--white);
  text-align: start;
}

.sec6__heading-break {
  padding-top: clamp(0.4rem, 0.3rem + 0.267vw, 0.5rem);
}

.sec6__heading-sub {
  color: var(--white);
  text-align: center;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 198.834%;
  letter-spacing: 1.54px;
  margin-bottom: clamp(4.7rem, 2.6rem + 5.6vw, 6.8rem);
}

@media (min-width:768px) {
  .sec6__heading-sub {
    font-size: calc(1.4rem *1.45);
    letter-spacing: calc(1.54px *1.45);
  }
}

.sec6__title {
  color: var(--white);
  text-align: center;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 115.081%;
  letter-spacing: 2.878px;
}

@media (min-width:768px) {
  .sec6__title {
    font-size: calc(2.6rem *1.45);
    letter-spacing: calc(2.878px *1.45);
  }
}

.sec6__text {
  color: var(--white);
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  padding-inline: clamp(3.4rem, 1.4rem + 5.333vw, 5.4rem);
  margin-bottom: clamp(7rem, 4rem + 8vw, 10rem);
}

@media (min-width:768px) {
  .sec6__text {
    font-size: calc(1.3rem *1.45);
  }
}

.sec6__note--wrap {
  background-color: var(--white);
  border-radius: 5.64px;
  padding: clamp(3.8rem, 2.1rem + 4.533vw, 5.5rem) clamp(2.3rem, 1.6rem + 1.867vw, 3rem);
  text-align: center;
}

.sec6__note-img {
  width: 290px;
}

.sec6__note-text {
  color: var(--black);
  text-align: center;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

@media (min-width:768px) {
  .sec6__note-text {
    font-size: calc(1.3rem *1.45);
  }
}

.sec7__bg {
  background-image: url('img/sec7_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-bottom: clamp(6rem, 4rem + 5.333vw, 8rem);
}

.deco-3 {
  margin-top: -10px;
}

.sec7__band-wrap {
  display: flex;
  gap: 8px;
  justify-content: start;
  align-items: flex-start;
}

.sec7__text {
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  width: calc(100% - 5em);
}

@media (min-width:768px) {
  .sec7__text {
    font-size: calc(1.3rem *1.45);
  }
}

.sec7__note {
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

@media (min-width:768px) {
  .sec7__note {
    font-size: calc(1.3rem *1.45);
  }
}

.button__map {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: var(--black);
  height: 4em;
  color: var(--white);
  text-align: center;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  letter-spacing: 1.059px;
  border-radius: 50vh;
  transition: opacity 0.3s ease;
}

a.button__map:hover {
  opacity: 0.7;
}

@media (min-width:768px) {
  .button__map {
    font-size: calc(1.8rem *1.45);
  }
}

.button__map-pin {
  padding-right: clamp(1rem, 2.667vw, 2rem);
  height: 1.3em;
  width: auto;
}

.button__map::after {
  position: absolute;
  content: "";
  width: 2em;
  height: 2em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'><path d='M16.5488 12.2031L21.7083 17.3627L16.5488 22.5223' stroke='white' stroke-width='0.970154' stroke-linecap='round'/><circle cx='18.1355' cy='17.7576' r='16.9776' stroke='white' stroke-width='0.970154'/></svg>");
  background-size: contain;
  background-repeat: no-repeat;
  right: clamp(1.3rem, 0.6rem + 1.867vw, 2rem);
}

.text__border {
  position: relative;
  color: var(--black);
  font-size: 1.7rem;
  font-style: normal;
  font-weight: 400;
  line-height: 185%;
  letter-spacing: 0.695px;
  text-align: center;
  margin-inline: auto;
}

@media (min-width:768px) {
  .text__border {
    font-size: calc(1.7rem *1.45);
    letter-spacing: calc(0.695px *1.45);
  }
}

.text__border::before,
.text__border::after {
  position: absolute;
  content: "";
  display: block;
  width: calc(50% - 3em);
  height: 1px;
  background-color: var(--black);
  top: 50%;
  transform: translateY(-50%);
}

.text__border::after {
  right: 0;
}

.border {
  padding-bottom: clamp(5rem, 3rem + 5.333vw, 7rem);
  border-bottom: 1px solid var(--black);
  margin-bottom: clamp(5rem, 3rem + 5.333vw, 7rem);
}

.footer__wrap {
  background-image: url('img/footer_bg.webp');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: clamp(8.4rem, 4.6rem + 10.133vw, 12.2rem) clamp(5.2rem, 2.8rem + 6.4vw, 7.6rem);
}

.footer__text {
  color: var(--white);
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 170%;
  letter-spacing: 0.56px;
}

@media (min-width:768px) {
  .footer__text {
    font-size: calc(1.4rem *1.45);
    letter-spacing: calc(0.56px *1.45);
  }
}

.footer {
  display: block;
  background-color: var(--black);
  padding: clamp(5.2rem, 2.8rem + 6.4vw, 7.6rem) clamp(8.9rem, 4.8rem + 10.933vw, 13rem) clamp(6.4rem, 3.5rem + 7.733vw, 9.3rem);
}

.footer img {
  width: 100%;
}


/*----------------------------------------------------
  汎用
----------------------------------------------------*/

.mb_80 {
  margin-bottom: 80px;
}

.mb_70 {
  margin-bottom: 70px;
}

.mb_50 {
  margin-bottom: 50px;
}

.mb_40 {
  margin-bottom: 40px;
}

.mb_30 {
  margin-bottom: 30px;
}

.mb_20 {
  margin-bottom: 20px;
}

.mb_10 {
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .mb_50-sp {
    margin-bottom: 50px;
  }

  .mb_40-sp {
    margin-bottom: 40px;
  }

  .mb_30-sp {
    margin-bottom: 30px;
  }

  .mb_20-sp {
    margin-bottom: 20px;
  }
}


/*----------------------------------------------------
  フェード
----------------------------------------------------*/
.fadeup {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  opacity: 0;
  -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
  transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}

.fadeup.visible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}