@charset "UTF-8";
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 1000px) {
  .is-sp {
    display: none !important;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
  color: #162F3A;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 200px;
}

body {
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 2px;
  background: #fff;
  overflow-x: hidden;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  body {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 16px;
    line-height: 2;
    letter-spacing: normal;
  }
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

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

/*========================
common
========================*/
main {
  background: white;
  position: relative;
}
main.service-main {
  overflow: hidden;
}

.inner {
  margin: 0 auto;
  padding: 0 30px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 30px;
  }
}

@media screen and (max-width: 767px) {
  .section-title {
    text-align: center;
  }
}
.section-title .en {
  font-family: "proxima-soft", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 31.579px;
  /* 112.782% */
  letter-spacing: 0.56px;
  margin-bottom: 8px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .section-title .en {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .section-title .en {
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 1px;
    opacity: 0.5;
    margin-bottom: 5px;
  }
}
.section-title .jp {
  font-size: 40px;
  font-weight: 600;
  line-height: 47.678px;
  /* 119.195% */
  letter-spacing: 0.8px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .section-title .jp {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .section-title .jp {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 2.24px;
  }
}

.btn {
  cursor: pointer;
  text-align: left;
  display: inline-block;
  width: 100%;
  max-width: 403px;
  font-size: 17px;
  font-weight: 600;
  line-height: 46.613px;
  /* 274.196% */
  letter-spacing: 1.36px;
  padding: 14.5px 0px;
  padding-left: 35px;
  border-radius: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn {
    font-size: 14px;
    line-height: 36.666px;
    /* 261.901% */
    letter-spacing: 1.4px;
  }
}
.btn:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.btn::before {
  content: "";
  opacity: 0.2;
  width: 1.427px;
  height: 42.813px;
  position: absolute;
  right: 70px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .btn::before {
    right: 54px;
    height: 38px;
  }
}
.btn::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 31px;
  width: 24.306px;
  height: 24.26px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .btn::after {
    right: 24px;
    width: 20px;
    height: 20px;
  }
}
.btn.btn--color {
  background: #007272;
  color: white;
  border: 1px solid #007272;
}
.btn.btn--color::before {
  background: white;
}
.btn.btn--color::after {
  background: url(../img/arrow-white.svg) no-repeat center center/contain;
}
.btn.btn--color:hover {
  background: transparent;
  color: #007272;
}
.btn.btn--color:hover::before {
  background: #007272;
}
.btn.btn--color:hover::after {
  background: url(../img/arrow-color.svg) no-repeat center center/contain;
}
.btn.btn--single {
  background: #F18C1C;
  border-color: #F18C1C;
  margin: 103px auto;
  display: block;
}
.btn.btn--single:hover {
  color: #F18C1C;
}
@media screen and (max-width: 767px) {
  .btn.btn--single {
    margin: 64px auto;
  }
}
.btn.btn--white {
  background: white;
  color: #162F3A;
  border: 1px solid white;
}
.btn.btn--white::before {
  background: #162F3A;
}
.btn.btn--white::after {
  background: url(../img/arrow-black.svg) no-repeat center center/contain;
}
.btn.btn--white:hover {
  background: transparent;
  color: white;
}
.btn.btn--white:hover::before {
  background: white;
}
.btn.btn--white:hover::after {
  background: url(../img/arrow-white.svg) no-repeat center center/contain;
}
.btn.btn--no-arrow {
  text-align: center;
  padding-left: 0;
}
.btn.btn--no-arrow::after, .btn.btn--no-arrow::before {
  display: none;
}

.center {
  text-align: center;
}

.scroll_down {
  position: fixed;
  bottom: 150px;
  left: 50px;
  z-index: 99;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .scroll_down {
    left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .scroll_down {
    display: none;
  }
  .scroll_down.scroll_down--top {
    display: block;
    position: absolute;
    left: 32px;
  }
}

.scroll_down span {
  position: absolute;
  left: 7px;
  top: 0;
  font-family: "proxima-soft", sans-serif;
  color: #007272;
  font-size: 14px;
  line-height: normal;
  letter-spacing: 0.98px;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
}

.scroll_down:before {
  content: "";
  position: absolute;
  top: 0;
  left: -2.7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #007272;
  -webkit-animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
          animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}

@-webkit-keyframes circlemove {
  0% {
    top: 0px;
  }
  100% {
    top: 100px;
  }
}

@keyframes circlemove {
  0% {
    top: 0px;
  }
  100% {
    top: 100px;
  }
}
@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.scroll_down:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5px;
  height: 100px;
  border-radius: 10px;
  background: #007272;
}

/*========================
page
========================*/
.page-fv {
  background: #F1F7F7;
  position: relative;
  padding-bottom: 1495px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv {
    padding-bottom: 1395px;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv.page-fv--about {
    padding-bottom: 1495px;
  }
}
.page-fv.service-page {
  background: white;
  padding-bottom: 0;
}
.page-fv.page-fv--case {
  padding-bottom: 898px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv.page-fv--case {
    padding-bottom: 820px;
  }
}
.page-fv.page-fv--junbi {
  padding-bottom: 687px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv.page-fv--junbi {
    padding-bottom: 590px;
  }
}
.page-fv.page-fv--news {
  padding-bottom: 530px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv.page-fv--news {
    padding-bottom: 578px;
  }
}
@media screen and (max-width: 767px) {
  .page-fv {
    padding-bottom: 511px !important;
  }
}
.page-fv.service-page {
  padding-bottom: 178px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv.service-page {
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .page-fv.service-page {
    padding-bottom: 40px !important;
  }
}

.page-title {
  text-align: center;
  padding-top: 243px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-title {
    padding-top: 170px;
  }
}
@media screen and (max-width: 767px) {
  .page-title {
    padding-top: 166px;
  }
}
.page-title .en {
  opacity: 0.5;
  font-family: "proxima-soft", sans-serif;
  font-size: 38.103px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 1.143px;
  margin-bottom: 11px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-title .en {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .page-title .en {
    font-size: 20px;
    letter-spacing: 0.6px;
    line-height: 1;
  }
}
.page-title .jp {
  font-size: 64px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 3.84px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-title .jp {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .page-title .jp {
    font-size: 36px;
    letter-spacing: 1.08px;
  }
  .service-page .page-title .jp {
    font-size: 24px;
    line-height: 1.66;
    letter-spacing: 2.16px;
  }
}

.page-fv__bg {
  max-width: 1342px;
  width: 100%;
  position: absolute;
  top: 191px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-fv__bg {
    top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .page-fv__bg {
    top: 99px;
    width: 91.733%;
  }
}
.page-fv__bg img {
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  /* 初期状態として少し小さくする */
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
}

.page-box__outer {
  margin: 0 114px;
  position: relative;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-box__outer {
    margin: 0 60px;
  }
}
@media screen and (max-width: 767px) {
  .page-box__outer {
    margin: 0 10px;
  }
}
.page-box__outer.page-box__outer--full {
  margin: 0;
}
@media screen and (max-width: 767px) {
  .page-box__outer.page-box__outer--full {
    margin: 0 10px;
  }
}

.page-box {
  background: white;
  max-width: 1440px;
  border-radius: 120px 120px 0 0;
  z-index: 1;
  position: relative;
  margin: 0 auto;
  margin-top: -1319px;
  padding: 0 50px;
  -webkit-animation: fadein 1.5s ease;
          animation: fadein 1.5s ease;
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-box {
    padding: 0 30px;
    border-radius: 70px 70px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .page-box {
    border-radius: 36px 36px 0 0;
    padding: 0 20px;
  }
}
.page-box.page-box--full {
  max-width: none;
}
.page-box.page-box--about {
  margin-top: -1436px;
}
.page-box.page-box--case {
  margin-top: -722px;
}
.page-box.page-box--junbi {
  margin-top: -510px;
}
.page-box.page-box--news {
  margin-top: -350px;
}
.page-box.page-box--contact {
  margin-top: -743px;
}
.page-box.page-box--thakns {
  margin-top: -743px;
}
.page-box.service-page {
  margin-top: 0;
  background: transparent;
}
@media screen and (max-width: 767px) {
  .page-box.service-page {
    padding: 0 30px;
    margin-top: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .page-box {
    margin-top: -443px !important;
  }
}

.page-box__inner {
  margin: 0 auto;
}
.page-box__inner.about {
  max-width: 1255px;
  padding-top: 261px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.about {
    padding-top: 70px;
  }
}
.page-box__inner.story {
  max-width: 964px;
  padding-top: 144px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.story {
    padding-top: 59px;
  }
}
.page-box__inner.service {
  max-width: 1290px;
  padding-top: 92px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.service {
    padding-top: 40px;
  }
}
.page-box__inner.service-page-inner {
  max-width: 1004px;
}
.page-box__inner.case {
  max-width: 1140px;
  padding-top: 130px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.case {
    padding-top: 40px;
  }
}
.page-box__inner.junbi-inner {
  padding-top: 186px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.junbi-inner {
    padding-top: 40px;
  }
}
.page-box__inner.news {
  max-width: 1200px;
  padding-top: 144px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.news {
    padding-top: 40px;
  }
}
.page-box__inner.column {
  max-width: 1140px;
  padding-top: 144px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.column {
    padding-top: 65px;
  }
}
.page-box__inner.contact {
  max-width: 800px;
  padding-top: 144px;
}
@media screen and (max-width: 767px) {
  .page-box__inner.contact {
    padding-top: 40px;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .page-box__inner {
    padding-top: 100px !important;
  }
  .page-box__inner.service-page-inner {
    padding-top: 0 !important;
  }
}

/*========================
single
========================*/
.single {
  background: white;
  padding-top: 295px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .single {
    padding-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  .single {
    padding-top: 103px;
  }
}
.single .page-title {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .single .page-title {
    margin-top: 34px;
  }
}
.single .inner {
  max-width: 1004px;
}

.back__outer {
  max-width: 1420px;
}
.service-page .back__outer {
  text-align: left;
  margin-bottom: -52px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .service-page .back__outer {
    margin-bottom: 20px;
    margin-top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .service-page .back__outer {
    margin-bottom: 34px;
    margin-top: -66px;
  }
}
.story-whole .back__outer {
  text-align: left;
  margin-bottom: -52px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story-whole .back__outer {
    margin-bottom: 20px;
    margin-top: -50px;
  }
}
@media screen and (max-width: 767px) {
  .story-whole .back__outer {
    margin-bottom: 34px;
    margin-top: -66px;
  }
}

.back {
  font-size: 18px;
  font-weight: 600;
  line-height: 28.213px;
  letter-spacing: 1.62px;
  vertical-align: middle;
  color: #007272;
  padding-left: 33px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .back {
    font-size: 14px;
    line-height: 28.213px;
    /* 201.524% */
    letter-spacing: 1.4px;
    padding-left: 20px;
  }
}
.back:hover {
  opacity: 0.7;
}
.back img {
  width: 26px;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) scale(-1);
          transform: translateY(-50%) scale(-1);
}
@media screen and (max-width: 767px) {
  .back img {
    width: 15px;
  }
}

.single__head {
  margin-top: 95px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .single__head {
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .single__head {
    margin-top: 59px;
  }
}

.single__category {
  font-size: 18px;
  font-weight: 600;
  line-height: 30.369px;
  /* 168.714% */
  letter-spacing: 0.9px;
  display: inline-block;
  margin-right: 32px;
}
@media screen and (max-width: 767px) {
  .single__category {
    font-size: 14px;
    line-height: 30.369px;
    /* 216.919% */
    letter-spacing: 0.7px;
    margin-right: 11px;
  }
}

.single__date {
  font-size: 18px;
  font-weight: 600;
  line-height: 31.976px;
  /* 177.642% */
  letter-spacing: 1.44px;
  display: inline-block;
  color: #A9A9A9;
}
@media screen and (max-width: 767px) {
  .single__date {
    font-size: 13px;
    line-height: 31.976px;
    /* 245.966% */
    letter-spacing: 1.04px;
  }
}

.single__title {
  font-size: 48px;
  font-weight: 600;
  line-height: 1.83;
  letter-spacing: 4.8px;
  margin-top: 23px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .single__title {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .single__title {
    margin-top: 24px;
    font-size: 24px;
    line-height: 40px;
    /* 166.667% */
    letter-spacing: normal;
  }
}

.single__eyecatch {
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .single__eyecatch {
    margin: 48px 0;
  }
}
.single__eyecatch img {
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .single__eyecatch img {
    border-radius: 12px;
  }
}

.single__content {
  max-width: 800px;
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .single__content {
    margin: 48px 0 0;
  }
}
.single__content h2 {
  font-size: 32px;
  font-weight: 600;
  line-height: 48px;
  /* 150% */
  letter-spacing: 3.2px;
  margin: 48px 0;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .single__content h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .single__content h2 {
    font-size: 20px;
    line-height: 32px;
    /* 160% */
    letter-spacing: normal;
    margin: 16px 0;
  }
}
.single__content p {
  margin: 48px 0;
}
@media screen and (max-width: 767px) {
  .single__content p {
    margin: 16px 0;
  }
}

.single__bottom {
  background: #F1F7F7;
  text-align: center;
  padding: 94px 0;
}
@media screen and (max-width: 767px) {
  .single__bottom {
    padding: 46px 30px;
  }
}

/*========================
animation
========================*/
.fadeup {
  -webkit-transform: translateY(60px);
          transform: translateY(60px);
  -webkit-transition: -webkit-transform 2s ease;
  transition: -webkit-transform 2s ease;
  transition: transform 2s ease;
  transition: transform 2s ease, -webkit-transform 2s ease;
}
.fadeup.show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.fadeinup {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, -webkit-transform 1s ease;
  transition: opacity 1s ease, transform 1s ease;
  transition: opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;
}
.fadeinup.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

@media screen and (max-width: 767px) {
  #loftloader-wrapper.pl-imgloading #loader {
    max-width: 140px !important;
  }
}

.underline {
  position: relative;
}
.underline::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1.5px;
  background: #162F3A;
  bottom: -4px;
  /*アンダーラインがaタグの下端から現れる*/
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
  -webkit-transform-origin: left top;
          transform-origin: left top;
  /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  /*変形の時間*/
}
.underline:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  /*ホバー後、x軸方向に1（相対値）伸長*/
}

/*========================
header
========================*/
.header {
  position: fixed;
  width: 100%;
  top: 64px;
  z-index: 300;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .header {
    top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    top: 31px;
  }
}
.header .inner {
  max-width: 1437px;
}
@media screen and (max-width: 767px) {
  .header .inner {
    padding: 0 20px;
  }
}
.header.active {
  position: fixed;
}

.header__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  position: relative;
  background: white;
  padding: 5px 31px;
  border-radius: 100px;
  -webkit-box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
          box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
@media screen and (max-width: 1190px) {
  .header__flex {
    padding: 14px 31px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .header__flex {
    padding: 5px 31px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .header__flex {
    padding: 0;
    padding-left: 11px;
    -webkit-box-shadow: 0px 3px 12px 0px rgba(100, 100, 111, 0.25);
            box-shadow: 0px 3px 12px 0px rgba(100, 100, 111, 0.25);
  }
}
.header__flex.active {
  background: transparent;
}

.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 245px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .header__logo {
    max-width: 180px;
  }
}
@media screen and (max-width: 767px) {
  .header__logo {
    max-width: 157px;
  }
}
.header__logo .logo-white {
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
}
.header__logo.active .logo-normal {
  opacity: 0;
}
.header__logo.active .logo-white {
  opacity: 1;
}

.header__nav {
  border-radius: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 825px;
  margin-left: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 22px 0;
  gap: 32px;
  font-size: 18px;
  font-weight: 600;
  line-height: 21.18px;
  /* 117.668% */
  letter-spacing: 1.62px;
}
@media screen and (max-width: 1190px) {
  .header__nav {
    display: none;
  }
}
.header__nav .current {
  color: #007272;
}
.header__nav a:hover {
  color: #007272;
}

.drawer {
  background: #007272;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  display: none;
}

.drawer__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 40px 0;
  padding: 160px 32px 0;
  position: absolute;
  width: 100%;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  max-width: 550px;
}
.drawer__items .item {
  color: white;
}
.drawer__items .item .en {
  font-family: "proxima-soft", sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 14.701px;
  /* 91.881% */
  letter-spacing: 0.48px;
  margin-bottom: 12px;
}
.drawer__items .item .jp {
  font-size: 24px;
  font-weight: 600;
  line-height: 21.18px;
  /* 88.251% */
  letter-spacing: 0.72px;
}

.openbtn {
  background: white;
  display: none;
  position: relative;
  margin-left: auto;
  z-index: 200;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  cursor: pointer;
}
.openbtn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  /*アニメーションの設定*/
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 2px;
  border-radius: 4px;
  background: #007272;
  width: 14px;
}
.openbtn span:nth-of-type(1) {
  top: 18px;
}
.openbtn span:nth-of-type(2) {
  top: 23px;
}
.openbtn span:nth-of-type(3) {
  bottom: 18px;
}
.openbtn.active span:nth-of-type(1),
.openbtn.active span:nth-of-type(3) {
  opacity: 0;
}
.openbtn.active span:nth-of-type(2) {
  height: 4px;
  top: 22px;
}
@media screen and (max-width: 1190px) {
  .openbtn {
    display: block;
  }
}

/*========================
footer
========================*/
.main-bottom {
  background: white;
  border-radius: 0px 0px 120px 120px;
  height: 160px;
  -webkit-box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
          box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
  margin-bottom: 456px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .main-bottom {
    margin-bottom: 500px;
  }
}
@media screen and (max-width: 767px) {
  .main-bottom {
    border-radius: 0px 0px 32px 32px;
    margin-bottom: 500px;
  }
}

.footer {
  background: #007272;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: -1;
  padding: 341px 0 80px;
  color: white;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .footer {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 158px 0 100px;
  }
}
.footer .inner {
  max-width: 1020px;
}

.footer__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  padding-left: 20px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .footer__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 50px;
    padding-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .footer__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 32px;
    padding-left: 0;
  }
}

.footer__address .name {
  font-family: "proxima-soft";
  font-weight: 600;
  line-height: 24.429px;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .footer__address .name {
    font-size: 20px;
    line-height: 24.429px;
    /* 122.143% */
    letter-spacing: 2px;
  }
}
.footer__address .address {
  font-size: 16px;
  line-height: 24px;
  /* 150% */
  letter-spacing: 1.6px;
}
@media screen and (max-width: 767px) {
  .footer__address .address {
    font-size: 12px;
    line-height: 16px;
    /* 133.333% */
    letter-spacing: 1.2px;
  }
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 64px;
  font-size: 16px;
  font-weight: 600;
  line-height: 24.429px;
  /* 152.679% */
  letter-spacing: 1.6px;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    font-size: 14px;
    line-height: 14.701px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    /* 105.007% */
    letter-spacing: 0.42px;
    width: 100%;
    max-width: 500px;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav .nav-items:last-child {
    font-size: 11px;
    line-height: 14.701px;
    /* 133.645% */
    letter-spacing: 0.33px;
    text-align: right;
  }
  .footer__nav .nav-items:last-child li:not(:first-child) {
    margin-top: 15px;
  }
}
.footer__nav .nav-items li:not(:first-child) {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .footer__nav .nav-items li:not(:first-child) {
    margin-top: 19px;
  }
}
.footer__nav .nav-items li a:hover {
  color: #F3C900;
}
.footer__nav .external {
  position: relative;
  padding-right: 22px;
}
@media screen and (max-width: 767px) {
  .footer__nav .external {
    padding-right: 19px;
    font-family: "proxima-soft", sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 24.429px;
    /* 187.912% */
    letter-spacing: 1.3px;
  }
}
.footer__nav .external::before {
  content: "";
  background: url(../img/external.svg) no-repeat center center/contain;
  position: absolute;
  width: 14.403px;
  height: 14.403px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
}
@media screen and (max-width: 767px) {
  .footer__nav .external::before {
    width: 9px;
    height: 9px;
  }
}
.footer__nav .external:hover {
  color: white !important;
  opacity: 0.5;
  -webkit-transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
          transition-timing-function: cubic-bezier(0, 0, 0.25, 1);
}

/*========================
privacy
========================*/
.privacy {
  padding-top: 256px;
}
@media screen and (max-width: 767px) {
  .privacy {
    padding-top: 160px;
  }
}
.privacy .privacy__items {
  max-width: 800px;
  margin: 0 auto;
}
.privacy h1 {
  font-size: 64px;
  font-weight: 600;
  line-height: 88.059px;
  /* 137.592% */
  letter-spacing: 3.84px;
  text-align: center;
  position: relative;
  padding-bottom: 32px;
  margin-bottom: 116px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .privacy h1 {
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .privacy h1 {
    font-size: 24px;
    line-height: 21.18px;
    /* 88.251% */
    letter-spacing: 0.72px;
    margin-bottom: 81px;
  }
}
.privacy h1::before {
  content: "";
  background: #007272;
  position: absolute;
  width: 80px;
  height: 3px;
  border-radius: 10px;
  bottom: 0px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.privacy h2 {
  font-size: 32px;
  font-weight: 600;
  line-height: 42.105px;
  /* 131.579% */
  letter-spacing: 1.28px;
  margin-bottom: 24px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .privacy h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .privacy h2 {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 36px;
    /* 180% */
    letter-spacing: 0.8px;
  }
}
.privacy ul {
  list-style: disc;
  padding-left: 1em;
}
.privacy .item {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .privacy .item {
    margin-top: 48px;
  }
}

.tokushoho .item {
  margin-top: 0;
  border-bottom: 1px solid rgba(22, 47, 58, 0.1);
  padding: 64px 0 32px;
}
@media screen and (max-width: 767px) {
  .tokushoho .item {
    padding: 32px 0;
  }
}
.tokushoho h2 {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .tokushoho h2 {
    margin-bottom: 16px;
  }
}

/*========================
top
========================*/
.fv {
  height: 52.202vw;
}
@media screen and (max-width: 767px) {
  .fv {
    height: 172.533vw;
  }
}

.fv__bg {
  overflow: hidden;
  position: relative;
}
.fv__bg .img1 {
  z-index: -1;
  opacity: 0;
  -webkit-transform: scale(1.1) translateX(40px) translateY(-100px);
          transform: scale(1.1) translateX(40px) translateY(-100px);
  /* 初期状態として少し小さくする */
  -webkit-transition: all 2s ease-out;
  transition: all 2s ease-out;
  /* アニメーションの速度とイージングを指定 */
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__bg .img1 {
    -webkit-transform: scale(1.1) translateX(15px) translateY(-20px);
            transform: scale(1.1) translateX(15px) translateY(-20px);
  }
}
@media screen and (max-width: 767px) {
  .fv__bg .img1 {
    -webkit-transform: scale(1) translateX(0px) translateY(0px);
            transform: scale(1) translateX(0px) translateY(0px);
  }
}
.fv__bg .img1.animated {
  opacity: 1;
  -webkit-transform: scale(1.17) translateX(60px) translateY(-110px);
          transform: scale(1.17) translateX(60px) translateY(-110px);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__bg .img1.animated {
    -webkit-transform: scale(1.16) translateX(25px) translateY(-40px);
            transform: scale(1.16) translateX(25px) translateY(-40px);
  }
}
@media screen and (max-width: 767px) {
  .fv__bg .img1.animated {
    -webkit-transform: scale(1.15) translateX(0px) translateY(0px);
            transform: scale(1.15) translateX(0px) translateY(0px);
  }
}
.fv__bg .img2 {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transform: scale(1) translateX(20px) translateY(-80px);
          transform: scale(1) translateX(20px) translateY(-80px);
  /* 初期状態として少し小さくする */
  -webkit-transition: opacity 1s ease-out, -webkit-transform 3.5s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 3.5s ease-out;
  transition: opacity 1s ease-out, transform 3.5s ease-out;
  transition: opacity 1s ease-out, transform 3.5s ease-out, -webkit-transform 3.5s ease-out;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__bg .img2 {
    -webkit-transform: scale(1) translateX(15px) translateY(-20px);
            transform: scale(1) translateX(15px) translateY(-20px);
  }
}
@media screen and (max-width: 767px) {
  .fv__bg .img2 {
    -webkit-transform: scale(0.9) translateX(-10px) translateY(10px);
            transform: scale(0.9) translateX(-10px) translateY(10px);
  }
}
.fv__bg .img2.animated {
  opacity: 1;
  -webkit-transform: scale(1.17) translateX(60px) translateY(-110px);
          transform: scale(1.17) translateX(60px) translateY(-110px);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__bg .img2.animated {
    -webkit-transform: scale(1.16) translateX(25px) translateY(-40px);
            transform: scale(1.16) translateX(25px) translateY(-40px);
  }
}
@media screen and (max-width: 767px) {
  .fv__bg .img2.animated {
    -webkit-transform: scale(1.15) translateX(0px) translateY(0px);
            transform: scale(1.15) translateX(0px) translateY(0px);
  }
}

.fv__text {
  position: absolute;
  top: 46%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding-left: 11.66%;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__text {
    padding-left: 5%;
    top: 50%;
  }
}
@media screen and (max-width: 767px) {
  .fv__text {
    padding-left: 19px;
    top: 212px;
  }
}
.fv__text .jp {
  font-size: 64px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 6.4px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__text .jp {
    font-size: 48px;
    letter-spacing: 4.4px;
  }
}
@media screen and (max-width: 767px) {
  .fv__text .jp {
    font-size: 39.27px;
    line-height: 56.942px;
    /* 145% */
    letter-spacing: 1.571px;
  }
}
.fv__text .en {
  font-family: "proxima-soft", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 1.28px;
  margin-top: 10px;
  margin-left: 9.45px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .fv__text .en {
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  .fv__text .en {
    font-size: 20.617px;
    line-height: 31.416px;
    /* 152.381% */
    letter-spacing: 0.412px;
    margin-top: 8px;
  }
}

/*========================
top-event
========================*/
.top-event {
  position: relative;
  padding: 59px 0 109px;
}
@media screen and (max-width: 767px) {
  .top-event {
    padding: 121px 0 0;
  }
}
.top-event .inner {
  max-width: 1204px;
}

.top-event__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #F1F7F7;
  border-radius: 36px;
  -webkit-box-shadow: 0px 0px 15px 0px rgba(203, 203, 203, 0.25);
          box-shadow: 0px 0px 15px 0px rgba(203, 203, 203, 0.25);
  padding: 40px 80px 40px 75px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-event__box {
    padding: 30px 40px 30px 30px;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .top-event__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: none;
            box-shadow: none;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    border-radius: 0;
    padding: 43px 30px;
  }
}

.top-event__left {
  width: 270px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-event__left {
    width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .top-event__left {
    width: 100%;
  }
}

.top-event__btn {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  /* 66.667% */
  letter-spacing: 1.62px;
  border-radius: 35px;
  border: 1px solid #162F3A;
  padding: 7px 30px 6px 30px;
  display: inline-block;
  margin-top: 17px;
}
.top-event__btn:hover {
  padding: 9px 32px 8px 32px;
  margin: 15px 0 -2px -2px;
  border-color: #007272;
  color: #007272;
}
@media screen and (max-width: 767px) {
  .top-event__btn {
    font-size: 14px;
    line-height: 5.177px;
    /* 36.98% */
    letter-spacing: 1.26px;
    padding: 18px 24px;
    margin-top: 0;
  }
}

.top-event__right {
  width: calc(100% - 270px);
  max-width: 664px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 19px;
  border-top: 1px solid rgba(22, 47, 58, 0.5);
  border-bottom: 1px solid rgba(22, 47, 58, 0.5);
  padding: 23px 0 24px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-event__right {
    width: calc(100% - 200px - 30px);
  }
}
@media screen and (max-width: 767px) {
  .top-event__right {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    border: none;
    padding: 40px 0;
  }
}

.top-event__eyecatch {
  max-width: 208px;
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  .top-event__eyecatch {
    max-width: none;
  }
}
.top-event__eyecatch:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}
.top-event__eyecatch img {
  border-radius: 10px;
  aspect-ratio: 208/102;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-event__content {
    width: 100%;
  }
}
.top-event__content .date {
  font-size: 14px;
  font-weight: 600;
  line-height: 12px;
  /* 85.714% */
  letter-spacing: 0.98px;
}
@media screen and (max-width: 767px) {
  .top-event__content .date {
    font-size: 15px;
    line-height: 1.1;
    letter-spacing: 1.05px;
  }
}
.top-event__content .category {
  color: #FFF;
  text-align: center;
  font-family: "proxima-soft", sans-serif;
  font-size: 10px;
  line-height: 1;
  /* 120% */
  letter-spacing: 0.9px;
  padding: 4px 8px 2px 8px;
  border-radius: 10px;
  background: #007272;
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top-event__content .category {
    font-size: 11px;
    line-height: 1.1;
  }
}
.top-event__content .title {
  display: block;
  font-size: 18px;
  font-weight: 600;
  line-height: 24px;
  /* 133.333% */
  letter-spacing: 1.8px;
  margin: 5px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top-event__content .title {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 24px;
  }
}

/*========================
top-mission
========================*/
.top-mission {
  padding: 70px 0 105px;
}
@media screen and (max-width: 767px) {
  .top-mission {
    padding: 62px 0 102px;
  }
}
.top-mission .section-title {
  text-align: center;
  margin-bottom: 111px;
}
@media screen and (max-width: 767px) {
  .top-mission .section-title {
    margin-bottom: 54px;
  }
}
.top-mission .section-title .en {
  margin-bottom: 24px;
}
.top-mission .section-title .jp {
  font-size: 48px;
  line-height: 1.66;
  letter-spacing: 3.84px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-mission .section-title .jp {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .top-mission .section-title .jp {
    font-size: 28px;
    line-height: 48px;
    /* 171.429% */
    letter-spacing: 0.28px;
  }
}

.top-mission__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  max-width: 1050px;
  margin: 0 auto;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .top-mission__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .top-mission__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}

.top-mission__img {
  max-width: 441px;
}
@media screen and (max-width: 767px) {
  .top-mission__img {
    max-width: 222px;
  }
}

.top-mission__content {
  max-width: 403px;
  width: 100%;
}
.top-mission__content p {
  font-size: 24px;
  font-weight: 600;
  line-height: 48px;
  /* 200% */
  letter-spacing: 2.4px;
  margin-bottom: 54px;
}
@media screen and (max-width: 767px) {
  .top-mission__content p {
    text-align: center;
    font-size: 18px;
    line-height: 40px;
    /* 222.222% */
    letter-spacing: 1.8px;
  }
}

/*========================
top-service
========================*/
.top-service {
  overflow: hidden;
  padding: 227px 0 240px;
}
@media screen and (max-width: 767px) {
  .top-service {
    padding: 170px 0 24px;
  }
}
.top-service .inner {
  max-width: 1050px;
}
@media screen and (max-width: 767px) {
  .top-service .inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-service .section-title .en {
    opacity: 1;
  }
}

.top-service__flex {
  background: #F3C900;
  border-radius: 0px 500px 500px 0px;
  margin-left: calc(50% - 50vw);
  padding-left: calc(50vw - 50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .top-service__flex .section-title {
    text-align: left;
  }
}
.top-service__flex .content {
  color: white;
  padding: 103px 0;
}
@media screen and (max-width: 767px) {
  .top-service__flex .content {
    padding: 0 0 220px;
  }
}
.top-service__flex .content p {
  margin: 40px 0 65px;
  max-width: 382px;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  /* 160% */
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .top-service__flex .content p {
    font-size: 16px;
    line-height: 32px;
    /* 200% */
    letter-spacing: 0.16px;
    margin: 22px 0 41px;
  }
}
.top-service__flex .img {
  margin-top: -92px;
  margin-right: -122px;
  max-width: 635px;
  width: 100%;
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
}
.top-service__flex .img img {
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .top-service__flex .btn {
    max-width: 265px;
  }
}
@media screen and (max-width: 1300px) {
  .top-service__flex {
    gap: 30px;
  }
  .top-service__flex .img {
    margin-right: -20px;
    width: 60%;
    margin-top: -60px;
  }
}
@media screen and (max-width: 767px) {
  .top-service__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: 0;
    padding-left: 0;
    padding: 0 30px;
    gap: 17px;
  }
  .top-service__flex .img {
    margin-top: -120px;
    margin-right: 0;
    width: 102.933vw;
  }
}

/*========================
top-news
========================*/
.top-news {
  background: #F1F7F7;
  padding: 104px 0 85px;
}
@media screen and (max-width: 767px) {
  .top-news {
    background: transparent;
    padding: 0 0 103px;
  }
}
.top-news .inner {
  max-width: 1222px;
}
@media screen and (max-width: 767px) {
  .top-news .btn {
    max-width: 265px;
  }
}

.top-news__items {
  max-width: 894px;
  margin: 60px auto 96px;
}
@media screen and (max-width: 767px) {
  .top-news__items {
    margin: 40px auto 48px;
  }
}
.top-news__items .item {
  display: block;
  border-radius: 10px;
  background: #FFF;
  -webkit-box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.15);
          box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.15);
  padding: 32px 48px;
}
@media screen and (max-width: 767px) {
  .top-news__items .item {
    padding: 12px 16px;
  }
}
.top-news__items .item:not(:first-child) {
  margin-top: 24px;
}
.top-news__items .date {
  color: #A9A9A9;
  font-size: 16px;
  font-weight: 600;
  line-height: 19px;
  /* 118.75% */
  letter-spacing: 1.28px;
}
@media screen and (max-width: 767px) {
  .top-news__items .date {
    font-size: 12px;
    line-height: 19px;
    /* 158.333% */
    letter-spacing: 0.96px;
  }
}
.top-news__items .title {
  display: block;
  font-weight: 600;
  line-height: 32px;
  /* 160% */
  letter-spacing: 1.8px;
  margin: 15px 0 10px;
}
@media screen and (max-width: 767px) {
  .top-news__items .title {
    font-size: 16px;
    line-height: 24px;
    /* 150% */
    letter-spacing: 1.6px;
    margin: 8px 0;
  }
}
.top-news__items .title:hover {
  color: #007272;
}
.top-news__items .title:hover::after {
  background: #007272;
  bottom: -2px;
}
.top-news__items .category {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  line-height: 16.087px;
  /* 100.543% */
  letter-spacing: 1.12px;
  border: 1px solid #007272;
  border-radius: 30px;
  color: #007272;
  padding: 10px 16px;
}
@media screen and (max-width: 767px) {
  .top-news__items .category {
    font-size: 12px;
    line-height: 16.087px;
    /* 134.058% */
    letter-spacing: 0.84px;
    padding: 6px 12px;
  }
}

/*========================
top-case
========================*/
.top-case {
  padding: 346px 0 240px;
}
@media screen and (max-width: 767px) {
  .top-case {
    padding: 120px 0 64px;
  }
}
.top-case .inner {
  max-width: 1050px;
}
@media screen and (max-width: 767px) {
  .top-case .inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .top-case .section-title .en {
    opacity: 1;
  }
}

.top-case__flex {
  margin-right: calc(50% - 50vw);
  margin-left: 0;
  padding-right: calc(50vw - 50%);
  padding-left: 0;
  border-radius: 500px 0px 0px 500px;
  background: #93B71F;
}
.top-case__flex .img {
  margin-top: -92px;
  margin-left: -122px;
}
@media screen and (max-width: 1300px) {
  .top-case__flex {
    gap: 30px;
  }
  .top-case__flex .img {
    margin-left: -20px;
    width: 60%;
    margin-top: -60px;
  }
}
@media screen and (max-width: 767px) {
  .top-case__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-right: 0;
    margin-right: 0;
    gap: 17px;
  }
  .top-case__flex .img {
    margin-top: -120px;
    margin-left: -55px;
    width: 102.933vw;
  }
  .top-case__flex .content {
    padding-left: 80px;
    padding-right: 20px;
  }
}

/*========================
cta-contact
========================*/
.cta-contact {
  background: #F1F7F7;
  padding: 104px 0;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .cta-contact {
    padding: 41px 0 45px;
  }
}
.cta-contact .btn {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .cta-contact .btn {
    margin-top: 40px;
    max-width: 256px;
  }
}

/*========================
about
========================*/
.about {
  position: relative;
}

.about__menu {
  position: absolute;
  font-family: "proxima-soft", "dnp-shuei-mgothic-std", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 30.075px;
  /* 136.705% */
  letter-spacing: 1.1px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__menu {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .about__menu {
    display: none;
  }
}
.about__menu.fixed {
  position: fixed;
  top: 200px;
}
.about__menu.bottom {
  position: absolute;
  bottom: 0;
  top: inherit;
}
.about__menu li:first-child {
  font-size: 24px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__menu li:first-child {
    font-size: 18px;
  }
}
.about__menu li:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__menu li:not(:first-child) {
    margin-top: 20px;
  }
}
.about__menu a {
  padding-left: 28px;
  display: inline-block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  position: relative;
}
.about__menu a::before {
  content: "";
  background: #007272;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  position: absolute;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__menu a::before {
    width: 10px;
    height: 10px;
  }
}
.about__menu a.active {
  color: #007272;
}
.about__menu a.active::before {
  opacity: 1;
}

.about__content {
  padding-left: 315px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__content {
    padding-left: 200px;
  }
}
@media screen and (max-width: 767px) {
  .about__content {
    padding-left: 0;
  }
}
.about__content .big {
  font-size: 48px;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 3.84px;
  margin: 55px 0 48px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about__content .big {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .about__content .big {
    font-size: 24px;
    letter-spacing: 2.2px;
    line-height: 1.66;
    margin: 24px 0 22px;
  }
}

.about-mission,
.about-message,
.about-advisor {
  border-bottom: 1px solid rgba(22, 47, 58, 0.3);
}
.about-mission h2,
.about-message h2,
.about-advisor h2 {
  font-family: "proxima-soft", "dnp-shuei-mgothic-std", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 18.045px;
  /* 82.023% */
  letter-spacing: 2.2px;
  color: #007272;
}
@media screen and (max-width: 767px) {
  .about-mission h2,
  .about-message h2,
  .about-advisor h2 {
    font-size: 20px;
    line-height: 30.075px;
    /* 167.084% */
    letter-spacing: 1.26px;
  }
}

.about-mission {
  padding-bottom: 48px;
}

.about-message {
  padding: 70px 0 44px;
}
@media screen and (max-width: 767px) {
  .about-message {
    padding: 48px 0 40px;
  }
}
.about-message .photo {
  margin: 140px 0 78px;
}
@media screen and (max-width: 767px) {
  .about-message .photo {
    margin: 40px 0;
  }
}
.about-message .photo img {
  border-radius: 36px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .about-message .photo img {
    aspect-ratio: 314/197;
  }
}
.about-message .profile {
  border-radius: 36px;
  border: 1.698px solid #E5E5E5;
  padding: 49.241px 44.147px;
  margin-bottom: 68px;
}
@media screen and (max-width: 767px) {
  .about-message .profile {
    padding: 22px 16px;
    border-radius: 12px;
    margin-bottom: 40px;
  }
}
.about-message .profile h3 {
  font-family: "proxima-soft", "dnp-shuei-mgothic-std", sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 37.64px;
  /* 127.667% */
  letter-spacing: 1.2px;
  margin-bottom: 27px;
}
.about-message .profile h3 span {
  font-size: 26px;
}
@media screen and (max-width: 767px) {
  .about-message .profile h3 {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.7px;
  }
  .about-message .profile h3 span {
    font-size: 16px;
  }
}
.about-message .profile p {
  line-height: 32px;
  /* 160% */
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .about-message .profile p {
    font-size: 14px;
    letter-spacing: normal;
    line-height: 28px;
    /* 200% */
  }
}

.about-advisor {
  padding: 70px 0 56px;
}
@media screen and (max-width: 767px) {
  .about-advisor {
    padding: 48px 0 40px;
  }
}
.about-advisor .about-advisor__list .item {
  margin: 56px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
}
@media screen and (max-width: 1160px) {
  .about-advisor .about-advisor__list .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 40px 0;
    gap: 24px;
  }
}
.about-advisor .about-advisor__list .item:last-child {
  margin-bottom: 0;
}
.about-advisor .about-advisor__list .left {
  width: 40%;
}
@media screen and (max-width: 1160px) {
  .about-advisor .about-advisor__list .left {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .left {
    width: 100%;
  }
}
.about-advisor .about-advisor__list .right {
  width: 60%;
}
@media screen and (max-width: 1160px) {
  .about-advisor .about-advisor__list .right {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .right {
    width: 100%;
  }
}
@media screen and (max-width: 1160px) {
  .about-advisor .about-advisor__list .photo {
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .photo {
    max-width: none;
  }
}
.about-advisor .about-advisor__list .photo img {
  border-radius: 36px;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-advisor .about-advisor__list .profile {
  border-left: 3px solid #93B71F;
  padding: 8px 0;
  padding-left: 12px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .profile {
    margin-top: 16px;
  }
}
.about-advisor .about-advisor__list .profile.profile2 {
  border-left: 3px solid #F18C1C;
}
.about-advisor .about-advisor__list .profile .name {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .profile .name {
    font-size: 20px;
  }
}
.about-advisor .about-advisor__list .profile p {
  font-size: 18px;
  letter-spacing: 1px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .about-advisor .about-advisor__list .profile p {
    font-size: 14px;
  }
}

.about-about {
  padding: 180px 0;
}
@media screen and (max-width: 767px) {
  .about-about {
    padding: 80px 0;
  }
}
.about-about .big {
  margin: 0;
  font-size: 44px;
  line-height: 18.045px;
  /* 41.012% */
  letter-spacing: 4.4px;
  margin-bottom: 38px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-about .big {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .about-about .big {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1.6px;
    color: #007272;
    margin-bottom: 0;
  }
}

.about-about__table .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
  border-bottom: 1px solid rgba(22, 47, 58, 0.21);
  padding: 41px 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  /* 160% */
  letter-spacing: 1.6px;
}
@media screen and (max-width: 767px) {
  .about-about__table .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 13px;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 1.12px;
    padding: 20px 0;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-about__table .item {
    font-size: 16px;
    gap: 40px;
  }
}
.about-about__table .head {
  max-width: 130px;
  width: 100%;
}
.about-about__table .body {
  max-width: 551px;
  width: 100%;
}
.about-about__table .body span {
  font-family: "proxima-soft", sans-serif;
  font-size: 22px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-about__table .body span {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .about-about__table .body span {
    font-size: 16px;
  }
}

.about-history__table .item {
  font-size: 24px;
  font-weight: 600;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  min-height: 170px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-history__table .item {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .about-history__table .item {
    min-height: 82px;
    margin-bottom: 32px;
  }
  .about-history__table .item:last-child {
    margin-bottom: 0;
  }
  .about-history__table .item:last-child .circle::before {
    height: 80px;
  }
  .about-history__table .item:nth-child(2) {
    min-height: 50px;
  }
}
.about-history__table .month {
  line-height: 1.3;
  letter-spacing: 0.72px;
  width: 150px;
  margin-right: 18px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-history__table .month {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  .about-history__table .month {
    width: 62px;
    font-size: 16px;
    line-height: 22.719px;
    /* 141.992% */
    letter-spacing: 1.6px;
    text-align: right;
    margin-right: 16px;
  }
}
.about-history__table .circle {
  margin-top: 5px;
  width: 21px;
  height: 21px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 37px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-history__table .circle {
    width: 16px;
    height: 16px;
    margin-right: 16px;
  }
}
.about-history__table .circle::before {
  content: "";
  background: #e5f1f1;
  position: absolute;
  width: 2.84px;
  height: 170px;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .about-history__table .circle::before {
    height: 140px;
  }
}
.about-history__table .text {
  width: calc(100% - 150px - 18px - 21px - 37px);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-history__table .text {
    width: calc(100% - 120px - 18px - 21px - 37px);
  }
}
@media screen and (max-width: 767px) {
  .about-history__table .text {
    width: calc(100% - 62px - 16px - 16px - 16px);
    font-size: 0;
  }
}
.about-history__table .text p {
  line-height: 1.3;
  letter-spacing: 1.92px;
  margin-right: -60px;
}
@media screen and (max-width: 767px) {
  .about-history__table .text p {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 25px;
    /* 156.25% */
    letter-spacing: 1.12px;
    margin-right: 0;
  }
}
.about-history__table .text p span {
  font-family: "proxima-soft", sans-serif;
  font-size: 26px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-history__table .text p span {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .about-history__table .text p span {
    font-size: 18px;
  }
}
.about-history__table .text a {
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 1.6px;
  color: #007272;
  position: relative;
  display: inline-block;
  padding-right: 32px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .about-history__table .text a {
    font-size: 15px;
    margin-top: 8px;
  }
}
@media screen and (max-width: 767px) {
  .about-history__table .text a {
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.96px;
    padding-right: 15px;
    margin-top: 7px;
  }
}
.about-history__table .text a::before {
  content: "";
  background: url(../img/external2.svg) no-repeat center center/contain;
  position: absolute;
  width: 18px;
  height: 18px;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .about-history__table .text a::before {
    width: 11px;
    height: 11px;
  }
}
.about-history__table .text a:hover {
  opacity: 0.6;
}

/*========================
story
========================*/
.story-whole {
  overflow: hidden;
}

.story {
  padding-bottom: 104px;
}
@media screen and (max-width: 767px) {
  .story {
    padding-bottom: 64px;
  }
}
.story p {
  max-width: 922px;
  margin: 0 auto;
}
.story p.text2 {
  max-width: 894px;
}

.story__img1 {
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .story__img1 {
    margin-bottom: 48px;
  }
}
.story__img1 img {
  border-radius: 36px;
}
@media screen and (max-width: 767px) {
  .story__img1 img {
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 315/197;
  }
}

.story__items {
  max-width: 933px;
  margin: 0 auto;
}
.story__items .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 64px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 124px 0;
}
.story__items .item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .story__items .item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .story__items .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 48px 0;
  }
}
.story__items .img {
  max-width: 338px;
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story__items .img {
    max-width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .story__items .img {
    max-width: 256px;
    margin: 0 auto;
  }
}
.story__items .content {
  width: calc(100% - 338px - 64px);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story__items .content {
    width: calc(100% - 200px - 64px);
  }
}
@media screen and (max-width: 767px) {
  .story__items .content {
    width: 100%;
  }
}

.story__img3 {
  max-width: 906px;
  margin: 124px auto 0;
  height: 923px;
  position: relative;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story__img3 {
    height: 705px;
  }
}
@media screen and (max-width: 767px) {
  .story__img3 {
    margin: 48px auto 0;
    height: 408px;
  }
}
.story__img3 .img {
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
  max-width: 525px;
  position: absolute;
}
.story__img3 .img img {
  border-radius: 36px;
}
.story__img3 .img3-1 {
  top: 0;
  left: 0;
  width: 60%;
}
@media screen and (max-width: 767px) {
  .story__img3 .img3-1 {
    width: 64.267vw;
    left: -57px;
  }
}
.story__img3 .img3-2 {
  right: 0;
  top: 256px;
  width: 60%;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story__img3 .img3-2 {
    top: 226px;
  }
}
@media screen and (max-width: 767px) {
  .story__img3 .img3-2 {
    width: 45.067vw;
    top: 137px;
    right: -57px;
  }
}
.story__img3 .img3-3 {
  width: 60%;
  max-width: 477px;
  top: 547px;
  left: 91px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .story__img3 .img3-3 {
    top: 437px;
  }
}
@media screen and (max-width: 767px) {
  .story__img3 .img3-3 {
    width: 52.533vw;
    top: 260px;
    left: 19px;
  }
}

.story__line {
  width: 1px;
  height: 64px;
  background: #007272;
  margin: 124px auto;
}
@media screen and (max-width: 767px) {
  .story__line {
    margin: 48px auto;
  }
}

.story__img4 {
  margin: 124px 0;
}
.story__img4 img {
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
}
@media screen and (max-width: 767px) {
  .story__img4 {
    margin: 68px auto 72px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .story__img4 img {
    width: 116.8vw;
  }
}

.story__cta {
  background: #F1F7F7;
  padding: 93px 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .story__cta {
    padding: 46px 0;
  }
}

/*========================
service
========================*/
.service__toptext {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 36px;
  /* 150% */
  letter-spacing: 2.4px;
  margin-bottom: 68px;
}
@media screen and (max-width: 767px) {
  .service__toptext {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 28px;
    /* 175% */
    letter-spacing: 1.6px;
    margin-bottom: 48px;
  }
}

.service__dot {
  width: 110px;
  height: 10px;
  margin: 0 auto;
}
.service__dot img {
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .service__dot {
    max-width: 79px;
    height: 8px;
  }
}

.service__items {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .service__items {
    margin-top: 64px;
  }
}
.service__items .item {
  margin-left: -42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .service__items .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-left: 0;
    gap: 22px;
  }
}
.service__items .item:not(:first-child) {
  margin-top: 124px;
}
@media screen and (max-width: 767px) {
  .service__items .item:not(:first-child) {
    margin-top: 64px;
  }
}
@media screen and (max-width: 767px) {
  .service__items .item--1 {
    margin-bottom: 64px;
  }
}
.service__items .item--1 .btn {
  background: #93B71F;
  border-color: #93B71F;
}
.service__items .item--1 .btn:hover {
  background: transparent;
  color: #93B71F;
}
.service__items .item--1 .btn:hover::before {
  background: #93B71F;
}
.service__items .item--1 .btn:hover::after {
  background: url(../img/arrow-s1.svg) no-repeat center center/contain;
}
.service__items .item--1 .jp::before {
  background: #93B71F;
}
.service__items .item--2 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  max-width: 1220px;
  margin-left: auto;
  margin-right: -42px;
}
@media screen and (max-width: 767px) {
  .service__items .item--2 {
    margin-right: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 64px;
  }
  .service__items .item--2 .img {
    margin-right: 0;
    margin-left: 19vw;
  }
}
.service__items .item--2 .btn {
  background: #F3C900;
  border-color: #F3C900;
}
.service__items .item--2 .btn:hover {
  background: transparent;
  color: #F3C900;
}
.service__items .item--2 .btn:hover::before {
  background: #F3C900;
}
.service__items .item--2 .btn:hover::after {
  background: url(../img/arrow-s2.svg) no-repeat center center/contain;
}
.service__items .item--2 .jp::before {
  background: #F3C900;
}
.service__items .item--3 .btn {
  background: #F18C1C;
  border-color: #F18C1C;
}
.service__items .item--3 .btn:hover {
  background: transparent;
  color: #F18C1C;
}
.service__items .item--3 .btn:hover::before {
  background: #F18C1C;
}
.service__items .item--3 .btn:hover::after {
  background: url(../img/arrow-s3.svg) no-repeat center center/contain;
}
.service__items .item--3 .jp::before {
  background: #F18C1C;
}
.service__items .img {
  max-width: 697px;
  width: 54.03%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service__items .img {
    width: 114.4vw;
    margin-right: 19vw;
  }
}
.service__items .img .circle-img {
  border-radius: 50%;
  width: 73%;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: 24%;
  right: 23%;
  -webkit-transition: all 2s ease;
  transition: all 2s ease;
}
.service__items .img .circle-img.show {
  bottom: 5%;
  right: 4.5%;
}
.service__items .img .circle-img.circle-img--1 {
  background: url(../img/circle-img1.png) no-repeat center center/cover;
}
.service__items .img .circle-img.circle-img--2 {
  background: url(../img/circle-img2.png) no-repeat center center/cover;
  left: 23%;
  right: inherit;
}
.service__items .img .circle-img.circle-img--2.show {
  bottom: 5%;
  left: 4.5%;
}
.service__items .img .circle-img.circle-img--3 {
  background: url(../img/circle-img3.png) no-repeat center center/cover;
}
.service__items .content {
  width: 41%;
}
@media screen and (max-width: 767px) {
  .service__items .content {
    width: 100%;
  }
}
.service__items .en {
  font-family: "proxima-soft", sans-serif;
  font-size: 14px;
  font-style: italic;
  font-weight: 600;
  line-height: 42.105px;
  /* 300.752% */
  letter-spacing: 1.12px;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .service__items .en {
    line-height: 1;
  }
}
.service__items .jp {
  font-size: 32px;
  font-weight: 600;
  line-height: 42.105px;
  /* 131.579% */
  letter-spacing: 2.56px;
  margin-top: 16px;
  padding-bottom: 34px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .service__items .jp {
    font-size: 20px;
    line-height: 1;
    letter-spacing: normal;
    padding-bottom: 24px;
  }
}
.service__items .jp::before {
  content: "";
  position: absolute;
  width: 64px;
  height: 4px;
  opacity: 0.5;
  border-radius: 10px;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .service__items .jp::before {
    height: 2px;
  }
}
.service__items p {
  margin: 64px 0 56px;
  max-width: 403px;
}
@media screen and (max-width: 767px) {
  .service__items p {
    margin: 16px 0 24px;
  }
}

/*========================
service-page
========================*/
.service-page-inner {
  position: relative;
  padding-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .service-page-inner {
    padding-bottom: 32px;
  }
}
.service-page-inner .triangle {
  position: absolute;
  width: 80px;
  height: 53.096px;
  bottom: -53px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .service-page-inner .triangle {
    width: 34px;
    bottom: -39px;
  }
}
.service-page-inner p {
  max-width: 931px;
  margin: 0 auto;
  line-height: 32px;
  /* 160% */
  letter-spacing: 2px;
}
.service-page__img1 {
  -webkit-filter: drop-shadow(0px 5.936px 24.591px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 5.936px 24.591px rgba(100, 100, 111, 0.25));
}
@media screen and (max-width: 767px) {
  .service-page__img1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.service-page__img1 img {
  border-radius: 70.382px;
}
@media screen and (max-width: 767px) {
  .service-page__img1 img {
    width: calc(100vw - 16px);
    border-radius: 22px;
  }
}

.service-page__middle-text {
  margin: 120px 0 80px;
  font-size: 32px;
  font-weight: 600;
  line-height: 32px;
  /* 100% */
  letter-spacing: 3.2px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .service-page__middle-text {
    font-size: 20px;
    line-height: 32px;
    /* 160% */
    letter-spacing: 1.6px;
    margin: 40px 0 32px;
  }
}

.service-page__img2 {
  margin: 80px 0;
}
@media screen and (max-width: 767px) {
  .service-page__img2 {
    margin: 32px 0;
  }
}
.consulting .service-page__img2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .consulting .service-page__img2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .consulting .service-page__img2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0px;
  }
}
.consulting .service-page__img2 .img {
  max-width: 484px;
  width: 48.2%;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .consulting .service-page__img2 .img {
    max-width: 500px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .consulting .service-page__img2 .img {
    max-width: 500px;
    width: 100%;
  }
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .consulting .service-page__img2 svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
@media screen and (max-width: 767px) {
  .consulting .service-page__img2 svg {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.education .service-page__img2 {
  max-width: 754px;
  margin: 80px auto;
  -webkit-filter: drop-shadow(0px 3.29px 13.63px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 3.29px 13.63px rgba(100, 100, 111, 0.25));
}
@media screen and (max-width: 767px) {
  .education .service-page__img2 {
    margin: 32px 0;
  }
}

.service-page__img3 {
  max-width: 967px;
  margin: 0 auto;
  margin-top: 107px;
}
@media screen and (max-width: 767px) {
  .service-page__img3 {
    margin-top: 32px;
  }
}

.service-page-point {
  padding: 147px 0 160px;
  background: rgba(158, 190, 53, 0.05);
}
@media screen and (max-width: 767px) {
  .service-page-point {
    padding: 37px 0 64px;
  }
}
.service-page-point.education {
  background: rgba(244, 212, 55, 0.05);
}
.service-page-point.revitalization {
  background: rgba(242, 152, 51, 0.05);
}
.service-page-point .inner {
  max-width: 1005px;
  padding: 0 50px;
}
@media screen and (max-width: 767px) {
  .service-page-point .inner {
    padding: 0 30px;
  }
}
.service-page-point h2 {
  font-size: 48px;
  font-weight: 600;
  line-height: 32px;
  /* 66.667% */
  letter-spacing: 6.72px;
  text-align: center;
  color: #007272;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .service-page-point h2 {
    font-size: 20px;
    line-height: 32px;
    /* 160% */
    letter-spacing: 2.8px;
    margin-bottom: 32px;
  }
}
.service-page-point p {
  max-width: 960px;
  margin: 0 auto;
}

.service-page-point__img1 {
  max-width: 928px;
}
.consulting .service-page-point__img1 {
  margin: 120px auto 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 900px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .consulting .service-page-point__img1 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin: 32px auto 16px;
    gap: 32px;
  }
}
.consulting .service-page-point__img1 .content {
  -webkit-filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
          filter: drop-shadow(0px 7px 29px rgba(100, 100, 111, 0.25));
  width: 39.1111%;
}
@media screen and (max-width: 767px) {
  .consulting .service-page-point__img1 .content {
    width: 100%;
    max-width: 230px;
    margin: 0 auto;
  }
}
.consulting .service-page-point__img1 .img {
  width: 47.55%;
}
@media screen and (max-width: 767px) {
  .consulting .service-page-point__img1 .img {
    width: 100%;
    margin: 0 auto;
    max-width: 251px;
  }
}
.education .service-page-point__img1 {
  max-width: 834px;
  margin: 107px auto 90px;
}
@media screen and (max-width: 767px) {
  .education .service-page-point__img1 {
    margin: 32px 0;
  }
}
.revitalization .service-page-point__img1 {
  max-width: 721px;
  margin: 55px auto 94px;
}
@media screen and (max-width: 767px) {
  .revitalization .service-page-point__img1 {
    margin: 32px auto 46px;
    max-width: 274px;
  }
}

.service-page-point__img2 {
  max-width: 38px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .service-page-point__img2 {
    width: 20px;
  }
}

.service-page-point__img3 {
  margin: 20px auto 83px;
  max-width: 588px;
  width: 60%;
}
@media screen and (max-width: 767px) {
  .service-page-point__img3 {
    margin: 16px 0 32px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .service-page-point__img3 img {
    width: 110%;
  }
}

.service-page-point__img4 {
  margin: 0 auto;
  margin-top: 80px;
  border-radius: 83px;
  -webkit-box-shadow: 0px 7px 29px rgba(100, 100, 111, 0.25);
          box-shadow: 0px 7px 29px rgba(100, 100, 111, 0.25);
}
@media screen and (max-width: 767px) {
  .service-page-point__img4 {
    border-radius: 36px;
    margin-top: 32px;
  }
}
.service-page-point__img4 img {
  border-radius: 83px;
}
@media screen and (max-width: 767px) {
  .service-page-point__img4 img {
    border-radius: 36px;
  }
}

.service-bottom {
  text-align: center;
  padding: 0 30px;
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .service-bottom {
    padding-top: 46px;
    margin-bottom: 0;
  }
}

/*========================
case
========================*/
.case__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 24px;
  font-weight: 600;
  line-height: 2.1;
  letter-spacing: 1.6px;
  margin-bottom: 94px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .case__menu {
    gap: 16px 24px;
  }
}
@media screen and (max-width: 767px) {
  .case__menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 260px;
    margin: 0 auto;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 1.28px;
    gap: 18px;
    margin-bottom: 41px;
  }
}
.case__menu a {
  position: relative;
}
.case__menu a.current {
  color: #007272;
}
.case__menu a.current::before {
  content: "";
  background: #007272;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  position: absolute;
  bottom: -7px;
  left: 0;
}
.case__menu a:hover {
  color: #007272;
}

.case__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 96px 5%;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .case__items {
    gap: 96px 5%;
  }
}
@media screen and (max-width: 767px) {
  .case__items {
    gap: 70px;
    margin-bottom: 64px;
  }
}
.case__items .item {
  width: 29.835%;
  display: block;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .case__items .item {
    width: 47.5%;
  }
}
@media screen and (max-width: 767px) {
  .case__items .item {
    width: 100%;
  }
}
.case__items .item:hover .img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.case__items .img {
  overflow: hidden;
  border-radius: 29.763px;
  -webkit-box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
          box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.25);
}
@media screen and (max-width: 767px) {
  .case__items .img {
    -webkit-box-shadow: 0px 6.374px 26.407px 0px rgba(100, 100, 111, 0.25);
            box-shadow: 0px 6.374px 26.407px 0px rgba(100, 100, 111, 0.25);
  }
}
.case__items .img img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 29.763px;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 208/102;
}
.case__items .company-name {
  color: #007272;
  font-weight: 600;
  letter-spacing: 2px;
  margin: 35px 0 16px;
  padding: 0 18px;
}
@media screen and (max-width: 767px) {
  .case__items .company-name {
    margin: 24px 0 12px;
    font-size: 20px;
  }
  .column .case__items .company-name {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1.6px;
    margin: 24px 0 8px;
  }
}
.case__items .title {
  font-size: 24px;
  font-weight: 600;
  line-height: 38.452px;
  /* 160.216% */
  padding: 0 18px;
  letter-spacing: 2.4px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 767px) {
  .case__items .title {
    font-size: 16px;
    line-height: 2;
    letter-spacing: normal;
    -webkit-line-clamp: 2;
  }
  .column .case__items .title {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 32px;
    /* 160% */
  }
}

.case__bottom {
  text-align: center;
  padding-top: 120px;
}
@media screen and (max-width: 767px) {
  .case__bottom {
    padding: 46px 0 0;
  }
}

/*========================
case-junbi
========================*/
.junbi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 970px;
  margin: 0 auto;
  gap: 48px;
}
@media screen and (max-width: 767px) {
  .junbi {
    gap: 32px;
  }
}
.thanks .junbi {
  max-width: 1026px;
}
@media screen and (max-width: 767px) {
  .junbi {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.junbi .img {
  max-width: 238px;
}
@media screen and (max-width: 767px) {
  .junbi .img {
    max-width: 120px;
  }
}
.junbi .content {
  width: calc(100% - 175px - 48px);
}
@media screen and (max-width: 767px) {
  .junbi .content {
    width: 100%;
  }
}
.junbi .content h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 48px; /* 150% */
  letter-spacing: 3.2px;
  border-bottom: 1px solid rgba(22, 47, 58, 0.3);
  margin-bottom: 16px;
  padding-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .junbi .content h2 {
    text-align: center;
    font-size: 20px;
    line-height: 28px;
    /* 140% */
    letter-spacing: 2.4px;
  }
}
.junbi .content p {
  font-size: 20px;
  line-height: 32px; /* 160% */
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .junbi .content p {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    /* 142.857% */
    letter-spacing: 1.12px;
    text-align: center;
  }
}

.junbi__bottom {
  text-align: center;
  padding-top: 87px;
}
@media screen and (max-width: 767px) {
  .junbi__bottom {
    padding-top: 64px;
  }
}

/*========================
event
========================*/
@media screen and (max-width: 767px) {
  .event .case__menu {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.event .case__items {
  gap: 40px 3.684%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .event .case__items {
    gap: 40px 4%;
  }
}
@media screen and (max-width: 767px) {
  .event .case__items {
    gap: 48px;
  }
}
.event .case__items .item {
  width: 30.87%;
  border-radius: 16px;
  overflow: hidden;
  -webkit-box-shadow: 0px 7px 15px rgba(100, 100, 111, 0.2);
          box-shadow: 0px 7px 15px rgba(100, 100, 111, 0.2);
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .event .case__items .item {
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .event .case__items .item {
    width: 100%;
  }
}
.event .case__items .img {
  border-radius: 0;
}
.event .case__items .img img {
  border-radius: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.event .case__items .body {
  background: white;
  padding: 17px 32px 25px;
  border-radius: 0 0 16px 16px;
}
@media screen and (max-width: 767px) {
  .event .case__items .body {
    padding: 15px 28px 22px;
  }
}
.event .case__items .label {
  font-size: 16px;
  font-weight: 600;
  line-height: 30.268px;
  /* 189.174% */
  letter-spacing: 0.8px;
  background: #F1F7F7;
  color: #007272;
  border-radius: 100px;
  display: inline-block;
  padding: 0 13px;
}
@media screen and (max-width: 767px) {
  .event .case__items .label {
    font-size: 14px;
    line-height: 27.098px;
    /* 193.561% */
    letter-spacing: 0.7px;
  }
}
.event .case__items .datetime {
  padding: 10px 0;
  border-bottom: 1px solid #CCC;
  font-size: 18px;
  font-weight: 600;
  line-height: 28.754px;
  /* 159.747% */
  letter-spacing: 0.9px;
  color: #007272;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .event .case__items .datetime {
    font-size: 16px;
    line-height: 25.744px;
    /* 160.897% */
    letter-spacing: 0.8px;
  }
}
.event .case__items .event-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 32px;
  /* 177.778% */
  letter-spacing: 0.9px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 767px) {
  .event .case__items .event-title {
    font-size: 16px;
    line-height: 28.649px;
    /* 179.058% */
    letter-spacing: 0.8px;
  }
}
.event .case__items .status {
  width: 72px;
  text-align: center;
  color: white;
  background: #F18C1C;
  display: inline-block;
  padding: 0 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 30.268px;
  /* 189.174% */
  letter-spacing: 0.8px;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .event .case__items .status {
    font-size: 14px;
    line-height: 27.098px;
    /* 193.561% */
    letter-spacing: 0.7px;
  }
}
.event .case__items .item.ended {
  pointer-events: none;
  position: relative;
}
.event .case__items .item.ended::after {
  content: "";
  background: rgba(35, 35, 35, 0.65);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.event .case__items .item.ended .status {
  background: #212121;
  z-index: 1;
  position: relative;
}

/*========================
news
========================*/
.news__menu {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .news__menu {
    position: relative;
  }
}
.news__menu .head {
  font-family: "proxima-soft", sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 30.075px;
  /* 136.705% */
  letter-spacing: 1.1px;
  margin-bottom: 44px;
}
@media screen and (max-width: 767px) {
  .news__menu .head {
    font-size: 18px;
    line-height: 30.075px;
    /* 167.084% */
    letter-spacing: 1.26px;
    margin-bottom: 32px;
  }
}
@media screen and (max-width: 767px) {
  .news__menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 12px 8px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 32px;
  }
}
.news__menu li:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .news__menu li:not(:first-child) {
    margin-top: 0;
  }
}
.news__menu a {
  display: inline-block;
  padding-left: 0;
  background: white;
  font-weight: 600;
  color: #007272;
  border: 1px solid #007272;
  border-radius: 100px;
  padding: 13px 20px 12px;
  line-height: 20px;
  /* 100% */
  letter-spacing: 1.4px;
}
@media screen and (max-width: 767px) {
  .news__menu a {
    font-size: 13.304px;
    line-height: 19.13px;
    /* 143.791% */
    letter-spacing: -0.665px;
    padding: 12px 16px;
  }
}
.news__menu a::before {
  display: none;
}
.news__menu a.active {
  background: #007272;
  color: white;
}
.news__menu a:hover {
  background: #007272;
  color: white;
}
.news__menu.fixed {
  position: fixed;
  top: 200px;
}
@media screen and (max-width: 767px) {
  .news__menu.fixed {
    position: relative;
    top: inherit;
  }
}
.news__menu.bottom {
  position: absolute;
  bottom: 0;
  top: inherit;
}
@media screen and (max-width: 767px) {
  .news__menu.bottom {
    position: relative;
  }
}

.news__content {
  padding-left: 315px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .news__content {
    padding-left: 230px;
  }
}
@media screen and (max-width: 767px) {
  .news__content {
    padding-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .news__items {
    margin-bottom: 64px;
  }
}

.news__item {
  display: block;
  border-radius: 10px;
  background: #FFF;
  -webkit-box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.15);
          box-shadow: 0px 7px 29px 0px rgba(100, 100, 111, 0.15);
  padding: 32px 48px;
}
@media screen and (max-width: 999.5px) and (min-width: 768px) {
  .news__item {
    padding: 32px;
  }
}
@media screen and (max-width: 767px) {
  .news__item {
    padding: 12px 15px;
  }
}
.news__item:not(:first-child) {
  margin-top: 24px;
}
.news__item .date {
  color: #A9A9A9;
  font-size: 16px;
  font-weight: 600;
  line-height: 19px;
  /* 118.75% */
  letter-spacing: 1.28px;
}
@media screen and (max-width: 767px) {
  .news__item .date {
    font-size: 11.914px;
    line-height: 18.864px;
    /* 158.333% */
    letter-spacing: 0.953px;
  }
}
.news__item .title {
  display: block;
  font-size: 20px;
  font-weight: 600;
  line-height: 32px;
  /* 160% */
  letter-spacing: 1.8px;
  margin: 15px 0 10px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.news__item .title:hover {
  color: #007272;
}
.news__item .title:hover::after {
  background: #007272;
  bottom: -2px;
}
@media screen and (max-width: 767px) {
  .news__item .title {
    font-size: 15.886px;
    line-height: 23.829px;
    /* 150% */
    letter-spacing: 1.589px;
    margin: 8px 0;
  }
}
.news__item .category {
  font-size: 16px;
  font-weight: 600;
  line-height: 16.087px;
  /* 100.543% */
  letter-spacing: 1.12px;
  padding: 10px 16px;
  border: 1px solid #007272;
  display: inline-block;
  border-radius: 100px;
  color: #007272;
}
@media screen and (max-width: 767px) {
  .news__item .category {
    font-size: 11.914px;
    line-height: 15.972px;
    /* 134.058% */
    letter-spacing: 0.834px;
    padding: 6.7px 11px;
  }
}

.news__bottom {
  text-align: center;
  padding: 96px 0 0;
}
@media screen and (max-width: 767px) {
  .news__bottom {
    padding: 46px 0 0;
  }
}

/*========================
contact
========================*/
.contact__message {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 36px;
  /* 150% */
  letter-spacing: 2.4px;
}
@media screen and (max-width: 767px) {
  .contact__message {
    font-size: 16px;
    line-height: 28px;
    /* 175% */
    padding: 0 10px;
    letter-spacing: normal;
  }
}

.contact__form {
  max-width: 656px;
  margin: 95px auto 0;
}
@media screen and (max-width: 767px) {
  .contact__form {
    margin: 74px auto 0;
  }
}
.contact__form .item:not(:first-child) {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .contact__form .item:not(:first-child) {
    margin-top: 32px;
  }
}
.contact__form .label {
  font-weight: 600;
  line-height: 23.467px;
  /* 117.333% */
  letter-spacing: 0.2px;
  margin-bottom: 16px;
  display: inline-block;
  position: relative;
  padding-right: 67px;
}
@media screen and (max-width: 767px) {
  .contact__form .label {
    font-size: 18px;
    line-height: 23.467px;
    /* 130.37% */
    letter-spacing: 0.18px;
    padding-right: 53px;
  }
}
.contact__form .label.required::before {
  content: "必須";
  border-radius: 30px;
  background: -webkit-gradient(linear, right top, left top, color-stop(8.57%, #007272), color-stop(92.86%, #99E4E4));
  background: linear-gradient(270deg, #007272 8.57%, #99E4E4 92.86%);
  position: absolute;
  padding: 3px 7px;
  color: white;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1.28px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .contact__form .label.required::before {
    font-size: 14px;
    letter-spacing: 1.12px;
  }
}
.contact__form input,
.contact__form textarea {
  width: 100%;
  border-radius: 10px;
  border: 2px solid rgba(22, 47, 58, 0.25);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 23.467px;
  /* 146.667% */
  letter-spacing: 0.16px;
  padding: 11px 13px;
}
@media screen and (max-width: 767px) {
  .contact__form input,
  .contact__form textarea {
    font-size: 14px;
    line-height: 23.467px;
    /* 167.619% */
    letter-spacing: 0.14px;
  }
}
.contact__form input::-webkit-input-placeholder, .contact__form textarea::-webkit-input-placeholder {
  color: rgba(22, 47, 58, 0.5);
}
.contact__form input::-moz-placeholder, .contact__form textarea::-moz-placeholder {
  color: rgba(22, 47, 58, 0.5);
}
.contact__form input:-ms-input-placeholder, .contact__form textarea:-ms-input-placeholder {
  color: rgba(22, 47, 58, 0.5);
}
.contact__form input::-ms-input-placeholder, .contact__form textarea::-ms-input-placeholder {
  color: rgba(22, 47, 58, 0.5);
}
.contact__form input::placeholder,
.contact__form textarea::placeholder {
  color: rgba(22, 47, 58, 0.5);
}
.contact__form textarea {
  height: 264px;
  resize: vertical;
}
@media screen and (max-width: 767px) {
  .contact__form textarea {
    height: 315px;
  }
}
.contact__form p {
  font-size: 16px;
  font-weight: 400;
  line-height: 25.467px;
  letter-spacing: normal;
}
.contact__form .required {
  position: relative;
}
.contact__form .external {
  font-size: 16px;
  color: #007272;
  font-weight: 600;
  line-height: 25.467px;
  /* 181.905% */
  letter-spacing: normal;
  position: relative;
  padding-right: 22px;
}
@media screen and (max-width: 767px) {
  .contact__form .external {
    font-size: 12px;
  }
}
.contact__form .external::before {
  content: "";
  background: url(../img/external2.svg) no-repeat center center/contain;
  position: absolute;
  width: 12px;
  height: 12px;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.contact__form .external:hover {
  opacity: 0.6;
}

.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  /* デフォルトのボタン */
  /* チェック前のボタン */
  /* チェック後のボタン */
}
@media screen and (max-width: 767px) {
  .wpcf7-radio {
    gap: 0;
  }
}
.wpcf7-radio .wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
  font-size: 16px;
  font-weight: 600;
  line-height: 25.467px;
  /* 181.905% */
  letter-spacing: 1.96px;
}
.wpcf7-radio input[type=radio] {
  opacity: 0;
  /* デフォルトのボタンを非表示 */
  position: absolute;
}
.wpcf7-radio .wpcf7-list-item-label::before {
  display: inline-block;
  background: #fff;
  border: 1px solid #D5D5D5;
  border-radius: 100%;
  /* ラジオボタンっぽく丸くする */
  content: "";
  width: 11px;
  height: 11px;
  margin-bottom: auto;
  margin-right: 9px;
  margin-top: auto;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
  /* 色をじんわり変化させる */
}
.wpcf7-radio input[type=radio]:checked + .wpcf7-list-item-label::before {
  background-color: #007272;
  /* チェック後の中心の色 */
  -webkit-box-shadow: inset 0 0 0 1.5px #fff;
          box-shadow: inset 0 0 0 1.5px #fff;
  /* 中心の色のスタイル */
}

.check {
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .check {
    margin-bottom: 64px;
  }
}
.check .checkbox-input input {
  display: none;
}
.check .wpcf7-list-item-label {
  padding-left: 17px;
  position: relative;
  color: #007272;
  margin-right: 10px;
  font-size: 16px;
  font-weight: 600;
  line-height: 25.467px;
  /* 181.905% */
  letter-spacing: 0.56px;
}
.check span.wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.check .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 11px;
  height: 11px;
  border-radius: 1px;
  border: 1px solid #BBB;
}
.check .checkbox-input input:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 3.1px;
  left: 3.2px;
  width: 5px;
  height: 7px;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  border-bottom: 2px solid #007272;
  border-right: 2px solid #007272;
}

.submit input {
  cursor: pointer;
  text-align: left;
  display: inline-block;
  width: 100%;
  max-width: 403px;
  font-size: 17px;
  font-weight: 600;
  line-height: 46.613px;
  /* 274.196% */
  letter-spacing: 1.36px;
  padding: 14.5px 0px;
  padding-left: 35px;
  border-radius: 50px;
  position: relative;
  text-align: center;
  padding-left: 0;
  color: white;
  background: #F18C1C;
  border-color: #F18C1C;
  margin: 0 auto;
  display: block;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.submit input:hover {
  color: #F18C1C;
  background: white;
}
@media screen and (max-width: 767px) {
  .submit input {
    font-size: 14px;
    line-height: 36.666px;
    /* 261.901% */
    letter-spacing: 1.4px;
  }
}
.submit input:hover {
  -webkit-transform: scale(1.01);
          transform: scale(1.01);
}
.submit .wpcf7-spinner {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  margin-bottom: 0;
}

.grecaptcha-badge {
  visibility: hidden;
}