@charset "utf-8";
.w-76 {
  width: 76%;
}
.w629 {
  max-width: max(var(--px-629), 629px);
  width: 100%;
}
.w437 {
  max-width: max(var(--px-437), 437px);
  width: 100%;
}
.w338 {
  max-width: max(var(--px-338), 338px);
  width: 100%;
}
.w439 {
  max-width: max(var(--px-439), 439px);
  width: 100%;
}
.w559 {
  max-width: max(var(--px-559), 559px);
  width: 100%;
}
.w560 {
  max-width: max(var(--px-560), 560px);
  width: 100%;
}
.w680 {
  max-width: max(var(--px-680), 350px);
  width: 100%;
}
.w600 {
  max-width: max(var(--px-600), 350px);
  width: 100%;
}
.w620 {
  max-width: max(var(--px-620), 350px);
  width: 100%;
}
.w734 {
  max-width: max(var(--px-734), 734px);
  width: 100%;
}
.w736 {
  max-width: max(var(--px-736), 734px);
  width: 100%;
}
.w1080 {
  max-width: max(var(--px-1080), 1080px);
  width: 100%;
}
.w1152 {
  max-width: max(var(--px-1152), 1152px);
  width: 100%;
}
.w1120 {
  max-width: max(var(--px-1120), 1120px);
  width: 100%;
}
.pa15 {
  padding-bottom: 15px;
}
.pa20 {
  padding-bottom: 20px;
}
.pa30 {
  padding-bottom: 30px;
}
.pa40 {
  padding-bottom: 40px;
}
.pa50 {
  padding-bottom: 50px;
}
.pa60 {
  padding-bottom: 60px;
}
.pa70 {
  padding-bottom: 70px;
}
.pa80 {
  padding-bottom: 80px;
}
.pa100 {
  padding-bottom: 100px;
}
.pa120 {
  padding-bottom: 120px;
}
.pal180 {
  padding-left: var(--px-180);
}
.par180 {
  padding-right: var(--px-180);
}
.sp-inner80r {
  padding-right: 5.55%;
}
.past240 {
  padding-inline: var(--px-240);
}
.patu40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.pabox40 {
  padding: clamp(20px, var(--px-40), 40px);
}
.ma10 {
  margin-bottom: 10px;
}
.ma15 {
  margin-bottom: 15px;
}
.ma20 {
  margin-bottom: 20px;
}
.mat20 {
  margin-top: 20px;
}
.ma30 {
  margin-bottom: 30px;
}
.ma40 {
  margin-bottom: 40px;
}
.ma50 {
  margin-bottom: 50px;
}
.ma60 {
  margin-bottom: 60px;
}
.ma70 {
  margin-bottom: 70px;
}
.ma80 {
  margin-bottom: 80px;
}
.ma100 {
  margin-bottom: 100px;
}
.ma120 {
  margin-bottom: 120px;
}
.ga140 {
  gap: var(--px-140);
}
.ga20 {
  gap: var(--px-20);
}
.ga20f {
  gap: 20px;
}
.ga30 {
  gap: var(--px-30);
}
.ga40 {
  gap: var(--px-40);
}
.ga4020 {
  gap: max(var(--px-40), 20px);
}
.ga80 {
  gap: var(--px-80);
}
.ga12020 {
  gap: max(var(--px-120), 20px);
}
/*sub-mv*/
.sub-mv {
  background: url(../../../uploads/2026/03/sub-main.jpg) no-repeat;
  padding-top: 160px;
  padding-bottom: 100px;
  background-position: center;
}
.sub-mv h1,
.sub-mv h2 {
  text-align: center;
  font-size: max(var(--px-64), 3.4rem);
  font-weight: 600;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
/*sub-parts*/
.sub-co-tit {
  text-align: center;
  position: relative;
  font-size: max(var(--px-28), 1.8rem);
  color: #fff;
}
.sub-co-tit em {
  display: block;
  font-size: max(var(--px-24), 1.8rem);
  font-weight: 500;
  letter-spacing: 0;
}
.sub-co-tit .en {
  font-size: max(var(--px-48), 2.4rem);
  font-weight: 400;
  color: #fff !important;
}
.sub-co-tit.bblue em {
  color: #c1eaee;
}
.sub-co-tit.bblue {
  padding-top: 16px;
  padding-bottom: 11px;
  border-bottom: 5px solid #0e95a2;
}
.sub-co-tit.byellow {
  padding-top: 30px;
  padding-bottom: 30px;
  line-height: 1.6;
}
.sub-co-tit.byellow::before {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: #fff;
  position: absolute;
  top: 10px;
  left: 0;
}
.sub-co-tit.byellow::after {
  content: "";
  width: 100%;
  height: 2px;
  display: block;
  background: #fff;
  position: absolute;
  bottom: 10px;
  left: 0;
}
.sub-co-tit.bblue::before {
  content: "";
  background-image: repeating-linear-gradient(
    0deg,
    #ffffff,
    #ffffff 2px,
    transparent 2px,
    transparent 4px
  );
  width: max(var(--px-60), 30px);
  height: max(var(--px-60), 30px);
  display: inline-block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 3;
  clip-path: polygon(100% 0, 0 0, 0 100%);
  -webkit-clip-path: polygon(100% 0, 0 0, 0 100%);
}
.sub-co-tit.bblue::after {
  content: "";
  background-image: repeating-linear-gradient(
    0deg,
    #ffffff,
    #ffffff 2px,
    transparent 2px,
    transparent 4px
  );
  width: max(var(--px-60), 30px);
  height: max(var(--px-60), 30px);
  display: inline-block;
  right: 0;
  top: 0;
  position: absolute;
  z-index: 3;
  clip-path: polygon(100% 100%, 0 0, 100% 0);
  -webkit-clip-path: polygon(100% 100%, 0 0, 100% 0);
}
.sub-co-tit2 {
  font-weight: 500;
  letter-spacing: 0;
  font-size: max(var(--px-32), 1.8rem);
  border-bottom: 1px solid var(--b-color);
  line-height: 1.2;
  padding-bottom: 20px;
}
.sub-co-tit2::before {
  content: "";
  display: inline-block;
  width: max(var(--px-50), 20px);
  height: max(var(--px-50), 20px);
  background: linear-gradient(135deg, #ebc03f 50%, #d0a310 50%);
  vertical-align: text-top;
  margin-right: 20px;
}
.ga-wrap {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 35px;
}
.ga-wrap span {
  color: #fff;
  line-height: 2;
  text-align: center;
  display: block;
  background: var(--blue);
  padding: 10px 0;
  font-size: max(var(--px-16), 1.2rem);
}
.sub-gwrap {
  height: clamp(313px, var(--px-453), 453px);
}
.pin-icon-txt {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pin-icon-txt::before {
  content: "";
  background: url(../../../uploads/2026/03/acc-icon-blue.webp) no-repeat;
  background-size: contain;
  background-position: center;
  display: inline-block;
  width: max(var(--px-24), 20px);
  height: max(var(--px-30), 26px);
  margin-right: 10px;
}
.tel-txt {
  font-family: "Lora", serif;
  letter-spacing: 0;
  font-size: max(var(--px-40), 2.8rem);
  display: block;
  font-weight: 400;
}
.tel-txt::before {
  content: "";
  display: inline-block;
  width: max(var(--px-30), 20px);
  height: max(var(--px-30), 20px);
  background: url(../../../uploads/2026/03/phone-icon.webp) no-repeat;
  background-size: contain;
  vertical-align: baseline;
  margin-right: 10px;
}
.pabox_st1 {
  padding-top: 20px;
  padding-inline: max(var(--px-50), 20px);
  padding-bottom: max(var(--px-40), 20px);
  background: #fff;
  border: 2px solid var(--yellow);
}
.pabox_st2 {
  padding-top: max(var(--px-30), 20px);
  padding-inline: max(var(--px-50), 20px);
  padding-bottom: max(var(--px-40), 20px);
  background: #def9fc;
  border: 2px solid var(--blue);
}
.pabox_st3 {
  padding-top: max(var(--px-40), 20px);
  padding-inline: max(var(--px-100), 20px);
  padding-bottom: max(var(--px-40), 20px);
  background: #fff;
}
.ck-box-list li {
  line-height: 1.2;
  letter-spacing: 0;
  border-bottom: 1px dashed #6e7d7e;
  padding-bottom: 1.5em;
  margin-bottom: 20px;
  display: flex;
}
.ck-box-list li:last-child {
  margin-bottom: 0;
}
.ck-box-list li::before {
  content: "";
  display: inline-block;
  max-width: max(var(--px-26), 15px);
  width: 100%;
  height: max(var(--px-26), 15px);
  margin-right: 10px;
  vertical-align: text-top;
}
.list-ye li::before {
  background: url(../../../uploads/2026/03/ck-icon-yellow.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
.list-blue li::before {
  background: url(../../../uploads/2026/03/ck-icon-blue.webp) no-repeat;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 820px) {
  .ga-wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .ga-wrap span {
    padding: 5px 0;
  }
  .ga12020 {
    gap: 20px;
  }
}
@media screen and (max-width: 680px) {
  .pa60,
  .pa70,
  .pa80,
  .pa100,
  .pa120 {
    padding-bottom: 50px;
  }
  .ma60,
  .ma70,
  .ma80,
  .ma100,
  .ma120 {
    margin-bottom: 50px;
  }
  .pal180 {
    padding-left: 5.55%;
    padding-right: 5.55%;
  }
  .par180 {
    padding-left: 5.55%;
    padding-right: 5.55%;
  }
  .w-76 {
    width: 100%;
  }
  .sub-co-tit.byellow {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .sub-co-tit.byellow::before {
    top: 5px;
    left: 0;
  }
  .sub-co-tit.byellow::after {
    bottom: 5px;
    left: 0;
  }
  .sp-inner80r {
    padding-left: 5.55%;
  }
  .patu40 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .past240 {
    padding-inline: 5px;
  }
  .w680 {
    max-width: 100%;
  }
  .w600 {
    max-width: 100%;
  }
  .dfl.sp-fd_re {
    flex-direction: column-reverse;
  }
  .ma0 {
    margin-bottom: 0 !important;
  }
}
