@charset "utf-8";
/*-------anime------*/
.js-split span {
  opacity: 0;
  display: inline-block;
  transform: translateY(20px);
}

.js-split.is-active span {
  animation: fadeUp 0.6s forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.a-ct {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.a-ct::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: inline-block;
  background: #fff;
  top: 0;
  z-index: 5;
  transition: 1s ease-in-out;
}
.a-left::after {
  left: 0;
}
.a-left.is-visible::after {
  left: -100vw;
}
.a-right::after {
  right: 0;
}
.a-right.is-visible::after {
  right: -100vw;
}
.td5.a-ct::after {
  transition-delay: 0.5s;
}
#lightbox-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
/*-------post------*/
.in-post-title {
  font-size: 2rem;
  font-weight: 500;
}
/*-------tit------*/
.tit1.s-st {
  font-size: max(2.778vw, 4rem);
  color: #1b9a46;
}
.tit1 {
  font-size: max(4.167vw, 4rem);
  color: #1b9a46;
}
.tit1.st2 {
  color: #45e587;
}
.tit2 {
  font-size: max(1.667vw, 2rem);
  background: #45e587;
  min-width: 386px;
  margin-inline: auto;
  text-align: center;
  width: fit-content;
  padding: 0 24px;
  line-height: 2;
}
/*-------table------*/
.table-wrap {
  max-width: max(29.792vw, 420px);
  width: 100%;
  margin-inline: auto;
}
.table-wrap .bd-box {
  border: 1px solid #1b9a46;
  padding: 10px 20px 0;
  margin-bottom: 10px;
}
.table-cap {
  font-size: max(0.9722vw, 1.4rem);
  text-align: left;
}
.table1 thead {
  border-bottom: 1px solid #1b9a46;
}
.table1 thead tr th:first-child,
.table1 tbody tr td:first-child {
  text-align: left;
  color: #333;
}
.table1 td {
  text-align: center;
  line-height: 2.1;
}
.table1 th {
  text-align: center;
  line-height: 2.1;
}
.table1 tbody tr td {
  color: #1b9a46;
}
/*-------btn------*/
.btn1 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
  max-width: 300px;
  width: 100%;
  height: clamp(60px, 4.167vw, 80px);
  background: #07a247;
  color: #fff;
  font-size: 2rem;
  transition: 0.3s ease-in-out;
}
.btn1:hover {
  background: #333;
}
.btn1::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  display: inline-block;
  background: #45e587;
  width: 15px;
  height: 15px;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.btn2 {
  max-width: max(27.639vw, 338px);
  width: 100%;
  height: clamp(60px, 7.222vw, 104px);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #333;
  border-radius: 148px;
  font-size: 2.4rem;
  color: #333;
  position: relative;
  transition: 0.3s ease-in-out;
}
.btn2:hover {
  background: #938e8e;
  color: #fff;
}
.btn2 .icon {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0, -50%);
  width: 35px;
  height: 35px;
}
.btn2 .pin-ic {
  background: url(../../../uploads/2026/02/pin-icon.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.btn2 .home-ic {
  background: url(../../../uploads/2026/02/home-icon.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.btn2 .gama-ic {
  background: url(../../../uploads/2026/02/gama-icon.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.btn2::after {
  content: "";
  background: #938e8e;
  width: 20px;
  height: 20px;
  display: inline-block;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  position: absolute;
  top: 50%;
  right: 10%;
  z-index: 2;
  transform: translate(0, -50%);
}
.banner-box {
  transition: 0.3s ease-in-out;
}
.banner-box:hover {
  opacity: 0.6;
}
.menu-item a {
  transition: 0.3s ease-in-out;
}
.menu-item a:hover {
  color: #1b9a46 !important;
}
/*-------hd------*/
.header,
.header a {
  color: #fff;
}
.header.is-fixed,
.header.is-fixed a {
  color: #333;
}
.header.is-fixed {
  background: rgba(255, 255, 255, 0.84);
  padding: 10px 0;
}
.header {
  position: absolute;
  width: 100%;
  z-index: 701;
}
.logo-box {
  max-width: max(25.486vw, 222px);
  width: 100%;
}
.is-fixed .logo-box {
  display: none;
}
.is-fixed .hd1 .dfl {
  flex-direction: column;
}
.is-fixed .hd1-text em:last-child {
  display: none;
}
.is-fixed .hd-tel1 {
  margin: 0;
  padding: 0;
  border: none;
}
.is-fixed .hd1 {
  border-right: 1px solid #333;
}
.is-fixed .hd1-text em:first-child {
  margin: 0;
}
.is-fixed .hd-tel {
  padding: 0;
}
.is-fixed .hd2 {
  border-right: 1px solid #333;
}
.is-fixed .hd2 a {
  border: 1px solid #333;
}
.is-fixed .hd2 a:hover {
  background: #333;
  color: #fff;
}
.is-fixed .hd2 a::after {
  border-style: solid;
  border-width: 3.999px 0 3.999px 7px;
  border-color: transparent transparent transparent #333;
}
.is-fixed .hd2 em::before,
.is-fixed .hd2 em::after {
  mix-blend-mode: difference;
}
.hd1-g {
  display: grid;
  grid-template-columns:
    clamp(358px, 33.333vw, 490px) clamp(160px, 12.5vw, 180px)
    clamp(160px, 12.5vw, 180px) clamp(160px, 12.5vw, 180px);
  justify-content: flex-end;
}
.is-fixed .hd1-g {
  grid-template-columns:
    clamp(120px, 15.278vw, 490px) clamp(120px, 11.389vw, 164px)
    clamp(120px, 11.389vw, 164px) clamp(120px, 11.389vw, 164px);
}
#main-menu-container.pc-menu-container {
  display: none;
}
.is-fixed #main-menu-container.pc-menu-container {
  display: flex;
  width: 100%;
  padding-inline: 20px;
}
#main-menu-container .main-menu-nav {
  width: 100%;
}
.hd1 {
  border-right: 1px solid #fff;
  padding-right: 12px;
}
.hd1 .dfl {
  margin-bottom: 6px;
}
.hd-tel {
  font-size: clamp(1.6rem, 1.667vw, 2.4rem);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 0 16px;
}
.hd-tel1 {
  padding-right: 1.042vw;
  margin-right: 1.042vw;
  border-right: 1px solid #fff;
}
.hd-tel::before {
  content: "";
  display: inline-block;
  margin-right: 5px;
}
.hd-tel1::before {
  width: 1.597vw;
  aspect-ratio: 1 / 1;
  background: url(../../../uploads/2026/02/phone-icon.webp) no-repeat;
  background-size: contain;
}
.hd-tel2::before {
  width: 1.806vw;
  aspect-ratio: 1 / 1;
  background: url(../../../uploads/2026/02/free-dial-icon.webp) no-repeat;
  background-size: contain;
}
.hd1-text {
  background: rgba(255, 255, 255, 0.31);
  padding: 2px 6px;
  display: flex;
  align-items: center;
}
.hd1-text em:first-child {
  font-size: clamp(0.8rem, 0.9722vw, 1.4rem);
  margin-right: 1em;
}
.hd1-text em:last-child {
  font-size: clamp(0.8rem, 0.764vw, 1.1rem);
}
.hd2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.hd2 em {
  font-size: clamp(1.2rem, 0.9722vw, 1.4rem);
  display: flex;
  align-items: center;
}
.hd2 em::before {
  content: "";
  display: inline-block;
  background: url(../../../uploads/2026/02/left-icon.webp);
  background-size: contain;
  width: 1.181vw;
  aspect-ratio: 1 / 1;
}
.hd2 em::after {
  content: "";
  display: inline-block;
  background: url(../../../uploads/2026/02/right-icon.webp);
  background-size: contain;
  width: 1.181vw;
  aspect-ratio: 1 / 1;
}
.hd2 a {
  max-width: 138px;
  width: 100%;
  font-size: clamp(1.2rem, 1.25vw, 1.6rem);
  border: 1px solid #fff;
  border-radius: 109px;
  height: 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s ease-in-out;
}
.hd2 a:hover {
  background: #333;
}
.hd2 a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.999px 0 3.999px 7px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(0%, -50%);
}
.whd1,
.whd2 {
  border-right: 1px solid #fff;
}
#menu-main-menu li {
  font-size: clamp(1.4rem, 0.9722vw, 1.6rem);
  margin-right: 2.9em;
}
#menu-main-menu {
  gap: 20px 0;
}
#menu-main-menu li:last-child {
  margin-right: 0;
}
/*-------ft-----*/
.f-info {
  padding-top: 80px;
  padding-bottom: 80px;
  padding-inline: 5.55%;
}
.f-logo-box {
  max-width: max(35.764vw, 309px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: 70px;
}
.f-info .table-wrap .bd-box {
  background: #fff;
  padding: 15px 20px;
}
.f-bann {
  padding: 40px 5.55%;
  text-align: center;
}
.f-info .hd-tel {
  font-size: 2.8rem;
  background: #f7f7f7;
  padding: 10px 10px 10px 15px;
  min-width: 259px;
}
.f-info .hd-tel.hd-tel2 {
  padding: 10px;
}
.f-flex1 {
  margin-bottom: 35px;
}
.f-info .whd1,
.f-info .whd2 {
  border-right: none;
}
.f-info .hd2 a {
  background: #333;
  color: #fff;
}
.f-info .hd2 a:hover {
  background: #fff;
  color: #333;
}
.f-info .hd2 a::after {
  right: 7px;
}
.f-info .hd2 em::before,
.f-info .hd2 em::after {
  mix-blend-mode: difference;
  width: max(1.181vw, 17px);
}
.f-info .hd-tel1::before {
  width: max(1.597vw, 23px);
}
.f-info .hd-tel2::before {
  width: max(1.806vw, 26px);
}
.f-info .table-cap {
  line-height: 1.4;
  color: #333;
  font-weight: 400;
}
.f-flex0 {
  gap: 50px;
}
.dfl.f-flex2 {
  justify-content: center;
  flex-direction: unset;
  flex-wrap: wrap;
  gap: 30px;
  align-items: center;
}
.f-acc {
  background: #f0f0f0;
  padding-right: 5.55vw;
}
.f-acc .gm-sec {
  height: auto;
}
.f-acc .dfl {
  gap: 50px;
}
.f-acc .right {
  max-width: max(23.958vw, 345px);
  padding-top: 25px;
  padding-bottom: 25px;
}
.f-acc .box {
  display: flex;
  align-items: center;
  gap: 25px;
}
.f-acc .wrap {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-inline: 20px;
  background: #fff;
}
.f-acc .wrap .box:first-child {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px dashed #333;
}
.f-acc .img-box {
  margin-bottom: 20px;
}
.f-acc .box .img-box {
  max-width: 73px;
  margin-bottom: 0;
}
.ft-main-menu .current_page_item a::after {
  content: none;
}
.ft-main-menu .menu-item a {
  color: #333;
  font-weight: 500;
}
.ft-main-menu .menu-item a::before {
  content: "▶";
  color: #45e587;
  margin-right: 0.5em;
}
.ft-tit {
  font-size: max(1.667vw, 2.4rem);
  color: #333;
  font-weight: 500;
  border-bottom: 1px solid #333;
  margin-bottom: 20px;
  line-height: 1;
  padding-bottom: 20px;
}
.footerwrap {
  padding-top: 60px;
  padding-bottom: 90px;
  padding-inline: 5.55%;
}
.footerwrap .ft-group {
  gap: 115px;
}
.footerwrap .left {
  max-width: max(39.028vw, 562px);
  width: 100%;
}
.footerwrap .right {
  max-width: max(25.486vw, 367px);
  width: 100%;
}
.footerwrap .nav-inner-wrap {
  padding-left: 2.778vw;
}
.nav-css {
  gap: 5.069vw;
}
.copyright-container {
  padding-top: 25px;
  padding-bottom: 25px;
  background: #07a247;
}
.pagetop {
  max-width: clamp(30px, 5.694vw, 82px);
}
/*-------mv------*/
.mv {
  position: relative;
}
/* .mv img {
  width: 100%;
} */
.mv .fv-video {
  width: 100%;
  object-fit: cover;
}
.cs-main-menu-nav {
  position: absolute;
  bottom: 35px;
  padding-inline: 5.55vw;
  z-index: 200;
  width: 100%;
}
.cs-main-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.cs-main-menu a {
  color: #fff;
  font-size: max(1.389vw, 1.4rem);
}
.menu-item a {
  display: inline-block;
  position: relative;
  padding-bottom: 10px;
  line-height: 1.2;
}
.current_page_item a::after {
  content: "";
  width: max(1.806vw, 14px);
  height: 4px;
  display: inline-block;
  background: #45e587;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.mv-txt-wrap {
  position: absolute;
  top: calc(clamp(65px, 6.806vw, 130px) + 80px);
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  gap: 4.792vw;
}
.mv-box1 {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: max(2.431vw, 15px);
}
.mv-box1 p {
  writing-mode: tb;
  background: #07a247;
  color: #fff;
  font-size: max(2.083vw, 2rem);
  white-space: nowrap;
  padding: 20px 0;
  line-height: 1.2;
}
.mv-box2 .wrap {
  align-items: center;
  gap: 2.222vw;
}
.mv-box2 .wrap:first-child {
  margin-left: 8.611vw;
  margin-bottom: 16px;
}
.mv-box2 .img-box {
  max-width: max(16.597vw, 135px);
  width: 100%;
}
.mv-box2 .txt-box p {
  font-size: max(2.778vw, 1.8rem);
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  line-height: 1.8;
  color: #fff;
}
/*-------sec1----*/
.sec1 .co.right {
  padding-top: 30px;
  padding-bottom: 70px;
  padding-inline: 7vw;
}
.sec1 .tit1 {
  margin-bottom: 20px;
}
.sec1 .tit1.st-2 {
  margin-bottom: 5px;
}
.sec1 .table-wrap {
  margin-bottom: 20px;
}
.sec1 .ds-wrap {
  display: flex;
  background: #f0f0f0;
  padding: 30px 10px;
}
.sec1 .ds-wrap .box {
  display: flex;
  gap: 20px;
  align-items: center;
  flex: 1;
}
.sec1 .ds-wrap .box:last-child {
  border-left: 2px dashed #666;
  padding-left: 15px;
}
.sec1 .ds-wrap .img-box {
  max-width: max(5.139vw, 46px);
  width: 100%;
}
.gm-sec {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.gm-sec iframe {
  height: calc(100% + 360px);
  margin-top: -170px;
}
.gm-sec .g-link-btn {
  position: absolute;
  top: 40px;
  left: 40px;
}
.g-link-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 325px;
  font-size: 2.2rem;
  background: #fff;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #1b9a46;
  height: 68px;
  border: 1px solid #1b9a46;
  border-radius: 65px;
  position: relative;
  transition: 0.3s ease-in-out;
}
.g-link-btn:hover {
  background: #1b9a46;
  color: #fff;
}
.g-link-btn::before {
  content: "";
  background: url(../../../uploads/2026/02/pin-icon.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 24px;
  height: 31px;
  position: absolute;
  left: 1.5em;
  top: 50%;
  transform: translate(0, -50%);
}
.g-link-btn::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.999px 0 3.999px 7px;
  border-color: transparent transparent transparent #1b9a46;
  position: absolute;
  top: 50%;
  right: 35px;
  transform: translate(0%, -50%);
}
/*-------sec2----*/
.sec2 .cs-inner {
  z-index: 1;
}
.sec2 .ds-wrap {
  display: flex;
}
.sec2 .txt-box {
  max-width: 37.569vw;
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
}
.sec2 .txt-box .tit1 {
  margin-bottom: 50px;
}
.sec2 .font3224 {
  margin-bottom: 50px;
  width: 90%;
  margin-inline: auto;
}
.ds-sec2-box1 {
  margin-right: 60px;
}
.ds-sec2-box1 img,
.ds-sec2-box2 img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.ds-sec2-box3 {
  max-width: max(23.611vw, 164px);
  position: absolute;
  z-index: 1;
  top: 45px;
  right: 8.75vw;
}
.ds-sec2-box4 {
  max-width: max(23.611vw, 164px);
  position: absolute;
  z-index: 1;
  bottom: 24px;
  right: 0;
}
.sec2 .cs-inner2 {
  background: url(../../../uploads/2026/02/sec2-bg.jpg) no-repeat;
  background-size: 100% 100%;
  padding-top: 133px;
  padding-bottom: 269px;
}
.ds-sec2-box5 {
  max-width: max(43.75vw, 350px);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
.sec2 .tit-wrap2 {
  position: absolute;
  right: 110px;
  top: 70px;
  z-index: 3;
  display: flex;
  flex-direction: row-reverse;
}
.sec2 .tit-wrap2 p {
  text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.5);
  writing-mode: tb;
  font-size: max(2.778vw, 3.2rem);
  white-space: nowrap;
  line-height: 1.6;
}
.sec2 .tit-wrap2 p:first-child {
  margin-top: -1.8em;
}
.sec2 .tit-wrap2 p .l-txt {
  font-size: max(6.667vw, 6.4rem);
  font-weight: 700;
}
.sec2 .tit-wrap2 p .m-txt {
  font-size: max(4.444vw, 6.4rem);
  font-weight: 700;
}
.sec2 .tit-wrap2 p .txt-cs {
  display: inline-block;
  margin-top: -1em;
}
.ds-sec2-co {
  background: #fff;
  padding: 10px 30px;
  max-width: max(28.264vw, 330px);
  width: 100%;
  min-height: 276px;
  z-index: 1;
  position: absolute;
}
.ds-sec2-co .num {
  font-size: max(2.778vw, 4rem);
  text-align: center;
  line-height: 1.4;
  margin-bottom: 20px;
}
.ds-sec2-co1 {
  top: 85px;
  left: 12.5vw;
  border: 1px solid #1b9a46;
}
.ds-sec2-co1 .num {
  color: #1b9a46;
  border-bottom: 1px solid #1b9a46;
}
.ds-sec2-co2 {
  bottom: 85px;
  left: 7.986vw;
  border: 1px solid #06c655;
}
.ds-sec2-co2 .num {
  color: #06c655;
  border-bottom: 1px solid #06c655;
}
.ds-sec2-co3 {
  right: 7.986vw;
  bottom: 85px;
  border: 1px solid #45e587;
}
.ds-sec2-co3 .num {
  color: #45e587;
  border-bottom: 1px solid #45e587;
}
/*-------sec3----*/
.sec3 .cs-inner {
  padding-bottom: 120px;
}
.sec3 .cs-inner .img-box {
  max-width: max(54.375vw, 500px);
  width: 100%;
  position: relative;
}
.sec3 .cs-inner .ds-sec3-wrap .img-box::before {
  content: "";
  display: inline-block;
  width: 80px;
  height: 100%;
  background: #effff4;
  position: absolute;
  z-index: 3;
}
.ds-sec3-wrap1 {
  margin-bottom: 70px;
}
.ds-sec3-wrap1 .img-box::before {
  right: 0;
  top: 0;
}
.ds-sec3-wrap2 .img-box::before {
  left: 0;
  top: 0;
}
.ds-sec3-wrap .txt-box {
  position: relative;
}
.ds-sec3-wrap1 .txt-box::before {
  content: "01";
  position: absolute;
  top: 0;
  left: 8%;
  font-size: max(17.361vw, 128px);
  font-weight: 700;
  line-height: 1;
  z-index: 0;
  color: #effff4;
}
.ds-sec3-wrap2 .txt-box::before {
  content: "02";
  position: absolute;
  top: 0;
  left: 8%;
  font-size: max(17.361vw, 128px);
  font-weight: 700;
  line-height: 1;
  z-index: 0;
  color: #effff4;
}
.ds-sec3-wrap3 .txt-box::before {
  content: "03";
  position: absolute;
  top: 0;
  transform: translate(0, -30%);
  left: 7%;
  font-size: max(17.361vw, 128px);
  font-weight: 700;
  line-height: 1;
  z-index: 0;
  color: #f8f8f8;
}
.ds-sec3-wrap2 .font3224 {
  line-height: 2.2;
}
.ds-sec3-wrap .txt-box > * {
  position: relative;
  z-index: 1;
}
.ds-sec3-wrap .font3224 {
  padding-bottom: 20px;
  margin-bottom: 40px;
  position: relative;
}
.ds-sec3-wrap .font3224::before {
  content: "";
  width: 80%;
  height: 1px;
  display: inline-block;
  background: #333333;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.ds-sec3-wrap .txt {
  width: 80%;
  margin-inline: auto;
}
.ds-sec3-box {
  max-width: max(76.389vw, 700px);
  width: 100%;
  margin-inline: auto;
  padding: 65px 35px;
  border: 1px solid #333333;
}
.ds-sec3-box h3 {
  font-size: max(1.806vw, 2rem);
  position: absolute;
  background: #fff;
  padding: 0 1em;
  font-weight: 500;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.ds-sec3-box .btn1 {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}
.sec3 .cs-inner2 {
  padding-top: 80px;
  padding-bottom: 70px;
  padding-inline: 5.55vw;
}
.sec3 .cs-inner2 .dfl {
  gap: 17px;
  flex-wrap: wrap;
}
.sec3 .cs-inner2 .dfl .img-box {
  width: calc(100% / 3 - 17px);
}
.sec3 .cs-inner3 {
  padding-right: 5.55%;
  padding-left: 5.55%;
  padding-top: 80px;
  padding-bottom: max(5.556vw, 80px);
}
.sec3 .sameimg {
  height: 100%;
  min-height: 120px;
  object-fit: cover;
  object-position: left;
}
.dr-wrap {
  position: relative;
}
.dr-tit {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.dr-tit .en-txt {
  writing-mode: tb;
  font-size: max(2.778vw, 4rem);
  color: #45e587;
  font-weight: 700;
  white-space: nowrap;
}
.dr-tit .ja-txt {
  writing-mode: tb;
  font-size: 2.4rem;
  font-weight: 500;
  padding: 1em 0;
  white-space: nowrap;
}
.dr-tit::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 100%;
  background: #333333;
}
.dr-img-box {
  max-width: max(37.292vw, 288px);
  width: 100%;
  position: relative;
}
.dr-img-box::after {
  content: "";
  width: max(17.778vw, 190px);
  aspect-ratio: 1 / 1;
  background: url(../../../uploads/2026/02/first-icon.webp) no-repeat;
  background-size: contain;
  position: absolute;
  right: -5.55%;
  bottom: -160px;
}
.dr-txt-box {
  max-width: max(40.069vw, 288px);
  width: 100%;
  margin-right: clamp(10px, 4.4444vw, 60px);
}
.dr-name {
  color: #333;
  font-size: max(3.333vw, 4.8rem);
  font-weight: 600;
}
.dr-name .s-txt {
  font-size: max(2.5vw, 3.6rem);
}
.dr-name .en-txt {
  font-size: max(1.667vw, 2.4rem);
  color: #45e587;
}
.dr-name .sc {
  margin-right: 0.25em;
}
.dr-his-box table th {
  text-align: left;
}
.dr-his-box table {
  width: 80%;
  margin-inline: auto;
}
.dr-his-box {
  background: #f0f0f0;
  padding-bottom: 30px;
  margin-bottom: 40px;
}
.dr-his-tit {
  font-size: max(1.667vw, 2.4rem);
  color: #fff;
  background: #06c655;
  font-weight: 500;
  padding: 10px 0;
  max-width: 203px;
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}
.dr-his-tit::after {
  content: "";
  width: 50px;
  height: 100%;
  display: inline-block;
  position: absolute;
  right: -40px;
  bottom: 0px;
  background: #f0f0f0;
  border: none;
  z-index: 1;
  transform: skewX(-20deg);
}
.sec3 .cs-inner4 {
  background: url(../../../uploads/2026/02/sec3-bg.jpg) no-repeat;
  background-size: cover;
  padding-top: 80px;
  padding-bottom: 120px;
}
.sec3 .cs-inner4 .tit1 {
  color: #45e587;
}
.sec3 .cs-inner4 .wrap {
  background: #fff;
  max-width: max(57.708vw, 700px);
  width: 100%;
  margin-inline: auto;
  padding: 2.361vw;
}
.list1 li {
  border-bottom: 1px dashed #666666;
  line-height: 3.1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 2.361vw;
}
.list1 li::before {
  content: "";
  display: inline-block;
  width: max(1.25vw, 18px);
  aspect-ratio: 1 / 1;
  background: url(../../../uploads/2026/02/ck-icon.webp) no-repeat;
  background-size: contain;
  margin-right: 20px;
}
.list1.st2 li::before {
  background: url(../../../uploads/2026/02/ckl-icon.webp) no-repeat;
  background-size: contain;
}
/*-------sec4----*/
.ds-sec4-wrap .box {
  padding-top: 130px;
  padding-bottom: 105px;
  position: relative;
}
.ds-sec4-wrap .box:first-child {
  background: url(../../../uploads/2026/02/sec4-bg1.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
.ds-sec4-wrap .box:last-child {
  background: url(../../../uploads/2026/02/sec4-bg2.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
.ds-sec4-wrap .ds-sec4-tit-ja {
  font-size: max(2.083vw, 3rem);
}
.ds-sec4-wrap .ds-sec4-tit-en {
  font-size: max(1.667vw, 2.4rem);
}
.ds-sec4-tit-ja {
  font-size: max(2.083vw, 2rem);
  color: #333;
  text-align: center;
}
.ds-sec4-tit-en {
  font-size: max(1.667vw, 1.6rem);
  color: #45e587;
  text-align: center;
}
.ds-sec4-wrap .box-inner {
  max-width: max(23.542vw, 300px);
  width: 100%;
  margin-left: auto;
  margin-right: 20px;
}
.ds-sec4-wrap .btn1 {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  max-width: 130px;
  height: 40px;
}
.ds-sec4-wrap .co {
  padding-top: 35px;
  padding-bottom: 35px;
  padding-right: 2.083vw;
  padding-left: 2.778vw;
  border: 1px solid #45e587;
}
.ds-sec4-wrap .list1 li {
  padding-left: 5px;
}
.ds-sec4-wrap .list1 li::before {
  margin-right: 5px;
}
.ds-sec4-wrap2 {
  padding-inline: 5.55%;
  justify-content: center;
  gap: 3.472vw;
}
.ds-sec4-wrap2 .ds-sec4-tit-en {
  color: #07a247;
}
.ds-sec4-wrap2 .img-box {
  max-width: max(16.667vw, 150px);
  width: 100%;
}
.ds-sec4-wrap2 .txt-box {
  max-width: max(25.972vw, 200px);
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.ds-sec4-wrap2 .txt-box::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 4px;
  background: #07a247;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.ds-sec4-wrap2 .txt-box::after {
  content: "";
  display: inline-block;
  width: max(2.083vw, 15px);
  aspect-ratio: 1 / 1;
  background: #45e587;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 3;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.ds-sec4-wrap3 {
  padding-inline: 5.55%;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
/*-------ipad----*/
@media screen and (max-width: 1180px) {
  .hd-tel {
    padding: 0 0 0.5em 0;
    margin: 0;
    border: none;
  }
  .hd1 .dfl {
    flex-wrap: wrap;
  }
  .hd1-text {
    flex-wrap: wrap;
  }
  .hd1-text em:last-child {
    display: none;
  }
  .hd1-g {
    display: grid;
    grid-template-columns:
      178px clamp(160px, 12.5vw, 180px)
      clamp(160px, 12.5vw, 180px) clamp(160px, 12.5vw, 180px);
    justify-content: flex-end;
  }
  .is-fixed .hd1-g {
    grid-template-columns:
      178px clamp(120px, 11.389vw, 164px)
      clamp(120px, 11.389vw, 164px) clamp(120px, 11.389vw, 164px);
  }
  #menu-main-menu li {
    margin-right: 0.9em;
  }
  .hd2 a {
    width: 90%;
  }
  .sec1 .co.right {
    padding-inline: 20px;
  }
  .ds-sec2-box1 img,
  .ds-sec2-box2 img {
    object-position: left;
  }
  .ds-sec2-co1 {
    top: 10px;
    left: 5.55%;
  }
  .ds-sec2-co2 {
    bottom: 10px;
    left: 5.55%;
  }
  .ds-sec2-co3 {
    bottom: 10px;
    right: 5.55%;
  }
  .sec2 .tit-wrap2 {
    right: 5.55%;
  }
  .sec3 .cs-inner .img-box img {
    height: 100%;
    object-fit: cover;
  }
  .dr-his-box table {
    width: 95%;
  }
  .ds-sec4-wrap3 {
    justify-content: center;
  }
  .sec3 .cs-inner3 {
    padding-left: 0;
  }
  .ds-sec4-wrap .box-inner {
    margin-right: 5px;
  }
  .ds-sec4-wrap .co {
    padding-left: 5px;
    padding-right: 5px;
  }
  .f-info .hd2 a {
    width: 100%;
  }
}
/*-------ipad-air----*/
@media screen and (max-width: 820px) {
  .logo-box {
    max-width: 222px;
  }
  body .hd1-g {
    display: none;
  }
  .cs-main-menu-nav {
    display: none;
  }
  .gm-sec {
    height: 410px;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }
  .gm-sec iframe {
    height: 100%;
    margin: 0;
  }
  .gm-sec .g-link-btn {
    position: relative;
    top: auto;
    left: auto;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .sec2 .tit-wrap2 {
    top: 40px;
    right: 5px;
  }
  .sec2.ma80 {
    margin-bottom: 30px;
  }
  .sec3 .ma100 {
    margin-bottom: 60px;
  }
  .sec3 .cs-inner .img-box {
    max-width: 100%;
    margin-bottom: 30px;
  }
  .sec3 .cs-inner .ds-sec3-wrap .img-box::before {
    width: 100%;
    height: 17px;
    top: auto !important;
    bottom: -1px !important;
    left: 0 !important;
  }
  .ds-sec2-co1 {
    left: 0%;
  }
  .ds-sec2-co2 {
    left: 0%;
  }
  .ds-sec2-co3 {
    right: 0%;
  }
  .ds-sec4-wrap .box:first-child {
    background: #f0f0f0;
  }
  .ds-sec4-wrap .box:last-child {
    background: #f0f0f0;
  }
  .ds-sec4-wrap .box {
    padding-top: 0;
  }
  .ds-sec4-wrap .box-inner {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-inline: 5.55%;
  }
  .f-gbtn-wrap {
    background: #fff;
    width: 100%;
    text-align: center;
  }
  .f-acc {
    padding-right: 0;
  }
  .f-acc .gm-sec .g-link-btn {
    margin-right: auto;
    margin-left: auto;
  }
  .f-acc .dfl {
    justify-content: center;
  }
  .f-acc .gm-sec iframe {
    height: 260px;
  }
  .footerwrap .ft-group {
    justify-content: left;
    gap: 55px;
  }
  .header.is-fixed {
    background: none;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  .mv .fv-video {
    height: max(100vh, 910px);
    object-fit: cover;
  }
  .logo-box {
    max-width: 222px;
    margin-right: auto;
  }
  .mv-box2 .wrap {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .mv-box2 .wrap:first-child {
    margin-left: 20px;
  }
  .mv-txt-wrap {
    align-items: center;
  }
  .mv-box1 p {
    line-height: 2;
  }
  .cwhite.chb {
    color: #333;
  }
  .sec1 .ds-wrap .box {
    gap: 3px;
    justify-content: space-evenly;
  }
  .sec1 .ds-wrap {
    padding: 10px 3px 10px 0;
  }
  .sec1 .ds-wrap .box:last-child {
    padding-left: 5px;
  }
  .sec2 .txt-box {
    max-width: 100%;
    padding-inline: 4.55%;
  }
  .sec2 .font3224 {
    width: 100%;
  }
  .ds-sec2-box1 {
    max-width: 181px;
    width: 100%;
  }
  .ds-sec2-box2 {
    max-width: 211px;
    width: 100%;
    margin-left: auto;
  }
  .ds-sec2-box3 {
    right: 5.55%;
    top: 26px;
  }
  .sec2 .sp-box1 {
    background: url(../../../uploads/2026/02/sec2-img2.jpg) no-repeat;
    padding-bottom: 65px;
    background-size: contain;
    background-position: right;
  }
  .ds-sec2-box4 {
    bottom: 65px;
  }
  .ds-sec2-co {
    position: relative;
  }
  .sec2 .tit-wrap2 {
    position: relative;
    justify-content: center;
    top: auto;
    right: auto;
    margin-bottom: 10px;
  }
  .sec2 .cs-inner2 {
    padding-top: 40px;
    padding-bottom: 90px;
    background-size: cover;
    background-position: center;
  }
  .ds-sec2-co {
    max-width: 100%;
    min-height: auto;
    left: auto;
    top: auto;
    bottom: auto;
    padding: 5px 10px 15px;
    margin-bottom: 20px;
  }
  .sec2 .sp-box2 {
    padding-inline: 5.55%;
    padding-bottom: 50px;
    padding-top: 40px;
  }
  .tit2 {
    min-width: auto;
  }
  .ds-sec2-box5 {
    max-width: 100%;
  }
  .ds-sec3-wrap .txt-box {
    padding-inline: 5.55%;
  }
  .ds-sec3-wrap .txt {
    width: 100%;
  }
  .ds-sec3-wrap1 .txt-box::before,
  .ds-sec3-wrap2 .txt-box::before {
    left: 0;
    top: 20px;
  }
  .ds-sec3-box h3 {
    white-space: nowrap;
  }
  .ds-sec3-box {
    max-width: 100%;
    width: 95%;
    padding: 35px 15px 55px;
  }
  body .ds-sec3-box.ma100 {
    margin-bottom: 100px;
  }
  .sec3 .cs-inner {
    padding-bottom: 50px;
  }
  .sec3 .cs-inner2 {
    padding-inline: 0;
  }
  .sec3 .cs-inner2 .dfl {
    flex-direction: unset;
    justify-content: center;
    align-items: center;
  }
  .sec3 .cs-inner2 .dfl .img-box {
    width: calc(100% / 2 - 17px);
  }
  .sec3 .cs-inner3 .dfl {
    align-items: flex-end;
  }
  .dr-img-box {
    margin-bottom: 140px;
  }
  .dr-img-box::after {
    bottom: -135px;
    right: 0;
  }
  .sec3 .cs-inner3 {
    padding-right: 15px;
  }
  .sec3 .sameimg {
    height: auto;
  }
  .dr-txt-box {
    max-width: 100%;
    margin-right: 0;
    padding-left: 15px;
  }
  .dr-tit {
    justify-content: flex-start;
  }
  .dr-tit::after {
    height: 17%;
  }
  .dr-name {
    margin-left: auto;
    width: 88%;
  }
  .dr-his-box table {
    width: 70%;
  }
  .dr-his-box table tr {
    display: flex;
    flex-direction: column;
  }
  .banner-box {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .sec3 .cs-inner4 {
    background: #f0f0f0;
  }
  .sec3 .cs-inner4 .wrap {
    max-width: 100%;
    width: 90%;
    padding: 15px;
    margin-inline: auto;
  }
  .list1 li {
    align-items: baseline;
    line-height: 2.5;
  }
  .list1 li::before {
    height: 18px;
    margin-right: 10px;
  }
  .sec3 .cs-inner4 .img-box {
    margin-bottom: 40px;
  }
  .ds-sec4-wrap .img-box {
    margin-bottom: 30px;
  }
  .ds-sec4-wrap .btn1 {
    bottom: 15px;
  }
  .ds-sec4-wrap .box {
    padding-bottom: 75px;
  }
  .ds-sec4-wrap .co {
    padding: 35px;
  }
  .ds-sec4-wrap3 {
    gap: 30px;
  }
  .dfl.f-flex2 {
    gap: 30px 50px;
  }
  .f-info {
    padding-top: 50px;
  }
  .f-logo-box {
    margin-bottom: 30px;
  }
  .f-info .ma30 {
    margin-bottom: 50px;
  }
  .f-flex1 {
    gap: 30px;
  }
  .f-acc .dfl {
    justify-content: center;
  }
  .f-acc .right {
    max-width: 100%;
    padding-inline: 5.55%;
  }
  .nav-css {
    gap: 0;
  }
  #page-top {
    display: none;
  }
  footer {
    padding-bottom: 60px;
  }
  .sec3 .cs-inner .img-box img {
    height: auto;
  }
}
/* CSS Document */
