@charset "utf-8";
/*-------hd------*/
.logo span {
  font-weight: 500;
  line-height: 1;
}
.logo a span:first-child {
  font-size: max(2.0833vw, 2rem);
  letter-spacing: 0.1em;
  margin-bottom: 0.5em;
}
.logo a span:last-child {
  font-size: max(1.3542vw, 1.3rem);
  letter-spacing: 0.03em;
}
.hd-group {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 700;
  display: flex;
  padding: 10px 50px 30px;
}
.main-menu {
  display: flex;
  align-items: center;
  justify-content: end;
}
.main-menu li {
  margin-right: 3.125vw;
  position: relative;
}
.main-menu li:last-child {
  margin-right: 0px;
}
.main-menu li.current-menu-item::after {
  content: "";
  width: 8px;
  height: 8px;
  display: inline-block;
  background: #fff333;
  position: absolute;
  bottom: -8px;
  right: 50%;
}
/*-------ft-----*/
.ft-main-menu li {
  margin-bottom: 20px;
}
.ft-main-menu li:last-child {
  margin-bottom: 0;
}
.ft-main-menu li::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 3px;
  background: #fff333;
  vertical-align: middle;
  margin-right: 0.5em;
}
.f-w293 {
  width: 293px;
}
.copyright-container {
  padding: 30px 0;
}
#page-top {
  position: fixed;
  right: 7.7%;
  bottom: 65px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s,
    visibility 0.3s;
  width: 80px;
  z-index: 600;
}
#page-top.is-show {
  opacity: 1;
  visibility: visible;
}
.contact-sec .flex-wrap {
  gap: 100px;
  justify-content: center;
  align-items: stretch;
}
.contact-sec {
  padding-bottom: 150px;
}
.footerwrap {
  background: #424242;
  padding-top: 130px;
  padding-bottom: 100px;
}
/*-------btn------*/
.btn1 {
  max-width: 171px;
  width: 100%;
  border: 1px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 45px;
}
.btn1.cblack {
  border: 1px solid #333;
}
.btn1.cblack em {
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
}
.btn1 em {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #fff;
}
.btn1.bwfix {
  max-width: 259px;
}
.btn2 {
  max-width: 423px;
  width: 100%;
  height: 88px;
  border: 1px solid #fff333;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  border-radius: 45px;
  color: #fff333;
}
.btn2.ic-phone {
  font-size: 4rem;
}
.btn2.ic-mail {
  font-size: 3rem;
}
body .btn2::before {
  margin: 0;
}
.btn3 {
  max-width: 293px;
  font-size: 2.8rem;
  width: 100%;
  border: 1px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 45px;
}
.btn3.ic-mail::before {
  background: url(../../../uploads/2026/02/mail-white-ic.webp) no-repeat;
  background-size: contain;
  width: 31px;
  height: 24px;
}
.main-menu .btn3 {
  font-size: 2rem;
  max-width: 208px;
}
.main-menu .btn3::before {
  width: 21px;
  height: 15px;
}
/*tit*/
.tit1 .l-txt {
  font-size: max(2.6042vw, 4rem);
}
.tit1 .m-txt {
  font-size: max(1.5625vw, 2.4rem);
}
.tit2 {
  font-size: max(1.5625vw, 3rem);
}
.tit3 {
  font-size: max(5.2083vw, 50px);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  line-height: 1;
}
.tit3 .s-txt {
  font-size: max(1.5625vw, 16px);
  line-height: 2;
}
.tit4 {
  font-size: max(1.5625vw, 2.2rem);
  font-weight: 500;
}
.tit5 {
  font-size: max(2.0833vw, 24px);
}
.font24 {
  font-size: max(1.25vw, 18px);
}
.font30 {
  font-size: max(1.5625vw, 24px);
}
.font40 {
  font-size: 4rem;
}
/*table*/
.table1 th {
  width: 40%;
  text-align: left;
  vertical-align: text-top;
}
.table1 th,
.table1 td {
  padding: 1em 0;
}
.table1 tr {
  border-bottom: 1px solid #fff;
}
.table2 th {
  width: 26%;
  text-align: left;
  vertical-align: text-top;
}
.table2 th,
.table2 td {
  padding: 1em 0;
}
.table2 th {
  border-bottom: 1px solid #fff333;
}
.table2 td {
  border-bottom: 1px solid #999999;
  padding-left: 60px;
}
.table-form th {
  text-align: left;
  padding-left: 10px;
  width: 40%;
  vertical-align: text-top;
  border-right: 1px solid #999;
}
.table-form th em {
  margin-left: 1em;
  display: inline-block;
}
.table-form td {
  padding: 1em 0 1em 30px;
}
.table-form tr {
  border-bottom: 1px solid #999;
}
.radio-list label {
  display: flex;
  align-items: center;
}
.table-form .radio-list input {
  width: 20px;
  height: 20px;
  margin: 0 0.5em 0 0;
}
.table-form input,
.table-form textarea {
  border: 1px solid #757575;
  border-radius: 10px;
  background: #f4f3f3;
  font-size: max(1.111vw, 16px);
  width: 100%;
  padding: 0.5em 0;
}
.table-form input:focus-visible,
.table-form textarea:focus-visible {
  outline: none;
}
input[type="submit"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: left;
  width: 100%;
  padding: 9px 11px 9px 33px;
  border-radius: 45px;
  background-color: #fff333;
  border: 1px solid #757575;
  color: #333333;
  cursor: pointer;
  font-weight: 700;
  font-size: 2rem;
  height: 53px;
  transition: 0.3s ease-in-out;
}
/* input[type="submit"]:hover {
  background-color: #75ad01;
  color: #fff;
} */
span.wpcf7-spinner {
  display: none;
}
.submit-btn {
  display: inline-block;
  position: relative;
  max-width: 171px;
  width: 100%;
}
.submit-btn em {
  position: absolute;
  right: 30px;
  top: calc(50% + 2px);
  transform: translate(0%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #333;
}
/*t-pa*/
.t-par163 {
  padding-right: max(8.5vw, 20px);
}
.t-pal163 {
  padding-left: max(8.5vw, 20px);
}
.ga30 {
  gap: 30px;
}
.t-ga115 {
  gap: max(6vw, 30px);
}
.t-ga144 {
  gap: max(7.5vw, 30px);
}
.t-pa30 {
  padding-bottom: 30px;
}
.t-pa40 {
  padding-bottom: 40px;
}
.t-pa230 {
  padding-bottom: 230px;
}
.t-ma50 {
  margin-bottom: 50px;
}
.t-ma60 {
  margin-bottom: 60px;
}
.t-ma80 {
  margin-bottom: 80px;
}
.t-ma120 {
  margin-bottom: 120px;
}
.t-ma160 {
  margin-bottom: 160px;
}
.t-mal-45 {
  margin-left: 45%;
}
.t-mar50 {
  margin-right: 50px;
}
.bdbaf {
  border-bottom: 1px solid #afafaf;
}
.bdbye {
  position: relative;
}
.bdbye::after {
  content: "";
  background: #fff333;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.bdbye.past01 {
  padding: 0 1em;
}
.bdlye {
  border-left: 3px solid #fff333;
  overflow: hidden;
}
.bdbye.bdw120::after {
  width: calc(100% + 26px);
  bottom: 26px;
  height: 3px;
}
.bdbye.bd200vw::after {
  width: 200vw;
}
.bdbye.bdr::after {
  right: 0;
  left: auto;
}
.bdbye.bdl::after {
  left: 0;
  right: auto;
}
.mv {
  position: relative;
}
.mv-txt-wrap {
  position: absolute;
  bottom: 130px;
  left: max(16.72vw, 20px);
  z-index: 3;
}
.mv-txt1 span {
  display: block;
  font-size: max(3.125vw, 4rem);
  line-height: 1.6;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
}
.mv-txt2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: max(2.6042vw, 3.7rem);
  line-height: 1.6;
  margin-bottom: 70px;
}
.mv-txt3 {
  font-size: max(1.5625vw, 1.4rem);
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  line-height: 1.6;
}
.sec1 .flex-wrap {
  padding-bottom: calc(26px + 40px);
  padding-top: 40px;
  padding-left: 40px;
  align-items: center;
}
.sec1 .flex-wrap .co:first-child {
  width: 171px;
}
.post-box article {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: max(8.3vw, 30px);
  margin-bottom: 40px;
}
.post-box article:last-child {
  margin-bottom: 0;
}
.sec4 {
  background: url(../../../uploads/2026/02/bg1.jpg) no-repeat;
  padding-top: 80px;
  padding-bottom: 80px;
  background-size: cover;
}
.sec4 .cs-inner {
  background: rgba(254, 254, 254, 0.8);
  padding-inline: 50px;
  padding-top: 30px;
  padding-bottom: 50px;
}
.sp-upto-top {
  display: none;
}
.sec1 .bdlye {
  overflow: unset;
}
@media screen and (max-width: 1180px) {
  .t-ga115 {
    gap: 30px;
  }
  .t-ga144 {
    gap: 30px;
  }
  .post-box article {
    gap: 30px;
  }
  .hd-group .font40 {
    font-size: 3rem;
  }
  .mv-txt2 {
    margin-bottom: 15px;
  }
  .mv-txt-wrap {
    bottom: 30px;
  }
  .sec1 .flex-wrap {
    flex-direction: column;
    align-items: flex-start;
  }
  .sec1 .flex-wrap .co:first-child {
    width: 100%;
    display: flex;
    align-items: center;
  }
  .t-par163 {
    padding-right: 5.55%;
  }
  .t-pal163 {
    padding-left: 5.55%;
  }
  .contact-sec .flex-wrap {
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
  }
}
@media screen and (max-width: 820px) {
  .t-pa230 {
    padding-bottom: 100px;
  }
  .t-ma120 {
    margin-bottom: 50px;
  }
  .sec2,
  .sec3 {
    padding-inline: 5.55%;
  }
  .sec1 .bdbye.bdw120::after {
    left: -15px;
    bottom: 15px;
    right: auto;
  }
  .tit1 {
    width: 100%;
  }
  .home .tit1 .db {
    display: inline-block;
  }
  .sc2.sp-only {
    display: inline-block;
  }
  .t-pal163 {
    padding-left: 0;
  }
  .sp-upto-top {
    display: flex;
  }
  .sp-upto-top2 {
    display: none;
  }
  .t-ma60 {
    margin-bottom: 40px;
  }
  footer .tit1 .db {
    display: block;
  }
  .pc-only820 {
    display: none;
  }
}
@media screen and (max-width: 680px) {
  .mv-txt-wrap {
    left: 5.55%;
    bottom: 20%;
  }
  .post-box article {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .sec1 .flex-wrap {
    padding: 20px 20px 35px;
  }
  .home .tit2 {
    line-height: 1.4;
    margin-bottom: 40px;
  }
  .t-ma80 {
    margin-bottom: 40px;
  }
  .w-no {
    white-space: unset;
  }
  .sec2 .wrap .tit2 {
    margin-bottom: 0;
  }
  .t-pa30 {
    padding-bottom: 0;
  }
  .sec4 .t-pa30 {
    padding-bottom: 30px;
  }
  .sec4 .cs-inner {
    padding-inline: 10px;
  }
  .t-ma160 {
    margin-bottom: 100px;
  }
  .bdbye.past01 {
    padding: 0;
  }
  .btn2.ic-phone {
    font-size: 3.5rem;
  }
  .btn2.ic-mail {
    font-size: 2.7rem;
  }
  .sec1 .t-pa40 {
    padding-bottom: 20px;
  }
  .sec1 .t-ma60 {
    margin-bottom: 0;
  }
  .table2 tr {
    display: flex;
    flex-direction: column;
  }
  .table2 th {
    width: 100%;
  }
  .table2 td {
    padding-left: 0;
  }
  .table-form tr {
    display: flex;
    flex-direction: column;
  }
  .table-form th {
    width: 100%;
    border-right: 0;
  }
  .table-form td {
    padding: 1em 0;
  }
  .flex-all {
    display: flex;
    width: 100%;
    justify-content: space-evenly;
  }
  .contact-sec {
    padding-bottom: 110px;
  }
  .footerwrap {
    padding-top: 100px;
  }
  footer .logo a span:first-child {
    font-size: 3.6rem;
  }
  footer .logo a span:last-child {
    font-size: 2.4rem;
  }
  .sp-ma20 {
    margin-bottom: 20px;
  }
  .sp-ma40 {
    margin-bottom: 40px;
  }
  footer .w54.t-mar50 {
    margin-right: 40px;
  }
  #page-top {
    display: none;
  }
  .hd-group {
    padding: 10px 0 0 5.55%;
  }
  .copyright-container {
    padding: 30px 0 80px;
  }
}
/* CSS Document */
