@charset "UTF-8";
/* ======================================
   Variables & Functions
   ====================================== */
/* ======================================
   Root Variables & Fonts
   ====================================== */
:root {
  --basefont:"Noto Sans JP", sans-serif;
  --enfont:"Work Sans", "Noto Sans JP", sans-serif;
  --cormorantfont: 'Cormorant Garamond', serif;
  --fontbold: 700;
  --fontnormal: 500;
  --fontsmart: 400;
  --greencolor:#2DA7B0;
}

/* ======================================
   Reset / Normalize
   ====================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--basefont);
  font-weight: var(--fontsmart);
  font-size: 1rem;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover, a:active {
  text-decoration: none;
}

*:focus {
  outline: none;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

ul, ol {
  list-style: none;
}

button, input, textarea, select {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  outline: none;
  appearance: none;
}

button {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

strong, b {
  font-weight: 600;
}

em {
  font-style: normal;
}

blockquote {
  quotes: none;
}
blockquote::before, blockquote::after {
  content: "";
}

@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

/* ======================================
   Layout Utility
   ====================================== */
.inner {
  margin-inline: auto;
  position: relative;
  max-width: clamp(40rem, 96.018735363vw, 123rem);
  margin-inline: auto;
  padding-inline: 1.5rem;
}
.inner--1000 {
  max-width: clamp(40rem, 80.4059328649vw, 103rem);
}
.inner--1200 {
  max-width: clamp(40rem, 96.018735363vw, 123rem);
}
@media (max-width: 1021px) {
  .inner {
    max-width: none;
    padding-inline: initial;
    margin-inline: 2rem;
  }
}

.anchor-txt {
  position: absolute;
  inset: 0;
  z-index: 100;
}

.snslist {
  display: flex;
  gap: 4rem;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.btn--box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: clamp(14rem, 15.612802498vw, 20rem);
  background-color: white;
  min-height: clamp(4rem, 3.9032006245vw, 5rem);
  border-radius: 999.9rem;
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  padding-inline: clamp(1.5rem, 1.5612802498vw, 2rem);
}
.btn--box:after {
  content: "→";
}

h2.bordertitle {
  padding-top: clamp(1rem, 1.4691478942vw, 1.5rem);
  position: relative;
  margin-bottom: clamp(2.5rem, 3.4348165496vw, 4.4rem);
}
h2.bordertitle:before {
  content: "";
  position: absolute;
  width: clamp(7rem, 7.8354554358vw, 8rem);
  height: 0.5rem;
  background-color: var(--greencolor);
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
h2.bordertitle .txt {
  display: block;
  text-align: center;
}
h2.bordertitle .txt--title {
  font-size: clamp(2.2rem, 2.1857923497vw, 2.8rem);
  font-weight: var(--fontbold);
  margin-bottom: clamp(0.5rem, 0.9794319295vw, 1rem);
}
h2.bordertitle .txt--entxt {
  font-family: var(--enfont);
  font-size: clamp(1.6rem, 1.6393442623vw, 2.1rem);
  font-weight: var(--fontbold);
}

/* ======================================
.menubox
====================================== */
.menubox {
  display: flex;
  align-items: flex-start;
  gap: clamp(5rem, 10.5386416862vw, 13.5rem);
}
@media (max-width: 1021px) {
  .menubox {
    display: block;
  }
}
.menubox .box--look {
  width: 20.1rem;
}
.menubox .box--know .boxitem {
  display: flex;
  align-items: flex-start;
  gap: clamp(3.5rem, 5.4644808743vw, 7rem);
}
.menubox .box--know .item--box {
  width: clamp(28rem, 23.4192037471vw, 30rem);
}
.menubox .box--know .item--box .inbox {
  font-size: clamp(1rem, 1.1753183154vw, 1.2rem);
}
.menubox .box--know .item--box .inbox p.txt {
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
  color: #a5a5a5;
}
.menubox .box--know .item--box .inbox:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.9382957884vw, 3rem);
}
.menubox .box--know h4 {
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  font-weight: var(--fontnormal);
  margin-bottom: clamp(1.2rem, 1.6650342801vw, 1.7rem);
}
.menubox .box--know h4.mintitle {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.1753183154vw, 1.2rem);
}
.menubox .box--know h4.mintitle:before {
  content: "-";
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  color: var(--greencolor);
}
.menubox h3.title {
  color: var(--greencolor);
  font-weight: var(--fontnormal);
  font-size: clamp(1.5rem, 1.4051522248vw, 1.8rem);
  margin-bottom: clamp(1.5rem, 1.3270882123vw, 1.7rem);
}
@media (max-width: 1021px) {
  .menubox h3.title {
    margin-bottom: 0;
  }
}
.menubox .list {
  padding-left: clamp(2rem, 2.4485798237vw, 2.5rem);
  margin-bottom: clamp(2rem, 2.9382957884vw, 3rem);
}
.menubox .list li {
  position: relative;
  display: flex;
  font-size: clamp(1.3rem, 1.3712047013vw, 1.4rem);
  line-height: 2.4285714286;
  gap: 0.5rem;
}
.menubox .list li:before {
  content: "-";
  color: var(--greencolor);
  font-size: clamp(1.3rem, 1.3712047013vw, 1.4rem);
}
.menubox .list--box {
  padding-left: 0;
  margin-bottom: 0;
}
.menubox .list--box li {
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  line-height: 2.9375;
}
.menubox .list--box li:before {
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
}
@media (max-width: 1021px) {
  .menubox .box {
    display: flex;
    align-items: flex-start;
    gap: 3rem;
  }
  .menubox .box:not(:last-of-type) {
    margin-bottom: 5rem;
  }
  .menubox .box .menu {
    width: calc(100% - 3rem - 3rem);
  }
  .menubox .box .menu--text:not(:last-child) {
    margin-bottom: 1.5rem;
  }
  .menubox .box .menu--text .txt {
    border-bottom: 1px dashed #808080;
    padding-bottom: 1.4rem;
    padding-inline: 1rem;
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
  }
  .menubox .box .menu--text .txt:after {
    content: "→";
  }
  .menubox .box .menu--text.item .txt:after {
    content: "＋";
  }
  .menubox .box .menu--text.item .sub {
    padding-top: 1.5rem;
    padding-left: 1.3rem;
    font-size: 1.3rem;
  }
  .menubox .box .menu--text.item .sub li {
    line-height: 2.3076923077;
  }
  .menubox .box .menu--text.item .sub li:before {
    content: "-";
    color: #2DA7B0;
    display: inline-block;
    padding-right: 1rem;
  }
}

.teltext {
  font-size: clamp(2.2rem, 2.6541764247vw, 3.4rem);
  font-weight: var(--fontnormal);
  font-family: var(--enfont);
  position: relative;
}
@media (max-width: 1021px) {
  .teltext {
    width: 36rem;
    margin: auto;
    background-color: white;
    border-radius: 999.9rem;
    height: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.teltext .text:before {
  content: url(../../dist/images/common/icon-tel.svg);
  padding-right: clamp(0.5rem, 1.1753183154vw, 1.2rem);
}

.newslist--box {
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1.5rem, 1.7954722873vw, 2.3rem);
}
.newslist--box:not(:last-child) {
  margin-bottom: clamp(1.5rem, 1.7954722873vw, 2.3rem);
}
.newslist--item {
  display: flex;
  align-items: flex-start;
  flex-shrink: 1;
  position: relative;
  gap: clamp(2rem, 2.3419203747vw, 3rem);
}
.newslist--item:after {
  content: "→";
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 1.6rem;
  line-height: 1;
}
.newslist--item .txt {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.7333333333;
  padding-right: clamp(3rem, 3.1225604996vw, 4rem);
}
.newslist--archive .newslist--item {
  gap: clamp(1.5rem, 1.9516003123vw, 2.5rem);
  align-items: stretch;
}
@media (max-width: 1021px) {
  .newslist--archive .newslist--item {
    gap: 1.5rem;
  }
}
.newslist--archive .cap {
  width: clamp(18rem, 18.7353629977vw, 24rem);
  aspect-ratio: 240/180;
}
@media (max-width: 1021px) {
  .newslist--archive .cap {
    width: 13rem;
  }
}
.newslist--archive .cap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 1021px) {
  .newslist--archive .cap img {
    object-position: top;
  }
}
.newslist--archive .textbox {
  width: calc(100% - clamp(18rem, 18.7353629977vw, 24rem) - clamp(1.5rem, 1.9516003123vw, 2.5rem));
  display: flex;
  flex-direction: column;
}
@media (max-width: 1021px) {
  .newslist--archive .textbox {
    width: calc(100% - 13rem - 1.5rem);
  }
}
.newslist--archive .textbox .databox {
  margin-bottom: clamp(0.5rem, 0.9367681499vw, 1.2rem);
}
.newslist--archive .textbox .writes {
  margin-top: auto;
}

.databox {
  display: flex;
  align-items: flex-start;
  flex-shrink: 1;
  gap: clamp(1.2rem, 1.5612802498vw, 2rem);
}
.databox .category {
  min-width: 7rem;
  height: 2.2rem;
  border: 1px solid #E6E6E6;
  background-color: #F2F2F2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #333333;
  white-space: nowrap;
  padding-inline: 1rem;
}
.databox .minbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.databox .timebox {
  font-size: clamp(1.2rem, 1.1709601874vw, 1.5rem);
}

.writes {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.writes .text {
  font-size: clamp(1.1rem, 1.1753183154vw, 1.2rem);
}
.writes .item {
  width: clamp(2.6rem, 2.8103044496vw, 3.6rem);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 999.9rem;
}
.writes .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* ======================================
.contentsbanner
====================================== */
.contentsbanner {
  display: flex;
  flex-wrap: wrap;
}
.contentsbanner li {
  background-color: white;
}
.contentsbanner li .box {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: clamp(1.3rem, 2.1547502449vw, 2.2rem);
  position: relative;
}
@media (max-width: 1021px) {
  .contentsbanner li .box {
    gap: 1.3rem;
  }
}
.contentsbanner li .box:after {
  content: "→";
  font-size: 0.9375vw;
  position: absolute;
  right: 1.3rem;
  bottom: 0.5rem;
}
@media (max-width: 1021px) {
  .contentsbanner li .box:after {
    font-size: 1.6rem;
    bottom: 0.8rem;
  }
}
.contentsbanner li .box h4 .txt {
  display: block;
  font-size: 0.9375vw;
}
@media (max-width: 1021px) {
  .contentsbanner li .box h4 .txt {
    font-size: 1.5rem;
  }
}
.contentsbanner li .box h4 .txt--en {
  font-family: var(--en);
  font-size: 0.78125vw;
  margin-bottom: clamp(0.5rem, 0.6245120999vw, 0.8rem);
  line-height: 1;
}
@media (max-width: 1021px) {
  .contentsbanner li .box h4 .txt--en {
    font-size: 1.2rem;
  }
}
.contentsbanner li .box .text {
  width: calc(100% - clamp(8rem, 7.806401249vw, 10rem));
  padding-right: 2rem;
}
@media (max-width: 1021px) {
  .contentsbanner li .box .text {
    width: calc(100% - 10rem - 1.3rem);
  }
}
.contentsbanner li .box .cap {
  width: clamp(8rem, 7.806401249vw, 10rem);
  aspect-ratio: 1;
}
@media (max-width: 1021px) {
  .contentsbanner li .box .cap {
    width: 10rem;
  }
}
.contentsbanner li .box .cap img {
  width: 100%;
  height: 100%;
}

/* ======================================
.othercontents
====================================== */
.othercontents {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
}
.othercontents .contents {
  display: flex;
}
@media (max-width: 1021px) {
  .othercontents .contents {
    display: block;
  }
}
.othercontents .contents .box {
  width: 50%;
  flex-shrink: 1;
  padding: 4.1666666667vw;
}
@media (max-width: 1021px) {
  .othercontents .contents .box {
    width: auto;
    padding-inline: 2rem;
  }
}
.othercontents .contents .box .item {
  border-top: 1px solid #1A1A1A;
  padding-top: clamp(3rem, 2.8883684621vw, 3.7rem);
}
.othercontents .contents .box .item h3.title {
  font-size: clamp(2.3rem, 2.1857923497vw, 2.8rem);
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
  line-height: 1;
  margin-bottom: clamp(2.1rem, 2.9664324746vw, 3.8rem);
}
.othercontents .contents .box .item .headbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: clamp(2.3rem, 3.4348165496vw, 4.4rem);
}
.othercontents .contents .box .item .headbox .title {
  margin-bottom: 0;
}
.othercontents .contents .box .item--news {
  margin-bottom: clamp(4rem, 8.5089773614vw, 10.9rem);
}
.othercontents .contents .box .item--project {
  margin-bottom: clamp(4rem, 7.806401249vw, 10rem);
}
.othercontents .contents .box .item--project ul li {
  border-bottom: 1px dashed #808080;
  padding-bottom: 1.5rem;
}
@media (max-width: 1021px) {
  .othercontents .contents .box .item--project ul li {
    padding-inline: 1rem;
  }
}
.othercontents .contents .box .item--project ul li:not(:last-child) {
  margin-bottom: clamp(2.5rem, 2.9664324746vw, 3.8rem);
}
.othercontents .contents .box .item--project ul li h4 {
  margin-bottom: 1rem;
}
.othercontents .contents .box .item--project ul li h4 .text {
  display: block;
  font-size: clamp(1.9rem, 1.6393442623vw, 2.1rem);
  font-weight: var(--fontnormal);
}
.othercontents .contents .box .item--project ul li h4 .text--en {
  font-size: clamp(1.4rem, 1.1709601874vw, 1.5rem);
  font-family: var(--enfont);
  font-weight: var(--fontsmart);
}
.othercontents .contents .box .item--project ul li a {
  display: block;
}
.othercontents .contents .box .item--project ul li .txt {
  text-align: right;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
}
@media (max-width: 1021px) {
  .othercontents .contents .box .item--project ul li .txt {
    text-align: left;
    display: flex;
    justify-content: space-between;
  }
}
.othercontents .contents .box .item--project ul li .txt:after {
  content: "→";
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  padding-left: 2rem;
}
.othercontents .contents .box .item--faq .headbox h3.title {
  margin-bottom: 0;
}
.othercontents .contents .box .item--faq .headbox .btn--box {
  border: 1px solid #E6E6E6;
}
.othercontents .contents .box .item--faq ul {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.9rem, 1.5612802498vw, 2rem);
}
.othercontents .contents .box .item--faq ul li {
  flex: 0 0 calc((100% - clamp(0.9rem, 1.5612802498vw, 2rem)) / 2);
}
.othercontents .contents .box .item--faq ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #E6E6E6;
  background-color: #F7F7F7;
  min-height: 8rem;
  font-size: clamp(1.2rem, 1.1709601874vw, 1.5rem);
  padding-left: clamp(1.3rem, 1.9516003123vw, 2.5rem);
  padding-right: clamp(1.3rem, 1.5612802498vw, 2rem);
  line-height: 1;
  position: relative;
}
.othercontents .contents .box .item--faq ul li a:after {
  content: "→";
}
@media (max-width: 768px) {
  .othercontents .contents .box .item--faq ul li a {
    line-height: 1.5833333333;
  }
}
.othercontents .contents .box .sns--box {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.2rem, 0.4897159647vw, 0.5rem);
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
}
.othercontents .contents .box .sns--box li {
  flex: 0 0 calc((100% - clamp(0.2rem, 0.4897159647vw, 0.5rem) * 4) / 5);
}
@media (max-width: 1021px) {
  .othercontents .contents .box .sns--box li {
    flex: 0 0 calc((100% - clamp(0.2rem, 0.4897159647vw, 0.5rem) * 3) / 4);
  }
}
.othercontents .contents .box .sns .snslist {
  justify-content: center;
  gap: clamp(1.5rem, 1.5612802498vw, 2rem);
}
.othercontents .contents .box .sns .snslist li a {
  display: block;
  display: flex;
  width: clamp(6rem, 6.2451209992vw, 8rem);
  height: clamp(6rem, 6.2451209992vw, 8rem);
  background-color: white;
  border-radius: 999.9rem;
  justify-content: center;
  align-items: center;
}
.othercontents .contents .box .sns .text {
  text-align: center;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.7333333333;
  margin-bottom: 2rem;
}
.othercontents .contents .box .sns .text .txt {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 3rem;
}
.othercontents .contents .box .sns .text .txt:before, .othercontents .contents .box .sns .text .txt:after {
  content: "";
  width: 1px;
  height: 5rem;
  display: block;
  background-color: #1A1A1A;
}
.othercontents .contents .box .sns .text .txt:before {
  transform: rotate(-35deg);
}
.othercontents .contents .box .sns .text .txt:after {
  transform: rotate(35deg);
}
.othercontents .contents--project {
  background-color: white;
}
.othercontents .contents--project h3.title {
  color: var(--greencolor);
}
.othercontents .contents--project h3.title small {
  font-size: clamp(1.4rem, 1.3270882123vw, 1.7rem);
  padding-left: clamp(1.2rem, 1.1709601874vw, 1.5rem);
}

.telbox--item {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #1A1A1A;
  padding-bottom: clamp(2rem, 2.3506366308vw, 2rem);
  margin-bottom: 3rem;
  gap: 4.5rem;
}
@media (max-width: 1021px) {
  .telbox--item {
    display: block;
    border-bottom: none;
    padding-bottom: 0;
  }
}
.telbox--item .txt {
  font-size: clamp(1.5rem, 1.4051522248vw, 1.8rem);
}
@media (max-width: 1021px) {
  .telbox--item .txt {
    text-align: center;
    margin-bottom: 1.8rem;
  }
}

.footercontents {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-bottom: 10rem;
  padding-top: clamp(8.3rem, 10.1483216237vw, 13rem);
}
@media (max-width: 768px) {
  .footercontents {
    padding-bottom: 4.6rem;
  }
}
.footercontents .contentsbanner {
  gap: clamp(1rem, 1.958863859vw, 2rem);
  width: clamp(61.1rem, 48.9583333333vw, 94rem);
}
@media (max-width: 1021px) {
  .footercontents .contentsbanner {
    display: block;
    width: auto;
  }
}
.footercontents .contentsbanner li {
  flex: 0 0 calc((100% - 2rem) / 2);
}
@media (max-width: 1021px) {
  .footercontents .contentsbanner li {
    flex: none;
  }
  .footercontents .contentsbanner li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.footercontents .contactbox {
  margin-inline: 6.25vw;
  background: url(../../dist/images/common/contact-cap.jpg) no-repeat center top/cover;
  padding: clamp(2rem, 9.3676814988vw, 12rem) 6.25vw;
  margin-bottom: clamp(4rem, 4.0593286495vw, 5.2rem);
}
@media (max-width: 1021px) {
  .footercontents .contactbox {
    margin-inline: initial;
    background: none;
    position: relative;
    padding: 6rem 2rem 0;
  }
  .footercontents .contactbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../../dist/images/common/contact-cap_sp.jpg) no-repeat center top/contain;
  }
}
.footercontents .contactbox div.box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  .footercontents .contactbox div.box {
    display: block;
  }
}
.footercontents .contactbox div.box .title {
  color: white;
}
@media (max-width: 1021px) {
  .footercontents .contactbox div.box .title {
    text-align: center;
    margin-bottom: 1.8rem;
  }
}
.footercontents .contactbox div.box .title .text {
  font-size: clamp(3rem, 2.8103044496vw, 3.6rem);
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
  margin-bottom: clamp(0.7rem, 1.2490241998vw, 1.6rem);
  display: block;
  line-height: 1;
}
.footercontents .contactbox div.box .title .txt {
  font-size: clamp(1.5rem, 1.4832162373vw, 1.9rem);
  line-height: 1;
  display: block;
}
.footercontents .telbox {
  width: clamp(40rem, 78.0640124902vw, 100rem);
  margin: 0 auto clamp(5rem, 7.3272273106vw, 8.8rem);
}
@media (max-width: 1021px) {
  .footercontents .telbox {
    width: auto;
  }
}
.footercontents .telbox--bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  font-size: clamp(1.3rem, 1.4691478942vw, 1.5rem);
}
@media (max-width: 1021px) {
  .footercontents .telbox--bottom {
    display: block;
    text-align: center;
    gap: initial;
    line-height: 1.6923076923;
  }
}
.footercontents .telbox--bottom a {
  text-decoration: underline;
}
.footercontents .footerbaner {
  display: flex;
  justify-content: center;
  gap: clamp(0.8rem, 3.1225604996vw, 4rem);
}
.footercontents .footerbaner li {
  width: clamp(14.4rem, 14.0515222482vw, 18rem);
}

/* ======================================
#footerbox
====================================== */
#footerbox {
  padding: clamp(12.2rem, 12.5367286974vw, 12.8rem) 0 0;
  margin-bottom: clamp(2rem, 4.1136141038vw, 4.2rem);
  background: url(../../dist/images/common/bg-footer.jpg) no-repeat left top/contain;
}
@media (max-width: 768px) {
  #footerbox {
    margin-bottom: 13.8rem;
    background: url(../../dist/images/common/bg-footer_sp.jpg) no-repeat left top/contain;
    padding-top: 18rem;
    position: relative;
  }
  #footerbox:before {
    content: "";
    left: 12.5rem;
    top: 0;
    background: url(../../dist/images/common/footer-item_sp.png) no-repeat center center/contain;
    width: 22.1rem;
    height: 15.759rem;
    position: absolute;
  }
}
@media (max-width: 1021px) {
  #footerbox .inner {
    margin-inline: 3rem;
  }
}
#footerbox .inner:after {
  content: "";
  position: absolute;
  width: clamp(22.1rem, 23.731459797vw, 30.4rem);
  height: clamp(15.8rem, 23.3411397346vw, 29.9rem);
  background: url(../../dist/images/common/footer-item.png) no-repeat center center/contain;
  position: absolute;
  right: -6rem;
  top: -27rem;
}
@media (max-width: 1021px) {
  #footerbox .inner:after {
    content: none;
  }
}
#footerbox .menubox {
  margin-bottom: clamp(5.4rem, 5.9328649493vw, 7.6rem);
}
#footerbox .headbox {
  display: flex;
  align-items: center;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(2.5rem, 2.4980483997vw, 3.2rem);
  margin-bottom: clamp(3.5rem, 3.3567525371vw, 4.3rem);
  gap: clamp(4.5rem, 4.3715846995vw, 5.6rem);
}
@media (max-width: 1021px) {
  #footerbox .headbox {
    display: block;
    text-align: center;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 8.2rem;
  }
  #footerbox .headbox .logo {
    width: 16.7rem;
    margin-inline: auto;
  }
}
#footerbox .headbox .text {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 1.7954722873vw, 2.3rem);
  padding-top: 0.7rem;
}
@media (max-width: 1021px) {
  #footerbox .headbox .text {
    display: none;
  }
}
#footerbox .headbox .text--top {
  font-weight: var(--fontnormal);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
#footerbox .headbox .text--txt {
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
}

/* ======================================
  .othercontent
   ====================================== */
.othercontent {
  display: flex;
  align-items: flex-start;
  gap: 5rem;
}
@media (max-width: 1021px) {
  .othercontent {
    display: block;
  }
}
.othercontent .box h3 {
  font-family: var(--enfont);
  font-size: clamp(1.3rem, 1.4691478942vw, 1.3rem);
  margin-bottom: clamp(1rem, 1.3712047013vw, 1.4rem);
}
.othercontent .box--banner {
  width: clamp(33rem, 41.1361410382vw, 42rem);
}
@media (max-width: 1021px) {
  .othercontent .box--banner {
    width: auto;
    margin-bottom: 5.4rem;
  }
}
.othercontent .box--banner ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media (max-width: 1021px) {
  .othercontent .box--banner ul {
    gap: 1rem;
  }
}
.othercontent .box--banner ul li {
  flex: 0 0 calc((100% - 2rem) / 2);
}
@media (max-width: 1021px) {
  .othercontent .box--banner ul li {
    flex: 0 0 calc((100% - 1rem) / 2);
  }
}
.othercontent .box--banner ul li img {
  width: 100%;
}
.othercontent .box--sns .snslist {
  padding-top: 1.8rem;
}
@media (max-width: 1021px) {
  .othercontent .box--sns .snslist {
    justify-content: center;
  }
}

/* ======================================
   #footernav
   ====================================== */
.footernav {
  background-color: var(--greencolor);
  padding: clamp(2.5rem, 2.7424094025vw, 2.8rem) 0 clamp(2rem, 2.9382957884vw, 3rem);
  font-size: 1.2rem;
}
@media (max-width: 1021px) {
  .footernav .copy {
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 768px) {
  .footernav {
    padding: 2.8rem 0 16rem;
  }
}
.footernav .inner {
  display: flex;
  justify-content: space-between;
  color: white;
  position: relative;
}
.footernav .inner:after {
  content: "";
  position: absolute;
  width: 23.2rem;
  height: 7rem;
  background: url(../../dist/images/common/footer-icon.png) no-repeat center center/contain;
  right: 0;
  top: -9rem;
}
@media (max-width: 1021px) {
  .footernav .inner:after {
    left: 0;
    margin: auto;
  }
}
@media (max-width: 1021px) {
  .footernav .inner {
    display: block;
  }
}
@media (max-width: 1021px) {
  .footernav .menu {
    margin-bottom: 2.2rem;
  }
}
.footernav .menu ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1021px) {
  .footernav .menu ul {
    justify-content: center;
  }
}
.footernav .menu ul li:not(:last-child):after {
  content: "／";
  padding-left: 1rem;
}

/* ======================================
.case
   ====================================== */
.case--box {
  position: relative;
}
.case--box .itemtitle {
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
  background-color: #AA9D78;
  padding: 1rem 4.5rem 1rem 2.5rem;
  height: 6rem;
  border-radius: 3rem;
  display: flex;
  align-items: center;
  font-size: clamp(1.2rem, 1.1709601874vw, 1.5rem);
  color: white;
  gap: clamp(1.4rem, 1.5612802498vw, 2rem);
}
.case--box .itemtitle:before {
  content: url(../../dist/images/common/icon-logo.svg);
  width: clamp(3rem, 3.1225604996vw, 4rem);
}
.case--box .cap {
  aspect-ratio: 520/350;
  margin-bottom: clamp(1rem, 1.1709601874vw, 1.5rem);
}
.case--box .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.case--box .title {
  color: white;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  margin-bottom: clamp(0.8rem, 1.1709601874vw, 1.5rem);
}
.case--box .text {
  color: white;
  font-size: clamp(1.2rem, 1.0148321624vw, 1.3rem);
  line-height: 1.5384615385;
  padding-bottom: clamp(2rem, 2.7322404372vw, 3.5rem);
  border-bottom: 1px solid #AA9D79;
  margin-bottom: clamp(1.2rem, 1.1709601874vw, 1.5rem);
  position: relative;
}
.case--box .text:after {
  content: "→";
  color: white;
  position: absolute;
  font-size: 1.5rem;
  right: 0;
  bottom: 0;
}
.case--box .item {
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.6245120999vw, 0.8rem);
}
.case--box .item .txt a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #333333;
  border-radius: 0.3rem;
  color: white;
  font-family: var(--enfont);
  font-size: clamp(0.9rem, 1.0928961749vw, 1.4rem);
  padding: 0 1.6rem 0 1.1rem;
  min-height: 3rem;
  gap: 0.7rem;
  white-space: nowrap;
}
.case--box .item .txt--room a:before {
  content: url(../../dist/images/common/icon-room.svg);
}
.case--box .item .txt--voice a:before {
  content: url(../../dist/images/common/icon-voice.svg);
}
.case--box .item .txt--gallery a:before {
  content: url(../../dist/images/common/icon-gallery.svg);
}

body.home .introduction:after {
  content: "";
  position: absolute;
  left: 0;
  top: clamp(5rem, 8.8541666667vw, 17rem);
  width: 100%;
  height: 100%;
  background: url(../../dist/images/top/bg-bubble.png) no-repeat center top/contain;
  background-size: clamp(40rem, 86.3020833333vw, 165.7rem);
}
@media (max-width: 1021px) {
  body.home .introduction:after {
    background: url(../../dist/images/top/bg-bubble_sp.png) no-repeat center top/contain;
  }
}

/* ======================================
.introduction
   ====================================== */
.introduction {
  background: url(../../dist/images/common/introduction-bg.jpg);
  background-size: 16rem;
  padding-top: clamp(5.4rem, 7.962529274vw, 10.2rem);
  position: relative;
}
.introduction:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/top/bg.jpg) no-repeat left top/contain;
}
@media (max-width: 1021px) {
  .introduction:before {
    background: url(../../dist/images/top/bg_sp.jpg) no-repeat left top/contain;
  }
}
.introduction .case {
  margin-bottom: clamp(11rem, 12.8024980484vw, 16.4rem);
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  .introduction .case .slick-dotted.slick-slider {
    margin-bottom: 4rem;
  }
  .introduction .case .slick-dots {
    bottom: -5rem;
  }
  .introduction .case .slick-dots li {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 0.5rem;
    background-color: #E6E6E6;
    border-radius: 999.9rem;
  }
  .introduction .case .slick-dots li.slick-active {
    background-color: #1A1A1A;
  }
  .introduction .case .slick-dots li button {
    width: 100%;
    height: 100%;
    padding: 0;
  }
  .introduction .case .slick-dots li button:before {
    content: none;
    color: #E6E6E6;
    width: 100%;
    height: 100%;
  }
}
.introduction .case--box {
  margin: 0 1.5rem;
}
.introduction .headbox {
  text-align: center;
  margin-bottom: clamp(4.5rem, 5.4644808743vw, 7rem);
  position: relative;
  z-index: 2;
}
.introduction .headbox .logo {
  width: clamp(8rem, 9.7580015613vw, 12.5rem);
  margin-inline: auto;
  margin-bottom: clamp(1rem, 1.7174082748vw, 2.2rem);
}
.introduction .headbox h2 {
  color: white;
  font-weight: var(--fontnormal);
  font-size: clamp(1.5rem, 1.4832162373vw, 1.9rem);
}
.introduction .pickup {
  margin-bottom: clamp(7.2rem, 9.3676814988vw, 12rem);
  position: relative;
  z-index: 2;
}
.introduction .pickup .title {
  width: clamp(11rem, 12.9586260734vw, 16.6rem);
  margin: 0 auto 2.5rem;
}
.introduction .pickup .btn--box {
  width: 28rem;
  margin-inline: auto;
  height: clamp(5rem, 4.6838407494vw, 6rem);
}
.introduction .pickup--list {
  display: flex;
  border-top: 1px solid #AA9D78;
  border-bottom: 1px solid #AA9D78;
  margin-bottom: clamp(3rem, 3.9032006245vw, 5rem);
}
@media (max-width: 1021px) {
  .introduction .pickup--list {
    flex-wrap: wrap;
  }
}
.introduction .pickup--list .cap {
  position: relative;
  width: 100%;
  aspect-ratio: 3/2;
}
@media (max-width: 1021px) {
  .introduction .pickup--list .cap {
    aspect-ratio: 3/1.5;
  }
}
.introduction .pickup--list .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}
.introduction .pickup--list .cap:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: clamp(2rem, 2.3419203747vw, 3rem);
  height: clamp(2rem, 2.3419203747vw, 3rem);
  background-color: #AA9D79;
  pointer-events: none;
}
.introduction .pickup--list .cap:after {
  content: "＋";
  color: white;
  font-size: clamp(0.9rem, 1.1709601874vw, 1.5rem);
  position: absolute;
  right: 0.7rem;
  bottom: 0.4rem;
  z-index: 2;
  pointer-events: none;
}
.introduction .pickup--list li {
  flex: 0 0 16.6666666667%;
  padding: clamp(1.4rem, 2.3419203747vw, 3rem) 2.0833333333vw clamp(2.7rem, 3.9032006245vw, 5rem);
  text-align: center;
  cursor: pointer;
}
@media (max-width: 1021px) {
  .introduction .pickup--list li {
    flex: 0 0 calc(33.3333333333% - 1px);
  }
  .introduction .pickup--list li:nth-child(-n+3) {
    border-bottom: 1px solid #AA9D78;
  }
}
.introduction .pickup--list li .txt {
  color: white;
  font-size: clamp(1rem, 1.0148321624vw, 1.3rem);
  margin-bottom: clamp(1.2rem, 1.4832162373vw, 1.9rem);
}
.introduction .pickup--list li:not(:last-child) {
  border-right: 1px solid #AA9D78;
}
.introduction .about {
  position: relative;
  z-index: 2;
}
.introduction .about--topbox {
  display: flex;
  align-items: flex-end;
}
@media (max-width: 1021px) {
  .introduction .about--topbox {
    display: block;
  }
}
.introduction .about--topbox .cap {
  width: calc(100% - 30.7291666667vw);
}
@media (max-width: 1021px) {
  .introduction .about--topbox .cap {
    width: calc(100% - 4rem);
  }
}
.introduction .about--topbox .textbox {
  width: 30.7291666667vw;
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  padding-right: 6.0416666667vw;
  padding-left: 0.8333333333vw;
  position: relative;
  padding-top: 4.4791666667vw;
  padding-bottom: 5.7291666667vw;
}
@media (max-width: 1021px) {
  .introduction .about--topbox .textbox {
    width: auto;
    text-align: center;
    padding: 0;
  }
  .introduction .about--topbox .textbox .box {
    position: relative;
    z-index: 2;
  }
}
.introduction .about--topbox .textbox:before {
  content: "";
  position: absolute;
  width: 5.2083333333vw;
  height: 100%;
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  top: 0;
  left: -5.2083333333vw;
}
@media (max-width: 1021px) {
  .introduction .about--topbox .textbox:before {
    left: auto;
    right: 0;
    top: -3.2rem;
    width: calc(100% - 5.5rem);
  }
}
.introduction .about--topbox .textbox .text {
  color: white;
  font-size: clamp(1.5rem, 1.4832162373vw, 1.9rem);
  line-height: 1.8421052632;
  margin-bottom: 3.125vw;
}
@media (max-width: 1021px) {
  .introduction .about--topbox .textbox .text {
    margin-bottom: 0;
    line-height: 1.4666666667;
  }
}
.introduction .about--topbox .textbox h3.title {
  margin-bottom: 0.2604166667vw;
}
.introduction .about--topbox .textbox h3.title .txt {
  display: block;
  color: white;
  font-weight: var(--fontnormal);
  font-family: var(--enfont);
}
.introduction .about--topbox .textbox h3.title .txt--en {
  font-size: clamp(1.2rem, 1.5612802498vw, 2rem);
}
.introduction .about--topbox .textbox h3.title .txt--text {
  font-size: 5.7291666667vw;
}
@media (max-width: 1021px) {
  .introduction .about--topbox .textbox h3.title .txt--text {
    font-size: 4.5rem;
  }
}
.introduction .about--topbox .textbox .btn--box {
  width: clamp(25rem, 21.8579234973vw, 28rem);
}
.introduction .about--list {
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  padding-top: 3.75vw;
  padding-bottom: clamp(3rem, 7.650273224vw, 9.8rem);
  padding-inline: clamp(1rem, 3.9032006245vw, 5rem);
}
@media (max-width: 1021px) {
  .introduction .about--list {
    padding-bottom: 6.3rem;
    padding-top: 3.5rem;
  }
  .introduction .about--list .btn--box {
    margin: auto;
    width: 28rem;
    font-size: 1.4rem;
    height: 5rem;
  }
}
.introduction .about--list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5.2083333333vw;
}
@media (max-width: 1021px) {
  .introduction .about--list ul {
    margin-bottom: 3rem;
  }
}
.introduction .about--list ul .box {
  flex: 0 0 calc((100% - 15.625vw) / 4);
  border-bottom: 1px solid white;
  padding-bottom: clamp(3rem, 3.1225604996vw, 4rem);
  position: relative;
}
@media (max-width: 1021px) {
  .introduction .about--list ul .box {
    flex: 0 0 calc((100% - 5.2083333333vw) / 2);
  }
}
.introduction .about--list ul .box:after {
  content: "＋";
  position: absolute;
  right: 0.6rem;
  bottom: 1rem;
  color: white;
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
}
.introduction .about--list ul .box .title .number {
  font-size: clamp(1.7rem, 1.5612802498vw, 2rem);
  font-family: var(--enfont);
  color: #887E60;
  display: block;
  font-weight: var(--fontnormal);
  margin-bottom: clamp(1rem, 1.1709601874vw, 1.5rem);
}
.introduction .about--list ul .box .title .text {
  font-size: clamp(1.4rem, 1.25vw, 1.8rem);
  line-height: 1.6666666667;
  color: white;
}
.introduction .welcomebox {
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  padding-inline: 20.3125vw;
}
@media (max-width: 1021px) {
  .introduction .welcomebox {
    padding-inline: 2rem;
  }
}
.introduction .welcomebox h3 {
  text-align: center;
  font-size: clamp(2.5rem, 3.1225604996vw, 8rem);
  font-family: var(--cormorantfont);
  font-weight: var(--fontbold);
  color: #887E60;
  margin-bottom: clamp(2.5rem, 3.1225604996vw, 4rem);
}
.introduction .welcomebox ul {
  display: flex;
  justify-content: center;
  gap: 3.125vw;
  padding-inline: 1.5rem;
  position: relative;
  z-index: 3;
}
@media (max-width: 768px) {
  .introduction .welcomebox ul {
    display: block;
  }
}
.introduction .welcomebox ul .box {
  background-color: white;
  padding: 3rem;
  flex: 0 0 calc((100% - 1.5625vw) / 2);
  border-radius: 0.5rem;
  position: relative;
}
@media (max-width: 1021px) {
  .introduction .welcomebox ul .box {
    padding: 2rem;
  }
  .introduction .welcomebox ul .box:not(:last-of-type) {
    margin-bottom: 4.6rem;
  }
}
.introduction .welcomebox ul .box .title {
  border-bottom: 1px solid #1A1A1A;
  padding-bottom: clamp(1.9rem, 2.0296643247vw, 2.6rem);
  font-size: clamp(1.3rem, 1.6393442623vw, 2.1rem);
  font-weight: var(--fontnormal);
  display: flex;
  justify-content: space-between;
}
.introduction .welcomebox ul .box .title:after {
  content: "→";
  font-size: clamp(1.3rem, 1.5612802498vw, 2rem);
}
.introduction .welcomebox ul .box .item {
  position: relative;
  margin-bottom: clamp(1.4rem, 1.7174082748vw, 2.2rem);
}
.introduction .welcomebox ul .box .item h4 {
  position: absolute;
  font-size: clamp(2.4rem, 2.8103044496vw, 3.6rem);
  color: white;
  bottom: clamp(1.9rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  text-align: center;
  width: 100%;
}
.introduction .welcomebox ul .box .item .lead {
  position: absolute;
  left: clamp(1rem, 1.1709601874vw, 1.6rem);
  top: clamp(1.4rem, 1.5612802498vw, 2rem);
  color: white;
  font-size: clamp(1rem, 1.2490241998vw, 1.6rem);
  line-height: 1.6875;
}
.introduction .bottombox {
  margin-top: -6.7708333333vw;
  position: relative;
  z-index: 2;
}
.introduction .bottombox .btnwrap {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
@media (max-width: 768px) {
  .introduction .bottombox .btnwrap {
    flex-direction: column;
    align-items: center;
  }
}
.introduction .bottombox .contents {
  left: 0;
  right: 0;
  margin: auto;
  bottom: 8.3333333333vw;
  position: absolute;
  width: clamp(76.8rem, 84.3091334895vw, 108rem);
}
@media (max-width: 1021px) {
  .introduction .bottombox .contents {
    width: auto;
    margin-inline: 2rem;
    bottom: 7rem;
  }
  .introduction .bottombox .contents .itemtext {
    text-align: center;
    color: white;
    font-size: 1.3rem;
    padding-block: 2rem 3rem;
  }
}
.introduction .bottombox .contents .btn--box {
  width: 28rem;
  margin: auto;
}
@media (max-width: 1021px) {
  .introduction .bottombox .contents .btn--box {
    height: 5rem;
    font-size: 1.4rem;
  }
}
.introduction .bottombox .contents ul {
  display: flex;
  justify-content: center;
  gap: 1.0416666667vw;
  margin-bottom: clamp(3rem, 3.3567525371vw, 4.3rem);
}
.introduction .bottombox .contents ul li {
  flex: 0 0 calc((100% - 4.1666666667vw) / 5);
  text-align: center;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  border-radius: 0 0 0.5rem 0;
}
.introduction .bottombox .contents ul li .txt {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  padding: 0.8333333333vw 0 1.3541666667vw;
  font-size: clamp(1.3rem, 1.4051522248vw, 1.8rem);
}
.introduction .bottombox .contents .lead {
  font-size: clamp(1.3rem, 1.2490241998vw, 1.6rem);
  color: white;
  line-height: 2;
  margin-bottom: 2.6041666667vw;
  text-align: center;
}
@media (max-width: 1021px) {
  .introduction .bottombox .contents .lead {
    margin-bottom: 5rem;
    line-height: 1.6428571429;
  }
}
.introduction .bottombox .contents .title {
  text-align: center;
  font-size: clamp(2rem, 2.1077283372vw, 2.7rem);
  color: white;
  font-weight: var(--fontbold);
  margin-bottom: 1.5625vw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.0833333333vw;
}
.introduction .bottombox .contents .icon {
  width: clamp(5.4rem, 5.9328649493vw, 7.6rem);
}

/* ======================================
.contentstop
   ====================================== */
.contentstop {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-bottom: clamp(7rem, 9.3676814988vw, 12rem);
  position: relative;
  padding-top: clamp(0.5rem, 5.5555555556vw, 8rem);
}
@media (max-width: 1021px) {
  .contentstop {
    padding-top: 0;
  }
}
.contentstop:before {
  content: "";
  position: absolute;
}
.contentstop:after {
  content: "";
  position: absolute;
  left: 0;
  top: -7rem;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/top/topcap-bg.png) no-repeat center top/contain;
}
@media (max-width: 1021px) {
  .contentstop:after {
    background: url(../../dist/images/top/topcap-bg_sp.png) no-repeat center top/contain;
    top: -4.2rem;
  }
}
.contentstop .item {
  position: relative;
}
.contentstop .item:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: clamp(70rem, 86.1111111111vw, 124rem);
  padding-top: clamp(39rem, 43.0950048972vw, 44rem);
  background-color: white;
}
@media (max-width: 768px) {
  .contentstop .item:before {
    padding-top: 41.5rem;
  }
}
.contentstop .inner {
  max-width: clamp(40rem, 89.7736143638vw, 115rem);
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  .contentstop .inner {
    max-width: none;
  }
}
.contentstop--topbox {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 4.0104166667vw;
  margin-bottom: clamp(10.7rem, 18.7353629977vw, 24rem);
}
@media (max-width: 768px) {
  .contentstop--topbox {
    display: block;
  }
}
.contentstop--topbox .cap {
  width: clamp(36rem, 41.3739266198vw, 53rem);
}
@media (max-width: 768px) {
  .contentstop--topbox .cap {
    width: auto;
    position: relative;
  }
  .contentstop--topbox .cap img {
    display: block;
    position: relative;
    z-index: 2;
  }
  .contentstop--topbox .cap:before {
    content: "";
    background-color: white;
    width: 20.2rem;
    height: 100%;
    position: absolute;
    right: -2rem;
    bottom: -5rem;
  }
}
.contentstop--topbox .textbox {
  width: calc(100% - clamp(36rem, 41.3739266198vw, 53rem));
  padding-top: clamp(2.5rem, 2.3419203747vw, 3rem);
}
@media (max-width: 768px) {
  .contentstop--topbox .textbox {
    width: auto;
    padding-top: 3.5rem;
    margin-bottom: 5rem;
  }
  .contentstop--topbox .textbox .btn--box {
    margin: auto;
    height: 5rem;
    font-size: 1.4rem;
  }
}
.contentstop--topbox .textbox h2.title {
  font-size: clamp(1.7rem, 1.4832162373vw, 1.9rem);
  line-height: 2.1052631579;
  font-weight: var(--fontbold);
  margin-bottom: clamp(3.4rem, 3.1225604996vw, 4rem);
}
@media (max-width: 1021px) {
  .contentstop--topbox .textbox h2.title {
    text-align: center;
    line-height: 1.7647058824;
  }
}
.contentstop--topbox .textbox h2.title span {
  padding-bottom: clamp(1rem, 1.0148321624vw, 1.3rem);
  background: url(../../dist/images/common/bg-wave.svg) left bottom repeat-x;
}
.contentstop--topbox .textbox .lead {
  margin-bottom: clamp(4.5rem, 3.9032006245vw, 5rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 2.375;
}
@media (max-width: 1021px) {
  .contentstop--topbox .textbox .lead {
    text-align: center;
    line-height: 2.1428571429;
  }
}
.contentstop--topbox .textbox .btn--box {
  width: 28rem;
  border: 1px solid #1A1A1A;
}

/* ======================================
eventindexbox
====================================== */
.eventindexbox .event-title {
  font-size: clamp(3rem, 2.8103044496vw, 3.6rem);
  font-family: var(--enfont);
  border-top: 1px solid #1A1A1A;
  padding-top: clamp(1.2rem, 1.5612802498vw, 2rem);
  margin-bottom: clamp(2.5rem, 2.8103044496vw, 3.6rem);
}
@media (max-width: 1021px) {
  .eventindexbox .event-title {
    text-align: center;
    border-top: none;
    padding-top: 0;
  }
}
.eventindexbox .btn {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 1021px) {
  .eventindexbox .btn {
    width: 28rem;
    margin-inline: auto;
    display: block;
  }
  .eventindexbox .btn--box {
    width: auto;
  }
}
.eventindexbox--item {
  display: flex;
  align-items: flex-start;
  gap: 3.125vw;
  margin-bottom: 7rem;
}
@media (max-width: 1021px) {
  .eventindexbox--item {
    display: block;
    margin-bottom: 6.4rem;
  }
}
.eventindexbox .box--first {
  width: calc(100% - 56rem);
  background-color: white;
  padding: 2.8rem 5rem 3rem;
  position: relative;
}
.eventindexbox .box--first:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 7rem;
  height: 7rem;
  background: url(../../dist/images/top/icon-new.png) no-repeat center center/contain;
}
@media (max-width: 1021px) {
  .eventindexbox .box--first {
    width: auto;
    margin-bottom: 4rem;
    padding: 2rem;
  }
  .eventindexbox .box--first .cap {
    width: auto;
    margin: 0 auto 1rem;
  }
}
.eventindexbox .other {
  max-width: 56rem;
}
@media (max-width: 1021px) {
  .eventindexbox .other {
    width: auto;
    max-width: none;
  }
}
.eventindexbox .other--box {
  display: flex;
  gap: 2.0833333333vw;
}
@media (max-width: 1021px) {
  .eventindexbox .other--box {
    display: block;
  }
  .eventindexbox .other--box .eventlist .point {
    width: calc(100% + 13rem + 1rem);
    margin-left: calc(-13rem + -1rem);
  }
}
.eventindexbox .other .eventlist {
  flex: 0 0 calc((100% - 2.0833333333vw) / 2);
}
@media (max-width: 1021px) {
  .eventindexbox .other .eventlist {
    display: flex;
    gap: 1rem;
  }
  .eventindexbox .other .eventlist:not(:last-of-type) {
    margin-bottom: 5rem;
  }
  .eventindexbox .other .eventlist .topbox {
    width: 13rem;
  }
  .eventindexbox .other .eventlist .bottombox {
    width: calc(100% - 13rem - 1rem);
    padding-top: 2.5rem;
  }
}

/* ======================================
.eventlist
====================================== */
.eventlist {
  position: relative;
  padding-bottom: 2.6rem;
}
.eventlist .toptext {
  text-align: center;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  margin-bottom: 1.1rem;
}
.eventlist .title {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.5333333333;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1rem, 0.9367681499vw, 1.2rem);
  margin-bottom: 1rem;
}
.eventlist .cap {
  aspect-ratio: 360/270;
  overflow: hidden;
  margin-bottom: clamp(1.2rem, 1.1709601874vw, 1.5rem);
}
.eventlist .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.eventlist .point {
  background-color: #F7F7F7;
  padding: 1.7rem 2.5rem 2rem;
  position: relative;
}
.eventlist .point:after {
  content: "→";
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  position: absolute;
  right: 0;
  bottom: -3rem;
}
.eventlist .point h4 {
  color: var(--greencolor);
  font-size: 1.3rem;
  font-family: var(--enfont);
  margin-bottom: 1rem;
  font-weight: var(--fontnormal);
}
.eventlist .point ul li {
  font-size: 1.3rem;
  line-height: 1.3846153846;
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-shrink: 1;
}
.eventlist .point ul li:before {
  content: "・";
}
.eventlist .point ul li:not(:last-child) {
  margin-bottom: 1.5rem;
}
.eventlist .data {
  margin-bottom: clamp(1.2rem, 1.9516003123vw, 2.5rem);
}
.eventlist .data li.box {
  font-size: clamp(1.1rem, 1.0148321624vw, 1.3rem);
  line-height: 1.5384615385;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.eventlist .data li.box--01:before {
  content: url(../../dist/images/top/icon-eventdata01.svg);
}
.eventlist .data li.box--02:before {
  content: url(../../dist/images/top/icon-eventdata02.svg);
}
.eventlist .data li.box--03:before {
  content: url(../../dist/images/top/icon-eventdata03.svg);
}

/* ======================================
#headbox
====================================== */
body.home #headbox {
  background: none;
  padding-bottom: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 999;
}
body.home #headbox .menu ul {
  color: white;
}

#headbox {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  width: 100%;
  padding-inline: clamp(1.5rem, 1.7361111111vw, 2.5rem);
  padding-top: clamp(1.5rem, 1.3888888889vw, 2rem);
  background-color: white;
  padding-bottom: clamp(1.5rem, 1.3888888889vw, 2rem);
}
#headbox #headlogo {
  justify-self: start;
  width: clamp(16.3rem, 14.1666666667vw, 20.4rem);
}
#headbox .menu {
  justify-self: center;
}
@media (max-width: 1099px) {
  #headbox .menu {
    display: none;
  }
}
#headbox .menu ul {
  display: flex;
  align-items: center;
  color: #1A1A1A;
  font-size: clamp(1.1rem, 1.2732615083vw, 1.3rem);
  gap: clamp(1.5rem, 2.3419203747vw, 3rem);
  font-weight: var(--fontnormal);
}
#headbox .menu ul .txt {
  white-space: nowrap;
  cursor: pointer;
}
#headbox .menu ul .has-sub {
  position: relative;
}
#headbox .menu ul .has-sub:hover .sub {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
  z-index: 100;
}
#headbox .menu ul .has-sub .sub {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(3rem);
  min-width: 26rem;
  background: #fff;
  padding: 2rem;
  box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.35s ease;
  display: block;
}
#headbox .menu ul .has-sub .sub li a {
  color: #1A1A1A;
}
#headbox .menu ul .has-sub .sub li:not(:last-child) {
  margin-bottom: 1rem;
}
#headbox #gmenu {
  justify-self: end;
  width: clamp(10rem, 11.1111111111vw, 16rem);
  background-color: white;
  cursor: pointer;
  height: 4rem;
  border-radius: 999.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 1.0416666667vw, 1.5rem);
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.5s, opacity 0.3s ease;
  will-change: transform;
  z-index: 1000;
}
#headbox #gmenu.is-fixed {
  position: fixed;
  transform: translateY(clamp(1.5rem, 1.3888888889vw, 2rem));
  top: 0;
  right: clamp(1.5rem, 1.7361111111vw, 2.5rem);
}
#headbox #gmenu .item {
  width: clamp(2rem, 1.6666666667vw, 2.4rem);
  height: 0.6rem;
  position: relative;
}
#headbox #gmenu .item:before, #headbox #gmenu .item:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #1A1A1A;
}
#headbox #gmenu .item:after {
  bottom: 0;
}
#headbox #gmenu .text {
  font-size: clamp(1.2rem, 1.0416666667vw, 1.5rem);
  font-family: var(--enfont);
}

.topslider {
  position: relative;
  text-align: center;
}
.topslider .slider {
  overflow: hidden;
}
.topslider .cap {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.topslider .cap img {
  width: 100%;
  object-fit: cover;
  transition: transform 10s linear;
}
.topslider .titlebox {
  position: absolute;
  width: clamp(27.9rem, 33.8888888889vw, 48.8rem);
  left: 0;
  right: 0;
  margin: auto;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
@media (max-width: 768px) {
  .topslider .titlebox {
    margin-top: -7rem;
  }
}
.topslider .titlebox .logo {
  display: block;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.topslider .titlebox .text {
  color: white;
  font-size: clamp(1.5rem, 1.25vw, 1.8rem);
  font-weight: var(--fontnormal);
  opacity: 0;
  transition: opacity 2.2s ease 0.4s;
}
.topslider .itembox {
  position: absolute;
  right: clamp(2rem, 2.0833333333vw, 4rem);
  bottom: clamp(5.5rem, 6.9444444444vw, 10rem);
  z-index: 2;
  opacity: 0;
  transition: opacity 2.4s ease 0.8s;
}
@media (max-width: 1021px) {
  .topslider .itembox {
    right: 0;
    left: 0;
    margin: auto;
    bottom: 5.5rem;
  }
}
.topslider .itembox ul {
  display: flex;
  gap: clamp(1rem, 1.3888888889vw, 2rem);
}
@media (max-width: 1021px) {
  .topslider .itembox ul {
    justify-content: center;
    gap: 1rem;
  }
}
.topslider .itembox ul li {
  width: clamp(9rem, 9.7222222222vw, 144rem);
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition-delay: calc(var(--i) * 0.6s + 1s);
}
@media (max-width: 1021px) {
  .topslider .itembox ul li {
    width: 9rem;
  }
}
.topslider.is-show .logo {
  opacity: 1;
}
.topslider.is-show .text {
  opacity: 1;
}
.topslider.is-show .itembox {
  opacity: 1;
}
.topslider.is-show .itembox li {
  opacity: 1;
  transform: translateY(0);
}

/* ======================================
.pageheader
====================================== */
body.page-id-2194 .pageheader:before, body.single-case .pageheader:before, body.post-type-archive-case .pageheader:before {
  background: url(../../dist/images/common/bg-head-color.jpg) no-repeat left bottom/contain;
}

.pageheader {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  text-align: center;
  height: clamp(15rem, 17.9547228728vw, 23rem);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.pageheader:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/common/bg-head.jpg) no-repeat left bottom/contain;
}
.pageheader h2 .txt {
  display: block;
  color: #1A1A1A;
}
.pageheader h2 .txt--en {
  font-size: clamp(2rem, 2.6541764247vw, 3.4rem);
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
  margin-bottom: 0.4rem;
}
.pageheader h2 .txt--text {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  font-weight: var(--fontnormal);
}
.pageheader--itemhead {
  background: none;
  width: 100%;
  background-size: cover;
  background-position: center;
  height: 28.125vw;
}
@media (max-width: 1021px) {
  .pageheader--itemhead {
    height: 30rem;
  }
}
.pageheader--itemhead:before {
  content: none;
}
.pageheader--itemhead .title .txt--logo {
  display: flex;
  justify-content: center;
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
.pageheader--itemhead .title .txt--text {
  color: white;
  font-size: clamp(1.8rem, 1.9516003123vw, 2.5rem);
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
@media (max-width: 1021px) {
  .pageheader--itemhead .title .txt--text {
    font-size: 1.4rem;
  }
}

.contentspage {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.contentspage::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
  z-index: -1;
  width: 100%;
}
@media (max-width: 1021px) {
  .contentspage::before {
    background-size: 83rem;
  }
}
.contentspage .pagecontents {
  background-color: initial;
}
@media (max-width: 1021px) {
  .contentspage .pagecontents {
    padding-top: 3rem;
  }
}
.contentspage .pagecontents .pankuzu {
  margin-bottom: clamp(6rem, 6.2451209992vw, 8rem);
}
@media (max-width: 1021px) {
  .contentspage .pagecontents .pankuzu {
    margin-bottom: 3rem;
  }
}
.contentspage .pagecontents .pankuzu a.txt {
  color: white;
}
@media (max-width: 1021px) {
  .contentspage .pagecontents .pankuzu a.txt {
    color: #A5A5A5;
  }
}
.contentspage .pagecontents .pankuzu {
  color: white;
}
@media (max-width: 1021px) {
  .contentspage .pagecontents .pankuzu {
    color: #1A1A1A;
  }
}

.pagecontents {
  background-color: white;
}

/* ======================================
.pankuzu
====================================== */
.pankuzu {
  margin-bottom: clamp(2.5rem, 3.5128805621vw, 2.5rem);
}
.pankuzu ul {
  display: inline-flex;
  align-items: flex-start;
  font-size: clamp(1.1rem, 1.1753183154vw, 1.2rem);
  line-height: 1.9166666667;
  gap: 1rem;
}
.pankuzu ul a.txt {
  color: #A5A5A5;
  white-space: nowrap;
}
.pankuzu ul a.txt:after {
  content: ">";
  padding-left: 0.5rem;
}

/* ======================================
.archivenews
====================================== */
.page-archive {
  padding-bottom: clamp(5rem, 9.1334894614vw, 11.7rem);
}
.page-archive #case-loading {
  text-align: center;
  color: white;
  padding-top: clamp(3rem, 3.9032006245vw, 5rem);
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  display: none;
}
.page-archive--case {
  background: url(../../dist/images/common/introduction-bg.jpg);
  background-size: 16rem;
}
.page-archive--case .pankuzu a.txt {
  color: #8D7C4D;
}
.page-archive--case .pankuzu .txt {
  color: white;
}

.archivenews .contents {
  display: flex;
  align-items: flex-start;
  gap: clamp(3rem, 5.4644808743vw, 7rem);
}
@media (max-width: 1021px) {
  .archivenews .contents {
    display: block;
  }
}
.archivenews .contents--box {
  width: clamp(75rem, 67.1350507416vw, 86rem);
}
@media (max-width: 1021px) {
  .archivenews .contents--box {
    width: auto;
    margin-bottom: 5rem;
  }
}

/* ======================================
.sidebar
====================================== */
.sidebar {
  width: clamp(22rem, 21.0772833724vw, 27rem);
}
@media (max-width: 1021px) {
  .sidebar {
    width: 100%;
  }
}
.sidebar h3.title {
  font-size: clamp(1.2rem, 1.0148321624vw, 1.3rem);
  color: var(--greencolor);
  font-weight: var(--fontnormal);
  font-family: var(--enfont);
  border-bottom: 1px solid #1A1A1A;
  padding-bottom: 1rem;
}
.sidebar .selectbox {
  width: 100%;
  margin-top: clamp(1.5rem, 1.5612802498vw, 2rem);
  background-color: #F2F2F2;
  border: 1px solid #E6E6E6;
  padding: clamp(1.2rem, 1.1709601874vw, 1.5rem) clamp(1.5rem, 1.4051522248vw, 1.8rem);
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  color: #A5A5A5;
  position: relative;
  display: flex;
  justify-content: space-between;
}
.sidebar .selectbox:after {
  content: "▼";
}
.sidebar ul.list li {
  border-bottom: 1px dashed #808080;
}
.sidebar ul.list li a {
  padding-top: 1.4rem;
  padding-bottom: 1.6rem;
  display: flex;
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  line-height: 1.3571428571;
  gap: 0.7rem;
  padding-inline: clamp(0.5rem, 0.7806401249vw, 1rem);
}
.sidebar ul.list li a:before {
  content: "-";
  color: var(--greencolor);
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  line-height: 1.3571428571;
}
.sidebar .box:not(:last-of-type) {
  margin-bottom: clamp(2.5rem, 2.6541764247vw, 3.4rem);
}

/* ======================================
.faqcategorybox
====================================== */
.faqcategorybox {
  margin-bottom: clamp(5rem, 6.6354410617vw, 8.5rem);
}
.faqcategorybox ul {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 1.1709601874vw, 1.5rem);
}
.faqcategorybox ul li {
  flex: 0 0 calc((100% - clamp(1rem, 1.1709601874vw, 1.5rem) * 2) / 3);
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
}
@media (max-width: 1021px) {
  .faqcategorybox ul li {
    flex: 0 0 calc((100% - clamp(1rem, 1.1709601874vw, 1.5rem)) / 2);
  }
}
.faqcategorybox ul li a {
  height: clamp(5rem, 6.2451209992vw, 8rem);
  display: flex;
  align-items: center;
  font-size: clamp(1.2rem, 1.2490241998vw, 1.6rem);
  padding-inline: clamp(1.5rem, 2.1077283372vw, 2.7rem);
  justify-content: space-between;
}
.faqcategorybox ul li a:after {
  content: "→";
  font-size: clamp(1.2rem, 1.2490241998vw, 1.6rem);
  transform: rotate(90deg);
}

/* ======================================
.faqcontents
====================================== */
.faqcontents:not(:last-of-type) {
  margin-bottom: clamp(3rem, 7.3380171741vw, 9.4rem);
}
.faqcontents {
  border-top: 1px solid #1A1A1A;
  padding-top: clamp(2.5rem, 2.6541764247vw, 3.4rem);
}
.faqcontents h3.title {
  font-size: clamp(1.6rem, 1.7954722873vw, 2.3rem);
  font-weight: var(--fontbold);
  color: #1A1A1A;
  line-height: 2;
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
.faqcontents .itemtxt {
  text-align: right;
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
}
.faqcontents .list {
  margin-bottom: clamp(2rem, 1.9516003123vw, 2.5rem);
}
.faqcontents .list .box:not(:first-child) .title {
  border-top: none;
}
.faqcontents .list .box .title {
  line-height: 1;
  border-bottom: 1px dashed #808080;
  border-top: 1px dashed #808080;
  padding-inline: clamp(2rem, 3.1225604996vw, 4rem);
  padding-top: clamp(1.5rem, 1.9516003123vw, 2.5rem);
  padding-bottom: clamp(1.5rem, 1.9516003123vw, 2.5rem);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.faqcontents .list .box .title:after {
  content: "";
  width: 1.5rem;
  height: 2px;
  background-color: #000;
  transition: transform 0.3s ease;
  transform: rotate(0deg);
}
.faqcontents .list .box .title:before {
  content: "";
  position: absolute;
  right: clamp(2rem, 3.1225604996vw, 4rem);
  width: 1.5rem;
  height: 2px;
  background-color: #000;
  transition: transform 0.3s ease;
  transform: rotate(90deg);
}
.faqcontents .list .box .title.active:after {
  transform: rotate(180deg);
}
.faqcontents .list .box .title.active:before {
  transform: rotate(0deg);
}
.faqcontents .list .box .title .text {
  font-size: clamp(1.4rem, 1.3270882123vw, 1.7rem);
  font-weight: var(--fontnormal);
  line-height: 2.7058823529;
}
@media (max-width: 768px) {
  .faqcontents .list .box .title .text {
    line-height: 1.6;
    padding-right: 0.5rem;
  }
}
.faqcontents .list .box .itembox.active {
  display: block;
}
.faqcontents .list .box--answer {
  background-color: #F7F7F7;
  padding: clamp(1.5rem, 2.7322404372vw, 3.5rem) clamp(3.5rem, 4.2154566745vw, 5.4rem) clamp(2rem, 3.1225604996vw, 4rem) clamp(2.5rem, 3.9032006245vw, 5rem);
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.6666666667;
  display: none;
  border-bottom: 1px dashed #808080;
}
.faqcontents .list .box--answer .item {
  display: flex;
  align-items: stretch;
  gap: clamp(1.5rem, 1.9516003123vw, 2.5rem);
}
.faqcontents .list .box--answer .item p {
  margin-top: 0.6rem;
}
.faqcontents .list .box--answer .text {
  font-family: var(--enfont);
  color: var(--greencolor);
  font-size: clamp(2rem, 1.8735362998vw, 2.4rem);
  font-weight: var(--fontnormal);
}

/* ======================================
.archiveevent
====================================== */
.archiveevent .loopwrap {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(5rem, 6.0109289617vw, 7.7rem) clamp(2rem, 3.1225604996vw, 4rem);
}
.archiveevent .loopwrap .eventlist {
  flex: 0 0 calc((100% - clamp(2rem, 3.1225604996vw, 4rem) * 2) / 3);
}
@media (max-width: 1021px) {
  .archiveevent .loopwrap .eventlist {
    flex: 0 0 calc((100% - clamp(2rem, 3.1225604996vw, 4rem)) / 2);
  }
}
@media (max-width: 768px) {
  .archiveevent .loopwrap .eventlist {
    flex: initial;
  }
}

/* ======================================
.singlepagebox
====================================== */
.singlepagebox .headbox {
  margin-bottom: clamp(5rem, 7.806401249vw, 10rem);
}
.singlepagebox .headbox .title {
  font-size: clamp(2rem, 2.6541764247vw, 3.4rem);
  line-height: 1.4705882353;
  font-weight: var(--fontbold);
  margin-bottom: clamp(1.5rem, 2.3419203747vw, 3rem);
}
.singlepagebox .headbox .box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1.2rem, 1.5612802498vw, 2rem);
  margin-bottom: clamp(2.5rem, 2.6541764247vw, 3.4rem);
}
.singlepagebox .headbox .cap img {
  width: 100%;
}

/* ======================================
.article-content
====================================== */
.article-content {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.875;
}
.article-content h2 {
  font-size: clamp(2.2rem, 2.1857923497vw, 2.8rem);
  font-weight: var(--fontbold);
  line-height: 1.6;
  position: relative;
  border-bottom: 2px solid #E6E6E6;
  padding-bottom: clamp(1.5rem, 1.7954722873vw, 2.3rem);
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
  margin-top: clamp(3.5rem, 4.137392662vw, 5.3rem);
}
.article-content h2:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 12rem;
  height: 2px;
  background-color: #2DA7B0;
}
.article-content h3 {
  font-size: clamp(1.6rem, 1.7954722873vw, 2.3rem);
  font-weight: var(--fontbold);
  position: relative;
  padding-left: 1rem;
  margin-top: clamp(3.5rem, 4.137392662vw, 5.3rem);
}
.article-content h3:before {
  content: "";
  width: 2px;
  height: 5rem;
  background-color: #1A1A1A;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.article-content p {
  margin: 1.5rem 0;
}
.article-content ul li {
  position: relative;
  display: flex;
}
.article-content ul li:before {
  content: "-";
  color: var(--greencolor);
}
.article-content table {
  width: 100%;
  border-top: 1px solid #E6E6E6;
  border-left: 1px solid #E6E6E6;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  margin: clamp(1.5rem, 2.3419203747vw, 3rem) 0;
}
.article-content table th, .article-content table td {
  padding: clamp(1rem, 2.1077283372vw, 2.7rem) 0;
  text-align: center;
}
.article-content table th {
  background-color: #F7F7F7;
  text-align: center;
  border-right: 1px solid #E6E6E6;
}
.article-content table td {
  border-right: 1px solid #E6E6E6;
}
.article-content table tbody,
.article-content table thead {
  border-bottom: 1px solid #E6E6E6;
}
.article-content table tbody tr:not(:last-child) th, .article-content table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #E6E6E6;
}
.article-content .wp-caption {
  max-width: 100%;
}

/* ======================================
.pagination
====================================== */
.pagination {
  padding-top: clamp(3.5rem, 4.4496487119vw, 5.7rem);
}
.pagination__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.5rem, 0.7806401249vw, 1rem);
}
.pagination__item {
  aspect-ratio: 1;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
}
.pagination__item.is-current .page-numbers {
  background-color: var(--greencolor);
  color: white;
}
.pagination__item .page-numbers {
  width: clamp(2.5rem, 3.9032006245vw, 5rem);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  border: 1px solid #E6E6E6;
  background-color: #F2F2F2;
}
.pagination__item .next,
.pagination__item .prev {
  width: auto;
  background: none;
  border: none;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  background: none;
}

/* ======================================
.archivestaff
====================================== */
.archivestaff .inner {
  max-width: clamp(40rem, 92.8961748634vw, 119rem);
}
.archivestaff .headbox {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.875;
  margin-bottom: clamp(5rem, 5.8548009368vw, 7.5rem);
  padding-top: clamp(5rem, 6.0889929742vw, 7.8rem);
}
.archivestaff .headbox .lead {
  position: relative;
  z-index: 2;
}
.archivestaff .headbox h2.title {
  margin-bottom: clamp(1.5rem, 2.3419203747vw, 3rem);
  position: relative;
}
@media (max-width: 1021px) {
  .archivestaff .headbox h2.title {
    margin-bottom: 3rem;
  }
}
.archivestaff .headbox h2.title:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -4rem;
  width: clamp(34.84rem, 27.9166666667vw, 53.6rem);
  height: clamp(11.31rem, 9.0625vw, 17.4rem);
  background: url(../../dist/images/common/bg-sign.png) no-repeat center center/contain;
}
.archivestaff .headbox h2.title .text {
  font-weight: var(--fontbold);
  font-size: clamp(1.6rem, 1.5612802498vw, 1.6rem);
  position: relative;
  padding-bottom: clamp(1rem, 1.0148321624vw, 1.3rem);
  background: url(../../dist/images/common/bg-wave.svg) left bottom repeat-x;
}
.archivestaff ul.box {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(2.5rem, 4.8611111111vw, 7rem);
}
.archivestaff ul.box .stafflist {
  flex: 0 0 calc((100% - clamp(2.5rem, 4.8611111111vw, 7rem) * 2) / 3);
}
@media (max-width: 1021px) {
  .archivestaff ul.box .stafflist {
    flex: 0 0 calc((100% - clamp(2.5rem, 4.8611111111vw, 7rem)) / 2);
  }
}
@media (max-width: 768px) {
  .archivestaff ul.box .stafflist {
    flex: initial;
  }
}

.stafflist {
  padding-bottom: clamp(3.5rem, 5.4644808743vw, 7rem);
  border-bottom: 1px dashed #808080;
  position: relative;
}
@media (max-width: 768px) {
  .stafflist {
    width: 100%;
  }
}
.stafflist {
  cursor: pointer;
}
.stafflist:before {
  content: "";
  position: absolute;
  width: 3.1rem;
  height: 1.2rem;
  background: url(../../dist/images/common/icon-logo-white.svg) no-repeat center center/contain;
  left: 1.5rem;
  top: 1.3rem;
  z-index: 2;
}
.stafflist:after {
  content: "＋";
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
}
.stafflist .lead {
  font-size: clamp(1.6rem, 1.25vw, 1.8rem);
  line-height: 1.75;
  font-weight: var(--fontnormal);
}
@media (max-width: 1021px) {
  .stafflist .lead {
    font-size: 1.4rem;
  }
}
.stafflist .cap {
  position: relative;
  margin-bottom: clamp(1rem, 1.0928961749vw, 1.4rem);
}
.stafflist .cap .item {
  width: 100%;
  aspect-ratio: 340/420;
  position: relative;
}
.stafflist .cap .item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.stafflist .cap .textbox {
  width: 22rem;
  min-height: 10rem;
  background-color: white;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  padding-inline: clamp(1rem, 1.5612802498vw, 2rem);
}
@media (max-width: 768px) {
  .stafflist .cap .textbox {
    padding-inline: 2rem;
  }
}
.stafflist .cap .textbox .title {
  font-weight: var(--fontbold);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  margin-bottom: clamp(0.5rem, 0.8814887365vw, 0.9rem);
}
@media (max-width: 1021px) {
  .stafflist .cap .textbox .title {
    font-size: 1.6rem;
  }
}
.stafflist .cap .textbox ul li {
  font-size: clamp(1rem, 1.1753183154vw, 1.2rem);
  line-height: 1;
}
@media (max-width: 768px) {
  .stafflist .cap .textbox ul li {
    font-size: 1.4rem;
  }
}
.stafflist .cap .textbox ul li:not(:last-child) {
  margin-bottom: 0.6rem;
}

/* ======================================
.searchcontents
====================================== */
.searchcontents .pagebtn {
  width: 20rem;
  margin-inline: auto;
  margin-bottom: clamp(2.5rem, 3.9032006245vw, 5rem);
}
.searchcontents .pagebtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: white;
  border: 1px solid #EBEBEB;
  height: 5rem;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
.searchcontents .searchbox:not(:last-of-type) {
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
.searchcontents .searchbox.search {
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
}
.searchcontents .searchbox.search .box {
  background-color: white;
  border: 1px solid #E6E6E6;
  padding: clamp(3.5rem, 3.5909445746vw, 4.6rem) 0 clamp(1.5rem, 2.3419203747vw, 3rem);
  padding-inline: clamp(2rem, 4.6838407494vw, 6rem);
  margin-inline: clamp(2rem, 3.1225604996vw, 4rem);
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
.searchcontents .searchbox.search .box .btn {
  text-align: center;
  display: block;
  margin: auto;
}
.searchcontents .searchbox.search .box .btn--box {
  width: clamp(22rem, 21.8579234973vw, 28rem);
  background-color: var(--greencolor);
  color: white;
}
.searchcontents .searchbox.search .box ul.list {
  margin-bottom: clamp(1rem, 1.4051522248vw, 1.8rem);
}
.searchcontents .searchbox.search .box--list {
  border-bottom: 2px solid #E6E6E6;
  position: relative;
  padding-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
  display: flex;
  align-items: center;
}
.searchcontents .searchbox.search .box--list .item {
  width: calc(100% - clamp(8rem, 7.0257611241vw, 9rem));
}
.searchcontents .searchbox.search .box--list .item .checkbox-b {
  display: flex;
  flex-wrap: wrap; /* 項目が多い時に折り返す設定を追加 */
  justify-content: flex-start;
  gap: clamp(1rem, 1.1709601874vw, 1.5rem); /* スマホ等で詰まりすぎないよう調整 */
  padding-left: clamp(2rem, 2.3419203747vw, 3rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
.searchcontents .searchbox.search .box--list .item {
  /* ラジオボタンとチェックボックスの両方を非表示にする */
}
.searchcontents .searchbox.search .box--list .item .radio-b input[type=radio],
.searchcontents .searchbox.search .box--list .item .radio-b input[type=checkbox] {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.searchcontents .searchbox.search .box--list .item .radio-b label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  display: inline-block;
  line-height: 1.5;
}
.searchcontents .searchbox.search .box--list .item {
  /* 外枠 (四角形) */
}
.searchcontents .searchbox.search .box--list .item .radio-b label::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid #ddd;
  border-radius: 999.9rem;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
  background: #fff;
}
.searchcontents .searchbox.search .box--list .item {
  /* チェックマーク (レ点) */
}
.searchcontents .searchbox.search .box--list .item .radio-b label::after {
  content: "";
  display: block;
  position: absolute;
  left: 6px; /* 位置微調整 */
  top: 45%;
  width: 8px;
  height: 13px;
  border-right: 3px solid #fff; /* 線の太さ */
  border-bottom: 3px solid #fff;
  transform: translateY(-50%) rotate(45deg) scale(0); /* 回転させてレ点にする */
  transition: 0.1s;
  opacity: 0;
}
.searchcontents .searchbox.search .box--list .item {
  /* チェックされた時の外枠の色 */
}
.searchcontents .searchbox.search .box--list .item .radio-b input[type=checkbox]:checked + label::before {
  background-color: var(--greencolor);
  border-color: var(--greencolor);
}
.searchcontents .searchbox.search .box--list .item {
  /* チェックされた時のマーク表示 */
}
.searchcontents .searchbox.search .box--list .item .radio-b input[type=checkbox]:checked + label::after {
  transform: translateY(-50%) rotate(45deg) scale(1);
  opacity: 1;
}
@media (hover: hover) {
  .searchcontents .searchbox.search .box--list .item .radio-b label:hover::before {
    border-color: var(--greencolor);
  }
}
.searchcontents .searchbox.search .box--list:not(:last-child) {
  margin-bottom: clamp(1.8rem, 1.8735362998vw, 2.4rem);
}
.searchcontents .searchbox.search .box--list:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: clamp(8rem, 7.0257611241vw, 9rem);
  height: 2px;
  background-color: var(--greencolor);
}
.searchcontents .searchbox.search .box--list .title {
  width: clamp(8rem, 7.0257611241vw, 9rem);
  padding-left: clamp(0.5rem, 0.7806401249vw, 1rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  color: var(--greencolor);
  font-weight: var(--fontnormal);
}
.searchcontents .searchbox.search .titlebox {
  text-align: center;
  padding: clamp(1.5rem, 1.9516003123vw, 2.5rem) 0 clamp(1.8rem, 2.1857923497vw, 2.8rem);
  padding-inline: clamp(1.5rem, 1.9516003123vw, 2.5rem);
  position: relative;
  cursor: pointer;
}
.searchcontents .searchbox.search .titlebox:after {
  content: "＋";
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  position: absolute;
  right: clamp(1.5rem, 1.9516003123vw, 2.5rem);
  top: 50%;
  transform: translateY(-50%);
}
.searchcontents .searchbox.search .titlebox .text {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(1rem, 1.0148321624vw, 1.3rem);
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
}
.searchcontents .searchbox.search .titlebox .text:before {
  content: "";
  width: 2.3rem;
  height: 2.1rem;
  background: url(../../dist/images/common/icon-search.svg) no-repeat center center/contain;
}
.searchcontents .searchbox.point {
  position: relative;
}
.searchcontents .searchbox.point:after {
  content: "→";
  color: white;
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  position: absolute;
  right: clamp(1rem, 1.5612802498vw, 2rem);
  top: 50%;
  transform: translateY(-50%);
}
.searchcontents .searchbox.point a {
  width: 100%;
  display: flex;
  background-color: #1A1A1A;
  min-height: clamp(5rem, 6.2451209992vw, 8rem);
  align-items: center;
  justify-content: center;
  gap: clamp(2rem, 3.3567525371vw, 4.3rem);
  color: white;
  position: relative;
}
@media (max-width: 768px) {
  .searchcontents .searchbox.point a {
    display: block;
    min-height: auto;
    padding: 1.2rem 2rem;
  }
}
.searchcontents .searchbox.point a .title {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
}
@media (max-width: 768px) {
  .searchcontents .searchbox.point a .title {
    margin-bottom: 0.5rem;
  }
}
.searchcontents .searchbox.point a .text {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
}

/* ======================================
.archivecase
====================================== */
.archivecase .searchcontents {
  margin-bottom: clamp(3rem, 4.6838407494vw, 6rem);
}
.archivecase .case {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(4rem, 4.6838407494vw, 6rem) clamp(1.5rem, 2.3419203747vw, 3rem);
}
.archivecase .case--box {
  width: calc((100% - 2 * clamp(1.5rem, 2.3419203747vw, 3rem)) / 3);
  box-sizing: border-box;
}
@media (max-width: 1021px) {
  .archivecase .case--box {
    width: calc((100% - clamp(1.5rem, 2.3419203747vw, 3rem)) / 2);
  }
}
@media (max-width: 768px) {
  .archivecase .case--box {
    width: 100%;
  }
}

/* ======================================
#page-company
====================================== */
#page-company .topcap {
  width: 100%;
  max-width: 117rem;
  margin-inline: auto;
  padding-inline: 2rem;
  margin-bottom: clamp(3rem, 6.4642507346vw, 6.6rem);
}
@media (max-width: 768px) {
  #page-company .topcap {
    padding-inline: initial;
    max-width: none;
  }
}
#page-company .companynav {
  margin-bottom: clamp(4.5rem, 8.8148873653vw, 9rem);
  padding-inline: 2rem;
}
#page-company .companynav h2 {
  width: 34.7rem;
  margin: 0 auto 1.6rem;
}
@media (max-width: 1021px) {
  #page-company .companynav h2 {
    width: 25rem;
  }
}
#page-company .companynav .lead {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.875;
  margin-bottom: clamp(3rem, 5.2889324192vw, 5.4rem);
}
#page-company .companynav .navbox {
  max-width: 86rem;
  margin: auto;
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding-top: 2rem;
  padding-bottom: 2.7rem;
  padding-inline: clamp(2rem, 5.4644808743vw, 7rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
#page-company .companynav .navbox h3 {
  font-size: clamp(1.6rem, 1.7629774731vw, 1.8rem);
  font-weight: var(--fontnormal);
  border-bottom: 2px solid #E6E6E6;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  padding-inline: clamp(0.5rem, 0.9794319295vw, 1rem);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#page-company .companynav .navbox h3:after {
  content: "ー";
}
#page-company .companynav .navbox ul li {
  line-height: 1.75;
}
#page-company .profile-table {
  width: 100%;
  border-top: 1px solid #E6E6E6;
  border-left: 1px solid #E6E6E6;
}
#page-company .profile-table th, #page-company .profile-table td {
  border-right: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
  padding: clamp(1rem, 1.5670910872vw, 1.6rem) clamp(1.5rem, 2.6444662096vw, 1.6rem) clamp(1rem, 1.958863859vw, 1rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  vertical-align: top;
  line-height: 1.75;
}
#page-company .profile-table th {
  width: 20rem;
  text-align: left;
  background-color: #F7F7F7;
}
@media (max-width: 1021px) {
  #page-company .profile-table th {
    width: 12rem;
  }
}
#page-company .box {
  margin-bottom: clamp(10rem, 9.3676814988vw, 12rem);
}
@media (max-width: 1021px) {
  #page-company .box {
    margin-bottom: 6rem;
  }
}
#page-company .box--thought {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  margin-bottom: 0;
  padding-bottom: clamp(12rem, 14.0515222482vw, 18rem);
  position: relative;
  inset: 0;
  overflow: hidden;
}
#page-company .box--thought:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: clamp(5rem, 9.375vw, 13.5rem);
  width: 100%;
  height: 100%;
  margin: auto;
  background: url(../../dist/images/company/bg-company.jpg) no-repeat center center/contain;
  background-size: clamp(40rem, 92.0138888889vw, 132.5rem);
}
@media (max-width: 1021px) {
  #page-company .box--thought {
    padding-bottom: 8rem;
  }
}
#page-company .box--thought p {
  line-height: 1.875;
}
#page-company .box--thought p:not(:last-of-type) {
  margin-bottom: clamp(1.5rem, 2.9382957884vw, 3rem);
}
#page-company .box--thought p.itemtxt {
  margin-top: clamp(3rem, 5.8765915769vw, 6rem);
  font-size: clamp(1.8rem, 1.958863859vw, 2rem);
}
#page-company .box--thought .text {
  position: relative;
  z-index: 2;
}
#page-company .box--thought .banner {
  padding-inline: clamp(1rem, 1.5612802498vw, 2rem);
  max-width: 91.9rem;
  margin: 0 auto clamp(3.5rem, 7.1498530852vw, 7.3rem);
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  #page-company .box--thought .banner {
    padding-inline: 3rem;
  }
}
#page-company .box--profile .profile-table {
  margin-bottom: clamp(4.5rem, 7.8354554358vw, 8rem);
}
#page-company .box--profile .groupbox {
  display: flex;
  align-items: flex-start;
  gap: clamp(4.5rem, 7.0257611241vw, 9rem);
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox {
    display: block;
  }
}
#page-company .box--profile .groupbox .title {
  font-size: clamp(1.3rem, 1.4691478942vw, 1.5rem);
  font-family: var(--enfont);
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox .title {
    margin-bottom: 1.5rem;
  }
}
#page-company .box--profile .groupbox ul {
  width: calc(100% - clamp(4.5rem, 7.0257611241vw, 9rem));
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox ul {
    width: auto;
  }
}
#page-company .box--profile .groupbox li.is-nolink .item:after {
  content: none;
}
#page-company .box--profile .groupbox--list {
  position: relative;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1.5rem, 2.9382957884vw, 3rem);
}
#page-company .box--profile .groupbox--list .item {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.1547502449vw, 2.2rem);
  position: relative;
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox--list .item {
    align-items: flex-start;
    gap: 1rem;
  }
}
#page-company .box--profile .groupbox--list .item:after {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../../dist/images/common/icon-link.svg) no-repeat center center/contain;
}
#page-company .box--profile .groupbox--list .item .banner {
  width: 20rem;
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox--list .item .banner {
    width: 15rem;
  }
}
#page-company .box--profile .groupbox--list .item .text {
  font-size: clamp(1.2rem, 1.3712047013vw, 1.4rem);
}
@media (max-width: 1021px) {
  #page-company .box--profile .groupbox--list .item .text {
    width: calc(100% - 15rem - 1rem);
  }
}
#page-company .box--profile .groupbox--list .item .text .txt {
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  margin-bottom: clamp(0.5rem, 1.0773751224vw, 1.1rem);
}
#page-company .box--profile .groupbox--list:not(:last-child) {
  margin-bottom: clamp(2rem, 3.9177277179vw, 4rem);
}
#page-company .box--history ul {
  max-width: 60rem;
  margin: auto;
}
@media (max-width: 1021px) {
  #page-company .box--history ul {
    max-width: none;
  }
}
#page-company .box--history li {
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(2rem, 2.3419203747vw, 3rem);
  display: flex;
  align-items: flex-start;
  flex-shrink: 1;
  gap: 4rem;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  padding-inline: clamp(1rem, 1.5612802498vw, 2rem);
}
@media (max-width: 1021px) {
  #page-company .box--history li {
    display: block;
  }
}
#page-company .box--history li .title {
  font-weight: var(--fontbold);
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: 1rem;
  line-height: 1.75;
}
@media (max-width: 1021px) {
  #page-company .box--history li .title {
    margin-bottom: 1rem;
  }
}
#page-company .box--history li .title:before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--greencolor);
  border-radius: 999.9rem;
  display: block;
}
#page-company .box--history li .data {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
#page-company .box--history li .item {
  line-height: 1.75;
}
#page-company .box--history li:not(:last-child) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-company .box--access .lead {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
@media (max-width: 1021px) {
  #page-company .box--access .lead {
    line-height: 1.6;
  }
}
#page-company .box--access .lead a:after {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  background: url(../../dist/images/common/icon-link.svg) no-repeat center center/contain;
  display: inline-block;
}
#page-company .box--access .inbox {
  display: flex;
  gap: 4rem;
  margin-bottom: clamp(2rem, 2.6541764247vw, 3.4rem);
}
@media (max-width: 1021px) {
  #page-company .box--access .inbox {
    display: block;
  }
}
#page-company .box--access .inbox .map {
  width: 48rem;
  position: relative;
  padding-top: 36rem;
}
@media (max-width: 1021px) {
  #page-company .box--access .inbox .map {
    width: auto;
    padding-top: 25rem;
    margin-bottom: 3rem;
  }
}
#page-company .box--access .inbox .map iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#page-company .box--access .inbox .cap {
  width: 48rem;
  aspect-ratio: 480/360;
}
@media (max-width: 1021px) {
  #page-company .box--access .inbox .cap {
    width: auto;
  }
}
#page-company .box--access .inbox .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page-company .box--access .accesslist {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  margin-bottom: 1.5rem;
}
@media (max-width: 1021px) {
  #page-company .box--access .accesslist {
    display: block;
  }
}
#page-company .box--access .accesslist b {
  font-weight: var(--fontnormal);
  padding-right: 1rem;
}
#page-company .box--access .accesslist li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 1021px) {
  #page-company .box--access .accesslist li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
#page-company .box--access .accesslist li.train:before {
  content: "";
  width: 3rem;
  height: 3.8rem;
  background: url(../../dist/images/common/icon-access01.svg) no-repeat center center/contain;
  display: block;
}
#page-company .box--access .accesslist li.car:before {
  content: "";
  width: 3.3rem;
  height: 2.6rem;
  display: block;
  background: url(../../dist/images/common/icon-access02.svg) no-repeat center center/contain;
}

/* ======================================
#page-contact
====================================== */
#page-contact .topcap {
  padding-inline: 2rem;
  margin-bottom: clamp(3rem, 5.4644808743vw, 7rem);
}
#page-contact .topcap .cap {
  width: clamp(45rem, 45.2771272443vw, 58rem);
}
@media (max-width: 768px) {
  #page-contact .topcap .cap {
    width: auto;
  }
}
#page-contact .topcap .textbox {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
@media (max-width: 768px) {
  #page-contact .topcap .textbox {
    margin-bottom: 2rem;
  }
}
#page-contact .topcap .textbox .subtext {
  margin-bottom: clamp(2.5rem, 3.2786885246vw, 4.2rem);
  font-size: clamp(1.8rem, 1.9516003123vw, 2.5rem);
  font-weight: var(--fontbold);
}
@media (max-width: 1021px) {
  #page-contact .topcap .textbox .subtext {
    font-size: 1.6rem;
  }
}
#page-contact .topcap .textbox .title {
  margin-bottom: clamp(1rem, 1.5612802498vw, 2rem);
}
#page-contact .topcap .textbox .title .txt {
  display: block;
}
#page-contact .topcap .textbox .title .txt--text {
  font-size: clamp(1.4rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
}
#page-contact .topcap .textbox .title .txt--entxt {
  font-family: var(--enfont);
  font-size: clamp(5rem, 6.2451209992vw, 8rem);
  color: var(--greencolor);
  font-weight: var(--fontbold);
  line-height: 1;
  letter-spacing: 0.1em;
  transform: translateX(-1rem);
}
#page-contact .topcap .inbox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3.2rem;
}
@media (max-width: 768px) {
  #page-contact .topcap .inbox {
    display: block;
  }
}
#page-contact .faqcontents {
  max-width: 90rem;
  margin-inline: auto;
  margin-bottom: clamp(8rem, 9.7943192948vw, 10rem);
}
#page-contact .faqcontents .list {
  margin-bottom: 0;
}
@media (max-width: 1021px) {
  #page-contact .faqcontents {
    max-width: none;
    margin-inline: 2rem;
  }
}
#page-contact .checklistbox {
  margin-bottom: clamp(3rem, 5.4644808743vw, 7rem);
}
#page-contact .checklistbox .box {
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding-inline: clamp(5rem, 9.0277777778vw, 13rem);
  padding-top: clamp(2rem, 2.9382957884vw, 3rem);
  padding-bottom: clamp(3.5rem, 7.541625857vw, 7.7rem);
  position: relative;
}
@media (max-width: 1021px) {
  #page-contact .checklistbox .box {
    padding-inline: 2rem;
    padding-bottom: 2rem;
  }
}
#page-contact .checklistbox .box h3.title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  font-size: clamp(1.8rem, 1.958863859vw, 2rem);
  font-weight: var(--fontbold);
  top: clamp(3.9rem, 3.125vw, 6rem);
}
@media (max-width: 1021px) {
  #page-contact .checklistbox .box h3.title {
    left: 3rem;
    transform: translateX(0);
    font-size: 1.6rem;
    text-align: left;
  }
}
#page-contact .checklistbox .box h3.title .text {
  position: relative;
  padding-top: 2rem;
}
#page-contact .checklistbox .box h3.title .text:before {
  content: "";
  position: absolute;
  width: 2.2rem;
  height: 2.8rem;
  background: url(../../dist/images/contact/check-title-icon.svg) no-repeat center center/contain;
  transform: rotate(22deg);
  left: -1.5rem;
  top: 0;
}
#page-contact .checklistbox .box .list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem clamp(1rem, 1.5612802498vw, 2rem);
  position: relative;
  padding-top: clamp(6.24rem, 5vw, 9.6rem);
}
@media (max-width: 768px) {
  #page-contact .checklistbox .box .list {
    display: block;
    padding-top: 8rem;
  }
}
#page-contact .checklistbox .box .list:after {
  content: "";
  width: clamp(11.375rem, 9.1145833333vw, 17.5rem);
  height: clamp(6.24rem, 5vw, 9.6rem);
  background: url(../../dist/images/contact/check-item.svg) no-repeat center center/contain;
  position: absolute;
  top: 0;
  right: clamp(2.47rem, 1.9791666667vw, 3.8rem);
}
@media (max-width: 1021px) {
  #page-contact .checklistbox .box .list:after {
    width: 8rem;
    height: 4.3rem;
    right: 0;
    top: 4rem;
  }
}
#page-contact .checklistbox .box .list li {
  background-color: white;
  border: 1px solid #E6E6E6;
  flex: 0 0 calc((100% - clamp(1rem, 1.5612802498vw, 2rem)) / 2);
  height: clamp(6rem, 6.2451209992vw, 8rem);
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding-inline: clamp(1rem, 1.5612802498vw, 2rem);
  font-size: clamp(1.4rem, 1.4051522248vw, 1.8rem);
}
@media (max-width: 768px) {
  #page-contact .checklistbox .box .list li {
    flex: none;
    font-size: 1.2rem;
    height: 5rem;
  }
  #page-contact .checklistbox .box .list li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
#page-contact .checklistbox .box .list li .text {
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: 1rem;
}
#page-contact .checklistbox .box .list li .text:before {
  content: "";
  width: clamp(2.08rem, 1.6666666667vw, 3.2rem);
  height: clamp(1.95rem, 1.5625vw, 3rem);
  background: url(../../dist/images/contact/check-icon.svg) no-repeat center center/contain;
  display: block;
}
@media (max-width: 1021px) {
  #page-contact .checklistbox .box .list li .text:before {
    width: 2rem;
    height: 2rem;
  }
}

/* ======================================
.pagecontents
====================================== */
.pagecontents .faqcontents {
  border-top: none;
  padding-top: 0;
  padding-inline: 2rem;
  max-width: 88rem;
  margin-inline: auto;
}
@media (max-width: 1021px) {
  .pagecontents .faqcontents {
    padding-inline: initial;
  }
}

/* ======================================
page-reform
====================================== */
#page-reform .faqcontents {
  margin-bottom: clamp(6rem, 7.806401249vw, 10rem);
}
#page-reform .leadtext {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
#page-reform .menucontents {
  margin-bottom: clamp(10rem, 11.7096018735vw, 15rem);
}
#page-reform .menucontents .bordertitle {
  margin-bottom: clamp(2rem, 1.9516003123vw, 2.5rem);
}
#page-reform .menucontents .leadtext {
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
#page-reform .menucontents .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #1A1A1A;
  gap: 0;
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  #page-reform .menucontents .list {
    display: block;
    margin-inline: 2rem;
  }
}
#page-reform .menucontents .list .box {
  display: flex;
  flex-direction: column;
  padding-inline: clamp(2.5rem, 3.9032006245vw, 5rem);
  padding-bottom: clamp(3rem, 4.6838407494vw, 6rem);
  padding-top: clamp(3.5rem, 5.4644808743vw, 7rem);
  border-bottom: 1px solid #1A1A1A;
  position: relative;
}
#page-reform .menucontents .list .box .btn {
  margin-top: auto;
  padding-top: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-reform .menucontents .list .box .btn--box {
  width: 28rem;
  border: 1px solid #E6E6E6;
  margin-inline: auto;
}
@media (max-width: 768px) {
  #page-reform .menucontents .list .box {
    border-left: 1px solid #1A1A1A;
    border-right: 1px solid #1A1A1A;
  }
}
#page-reform .menucontents .list .box:not(:nth-child(3n)):after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #1A1A1A;
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list .box:not(:nth-child(3n)):after {
    content: none;
  }
}
#page-reform .menucontents .list .box:not(:nth-child(even)):after {
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #1A1A1A;
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list .box:not(:nth-child(even)):after {
    content: "";
  }
}
@media (max-width: 768px) {
  #page-reform .menucontents .list .box:not(:nth-child(even)):after {
    content: none;
  }
}
#page-reform .menucontents .list .box .icon {
  width: 20rem;
  margin-inline: auto;
  display: block;
  margin-bottom: clamp(2.5rem, 3.9032006245vw, 5rem);
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list .box .icon {
    width: 12rem;
  }
}
#page-reform .menucontents .list .box h3 {
  font-size: clamp(1.8rem, 1.8735362998vw, 2.4rem);
  font-weight: var(--fontbold);
  color: var(--greencolor);
  margin-bottom: clamp(1.2rem, 1.4051522248vw, 1.8rem);
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list .box h3 {
    text-align: center;
  }
}
#page-reform .menucontents .list .box .text {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.5333333333;
  min-height: 12.1rem;
  margin-bottom: 1.3rem;
}
@media (max-width: 1021px) {
  #page-reform .menucontents .list .box .text {
    min-height: auto;
  }
}
#page-reform .menucontents .list .box .examplebox {
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding: clamp(1.2rem, 1.5612802498vw, 2rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex-grow: 1;
}
#page-reform .menucontents .list .box .examplebox h4 {
  font-size: clamp(1.2rem, 1.2845849802vw, 1.3rem);
  font-family: var(--enfont);
  color: var(--greencolor);
  margin-bottom: clamp(1.2rem, 1.1709601874vw, 1.5rem);
}
#page-reform .menucontents .list .box .examplebox ul {
  font-size: clamp(1.3rem, 1.0928961749vw, 1.4rem);
  line-height: 2;
}
#page-reform .menucontents .list .box .examplebox ul li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}
#page-reform .menucontents .list .box .examplebox ul li:before {
  content: "●";
  color: var(--greencolor);
}
#page-reform .pointcontents {
  margin-bottom: clamp(10rem, 9.3676814988vw, 12rem);
}
@media (max-width: 1021px) {
  #page-reform .pointcontents {
    margin-bottom: 6rem;
  }
}
#page-reform .pointcontents .topcap {
  max-width: 53.1rem;
  margin-inline: auto;
  margin-bottom: clamp(2rem, 3.5128805621vw, 4.5rem);
}
@media (max-width: 768px) {
  #page-reform .pointcontents .topcap {
    max-width: 30rem;
  }
}
#page-reform .pointcontents .pointbox {
  background-color: #F7F7F7;
  border-top: 1rem solid #F2F2F2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(2rem, 4.6838407494vw, 6rem) clamp(2rem, 4.6838407494vw, 6rem) 6.8rem clamp(2rem, 5.4644808743vw, 7rem);
  gap: clamp(2rem, 3.1225604996vw, 4rem);
}
@media (max-width: 768px) {
  #page-reform .pointcontents .pointbox {
    display: block;
  }
}
#page-reform .pointcontents .pointbox:not(:last-of-type) {
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
#page-reform .pointcontents .pointbox .textbox {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  width: clamp(50rem, 45.2771272443vw, 58rem);
}
@media (max-width: 768px) {
  #page-reform .pointcontents .pointbox .textbox {
    width: auto;
  }
}
#page-reform .pointcontents .pointbox .textbox h3.title {
  border-bottom: 1px dashed #808080;
  padding-bottom: 2rem;
  margin-bottom: 3.4rem;
  display: flex;
  align-items: center;
  flex-shrink: 1;
  gap: clamp(2rem, 3.1225604996vw, 4rem);
  font-size: clamp(2rem, 1.9516003123vw, 2.5rem);
  font-weight: var(--fontbold);
  line-height: 1.4;
}
@media (max-width: 1021px) {
  #page-reform .pointcontents .pointbox .textbox h3.title {
    align-items: flex-start;
    font-size: 1.8rem;
  }
}
#page-reform .pointcontents .pointbox .textbox h3.title .number {
  font-family: var(--enfont);
  color: var(--greencolor);
  font-weight: var(--fontbold);
  font-size: clamp(6rem, 5.4644808743vw, 7rem);
}
@media (max-width: 1021px) {
  #page-reform .pointcontents .pointbox .textbox h3.title .number {
    font-size: 3.5rem;
  }
}
#page-reform .pointcontents .pointbox .textbox p {
  font-weight: var(--fontsmart);
}
#page-reform .pointcontents .pointbox .cap {
  width: clamp(35rem, 35.1288056206vw, 45rem);
}
@media (max-width: 768px) {
  #page-reform .pointcontents .pointbox .cap {
    width: auto;
    margin-bottom: 2rem;
  }
}
#page-reform .pointcontents .pointbox:nth-of-type(odd) {
  flex-direction: row-reverse;
}
#page-reform .gallerycontents {
  margin-bottom: clamp(10rem, 11.7096018735vw, 15rem);
}
#page-reform .gallerycontents .btn--box {
  margin-inline: auto;
  border: 1px solid #E6E6E6;
}
@media (max-width: 1021px) {
  #page-reform .gallerycontents .btn--box {
    width: 28rem;
  }
}
#page-reform .gallerycontents .gallery {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(3rem, 4.1666666667vw, 6rem);
  padding-inline: clamp(10rem, 9.3676814988vw, 12rem);
  margin-top: clamp(2.5rem, 3.1225604996vw, 4rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  margin-bottom: clamp(3rem, 3.5128805621vw, 4.5rem);
}
@media (max-width: 1021px) {
  #page-reform .gallerycontents .gallery {
    display: block;
  }
}
#page-reform .gallerycontents .gallery .cap {
  aspect-ratio: 520/350;
  margin-bottom: 1rem;
}
#page-reform .gallerycontents .gallery .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1021px) {
  #page-reform .gallerycontents .gallery {
    padding-inline: 2rem;
  }
}
#page-reform .gallerycontents .gallery--list {
  flex: 0 0 calc((100% - clamp(3rem, 4.1666666667vw, 6rem) * 2) / 3);
}
@media (max-width: 1021px) {
  #page-reform .gallerycontents .gallery--list {
    flex: none;
  }
  #page-reform .gallerycontents .gallery--list:not(:last-child) {
    margin-bottom: 2.5rem;
  }
}
#page-reform .topcapbox {
  padding-inline: clamp(20px, 8.3333333333vw, 160px);
  position: relative;
  transition: 0.5s;
}
@media (max-width: 1280px) {
  #page-reform .topcapbox {
    padding-inline: initial;
  }
}
#page-reform .topcapbox .headbox {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  color: white;
  text-align: center;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  line-height: 1.8888888889;
  transition: opacity 0.6s ease, transform 0.6s ease;
  opacity: 0;
}
@media (max-width: 1021px) {
  #page-reform .topcapbox .headbox {
    width: 100%;
  }
}
#page-reform .topcapbox .headbox.is-show {
  opacity: 1;
  transform: translate(-50%, -50%) translateY(0);
}
#page-reform .topcapbox .headbox .title {
  font-size: clamp(2.5rem, 2.6541764247vw, 3.4rem);
  font-weight: var(--fontbold);
  margin-bottom: clamp(2.5rem, 2.6541764247vw, 3.4rem);
}
#page-reform .topcapbox .bgcap {
  display: flex;
  position: relative;
}
@media (max-width: 1021px) {
  #page-reform .topcapbox .bgcap {
    flex-wrap: wrap;
  }
}
#page-reform .topcapbox .bgcap:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.21);
}
#page-reform .topcapbox .bgcap .cap {
  overflow: hidden;
}
@media (max-width: 1021px) {
  #page-reform .topcapbox .bgcap .cap {
    width: 50%;
  }
}
#page-reform .topcapbox .bgcap .cap img {
  transform: translateX(30%);
  opacity: 0;
  transition: transform 1.8s ease, opacity 1.8s ease;
}
#page-reform .topcapbox .bgcap .cap.is-show img {
  transform: translateX(0);
  opacity: 1;
}
#page-reform .topcaplist {
  margin-bottom: clamp(10rem, 11.3192818111vw, 14.5rem);
  display: flex;
  gap: 4rem;
  margin-top: -5rem;
  position: relative;
  z-index: 2;
  max-width: clamp(110rem, 77.5484677924vw, 124rem);
  margin-inline: auto;
  padding-inline: 2rem;
}
@media (max-width: 1021px) {
  #page-reform .topcaplist {
    display: block;
    margin-bottom: 5rem;
  }
}
#page-reform .topcaplist .box {
  width: calc(50% - 2rem);
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  background-color: white;
  position: relative;
  padding-inline: clamp(3rem, 4.6838407494vw, 6rem);
  padding-bottom: clamp(2rem, 3.1225604996vw, 4rem);
  padding-top: clamp(3rem, 4.6838407494vw, 6rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
@media (max-width: 1021px) {
  #page-reform .topcaplist .box {
    width: auto;
    padding-inline: 2rem;
  }
  #page-reform .topcaplist .box:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
}
#page-reform .topcaplist .box h3 {
  color: var(--greencolor);
  margin-bottom: clamp(2.5rem, 3.1225604996vw, 4rem);
  display: flex;
  justify-content: center;
}
#page-reform .topcaplist .box h3 .txt {
  display: block;
}
#page-reform .topcaplist .box h3 .txt.mintxt {
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  text-align: center;
}
#page-reform .topcaplist .box h3 .txt.text {
  font-size: clamp(3.5rem, 4.6838407494vw, 6rem);
  line-height: 1;
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
}
#page-reform .topcaplist .box h3 .txt.item {
  font-size: clamp(1.3rem, 1.3270882123vw, 1.7rem);
  line-height: 1;
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
}
#page-reform .topcaplist .box .subtext {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  text-align: center;
  font-weight: var(--fontbold);
  line-height: 1.6666666667;
  margin-bottom: clamp(1.2rem, 1.1709601874vw, 1.5rem);
}
#page-reform .topcaplist .box:before {
  content: "";
  position: absolute;
  left: -1px;
  top: -1px;
  width: calc(100% + 2px);
  height: 1rem;
  background: var(--greencolor);
}

.flowcontentsbox {
  margin-bottom: clamp(10rem, 10.9289617486vw, 14rem);
  padding-inline: 2rem;
  max-width: 88rem;
  margin-inline: auto;
}
.flowcontentsbox li {
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(2rem, 2.5761124122vw, 3.3rem);
  display: flex;
  align-items: flex-start;
  gap: clamp(3.5rem, 4.137392662vw, 5.3rem);
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.6666666667;
}
@media (max-width: 768px) {
  .flowcontentsbox li {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
.flowcontentsbox li .title {
  min-width: 28rem;
  display: flex;
  align-items: center;
  gap: clamp(2.5rem, 3.1225604996vw, 4rem);
}
@media (max-width: 768px) {
  .flowcontentsbox li .title {
    min-width: initial;
    width: 100%;
    gap: 1rem;
  }
}
.flowcontentsbox li .title .txt {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
}
.flowcontentsbox li .title .number {
  font-size: clamp(2rem, 1.8735362998vw, 2.4rem);
  color: var(--greencolor);
  font-family: var(--enfont);
}
.flowcontentsbox li:not(:last-child) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}

/* ======================================
.bottombannerbox
====================================== */
.bottombannerbox {
  position: relative;
}
.bottombannerbox .bg {
  aspect-ratio: 1920/640;
}
@media (max-width: 1021px) {
  .bottombannerbox .bg {
    aspect-ratio: 3/2;
  }
}
.bottombannerbox .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bottombannerbox .textbox {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 6.40625vw;
  z-index: 2;
}
@media (max-width: 1021px) {
  .bottombannerbox .textbox {
    left: auto;
    transform: translateX(0);
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
}
.bottombannerbox .textbox .text {
  text-align: center;
  font-size: clamp(1.6rem, 1.6393442623vw, 2.1rem);
  font-family: var(--enfont);
  margin-bottom: 1.5625vw;
  font-weight: var(--fontnormal);
  color: white;
}
.bottombannerbox .textbox h3 {
  text-align: center;
  font-size: clamp(1.8rem, 1.9516003123vw, 2.5rem);
  line-height: 1.72;
  margin-bottom: 1.4583333333vw;
  font-weight: var(--fontbold);
  color: white;
}
@media (max-width: 1021px) {
  .bottombannerbox .textbox h3 {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
  }
}
.bottombannerbox .textbox .lead {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.8666666667;
  text-align: center;
  margin-bottom: 3.3854166667vw;
  font-weight: var(--fontsmart);
  color: white;
}
@media (max-width: 1021px) {
  .bottombannerbox .textbox .lead {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-bottom: 2rem;
  }
}
.bottombannerbox .btn--box {
  width: 36rem;
  margin-inline: auto;
}
@media (max-width: 1021px) {
  .bottombannerbox .btn--box {
    width: 28rem;
  }
}

/* ======================================
#glovalnav
====================================== */
body.is-gnav-open {
  overflow: hidden;
}
body.is-gnav-open #headbox #headlogo {
  position: fixed;
  z-index: 10000;
  top: clamp(1.5rem, 1.3888888889vw, 2rem);
  left: clamp(1.5rem, 1.7361111111vw, 2.5rem);
}
body.is-gnav-open #headbox .menu {
  opacity: 0;
  visibility: hidden;
}
body.is-gnav-open #headbox #gmenu {
  background-color: #1A1A1A;
  position: fixed;
  transform: translateY(clamp(1.5rem, 1.3888888889vw, 2rem));
  top: 0;
  right: clamp(1.5rem, 1.7361111111vw, 2.5rem);
}
body.is-gnav-open #headbox #gmenu .text {
  color: white;
}
body.is-gnav-open #headbox #gmenu .item {
  width: clamp(2rem, 1.6666666667vw, 2.4rem);
  height: clamp(2rem, 1.6666666667vw, 2.4rem);
}
body.is-gnav-open #headbox #gmenu .item:before, body.is-gnav-open #headbox #gmenu .item:after {
  background-color: white;
  top: 50%;
  bottom: auto;
}
body.is-gnav-open #headbox #gmenu .item:before {
  transform: translateY(-50%) rotate(45deg);
}
body.is-gnav-open #headbox #gmenu .item:after {
  transform: translateY(-50%) rotate(-45deg);
}

#glovalnav,
#glovalnav * {
  -webkit-tap-highlight-color: transparent;
}
#glovalnav {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media (max-width: 1021px) {
  #glovalnav {
    display: block;
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
#glovalnav .itembox {
  margin-bottom: 0;
  display: block;
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media (max-width: 1021px) {
  #glovalnav .itembox {
    background: url(../../dist/images/common/other-bg.jpg);
    background-size: 22rem;
  }
}
#glovalnav .itembox .inner {
  width: 100%;
  min-height: 100%;
  padding: 8rem 2.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}
@media (max-width: 1021px) {
  #glovalnav .itembox .inner {
    padding-inline: 1rem;
    width: auto;
    margin-inline: initial;
  }
}
#glovalnav::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  transform: translateY(-100%);
  transition: transform 0.6s ease;
  will-change: transform;
}
@media (max-width: 1021px) {
  #glovalnav::before {
    content: none;
  }
}
#glovalnav {
  display: flex;
  flex-direction: column;
  transition: opacity 0.4s ease, visibility 0s linear 0.4s;
  will-change: transform;
  opacity: 0;
  visibility: hidden;
}
#glovalnav.is-open {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0s linear 0s;
}
#glovalnav.is-open .itembox,
#glovalnav.is-open .inner {
  opacity: 1;
  transition-delay: 0.45s;
}
#glovalnav.is-open::before {
  transform: translateY(0);
}
#glovalnav.is-close {
  pointer-events: none;
  opacity: 0;
}
#glovalnav.is-close::before {
  transform: translateY(100%);
}
#glovalnav .contentsbanner {
  gap: clamp(1.5rem, 2.3419203747vw, 3rem);
  margin-bottom: clamp(3.5rem, 5.4644808743vw, 7rem);
}
@media (max-width: 1021px) {
  #glovalnav .contentsbanner {
    margin-bottom: 5rem;
    gap: 1rem;
  }
}
#glovalnav .contentsbanner li {
  flex: 0 0 calc((100% - clamp(1.5rem, 2.3419203747vw, 3rem) * 2) / 3);
}
@media (max-width: 1021px) {
  #glovalnav .contentsbanner li {
    flex: 0 0 calc((100% - (1rem) * 2) / 3);
    position: relative;
  }
  #glovalnav .contentsbanner li .cap {
    padding-top: 1.5rem;
  }
  #glovalnav .contentsbanner li:nth-child(1) .cap {
    width: 2.2rem;
  }
  #glovalnav .contentsbanner li:nth-child(2) .cap {
    width: 3rem;
  }
  #glovalnav .contentsbanner li:nth-child(3) .cap {
    width: 1.9rem;
  }
}
@media (max-width: 1021px) {
  #glovalnav .contentsbanner li .box {
    flex-direction: column;
    min-height: 7rem;
    gap: initial;
  }
  #glovalnav .contentsbanner li .box:after {
    content: none;
  }
  #glovalnav .contentsbanner li .box .text {
    width: auto;
    padding-right: 0;
    margin-top: auto;
    padding-bottom: 1.1rem;
  }
}
#glovalnav .contentsbanner li .box h4 .txt {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
}
@media (max-width: 1021px) {
  #glovalnav .contentsbanner li .box h4 .txt {
    font-size: 1rem;
    text-align: center;
  }
}
#glovalnav .contentsbanner li .box h4 .txt--en {
  font-size: clamp(1.1rem, 0.9367681499vw, 1.2rem);
}
@media (max-width: 1021px) {
  #glovalnav .contentsbanner li .box h4 .txt--en {
    display: none;
  }
}
#glovalnav .menubox {
  margin-bottom: clamp(5.4rem, 5.9328649493vw, 7.6rem);
}
@media (max-width: 1021px) {
  #glovalnav .menubox {
    padding-inline: 2rem;
  }
}
#glovalnav .footernav {
  margin-top: auto;
}

.text-item {
  background: linear-gradient(transparent 60%, #E2D6B6 60%);
  font-weight: var(--fontnormal);
}

/* ======================================
.topcontents
====================================== */
.topcontents {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-bottom: clamp(5rem, 8.118657299vw, 10.4rem);
  margin-bottom: clamp(12rem, 13.2708821233vw, 17rem);
}
@media (max-width: 1021px) {
  .topcontents {
    padding-top: 5rem;
    margin-bottom: 6rem;
    padding-bottom: 6rem;
  }
}
.topcontents h2.title {
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontnormal);
  line-height: 1.75;
  margin-bottom: clamp(2rem, 2.1857923497vw, 2.8rem);
  padding-bottom: clamp(1.5rem, 1.6393442623vw, 2.1rem);
  position: relative;
}
.topcontents h2.title:before {
  content: "";
  width: clamp(6rem, 6.2451209992vw, 8rem);
  height: 0.5rem;
  background-color: #3F5A72;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
.topcontents--box {
  transform: translateY(clamp(-6rem, -4vw, -2rem));
}
.topcontents--box .box {
  background-color: white;
  padding-top: clamp(4rem, 4.2154566745vw, 5.4rem);
  padding-bottom: clamp(5rem, 5.5425448868vw, 7.1rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  text-align: center;
}

/* ======================================
page-air360
====================================== */
#page-air360 {
  margin-bottom: clamp(10rem, 9.3676814988vw, 12rem);
}
@media (max-width: 1021px) {
  #page-air360 {
    margin-bottom: 8rem;
  }
}
@media (max-width: 1021px) {
  #page-air360 .pageheader--itemhead .title .txt--logo {
    width: 20rem;
    margin-inline: auto;
  }
}
#page-air360 .topcontents .capbox {
  padding-inline: 2rem;
  width: clamp(94rem, 81.1865729899vw, 104rem);
  margin-inline: auto;
  padding-top: clamp(1rem, 1.5612802498vw, 2rem);
}
@media (max-width: 1021px) {
  #page-air360 .topcontents .capbox {
    width: auto;
  }
}
#page-air360 .topcontents .lead {
  text-align: center;
  font-size: clamp(1.8rem, 2.1857923497vw, 2.8rem);
  padding-top: 0.5rem;
}
#page-air360 h2.bordertitle {
  padding-top: 5rem;
}
#page-air360 h2.bordertitle:before {
  background: none;
  width: 10.8rem;
  height: 3.3rem;
  background: url(../../dist/images/air360/minilogo.png) no-repeat center center/contain;
}
#page-air360 .faqcontents .list {
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
#page-air360 .faqcontents .btn--box {
  border: 1px solid #E6E6E6;
  width: 36rem;
  margin-inline: auto;
}
@media (max-width: 1021px) {
  #page-air360 .faqcontents .btn--box {
    width: 28rem;
  }
}
#page-air360 .systemcontents {
  margin-bottom: clamp(6rem, 7.806401249vw, 10rem);
}
#page-air360 .systemcontents .textbox {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  margin-bottom: clamp(3rem, 5.2302888368vw, 6.7rem);
  padding-inline: 2rem;
}
#page-air360 .systemcontents .textbox p:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-air360 .systemcontents .capbox {
  display: flex;
  gap: 3rem;
}
@media (max-width: 768px) {
  #page-air360 .systemcontents .capbox {
    flex-wrap: wrap;
  }
}
#page-air360 .systemcontents .capbox .cap {
  width: clamp(35rem, 48.6111111111vw, 70rem);
}
@media (max-width: 768px) {
  #page-air360 .systemcontents .capbox .cap {
    width: auto;
  }
}
#page-air360 .systemcontents .capbox .box {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
#page-air360 .systemcontents .capbox .box:not(:last-of-type) {
  margin-bottom: clamp(2.5rem, 3.5128805621vw, 4.5rem);
}
#page-air360 .systemcontents .capbox .box h3 {
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontnormal);
  border-left: 0.6rem solid #3F5A72;
  padding-left: 1.2rem;
  margin-bottom: clamp(0.5rem, 0.9367681499vw, 1.2rem);
}
#page-air360 .systemcontents .capbox .box ol {
  padding-top: clamp(1.2rem, 1.2490241998vw, 1.6rem);
  line-height: 2.1875;
}
#page-air360 .systemcontents .capbox .box .itemtext {
  font-size: clamp(1rem, 0.9367681499vw, 1.2rem);
  line-height: 1.6666666667;
  color: #A5A5A5;
  padding-top: clamp(2.5rem, 2.8883684621vw, 3.7rem);
}
#page-air360 .pointcontents {
  margin-bottom: clamp(6rem, 7.806401249vw, 10rem);
}
#page-air360 .pointcontents .list {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(2rem, 2.7777777778vw, 4rem);
}
@media (max-width: 768px) {
  #page-air360 .pointcontents .list {
    flex-wrap: wrap;
  }
}
#page-air360 .pointcontents .list .pointlist {
  flex: 0 0 calc((100% - clamp(2rem, 2.7777777778vw, 4rem)) / 2);
  background-color: #F7F7F7;
  border-top: 1rem solid #F2F2F2;
  border: 1px solid #E6E6E6;
  padding-inline: clamp(3rem, 4.1666666667vw, 6rem);
  padding-bottom: clamp(3rem, 4.1666666667vw, 6rem);
  padding-top: clamp(2rem, 2.7777777778vw, 4rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
@media (max-width: 768px) {
  #page-air360 .pointcontents .list .pointlist {
    flex: none;
    width: 100%;
  }
}
#page-air360 .pointcontents .list .pointlist .cap {
  margin-bottom: 1rem;
}
#page-air360 .pointcontents .list .pointlist .title {
  text-align: center;
  margin-bottom: clamp(2rem, 1.7361111111vw, 2.5rem);
  color: #3F5A72;
}
#page-air360 .pointcontents .list .pointlist .title .text {
  display: block;
  font-size: clamp(1.8rem, 1.3888888889vw, 2rem);
  font-weight: var(--fontbold);
  line-height: 1.75;
}
#page-air360 .pointcontents .list .pointlist .title .number {
  display: block;
  font-family: var(--enfont);
  font-size: clamp(1.8rem, 1.3888888889vw, 2rem);
  font-weight: var(--fontbold);
}

/* ======================================
page-ecolu
====================================== */
@media (max-width: 1021px) {
  #page-ecolu .pageheader--itemhead .title .txt--logo {
    width: 20rem;
    margin-inline: auto;
  }
}
#page-ecolu .optionbox--contents .itemcapbox {
  margin-bottom: 0;
  max-width: none;
}
#page-ecolu .optionbox--contents .itemcapbox .box:not(:last-of-type) {
  margin-bottom: clamp(5rem, 6.2451209992vw, 8rem);
}
#page-ecolu .optionbox--contents .itemcapbox .box:not(:last-of-type) .bottomtext {
  padding-bottom: 0;
}
#page-ecolu .optionbox--contents .itemcapbox--title {
  cursor: auto;
}
#page-ecolu .optionbox--contents .itemcapbox--title:after {
  content: none;
}
#page-ecolu .itemcapbox {
  max-width: 90rem;
  margin-inline: auto;
  margin-bottom: clamp(5rem, 7.0257611241vw, 9rem);
}
#page-ecolu .itemcapbox .textbox {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.6666666667;
}
#page-ecolu .itemcapbox--title {
  text-align: center;
  background-color: #AA9D79;
  font-size: clamp(1.4rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  height: clamp(4rem, 4.6838407494vw, 6rem);
  margin-bottom: clamp(1.5rem, 2.3419203747vw, 3rem);
  cursor: pointer;
  position: relative;
}
#page-ecolu .itemcapbox--title:after {
  content: "＋";
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  position: absolute;
  right: 2.4rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--title:after {
    right: 1.2rem;
  }
}
#page-ecolu .itemcapbox--title.is-open:after {
  content: "ー";
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--title {
    height: auto;
    padding: 1.2rem;
    text-align: left;
  }
}
#page-ecolu .itemcapbox .contents {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease;
}
#page-ecolu .itemcapbox .contents.is-open {
  max-height: 999.9rem;
}
#page-ecolu .itemcapbox--list {
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(2rem, 2.3419203747vw, 3rem);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 3rem;
}
#page-ecolu .itemcapbox--list:not(:last-child) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--list:not(:last-child) {
    margin-bottom: 3rem;
  }
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--list {
    display: block;
    padding-bottom: 3rem;
  }
}
#page-ecolu .itemcapbox--list .textbox {
  width: calc(100% - clamp(20rem, 18.7353629977vw, 24rem) - 3rem);
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--list .textbox {
    width: auto;
  }
}
#page-ecolu .itemcapbox--list .textbox .title {
  margin-bottom: clamp(2rem, 1.9516003123vw, 2.5rem);
  display: flex;
  align-items: center;
  gap: 3.5rem;
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  line-height: 1.3;
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--list .textbox .title {
    gap: 1.5rem;
    align-items: flex-start;
  }
}
#page-ecolu .itemcapbox--list .textbox .title .number {
  font-family: var(--enfont);
  color: #AA9D79;
  font-size: clamp(2.5rem, 2.8883684621vw, 3.7rem);
  font-weight: var(--fontnormal);
}
#page-ecolu .itemcapbox--list .cap {
  width: clamp(20rem, 18.7353629977vw, 24rem);
}
@media (max-width: 1021px) {
  #page-ecolu .itemcapbox--list .cap {
    width: auto;
    margin-bottom: 2rem;
  }
  #page-ecolu .itemcapbox--list .cap img {
    width: 100%;
  }
}
#page-ecolu .faqcontents {
  margin-bottom: clamp(10rem, 10.1483216237vw, 13rem);
}
@media (max-width: 1021px) {
  #page-ecolu .pagenavbox {
    padding-top: 5rem;
  }
}
#page-ecolu .pagenavbox h3.title {
  text-align: center;
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .pagenavbox h3.title .text {
  font-size: clamp(2.5rem, 2.7322404372vw, 3.5rem);
  font-weight: var(--fontbold);
  position: relative;
  padding-top: 3rem;
}
#page-ecolu .pagenavbox h3.title .text:after {
  content: "";
  width: 4.6rem;
  height: 2rem;
  background: url(../../dist/images/ecolu/icon-title.svg) no-repeat center center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
#page-ecolu .pagenavbox ul {
  display: flex;
  border-left: 1px solid #CCCCBF;
}
@media (max-width: 1021px) {
  #page-ecolu .pagenavbox ul {
    flex-wrap: wrap;
    border: 1px solid #CCCCBF;
    border-bottom: 0;
  }
}
#page-ecolu .pagenavbox ul .itembox {
  position: relative;
  width: 25%;
  border-right: 1px solid #CCCCBF;
  display: flex;
  justify-content: center;
  padding-top: clamp(2.5rem, 3.9032006245vw, 5rem);
  padding-bottom: clamp(1.5rem, 2.3419203747vw, 3rem);
}
@media (max-width: 1021px) {
  #page-ecolu .pagenavbox ul .itembox {
    width: 50%;
    border: 1px solid #CCCCBF;
    border: none;
    border-bottom: 1px solid #CCCCBF;
  }
  #page-ecolu .pagenavbox ul .itembox:nth-child(odd) {
    border-right: 1px solid #CCCCBF;
  }
}
#page-ecolu .pagenavbox ul .itembox:hover .item:after {
  transform: translateY(1rem);
}
#page-ecolu .pagenavbox ul .itembox .item:after {
  content: "";
  display: block;
  background: url(../../dist/images/ecolu/icon-arrow.svg) no-repeat center center/contain;
  width: clamp(3rem, 4.6838407494vw, 6rem);
  height: clamp(3rem, 4.6838407494vw, 6rem);
  margin: auto;
  transition: 0.4s ease;
}
@media (max-width: 1021px) {
  #page-ecolu .pagenavbox ul .itembox .item:after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1rem;
    margin: auto;
  }
}
#page-ecolu .pagenavbox ul .itembox .lead {
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  line-height: 1.7142857143;
  text-align: center;
  padding-bottom: clamp(2rem, 1.9516003123vw, 2.5rem);
}
@media (max-width: 1021px) {
  #page-ecolu .pagenavbox ul .itembox .lead {
    padding-bottom: 4rem;
  }
}
#page-ecolu .pagenavbox ul .itembox h4.title {
  text-align: center;
  color: #AA9D78;
  font-weight: var(--fontbold);
  font-size: clamp(2.2rem, 2.1857923497vw, 2.8rem);
  margin-bottom: clamp(1.5rem, 2.1857923497vw, 2.8rem);
}
#page-ecolu .pagenavbox ul .itembox .text {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  line-height: 1.6666666667;
  text-align: center;
  margin-bottom: clamp(1.2rem, 1.5612802498vw, 2rem);
}
#page-ecolu .topcontents h2.title:before {
  background-color: #AA9D78;
}
#page-ecolu .bottombannerbox .btn--box {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
#page-ecolu .bottombannerbox .btn--box .txt {
  grid-column: 2;
  text-align: center;
}
#page-ecolu .bottombannerbox .btn--box:after {
  grid-column: 3;
  justify-self: end;
}
#page-ecolu h2.bordertitle {
  padding-top: 4rem;
}
#page-ecolu h2.bordertitle:before {
  background: none;
  width: 7.3rem;
  height: 3rem;
  background: url(../../dist/images/ecolu/minilogo.png) no-repeat center center/contain;
}
#page-ecolu .contents {
  margin-bottom: clamp(4.5rem, 6.7915690867vw, 8.7rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents {
    margin-bottom: 8rem;
  }
}
#page-ecolu .contents .capcontents {
  display: flex;
  align-items: flex-start;
  gap: clamp(3rem, 3.669008587vw, 4.7rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
@media (max-width: 1021px) {
  #page-ecolu .contents .capcontents {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
#page-ecolu .contents .capcontents .textbox {
  width: clamp(40rem, 39.0320062451vw, 50rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents .capcontents .textbox {
    width: auto;
  }
}
#page-ecolu .contents .capcontents .textbox h3 {
  font-weight: var(--fontbold);
  font-size: clamp(2.2rem, 1.9516003123vw, 2.5rem);
  line-height: 1.72;
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents .capcontents .textbox h3 {
    font-size: 1.8rem;
  }
}
#page-ecolu .contents .capcontents .textbox p:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-ecolu .contents .capcontents .cap {
  width: clamp(50rem, 49.9609679938vw, 64rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents .capcontents .cap {
    width: auto;
  }
}
#page-ecolu .contents .bordertitle .txt {
  color: #AA9D78;
  font-size: clamp(2.2rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .contents--bg {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-top: clamp(5rem, 6.7135050742vw, 8.6rem);
  padding-bottom: clamp(10rem, 10.1483216237vw, 13rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--bg {
    padding-bottom: 8rem;
  }
}
#page-ecolu .contents--box01 .capbox {
  max-width: clamp(72rem, 66.0421545667vw, 84.6rem);
  margin-inline: auto;
  margin-bottom: clamp(5rem, 9.1334894614vw, 11.7rem);
}
#page-ecolu .contents--box01 .capcontents {
  margin-bottom: clamp(7.5rem, 7.806401249vw, 10rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box01 .capcontents {
    margin-bottom: 5rem;
  }
}
#page-ecolu .contents--box02 .capcontents {
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
}
#page-ecolu .contents--box02 .itembox {
  background-color: #AA9D79;
  border-radius: 2rem;
  color: white;
  padding-top: clamp(6rem, 5.4644808743vw, 7rem);
  padding-bottom: clamp(7rem, 7.0257611241vw, 9rem);
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  position: relative;
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box02 .itembox {
    padding-inline: 2rem;
    padding-top: 3.5rem;
  }
}
#page-ecolu .contents--box02 .itembox:before {
  content: "";
  position: absolute;
  width: clamp(9rem, 8.5870413739vw, 11rem);
  height: clamp(18.181rem, 17.4082747853vw, 22.3rem);
  background: url(../../dist/images/ecolu/box02-item.svg) no-repeat center center/contain;
  left: clamp(5rem, 6.2451209992vw, 8rem);
  bottom: -2rem;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box02 .itembox:before {
    width: 5rem;
    height: 10.1rem;
    left: 1rem;
    bottom: -4rem;
  }
}
#page-ecolu .contents--box02 .itembox:after {
  content: "";
  position: absolute;
  width: clamp(20rem, 18.7353629977vw, 24rem);
  height: clamp(15rem, 14.0515222482vw, 18rem);
  background: url(../../dist/images/ecolu/box02-cap02.jpg) no-repeat center center/contain;
  top: -4rem;
  right: clamp(3rem, 3.9032006245vw, 5rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box02 .itembox:after {
    top: auto;
    right: 1rem;
    width: 12rem;
    height: 9rem;
    bottom: -4rem;
  }
}
#page-ecolu .contents--box02 .itembox h3.title .txt {
  display: block;
  font-weight: var(--fontnormal);
}
#page-ecolu .contents--box02 .itembox h3.title .txt--title {
  font-weight: var(--fontbold);
  font-size: clamp(2.2rem, 1.9516003123vw, 2.5rem);
}
#page-ecolu .contents--box02 .itembox h3.title .txt--text {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
}
#page-ecolu .contents--box02 .itembox h3.title .txt--text:before {
  content: "＼";
}
#page-ecolu .contents--box02 .itembox h3.title .txt--text:after {
  content: "／";
}
#page-ecolu .contents--box02 .itembox h3.title {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-ecolu .contents--box03 .capcontents {
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
}
#page-ecolu .contents--box03 .optionbox {
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
  max-width: 83rem;
  margin-inline: auto;
}
#page-ecolu .contents--box03 .optionbox .pushbox {
  max-width: none;
  margin-inline: initial;
}
#page-ecolu .contents--box03 .optionbox--box {
  background: none;
  padding: 0;
}
#page-ecolu .contents--box03 .optionbox .list {
  margin-bottom: clamp(2rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .contents--box03 .optionbox--contents .inner {
  max-width: none;
  margin: 0;
  padding: 0;
  padding-top: clamp(2rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .contents--box03 .optionbox--contents .itemcapbox {
  background: none;
  padding: 0;
}
#page-ecolu .contents--box03 .aboutbox {
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding-inline: clamp(10rem, 14.0515222482vw, 18rem);
  padding-top: clamp(3.5rem, 4.0593286495vw, 5.2rem);
  padding-bottom: clamp(5rem, 5.4644808743vw, 7rem);
  margin-bottom: clamp(5rem, 8.5870413739vw, 11rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox {
    padding-inline: clamp(2rem, 4.8971596474vw, 5rem);
  }
}
#page-ecolu .contents--box03 .aboutbox .moviecontents {
  display: flex;
  gap: 3rem;
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
@media (max-width: 768px) {
  #page-ecolu .contents--box03 .aboutbox .moviecontents {
    display: block;
  }
}
#page-ecolu .contents--box03 .aboutbox .youtube {
  position: relative;
  width: 100%;
  padding-top: 22.8rem;
}
@media (max-width: 768px) {
  #page-ecolu .contents--box03 .aboutbox .youtube {
    padding-top: 56.25%;
  }
  #page-ecolu .contents--box03 .aboutbox .youtube:not(:last-of-type) {
    margin-bottom: 2rem;
  }
}
#page-ecolu .contents--box03 .aboutbox .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#page-ecolu .contents--box03 .aboutbox h3.title {
  text-align: center;
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .contents--box03 .aboutbox h3.title .text {
  display: inline-block;
  font-size: clamp(2rem, 1.9516003123vw, 2.5rem);
  font-weight: var(--fontbold);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox h3.title .text {
    font-size: 1.6rem;
  }
}
#page-ecolu .contents--box03 .aboutbox h3.title .txt {
  display: flex;
  justify-content: center;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  margin-bottom: 0.5rem;
  gap: 0.5rem;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox h3.title .txt {
    font-size: 1.4rem;
  }
}
#page-ecolu .contents--box03 .aboutbox h3.title .txt:before {
  content: "＼";
}
#page-ecolu .contents--box03 .aboutbox h3.title .txt:after {
  content: "／";
}
#page-ecolu .contents--box03 .aboutbox .capbox {
  display: flex;
  gap: 4rem;
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox .capbox {
    display: block;
  }
}
#page-ecolu .contents--box03 .aboutbox .capbox--item {
  width: calc(50% - 2rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox .capbox--item {
    width: auto;
  }
  #page-ecolu .contents--box03 .aboutbox .capbox--item:not(:last-of-type) {
    margin-bottom: 2rem;
  }
}
#page-ecolu .contents--box03 .aboutbox .textbox {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  margin-bottom: clamp(2.5rem, 3.1225604996vw, 4rem);
}
#page-ecolu .contents--box03 .aboutbox .textbox p:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-ecolu .contents--box03 .aboutbox .btn--box {
  width: 40rem;
  margin: auto;
  border: 1px solid #E6E6E6;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .aboutbox .btn--box {
    width: auto;
  }
}
#page-ecolu .contents--box03 .aboutbox .btn--box:after {
  content: url(../../dist/images/common/icon-link.svg);
}
#page-ecolu .contents--box03 .textcontents h3 {
  text-align: center;
  font-size: clamp(1.8rem, 1.9516003123vw, 2.5rem);
  font-weight: var(--fontbold);
  line-height: 1.72;
  margin-bottom: clamp(4rem, 3.9032006245vw, 5rem);
}
#page-ecolu .contents--box03 .textcontents--wrap {
  display: flex;
  justify-content: center;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .textcontents--wrap {
    display: block;
  }
}
#page-ecolu .contents--box03 .textcontents--itembox {
  display: inline-grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  column-gap: 2.5rem;
  position: relative;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .textcontents--itembox {
    display: block;
  }
}
#page-ecolu .contents--box03 .textcontents--itembox .box {
  width: clamp(35rem, 32.7868852459vw, 42rem);
  border: 1px solid #333333;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
  grid-row: 1;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  line-height: 1.4444444444;
  min-height: clamp(12rem, 14.0515222482vw, 18rem);
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .textcontents--itembox .box {
    width: auto;
  }
}
#page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(1) {
  grid-column: 1;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(1) {
    margin-bottom: 6rem;
    position: relative;
  }
  #page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(1):after {
    content: "×";
    font-size: clamp(2rem, 2.3419203747vw, 3rem);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -4.5rem;
  }
}
#page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(1) .icon {
  width: clamp(6rem, 7.2599531616vw, 9.3rem);
}
#page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(2) {
  grid-column: 3;
}
#page-ecolu .contents--box03 .textcontents--itembox .box:nth-of-type(2) .icon {
  width: clamp(8.3rem, 8.8212334114vw, 11.3rem);
}
#page-ecolu .contents--box03 .textcontents--itembox:after {
  content: "×";
  font-size: clamp(2rem, 2.3419203747vw, 3rem);
  grid-column: 2;
  justify-self: center;
  align-self: center;
  line-height: 1;
  place-self: center;
  grid-row: 1;
}
@media (max-width: 1021px) {
  #page-ecolu .contents--box03 .textcontents--itembox:after {
    content: none;
  }
}
#page-ecolu .contents--box04 section.inner {
  margin-bottom: clamp(3rem, 4.6838407494vw, 128.1rem);
}
#page-ecolu .contents--box04 .capcontents {
  margin-bottom: clamp(4rem, 4.6838407494vw, 6rem);
}
#page-ecolu .contents--box04 .list {
  display: flex;
  gap: 4rem;
}
@media (max-width: 768px) {
  #page-ecolu .contents--box04 .list {
    flex-wrap: wrap;
  }
}
#page-ecolu .contents--box04 .list .box {
  background-color: white;
  width: calc(50% - 2rem);
  border-top: 1rem solid #F2F2F2;
  padding-inline: clamp(2rem, 4.6838407494vw, 6rem);
  padding-bottom: clamp(2.5rem, 3.9032006245vw, 5rem);
  padding-top: clamp(2.5rem, 3.9032006245vw, 5rem);
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  #page-ecolu .contents--box04 .list .box {
    width: auto;
  }
}
#page-ecolu .contents--box04 .list .box .cap {
  margin-bottom: 1rem;
}
#page-ecolu .contents--box04 .list .box h3 {
  text-align: center;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  color: #AA9D79;
  font-weight: var(--fontbold);
  margin-bottom: clamp(2rem, 1.9516003123vw, 2.5rem);
}
#page-ecolu .contents--box04 .list .box .txt {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.5333333333;
  margin-bottom: clamp(2rem, 2.7322404372vw, 3.5rem);
}
#page-ecolu .contents--box04 .list .box .osusume {
  margin-top: auto;
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding: clamp(1.2rem, 1.5612802498vw, 2rem);
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  line-height: 2;
}
#page-ecolu .contents--box04 .list .box .osusume h4 {
  color: #AA9D79;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
  font-weight: var(--fontnormal);
}
#page-ecolu .contents--box04 .list .box .osusume ul li {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}
#page-ecolu .contents--box04 .list .box .osusume ul li:before {
  content: "●";
  color: #AA9D79;
}

/* ======================================
page-policy
====================================== */
#page-policy .reasonbox {
  padding-block: clamp(5rem, 7.806401249vw, 10rem);
}
#page-policy .reasonbox .inner {
  max-width: 99.6rem;
}
#page-policy .reasonbox .bordertitle:before {
  background-color: #AA9D79;
}
#page-policy .reasonbox ol {
  display: flex;
  justify-content: space-between;
  gap: clamp(2rem, 2.3419203747vw, 3rem);
  margin-bottom: clamp(3.5rem, 5.4644808743vw, 7rem);
}
@media (max-width: 768px) {
  #page-policy .reasonbox ol {
    display: block;
  }
}
#page-policy .reasonbox ol li {
  flex: 0 0 calc((100% - clamp(2rem, 2.3419203747vw, 3rem) * 2) / 3);
}
@media (max-width: 768px) {
  #page-policy .reasonbox ol li {
    flex: none;
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  #page-policy .reasonbox ol li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
#page-policy .reasonbox ol li .cap {
  max-width: 26rem;
  margin-inline: auto;
  margin-bottom: 2rem;
}
@media (max-width: 768px) {
  #page-policy .reasonbox ol li .cap {
    max-width: 15rem;
    margin-bottom: 0;
    margin-inline: initial;
  }
}
#page-policy .reasonbox ol li {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  text-align: center;
}
@media (max-width: 768px) {
  #page-policy .reasonbox ol li {
    text-align: left;
  }
}
#page-policy .reasonbox .contactbox h3 {
  text-align: center;
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  margin-bottom: clamp(1.2rem, 1.5612802498vw, 2rem);
}
#page-policy .reasonbox .contactbox p.txt {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
#page-policy .reasonbox .contactbox .banner {
  position: relative;
  width: 100%;
  height: 20rem;
  background: url(../../dist/images/policy/reason-contact.jpg) no-repeat center center/cover;
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}
#page-policy .reasonbox .contactbox .banner:after {
  content: "→";
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  position: absolute;
  right: 2.3rem;
  bottom: 1.5rem;
}
#page-policy .reasonbox .contactbox .banner .title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(2rem, 3.1225604996vw, 4rem);
}
#page-policy .reasonbox .contactbox .banner .title .mintxt {
  font-size: clamp(1.4rem, 1.3270882123vw, 1.7rem);
  padding-bottom: 1rem;
}
#page-policy .reasonbox .contactbox .banner .title .text {
  font-size: clamp(3rem, 3.9032006245vw, 5rem);
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
}
#page-policy .topcontents {
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  margin: 0;
}
#page-policy .pageheader--itemhead {
  height: clamp(190px, 14.0625vw + 10px, 280px);
}
#page-policy .pageheader h2 .txt--logo {
  width: clamp(300px, 18.125vw + 68px, 416px);
  margin-bottom: 0;
}
#page-policy .introduction {
  background: none;
  padding: 0;
}
@media (max-width: 1021px) {
  #page-policy .introduction .about--list {
    padding-bottom: 0;
  }
  #page-policy .introduction .about--list ul {
    margin-bottom: 0;
  }
}
#page-policy .introduction:before {
  content: none;
}
#page-policy .contents {
  padding: clamp(6rem, 7.806401249vw, 10rem) 0;
}
#page-policy .contents .pointbox {
  margin-inline: clamp(4.5rem, 7.0257611241vw, 9rem);
  margin-top: clamp(4.5rem, 7.0257611241vw, 9rem);
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 15rem;
  font-size: clamp(1.2rem, 1.4051522248vw, 1.8rem);
  line-height: 1.6666666667;
  font-weight: var(--fontnormal);
  position: relative;
  padding-left: clamp(20rem, 18.7353629977vw, 24rem);
}
@media (max-width: 1021px) {
  #page-policy .contents .pointbox {
    margin-inline: initial;
    padding: 0.8rem 2rem 1rem 10rem;
    line-height: 1.6;
  }
}
#page-policy .contents .pointbox:before {
  content: "";
  position: absolute;
  width: clamp(10rem, 9.2115534738vw, 11.8rem);
  height: clamp(11.125rem, 10.2263856362vw, 13.1rem);
  background: url(../../dist/images/policy/point-item.svg) no-repeat center center/contain;
  left: clamp(5rem, 7.3380171741vw, 9.4rem);
  bottom: -0.6rem;
}
@media (max-width: 1021px) {
  #page-policy .contents .pointbox:before {
    width: 7rem;
    height: 7.787rem;
    left: 2rem;
    bottom: auto;
    top: 2rem;
  }
}
#page-policy .contents .pointbox--item:before {
  width: clamp(10rem, 9.2115534738vw, 11.8rem);
  height: clamp(10.508rem, 9.6799375488vw, 12.4rem);
  background: url(../../dist/images/policy/point-item2.svg) no-repeat center center/contain;
}
@media (max-width: 1021px) {
  #page-policy .contents .pointbox--item:before {
    width: 7rem;
    height: 7.356rem;
  }
}
#page-policy .contents .pointbox h4 {
  color: var(--greencolor);
  font-size: clamp(1.1rem, 1.0148321624vw, 1.3rem);
  font-family: var(--enfont);
  line-height: 1;
  margin-bottom: 0.5rem;
}
@media (max-width: 1021px) {
  #page-policy .contents .pointbox h4 {
    font-size: 1.2rem;
  }
}
#page-policy .contents .inner {
  max-width: clamp(40rem, 102.2638563622vw, 131rem);
}
#page-policy .contents .capcontents {
  display: flex;
  align-items: flex-start;
  gap: clamp(2rem, 3.669008587vw, 4.7rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
#page-policy .contents .capcontents .btn {
  padding-top: clamp(2.5rem, 2.3419203747vw, 3rem);
}
#page-policy .contents .capcontents .btn--box {
  width: 28rem;
  border: 1px solid #1A1A1A;
  background-color: white;
  min-height: clamp(4rem, 4.6838407494vw, 6rem);
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents .btn--box {
    margin: auto;
    min-height: auto;
    height: 5rem;
  }
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents {
    flex-wrap: wrap;
  }
}
#page-policy .contents .capcontents .textbox {
  width: clamp(40rem, 39.0320062451vw, 50rem);
  position: relative;
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents .textbox {
    width: auto;
  }
}
#page-policy .contents .capcontents .textbox h3 {
  font-weight: var(--fontbold);
  font-size: clamp(1.8rem, 1.9516003123vw, 2.5rem);
  line-height: 1.72;
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-policy .contents .capcontents .textbox h3 .titlebox {
  position: absolute;
  right: 0;
  top: -16rem;
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents .textbox h3 .titlebox {
    top: -32rem;
    right: auto;
    left: 0;
  }
}
#page-policy .contents .capcontents .textbox h3 .titlebox .number, #page-policy .contents .capcontents .textbox h3 .titlebox .text {
  display: block;
  font-family: var(--enfont);
  font-weight: var(--fontbold);
  line-height: 1;
  text-align: center;
}
#page-policy .contents .capcontents .textbox h3 .titlebox .number {
  font-size: clamp(8rem, 9.1334894614vw, 11.7rem);
  letter-spacing: 0.04em;
}
#page-policy .contents .capcontents .textbox h3 .titlebox .text {
  font-size: clamp(1.4rem, 1.5612802498vw, 2rem);
  transform: translateY(-1rem);
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents .textbox h3 .titlebox .text {
    transform: translateY(-0.5rem);
  }
}
#page-policy .contents .capcontents .textbox p:not(:last-of-type) {
  margin-bottom: clamp(1.5rem, 2.3419203747vw, 3rem);
}
#page-policy .contents .capcontents .cap {
  width: clamp(50rem, 49.9609679938vw, 64rem);
}
@media (max-width: 1021px) {
  #page-policy .contents .capcontents .cap {
    width: auto;
  }
}
#page-policy .contents--bg {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
}
#page-policy .contents:nth-of-type(even) .capcontents {
  flex-direction: row-reverse;
}
#page-policy .contents:nth-of-type(even) .capcontents .textbox h3 .titlebox {
  left: 0;
  right: auto;
}
#page-policy .storybox {
  background: url(../../dist/images/top/about-bg.jpg);
  background-size: 13.9rem;
  padding-top: clamp(10rem, 9.6799375488vw, 12.4rem);
}
#page-policy .storybox .inner {
  max-width: clamp(40rem, 111.631537861vw, 143rem);
  padding-bottom: clamp(8rem, 7.806401249vw, 10rem);
}
#page-policy .storybox .introduction {
  background: url(../../dist/images/policy/bg-item.jpg);
  background-size: 5rem;
  position: relative;
  padding-top: clamp(7rem, 7.806401249vw, 10rem);
  padding-bottom: clamp(7rem, 9.6018735363vw, 12.3rem);
}
#page-policy .storybox .introduction .case {
  margin-bottom: 0;
}
#page-policy .storybox .introduction .case .slick-dots {
  bottom: -5rem;
}
#page-policy .storybox .introduction .case .js-slick {
  margin-bottom: clamp(5rem, 6.4793130367vw, 8.3rem);
}
#page-policy .storybox .introduction:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: url(../../dist/images/policy/bg.jpg) no-repeat center top/contain;
  width: 100%;
  height: 100%;
}
#page-policy .storybox .introduction .btn--box {
  margin: auto;
  width: 28rem;
}
#page-policy .storybox h2.title {
  text-align: center;
  font-size: clamp(2rem, 1.8735362998vw, 2.4rem);
  font-weight: var(--fontbold);
  color: white;
  position: relative;
  margin-bottom: clamp(3.5rem, 5.1522248244vw, 6.6rem);
}
#page-policy .storybox h2.title .text {
  z-index: 2;
  position: relative;
}
#page-policy .storybox h2.title:before {
  content: "";
  width: clamp(30rem, 24.7462919594vw, 31.7rem);
  height: clamp(8.801rem, 7.2599531616vw, 9.3rem);
  background: url(../../dist/images/policy/story-item.svg) no-repeat center center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -7rem;
}
#page-policy .storybox .textbox {
  background-color: white;
  margin-inline: clamp(6rem, 6.2853551226vw, 10rem);
  padding-inline: clamp(6rem, 6.9138906348vw, 11rem);
  padding-top: clamp(4rem, 5.8548009368vw, 7.5rem);
  padding-bottom: clamp(4rem, 5.8548009368vw, 7.5rem);
  margin-top: -12.7rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox {
    margin-top: 0;
    margin-inline: initial;
    padding-inline: 2rem;
    padding-top: 3rem;
  }
}
#page-policy .storybox .textbox .box {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(3rem, 4.6838407494vw, 6rem);
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox .box {
    display: block;
  }
}
#page-policy .storybox .textbox .box .titlebox {
  width: 28rem;
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox .box .titlebox {
    width: auto;
    margin-bottom: 3rem;
  }
}
#page-policy .storybox .textbox .box .titlebox h3 {
  margin-bottom: clamp(3.5rem, 4.6838407494vw, 6rem);
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  line-height: 1.8;
  font-weight: var(--fontnormal);
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox .box .titlebox h3 {
    text-align: center;
  }
}
#page-policy .storybox .textbox .box .titlebox .btn--box {
  border: 1px solid #1A1A1A;
  width: auto;
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox .box .titlebox .btn--box {
    width: 28rem;
    margin: auto;
  }
}
#page-policy .storybox .textbox .box .text {
  width: clamp(50rem, 43.7158469945vw, 56rem);
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
}
@media (max-width: 1021px) {
  #page-policy .storybox .textbox .box .text {
    width: auto;
  }
}
#page-policy .storybox .textbox .box .text p:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}

/* ======================================
.js-slick
====================================== */
.js-slick:not(.slick-slider) {
  width: auto;
  display: flex;
  justify-content: center;
  gap: clamp(2rem, 2.3419203747vw, 3rem);
  margin-inline: 2rem;
}
.js-slick:not(.slick-slider) .case--box {
  flex: 0 0 calc((100% - clamp(2rem, 2.3419203747vw, 3rem) * 3) / 4);
  margin: 0;
}
@media (max-width: 1021px) {
  .js-slick:not(.slick-slider) .case--box {
    flex: 0 0 calc((100% - clamp(2rem, 2.3419203747vw, 3rem)) / 2);
  }
}
@media (max-width: 768px) {
  .js-slick:not(.slick-slider) .case--box {
    flex: none;
    width: 100%;
  }
}

/* ======================================
#page-404
====================================== */
#page-404 .pagecontents {
  margin-bottom: clamp(10rem, 9.3676814988vw, 12rem);
}
#page-404 .pagecontents .textbox {
  padding-inline: 2rem;
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.75;
  margin-bottom: clamp(2.5rem, 2.3419203747vw, 3rem);
}
#page-404 .pagecontents .btn--box {
  width: 28rem;
  margin: auto;
  border: 1px solid #1A1A1A;
}

/* ======================================
.singlemodelhouse
====================================== */
.singlemodelhouse {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
}
.singlemodelhouse .meritbox {
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  padding: clamp(2rem, 3.1225604996vw, 4rem);
  margin-bottom: clamp(3.5rem, 4.9025769956vw, 7.8rem);
}
.singlemodelhouse .meritbox h3.title {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
}
.singlemodelhouse .meritbox h3.title .txt {
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-family: var(--enfont);
  color: var(--greencolor);
}
.singlemodelhouse .meritbox h3.title .text {
  font-size: clamp(1.5rem, 1.3270882123vw, 1.7rem);
  font-weight: var(--fontnormal);
}
.singlemodelhouse .meritbox .list li {
  background-color: white;
  border: 1px solid #E6E6E6;
  padding: clamp(1.5rem, 1.5612802498vw, 2rem) clamp(2rem, 2.3419203747vw, 3rem);
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.6666666667;
}
.singlemodelhouse .meritbox .list li h4 {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: clamp(0.5rem, 0.6245120999vw, 0.8rem);
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  line-height: 2.3;
}
.singlemodelhouse .meritbox .list li h4:before {
  content: "";
  width: 3.2rem;
  height: 3rem;
  background: url(../../dist/images/common/icon-check.svg) no-repeat center center/contain;
}
.singlemodelhouse .meritbox .list li h4 .txt {
  width: calc(100% - 3.2rem - 1.5rem);
  transform: translateY(-1rem);
}
.singlemodelhouse .meritbox .list li:not(:last-child) {
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
}
.singlemodelhouse .pageheader--itemhead {
  height: clamp(21rem, 21rem + 105 * (100vw - 1280px) / 640, 31.5rem);
}
.singlemodelhouse .pageheader--itemhead .title {
  font-size: clamp(8rem, 7.806401249vw, 10rem);
  font-family: var(--enfont);
  font-weight: var(--fontbold);
  line-height: 1;
}
.singlemodelhouse .pageheader--itemhead .title .txt {
  color: white;
}
.singlemodelhouse .pagecontents .pankuzu {
  margin-bottom: 2.3rem;
}
.singlemodelhouse .contents div.box {
  background-color: white;
  padding-inline: clamp(5rem, 13.2708821233vw, 17rem);
  padding-top: clamp(2rem, 3.1225604996vw, 4rem);
  padding-bottom: clamp(8rem, 7.806401249vw, 10rem);
  margin-bottom: clamp(6rem, 6.2451209992vw, 8rem);
}
.singlemodelhouse .contents--header {
  margin-bottom: clamp(3.5rem, 5.2302888368vw, 6.7rem);
}
.singlemodelhouse .contents--header .pagetitle {
  font-size: clamp(2.4rem, 2.6541764247vw, 3.4rem);
  font-weight: var(--fontbold);
  line-height: 1.4705882353;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1rem, 1.1709601874vw, 1.5rem);
  margin-bottom: clamp(1rem, 1.1709601874vw, 1.5rem);
}
.singlemodelhouse .contents--header .lead {
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.5333333333;
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.singlemodelhouse .contents--header .lead:before {
  content: "";
  width: 1rem;
  height: 1.3rem;
  background: url(../../dist/images/common/icon-map.svg) no-repeat center center/contain;
}
.singlemodelhouse .contents--header .cap {
  margin-bottom: clamp(2rem, 3.2786885246vw, 4.2rem);
}
.singlemodelhouse .contents--header .btn--box {
  background-color: var(--greencolor);
  color: white;
  margin-inline: auto;
  width: 28rem;
}
.singlemodelhouse .contents--header .btn--box:after {
  transform: rotate(90deg);
}
.singlemodelhouse .formcontents {
  padding-top: 0;
}
.singlemodelhouse .formcontents:before {
  content: none;
}
.singlemodelhouse .formcontents .checkbox .checkbox-input {
  background: none;
  padding-inline: initial;
  padding: 0;
  margin: 0;
}

body.page-id-2163 .footercontents {
  padding-top: 0;
}

/* ======================================
page-concept
====================================== */
#page-concept .introduction .bottombox {
  margin-top: 0;
}
@media (max-width: 768px) {
  #page-concept .pankuzu {
    display: none;
  }
  #page-concept:before {
    background: url(../../dist/images/concept/pagcap_sp.jpg) no-repeat center top/contain;
  }
}
@media (max-width: 1021px) {
  #page-concept:before {
    background-size: contain;
  }
}
@media (max-width: 768px) {
  #page-concept .pageheader--itemhead .title .txt--logo {
    width: 24.8rem;
  }
}
#page-concept .introduction {
  background: none;
  padding: 0;
}
#page-concept .introduction:before {
  content: none;
}
#page-concept .pageheader--itemhead {
  height: 31.1979166667vw;
}
@media (max-width: 1021px) {
  #page-concept .pageheader--itemhead {
    height: auto;
  }
}
@media (max-width: 768px) {
  #page-concept .pageheader--itemhead {
    height: 35rem;
  }
}
#page-concept .contents .topcap {
  position: relative;
  z-index: 2;
  width: clamp(1080px, 1080px + 120 * (100vw - 1280px) / 640, 1200px);
}
@media (max-width: 1021px) {
  #page-concept .contents .topcap {
    width: auto;
  }
}
#page-concept .contents .topcap {
  margin-left: auto;
}
#page-concept .contents .topcap img {
  width: 100%;
}
#page-concept .contents .topcap {
  padding-right: clamp(20px, 20px + 100 * (100vw - 1280px) / 319, 120px);
}
@media (max-width: 1021px) {
  #page-concept .contents .topcap {
    padding-right: 0;
  }
}
#page-concept .contents .itembox {
  position: relative;
  z-index: 2;
}
#page-concept .contents .itembox .inner {
  display: flex;
  align-items: flex-end;
  gap: clamp(5rem, 7.0257611241vw, 9rem);
  justify-content: space-between;
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .inner {
    display: block;
    margin-inline: initial;
  }
}
#page-concept .contents .itembox .caps {
  width: clamp(30rem, 24.9804839969vw, 32rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .caps {
    width: auto;
  }
}
#page-concept .contents .itembox .textbox {
  width: calc(100% - clamp(30rem, 24.9804839969vw, 32rem) - clamp(5rem, 7.0257611241vw, 9rem));
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 2.375;
  position: relative;
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .textbox {
    width: auto;
    margin-bottom: 2.5rem;
  }
}
#page-concept .contents .itembox .textbox:before {
  content: "";
  left: 0;
  position: absolute;
}
#page-concept .contents .itembox .textbox h2.title .text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #333333;
  min-height: 7rem;
  color: white;
  font-size: clamp(2.2rem, 2.7322404372vw, 3.5rem);
  font-weight: var(--fontbold);
  padding-inline: clamp(1.5rem, 1.9516003123vw, 2.5rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .textbox h2.title .text {
    padding-inline: 2rem;
  }
}
#page-concept .contents .itembox .textbox .box {
  padding-top: clamp(3.5rem, 4.3715846995vw, 5.6rem);
  padding-left: clamp(1.5rem, 1.7174082748vw, 2.2rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .textbox .box {
    padding-inline: 2rem;
    padding-top: 2rem;
  }
}
#page-concept .contents .itembox .textbox .box p:not(:last-of-type) {
  margin-bottom: clamp(2.5rem, 4.293520687vw, 5.5rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .textbox .box p:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}
#page-concept .contents .itembox .textbox .box p.itemtext {
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
  font-size: 1.1rem;
  margin-bottom: clamp(3rem, 4.6838407494vw, 6rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .itembox .textbox .box p.itemtext {
    margin-bottom: 2rem;
  }
}
#page-concept .contents .textcontents {
  background-color: white;
  border-top: 1rem solid #F2F2F2;
  padding-inline: clamp(2.5rem, 3.1269543465vw, 5rem);
  max-width: 100rem;
  margin-inline: auto;
  padding-bottom: clamp(8rem, 6.9444444444vw, 10rem);
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 1.8666666667;
  position: relative;
  z-index: 2;
}
@media (max-width: 1021px) {
  #page-concept .contents .textcontents {
    margin-inline: 2rem;
    padding-bottom: 3rem;
  }
}
#page-concept .contents .textcontents .box:not(:last-of-type) {
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(4rem, 3.9032006245vw, 5rem);
  margin-bottom: clamp(4rem, 3.9032006245vw, 5rem);
}
#page-concept .contents .textcontents .box p:not(.entxt):not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-concept .contents .textcontents .box--head {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
#page-concept .contents .textcontents .box--cap {
  display: flex;
}
@media (max-width: 1021px) {
  #page-concept .contents .textcontents .box--cap {
    display: block;
  }
}
#page-concept .contents .textcontents .box--cap .cap {
  width: clamp(20rem, 18.7353629977vw, 24rem);
}
@media (max-width: 1021px) {
  #page-concept .contents .textcontents .box--cap .cap {
    margin-inline: auto;
    width: auto;
    margin-bottom: 2rem;
  }
}
#page-concept .contents--bg {
  background: url(../../dist/images/concept/bg.jpg);
  background-size: 13rem;
}
#page-concept .contents--bg .itembox .textbox .box {
  background: url(../../dist/images/concept/bg.jpg);
  background-size: 13rem;
}
#page-concept .contents--box01 {
  padding-bottom: clamp(15rem, 15.9722222222vw, 23rem);
  position: relative;
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 {
    padding-bottom: 6rem;
  }
}
#page-concept .contents--box01:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/concept/bg-wave.jpg) no-repeat center top/contain;
}
#page-concept .contents--box01 .itembox {
  margin-bottom: clamp(8rem, 7.806401249vw, 10rem);
  margin-top: -25rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 .itembox {
    margin-top: 0;
    margin-bottom: 3rem;
  }
}
#page-concept .contents--box01 .itembox .textbox:before {
  content: "";
  top: -27.5rem;
  width: 12.2rem;
  height: 20.8rem;
  background: url(../../dist/images/concept/box01-title.svg) no-repeat center center/contain;
}
#page-concept .contents--box01 .textcontents .box {
  padding-inline: clamp(5rem, 7.0257611241vw, 9rem);
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 .textcontents .box {
    padding-inline: initial;
  }
  #page-concept .contents--box01 .textcontents .box p {
    text-align: left;
  }
}
#page-concept .contents--box01 .textcontents .box--head {
  padding-top: 13rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 .textcontents .box--head {
    padding-top: 3rem;
  }
}
#page-concept .contents--box01 .textcontents .box--head h3.title {
  margin-bottom: clamp(2rem, 2.0296643247vw, 2.6rem);
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontnormal);
}
#page-concept .contents--box01 .textcontents .box--head h3.title .text {
  position: relative;
  padding-top: 8rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 .textcontents .box--head h3.title .text {
    padding-top: 2rem;
  }
}
#page-concept .contents--box01 .textcontents .box--head h3.title .text:before {
  content: "";
  width: 15rem;
  height: 6.3rem;
  transform: rotate(-5deg);
  background: url(../../dist/images/concept/box01-logo.jpg) no-repeat center center/contain;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}
#page-concept .contents--box01 .textcontents .box--cap .text {
  width: calc(100% - clamp(20rem, 18.7353629977vw, 24rem) - clamp(3rem, 3.1225604996vw, 4rem));
}
@media (max-width: 1021px) {
  #page-concept .contents--box01 .textcontents .box--cap .text {
    width: auto;
  }
}
#page-concept .contents--box01 .textcontents .box--cap .text .entxt {
  font-size: 1.1rem;
  font-family: var(--enfont);
  font-weight: var(--fontnormal);
  margin-bottom: clamp(1rem, 1.1709601874vw, 1.5rem);
}
#page-concept .contents--box01 .textcontents .box--cap {
  gap: clamp(3rem, 3.1225604996vw, 4rem);
}
#page-concept .contents--box01 .textcontents .box--cap:nth-of-type(odd) {
  flex-direction: row-reverse;
}
#page-concept .contents--box02 {
  padding-bottom: clamp(15rem, 17.9547228728vw, 23rem);
  position: relative;
}
@media (max-width: 1021px) {
  #page-concept .contents--box02 {
    padding-bottom: 6rem;
  }
}
#page-concept .contents--box02:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: url(../../dist/images/concept/bg.jpg);
  background-size: 13rem;
  padding-top: 7rem;
}
#page-concept .contents--box02 .topcap {
  position: relative;
  z-index: 2;
}
#page-concept .contents--box02 .itembox {
  margin-top: -25rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box02 .itembox {
    margin-top: 0;
  }
}
#page-concept .contents--box02 .itembox .caps {
  padding-bottom: 5rem;
}
#page-concept .contents--box02 .itembox .textbox:before {
  content: "";
  top: -27.5rem;
  width: 13.6rem;
  height: 20.7rem;
  background: url(../../dist/images/concept/box02-title.svg) no-repeat center center/contain;
}
#page-concept .contents--box02 .itembox .textbox .box {
  background-color: white;
}
#page-concept .contents--box03 {
  padding-bottom: clamp(6rem, 7.806401249vw, 10rem);
  position: relative;
}
#page-concept .contents--box03:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background-color: white;
  padding-top: 7rem;
}
#page-concept .contents--box03 .banner {
  max-width: 80rem;
  margin-inline: auto;
  margin-bottom: clamp(10rem, 11.7096018735vw, 15rem);
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .banner {
    margin-inline: 2rem;
    margin-bottom: 3rem;
  }
}
#page-concept .contents--box03 .banner .box {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.4rem, 1.3270882123vw, 1.7rem);
  color: white;
  line-height: 1.7058823529;
  font-weight: var(--fontnormal);
  gap: 6.7rem;
  height: 20rem;
  position: relative;
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .banner .box {
    display: block;
    height: auto;
    padding: 1.5rem;
  }
}
#page-concept .contents--box03 .banner .box:after {
  content: "→";
  color: white;
  position: absolute;
  right: 2.4rem;
  bottom: 1.6rem;
}
#page-concept .contents--box03 .banner .box .logo {
  width: 29.2rem;
  position: relative;
}
#page-concept .contents--box03 .banner .box .logo:after {
  content: "";
  width: 15.6rem;
  height: 4.5rem;
  position: absolute;
  background: url(../../dist/images/concept/box3-banner-itm-bg.svg) no-repeat center center/contain;
  right: -2.7rem;
  bottom: -1rem;
}
#page-concept .contents--box03 .banner {
  background: url(../../dist/images/concept/bg02.jpg);
}
#page-concept .contents--box03 .topcap {
  position: relative;
  z-index: 2;
}
#page-concept .contents--box03 .itembox {
  margin-bottom: clamp(8rem, 7.806401249vw, 10rem);
  margin-top: -25rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .itembox {
    margin-top: 0;
    margin-bottom: 5rem;
  }
}
#page-concept .contents--box03 .itembox .caps {
  padding-bottom: 13rem;
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .itembox .caps {
    padding-bottom: 0;
  }
}
#page-concept .contents--box03 .itembox .textbox:before {
  content: "";
  top: -27.5rem;
  width: 13.4rem;
  height: 23.3rem;
  background: url(../../dist/images/concept/box03-title.svg) no-repeat center center/contain;
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .itembox .textbox:before {
    left: 1rem;
    width: 10rem;
    height: 17.3rem;
  }
}
#page-concept .contents--box03 .textcontents {
  padding-top: clamp(6rem, 6.2451209992vw, 8rem);
}
#page-concept .contents--box03 .textcontents .box {
  padding-inline: clamp(4rem, 6.2451209992vw, 8rem);
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .textcontents .box {
    padding-inline: initial;
  }
}
#page-concept .contents--box03 .textcontents .box--head h3 {
  text-align: center;
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
#page-concept .contents--box03 .textcontents .box--head h3 .mintxt, #page-concept .contents--box03 .textcontents .box--head h3 .text {
  display: block;
}
#page-concept .contents--box03 .textcontents .box--head h3 .mintxt {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  font-weight: var(--fontnormal);
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
}
#page-concept .contents--box03 .textcontents .box--head h3 .text {
  font-size: clamp(2.2rem, 2.1857923497vw, 2.8rem);
  font-weight: var(--fontbold);
  line-height: 1;
}
#page-concept .contents--box03 .textcontents .box--cap {
  gap: clamp(3rem, 3.1225604996vw, 4rem);
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .textcontents .box--cap {
    display: block;
  }
}
#page-concept .contents--box03 .textcontents .box--cap .text {
  width: calc(100% - clamp(20rem, 18.7353629977vw, 24rem) - clamp(3rem, 3.1225604996vw, 4rem));
}
@media (max-width: 1021px) {
  #page-concept .contents--box03 .textcontents .box--cap .text {
    width: auto;
  }
}
#page-concept .contents--box03 .textcontents .box--cap .text h4 {
  font-size: clamp(1.8rem, 1.5612802498vw, 1.8rem);
  font-weight: var(--fontbold);
  margin-bottom: clamp(3rem, 3.5128805621vw, 3rem);
}
#page-concept .contents--box03 .textcontents .box--cap {
  flex-direction: row-reverse;
}
#page-concept .contentstopbox {
  background-color: white;
  margin-bottom: clamp(12rem, 14.0515222482vw, 18rem);
  position: relative;
}
#page-concept .contentstopbox:before {
  content: "";
  position: absolute;
  left: 0;
  top: -4rem;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/concept/bg-wave-white.svg) no-repeat center top/contain;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox:before {
    background: url(../../dist/images/concept/bg-wave-white_sp.svg) no-repeat center top/contain;
  }
}
#page-concept .contentstopbox:after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 0;
  width: 132.5rem;
  height: 101.6rem;
  margin: auto;
  background: url(../../dist/images/concept/bg.png) no-repeat center bottom/contain;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox:after {
    background: url(../../dist/images/concept/bg_sp.png) no-repeat center bottom/contain;
    width: 100%;
    height: 39.5rem;
  }
}
#page-concept .contentstopbox .topbox {
  z-index: 2;
}
#page-concept .contentstopbox .topbox .title {
  text-align: center;
}
#page-concept .contentstopbox .topbox .title .text, #page-concept .contentstopbox .topbox .title .entxt {
  display: block;
}
#page-concept .contentstopbox .topbox .title .text {
  font-size: clamp(1.8rem, 1.8735362998vw, 2.4rem);
  font-weight: var(--fontnormal);
  line-height: 2.0833333333;
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
}
#page-concept .contentstopbox .topbox .title .entxt {
  font-family: var(--enfont);
  font-size: 1.1rem;
  letter-spacing: 0.02em;
  font-weight: var(--fontnormal);
}
#page-concept .contentstopbox .topbox--top {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: clamp(12rem, 12.4902419984vw, 16rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--top {
    display: block;
  }
}
#page-concept .contentstopbox .topbox--top .cap {
  width: 46.3541666667vw;
  margin-top: -16rem;
}
@media (max-width: 1280px) and (min-width: 769px) {
  #page-concept .contentstopbox .topbox--top .cap {
    margin-top: -10rem;
  }
}
#page-concept .contentstopbox .topbox--top .cap {
  margin-left: clamp(21rem, 21rem + 105 * (100vw - 1280px) / 640, 31.5rem);
  position: relative;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--top .cap {
    margin-top: 0;
    width: 34rem;
    margin-inline: auto;
    margin-bottom: 28.5rem;
  }
}
#page-concept .contentstopbox .topbox--top .cap:after {
  content: "";
  position: absolute;
  width: 18.2291666667vw;
  height: 14.5833333333vw;
  background: url(../../dist/images/concept/topcontents-cap02.jpg) no-repeat center center/contain;
  right: clamp(-23rem, -15rem - 80 * (100vw - 1280px) / 640, -15rem);
  bottom: clamp(-21rem, -10rem - 110 * (100vw - 1280px) / 640, -10rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--top .cap:after {
    width: 14rem;
    height: 11.2rem;
    right: -1.8rem;
    bottom: -3rem;
  }
}
#page-concept .contentstopbox .topbox--top .title {
  position: absolute;
  top: 50%;
  z-index: 2;
  transform: translateY(-50%);
  left: clamp(21.2rem, 21.2rem + 220 * (100vw - 1280px) / 640, 43.2rem);
  margin-top: clamp(-7rem, -7rem + 20 * (100vw - 1280px) / 640, -5rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--top .title {
    position: initial;
    top: auto;
    transform: translateY(0);
    left: auto;
    margin-bottom: 4rem;
  }
}
#page-concept .contentstopbox .topbox--center {
  margin-bottom: clamp(20rem, 22.4043715847vw, 28.7rem);
  display: flex;
  justify-content: center;
  position: relative;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--center {
    margin-bottom: 36.1rem;
    display: block;
  }
}
#page-concept .contentstopbox .topbox--center:before {
  content: "";
  width: 21.875vw;
  height: 14.5833333333vw;
  position: absolute;
  background: url(../../dist/images/concept/topcontents-cap05.jpg) no-repeat center center/contain;
  left: clamp(30rem, 30rem + 160 * (100vw - 1280px) / 640, 46rem);
  bottom: -15rem;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--center:before {
    width: 20rem;
    height: 13.3rem;
    left: 3rem;
    bottom: -6rem;
  }
}
#page-concept .contentstopbox .topbox--center:after {
  content: "";
  width: 27.0833333333vw;
  height: 17.1875vw;
  position: absolute;
  background: url(../../dist/images/concept/topcontents-cap03.jpg) no-repeat center center/contain;
  left: 0;
  top: -9rem;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--center:after {
    width: 23rem;
    height: 14.6rem;
    top: -22rem;
  }
}
#page-concept .contentstopbox .topbox--center .title {
  position: absolute;
  right: clamp(23rem, 23rem + 242 * (100vw - 1280px) / 640, 47.2rem);
  top: clamp(6.5rem, 6.5rem + 82 * (100vw - 1280px) / 640, 14.7rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--center .title {
    position: initial;
    right: auto;
    top: auto;
    margin-bottom: 4rem;
    text-align: center;
  }
}
#page-concept .contentstopbox .topbox--center .cap {
  width: 24.4791666667vw;
  margin-inline: auto;
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--center .cap {
    width: 24rem;
    margin-inline: initial;
    margin-right: 5rem;
    margin-left: auto;
  }
}
#page-concept .contentstopbox .topbox--bottom {
  position: relative;
}
#page-concept .contentstopbox .topbox--bottom:before {
  content: "";
  position: absolute;
  width: 11.4583333333vw;
  height: 11.4583333333vw;
  background: url(../../dist/images/concept/topcontents-cap06.jpg) no-repeat center center/contain;
  left: clamp(9rem, 9rem + 220 * (100vw - 1280px) / 640, 31rem);
  top: clamp(9rem, 9rem + 33 * (100vw - 1280px) / 640, 12.3rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--bottom:before {
    width: 12rem;
    height: 12rem;
    left: 0;
    top: -18rem;
  }
}
#page-concept .contentstopbox .topbox--bottom:after {
  content: "";
  position: absolute;
  width: 26.0416666667vw;
  height: 19.2708333333vw;
  background: url(../../dist/images/concept/topcontents-cap07.jpg) no-repeat center center/contain;
  top: clamp(-20.7rem, -10rem - 107 * (100vw - 1280px) / 640, -10rem);
  right: clamp(3rem, 3rem + 20 * (100vw - 1280px) / 640, 5rem);
}
@media (max-width: 768px) {
  #page-concept .contentstopbox .topbox--bottom:after {
    width: 20rem;
    height: 14.9rem;
    right: 0;
    top: -24rem;
  }
}
#page-concept .contentstopbox .topbox--bottom .title {
  position: relative;
  padding-bottom: clamp(7rem, 7.0257611241vw, 9rem);
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
#page-concept .contentstopbox .topbox--bottom .title:after {
  content: "";
  width: 1px;
  height: 6rem;
  background-color: #1A1A1A;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
}
#page-concept .contentstopbox .topbox--bottom .logo {
  display: flex;
  justify-content: center;
  padding-top: clamp(2rem, 3.1225604996vw, 4rem);
}
#page-concept .contentstopbox .topbox--bottom p {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 3;
}
#page-concept .contentstopbox .topbox--bottom p:first-of-type {
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
}
#page-concept .contentstopbox .topbox--bottom p b {
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  line-height: 1.5;
}

/* ======================================
page-concept
====================================== */
body.home #loading {
  position: fixed;
  inset: 0;
  background: #fff;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
body.home #loading .logo {
  width: 20.4rem;
  margin-bottom: 2rem;
  animation: fadeLogo 2s ease-in-out infinite;
}
body.home #loading #count {
  font-size: clamp(2rem, 2.4980483997vw, 3.2rem);
  font-weight: var(--fontsmart);
  font-family: var(--cormorantfont);
}
body.home #loading.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
body.home .loading-inner {
  text-align: center;
}
body.home #wrapper {
  opacity: 0;
  transition: opacity 0.8s ease;
}
body.home #wrapper.is-show {
  opacity: 1;
}
@keyframes fadeLogo {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

.postcontents {
  position: absolute;
  left: 3rem;
  bottom: 14rem;
  z-index: 2;
  color: white;
  text-align: left;
  max-width: 40rem;
}
@media (max-width: 768px) {
  .postcontents {
    max-width: none;
    left: 0;
    right: 0;
    width: calc(100% - 2rem);
    margin: auto;
    bottom: 18rem;
  }
  .postcontents .contents {
    max-width: 26rem;
  }
}
.postcontents .slick-prev, .postcontents .slick-next {
  width: 1.2rem;
  height: 2rem;
  top: 6.8rem;
  transform: translateY(0);
}
@media (max-width: 768px) {
  .postcontents .slick-prev, .postcontents .slick-next {
    width: 5rem;
    height: 5rem;
    top: 4.2rem;
  }
}
.postcontents .slick-prev:before, .postcontents .slick-next:before {
  content: none;
}
.postcontents .slick-prev {
  background: url(../../dist/images/common/arrow-left.svg) no-repeat center center/contain;
  left: auto;
  right: -2rem;
}
@media (max-width: 768px) {
  .postcontents .slick-prev {
    right: -5.4rem;
    background: url(../../dist/images/common/arrow-left.svg) no-repeat center center/1.2rem;
  }
}
.postcontents .slick-prev:hover, .postcontents .slick-prev:focus {
  background: url(../../dist/images/common/arrow-left.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .postcontents .slick-prev:hover, .postcontents .slick-prev:focus {
    background: url(../../dist/images/common/arrow-left.svg) no-repeat center center/1.2rem;
  }
}
.postcontents .slick-next {
  background: url(../../dist/images/common/arrow-right.svg) no-repeat center center/contain;
  right: -4.2rem;
}
@media (max-width: 768px) {
  .postcontents .slick-next {
    background: url(../../dist/images/common/arrow-right.svg) no-repeat center center/1.2rem;
    right: -10rem;
  }
}
.postcontents .slick-next:hover, .postcontents .slick-next:focus {
  background: url(../../dist/images/common/arrow-right.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .postcontents .slick-next:hover, .postcontents .slick-next:focus {
    background: url(../../dist/images/common/arrow-right.svg) no-repeat center center/1.2rem;
  }
}
.postcontents .box .title {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1.5rem;
  font-size: clamp(1.3rem, 1.0928961749vw, 1.4rem);
}
.postcontents .box .title .iconnumber {
  width: 3.5rem;
  border: 1px solid white;
  border-radius: 999.9rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-family: var(--enfont);
}
@media (max-width: 768px) {
  .postcontents .box .title .iconnumber {
    width: 3rem;
    height: 3rem;
    font-size: 1.2rem;
  }
}
.postcontents .box h3 {
  position: relative;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  line-height: 0.7142857143;
  padding-bottom: clamp(1.4rem, 1.4051522248vw, 1.8rem);
  margin-bottom: 0.8rem;
}
@media (max-width: 768px) {
  .postcontents .box h3 {
    font-size: 1.4rem;
  }
}
.postcontents .box h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #1A1A1A;
}
.postcontents .box h3::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: calc(100% / var(--count) * var(--index));
  background: #fff;
  transition: width 0.6s ease;
  z-index: 1;
}
.postcontents .box {
  font-size: clamp(1.1rem, 1.0148321624vw, 1.3rem);
}

/* =========================
  modal base
========================= */
.modalbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modalbox.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* =========================
  overlay（JS生成）
========================= */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 90;
}

.modal-open .modal-overlay {
  opacity: 1;
  visibility: visible;
}

/* =========================
  modal inner
========================= */
.modal-inner {
  position: relative;
  width: 100%;
  max-width: 120rem;
  padding-inline: 2rem;
}

/* close button */
.modal-inner .closebtn {
  position: absolute;
  top: -3.2rem;
  right: 2rem;
  display: block;
  color: #fff;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
  cursor: pointer;
}

/* =========================
  content box
========================= */
.modal-inner .innerbox {
  background: #fff;
  padding: clamp(3rem, 5.4644808743vw, 7rem);
  display: flex;
  flex-direction: row-reverse;
  gap: clamp(3rem, 3.9032006245vw, 5rem);
}
@media (max-width: 1021px) {
  .modal-inner .innerbox {
    padding: 2rem;
    gap: 2rem;
    flex-wrap: wrap;
  }
}

/* image */
.modal-inner .itemcap {
  width: clamp(32rem, 35.1288056206vw, 45rem);
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .modal-inner .itemcap {
    width: 12rem;
  }
}

.modal-inner .itemcap img {
  width: 100%;
  height: auto;
  display: block;
}

/* =========================
  text area
========================= */
.modal-inner .textbox {
  width: calc(100% - clamp(32rem, 35.1288056206vw, 45rem) - clamp(3rem, 3.9032006245vw, 5rem));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .modal-inner .textbox {
    width: calc(100% - 12rem - 2rem);
  }
}

/* title block */
.modal-inner .titlebox .title {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  font-weight: var(--fontbold);
}

.modal-inner .titlebox .job {
  font-size: 1.2rem;
  font-weight: var(--fontsmart);
}

/* copy block */
.modal-inner .copy .text {
  font-size: clamp(2.5rem, 2.4980483997vw, 3.2rem);
  font-weight: var(--fontbold);
  line-height: 2.4375;
  margin-bottom: clamp(0.2rem, 0.3903200625vw, 0.5rem);
}
@media (max-width: 768px) {
  .modal-inner .copy .text {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}

.modal-inner .copy .lead {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.6rem);
  line-height: 1.5555555556;
  font-weight: var(--fontnormal);
}
@media (max-width: 768px) {
  .modal-inner .copy .lead {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

/* article */
.modal-inner .article-content {
  height: 26.2rem;
  overflow-y: scroll;
}
@media (max-width: 768px) {
  .modal-inner .article-content {
    width: calc(100vw - 8rem);
  }
  .modal-inner .article-content h2 {
    line-height: 1.6;
  }
  .modal-inner .article-content h2:first-of-type {
    margin-top: 0;
  }
}

body.modal-open {
  overflow: hidden;
  height: 100vh;
  touch-action: none;
}

/* =========================
  prev / next
========================= */
.modal-prev,
.modal-next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 110;
  background: none;
  border: none;
  cursor: pointer;
  font-size: clamp(2.4rem, 2.0833333333vw, 4rem);
  color: #fff;
  font-weight: var(--fontbold);
}

.modal-prev {
  left: 10px;
}

.modal-next {
  right: 10px;
}

/* =========================
.single-event
========================= */
.single-event .contents .inner {
  max-width: 89rem;
}
.single-event .contents .headbox .cap {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
.single-event .contents .headbox .cap img {
  display: block;
  margin-inline: auto;
}
.single-event .contents .headbox .title {
  font-size: clamp(2.2rem, 2.6541764247vw, 3.4rem);
  font-weight: var(--fontbold);
  line-height: 1.4705882353;
  border-bottom: 1px dashed #808080;
  padding-bottom: clamp(1.5rem, 1.7174082748vw, 2.2rem);
  margin-bottom: clamp(1rem, 0.9367681499vw, 1.2rem);
}
.single-event .contents .headbox .eventlist {
  padding-bottom: 0;
}
.single-event .contents .headbox .eventlist:after {
  content: none;
}
.single-event .contents .headbox .eventlist .data {
  margin-bottom: clamp(2rem, 3.1225604996vw, 4rem);
}
.single-event .contents .headbox .eventlist .data li.box {
  font-size: clamp(1.4rem, 1.1709601874vw, 1.5rem);
  line-height: 1.5333333333;
}
.single-event .contents .headbox .eventlist .point {
  padding: clamp(2rem, 2.3419203747vw, 3rem) clamp(2rem, 4.3715846995vw, 5.6rem) clamp(3rem, 3.5128805621vw, 4.5rem) clamp(2rem, 2.3419203747vw, 3rem);
  border: 1px solid #E6E6E6;
}
.single-event .contents .headbox .eventlist .point ul li {
  font-size: clamp(1.4rem, 1.3270882123vw, 1.7rem);
}
.single-event .contents .headbox .eventlist .point ul li:not(:last-child) {
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
}

/* =========================
#page-case-point
========================= */
#page-case-point .searchcontents .list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-bottom: clamp(2rem, 2.1857923497vw, 2.8rem);
}
#page-case-point .searchcontents .list li {
  background-color: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 3px;
  font-size: 1.2rem;
  min-height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.5rem;
  cursor: pointer;
  transition: 0.5s;
}
#page-case-point .searchcontents .list li:hover {
  background-color: #1A1A1A;
  color: white;
}
#page-case-point .introduction {
  background: none;
  padding: 0;
}
#page-case-point .introduction:before {
  content: none;
}
#page-case-point .introduction .inner {
  max-width: clamp(40rem, 102.2638563622vw, 131rem);
}
#page-case-point .introduction .pickup--list {
  display: flex;
  margin-bottom: 0;
  flex-wrap: wrap;
  border-bottom: none;
  border-top: none;
  list-style: none;
  padding: 0;
  border-right: none;
}
#page-case-point .introduction .pickup--list li {
  box-sizing: border-box;
  border-top: 1px solid #AA9D78;
  border-bottom: 1px solid #AA9D78;
  border-left: 1px solid #AA9D78;
  border-right: none;
  flex: 0 0 25%;
  max-width: 25%;
}
#page-case-point .introduction .pickup--list li:nth-child(4n) {
  border-right: 1px solid #AA9D78;
}
@media (max-width: 1021px) {
  #page-case-point .introduction .pickup--list li {
    flex: 0 0 33.333%;
    max-width: 33.333%;
  }
  #page-case-point .introduction .pickup--list li:nth-child(4n) {
    border-right: none;
  }
  #page-case-point .introduction .pickup--list li:nth-child(3n) {
    border-right: 1px solid #AA9D78;
  }
}
@media (max-width: 768px) {
  #page-case-point .introduction .pickup--list li {
    flex: 0 0 50%;
    max-width: 50%;
  }
  #page-case-point .introduction .pickup--list li:nth-child(3n) {
    border-right: none;
  }
  #page-case-point .introduction .pickup--list li:nth-child(2n) {
    border-right: 1px solid #AA9D78;
  }
}
#page-case-point .js-category-list li {
  cursor: pointer;
}
#page-case-point .js-category-list li.is-active {
  background: #AA9D78;
  color: #fff;
}
#page-case-point .pickup--list.is-loading {
  opacity: 0.4;
  pointer-events: none;
}

/* =========================
.single-case
========================= */
.single-case .contents {
  margin-bottom: clamp(8rem, 7.806401249vw, 10rem);
}
.single-case .contents .inner {
  max-width: 89rem;
}
.single-case .case--box {
  margin-bottom: clamp(7rem, 6.7915690867vw, 8.7rem);
}
@media (max-width: 1021px) {
  .single-case .case--box {
    margin-bottom: 5rem;
  }
}
.single-case .case--box .itemtitle {
  height: 8rem;
  border-radius: 999.9rem;
  font-size: clamp(1.5rem, 1.3270882123vw, 1.7rem);
  line-height: 1.6;
}
.single-case .case--box .title {
  font-size: clamp(2.5rem, 2.6541764247vw, 3.4rem);
  font-weight: var(--fontbold);
  line-height: 1.4705882353;
}
@media (max-width: 1021px) {
  .single-case .case--box .title {
    font-size: 2.2rem;
  }
}
.single-case .case--box .text {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.5625;
  padding-bottom: clamp(2rem, 2.3419203747vw, 3rem);
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
}
.single-case .case--box .text:after {
  content: none;
}
.single-case .contentsbox {
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.875;
  color: white;
}
.single-case .contentsbox:not(:last-of-type) {
  margin-bottom: clamp(6rem, 7.0257611241vw, 9rem);
}
@media (max-width: 1021px) {
  .single-case .contentsbox:not(:last-of-type) {
    margin-bottom: 4rem;
  }
}
.single-case .contentsbox .textbox p:not(:last-of-type) {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
.single-case .contentsbox .loopcap {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.single-case .contentsbox .loopcap li {
  width: calc((100% - 2rem) / 3);
  cursor: pointer;
  position: relative;
}
@media (max-width: 1021px) {
  .single-case .contentsbox .loopcap li {
    aspect-ratio: 1;
  }
}
.single-case .contentsbox .loopcap li:before {
  content: "";
  width: 3rem;
  height: 3rem;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #AA9D79;
}
.single-case .contentsbox .loopcap li:after {
  content: "＋";
  color: white;
  position: absolute;
  right: 0.6rem;
  bottom: 0;
  font-size: 1.5rem;
}
.single-case .contentsbox .loopcap li img {
  width: 100%;
  height: 20rem;
  object-fit: cover;
  display: block;
}
@media (max-width: 1021px) {
  .single-case .contentsbox .loopcap li img {
    height: 100%;
  }
}
.single-case .contentsbox .loopcap--item li {
  width: calc((100% - 1rem) / 2);
  aspect-ratio: 3/2;
  overflow: hidden;
}
.single-case .contentsbox .loopcap--item li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-case .contentsbox--title {
  text-align: center;
  font-family: var(--cormorantfont);
  font-weight: var(--fontbold);
  font-size: clamp(2rem, 2.0296643247vw, 2.6rem);
  color: white;
  border-bottom: 1px solid #AA9D79;
  padding-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
  margin-bottom: clamp(2rem, 2.1857923497vw, 2.8rem);
}
.single-case .contentsbox--voice {
  margin-bottom: clamp(3rem, 4.6838407494vw, 6rem);
}
.single-case .contentsbox--voice .box {
  background-color: white;
  color: #1A1A1A;
  padding: clamp(5rem, 6.6354410617vw, 8.5rem);
  padding-inline: clamp(11rem, 13.2708821233vw, 17rem);
}
@media (max-width: 1021px) {
  .single-case .contentsbox--voice .box {
    padding: 3rem 2rem;
  }
}
.single-case .contentsbox--voice .box .title {
  color: #1A1A1A;
  border-bottom: none;
  padding: 0;
  line-height: 1;
  margin-bottom: clamp(2.5rem, 3.1225604996vw, 4rem);
}

.fixedbanner {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 28rem;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.fixedbanner.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.fixedbanner.is-show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media (max-width: 1021px) {
  .fixedbanner {
    bottom: 10rem;
    width: 20rem;
    right: 1.5rem;
  }
}
.fixedbanner .closebtn {
  margin-left: auto;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #1A1A1A;
  cursor: pointer;
}

.fixedcontact {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 200;
}
@media (max-width: 1021px) {
  .fixedcontact {
    top: auto;
    transform: translateY(0);
    bottom: 0;
    width: 100%;
  }
}
@media (max-width: 1021px) {
  .fixedcontact .box {
    display: flex;
    position: relative;
  }
  .fixedcontact .box:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background-color: #9F926F;
  }
}
.fixedcontact .box .tabs {
  width: 50%;
}
.fixedcontact .box .tabs a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.3rem;
  color: white;
  writing-mode: vertical-rl;
  text-orientation: upright;
  width: 5rem;
  height: 16rem;
  background-color: #9F926E;
  border-radius: 5px 0 0 5px;
  letter-spacing: 0.2em;
}
@media (max-width: 1021px) {
  .fixedcontact .box .tabs a {
    writing-mode: initial;
    width: auto;
    height: 7rem;
    font-size: 1.1rem;
    border-radius: 0;
    background: linear-gradient(#b1a37b 0%, #a59872 100%);
    position: relative;
    flex-direction: column;
  }
  .fixedcontact .box .tabs a:before {
    content: "";
    display: block;
    width: 1.8rem;
    height: 2.1rem;
    background: url(../../dist/images/common/fixed-icon01.svg) no-repeat center center/contain;
    margin-bottom: 0.5rem;
  }
}
.fixedcontact .box .tabs--catalog a {
  background-color: #B0A27A;
}
@media (max-width: 1021px) {
  .fixedcontact .box .tabs--catalog a {
    background: linear-gradient(#a99c76 0%, #9f926e 100%);
  }
  .fixedcontact .box .tabs--catalog a:before {
    width: 2.5rem;
    height: 2rem;
    background: url(../../dist/images/common/fixed-icon02.svg) no-repeat center center/contain;
  }
}
.fixedcontact .box .tabs:not(:last-of-type) {
  margin-bottom: 0.1rem;
}

/* =========================
.optionbox
========================= */
.optionbox .pushbox {
  max-width: 80rem;
  height: 8rem;
  background-color: #F7F7F7;
  border: 1px solid #E6E6E6;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}
@media (max-width: 1021px) {
  .optionbox .pushbox {
    max-width: none;
    margin-inline: 1.2rem;
    height: 7rem;
  }
}
.optionbox .pushbox:after {
  content: "＋";
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  position: absolute;
  right: 2.4rem;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 1021px) {
  .optionbox .pushbox:after {
    right: 1.2rem;
  }
}
.optionbox .pushbox .title .text {
  font-size: clamp(1.4rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontnormal);
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 1021px) {
  .optionbox .pushbox .title .text {
    gap: 1rem;
  }
}
.optionbox .pushbox .title .text:before {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url(../../dist/images/ecolu/iicon.svg) no-repeat center center/contain;
}
@media (max-width: 1021px) {
  .optionbox .pushbox .title .text:before {
    width: 2rem;
    height: 2rem;
  }
}
.optionbox--box {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-block: clamp(3rem, 4.6838407494vw, 6rem);
}
.optionbox--contents {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.3s ease;
}
.optionbox--contents .inner {
  max-width: clamp(40rem, 88.212334114vw, 113rem);
}
@media (max-width: 1021px) {
  .optionbox--contents .inner {
    max-width: none;
  }
}
.optionbox--contents .itemcapbox {
  background-color: white;
  padding: clamp(3rem, 4.6838407494vw, 6rem) clamp(5rem, 7.806401249vw, 10rem);
}
@media (max-width: 1021px) {
  .optionbox--contents .itemcapbox {
    padding: 2rem;
  }
}
.optionbox--contents .bottomtext {
  text-align: center;
  font-size: clamp(1.4rem, 1.4051522248vw, 1.8rem);
  line-height: 1.6666666667;
  font-weight: var(--fontnormal);
  padding-block: clamp(2rem, 2.3419203747vw, 3rem);
}
.optionbox--contents .closebox {
  width: 22rem;
  height: 5rem;
  margin-inline: auto;
  background-color: #F7F7F7;
  border: 1px solid #EBEBEB;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: clamp(1.3rem, 1.1709601874vw, 1.5rem);
}
.optionbox.is-open .pushbox:after {
  content: "ー";
}
.optionbox.is-open .optionbox--contents {
  max-height: 3000rem;
  opacity: 1;
}

/* =========================
.formcontents
========================= */
.formcontents {
  background: url(../../dist/images/common/other-bg.jpg);
  background-size: 22rem;
  padding-top: clamp(10rem, 10.1483216237vw, 13rem);
  position: relative;
}
@media (max-width: 768px) {
  .formcontents {
    padding-top: 6rem;
  }
}
.formcontents:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../../dist/images/common/bg-contact.jpg) no-repeat center top/contain;
}
.formcontents .detailbox {
  background-color: #F7F7F7;
  border: 1px solid #EBEBEB;
  display: flex;
  align-items: flex-start;
  padding: clamp(1.5rem, 2.3419203747vw, 3rem);
  gap: clamp(1.5rem, 1.8735362998vw, 2.4rem);
  margin-bottom: clamp(4.5rem, 6.2451209992vw, 8rem);
}
@media (max-width: 768px) {
  .formcontents .detailbox {
    display: block;
  }
}
.formcontents .detailbox .cap {
  width: clamp(12rem, 12.4902419984vw, 16rem);
  height: clamp(9rem, 9.3676814988vw, 12rem);
}
@media (max-width: 768px) {
  .formcontents .detailbox .cap {
    width: auto;
    height: auto;
    margin-bottom: 2rem;
  }
}
.formcontents .detailbox .cap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.formcontents .detailbox .textbox {
  width: calc(100% - clamp(12rem, 12.4902419984vw, 16rem));
}
@media (max-width: 768px) {
  .formcontents .detailbox .textbox {
    width: auto;
  }
}
.formcontents .detailbox .textbox--title {
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontbold);
  line-height: 1.2777777778;
  border-bottom: 1px solid #D9D9D9;
  position: relative;
  padding-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
  margin-bottom: clamp(0.5rem, 0.7806401249vw, 1rem);
  background: none;
  color: #333333;
  display: block;
  text-align: left;
  height: auto;
}
.formcontents .detailbox .textbox--title .entxt {
  display: block;
  font-family: var(--enfont);
  color: var(--greencolor);
  font-size: clamp(1.1rem, 1.0148321624vw, 1.3rem);
  font-weight: var(--fontnormal);
  margin-bottom: 0.5rem;
}
.formcontents .detailbox .textbox--title:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: #FFFFFF;
}
.formcontents .detailbox .textbox .eventlist {
  padding-bottom: 0;
}
.formcontents .detailbox .textbox .eventlist:after {
  content: none;
}
.formcontents .detailbox .textbox .eventlist .data {
  margin-bottom: 0;
}
.formcontents h3 {
  text-align: center;
  height: clamp(5rem, 6.2451209992vw, 8rem);
  background-color: #B3A57D;
  color: white;
  font-size: clamp(1.8rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .formcontents h3 {
    font-size: 1.6rem;
  }
}
.formcontents .contents {
  background-color: white;
  padding-block: clamp(2.5rem, 3.5128805621vw, 4.5rem) clamp(4.5rem, 7.650273224vw, 9.8rem);
}
@media (max-width: 768px) {
  .formcontents .contents {
    padding-inline: 1.5rem;
  }
  .formcontents .contents .telbox {
    padding-inline: 1.5rem;
  }
  .formcontents .contents .teltext {
    width: auto;
    border: 1px solid #1A1A1A;
  }
}
.formcontents .contents .lead {
  text-align: center;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  line-height: 1.6875;
  margin-bottom: clamp(2.5rem, 3.5128805621vw, 4.5rem);
}
@media (max-width: 768px) {
  .formcontents .contents .lead {
    text-align: left;
    padding-inline: 1.5rem;
  }
}
.formcontents .contents--box {
  max-width: 86rem;
  margin-inline: auto;
}

#page-confirm .article-content ul li:before {
  content: none;
}

.formcontentsbox--confirm {
  max-width: 80rem;
  margin-inline: auto;
  margin-bottom: clamp(6rem, 7.806401249vw, 10rem);
}
.formcontentsbox--confirm .article-content p {
  margin: 0;
}
.formcontentsbox--confirm .article-content li:before {
  content: none;
}
.formcontentsbox--confirm ul {
  margin-bottom: clamp(2.5rem, 2.7322404372vw, 3.5rem);
}
.formcontentsbox--confirm li:before {
  content: none;
}
.formcontentsbox--confirm li .textbox--select:after {
  content: none;
}
.formcontentsbox ul li .wpcf7-not-valid-tip {
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
  padding-top: 0.5rem;
}
.formcontentsbox ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  border-bottom: 1px solid #E6E6E6;
  padding-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
  padding-inline: clamp(1.5rem, 1.9516003123vw, 2.5rem);
}
@media (max-width: 768px) {
  .formcontentsbox ul li {
    display: block;
    padding-inline: initial;
  }
}
.formcontentsbox ul li.item-list {
  align-items: flex-start;
}
.formcontentsbox ul li:not(:last-child) {
  margin-bottom: clamp(1.5rem, 1.5612802498vw, 2rem);
}
.formcontentsbox ul li .title {
  max-width: 32rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  font-weight: var(--fontbold);
}
@media (max-width: 768px) {
  .formcontentsbox ul li .title {
    margin-bottom: 1rem;
    font-size: 1.4rem;
    max-width: none;
  }
}
.formcontentsbox ul li .title small {
  display: block;
  font-size: 1.1rem;
}
.formcontentsbox ul li .item {
  width: 6rem;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: 1.3rem;
  font-weight: var(--fontnormal);
  background-color: var(--greencolor);
}
@media (max-width: 768px) {
  .formcontentsbox ul li .item {
    height: 2rem;
    font-size: 1.1rem;
    width: 4rem;
  }
}
.formcontentsbox ul li .textbox {
  max-width: calc(100% - 32rem - 1.6rem);
  width: 100%;
}
@media (max-width: 768px) {
  .formcontentsbox ul li .textbox {
    max-width: none;
  }
}
.formcontentsbox ul li .textbox--select {
  position: relative;
}
.formcontentsbox ul li .textbox--select:after {
  content: "▼";
  position: absolute;
  right: 1.7rem;
  top: 50%;
  transform: translateY(-50%);
}
.formcontentsbox ul li .textbox--select .wpcf7-select {
  width: 100%;
  padding: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  background-color: #F2F2F2;
  border: 1px solid #AFAFAF;
  border-radius: 3px;
  color: black;
  font-size: clamp(1.4rem, 1.5670910872vw, 1.6rem);
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .formcontentsbox ul li .textbox--select .wpcf7-select {
    max-width: none;
  }
}
.formcontentsbox ul li .textbox .text {
  width: 100%;
  background-color: #F2F2F2;
  border: 1px solid #AFAFAF;
  border-radius: 3px;
  min-height: 4.6rem;
  font-size: clamp(1.6rem, 1.4051522248vw, 1.8rem);
  padding-inline: 1.5rem;
  resize: none;
  padding-block: 1rem;
}
@media (max-width: 768px) {
  .formcontentsbox ul li .textbox .text {
    font-size: 1.4rem;
  }
}
.formcontentsbox ul li .textbox--address {
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.1rem;
  line-height: 2.9090909091;
}
@media (max-width: 768px) {
  .formcontentsbox ul li .textbox--address {
    display: block;
  }
}
.formcontentsbox ul li .textbox--address input.text {
  width: 14rem;
}
.formcontentsbox ::placeholder {
  color: #CCCCCC;
}
.formcontentsbox ::-moz-placeholder {
  color: #CCCCCC;
}
.formcontentsbox :-ms-input-placeholder {
  color: #CCCCCC;
}
.formcontentsbox ::-ms-input-placeholder {
  color: #CCCCCC;
}
.formcontentsbox .checkbox {
  display: block;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
}
.formcontentsbox .checkbox .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.formcontentsbox .checkbox .checkbox-input {
  display: flex;
  align-items: center;
  gap: 2.4rem;
}
@media (max-width: 768px) {
  .formcontentsbox .checkbox .checkbox-input {
    display: block;
  }
}
.formcontentsbox .checkbox .checkbox-input input {
  display: none;
}
.formcontentsbox .checkbox .wpcf7-list-item-label {
  padding-left: 3rem;
  position: relative;
}
.formcontentsbox .checkbox span.wpcf7-list-item {
  margin: 0;
  display: block;
}
@media (max-width: 768px) {
  .formcontentsbox .checkbox span.wpcf7-list-item:not(:last-of-type) {
    margin-bottom: 0.8rem;
  }
}
.formcontentsbox .checkbox .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  border: 1px solid black;
  background-color: #fff;
}
@media (max-width: 768px) {
  .formcontentsbox .checkbox .wpcf7-list-item-label::before {
    top: 0;
  }
}
.formcontentsbox .checkbox .checkbox-input input:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 0.5rem;
  left: 0.7rem;
  width: 0.7rem;
  height: 1.4rem;
  transform: rotate(40deg);
  border-bottom: 3px solid black;
  border-right: 3px solid black;
}
@media (max-width: 768px) {
  .formcontentsbox .checkbox .checkbox-input input:checked + .wpcf7-list-item-label::after {
    top: 0.2rem;
  }
}
.formcontentsbox .item-checkbox {
  margin-block: clamp(2rem, 2.3419203747vw, 3rem);
  max-width: 68rem;
  margin-inline: auto;
  background-color: #F2F2F2;
  border: 1px solid #AFAFAF;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.2rem, 1.0928961749vw, 1.4rem);
}
@media (max-width: 768px) {
  .formcontentsbox .item-checkbox {
    height: 5rem;
    margin-inline: 1.5rem;
  }
}
.formcontentsbox .item-checkbox .txt {
  text-decoration: underline;
}
.formcontentsbox .btnitem {
  display: flex;
  gap: 2rem;
  justify-content: center;
  flex-direction: row-reverse;
}
.formcontentsbox .btnitem .form__btn {
  width: calc(50% - 2rem);
}
.formcontentsbox .btnitem .form__btn:nth-of-type(2) p:after {
  background-color: #8D7C4D;
}
.formcontentsbox .form__btn {
  position: relative;
}
.formcontentsbox .form__btn .wpcf7-form-control {
  background-color: #2DA7B0;
  cursor: pointer;
  height: 10rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: white;
  font-size: clamp(1.6rem, 1.5612802498vw, 2rem);
  font-weight: var(--fontbold);
  border-radius: 0.3rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 768px) {
  .formcontentsbox .form__btn .wpcf7-form-control {
    height: 6rem;
  }
}
.formcontentsbox .form__btn .wpcf7-form-control.wpcf7-previous {
  background-color: #8D7C4D;
}
.formcontentsbox .form__btn p {
  position: relative;
  margin: 0;
}
.formcontentsbox .form__btn p:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #2298A0;
  transform: translateY(0.5rem);
  border-radius: 0 0 0.3rem 0.3rem;
}
.formcontentsbox .form__btn .wpcf7-spinner {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -5rem;
}
.formcontentsbox .form__btn input {
  width: 100%;
  height: 100%;
  cursor: pointer;
  display: block;
}

/* =========================
#page-thanks
========================= */
#page-thanks {
  margin-bottom: clamp(6rem, 7.806401249vw, 10rem);
}
#page-thanks .article-content .inner {
  max-width: 83rem;
}
#page-thanks .article-content .textbox {
  margin-bottom: clamp(2rem, 2.3419203747vw, 3rem);
}
#page-thanks .btn--box {
  margin: auto;
  width: 28rem;
  border: 1px solid #3F5A72;
}

#gallery-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  align-items: center;
  justify-content: center;
}

#gallery-modal.is-active {
  display: flex;
}

.gallery-modal-inner {
  position: relative;
  width: 90%;
  max-width: 1100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gallery-modal-inner .gallery-modal-link {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25rem;
  background-color: white;
  color: #1A1A1A;
  height: 5rem;
  margin-inline: auto;
  font-size: clamp(1.4rem, 1.2490241998vw, 1.6rem);
  border-radius: 999.9rem;
}

.gallery-modal-img-wrap img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  transition: opacity 0.3s ease;
  animation: modalFade 0.3s ease;
}

.gallery-modal-close {
  position: absolute;
  top: -50px;
  right: 0;
  color: #fff;
  font-size: 40px;
  cursor: pointer;
}

.gallery-modal-prev, .gallery-modal-next {
  background: none;
  border: none;
  color: #fff;
  font-size: 40px;
  padding: 20px;
  cursor: pointer;
  transition: opacity 0.3s;
}

.gallery-modal-prev:hover, .gallery-modal-next:hover {
  opacity: 0.5;
}

@keyframes modalFade {
  from {
    opacity: 0;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
/* スマホ対応 */
@media (max-width: 768px) {
  .gallery-modal-prev, .gallery-modal-next {
    position: absolute;
    bottom: -70px;
  }
  .gallery-modal-prev {
    left: 20%;
  }
  .gallery-modal-next {
    right: 20%;
  }
}

/*# sourceMappingURL=main.css.map */
