html {
  font-size: 0.7320644217vw;
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-size: clamp(10.5px, 1.4rem, 14px);
  letter-spacing: 0.05em;
  text-align: justify;
}

.wrap {
  overflow: hidden;
}

.about .wrap {
  overflow: visible;
}

.en {
  font-family: "Outfit", sans-serif;
  word-break: break-word;
}

.header {
  position: fixed;
  width: 100%;
  z-index: 2;
}

.header>.inner {
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  width: 100%;
}

.header>.inner>.inner02 {
  justify-content: space-between;
  padding-bottom: clamp(8px, 3.2rem, 32px);
  padding-top: clamp(8px, 3.2rem, 32px);
}

.header.is-open>.inner>.inner02>.ci {
  opacity: 0;
}

@media screen and (min-width: 1280px) {
  .header {
    background-color: #FFF;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    width: 120px;
    z-index: 1;
  }

  .header>.inner>.inner02>.u-navi {
    left: 50%;
    position: absolute;
    top: 215px;
    transform: translateX(-50%);
  }

  .header>.inner>.inner02>.scroll {
    bottom: 50px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
  }
}

.main {
  background-color: #fff;
}

@media screen and (min-width: 1280px) {
  .main {
    padding-left: 120px;
  }
}

.main-visual {
  margin-bottom: clamp(48px, 6.4rem, 64px);
  position: relative;
}

.main-visual>.inner>.inner02>.box {
  align-items: end;
  bottom: 0;
  position: absolute;
  right: clamp(14px, 2.8rem, 28px);
  transform: translateY(50%);
}

.i-section>.inner>.inner02 {
  padding-bottom: clamp(57.5px, 11.5rem, 115px);
  padding-top: clamp(28.75px, 11.5rem, 115px);
  position: relative;
}

@media screen and (min-width: 900px) {
  .i-section>.inner>.inner02 {
    padding-top: 0;
  }
}

.i-section>.inner>.inner02>.head {
  margin-bottom: clamp(24px, 4.8rem, 48px);
}

.i-section>.inner>.inner02>.txt {
  margin-bottom: clamp(24px, 4.8rem, 48px);
}

@media screen and (min-width: 900px) {
  .i-section>.inner>.inner02>.txt {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 900px) {
  .i-section>.inner>.inner02>.btn {
    bottom: clamp(57.5px, 11.5rem, 115px);
    position: absolute;
    right: 0;
  }
}

.a-section>.inner>.inner02 {
  border-bottom: 1px solid #DDD;
  padding-bottom: clamp(42px, 8.4rem, 84px);
}

.a-section>.inner>.inner02>.head {
  margin-bottom: clamp(24px, 4.8rem, 48px);
}

.a-section>.inner>.inner02>.txt {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .a-section>.inner>.inner02 {
    justify-content: space-between;
  }

  .a-section>.inner>.inner02>.head {
    margin-bottom: 0;
  }

  .a-section>.inner>.inner02>.txt {
    width: auto;
  }
}

.b-section>.inner>.inner02 {
  padding-top: clamp(36px, 12rem, 120px);
}

.b-section>.inner>.inner02>.section-head {
  padding-bottom: clamp(40px, 8rem, 80px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  justify-content: space-between;
}

.b-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(24px, 4.8rem, 48px);
  width: 100%;
}

@media screen and (min-width: 900px) {
  .b-section>.inner>.inner02>.section-head>.head {
    margin-bottom: 0;
    width: auto;
  }
}

.b-section>.inner>.inner02>.section-head>.box {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .b-section>.inner>.inner02>.section-head>.box {
    width: auto;
  }
}

.b-section>.inner>.inner02>.section-head>.box>.txt {
  padding-left: clamp(24px, 4.8rem, 48px);
  width: calc(100% - clamp(221.25px, 29.5rem, 295px));
}

.v-section>.inner>.inner02>.section-head {
  padding-bottom: clamp(40px, 8rem, 80px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  justify-content: space-between;
}

.v-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(24px, 4.8rem, 48px);
  width: 100%;
}

.v-section>.inner>.inner02>.section-head>.txt {
  text-align: center;
  width: 100%;
}

.v-section>.inner>.inner02>.section-head>.box {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .v-section>.inner>.inner02>.section-head>.box {
    width: auto;
  }
}

.v-section>.inner>.inner02>.section-head>.box>.txt {
  padding-left: clamp(24px, 4.8rem, 48px);
  width: calc(100% - clamp(221.25px, 29.5rem, 295px));
}

.service .b-section>.inner>.inner02>.section-head {
  text-align: center;
}

.service .b-section>.inner>.inner02>.section-head>.head {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .service .b-section>.inner>.inner02>.section-head>.head {
    margin-bottom: clamp(24px, 4.8rem, 48px);
  }
}

.service .b-section>.inner>.inner02>.section-head>.txt {
  width: 100%;
}

.w-section>.inner>.inner02 {
  padding-bottom: clamp(40px, 8rem, 80px);
  padding-top: clamp(60px, 12rem, 120px);
}

.w-section>.inner>.inner02>.section-head {
  padding-bottom: clamp(42px, 8.4rem, 84px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  position: relative;
}

.w-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(24px, 4.8rem, 48px);
}

.w-section>.inner>.inner02>.section-head>.txt {
  margin-bottom: clamp(18px, 2.4rem, 24px);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .w-section>.inner>.inner02>.section-head>.txt {
    margin-bottom: 0;
    margin-left: clamp(36px, 4.8rem, 48px);
    width: auto;
    vertical-align: 3.25em;
  }
}

.w-section>.inner>.inner02>.section-head>.btn {
  display: block;
}

@media screen and (min-width: 768px) {
  .w-section>.inner>.inner02>.section-head>.btn {
    position: absolute;
    right: clamp(14px, 2.8rem, 28px);
    top: clamp(7.5px, 1rem, 10px);
  }
}

.works .w-section>.inner>.inner02>.section-body>.list,
.portfolio .w-section>.inner>.inner02>.section-body>.list {
  margin-bottom: clamp(60px, 8rem, 80px);
}

.works .w-section>.inner>.inner02>.section-body>.list>.item,
.portfolio .w-section>.inner>.inner02>.section-body>.list>.item {
  margin-bottom: clamp(30px, 4rem, 40px);
  width: 100%;
}

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

  .works .w-section>.inner>.inner02>.section-body>.list>.item,
  .portfolio .w-section>.inner>.inner02>.section-body>.list>.item {
    margin-right: 15px;
    width: calc(50% - 7.5px);
  }

  .works .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(even),
  .portfolio .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(even) {
    margin-right: 0;
  }
}

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

  .works .w-section>.inner>.inner02>.section-body>.list>.item,
  .portfolio .w-section>.inner>.inner02>.section-body>.list>.item {
    margin-right: 40px;
    width: calc(33.33333% - 26.6666666667px);
  }

  .works .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(even),
  .portfolio .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(even) {
    margin-right: 40px;
  }

  .works .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(3n),
  .portfolio .w-section>.inner>.inner02>.section-body>.list>.item:nth-of-type(3n) {
    margin-right: 0;
  }
}

.l-section {
  background-color: #F6F6F6;
}

.l-section>.inner>.inner02 {
  padding-bottom: clamp(85px, 17rem, 170px);
  padding-top: clamp(60px, 12rem, 120px);
}

.l-section>.inner>.inner02>.head {
  margin-bottom: clamp(25px, 5rem, 50px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.l-section>.inner>.inner02>.list {
  padding-left: clamp(14px, 2.8rem, 28px);
}

.l-section>.inner>.inner02>.txt {
  margin-bottom: clamp(45px, 6rem, 60px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.h-section>.inner>.inner02 {
  background: url(../img/about/back.jpg) no-repeat center center/cover;
  color: #FFF;
  padding-bottom: clamp(26px, 10.4rem, 104px);
  padding-left: clamp(26px, 10.4rem, 104px);
  padding-right: clamp(26px, 10.4rem, 104px);
  padding-top: clamp(26px, 10.4rem, 104px);
  position: relative;
}

@media screen and (min-width: 768px) {
  .h-section>.inner>.inner02 {
    align-items: flex-start;
    justify-content: space-between;
  }
}

.h-section>.inner>.inner02>.s-unit {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .h-section>.inner>.inner02>.s-unit {
    width: auto;
  }
}

.h-section>.inner>.inner02>.s-unit>.head {
  margin-bottom: clamp(26.25px, 3.5rem, 35px);
}

.h-section>.inner>.inner02>.s-unit>.txt {
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.h-section>.inner>.inner02>.s-unit:nth-of-type(1) {
  margin-bottom: clamp(109.5px, 14.6rem, 146px);
}

@media screen and (min-width: 768px) {
  .h-section>.inner>.inner02>.s-unit:nth-of-type(1) {
    margin-bottom: 0;
    position: sticky;
    top: 0;
  }
}

@media screen and (min-width: 1280px) {
  .h-section>.inner>.inner02>.s-unit:nth-of-type(2)>.list>.item>.list {
    width: 448px;
  }
}

.g-section>.inner>.inner02 {
  padding-bottom: clamp(60px, 8rem, 80px);
  padding-top: clamp(60px, 8rem, 80px);
}

.g-section>.inner>.inner02>.box {
  margin-bottom: clamp(60px, 8rem, 80px);
}

.g-section>.inner>.inner02>.box:last-child {
  margin-bottom: 0;
}

.blog-section>.inner>.inner02 {
  padding-bottom: clamp(120px, 16rem, 160px);
  padding-top: clamp(111px, 14.8rem, 148px);
}

.blog-section>.inner>.inner02>.head {
  margin-bottom: clamp(18px, 2.4rem, 24px);
}

.blog-section>.inner>.inner02>.txt {
  margin-bottom: clamp(40px, 8rem, 80px);
}

.blog-section>.inner>.inner02>.list {
  margin-bottom: clamp(60px, 8rem, 80px);
}

.blog-section>.inner>.inner02>.list>.item {
  margin-bottom: clamp(30px, 4rem, 40px);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .blog-section>.inner>.inner02>.list>.item {
    margin-right: 15px;
    width: calc(50% - 7.5px);
  }

  .blog-section>.inner>.inner02>.list>.item:nth-of-type(even) {
    margin-right: 0;
  }
}

@media screen and (min-width: 1280px) {
  .blog-section>.inner>.inner02>.list>.item {
    margin-right: 40px;
    width: calc(33.33333% - 26.6666666667px);
  }

  .blog-section>.inner>.inner02>.list>.item:nth-of-type(even) {
    margin-right: 40px;
  }

  .blog-section>.inner>.inner02>.list>.item:nth-of-type(3n) {
    margin-right: 0;
  }
}

.post-section>.inner>.inner02 {
  padding-bottom: clamp(90px, 12rem, 120px);
}

.post-section>.inner>.inner02>.topics-A {
  margin-bottom: clamp(9px, 1.2rem, 12px);
}

.post-section>.inner>.inner02>.head {
  margin-bottom: clamp(16.5px, 2.2rem, 22px);
}

.post-section>.inner>.inner02>.txt {
  margin-bottom: clamp(12px, 1.6rem, 16px);
}

.post-section>.inner>.inner02>.info-A {
  margin-bottom: clamp(30px, 4rem, 40px);
}

.details-section>.inner>.inner02 {
  padding-bottom: clamp(80px, 16rem, 160px);
  padding-top: clamp(60px, 12rem, 120px);
}

.details-section>.inner>.inner02>.box>.box-unit>.txt-box-A {
  margin-bottom: clamp(32px, 6.4rem, 64px);
}

.gallery-section>.inner>.inner02 {
  padding-bottom: clamp(80px, 16rem, 160px);
  text-align: center;
}

.gallery-section>.inner>.inner02>.section-head {
  margin-bottom: clamp(28px, 5.6rem, 56px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.gallery-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(25px, 5rem, 50px);
}

.gallery-section>.inner>.inner02>.section-body>.list .item>a>.img {
  margin-bottom: 0;
}

.outline-section>.inner>.inner02 {
  padding-bottom: clamp(40px, 8rem, 80px);
  padding-top: clamp(60px, 12rem, 120px);
}

.access-section>.inner>.inner02 {
  padding-bottom: clamp(60px, 12rem, 120px);
}

.open-section>.inner>.inner02 {
  padding-bottom: clamp(80px, 16rem, 160px);
  padding-top: clamp(60px, 12rem, 120px);
}

.open-section>.inner>.inner02>.section-head {
  margin-bottom: clamp(40px, 8rem, 80px);
  text-align: center;
}

.open-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(17.5px, 3.5rem, 35px);
}

.open-section>.inner>.inner02>.box-C {
  margin-bottom: clamp(55.5px, 7.4rem, 74px);
}

.open-section>.inner>.inner02>.box-C:last-child {
  margin-bottom: 0;
}

.open-section>.inner>.inner02>.box-C>.box-unit>.box-E {
  border-bottom: 1px solid #B8B8B8;
}

.open-section>.inner>.inner02>.box-C>.box-unit>.box-E:first-child {
  border-top: 1px solid #B8B8B8;
}

.faq-section {
  background-color: #333;
  color: #FFF;
}

.faq-section>.inner {
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.faq-section>.inner>.inner02 {
  padding-bottom: clamp(80px, 16rem, 160px);
  padding-top: clamp(60px, 12rem, 120px);
}

.faq-section>.inner>.inner02>.section-head {
  margin-bottom: clamp(30px, 6rem, 60px);
}

.faq-section>.inner>.inner02>.section-head>.head {
  margin-bottom: clamp(17.5px, 3.5rem, 35px);
}

.faq-section>.inner>.inner02>.section-head>.txt {
  text-align: center;
  width: 100%;
}

.faq-section>.inner>.inner02>.list {
  margin-bottom: clamp(40px, 8rem, 80px);
}

.faq-section>.inner>.inner02>.txt {
  text-align: center;
}

.faq-section>.inner>.inner02>.txt-C {
  margin-bottom: clamp(12px, 2.4rem, 24px);
}

.faq-section>.inner>.inner02>.txt-A {
  margin-bottom: clamp(16px, 3.2rem, 32px);
}

.faq-section>.inner>.inner02>.btn {
  margin-left: auto;
  margin-right: auto;
}

.contact-section>.inner>.inner02 {
  padding-bottom: clamp(80px, 16rem, 160px);
  padding-top: clamp(60px, 12rem, 120px);
}

.contact-section>.inner>.inner02>.section-head {
  margin-bottom: clamp(40px, 8rem, 80px);
}

.contact-section>.inner>.inner02 .box-G {
  margin-bottom: clamp(29px, 5.8rem, 58px);
}

.contact-section>.inner>.inner02 .check-A {
  margin-bottom: clamp(12px, 2.4rem, 24px);
}

.contact-section>.inner>.inner02 .submit-A {
  margin-left: auto;
  margin-right: auto;
}

.icons-section>.inner>.inner02 {
  padding-bottom: clamp(90px, 12rem, 120px);
  padding-top: clamp(90px, 12rem, 120px);
}

@media screen and (min-width: 1280px) {
  .footer {
    padding-left: 120px;
  }
}

.footer>.inner>.inner02>.c-unit>.unit-inner {
  padding-bottom: clamp(44px, 8.8rem, 88px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  padding-top: clamp(44px, 8.8rem, 88px);
}

.footer>.inner>.inner02>.c-unit>.unit-inner>.head {
  margin-bottom: clamp(120.6px, 26.8rem, 268px);
}

.footer>.inner>.inner02>.f-unit {
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.footer>.inner>.inner02>.f-unit:nth-of-type(2) {
  align-items: flex-start;
  padding-bottom: clamp(57px, 11.4rem, 114px);
  padding-top: clamp(48px, 9.6rem, 96px);
}

.footer>.inner>.inner02>.f-unit:nth-of-type(3) {
  padding-bottom: clamp(70px, 14rem, 140px);
}

.footer>.inner>.inner02>.f-unit:nth-of-type(3)>.f-list {
  margin-bottom: clamp(24px, 4.8rem, 48px);
}

.confirm .contact-section>.inner>.inner02 .box-G,
.contact-confirm .contact-section>.inner>.inner02 .box-G {
  border-top: 1px solid #EEE;
  padding-top: clamp(12px, 2.4rem, 24px);
}

.confirm .contact-section>.inner>.inner02 .box-G .unit-A,
.confirm .contact-section>.inner>.inner02 .box-G .unit-B,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-A,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-B {
  border-bottom: 1px solid #EEE;
  padding-bottom: clamp(12px, 2.4rem, 24px);
}

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

  .confirm .contact-section>.inner>.inner02 .box-G .unit-A,
  .confirm .contact-section>.inner>.inner02 .box-G .unit-B,
  .contact-confirm .contact-section>.inner>.inner02 .box-G .unit-A,
  .contact-confirm .contact-section>.inner>.inner02 .box-G .unit-B {
    width: 100%;
  }
}

.confirm .contact-section>.inner>.inner02 .box-G .unit-A>.label,
.confirm .contact-section>.inner>.inner02 .box-G .unit-B>.label,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-A>.label,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-B>.label {
  padding-left: clamp(15px, 2rem, 20px);
  position: relative;
}

.confirm .contact-section>.inner>.inner02 .box-G .unit-A>.label::before,
.confirm .contact-section>.inner>.inner02 .box-G .unit-B>.label::before,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-A>.label::before,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-B>.label::before {
  background-color: #333;
  border-radius: 50%;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(12px, 1.6rem, 16px);
  left: 0;
  margin: auto 0;
  position: absolute;
  top: 0;
  width: clamp(12px, 1.6rem, 16px);
}

.confirm .contact-section>.inner>.inner02 .box-G .unit-A>.item>.select-A::after,
.confirm .contact-section>.inner>.inner02 .box-G .unit-B>.item>.select-A::after,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-A>.item>.select-A::after,
.contact-confirm .contact-section>.inner>.inner02 .box-G .unit-B>.item>.select-A::after {
  display: none;
}

.confirm .contact-section>.inner>.inner02 .check-A,
.contact-confirm .contact-section>.inner>.inner02 .check-A {
  display: none;
}

.privacy .post-section>.inner>.inner02,
.terms .post-section>.inner>.inner02 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
}

.privacy .post-section>.inner>.inner02>.head,
.terms .post-section>.inner>.inner02>.head {
  margin-bottom: clamp(43.5px, 5.8rem, 58px);
}

.menu {
  height: 32px;
  width: 40px;
  background: #333;
  padding: 8px;
  border-radius: 3px;
}

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

.menu>a {
  position: relative;
}

.menu>a>* {
  background-color: #FFF;
  border-radius: 1px;
  display: block;
  height: 2px;
  position: absolute;
  transition-duration: 0.3s;
  width: 100%;
}

.menu>a>*:nth-child(1) {
  top: 0;
}

.menu>a>*:nth-child(2) {
  bottom: 0;
  margin: auto 0;
  top: 0;
}

.menu>a>*:nth-child(3) {
  bottom: 0;
}

.menu.is-open>a>* {
  background-color: #FFF !important;
}

.menu.is-open>a>*:nth-child(1) {
  bottom: 0;
  margin: auto 0;
  transform: rotate(-45deg);
}

.menu.is-open>a>*:nth-child(2) {
  opacity: 0;
}

.menu.is-open>a>*:nth-child(3) {
  margin: auto 0;
  top: 0;
  transform: rotate(45deg);
}

.menu.is-active>a>* {
  background-color: #333;
}

.g-navi-wrap {
  background-color: rgba(0, 0, 0, 0.9);
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  padding-top: clamp(75px, 10rem, 100px);
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}

.g-navi-wrap.is-open {
  opacity: 1;
  pointer-events: auto;
}

.g-navi-wrap.is-open>.g-navi>.item {
  color: #FFF;
}

@media screen and (min-width: 1280px) {
  .g-navi-wrap {
    background-color: transparent;
    mix-blend-mode: difference;
    opacity: 1;
    height: auto;
    left: auto;
    pointer-events: auto;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    top: auto;
    width: auto;
    /* position: relative; */
    right: 40px;
    top: 32px;
  }
}

/* @media screen and (min-width: 1280px) {
  .g-navi {
    position: fixed;
    right: 40px;
    top: 32px;
    display: block;
    z-index: 1;
  }
} */

.g-navi>.item {
  color: #FFF;
  display: block;
  font-size: clamp(24px, 3.2rem, 32px);
  margin-bottom: clamp(24px, 3.2rem, 32px);
  transition-duration: 0.3s;
  transition-duration: 0.3s;
}

.g-navi>.item:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 1280px) {
  .g-navi>.item {
    display: inline-block;
    font-size: clamp(10.5px, 1.4rem, 14px);
    margin-bottom: 0;
    margin-right: clamp(39px, 5.2rem, 52px);
    position: relative;
  }

  .g-navi>.item:last-child {
    margin-right: 0;
  }
}

.g-navi>.item.item-A>a {
  padding-right: 28px;
  position: relative;
}

.g-navi>.item.item-A>a::after {
  background-color: #FFF;
  bottom: 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  display: block;
  height: 6px;
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transition-duration: 0.3s;
  width: 8px;
}

.g-navi>.item.item-A>.s-navi {
  margin-top: clamp(18px, 2.4rem, 24px);
}

.g-navi>.item.item-A>.s-navi>.item {
  font-size: clamp(14px, 1.4rem, 14px);
  margin-bottom: clamp(18px, 2.4rem, 24px);
  margin-right: clamp(18px, 2.4rem, 24px);
}

@media screen and (min-width: 1280px) {
  .g-navi>.item.item-A>.s-navi>.item {
    margin-right: 0;
  }

  .g-navi>.item.item-A>.s-navi {
    opacity: 0;
    position: absolute;
    transition-duration: 0.3s;
    display: flex;
    flex-direction: column;
    width: 120px;
    right: 0;
    text-align: right;
  }

  .g-navi>.item.item-A>.s-navi.is-active {
    opacity: 1;
  }
}

.g-navi>.item:hover {
  opacity: 0.8;
}

.g-navi.is-active>.item {
  color: #333;
}

.g-navi.is-active>.item.item-A>a::after {
  background-color: #333;
}

.u-navi {
  display: none;
  letter-spacing: 0em;
  writing-mode: vertical-rl;
}

@media screen and (min-width: 1280px) {
  .u-navi {
    display: block;
  }
}

.u-navi>.item {
  margin-bottom: clamp(39px, 5.2rem, 52px);
  transition-duration: 0.3s;
}

.u-navi>.item:last-child {
  margin-right: 0;
}

.u-navi>.item:hover {
  opacity: 0.7;
}

.scroll {
  display: none;
  writing-mode: vertical-rl;
  transition-duration: 0.3s;
}

@media screen and (min-width: 1280px) {
  .scroll {
    display: block;
  }
}

.scroll:hover {
  opacity: 0.7;
}

.head-A {
  display: inline-block;
  position: relative;
}

.head-A>.ja {
  font-size: clamp(30.6px, 7.2rem, 72px);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-align: left;
}

.head-A>.en {
  font-size: clamp(9.35px, 2.2rem, 22px);
  font-weight: 500;
  letter-spacing: 0em;
  line-height: 1.15;
  position: absolute;
  right: clamp(-10px, -4rem, -40px);
  top: 12%;
}

@media screen and (min-width: 900px) {
  .head-A>.en {
    right: clamp(-25px, -5rem, -50px);
  }
}

.head-B>* {
  display: block;
}

.head-B>.en {
  font-size: clamp(47.6px, 6.8rem, 68px);
  font-weight: 600;
  margin-bottom: clamp(6px, 0.8rem, 8px);
}

.head-B>.max {
  font-size: clamp(33.8px, 5.2rem, 52px);
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: clamp(18px, 2.4rem, 24px);
}

.head-B.head-B->.max {
  font-size: clamp(27px, 3.6rem, 36px);
}

.head-C>* {
  display: block;
}

.head-C>.ja {
  font-size: clamp(42px, 5.6rem, 56px);
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: clamp(15px, 2rem, 20px);
}

.head-C.head-C->.ja {
  line-height: 1.5;
}

.head-D {
  text-align: center;
}

.head-D>* {
  display: block;
}

.head-D>.en {
  font-size: clamp(42px, 5.6rem, 56px);
  font-weight: 600;
  margin-bottom: clamp(6px, 0.8rem, 8px);
}

.head-D>.min {
  font-size: clamp(24px, 3.2rem, 32px);
  font-weight: 500;
}

.btn-A {
  border: 1px solid #FFF;
  border-radius: 50%;
  display: block;
  height: clamp(36px, 4.8rem, 48px);
  position: relative;
  width: clamp(36px, 4.8rem, 48px);
}

.btn-A>* {
  background-color: #FFF;
  border-radius: 50%;
  bottom: 0;
  display: block;
  height: 2px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  transition-duration: 0.3s;
  width: 2px;
}

.btn-A>*:nth-of-type(1) {
  transform: translateX(-4px);
}

.btn-A>*:nth-of-type(3) {
  transform: translateX(4px);
}

.btn-B {
  border-bottom: 1px solid #333;
  transition-duration: 0.3s;
}

@media screen and (min-width: 768px) {
  .btn-B {
    width: clamp(120px, 16rem, 160px);
  }
}

.btn-B>a {
  line-height: clamp(24px, 3.2rem, 32px);
  position: relative;
}

.btn-B>a::before {
  background-color: #333;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transition-duration: 0.3s;
  width: clamp(6px, 0.8rem, 8px);
}

.btn-B>a::after {
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(3px, 0.4rem, 4px);
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(-45deg);
  transition-duration: 0.3s;
  width: clamp(3px, 0.4rem, 4px);
}

.btn-B:hover:hover {
  opacity: 0.7;
}

.btn-B:hover>a::before {
  right: clamp(7.5px, 1rem, 10px);
}

.btn-B:hover>a::after {
  right: clamp(7.5px, 1rem, 10px);
}

.btn-B.btn-B- {
  border-color: #FFF;
}

.btn-B.btn-B->a::before {
  background-color: #FFF;
}

.btn-B.btn-B->a::after {
  border-color: #FFF;
}

.btn-C {
  border-bottom: 1px solid #333;
  display: block;
  line-height: clamp(24px, 3.2rem, 32px);
  position: relative;
}

.btn-C>a {
  line-height: clamp(24px, 3.2rem, 32px);
}

.btn-C::before {
  background-color: #333;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transition-duration: 0.3s;
  width: clamp(6px, 0.8rem, 8px);
}

.btn-C::after {
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(3px, 0.4rem, 4px);
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(-45deg);
  transition-duration: 0.3s;
  width: clamp(3px, 0.4rem, 4px);
}

.btn-C:hover::before {
  right: clamp(7.5px, 1rem, 10px);
}

.btn-C:hover::after {
  right: clamp(7.5px, 1rem, 10px);
}

.btn-D>a {
  background-color: #EFEFEF;
  line-height: clamp(60px, 8rem, 80px);
  text-align: center;
  transition-duration: 0.3s;
}

.btn-D>a:hover {
  opacity: 0.75;
}

.local-main-visual {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: clamp(354px, 47.2rem, 472px);
}

.local-main-visual>.inner {
  height: 100%;
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  width: 100%;
}

.local-main-visual>.inner>.inner02 {
  height: 100%;
  position: relative;
  width: 100%;
}

.local-main-visual>.inner>.inner02>.unit {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

.local-main-visual>.inner>.inner02>.unit>.head {
  margin-bottom: clamp(18px, 2.4rem, 24px);
}

.about .local-main-visual {
  background-image: url(../img/about/main.jpg);
}

.service .local-main-visual {
  color: #FFF;
  background-image: url(../img/service/main.jpg);
}

.works .local-main-visual,
.portfolio .local-main-visual {
  color: #FFF;
  background-image: url(../img/works/main.jpg);
}

.details .local-main-visual {
  color: #FFF;
  height: clamp(550.5px, 73.4rem, 734px);
}

.details .local-main-visual>.inner>.inner02>.unit {
  align-items: flex-start;
  bottom: clamp(42px, 5.6rem, 56px);
  position: absolute;
  top: auto;
  transform: translateY(0);
}

.details .local-main-visual>.inner>.inner02>.unit>.unit-inner {
  width: 100%;
}

.details .local-main-visual>.inner>.inner02>.unit>.unit-inner>.head {
  margin-bottom: clamp(22.5px, 3rem, 30px);
}

.details .local-main-visual>.inner>.inner02>.unit>.unit-inner:nth-of-type(1) {
  margin-bottom: clamp(22.5px, 3rem, 30px);
}

@media screen and (min-width: 900px) {
  .details .local-main-visual>.inner>.inner02>.unit>.unit-inner:nth-of-type(1) {
    width: clamp(255px, 34rem, 340px);
  }
}

.details .local-main-visual>.inner>.inner02>.unit>.unit-inner:nth-of-type(2)>.txt {
  line-height: 1.75;
}

@media screen and (min-width: 900px) {
  .details .local-main-visual>.inner>.inner02>.unit>.unit-inner:nth-of-type(2) {
    padding-left: clamp(75px, 10rem, 100px);
    padding-top: clamp(18px, 2.4rem, 24px);
    width: calc(100% - clamp(255px, 34rem, 340px));
  }
}

.company .local-main-visual {
  background-image: url(../img/company/main.jpg);
  color: #FFF;
}

.recruit .local-main-visual {
  background-image: url(../img/recruit/main.jpg);
  background-position: center left -100px;
  color: #000;
}

@media screen and (min-width: 768px) {
  .recruit .local-main-visual {
    background-position: center center;
  }
}

@media screen and (min-width: 768px) {
  .recruit .local-main-visual>.inner>.inner02>.unit>.head {
    color: #000;
  }

  .recruit .local-main-visual>.inner>.inner02>.unit>.txt {
    color: #000;
  }
}

.contact .local-main-visual {
  background-image: url(../img/contact/main.jpg);
}

.list-A {
  height: clamp(290px, 58rem, 580px);
  overflow: hidden;
  width: 100%;
}

.list-A .item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: clamp(290px, 58rem, 580px);
  width: 100%;
}

.list-A-thumb {
  height: clamp(64px, 12.8rem, 128px);
  overflow: hidden;
  width: clamp(104px, 20.8rem, 208px);
}

.list-A-thumb .item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: clamp(64px, 12.8rem, 128px);
  width: 100%;
}

.list-B {
  justify-content: space-between;
}

@media screen and (min-width: 768px) {
  .list-B {
    width: clamp(270px, 36rem, 360px);
  }
}

.list-B>.item {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .list-B>.item {
    max-width: 160px;
    width: 100%;
    width: clamp(120px, 16rem, 160px);
  }

  .list-B>.item:last-child {
    margin-right: 0;
  }
}

.list-C {
  display: grid;
}

@media screen and (min-width: 1280px) {
  .list-C {
    grid-template-rows: 320px 320px;
    grid-template-columns: 60% 1fr;
  }
}

.list-C>.item {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: clamp(320px, 64rem, 640px);
  transition-duration: 0.3s;
  width: 100%;
}

@media screen and (min-width: 1280px) {
  .list-C>.item {
    height: auto;
  }

  .list-C>.item:nth-of-type(1) {
    grid-row: 1/3;
    grid-column: 1/2;
  }

  .list-C>.item:nth-of-type(2) {
    grid-row: 1/2;
    grid-column: 2/3;
  }

  .list-C>.item:nth-of-type(3) {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}

.list-C>.item>a {
  background-color: rgba(0, 0, 0, 0.1);
  color: #FFF;
  position: relative;
}

.list-C>.item>a>.box {
  bottom: clamp(24px, 3.2rem, 32px);
  left: clamp(21px, 2.8rem, 28px);
  position: absolute;
}

.list-C>.item>a>.btn {
  bottom: clamp(21px, 2.8rem, 28px);
  position: absolute;
  right: clamp(21px, 2.8rem, 28px);
}

.list-C>.item:hover {
  opacity: 0.9;
}

.list-C>.item:hover>a>.btn>*:nth-of-type(1) {
  transform: translateX(0);
}

.list-C>.item:hover>a>.btn>*:nth-of-type(3) {
  transform: translateX(0);
}

.list-D {
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .list-D {
    padding-left: 0;
    padding-right: 0;
  }
}

.list-D .item {
  transition-duration: 0.3s;
}

@media screen and (min-width: 768px) {
  .list-D .item {
    margin-left: clamp(12px, 1.6rem, 16px);
    margin-right: clamp(12px, 1.6rem, 16px);
    width: clamp(492px, 65.6rem, 656px);
  }
}

.list-D .item:hover {
  opacity: 0.9;
}

.list-D .item>a>* {
  vertical-align: middle;
}

.list-D .item>a>.img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: clamp(348px, 46.4rem, 464px);
  margin-bottom: clamp(21px, 2.8rem, 28px);
  width: 100%;
}

.list-D .item>a>.txt-C {
  margin-bottom: clamp(12px, 1.6rem, 16px);
  margin-right: clamp(12px, 1.6rem, 16px);
  width: 100%;
}

.list-D .item>a>.txt-B {
  margin-right: clamp(6px, 0.8rem, 8px);
}

.list-D .item>a>.txt-A {
  display: block;
  margin-top: clamp(16.5px, 2.2rem, 22px);
  width: 100%;
}

.list-E {
  opacity: 0;
  overflow: hidden;
}

.list-E .item {
  margin-right: clamp(20px, 4rem, 40px);
  transition-duration: 0.3s;
}

@media screen and (min-width: 768px) {
  .list-E .item {
    width: clamp(252px, 33.6rem, 336px);
  }
}

.list-E .item:hover {
  opacity: 0.75;
}

.list-E .item:hover>a>.btn-C::before {
  right: clamp(7.5px, 1rem, 10px);
}

.list-E .item:hover>a>.btn-C::after {
  right: clamp(7.5px, 1rem, 10px);
}

.list-E .item>a>.img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid #E5E5E5;
  height: clamp(168px, 22.4rem, 224px);
  margin-bottom: clamp(15px, 2rem, 20px);
  width: 100%;
}

.list-E .item>a>.txt-B {
  margin-right: clamp(12px, 1.6rem, 16px);
}

.list-E .item>a>.txt-C {
  display: block;
  margin-bottom: clamp(12px, 1.6rem, 16px);
  margin-top: 4px;
  width: 100%;
}

.list-E .item>a>.txt-A {
  margin-bottom: clamp(18px, 2.4rem, 24px);
}

.list-E .item>a>.btn-C {
  width: clamp(120px, 16rem, 160px);
}

.list-E .item>.sns>.sns-item {
  transition-duration: 0.3s;
}

.list-E .item>.sns>.sns-item:hover {
  opacity: 0.75;
}

.list-E.list-E- .item>a>* {
  vertical-align: middle;
}

.list-E.list-E- .item>a>.txt-C {
  display: inline-block;
  margin-bottom: 0;
  margin-right: clamp(15px, 2rem, 20px);
  margin-top: 0;
  width: auto;
}

.list-E.list-E- .item>a>.txt-A {
  margin-top: clamp(18px, 2.4rem, 24px);
}

.list-E.list-E-- .item:hover {
  opacity: 1;
}

.list-E.list-E-- .item>.img {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border: 1px solid #E5E5E5;
  height: clamp(168px, 22.4rem, 224px);
  margin-bottom: clamp(15px, 2rem, 20px);
  width: 100%;
}

.list-E.list-E-- .item>.txt-B {
  margin-right: clamp(12px, 1.6rem, 16px);
}

.list-E.list-E-- .item>.txt-C {
  display: block;
  margin-bottom: clamp(12px, 1.6rem, 16px);
  margin-top: 4px;
  width: 100%;
}

.list-E.list-E-- .item>.txt-A {
  display: block;
  margin-bottom: clamp(18px, 2.4rem, 24px);
  width: 100%;
}

.list-E.list-E-- .item>.tag-list {
  margin-bottom: clamp(15px, 2rem, 20px);
}

.list-E.list-E-- .item>.btn-C {
  width: clamp(120px, 16rem, 160px);
}

.list-G {
  position: relative;
}

.list-G>.line-B {
  background-color: #FFF;
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 1px;
}

.list-G>.item {
  margin-bottom: clamp(60px, 8rem, 80px);
}

.list-G>.item:last-child {
  margin-bottom: 0;
}

.list-G>.item>.year-A {
  margin-bottom: clamp(24px, 3.2rem, 32px);
  padding-left: clamp(66px, 8.8rem, 88px);
  position: relative;
}

.list-G>.item>.year-A>.dot-A {
  background-color: #FFF;
  border-radius: clamp(3px, 0.4rem, 4px);
  bottom: 0;
  display: block;
  height: clamp(6px, 0.8rem, 8px);
  left: 0;
  position: absolute;
  top: 0.4em;
  transform: translateX(-50%);
  width: clamp(6px, 0.8rem, 8px);
}

.list-G>.item>.txt-C {
  margin-bottom: clamp(6px, 0.8rem, 8px);
  padding-left: clamp(66px, 8.8rem, 88px);
}

.list-G>.item>.txt-A {
  margin-bottom: clamp(15px, 2rem, 20px);
  padding-left: clamp(66px, 8.8rem, 88px);
}

.list-G>.item>.list {
  padding-left: clamp(66px, 8.8rem, 88px);
}

.list-H>.item {
  margin-right: clamp(16px, 3.2rem, 32px);
}

.list-H>.item>* {
  vertical-align: middle;
}

.list-H>.item>.icon {
  height: clamp(13px, 2.6rem, 26px);
  margin-right: clamp(4.5px, 0.6rem, 6px);
  width: auto;
}

.list-I {
  align-items: flex-start !important;
  justify-content: space-between;
}

.list-I>.item {
  border: 1px solid #666;
  margin-bottom: clamp(12px, 2.4rem, 24px);
}

@media screen and (min-width: 900px) {
  .list-I>.item {
    width: calc(50% - 10px);
  }
}

@media screen and (min-width: 1280px) {
  .list-I>.item {
    width: calc(50% - 20px);
  }
}

.list-I>.item:last-child {
  margin-bottom: 0;
}

.list-I>.item>.ques>a {
  padding-bottom: clamp(13.5px, 1.8rem, 18px);
  padding-left: clamp(16px, 3.2rem, 32px);
  padding-right: clamp(16px, 3.2rem, 32px);
  padding-top: clamp(13.5px, 1.8rem, 18px);
  position: relative;
}

.list-I>.item>.ques>a::before {
  background-color: #FFF;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  right: clamp(12px, 1.6rem, 16px);
  top: 0;
  width: 15px;
}

.list-I>.item>.ques>a::after {
  background-color: #FFF;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  right: clamp(12px, 1.6rem, 16px);
  top: 0;
  transform: rotate(90deg);
  transition-duration: 0.3s;
  width: 15px;
}

.list-I>.item>.ques.is-open>a::after {
  transform: rotate(0);
}

.list-I>.item>.answ {
  overflow: hidden;
}

.list-I>.item>.answ>.txt-box-A {
  padding-bottom: clamp(13.5px, 1.8rem, 18px);
  padding-left: clamp(16px, 3.2rem, 32px);
  padding-right: clamp(16px, 3.2rem, 32px);
}

.list-J>.item {
  margin-bottom: clamp(6px, 0.8rem, 8px);
  width: 100%;
}

.list-J>.item:last-child {
  margin-bottom: 0;
}

.list-J>.item>* {
  vertical-align: middle;
}

.list-J>.item>.radio-A {
  margin-right: clamp(6px, 0.8rem, 8px);
}

.list-J>.item>.mwform-radio-field {
  margin-bottom: clamp(3px, 0.4rem, 4px);
  display: block;
}

.list-J>.item>.mwform-radio-field:nth-of-type(3) {
  margin-bottom: 0;
}

.list-K>.item {
  background-color: #FFF;
  left: 50%;
  padding-bottom: clamp(8px, 1.6rem, 16px);
  padding-left: clamp(8px, 1.6rem, 16px);
  padding-right: clamp(8px, 1.6rem, 16px);
  padding-top: clamp(8px, 1.6rem, 16px);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.3s;
  width: 100%;
}

.list-K>.item>img {
  width: 100%;
}

.list-K>.item>.close {
  cursor: pointer;
  height: 20px;
  position: absolute;
  right: 0;
  top: -10px;
  transform: translateY(-100%);
  width: 20px;
}

.list-K>.item>.close::before {
  background-color: #FFF;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  top: 0;
  transform: rotate(-45deg);
  width: 100%;
}

.list-K>.item>.close::after {
  background-color: #FFF;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
  width: 100%;
}

.list-K>.item.is-active {
  opacity: 1;
  pointer-events: auto;
}

.list-L {
  list-style-type: decimal;
}

.list-L>.item {
  line-height: 1.75;
  margin-bottom: clamp(6px, 0.8rem, 8px);
  margin-left: clamp(15px, 2rem, 20px);
}

.list-L>.item:last-child {
  margin-bottom: 0;
}

.list-L>.item>.list-L {
  margin-bottom: clamp(24px, 3.2rem, 32px);
  margin-top: clamp(24px, 3.2rem, 32px);
}

.box-A>.number-A {
  margin-right: clamp(20px, 4rem, 40px);
}

.box-B>.txt-C {
  display: block;
  margin-bottom: clamp(15px, 2rem, 20px);
  width: 100%;
}

.box-B>.txt-A {
  display: block;
  width: 100%;
}

.box-C {
  align-items: flex-end !important;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  max-width: 1280px;
}

.box-C>.txt {
  bottom: 0;
  position: absolute;
  transform: translateY(10%);
  z-index: -1;
}

@media screen and (min-width: 900px) {
  .box-C>.txt {
    bottom: auto;
    right: 0;
    top: 0;
    transform: translateY(0);
  }
}

.box-C>.img {
  margin-bottom: clamp(45px, 9rem, 90px);
}

@media screen and (min-width: 900px) {
  .box-C>.img {
    margin-bottom: 0;
    width: 48%;
  }
}

@media screen and (min-width: 1280px) {
  .box-C>.img {
    width: 592px;
  }
}

.box-C>.box-unit {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .box-C>.box-unit {
    padding-left: clamp(45px, 9rem, 90px);
    width: 52%;
  }
}

@media screen and (min-width: 1280px) {
  .box-C>.box-unit {
    width: calc(100% - 592px);
  }
}

.box-C>.box-unit>.head {
  margin-bottom: clamp(26.25px, 3.5rem, 35px);
}

.box-C>.box-unit>.read {
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.box-C>.box-unit>.txt {
  margin-bottom: clamp(51px, 6.8rem, 68px);
}

.box-C>.box-unit>.txt-box {
  margin-top: clamp(24px, 3.2rem, 32px);
}

.box-C>.box-unit>.txt-box>.txt {
  line-height: 1.75;
}

.box-C>.box-unit>.btn {
  margin-top: clamp(24px, 3.2rem, 32px);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .box-C>.box-unit>.btn {
    width: clamp(135px, 18rem, 180px);
  }
}

@media screen and (min-width: 900px) {
  .box-C.fl->.txt {
    left: 0;
    right: auto;
  }
}

@media screen and (min-width: 900px) {
  .box-C.fl->.box-unit {
    padding-left: 0;
    padding-right: clamp(45px, 9rem, 90px);
  }
}

.box-D {
  align-items: flex-start !important;
}

.box-D>.head {
  margin-bottom: clamp(28px, 5.6rem, 56px);
  width: 100%;
}

@media screen and (min-width: 900px) {
  .box-D>.head {
    width: clamp(288px, 38.4rem, 384px);
  }
}

.box-D>.box-unit {
  width: 100%;
}

@media screen and (min-width: 900px) {
  .box-D>.box-unit {
    width: calc(100% - clamp(288px, 38.4rem, 384px));
  }
}

.box-E {
  justify-content: space-between;
  padding-bottom: clamp(15px, 2rem, 20px);
  padding-top: clamp(15px, 2rem, 20px);
}

.box-E>.position {
  margin-bottom: clamp(10.5px, 1.4rem, 14px);
  width: 100%;
}

.box-E>.position>* {
  vertical-align: middle;
}

.box-E>.position>.txt-C {
  margin-right: clamp(12px, 2.4rem, 24px);
}

.box-E>.txt {
  line-height: 1.5;
  margin-bottom: clamp(15px, 2rem, 20px);
  width: 100%;
}

.box-E>.btn {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .box-E>.btn {
    width: clamp(135px, 18rem, 180px);
  }
}

.box-F {
  gap: 32px;
}

.box-F>.box-inner {
  width: calc(50% - 16px);
}

.box-F>.box-inner>.icon {
  margin-bottom: clamp(6px, 0.8rem, 8px);
}

.box-F>.box-inner>.txt-F {
  margin-bottom: clamp(12px, 1.6rem, 16px);
}

.box-G {
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
}

.box-G>.unit {
  margin-bottom: clamp(12px, 2.4rem, 24px);
}

.box-G>.unit:last-child {
  margin-bottom: 0;
}

.box-G>.unit>.label {
  margin-bottom: clamp(7.5px, 1rem, 10px);
}

.box-G>.unit-A {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .box-G>.unit-A {
    width: calc(50% - 12px);
  }
}

.box-G>.unit-B {
  width: 100%;
}

.box-H {
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 1280px;
}

.box-H>.unit {
  margin-bottom: clamp(20px, 4rem, 40px);
  width: 100%;
}

@media screen and (min-width: 768px) {
  .box-H>.unit {
    margin-bottom: 0;
    width: calc(33.33333% - 26.6666666667px);
  }
}

.box-H>.unit:last-child {
  margin-bottom: 0;
}

.box-H>.unit>* {
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .box-H>.unit>* {
    display: block;
  }
}

.box-H>.unit>.unit-inner {
  width: 80px;
}

@media screen and (min-width: 768px) {
  .box-H>.unit>.unit-inner {
    margin-bottom: clamp(10.5px, 1.4rem, 14px);
    width: 100%;
  }
}

.box-H>.unit>.unit-inner>.item>* {
  display: block;
}

.box-H>.unit>.unit-inner>.item>.icon {
  width: 32px;
}

@media screen and (min-width: 768px) {
  .box-H>.unit>.unit-inner>.item>.icon {
    margin-bottom: clamp(6px, 0.8rem, 8px);
  }
}

.box-H>.unit>.txt {
  width: calc(100% - 80px);
}

@media screen and (min-width: 768px) {
  .box-H>.unit>.txt {
    width: 100%;
  }
}

.box-H>.unit>.link {
  margin-top: clamp(7.5px, 3rem, 30px);
}

.line-A {
  background-color: #888;
  height: 1px;
  margin-left: clamp(6px, 0.8rem, 8px);
  margin-right: clamp(6px, 0.8rem, 8px);
  width: clamp(30px, 4rem, 40px);
}

.img-A {
  width: clamp(221.25px, 29.5rem, 295px);
}

.img-B {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: clamp(552px, 73.6rem, 736px);
  width: 100%;
}

.img-C {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border-radius: 50%;
  height: clamp(48px, 6.4rem, 64px);
  overflow: hidden;
  width: clamp(48px, 6.4rem, 64px);
}

.img-D {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: clamp(240px, 48rem, 480px);
  width: 100%;
}

.txt-A {
  line-height: 1.5;
}

.txt-B {
  border: 1px solid #FFF;
  line-height: clamp(21px, 2.8rem, 28px);
  padding-left: clamp(3.5px, 1.4rem, 14px);
  padding-right: clamp(3.5px, 1.4rem, 14px);
}

.txt-B.txt-B- {
  border-color: #E5E5E5;
  display: inline-block;
}

.txt-B.txt-B-- {
  background-color: #FFF;
  color: #333;
}

.txt-B.txt-B--- {
  background-color: #D9D9D9;
}

.txt-B.txt-B---- {
  padding-left: 0;
  padding-right: 0;
}

.txt-B.txt-B---->a {
  line-height: clamp(21px, 2.8rem, 28px);
  padding-left: clamp(3.5px, 1.4rem, 14px);
  padding-right: clamp(3.5px, 1.4rem, 14px);
}

.txt-C {
  font-size: clamp(16.5px, 2.2rem, 22px);
  font-weight: 500;
  line-height: 1.5;
}

.txt-D {
  font-size: clamp(15px, 2rem, 20px);
  font-weight: 500;
}

.txt-E {
  color: #E5E5E5;
  font-size: clamp(96px, 12.8rem, 128px);
  font-weight: 600;
  letter-spacing: 0.2em;
  line-height: 1.25;
}

@media screen and (min-width: 900px) {
  .txt-E {
    writing-mode: vertical-rl;
  }
}

.txt-F {
  font-size: clamp(15px, 2rem, 20px);
  font-weight: 500;
}

.txt-box-A>.txt {
  margin-bottom: clamp(18px, 2.4rem, 24px);
}

.txt-box-A>.txt:last-child {
  margin-bottom: 0;
}

.table-A {
  border-top: 1px solid #B8B8B8;
}

.table-A>.unit {
  border-bottom: 1px solid #B8B8B8;
  padding-bottom: clamp(15px, 2rem, 20px);
  padding-top: clamp(15px, 2rem, 20px);
}

.table-A>.unit>.label {
  line-height: 1.5;
  width: clamp(153px, 20.4rem, 204px);
}

.table-A>.unit>.item {
  line-height: 1.5;
  width: calc(100% - clamp(153px, 20.4rem, 204px));
}

.c-unit {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c-unit>.unit-inner {
  background-color: rgba(51, 51, 51, 0.9);
  color: #FFF;
}

.f-unit {
  background-color: #333;
  justify-content: space-between;
  color: #FFF;
}

.f-unit>.unit-inner>.ci {
  margin-bottom: clamp(30px, 4rem, 40px);
}

.f-unit>.unit-inner>.txt-A {
  margin-bottom: clamp(12px, 1.6rem, 16px);
}

.f-unit>.unit-inner>.txt-A:last-child {
  margin-bottom: 0;
}

.f-unit>.unit-inner>.list-F {
  margin-right: clamp(30px, 4rem, 40px);
}

.f-unit>.unit-inner>.list-F>.item {
  margin-bottom: clamp(6px, 0.8rem, 8px);
  transition-duration: 0.3s;
}

.f-unit>.unit-inner>.list-F>.item:last-child {
  margin-bottom: 0;
}

.f-unit>.unit-inner>.list-F>.item:hover {
  opacity: 0.75;
}

.f-unit>.unit-inner>.list-F:last-child {
  margin-right: 0;
}

.f-unit>.f-list>.item {
  margin-right: clamp(30px, 4rem, 40px);
  transition-duration: 0.3s;
}

.f-unit>.f-list>.item:hover {
  opacity: 0.75;
}

.f-unit>.f-list>.item:last-child {
  margin-right: 0;
}

.section-A>.inner {
  padding-left: clamp(14px, 2.8rem, 28px);
  padding-right: clamp(14px, 2.8rem, 28px);
}

.section-A.section-A->.inner>.inner02 {
  padding-top: clamp(111px, 14.8rem, 148px);
}

.read-A {
  font-size: clamp(24px, 3.2rem, 32px);
  font-weight: 600;
  line-height: 1.5;
}

.year-A {
  font-size: clamp(24px, 3.2rem, 32px);
}

.topics-A {
  margin-bottom: clamp(9px, 1.2rem, 12px);
}

.topics-A>.item {
  margin-right: clamp(17.25px, 2.3rem, 23px);
  padding-right: clamp(17.25px, 2.3rem, 23px);
  position: relative;
}

.topics-A>.item::after {
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(6px, 0.8rem, 8px);
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(50%) rotate(-45deg);
  width: clamp(6px, 0.8rem, 8px);
}

.topics-A>.item:last-child {
  margin-right: 0;
  padding-right: 0;
}

.topics-A>.item:last-child::after {
  display: none;
}

.info-A {
  justify-content: space-between;
}

.info-B {
  border-bottom: 1px solid #DDD;
  justify-content: space-between;
  margin-bottom: clamp(40px, 8rem, 80px);
  padding-bottom: clamp(79px, 15.8rem, 158px);
}

.outer-A>* {
  vertical-align: middle;
}

.outer-A>.img {
  margin-right: clamp(12px, 1.6rem, 16px);
}

.tag-list>.item {
  margin-right: clamp(6px, 0.8rem, 8px);
}

.tag-list>.item:last-child {
  margin-right: 0;
}

.tag-list>.tag-item {
  margin-right: clamp(6px, 0.8rem, 8px);
  transition-duration: 0.3s;
}

.tag-list>.tag-item:last-child {
  margin-right: 0;
}

.tag-list>.tag-item:hover {
  opacity: 0.75;
}

.article-A>figure {
  margin-bottom: clamp(20px, 8rem, 80px);
}

.article-A>h2 {
  font-size: clamp(24px, 3.2rem, 32px);
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.article-A>p {
  line-height: 1.5;
  margin-bottom: clamp(20px, 8rem, 80px);
}

.article-A>p>strong {
  font-weight: 600;
}

.article-A>blockquote {
  border-left: 4px solid #333;
  color: #666;
  margin-bottom: clamp(20px, 8rem, 80px);
  padding-left: clamp(26.25px, 3.5rem, 35px);
}

.article-A>blockquote>p {
  line-height: 1.5 !important;
}

.article-B>h2 {
  font-size: clamp(24px, 3.2rem, 32px);
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.article-B>h3 {
  font-size: clamp(18px, 2.4rem, 24px);
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.article-B>p {
  line-height: 1.5;
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.article-B>p>strong {
  font-weight: 600;
}

.article-B>.list-L {
  margin-bottom: clamp(24px, 3.2rem, 32px);
}

.map-A {
  height: clamp(420px, 84rem, 840px);
}

.input-A {
  background-color: #EEE;
  line-height: clamp(42px, 5.6rem, 56px);
  padding-left: clamp(6px, 0.8rem, 8px);
  padding-right: clamp(6px, 0.8rem, 8px);
  width: 100%;
}

.textarea-A {
  background-color: #EEE;
  height: clamp(225px, 30rem, 300px);
  padding-bottom: clamp(6px, 0.8rem, 8px);
  padding-left: clamp(6px, 0.8rem, 8px);
  padding-right: clamp(6px, 0.8rem, 8px);
  padding-top: clamp(6px, 0.8rem, 8px);
  width: 100%;
}

.select-A {
  position: relative;
}

.select-A::after {
  background-color: #333;
  bottom: 0;
  content: "";
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
  height: clamp(3.5px, 0.7rem, 7px);
  margin: auto 0;
  pointer-events: none;
  position: absolute;
  right: clamp(12px, 2.4rem, 24px);
  top: 0;
  width: clamp(6px, 1.2rem, 12px);
}

.select-A>select {
  background-color: #EEE;
  line-height: clamp(42px, 5.6rem, 56px);
  padding-left: clamp(6px, 0.8rem, 8px);
  padding-right: clamp(6px, 0.8rem, 8px);
  width: 100%;
}

.radio-A {
  background-color: #EEE;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.radio-A:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #333;
  content: "";
}

.radio-group {
  display: block;
}

.radio-group .wpcf7-list-item {
  display: block;
  margin: 0 0 clamp(3px, 0.4rem, 4px);
}

.radio-group .wpcf7-list-item:last-child {
  margin-bottom: 0;
}

.radio-group .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
}

.radio-group input[type=radio] {
  background-color: #EEE;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: clamp(6px, 0.8rem, 8px);
}

.radio-group input[type=radio]:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #333;
  content: "";
}

.radio-group .wpcf7-list-item-label {
  display: inline-block;
}

.check-A {
  text-align: center;
}

.check-A>* {
  vertical-align: middle;
}

.check-A>.checkbox-A {
  margin-right: clamp(6px, 0.8rem, 8px);
}

.check-A label>* {
  vertical-align: middle;
}

.checkbox-A {
  background-color: #EEE;
  position: relative;
  width: 16px;
  height: 16px;
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.checkbox-A:checked:before {
  position: absolute;
  top: 3px;
  left: 5px;
  transform: rotate(50deg);
  width: 4px;
  height: 8px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  content: "";
}

.submit-A {
  border-bottom: 1px solid #333;
  position: relative;
  transition-duration: 0.3s;
}

@media screen and (min-width: 768px) {
  .submit-A {
    width: clamp(120px, 16rem, 160px);
  }
}

.submit-A.is-blank {
  opacity: 0.5;
}

.submit-A.is-blank:hover {
  opacity: 0.5;
}

.submit-A.is-blank:hover::before {
  right: clamp(0px, 0rem, 0px);
}

.submit-A.is-blank:hover::after {
  right: clamp(0px, 0rem, 0px);
}

.submit-A>input {
  cursor: pointer;
  line-height: clamp(24px, 3.2rem, 32px);
  width: 100%;
}

.submit-A>input.is-disabled {
  cursor: default;
}

.submit-A::before {
  background-color: #333;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transition-duration: 0.3s;
  width: clamp(6px, 0.8rem, 8px);
}

.submit-A::after {
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  bottom: 0;
  content: "";
  display: block;
  height: clamp(3px, 0.4rem, 4px);
  margin: auto 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: rotate(-45deg);
  transition-duration: 0.3s;
  width: clamp(3px, 0.4rem, 4px);
}

.submit-A:hover {
  opacity: 0.75;
}

.submit-A:hover::before {
  right: clamp(7.5px, 1rem, 10px);
}

.submit-A:hover::after {
  right: clamp(7.5px, 1rem, 10px);
}

.link-A>a {
  text-decoration: underline;
  transition-duration: 0.3s;
}

.link-A>a:hover {
  opacity: 0.75;
}

.link-A>a:hover {
  text-decoration: none;
}

.modal {
  background-color: rgba(0, 0, 0, 0.5);
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition-duration: 0.3s;
  width: 100%;
  z-index: 1;
}

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

.modal>.modal-inner {
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
}

.modal-2 {
  background-color: rgba(0, 0, 0, 0.25);
  height: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  transition-duration: 0.3s;
  width: 100%;
  z-index: 3;
}

.modal-2.is-open {
  opacity: 1;
  pointer-events: auto;
}

.modal-2>.unit {
  background-color: #FFF;
  left: 50%;
  height: 500px;
  overflow: scroll;
  opacity: 0;
  pointer-events: none;
  padding: clamp(37.5px, 5rem, 50px);
  padding-left: clamp(30px, 4rem, 40px);
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition-duration: 0.3s;
  width: 90%;
}

.modal-2>.unit.is-open {
  opacity: 1;
  pointer-events: auto;
}

.modal-2>.unit>.table {
  border-top: 1px solid #DDD;
  margin-bottom: clamp(22.5px, 3rem, 30px);
}

.modal-2>.unit>.table>.table-unit {
  border-bottom: 1px solid #DDD;
  align-items: stretch;
}

.modal-2>.unit>.table>.table-unit>* {
  line-height: 1.5;
  padding: clamp(7.5px, 1rem, 10px);
}

.modal-2>.unit>.table>.table-unit>.label {
  background-color: #F5F5F5;
  width: clamp(112.5px, 15rem, 150px);
}

.modal-2>.unit>.table>.table-unit>.item {
  width: calc(100% - clamp(112.5px, 15rem, 150px));
}

.modal-2>.unit>.close {
  height: 15px;
  position: absolute;
  right: clamp(11.25px, 1.5rem, 15px);
  top: clamp(11.25px, 1.5rem, 15px);
  width: 15px;
}

.modal-2>.unit>.close::before {
  bottom: 0;
  background-color: #333;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  top: 0;
  transform: rotate(45deg);
  width: 100%;
}

.modal-2>.unit>.close::after {
  bottom: 0;
  background-color: #333;
  content: "";
  display: block;
  height: 1px;
  margin: auto 0;
  position: absolute;
  top: 0;
  transform: rotate(-45deg);
  width: 100%;
}

.sns-list>.item {
  margin-right: clamp(6px, 0.8rem, 8px);
  width: clamp(24px, 3.2rem, 32px);
  transition-duration: 0.3s;
}

.sns-list>.item:last-child {
  margin-right: 0;
}

.sns-list>.item:hover {
  opacity: 0.75;
}

.error {
  color: #AE0000;
  display: none;
  margin-top: clamp(6px, 0.8rem, 8px);
}

.coming {
  color: #DDD;
  font-size: clamp(96px, 12.8rem, 128px);
  text-align: center;
}

.bl {
  display: block;
  height: 100%;
  width: 100%;
}

.fl {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

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

.ib {
  letter-spacing: -0.4em;
}

.ib>* {
  display: inline-block;
  letter-spacing: 0.05em;
}

.is-hide {
  opacity: 0;
  pointer-events: none;
}

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