@charset "UTF-8";

/* メディアクエリ
==================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

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

img {
  border: none;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  cursor: pointer;
}

input,
button,
textarea,
select {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  color: inherit;
  font-size: 16px;
  font-family: inherit;
}

label {
  cursor: pointer;
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  font: inherit;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

html {
  min-height: 100vh;
}

body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  color: #282828;
  font-weight: 400;
  line-height: 1.6;
  font-family: "Inter", sans-serif;
}

main {
  z-index: 10;
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  overflow: clip;
}

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

a {
  color: inherit;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.inner {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  padding-right: clamp(1.5rem, -1.385rem + 7.692vi, 2rem);
  padding-left: clamp(1.5rem, -1.385rem + 7.692vi, 2rem);
}

.bg__concept {
  background: url(../img/bg_concept.webp) no-repeat center center/cover;
}

.btn {
  color: #FFF;
  text-align: center;
}

.btn a {
  display: grid;
  z-index: 10;
  position: relative;
  place-items: center;
  width: 60%;
  max-width: 250px;
  min-height: 5.1rem;
  margin-inline: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-radius: 6px;
  background: #413F40;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 2.24px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.btn a::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 2.2rem;
  height: 2.2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/btn_plus.webp) no-repeat center center/contain;
  content: "";
}

.btn__more a {
  display: grid;
  position: relative;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 181px;
  min-height: 5.3rem;
  padding: 0.3em 2.3rem;
  border: 1px solid #282828;
  border-radius: calc(infinity * 1px);
  letter-spacing: 2.24px;
}

.btn__more span {
  padding-right: 1em;
}

.btn__more a::after {
  position: absolute;
  top: 50%;
  right: 2.8rem;
  width: 9px;
  height: 9px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_diagonal.webp) no-repeat center center/contain;
  content: "";
}

.pankuz {
  padding-top: 1rem;
  background: #F8F6F1;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
}

.pankuz.pankuz__white {
  background: initial;
}

.pankuz.pankuz__order {
  background: #E5E0D1;
}

.pankuz.pankuz__concept {
  background: rgba(248, 246, 241, 0.8);
}

.pankuz__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 160%;
}

.pankuz a {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
  font-size: 1.2rem;
  line-height: 1;
  text-transform: uppercase;
}

.pankuz a.home {
  margin-left: initial;
}

.post {
  margin-left: 1rem;
}

.pankuz .current-item {
  margin-left: 0.5rem;
  font-size: 1.2rem;
  line-height: 1;
}

.pankuz .pankuz__arrow {
  display: inline-block;
  margin-top: 3px;
}

.date-year,
.taxonomy,
.post-works-archive {
  margin-left: 1rem;
}

.section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.section__title {
  position: relative;
  font-weight: 700;
}

.section__title-center {
  text-align: center;
}

.section__title-center .section__jp {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.section__title-white {
  color: #FFF;
}

.section__en {
  color: #D4CEBE;
  font-size: 4.5rem;
  line-height: 1.1267605634;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 4.8px;
  text-transform: uppercase;
}

.section__en-30 {
  color: rgba(212, 206, 190, 0.3);
}

.section__en-yellow {
  color: #D79E0F;
}

.section__en-orange {
  color: #368d8a;
}

.section__en-gray {
  color: #EBEBEB;
}

.section__en.section__en-capitalize {
  text-transform: capitalize;
}

.section__jp {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 3.78px;
  text-transform: uppercase;
  white-space: nowrap;
}

.section__jp-mini {
  font-size: clamp(2.4rem, 0.092rem + 6.154vi, 2.8rem);
}

.section__copy {
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 4.34px;
}

.section__text {
  margin-top: 2.5rem;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.8;
  font-family: "Jost", sans-serif;
}

.section__text-mini {
  font-size: 1.6rem;
  line-height: 180%;
}

.section__text-left {
  text-align: left;
}

.text-15 {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2.1;
  letter-spacing: 1px;
}

.text-16 {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 1px;
}

.text-17 {
  font-size: 1.5rem;
  line-height: 1.8823529412;
  letter-spacing: 0.085px;
}

.text-18 {
  font-size: 1.6rem;
  line-height: 180%;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.72px;
}

.aboutBottom {
  padding: 3rem 0;
}

.concept.aboutConcept {
  background: rgba(248, 246, 241, 0.8);
}

.aboutTop {
  padding-top: 4rem;
  padding-bottom: 5rem;
  background: #F8F6F1;
  background: rgba(248, 246, 241, 0.8);
  color: #3F342D;
}

.aboutTop__links {
  display: grid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-inline: calc(50% - 50vi);
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.2857142857;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.aboutTop__link {
  text-align: center;
}

.aboutTop__link a {
  padding: 0 0.6rem;
}

.aboutTop__link a span {
  z-index: 5;
  position: relative;
}

.aboutTop__link.is-active a span::after {
  z-index: -1;
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 105%;
  height: 9px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #ECE6DC;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.aboutTop__link a span::after {
  z-index: -1;
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0%;
  height: 9px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #ECE6DC;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.aboutTop__link a:hover {
  opacity: 1;
}

.aboutTop__link:not(:last-child) a {
  border-right: 1px solid #D0D2D9;
}

.aboutTop__title {
  display: grid;
  margin-top: 4rem;
  gap: 1.1rem;
  text-align: center;
}

.aboutTop__main {
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.1964285714;
  font-family: "Jost", sans-serif;
  letter-spacing: 5.6px;
}

.aboutTop__main::first-letter {
  text-transform: uppercase;
}

.aboutTop__sub {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.1923076923;
  letter-spacing: 5.2px;
}

.aboutTop__text {
  margin-top: 3rem;
  font-size: 1.4rem;
  line-height: 190%;
  letter-spacing: 3.2px;
}

aboutTop.aboutTop__design {
  padding-bottom: 3.5rem;
}

.aboutTop__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  margin-top: 3rem;
  gap: 3rem;
}

.aboutTop__content {
  color: #7A6A56;
}

.aboutTop__house {
  text-align: center;
}

.after.can {
  background: url(../img/bg_after.webp) no-repeat center center/cover;
}

.archive__section {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.archive__container {
  margin-top: 3.1rem;
}

.archive__main {
  max-width: 100%;
}

.archive__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}

.archive__item a {
  display: grid;
  position: relative;
  gap: 1rem;
}

.archive__image {
  aspect-ratio: 1/1;
  width: 100%;
}

.archive__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  /* 画像の中心に合わせる */
}

.archive__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 2rem;
  gap: 0 1.7rem;
  font-weight: 400;
}

.archive__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.archive__category {
  display: grid;
  place-items: center;
  min-height: 2.5rem;
  margin: initial;
  padding: 0.1em 1rem;
  border: 1px solid #3F342D;
  color: #3F342D;
  font-size: 1.2rem;
  line-height: 1.8;
  letter-spacing: 1.04px;
  text-align: center;
}

.archive__time {
  color: #474141;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1;
  line-height: 1.2142857143;
  font-family: "Jost", sans-serif;
  letter-spacing: 1.96px;
}

.archive__title {
  display: -webkit-box;
  overflow: hidden;
  color: #474141;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4666666667;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  margin-top: 1rem;
  letter-spacing: 1.5px;
}

.archive__youtube {
  margin-top: 0.5rem;
}

.archive__bottom {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #ebebeb;
}

.archive__btns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.4rem;
}

.archive__btn a {
  border: 3px solid #3BC2D2;
  background: #FFF;
  color: #3BC2D2;
}

.archive__btn.is-active a {
  background: #3BC2D2;
  color: #FFF;
}

.archive__case .archive__image,
.archive__sales .archive__image {
  aspect-ratio: 353/235;
}

.area {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.area__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4rem;
  gap: 1.5rem;
}

.area__name {
  margin-top: 1.1rem;
  font-weight: 500;
  font-size: 1.364rem;
  line-height: 130%;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}

.baner {
  margin-top: 4rem;
  padding-bottom: 7rem;
}

.baner__items {
  display: grid;
  gap: 2rem;
}

.baner__item {
  aspect-ratio: 355/213;
}

.baner__item a {
  display: inline-block;
  width: 100%;
  height: 100%;
}

.baner__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.benefits {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #F8F6F1;
}

.benefits__container {
  display: grid;
  gap: 2rem;
}

.benefits__image {
  aspect-ratio: 444/358;
}

.benefits__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.benefits__title {
  display: grid;
  gap: 0.8rem;
  color: #3F342D;
}

.benefits__en {
  font-weight: 600;
  font-size: 2.3rem;
  font-family: "Jost", sans-serif;
  letter-spacing: 1.7px;
}

.benefits__jp {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 0.8px;
}

.benefits__description {
  margin-top: 2rem;
  color: #3F342D;
}

.benefits__lists {
  display: grid;
  margin-top: 3rem;
  gap: 2.5rem;
}

.benefits__list {
  display: grid;
  gap: 2.5rem;
}

.benefits__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 4.1rem;
  padding: 0.3em 1rem;
  background: #ECE6DC;
}

.benefits__value {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.85;
  letter-spacing: 1.28px;
}

.bottomCta {
  z-index: 20;
  position: relative;
  padding-top: 7.4rem;
  padding-bottom: 5.4rem;
  background: #51616A;
  background: url(../img/bg_cta.webp) no-repeat center center/cover;
  color: #FFF;
  font-family: "Noto Sans JP", sans-serif;
}

.bottomCta__inner {
  margin-inline: auto;
  padding: 0 15px;
}

.bottomCta__container {
  display: grid;
  gap: 3rem;
}

.bottomCta__title {
  text-align: center;
}

.bottomCta__en {
  font-weight: 300;
  font-size: 3.4rem;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.4px;
  text-transform: uppercase;
}

.bottomCta__jp {
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: 1.04px;
}

.bottomCta__attention {
  font-size: 1.6rem;
  text-align: center;
  stroke-linejoin: 1.7;
  margin-top: 3.1rem;
  letter-spacing: 1.6px;
}

.bottomCta__items {
  display: grid;
  margin-top: 3.9rem;
  gap: 2.9rem;
}

.bottomCta__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.9rem;
}

.bottomCta__company {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 1.6px;
}

.bottomCta__map {
  font-size: 1.356rem;
  line-height: 1.9174041298;
  letter-spacing: 1.4px;
  text-transform: capitalize;
}

.bottomCta__map span {
  position: relative;
}

.bottomCta__map span::after {
  position: absolute;
  top: 50%;
  left: -1.2em;
  width: 1rem;
  height: 1.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_map.svg) no-repeat center center/contain;
  content: "";
}

.bottomCta__info {
  margin-top: 1rem;
  font-size: clamp(1.2rem, 0.046rem + 3.077vi, 1.4rem);
  line-height: 1.8571428571;
  letter-spacing: 1.4px;
  text-align: center;
}

.bottomCta__icon {
  text-align: center;
}

.bottomCta__label {
  margin-top: 2.3rem;
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 1.8px;
  text-align: center;
}

.bottomCta__right .bottomCta__label {
  margin-top: 1.6rem;
}

.bottomCta__contacts {
  display: grid;
  margin-top: 2.2rem;
}

.bottomCta__contact {
  width: 63.5%;
  min-width: 254px;
  margin-inline: auto;
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 1.6px;
}

.bottomCta__contact a {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #FFF;
}

.bottomCta__contact a::after {
  position: absolute;
  top: 50%;
  right: 1.3rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: "";
}

.bottomCta__tel {
  margin-top: 1rem;
  font-size: 3.6rem;
  line-height: 1;
  font-family: "Jost", sans-serif;
  letter-spacing: 4.32px;
  text-align: center;
}

.bottomCta__tel span {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.1428571429;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 1.6px;
  text-align: center;
}

.bottomCta__time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 0.85rem;
  gap: 2.1rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.bottomCta__numbers {
  margin-top: 2.5rem;
  font-size: 2.4rem;
  line-height: 1.5;
  font-family: "Jost", sans-serif;
  letter-spacing: 1.6px;
  text-align: center;
}

.bottomCta__number span {
  display: inline-block;
  margin-right: 5px;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.boxPlus {
  padding: 6rem 0;
  background: #2C4B5E;
}

.boxPlus__container {
  display: grid;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
  margin-left: auto;
  padding: 0 15px;
}

.boxPlus__content {
  color: #FFF;
}

.boxPlus__title {
  position: relative;
  width: 70%;
  margin-left: 2rem;
}

.boxPlus__title::before,
.boxPlus__title::after {
  display: block;
  position: absolute;
  top: -2rem;
  left: -3rem;
  width: 4rem;
  height: 0.4rem;
  background: #FFF;
  content: "";
}

.boxPlus__title::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.boxPlus__text {
  margin-top: 3rem;
}

.boxPlus__icon {
  margin-top: 2.5rem;
}

.boxPlus__items {
  display: grid;
  margin-top: 3rem;
  gap: 3rem;
}

.boxPlus__item {
  position: relative;
}

.boxPlus__image {
  aspect-ratio: 510/348;
}

.boxPlus__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.boxPlus__name {
  display: grid;
  position: absolute;
  bottom: -1.7rem;
  left: 50%;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 15rem;
  min-height: 3.4rem;
  padding: 0.2em 1.5rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 5px;
  background: #FFF;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 2.24px;
  white-space: nowrap;
}

.branchPlan {
  position: relative;
  background: #F9BF2C;
}

.branchPlan::after {
  position: absolute;
  top: 0;
  left: 10%;
  width: 5.8rem;
  height: 8.9rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(../img/topReform_ashirai.webp) no-repeat center center/contain;
  content: "";
}

.branchPlan .plan__btn a {
  background: #E95513;
}

.branchPoint {
  position: relative;
  padding-bottom: 5rem;
  color: #FFF;
}

.branchPoint::after {
  z-index: -1;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 14rem);
  background: #3a9d9a;
  content: "";
}

.branchPoint__inner {
  padding: 0 15px;
}

.branchPoint__container {
  display: grid;
  gap: 3rem;
}

.branchPoint__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.branchPoint__image:first-child {
  margin-top: 3rem;
}

.branchPoint__copy {
  margin-top: 1.5rem;
}

.branchPoint__text {
  margin-top: 1.5rem;
}

.branchPoint__items {
  display: grid;
  margin-top: 5rem;
  gap: 4.5rem;
}

.branchPoint__item {
  display: grid;
  position: relative;
  grid-template-columns: 19.0476190476% 1fr;
  gap: 2rem;
}

.branchPoint__item:not(:last-child):after {
  position: absolute;
  top: 110%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #D9D9D9;
  content: "";
}

.branchPoint__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.3rem;
  font-weight: 700;
}

.branchPoint__sub {
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 1.1875;
  letter-spacing: 1.76px;
}

.branchPoint__main {
  font-size: 2rem;
  line-height: 1.3;
  letter-spacing: 2.2px;
}

.branchPoint__description {
  margin-top: 2rem;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 1.12px;
}

.branchTop__items {
  display: grid;
  position: relative;
}

.branchTop__head {
  position: absolute;
  top: 1.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #FFF;
  font-weight: 600;
  font-size: 2.2rem;
  letter-spacing: 5px;
  white-space: nowrap;
}

.branchTop__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 30rem;
  text-align: center;
}

.branchTop__item:nth-of-type(1) {
  background: #2C4B5E;
  color: #FFF;
}

.branchTop__item:nth-of-type(2) {
  background: #F9BF2C;
}

.branchTop__title {
  display: grid;
  gap: 0.5rem;
}

.branchTop__sub {
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: 1.82px;
}

.branchTop__main {
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 1.2;
  letter-spacing: 3.64px;
}

.branchTop__circles {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.7rem;
  gap: 7px;
}

.branchTop.customizedTop .branchTop__head {
  letter-spacing: 3.64px;
}

.branchTop.customizedTop .branchTop__circle {
  gap: 0.5rem;
}

.branchTop.customizedTop .branchTop__value {
  font-size: 2rem;
}

.branchTop__circle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 10rem;
  height: 10rem;
  border-radius: 100%;
  background: #FFF;
  color: #2C4B5E;
  text-align: center;
}

.branchTop__label {
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 1.82px;
}

.branchTop__value {
  font-weight: 400;
  font-size: 3rem;
  line-height: 1.2;
  letter-spacing: -2.18px;
}

.branchTop__value-sub {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 1.2rem;
}

.branchTop__price {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-bottom: 3px solid #2C4B5E;
  color: #2C4B5E;
  font-weight: 700;
  white-space: nowrap;
}

.branchTop__price .size {
  font-size: 1.4rem;
  letter-spacing: 1.8px;
}

.branchTop__price .price {
  font-size: 4.6rem;
  font-family: "Roboto", serif;
  letter-spacing: 1.34px;
}

.branchTop__price .money {
  font-size: 1.8rem;
  letter-spacing: 1.64px;
}

.branchTop__price .tax {
  font-size: 1.2rem;
  letter-spacing: 1.2px;
}

.branchTop__attention {
  margin-top: 1.2rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
}

.categoryBtn__items {
  display: grid;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-template-columns: repeat(2, 1fr);
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-inline: calc(50% - 50vi);
  gap: 1rem 0;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.2857142857;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.categoryBtn__item {
  text-align: center;
}

.categoryBtn__item a {
  padding: 0 1rem;
}

.categoryBtn__item a span {
  z-index: 5;
  position: relative;
}

.categoryBtn__item.is-active a span::after {
  z-index: -1;
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 105%;
  height: 9px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #EDEDED;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.categoryBtn__item a span::after {
  z-index: -1;
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0%;
  height: 9px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #EDEDED;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.categoryBtn__item a:hover {
  opacity: 1;
}

.categoryBtn__item:not(:last-child) a {
  border-right: 1px solid #D0D2D9;
}

.center-image.--padding {
  padding-bottom: 7rem;
  background: rgba(248, 246, 241, 0.8);
}

.check {
  padding-top: 6rem;
  padding-bottom: 6rem;
  color: #7A6A56;
}

.check__container {
  position: relative;
  padding: 3rem 1.5rem 5rem;
  border: 2px solid #ECE6DC;
}

.check__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: 4.8px;
  -webkit-text-decoration: underline #ECE6DC 9px;
  text-decoration: underline #ECE6DC 9px;
  text-underline-offset: -4px;
}

.check__description {
  margin-top: 1.5rem;
  letter-spacing: 0;
}

.check__items {
  display: grid;
  margin-top: 1.5rem;
  padding-top: 2rem;
  gap: 3rem;
  border-top: 2px solid #ECE6DC;
}

.check__label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.2;
  letter-spacing: 1.6px;
}

.check__lists {
  display: grid;
  margin-top: 1.5rem;
  gap: 1.2rem;
}

.check__list {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 1.6px;
}

.check__list::before {
  position: absolute;
  top: 10%;
  left: 0;
  width: 2.1rem;
  height: 1.8rem;
  background: url(../img/icon_check.webp) no-repeat center center/contain;
  content: "";
}

.check__etc {
  position: absolute;
  right: 3rem;
  bottom: 2rem;
  color: #ECE6DC;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 100%;
  font-family: "Jost", sans-serif;
}

.company {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 6rem;
  background: #F8F6F1;
}

.company__title {
  color: #4C4948;
}

.company__en {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.35;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.6px;
  text-transform: uppercase;
}

.company__jp {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 3.2px;
}

.company__items {
  margin-top: 4rem;
}

.company__item {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 1.5rem 0;
  gap: 1rem;
  color: #4C4948;
}

.company__item:not(:first-child) {
  border-top: 1px solid #D4CEBE;
}

.company__item:last-child {
  border-bottom: 1px solid #D4CEBE;
}

.company__label {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: "Zen Kaku Gothic New", serif;
}

.company__value {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 1.6px;
}

.concept {
  z-index: 2;
  position: relative;
  padding-top: 5rem;
  padding-bottom: 6rem;
  background: #F8F6F1;
  color: #3F342D;
}

.concept__inner {
  padding: 0 15px;
}

.concept__container {
  display: grid;
  gap: 3rem;
}

.concept__image {
  aspect-ratio: 920/742;
}

.concept__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.concept__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.concept__title {
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 5.2px;
  text-align: center;
}

.concept__text {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 180%;
  text-align: center;
}

.concept__items {
  display: grid;
  margin-top: 3rem;
  gap: 7px;
}

.concept__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: centetr;
  -webkit-align-items: centetr;
  -ms-flex-align: centetr;
  align-items: centetr;
  gap: 1.2rem;
  font-size: 1.4rem;
  line-height: 180%;
  letter-spacing: 1.92px;
}

.concept__label {
  font-weight: 700;
  text-transform: uppercase;
}

.concept__value {
  line-height: 180%;
}

.concept__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
}

.concept__btn a {
  display: grid;
  place-items: center;
  width: 18rem;
  min-height: 5rem;
  border: 1px solid #3F342D;
  color: #3F342D;
  font-size: 1.4rem;
  line-height: 1.75;
  font-family: "Jost", sans-serif;
  letter-spacing: 2.24px;
  text-transform: uppercase;
}

.concept__btn span {
  position: relative;
  padding-right: 1.5em;
}

.concept__btn span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 1rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  border-right: 1px solid #3F342D;
  border-bottom: 1px solid #3F342D;
  content: "";
}

.contact__heading {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.2222222222;
  text-align: left;
}

.contactForm {
  padding-top: 5.8rem;
  padding-bottom: 8rem;
  color: #474141;
}

.contactForm__head {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.6315789474;
  letter-spacing: 5.32px;
  text-align: center;
}

.contactForm__text {
  margin-top: 2rem;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 1.6px;
  text-align: center;
}

.contactForm__text-attention {
  margin-top: 5rem;
}

.contactForm__flows {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3.5rem;
  gap: 10rem;
}

.contactForm__flow {
  display: grid;
  position: relative;
  place-items: center;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #F2F2F2;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.contactForm__flow.is-active {
  background: #474141;
  color: #F2F2F2;
}

.contactForm__flow:nth-child(2)::before,
.contactForm__flow:nth-child(2)::after {
  position: absolute;
  top: 50%;
  width: 9.5rem;
  height: 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #132041;
  content: "";
  opacity: 0.25;
}

.contactForm__flow:nth-child(2)::before {
  left: 105%;
}

.contactForm__flow:nth-child(2)::after {
  right: 105%;
}

.contactForm__attention {
  color: #D24123;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 3.2857142857;
  letter-spacing: 1.96px;
}

.contactForm__thanks {
  padding-bottom: 5rem;
}

.contactForm__sub {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5555555556;
}

.contactForm__items {
  display: grid;
  margin-top: 1.5rem;
  margin-inline: auto;
  gap: 1.9rem;
}

.contactForm__item {
  display: grid;
  gap: 1rem;
}

.contactForm__item-top {
  padding-top: 9px;
  border-top: 1px solid #A6AAAE;
}

.contactForm__labels {
  padding-top: 9px;
  border-top: 1px solid #A6AAAE;
}

.contactForm__labels-not {
  border-top: initial;
}

.contactForm__wrapper-reserve .contactForm__labels-not {
  padding-top: initial;
}

.contactForm__wrapper-confirm .contactForm__labels {
  padding-top: initial;
  border-top: initial;
}

.contactForm__wrapper-confirm .contactForm__item {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.contactForm__wrapper-confirm .contactForm__answer {
  padding: 1rem;
  background: #F2F2F2;
}

.contactForm__labels label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 1.6px;
}

.contactForm__required {
  display: grid;
  place-items: center;
  width: 4.2rem;
  min-height: 2.2rem;
  background: #D71618;
  color: #FFF;
  font-size: 1.3rem;
  line-height: 1.6923076923;
  letter-spacing: 1.3px;
}

.contactForm__answer {
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 1.6px;
}

.contactForm__answer .member {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.6rem;
}

.contactForm__answer .adult select,
.contactForm__answer .child select {
  width: 5.1rem;
  padding: 1rem;
  font-size: 1.6rem;
  letter-spacing: 1.6px;
}

.contactForm__answer .adult,
.contactForm__answer .child {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.4rem;
}

.contactForm__time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
}

.contactForm__time .--time {
  position: relative;
  width: 12rem;
}

.contactForm__time .--time::after {
  position: absolute;
  top: 50%;
  right: 1.8rem;
  width: 1.2rem;
  height: 1.2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_select.svg) no-repeat center center/contain;
  content: "";
}

.contactForm__info {
  margin-top: 1.3rem;
  font-size: 1.3rem;
  line-height: 190%;
  letter-spacing: 1.3px;
}

.contactForm__answer-address {
  display: grid;
  gap: 2.8rem;
}

.contactForm__serch {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 2em;
  gap: 1.6rem;
}

.contactForm__serch::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "〒";
  font-size: 1.6rem;
}

.contactForm__serch-btn {
  display: grid;
  place-items: center;
  width: 15rem;
  min-height: 5rem;
  background: #474141;
  color: #FFF;
  font-size: 1.6rem;
  line-height: 1.75;
  letter-spacing: 0;
}

input[type=text].contactForm__zipcode {
  width: 34.6405228758%;
  width: 12.7rem;
}

.contactForm__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 6rem;
  gap: 2rem;
}

.contactForm__btns .contactForm__btn {
  margin-top: initial;
}

.contactForm__btns .contactForm__btn input {
  width: 16rem;
}

.contactForm__btn {
  margin-top: 5.5rem;
  text-align: center;
}

.contactForm__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.contactForm__btn input {
  display: grid;
  place-items: center;
  width: 25rem;
  min-height: 5.5rem;
  background: #474141;
  color: #FFF;
  font-size: 1.6rem;
  line-height: 1.5;
}

.contactForm__btn-return input {
  border: 1px solid #51616A;
  background: #FFF;
  color: #51616A;
}

.contacForm__thanks {
  width: 90%;
  margin-top: 3rem;
  margin-inline: auto;
  font-size: 1.6rem;
}

.contacForm__return {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 5rem;
}

.contactForm__bottom {
  margin-top: 5rem;
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.65px;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=date],
select,
textarea {
  width: 100%;
  height: 4.4rem;
  min-height: 4.4rem;
  padding: 0.5em 2rem;
  border-radius: 2px;
  background: #F2F2F2;
  color: #282828;
}

input[type=date] {
  width: 18rem;
}

textarea {
  height: 18rem;
}

::-webkit-input-placeholder {
  color: #A6AAAE;
}

::-moz-placeholder {
  color: #A6AAAE;
}

:-ms-input-placeholder {
  color: #A6AAAE;
}

::-ms-input-placeholder {
  color: #A6AAAE;
}

::placeholder {
  color: #A6AAAE;
}

.wpcf7-list-item {
  margin: initial;
}

/* チェックボックスとラジオボタンここから */
.wpcf7-form-control.wpcf7-radio,
.wpcf7-form-control.wpcf7-checkbox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 1.4em;
  font-size: 1.6rem;
  line-height: 1.75;
  text-align: center;
}

/* チェック前のradioボタン */
.wpcf7-list-item-label::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.7rem;
  height: 1.7rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: 1px solid #767676;
  border-radius: 100%;
  /* ラジオボタンっぽく丸くする */
  background: #FFF;
  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  /* 色をじんわり変化させる */
}

/* チェック後のボタン */
input[type=radio]:checked+.wpcf7-list-item-label::before,
input[type=checkbox]:checked+.wpcf7-list-item-label::before {
  background-color: #7A6A56;
  /* チェック後の中心の色 */
  -webkit-box-shadow: inset 0px 0px 0px 2px #FFF;
  box-shadow: inset 0px 0px 0px 2px #FFF;
  /* 中心の色のスタイル */
}

div.wpcf7 .wpcf7-spinner {
  display: none !important;
}

/* チェック後のcheckbox */
/* チェックボックスとラジオボタンここまで */
.cta {
  position: relative;
  padding-top: 10rem;
  padding-bottom: 6.6rem;
}

.cta__container {
  position: relative;
  max-width: 1290px;
  margin-inline: auto;
  padding: 6rem 1.5rem 4rem;
  border-radius: 20px;
  background: #F8F6F1;
  text-align: center;
}

.cta__house {
  position: absolute;
  top: -8.6rem;
  left: 50%;
  width: 16rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.cta__main {
  margin-top: 4rem;
}

.cta__price {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  border-bottom: 3px solid #282828;
  white-space: nowrap;
}

.cta__price {
  font-weight: 700;
}

.cta__price .size {
  font-size: 1.4rem;
  letter-spacing: 1.8px;
}

.cta__price .price {
  font-size: 4.6rem;
  font-family: "Roboto", serif;
  letter-spacing: 1.34px;
}

.cta__price .money {
  font-size: 1.8rem;
  letter-spacing: 1.64px;
}

.cta__price .tax {
  font-size: 1.2rem;
  letter-spacing: 1.2px;
}

.cta__attention {
  margin-top: 1.2rem;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
}

.cta__btns {
  display: grid;
  max-width: 51.6rem;
  margin-top: 4rem;
  margin-inline: auto;
  gap: 4rem;
}

.cta__btn a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 10.6rem;
  border-bottom: 4px solid #728592;
  background: #2C4B5E;
  color: #FFF;
}

.cta__btn a::after {
  position: absolute;
  top: 50%;
  right: 5.5rem;
  width: 1.8rem;
  height: 1.8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_cta.svg) no-repeat center center/contain;
  content: "";
}

.cta__btn:nth-child(2) a {
  border-bottom: 4px solid #FFE298;
  background: #F9BF2C;
}

.cta__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1rem;
}

.cta__en {
  color: #A6AFC0;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: 3.96px;
  text-transform: capitalize;
}

.cta__en-white {
  color: #FFF;
}

.cta__jp {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 3.36px;
}

.curriculum {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.curriculum__items {
  display: grid;
  margin-top: 4rem;
  gap: 4rem;
}

.curriculum__item {
  display: grid;
  gap: 1rem;
}

.curriculum__title {
  color: #282828;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4545454545;
  letter-spacing: 1.6px;
}

.curriculum__text {
  color: #999999;
  font-weight: 500;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 1.6px;
}

.curriculum__lists {
  display: grid;
  gap: 1rem;
  color: #3BC2D2;
  font-size: 1.6rem;
  line-height: 160%;
  font-family: "Noto Sans JP", sans-serif;
}

.curriculum__list a {
  position: relative;
  padding-right: 1.5em;
}

.curriculum__list a::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.3rem;
  height: 1.2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_curriculum.webp) no-repeat center center/contain;
  content: "";
}

.customizedAbout {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../img/bg_customizedAbout.webp) no-repeat center center/cover;
}

.customizedAbout__container {
  display: grid;
}

.customizedAbout__content {
  padding: 0 15px;
  color: #FFF;
  font-family: "Noto Serif JP", serif;
}

.customizedAbout__title {
  font-weight: 700;
  font-size: 2.8rem;
  letter-spacing: 9.45px;
}

.cusomizedAbout__texts {
  display: grid;
  margin-top: 3rem;
  gap: 2rem;
}

.customizedAbout__text {
  font-size: 1.4rem;
  line-height: 180%;
  letter-spacing: 1.35px;
}

.customizedAbout__image {
  z-index: 5;
  position: relative;
}

.customizedAbout__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.customizedCta {
  background: rgba(0, 0, 0, 0.3);
}

.customizedCta .cta__container {
  z-index: 4;
  position: relative;
  border-radius: initial;
  background: url(../img/customizedCta_container.webp) no-repeat center center/cover;
}

.customizedCta .cta__title {
  color: #000;
  font-weight: 700;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 3.22px;
}

.customizedCta .cta__main {
  font-family: "Noto Serif JP", serif;
}

.customizedCta .cta__price-customized {
  font-family: "Noto Serif JP", serif;
}

.customizedCta .cta__price-customized .price {
  font-family: "Noto Serif JP", serif;
}

.customizedCta .cta__btn a {
  border-color: #494949;
  background: #000000;
}

.customizedCta .cta__btn:nth-child(2) a {
  border-color: #C8BC93;
  background: #AA985B;
}

.customizedCta .cta__btn a::after {
  background: url(../img/arrow_cta_black.svg) no-repeat center center/contain;
}

.customizedCta .cta__btn:nth-child(2) a::after {
  background: url(../img/arrow_cta_gold.svg) no-repeat center center/contain;
}

.customizedPlan {
  background: url(../img/bg_plan.webp) no-repeat center center/cover;
  color: #FFF;
}

.customizedPlan::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  content: "";
}

.customizedPlan .section__jp {
  font-family: "Noto Serif JP", serif;
}

.customizedPlan .plan__title span::after {
  background: url(../img/arrow_plan_white.svg) no-repeat center center/contain;
}

.customizedPlan .plan__image {
  position: relative;
}

.customizedPlan .plan__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  content: "";
}

.customizedTop {
  margin-top: initial;
  font-family: "Noto Serif JP", serif;
}

.customizedTop .branchTop__head {
  left: 50%;
  color: #FFF;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 3.64px;
}

.customizedTop .branchTop__item:nth-of-type(1) {
  background: #333333;
  color: #FFF;
}

.customizedTop .branchTop__item:nth-of-type(2) {
  background: #AB8F33;
  color: #FFF;
}

.customizedTop .branchTop__price {
  border-bottom: 3px solid #FFF;
  color: #FFF;
}

.customizedTop .branchTop__price .price {
  font-family: "Noto Serif JP", serif;
}

.design__items {
  display: grid;
  padding-top: 5rem;
  padding-bottom: 6rem;
  gap: 4rem;
}

.design__item:nth-child(odd) .design__content {
  padding: 0 15px 0 35px;
}

.design__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.design__content {
  position: relative;
  padding: 0 15px;
}

.design__title {
  font-weight: 500;
  font-size: 2.2rem;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1.4px;
}

.design__description {
  position: relative;
  margin-top: 1.5rem;
}

.design__item:nth-child(1) .design__copy {
  position: absolute;
  top: 0;
  left: 0;
  color: #7A6A56;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8285714286;
  letter-spacing: 10px;
  white-space: nowrap;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.design__lists {
  margin-top: 2rem;
  padding-left: 0.5em;
}

.design__list {
  position: relative;
  padding-left: 1.5em;
}

.design__list::before {
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 1.4rem;
  height: 1.4rem;
  background: #7A6A56;
  content: "";
}

.design__btn {
  margin-top: 3rem;
}

.design__items-cream {
  background: #F8F6F1;
}

.design__mini {
  width: 80%;
  margin-top: 3rem;
}

.design__wrapper {
  margin-top: 2rem;
  border: 1px solid #3F342D;
  color: #000;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
}

.design__wrap {
  display: grid;
  grid-template-columns: 90px 1fr;
  padding: 2rem 1rem;
  gap: 1rem;
}

.design__wrap:not(:first-child) {
  border-top: 1px solid #3F342D;
}

.design__label {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.72px;
}

.design__value {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.72px;
}

.design__value span {
  color: #D74A37;
}

.design__attention {
  margin-top: 1.4rem;
  color: #D74A37;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  text-align: right;
}

.design__name {
  margin-top: -2rem;
  margin-bottom: 2rem;
  padding-right: 5rem;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
  text-align: right;
}

.detail__slider {
  display: grid;
  max-width: 100%;
}

.detail__slide {
  aspect-ratio: 713/493;
  width: 100%;
}

.detail__slide-sub {
  aspect-ratio: 122/85;
  width: 12.2rem;
  width: 100%;
}

.detail__slider .detail__slide img,
.detail__slider .detail__slide-sub img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.splide__slide.is-active .detail__slide-sub {
  border: 2px solid #3BC2D2;
}

.difference {
  padding-top: 10rem;
  padding-bottom: 8rem;
  background: #7A6A56;
  color: #FFF;
}

.difference__container {
  display: grid;
  gap: 3rem;
}

.difference__content {
  position: relative;
  padding: 3rem 1.5rem;
  border: 1px solid #FFF;
}

.difference__content::before {
  position: absolute;
  top: -5rem;
  left: 50%;
  width: 30rem;
  height: 8rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(../img/difference_en.webp) no-repeat center center/contain;
  content: "";
}

.difference__title {
  font-weight: 500;
  font-size: 2rem;
  font-family: "Zen Kaku Gothic New", serif;
  letter-spacing: 3.2px;
}

.difference__description {
  margin-top: 2rem;
  font-family: "Zen Kaku Gothic New", serif;
}

.event .design__item:nth-child(2) .design__content {
  padding: 0 35px 0 15px;
}

.event .design__item:nth-child(2) .design__copy {
  position: absolute;
  top: 0;
  right: 0;
  color: #7A6A56;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8285714286;
  letter-spacing: 10px;
  white-space: nowrap;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.single div#ez-toc-container {
  width: 100%;
  margin-top: 4rem;
  padding: 3rem 1.5rem;
  border: initial;
  border-top: 6px solid #3F342D;
  border-radius: initial;
  background: #F2F2F2;
}

.single div#ez-toc-container .ez-toc-title {
  position: relative;
  padding-left: 5rem;
  color: #474141;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.4545454545;
  letter-spacing: 1.6px;
}

.single div#ez-toc-container .ez-toc-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 4rem;
  height: 4rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_toc.webp) no-repeat center center/contain;
  content: "";
}

.single div#ez-toc-container ul.ez-toc-list {
  margin-top: 3rem;
}

.single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1 {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 1.6px;
}

.single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1 a {
  position: relative;
  padding-left: 1em;
  color: #474141;
}

.single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1 a::before {
  position: absolute;
  top: 1rem;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50%;
  background: #B9A596;
  content: "";
}

.single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1::before {
  display: none;
}

.flow {
  padding-top: 3.5rem;
  padding-bottom: 6rem;
}

.flow__items {
  display: grid;
  position: relative;
  margin-top: 3.1rem;
  gap: 5.9rem;
}

.flow__items::after {
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 80%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(../img/top_flow_line.png) no-repeat center center/cover;
  content: "";
}

.flow__item {
  display: grid;
}

.flow__image {
  display: none;
}

.flow__content {
  padding: 1.8rem 2.8rem 2.4rem;
  border: 2px solid #3BC2D2;
  border-radius: 5px;
  background: #FFF;
}

.flow__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.5rem;
}

.flow__step {
  color: #3BC2D2;
  font-weight: 700;
  font-size: 5rem;
  line-height: 1;
  font-family: "Cantarell", sans-serif;
  text-align: center;
}

.flow__step span {
  display: block;
  font-size: 2rem;
  font-family: "Inter", sans-serif;
  text-transform: uppercase;
}

.flow__title {
  font-weight: 700;
  font-size: clamp(2rem, -0.308rem + 6.154vi, 2.4rem);
  line-height: 146%;
}

.flow__text {
  margin-top: 2.1rem;
  font-weight: 500;
  font-size: clamp(1.6rem, -0.708rem + 6.154vi, 2rem);
  line-height: 170%;
}

.footer {
  position: relative;
  padding-top: 7rem;
  padding-bottom: 3.5rem;
  background: #F8F6F1;
}

.footer__inner {
  padding: 0 30px;
}

.footer__container {
  display: grid;
  max-width: 400px;
  margin-inline: auto;
  gap: 3.6rem;
}

.footer__content {
  color: #3F342D;
}

.footer__logo {
  width: 15.3rem;
  margin-inline: auto;
}

.footer__snss {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 2.6rem;
  gap: 1.5rem;
}

.footer__moc {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 2.24px;
  text-transform: uppercase;
}

.footer__moc::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.9rem;
  height: 1.9rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_human.svg) no-repeat center center/contain;
  content: "";
}

.footer__links {
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 1.6px;
}

.footer__areas {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  width: 90%;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 1.6px;
}

.footer__attention {
  font-size: 1.4rem;
  line-height: 1.5;
}

.footer__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}

.footer__navs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.6rem 1rem;
}

.footer__nav {
  padding-right: 1em;
  padding-left: 1em;
}

.footer__label {
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 2.24px;
  text-transform: uppercase;
}

.footer__label::after {
  position: absolute;
  top: 50%;
  left: -2rem;
  width: 10px;
  height: 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #282828;
  content: "";
}

.footer__items {
  display: grid;
  margin-top: 1rem;
  gap: 1rem;
}

.footer__item {
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  white-space: nowrap;
}

.footer__item-events {
  position: relative;
  padding-left: 1em;
  font-weight: 300;
  letter-spacing: 2.24px;
}

.footer__item-events::before {
  position: absolute;
  top: 50%;
  left: -0.5em;
  width: 10px;
  height: 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #282828;
  content: "";
}

.footer__item a {
  position: relative;
}

.footer__bottom {
  margin-top: 5.4rem;
  color: #A8ADB9;
  font-weight: 500;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 1.4px;
  text-align: center;
}

.footer__sp {
  margin-top: 3.8rem;
}

.footer__sp-inner {
  max-width: 330px;
  margin-inline: auto;
  padding-right: 2rem;
  padding-left: 2rem;
}

.footer__company {
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 1.6px;
}

.footer__map {
  font-size: 1.356rem;
  line-height: 1.9174041298;
  letter-spacing: 1.4px;
  text-transform: capitalize;
}

.footer__map span {
  position: relative;
}

.footer__map span::after {
  position: absolute;
  top: 50%;
  left: -1.2em;
  width: 1rem;
  height: 1.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_map_brown.svg) no-repeat center center/contain;
  content: "";
}

.footer__info {
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 1.4px;
  white-space: nowrap;
}

.footer__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 4rem;
}

.footer__flex-link {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: initial;
  -webkit-justify-content: initial;
  -ms-flex-pack: initial;
  justify-content: initial;
  margin-top: 3.9rem;
  gap: 2.5rem;
}

.footer__tel {
  margin-top: 3.7rem;
  padding-top: 3rem;
  border-top: 1px solid #7D8496;
}

.footer__tel-free {
  font-size: 3.6rem;
  line-height: 1;
  font-family: "Jost", sans-serif;
  letter-spacing: 4.32px;
  text-align: center;
}

.footer__tel-free span {
  display: block;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.1428571429;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 1.5px;
  text-align: center;
}

.footer__time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3px;
  gap: 2.1rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.footer__number {
  margin-top: 1.9rem;
  font-weight: 400;
  font-size: 2.3rem;
  line-height: 1;
  font-family: "Jost", sans-serif;
  letter-spacing: 2.3px;
  text-align: center;
}

.footer__number span {
  display: inline-block;
  margin-right: 5px;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 1.82px;
  text-transform: uppercase;
}

.fv {
  position: relative;
  width: auto;
  height: 100vh;
  background: #ECE6DC;
}

.fv__inner {
  position: relative;
  height: inherit;
}

.swiper__fv {
  z-index: 5;
  position: relative;
  height: 100vh;
}

.fv__image {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.fv__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  content: "";
}

.fv__image picture {
  display: block;
  height: 100%;
}

.fv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv__content {
  display: flex;
  flex-flow: wrap row;
  justify-content: space-around;
  align-items: end;
  z-index: 10;
  position: absolute;
  top: auto;
  left: auto;
  bottom: 0rem;
  width: 100%;
}

.fv__title {
  color: #FFF;
  font-family: "Jost", sans-serif;
}

.fv__main {
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.3333333333;
  letter-spacing: 1.37px;
  white-space: nowrap;
}

.fv__sub {
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 1.8;
  letter-spacing: 3px;
}

.fv__links {
  width: 87.0646766169%;
  max-width: 35rem;
  margin-inline: auto;
}

.fv__links.u-mobile {
  display: grid;
  z-index: 5;
  position: relative;
  margin-top: -4.5rem;
  gap: 1.8rem;
}

.fv__link {
  max-width: 38rem;
}

.fv__link a {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
}

.fvBranch {
  position: relative;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  z-index: 20;
}

.fvBranch__inner {
  position: relative;
  height: 100%;
}

/* 背景画像 */
.fvBranch__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fvBranch__image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.fvBranch__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 黒透過オーバーレイ */
.fvBranch__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.38);
  z-index: 1;
}

/* テキストコンテンツ */
.fvBranch__content {
  position: absolute;
  bottom: 38rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
  width: 90%;
  max-width: 90rem;
  color: #FFF;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .fvBranch__content {
    bottom: 29rem;
  }
}

.fvBranch__catch {
  margin-bottom: 1.2rem;
  font-size: 1.2rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-family: "Noto Sans JP", sans-serif;
}

.fvBranch__title {
  margin-bottom: 1.2rem;
  font-weight: 700;
  font-size: 5.6rem;
  line-height: 1;
  letter-spacing: 0.14em;
  font-family: "Cantarell", sans-serif;
  text-transform: uppercase;
}

.fvBranch__tagline {
  margin-bottom: 2.8rem;
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-family: "Cantarell", sans-serif;
}

.fvBranch__award {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
}

.fvBranch__award-mark {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.4rem 0.9rem;
  border: 1.5px solid rgba(255, 255, 255, 0.8);
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.2;
  letter-spacing: 0.18em;
  font-family: "Cantarell", sans-serif;
  text-transform: uppercase;
}

.fvBranch__award-by {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  font-family: "Noto Sans JP", sans-serif;
}

.fvSub {
  position: relative;
  color: #FFF;
}

.fvSub__image {
  position: relative;
  height: 20rem;
}

.fvSub__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.fvSub__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.45);
}

.fvSub__inner {
  position: absolute;
  top: 65%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.fvSub__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.8rem;
}

.fvSub__en {
  font-weight: 700;
  font-size: 1.4rem;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 4.8px;
  text-transform: uppercase;
}

.fvSub__jp {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.2;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.fvSub__text {
  position: absolute;
  top: 105%;
  left: 0;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 2;
  font-family: "IBM Plex Sans JP", sans-serif;
}

.fvTopics {
  position: relative;
  padding: 0.8rem;
  border-radius: 2px;
  background: #FFF;
  color: #3F342D;
}

.fvTopics a {
  display: block;
  position: relative;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

.fv__link a::before,
.fv__link a::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-radius: 5px;
  content: "";
  opacity: 0;
  -webkit-transition: width 0.3s, height 0.3s, opacity 0.3s;
  transition: width 0.3s, height 0.3s, opacity 0.3s;
}

.fv__link a::before {
  top: 0;
  left: 0;
  border-top: 5px solid #7A6A56;
  border-left: 5px solid #7A6A56;
}

.fv__link a::after {
  right: 0;
  bottom: 0;
  border-right: 5px solid #7A6A56;
  border-bottom: 5px solid #7A6A56;
}

.fvTopics__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 1rem;
}

.fvInformaton__en {
  font-weight: 500;
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  text-transform: capitalize;
}

.fvTopics__time {
  font-size: 1.1rem;
  line-height: 1.0909090909;
  letter-spacing: 1.28px;
}

.fvTopics__link {
  margin-top: 1.9rem;
}

.fvTopics__info {
  display: grid;
  grid-template-columns: 32.1212121212% 61.5151515152%;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1.4rem;
  gap: 1.4rem;
}

.fvTopics__image {
  aspect-ratio: 106/67;
}

.fvTopics__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.fvTopics__title {
  display: -webkit-box;
  overflow: hidden;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.72px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  width: 90%;
  -webkit-line-clamp: 3;
}

.graduate {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../img/bg_top_instructor.webp) no-repeat center center/cover;
}

.graduate__items {
  display: grid;
  margin-top: 3rem;
  gap: 5rem;
}

.graduate__item {
  display: grid;
  gap: 1rem;
}

.graduate__image img {}

.graduate__name {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.7230769231;
  letter-spacing: 1.92px;
}

.graduate__text {
  margin-top: 1rem;
}

.guarantee {
  background: url(../img/bg_gurantee.webp) no-repeat center center/cover;
  color: #3F342D;
}

.guarantee__inner {
  padding-top: 5rem;
  padding-bottom: 4rem;
}

.guarantee__title {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.2;
  letter-spacing: 3.5px;
  text-align: center;
}

.guarantee__items {
  display: grid;
  margin-top: 3rem;
  gap: 2rem;
}

.guarantee__item {
  display: grid;
  gap: 2rem;
}

.guarantee__label {
  text-align: center;
}

/* ハンバーガーメニュー */
/*==================================================
　5-2-6 3本線が回転して×に
===================================*/
.hamburger {
  z-index: 10000;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 4.4rem;
  height: 4.4rem;
  margin-left: auto;
  cursor: pointer;
  border: 1.5px solid #FFF;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*ボタン内側*/
.hamburger span {
  display: inline-block;
  position: absolute;
  left: 0.9rem;
  right: auto;
  width: 2.6rem;
  height: 2px;
  background: #FFF;
  -webkit-transition: top 0.4s, -webkit-transform 0.4s, opacity 0.4s;
  transition: top 0.4s, transform 0.4s, opacity 0.4s;
  /*アニメーションの設定*/
}

.hamburger span:nth-of-type(1) {
  top: 1.2rem;
}

.hamburger span:nth-of-type(2) {
  top: calc(50% - 1px);
}

.hamburger span:nth-of-type(3) {
  top: calc(100% - 1.2rem - 2px);
}

/*activeクラスが付与されると線が回転して×になる*/
.hamburger.active span {
  top: calc(50% - 1px);
  left: 0.9rem;
  right: auto;
  width: 2.6rem;
  background: #FFF;
}

.hamburger.active span:nth-of-type(1) {
  top: calc(50% - 1px);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

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

.hamburger.active span:nth-of-type(3) {
  top: calc(50% - 1px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.header__sub .hamburger span {
  background: #FFF;
}

.header {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 7.9rem;
  background: transparent;
  color: #FFF;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  /* 透明度の変化だけにする */
}

/* ----- スクロール後の変化 ----- */
.header.change-color {
  top: 0;
  background: rgba(57, 51, 51, 0.851);
  color: #FFF;
}

.header.change-color .hamburger span {
  background: #FFF;
}

.header.change-color .hamburger.active span {
  background: #FFF;
}

/* ----- 非表示状態 ----- */
.header.is-hidden {
  opacity: 0;
  pointer-events: none;
  /* ヘッダーが見えない間はクリックできないように */
}

.header.header__sub {
  color: #FFF;
}

.header.header__sub.change-color {
  color: #FFF;
}

.header.change-color:has(.headerSp.is-openSP) {
  top: 0;
  width: 100%;
}

.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: inherit;
  padding-right: 2.5rem;
  padding-left: initial;
}

.header__logo {
  z-index: 130;
  position: relative;
  width: 7.9rem;
}

.header__logo a:hover {
  opacity: 1;
}

.header__nav {
  display: none;
}

.header__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: inherit;
  gap: 3rem;
}

.header__item {
  position: relative;
  height: inherit;
}

.header__item a {
  display: grid;
  place-items: center;
  height: inherit;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 2.6px;
}

.headerSp {
  visibility: hidden;
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  padding-bottom: 10rem;
  overflow: scroll;
  background: #3F342D;
  color: #FFF;
  /* これで右に隠す↓↓ */
  opacity: 0;
  -webkit-transition: all 0.5s 0s ease;
  transition: all 0.5s 0s ease;
}

.headerSp.is-openSP {
  visibility: visible;
  z-index: 120;
  opacity: 1;
}

.headerSp__inner {
  margin-top: 12.6rem;
  padding: 0 17px;
}

.headerSp__head {
  margin-top: 7rem;
  color: #FFF;
  font-weight: 700;
  font-size: 3.2rem;
  line-height: 160%;
  text-align: center;
  text-transform: uppercase;
}

.headerSp__wrapper {
  display: grid;
}

.headerSp__content {
  margin-top: 3.5rem;
}

.headerSp__logo {
  width: 11.2rem;
  margin-inline: auto;
}

.headerSp__snss {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
  gap: 1.5rem;
}

.headerSp__links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 2.8rem;
  font-size: 1.4rem;
  line-height: 2.1428571429;
  letter-spacing: 1.6px;
}

.headerSp__menu {
  display: grid;
  gap: 2.5rem;
}

.headerSp__navs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 6rem 5.3rem;
}

.headerSp__navs .headerSp__nav:nth-child(odd) {
  padding-left: 15px;
}

.headerSp__label {
  position: relative;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
  font-family: "Jost", sans-serif;
  letter-spacing: 2.24px;
  text-transform: uppercase;
}

.headerSp__label.--300 {
  font-weight: 300;
}

.headerSp__label::after {
  position: absolute;
  top: 50%;
  left: -2rem;
  width: 10px;
  height: 1px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #FFF;
  content: "";
}

.headerSp__items {
  display: grid;
  margin-top: 1.6rem;
  gap: 1rem;
}

.headerSp__item {
  font-size: 1.4rem;
  line-height: 1.5;
  font-family: "Jost", sans-serif;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.headerSp__item a {
  position: relative;
}

.headerSp__bottom {
  display: none;
}

.headerSp__area {
  margin-top: 2.6rem;
}

.headerSp__area-container {
  padding: 1.2rem 1.8rem 1.6rem;
  border: 1px solid #FFF;
  font-size: 1.4rem;
}

.headerSp__area-title {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.headerSp__area-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.7rem;
  font-size: 1.4rem;
  line-height: 2.1428571429;
}

.headerSp__area-attention {
  margin-top: 5px;
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: right;
}

/* Scroll Down Indicator */
.hero__scroll {
  display: none;
}

.hero__scroll::before {
  z-index: 2;
  position: absolute;
  top: 120%;
  left: 2px;
  width: 1px;
  height: 6.2rem;
  margin: auto;
  background-color: #FFF;
  content: "";
}

.hero__scroll.hero__black {
  color: #FFF;
}

.hero__scroll.hero__black::before {
  background: #FFF;
}

@-webkit-keyframes scrollLineDown {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  45% {
    -webkit-clip-path: inset(0 0 0% 0);
    clip-path: inset(0 0 0% 0);
  }
  55% {
    -webkit-clip-path: inset(0% 0 0 0);
    clip-path: inset(0% 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }
}

@keyframes scrollLineDown {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  45% {
    -webkit-clip-path: inset(0 0 0% 0);
    clip-path: inset(0 0 0% 0);
  }
  55% {
    -webkit-clip-path: inset(0% 0 0 0);
    clip-path: inset(0% 0 0 0);
  }
  100% {
    -webkit-clip-path: inset(100% 0 0 0);
    clip-path: inset(100% 0 0 0);
  }
}

.history {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.history__en {
  color: #BFBFBF;
}

.history__items {
  margin-top: 4rem;
}

.history__item {
  display: grid;
  grid-template-columns: 95px 1fr;
  padding: 1.4rem 1rem;
  gap: 1rem;
  color: #4C4948;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 1.2px;
}

.history__item:nth-child(odd) {
  background: #F8F6F1;
}

.history__year {
  font-weight: 700;
}

.important {
  padding-top: 6rem;
  padding-bottom: 6rem;
  color: #FFF;
}

.important__container {
  padding: 2rem;
  background: #3BC2D2;
}

.important__title {
  display: grid;
  place-items: center;
  width: 100%;
  height: 10rem;
  border: 5px solid #FFF;
}

.important__text {
  margin-top: 3rem;
}

.important__text p {
  font-size: 2rem;
  line-height: 1.5;
}

.important__text p:not(:first-child) {
  margin-top: 2.1rem;
}

.important__text p:last-child {
  margin-top: 1.5rem;
}

/* ラッパー */
.infinity {
  overflow: hidden;
}

/* コンテンツを左右に並べる「トラック」 */
.infinity__track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  /* 中身幅にフィット */
  gap: 1.3rem;
  /* すき間はここで一括 */
  -webkit-animation: infinity-scroll 10s linear infinite;
  animation: infinity-scroll 10s linear infinite;
  will-change: transform;
}

.infinity__wrap {
  width: 36rem;
}

.infinity__wrap img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.infinity__wrap.--center {
  display: grid;
  grid-template-rows: 41.7857142857% 57.0238095238%;
  width: 27.9rem;
  gap: 1rem;
}

.infinity__bouble {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3rem;
}

/* 無限ループのキーフレーム
   トラック幅の50%（=グループ1セット分）だけ左へ動かす */
@-webkit-keyframes infinity-scroll {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes infinity-scroll {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

/* アクセシビリティ：動きを抑制 */
.inspection {
  padding: 6rem 0;
  background: #F8F6F1;
  color: #7A6A56;
}

.inspection__inner {
  position: relative;
}

.inspection__wrapper {
  position: relative;
  max-width: 92%;
  margin-inline: auto;
}

.inspection__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 1.15rem;
}

.inspection__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.75;
  letter-spacing: 3.12px;
}

.inspection__description {
  margin-top: 2rem;
}

.inspection__image {
  aspect-ratio: 360/240;
}

.inspection__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.inspection__graph {
  width: 100%;
  margin-top: 3rem;
}

.inspection__copy {
  position: absolute;
  top: 0;
  left: 0;
  color: #7A6A56;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.8285714286;
  letter-spacing: 15px;
  white-space: nowrap;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.introduction {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.introduction__container {
  display: grid;
  margin-top: 3rem;
  gap: 3rem;
}

.line {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.line__text {
  margin-top: 1.4rem;
  text-align: center;
}

.line__btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.7rem;
  gap: 4rem;
}

.link {
  display: none;
}

.link.is-active {
  visibility: visible;
  opacity: 1;
}

.link__items {
  display: grid;
  gap: 2rem;
}

.map {
  margin-top: 4rem;
  padding: 2rem;
  background: #E7E9EC;
}

.map__item {
  display: grid;
  position: relative;
  grid-template-columns: 22.5% 1fr;
  padding: 2rem 0.7rem;
  border-bottom: 1px solid #BDBDBD;
}

.map__item::after {
  z-index: 2;
  position: absolute;
  bottom: -1px;
  width: 7rem;
  height: 1px;
  background: #132041;
  content: "";
}

.map__label {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.7857142857;
  letter-spacing: 1.6px;
}

.map__value {
  font-size: 1.4rem;
  line-height: 1.7857142857;
  letter-spacing: 1.4px;
}

.map__area {
  aspect-ratio: 654/490;
  margin-top: 2rem;
}

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

.merit.topArchitecture {
  background: url(../img/bg_merit.webp) no-repeat center center/cover;
}

.message {
  padding-top: 5rem;
  padding-bottom: 7rem;
  color: #222;
}

.message__container {
  display: grid;
  gap: 2rem;
}

.message__image img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.message__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.message__en {
  color: #BFBFBF;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2.35;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.6px;
  text-transform: uppercase;
}

.message__jp {
  font-weight: 700;
  font-size: 2.6rem;
  letter-spacing: 3.2px;
}

.message__description {
  margin-top: 1rem;
  line-height: 180%;
}

.message__info {
  width: 14.5rem;
  margin-left: auto;
  padding-top: 5rem;
}

.message__job {
  font-size: 1.4rem;
  line-height: 1.7333333333;
  letter-spacing: 1.5px;
}

.message__name {
  margin-top: 1.5rem;
  font-weight: 500;
  font-family: "Jost", sans-serif;
}

.message__name-jp {
  font-size: 2rem;
  line-height: 1.1428571429;
  letter-spacing: 2.8px;
}

.message__name-en {
  margin-top: 5px;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.method {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.method h3,
.method .wp-block-heading {
  display: grid;
  place-items: center;
  min-height: 5rem;
  padding: 0.2em 1em;
  border-radius: 5px;
  background: #51616A;
  color: #FFF;
  font-weight: 700;
  font-size: 2rem;
  line-height: 160%;
}

.method h3:nth-child(n+2) {
  margin-top: 5rem;
}

.method p {
  margin-top: 2rem;
  color: #000;
  font-size: 1.4rem;
  line-height: 190%;
}

.method p:has(img) {
  text-align: center;
}

.method__container {
  margin-top: 4rem;
}

.mv {
  z-index: 20;
  position: relative;
  width: 100vw;
  height: 100vh;
  height: 100svh;
}

.mv .mv__inner {
  height: inherit;
}

.mv .swiper__mv {
  height: inherit;
}

.mv .swiper-wrapper {
  height: inherit;
}

.mv .swiper-slide {
  height: inherit;
}

.mv .mv__image {
  position: relative;
  height: inherit;
}

.mv .mv__image picture {
  height: inherit;
}

.mv .mv__image img {
  width: 100%;
  height: inherit;
  -o-object-fit: cover;
  object-fit: cover;
}

.mv__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.38);
  content: "";
  z-index: 1;
}

/* Alt text hidden — prevents loop-slide clones from flashing alt text at (0,0) */
.mv .mv__image img {
  color: transparent;
}

.mv__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 2;
  position: absolute;
  top: 12rem;
  right: 2.8rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 1rem;
  color: #FFF;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.mv__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 5.5rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1rem;
  background: rgba(63, 52, 45, 0.7);
  font-weight: 500;
  font-size: 2.6rem;
  line-height: 124%;
  font-family: "Shippori Mincho", serif;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.mv__main-second {
  margin-top: 3.4rem;
}

.mv__sub {
  margin-top: 5px;
  font-size: 1.6rem;
  line-height: 150%;
  font-family: "Cinzel", serif;
}

/* paeination */
.mv .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  bottom: 3rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
}

.mv .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  margin: initial;
  background: rgba(255, 255, 255, 0.15);
  opacity: 1;
}

.mv .swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
  -webkit-transform: initial;
  transform: initial;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
}

.need {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.need__container {
  display: grid;
  margin-top: 3rem;
  gap: 1.5rem;
}

.need__text {
  font-size: 1.6rem;
  line-height: 180%;
}

.need__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 2rem;
}

.need__btn a {
  display: grid;
  position: relative;
  place-items: center;
  width: 23rem;
  min-height: 5.3rem;
  border: 1px solid #282828;
  border-radius: 30px;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 2.24px;
  text-transform: uppercase;
}

.need__btn a::after {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 9px;
  height: 9px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_information.webp) no-repeat center center/contain;
  content: "";
}

.not-found {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.not-found__text {
  font-size: 1.8rem;
}

.not-found__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 4rem;
  text-align: center;
}

.option {
  padding: 6rem 0;
  background: url(../img/bg_option.webp) no-repeat center center/cover;
}

.option__container {
  display: grid;
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
  margin-left: auto;
  padding: 0 15px;
}

.option__content {
  color: #FFF;
}

.option__title {
  position: relative;
  font-size: 2.4rem;
  line-height: 1.537037037;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 3.45px;
}

.option__text {
  margin-top: 3rem;
}

.option__icon {
  margin-top: 2.5rem;
}

.option__items {
  display: grid;
  margin-top: 3rem;
  gap: 3rem;
}

.option__item {
  position: relative;
}

.option__image {
  aspect-ratio: 510/348;
}

.option__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.option__name {
  display: grid;
  position: absolute;
  bottom: -1.7rem;
  left: 50%;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 15rem;
  min-height: 3.4rem;
  padding: 0.2em 1.5rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  border-radius: 5px;
  background: #FFF;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 2.24px;
  white-space: nowrap;
}

.pageTop__btn {
  color: #3F342D;
  font-size: 1.7rem;
  letter-spacing: 2.38px;
  text-transform: uppercase;
}

.pageTop__btn a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding-top: 2.8rem;
  padding-bottom: 2.8rem;
  text-align: center;
}

.pageTop__btn span {
  position: relative;
  padding-right: 2em;
}

.pageTop__btn span::after {
  position: absolute;
  top: 50%;
  right: 2px;
  width: 1rem;
  height: 1rem;
  -webkit-transform: translateY(-50%) rotate(-135deg);
  transform: translateY(-50%) rotate(-135deg);
  border-right: 1px solid #3F342D;
  border-bottom: 1px solid #3F342D;
  content: "";
}

.pageTop__btn span::before {
  position: absolute;
  right: 0;
  bottom: 3px;
  width: 1.4rem;
  height: 1px;
  background: #3F342D;
  content: "";
}

.pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 5rem;
  border-top: 1px solid #EDEDED;
  border-bottom: 1px solid #EDEDED;
  text-align: center;
}

.pagination .total {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #3F342D;
  font-size: 1rem;
  line-height: 1.1538461538;
  letter-spacing: 0.6px;
  pointer-events: none;
}

.page-numbers {
  display: grid;
  place-items: center;
  width: 5.5rem;
  height: 5.5rem;
  background: #FFF;
  color: #3F342D;
  font-weight: 500;
  font-size: 1.4rem;
  font-family: "Jost", sans-serif;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.page-numbers.current {
  background: #EDEDED;
}

.prev,
.next {
  position: relative;
  background: #EDEDED;
  font-weight: 700;
  font-size: 1.4rem;
  font-family: "Jost", sans-serif;
  letter-spacing: 1.6px;
  text-transform: capitalize;
}

.partner {
  position: relative;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.parter__container {
  position: relative;
  margin-top: 5rem;
}

.parter__container::after {
  z-index: -2;
  position: absolute;
  top: -15rem;
  left: 30%;
  width: 40rem;
  height: 30rem;
  background: url(../img/partner_blue.png) no-repeat center center/contain;
  content: "";
}

.partner__content {
  position: relative;
  margin-top: 2rem;
}

.partner__image {
  margin-top: 2rem;
}

.partner__title {
  display: grid;
  place-items: center;
  width: 90%;
  min-height: 5.5rem;
  margin-top: 3.5rem;
  margin-inline: auto;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border-radius: 40px;
  background: #3BC2D2;
  color: #FFF;
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.04em;
  text-align: center;
}

.partner__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4rem;
  gap: 1.5rem;
}

.partner__item {
  display: grid;
  gap: 2rem;
}

.performance {
  color: #3F342D;
}

.performance__wrap {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.performance__wrap:nth-child(1) {
  background: #F8F6F1;
}

.performance__inner {
  position: relative;
  padding-left: 3.5rem;
}

.performance__items {
  display: grid;
  gap: 3rem;
}

.performance__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.75;
}

.performance__title.--margin {
  margin-top: 2rem;
}

.performance__text {
  margin-top: 1.5rem;
  letter-spacing: 1.28px;
}

.performance__image {
  margin-top: 3rem;
}

.performance__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
  gap: 2rem;
}

.performance__flex .performance__image {
  margin-top: initial;
}

.performance__flex .performance__image p {
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 1.4px;
}

.performance__grid {
  display: grid;
  margin-top: 2rem;
  gap: 3rem;
}

.performance__grid img {
  margin-top: 1.5rem;
}

.performance__grid .performance__text {
  margin-top: 6px;
}

.performance__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 4.1rem;
  padding: 0.3em 1rem;
  background: #ECE6DC;
}

.performance__attention {
  margin-top: 6px;
  font-size: 1.2rem;
  line-height: 1.8333333333;
  letter-spacing: 0.62px;
}

.performance__copy {
  position: absolute;
  top: 0;
  left: 0;
  color: #7A6A56;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8285714286;
  letter-spacing: 10px;
  white-space: nowrap;
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
}

.philosophy {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: url(../img/philosophy_bg.png) no-repeat center center/cover;
}

.philosophy__text {
  margin-top: 4rem;
  color: #FFF;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}

.phone {
  padding-bottom: 6rem;
}

.phone__container {
  margin-top: 2.8rem;
  padding: 3rem 2rem;
  border-radius: 54px;
  background: -webkit-gradient(linear, left top, left bottom, from(#5190ed), to(#1167e7));
  background: linear-gradient(to bottom, #5190ed 0%, #1167e7 100%);
  color: #FFF;
  font-weight: 700;
  text-align: center;
}

.phone__number {
  padding-left: 1em;
  font-size: 3.4rem;
}

.phone__number span {
  position: relative;
}

.phone__number span::before {
  position: absolute;
  top: 50%;
  left: -4.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "TEL";
  font-size: 2rem;
}

.phone__fax {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: 1rem;
  gap: 2rem;
  border-bottom: 2px solid #FFF;
  font-size: 2.4rem;
}

.phone__fax span {
  font-size: 1.8rem;
}

.phone__time {
  margin-top: 2.2rem;
  font-size: 1.8rem;
  line-height: 1.5;
}

.plan {
  position: relative;
  padding: 5rem 0;
}

.plan__inner {
  z-index: 5;
  position: relative;
}

.plan__text {
  margin-top: 2rem;
}

.plan__items {
  display: grid;
  margin-top: 3rem;
  gap: 5.4rem 3rem;
  gap: 3rem;
}

.plan__title {
  position: relative;
  margin-top: 1rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 1px;
}

.plan__title span {
  position: relative;
  padding-right: 2rem;
}

.plan__title span::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1.8rem;
  height: 1.8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_plan.svg) no-repeat center center/contain;
  content: "";
}

.plan__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 4rem;
}

.plan__btn a {
  background: #AA985B;
  color: #FFF;
  text-transform: capitalize;
}

.privacy {
  padding-top: 6rem;
  padding-bottom: 6rem;
  color: #222;
}

.privacy__top {
  letter-spacing: 1.92px;
}

.privacy__items {
  display: grid;
  margin-top: 3rem;
  gap: 2rem;
}

.privacy__label {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 3px;
}

.privacy__value {
  letter-spacing: 1.92px;
}

.privacy__info {
  margin-top: 2rem;
  letter-spacing: 1.92px;
}

.qa {
  padding-bottom: 6rem;
}

.qa__container {
  display: grid;
  gap: 3rem;
}

.qa__wrapper {
  display: grid;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  gap: 5rem;
}

.qa__lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1rem 2.2rem 2rem;
  gap: 0 2rem;
  border: 5px;
  background: #FFF;
}

.qa__list {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 160%;
}

.qa__list a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px dashed #DBDBDB;
}

.qa .topQa__item {
  padding: 0.7rem 1rem;
}

.qa .topQa__question {
  font-weight: 500;
}

.qa .topQa__flex span {
  color: #3BC2D2;
}

.qualification {
  padding-bottom: 6rem;
}

.qualification__attention {
  font-size: 1.6rem;
  line-height: 170%;
  text-align: center;
}

.qualification__wrapper {
  display: grid;
  margin-top: 4rem;
  gap: 6rem;
}

.qualification__items {
  display: grid;
  margin-top: 4rem;
  gap: 2rem;
}

.qualification__item {
  position: relative;
}

.qualification__item a {
  display: inline-block;
  position: relative;
}

.qualification__image {
  position: relative;
  aspect-ratio: 345/198;
  width: 100%;
}

.qualification__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.qualification__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  content: "";
}

.qualification__arrow {
  position: absolute;
  top: 25%;
  left: 1.5rem;
  width: 7.8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.qualification__title {
  position: absolute;
  top: 20%;
  left: 70%;
  width: clamp(25rem, 10.651rem + 38.265vi, 40rem);
  color: #FFF;
  font-weight: 500;
  letter-spacing: 0.8px;
}

.qualification__en {
  font-size: 3.6rem;
}

.qualification__wrap:nth-child(2) .qualification__en {
  font-size: 1.6rem;
}

.qualification__wrap:nth-child(2) .qualification__jp {
  margin-top: 0.5rem;
}

.qualification__jp {
  font-size: 1.2rem;
}

.qualificationAbout__container {
  display: grid;
  margin-top: 1rem;
  padding: 2rem 1.3rem;
  gap: 2rem;
  background: #FFF;
}

.qualificationAbout__image {
  width: 50%;
  margin-inline: auto;
}

.qualificationAbout__text {
  font-size: 1.6rem;
  line-height: 170%;
}

.qualificationCan {
  padding-top: 5rem;
  padding-bottom: 8rem;
  background: url(../img/bg_qualification_can.webp) no-repeat center center/cover;
}

.qualificationDetail {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../img/bg_top_instructor.webp) no-repeat center center/cover;
}

.qualificationDetail__items {
  display: grid;
  margin-top: 3rem;
  gap: 5rem;
}

.qualificationDetail__item {
  display: grid;
  gap: 1rem;
}

.qualificationDetail__image img {}

.qualificationPoint {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.qualificationPoint .topQa__item {
  padding: 0.7rem 1rem;
}

.qualificationPoint .topQa__flex span {
  color: #3BC2D2;
}

.qualificationQa {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.reason {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.reason .section__jp {
  color: #222;
}

.reason__items {
  display: grid;
  margin-top: 4rem;
  gap: 4rem;
}

.reason__item {
  display: grid;
  gap: 1.5rem;
}

.reason__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.2em 2rem;
  background: #51616A;
  color: #FFF;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 160%;
}

.reason__text {
  color: #000;
  font-size: 1.4rem;
  line-height: 190%;
}

.reason__text span {
  font-weight: 700;
  font-size: 2rem;
  line-height: 180%;
}

.recommend__heading {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4545454545;
  letter-spacing: 1.6px;
}

.recommend__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
  gap: 2rem;
}

.recommend__image {
  aspect-ratio: 260/260;
}

.recommend__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.recommend__label {
  margin-top: 1rem;
}

.recommend__time {
  color: #898FA0;
  font-size: 1.2rem;
  line-height: 1.2142857143;
  letter-spacing: 2.24px;
}

.recommend__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1.6;
  letter-spacing: 1.5px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.recommendation {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../img/bg_recommendation.webp) no-repeat center center/cover;
}

.recommendation__items {
  display: grid;
  margin-top: 4rem;
  gap: 2rem;
}

.recommendation__item {
  display: grid;
  place-items: center;
  padding: 2rem;
  border-radius: 5px;
  background: #3BC2D2;
  color: #FFF;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 160%;
}

.reform {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #ECE6DC;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", serif;
}

.reform__icon {
  width: 60%;
  margin-inline: auto;
  text-align: center;
}

.reform__head {
  color: #161616;
  font-size: 2.4rem;
  line-height: 1.1;
  letter-spacing: 4px;
}

.reform__text {
  margin-top: 1rem;
  color: #171717;
}

.reform__items {
  display: grid;
  margin-top: 3rem;
  gap: 3rem;
}

.reform__item {
  display: grid;
  position: relative;
  padding: 6rem 2rem 3rem;
  gap: 1.5rem;
  border-radius: 20px;
  background: #FFF;
}

.reform__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 1rem;
  left: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #3F342D;
  font-size: 3.4rem;
  line-height: 1;
  text-align: center;
}

.reform__step span {
  font-size: 1.2rem;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.reform__label {
  display: grid;
  gap: 1rem;
}

.reform__title {
  color: #171717;
  font-size: 2.2rem;
  letter-spacing: 2.8px;
}

.reform__need {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.2;
}

.reform__description {
  margin-top: 2rem;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.75px;
}

.reform__image {
  aspect-ratio: 410/227;
  width: 100%;
}

.reform__image img {
  width: 100%;
  height: 100%;
}

.reform__attention {
  margin-top: 3rem;
  color: #000;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 160%;
  font-family: "Noto Sans JP", sans-serif;
}

.reformArea {
  position: relative;
  margin-top: 10rem;
  padding-top: 10rem;
  padding-bottom: 6rem;
  border-radius: 100px 100px 0 0;
  background: #F8F6F1;
}

.reformArea__image {
  position: absolute;
  top: -15%;
  top: -8rem;
  left: 50%;
  width: 90%;
  max-width: 40rem;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.reformArea__copy {
  font-size: 2rem;
  text-align: center;
}

.reformArea__label {
  display: grid;
  place-items: center;
  width: 27.9rem;
  width: 60%;
  min-height: 4.5rem;
  margin-top: 3rem;
  margin-inline: auto;
  border: 1px solid #000;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.8rem;
}

.reformArea__lists {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 3rem;
  gap: 0.7rem;
}

.reformArea__list {
  position: relative;
  padding-right: 0.7rem;
  color: #000;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 160%;
  font-family: "Noto Sans JP", sans-serif;
}

.reformArea__list::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 1.6rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #000;
  content: "";
}

.reformCase {
  padding: 6rem 0;
}

.reformCase__inner {
  max-width: 600px;
  margin-inline: auto;
  padding: 0 15px;
}

.refomCase__container {
  display: grid;
  gap: 3rem;
}

.reformCase__text {
  margin-top: 2rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", serif;
}

.reformCase__btn {
  margin-top: 3rem;
}

.reformCase__btn.u-mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.reformCase__items {
  display: grid;
  gap: 3rem;
}

.reformCase__image {
  aspect-ratio: 565/357;
}

.reformCase__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.reformCase__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1.2rem;
  gap: 0.9rem;
}

.reformCase__category {
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 9.3rem;
  min-height: 3.3rem;
  padding: 0.2em 1rem;
  border: 1px solid #474141;
  color: #474141;
  font-size: 1.3rem;
  line-height: 1.9230769231;
  letter-spacing: 0.96px;
}

.reformCase__title {
  color: #474141;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 1.6px;
}

.reformFlow {
  padding-top: 6rem;
  padding-bottom: 20rem;
  background: #ECE6DC;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", serif;
}

.reformFlow__icon {
  width: 60%;
  margin-inline: auto;
  text-align: center;
}

.reformFlow__head {
  color: #161616;
  font-size: 2.8rem;
  line-height: 1.1;
  letter-spacing: 4px;
}

.reformFlow__text {
  margin-top: 1rem;
  color: #171717;
}

.reformFlow__items {
  display: grid;
  margin-top: 3rem;
  gap: 3rem;
}

.reformFlow__item {
  display: grid;
  position: relative;
  padding: 6rem 2rem 3rem;
  gap: 1.5rem;
  border-radius: 20px;
  background: #FFF;
}

.reformFlow__step {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 1rem;
  left: 1rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #3F342D;
  font-size: 3.4rem;
  line-height: 1;
  text-align: center;
}

.reformFlow__step span {
  font-size: 1.2rem;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}

.reformFlow__label {
  display: grid;
  gap: 1rem;
}

.reformFlow__title {
  color: #171717;
  font-size: 2.2rem;
  letter-spacing: 2.8px;
}

.reformFlow__need {
  color: #000;
  font-size: 1.4rem;
  line-height: 1.2;
}

.reformFlow__description {
  margin-top: 2rem;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.75px;
}

.reformFlow__image {
  aspect-ratio: 410/227;
  width: 100%;
}

.reformFlow__image img {
  width: 100%;
  height: 100%;
}

.reformFlow__attention {
  margin-top: 3rem;
  color: #000;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 160%;
  font-family: "Noto Sans JP", sans-serif;
}

.reformMenu {
  padding-top: 4rem;
  background: #F8F6F1;
}

.refomrMenu__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
  gap: 3rem;
}

.reformMenu__image {
  z-index: 2;
  position: relative;
}

.reformMenu__content {
  position: relative;
  padding: 3rem 1.5rem;
  border-radius: 30px;
  background: #FFF;
}

.reformMenu__text {
  margin-top: 2rem;
}

.reformMenu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 2rem;
  gap: 1rem 0.8rem;
}

.reformMenu__item {
  display: grid;
  place-items: center;
  aspect-ratio: 155/96;
  padding: 0.5rem;
  border-radius: 8px;
  background: #413F40;
  color: #FFF;
  font-size: 1.4rem;
  line-height: 1.7777777778;
  letter-spacing: 0.72px;
  text-align: center;
}

.request__text {
  margin-top: 3rem;
}

.request__btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 3rem;
  gap: 2rem;
}

.request__btn a {
  position: relative;
}

.request__btn a {
  width: 16rem;
  min-height: 4.5rem;
  font-size: 1.4rem;
}

.request__btn a::after {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 2.5rem;
  height: 1.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_request.png) no-repeat;
  background-size: contain;
  content: "";
}

.request__btn a::before {
  z-index: 1;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 2.5rem;
  height: 1.5rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_blue.png) no-repeat;
  background-size: contain;
  content: "";
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.request__content {
  margin-top: 3rem;
  padding: 2.5rem;
  background: #ebebeb;
}

.request__attention {
  color: #3BC2D2;
  font-weight: 700;
  font-size: 2rem;
}

.request__content .request__text {
  margin-top: 3rem;
}

.request__partner {
  margin-top: 8rem;
}

.reserveLink {
  margin-top: 3rem;
}

.reserveLink a {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 8rem;
  background: #3F342D;
  color: #FFF;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 2.24px;
}

.reserveLink span {
  position: relative;
}

.reserveLink span::after {
  position: absolute;
  position: absolute;
  top: 50%;
  right: -2rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

.reserveLink span::before {
  position: absolute;
  top: 50%;
  left: -4.7rem;
  width: 4rem;
  height: 4rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_reserveLink.webp) no-repeat center center/cover;
  content: "";
}

.room {
  padding-top: 6.1rem;
  padding-bottom: 7rem;
  background: #F8F6F1;
}

.room .section__en {
  white-space: nowrap;
}

.room__text {
  margin-top: 3rem;
  line-height: 1.625;
  letter-spacing: 0.75px;
  text-align: center;
}

.room__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 3rem;
  gap: 1.5rem;
}

.room__item {
  cursor: pointer;
}

.room__item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.room__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.room-modal {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(65, 44, 19, 0.5);
  opacity: 0;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
}

.room-modal.is-active {
  visibility: visible;
  opacity: 1;
}

.room-modal__inner {
  position: relative;
  aspect-ratio: 1010/570;
  width: 90%;
  max-width: 1010px;
  background-color: #000;
}

.room-modal__content {
  width: 100%;
  height: 100%;
}

.room-modal__content iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.room-modal__close {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -40px;
  right: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background-color: transparent;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

body.modal-open {
  overflow: hidden;
}

.schedule {
  margin-top: 3rem;
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: #FFF;
}

.schedule__text {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 200%;
}

.schedule__calenar {
  height: 60rem;
  margin-top: 2rem;
}

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

.schoolLink {
  color: #FFF;
}

.schoolLink__items {
  display: grid;
}

.schoolLink__item a {
  display: inline-block;
  position: relative;
}

.schoolLink__image {
  position: relative;
  aspect-ratio: 375/216;
}

.schoolLink__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.schoolLink__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  content: "";
}

.schoolLink__arrow {
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 10.8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.schoolLink__title {
  position: absolute;
  top: 20%;
  left: 70%;
  width: clamp(25rem, 10.651rem + 38.265vi, 40rem);
  width: 27rem;
  color: #FFF;
  font-weight: 500;
  letter-spacing: 0.8px;
}

.schoolLink__en {
  font-size: 3.6rem;
  font-family: "Jost", sans-serif;
  text-transform: uppercase;
}

.schoolLink__en span {
  font-size: 1.44rem;
  line-height: 1.5555555556;
  font-family: "Inter", sans-serif;
  text-align: right;
}

.sdgs {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #F8F6F1;
  color: #4C4948;
}

.sdgs .company__title {
  color: #282828;
}

.sdgs__items {
  display: grid;
  margin-top: 4rem;
  gap: 3rem;
}

.sdgs__image {
  aspect-ratio: 441/347;
}

.sdgs__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.sdgs__title {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.3846153846;
  letter-spacing: 1.3px;
}

.sdgs__description {
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 1.9230769231;
  letter-spacing: 1.4px;
}

.sdgs__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
}

.sectionHead {
  margin-top: 4rem;
  padding: 20px;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: center;
}

.side {
  max-width: 100%;
  margin-top: 3rem;
}

.side__title {
  padding-bottom: 1em;
  border-bottom: 1px solid #DBDBDB;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 160%;
}

.side__items {
  display: grid;
  gap: 2rem;
}

.side__item {
  padding: 2rem 1.5rem;
  background: #FFF;
}

.side__new-item,
.side__category-item a,
.side__date-item a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px dashed #DBDBDB;
}

.side__new-title,
.side__category-item,
.side__date-item {
  display: -webkit-box;
  overflow: hidden;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 160%;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.single {
  padding-top: 6rem;
  padding-bottom: 6rem;
  color: #333;
}

.single__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 2rem;
}

.single__time {
  color: #3F342D;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.96px;
}

.single__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.single__category {
  display: grid;
  place-items: center;
  min-height: 2.5rem;
  padding: 0.1em 1.6rem;
  border: 1px solid #3F342D;
  color: #3F342D;
  font-size: 1.3rem;
  line-height: 1.4615384615;
  letter-spacing: 0.88px;
  text-align: center;
}

.single__title {
  margin-top: 1.6rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid #3F342D;
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 2.2px;
}

.single__tags {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 1.2rem;
  gap: 0 0.8rem;
}

.single__tag {
  color: #3F342D;
  font-weight: 500;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 1.28px;
}

.single__content {
  margin-top: 2rem;
}

.single__content .single__title {
  margin-top: initial;
  padding-bottom: initial;
  border: initial;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5;
}

.single__content p {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 1.8px;
}

.single__content p span {
  text-decoration: underline;
  -webkit-text-decoration-color: #FFCC1A !important;
  text-decoration-color: #FFCC1A !important;
  /* マーカーの色 */
  text-decoration-thickness: 5px !important;
  /* 線の太さ */
  text-underline-offset: -3px !important;
  /* テキストと線の間隔 */
}

.single__content a {
  text-decoration: none;
}

.single__content h2 {
  margin-top: 2.4rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 1.8px;
}

.single__content h3 {
  position: relative;
  margin-top: 2.4rem;
  padding-left: 1rem;
  font-weight: 700;
  font-size: 1.8rem;
}

.single__content h3::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 2.8rem;
  background: #999;
  content: "";
}

.single__content h4 {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.8;
}

.single__content h5 {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8;
}

.single__content table,
.single__content ul,
.single__content ol,
.single__content blockquote {
  margin-top: 2rem;
}

.single__content td:first-child {
  width: 30%;
}

.single__content td {
  padding: 1rem;
  border-color: #999999;
}

.single__content td:has(strong) {
  background: #F7F7F7;
}

.single__content ul {
  display: grid;
  gap: 0.8rem;
}

.single__content ul li {
  position: relative;
  padding-left: 1em;
}

.single__content ul li::before {
  position: absolute;
  top: 50%;
  top: 0;
  left: 0;
  content: "・";
}

.single__content ol {
  display: grid;
  padding-left: 1.3em;
  gap: 0.8rem;
}

.single__content ol li {
  list-style: decimal;
}

.single__content .wp-block-list-gray {
  padding: 1.2rem;
  background: #F7F7F7;
}

.single__content ol.wp-block-list-gray {
  padding: 1.6rem 1.6rem 1.6rem 3.5rem;
  background: #F7F7F7;
}

.single__content blockquote {
  position: relative;
  margin: initial;
  margin-top: 2rem;
  padding: 2.2rem 2rem;
}

.single__content blockquote::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.2rem;
  height: 5rem;
  background: url(../img/icon_quote01.svg) no-repeat center center/contain;
  content: "";
}

.single__content blockquote::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2.5rem;
  height: 3.8rem;
  background: url(../img/icon_quote02.svg) no-repeat center center/contain;
  content: "";
}

.single__content blockquote p {
  margin-top: initial;
}

.single__btn {
  margin-top: 5rem;
}

.single .archive__category-item {
  margin: initial;
}

.single__thumbnail {
  aspect-ratio: 900/600;
  width: 100%;
  margin-top: 2rem;
}

.single__thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.wp-block-image {
  margin-top: 2.7rem;
}

.is-layout-flex {
  margin-top: 2.7rem;
}

.is-layout-flex .wp-block-image {
  margin-top: initial;
}

.singlePagination__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-columns: 1fr 5rem 1fr;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  justify-content: space-between;
  max-width: 400px;
  margin-top: 8rem;
  margin-inline: auto;
  border-top: 1px solid #E1DED6;
  border-bottom: 1px solid #E1DED6;
}

.singlePagination__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 2rem;
}

.singlePagination__item::before {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  -webkit-transform: translateY(-50%) rotate(135deg);
  transform: translateY(-50%) rotate(135deg);
  border-right: 1.5px solid #3F342D;
  border-bottom: 1.5px solid #3F342D;
  content: "";
  opacity: 0.2;
}

.singlePagination__item-next::before {
  right: 0.5rem;
  left: initial;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

.singlePagination__item-next .singlePagination__content span {
  padding-right: 1em;
  padding-left: initial;
}

.singlePagination__item-next .singlePagination__content span::before {
  right: 0;
  left: initial;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  content: "";
}

.singlePagination__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: "Roboto", serif;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.singleSchool__bg {
  z-index: -2;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

.singleSchool__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.singleSchool__bg {
  visibility: hidden;
  opacity: 0;
}

.singleSchool__bg.active {
  visibility: visible;
  opacity: 1;
}

.siteMap {
  padding-top: 5rem;
  padding-bottom: 7rem;
  color: #474141;
}

.siteMap__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 3rem 0;
}

.siteMap__wrap:not(:first-child) {
  border-top: 1px solid #939393;
}

.siteMap__content {
  padding: 0 1rem;
}

.siteMap__title {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2173913043;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.siteMap__items {
  display: grid;
  margin-top: 1rem;
  padding-left: 0.8rem;
}

.siteMap__item {
  font-size: 1.3rem;
  line-height: 2;
  letter-spacing: 0.65px;
  text-transform: uppercase;
}

.staff {
  padding-top: 4rem;
  padding-bottom: 7rem;
  color: #3F342D;
}

.staff__container {
  display: grid;
  margin-top: 4rem;
  gap: 2rem;
}

.staff__info {
  margin-top: 1rem;
}

.staff__position {
  font-weight: 400;
  line-height: 1.7333333333;
}

.staff__name {
  display: grid;
  margin-top: 1rem;
  gap: 5px;
  font-weight: 500;
  font-family: "Jost", sans-serif;
}

.staff__jp {
  font-size: 2.4rem;
  line-height: 1.1428571429;
  letter-spacing: 2.8px;
}

.staff__en {
  font-size: 1.4rem;
  line-height: 1.1875;
  text-transform: uppercase;
}

.staff__prof {
  padding: 2rem 1rem 4rem;
  background: #F2F2F2;
}

.staff__title {
  font-weight: 500;
  font-size: 2.2rem;
  line-height: 1.3055555556;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.6px;
  text-transform: uppercase;
}

.staff__title-comment {
  position: relative;
  padding-bottom: 1rem;
}

.staff__title-comment::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4rem;
  height: 1px;
  background: #102051;
  content: "";
}

.staff__items {
  margin-top: 1.5rem;
}

.staff__item {
  display: grid;
  grid-template-columns: 7rem 1fr;
  padding: 1rem;
  border-bottom: 1px solid #E1DED6;
  line-height: 1.5;
}

.staff__label {
  font-weight: 700;
}

.staff__bottom {
  margin-top: 5rem;
}

.staff__comments:nth-of-type(1) {
  margin-top: 3.5rem;
}

.staff__comments:nth-of-type(2) {
  display: grid;
}

.staff__comments:nth-of-type(2) .staff__commnet {
  padding-top: 2rem;
}

.staff__commnet {
  display: grid;
  padding-bottom: 1.6rem;
  gap: 1rem;
  border-bottom: 1px solid #BFBFBF;
}

.staff__question {
  font-weight: 700;
  letter-spacing: 1.6px;
}

.staff .singlePagination__item {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.staff .singlePagination__title {
  font-size: 1.2rem;
}

.staffLink {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.staffLink__container {
  display: grid;
  gap: 2rem;
}

.staffLink__image img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.staffLink__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
}

.staffList {
  padding-top: 4rem;
  padding-bottom: 7rem;
}

.staffList__title {
  margin-top: 3rem;
  font-family: "Noto Sans JP", sans-serif;
}

.staffList__en {
  font-weight: 500;
  font-size: 1.4rem;
  text-transform: uppercase;
}

.staffList__jp {
  color: #4C4948;
  font-weight: 700;
  font-size: 2.4rem;
}

.staffList__items {
  display: grid;
  margin-top: 5rem;
  gap: 2rem;
}

.staffList__image {
  aspect-ratio: 670/354;
}

.staffList__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.staffList__name {
  margin-top: 0.5rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 1.6px;
}

.flow.step .flow__items::after {
  display: none;
}

.flow.step .flow__content {
  border: initial;
}

.sticky {
  padding-top: 6rem;
}

.sticky__top {
  display: grid;
  margin-top: 2rem;
  gap: 1rem;
}

.sticky__items {
  position: relative;
  margin-top: 4rem;
}

.sticky__item {
  display: grid;
}

.sticky.sticky-cocept {
  padding-top: initial;
}

.sticky__image {
  position: relative;
}

.sticky__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.sticky-customizdeDesign {
  font-family: "Noto Serif JP", serif;
}

.sticky-customizdeDesign .sticky__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  content: "";
}

.sticky-customizdeDesign .sticky__point {
  font-family: "Noto Serif JP", serif;
}

.sticky-customizdeDesign .text-15,
.sticky-customizdeDesign .sticky__description {
  font-family: "Inter", sans-serif;
}

.sticky__content {
  z-index: 5;
  position: relative;
  padding: 5rem 2rem;
  color: #FFF;
}

.sticky__wrap {
  z-index: 2;
  position: relative;
}

.sticky__item:nth-child(1) .sticky__content {
  background: #49768C;
}

.sticky__item:nth-child(2) .sticky__content {
  background: #9A5849;
}

.sticky__item:nth-child(3) .sticky__content {
  background: #4F6E5A;
}

.sticky__item:nth-child(4) .sticky__content {
  background: #C98149;
}

.sticky__point {
  position: relative;
  font-weight: 400;
  font-size: 2.4rem;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.6px;
  text-transform: capitalize;
}

.sticky__point::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3.8rem;
  height: 1px;
  background: #FFF;
  content: "";
}

.sticky__label {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.2916666667;
  letter-spacing: 2.4px;
}

.sticky__description {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 1.5px;
}

.sticky-customizdeDesign .sticky__item:nth-child(1) .sticky__content {
  position: relative;
  background: url(../img/bg_sticky_customizdeDesign01.webp) no-repeat center center/cover;
}

.sticky-customizdeDesign .sticky__item:nth-child(1) .sticky__content::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.9);
  content: "";
}

.sticky-customizdeDesign .sticky__item:nth-child(2) .sticky__content {
  position: relative;
  background: url(../img/bg_sticky_customizdeDesign02.webp) no-repeat center center/cover;
}

.sticky-customizdeDesign .sticky__item:nth-child(2) .sticky__content::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.9);
  content: "";
}

.sticky-customizdeDesign .sticky__item:nth-child(3) .sticky__content {
  position: relative;
  background: url(../img/bg_sticky_customizdeDesign03.webp) no-repeat center center/cover;
}

.sticky-customizdeDesign .sticky__item:nth-child(3) .sticky__content::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.95);
  content: "";
}

.sticky-customizdeDesign .sticky__item:nth-child(4) .sticky__content {
  position: relative;
  background: url(../img/bg_sticky_customizdeDesign04.webp) no-repeat center center/cover;
}

.sticky-customizdeDesign .sticky__item:nth-child(4) .sticky__content::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, 0.94);
  content: "";
}

.sticky-cocept .sticky__items {
  margin-top: initial;
}

.sticky-cocept .sticky__item:nth-child(odd) .sticky__content {
  background: #3F342D;
}

.sticky-cocept .sticky__item:nth-child(even) .sticky__content {
  background: #F8F6F1;
  color: #161616;
}

.sticky-cocept .sticky__item:nth-child(even) .sticky__content .sticky__point::after {
  background: #161616;
}

.sticky-cocept .sticky__item:nth-child(even) .sticky__content .sticky__btn a {
  border-color: #282828;
  color: #282828;
}

.sticky-cocept .sticky__item:nth-child(even) .sticky__content .sticky__btn a::after {
  border-right: 1px solid #282828;
  border-bottom: 1px solid #282828;
}

.sticky-cocept .sticky__wrap img {
  margin-top: 2rem;
}

.sticky__btn {
  margin-top: 2rem;
}

.sticky__btn a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 21rem;
  min-height: 5rem;
  padding: 0.3em 1.8rem 0.3em 2.1rem;
  border: 1px solid #FFF;
  color: #FFF;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 2.24px;
}

.sticky__btn a::after {
  position: absolute;
  top: 50%;
  right: 1.8rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: "";
}

.support {
  margin-top: -1rem;
  padding-top: 5px;
  padding-bottom: 5px;
  background: #FFF;
}

.support__container {
  display: grid;
  margin-top: 5rem;
  gap: 3rem;
}

.support__text {
  font-size: 1.6rem;
  line-height: 180%;
  font-family: "Jost", sans-serif;
}

.taxonomy {
  margin-top: 3.9rem;
}

.taxonomy__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.3rem 1.6rem;
}

.taxonomy__item {
  color: #3F342D;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 1.12px;
}

.taxonomy.taxonomy-case {
  display: grid;
  padding: 2rem;
  gap: 1rem;
  background: #F2F2F2;
}

.taxonomy.taxonomy-case .taxonomy__label {
  color: #3F342D;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 3.2px;
  text-align: center;
}

.taxonomy.taxonomy-case .taxonomy__items {
  -webkit-box-pack: initial;
  -webkit-justify-content: initial;
  -ms-flex-pack: initial;
  justify-content: initial;
  text-transform: uppercase;
}

.topBranchBox {
  z-index: 2;
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.topBranchBox::before {
  z-index: -2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 74.1rem;
  background: #ECE6DC;
  content: "";
}

.topBranchBox::after {
  z-index: -1;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: #E5E0D1;
  content: "";
}

.topBranchBox.topBranchBox__order::before {
  height: 100%;
}

.topBranchBox__inner {
  display: grid;
  max-width: 600px;
  margin-inline: auto;
  padding: 0 15px;
  gap: 3rem;
}

.topBranchBox__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  gap: 1rem;
}

.topBranchBox__image:first-child {
  margin-top: 3rem;
}

.topBranchBox__content {
  display: grid;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.topBranchBox__house {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -ms-flex-order: 2;
  order: 2;
  margin-top: 3rem;
  text-align: center;
}

.topBranchBox__title {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -ms-flex-order: 1;
  order: 1;
}

.topBranchBox__copy {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
  -ms-flex-order: 3;
  order: 3;
  margin-top: 4rem;
}

.topBranchBox__text {
  -webkit-box-ordinal-group: 5;
  -webkit-order: 4;
  -ms-flex-order: 4;
  order: 4;
  margin-top: 1.8rem;
}

.topBranchBox__btn {
  -webkit-box-ordinal-group: 6;
  -webkit-order: 5;
  -ms-flex-order: 5;
  order: 5;
  margin-top: 3rem;
}

.topBtn {
  position: absolute;
  top: 3rem;
  right: 1.5rem;
  width: 5rem;
}

.topCase {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.topCase__top {
  display: grid;
  margin-top: 1.5rem;
}

.topCase__btn.u-mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3rem;
}

.topCase__items {
  display: grid;
  margin-top: 4rem;
  gap: 5rem;
}

.topCase__image {
  aspect-ratio: 507/435;
}

.topCase__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.topCase__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 1rem;
  gap: 0.9rem;
}

.topCase__category {
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 9.3rem;
  min-height: 3.3rem;
  padding: 0.2em 1rem;
  border: 1px solid #474141;
  color: #474141;
  font-size: 1.3rem;
  line-height: 1.9230769231;
  letter-spacing: 0.96px;
}

.topCase__title {
  color: #474141;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4375;
  letter-spacing: 1.6px;
}

.topCustomizedDesign {
  padding-top: 5rem;
  padding-bottom: 5rem;
  background: url(../img/bg_topCustomizedDesign.webp) no-repeat center center/cover;
}

.topCustomizedDesign__container {
  display: grid;
  gap: 2rem;
}

.topCustomizedDesign__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 2rem;
  gap: 2rem;
}

.topCustomizedDesign__flex .topCustomizedDesign__image:first-child {
  margin-top: 5rem;
}

.topCustomizedDesign__copy {
  margin-top: 3rem;
}

.topCustomizedDesign__text {
  margin-top: 2rem;
}

.topCustomizedDesign__btn {
  margin-top: 3rem;
}

.topEvent {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: #EEEEEE;
}

.topEvent__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3rem;
}

.topEvent__right {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7.6rem;
}

.topEvent__right-pc {
  display: none;
  visibility: hidden;
}

.topEvent__right-sp {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 3rem;
  gap: 3rem;
  pointer-events: auto;
}

.topEvent__right-sp .topEvent__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.topEvent__slider .swiper-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  height: 1.6rem;
  gap: 4.4rem;
}

.topEvent__slider .swiper-button-next,
.topEvent__slider .swiper-button-prev {
  position: relative;
  top: 50%;
  width: 1rem;
  height: 1.6rem;
  margin-top: initial;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.topEvent__slider .swiper-button-next:after,
.topEvent__slider .swiper-button-prev:after {
  display: none;
}

.topEvent__item {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.topEvent__item.--close::before,
.topEvent__item.--held::before {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 11.1rem;
  height: 3rem;
  content: "";
}

.topEvent__item.--close::before {
  background: url(../img/event_close.svg) no-repeat center center/cover;
}

.topEvent__item.--held::before {
  background: url(../img/event_held.svg) no-repeat center center/cover;
}

.topEvent__item.--close .topEvent__image {
  position: relative;
}

.topEvent__item.--close .topEvent__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  content: "";
}

.topEvent__item.--close .topEvent__image::before {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17.5rem;
  height: 8.9rem;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: url(../img/event_thanks.webp) no-repeat center center/cover;
  content: "";
}

.topEvent__image {
  aspect-ratio: 280/280;
}

.topEvent__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.topEvent__label {
  margin-top: 1.5rem;
}

.topEvent__categories {
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 2.1538461538;
  letter-spacing: 1.04px;
}

.topEvent__title {
  display: -webkit-box;
  min-height: 4rem;
  margin-top: 4px;
  overflow: hidden;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.4666666667;
  letter-spacing: 1.5px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.topEvent__info {
  margin-top: 1.5rem;
}

.topEvent__date,
.topEvent__venue {
  position: relative;
  padding-left: 2.7rem;
  font-size: 1.3rem;
  line-height: 2.1538461538;
  letter-spacing: 1.03px;
}

.topEvent__date::before,
.topEvent__venue::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.7rem;
  height: 2.8rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
}

.topEvent__date::before {
  background: url(../img/icon_time.svg) no-repeat center center/contain;
}

.topEvent__venue::before {
  background: url(../img/icon_venue.svg) no-repeat center center/contain;
}

.topGuarantee {
  position: relative;
  margin-top: -8rem;
  padding-top: 10rem;
  padding-bottom: 6rem;
  border-radius: 50px 50px 0 0;
  background: #F8F6F1;
}

.topGuarantee__top {
  text-align: center;
}

.topGuarantee__ashirai {
  position: absolute;
  top: -6rem;
  left: 50%;
  aspect-ratio: 279/225;
  width: 20rem;
  margin-inline: auto;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.topGuarantee__sub {
  display: grid;
  place-items: center;
  width: 22rem;
  min-height: 4rem;
  margin-top: 2.8rem;
  margin-inline: auto;
  border: 1px solid #000;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1.8rem;
}

.topGuarantee__swiper {
  position: relative;
  margin-top: 5rem;
  overflow: visible;
}

.topGuarantee__items {
  padding: 0 15px;
}

.topGuarantee__item {
  display: grid;
  gap: 1.5rem;
}

.topGuarantee__image {
  aspect-ratio: 782/545;
}

.topGuarantee__image img {
  width: 100%;
}

.topGuarantee__content {
  z-index: 2;
  position: relative;
}

.topGuarantee__title {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.2692307692;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 2.1px;
}

.topGuarantee__text {
  margin-top: 1rem;
  letter-spacing: 1px;
}

.topGuarantee__number {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  color: #ECE6DC;
  font-weight: 400;
  font-size: 16rem;
  line-height: 1;
  font-family: "Bebas Neue", sans-serif;
  opacity: 0.6;
}

.topModel {
  position: relative;
  height: calc(100vh - 6rem);
  overflow: hidden;
  background: #000;
}

.topModel::after {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  content: "";
}

.topModel__inner {
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.topModel__content {
  color: #FFF;
}

.topModel__title {
  width: 29rem;
}

.topModel__text {
  margin-top: 10px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2;
}

.topModel__btn {
  margin-top: 2.6rem;
}

.topModel__btn a {
  display: grid;
  position: relative;
  place-items: center;
  width: 23.6rem;
  min-height: 5.3rem;
  border: 1px solid #FFF;
  border-radius: 6px;
  color: #FFF;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 2.24px;
}

.topModel__btn a::after {
  position: absolute;
  top: 50%;
  right: 2.6rem;
  width: 0.8rem;
  height: 0.8rem;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}

.topModel__sliders {
  display: grid;
  z-index: 2;
  position: absolute;
  top: 20%;
  left: -30%;
  width: 100vw;
  gap: 2px;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg);
  -webkit-transform: translate(-50%, -50%) rotate(-30deg);
  transform: translate(-50%, -50%) rotate(-30deg);
  scale: 0.8;
  pointer-events: none;
}

.topModel__slider {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  gap: 2px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  will-change: transform;
}

/* 各スライドのスタイル */
.topModel__slide {
  z-index: 1;
  position: relative;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.topModel__slide.--420 {
  aspect-ratio: 420/576;
  width: 42rem;
}

.topModel__slide.--432 {
  aspect-ratio: 432/576;
  width: 43.2rem;
}

.topModel__slide.--454 {
  aspect-ratio: 454/576;
  width: 45.4rem;
}

.topModel__slide.--468 {
  aspect-ratio: 468/576;
  width: 46.8rem;
}

.topModel__slide.--469 {
  aspect-ratio: 469/576;
  width: 46.9rem;
}

.topModel__slide.--482 {
  aspect-ratio: 482/576;
  width: 48.2rem;
}

.topModel__slide.--512 {
  aspect-ratio: 512/576;
  width: 51.2rem;
}

.topModel__slide.--537 {
  aspect-ratio: 537/576;
  width: 53.7rem;
}

.topModel__slide.--576 {
  aspect-ratio: 576/576;
  width: 57.6rem;
}

.topModel__slide.--708 {
  aspect-ratio: 708/576;
  width: 70.8rem;
}

.topModel__slide.--761 {
  aspect-ratio: 761/576;
  width: 76.1rem;
}

.topModel__slide.--768 {
  aspect-ratio: 768/576;
  width: 76.8rem;
}

.topModel__slide.--863 {
  aspect-ratio: 863/576;
  width: 86.3rem;
}

.topModel__slide.--864 {
  aspect-ratio: 864/576;
  width: 86.4rem;
}

@-webkit-keyframes slideShow {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes slideShow {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@-webkit-keyframes slideReverse {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slideReverse {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }

  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

.topQa {
  padding-top: 5rem;
  padding-bottom: 7rem;
  background: #ECE6DC;
}

.topQa__another {
  background: #F1EFEB;
}

.topQa__items {
  display: grid;
  margin-top: 3rem;
  gap: 1rem;
}

.topQa__item {
  padding: 1rem 2rem;
  border-radius: 5px;
  background: #FFF;
  color: #222;
}

.topQa__question {
  position: relative;
  padding-right: 2.5rem;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
}

.topQa__question::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1rem;
  height: 0.6rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/arrow_qa.webp) no-repeat center center/contain;
  content: "";
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  /*アニメーションの設定*/
  will-change: transform;
}

.topQa__question.is-active::after {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
}

.topQa__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4rem;
}

.topQa__flex span {
  color: #A6AFC0;
  font-weight: 600;
  font-size: 1.8rem;
  font-family: "Montserrat", serif;
}

.topQa__answer .topQa__flex {
  margin-top: 1rem;
  padding-top: 1rem;
  gap: 2.3rem;
  border-top: 1px solid #E0E0E0;
}

.topQa__answer .topQa__flex span {
  color: #B9A596;
}

.topQa__answer {
  display: none;
  font-size: 1.4rem;
  line-height: 1.6;
}

.topReform {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 15rem;
  background: #ECE6DC;
}

.topReform__inner {
  display: grid;
  z-index: 2;
  position: relative;
  padding: 0 15px;
  gap: 3rem;
}

.topReform__content {
  position: relative;
}

.topReform__text {
  margin-top: 2rem;
}

.topReform__btn {
  margin-top: 3rem;
}

.topTopics {
  margin-top: -5rem;
  padding-top: 5.4rem;
  padding-bottom: 8rem;
  border-radius: 50px 50px 0 0;
  background: #F8F6F1;
}

.topTopics__container {
  display: grid;
}

.topTopics__text {
  margin-top: 3rem;
}

.topTopics__btn {
  margin-top: 3.6rem;
}

.topTopics__items {
  display: grid;
  margin-top: 3.4rem;
  gap: 2rem;
}

.topTopics__item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0.9rem;
  font-family: "Noto Sans JP", sans-serif;
}

.topTopics__image {
  aspect-ratio: 280/210;
}

.topTopics__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.topTopics__label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2rem;
}

.topTopics__day {
  color: #8C8779;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2142857143;
  letter-spacing: 1.96px;
}

.topTopics__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
}

.topTopics__category {
  display: grid;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 2rem;
  padding: 0.2rem 1.2rem;
  border: 1px solid #8C8779;
  color: #8C8779;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 1.04px;
}

.topTopics__title {
  display: -webkit-box;
  margin-top: 0.6rem;
  overflow: hidden;
  color: #282828;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.625;
  letter-spacing: 1.6px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.topTopics__description {
  display: -webkit-box;
  overflow: hidden;
  color: #161616;
  font-size: 1.4rem;
  line-height: 1.8571428571;
  font-family: "Zen Kaku Gothic New", serif;
  letter-spacing: 0.7px;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  opacity: 0.7;
}

.topTopics__btn.u-mobile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.topVideos {
  padding-top: 4rem;
  padding-bottom: 11.9rem;
  background: #FFF;
}

.topVideos__inner {
  max-width: 600px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 20px;
}

.topVideos__container {
  display: grid;
  gap: 7.9rem;
}

.topVideos__text {
  margin-top: 3.1rem;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 180%;
  font-family: "Jost", sans-serif;
}

.topVideos__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.9rem;
}

.topVideos__item {
  width: 100%;
  height: 14.2rem;
}

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

.topVoice {
  padding-top: 5rem;
  padding-bottom: 15rem;
  background: #ECE6DC;
}

.topVoice__items {
  display: grid;
  margin-top: 4.9rem;
  gap: 5rem;
}

.topVoice__item a {
  color: #3F342D;
  font-size: 1.4rem;
  font-family: "Zen Kaku Gothic New", serif;
}

.topVoice__image {
  position: relative;
  aspect-ratio: 430/430;
}

.topVoice__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.topVoice__category {
  display: grid;
  position: absolute;
  top: 0;
  right: 0;
  place-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 9.9rem;
  min-height: 3.7rem;
  padding: 0.9rem 2rem;
  border-radius: 0 10px 0 10px;
  background: #FFF;
  color: #3F342D;
  font-size: 1.4rem;
  line-height: 1.2;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", serif;
}

.topVoice__title {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.6666666667;
}

.topVoice__name {
  position: relative;
  padding-left: 2em;
  line-height: 2.1428571429;
}

.topVoice__name::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../img/icon_top_voice.svg) no-repeat center center/contain;
  content: "";
}

.topVoice__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 4rem;
}

.topWorks__inner {
  padding-right: 15px;
  padding-left: 15px;
}

.topWorks__items {
  display: grid;
  margin-top: 3.5rem;
  gap: 3rem;
}

.topWorks__item:hover a {
  opacity: 1;
}

.topWorks__image {
  position: relative;
  aspect-ratio: 434/300;
  width: 100%;
}

.topWorks__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.topWorks__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  content: "";
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  transition: 0.3s;
}

.topWorks__category {
  display: grid;
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  place-items: center;
  width: 10rem;
  min-height: 3rem;
  background: #FFF;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
}

.topWorks__content {
  padding: 2rem 2.5rem;
}

.topWorks__name {
  position: relative;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.8;
}

.topWorks__name::before {
  position: absolute;
  top: 1.4rem;
  left: -2rem;
  width: 1.5rem;
  height: 2px;
  background: #2C4B5E;
  content: "";
}

.topWorks__text {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.8;
}

.topWorks__btn {
  margin-top: 3rem;
}

.topWorks__btn a {
  margin-inline: auto;
}

.works {
  padding-top: 6rem;
  padding-bottom: 5rem;
}

.works__btns {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 5rem;
}

.works__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4rem;
  gap: 1rem;
}

.works__image {
  aspect-ratio: 325/235;
  width: 100%;
}

.works__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.youtube {
  margin-top: 5rem;
}

.youtube__title {
  position: relative;
  padding-bottom: 6.5px;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.2;
  font-family: "Jost", sans-serif;
  letter-spacing: 3.7px;
  text-transform: uppercase;
}

.youtube__title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 3rem;
  height: 1px;
  background: #282828;
  content: "";
}

.youtube__area {
  width: 100%;
  height: 25rem;
  margin-top: 2rem;
}

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

.u-desktop {
  display: none;
}

@media (min-width: 768px) and (max-width: 1240px) {
  .footer__inner {
    zoom: 0.8;
  }
}

@media (min-width: 768px) and (max-width: 1500px) {
  .reformMenu__image {
    width: 32%;
    margin-right: auto;
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(10 / 1100 * 100vw);
  }

  body {
    font-size: max(1.6rem, 14px);
  }

  .inner {
    max-width: 1440px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .inner__mini {
    max-width: 1240px;
  }

  .btn a {
    width: 32rem;
    max-width: 100%;
    min-height: 6.5rem;
    margin-inline: initial;
  }

  .pankuz {
    padding-top: 2rem;
  }

  .pankuz.pankuz__order {
    background: #ECE6DC;
  }

  .pankuz a {
    margin-right: 0.9rem;
  }

  .section {
    padding-top: 22rem;
    padding-bottom: 22rem;
  }

  .section__en {
    font-size: 7.1rem;
  }

  .section__jp {
    font-size: 2.1rem;
    line-height: 1.6666666667;
  }

  .section__copy {
    font-size: 3.1rem;
    line-height: 1.8;
  }

  .section__text {
    position: relative;
    margin-top: 3.3rem;
    font-weight: 400;
    font-size: 2rem;
    line-height: 1.8;
  }

  .text-15 {
    font-size: 1.5rem;
    letter-spacing: 2.1px;
  }

  .text-16 {
    font-size: 1.6rem;
    letter-spacing: 1.6px;
  }

  .text-17 {
    font-size: 1.7rem;
  }

  .text-18 {
    font-size: 1.8rem;
    line-height: 2;
  }

  .aboutTop {
    padding-top: 9rem;
  }

  .aboutTop__links {
    font-size: 1.4rem;
    letter-spacing: 2.24px;
  }

  .aboutTop__link a {
    padding: 0 2.5rem;
  }

  .aboutTop__link.is-active a span::after {
    width: 110%;
  }

  .aboutTop__title {
    margin-top: 8rem;
  }

  .aboutTop__main {
    font-size: 5.6rem;
  }

  .aboutTop__sub {
    font-size: 2.6rem;
  }

  .aboutTop__text {
    margin-top: 5rem;
    font-size: 1.6rem;
    line-height: 2.5;
    text-align: center;
  }

  .aboutTop__container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 1200px;
    margin-top: 9px;
    margin-inline: auto;
    gap: 9rem;
  }

  .aboutTop__content {
    max-width: 61.2rem;
  }

  .aboutTop__house {
    text-align: initial;
  }

  .aboutTop__performance .aboutTop__container,
  .aboutTop__after .aboutTop__container {
    margin-top: 7rem;
  }

  .after.can .can__content {
    margin-top: 4.2rem;
  }

  .after.can .can__item {
    -webkit-box-align: initial;
    -webkit-align-items: initial;
    -ms-flex-align: initial;
    align-items: initial;
  }

  .after.can .can__item:nth-child(2) {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .archive__section {
    padding-bottom: 20rem;
  }

  .archive__inner {
    max-width: 1140px;
  }

  .archive__items {
    grid-template-columns: repeat(4, 1fr);
    gap: 6rem 2rem;
  }

  .archive__item a {
    gap: 2rem;
  }

  .archive__label {
    gap: 0 3rem;
  }

  .archive__category {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 3rem;
    padding: 0.1em 1.6rem;
    font-size: 1.3rem;
  }

  .archive__title {
    margin-top: 1.7rem;
    font-size: 1.5rem;
  }

  .archive__youtube {
    margin-top: 1rem;
  }

  .archive__bottom {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  .archive__btns {
    grid-template-columns: repeat(5, 15.8rem);
  }

  .archive__btn a {
    height: 5.6rem;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    border-radius: 35px;
    font-size: 1.8rem;
  }

  .archive__case .archive__items,
  .archive__sales .archive__items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8rem 2rem;
  }

  .archive__sales .archive__items {
    margin-top: 7rem;
  }

  .area {
    padding-top: 10rem;
    padding-bottom: 14rem;
  }

  .area__items {
    grid-template-columns: repeat(5, 1fr);
    margin-top: 8rem;
    gap: 3.2rem;
  }

  .baner {
    margin-top: 7.9rem;
    padding-bottom: 18rem;
  }

  .baner__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }

  .benefits {
    padding-top: 15rem;
    padding-bottom: 8rem;
  }

  .benefits__inner {
    max-width: 1080px;
  }

  .benefits__container {
    grid-template-columns: 42.6923076923% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
  }

  .benefits__title {
    gap: 1.8rem;
  }

  .benefits__en {
    font-size: clamp(3rem, 2.533rem + 0.608vi, 3.7rem);
    line-height: 1.5945945946;
    letter-spacing: 3.7px;
  }

  .benefits__jp {
    font-size: 2.4rem;
    letter-spacing: 4.8px;
  }

  .benefits__description {
    margin-top: 3.7rem;
  }

  .benefits__lists {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 4.5rem;
    gap: 9.5rem;
  }

  .benefits__label {
    padding: 0.3em 1.6rem;
  }

  .benefits__value {
    font-size: 1.6rem;
  }

  .bottomCta {
    padding-top: 7.5rem;
    padding-bottom: 7rem;
  }

  .bottomCta__inner {
    max-width: 1240px;
    padding: 0 20px;
  }

  .bottomCta__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: initial;
  }

  .bottomCta__left {
    max-width: 39.6rem;
  }

  .bottomCta__title {
    text-align: left;
  }

  .bottomCta__attention {
    text-align: left;
  }

  .bottomCta__flex {
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
  }

  .bottomCta__company {
    font-weight: 700;
  }

  .bottomCta__map {
    text-align: left;
  }

  .bottomCta__map span {
    padding-left: 1.2em;
  }

  .bottomCta__map span::after {
    left: 0;
  }

  .bottomCta__info {
    max-width: 340px;
    text-align: left;
  }

  .bottomCta__right {
    margin-left: clamp(3rem, -1.067rem + 5.295vi, 9.1rem);
  }

  .bottomCta__center {
    margin-left: auto;
  }

  .bottomCta__label {
    margin-top: 2.4rem;
  }

  .bottomCta__right .bottomCta__label {
    margin-top: 1.4rem;
  }

  .bottomCta__contact {
    width: 100%;
    min-width: 154px;
  }

  .boxPlus {
    padding: 12rem 0;
  }

  .boxPlus__container {
    grid-template-columns: 25.6097560976% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 164rem;
    max-width: 100%;
    margin-right: initial;
    padding: initial;
    padding-left: 9rem;
    gap: 5rem;
  }

  .boxPlus__title {
    width: initial;
    margin-left: initial;
  }

  .boxPlus__title::before,
  .boxPlus__title::after {
    top: -4rem;
    left: -7.5rem;
    width: 9rem;
    height: 0.9rem;
  }

  .boxPlus__icon {
    margin-top: 5rem;
  }

  .boxPlus__items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: initial;
    gap: 5rem 3rem;
  }

  .branchPlan::after {
    left: 20%;
    width: 14.8rem;
    height: 24.9rem;
  }

  .branchPoint {
    margin-top: 7.6rem;
    padding-bottom: 13rem;
  }

  .branchPoint::after {
    width: 94.7916666667%;
    height: calc(100% - 8.8rem);
  }

  .branchPoint__inner {
    padding: initial;
  }

  .branchPoint__container {
    grid-template-columns: 52.9166666667% 30.7291666667%;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 5.9rem;
  }

  .branchPoint__images {
    gap: 2rem;
  }

  .branchPoint__image:first-child {
    margin-top: 7.5rem;
  }

  .branchPoint__copy {
    margin-top: 3rem;
  }

  .branchPoint__text {
    max-width: 400px;
    margin-top: 3.2rem;
  }

  .branchPoint__items {
    grid-template-columns: repeat(2, 1fr);
    max-width: 960px;
    margin-top: 10rem;
    margin-inline: auto;
    gap: 9rem 12rem;
  }

  .branchPoint__item {
    grid-template-columns: 23.8095238095% 1fr;
  }

  .branchPoint__item:nth-child(odd)::after {
    position: absolute;
    top: 0;
    right: -6rem;
    left: initial;
    width: 1px;
    height: 20rem;
    background: #D9D9D9;
    content: "";
  }

  .branchPoint__item:nth-child(1)::before,
  .branchPoint__item:nth-child(2)::before {
    position: absolute;
    bottom: -4.5rem;
    left: 0;
    width: 100%;
    height: 1px;
    background: #D9D9D9;
    content: "";
  }

  .branchPoint__item:nth-child(2)::after {
    display: none;
  }

  .branchPoint__icon {
    max-width: 100px;
  }

  .branchPoint__description {
    margin-top: 2rem;
  }

  .branchTop {
    margin-top: 0;
  }

  .branchTop__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .branchTop__head {
    top: 3.5rem;
    left: 50.13%;
    font-size: 3.4rem;
  }

  .branchTop__item {
    min-height: 37rem;
  }

  .branchTop.customizedTop .branchTop__head {
    top: 2.5rem;
    left: 50%;
    font-size: 4rem;
    line-height: 1.2;
  }

  .branchTop.customizedTop .branchTop__label {
    font-size: 1.3rem;
  }

  .branchTop.customizedTop .branchTop__value {
    font-size: 2rem;
  }

  .branchTop__circle {
    width: 11rem;
    height: 11rem;
  }

  .branchTop__label {
    font-size: 1.5rem;
  }

  .branchTop__value {
    font-size: 3.4rem;
  }

  .branchTop__value-sub {
    bottom: 1.5rem;
  }

  .branchTop__price .size {
    font-size: 1.8rem;
    letter-spacing: 2.8px;
  }

  .branchTop__price .price {
    font-size: 6.7rem;
  }

  .branchTop__price .money {
    font-size: 2.2rem;
    letter-spacing: 2.64px;
  }

  .categoryBtn__items {
    gap: initial;
    font-size: 1.4rem;
    letter-spacing: 2.24px;
  }

  .categoryBtn__item a {
    padding: 0 2.5rem;
  }

  .categoryBtn__item.is-active a span::after {
    width: 110%;
  }

  .center-image.--padding {
    padding-bottom: 19.4rem;
  }

  .check {
    padding-top: 14.9rem;
  }

  .check__container {
    max-width: 1000px;
    margin-inline: auto;
    padding: 7.2rem 5.2rem 5.2rem;
  }

  .check__title {
    font-size: 2.4rem;
  }

  .check__description {
    margin-top: 2.3rem;
  }

  .check__items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 2.8rem;
    padding-top: 3.1rem;
    gap: 3.3rem 1.6rem;
  }

  .check__lists {
    margin-top: 2.3rem;
  }

  .check__etc {
    right: 9.3rem;
    bottom: 5.2rem;
    font-size: 3.7rem;
  }

  .company {
    padding-top: 10.3rem;
    padding-bottom: 18rem;
  }

  .company__inner {
    max-width: 1205px;
  }

  .company__en {
    font-size: 2rem;
  }

  .company__jp {
    font-size: 4.8rem;
  }

  .company__items {
    margin-top: 6.8rem;
  }

  .company__item {
    grid-template-columns: 1fr 69.6265560166%;
    padding: 3rem 0;
  }

  .concept {
    padding-top: 18rem;
    padding-bottom: 15rem;
  }

  .concept__inner {
    padding: initial;
  }

  .concept__container {
    grid-template-columns: 47.9166666667% 1fr;
    gap: clamp(2rem, -3.667rem + 7.378vi, 10.5rem);
  }

  .concept__title {
    font-size: 2.6rem;
    line-height: 1.8076923077;
    text-align: initial;
  }

  .concept__text {
    margin-top: 3.5rem;
    font-size: 1.6rem;
    line-height: 2;
    text-align: initial;
  }

  .concept__items {
    margin-top: auto;
  }

  .concept__item {
    gap: 1.5rem;
    font-size: 1.6rem;
    line-height: 2;
  }

  .concept__value {
    line-height: 2;
  }

  .concept__btn {
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    margin-top: 4.6rem;
  }

  .concept__btn a {
    font-size: 1.6rem;
  }

  .contact__heading {
    font-size: 1.8rem;
  }

  .contactForm {
    padding-bottom: 10rem;
  }

  .contactForm__head {
    font-size: 3.8rem;
  }

  .contactForm__flows {
    gap: 16rem;
  }

  .contactForm__flow {
    width: 8rem;
    height: 8rem;
  }

  .contactForm__flow:nth-child(2)::before,
  .contactForm__flow:nth-child(2)::after {
    width: 15rem;
  }

  .contactForm__wrapper.contactForm__wrapper-thanks {
    max-width: 1150px;
  }

  .contactForm__wrapper {
    max-width: 982px;
    margin-inline: auto;
  }

  .contactForm__sub {
    margin-top: 2.8rem;
  }

  .contactForm__item {
    grid-template-columns: 1fr 70.9775967413%;
    padding-right: 1.7rem;
    gap: 4.5rem;
  }

  .contactForm__wrapper-confirm .contactForm__answer {
    padding: 2rem;
  }

  .contactForm__labels label {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .contactForm__time .--time {
    width: 17rem;
  }

  .contactForm__info {
    line-height: 2.1538461538;
  }

  .contactForm__btns {
    max-width: 80%;
    margin-top: 11rem;
    margin-inline: auto;
  }

  .contactForm__btns .contactForm__btn {
    margin-top: initial;
  }

  .contactForm__btns .contactForm__btn input {
    width: 25rem;
  }

  .contactForm__btn input {
    width: 40rem;
    min-height: 8rem;
    font-size: 1.8rem;
  }

  .contacForm__thanks {
    width: 80%;
    margin-top: 5rem;
    font-size: 1.8rem;
  }

  .contactForm__bottom {
    margin-top: 8rem;
  }

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=date],
  select,
  textarea {
    height: auto;
    min-height: 4.8rem;
  }

  input[type=date] {
    width: 28.1rem;
  }

  textarea {
    height: 34.8rem;
  }

  .cta {
    padding-top: 24rem;
  }

  .cta__container {
    padding-top: 14.2rem;
    padding-bottom: 7.8rem;
  }

  .cta__house {
    top: -10.6rem;
    width: initial;
  }

  .cta__price .size {
    font-size: 1.8rem;
    letter-spacing: 2.8px;
  }

  .cta__price .price {
    font-size: 6.7rem;
  }

  .cta__price .money {
    font-size: 2.2rem;
    letter-spacing: 2.64px;
  }

  .cta__attention {
    text-align: center;
  }

  .cta__btn a {
    min-height: 11.6rem;
  }

  .curriculum {
    padding-top: 10rem;
    padding-bottom: 26rem;
  }

  .curriculum__items {
    grid-template-columns: repeat(2, 1fr);
    max-width: 1180px;
    margin-top: 7rem;
    margin-inline: auto;
    gap: 2rem 2.4rem;
  }

  .curriculum__item {
    padding: 5rem 4.5rem;
    gap: 2rem;
  }

  .curriculum__title {
    font-size: 2.2rem;
  }

  .curriculum__text {
    font-size: 1.6rem;
  }

  .curriculum__lists {
    font-size: 1.8rem;
  }

  .customizedAbout {
    padding-top: 22.5rem;
    padding-bottom: 29.4rem;
  }

  .customizedAbout__container {
    grid-template-columns: 33.3333333333% 43.75%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 9rem;
  }

  .customizedAbout__content {
    padding: initial;
  }

  .customizedAbout__title {
    font-weight: 400;
    font-size: 5.4rem;
  }

  .cusomizedAbout__texts {
    width: 64.21875%;
    margin-top: 7.4rem;
    gap: 3rem;
    gap: 5.8rem;
  }

  .customizedAbout__text {
    font-size: 2rem;
    line-height: 2.5;
  }

  .customizedCta .cta__title {
    font-size: 4.2rem;
  }

  .customizedTop {
    margin-top: initial;
  }

  .customizedTop .branchTop__head {
    font-size: 4rem;
  }

  .design__inner {
    padding: initial;
  }

  .design__items {
    padding-top: 14.8rem;
    padding-bottom: 24rem;
    gap: 8.9rem;
  }

  .design__item {
    display: grid;
    grid-template-columns: 50.6024096386% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1630px;
    padding-right: 1rem;
    gap: clamp(0.5rem, -9.5rem + 13.021vi, 15.5rem);
  }

  .design__item:nth-child(odd) {
    grid-template-columns: 1fr 51.5337423313%;
    margin-left: auto;
    padding-left: 1rem;
    gap: clamp(2rem, -1.6rem + 4.688vi, 7.4rem);
  }

  .design__item:nth-child(odd) .design__image {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .design__item:nth-child(odd) .design__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .design__item:nth-child(even) {
    max-width: 1660px;
  }

  .design__content {
    padding: initial;
  }

  .design__title {
    font-size: clamp(2.8rem, 2.267rem + 0.694vi, 3.6rem);
    font-size: clamp(2.2rem, 1.267rem + 1.215vi, 3.6rem);
    line-height: 1.5555555556;
    letter-spacing: 9.45px;
    letter-spacing: clamp(0.35rem, -0.047rem + 0.516vi, 0.945rem);
  }

  .design__description {
    margin-top: 3rem;
  }

  .design__item:nth-child(1) .design__content {
    padding-left: 7rem;
  }

  .design__item:nth-child(1) .design__copy {
    font-size: 1.75rem;
    letter-spacing: 15px;
  }

  .design__lists {
    margin-top: 3.8rem;
    padding-left: 1em;
  }

  .design__list::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .design__btn {
    margin-top: 7.1rem;
  }

  .design__items-cream {
    padding-top: 15.9rem;
    padding-bottom: 19.2rem;
  }

  .design__mini {
    width: initial;
    margin-top: 7.1rem;
  }

  .design__wrap {
    grid-template-columns: 8.8rem 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2.3rem 1.5rem 2.3rem 2rem;
    gap: 2.5rem;
  }

  .design__label {
    font-size: 1.8rem;
  }

  .design__attention {
    letter-spacing: 0.72px;
  }

  .design__name {
    margin-bottom: initial;
  }

  .detail__slider {
    grid-template-columns: 71.3rem 1fr;
    gap: 2.3rem;
  }

  .difference {
    padding-top: 22.8rem;
    padding-bottom: 15.9rem;
  }

  .difference__container {
    grid-template-columns: 48.3571428571% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5.2rem;
  }

  .difference__content {
    padding: 6.9rem clamp(2rem, -1.267rem + 4.253vi, 6.9rem) 5rem;
  }

  .difference__content::before {
    top: -7rem;
    width: 37.8rem;
    height: 10.3rem;
  }

  .difference__title {
    font-size: clamp(2.2rem, 1.533rem + 0.868vi, 3.2rem);
    line-height: 1.375;
  }

  .difference__description {
    margin-top: 4.5rem;
  }

  .difference__image {
    margin-top: -10rem;
  }

  .event .design__item:nth-child(2) .design__content {
    padding-right: 7rem;
  }

  .event .design__item:nth-child(2) .design__copy {
    font-size: 1.75rem;
    letter-spacing: 15px;
  }

  .single div#ez-toc-container {
    margin-top: 6.5rem;
    padding: 5rem;
  }

  .single div#ez-toc-container .ez-toc-title {
    padding-left: 6.3rem;
    font-size: 2.2rem;
  }

  .single div#ez-toc-container .ez-toc-title::before {
    width: 5.3rem;
    height: 5.3rem;
  }

  .single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1 {
    font-size: 1.8rem;
  }

  .single div#ez-toc-container ul.ez-toc-list .ez-toc-page-1 a::before {
    top: 1.2rem;
    width: 1rem;
    height: 1rem;
  }

  .flow {
    padding-top: 10rem;
    padding-bottom: 11.5rem;
  }

  .flow__items {
    margin-top: 4.2rem;
  }

  .flow__items::after {
    left: 11%;
  }

  .flow__item {
    grid-template-columns: 21.7857142857% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6rem;
  }

  .flow__image {
    display: block;
  }

  .flow__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: initial;
    padding: 5rem 6rem;
    gap: 5.6rem;
    border: initial;
  }

  .flow__step {
    font-size: 10rem;
  }

  .flow__step span {
    font-size: 2.6rem;
  }

  .flow__title {
    font-size: 3.6rem;
    line-height: 170%;
  }

  .flow__text {
    margin-top: 1.4rem;
    font-weight: 400;
    font-size: 2.2rem;
  }

  .footer {
    padding-top: 14.9rem;
    padding-bottom: 5.4rem;
    background: #FFF;
  }

  .footer__inner {
    max-width: 1240px;
    padding: 0 20px;
  }

  .footer__container {
    grid-template-columns: 16.4166666667% 1fr;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: initial;
    margin-inline: initial;
    gap: 1.6rem;
  }

  .footer__content {
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
    -ms-flex-order: initial;
    order: initial;
  }

  .footer__logo {
    width: 15rem;
    margin-inline: initial;
  }

  .footer__snss {
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
  }

  .footer__moc {
    margin-top: 2rem;
  }

  .footer__links {
    margin-top: 2.1rem;
  }

  .footer__areas {
    grid-template-columns: repeat(3, 1fr);
    width: initial;
    margin-top: 0.5rem;
    gap: 0 0.5rem;
  }

  .footer__areas.u-desktop {
    display: grid;
  }

  .footer__attention {
    margin-top: 1rem;
  }

  .footer__right {
    gap: 1.6rem;
  }

  .footer__navs {
    gap: 1.6rem;
  }

  .footer__navs.u-desktop {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .footer__items {
    margin-top: 1.6rem;
  }

  .footer__item-events {
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .footer__bottom {
    margin-top: 4rem;
    margin-top: 9rem;
    color: #282828;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.4;
  }

  .footer__company {
    font-weight: 700;
  }

  .footer__map {
    text-align: left;
  }

  .footer__map span {
    padding-left: 1.2em;
  }

  .footer__map span::after {
    left: 0;
  }

  .fv {}

  .swiper__fv {
    width: 100%;
    height: 100vh;
  }

  .fv__image {
    height: 100vh;
  }

  .fv__image::after {
    display: block;
  }

  .fv__image img {}

  .fv__content {
    -webkit-transform: none;
    transform: none;
    top: 0;
    bottom: 0;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    padding: 0 4rem 4rem;
    flex-wrap: nowrap;
  }

  .fv__title {
    position: absolute;
    bottom: 0%;
    left: 12rem;
  }

  .fv__main {
    font-size: 6rem;
    line-height: 1.3571428571;
    letter-spacing: 3.2px;
  }

  .fv__sub {
    margin-top: -2rem;
    font-size: 5.8rem;
    line-height: 1.8103448276;
    letter-spacing: 7px;
  }

  .fv__links {
    width: initial;
    max-width: initial;
    margin-inline: initial;
  }

  .fv__links.u-desktop {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 0;
    gap: 3.2rem;
  }

  .fv__links.u-mobile {
    display: none;
  }

  .fvSub__image {
    height: 46.3rem;
  }

  .fvSub__inner {
    top: 50%;
  }

  .fvBranch__catch {
    font-size: 1.4rem;
  }

  .fvBranch__title {
    font-size: 10rem;
  }

  .fvBranch__tagline {
    font-size: 1.3rem;
  }

  .fvBranch__award-mark {
    font-size: 1.1rem;
    padding: 0.5rem 1.1rem;
  }

  .fvBranch__award-by {
    font-size: 1.3rem;
  }

  .fvSub__en {
    font-size: 1.6rem;
  }

  .fvSub__jp {
    font-size: 4rem;
  }

  .fvSub__text {
    top: initial;
    bottom: -5rem;
    font-size: 1.4rem;
  }

  .fvTopics {
    padding: 2rem;
  }

  .fvTopics__title {
    width: 100%;
  }

  .graduate {
    padding-top: 10rem;
    padding-bottom: 23.2rem;
  }

  .graduate__items {
    margin-top: 9.8rem;
    gap: 10rem;
  }

  .graduate__item {
    grid-template-columns: 48.8571428571% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 7.2rem;
  }

  .graduate__item:nth-child(even) {
    grid-template-columns: 1fr 48.8571428571%;
  }

  .graduate__item:nth-child(even) .graduate__image {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .graduate__item:nth-child(even) .graduate__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .graduate__name {
    font-size: 2.6rem;
  }

  .guarantee__inner {
    max-width: 960px;
    padding-top: 11rem;
    padding-bottom: 18rem;
  }

  .guarantee__title {
    font-size: 3.5rem;
  }

  .guarantee__items {
    margin-top: 5.3rem;
    gap: 3.2rem;
  }

  .guarantee__item {
    grid-template-columns: 23.152173913% 1fr;
    gap: 2.8rem;
  }

  .guarantee__label {
    text-align: initial;
  }

  .hamburger {
    width: 5.2rem;
    height: 5.2rem;
    margin-left: 2.6rem;
  }

  .hamburger span {
    left: 1.2rem;
    right: auto;
    width: 2.8rem;
  }

  .hamburger span:nth-of-type(1) {
    top: 1.5rem;
  }

  .hamburger span:nth-of-type(3) {
    top: calc(100% - 1.5rem - 2px);
  }

  .hamburger.active span {
    left: 1.2rem;
    width: 2.8rem;
  }

  .header {
    height: 13.3rem;
  }

  .header.change-color {
    top: 1.9rem;
    left: 50%;
    width: 87.65625%;
    height: 9.5rem;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: 6px;
    background: rgba(57, 51, 51, 0.851);
    color: #FFF;
  }

  .header__inner {
    padding-right: 6.1rem;
    padding-left: initial;
    border-radius: 6px;
  }

  .header__logo {
    width: 13rem;
  }

  .header__nav {
    display: block;
    height: inherit;
    margin-left: auto;
  }

  .headerSp__inner {
    max-width: 1300px;
  }

  .headerSp__wrapper {
    max-width: 807px;
    margin-top: 20.5rem;
    margin-inline: auto;
    gap: 11.7rem;
  }

  .headerSp__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-ordinal-group: initial;
    -webkit-order: initial;
    -ms-flex-order: initial;
    order: initial;
    margin-top: initial;
  }

  .headerSp__logo {
    width: 14.9rem;
    margin-inline: initial;
  }

  .headerSp__snss {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    margin-top: initial;
  }

  .headerSp__links {
    gap: 3rem;
  }

  .headerSp__menu {
    gap: 6.1rem;
  }

  .headerSp__navs {
    grid-template-columns: repeat(4, 1fr);
    gap: 3.6rem 6rem;
  }

  .headerSp__navs .headerSp__nav:nth-child(odd) {
    padding-left: initial;
  }

  .headerSp__bottom {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
  }

  .headerSp__area {
    grid-column: span 2;
    /* 2列分の幅を取る */
    margin-top: initial;
  }

  .headerSp__area-items {
    gap: 2.2rem;
  }

  .hero__scroll {
    display: block;
    z-index: 10;
    position: absolute;
    bottom: 12.8rem;
    left: 4.5rem;
    color: #FFF;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1;
    font-family: "Cantarell", sans-serif;
    letter-spacing: 2.64px;
    text-transform: capitalize;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .hero__scroll::before {
    height: 9.5rem;
    -webkit-animation: scrollLineDown 2s ease-in-out infinite;
    animation: scrollLineDown 2s ease-in-out infinite;
  }

  .history {
    padding-top: 10.2rem;
    padding-bottom: 13.9rem;
  }

  .history__inner {
    max-width: 1200px;
  }

  .history__items {
    margin-top: 6.6rem;
  }

  .history__item {
    grid-template-columns: 120px 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2.8rem 5rem;
    gap: 2rem;
    gap: 4rem;
    font-size: 1.6rem;
    letter-spacing: 3.2px;
  }

  .important {
    padding-top: 9.1rem;
    padding-bottom: 7.6rem;
  }

  .important__container {
    display: grid;
    grid-template-columns: 32.2rem 1fr;
    padding: 4.8rem 4.1rem 6.9rem;
    gap: 6.1rem;
  }

  .important__title {
    height: 32.2rem;
    margin-top: initial;
  }

  .important__text {
    margin-top: initial;
    margin-top: 2rem;
  }

  .important__text p {
    font-size: 2.4rem;
    line-height: 1;
  }

  .important__text p:not(:first-child) {
    margin-top: 4.1rem;
  }

  .important__text p:last-child {
    margin-top: 1.5rem;
  }

  .infinity {
    height: 84rem;
  }

  .infinity__track {
    -webkit-animation: infinity-scroll 20s linear infinite;
    animation: infinity-scroll 20s linear infinite;
  }

  .infinity__wrap {
    width: 96rem;
  }

  .infinity__wrap.--center {
    width: 77.9rem;
  }

  .inspection {
    padding: 8.5rem 0;
  }

  .inspection__inner {
    max-width: 1040px;
  }

  .inspection__wrapper {
    max-width: 87.8%;
  }

  .inspection__container {
    display: grid;
    grid-template-columns: 1fr 41.0022779043%;
    gap: 5rem;
  }

  .inspection__title {
    font-size: 2.4rem;
  }

  .inspection__description {
    margin-top: 2.9rem;
  }

  .inspection__graph {
    margin-top: 5rem;
  }

  .inspection__copy {
    left: 1em;
    font-size: 1.75rem;
  }

  .introduction {
    padding-top: 16rem;
    padding-bottom: 7.6rem;
  }

  .introduction__container {
    grid-template-columns: 46.0714285714% 1fr;
    margin-top: 7rem;
    gap: 7rem;
  }

  .line {
    padding-top: 7.4rem;
    padding-bottom: 9rem;
  }

  .link {
    display: block;
    visibility: hidden;
    z-index: 10;
    position: relative;
    position: fixed;
    right: 3rem;
    bottom: 4rem;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .map {
    margin-top: 8rem;
    padding: 2rem 5rem 4rem;
  }

  .map__item {
    grid-template-columns: 15% 1fr;
    gap: 1.8rem;
  }

  .map__item::after {
    width: 12rem;
  }

  .map__label {
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .merit.topArchitecture .topArchitecture__item:last-child .topArchitecture__number {
    color: #FFF;
  }

  .merit.topArchitecture .topArchitecture__text {
    font-size: 2rem;
    line-height: 210%;
  }

  .message {
    padding-top: 11.6rem;
    padding-bottom: 24.2rem;
  }

  .message__inner {
    max-width: 1245px;
  }

  .message__container {
    grid-template-columns: 47.7178423237% 1fr;
    gap: 6rem;
  }

  .message__en {
    font-size: 2rem;
  }

  .message__jp {
    font-size: clamp(3rem, 0.943rem + 2.679vi, 4.8rem);
  }

  .message__description {
    margin-top: 2rem;
    line-height: 1.85;
  }

  .message__info {
    width: 15.5rem;
    margin-top: 8rem;
  }

  .message__job {
    font-size: 1.5rem;
  }

  .message__name-jp {
    font-size: 2.8rem;
  }

  .message__name-en {
    font-size: 1.6rem;
  }

  .method {
    padding-top: 11rem;
    padding-bottom: 13.9rem;
  }

  .method h3,
  .method .wp-block-heading {
    min-height: 9.9rem;
    font-size: 3rem;
  }

  .method h3:nth-child(n+2) {
    margin-top: 11.3rem;
  }

  .method p {
    margin-top: 4.1rem;
    font-size: 1.8rem;
  }

  .method__container {
    margin-top: 8rem;
  }

  .mv__image::after {
    display: block;
  }

  .mv__title {
    display: block;
    top: 55%;
    left: 23.7rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .mv__main {
    padding: initial;
    background: initial;
    font-weight: 400;
    font-size: 5.8rem;
    line-height: 150%;
    -webkit-writing-mode: initial;
    -ms-writing-mode: initial;
    writing-mode: initial;
  }

  .mv__main-second {
    margin-top: initial;
  }

  .mv__sub {
    font-size: 1.8rem;
  }

  .mv .swiper-pagination {
    bottom: 6.8rem;
    gap: 1.5rem;
  }

  .need {
    padding-top: 13.5rem;
    padding-bottom: 17.3rem;
  }

  .need__container {
    grid-template-columns: 48.8571428571% 1fr;
    margin-top: 5.8rem;
    gap: 7rem;
  }

  .need__content {
    margin-top: 7rem;
  }

  .need__text {
    font-size: 2rem;
  }

  .need__btn {
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    margin-top: 4.7rem;
  }

  .need__btn a {
    font-weight: 400;
  }

  .not-found {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .not-found__text {
    font-size: 2.6rem;
  }

  .option {
    padding: 12rem 0;
  }

  .option__container {
    grid-template-columns: 25.6097560976% 1fr;
    width: 164rem;
    max-width: 100%;
    margin-right: initial;
    padding: initial;
    padding-left: 9rem;
    gap: 5rem;
  }

  .option__content {
    margin-top: 14rem;
  }

  .option__title {
    margin-left: initial;
    font-size: 5.4rem;
    letter-spacing: 9.45px;
  }

  .option__icon {
    margin-top: 5rem;
  }

  .option__items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: initial;
    gap: 5rem 3rem;
  }

  .pageTop__btn {
    position: absolute;
    right: 2.5rem;
    bottom: 0;
  }

  .pageTop__btn span::before {
    display: none;
  }

  .pagination {
    margin-top: 13.6rem;
  }

  .pagination .total {
    font-size: 1.3rem;
    letter-spacing: 1.6px;
  }

  .page-numbers {
    width: 10rem;
    height: 10rem;
    font-size: 1.7rem;
    line-height: 1.5882352941;
  }

  .prev,
  .next {
    font-size: 1.7rem;
    line-height: 1.5882352941;
  }

  .partner {
    padding-top: 26rem;
    padding-bottom: 10rem;
  }

  .parter__container {
    width: 67.7%;
    margin-top: 10.4rem;
  }

  .parter__container::after {
    top: -37rem;
    left: 100%;
    width: 62.3rem;
    height: 82rem;
  }

  .partner__content {
    padding: 4.4rem 4.7rem 4.4rem 0;
    background: #FFF;
  }

  .partner__content::after {
    z-index: -1;
    position: absolute;
    top: 14%;
    left: 75%;
    width: 96rem;
    height: 64rem;
    background: url(../img/partner_image.png) no-repeat;
    background-size: contain;
    content: "";
  }

  .partner__title {
    width: 78.6%;
    min-height: 8rem;
    margin-top: 23.6rem;
    font-size: 2.4rem;
  }

  .partner__items {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 5.5rem;
    gap: 3.2rem;
  }

  .performance__wrap {
    padding-top: 9.8rem;
    padding-bottom: 14rem;
  }

  .performance__inner {
    max-width: 1040px;
  }

  .performance__items {
    gap: 6rem;
  }

  .performance__title {
    font-size: 2.4rem;
    letter-spacing: 4.8px;
  }

  .performance__title.--margin {
    margin-top: 4rem;
  }

  .performance__text {
    margin-top: 2.9rem;
  }

  .performance__image {
    margin-top: 5rem;
  }

  .performance__flex {
    margin-top: 3.5rem;
    gap: 5rem;
  }

  .performance__flex .performance__image p {
    font-size: 1.4rem;
  }

  .performance__grid {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 3.3rem;
    gap: 4.7rem;
  }

  .performance__grid img {
    margin-top: 2.4rem;
  }

  .performance__label {
    padding: 0.3em 1.6rem;
  }

  .performance__copy {
    left: -7.4rem;
    font-size: 1.75rem;
    letter-spacing: 15px;
  }

  .philosophy {
    padding-top: 8.8rem;
    padding-bottom: 12.8rem;
  }

  .philosophy__text {
    margin-top: 7rem;
    font-size: 2.2rem;
    line-height: 2.1818181818;
  }

  .phone {
    padding-bottom: 12.1rem;
  }

  .phone__container {
    padding: 6.9rem 5.1rem 4.8rem;
  }

  .phone__number {
    padding-left: initial;
    font-size: 6rem;
  }

  .phone__number span::before {
    left: -7rem;
    font-size: 3rem;
  }

  .phone__fax {
    padding-bottom: 3rem;
    padding-bottom: 5rem;
    font-size: 4rem;
  }

  .phone__fax span {
    font-size: 3rem;
  }

  .phone__time {
    font-size: 3rem;
    line-height: 1;
  }

  .plan {
    padding: 12rem 0 14.5rem;
  }

  .plan__text {
    max-width: 52.2rem;
    margin-top: 3.8rem;
    margin-inline: auto;
    text-align: center;
  }

  .plan__items {
    grid-template-columns: repeat(2, 1fr);
    max-width: 1100px;
    margin-top: 7.3rem;
    margin-inline: auto;
  }

  .plan__title {
    margin-top: 2.7rem;
    font-size: 1.5rem;
    letter-spacing: 2.1px;
  }

  .plan__title span {
    padding-right: 3rem;
  }

  .privacy {
    padding-top: 10.4rem;
    padding-bottom: 14rem;
  }

  .privacy__inner {
    max-width: 1000px;
  }

  .privacy__items {
    margin-top: 5.6rem;
    gap: 4.8rem;
  }

  .privacy__label {
    font-size: 2rem;
  }

  .privacy__info {
    margin-top: 3.5rem;
  }

  .qa {
    padding-bottom: 16rem;
  }

  .qa__container {
    grid-template-columns: 74.2857142857% 1fr;
    gap: 5rem;
  }

  .qa__wrapper {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    gap: 10rem;
  }

  .qa__lists {
    display: initial;
    grid-template-columns: initial;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 10.8rem;
    padding: 3.4rem 2.2rem 8.6rem;
    gap: initial;
  }

  .qa__list {
    font-size: 1.8rem;
  }

  .qa__list a {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }

  .qa__list:first-child a {
    padding-top: initial;
  }

  .qa .topQa__items {
    margin-top: initial;
    margin-top: 3rem;
  }

  .qa .topQa__item {
    padding: 0 4.8rem;
  }

  .qa .topQa__label {
    padding-right: 4rem;
  }

  .qualification {
    padding-bottom: 22.6rem;
  }

  .qualification__attention {
    font-size: 2rem;
  }

  .qualification__wrapper {
    margin-top: 10.4rem;
    gap: 34.6rem;
  }

  .qualification__items {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 7rem;
    gap: 7.5rem 7.8rem;
    gap: clamp(2rem, -1.667rem + 4.774vi, 7.5rem) clamp(2rem, -1.867rem + 5.035vi, 7.8rem);
  }

  .qualification__wrap:first-child .qualification__items> :last-child {
    grid-column: span 2;
    /* 最初の要素を1行全体に広げる */
  }

  .qualification__wrap:first-child .qualification__item:last-child .qualification__image {
    aspect-ratio: 1400/386;
  }

  .qualification__wrap:first-child .qualification__item:last-child .qualification__arrow {
    top: 48%;
    left: 13.6rem;
  }

  .qualification__image {
    aspect-ratio: 661/381;
  }

  .qualification__arrow {
    top: 40%;
    left: 4.2rem;
    width: 19.8rem;
    width: clamp(14rem, 7.371rem + 8.631vi, 19.8rem);
  }

  .qualification__title {
    top: 35%;
    width: clamp(25rem, 14.333rem + 13.889vi, 41rem);
  }

  .qualification__en {
    font-size: 7rem;
    font-size: clamp(4rem, 2rem + 2.604vi, 7rem);
    line-height: 100%;
  }

  .qualification__wrap:nth-child(2) .qualification__en {
    width: clamp(25rem, 8.333rem + 21.701vi, 50rem);
    font-size: clamp(1.8rem, 1.267rem + 0.694vi, 2.6rem);
    line-height: 1.5769230769;
    letter-spacing: 0.8px;
  }

  .qualification__jp {
    margin-top: 1.3rem;
    font-size: 1.44rem;
    line-height: 1.5555555556;
  }

  .qualificationAbout__container {
    grid-template-columns: 23.8rem 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 1.6rem;
    padding: 4.4rem 6rem;
    gap: 6rem;
  }

  .qualificationAbout__image {
    width: 100%;
    margin-inline: initial;
  }

  .qualificationAbout__text {
    font-size: 2.2rem;
  }

  .qualificationCan {
    padding-top: 10rem;
    padding-bottom: 12.3rem;
  }

  .qualificationCan .qualificationCan__swiper {
    margin-top: clamp(7rem, 2.333rem + 6.076vi, 14rem);
  }

  .qualificationDetail {
    padding-top: 17.5rem;
    padding-bottom: 21.6rem;
  }

  .qualificationDetail__items {
    margin-top: 6.6rem;
    gap: 10rem;
  }

  .qualificationDetail__item {
    grid-template-columns: 48.8571428571% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 7.2rem;
  }

  .qualificationDetail__item:nth-child(even) {
    grid-template-columns: 1fr 48.8571428571%;
  }

  .qualificationDetail__item:nth-child(even) .qualificationDetail__image {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .qualificationDetail__item:nth-child(even) .qualificationDetail__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .qualificationPoint {
    padding-top: 14rem;
    padding-bottom: 16.7rem;
  }

  .qualificationPoint .topQa__item {
    padding: 0 4.8rem;
  }

  .qualificationQa {
    padding-top: 10rem;
    padding-bottom: 15rem;
  }

  .reason {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }

  .reason .section__jp {
    font-weight: 700;
  }

  .reason__items {
    margin-top: 7rem;
    gap: 8.8rem;
  }

  .reason__item {
    gap: 4.1rem;
  }

  .reason__title {
    min-height: 9.9rem;
    padding: 0.2em 3rem;
    font-size: 3rem;
  }

  .reason__text {
    font-size: 1.8rem;
  }

  .reason__text span {
    font-size: 2.6rem;
  }

  .recommend__inner {
    max-width: 1140px;
  }

  .recommend__heading {
    font-size: 2.2rem;
  }

  .recommend__items {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 4rem;
  }

  .recommend__label {
    margin-top: 2.2rem;
  }

  .recommend__time {
    font-size: 1.4rem;
  }

  .recommend__title {
    font-size: 1.5rem;
  }

  .recommendation {
    padding-top: 31rem;
    padding-bottom: 25.7rem;
  }

  .recommendation__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2rem;
  }

  .recommendation__item {
    min-height: 15.2rem;
    padding: 2.5rem 4rem;
    font-size: clamp(2rem, 1.2rem + 1.042vi, 3.2rem);
  }

  .reform {
    padding-top: 4rem;
    padding-bottom: 10rem;
  }

  .reform__inner {
    max-width: 1400px;
  }

  .reform__top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2rem;
  }

  .reform__icon {
    width: 37.5rem;
    margin-inline: initial;
  }

  .reform__head {
    font-size: 4rem;
  }

  .reform__text {
    margin-top: 3rem;
  }

  .reform__items {
    gap: 5rem;
  }

  .reform__item {
    grid-template-columns: 1fr 34.5408593092%;
    padding: 4rem 4rem 4rem 13.5rem;
    gap: 5.8rem;
  }

  .reform__step {
    top: 2.8rem;
    left: 3.7rem;
    font-size: 5.4rem;
  }

  .reform__step span {
    font-size: 1.6rem;
  }

  .reform__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 3.1rem;
  }

  .reform__title {
    font-size: 2.8rem;
    line-height: 1.2857142857;
  }

  .reform__image {
    aspect-ratio: initial;
  }

  .reform__attention {
    margin-top: 5rem;
    font-size: 1.6rem;
    text-align: right;
  }

  .reformArea {
    margin-top: 20rem;
    padding-top: 17.7rem;
    padding-bottom: 15rem;
  }

  .reformArea__image {
    top: -25.1rem;
    width: 89.8rem;
    max-width: initial;
  }

  .reformArea__label {
    width: 27.9rem;
    min-height: 5.3rem;
    margin-top: 7.5rem;
    font-size: 2.2rem;
  }

  .reformArea__lists {
    max-width: 97rem;
    margin-top: 7.5rem;
    margin-inline: auto;
    gap: 2.1rem;
  }

  .reformArea__list {
    padding-right: 2.1rem;
    font-size: 2rem;
  }

  .reformArea__list::after {
    height: 1.9rem;
  }

  .reformCase {
    padding: 12rem 0;
  }

  .reformCase__inner {
    max-width: initial;
    margin-inline: initial;
    padding: initial;
  }

  .refomCase__container {
    grid-template-columns: 24.4051250763% 1fr;
    max-width: 85.3645833333%;
    margin-left: auto;
    padding-right: 2.9rem;
    gap: 6rem;
  }

  .reformCase__btn.u-mobile {
    display: none;
  }

  .reformCase__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 4.4rem 2rem;
  }

  .reformCase__content {
    width: 94.3362831858%;
    margin-top: 2.6rem;
  }

  .reformFlow {
    padding-top: 4rem;
    padding-bottom: 42rem;
  }

  .reformFlow__inner {
    max-width: 1400px;
  }

  .reformFlow__top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2rem;
  }

  .reformFlow__icon {
    width: 37.5rem;
    margin-inline: initial;
  }

  .reformFlow__head {
    font-size: 4rem;
  }

  .reformFlow__text {
    margin-top: 3rem;
  }

  .reformFlow__items {
    gap: 5rem;
  }

  .reformFlow__item {
    grid-template-columns: 1fr 34.5408593092%;
    padding: 4rem 4rem 4rem 13.5rem;
    gap: 5.8rem;
  }

  .reformFlow__step {
    top: 2.8rem;
    left: 3.7rem;
    font-size: 5.4rem;
  }

  .reformFlow__step span {
    font-size: 1.6rem;
  }

  .reformFlow__label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 3.1rem;
  }

  .reformFlow__title {
    font-size: 2.8rem;
    line-height: 1.2857142857;
  }

  .reformFlow__image {
    aspect-ratio: initial;
  }

  .reformFlow__attention {
    margin-top: 5rem;
    font-size: 1.6rem;
    text-align: right;
  }

  .reformMenu {
    padding-top: 10.2rem;
    padding-bottom: 9.6rem;
  }

  .reformMenu__inner {
    max-width: 1600px;
  }

  .refomrMenu__container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: initial;
  }

  .reformMenu__content {
    width: 79.9375%;
    margin-top: 16rem;
    margin-left: -38.4rem;
    margin-left: -20%;
    padding: 4.5rem 6.1rem 8.1rem clamp(5rem, -23.667rem + 37.326vi, 48rem);
  }

  .reformMenu__items {
    grid-template-columns: repeat(4, 1fr);
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 3.5rem;
  }

  .reformMenu__item {
    aspect-ratio: 164/126;
    padding: initial;
    font-size: 1.8rem;
  }

  .request__text {
    margin-top: 5rem;
  }

  .request__btns {
    margin-top: 4rem;
    gap: 3.2rem;
  }

  .request__btn a::after {
    right: 2.9rem;
    width: 4.6rem;
    height: 2.7rem;
  }

  .request__btn a::before {
    right: 2.9rem;
    width: 4.6rem;
    height: 2.7rem;
  }

  .request__content {
    margin-top: 6.2rem;
    padding: 6.9rem 6rem 6rem;
  }

  .request__attention {
    font-size: 2.4rem;
  }

  .request__content .request__text {
    margin-top: 4.5rem;
  }

  .request__partner {
    margin-top: 16.3rem;
  }

  .reserveLink a {
    min-height: 14.2rem;
    font-size: 2.4rem;
  }

  .reserveLink span::before {
    left: -5.7rem;
    width: 5rem;
    height: 5rem;
  }

  .room {
    padding-bottom: 13.8rem;
  }

  .room__inner {
    max-width: 1140px;
  }

  .room__text {
    margin-top: 4rem;
    letter-spacing: 1.6px;
  }

  .room__items {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 5.5rem;
    gap: 2.5rem;
  }

  .room__item {
    height: 14.4rem;
  }

  .room__item {
    height: 14.4rem;
  }

  .room-modal__close {
    top: -10rem;
    right: -10rem;
    font-size: 100px;
  }

  .schedule {
    padding-top: 10rem;
    padding-bottom: 13rem;
  }

  .schedule__text {
    margin-top: 4rem;
    font-size: 2rem;
  }

  .schedule__calenar {
    height: 71.6rem;
    margin-top: 4rem;
  }

  .schoolLink__items {
    grid-template-columns: repeat(2, 1fr);
  }

  .schoolLink__items> :last-child {
    grid-column: span 2;
    /* 最初の要素を1行全体に広げる */
  }

  .scholLink__item:last-child .schoolLink__arrow {
    left: 13.7rem;
  }

  .schoolLink__image {
    aspect-ratio: initial;
  }

  .schoolLink__arrow {
    top: 50%;
    left: 4.2rem;
    width: 19.8rem;
    width: clamp(14rem, 7.371rem + 8.631vi, 19.8rem);
  }

  .schoolLink__title {
    top: 35%;
    width: clamp(37rem, 34.333rem + 3.472vi, 41rem);
  }

  .schoolLink__en {
    font-size: 7rem;
    font-size: clamp(4rem, 2rem + 2.604vi, 7rem);
    line-height: 100%;
  }

  .schoolLink__en span {
    text-align: initial;
  }

  .sdgs {
    padding-top: 10rem;
    padding-bottom: 12.8rem;
  }

  .sdgs__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 8rem;
    gap: 4rem;
  }

  .sdgs__title {
    margin-top: 4.8rem;
    font-size: 2.6rem;
  }

  .sdgs__description {
    margin-top: 2.2rem;
  }

  .sdgs__btn {
    margin-top: 6.9rem;
  }

  .sectionHead {
    margin-top: 6rem;
    padding: initial;
    font-size: 2rem;
  }

  .side {
    width: 100%;
    margin-top: initial;
  }

  .side__title {
    padding-bottom: 1.6rem;
    font-size: 2rem;
  }

  .side__items {
    gap: 4rem;
  }

  .side__item {
    padding: 3.4rem 2rem;
    -webkit-box-shadow: initial;
    box-shadow: initial;
  }

  .single {
    padding-bottom: 14.2rem;
  }

  .single__inner {
    max-width: 940px;
    margin-inline: auto;
  }

  .single__label {
    gap: 5rem;
  }

  .single__category {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-height: 2.6rem;
  }

  .single__tags {
    gap: 0.5rem 1.3rem;
  }

  .single__tag {
    line-height: 2.1538461538;
  }

  .single__content {
    margin-top: 2.4rem;
  }

  .single__content .single__title {
    font-size: 2.8rem;
    line-height: 1.5;
  }

  .single__content p {
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.85;
  }

  .single__content h2 {
    margin-top: 4rem;
    font-size: 2.4rem;
    line-height: 1.2;
  }

  .single__content h3 {
    margin-top: 4rem;
    padding-left: 1.6rem;
    font-size: 2rem;
    line-height: 1.5;
  }

  .single__content h4 {
    margin-top: 3.2rem;
    font-size: 1.8rem;
    line-height: 1.5;
  }

  .single__content h5 {
    margin-top: 3.2rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }

  .single__content table,
  .single__content ul,
  .single__content ol,
  .single__content blockquote {
    margin-top: 3.2rem;
  }

  .single .single__content table {
    width: 71.2rem;
  }

  .single__content td:first-child {
    width: 24.7191011236%;
  }

  .single__content td {
    padding: 1.6rem;
  }

  .single__content ul li {
    padding-left: 1.5em;
  }

  .single__content ul li::before {
    font-size: 1.6rem;
    line-height: 1.448125;
  }

  .single__content ol li {
    padding-left: 1.2rem;
  }

  .single__content .wp-block-list-gray {
    padding: 2.4rem;
  }

  .single__content ol.wp-block-list-gray {
    padding: 2.4rem 2.4rem 2.4rem 5rem;
  }

  .single__content blockquote {
    width: 71.2rem;
    margin-top: 3.2rem;
    padding: 2.5rem 4.8rem;
  }

  .single__content blockquote::before {
    width: 3.2rem;
    height: 6rem;
  }

  .single__content blockquote::after {
    width: 3.5rem;
    height: 4.8rem;
  }

  .single__btn {
    margin-top: 8rem;
  }

  .single .archive__category-item {
    margin-top: initial;
  }

  .single__thumbnail {
    margin-top: 4rem;
  }

  .singlePagination__items {
    display: grid;
    grid-template-columns: 1fr 10rem 1fr;
    max-width: 100%;
    margin-top: 12rem;
  }

  .singlePagination__item {
    max-width: 50rem;
    padding: 0 4rem;
  }

  .singlePagination__item::before {
    left: 1.5rem;
    width: 2.2rem;
    height: 2.2rem;
  }

  .singlePagination__item-next::before {
    right: 1.5rem;
    left: initial;
  }

  .singlePagination__title {
    font-size: 1.5rem;
  }

  .siteMap {
    padding-top: 9.7rem;
    padding-bottom: 10rem;
  }

  .siteMap__inner {
    max-width: 854px;
  }

  .siteMap__wrap {
    padding: 5.6rem 0;
  }

  .siteMap__content {
    padding: 0 4rem;
  }

  .siteMap__title {
    font-size: 2.3rem;
  }

  .siteMap__items {
    margin-top: 1.7rem;
    padding-left: 1.6rem;
  }

  .staff {
    padding-top: 9.6rem;
    padding-bottom: 26.8rem;
  }

  .staff__inner {
    max-width: 1000px;
  }

  .staff__container {
    grid-template-columns: 37.5% 1fr;
    margin-top: 11.6rem;
    gap: 6.4rem;
  }

  .staff__info {
    margin-top: 1.9rem;
  }

  .staff__position {
    line-height: 1.7333333333;
  }

  .staff__name {
    margin-top: 1.5rem;
  }

  .staff__jp {
    font-size: 2.8rem;
  }

  .staff__en {
    font-size: 1.6rem;
  }

  .staff__prof {
    padding: 7rem 4.4rem;
  }

  .staff__title {
    font-size: 3.6rem;
  }

  .staff__item {
    grid-template-columns: 10rem 1fr;
    padding: 2.8rem 1rem 3rem;
  }

  .staff__bottom {
    margin-top: 13rem;
  }

  .staff__comments:nth-of-type(2) {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 4rem;
  }

  .staff__comments:nth-of-type(2) .staff__commnet {
    padding-top: 3rem;
  }

  .staff .singlePagination__title {
    font-size: 1.5rem;
  }

  .staffLink {
    padding-top: 10.1rem;
    padding-bottom: 13rem;
  }

  .staffLink__inner {
    max-width: 1150px;
  }

  .staffLink__container {
    grid-template-columns: 51.9421860885% 1fr;
    gap: 6rem;
  }

  .staffLink__btn {
    -webkit-box-pack: initial;
    -webkit-justify-content: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
    margin-top: 4.3rem;
    letter-spacing: 2.24px;
  }

  .staffLink__btn a {
    width: 20.2rem;
  }

  .staffList {
    padding-top: 9.6rem;
    padding-bottom: 26.8rem;
  }

  .staffList__title {
    margin-top: 7.7rem;
  }

  .staffList__en {
    font-size: 1.8rem;
  }

  .staffList__jp {
    font-size: 4rem;
  }

  .staffList__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 5.6rem 4rem;
  }

  .staffList__name {
    margin-top: 1rem;
    font-size: 1.8rem;
  }

  .sticky {
    padding-top: 9.5rem;
  }

  .sticky__inner {
    max-width: 1160px;
  }

  .sticky__top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 5rem;
    gap: 8.5rem;
  }

  .sticky__items {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-top: 8.7rem;
  }

  .sticky__item {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    grid-template-rows: initial;
    grid-template-columns: 1fr 69.6875%;
  }

  .sticky__item:nth-child(even) {
    grid-template-columns: 69.6875% 1fr;
  }

  .sticky__item:nth-child(even) .sticky__image {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
  }

  .sticky__item:nth-child(even) .sticky__content {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .sticky__image {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .sticky__content {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    padding: initial;
  }

  .sticky__wrap {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 100%;
    max-width: 454px;
    max-width: 45.4rem;
    margin-inline: auto;
    padding: 0 6rem;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }

  .sticky__point {
    font-size: 3.6rem;
  }

  .sticky__label {
    margin-top: 3rem;
    font-size: 2.4rem;
  }

  .sticky__description {
    margin-top: 3rem;
    font-size: 1.5rem;
  }

  .sticky-top .sticky__item:nth-child(1) .sticky__content::after {
    position: absolute;
    top: 23%;
    right: -3rem;
    width: 11.1rem;
    height: 13.7rem;
    background: url(../img/point01_ashirai01.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(1) .sticky__wrap::before {
    position: absolute;
    bottom: -17rem;
    left: -4%;
    width: 16.9rem;
    height: 16.3rem;
    background: url(../img/point01_ashirai02.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(2) .sticky__content::after {
    position: absolute;
    top: 20%;
    left: -1.2rem;
    width: 7rem;
    height: 9.4rem;
    background: url(../img/point02_ashirai01.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(2) .sticky__wrap::before {
    position: absolute;
    right: -5%;
    bottom: -17rem;
    width: 27.7rem;
    height: 17.3rem;
    background: url(../img/point02_ashirai02.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(3) .sticky__wrap::after {
    position: absolute;
    bottom: -18rem;
    left: -3rem;
    width: 11rem;
    height: 16.2rem;
    background: url(../img/point03_ashirai01.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(4) .sticky__wrap::after {
    position: absolute;
    top: -10rem;
    right: 4rem;
    width: 15.9rem;
    height: 15.2rem;
    background: url(../img/point04_ashirai01.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-top .sticky__item:nth-child(4) .sticky__wrap::before {
    position: absolute;
    right: -5%;
    bottom: -20rem;
    width: 31.5rem;
    height: 15.7rem;
    background: url(../img/point04_ashirai02.webp) no-repeat center center/contain;
    content: "";
  }

  .sticky-cocept .sticky__wrap img {
    margin-top: 2.7rem;
  }

  .sticky__btn {
    margin-top: 2.9rem;
  }

  .support {
    padding-top: 8.7rem;
    padding-bottom: 17.1rem;
  }

  .support__container {
    grid-template-columns: 48.8571428571% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 10.6rem;
    gap: 7rem;
  }

  .support__text {
    font-size: 2rem;
  }

  .taxonomy {
    max-width: 860px;
    margin-inline: auto;
  }

  .taxonomy__item {
    line-height: 2;
  }

  .taxonomy.taxonomy-case {
    grid-template-columns: 15% 1fr;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 100%;
    padding: 2rem;
    gap: initial;
  }

  .taxonomy.taxonomy-case .taxonomy__label {
    font-size: 1.6rem;
  }

  .topBranchBox {
    padding-top: 11rem;
    padding-bottom: 10rem;
  }

  .topBranchBox::after {
    width: 94.7916666667%;
    height: 88.7rem;
  }

  .topBranchBox__inner {
    grid-template-columns: 52.9166666667% 30.7291666667%;
    max-width: initial;
    margin-inline: initial;
    padding: initial;
    gap: 5.9rem;
  }

  .topBranchBox__images {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    gap: 2rem;
  }

  .topBranchBox__image:first-child {
    margin-top: 7.5rem;
  }

  .topBranchBox__content {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
  }

  .topBranchBox__house {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
    margin-top: initial;
  }

  .topBranchBox__title {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    margin-top: 3.5rem;
  }

  .topBranchBox__copy {
    margin-top: 3rem;
    font-size: clamp(2.2rem, 1.6rem + 0.781vi, 3.1rem);
  }

  .topBranchBox__btn {
    margin-top: 6.1rem;
  }

  .topBtn {
    top: 3.4rem;
    right: 3rem;
    width: 8rem;
  }

  .topCase {
    padding-top: 15rem;
    padding-bottom: 15rem;
  }

  .topCase__inner {
    max-width: 1580px;
    margin-right: 10rem;
  }

  .topCase__top {
    grid-template-columns: 41.7532467532% 18rem;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-right: 18rem;
  }

  .topCase__btn.u-mobile {
    display: none;
  }

  .topCase__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 6rem;
    gap: 1.368rem;
  }

  .topCase__content {
    width: 82.2485207101%;
    margin-top: 2.3rem;
  }

  .topCustomizedDesign {
    margin-top: -14rem;
    padding-top: 10rem;
    padding-top: 28rem;
    padding-bottom: 24.1rem;
    padding-bottom: 28rem;
  }

  .topCustomizedDesign__container {
    grid-template-columns: 1fr 50%;
    gap: 5.7rem;
  }

  .topCustomizedDesign__image-main {
    padding-left: 2.4rem;
  }

  .topCustomizedDesign__flex {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 7rem;
    padding: 0 2.6rem;
    gap: 5.3rem;
  }

  .topCustomizedDesign__flex .topCustomizedDesign__image:first-child {
    margin-top: 15rem;
  }

  .topCustomizedDesign__copy {
    margin-top: 6.8rem;
  }

  .topCustomizedDesign__text {
    max-width: 594px;
    margin-top: 3rem;
  }

  .topCustomizedDesign__btn {
    margin-top: 4.1rem;
  }

  .topEvent {
    padding-top: 12rem;
    padding-bottom: 12rem;
  }

  .topEvent__head {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 6rem;
  }

  .topEvent__right-pc {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    visibility: visible;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .topEvent__right-sp {
    display: none;
  }

  .topEvent__title {
    font-weight: 400;
  }

  .topGuarantee {
    padding-top: 14.4rem;
    padding-bottom: 14.8rem;
    border-radius: 100px 100px 0 0;
  }

  .topGuarantee__ashirai {
    top: -10.3rem;
    width: 27.9rem;
  }

  .topGuarantee__sub {
    width: 27.9rem;
    min-height: 5.3rem;
    font-size: 2.2rem;
  }

  .topGuarantee__swiper {
    margin-top: 10.5rem;
    padding-right: 2rem;
    padding-left: clamp(2rem, -6.133rem + 10.59vi, 14.2rem);
  }

  .topGuarantee__items {
    padding: 0;
    overflow: visible;
  }

  .topGuarantee__item {
    grid-template-columns: 61.237274863% 36.1785434612%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 3rem;
    gap: 3.3rem;
  }

  .topGuarantee__title {
    font-size: 2.6rem;
  }

  .topGuarantee__text {
    margin-top: 1.6rem;
    line-height: 1.8333333333;
    letter-spacing: 2.1px;
  }

  .topGuarantee__number {
    top: initial;
    bottom: 20%;
    font-size: clamp(27rem, 22.467rem + 5.903vi, 33.8rem);
    line-height: 1;
    letter-spacing: -8.45px;
  }

  .topModel {
    height: 100vh;
  }

  .topModel__title {
    width: 44.1rem;
  }

  .topModel__btn a {
    width: 32rem;
    min-height: 6.5rem;
  }

  .topModel__sliders {
    top: 60%;
    left: 50%;
    scale: initial;
  }

  .topQa {
    padding-top: 13rem;
    padding-bottom: 13rem;
  }

  .topQa__items {
    margin-top: 5rem;
    gap: 1.6rem;
  }

  .topQa__item {
    padding: 0 4.8rem;
  }

  .topQa__question {
    padding-top: 2.8rem;
    padding-right: initial;
    padding-bottom: 2.8rem;
    font-size: 1.8rem;
  }

  .topQa__question::after {
    width: 2.1rem;
    height: 1.1rem;
  }

  .topQa__flex {
    gap: 3.4rem;
  }

  .topQa__answer .topQa__flex {
    margin-top: initial;
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
  }

  .topQa__answer {
    font-size: 1.6rem;
  }

  .topReform {
    padding-bottom: 25rem;
  }

  .topReform::after {
    position: absolute;
    top: 0;
    left: clamp(0.1rem, -9.833rem + 12.934vi, 15rem);
    width: clamp(7.8rem, 3.133rem + 6.076vi, 14.8rem);
    height: clamp(13.5rem, 5.9rem + 9.896vi, 24.9rem);
    background: url(../img/topReform_ashirai.webp) no-repeat center center/contain;
    content: "";
  }

  .topReform__inner {
    grid-template-columns: 30.3645833333% 48.1770833333%;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: initial;
    padding-right: 3.5rem;
    gap: clamp(6rem, 2.2rem + 4.948vi, 11.7rem);
  }

  .topReform__text {
    margin-top: 4rem;
  }

  .topReform__btn {
    margin-top: 6rem;
  }

  .topReform__image {
    margin-top: -13.2rem;
  }

  .topTopics {
    margin-top: -12rem;
    padding-top: 12.1rem;
    padding-bottom: 12.5rem;
    border-radius: 100px 100px 0 0;
  }

  .topTopics__inner {
    max-width: 1460px;
  }

  .topTopics__container {
    grid-template-columns: 1fr 66.4788732394%;
    gap: 5.4rem;
  }

  .topTopics__btn a {
    width: 21.2rem;
  }

  .topTopics__items {
    margin-top: initial;
    gap: 5rem;
  }

  .topTopics__item {
    grid-template-rows: initial;
    grid-template-columns: 29.6610169492% 64.7245762712%;
    grid-row: initial;
    gap: clamp(0.1rem, -3.233rem + 4.34vi, 5.1rem);
  }

  .topTopics__image {
    max-width: 280px;
  }

  .topTopics__categories {
    gap: 1rem;
  }

  .topTopics__category {
    min-height: 2.4rem;
    font-weight: 400;
    font-size: 1.3rem;
  }

  .topTopics__description {
    margin-top: 2.5rem;
  }

  .topTopics__btn.u-mobile {
    display: none;
  }

  .topVideos {
    padding-top: 14.1rem;
    padding-bottom: 12.6rem;
  }

  .topVideos__inner {
    max-width: 1680px;
    max-width: 87.5%;
    margin-right: initial;
  }

  .topVideos__container {
    grid-template-columns: 37.9268292683% 1fr;
  }

  .topVideos__text {
    margin-top: 3.3rem;
    font-weight: 400;
    font-size: 2rem;
  }

  .topVideos__item {
    height: 30.7rem;
  }

  .topVoice {
    padding-top: 18rem;
    padding-bottom: 22rem;
  }

  .topVoice__inner {
    max-width: 1382px;
  }

  .topVoice__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 8rem;
    gap: 2.6rem;
  }

  .topVoice__title {
    width: 90.6976744186%;
    margin-top: 2rem;
    font-size: 1.8rem;
  }

  .topVoice__btn {
    margin-top: 11rem;
  }

  .topVoice__btn a {
    width: 20.2rem;
  }

  .topWorks__inner {
    padding-right: initial;
    padding-left: initial;
  }

  .topWorks__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 4.2rem;
    gap: initial;
  }

  .topWorks__category {
    font-size: 1.6rem;
  }

  .topWorks__content {
    padding: 2rem 5.3rem 2rem 6.1rem;
  }

  .topWorks__name {
    font-size: 2rem;
    line-height: 2;
  }

  .topWorks__name::before {
    top: 2rem;
    left: -5rem;
    width: 4rem;
  }

  .topWorks__text {
    font-size: 1.8rem;
    line-height: 2;
  }

  .topWorks__btn {
    margin-top: 5rem;
  }

  .works {
    padding-top: 12.8rem;
    padding-bottom: initial;
  }

  .works__btns {
    margin-top: 8rem;
  }

  .works__items {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 7.7rem;
  }

  .youtube {
    margin-top: 10rem;
  }

  .youtube__title {
    font-size: 3.7rem;
  }

  .youtube__title::after {
    width: 4.8rem;
  }

  .youtube__area {
    height: 50.7rem;
    margin-top: 4rem;
  }

  .u-mobile {
    display: none;
  }

  .u-desktop {
    display: block;
  }
}

@media screen and (min-width: 1100px) {
  html {
    font-size: 10px;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 10px;
  }

  body {
    font-size: 1.4rem;
  }
}


@media (1500px <=width) {
  .qualification__arrow {
    top: 50%;
    width: 19.8rem;
  }

  .qualification__wrap:nth-child(2) .qualification__en {
    white-space: nowrap;
  }

  .schoolLink__arrow {
    top: 50%;
    width: 19.8rem;
  }
}

@media (1501px <=width) {
  .reformMenu__image {
    aspect-ratio: 640/800;
    width: 40%;
  }
}

@media (1600px <=width) {
  .bottomCta__contact {
    min-width: 254px;
  }
}

@media (any-hover: hover) {
  a:hover {
    cursor: pointer;
    opacity: 0.7;
  }

  .aboutTop__link a:hover span::after {
    width: 110%;
  }

  .archive__btn a:hover {
    background: #3BC2D2;
    color: #FFF;
    opacity: 1;
  }

  .categoryBtn__item a:hover span::after {
    width: 110%;
  }

  .fv__link a:hover::before,
  .fv__link a:hover::after {
    width: 100%;
    height: 100%;
    opacity: 1;
  }

  .fv__link a:hover {
    opacity: 1;
  }

  .fvTopics a:hover {
    opacity: 0.65;
  }

  .page-numbers:hover {
    background: #EDEDED;
    opacity: 1;
  }

  .prev:hover span::after,
  .next:hover span::after {
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
  }

  .request__btn:hover a::before {
    opacity: 1;
  }

  .room__item:hover {
    opacity: 0.7;
  }

  .room-modal__close:hover {
    color: #ccc;
  }

  .topWorks__item:hover .topWorks__image::after {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .infinity__track {
    -webkit-animation: none;
    animation: none;
  }
}

/*20260120調整*/

.space-top1 {
  margin-top: 1rem;
}

.block_kanki-heat {
  display: flex;
  flex-flow: wrap row;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
  margin-top: 1.5rem;
}

.block_kanki-heat p {
  max-width: 100%;
}

@media screen and (min-width: 481px) {
  .block_kanki-heat {
    margin-top: 4rem;
  }

  .block_kanki-heat p {
    max-width: 30%;
  }
}

/*branch box review 追加*/
.branch_review {
  max-width: 1140px;
  margin: auto;
  padding: 12rem 0;
}

.branch_review .archive__main {
  margin-top: 4rem;
}





/* セーフティ耐震住宅セクション用CSS */

.safety-section {
  width: 100%;
  margin-bottom: 10rem;
}

.safety-header {
  background: linear-gradient(135deg, #2c7d7b 0%, #3a9d9a 100%);
  color: white;
  padding: 40px 20px;
  text-align: center;
}

.safety-header-subtitle {
  font-size: 14px;
  margin-bottom: 10px;
  letter-spacing: 3px;
}

.safety-header-title {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 2px;
  position: relative;
  display: inline-block;
  padding: 0 40px;
}

.safety-header-title::before,
.safety-header-title::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30px;
  height: 1px;
  background: white;
}

.safety-header-title::before {
  left: 0;
}

.safety-header-title::after {
  right: 0;
}

.safety-intro {
  background: #f8f8f8;
  padding: 30px 20px;
}

.safety-intro-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.safety-intro-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
  line-height: 1.8;
}

.safety-intro-title .highlight {
  color: #e74c3c;
  background: linear-gradient(transparent 60%, #fff59d 60%);
}

.safety-intro-text {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
}

.safety-content {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}

.safety-card {
  background: white;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.safety-card-header {
  background: linear-gradient(135deg, #2c7d7b 0%, #3a9d9a 100%);
  color: white;
  padding: 15px 20px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.safety-card-title {
  padding: 20px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}

.safety-card-title .brand {
  color: #2c7d7b;
  font-size: 22px;
  margin-top: 5px;
}

.safety-image-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  padding: 0 20px 20px 20px;
}

.safety-image-grid img {
  width: 100%;
  height: auto;
}

.safety-image-grid.single {
  grid-template-columns: 1fr;
}

.safety-badge {
  background: #2c7d7b;
  color: white;
  padding: 10px 20px;
  margin: 20px;
  border-radius: 4px;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}

.safety-qr-section {
  text-align: center;
  padding: 20px;
}

.safety-qr-code {
  width: 120px;
  height: 120px;
  background: #ddd;
  margin: 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #666;
}

.safety-description {
  padding: 20px;
  font-size: 14px;
  line-height: 1.8;
  color: #555;
}

.safety-link-button {
  width: 45%;
  margin: 20px;
  padding: 12px 12px;
  border: 2px solid #2c7d7b;
  border-radius: 25px;
  text-align: center;
  color: #2c7d7b;
  font-weight: bold;
  transition: all 0.3s;
}

.safety-logo-container {
  padding: 0 0 20px 20px;
}

.safety-logo-container img {
  max-width: 200px;
}

.safety-circle-image {
  background: linear-gradient(135deg, #e8f4f8 0%, #b8dde8 100%);
  padding: 30px 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin: auto;
  position: relative;
}

.safety-circle-image::before {
  content: '';
  position: absolute;
  left: -40px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 42px solid #d8ecf1;
}

.safety-circle-image img {
  max-width: 150px;
}

.safety-span-two {
  grid-column: span 2;
}

.safety-flex-center {
  background: white;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.safety-flex-center .safety-badge {
  margin: 0;
  font-size: 24px;
}

.safety-flex-center .safety-qr-code {
  margin-top: 15px;
}



.safety-image-grid img.damper-device {
  width: auto;
  height: 263px;
  margin: auto;
}

.safety-image-grid img.damper-detail {
  width: auto;
  height: 200px
}

.installation-block {
  display: flex;
  flex-flow: wrap row;
  justify-content: space-between;
  align-items: center;
}

.installation-block img.installation {
  width: 45%;
  padding-right: 3rem;
}

@media (max-width: 768px) {
  .safety-section {
    margin-bottom: 6rem;
  }

  .safety-header-title {
    font-size: 24px;
    padding: 0 30px;
  }

  .safety-content {
    grid-template-columns: 1fr;
  }

  .safety-span-two {
    grid-column: span 1;
  }

  .safety-link-button {
    width: 100%;
  }

  .installation-block img.installation {
    width: 100%;
    padding: 0 3rem;
  }

  .safety-intro-title {
    font-size: 18px;
  }
}





/* =========================================
   SP: トップページ FV レイアウト修正
   キャッチコピーとトピックスをFV内に収める
   ========================================= */
@media (max-width: 767px) {

  /* 100svh: Androidブラウザのアドレスバー等を除いた実表示領域に合わせる */
  .fv {
    height: 100svh;
    overflow: hidden;
  }

  .swiper__fv {
    height: 100svh;
  }

  /* スワイパースライドを親に合わせて100%に */
  .swiper__fv .swiper-wrapper,
  .swiper__fv .swiper-slide {
    height: 100%;
  }

  /* FV画像をスライド内に完全収容 */
  .fv__image {
    height: 100%;
  }

  .fv__image picture,
  .fv__image img {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }

  /* キャッチコピー: 左寄せ・上方向に配置 */
  .fv__content {
    bottom: 26rem;
    padding: 0 2.5rem;
    align-items: flex-start;
    justify-content: start;
  }

  /* トピックスをFV内に絶対配置（最下部） */
  .fv__links.u-mobile {
    position: absolute;
    bottom: 6rem;
    left: 2.5rem;
    right: 2.5rem;
    width: auto;
    max-width: none;
    margin-top: 0;
    z-index: 10;
  }
}

/* ----------------------------------------
   FVトピックス スライダー ラッパー・ナビゲーション
---------------------------------------- */

/* ラッパー: 幅固定でレイアウト崩れ防止 */
.fvTopics__wrapper {
  width: 35rem;
  max-width: 35rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

/* "topics" ラベル（カード内ヘッダー） */
.fvTopics__head {
  margin-bottom: 0.4rem;
}

/* スライダーエリア: 左右矢印の起点 */
.fvTopics__slider-wrap {
  position: relative;
  padding: 0 2.6rem;
}

/* スライダー本体 */
.swiper__fvTopics-pc,
.swiper__fvTopics-sp {
  width: 100%;
}

/* 矢印: スライダーの左右・縦中央に配置 */
.fvTopics__slider-wrap .swiper-button-prev,
.fvTopics__slider-wrap .swiper-button-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  margin-top: 0;
  width: 2.2rem;
  height: 2.2rem;
  background: transparent;
}

.fvTopics__slider-wrap .swiper-button-prev {
  left: 0;
}

.fvTopics__slider-wrap .swiper-button-next {
  right: 0;
}

/* シンプルなシェブロンアイコン */
.fvTopics__slider-wrap .swiper-button-prev::after,
.fvTopics__slider-wrap .swiper-button-next::after {
  content: '';
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 1.5px solid rgba(63, 52, 45, 0.45);
  border-right: 1.5px solid rgba(63, 52, 45, 0.45);
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}

.fvTopics__slider-wrap .swiper-button-prev::after {
  -webkit-transform: rotate(-135deg) translate(-1px, 1px);
  transform: rotate(-135deg) translate(-1px, 1px);
  margin-left: 0.4rem;
}

.fvTopics__slider-wrap .swiper-button-next::after {
  -webkit-transform: rotate(45deg) translate(-1px, 1px);
  transform: rotate(45deg) translate(-1px, 1px);
  margin-right: 0.4rem;
}

.fvTopics__slider-wrap .swiper-button-prev:hover::after,
.fvTopics__slider-wrap .swiper-button-next:hover::after {
  border-color: #3F342D;
}

/* 投稿日 */
.fvTopics .fvInformatioin__time {
  display: block;
  margin-bottom: 0.6rem;
}

/* プログレスバー: 次スライドまでの残り時間を示す下線 */
.fvTopics__progress {
  height: 2px;
  background: rgba(63, 52, 45, 0.1);
  margin-bottom: 1rem;
  border-radius: 2px;
  overflow: hidden;
}

.fvTopics__progress-bar {
  height: 100%;
  width: 0;
  background: #7A6A56;
  border-radius: 2px;
}

.fvTopics__progress-bar.is-running {
  -webkit-animation: fvTopicsProgress 4s linear forwards;
  animation: fvTopicsProgress 4s linear forwards;
}

@-webkit-keyframes fvTopicsProgress {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

@keyframes fvTopicsProgress {
  from {
    width: 0;
  }

  to {
    width: 100%;
  }
}

/* =========================================
   Floating Link – Circular Rotating Text
   ========================================= */
.link__item a {
  position: relative;
  display: inline-block;
}

.link__rotating-text {
  position: absolute;
  top: calc(50% - 90px);
  left: calc(50% - 90px);
  width: 180px;
  height: 180px;
  pointer-events: none;
  animation: linkTextRotate 10s linear infinite;
  overflow: visible;
}

.link__rotating-text text {
  font-size: 9.5px;
  fill: #3F342D;
  font-family: "Cantarell", "Noto Sans JP", sans-serif;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

@keyframes linkTextRotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ========================================
   Reform Single — Before/After Layout
   ======================================== */
.reformSingle {
  background: #F8F6F1;
  padding-bottom: 6rem;
}

.reformSingle__inner {
  max-width: 900px;
  padding-top: 4rem;
  padding-bottom: 3.2rem;
}

/* .reformSingle 内の .inner ラッパーも 900px に統一 */
.reformSingle .inner {
  max-width: 900px;
}

/* Head */
.reformSingle__head {
  margin-bottom: 0;
}

.reformSingle__badge {
  display: inline-block;
  padding: 0.4rem 1.4rem;
  background: #3a9d9a;
  color: #FFF;
  font-size: 1.1rem;
  font-family: "Cantarell", sans-serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}

.reformSingle__title {
  font-size: 2.4rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #3F342D;
  line-height: 1.55;
  margin-bottom: 1.2rem;
}

.reformSingle__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.reformSingle__tag {
  font-size: 1.2rem;
  color: #7A6A56;
  letter-spacing: 0.04em;
}

/* Thumbnail */
.reformSingle__thumbnail {
  width: 100%;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 4rem;
}

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

/* Main BA Slider */
.reformSingle__sliderSection {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 4rem;
  max-width: 900px;
}

.reformSingle__sliderGuide {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  padding: 1rem 1.6rem;
  margin-bottom: 0;
  background: #F0EDEA;
  font-size: 1.2rem;
  color: #7A6A56;
  letter-spacing: 0.06em;
}

.reformSingle__sliderGuide svg {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.baSlider {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 66.67%;
  /* 3:2 ratio (SP) */
  overflow: hidden;
  cursor: ew-resize;
  -webkit-user-select: none;
  user-select: none;
  background: #E7E9EC;
  touch-action: none;
}

.baSlider__before,
.baSlider__after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.baSlider__before img,
.baSlider__after img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  pointer-events: none;
  color: transparent;
}

.baSlider__after {
  /* 左から50%をクリップ → 右半分(AFTER)のみ表示 */
  -webkit-clip-path: inset(0 0 0 50%);
  clip-path: inset(0 0 0 50%);
}

.baSlider__label {
  position: absolute;
  top: 1.6rem;
  /* 上部に配置して見やすく */
  padding: 0.5rem 1.2rem;
  font-size: 1.2rem;
  font-family: "Cantarell", sans-serif;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #FFF;
  pointer-events: none;
  z-index: 4;
  /* handle(z-index:3)より前面 */
}

.baSlider__label-before {
  left: 1.6rem;
  background: rgba(63, 52, 45, 0.72);
}

.baSlider__label-after {
  right: 1.6rem;
  background: rgba(58, 157, 154, 0.85);
}

.baSlider__handle {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  pointer-events: none;
  z-index: 3;
}

.baSlider__line {
  width: 2px;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}

.baSlider__knob {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 4.8rem;
  height: 4.8rem;
  background: #FFF;
  border-radius: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.22);
  pointer-events: all;
  cursor: ew-resize;
  -webkit-transition: -webkit-transform 0.15s;
  transition: transform 0.15s;
}

.baSlider__knob:hover {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
  transform: translate(-50%, -50%) scale(1.1);
}

.baSlider__hint {
  position: absolute;
  bottom: 1.4rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.12em;
  white-space: nowrap;
  font-family: "Cantarell", sans-serif;
  pointer-events: none;
  -webkit-transition: opacity 0.6s;
  transition: opacity 0.6s;
  z-index: 3;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

.baSlider.is-dragged .baSlider__hint {
  opacity: 0;
}

/* Sub-scenes */
.reformSingle__scenesHead {
  margin-bottom: 2rem;
  padding-top: 0.4rem;
}

.reformSingle__scenesEn {
  font-size: 1.1rem;
  font-family: "Cantarell", sans-serif;
  color: #3a9d9a;
  letter-spacing: 0.18em;
  text-transform: lowercase;
  margin-bottom: 0.4rem;
}

.reformSingle__scenesTitle {
  font-size: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #3F342D;
}

.reformSingle__scenes {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1.6rem;
  margin-bottom: 4rem;
}

.baScene {
  background: #FFF;
  overflow: hidden;
}

.baScene__label {
  padding: 1.2rem 1.6rem 0.8rem;
  font-size: 1.3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  color: #3F342D;
  border-left: 3px solid #3a9d9a;
  margin-left: 1.6rem;
  margin-right: 1.6rem;
  margin-top: 1.2rem;
  margin-bottom: 1rem;
}

.baScene__images {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.baScene__image {
  position: relative;
  height: 0;
  padding-top: 75%;
  /* 4:3 ratio */
  overflow: hidden;
}

.baScene__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  color: transparent;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
}

.baScene:hover .baScene__image img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

.baScene__badge {
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
  padding: 0.3rem 0.8rem;
  font-size: 1rem;
  font-family: "Cantarell", sans-serif;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #FFF;
  pointer-events: none;
  z-index: 1;
}

.baScene__badge-before {
  background: rgba(63, 52, 45, 0.72);
}

.baScene__badge-after {
  background: rgba(58, 157, 154, 0.85);
}

/* CTA */
.reformSingle__ctaSection {
  background: #3F342D;
  padding: 4rem 0;
  margin-bottom: 4rem;
}

.reformSingle__ctaInner {
  text-align: center;
}

.reformSingle__ctaEn {
  font-size: 1.1rem;
  font-family: "Cantarell", sans-serif;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.22em;
  text-transform: lowercase;
  margin-bottom: 1.2rem;
}

.reformSingle__ctaText {
  font-size: 1.8rem;
  font-family: "Shippori Mincho", serif;
  color: #FFF;
  line-height: 1.7;
  margin-bottom: 3rem;
}

.reformSingle__ctaBtns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.2rem;
}

.reformSingle__ctaBtn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 26rem;
  padding: 1.4rem 2.8rem;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  text-decoration: none;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}

.reformSingle__ctaBtn:hover {
  opacity: 0.75;
}

.reformSingle__ctaBtn-primary {
  background: #3a9d9a;
  color: #FFF;
}

.reformSingle__ctaBtn-outline {
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #FFF;
}

/* Desktop overrides */
@media screen and (min-width: 768px) {
  .reformSingle__inner {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }

  .reformSingle__title {
    font-size: 3.6rem;
  }

  .baSlider {
    padding-top: 43.75%;
    /* 16:7 ratio (PC) */
  }

  .reformSingle__scenes {
    grid-template-columns: 1fr 1fr;
    gap: 2.4rem;
  }

  .reformSingle__ctaText {
    font-size: 2.2rem;
  }

  .reformSingle__ctaBtns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

/* =========================================
   page-customized-design: MV ブランド名 AXIS ONE
   ========================================= */

/* SP: 左下に配置 */
.mv__brand {
  position: absolute;
  z-index: 2;
  bottom: 8rem;
  left: 2.8rem;
  color: #FFF;
}

.mv__brand::before {
  content: "";
  display: block;
  width: 2.8rem;
  height: 1px;
  background: rgba(255, 255, 255, 0.55);
  margin-bottom: 1.2rem;
}

.mv__brand-name {
  font-family: "Cinzel", serif;
  font-weight: 400;
  font-size: 3.2rem;
  letter-spacing: 0.18em;
  line-height: 1;
  white-space: nowrap;
  color: #FFF;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);
}

@media screen and (min-width: 768px) {
  /* PC: キャッチコピー（中央左）との対比で左下に配置 */
  .mv__brand {
    bottom: 7.5rem;
    left: 23.7rem;
  }

  /* 装飾ライン */
  .mv__brand::before {
    content: "";
    display: block;
    width: 4rem;
    height: 1px;
    background: rgba(255, 255, 255, 0.55);
    margin-bottom: 1.6rem;
  }

  .mv__brand-name {
    font-size: 4.4rem;
    letter-spacing: 0.22em;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
  }
}

/* =========================================
   フローティング CTA ボタン（PC・SP共通）
   ========================================= */
.sp-float-btns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
}

.sp-float-btns.is-visible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.sp-float-btn {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 1.1rem 0;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-align: center;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.sp-float-btn:hover {
  opacity: 0.85;
}

.sp-float-btn__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.sp-float-btn__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.sp-float-btn__text {
  display: block;
  line-height: 1;
}

.sp-float-btn--event {
  background: #2C4B5E;
  color: #FFF;
}

.sp-float-btn--reserve {
  background: #F9BF2C;
  color: #3F342D;
}

/* フローティングボタン分のスペース確保 */
body {
  padding-bottom: 5.6rem;
}

@media screen and (min-width: 768px) {
  .sp-float-btn {
    padding: 1.4rem 0;
    font-size: 1.4rem;
    gap: 0.5rem;
  }

  .sp-float-btn__icon {
    width: 2.2rem;
    height: 2.2rem;
  }
}

/*# sourceMappingURL=map/styles.css.map */

/* =========================================
   ④ ブランチボックス Point1 図面オーバーレイ
   屋内写真の左下に図面画像を小さく重ねる
   ※WP管理画面 > ブランチボックスページ >
     ACFフィールド「point_plan_image」に
     図面画像をセットしてください
   ========================================= */
.branchPoint__image-main {
  position: relative;
}

.branchPoint__plan {
  position: absolute;
  bottom: 1.6rem;
  left: 1.6rem;
  width: 38%;
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  background: #FFF;
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.branchPoint__plan img {
  width: 100%;
  display: block;
}

/* =========================================
   ⑧ Feature03 ヘッダー重なり修正
   ノートPC（768px〜1280px）でsticky__wrapが
   固定ヘッダーに隠れる問題を解消
   ========================================= */
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 13.3rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1279px) {
  .sticky__wrap {
    top: calc(40% + 6.65rem);
  }
}

/* =========================================
   ⑩ トップページ SP FVトピックス非表示
   FV内のトピックスウィジェットをSPで非表示
   ページ下部のtopTopicsセクションは維持
   ========================================= */
@media screen and (max-width: 767px) {
  .fv .fvTopics__wrapper {
    display: none;
  }
}

/* =========================================
   ⑫ スタッフ紹介 コンパクト化
   PC: 3列・間隔縮小 / SP: 2列
   ========================================= */

/* SP: 2列グリッド */
@media screen and (max-width: 767px) {
  .staffList__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.6rem;
  }
}

/* PC: 4列グリッド・役職1行目・名前2行目 */
@media screen and (min-width: 768px) {
  .staffList {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
  .staffList__items {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
  }
  .staffList__image {
    aspect-ratio: 4 / 3;
  }
  .staffList__meta {
    margin-top: 0.6rem;
  }
  .staffList__position {
    font-size: 1.1rem;
    color: #4C4948;
    line-height: 1.5;
    word-break: keep-all;
    overflow-wrap: break-word;
  }
  .staffList__name {
    margin-top: 0.2rem;
    font-size: 1.3rem;
  }
}

/* =========================================
   ⑬ Feature / Point セクション scroll-snap
   sticky__item（height:100vh）をPCでスナップ
   sticky__itemが存在しないページは影響なし
   ========================================= */
@media screen and (min-width: 768px) {
  html {
    scroll-snap-type: y proximity;
  }
}

/* sticky セクション内でヘッダーをふわっと非表示（PC のみ） */
@media screen and (min-width: 768px) {
  .header.is-sticky-hidden {
    opacity: 0;
    pointer-events: none;
  }
}
/* ================================================================
   コーチパネル セクション
   page-performance.php 内 .design__content--coach
   ================================================================ */

/* 共通セクション区切り */
.coach__section {
  margin-top: 3.2rem;
}
.coach__section + .coach__section {
  padding-top: 3.2rem;
  border-top: 1px solid #e0d8d0;
}

/* 見出し（黄橙バー） */
.coach__heading {
  position: relative;
  font-size: 1.5rem;
  font-weight: 700;
  color: #161616;
  background: #FFF3CD;
  border-left: 5px solid #E8820C;
  padding: .8rem 1.2rem;
  margin-bottom: 1.8rem;
  line-height: 1.5;
}

/* ── ① モノコック構造 比較グリッド ── */
.coach__compare {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1.2rem;
  align-items: start;
}
.coach__compare-group-label {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  background: #777;
  color: #fff;
  padding: .5rem .8rem;
  margin-bottom: 1.2rem;
}
.coach__compare-group-label--new {
  background: #E8820C;
}
.coach__compare-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}
.coach__compare-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  font-weight: 700;
  color: #E8820C;
  padding-top: 4rem;
}
.coach__compare-fig img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e0d8d0;
}
.coach__compare-name {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  margin: .5rem 0 .3rem;
}
.coach__compare-desc {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #555;
}

/* ── ② 精密なパネル ── */
.coach__precision {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
  align-items: start;
}
.coach__precision-text {
  font-size: 1.4rem;
  line-height: 1.9;
}
.coach__precision-cap {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  background: #f5f0ea;
  border: 1px solid #ddd;
  padding: .4rem .8rem;
  margin-bottom: .6rem;
}
.coach__precision-fig img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e0d8d0;
}

/* ── ③ 圧倒的な耐久力 ── */
.coach__lead {
  font-size: 1.4rem;
  line-height: 1.9;
  margin-bottom: 2rem;
}
.coach__test-caption {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.2rem;
  color: #444;
}
.coach__test-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-bottom: 2.4rem;
}
.coach__test-fig img {
  width: 100%;
  height: auto;
  display: block;
}
.coach__test-name {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  margin: .8rem 0 .4rem;
}
.coach__test-result {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  padding: .8rem .4rem;
  line-height: 1.5;
}
.coach__test-result--bad  { background: #C62828; }
.coach__test-result--good { background: #1565C0; }

/* グラフ + YouTube注記 */
.coach__graph-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.4rem;
  align-items: center;
}
.coach__graph figcaption {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: .6rem;
  color: #444;
}
.coach__graph img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e0d8d0;
}
.coach__youtube-note {
  background: #f5f0ea;
  border: 1px solid #d0c8b8;
  border-radius: 4px;
  padding: 1.6rem 2rem;
  text-align: center;
}
.coach__youtube-note p {
  font-size: 1.4rem;
  line-height: 1.9;
}

/* ================================================================
   SP（〜767px）
   ================================================================ */
@media screen and (max-width: 767px) {

  .coach__heading {
    font-size: 1.4rem;
    padding: .7rem 1rem;
    margin-bottom: 1.4rem;
  }

  /* モノコック比較：縦並び */
  .coach__compare {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .coach__compare-arrow {
    padding-top: 0;
    transform: rotate(90deg);
    font-size: 2rem;
  }

  /* 精密なパネル：縦並び */
  .coach__precision {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  /* 振動実験：3列維持（狭いがバッジが映える） */
  .coach__test-grid {
    gap: .6rem;
  }
  .coach__test-name {
    font-size: 1.1rem;
  }
  .coach__test-result {
    font-size: 1.0rem;
    padding: .6rem .2rem;
  }

  /* グラフ：縦並び */
  .coach__graph-wrap {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
}

/* ================================================================
   PC（768px〜）微調整
   ================================================================ */
@media screen and (min-width: 768px) {
  .coach__heading {
    font-size: 1.7rem;
  }
  .coach__compare-desc {
    font-size: 1.3rem;
  }
  .coach__test-result {
    font-size: 1.4rem;
  }
}

/* ── design__item--full（画像なし・コンテンツ全幅） ── */
.design__item--full {
  display: block !important; /* gridの左右2カラムを解除 */
}
.design__item--full .design__content--coach {
  padding: 0 15px;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .design__item--full .design__content--coach {
    padding: 0 7rem;
  }
}

/* ── coach 追加レイアウト修正 ────────────────────── */

/* 比較図の高さ統一（全 compare-fig に aspect-ratio を付与） */
.coach__compare-fig {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.coach__compare-fig img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
}

/* coach_structure: 画像左・テキスト右の横並び */
.coach__compare-new-body {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
}
.coach__compare-new-body .coach__compare-fig {
  flex: 0 0 55%;
  aspect-ratio: 4 / 3; /* 他の比較図と高さを揃える */
}
.coach__compare-new-body .coach__compare-desc {
  flex: 1;
  font-size: 1.3rem;
  line-height: 1.7;
  padding-top: .4rem;
}

/* 振動実験グリッド + グラフを横並び */
.coach__test-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: start;
}

/* test-grid は縦に収める（画像を小さめに） */
.coach__test-left .coach__test-grid {
  gap: .6rem;
}
.coach__test-fig img {
  max-width: 100%;
  height: auto;
  display: block;
}
.coach__test-name {
  font-size: 1.2rem;
  margin: .5rem 0 .3rem;
}
.coach__test-result {
  font-size: 1.15rem;
  padding: .6rem .3rem;
}

/* グラフ */
.coach__graph {
  display: block;
}
.coach__graph figcaption {
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: .6rem;
  color: #444;
}
.coach__graph img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e0d8d0;
}

/* SP（〜767px）：縦並びに戻す */
@media screen and (max-width: 767px) {
  .coach__compare-new-body {
    flex-direction: column;
    gap: .8rem;
  }
  .coach__compare-new-body .coach__compare-fig {
    flex: none;
    width: 100%;
  }
  .coach__test-wrap {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}

/* coach_graph サイズ調整 */
.coach__graph img {
  max-width: 80%;
  margin: 0 auto;
}

/* ----------------------------------------
 * 売土地・住宅販売 画像ギャラリー
 * ---------------------------------------- */
.salesGallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-bottom: 32px;
}
.salesGallery__item {
  overflow: hidden;
  border-radius: 4px;
}
.salesGallery__item:first-child:nth-last-child(odd),
.salesGallery__item:only-child {
  grid-column: span 2;
}
.salesGallery__item img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .salesGallery {
    grid-template-columns: 1fr;
  }
  .salesGallery__item:first-child:nth-last-child(odd),
  .salesGallery__item:only-child {
    grid-column: span 1;
  }
  .salesGallery__item img {
    height: 200px;
  }
}

/* ハンバーガーメニュー・フッター：ブランド名フォント設定
==================================== */
.headerSp__item--brand-bb > a,
.footer__item--brand-bb > a {
  font-family: "Cantarell", sans-serif;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.headerSp__item--brand-ao > a,
.footer__item--brand-ao > a {
  font-family: "Cinzel", serif;
  letter-spacing: 0.12em;
}

/* order house：別行・目立たせ（フッター・ハンバーガー共通）
==================================== */

/* ─── フッター ─── */
.footer__nav--order-house {
  grid-column: 1 / -1;
  padding: 1.8rem 1em;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}
.footer__nav--order-house .footer__label {
  font-size: 1.8rem;
  letter-spacing: 3px;
}
.footer__nav--order-house .footer__items {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-flex;
  display: flex;
  gap: 0.8rem 3.2rem;
  margin-top: 1.2rem;
}
.footer__nav--order-house .footer__item {
  font-size: 1.5rem;
  white-space: nowrap;
}

/* ─── ハンバーガーメニュー ─── */
.headerSp__nav--order-house {
  grid-column: 1 / -1;
  padding: 2rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
/* nth-child(odd) の padding-left を打ち消す */
.headerSp__navs .headerSp__nav--order-house {
  padding-left: 1.5rem;
}
.headerSp__nav--order-house .headerSp__label {
  font-size: 1.8rem;
  letter-spacing: 3px;
}
.headerSp__nav--order-house .headerSp__items {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-flex;
  display: flex;
  gap: 1rem 3.2rem;
  margin-top: 1.6rem;
}
.headerSp__nav--order-house .headerSp__item {
  font-size: 1.5rem;
  white-space: nowrap;
}

/* タブレット以上（768px+）
   ・footer__navs は display:flex に切り替わるため flex-basis で対応
   ・headerSp__navs は grid のまま grid-column を維持
==================================== */
@media screen and (min-width: 768px) {
  /* footer：flex コンテナに wrap を付与して order house を単独行に */
  .footer__navs {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .footer__nav--order-house {
    -webkit-flex: 0 0 100%;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    width: 100%;
  }
  .footer__nav--order-house .footer__items {
    gap: 0.8rem 4rem;
  }

  /* hamburger：grid のまま維持 */
  .headerSp__nav--order-house {
    grid-column: 1 / -1;
  }
  .headerSp__nav--order-house .headerSp__items {
    gap: 0.8rem 4rem;
  }
}


/* ============================================================
 * スクロールフェードインアニメーション
 * ============================================================ */

/* 基本：フェードアップ */
.fade-in {
  opacity: 0;
  -webkit-transform: translateY(28px);
  transform: translateY(28px);
  -webkit-transition: opacity 0.75s ease, -webkit-transform 0.75s ease;
  transition: opacity 0.75s ease, transform 0.75s ease;
  will-change: opacity, transform;
}

/* 左からスライドイン（BRANCH BOX / AXIS ONE 専用） */
.fade-in--left {
  opacity: 0;
  -webkit-transform: translateX(-48px);
  transform: translateX(-48px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* 右からスライドイン */
.fade-in--right {
  opacity: 0;
  -webkit-transform: translateX(48px);
  transform: translateX(48px);
  -webkit-transition: opacity 0.8s ease, -webkit-transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* スケールアップ（BRANCH BOX / AXIS ONE ブランド強調） */
.fade-in--scale {
  opacity: 0;
  -webkit-transform: scale(0.94);
  transform: scale(0.94);
  -webkit-transition: opacity 0.9s ease, -webkit-transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}

/* 表示状態 */
.fade-in.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
.fade-in--left.is-visible,
.fade-in--right.is-visible {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.fade-in--scale.is-visible {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* スタッガー遅延（カードグリッド用） */
.fade-in--d1 { -webkit-transition-delay: 0.1s; transition-delay: 0.1s; }
.fade-in--d2 { -webkit-transition-delay: 0.2s; transition-delay: 0.2s; }
.fade-in--d3 { -webkit-transition-delay: 0.3s; transition-delay: 0.3s; }
.fade-in--d4 { -webkit-transition-delay: 0.4s; transition-delay: 0.4s; }
.fade-in--d5 { -webkit-transition-delay: 0.5s; transition-delay: 0.5s; }

/* アクセシビリティ：モーション軽減設定の場合はアニメーション無効化 */
@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .fade-in--left,
  .fade-in--right,
  .fade-in--scale {
    opacity: 1 !important;
    -webkit-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
