@charset "UTF-8";
/* 
remedy.css
*/
*, ::before, ::after {
  box-sizing: border-box;
}

html {
  line-sizing: normal;
}

body {
  margin: 0;
}

[hidden] {
  display: none !important;
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.17rem;
}

h4 {
  font-size: 1rem;
}

h5 {
  font-size: 0.83rem;
}

h6 {
  font-size: 0.67rem;
}

h1 {
  margin: 0.67em 0;
}

pre {
  white-space: pre-wrap;
}

hr {
  border-style: solid;
  border-width: 1px 0 0;
  color: inherit;
  height: 0;
  overflow: visible;
}

img, svg, video, canvas, audio, iframe, embed, object {
  display: block;
  vertical-align: middle;
  max-width: 100%;
}

audio:not([controls]) {
  display: none;
}

picture {
  display: contents;
}

source {
  display: none;
}

img, svg, video, canvas {
  height: auto;
}

audio {
  width: 100%;
}

img {
  border-style: none;
}

svg {
  overflow: hidden;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0;
}

html, body, input, textarea {
  font-size: 16px;
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}

html {
  scroll-behavior: smooth;
}

:target {
  scroll-margin-top: 88px;
}

body {
  background: #ffffff;
  color: #3F3826;
  line-height: 1.4;
  overflow-wrap: break-word;
}

a {
  color: #3F3826;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

ul, ol, li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

dl, dt, dd {
  margin: 0;
}

strong {
  font-weight: 400;
}

.for-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .for-sp {
    display: block;
  }
}

.for-sp-narrow {
  display: none;
}
@media screen and (max-width: 480px) {
  .for-sp-narrow {
    display: block;
  }
}

.for-tablet {
  display: none;
}
@media screen and (max-width: 1000px) {
  .for-tablet {
    display: block;
  }
}

.section__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-right: 80px;
  padding-left: 80px;
  transition: padding 0.3s ease;
}
@media screen and (max-width: 750px) {
  .section__inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 480px) {
  .section__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.section__title h2 {
  font-size: 3rem;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .section__title h2 {
    font-size: 2.5rem;
  }
}
.section__title span {
  display: inline-block;
}

header.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  padding: 16px 16px 0;
}

.header__inner {
  display: flex;
  width: 100%;
  max-width: 1200px;
  height: 56px;
  background: white;
  align-items: center;
  justify-content: space-between;
  margin-right: auto;
  margin-left: auto;
  border-radius: 9999px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}

.header__title {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 0 1.25rem 0 1.875rem;
}
@media screen and (max-width: 750px) {
  .header__title {
    gap: 1rem;
    padding-left: 1.5rem;
    padding-right: 0;
  }
}

.header__title-logo {
  display: block;
  width: 5.75rem;
  height: auto;
  transition: width 0.3s ease;
}
@media screen and (max-width: 750px) {
  .header__title-logo {
    width: 3.75rem;
  }
}
.header__title-logo img {
  display: block;
  width: 100%;
  height: auto;
}

.header__title-text {
  font-size: min(2vw, 1.5rem);
  line-height: 1;
}
@media screen and (max-width: 1000px) {
  .header__title-text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 750px) {
  .header__title-text {
    font-size: min(4.1379310345vw, 1.5rem);
  }
}
.header__title-text a {
  color: #3F3826;
  text-decoration: none;
}
@media screen and (hover: hover) {
  .header__title-text a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__title-text a:hover {
    opacity: 0.6;
  }
}

.header__navi {
  display: flex;
  padding-right: 10px;
}

.header__navi-list {
  margin-right: 1.5rem;
  display: flex;
  align-items: center;
  gap: min(1.25vw, 20px);
}
@media screen and (max-width: 1000px) {
  .header__navi-list {
    display: none;
  }
}
.header__navi-list li a {
  display: block;
  font-size: min(1.0714285714vw, 0.9375rem);
}
@media screen and (hover: hover) {
  .header__navi-list li a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__navi-list li a:hover {
    opacity: 0.6;
  }
}

.header__cta-buttons {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 1000px) {
  .header__cta-buttons {
    display: none;
  }
}

.header__cta-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  background: #ED6300;
  color: #ffffff;
  font-size: min(1.6666666667vw, 1.25rem);
  height: 40px;
  padding: 0 1rem 2px;
  border-radius: 9999px;
  white-space: nowrap;
}
@media screen and (hover: hover) {
  .header__cta-button a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__cta-button a:hover {
    opacity: 0.6;
  }
}

.header__navi-toggle {
  display: none;
}
@media screen and (max-width: 1000px) {
  .header__navi-toggle {
    display: block;
  }
}
.header__navi-toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #3F3826;
  border: 0 transparent;
  border-radius: 999px;
  width: 40px;
  height: 0;
  padding-top: 40px;
  overflow: hidden;
  color: transparent;
  position: relative;
  cursor: pointer;
}
@media screen and (hover: hover) {
  .header__navi-toggle {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__navi-toggle:hover {
    opacity: 0.6;
  }
}
.header__navi-toggle:before, .header__navi-toggle:after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: #ffffff;
  position: absolute;
  top: 50%;
  left: 10px;
  transition: transform 0.3s ease;
}
.header__navi-toggle:before {
  transform: translateY(-6px);
  transform-origin: 50% 50%;
}
.header__navi-toggle:after {
  transform: translateY(4px);
  transform-origin: 50% 50%;
}
.is-menu-open .header__navi-toggle:before {
  transform: translateY(-1px) rotate(135deg);
  transform-origin: 50% 50%;
}
.is-menu-open .header__navi-toggle:after {
  transform: translateY(-1px) rotate(-135deg);
  transform-origin: 50% 50%;
}

.header__navi-for-smartphone {
  display: block;
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background: #F6F1E7;
  padding: 88px 40px 40px;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 750px) {
  .header__navi-for-smartphone {
    padding: 88px 20px 20px;
  }
}
@media screen and (max-width: 1000px) {
  .is-menu-open .header__navi-for-smartphone {
    opacity: 1;
    visibility: visible;
    overflow-y: auto;
  }
}

.header__navi-list-for-smartphone {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  gap: 20px;
  row-gap: 0;
}
.header__navi-list-for-smartphone li {
  width: calc((100% - 20px) / 2);
}
@media screen and (max-width: 480px) {
  .header__navi-list-for-smartphone li {
    width: 100%;
  }
}
.header__navi-list-for-smartphone li a {
  display: block;
  text-align: center;
  font-size: 1.125rem;
  padding: 1rem;
  border-bottom: 1px solid #3F3826;
}
@media screen and (hover: hover) {
  .header__navi-list-for-smartphone li a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__navi-list-for-smartphone li a:hover {
    opacity: 0.6;
  }
}

.header__cta-buttons-for-smartphone {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.header__cta-button-for-smartphone {
  width: 100%;
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}
.header__cta-button-for-smartphone a {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  background: #ED6300;
  color: #ffffff;
  font-size: 1.25rem;
  height: 3em;
  padding: 0 1rem 2px;
  border-radius: 9999px;
}
@media screen and (hover: hover) {
  .header__cta-button-for-smartphone a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .header__cta-button-for-smartphone a:hover {
    opacity: 0.6;
  }
}

.section-intro {
  background: #3F3826 url("../img/intro_bg.svg") no-repeat 0 100%;
  background-size: 4520px auto;
  width: 100%;
  height: 760px;
  overflow: hidden;
  padding-right: 80px;
  padding-left: 80px;
  transition: padding 0.3s ease, height 0.3s ease;
}
@media screen and (max-width: 1000px) {
  .section-intro {
    background-color: #F6F1E7;
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 750px) {
  .section-intro {
    height: unset;
    background-size: 1200px auto;
    padding-right: 10px;
    padding-bottom: 16.6666666667%;
  }
}
.section-intro .section__content {
  padding-top: 100px;
  position: relative;
  z-index: 10;
  transition: padding-top 0.3s ease;
}
@media screen and (max-width: 750px) {
  .section-intro .section__content {
    padding-top: 360px;
  }
}
.intro__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

.intro__img-001 {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  transform: translateY(-10%);
  transition: transform 1s ease-in-out;
  border-radius: 0 0 9999px 9999px;
  margin-right: -10.5833333333%;
  width: 73.0833333333%;
  max-width: 877px;
}
@media screen and (max-width: 1000px) {
  .intro__img-001 {
    margin-top: 50px;
  }
}
@media screen and (max-width: 750px) {
  .intro__img-001 {
    margin-right: 18.5833333333%;
    width: 83%;
    min-width: 480px;
  }
}
@media screen and (max-width: 480px) {
  .intro__img-001 {
    margin-right: 5%;
  }
}
.intro__img-001 img {
  display: block;
  width: 100%;
  height: auto;
}
.is_loaded .intro__img-001 {
  transform: translateY(0);
}
@media screen and (max-width: 1000px) {
  .intro__img-001:after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    padding-top: 20px;
    background: linear-gradient(0deg, rgba(225, 238, 245, 0) 0%, rgb(225, 238, 245) 100%);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
  }
}

.intro__img-002 {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transform: translateY(-10%);
  transition: transform 0.8s ease-in-out;
  border-radius: 9999px;
  margin-top: 138px;
  margin-right: -39.5833333333%;
  width: 49.4166666667%;
  max-width: 593px;
}
@media screen and (max-width: 750px) {
  .intro__img-002 {
    margin-right: min(-11.6666666667%, -70px);
    min-width: 300px;
  }
}
.intro__img-002 img {
  display: block;
  width: 100%;
  height: auto;
}
.is_loaded .intro__img-002 {
  transform: translateY(0);
}

.intro__text-001 h1 {
  font-size: 2.625rem;
  font-family: "Shippori Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.48;
  text-shadow: 0 0 16px #f6f1e7, 0 0 16px #f6f1e7, 0 0 16px #f6f1e7, 0 0 16px #f6f1e7, 0 0 16px #f6f1e7, 0 0 16px #f6f1e7, 0 0 4px #f6f1e7;
}
@media screen and (max-width: 750px) {
  .intro__text-001 h1 {
    font-size: min(5.6vw, 2.625rem);
  }
}
.intro__text-001 h1 strong {
  display: block;
  font-size: 4rem;
  font-weight: inherit;
}
@media screen and (max-width: 1000px) {
  .intro__text-001 h1 strong {
    font-size: 6.4vw;
  }
}
@media screen and (max-width: 750px) {
  .intro__text-001 h1 strong {
    font-size: min(8.5333333333vw, 4rem);
  }
}

.intro__text-002 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 10px;
}
.intro__text-002 em {
  font-style: normal;
  border: 1px solid #f6f1e7;
  display: inline-block;
  padding: 0.125em 0.5em;
  font-size: 20px;
  background: #3F3826;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 0.25rem;
}
@media screen and (max-width: 480px) {
  .intro__text-002 em {
    font-size: min(4.1666666667vw, 1.25rem);
  }
}
.intro__text-002 p {
  display: block;
  padding: 1px 9px;
  font-size: 20px;
  border: 1px solid #3F3826;
  background-color: #f6f1e7;
}
@media screen and (max-width: 480px) {
  .intro__text-002 p {
    font-size: min(4.1666666667vw, 1.25rem);
  }
}

.intro__cta {
  margin-top: 1.25rem;
  transition: margin-top 0.3s ease;
}
@media screen and (max-width: 1000px) {
  .intro__cta {
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 750px) {
  .intro__cta {
    margin-top: 1.25rem;
  }
}

.intro__cta-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 750px) {
  .intro__cta-buttons {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

.intro__cta-button {
  width: 100%;
  max-width: 240px;
}
.intro__cta-button a {
  display: block;
  padding: 1.25rem 2rem;
  background-color: #ED6300;
  color: #ffffff;
  font-size: 1.25rem;
  border-radius: 9999px;
  text-align: center;
}
@media screen and (hover: hover) {
  .intro__cta-button a {
    transform: scale(1);
    transform-origin: 50% 50%;
    transition: transform 0.2s ease-in;
  }
}
@media screen and (hover: hover) {
  .intro__cta-button a:hover {
    transform: scale(1.05);
    transform-origin: 50% 50%;
  }
}

.section-concept {
  background-color: #ffffff;
}
.section-concept .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-concept .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-concept .section__title h2 {
  text-align: left;
  line-height: 1.3;
}
.section-concept .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-concept .section__content {
    margin-top: 20px;
  }
}

.concept__text-001 p {
  font-size: 1.25rem;
  line-height: 1.7;
  text-align: left;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .concept__text-001 p {
    font-size: min(5.0890585242vw, 1.25rem);
  }
}
.concept__text-001 p + p {
  margin-top: 1em;
}

.section-needs {
  background-color: #3F3826;
  color: #ffffff;
}
.section-needs .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-needs .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-needs .section__content {
  margin-top: 53px;
}

.needs__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 80px;
  transition: gap 0.3s ease;
}
@media screen and (max-width: 1200px) {
  .needs__list {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .needs__list {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}
.needs__list li {
  flex: 1;
  width: 100%;
  max-width: 290px;
}

.needs__list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.needs__list-item-img {
  display: block;
  margin-right: auto;
  margin-left: auto;
  border-radius: 1.5rem;
  overflow: hidden;
}
.needs__list-item-img img {
  display: block;
  width: 100%;
  height: auto;
}

.needs__list-item-title {
  display: block;
  font-size: 1.125rem;
  text-align: center;
  white-space: nowrap;
  margin-top: 1rem;
  line-height: 1.6;
}
@media screen and (max-width: 1000px) {
  .needs__list-item-title {
    font-size: min(1.125rem, 1.8vw);
  }
}
@media screen and (max-width: 750px) {
  .needs__list-item-title {
    white-space: normal;
    font-size: 1.125rem;
  }
}

.section-solution {
  background: #F6F1E7;
}
.section-solution .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-solution .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-solution .section__content {
  margin-top: 0;
}

.solution__text-001 p {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.7;
}
@media screen and (max-width: 480px) {
  .solution__text-001 p {
    font-size: min(5.0890585242vw, 1.25rem);
  }
}
.solution__text-001 p + p {
  margin-top: 1em;
}
.solution__text-001 strong {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ED6300;
  text-decoration-thickness: 6px;
}

.solution__list-001 {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  transition: gap 0.3s ease;
  margin-top: 40px;
  counter-reset: needsList002;
  transition: gap 0.3s ease;
}
@media screen and (max-width: 1000px) {
  .solution__list-001 {
    gap: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .solution__list-001 {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}
.solution__list-001 li {
  flex: 1;
  width: 100%;
}

.solution__list-001-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 1.5rem;
  background-color: #ffffff;
  padding: 1.125rem 1.5rem 1.5rem;
  color: #3F3826;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .solution__list-001-item {
    padding: 1.25rem;
  }
}
.solution__list-001-item::before {
  counter-increment: needsList002;
  content: counter(needsList002);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 32px;
  font-size: 1.25rem;
  font-weight: 700;
  background-color: #3F3826;
  color: #ffffff;
  margin-bottom: 0.5rem;
  border-radius: 0.25rem;
}

.solution__list-001-item-title {
  display: block;
  width: 100%;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  line-height: 1.5;
  padding-bottom: 6px;
  position: relative;
}
@media screen and (max-width: 1000px) {
  .solution__list-001-item-title {
    white-space: normal;
  }
}
.solution__list-001-item-title strong {
  font-size: 1.5rem;
  font-weight: 700;
}
.solution__list-001-item-title span {
  display: inline-block;
}
.solution__list-001-item-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  background-color: #ED6300;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: scaleX(0);
  transform-origin: 50% 50%;
  transition: transform 0.6s ease;
}
.solution__list-001-item-title.is-inview::after {
  transform: scaleX(1);
}

.solution__list-001-item-text {
  display: block;
  font-size: 1rem;
  margin-top: 0.625rem;
  margin-right: auto;
  margin-left: auto;
}
.solution__list-001-item-text strong {
  font-weight: inherit;
  text-decoration: underline;
  text-decoration-color: #ED6300;
  text-decoration-thickness: 6px;
  text-underline-offset: -2px;
}

.section-memories {
  background-color: #ffffff;
}
.section-memories .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-memories .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-memories .section__title h2 {
  text-align: left;
  line-height: 1.3;
}
@media screen and (max-width: 750px) {
  .section-memories .section__title h2 {
    font-size: min(2.5rem, 9.3023255814vw);
  }
}
.section-memories .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-memories .section__content {
    margin-top: 20px;
  }
}

.memories__text-001 p {
  font-size: 1.125rem;
  line-height: 1.7;
  text-align: left;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .memories__text-001 p {
    font-size: min(4.5801526718vw, 1.125rem);
  }
}
.memories__text-001 p + p {
  margin-top: 1em;
}

.memories__text-002 {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .memories__text-002 {
    margin-bottom: 20px;
  }
}
.memories__text-002 p {
  font-size: 1rem;
  line-height: 1.7;
  text-align: left;
}
.memories__text-002 p + p {
  margin-top: 1em;
}

.memories__img-001 {
  display: block;
  width: 100%;
  overflow: hidden;
  margin: 40px 0;
}
@media screen and (max-width: 750px) {
  .memories__img-001 {
    margin: 30px 0;
  }
}
.memories__img-001 img {
  display: block;
  width: 100%;
  max-width: 800px;
  height: auto;
}

.section-week {
  background: #F6F1E7;
}
.section-week .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-week .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-week .section__title h2 {
  text-align: left;
  line-height: 1.3;
}
.section-week .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-week .section__content {
    margin-top: 20px;
  }
}

.week__list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .week__list {
    flex-direction: column;
    align-items: center;
    gap: 60px;
  }
}
.week__list li {
  flex: 1;
  width: 100%;
}

.week__list-item {
  display: block;
  color: #3F3826;
  height: 100%;
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.week__list-item.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.week__list-item-img {
  display: block;
  border-radius: 0.75rem;
  overflow: hidden;
}
.week__list-item-img img {
  display: block;
  width: 100%;
  height: auto;
}

.week__list-item-title {
  display: block;
  width: 100%;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-top: 0.625rem;
  padding: 0 10px;
}
@media screen and (max-width: 1000px) {
  .week__list-item-title {
    font-size: 2vw;
  }
}
@media screen and (max-width: 750px) {
  .week__list-item-title {
    font-size: 1.25rem;
  }
}
.week__list-item-title span {
  display: inline-block;
}

.week__list-item-text {
  display: block;
  font-size: 1rem;
  margin-top: 0.625rem;
  padding: 0 10px;
}
@media screen and (max-width: 1000px) {
  .week__list-item-text {
    font-size: 1.6vw;
    margin-top: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .week__list-item-text {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}

.week__list-item-note {
  display: block;
  font-size: 0.8125rem;
  margin-top: 0.625rem;
  padding: 0 10px;
}
@media screen and (max-width: 1000px) {
  .week__list-item-note {
    font-size: 1.3vw;
    margin-top: 1vw;
  }
}
@media screen and (max-width: 750px) {
  .week__list-item-note {
    font-size: 0.8125rem;
    margin-top: 0.625rem;
  }
}

.section-flow {
  background-color: #ffffff;
}
.section-flow .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-flow .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-flow .section__content {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .section-flow .section__content {
    margin-top: 40px;
  }
}

.flow__list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 32px;
  counter-reset: flow-counter;
}
@media screen and (max-width: 1000px) {
  .flow__list {
    flex-wrap: wrap;
    row-gap: 48px;
  }
}
@media screen and (max-width: 480px) {
  .flow__list {
    flex-direction: column;
    align-items: center;
    gap: 48px;
  }
}
.flow__list li {
  width: 100%;
  max-width: 296px;
}
@media screen and (max-width: 1000px) {
  .flow__list li {
    width: calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 480px) {
  .flow__list li {
    width: 100%;
    max-width: unset;
  }
}

.flow__list-item {
  display: block;
  position: relative;
  counter-increment: flow-counter;
}
.flow__list-item::before {
  content: counter(flow-counter, decimal-leading-zero);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -1rem;
  left: -1rem;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: #3F3826;
  color: #ffffff;
}

.flow__list-item-img {
  display: block;
  border-radius: 0.75rem;
  overflow: hidden;
}
.flow__list-item-img img {
  display: block;
  width: 100%;
  height: auto;
}

.flow__list-item-title {
  display: block;
  font-size: 1.25rem;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  margin-top: 1rem;
}

.flow__list-item-text {
  display: block;
  font-size: 1rem;
  padding-right: 0.75rem;
  padding-left: 0.75rem;
  margin-top: 0.5rem;
}
.flow__list-item-text strong {
  color: #ED6300;
}

.section-field {
  background-color: #3F3826;
  color: #ffffff;
}
.section-field .section__inner {
  padding-top: 80px;
  padding-bottom: 90px;
  padding-right: 0;
  padding-left: 0;
  max-width: unset;
}
@media screen and (max-width: 750px) {
  .section-field .section__inner {
    padding-top: 60px;
    padding-bottom: 70px;
  }
}
.section-field .section__title {
  padding-right: 80px;
  padding-left: 80px;
}
@media screen and (max-width: 750px) {
  .section-field .section__title {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 480px) {
  .section-field .section__title {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.section-field .section__content {
  margin-top: 64px;
}
@media screen and (max-width: 750px) {
  .section-field .section__content {
    margin-top: 48px;
  }
}
.section-field .swiper-wrapper {
  transition-timing-function: linear !important;
}

.field__list-content-item-img {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 9999px;
}
.field__list-content-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.field__list-content-item-text {
  display: block;
  font-size: min(1.125rem, 1.5vw);
  text-align: center;
  margin-top: 1.5rem;
}
@media screen and (max-width: 1000px) {
  .field__list-content-item-text {
    font-size: min(1rem, 2.1333333333vw);
  }
}
@media screen and (max-width: 480px) {
  .field__list-content-item-text {
    font-size: min(0.875rem, 2.9166666667vw);
  }
}

.section-simulator {
  background: #F6F1E7;
}
.section-simulator .section__inner {
  max-width: 900px;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-simulator .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-simulator .section__content {
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .section-simulator .section__content {
    margin-top: 30px;
  }
}

.simulator__group {
  background: #ffffff;
  padding: 1.5rem;
  border-radius: 1.5rem;
}
.simulator__group + .simulator__group {
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  .simulator__group + .simulator__group {
    margin-top: 10px;
  }
}

.simulator__group-title {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.simulator__group-title-number {
  display: flex;
  min-width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  background: #3F3826;
  color: #ffffff;
  border-radius: 9999px;
  padding: 0 0.5rem;
}

.simulator__group-title-text {
  display: block;
  flex: 1;
  font-size: 1.25rem;
  font-weight: 700;
  font-style: normal;
  margin-top: 1px;
}

.simulator__subgroup-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  background: #3F3826;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
}

.simulator__subgroup-caption {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.7;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(63, 56, 38, 0.25);
}

.simulator__field-list {
  margin: 0.5rem 0 1rem;
}

.simulator__field-item {
  border-bottom: 1px solid rgba(63, 56, 38, 0.25);
  padding-bottom: 0.5rem;
  margin-top: 0.5rem;
}

.simulator__field-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
}

.simulator__field-col-2 {
  display: flex;
  align-items: flex-end;
  gap: 0.125rem;
}

.simulator__input,
.simulator__textarea {
  font-size: 1.25rem;
  padding: 0.25rem;
  border: 1px solid #3F3826;
  border-radius: 0.5rem;
  max-width: 100%;
  background: #ffffff;
}

.simulator__textarea {
  width: 100%;
  height: 180px;
}

.simulator__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 1.25rem;
  min-height: 54px;
  padding: 0.5rem 2.75rem 0.5rem 0.75rem;
  border: 1px solid #3F3826;
  border-radius: 0.5rem;
  width: 100%;
  max-width: 100%;
  background-color: #ffffff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%233F3826' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  background-size: 16px 10px;
}
.simulator__select::-ms-expand {
  display: none;
}

.simulator__count-select {
  width: 5.5rem;
  min-width: 5.5rem;
}

.simulator__field-unit {
  display: block;
  font-size: 0.8125rem;
}

.simulator__field-age {
  font-size: 1rem;
  display: block;
  font-style: normal;
}

.simulator__field-birthdate {
  display: block;
  font-size: 0.875rem;
}

.simulator__schedule-list label,
.simulator__edu-list label,
.simulator__room-list label {
  display: block;
  min-height: 44px;
  padding: 0.5rem 0 0.5rem 2.5rem;
  cursor: pointer;
  position: relative;
}
.simulator__schedule-list label::before,
.simulator__edu-list label::before,
.simulator__room-list label::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border: 1px solid #3F3826;
  border-radius: 9999px;
  background: #ffffff;
  position: absolute;
  top: 8px;
  left: 0;
  transform: translateY(-5px);
}
.simulator__schedule-list label:has(:checked),
.simulator__edu-list label:has(:checked),
.simulator__room-list label:has(:checked) {
  font-weight: 700;
}
.simulator__schedule-list label:has(:checked)::after,
.simulator__edu-list label:has(:checked)::after,
.simulator__room-list label:has(:checked)::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #ED6300;
  position: absolute;
  top: 14px;
  left: 6px;
  transform: translateY(-5px);
}
.simulator__schedule-list input[type=radio],
.simulator__edu-list input[type=radio],
.simulator__room-list input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.simulator__schedule-list label:has(input:focus-visible)::before,
.simulator__edu-list label:has(input:focus-visible)::before,
.simulator__room-list label:has(input:focus-visible)::before {
  outline: 3px solid rgba(237, 99, 0, 0.45);
  outline-offset: 3px;
}
.simulator__schedule-list p + p,
.simulator__edu-list p + p,
.simulator__room-list p + p {
  margin-top: 0.5em;
}
.simulator__schedule-list p:has(#room-count),
.simulator__edu-list p:has(#room-count),
.simulator__room-list p:has(#room-count) {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
.simulator__schedule-list p:has(#room-count) label,
.simulator__edu-list p:has(#room-count) label,
.simulator__room-list p:has(#room-count) label {
  align-items: center;
  padding-left: 0;
  font-weight: 400;
}
.simulator__schedule-list p:has(#room-count) label::before, .simulator__schedule-list p:has(#room-count) label::after,
.simulator__edu-list p:has(#room-count) label::before,
.simulator__edu-list p:has(#room-count) label::after,
.simulator__room-list p:has(#room-count) label::before,
.simulator__room-list p:has(#room-count) label::after {
  display: none;
}
.simulator__schedule-list p:has(#room-count) select,
.simulator__edu-list p:has(#room-count) select,
.simulator__room-list p:has(#room-count) select {
  font-size: 1.25rem;
  padding: 0.5rem 2.75rem 0.5rem 0.75rem;
  border: 1px solid #3F3826;
  border-radius: 0.5rem;
}

.simulator__checkbox-list {
  display: block;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.simulator__checkbox-list .simulator__checkbox-label {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.5rem 0 0.5rem 2.5rem;
  cursor: pointer;
  position: relative;
}
.simulator__checkbox-list .simulator__checkbox-label::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  background: #ffffff;
  position: absolute;
  top: 8px;
  left: 0;
  transform: translateY(-5px);
}
.simulator__checkbox-list .simulator__checkbox-label:has(:checked) {
  font-weight: 700;
}
.simulator__checkbox-list .simulator__checkbox-label:has(:checked)::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.875rem;
  position: absolute;
  top: -5px;
  left: 7px;
  transform: rotate(45deg);
  border: 6px;
  border-color: transparent #ED6300 #ED6300 transparent;
  border-style: solid;
}
.simulator__checkbox-list input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.simulator__checkbox-label:has(input:focus-visible)::before {
  outline: 3px solid rgba(237, 99, 0, 0.45);
  outline-offset: 3px;
}

.simulator__edu-note {
  font-size: 0.875rem;
  margin-top: 1rem;
}

.simulator__price-box table {
  border-collapse: collapse;
  margin-top: 1rem;
}
@media screen and (max-width: 750px) {
  .simulator__price-box table {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .simulator__price-box table tr {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }
}
.simulator__price-box table th, .simulator__price-box table td {
  border: 1px solid rgba(63, 56, 38, 0.25);
  padding: 0.5rem 1rem;
}
@media screen and (max-width: 750px) {
  .simulator__price-box table th, .simulator__price-box table td {
    padding: 0.5rem;
  }
}
.simulator__price-box table th {
  font-size: 0.875rem;
  text-align: left;
  background: #F6F1E7;
}
.simulator__price-box table td {
  width: 220px;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .simulator__price-box table td {
    width: 100%;
  }
}
.simulator__price-box table td strong {
  font-weight: 700;
}

.simulator__warning-box {
  margin-top: 1rem;
}
.simulator__warning-box p {
  color: #cb2d2d;
  font-weight: 700;
  line-height: 1.7;
}
.simulator__warning-box p + p {
  margin-top: 0.5rem;
}

.simulator__note {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.7;
}
.simulator__note + .simulator__note {
  margin-top: 0.5rem;
}

.simulator__button-wrap {
  margin-top: 20px;
}

.simulator__actions {
  display: flex;
  gap: 1rem;
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  .simulator__actions {
    flex-direction: column;
  }
}

.simulator__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: block;
  width: 100%;
  max-width: 300px;
  padding: 1.25rem 2rem;
  background-color: #ED6300;
  color: #ffffff;
  font-size: 1.25rem;
  border: 0 transparent;
  border-radius: 9999px;
  text-align: center;
}
.simulator__button:not(:disabled) {
  cursor: pointer;
}
@media screen and (hover: hover) {
  .simulator__button:not(:disabled) {
    transform: scale(1);
    transform-origin: 50% 50%;
    transition: transform 0.2s ease-in;
  }
}
@media screen and (hover: hover) {
  .simulator__button:not(:disabled):hover {
    transform: scale(1.05);
    transform-origin: 50% 50%;
  }
}
.simulator__button:disabled {
  background-color: #c4bfb2;
  color: #ffffff;
  cursor: not-allowed;
}

.simulator__button--secondary {
  background-color: #ffffff;
  color: #3F3826;
  border: 1px solid #3F3826;
}
.simulator__button--compact {
  max-width: 360px;
  margin-top: 1.5rem;
  padding: 0.875rem 1.5rem;
  font-size: 1rem;
}

.simulator__form--apply {
  padding-top: 98px;
}
.simulator__form--apply .simulator__field + .simulator__field {
  margin-top: 1rem;
  border-top: 1px solid rgba(63, 56, 38, 0.25);
  padding-top: 1rem;
}
.simulator__form--apply .simulator__input,
.simulator__form--apply .simulator__textarea {
  flex: 1;
  padding: 0.5em;
}
.simulator__form--apply .simulator__field-label {
  flex-direction: column;
  align-items: flex-start;
}
.simulator__form--apply .simulator__field-label:not(:first-child) {
  margin-top: 1rem;
}
.simulator__form--apply .simulator__field-label-text {
  display: block;
  font-weight: 700;
}
.simulator__form--apply .simulator__field-label-required {
  display: inline-block;
  background: #ED6300;
  padding: 2px 0.5em;
  font-size: 12px;
  border-radius: 999px;
  margin-left: 0.5em;
  color: #ffffff;
}
.simulator__form--apply .simulator__field-note {
  display: block;
  font-size: 0.875rem;
  line-height: 1.7;
}
.simulator__form--apply .simulator__field-note + .simulator__field {
  margin-top: 1.5rem;
}

.simulator__form-title {
  margin-bottom: 1.5rem;
  scroll-margin-top: 120px;
}
@media screen and (max-width: 750px) {
  .simulator__form-title {
    margin-bottom: 1rem;
  }
}
.simulator__form-title span {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #ED6300;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.simulator__summary-list dt {
  display: block;
  font-weight: 700;
}
.simulator__summary-list dt::after {
  content: ":";
}
.simulator__summary-list dd {
  display: block;
}
.simulator__summary-list dd + dt {
  margin-top: 0.75rem;
}

.simulator__radio-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  row-gap: 0.5rem;
  margin: 0.5rem 0;
}

.simulator__radio-label {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0.5rem 0 0.5rem 2.5rem;
  cursor: pointer;
  position: relative;
}
.simulator__radio-label::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  border: 1px solid #3F3826;
  border-radius: 9999px;
  background: #ffffff;
  position: absolute;
  top: 8px;
  left: 0;
  transform: translateY(-5px);
}
.simulator__radio-label:has(:checked) {
  font-weight: 700;
}
.simulator__radio-label:has(:checked)::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #ED6300;
  position: absolute;
  top: 14px;
  left: 6px;
  transform: translateY(-5px);
}
.simulator__radio-label input[type=radio] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.simulator__radio-label:has(input:focus-visible)::before {
  outline: 3px solid rgba(237, 99, 0, 0.45);
  outline-offset: 3px;
}

details.simulator__subgroup--details {
  border: 1px solid #3F3826;
  border-radius: 0.5rem;
  padding: 1rem;
  margin: 2rem 0;
}

summary.simulator__subgroup--details-title {
  cursor: pointer;
  font-weight: 700;
}

[open] summary.simulator__subgroup--details-title {
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(63, 56, 38, 0.25);
  padding-bottom: 1rem;
}

.simulator__field-buttons {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  row-gap: 0.5rem;
}

.simulator__field-button a {
  display: flex;
  align-items: center;
  min-height: 44px;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  color: #3F3826;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #3F3826;
  border-radius: 9999px;
}
.simulator__field-button a:focus-visible,
.simulator__privacy-note a:focus-visible,
.simulator__error-summary-list a:focus-visible,
.simulator__button:focus-visible,
.simulator__input:focus-visible,
.simulator__textarea:focus-visible,
.simulator__select:focus-visible,
.simulator__form-title:focus-visible {
  outline: 3px solid rgba(237, 99, 0, 0.45);
  outline-offset: 3px;
}

.simulator__fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.simulator__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
@media screen and (max-width: 750px) {
  .simulator__field-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.simulator__field-grid .simulator__field + .simulator__field {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.simulator__child-card .simulator__fieldset {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(63, 56, 38, 0.25);
}
.simulator__conditional-field {
  margin-top: 1rem;
}
.simulator__readonly {
  padding: 0.75rem;
  border-radius: 0.5rem;
  background: #F6F1E7;
}
.simulator__readonly .simulator__field-label-text {
  margin-bottom: 0.25rem;
}
.simulator__error-summary {
  border: 2px solid #cb2d2d;
}
.simulator__error-summary-title {
  color: #cb2d2d;
  font-size: 1.125rem;
  font-weight: 700;
}
.simulator__error-summary-list {
  margin-top: 0.5rem;
}
.simulator__error-summary-list a {
  display: flex;
  align-items: center;
  min-height: 44px;
  color: #cb2d2d;
  text-decoration: underline;
}
.simulator__field-error {
  display: block;
  width: 100%;
  margin-top: 0.375rem;
  color: #cb2d2d;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.7;
}
.simulator__input[aria-invalid=true],
.simulator__textarea[aria-invalid=true],
.simulator__select[aria-invalid=true] {
  border-color: #cb2d2d;
  border-width: 2px;
}
.simulator__privacy-note {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.7;
}
.simulator__privacy-note p + p {
  margin-top: 0.5rem;
}
.simulator__privacy-note a {
  color: #3F3826;
  font-weight: 700;
  text-decoration: underline;
}
.simulator__honeypot {
  display: none !important;
}
.simulator__turnstile {
  margin-top: 1rem;
}
.simulator__result {
  margin-top: 1rem;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (hover: hover) {
  .simulator__field-button a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .simulator__field-button a:hover {
    opacity: 0.6;
  }
}

.section-plans {
  background: #ffffff;
}
.section-plans .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-plans .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.plans__list-title {
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .plans__list-title {
    margin-top: 60px;
  }
}
.plans__section-001 .plans__list-title {
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .plans__section-001 .plans__list-title {
    margin-top: 30px;
  }
}
.plans__list-title h3 {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #ED6300;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.plans__list-001 {
  margin-top: 1.25rem;
}
.plans__list-001 > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}
@media screen and (max-width: 1000px) {
  .plans__list-001 > ul {
    gap: 4.8vw;
  }
}
@media screen and (max-width: 750px) {
  .plans__list-001 > ul {
    grid-template-columns: 1fr;
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
    gap: 20px;
  }
}

.plans__list-001-item {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.plans__list-001-item.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.plans__list-001-item-inner {
  height: 100%;
  background: #fcfaf7;
  border-radius: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(63, 56, 38, 0.25);
  padding: 2rem;
}

.plans__list-001-item-header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.plans__item-code span {
  display: inline-block;
  background-color: #3F3826;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  font-size: 1rem;
}

.plans__item-duration span {
  display: inline-block;
  font-size: 1rem;
  white-space: nowrap;
}

.plans__list-001-item-text {
  margin-top: 0.5rem;
  line-height: 1.7;
}

.plans__item-date span {
  font-size: 24px;
  font-weight: 700;
}

.plans__item-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.plans__item-category span {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  white-space: nowrap;
}

.plans__list-001-item-target {
  border-top: 1px solid rgba(63, 56, 38, 0.25);
  margin-top: 0.75rem;
  padding-top: 0.5rem;
}

.plans__list-001-item-target-item {
  display: flex;
}
.plans__list-001-item-target-item + .plans__list-001-item-target-item {
  margin-top: 8px;
}
.plans__list-001-item-target-item dt {
  width: 5em;
  font-size: 0.875rem;
  padding-top: 0.125rem;
}
.plans__list-001-item-target-item dd {
  flex: 1;
}
.plans__list-001-item-target-item dd ul {
  list-style-type: disc;
  padding-left: 1.125rem;
}
.plans__list-001-item-target-item dd ul li {
  list-style-type: disc;
}

.plans__list-002-caption {
  margin-top: 20px;
  text-align: center;
}

.plans__list-002 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.plans__list-002 > ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
}
@media screen and (max-width: 1000px) {
  .plans__list-002 > ul {
    gap: 4.8vw;
  }
}
@media screen and (max-width: 750px) {
  .plans__list-002 > ul {
    grid-template-columns: 1fr;
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
    gap: 20px;
  }
}

.plans__list-002-item-inner {
  height: 100%;
  background: #fcfaf7;
  border-radius: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(63, 56, 38, 0.25);
  padding: 2rem;
}
@media screen and (max-width: 750px) {
  .plans__list-002-item-inner {
    max-width: 340px;
    margin: 0 auto;
  }
}

.plans__list-002-item-label {
  text-align: center;
}
.plans__list-002-item-label span {
  display: inline-block;
  vertical-align: top;
  border-bottom: 3px solid rgba(63, 56, 38, 0.25);
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
}

.plans__list-002-item-price {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
}

.plans__note {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.plans__note small {
  font-size: 0.875rem;
}

.plans__buttons {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.25rem;
}

.plans__button a {
  display: block;
  padding: 0.5rem 2rem;
  background-color: #ED6300;
  color: #ffffff;
  border-radius: 9999px;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
}
@media screen and (hover: hover) {
  .plans__button a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .plans__button a:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 750px) {
  .plans__button a {
    font-size: 1rem;
  }
}
.plans__button a strong {
  display: inline-block;
  font-weight: 700;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 0.25em;
}
.plans__button.plans__button-simulator a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.plans__button.plans__button-simulator a::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-image: url(../img/icon-simulator.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media screen and (max-width: 750px) {
  .plans__button.plans__button-simulator a::before {
    width: 2rem;
    height: 2rem;
  }
}

.plans__list-003 {
  margin-top: 1.25rem;
  display: flex;
  justify-content: center;
}
.plans__list-003 dl {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.plans__list-003-item {
  display: flex;
}
.plans__list-003-item dt {
  width: 9em;
  background-color: #f6f1e7;
  padding: 0.625rem 0.625rem;
  font-size: 0.875rem;
}
.plans__list-003-item dd {
  flex: 1;
  padding: 0.5rem 1rem;
}

.section-venue {
  background: #F6F1E7;
}
.section-venue .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-venue .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-venue .section__title h2 {
  text-align: left;
  line-height: 1.3;
}
@media screen and (max-width: 750px) {
  .section-venue .section__title h2 {
    font-size: min(2.5rem, 9.3023255814vw);
  }
}
.section-venue .section__title .venue__section-title-kerning {
  margin-left: -19px;
}
@media screen and (max-width: 750px) {
  .section-venue .section__title .venue__section-title-kerning {
    margin-left: -19px;
    margin-right: -18px;
  }
}
.section-venue .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-venue .section__content {
    margin-top: 20px;
  }
}

.venue__text-001 p {
  font-size: 1.125rem;
  line-height: 1.7;
  text-align: left;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .venue__text-001 p {
    font-size: min(4.5801526718vw, 1.125rem);
  }
}
.venue__text-001 p + p {
  margin-top: 1em;
}

.venue__content {
  margin-top: 40px;
}
.venue__content + .venue__content {
  margin-top: 80px;
}
@media screen and (max-width: 750px) {
  .venue__content + .venue__content {
    margin-top: 60px;
  }
}

.venue__content-title {
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .venue__content-title {
    margin-bottom: 20px;
  }
}
.venue__content-title h3 {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #ED6300;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.venue__list-001 > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
}
@media screen and (max-width: 1000px) {
  .venue__list-001 > ul {
    gap: 4.8vw;
  }
}
@media screen and (max-width: 750px) {
  .venue__list-001 > ul {
    flex-direction: column;
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
    gap: 20px;
  }
}
.venue__list-001 .venue__list-item-mini {
  width: calc((100% - 48px) / 2);
}
@media screen and (max-width: 750px) {
  .venue__list-001 .venue__list-item-mini {
    width: 100%;
  }
}

.venue__list-002 > ul {
  display: flex;
  gap: 48px;
}
@media screen and (max-width: 1000px) {
  .venue__list-002 > ul {
    flex-direction: column;
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
    gap: 20px;
  }
}
.venue__list-002 .venue__list-item-mini {
  width: calc((100% - 96px) / 3);
}
@media screen and (max-width: 1000px) {
  .venue__list-002 .venue__list-item-mini {
    width: 100%;
  }
}

.venue__list-item-wide {
  width: 100%;
}
.venue__list-item-wide .venue__list-item-inner {
  display: flex;
}
@media screen and (max-width: 1000px) {
  .venue__list-item-wide .venue__list-item-inner {
    flex-direction: column;
  }
}
.venue__list-item-wide .venue__list-item-img {
  width: min((100% - 48px) / 2, 612px);
}
@media screen and (max-width: 1000px) {
  .venue__list-item-wide .venue__list-item-img {
    width: 100%;
  }
}
.venue__list-item-wide .venue__list-item-img .swiper {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .venue__list-item-wide .venue__list-item-img .swiper {
    height: auto;
  }
}
.venue__list-item-wide .venue__list-item-img .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 750px) {
  .venue__list-item-wide .venue__list-item-img .swiper-slide img {
    height: auto;
    -o-object-fit: unset;
       object-fit: unset;
  }
}
.venue__list-item-wide .venue__list-item-content {
  flex: 1;
}

.venue__list-item-inner {
  height: 100%;
  background: #ffffff;
  border-radius: 1.5rem;
  overflow: hidden;
}

.venue__list-item-img {
  display: block;
}

.venue__list-item-content {
  padding: 2rem;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .venue__list-item-content {
    padding: 1.25rem;
  }
}

.venue__list-item-content-title h4 {
  font-size: 24px;
  font-weight: 700;
}

.venue__list-item-content-category {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.625rem;
}

.venue__list-item-content-title-caption {
  display: flex;
  gap: 0.5rem;
}
.venue__list-item-content-title-caption p {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  white-space: nowrap;
}

.venue__list-item-content-code ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.venue__list-item-content-code li {
  background: #3F3826;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  font-size: 0.875rem;
}

.venue__list-item-content-text {
  margin-top: 16px;
  line-height: 1.7;
}
.venue__list-item-content-text ul {
  list-style-type: disc;
  padding-left: 1.125rem;
}
.venue__list-item-content-text ul li {
  list-style-type: disc;
}
.venue__list-item-content-text ul li + li {
  margin-top: 0.25rem;
}
.venue__list-item-content-text > small {
  display: block;
  font-size: 0.8125rem;
  margin-top: 1rem;
}

.venue_list-item-detail {
  margin-bottom: 1rem;
}
.venue_list-item-detail > dt {
  font-size: 14px;
  font-weight: 700;
}
.venue_list-item-detail > dt::after {
  content: "：";
}
.venue_list-item-detail-table-row {
  display: flex;
}
@media screen and (max-width: 1000px) {
  .venue_list-item-detail-table-row {
    flex-direction: column;
  }
}
@media screen and (max-width: 750px) {
  .venue_list-item-detail-table-row {
    flex-direction: row;
  }
}
.venue_list-item-detail-table-row dt {
  width: 7.5em;
}
.venue_list-item-detail-table-row dt::after {
  content: "：";
}
.venue_list-item-detail-table-row dd {
  flex: 1;
}
@media screen and (max-width: 1000px) {
  .venue_list-item-detail-table-row dd {
    padding-left: 1em;
  }
}
@media screen and (max-width: 750px) {
  .venue_list-item-detail-table-row dd {
    padding-left: 0;
  }
}
.venue_list-item-detail-table-row dd small {
  display: block;
}

.section-venue-work {
  background: #ffffff;
}
.section-venue-work .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-venue-work .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-venue-work .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-venue-work .section__content {
    margin-top: 20px;
  }
}
.section-venue-work .venue__list-item-inner {
  border: 1px solid rgba(63, 56, 38, 0.25);
}
.section-venue-work .venue__list-item-content-text p {
  margin-bottom: 1em;
}
.section-venue-work .venue__list-item-content-text a {
  text-decoration: underline;
  text-underline-position: under;
}
@media screen and (hover: hover) {
  .section-venue-work .venue__list-item-content-text a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .section-venue-work .venue__list-item-content-text a:hover {
    opacity: 0.6;
  }
}

.venue-work__text-001 p {
  font-size: 1.125rem;
  line-height: 1.7;
  text-align: center;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1000px) {
  .venue-work__text-001 p {
    font-size: min(1.125rem, 2.1951219512vw);
  }
}
@media screen and (max-width: 750px) {
  .venue-work__text-001 p {
    font-size: 1.125rem;
    text-align: left;
  }
}
@media screen and (max-width: 750px) {
  .venue-work__text-001 p br {
    display: none;
  }
}

.venue__list-003 > ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 1000px) {
  .venue__list-003 > ul {
    flex-direction: column;
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
    gap: 20px;
  }
}

.section-access {
  background-color: #F6F1E7;
}
.section-access .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-access .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-access .section__title h2 {
  text-align: left;
  line-height: 1.3;
}
.section-access .section__title h2 span span {
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .section-access .section__title h2 span span {
    display: inline;
  }
}
.section-access .section__content {
  margin-top: 24px;
}

.access__text-001 p {
  font-size: 1.25rem;
  line-height: 1.7;
  text-align: left;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 480px) {
  .access__text-001 p {
    font-size: min(5.0890585242vw, 1.25rem);
  }
}

.access__block {
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .access__block {
    margin-top: 30px;
  }
}

.access__block-label span {
  display: inline-block;
  padding: 0.25rem 1rem;
  background-color: #3F3826;
  color: #ffffff;
  border-radius: 0.25rem;
  font-size: 1rem;
  letter-spacing: 0.04em;
}

.access__block-title {
  margin-top: 0.5rem;
}
.access__block-title h3 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .access__block-title h3 {
    font-size: 1.5rem;
  }
}

.access__block-text {
  margin-top: 1rem;
}
.access__block-text p {
  font-size: 1rem;
  line-height: 1.8;
}
.access__block-text p + p {
  margin-top: 0.5rem;
}

.access__accordion {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 750px) {
  .access__accordion {
    gap: 0.75rem;
  }
}

.access__schedule-title h4 {
  display: inline-block;
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #ED6300;
  font-size: 1.125rem;
  font-weight: 700;
}

.access__item {
  background-color: #ffffff;
  color: #3F3826;
  border-radius: 1.25rem;
  overflow: hidden;
}

.access__item-header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 1rem;
  padding: 1rem 1rem 1rem 1.25rem;
  position: relative;
  list-style: none;
  cursor: pointer;
}
.access__item-header::-webkit-details-marker {
  display: none;
}
.access__item-header::marker {
  display: none;
}
@media screen and (max-width: 750px) {
  .access__item-header {
    gap: 0.75rem;
  }
}

.access__item-header-inner {
  flex: 1;
}

.access__item-text-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  row-gap: 0.5rem;
}

.access__item-text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.access__item-code {
  flex-shrink: 0;
  display: flex;
  gap: 0.5rem;
}
.access__item-code ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.access__item-code ul li {
  background: #3F3826;
  color: #ffffff;
  padding: 0.25rem 0.5rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
}

.access__item-date span {
  display: block;
  color: #3F3826;
  font-size: 0.8125rem;
  border: 1px solid #3F3826;
  border-radius: 0.25rem;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .access__item-date span {
    font-size: min(0.8125rem, 2.7083333333vw);
  }
}
.access__item-date span:before {
  content: "通園日";
  display: inline-block;
  border-right: 1px solid #3F3826;
  font-style: normal;
  padding: 0.25rem 0.5rem;
  background-color: #F6F1E7;
}
.access__item-date em {
  font-style: normal;
  padding: 0.25rem 0.5rem;
}

.access__item-school-name {
  font-size: 1.125rem;
  font-weight: 700;
  color: #3F3826;
  margin-top: 0.375rem;
}
@media screen and (max-width: 750px) {
  .access__item-school-name {
    font-size: 1rem;
  }
}

.access__item-icon {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .access__item-icon {
    top: 1.25rem;
    right: 0.75rem;
  }
}
.access__item-icon span {
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 600;
  color: #ED6300;
  line-height: 1;
  transition: transform 0.3s ease;
}

.access__item[open] .access__item-icon span {
  transform: rotate(45deg);
}

.access__item-panel {
  overflow: hidden;
}

.access__item-panel-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 1.25rem 1.25rem;
  border-top: 1px solid rgba(63, 56, 38, 0.25);
}
.access__facility {
  margin-bottom: 1.5rem;
}

.access__facility-address {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  row-gap: 0.25rem;
  margin-top: 1rem;
}
@media screen and (max-width: 750px) {
  .access__facility-address {
    flex-direction: column;
    align-items: flex-start;
  }
}
.access__facility-address p {
  flex: 1;
  margin-top: 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.7;
}

.access__facility-map-link a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem 0.4375rem;
  border: 1px solid #3F3826;
  border-radius: 9999px;
  color: #3F3826;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (hover: hover) {
  .access__facility-map-link a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .access__facility-map-link a:hover {
    opacity: 0.6;
  }
}

.access__facility-map-link-icon {
  display: inline-block;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  background-image: url("../img/icon-map.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.access__facility-map-embed {
  margin-top: 1rem;
  border: 1px solid rgba(63, 56, 38, 0.25);
  border-radius: 0.5rem;
  overflow: hidden;
}
.access__facility-map-embed iframe {
  display: block;
  width: 100%;
  filter: sepia(25%);
  transition: filter 0.8s ease;
}
.access__facility-map-embed:hover iframe {
  filter: sepia(0%);
}

.access__stay {
  padding-top: 1.5rem;
}

.access__stay-name {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background-color: #3F3826;
  border-radius: 0.5rem;
}
.access__stay-name h5 {
  color: #ffffff;
  font-size: 0.9375rem;
}

.access__stay-name-main {
  font-weight: 700;
}

.access__stay-name-suffix {
  margin-left: 0.3em;
  font-size: 0.8125rem;
  font-weight: 400;
}

.access__stay-icon {
  display: inline-block;
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/icon-flag.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.access__stay-method {
  margin-top: 1rem;
}
.access__stay-method + .access__stay-method {
  margin-top: 1.5rem;
}

.access__stay-method-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.access__stay-method-title h6 {
  font-weight: 700;
}

.access__method-icon {
  display: inline-block;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.access__method-icon--bus {
  background-image: url("../img/icon-bus.svg");
}

.access__method-icon--car {
  background-image: url("../img/icon-car.svg");
}

.access__method-icon--walk {
  background-image: url("../img/icon-walk.svg");
}

.access__stay-method-list {
  margin-top: 0.5rem;
}
.access__stay-method-list > p {
  color: #3F3826;
  margin-bottom: 0.5rem;
}
.access__stay-method-list ol {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0 0 0 0.25rem;
  padding: 0;
}
.access__stay-method-list li {
  position: relative;
  padding-left: 1.75em;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.5;
}
.access__stay-method-list li::before {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: #ffffff;
  border: 4px solid #3F3826;
  border-radius: 9999px;
  position: absolute;
  top: 0.5em;
  left: 0;
  z-index: 2;
}
.access__stay-method-list li::after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background-color: #ED6300;
  position: absolute;
  top: 0.6em;
  left: 0.5em;
  transform: translateX(-50%);
  z-index: 0;
}
.access__stay-method-list li:last-child::after {
  display: none;
}

.access__stay-method-list-or {
  margin-top: 0.3125rem;
  margin-bottom: 0.3125rem;
  margin-left: 0.3125rem;
  font-size: 0.75rem;
}

.access__stay-method-text {
  margin-top: 0.5rem;
}
.access__stay-method-text p {
  font-size: 0.875rem;
}

.access__section-note {
  margin-top: 2rem;
}
.access__section-note p {
  font-size: 0.8125rem;
  line-height: 1.6;
}

.section-steps {
  background: #ffffff;
}
.section-steps .section__inner {
  max-width: 900px;
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-steps .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-steps .section__content {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .section-steps .section__content {
    margin-top: 40px;
  }
}

.steps__list {
  position: relative;
  counter-reset: stepsList;
}
.steps__list li {
  position: relative;
  z-index: 2;
}
.steps__list li + li {
  margin-top: 40px;
}

.steps__list-item {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 750px) {
  .steps__list-item {
    gap: 20px;
  }
}
.steps__list-item::before {
  content: "";
  display: block;
  width: 6px;
  height: 100%;
  background: rgba(63, 56, 38, 0.25);
  position: absolute;
  top: 40px;
  left: 92px;
  z-index: 0;
}
@media screen and (max-width: 750px) {
  .steps__list-item::before {
    width: 4px;
    left: 48px;
  }
}

.section-steps li:last-child .steps__list-item::before {
  display: none;
}

.steps__list-item-img {
  display: block;
  width: 190px;
  position: relative;
  z-index: 2;
  border-radius: 0.75rem;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .steps__list-item-img {
    width: 100px;
  }
}
.steps__list-item-img img {
  display: block;
}

.steps__list-item-contents {
  display: block;
  flex: 1;
}
.steps__list-item-contents::before {
  counter-increment: stepsList;
  content: "STEP " counter(stepsList, decimal-leading-zero);
  display: inline-block;
  padding: 0.25rem 0.875rem;
  background-color: #3F3826;
  color: #ffffff;
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 0.5rem;
}

.steps__list-item-title {
  display: block;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
}

.steps__list-item-text {
  display: block;
  line-height: 1.6;
}

.steps__list-item-note {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}

.section-faq {
  background: #F6F1E7;
}
.section-faq .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-faq .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-faq .section__content {
  margin-top: 24px;
}
@media screen and (max-width: 750px) {
  .section-faq .section__content {
    margin-top: 20px;
  }
}

.faq__list dl {
  margin: 0;
}

.faq__item {
  background-color: #ffffff;
  border-radius: 1.25rem;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
}
@media screen and (max-width: 750px) {
  .faq__item {
    padding: 1.25rem;
  }
}

.faq__item + .faq__item {
  margin-top: 1rem;
}

.faq__item dt {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
}
.faq__item dt::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background-color: #3F3826;
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
}
.faq__item dt p {
  flex: 1;
  padding-right: 1.625rem;
  position: relative;
}
.faq__item dt p::before, .faq__item dt p::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.75rem;
  right: 0;
  width: 0.875rem;
  height: 2px;
  background-color: #ED6300;
  border-radius: 9999px;
  transform-origin: 50% 50%;
  transition: transform 0.3s ease;
}
.faq__item dt p::before {
  transform: rotate(90deg);
}

.faq__item.is-open dt p::before {
  transform: rotate(0deg);
}
.faq__item.is-open dt p::after {
  transform: rotate(180deg);
}

.faq__item dd {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.faq__item dd::before {
  content: "A";
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border: 3px solid #3F3826;
  border-radius: 9999px;
  color: #3F3826;
  font-size: 0.9375rem;
  font-weight: 700;
  margin-top: 1rem;
}

.faq__item-dd-inner {
  flex: 1;
  margin-top: 1.0625rem;
}
.faq__item-dd-inner p {
  font-size: 1rem;
  line-height: 1.8;
}

.section-cta-001 {
  background-color: #3F3826;
  color: #ffffff;
}
.section-cta-001 .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-cta-001 .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-cta-001 .section__title h2 {
  font-family: "BIZ UDPGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.875rem;
  line-height: 1.08;
}
.section-cta-001 .section__content {
  margin-top: 30px;
}

.cta-001__button {
  text-align: center;
}
.cta-001__button a {
  display: inline-block;
  padding: 1.25rem 2rem;
  background-color: #ED6300;
  color: #ffffff;
  font-size: 1.5rem;
  border-radius: 9999px;
}
@media screen and (hover: hover) {
  .cta-001__button a {
    transform: scale(1);
    transform-origin: 50% 50%;
    transition: transform 0.2s ease-in;
  }
}
@media screen and (hover: hover) {
  .cta-001__button a:hover {
    transform: scale(1.05);
    transform-origin: 50% 50%;
  }
}

.cta-001__note {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 1.875rem;
}
.cta-001__note p {
  font-size: 1.25rem;
  line-height: 1.5;
  text-align: left;
  max-width: 1000px;
}

.section-uservoice {
  background: #F6F1E7;
}
.section-uservoice .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-uservoice .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-uservoice .section__content {
  margin-top: 40px;
}

.uservoice__caption {
  margin-bottom: 1.5rem;
  font-size: 0.9375rem;
  text-align: center;
}

.uservoice__list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 80px;
  transition: gap 0.3s ease;
}
@media screen and (max-width: 1000px) {
  .uservoice__list {
    gap: 40px;
  }
}
@media screen and (max-width: 750px) {
  .uservoice__list {
    flex-direction: column;
    align-items: center;
    gap: 60px;
  }
}
.uservoice__list li {
  width: 100%;
  max-width: 290px;
}
@media screen and (max-width: 750px) {
  .uservoice__list li {
    max-width: unset;
  }
}

.uservoice__list-item {
  display: block;
}

.uservoice__list-item-img {
  display: block;
  width: 100%;
  max-width: 290px;
  margin-right: auto;
  margin-left: auto;
}
.uservoice__list-item-img img {
  display: block;
  width: 100%;
  height: auto;
}

.uservoice__list-item-text {
  display: block;
  font-size: 1.125rem;
  text-align: left;
  margin-top: 1.5rem;
  line-height: 1.7;
}
.uservoice__list-item-text strong {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ED6300;
  text-decoration-thickness: 6px;
}

.section-provider {
  background-color: #ffffff;
}
.section-provider .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-provider .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-provider .section__title h2 {
  font-size: 2.25rem;
}
@media screen and (max-width: 750px) {
  .section-provider .section__title h2 {
    font-size: 2rem;
  }
}
.section-provider .section__content {
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .section-provider .section__content {
    margin-top: 30px;
  }
}

.provider__text-001 p {
  font-size: 1.125rem;
  line-height: 1.7;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .provider__text-001 p {
    text-align: left;
  }
}
@media screen and (max-width: 750px) {
  .provider__text-001 br.for-tablet {
    display: none !important;
  }
}

.provider__text-002 {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.provider__text-002 p {
  font-size: 1rem;
  line-height: 1.7;
}

.provider__buttons {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
@media screen and (max-width: 750px) {
  .provider__buttons {
    flex-direction: column;
    align-items: center;
  }
}

.provider__button a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem 0.875rem 1.5rem;
  color: #3F3826;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #3F3826;
  border-radius: 9999px;
}
@media screen and (hover: hover) {
  .provider__button a {
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
}
@media screen and (hover: hover) {
  .provider__button a:hover {
    opacity: 0.6;
  }
}
.provider__button em {
  display: inline-block;
  background-color: #3F3826;
  color: #ffffff;
  font-size: 0.75rem;
  font-style: normal;
  line-height: 1;
  padding: 0.25rem 0.5rem 0.1875rem;
  border-radius: 9999px;
  vertical-align: top;
}

.section-thanks {
  margin-top: 88px;
  min-height: calc(100vh - 88px - 165px);
}
.section-thanks .section__inner {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .section-thanks .section__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.section-thanks .section__title h2 {
  font-size: 2rem;
}
@media screen and (max-width: 750px) {
  .section-thanks .section__title h2 {
    font-size: 1.75rem;
  }
}
.section-thanks .section__content {
  margin-top: 40px;
}
@media screen and (max-width: 750px) {
  .section-thanks .section__content {
    margin-top: 30px;
  }
}

.thanks__text-001 p {
  font-size: 1rem;
  line-height: 1.7;
  text-align: center;
}
.thanks__text-001 p + p {
  margin-top: 1.5rem;
}
.thanks__text-001 a {
  color: #3F3826;
  font-weight: 700;
  text-decoration: underline;
}
.thanks__flow {
  padding: 1rem;
  border-radius: 0.5rem;
  background: #F6F1E7;
}

.thanks__buttons {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}

.thanks__button a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem 0.875rem 1.5rem;
  color: #3F3826;
  font-size: 1rem;
  font-weight: 700;
  border: 1px solid #3F3826;
  border-radius: 9999px;
}
@media screen and (hover: hover) {
  .thanks__button a {
    transform: scale(1);
    transform-origin: 50% 50%;
    transition: transform 0.2s ease-in;
  }
}
@media screen and (hover: hover) {
  .thanks__button a:hover {
    transform: scale(1.05);
    transform-origin: 50% 50%;
  }
}

.footer {
  background-color: #ffffff;
  border-top: 1px solid rgba(63, 56, 38, 0.25);
}

.footer__inner {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding-right: 80px;
  padding-left: 80px;
  transition: padding 0.3s ease;
}
@media screen and (max-width: 750px) {
  .footer__inner {
    padding-right: 40px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 480px) {
  .footer__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.footer__inner {
  color: #4B5545;
  text-align: center;
  padding-top: 1.125rem;
  padding-bottom: 2.75rem;
}

.footer__text-001 {
  font-size: 1rem;
}

.footer__contact {
  margin-top: 0.875rem;
  font-size: 0.9375rem;
}
.footer__contact a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  overflow-wrap: anywhere;
}

.footer__company-name {
  font-size: 0.9375rem;
}

.footer__copyright {
  margin-top: 1.375rem;
  font-size: 1rem;
}
