@charset "UTF-8";
/* ファイルの一番上に配置します */
/* その後、他の変数、関数、CSSコードを記述します */
html body {
  background: #fff5e1;
}
html body [class*=" c1"], html body [class*=" c2"], html body [class*=" c3"], html body [class*=" c4"], html body [class*=" c5"], html body [class*=" c6"], html body [class*=" c7"], html body [class*=" c8"], html body [class*=" c9"], html body [class^=c1], html body [class^=c2], html body [class^=c3], html body [class^=c4], html body [class^=c5], html body [class^=c6], html body [class^=c7], html body [class^=c8], html body [class^=c9] {
  padding: 0;
  margin: 0;
}
html body {
  font-family: "Zen Maru Gothic", sans-serif;
}
html body p {
  margin: 0;
}
html body .main_logo {
  display: flex;
  position: fixed;
  width: clamp(140px, 16.6910688141vw, 228px);
  height: clamp(99px, 11.7862371889vw, 161px);
  top: 0;
  left: 0;
  z-index: 10001;
}
html body .main_logo img {
  width: 100%;
  height: auto;
}
html body .main_button {
  text-decoration: none;
}
html body .main_button p {
  max-width: 250px;
  width: 100%;
  height: 56px;
  border-radius: 28px;
  margin: 0;
  font-weight: 900;
  display: flex;
  font-family: "Zen Maru Gothic", sans-serif;
  align-items: center;
  justify-content: start;
  font-weight: bold;
  color: #fff;
  background: #ec862f;
  border: 1px solid #ec862f;
  position: relative;
  transition: 0.4s;
  padding: 0 20px;
}
html body .main_button p::after {
  content: "\f054";
  display: flex;
  align-items: center;
  justify-self: center;
  font-family: "Font Awesome 5 Free";
  border-radius: 50%;
  position: absolute;
  top: 50%;
  justify-content: space-around;
  right: 17px;
  color: #fff;
  font-size: 12px;
  transform: translateY(-50%);
  transition: 0.4s;
}
html body .main_button p:hover {
  background: #fab832;
}
html body .title_en {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: 30px;
}
html body .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #51221a;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(36px, 32.0200668896px + 0.9364548495vw, 50px);
}
html body .main_header {
  position: fixed;
  top: 10px;
  left: 0;
  width: 100%;
  max-width: 100%;
  padding: 0 10px;
  z-index: 999;
  transform: none;
  transition: 0.4s all;
}
html body .main_header .col-md-6 {
  padding: 0 !important;
  max-width: -moz-max-content !important;
  max-width: max-content !important;
  flex: unset !important;
}
html body .main_header .row {
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
}
html body .main_header .header_wrap .header_inner {
  display: flex;
  align-items: center;
}
html body .main_header .header_wrap .header_inner a > div p br,
html body .main_header .header_wrap .header_inner .sub_header br {
  display: none;
}
html body .main_header .header_wrap .header_inner a:not(.burger_wrap a),
html body .main_header .header_wrap .header_inner .sub_header {
  display: none;
}
html body .main_header .header_wrap .header_inner .burger_wrap {
  display: block;
}
html body .main_header .main_burger {
  display: block;
  width: 30px;
  height: 30px;
  position: relative;
  cursor: pointer;
  background: transparent;
  border: none;
  padding: 0;
  background-image: linear-gradient(#51221a, #51221a);
  background-position: center;
  background-size: 80% 1.5px;
  background-repeat: no-repeat;
  transition: background-size 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
html body .main_header .main_burger::before, html body .main_header .main_burger::after {
  content: "";
  position: absolute;
  left: 10%;
  width: 80%;
  height: 1.5px;
  background-color: #51221a;
  border-radius: 4px;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), top 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), bottom 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
html body .main_header .main_burger::before {
  top: calc(50% - 7px - 1.5px / 2);
}
html body .main_header .main_burger::after {
  bottom: calc(50% - 7px - 1.5px / 2);
}
@media (hover: hover) {
  html body .main_header .main_burger:hover::before {
    transform: translateY(-2px);
  }
  html body .main_header .main_burger:hover::after {
    transform: translateY(2px);
  }
}
html body .main_header .main_burger.active {
  background-size: 0 1.5px;
}
html body .main_header .main_burger.active::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
html body .main_header .main_burger.active::after {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
html body .main_header .main_burger.active:hover::before {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
html body .main_header .main_burger.active:hover::after {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
html body .main_header .sub_header {
  position: relative;
  display: flex;
  align-items: center;
}
html body .main_header .sub_header > a {
  position: relative;
  display: flex !important;
}
html body .main_header .sub_header > a > div p::after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #51221a;
  border-bottom: 2px solid #51221a;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.3s ease;
  vertical-align: middle;
}
html body .main_header .sub_header .sub_inner {
  position: absolute;
  top: calc(100% + 15px);
  left: 50%;
  background: #fff;
  border-radius: 8px;
  padding: 8px 0;
  min-width: 160px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateX(-50%) translateY(8px);
  transition: 0.25s all ease;
}
html body .main_header .sub_header .sub_inner::before {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  width: 100%;
  height: 15px;
  background: transparent;
}
html body .main_header .sub_header .sub_inner::after {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 12px;
  background: #fff;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
html body .main_header .sub_header .sub_inner a {
  display: block !important;
  padding: 8px 20px !important;
  text-decoration: none;
}
html body .main_header .sub_header .sub_inner a > div p {
  color: #51221a !important;
  font-size: clamp(13px, 1.0248901903vw, 14px) !important;
  font-weight: bold;
  margin: 0;
  transition: color 0.2s;
}
html body .main_header .sub_header .sub_inner a:hover > div p {
  color: #ec862f !important;
  opacity: 1 !important;
}
html body .main_header .sub_header:hover .sub_inner {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
html body .main_header .sub_header:hover > a > div p::after {
  transform: rotate(225deg) translateY(2px);
}
html body .main_header.fixed {
  top: 0;
  padding: 0;
  background: #fff;
}
html body .main_header.fixed .row {
  border-radius: 0;
  padding: 15px;
}
@media (min-width: 1100px) {
  html body .main_header {
    max-width: 100%;
  }
  html body .main_header.fixed {
    padding: 0;
    top: 0;
  }
  html body .main_header.fixed .row {
    border-radius: 0;
    padding: 10px 20px;
  }
  html body .main_header .row {
    padding: 15px 20px;
    border-radius: 5px;
  }
  html body .main_header .header_wrap {
    max-width: -moz-max-content;
    max-width: max-content;
  }
  html body .main_header .header_wrap .header_inner {
    gap:  clamp(15px, 0.243902439px + 1.3414634146vw, 26px);
  }
  html body .main_header .header_wrap .header_inner .burger_wrap {
    display: none;
  }
  html body .main_header .header_wrap .header_inner a:not(.burger_wrap a),
  html body .main_header .header_wrap .header_inner .sub_header {
    display: block;
    padding: 0;
    min-height: unset;
    text-decoration: none;
  }
  html body .main_header .header_wrap .header_inner a:not(.burger_wrap a) > div,
  html body .main_header .header_wrap .header_inner .sub_header > div {
    padding: 0;
  }
  html body .main_header .header_wrap .header_inner a:not(.burger_wrap a) > div p,
  html body .main_header .header_wrap .header_inner .sub_header > div p {
    color: #51221a;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: clamp(14px, 6.6341463415px + 0.487804878vw, 16px);
    line-height: normal;
    margin: 0;
    transition: 0.4s all;
    text-align:center;
  }
  html body .main_header .header_wrap .header_inner a:not(.burger_wrap a) > div p:hover,
  html body .main_header .header_wrap .header_inner .sub_header > div p:hover {
    opacity: 0.7;
  }
  html body .main_header .header_wrap .header_inner .sub_header {
    display: flex;
  }
  html body .main_header .header_wrap .header_inner .contact_button p {
    width: 183px;
    height: 48px;
    border-radius: 50vh;
    background: #ec862f;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #fff !important;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: bold;
    font-size: 18px !important;
    line-height: normal;
    transition: 0.4s all;
    position: relative;
    padding-right: 24px;
  }
  html body .main_header .header_wrap .header_inner .contact_button p::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: url(/system_panel/uploads/images/tel_icon.svg) no-repeat;
    background-size: contain;
  }
  html body .main_header .header_wrap .header_inner .contact_button p:hover {
    background: #fab832;
  }
}
html body .sp_nav_wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ec862f;
  z-index: 900;
  padding-top: 100px;
  padding-bottom: 100px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 30px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.4s all ease-in-out;
}
html body .sp_nav_wrap.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
html body .sp_nav_wrap a {
  display: block;
  text-decoration: none;
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  transition: 0.4s all;
  padding: 0 !important;
  min-height: unset !important;
}
html body .sp_nav_wrap a > div p {
  color: #fff !important;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 20px;
  margin: 0;
}
html body .sp_nav_wrap a[href*=contact] > div p {
  background: #fff !important;
  color: #ec862f !important;
  width: 200px;
  height: 55px;
  border-radius: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
html body .sp_nav_wrap.open a {
  opacity: 1;
  transform: translateY(0);
}
html body .sp_nav_wrap.open a:nth-child(1) {
  transition-delay: 0.15s;
}
html body .sp_nav_wrap.open a:nth-child(2) {
  transition-delay: 0.2s;
}
html body .sp_nav_wrap.open a:nth-child(3) {
  transition-delay: 0.25s;
}
html body .sp_nav_wrap.open a:nth-child(4) {
  transition-delay: 0.3s;
}
html body .sp_nav_wrap.open a:nth-child(5) {
  transition-delay: 0.35s;
}
html body .sp_nav_wrap.open a:nth-child(6) {
  transition-delay: 0.4s;
}
html body .sp_nav_wrap.open a:nth-child(7) {
  transition-delay: 0.45s;
}
html body .sp_nav_wrap.open a:nth-child(8) {
  transition-delay: 0.5s;
}
html body .sp_nav_wrap.open a:nth-child(9) {
  transition-delay: 0.55s;
}
html body .sp_nav_wrap.open a:nth-child(10) {
  transition-delay: 0.6s;
}
html body .sp_nav_wrap.open a:nth-child(11) {
  transition-delay: 0.65s;
}
html body .sp_nav_wrap.open a:nth-child(12) {
  transition-delay: 0.7s;
}
html body .sp_nav_wrap.open a:nth-child(13) {
  transition-delay: 0.75s;
}
html body .sp_nav_wrap.open a:nth-child(14) {
  transition-delay: 0.8s;
}
html body .sp_nav_wrap.open a:nth-child(15) {
  transition-delay: 0.85s;
}
html body .sp_nav_wrap.open a:nth-child(16) {
  transition-delay: 0.9s;
}
html body .sp_nav_wrap.open a:nth-child(17) {
  transition-delay: 0.95s;
}
html body .sp_nav_wrap.open a:nth-child(18) {
  transition-delay: 1s;
}
html body .sp_nav_wrap.open a:nth-child(19) {
  transition-delay: 1.05s;
}
html body .sp_nav_wrap.open a:nth-child(20) {
  transition-delay: 1.1s;
}
html body .sp_nav_wrap .sp_sub_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
html body .sp_nav_wrap .sp_sub_wrap > a > div p {
  color: #fff !important;
  font-size: 20px;
  font-weight: bold;
  margin: 0;
}
html body .sp_nav_wrap .sp_sub_wrap > a > div p::after {
  display: none;
}
html body .sp_nav_wrap .sp_sub_wrap a ~ a > div p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 16px !important;
}

.main_grid {
  position: relative;
}
.main_grid::after {
  content: "";
  background: url(/system_panel/uploads/images/mv_bg01.png) no-repeat;
  background-size: contain;
  width: 53.6470588235vw;
  height: 60.2352941176vw;
  position: absolute;
  right: 0;
  top: -120px;
}
@media (min-width: 768px) {
  .main_grid::after {
    top: -120px;
    width: clamp(378px, 122px + 33.3333333333vw, 762px);
    height: clamp(401px, 301px + 13.0208333333vw, 551px);
    right: clamp(250px, -103.3333333333px + 46.0069444444vw, 780px);
  }
}
.main_grid::before {
  content: "";
  background: url(/system_panel/uploads/images/mv_bg02.png) no-repeat;
  background-size: contain;
  width: 47.0588235294vw;
  height: 47.2941176471vw;
  position: absolute;
  left: 0;
  bottom: -11.7647058824vw;
}
@media (min-width: 768px) {
  .main_grid::before {
    width: clamp(300px, 171.3333333333px + 16.7534722222vw, 493px);
    height: clamp(300px, 145.3333333333px + 20.1388888889vw, 532px);
    bottom: clamp(-50px, -63.3333333333px + 1.7361111111vw, -30px);
  }
}
.main_grid {
  margin-top: 80px;
  display: flex;
  flex-direction: column-reverse;
  row-gap: clamp(50px, 40px + 3.125vw, 100px);
}
@media (min-width: 768px) {
  .main_grid {
    display: grid;
    grid-template-columns: 820fr 1100fr;
    align-items: center;
    margin-top: 120px;
  }
}
.main_grid .img_left {
  position: relative;
  padding: 0 6% 42.3529411765vw;
  z-index: 1;
}
@media (min-width: 768px) {
  .main_grid .img_left {
    padding: 0;
    text-align: center;
  }
}
.main_grid .img_left::after {
  content: "";
  position: absolute;
  background: url(/system_panel/uploads/images/mv_img03.png) no-repeat;
  width: 56.4705882353vw;
  background-size: contain;
  height: 37.6470588235vw;
  left: 4.7058823529vw;
  bottom: 0;
}
@media (min-width: 768px) {
  .main_grid .img_left::after {
    width: clamp(189px, 56.3333333333px + 17.2743055556vw, 388px);
    height: clamp(111px, 0.3333333333px + 14.4097222222vw, 277px);
    bottom: -19.5058517555vw;
    left: 2.6007802341vw;
  }
}
.main_grid .img_left::before {
  content: "";
  position: absolute;
  background: url(/system_panel/uploads/images/mv_img02.png);
  right: 2.3529411765vw;
  bottom: 18.8235294118vw;
  width: 28.2352941176vw;
  height: 25.4117647059vw;
  background-size: cover;
}
@media (min-width: 768px) {
  .main_grid .img_left::before {
    width: clamp(130px, 43.3333333333px + 11.2847222222vw, 260px);
    height: clamp(117.5px, 39.1666666667px + 10.1996527778vw, 235px);
    top: -21.4564369311vw;
    right: 0;
  }
}
.main_grid .img_left img {
  max-width: 60vw;
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .main_grid .img_left img {
    max-width: 25vw;
  }
}
.main_grid .img_right {
  padding-left: 6%;
  position: relative;
  z-index: 2;
}
@media (min-width: 1100px) {
  .main_grid .img_right {
    padding: 0;
  }
}
.main_grid .img_right img {
  width: 100%;
}

.s01 {
  padding-top: clamp(75px, 50.8361204013px + 5.6856187291vw, 160px);
  padding-bottom: clamp(36px, -23.6989966555px + 14.0468227425vw, 246px);
  overflow: hidden;
  position: relative;
}
.s01::after {
  content: "";
  background: url(/system_panel/uploads/images/top_about_bg.png) no-repeat;
  position: absolute;
  bottom: -9.4117647059vw;
  right: 0;
  background-size: cover;
  width: clamp(309px, 241.3411371237px + 15.9197324415vw, 547px);
  height: clamp(349px, 170.3333333333px + 23.2638888889vw, 617px);
}
.s01 .grid_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}
@media (min-width: 768px) {
  .s01 .grid_box {
    display: grid;
    grid-template-columns: 904fr 1016fr;
    align-items: center;
  }
}
.s01 .grid_box .img_area {
  padding-right: 6%;
  position: relative;
  z-index: 2;
}
.s01 .grid_box .img_area img {
  width: 100%;
}
.s01 .grid_box {
  /* 全体を囲むエリア */
}
.s01 .grid_box .text_area {
  /* フレックスコンテナ */
  padding: 0 6%;
  position: relative;
}
.s01 .grid_box .text_area::after {
  content: "sanmaru";
  position: absolute;
  top: -100px;
  left: 0;
  text-transform: capitalize;
  font-size: 100px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #fdebd6;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (min-width: 768px) {
  .s01 .grid_box .text_area::after {
    font-size: clamp(100px, 38.6666666667px + 7.9861111111vw, 192px);
    top: clamp(-180px, -46.6666666667px + -6.9444444444vw, -100px);
    left: -3.9011703511vw;
  }
}
.s01 .grid_box .text_area > * {
  position: relative;
  z-index: 1;
}
.s01 .grid_box .text_area .text_flex {
  display: flex;
  flex-direction: column-reverse;
}
.s01 .grid_box .text_area .text_flex .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s01 .grid_box .text_area .text_flex .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
.s01 .grid_box .text_area .text_flex .text_wrap {
  /* 英語のサブタイトル */
}
.s01 .grid_box .text_area .text_flex .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s01 .grid_box .text_area .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #51221a;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(32px, 28.0200668896px + 0.9364548495vw, 46px);
  margin-bottom: 40px;
  font-weight: bold;
}
.s01 .grid_box .text_area .content {
  margin-bottom: 40px;
}
.s01 .grid_box .text_area .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(16px, 14.8628762542px + 0.2675585284vw, 20px);
  line-height: 2;
  color: #51221a;
  font-weight: 500;
}

.s02_wrap {
  position: relative;
}
.s02_wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #fff5e1 50%, #ec862f 50%);
}
.s02_wrap {
  /* セクション全体 */
}
.s02_wrap .s02 {
  padding: clamp(60px, 42.9431438127px + 4.0133779264vw, 120px) 0;
  background: #fde8ca;
  border-radius: clamp(40px, 28.6287625418px + 2.6755852843vw, 80px);
  position: relative;
  overflow: hidden;
  z-index: 1;
}
.s02_wrap .s02::after {
  background: url(/system_panel/uploads/images/top_reason_bg.png) no-repeat;
  background-size: contain;
  width: clamp(250px, 144.2474916388px + 24.8829431438vw, 622px);
  height: clamp(250px, 144.2474916388px + 24.8829431438vw, 622px);
  top: 0;
  left: 0;
  position: absolute;
  content: "";
}
.s02_wrap .s02 {
  /* インナー幅や中央揃えのラッパー */
}
.s02_wrap .s02 .inner {
  position: relative;
  z-index: 2;
  max-width: calc(940px + 12%);
  width: 100%;
  margin: 0 auto;
  padding: 0 6%;
  /* 英語のサブタイトル */
}
.s02_wrap .s02 .inner .title_en {
  text-align: center;
  margin-bottom: 8px;
}
.s02_wrap .s02 .inner {
  /* 日本語のメインタイトル */
}
.s02_wrap .s02 .inner .title_jp {
  text-align: center;
  margin-bottom: 64px;
}
.s02_wrap .s02 {
  /* グリッドレイアウトのコンテナ */
}
.s02_wrap .s02 .grid_box {
  /* 各グリッドアイテム（カラム） */
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
}
@media (min-width: 768px) {
  .s02_wrap .s02 .grid_box {
    grid-template-columns: repeat(2, 1fr);
  }
}
.s02_wrap .s02 .grid_box .grid_col {
  /* 画像 (不要なc5454クラスの代わりに直接指定) */
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}
.s02_wrap .s02 .grid_box .grid_col img {
  width: 100%;
  border-radius: 20px;
  margin-bottom: 8px;
}
.s02_wrap .s02 .grid_box .grid_col {
  /* ナンバリングとタイトルのラッパー */
}
.s02_wrap .s02 .grid_box .grid_col .grid_title {
  /* ナンバリング (01, 02...) */
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
  margin-bottom: 8px;
}
.s02_wrap .s02 .grid_box .grid_col .grid_title .grid_content p {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #ec862f;
  font-size: 38px;
  line-height: 1.4;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.s02_wrap .s02 .grid_box .grid_col .grid_title {
  /* 各項目の見出し */
}
.s02_wrap .s02 .grid_box .grid_col .grid_title .grid_content2 p {
  font-size: clamp(24px, 23.1471571906px + 0.2006688963vw, 27px);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.04em;
  color: #51221a;
}
@media (min-width: 768px) {
  .s02_wrap .s02 .grid_box .grid_col .grid_title .grid_content2 p br {
    display: none;
  }
}
.s02_wrap .s02 .grid_box .grid_col {
  /* 説明文のコンテンツ */
}
.s02_wrap .s02 .grid_box .grid_col .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #51221a;
}

.s03 {
  padding-top: clamp(86px, 63.2575250836px + 5.3511705686vw, 166px);
  padding-bottom: clamp(92px, 81.1973244147px + 2.5418060201vw, 130px);
  overflow: hidden;
  position: relative;
  background: #ec862f;
  margin-top: -1px;
  border-bottom-left-radius: 80px;
  border-bottom-right-radius: 80px;
}
.s03 .inner {
  padding: 0 2%;
}
@media (min-width: 768px) {
  .s03 .inner {
    max-width: calc(1300px + 12%);
    width: 100%;
    margin: 0 auto;
    padding: 0 6% 0 0;
  }
}
.s03 .inner .grid_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
  align-items: center;
}
@media (min-width: 768px) {
  .s03 .inner .grid_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
  }
}
@media (min-width: 1025px) {
  .s03 .inner .grid_box {
    grid-template-columns: 704fr 469fr;
  }
}
.s03 .inner .grid_box .img_area {
  padding: 0 2%;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .s03 .inner .grid_box .img_area {
    padding: 0 6% 0 0;
  }
}
.s03 .inner .grid_box .img_area img {
  width: 100%;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .s03 .inner .grid_box .img_area img {
    border-radius: unset;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}
.s03 .inner .grid_box {
  /* 全体を囲むエリア */
}
.s03 .inner .grid_box .text_area {
  /* フレックスコンテナ */
  padding: 0 6%;
  position: relative;
}
@media (min-width: 768px) {
  .s03 .inner .grid_box .text_area {
    padding: 0 0 0 6%;
  }
}
.s03 .inner .grid_box .text_area > * {
  position: relative;
  z-index: 1;
}
.s03 .inner .grid_box .text_area .text_flex {
  display: flex;
  flex-direction: column-reverse;
}
.s03 .inner .grid_box .text_area .text_flex .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s03 .inner .grid_box .text_area .text_flex .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
.s03 .inner .grid_box .text_area .text_flex .text_wrap {
  /* 英語のサブタイトル */
}
.s03 .inner .grid_box .text_area .text_flex .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #fff;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s03 .inner .grid_box .text_area .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(32px, 28.0200668896px + 0.9364548495vw, 46px);
  margin-bottom: 40px;
  font-weight: bold;
}
.s03 .inner .grid_box .text_area .content {
  margin-bottom: 40px;
}
.s03 .inner .grid_box .text_area .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(16px, 14.8628762542px + 0.2675585284vw, 20px);
  line-height: 2;
  color: #fff;
  font-weight: 500;
}
.s03 .inner .grid_box .text_area .main_button p {
  background: #fff;
  color: #51221a;
  border: 1px solid #fff;
}
.s03 .inner .grid_box .text_area .main_button p::after {
  color: #51221a;
}
.s03 .inner .grid_box .text_area .main_button p:hover {
  color: #fff;
  background: #fab832;
  border: 1px solid #fab832;
}
.s03 .inner .grid_box .text_area .main_button p:hover::after {
  color: #fff;
}

.s04 {
  padding-top: clamp(82px, 64.3745819398px + 4.1471571906vw, 144px);
  overflow: hidden;
  position: relative;
}
.s04::after {
  top: 0;
  right: 6%;
  width: clamp(283px, 202.5484949833px + 18.9297658863vw, 566px);
  height: clamp(205px, 146.4381270903px + 13.779264214vw, 411px);
  position: absolute;
  content: "";
  background: url(/system_panel/uploads/images/top_food_bg.png) no-repeat;
  background-size: cover;
}
.s04 .inner {
  position: relative;
  padding: 0 6%;
}
@media (min-width: 768px) {
  .s04 .inner {
    max-width: calc(1250px + 12%);
    width: 100%;
    margin: 0 auto;
    padding: 0 6%;
  }
}
.s04 .inner .grid_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
  align-items: center;
}
@media (min-width: 768px) {
  .s04 .inner .grid_box {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
  }
}
@media (min-width: 1025px) {
  .s04 .inner .grid_box {
    grid-template-columns: 656fr 512fr;
  }
}
.s04 .inner .grid_box .img_area {
  padding: 0 2%;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .s04 .inner .grid_box .img_area {
    padding: 0 6% 0 0;
  }
}
.s04 .inner .grid_box .img_area img {
  width: 100%;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .s04 .inner .grid_box .img_area img {
    border-radius: unset;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}
.s04 .inner .grid_box {
  /* 全体を囲むエリア */
}
.s04 .inner .grid_box .text_area {
  /* フレックスコンテナ */
  padding: 0 2%;
  position: relative;
}
@media (min-width: 768px) {
  .s04 .inner .grid_box .text_area {
    padding: 0;
  }
}
.s04 .inner .grid_box .text_area > * {
  position: relative;
  z-index: 1;
}
.s04 .inner .grid_box .text_area .text_flex {
  display: flex;
  flex-direction: column-reverse;
}
.s04 .inner .grid_box .text_area .text_flex .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s04 .inner .grid_box .text_area .text_flex .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
.s04 .inner .grid_box .text_area .text_flex .text_wrap {
  /* 英語のサブタイトル */
}
.s04 .inner .grid_box .text_area .text_flex .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s04 .inner .grid_box .text_area .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #51221a;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(28px, 22.8829431438px + 1.2040133779vw, 46px);
  margin-bottom: 24;
  font-weight: bold;
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
@media (min-width: 768px) {
  .s04 .inner .grid_box .text_area .title_jp {
    font-size: clamp(28px, 16px + 1.5625vw, 46px);
  }
}
.s04 .inner .grid_box .text_area .content {
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s04 .inner .grid_box .text_area .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  line-height: 2;
  color: #51221a;
  font-weight: 500;
}
.s04 .inner .grid_box .text_area .main_button {
  display: block;
}
.s04 .inner .grid_box .text_area .main_button:first-of-type {
  margin-bottom: 24px;
}

.s05 {
  padding-top: clamp(80px, 66.9230769231px + 3.0769230769vw, 126px);
  padding-bottom: clamp(80px, 64.0802675585px + 3.745819398vw, 136px);
  overflow: hidden;
  position: relative;
}
.s05::after {
  top: clamp(50px, 30px + 2.6041666667vw, 80px);
  left: -200px;
  width: clamp(275px, 197.6755852843px + 18.1939799331vw, 547px);
  height: clamp(310px, 222.7257525084px + 20.5351170569vw, 617px);
  position: absolute;
  content: "";
  background: url(/system_panel/uploads/images/top_lunch_bg.png) no-repeat;
  background-size: contain;
}
.s05 .inner {
  position: relative;
  padding: 0 6%;
}
@media (min-width: 768px) {
  .s05 .inner {
    max-width: calc(1250px + 12%);
    width: 100%;
    margin: 0 auto;
    padding: 0 6%;
  }
}
.s05 .inner .grid_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column-reverse;
  row-gap: 60px;
  align-items: center;
  -moz-column-gap: 37px;
       column-gap: 37px;
}
@media (min-width: 768px) {
  .s05 .inner .grid_box {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: center;
  }
}
@media (min-width: 1025px) {
  .s05 .inner .grid_box {
    grid-template-columns: 552fr 569fr;
  }
}
.s05 .inner .grid_box .img_area {
  padding: 0 2%;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .img_area {
    padding: 0;
  }
}
.s05 .inner .grid_box .img_area img {
  width: 100%;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .img_area img {
    border-radius: unset;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}
.s05 .inner .grid_box {
  /* 全体を囲むエリア */
}
.s05 .inner .grid_box .text_area {
  /* フレックスコンテナ */
  padding: 0 2%;
  position: relative;
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .text_area {
    padding: 0;
  }
}
.s05 .inner .grid_box .text_area > * {
  position: relative;
  z-index: 1;
}
.s05 .inner .grid_box .text_area .text_flex {
  display: flex;
  flex-direction: column-reverse;
}
.s05 .inner .grid_box .text_area .text_flex .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s05 .inner .grid_box .text_area .text_flex .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
.s05 .inner .grid_box .text_area .text_flex .text_wrap {
  /* 英語のサブタイトル */
}
.s05 .inner .grid_box .text_area .text_flex .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s05 .inner .grid_box .text_area .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #51221a;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(28px, 22.8829431438px + 1.2040133779vw, 46px);
  margin-bottom: 40px;
  font-weight: bold;
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .text_area .title_jp {
    font-size: clamp(28px, 16px + 1.5625vw, 46px);
  }
}
.s05 .inner .grid_box .text_area .order_time {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  color: #51221a;
  background: #fff;
  padding: 16px;
  border-radius: 10px;
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .text_area .order_time {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .s05 .inner .grid_box .text_area .order_time br {
    display: none;
  }
}
.s05 .inner .grid_box .text_area .content {
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s05 .inner .grid_box .text_area .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  line-height: 2;
  color: #51221a;
  font-weight: 500;
}
.s05 .inner .grid_box .text_area .main_button {
  display: block;
}
.s05 .inner .grid_box .text_area .main_button:first-of-type {
  margin-bottom: 24px;
}

.s06 {
  padding-bottom: clamp(90px, 64.4147157191px + 6.0200668896vw, 180px);
  position: relative;
}
.s06::after {
  bottom: -12%;
  right: 6%;
  width: clamp(283px, 202.5484949833px + 18.9297658863vw, 566px);
  height: clamp(205px, 102.3745819398px + 24.1471571906vw, 566px);
  position: absolute;
  content: "";
  background: url(/system_panel/uploads/images/top_banquet_bg.png) no-repeat;
  background-size: cover;
}
.s06 .inner {
  position: relative;
  padding: 0 6%;
}
@media (min-width: 768px) {
  .s06 .inner {
    max-width: calc(1250px + 12%);
    width: 100%;
    margin: 0 auto;
    padding: 0 6%;
  }
}
.s06 .inner .grid_box {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  row-gap: 60px;
  align-items: center;
}
@media (min-width: 768px) {
  .s06 .inner .grid_box {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    align-items: center;
    -moz-column-gap: 66px;
         column-gap: 66px;
  }
}
@media (min-width: 1025px) {
  .s06 .inner .grid_box {
    grid-template-columns: 656fr 512fr;
  }
}
.s06 .inner .grid_box .img_area {
  padding: 0 2%;
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .s06 .inner .grid_box .img_area {
    padding: 0 2% 0 0;
  }
}
.s06 .inner .grid_box .img_area img {
  width: 100%;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .s06 .inner .grid_box .img_area img {
    border-radius: unset;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
  }
}
.s06 .inner .grid_box {
  /* 全体を囲むエリア */
}
.s06 .inner .grid_box .text_area {
  /* フレックスコンテナ */
  padding: 0 2%;
  position: relative;
}
@media (min-width: 768px) {
  .s06 .inner .grid_box .text_area {
    padding: 0;
  }
}
.s06 .inner .grid_box .text_area > * {
  position: relative;
  z-index: 1;
}
.s06 .inner .grid_box .text_area .text_flex {
  display: flex;
  flex-direction: column-reverse;
}
.s06 .inner .grid_box .text_area .text_flex .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s06 .inner .grid_box .text_area .text_flex .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
.s06 .inner .grid_box .text_area .text_flex .text_wrap {
  /* 英語のサブタイトル */
}
.s06 .inner .grid_box .text_area .text_flex .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s06 .inner .grid_box .text_area .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #51221a;
  line-height: 1.4;
  letter-spacing: 0.08em;
  font-weight: bold;
  font-size: clamp(28px, 22.8829431438px + 1.2040133779vw, 46px);
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  font-weight: bold;
}
.s06 .inner .grid_box .text_area .content {
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s06 .inner .grid_box .text_area .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  line-height: 2;
  color: #51221a;
  font-weight: 500;
}
.s06 .inner .grid_box .text_area .main_button {
  display: block;
}
.s06 .inner .grid_box .text_area .main_button:first-of-type {
  margin-bottom: 24px;
}

/* セクション07 全体 */
.s07 {
  padding-bottom: clamp(95px, 80.7859531773px + 3.3444816054vw, 145px);
}
.s07 .inner {
  padding: 0 6%;
}
@media (min-width: 768px) {
  .s07 .inner {
    max-width: calc(1315px + 12%);
    width: 100%;
    margin: 0 auto;
  }
}
.s07 .inner .wrap {
  /* グリッドレイアウトのコンテナ */
}
.s07 .inner .wrap .grid_box {
  /* 各グリッドアイテム（カラム） */
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 24px;
}
@media (min-width: 768px) {
  .s07 .inner .wrap .grid_box {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 27px;
         column-gap: 27px;
  }
}
.s07 .inner .wrap .grid_box .grid_col {
  height: clamp(484px, 429.7023411371px + 12.7759197324vw, 675px);
  position: relative;
  display: block;
  /* .box1, .box2 個別の背景やスタイルが必要な場合 */
  border-radius: 20px;
}
.s07 .inner .wrap .grid_box .grid_col.box1 {
  background: url(/system_panel/uploads/images/top_scene_bg.jpg) no-repeat center;
  background-size: cover;
}
.s07 .inner .wrap .grid_box .grid_col.box2 {
  background: url(/system_panel/uploads/images/top_bento_bg.jpg) no-repeat center;
  background-size: cover;
}
.s07 .inner .wrap .grid_box .grid_col {
  /* 上部コンテンツ（タイトル周り） */
}
.s07 .inner .wrap .grid_box .grid_col .ab_top {
  position: absolute;
  left: clamp(24px, 12.9130434783px + 2.6086956522vw, 63px);
  top: clamp(40px, 33.745819398px + 1.4715719064vw, 62px);
}
.s07 .inner .wrap .grid_box .grid_col .ab_top .text_wrap {
  display: flex;
  align-items: center;
  /* 上部のハイライトテキスト */
  margin-bottom: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
  -moz-column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
       column-gap: clamp(18px, 16.2943143813px + 0.4013377926vw, 24px);
}
.s07 .inner .wrap .grid_box .grid_col .ab_top .text_wrap .text_high p {
  padding: 6px 11px;
  background: #fab832;
  border-radius: 4px;
  font-size: clamp(20px, 17.7257525084px + 0.5351170569vw, 28px);
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.4;
  color: #fff;
  font-weight: bold;
}
@media (min-width: 768px) {
  .s07 .inner .wrap .grid_box .grid_col .ab_top .text_wrap .text_high p {
    font-size: clamp(20px, 14.6666666667px + 0.6944444444vw, 28px);
  }
}
.s07 .inner .wrap .grid_box .grid_col .ab_top .text_wrap {
  /* 英語のサブタイトル */
}
.s07 .inner .wrap .grid_box .grid_col .ab_top .text_wrap .title_en p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.02em;
  color: #ec862f;
  text-transform: capitalize;
  font-size: clamp(22px, 20.8628762542px + 0.2675585284vw, 26px);
}
.s07 .inner .wrap .grid_box .grid_col .ab_top .title_jp {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: clamp(24px, 20.0200668896px + 0.9364548495vw, 38px);
  margin-bottom: 40px;
  font-weight: bold;
}
.s07 .inner .wrap .grid_box .grid_col {
  /* 下部コンテンツ（テキストとボタン） */
}
.s07 .inner .wrap .grid_box .grid_col .ab_bottom {
  position: absolute;
  left: clamp(24px, 12.9130434783px + 2.6086956522vw, 63px);
  bottom: clamp(25px, 19.3143812709px + 1.3377926421vw, 45px);
  padding-right: clamp(29px, 18.1973244147px + 2.5418060201vw, 67px);
}
.s07 .inner .wrap .grid_box .grid_col .ab_bottom .content {
  margin-bottom: 40px;
}
.s07 .inner .wrap .grid_box .grid_col .ab_bottom .content p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(14px, 13.4314381271px + 0.1337792642vw, 16px);
  line-height: 2;
  color: #fff;
  font-weight: 500;
}
.s07 .inner .wrap .grid_box .grid_col .ab_bottom {
  /* メインのリンクボタン */
}
/* セクション08 全体 */
.s08 {
  padding-bottom: clamp(90px, 30px + 7.8125vw, 180px);
}
.s08 .inner {
  max-width: calc(1266px + 12%);
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .s08 .inner {
    padding: 0 6%;
  }
}
.s08 .inner .box_wrap {
  background: #fff;
  border-radius: 20px;
  padding: clamp(20px, 5.7859531773px + 3.3444816054vw, 70px) clamp(20px, 7.2073578595px + 3.0100334448vw, 65px);
  /* グリッドまたはフレックスのコンテナ（2カラムレイアウト想定） */
}
.s08 .inner .box_wrap .grid_box {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 32px;
}
@media (min-width: 768px) {
  .s08 .inner .box_wrap .grid_box {
    grid-template-columns: 575fr 470fr;
    -moz-column-gap: clamp(35px, 11.6666666667px + 3.0381944444vw, 70px);
         column-gap: clamp(35px, 11.6666666667px + 3.0381944444vw, 70px);
  }
}
.s08 .inner .box_wrap .grid_box {
  /* 画像エリア */
}
.s08 .inner .box_wrap .grid_box .img_area img {
  width: 100%;
}
.s08 .inner .box_wrap .grid_box {
  /* テキストエリア */
}
.s08 .inner .box_wrap .grid_box .text_area {
  /* 英語のサブタイトル */
}
.s08 .inner .box_wrap .grid_box .text_area .title_en {
  margin-bottom: 8px;
}
.s08 .inner .box_wrap .grid_box .text_area .title_en p {
  font-size: clamp(24px, 22.2943143813px + 0.4013377926vw, 30px);
}
.s08 .inner .box_wrap .grid_box .text_area {
  /* 日本語のメインタイトル */
}
.s08 .inner .box_wrap .grid_box .text_area .title_jp {
  margin-bottom: 32px;
  font-size: clamp(29px, 27.5785953177px + 0.3344481605vw, 34px);
}
@media (min-width: 768px) {
  .s08 .inner .box_wrap .grid_box .text_area .title_jp {
    font-size: clamp(24px, 17.3333333333px + 0.8680555556vw, 34px);
  }
}
.s08 .inner .box_wrap .grid_box .text_area {
  /* コンテンツ本文 */
}
.s08 .inner .box_wrap .grid_box .text_area .content {
  margin-bottom: 32px;
}
.s08 .inner .box_wrap .grid_box .text_area .content p {
  font-size: clamp(16px, 13.3333333333px + 0.3472222222vw, 20px);
  font-weight: 500;
  color: #51221a;
}
.s08 .inner .box_wrap .grid_box .text_area {
  /* メインのリンクボタン */
}
/* セクション09（フッター・店舗情報）全体 */
.s09 {
  padding-bottom: clamp(105px, 102.4414715719px + 0.602006689vw, 114px);
}
.s09 .inner {
  /* グリッドコンテナ（テキストエリアとマップエリアの並び） */
  max-width: calc(1166px + 12%);
  width: 100%;
  margin: 0 auto;
  padding: 0 6%;
}
.s09 .inner .grid_box {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 40px;
}
@media (min-width: 768px) {
  .s09 .inner .grid_box {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 44px;
         column-gap: 44px;
  }
}
.s09 .inner .grid_box {
  /* テキスト情報エリア */
}
.s09 .inner .grid_box .grid_col.text_area {
  /* ロゴとSNSアイコンの並び */
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex {
  display: flex;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
  margin-bottom: 34px;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .footer_logo a {
  display: block;
  transition: 0.4s all;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .footer_logo a:hover {
  opacity: 0.7;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .footer_logo a img {
  width: 200px;
  height: auto;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .insta_icon a {
  transition: 0.4s all;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .insta_icon a:hover {
  opacity: 0.7;
}
.s09 .inner .grid_box .grid_col.text_area .logo_flex .insta_icon a img {
  width: 40px;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
}
.s09 .inner .grid_box .grid_col.text_area {
  /* 住所や営業時間などのテーブル風レイアウト */
}
.s09 .inner .grid_box .grid_col.text_area .address_area {
  /* 各行のフレックスコンテナ */
  margin-bottom: 18px;
}
.s09 .inner .grid_box .grid_col.text_area .address_area .address_flex {
  /* 見出し（左側） */
  padding: 16px 0;
  border-bottom: 1px solid #e2e2e2;
}
@media (min-width: 768px) {
  .s09 .inner .grid_box .grid_col.text_area .address_area .address_flex {
    display: flex;
    align-items: center;
    -moz-column-gap: 20px;
         column-gap: 20px;
  }
}
@media (min-width: 768px) {
  .s09 .inner .grid_box .grid_col.text_area .address_area .address_flex .address_head {
    min-width: clamp(80px, 53.3333333333px + 3.4722222222vw, 120px);
  }
}
.s09 .inner .grid_box .grid_col.text_area .address_area .address_flex .address_head p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0.02em;
  color: #51221a;
}
.s09 .inner .grid_box .grid_col.text_area .address_area .address_flex {
  /* 内容（右側） */
}
.s09 .inner .grid_box .grid_col.text_area .address_area .address_flex .address_body p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: normal;
  color: #51221a;
}
.s09 .inner .grid_box .grid_col.text_area .address_area .address_flex .address_body p a {
  color: #51221a;
}
.s09 .inner .grid_box .grid_col.text_area {
  /* メインのリンクボタン */
}
.s09 .inner .grid_box .grid_col.text_area .main_button p {
  margin: 0 auto;
}
@media (min-width: 768px) {
  .s09 .inner .grid_box .grid_col.text_area .main_button p {
    margin: unset;
    margin-left: auto;
  }
}
.s09 .inner .grid_box {
  /* Googleマップエリア */
}
.s09 .inner .grid_box .map_area .c13160 {
  width: 100%;
  height: 100%;
}
.s09 .inner .grid_box .map_area iframe {
  height: clamp(320px, 274.5150501672px + 10.7023411371vw, 480px);
  width: 100%;
}
@media (min-width: 768px) {
  .s09 .inner .grid_box .map_area iframe {
    height: 100%;
  }
}

/* フッター全体 */
.footer {
  /* リンクのフレックスコンテナ（横並びや折り返し調整） */
}
.footer .link_flex {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .footer .link_flex {
    padding: 0;
  }
}
.footer .link_flex {
  flex-direction: column;
  display: flex;
  align-items: center;
  background: #fff;
  justify-content: center;
  -moz-column-gap: clamp(20px, 6.6666666667px + 1.7361111111vw, 40px);
       column-gap: clamp(20px, 6.6666666667px + 1.7361111111vw, 40px);
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .footer .link_flex {
    flex-direction: row;
  }
}
.footer .link_flex a p {
  padding: 10px 0;
}
@media (min-width: 768px) {
  .footer .link_flex a p {
    padding: 20px 0;
  }
}
.footer .link_flex a p {
  color: #51221a;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  transition: 0.4s all;
}
.footer .link_flex a p:hover {
  color: #ec862f;
}
.footer {
  /* コピーライトエリア */
}
.footer .copy_area p {
  padding: 20px;
  background: #ec862f;
  color: #fff;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
}/*# sourceMappingURL=main.css.map */