.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 973px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background: url("../images/ikey-bg.jpg") center/cover no-repeat;
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .key_text {
  position: relative;
  z-index: 0;
}
.home_page .key .key_text::before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  height: 274px;
  background-color: #fff;
  z-index: -1;
}
.home_page .key .key_text::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 363px;
  height: 71.9%;
  background-color: #2a4d91;
  z-index: -2;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.home_page .key .key_text .item {
  display: flex;
  padding-bottom: 137px;
  align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  padding-left: 113px;
}
.home_page .key .key-slider {
  z-index: 99;
  max-width: 50vw;
  opacity: 0;
}
.home_page .key .key-slider.slick-slider {
  opacity: 1;
}
.home_page .key .key-ig {
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
}
.home_page .key .key-ig img {
  width: 132em;
}
.home_page .key .catch {
  display: flex;
  flex-direction: column;
  height: 41.9em;
  justify-content: center;
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-weight: 800;
  font-family: var(--f-notosans);
  letter-spacing: 0.1em;
}
.home_page .key h2 {
  margin-bottom: 0.44em;
  font-size: 6.2em;
  line-height: 1.65;
  text-shadow: 3px 3px 10px rgba(0, 39, 93, 0.3);
}
.home_page .key p {
  font-size: 2.8em;
  line-height: 1.5;
  letter-spacing: 0.075em;
  text-shadow: 3px 3px 6px rgba(0, 39, 93, 0.3);
}
@keyframes ikey-scroll {
  0% {
    opacity: 0;
    scale: 0.9;
  }
  100% {
    scale: 1;
    opacity: 0.2;
  }
}
.home_page .key .ikey-scroll a {
  text-decoration: none;
  position: absolute;
  bottom: 126px;
  left: 89px;
  width: 111px;
  height: 111px;
  border-radius: 100%;
  background-color: #487de2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 500;
  font-family: var(--f-en);
  font-size: 16px;
  letter-spacing: 0.05em;
  opacity: 1 !important;
}
.home_page .key .ikey-scroll a::before {
  content: "";
  position: absolute;
  inset: -16px;
  background-color: #487de2;
  opacity: 0;
  border-radius: 100%;
  z-index: -1;
  animation: ikey-scroll 2.4s infinite;
}
.home_page .topic_path {
  display: none;
}

@media (min-width: 769px) and (max-width: 1919px) {
  .home_page .key {
    --max-height: 97.3em;
    --min-height: 55em;
    font-size: 0.5208333333vw;
  }
  .home_page .key .key_text::before {
    height: 27.4em;
    bottom: -10em;
  }
  .home_page .key .key_text::after {
    width: 36.3em;
  }
  .home_page .key .key_text .item {
    padding-left: 11.3em;
    padding-bottom: 13.7em;
  }
  .home_page .key .ikey-scroll a {
    bottom: 7.875em;
    left: 5.5625em;
    width: 6.9375em;
    height: 6.9375em;
    font-size: 1.6em;
  }
  .home_page .key .ikey-scroll a::before {
    inset: -1em;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (max-height: 720px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.515vw, 1.03vmin);
    --max-height: min(100vh, 97.08737864077669em);
  }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
  .home_page .key .key-ig {
    right: -30px;
  }
}
.ien {
  font-size: 18px;
  font-weight: 500;
  font-family: var(--f-en);
  color: #e19e00;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
  text-shadow: 0 0 30px rgba(5, 51, 105, 0.3);
}

.ijp {
  font-family: var(--f-notosans);
  font-weight: 700;
  font-size: 39px;
  line-height: 1.74;
  letter-spacing: 0.075em;
}

.ibtn a {
  display: flex;
  align-items: center;
  width: 292px;
  min-height: 79px;
  background-color: #fff;
  text-decoration: none;
  color: rgba(42, 77, 145, 0.86);
  font-weight: 700;
  font-family: var(--f-notosans);
  padding: 12px 60px 10px 30px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  position: relative;
}
.ibtn a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 28px;
  margin: auto 0;
  width: 24px;
  height: 24px;
  background-color: rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
}
.ibtn a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 38px;
  margin: auto 0;
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #3a66bb;
  border-right: solid 1px #3a66bb;
  transition: 0.3s ease;
}

.iconcerns {
  position: relative;
  z-index: 1;
  padding: 0 20px 187px;
}
.iconcerns::before {
  content: "";
  position: absolute;
  inset: 96px -8px 0 -7px;
  background: url("../images/iconcerns-bg.png") center/cover no-repeat;
  z-index: -1;
}
.iconcerns .wrap {
  padding: 98px 100px 81px;
  max-width: 100%;
  width: 1300px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
.iconcerns .wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  right: max((100vw - 100%) / -2, -312px);
  z-index: -1;
  background-color: #fff;
  box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1);
}
.iconcerns .ttl {
  font-family: var(--f-notosans);
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--main-color);
  line-height: 1.4;
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-bottom: 53px;
}
.iconcerns .ttl span {
  position: relative;
  z-index: 0;
  padding-right: 79px;
}
.iconcerns .ttl span::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  margin: auto 0;
  height: 1px;
  width: 100vw;
  background-color: #d5d5d5;
}
.iconcerns .ilist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.iconcerns .ilist a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: #f7f7f7;
  font-weight: 500;
  text-decoration: none;
  color: var(--clr1);
  font-family: var(--f-notosans);
  padding: 22px 30px 24px 62px;
  letter-spacing: 0.1em;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.iconcerns .ilist a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 22px;
  margin: auto 0;
  width: 24px;
  height: 24px;
  background: url("../images/iconcerns-ic.png") center/12px auto no-repeat;
  background-color: #eaeaea;
  transition: all 0.3s ease;
}
.iconcerns .ilist a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  margin: auto 0;
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #3a66bb;
  border-right: solid 1px #3a66bb;
  transition: all 0.3s ease;
}

.iproblem {
  position: relative;
  z-index: 0;
  background: url("../images/iproblem-bg.jpg") center/cover no-repeat;
}
.iproblem .wrap {
  position: relative;
  z-index: 0;
  padding: 115px 0 188px;
}
.iproblem .wrap::before {
  content: "";
  position: absolute;
  top: -51px;
  right: max((100vw - 100%) / -2, -410px);
  bottom: 0;
  width: 631px;
  background-color: #d3d9e4;
  clip-path: polygon(79% 0%, 100% 0, 100% 100%, 0% 100%);
  z-index: -1;
}
.iproblem .wrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: max((100vw - 100%) / -2, -410px);
  width: 530px;
  aspect-ratio: 530/533;
  background-color: #f6f7f9;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 55.6% 100%, 0% 100%);
}
.iproblem .ijp {
  font-size: 43px;
  text-align: center;
  color: rgba(42, 77, 145, 0.86);
  line-height: 1.75;
  letter-spacing: 0.0744186047em;
  padding-left: 4px;
  margin-bottom: 119px;
  position: relative;
}
.iproblem .ijp::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 3.0232558139534884em;
  aspect-ratio: 130/130;
  opacity: 0.3;
  background: url("../images/iproblem-eff01.png") center/contain no-repeat;
  z-index: -1;
}
.iproblem .box {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
}
.iproblem .ijp2 {
  flex-shrink: 0;
  font-size: 25px;
  font-family: var(--f-notosans);
  font-weight: 700;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 39px;
  line-height: 1.72;
  letter-spacing: 0.08em;
  color: rgba(42, 77, 145, 0.86);
  margin-bottom: 4px;
}
.iproblem .ijp2::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 80px;
  height: 1px;
  background-color: var(--main-color);
}
.iproblem .ivideo {
  width: 756px;
  height: 422px;
}

.icooperate {
  position: relative;
  z-index: 0;
  background-color: var(--main-color);
  color: #fff;
}
.icooperate .inner {
  max-width: 1540px;
}
.icooperate .wrap {
  position: relative;
  z-index: 0;
  padding: 148px 0 160px;
}
.icooperate .wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: max((100vw - 100%) / -2, -210px);
  width: 293px;
  aspect-ratio: 286/643;
  background-color: #3359a0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: -1;
}
.icooperate .box {
  width: 506px;
  max-width: 100%;
  margin-left: 200px;
}
.icooperate .ihead {
  margin-bottom: 49px;
}
.icooperate .ijp {
  color: rgba(255, 255, 255, 0.86);
}
.icooperate .icoop-img-ab {
  position: absolute;
  top: -39px;
  right: max((100vw - 100%) / -2, -210px);
}
.icooperate .desc {
  margin-bottom: 54px;
}
.icooperate .desc p {
  letter-spacing: 0.025em;
}
.icooperate .icoop-post {
  position: relative;
  margin-top: 160px;
  display: grid;
  grid-template-columns: 50.55% 37%;
}
.icooperate .icoop-post .ien {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 5px;
}
.icooperate .icoop-post .desc {
  margin-bottom: 0;
}
.icooperate .icoop-post .ibtn {
  margin-top: 50px;
}
.icooperate .icoop-head {
  /* padding-top: 78px;
  margin-bottom: 48px; */
  padding-top: 36px;
  margin-bottom: 25px;
}
.icooperate .ijp2 {
  font-size: 28px;
  font-family: var(--f-notosans);
  font-weight: 700;
  position: relative;
  padding-bottom: 26px;
  line-height: 1.72;
  letter-spacing: 0.075em;
  color: rgba(239, 248, 255, 0.86);
}
.icooperate .ijp2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 80px;
  height: 1px;
  background-color: #fff;
}
.icooperate .ijp2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: -200px;
  right: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}
.icooperate .icoop-img {
  grid-row: 1 / span 3;
  padding-right: 40px;
  position: relative;
  z-index: 1;
}
.icooperate .icoop-img img {
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.12);
}

.icontact {
  padding: 147px 0 155px;
  color: #fff;
  text-align: center;
  background: url("../images/icontact-bg.jpg") center/cover no-repeat;
  background-attachment: fixed;
}
.icontact .ihead {
  margin-bottom: 39px;
  position: relative;
  z-index: 0;
}
.icontact .icontact-head {
  display: flex;
  align-items: center;
  justify-content: center;
}
.icontact .ihead::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% + 30px);
  bottom: 0;
  margin: auto 0;
  width: 80px;
  height: 80px;
  aspect-ratio: 130/130;
  /* z-index: -1; */
  background: url("../images/iproblem-eff01.png") center/contain no-repeat;
  filter: brightness(0) invert(1);
}
.icontact .ijp {
  color: rgba(255, 255, 255, 0.86);
}
.icontact .desc {
  margin-bottom: 64px;
}
.icontact .desc p {
  letter-spacing: 0.4px;
}
.icontact .icontact-gr {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.icontact .icontact-gr p {
  width: 25.25em;
  height: 10.9375em;
  line-height: 1.5;
  font-weight: 600;
  font-family: var(--f-notosans);
  margin: 0;
  font-size: 16px;
}
.icontact .icontact-gr a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: #fff;
  opacity: 1;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.icontact .icontact-gr a::before {
  content: "";
  position: absolute;
  inset: 0 36% 0 0;
  z-index: -1;
  clip-path: polygon(0 0, 100% 0, 41% 100%, 0% 100%);
  background-color: #fff;
  opacity: 0.1;
  transition: all 0.3s ease;
}
.icontact .icontact-gr .text {
  display: block;
  margin-bottom: 0.6875em;
  padding-left: 0.125em;
}
.icontact .icontact-gr .num {
  font-size: 1.8125em;
  font-weight: 500;
  font-family: var(--f-en);
  padding-left: 1.3793103448em;
  letter-spacing: 0.024em;
  position: relative;
}
.icontact .icontact-gr .num::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  margin: auto 0;
  width: 0.9310344828em;
  aspect-ratio: 27/27;
  background: url("../images/icontact-tel.png") center/contain no-repeat;
}
.icontact .icontact-gr .tt {
  font-size: 1.6875em;
  padding-left: 0.8148148148em;
  letter-spacing: 0.025em;
  position: relative;
}
.icontact .icontact-gr .tt::before {
  content: "";
  position: absolute;
  top: 0.2222222222em;
  bottom: 0;
  left: -0.7407407407em;
  margin: auto 0;
  width: 1.1481481481em;
  aspect-ratio: 31/23;
  background: url("../images/icontact-email.png") center/contain no-repeat;
}
.icontact .icontact-tel a {
  background-color: var(--main-color2);
}
.icontact .icontact-mail a {
  background-color: #3a66bb;
}
.icontact .icontact-mail a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #fff;
  opacity: 0;
  transition: all 0.3s ease;
}

.icontact2 {
  padding: 125px 0 170px;
}

.inquiry {
  padding: 129px 0 0;
}
.inquiry .ijp {
  color: var(--main-color);
}
.inquiry .inquiry-tab {
  margin-top: -1px;
}
.inquiry .thead {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
}
.inquiry .thead li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 13.1578947368em;
  height: 6.8421052632em;
  background: #ededee;
  font-size: 19px;
  font-weight: 600;
  color: var(--main-color);
  font-family: var(--f-notosans);
  text-align: center;
  padding: 0.5263157895em;
  cursor: pointer;
  transition: all 0.3s ease;
}
.inquiry .thead li::after {
  content: "";
  display: block;
  margin: 0.6315789474em auto 0;
  width: 1.2631578947em;
  height: 1.2631578947em;
  background: url("../images/inquiry-ic.png") center top 0.5263157895em/0.4736842105em auto no-repeat;
  background-color: rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
}
.inquiry .thead li.active {
  background-color: var(--main-color);
  color: #fff;
  cursor: default;
}
.inquiry .thead li.active::after {
  background-color: rgba(255, 255, 255, 0.2);
  background-image: url("../images/inquiry-ic-w.png");
}
.inquiry .tcontent {
  display: none;
  position: relative;
  z-index: 0;
  padding: 70px 0;
  min-height: 510px;
}
.inquiry .tcontent.active {
  display: block;
}
.inquiry .tcontent::before {
  content: "";
  position: absolute;
  inset: 0 max((100vw - 100%) / -2, -410px);
  background-color: rgba(9, 31, 74, 0.6);
  z-index: -1;
}
.inquiry .tcontent::after {
  content: "";
  position: absolute;
  inset: 0 max((100vw - 100%) / -2, -410px);
  background: url("../images/inquiry-bg1.jpg") center/cover no-repeat;
  z-index: -2;
}
.inquiry [data-tab-content="tab2"]::after {
  background-image: url("../images/inquiry-bg2.jpg");
}
.inquiry [data-tab-content="tab3"]::after {
  background-image: url("../images/inquiry-bg3.jpg");
}
.inquiry .inquiry-box {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 25px;
}
.inquiry .inquiry-btn {
  margin: 0;
}
.inquiry .inquiry-btn a {
  display: flex;
  align-items: center;
  min-height: 90px;
  background-color: #fff;
  font-family: var(--f-notosans);
  font-weight: 500;
  text-decoration: none;
  color: var(--main-color);
  padding: 8px 20px 10px 31px;
  position: relative;
  z-index: 0;
  line-height: 1.4;
}
.inquiry .inquiry-btn a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background-color: #d3d9e5;
  z-index: -1;
  transition: all 0.3s ease;
}
.inquiry .inquiry-btn a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 4px;
  right: 25px;
  margin: auto 0;
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #3a66bb;
  border-right: solid 1px #3a66bb;
}
.inquiry .inquiry-banner {
  display: block;
  width: fit-content;
  margin: 50px auto 0;
  position: relative;
  z-index: 0;
  background-color: var(--main-color);
}

.istudy {
  position: relative;
  z-index: 0;
}
.istudy .wrap {
  position: relative;
  z-index: 0;
  padding: 103px 0 150px;
}
.istudy .wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: max((100vw - 100%) / -2, -410px);
  width: 289px;
  aspect-ratio: 282/543;
  background-color: #4a68a1;
  z-index: -1;
  clip-path: polygon(100% 101%, 100% 0, -1% 101%);
}
.istudy .ihead {
  margin-bottom: 45px;
}
.istudy .ijp {
  text-align: center;
  color: var(--main-color);
}
.istudy .list {
  display: flex;
  gap: 25px;
}
.istudy .item {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 43px;
  width: 350px;
  height: 350px;
  position: relative;
  z-index: 0;
  color: #fff;
  font-family: var(--f-notosans);
}
.istudy .item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-color: #253146;
  opacity: 0.7;
  transition: all 0.3s ease;
}
.istudy .item picture {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.istudy .item .label {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ecb83f;
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  padding: 10px 18px 9px 24px;
}
.istudy .item .label::before {
  content: "";
  position: absolute;
  left: 100%;
  top: 0;
  bottom: 0;
  width: 20px;
  background-color: #ecb83f;
  clip-path: polygon(-2% -2%, 100% -2%, -2% 100%);
}
.istudy .item .tt {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 19px;
}
.istudy .item .arrow {
  width: 24px;
  height: 24px;
  background-color: #fff;
  margin: 0;
  position: relative;
}
.istudy .item .arrow::before {
  content: "";
  position: absolute;
  inset: 0 0 1px -1px;
  z-index: -1;
  margin: auto;
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #3a66bb;
  border-right: solid 1px #3a66bb;
  z-index: 1;
}

.iflow {
  background-color: #f0f1f1;
}
.iflow .ijp {
  color: var(--main-color);
}
.iflow .wrap {
  position: relative;
  z-index: 0;
  padding: 147px 0 138px;
}
.iflow .wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: max((100vw - 100%) / -2, -410px);
  background-color: #cdd3dd;
  width: 334px;
  aspect-ratio: 334/645;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: -1;
}
.iflow .wrap::after {
  content: "";
  position: absolute;
  top: 0;
  right: max((100vw - 100%) / -2, -410px);
  background-color: #445787;
  width: 822px;
  height: 100%;
  clip-path: polygon(65.5% -1%, 100% -1%, 100% 100%, 0% 100%);
  z-index: -2;
}
.iflow .iflow-eff {
  position: absolute;
  bottom: 67px;
  right: max((100vw - 100%) / -2, -410px);
  background-color: #283e76;
  width: 239px;
  aspect-ratio: 239/460;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  z-index: -1;
}
.iflow .iflow-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 79px;
}
.iflow .ibtn {
  margin: 21px 0 0;
}
.iflow .step {
  display: flex;
  gap: 33px;
  counter-reset: iflow;
  margin-bottom: 100px;
}
.iflow .step li {
  width: 250px;
  height: 250px;
  background-color: #fff;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.12);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  position: relative;
  z-index: 0;
}
.iflow .step li:last-child::after {
  display: none;
}
.iflow .step li::before {
  counter-increment: iflow;
  content: counter(iflow, decimal-leading-zero);
  position: absolute;
  top: 33px;
  left: 36px;
  font-family: var(--f-en);
  font-size: 47px;
  font-weight: 500;
  color: #487de2;
  line-height: 1;
}
.iflow .step li::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -19px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 19px solid #fff;
}
.iflow .step picture {
  position: absolute;
  top: 0;
  right: 0;
}
.iflow .step .step-tt {
  font-size: 21px;
  font-weight: 700;
  font-family: var(--f-notosans);
  color: var(--main-color);
  line-height: 1.4;
  margin-bottom: 10px;
  letter-spacing: 0.0476190476em;
}
.iflow .step .step-desc {
  line-height: 1.6;
  letter-spacing: 0px;
}
.iflow .bnr-gr {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.iflow .bnr {
  max-width: 100%;
  width: 530px;
  margin: 0;
}
.iflow .bnr a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px 50px 20px;
  color: #fff;
  text-decoration: none;
  min-height: 150px;
  opacity: 1;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.12);
  z-index: 0;
}
.iflow .bnr a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.8;
  transition: all 0.3s ease;
}
.iflow .bnr-en {
  font-family: var(--f-en);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
}
.iflow .brn-tt {
  font-family: var(--f-notosans);
  font-size: 24px;
  font-weight: 700;
}
.iflow .brn-arr {
  width: 24px;
  height: 24px;
  position: absolute;
  bottom: 20px;
  right: 20px;
  background-color: #fff;
}
.iflow .brn-arr::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
}
.iflow .bnr-fees a {
  background: url("../images/iflow-fees.jpg") center/cover no-repeat;
}
.iflow .bnr-fees a::before {
  background-color: #e19e00;
}
.iflow .bnr-fees a .brn-arr::before {
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #e19e00;
  border-right: solid 1px #e19e00;
}
.iflow .bnr-faq a {
  background: url("../images/iflow-faq.jpg") center/cover no-repeat;
}
.iflow .bnr-faq a::before {
  background-color: #487de2;
}
.iflow .bnr-faq a .brn-arr::before {
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #487de2;
  border-right: solid 1px #487de2;
}

.ilaywers {
  background-color: #f6f7f7;
}
.ilaywers .wrap {
  padding: 119px 0;
  position: relative;
  z-index: 0;
}
.ilaywers .wrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: max((100vw - 100%) / -2, -410px);
  width: 325px;
  aspect-ratio: 313/608;
  background-color: #fff;
  z-index: -1;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
.ilaywers picture {
  position: absolute;
  top: 0;
  left: max(calc(-50vw + 50%), -410px);
  z-index: -1;
}
.ilaywers .desc p {
  letter-spacing: 0.025em;
  margin-bottom: 2.125em;
  text-align: right;
}
.ilaywers .desc p:last-child {
  margin-bottom: 0;
}
.ilaywers .ibtn-gr {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 30px;
}
.ilaywers .ihead {
  margin-bottom: 35px;
  text-align: right;
}
.ilaywers .ijp {
  color: var(--main-color);
}
.ilaywers .ibtn {
  margin: 0;
}
.ilaywers .ibtn:last-child {
  margin-bottom: 0;
}
.ilaywers .ibtn a {
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
}

.iabout {
  background-color: #e0effa;
  padding: 160px 0 129px;
  position: relative;
  z-index: 0;
}
.iabout::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/iabout-bg.jpg") center/cover no-repeat;
  z-index: -1;
  opacity: 0.05;
}
.iabout .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 54px 30px;
  position: relative;
  z-index: 0;
}
.iabout .iabout-eff {
  position: absolute;
  top: -71px;
  right: -77px;
  font-family: var(--f-en);
  font-size: 110px;
  font-weight: 500;
  line-height: 0.9;
  letter-spacing: 0.05em;
  text-align: right;
  color: #eff8ff;
  z-index: -1;
  text-transform: uppercase;
  margin: 0;
}
.iabout .txt {
  width: 533px;
}
.iabout .ihead {
  margin-bottom: 40px;
}
.iabout .ijp {
  color: var(--main-color);
}
.iabout .iabout-tbl tr:last-child th,
.iabout .iabout-tbl tr:last-child td {
  border: none;
}
.iabout .iabout-tbl th,
.iabout .iabout-tbl td {
  border: none;
  border-bottom: 1px solid #b8d4eb;
  padding: 25px 0;
}
.iabout .iabout-tbl th {
  font-size: 16px;
  width: 103px;
  font-weight: 400;
  text-align: left;
  padding-right: 10px;
}
.iabout .iabout-tbl td {
  font-size: 16px;
  letter-spacing: 0.0714285714em;
  line-height: 1.4;
}
.iabout .iabout-tbl .fz16 {
  font-size: 16px;
  letter-spacing: 0.075em;
  line-height: 1.4;
}
.iabout .ig {
  width: 510px;
  margin-top: 89px;
}
.iabout .ig img {
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.12);
}
.iabout .imap {
  width: 100%;
  height: 370px;
}
.iabout .ibtn-gr {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 7px;
  gap: 8px;
}
.iabout .ibtn {
  margin: 0;
}
.iabout .ibtn-ytb a {
  display: flex;
  align-items: center;
  width: 292px;
  min-height: 79px;
  background-color: #ff0000;
  color: #fff;
  padding: 10px 40px 10px 27px;
  position: relative;
  z-index: 0;
  font-family: var(--f-notosans);
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.05em;
}
.iabout .ibtn-ytb a::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 21px;
  background: url("../images/ic-youtube.png") center/contain no-repeat;
  margin-right: 10px;
}
.iabout .ibtn-ytb a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 27px;
  margin: auto 0;
  width: 24px;
  height: 24px;
  background: url("../images/ic-share-ytb.png") center/contain no-repeat;
}

.ifeatures {
  padding: 122px 0 132px;
  background-color: #f8f8f8;
}
.ifeatures .ihead {
  text-align: center;
  margin-bottom: 73px;
}
.ifeatures .ijp {
  color: var(--main-color);
}
.ifeatures .box {
  position: relative;
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 104px 30px;
  counter-reset: ifeatures;
  margin-bottom: 60px;
}
.ifeatures .box:not(.hidden) .btn-more {
  display: none;
}
.ifeatures .box.hidden {
  height: 623px;
  overflow: hidden;
}
.ifeatures .box.hidden::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 170px;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f8f8f8 30%);
  z-index: 1;
}
.ifeatures .item {
  width: 510px;
  z-index: 0;
  background-color: #fff;
}
.ifeatures .img {
  position: relative;
}
.ifeatures .point {
  position: absolute;
  bottom: -16px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: var(--main-color2);
  font-family: var(--f-en);
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  text-transform: capitalize;
  letter-spacing: 0.05em;
}
.ifeatures .point::after {
  content: counter(ifeatures, decimal-leading-zero);
  counter-increment: ifeatures;
  font-size: 67px;
  line-height: 1;
  margin-top: 3px;
  display: block;
  letter-spacing: 0px;
}
.ifeatures .txt {
  padding: 36px 45px;
}
.ifeatures .ttl {
  font-family: var(--f-notosans);
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 21px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.075em;
}
.ifeatures .desc {
  letter-spacing: 0.4px;
}
.ifeatures .btn-more {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 auto;
  z-index: 0;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 18px;
  font-weight: 500;
  font-family: var(--f-notosans);
  width: fit-content;
  z-index: 2;
  letter-spacing: 0.0555555556em;
  transition: all 0.3s ease;
}
.ifeatures .btn-more::before {
  content: "";
  width: 70px;
  height: 70px;
  margin-right: 21px;
  border-radius: 100%;
  background: url("../images/ifeatures-more.png") center/18px auto no-repeat;
  background-color: #eaeaea;
  transition: all 0.3s ease;
}
.ifeatures .ibtn a {
  margin: 0 auto;
}

.ipost {
  padding: 109px 0px 107px;
}
.ipost .ipost-w {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.ipost .box {
  width: calc((100% - 20px) / 2);
  max-width: 638px;
  background-color: #f6f7f7;
}
.ipost .bx {
  padding: 51px 46px 55px;
}
.ipost .box-orange {
  --main-color: #ecb83f;
}
.ipost .ipost-tt {
  font-size: 25px;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-family: var(--f-notosans);
  line-height: 1.4;
  margin-bottom: 33px;
  color: var(--main-color);
}
.ipost li {
  width: 100%;
  margin-bottom: 28px;
  position: relative;
}
.ipost li:last-child {
  margin-bottom: 0;
}
.ipost li a {
  display: block;
  text-decoration: none;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  max-width: 100%;
  color: var(--clr1);
  padding: 5px 0;
}
.ipost li a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1px;
  margin: auto 0;
  width: 24px;
  height: 24px;
  background-color: rgba(0, 0, 0, 0.04);
  transition: all 0.3s ease;
}
.ipost li a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 9px;
  margin: auto 0;
  width: 5.658px;
  height: 5.658px;
  transform: rotate(45deg);
  border-top: solid 1px #3a66bb;
  border-right: solid 1px #3a66bb;
  transition: all 0.3s ease;
}
.ipost li a .date {
  transition: all 0.3s;
  font-size: 0.875em;
  color: #b4b4b4;
  font-family: var(--f-en);
  display: block;
  letter-spacing: 0.05em;
  margin-bottom: 0.8571428571em;
}
.ipost li a .title {
  display: block;
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  font-family: var(--f-notosans);
  letter-spacing: 0.05em;
  padding-right: 1.875em;
}
.ipost .ipost-btn a {
  color: #fff;
  font-weight: 500;
  font-family: var(--f-notosans);
  min-height: 70px;
  background-color: var(--main-color);
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ipost-banner {
  position: relative;
  margin-top: 50px;
}
.ipost-banner.active .arr::before {
  transform: rotate(0deg);
}
.ipost-banner.active .tbody {
  display: block;
}
.ipost-banner .thead {
  background-color: #f6f7f7;
  padding: 33px 27px 33px 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.3s ease;
}
.ipost-banner .ibnr-tt {
  font-family: var(--f-notosans);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  letter-spacing: 0.05em;
}
.ipost-banner .arr {
  width: 24px;
  height: 24px;
  background-color: rgba(0, 0, 0, 0.04);
  position: relative;
}
.ipost-banner .arr::before,
.ipost-banner .arr::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 9px;
  height: 1px;
  background-color: #3a66bb;
  transition: all 0.3s ease;
}
.ipost-banner .arr::before {
  transform: rotate(90deg);
}
.ipost-banner .tbody {
  background-color: #f6f7f7;
  padding: 3px 68px 30px;
  display: none;
}
.ipost-banner .row {
  display: flex;
  justify-content: center;
  gap: 4px;
  margin-bottom: 20px;
}
.ipost-banner .row:last-child {
  margin-bottom: 0;
}
.ipost-banner .col5 {
  gap: 10px;
}
.ipost-banner .col4 {
  gap: 11px;
  padding: 0 15px;
}
.ipost-banner .cus {
  gap: 10px;
  flex-wrap: wrap;
  margin-right: -1px;
}
.ipost-banner .ipt-bnr {
  margin: 0;
}

.ipost-banner .ipt-sty1 {
  width: calc((100% - 40px) / 5);
  max-width: 185px;
}

.ipost-banner .ipt-sty2 {
  width: calc((100% - 30px) / 4);
  max-width: 210px;
}

.ipost-banner .ipt-sty2 {
}

.idx_map {
  height: 450px;
}
.idx_map iframe {
  height: 100%;
}

@media (min-width: 1921px) {
  .home_page .key {
    font-size: 0.5208333333vw;
    --max-height: 97.3em;
  }
}
@media (min-width: 1920px) {
  .iconcerns::before {
    background-size: contain;
  }
  .icooperate .ijp {
    font-size: 40px;
  }
  .icontact .ien {
  }
  .icontact .ijp {
    letter-spacing: 2px;
  }
  .inquiry .ijp {
    letter-spacing: 0.05em;
  }
  .inquiry .thead li:not(.active):hover {
    background-color: var(--main-color);
    color: #fff;
  }
  .inquiry .thead li:not(.active):hover::after {
    background-color: rgba(255, 255, 255, 0.2);
    background-image: url("../images/inquiry-ic-w.png");
  }
  .istudy .ijp {
    font-size: 32px;
    letter-spacing: 1.6px;
    transform: translateX(1px);
  }
  .iflow .ien {
    margin-bottom: 10px;
  }
  .iflow .ijp {
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .ilaywers .ijp {
    letter-spacing: 0.05em;
  }
  .iabout .ien {
    margin-bottom: 0px;
  }
  .iabout .ijp {
    letter-spacing: 0.05em;
  }
  .iabout .ibtn-gr {
    padding-right: 58px;
  }
  .ifeatures .ien {
    padding-right: 14px;
    margin-bottom: 1px;
  }
  .ifeatures .ijp {
    letter-spacing: 0.05em;
  }
}
@media (min-width: 769px) {
  .home_page .key .ikey-scroll a {
    transition: all 0.3s ease;
  }
  .home_page .key .ikey-scroll a:hover {
    background-color: #3c60a5;
  }
  .ibtn a:hover {
    opacity: 1;
    color: var(--main-color2);
  }
  .ibtn a:hover::after {
    border-top-color: var(--main-color2);
    border-right-color: var(--main-color2);
  }
  .iconcerns .ilist a:hover {
    background-color: var(--main-color);
    opacity: 1;
    color: #fff;
  }
  .iconcerns .ilist a:hover::before {
    background-color: #fff;
  }
  .iconcerns .ilist a:hover::after {
    border-top-color: #fff;
    border-right-color: #fff;
  }
  .inquiry .inquiry-btn a:hover {
    opacity: 1;
  }
  .inquiry .inquiry-btn a:hover::before {
    height: 100%;
  }
  .inquiry .inquiry-banner:hover picture {
    opacity: 0.7;
  }
  .inquiry .inquiry-banner picture {
    transition: all 0.3s linear;
  }
  .istudy .item:hover::before {
    opacity: 0.9;
  }
  .iflow .bnr a:hover::before {
    opacity: 1;
  }
  .ifeatures .btn-more:hover {
    color: var(--main-color);
  }
  .ifeatures .btn-more:hover::before {
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  }
  .ipost .box-orange li a:hover {
    background-color: rgba(225, 158, 0, 0.1);
  }
  .ipost li a:hover {
    opacity: 1;
    color: var(--clr1);
    padding-left: 5px;
    padding-right: 5px;
    background-color: rgba(42, 77, 145, 0.1);
  }
  .ipost li a:hover::before {
    right: 4px;
  }
  .ipost li a:hover::after {
    right: 14px;
  }
  .ipost-banner:not(.active) .thead:hover {
    background-color: #e5e5e5;
    cursor: pointer;
    color: var(--main-color);
  }
  .icontact .icontact-mail a:hover::before {
    opacity: 0;
  }
  .icontact .icontact-mail a:hover::after {
    opacity: 0.1;
  }
}
@media (min-width: 769px) and (max-width: 1919px) {
  .iconcerns::before {
    top: 5.0026055237vw;
  }
  .iproblem .wrap {
    padding: 60px 0 140px;
  }
  .iproblem .wrap::before {
    width: 32.8645833333vw;
    clip-path: polygon(66% 0%, 100% 0, 100% 100%, 0% 100%);
  }
  .iproblem .wrap::after {
    width: 26.875vw;
  }
  .iproblem .ijp {
    margin-bottom: 60px;
  }
  .icooperate .box {
    margin-left: 10.4166666667vw;
  }
  .icooperate .icoop-img-ab {
    width: 48.6979166667vw;
  }
  .icooperate .wrap {
    padding: 7.7083333333vw 0 8.3333333333vw;
  }
  .icooperate .wrap::before {
    width: 14.8958333333vw;
  }

  .ilaywers {
  }
  .ilaywers .wrap {
    /* display: flex;
    flex-direction: column;
    justify-content: center; */
    /* height: 100px; */
    padding: calc(60 / 1920 * 100vw) 0;
    min-height: calc(799 / 1920 * 100vw);
  }
  .ilaywers .wrap::before {
    width: calc(190 / 1920 * 100vw);
  }
  .ilaywers .ihead {
    margin-bottom: calc(35 / 1920 * 100vw);
  }
  .ilaywers picture {
    width: calc(1070 / 1920 * 100vw);
    /* height: 100%; */
  }
  .ilaywers picture img {
    height: 100%;
    object-fit: cover;
    object-position: top right;
  }
  .ilaywers .desc p {
    margin-bottom: calc(30 / 1920 * 100vw);
  }

  /* .ilaywers .ibtn-gr {
    gap: 1em;
    margin-top: 1.875em;
  }
  .ilaywers .ihead {
    margin-bottom: 2.1875em;
  }
  .ilaywers .ien {
    font-size: 1.125em;
    margin-bottom: 0.3333333333333333em;
  }
  .ilaywers .ijp {
    font-size: 2.4375em;
  }
  .ilaywers .ibtn a {
    width: 18.25em;
    min-height: 4.9375em;
    padding: 0.75em 3.75em 0.625em 1.875em;
  } */
}
@media (min-width: 769px) and (max-width: 1440px) {
  .icooperate .inner {
    padding: 0 40px;
  }
  .icooperate .box {
    margin-left: 40px;
    width: 550px;
  }
  .icooperate .icoop-post {
    margin-top: 100px;
    grid-template-columns: 50.55% 44%;
  }
  .icooperate .icoop-post .ien {
    margin-bottom: 0;
  }
  .icooperate .icoop-post .ibtn {
    margin-top: calc(30 / 1440 * 100vw);
  }
  .icooperate .icoop-head {
    padding-top: 4.4166666667vw;
  }
  .icooperate .ijp2 {
    font-size: 24px;
    padding-bottom: 15px;
  }
  .iproblem .wrap::before {
    top: -3.6111111111vw;
    width: 33.1944444444vw;
    clip-path: polygon(90% 0%, 100% 0, 100% 100%, 0% 100%);
  }
  .icontact {
    padding: 100px 0;
  }
  .icontact .ihead {
    margin-bottom: 20px;
  }
  .icontact .desc {
    margin-bottom: 34px;
  }
  .istudy .wrap::before {
    width: 210px;
  }
  .iflow .wrap::before {
    width: 210px;
  }
  .iflow .wrap::after {
    width: 700px;
    clip-path: polygon(70.7% -1%, 100% -1%, 100% 100%, 0% 100%);
  }
  .iabout .iabout-eff {
    font-size: 7.6388888889vw;
    top: -4.9305555556vw;
  }
  .inquiry .tcontent {
    min-height: 400px;
  }

  .ilaywers {
    font-size: calc(16 / 1440 * 100vw);
  }

  .ilaywers .inner {
    padding: 0 70px;
    max-width: 1250px;
  }

  .ilaywers picture {
    width: 50.1875em;
  }

  .ilaywers .ibtn-gr {
    gap: 1em;
    margin-top: 1.2em;
  }
  .ilaywers .ihead {
    margin-bottom: 1em;
  }
  .ilaywers .ien {
    font-size: 1.125em;
    margin-bottom: 0.3333333333333333em;
  }
  .ilaywers .ijp {
    font-size: 2.4375em;
  }
  .ilaywers .ibtn a {
    width: 18.25em;
    min-height: 4.9375em;
    padding: 0.75em 3.75em 0.625em 1.875em;
  }

  .ilaywers .desc p {
    margin-bottom: 0.8em;
    font-size: max(1em, 10px);
  }
}
@media (min-width: 769px) and (max-width: 1366px) {
  .iconcerns {
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 13.17715959vw;
  }
  .iconcerns .wrap {
    padding: 60px;
  }
  .iconcerns .ttl {
    margin-bottom: 30px;
  }
  .iconcerns .ttl span {
    padding-right: 50px;
  }
}
@media (min-width: 769px) and (max-width: 1280px) {
  .ijp {
    font-size: 34px;
  }
  .icooperate .ihead {
    margin-bottom: 20px;
  }
  .icooperate .box {
    width: 39.0625vw;
  }
  .icooperate .desc {
    margin-bottom: 30px;
  }
  .icooperate .desc p {
    font-size: max(1.25vw, 14px);
  }
  .icooperate .icoop-post {
    margin-top: 7.8125vw;
  }
  .istudy .list {
    justify-content: center;
  }
  .istudy .item {
    width: 27.34375vw;
    height: 27.34375vw;
    padding: 3.359375vw;
  }
  .iabout .wrap {
    gap: 4.21875vw 2.34375vw;
  }
  .iabout .txt {
    width: min(48.4545454545vw, 533px);
  }
  .iabout .ig {
    width: min(42.5vw, 510px);
    margin-top: min(7.7391304348vw, 89px);
  }
  .iabout .iabout-eff {
    right: 0;
  }
  .ifeatures .box {
    gap: 8.125vw 30px;
  }
  .ifeatures .item {
    width: min(45.5357142857vw, 510px);
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .ien {
    font-size: 16px;
  }
  .ijp {
    font-size: 27px;
  }
  .ibtn a {
    width: 250px;
    min-height: 64px;
    padding: 10px 45px 10px 15px;
  }
  .ibtn a::before {
    right: 15px;
  }
  .ibtn a::after {
    right: 25px;
  }
  .iproblem .wrap {
    padding-top: 2.9296875vw;
    padding-bottom: 9.765625vw;
  }
  .iproblem .wrap::before {
    width: max(33.694444vw, 262px);
    top: -37px;
  }
  .iproblem .ijp {
    font-size: 30px;
    margin-bottom: 30px;
  }
  .iproblem .ijp2 {
    padding-bottom: 15px;
  }
  .iproblem .ivideo {
    width: 62.5vw;
    height: 34.765625vw;
  }
  .iconcerns .wrap {
    padding: 30px;
  }
  .iconcerns .ttl {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .iconcerns .ttl span {
    padding-right: 30px;
  }
  .iconcerns .ilist a {
    padding: 15px 30px 15px 48px;
  }
  .iconcerns .ilist a::before {
    left: 13px;
  }
  .icooperate .icoop-img {
    padding-right: 30px;
  }
  .icooperate .ijp2 {
    font-size: 20px;
  }
  .icooperate .icoop-head {
    padding-top: 5px;
  }
  .icontact {
    padding: 9.765625vw 0;
  }
  .icontact .ihead::after {
    width: 70px;
  }
  .icontact .icontact-gr p {
    font-size: min(1.6279069767vw, 14px);
    height: 9.9375em;
  }
  .inquiry {
    padding-top: 7.8125vw;
  }
  .inquiry .inner {
    padding: 0 40px;
  }
  .inquiry .ien {
    margin-bottom: 0;
  }
  .inquiry .thead li {
    font-size: 15px;
  }
  .inquiry .tcontent {
    padding: 50px 0;
    min-height: 39.0625vw;
  }
  .inquiry .inquiry-banner {
    width: 69.921875vw;
    margin-top: 30px;
  }
  .inquiry .inquiry-btn a {
    min-height: 8.7890625vw;
  }
  .istudy .inner {
    padding: 0 40px;
  }
  .istudy .wrap {
    padding: 7.8125vw 0 8.7890625vw;
  }
  .istudy .wrap::before {
    width: 160px;
  }
  .istudy .ihead {
    margin-bottom: 25px;
  }
  .istudy .list {
    gap: 1em;
    font-size: 1.953125vw;
  }
  .istudy .item {
    width: 14.8em;
    height: 14.8em;
    padding: 1.25em;
  }
  .istudy .item .label {
    font-size: 0.75em;
    padding: 0.4em 0.5333333333em 0.4em 0.9333333333em;
  }
  .istudy .item .label::before {
    width: 0.6666666667em;
  }
  .istudy .item .tt {
    font-size: 1em;
    margin-bottom: 0.5em;
  }
  .istudy .item .arrow {
    width: 1.2em;
    height: 1.2em;
  }
  .istudy .item picture img {
    height: 100%;
  }
  .iflow .wrap {
    padding: 7.8125vw 0;
  }
  .iflow .wrap::before {
    width: 160px;
  }
  .iflow .wrap::after {
    width: 534px;
  }
  .iflow .iflow-head {
    margin-bottom: 30px;
  }
  .iflow .inner {
    padding: 0 40px;
  }
  .iflow .step {
    gap: 1.7857142857em;
    justify-content: center;
    margin-bottom: 50px;
    font-size: 1.3671875vw;
  }
  .iflow .step li {
    width: 15.9285714286em;
    height: 15.9285714286em;
    padding: 1.0714285714em;
  }
  .iflow .step li::before {
    top: 0.4255319149em;
    left: 0.4255319149em;
    font-size: 3.3571428571em;
  }
  .iflow .step li::after {
    right: -1.0714285714em;
  }
  .iflow .step picture {
    width: 7.1428571429em;
  }
  .iflow .step .step-tt {
    font-size: 1.5em;
    letter-spacing: 0.04em;
    margin-bottom: 0.4761904762em;
  }
  .iflow .bnr-gr {
    gap: 20px;
  }
  .iflow .bnr a {
    min-height: 12.5vw;
    padding: 1.953125vw 4.8828125vw;
  }
  .iflow .bnr-en {
    margin-top: 10px;
  }
  .iflow .brn-tt {
    font-size: 1.953125vw;
  }
  /* .ilaywers .inner {
    padding-right: 70px;
  } */
  /* .ilaywers picture {
  } */
  /* .ilaywers .wrap {
    padding: calc(70 / 1024 * 100vw) 0;
  } */
  /* .ilaywers .desc p {
    margin-bottom: 10px;
  } */
  .iabout {
    padding: 80px 0;
  }
  .iabout .inner {
    padding: 0 40px;
  }
  .iabout .ihead {
    margin-bottom: 10px;
  }
  .iabout .iabout-tbl th,
  .iabout .iabout-tbl td {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .iabout .iabout-tbl th {
    width: 90px;
  }
  .iabout .txt {
    width: 45.41015625vw;
  }
  .iabout .imap {
    height: 36.1328125vw;
  }
  .iabout .ibtn-ytb a {
    width: 250px;
    min-height: 64px;
  }
  .iabout .iabout-eff {
    top: -25px;
    right: -20px;
  }
  .ifeatures {
    padding: 7.8125vw 0;
  }
  .ifeatures .inner {
    padding: 0 40px;
  }
  .ifeatures .ihead {
    margin-bottom: 30px;
  }
  .ifeatures .ien {
    margin-bottom: 0;
  }
  .ifeatures .box {
    gap: 8.125vw 20px;
    margin-bottom: 40px;
  }
  .ifeatures .box.hidden {
    height: 57.91015625vw;
  }
  .ifeatures .item {
    width: calc((100% - 20px) / 2);
  }
  .ifeatures .txt {
    padding: 3.515625vw 4.39453125vw;
  }
  .ifeatures .ttl {
    font-size: 2.34375vw;
    margin-bottom: 0.875em;
  }
  .ifeatures .btn-more {
    bottom: 3px;
  }
  .ipost {
    padding: 7.8125vw 0;
  }
  .ipost .inner {
    padding: 0 40px;
  }
  .ipost .bx {
    padding: 3.90625vw;
  }
  .ipost .ipost-tt {
    margin-bottom: 20px;
    font-size: 22px;
  }
  .ipost .ipost-btn a {
    min-height: 6.8359375vw;
  }
  .ipost .ipost-btn a::before {
    width: 20px;
    height: 20px;
  }
  .ipost li {
    margin-bottom: 2.9296875vw;
  }
  .ipost-banner {
    margin-top: 40px;
  }
  .ipost-banner .thead {
    padding: 20px;
  }
  .ipost-banner .ibnr-tt {
    font-size: 18px;
  }
  .ipost-banner .tbody {
    padding: 3px 30px 30px;
  }
  .ipost-banner .row {
    margin-bottom: 10px;
  }
}
@media (min-width: 769px) and (max-width: 992px) {
  .icooperate .box {
    margin-left: 20px;
  }
}
@media (min-width: 769px) and (max-width: 860px) {
  .inquiry .thead li {
    width: 11.7em;
    height: 5.7em;
  }
  .inquiry .inquiry-box {
    gap: 15px;
  }
  .inquiry .inquiry-btn a {
    padding: 8px 15px 10px 10px;
    font-size: 12px;
  }
  .inquiry .inquiry-btn a::after {
    right: 10px;
  }
  .iflow .wrap::after {
    clip-path: polygon(64.6% -1%, 100% -1%, 100% 100%, 0% 100%);
    width: 444px;
  }
  .ilaywers .inner {
    padding-right: 60px;
  }
  /* .ilaywers .desc p {
    font-size: 12px;
  } */
  .iabout .iabout-tbl .fz16 {
    font-size: 14px;
  }
  .iabout .ig {
    width: 39.5348837209vw;
  }
  .icooperate .icoop-head {
    padding-top: 0;
  }
}
