@charset "utf-8";

/* CSS Document */
/* ヘッダー */
html {
  font-size: 62.5%;
}

body {
  background: #fff;
  font-family: 'Noto Serif JP', serif;
  color: #333;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  letter-spacing: 0.05em;
  /* フォントカーニング */
  font-feature-settings: "palt";
  /*position: relative;*/
}

* {
  box-sizing: border-box;
}

:root {

  /* Notched Layout */
  --content-max: 800px;
  --gap-min: 20px;
  --radius: 32px;
  --inner-radius: 6px;
  --bg-color: #fff;
  --shadow-blur: 6px;
  --shadow-x: 3px;
  --shadow-y: 3px;
  --shadow-color: rgba(0, 0, 0, .20);
  --filler: 200px;

  /* quarter‑circle   ────┐
     透明背景に currentColor│
     を塗った 7×7 SVG      │ */
  --inner-curve: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 7'%3E%3Cpath fill='currentColor' d='M0 .6v6.4h6.3C2.8 7 0 4.1 0 .6Z'/%3E%3C/svg%3E");
}

@media screen and (min-width:600px) {
  body {
    font-size: 1.5vw;
  }
}

@media screen and (min-width:1050px) {
  body {
    font-size: 1.6rem;
  }
}

@media screen and (min-width:1900px) {
  /*body {
    font-size: 1vw;
  }*/
}

p, a, ul {
  /* 文字をきれいにみせる */
  transform: rotate(0.01deg);
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: #333;
  text-decoration: none;
  outline: none;
  transition: all 0.5s;
}

a:hover {
  /* opacity: 0.8; */
}

img {
  /* max-width: 100%; */
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.header {
  background-color: #004D9F;
  width: 100%;
  height: 50px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
}

@media screen and (min-width: 561px) {
  .header {
    height: 50px;
  }
}

.header__inner {
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
  position: relative;
  max-width: 1040px;
  margin: 0 auto;
}

/* ヘッダーのロゴ部分 */
.header__title {
  width: 45px;
  width: 80px;
}

.header__title:hover {
  opacity: 0.8;
}

@media screen and (min-width: 561px) {
  .header__title {
    width: 122px;
  }
}

.header__title img {
  display: block;
  width: 100%;
  height: 100%;
}

/* ヘッダーのナビ部分 */
.header__nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(100%);
  background-color: #004D9F;
  transition: ease .4s;
  display: flex;
}

@media screen and (min-width: 960px) {
  .header__nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 790px;
  }
}

.nav__items {
  margin: auto;
}

@media screen and (min-width: 960px) {
  .nav__items {
    margin: initial;
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    /*justify-content: space-between;*/
  }

  .nav__items {
    position: relative;
  }

  .nav-items__item {
    cursor: pointer;
    position: relative;
    height: 100%;
    align-items: center;
    display: flex;
    flex-grow: 1;
  }

  .nav__items li+li:before {
    position: absolute;
    display: block;
    content: "";
    top: 50%;
    height: 20px;
    margin-top: -10px;
    border-right: 1px solid #fff;
  }
}

/* ナビのリンク */
.nav-items__item a {
  color: #fff;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 16px;
  margin-bottom: 16px;
}

.nav-items__item:last-child a {
  margin-bottom: 0;
}

@media screen and (min-width: 960px) {
  .nav-items__item a {
    margin-bottom: 0;
    font-size: 16px;
  }
}

/* ハンバーガーメニュー */
.header__hamburger {
  width: 40px;
  height: 40px;
}

.hamburger {
  background-color: transparent;
  /*border-color: transparent;*/
  z-index: 9999;
  cursor: pointer;
}

@media screen and (min-width: 960px) {
  .hamburger {
    display: none;
  }
}

/* ハンバーガーメニューの線 */
.hamburger span {
  width: 60%;
  height: 2px;
  background-color: #fff;
  position: relative;
  transition: ease .4s;
  display: block;
}

.hamburger span:nth-child(1) {
  top: 0;
  margin: 0 auto;
}

.hamburger span:nth-child(2) {
  margin: 8px auto;
}

.hamburger span:nth-child(3) {
  top: 0;
  margin: 0 auto;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
  transform: translateX(0);
}

.hamburger.active span:nth-child(1) {
  top: 10px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  top: -10px;
  transform: rotate(-45deg);
}

/*共通*/
/* html {
  scroll-behavior: smooth;
} */
.anchor {
  display: block;
  padding-top: 70px;
  margin-top: -70px;
}

@media (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

@media screen and (min-width: 601px) {
.pc-only { display: block; }
.sp-only { display: none; }
}

@media screen and (max-width: 600px) {
.pc-only { display: none; }
.sp-only { display: block; }
}

@media screen and (min-width: 601px) {
.br-pc { display: block; }
.br-sp { display: none; }
}

@media screen and (max-width: 600px) {
  .br-pc { display: none; }
  .br-sp { display: block; }
}

.align-center { text-align: center; }
.align-left { text-align: left; }
.align-right { text-align: right; }
.align-item { align-items: center; }
.mb10 { margin-bottom: 1rem; }
.mb20 { margin-bottom: 2rem; }
.mb30 { margin-bottom: 3rem; }
.mb40 { margin-bottom: 4rem; }
.mb50 { margin-bottom: 5rem; }
.mb60 { margin-bottom: 6rem; }
.mb70 { margin-bottom: 7rem; }
.mb80 { margin-bottom: 8rem; }
.mb90 { margin-bottom: 9rem; }
.mb100 { margin-bottom: 10rem; }
.mb300 { margin-bottom: 30rem; }
.mt10 { margin-top: 1rem; }
.mt20 { margin-top: 2rem; }
.mt30 { margin-top: 3rem; }
.mt40 { margin-top: 4rem; }
.mt50 { margin-top: 5rem; }
.mt60 { margin-top: 6rem; }
.mrl-auto { margin-left: auto; margin-right: auto; }
.mb30-60 { margin-bottom: clamp(3rem, 7.75vw, 6rem); }
.mb40-50 { margin-bottom: clamp(4rem, 3.5vw, 5rem); }
.mb40-60 { margin-bottom: clamp(4rem, 4vw, 6rem); }
.mt30-80 { margin-top: clamp(3rem, 5.5vw, 8rem); }
.pt20 { padding-top: 2rem; }
.prl20 { padding-left: 2rem; padding-right: 2rem; }
.px20 { padding-left: 2rem; padding-right: 2rem; }
.indent-1 {
  padding-left: 1em;
  text-indent: -1em;
}

.position {
  position: relative;
}

.inner {
  width: 1040px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 2rem;
}

.container {
  margin: 0 auto;
  width: 95%;
  /* max-width: 1000px; */
  /* padding: 0 2.0rem; */
  position: relative;
}

.box300 { max-width: 300px; }
.box330 { max-width: 330px; }
.box400 { max-width: 400px; }
.box420 { max-width: 60%; max-width: 520px; margin: 0 auto; }
.box500 { max-width: 500px; }
.box520 { max-width: 520px; }
.box600 { max-width: 600px; }
.box700 { max-width: 700px; }
.box800 { max-width: 800px; }
.box900 { max-width: 100%; max-width: 900px; margin: 0 auto; }
.box1000 { max-width: 1000px; }
.box1400 { max-width: 1400px; }

.box-ma1000 { max-width: 1000px; margin-left: auto; margin-right: auto; }
.w90 { width: 90%; margin-left: auto; margin-right: auto; }
.blue-font { color: #004D9F; }
.light-blue-font { color: #0071BC; }
.line-h15 { line-height: 1.5em; }
.font-16-30 { font-size: clamp(16px, 3vw, 30px); }

.font-w { color: #fff; }
.font-y { color: #fff100; }
.font-notosans { font-family: 'Noto Sans JP', sans-serif; }


.main-img {
  padding-top: 50px;
  /* padding-bottom: calc(((100vw - 375px) / 51.5) + 20px); */
}

.main-img img {
  width: 100%;
}

.main-btn-box {
  display: none;
  /*position: absolute;
	right: 2%;
	top: 50%;
	transform: translateY(-50%);*/
  /*display: flex;*/
  justify-content: center;
  align-items: center;
  /*flex-direction: column;*/
  margin: 2rem auto;
  padding: 0 1rem;
}

.main-btn-l {
  width: 70%;
}

.main-btn-r {
  width: 30%;
}

.top-scroll {
  display: block;
  width: clamp(22px, 3vw, 47px);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%,60%);
}

.fixed-link {
  position: fixed;
    bottom: 32%;
    z-index: 5;
    max-width: 185px;
    width: 12%;
    right: 2%;
    min-width: 70px;
}

.fixed-link a:hover {
  opacity: 0.7;
}

section {
  padding: 4em 2em;
}

.h2_ttl {
  font-size: clamp(26px, 5vw, 60px);
  line-height: 1.2em;
  margin-bottom: 1em;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding: 10px;
  text-align: center;
}



/* 1. 全体の一番下に共通の模様画像を敷く */
.main-wrapper {
  background: url('../images/bg-wave.jpg') no-repeat center top / cover;
}

/* 2. section2の基準位置を設定 */
#food02 {
  position: relative;
  /* 疑似要素(::before)の基準点とするため */
  padding: 60px 20px;
  /* 適切な余白 */
}

/* 3. section2の乗算用背景（疑似要素） */
#food02::before {
  content: "";
  position: absolute;
  inset: 0;
  /* top:0, left:0, width:100%, height:100% と同義 */
  background-color: #585f93;
  /* Illustratorのカラーコード */
  mix-blend-mode: multiply;
  /* 乗算100% */
  pointer-events: none;
  /* 下の要素のクリックイベントを邪魔しないようにする */
}

/* 4. section2内のコンテンツ（テキストやリンク）を乗算レイヤーより「上」に出す */
#food02>* {
  position: relative;
  z-index: 1;
  /* z-indexを指定することで、疑似要素(::before)より前面に配置される */
}

/* YouTubeの埋め込み */
.youtube {
  max-width: 1000px;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.youtube iframe {
  width: 100%;
  height: 100%;
}

.fade-btn {
  display: inline-block; 
  position: relative; 
}

.fade-btn img {
  vertical-align: bottom;
  display: block;
  margin-top: 1em;
}

.fade-btn .img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; 
  transition: opacity 0.3s ease; 
}

.fade-btn:hover .img-hover {
  opacity: 1; 
}

.novelty-img {
  max-width: 724px;
}

.relative {
  position: relative;
} 

#food03 .food3-img-box {
  width: 60%;
}

#food03 .food3-img-box img {
    box-shadow: #4f4f4fd1 10px 10px 20px;
}


#food03 .food3-text-box {
  position: relative;
  z-index: 2;
  background: #fff;
  width: 55%;
  padding: 2em 4em;
  box-shadow: #4f4f4fd1 10px 10px 20px;
  margin: 50px 0 0 -50px;
}

#food03 .food3-text-box img { max-width: 397px; }

.bg-color {
  background: url(../images/bg-color.jpg) no-repeat center top / cover;
}

.bg-wave2 {
  background: url(../images/bg-wave2.jpg) no-repeat center top / cover;
}

.products-flex {
  align-items: center;
  gap: 20px 0;
}

.products-flex .products-img {
  flex: 1 1 50%;
}

.products-flex .products-txt {
  flex: 1 1 50%;
  font-size: 24px;
  padding: 0 clamp(1em,4vw,2em);
}

#food04 .check-icon {
  margin-bottom: 10px;
  max-width: 185px;
}

#food04 .check-ttl {
  font-size: clamp(19px,3vw,40px); 
  font-weight: 600;
  margin-bottom: 10px;
}

#food05 h2 {
  font-size: clamp(18px, 3vw, 40px);
  border-bottom: 3px solid #595757;
  max-width: 830px;
  font-weight: 600;
  line-height: 1.4;
  padding-bottom: 20px;
  margin: 0 auto 1em;
}

.reserve-img {
  padding: 0 3em;
}


@media screen and (max-width: 600px) {
  .novelty-img {
    max-width: 255px;
  }

  #food03 .food3-img-box {
    width: 80%;
    margin-right: auto;
  }

  #food03 .food3-text-box {
    width: 87%;
    padding: 1.5em;
    margin: -30px 0 0 auto;
  }

  .products-flex .products-txt {
    font-size: 14px;
    padding: 0;
  }

  .products-flex .products-txt img {
    width: 70%;
    min-width: 190px;
  }


  #food04 a img {
    max-width: 200px;
  }

  #food04 .check-icon {
    max-width: 80px;
    margin-bottom: 0;
  }

  #food04 .check-ttl {
    text-align: center;
  }

  #food04 .check-txt {
    text-align: center;
  }

  #food05 h2 { border: none; }
}

.triangle-bg {
  margin-top: clamp(40px, 8vw, 80px);
  margin-bottom: clamp(40px, 8vw, 80px);
}

.triangle-bg__bg-img {
  max-width: 160px;
}

.triangle-bg__img {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  max-height: 30px;
}

.notched-layout__blob {
  position: relative;
  filter: drop-shadow(var(--shadow-x) var(--shadow-y) var(--shadow-blur) var(--shadow-color));
  margin: clamp(56px, 8vw, 80px) 0;
}

.notched-layout__section {
  position: relative;
  width: calc(100% - var(--filler));
  /*overflow:visible;*/
  overflow: hidden;
  background: var(--bg-color);
}

.notched-layout__section .notched-layout__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 3rem 1rem;
  position: relative;
}

.notched-layout__section .notched-layout__inner>* {
  margin: 0 0 1.6rem;
}

.notched-layout__section.top {
  margin-left: 0;
  border-radius: 0 var(--radius) 0 0;
}

.notched-layout__section.bottom {
  margin-left: var(--filler);
  border-radius: 0 0 0 var(--radius);
}

.notched-layout__section.top .notched-layout__inner {
  margin-right: 0;
}

.notched-layout__section.bottom .notched-layout__inner {
  margin-left: 0;
}

/* ▼▼▼ 内側角を丸める疑似要素 ▼▼▼ */
.notched-layout__section.top::after,
.notched-layout__section.bottom::before {
  content: "";
  position: absolute;
  width: var(--inner-radius);
  height: var(--inner-radius);
  background: var(--bg-color);
  -webkit-mask: var(--inner-curve) no-repeat 0 0 / 100% 100%;
  mask: var(--inner-curve) no-repeat 0 0 / 100% 100%;
  pointer-events: none;
}

.notched-layout__section.top::after {
  left: 100%;
  bottom: 0;
}

.notched-layout__section.bottom::before {
  right: 100%;
  top: 0;
  transform: rotate(180deg);
}

.notched-layout__section .notched-layout__inner .flexbox {
  flex-wrap: nowrap;
}

.item2-3 {
  flex-basis: calc(100% * 2/3);
}

.notched-layout__img {
  position: absolute;
  right: -13px;
  top: 50%;
  transform: translateY(-50%);
  max-width: 314px;
}

.notched-layout__img2 {
  left: -65px;
}

.product-box {
  padding: clamp(40px, 6vw, 70px) clamp(50px, 8vw, 90px) clamp(40px, 6vw, 70px) clamp(30px, 5vw, 60px);
  position: relative;
  max-width: 1000px;
}

.product-box__icon {
  max-width: clamp(95px, 15vw, 145px);
  position: absolute;
  top: 0;
  left: 0;
}

.product-box__img {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: clamp(158px, 28vw, 358px);
}

.product-box:nth-of-type(even) .product-box__img {
  right: auto;
  left: 0;
  top: 54%;
}

.product-box__img2 {
  max-width: clamp(152px, 25vw, 256px);
}

.product-box__img3 {
  max-width: clamp(166px, 27vw, 318px);
}

.product-box__white-box {
  background-color: #fff;
  padding: clamp(6rem, 10vw, 8.5rem) clamp(2rem, 7vw, 5rem);
  border-radius: 40px 10px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.2);
  color: #000;
}

.product-box__white-box>div {
  margin-right: clamp(40px, calc(15vw + (90 * ((100vw - 600px) / 600))), 250px);
}

.product-box:nth-of-type(even) .product-box__white-box>div {
  margin-right: 0;
  margin-left: clamp(40px, calc(15vw + (90 * ((100vw - 600px) / 600))), 250px);
}

.product-box:nth-of-type(2) .product-box__white-box>div {
  margin-left: clamp(40px, calc(15vw + (90 * ((100vw - 600px) / 600))), 190px);
}

.product-box__bg1 {
  background-image: url("../images/sec-02-con01-bg.png");
}

.product-box__bg2 {
  background-image: url("../images/sec-02-con02-bg.png");
}

.product-box__bg3 {
  background-image: url("../images/sec-02-con03-bg.png");
}

.product-box__white-box>div>p {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.booth-ttl {
  text-align: center;
  margin: 0 auto;
  /* width: calc(((100vw - 375px) / 2.3806) + 322px); */
  width: 80%;
  padding-bottom: 0.3em;
  border-bottom: 3px solid #fff;
  margin-bottom: 2em;
}

.booth-txt {
  font-size: clamp(17px, 2vw, 26px);
  line-height: 1.5em;
}

.booth-txt span {
  font-size: clamp(22px, 3vw, 36px);
  /*display: inline-block;*/
}

.push-btn {
  display: block;
  max-width: 642px;
  margin: 0 auto 2rem;
}

.push-btn img {
  transition: all 0.2s ease-in-out;
}

.push-btn::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(4px, 1vw, 8px);
  left: clamp(4px, 1vw, 8px);
  width: 100%;
  height: 100%;
  background-color: #004D9F;
}

.push-btn:hover {
  opacity: inherit;
}

.push-btn img:hover {
  transform: translate(clamp(4px, 1vw, 8px), clamp(4px, 1vw, 8px));
  transition: all 0.3s ease-in-out;
}

.sub-ttl-blue, .sub-ttl-orange {
  background-color: #004D9F;
  color: #fff;
  border-radius: 10px;
  max-width: 574px;
  margin: 0 auto 2rem;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: -0.1em;
  padding: .5rem;
  position: relative;
}

.sub-ttl-blue::after, .sub-ttl-orange::after {
  content: "";
  display: block;
  width: 38px;
  height: 33px;
  background-color: #004D9F;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.push-btn.push-orange::before, .sub-ttl-orange, .sub-ttl-orange::after {
  background-color: #E95514;
}

.booth01-comment {
  width: 85%;
  margin: 1em auto 0;
}

.sub-ttl-wb {
  background-color: #fff;
  border-radius: 1em;
  color: #004D9F;
  font-size: 1.1em;
  font-weight: bold;
  letter-spacing: -0.1em;
}

.flexbox {
  display: -webkit-flex;
  display: flex;
  /* -webkit-flex-wrap: wrap;
  flex-wrap: wrap; */
}

.flexbox.reverse {
  flex-direction: row-reverse;
}


.item {
  width: 50%;
  padding: 0 20px;
  margin-bottom: 20px;
}

.item3 {
  flex-basis: calc(100% / 3);
  padding: 0 1rem;
  margin-bottom: 2rem;
}

.item6 {
  flex-basis: 60%;
  padding: 0 1rem;
  margin-bottom: 2rem;
}

.item-end {
  align-items: flex-end;
}

.image_mouseover_2 {
  overflow: visible;
  width: 100%;
  height: 100%;
}

.image_mouseover_2 img {
  display: block;
  transition-duration: 0.5s;
  filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.5));
}

.image_mouseover_2 img:hover {
  transform: scale(0.8);
  transition-duration: 0.5s;
}

/*#food02 {
	background-image: url("../images/area02-bg.jpg");
	background-size: cover;
	background-position: center top;
	color: #fff;
}*/
.flex-oanyami {
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  font-size: 2em;
  margin-bottom: 1em;
}


.worries {
  margin: 0 auto 20px;
}

.worrie-txt1 {
  width: 50%;
  margin: 1em auto 0.5em;
}

.worrie-txt2 {
  font-size: 2em;
  line-height: 1.6;
}

.worrie-txt3 {
  width: 70%;
  margin: 1em auto 2em;
}

.worrie-txt4 {
  max-width: 580px;
}

.worrie-arrow {
  width: 6%;
  margin: 0 auto;
}

.worrie-txt-box {
  text-align: center;
  max-width: 100%;
}

.worrie-txt-box>div {
  display: inline-block;
}

.worrie-txt-box>div p {
  text-align: left;
  font-size: clamp(16px, 2vw, 26px);
}

.arrow {
  display: block;
  width: 50px;
}

/*--webp対応ブラウザの場合--*/
.webp .blue-back {
  background: url("../images/intro_bg.webp");
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 1094px;
  background-position: bottom 0px left 50%;
}

/*--webp非対応ブラウザの場合--*/
.no-webp .blue-back {
  background: url("../images/intro_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 1094px;
  background-position: bottom 0px left 50%;
}

.intro_ttl {
  text-align: center;
  padding: 20px 10px;
  max-width: 100%;
  margin: 20px auto;
}

.seihin-ttl {
  padding-top: 2em;
}

.seihin-ttl2 {
  color: #DBDCDC;
  mix-blend-mode: multiply;
  line-height: 1em;
  font-size: clamp(56px, 9vw, 166px);
  padding: 0 clamp(0rem, 4vw, 7rem);
  z-index: 1;
  position: relative;
}

.intro-bg {
  background-size: cover;
  color: #fff;
  margin-top: 7rem;
  margin-bottom: 7rem;
  display: flex;
  align-items: center;
}

/*.intro-area > div:nth-of-type(odd) .intro-bg {
	clip-path: polygon(0 0, calc(1100vw / 12.4) 0, calc(1100vw / 12.4) 100%, 0 100%);
}
.intro-area > div:nth-of-type(even) .intro-bg {
	clip-path: polygon(100% 0, calc(1100vw / 87.6) 0, calc(1100vw / 87.6) 100%, 100% 100%);
}*/
.int-bg1 {
  background-image: url("../images/area03-bg01.jpg");
}

.int-bg2 {
  background-image: url("../images/area03-bg02.jpg");
}

.int-bg3 {
  background-image: url("../images/area03-bg03.jpg");
}

.intro-img {
  width: 35%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.intro-area>div:nth-of-type(odd) .intro-img {
  right: 30px;
}

.intro-area>div:nth-of-type(even) .intro-img {
  left: 30px;
}

#intro-01 .intro-img {
  /*right: calc(100% - 86vw);*/
  max-width: 442px;
}

#intro-02 .intro-img {
  /*left: calc(100% - 84vw);*/
  max-width: 354px;
}

#intro-03 .intro-img {
  /*right: calc(100% - 86vw);*/
  max-width: 450px;
}

.intro-bg>div {
  max-width: clamp(470px, 40vw, 580px);
  padding: 4rem;
}

.intro-area>div:nth-of-type(even) .intro-bg {
  justify-content: flex-end;
}

/*.intro-area > div:nth-of-type(odd) .intro-bg > div {
	margin-right: calc(850vw / 19.2);
	margin-left: calc(270vw / 15.2);
}
.intro-area > div:nth-of-type(even) .intro-bg > div {
	margin-left: calc(850vw / 19.2);
}*/
.intro-bg h3 {
  font-size: clamp(14px, 3vw, 32px);
  line-height: 1.2em;
  margin-bottom: 2rem;
}

.intro-bg p {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.3em;
}

#intro-03 .flexbox {
  padding-top: 2rem;
}

.de-cartoning-text {
  /* color: #fff; */
  text-align: left;
  font-size: 1.2em;
  /* font-size: calc(((100vw - 375px) / 772.5) + 13px); */
  margin-bottom: 20px;
  text-shadow: 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff;
}

.intro-blue-box {
  border: 5px solid #004D9F;
  background-color: #fff;
  padding: 0.8em;
  font-size: 1.3em;
  margin-bottom: 1.5em;
  box-shadow: 12px 12px 5px -5px rgba(0, 0, 0, 0.2);
}

.intro-blue-box .flexbox {
  align-items: flex-start;
}

.intro-blue-box .item {
  padding: 0;
}

.blue-in-box {
  background-color: #004D9F;
  /*text-align: center;*/
  color: #fff;
  /*font-size: 1.6em;*/
  line-height: 1.5;
  padding: 0.6em;
}

a.detail-btn {
  position: relative;
  display: inline-block;
  background-color: #000;
  color: #fff;
  text-align: left;
  font-size: 1.5em;
  border-radius: 1.25em;
  line-height: 2.5;
  min-width: 12em;
  padding-left: 1em;
}

/* a.detail-btn::after{
  position: absolute;
  content: url(../images/btn-arrow.svg);
  top: 55%;
  transform: translateY(-50%);
  padding-left: 0.2em;
} */

a.detail-btn::after {
  position: absolute;
  background-image: url(../images/btn-arrow.svg);
  content: "";
  background-size: 100%;
  top: 55%;
  transform: translateY(-50%);
  width: 1.2em;
  height: 1em;
  right: 0.7em;
}


.intro-02 .item:first-child {
  width: 40%;
  margin-left: 5%;
}

.intro-02 .item:last-child {
  width: 50%;
  margin-left: 5%;
}

.intro-01 {
  background-image: url("../images/bk1-pc.png");
  background-repeat: no-repeat;
  background-size: 1900px;
  /* min-height: 1020px; */
  background-position: top;
}

.intro-02 {
  background-image: url("../images/bk2-pc.png");
  background-repeat: no-repeat;
  background-size: 1900px;
  /* min-height: 1020px; */
  background-position: top;
}

.worries_ttl2 {
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}

.worries_img02 {
  text-align: center;
  width: 100%;
  margin: 10px auto;
}

.sui-jituen {
  max-width: 460px;
}


.device-logo {
  text-align: center;
  margin: 10px auto;
}

.lets-nikko {
  /* text-align: center; */
  color: #004D9F;
  /* width: 100%; */
  font-size: 2.5em;
  letter-spacing: 0.2em;
  line-height: 1.3;
  padding: 0 20px 0.5em;
  margin: 20px auto 40px;
  /* max-width: 972px; */
  border-bottom: 3px solid #000;
}

#food03 .item3 {
  margin-bottom: 4rem;
}

.font-sawarabi {
  font-family: "Sawarabi Gothic", sans-serif;
}


/* footer */
footer {
  background-color: #fff;
  width: 100%;
  position: relative;
}

footer a:hover {
  opacity: 0.8;
}

.footer-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  gap: 2em 1em;
  padding: 2em 0;
  letter-spacing: -0.5px;
  max-width: 1100px;
  margin: 0 auto;
}

.footer-logo {
  max-width: 400px;
}


.footer-cont table {
  margin: 5px auto;
}

.footer-cont th, td {
  font-weight: 500;
  text-align: left;
  padding-right: 5px;
  vertical-align: top;
}

.footer-cont td span {
  font-size: 90%;
  margin-right: 5px;
}

.foot-nav .f-nav {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  font-weight: 600;
}

.foot-nav .f-nav li {
  margin-bottom: 1em;
  padding-left: 0.5em;
  width: 50%;
  position: relative;
  line-height: 1.5;
}

.foot-nav .f-nav li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 1.5em;
  width: 3px;
  background-color: #024092;
}

.copy {
  background-color: #024092;
  text-align: center;
  font-weight: normal;
  padding: 0.5em 0;
  font-size: 0.9em;
  color: white;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
  position: fixed;
  bottom: calc(((100vw - 375px) / 44.1429) + 35px);
  right: calc(((100vw - 1200px) / 11.0769) + 5px);
  z-index: 99;
}

#pagetop a {
  display: block;
  width: calc(((100vw - 375px) / 40.6579) + 64px);
  padding: 10px 5px;
  text-align: center;
}

@media screen and (max-width: 1200px) {
  /*.intro-area > div:nth-of-type(odd) .intro-bg > div {
		margin-left: calc(34vw / 7.68);
	}
	.intro-area > div:nth-of-type(even) .intro-bg > div {
		margin-right: calc(34vw / 7.68);
	}*/

  #intro-03 .flexbox {
    padding-top: 0;
  }


  .footer-logo-outer {
    display: block;
  }

  #pagetop {
    right: 5px;
  }
}

@media screen and (max-width: 1050px) {
  .sub-ttl-wb {
    font-size: 1.8vw;
  }

  .intro-01 {
    background-image: url("../images/bk1-sp.png");
    background-size: 100%;
    /* min-height: 1020px; */
    background-position: top 8% right 0;
  }

  .intro-02 {
    background-image: url("../images/bk2-sp.png");
    background-size: 100%;
    /* min-height: 1020px; */
    background-position: top 12% right 0;
  }
}

@media screen and (max-width: 800px) {
  .intro-bg {
    margin-bottom: 3rem;
  }

  .intro-bg>div {
    max-width: clamp(350px, 39vw, 470px);
  }

  .footer-cont {
    flex-direction: column;
    align-items: center;
  }
}

@media (min-width: 601px) {
  .back-top {
    width: 70px;
    height: 70px;
  }

  .alig-r {
    display: inline-block;
    text-align: right;
  }
}

@media screen and (max-width: 600px) {
  .container {
    width: 100%;
  }

  .main-btn-box {
    display: flex;
  }

  .flexbox {
    flex-direction: column !important;
    align-items: center;
  }

  .item {
    width: 100%;
  }

  .item3 {
    padding: 0 3rem;
    margin-bottom: 1rem;
    ;
  }

  .product-box {
    padding: 30px 0;
  }

  .product-box__white-box>div, .product-box:nth-of-type(even) .product-box__white-box>div {
    margin-right: 0;
    margin-left: 0;
  }

  .product-box__white-box>div>p {
    background-image: none;
  }

  .product-box:nth-of-type(3) .product-box__ttl {
    position: relative;
    z-index: 1;
  }

  .product-box:nth-of-type(3) .product-box__over-img {
    margin-top: -70px;
  }

  .triangle-bg__img {
    max-height: 45px;
  }


  .notched-layout__section.top {
    border-radius: 0 var(--radius) var(--radius) 0;
    margin-bottom: 50px;
  }

  .notched-layout__section.bottom {
    border-radius: var(--radius) 0 0 var(--radius);
  }

  .notched-layout__section.top::after, .notched-layout__section.bottom::before {
    display: none;
  }

  .notched-layout__section .notched-layout__inner {
    padding: 3rem;
  }

  .notched-layout__img {
    max-width: clamp(126px, 29vw, 166px);
    top: -10px;
    transform: none;
    right: 30px;
  }

  .notched-layout__img2 {
    left: auto;
    top: 0;
    max-width: clamp(144px, 32vw, 184px);
  }




  .intro_ttl {
    max-width: 474px;
    padding: 20px 20px 0px;
    margin: 20px auto 0px;
  }

  .worries_ttl2 {
    max-width: 306px;
  }

  .booth-ttl {
    width: 100%;
  }

  #food01 .item {
    padding: 0;
  }

  #food01 .item a img {
    padding: 0 20px;
  }

  .sub-ttl-wb {
    font-size: 4vw;
  }

  .sub-ttl-wb-sp {
    border-radius: 2em;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.4;
  }

  .booth01-comment {
    width: 100%;
  }

  #food02 {
    background-image: url("../images/area02-bg-sp.jpg");
  }

  .flex-oanyami {
    font-size: 5vw;
  }

  .worrie-txt1 {
    width: 60%;
  }

  .worrie-txt2 {
    font-size: 3.4vw;
  }

  .worrie-txt3 {
    width: 85%;
  }

  .worrie-arrow {
    width: 8%;
  }

  .worrie-ttl1 {
    max-width: 90%;
  }



  .de-cartoning {
    width: 60%;
    margin: 0 auto;
  }

  .blue-in-box {
    font-size: 4vw;
  }

  .intro-02 .flexbox {
    display: flex;
    margin-top: 20px;
    align-items: center;
  }

  .intro-02 .item {
    padding: 0;
  }

  .intro-02 .item:first-child {
    margin-left: 0;
    width: 40%;
  }

  .intro-02 .item:last-child {
    margin-left: 0;
    width: 60%;
  }

  .sp-sui {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }

  .intro-02 .mt50 {
    margin-top: 0;
  }

  .lets-nikko {
    font-size: 4.8vw;
    padding: 0 0 0.5em;
  }

  .de-cartoning-text, .intro-blue-box {
    font-size: 1em;
  }

  a.detail-btn {
    font-size: 1.3em;
  }

  .intro-02 .w90 {
    width: 100%;
  }

  .intro-bg {
    min-height: 110px;
    margin-bottom: clamp(3rem, 10vw, 5rem);
  }

  .intro-bg h3 {
    margin-bottom: 0;
  }

  img.int-img {
    max-width: 80%;
  }

  .foot-top-img {
    aspect-ratio: 66 / 8;
    object-fit: cover;
  }

  .footer-cont {
    max-width: 200px;
    margin: 0 auto;
  }

  .footer-logo {
    max-width: 200px;
  }
}

@media screen and (max-width: 414px) {
  .inner {
    padding: 0 1rem;
  }

  .intro_ttl {
    max-width: 474px;
    padding: 20px 20px 20px;
    margin: 20px auto 20px;
  }

  .foot-container {
    max-width: 85%;
  }

  .intro-bg>div {
    padding: clamp(1rem, 3vw, 4rem);
    max-width: clamp(180px, 39vw, 470px);
  }

}

@media screen and (min-width: 1401px) {
  .intro-bg {
    min-height: 350px;
  }
}

@media screen and (min-width: 1900px) {

  .header {
    height: 2.6em;
  }

  .header__inner {
    max-width: 60%;
  }

  .header__nav {
    width: 70%;
  }

  .nav-items__item a {
    font-size: 0.8em;
  }

  .container {
    width: 60%;
    max-width: initial;
  }

  .container.box1000 {
    width: 1000px;
  }

  .box900 {
    width: 90%;
    max-width: initial;
  }

  .box420 {
    width: 50%;
    max-width: initial;
  }

  .box330 {
    width: 100%;
  }

  .main-img {
    padding-top: 2.5em;
  }

  .intro-01 {
    background-size: 100%;
  }

  .intro-02 {
    background-size: 100%;
  }

  .intro-blue-box {
    box-shadow: 0.5em 0.5em 0.2em -0.2em rgba(0, 0, 0, 0.2);
  }

  .foot-container {
    max-width: 70%;
  }

  .foot-nav .f-nav {
    font-size: 0.8em;
  }

  .footer-add table {
    font-size: 0.7em;
  }

  .footer-l {
    flex-basis: 70%;
  }

  .footer-r {
    flex-basis: 30%;
  }

}

@media screen and (min-width: 1921px) {

  .sub-ttl-blue, .sub-ttl-orange {
    font-size: 26px;
  }

  /*.intro-area > div:nth-of-type(odd) .intro-bg > div {
		margin-left: calc(460vw / 19.2);
	}
	
	.intro-area > div:nth-of-type(even) .intro-bg > div {
		margin-right: calc(460vw / 19.2);
	}*/

}