@charset "utf-8";
/*-------common------*/

html {
  font-size: 62.5%;
  /* scroll-behavior: smooth; */
}

body {
  font-size: max(var(--px-16), 1.6rem);
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.02em;
  font-weight: 400;
  line-height: 1.5;
  color: #141414;
  margin: 0;
}
:root {
  --px-12: 0.8333vw;
  --px-14: 0.9722vw;
  --px-15: 1.042vw;
  --px-16: 1.111vw;
  --px-18: 1.25vw;
  --px-20: 1.389vw;
  --px-22: 1.528vw;
  --px-24: 1.667vw;
  --px-26: 1.806vw;
  --px-28: 1.9444vw;
  --px-30: 2.083vw;
  --px-32: 2.222vw;
  --px-34: 2.361vw;
  --px-35: 2.4306vw;
  --px-36: 2.5vw;
  --px-40: 2.778vw;
  --px-44: 3.0556vw;
  --px-48: 3.333vw;
  --px-50: 3.472vw;
  --px-55: 3.8194vw;
  --px-60: 4.1667vw;
  --px-64: 4.444vw;
  --px-70: 4.861vw;
  --px-75: 5.2083vw;
  --px-80: 5.55vw;
  --px-83: 5.7639vw;
  --px-89: 6.181vw;
  --px-90: 6.25vw;
  --px-96: 6.667vw;
  --px-100: 6.9444vw;
  --px-114: 7.9167vw;
  --px-119: 8.2639vw;
  --px-120: 8.333vw;
  --px-124: 8.6111vw;
  --px-128: 8.8888vw;
  --px-134: 9.3056vw;
  --px-138: 9.5833vw;
  --px-145: 10.0694vw;
  --px-147: 10.208vw;
  --px-150: 10.4167vw;
  --px-160: 11.1111vw;
  --px-163: 11.3194vw;
  --px-167: 11.5972vw;
  --px-180: 12.5vw;
  --px-183: 12.7083vw;
  --px-185: 12.8472vw;
  --px-190: 13.194vw;
  --px-193: 13.4028vw;
  --px-198: 13.75vw;
  --px-200: 13.889vw;
  --px-202: 14.0278vw;
  --px-208: 14.4444vw;
  --px-214: 14.8611vw;
  --px-217: 15.0694vw;
  --px-221: 15.3472vw;
  --px-226: 15.6944vw;
  --px-228: 15.8333vw;
  --px-298: 20.6944vw;
  --px-230: 15.9722vw;
  --px-241: 16.7361vw;
  --px-253: 17.5694vw;
  --px-258: 17.9167vw;
  --px-270: 18.75vw;
  --px-272: 18.8889vw;
  --px-275: 19.0972vw;
  --px-282: 19.5833vw;
  --px-286: 19.8611vw;
  --px-288: 20vw;
  --px-300: 20.8333vw;
  --px-310: 21.528vw;
  --px-317: 22.0139vw;
  --px-320: 22.2222vw;
  --px-324: 22.5vw;
  --px-342: 23.75vw;
  --px-350: 24.306vw;
  --px-360: 25vw;
  --px-369: 25.625vw;
  --px-370: 25.6944vw;
  --px-392: 27.222vw;
  --px-400: 27.778vw;
  --px-410: 28.4722vw;
  --px-414: 28.75vw;
  --px-415: 28.8194vw;
  --px-419: 29.0972vw;
  --px-430: 29.861vw;
  --px-431: 29.9306vw;
  --px-444: 30.833vw;
  --px-461: 32.0139vw;
  --px-497: 34.5139vw;
  --px-503: 34.931vw;
  --px-550: 38.194vw;
  --px-562: 39.0278vw;
  --px-570: 39.5833vw;
  --px-525: 36.4583vw;
  --px-573: 39.7917vw;
  --px-569: 39.5139vw;
  --px-589: 40.898vw;
  --px-657: 45.625vw;
  --px-692: 48.0556vw;
  --px-880: 61.1111vw;
  --px-882: 61.25vw;
  --px-900: 62.5vw;
  --px-955: 66.3194vw;
  --px-956: 66.3889vw;
  --px-960: 66.6667vw;
  --px-962: 66.8056vw;
  --px-968: 67.2222vw;
  --px-966: 67.0833vw;
  --px-1100: 76.389vw;
  --px-1120: 77.7778vw;
  --navy: #0076ad;
  --blue: #48aad9;
  --lgreen: #adc553;
  --green: #5b9000;
  --yellow: #ebb01b;
  --org: #f88b3d;
  --pink: #e75493;
  --lblue: #aee2f9;
  --llgreen: #e2f1a4;
  --lyellow: #ffdc82;
  --lorg: #ffc59c;
  --lpink: #ffd2e6;
  --mblue: #47aad9;
  --mlgreen: #adc553;
  --myellow: #ebb01c;
  --morg: #f88b3d;
  --mpink: #ffd2e6;
  --mlpink: #e387af;
}

p {
  margin: 0;
}

a {
  text-decoration: none;
  color: #141414;
}

h1,
h2,
h3 {
  margin: 0;
  line-height: 1.4;
}

img {
  max-width: 100%;
  vertical-align: middle;
  width: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
th {
  font-weight: 500;
}

li {
  list-style: none;
  margin: 0;
  padding: 0;
}

ul {
  margin: 0;
  padding: 0;
}
em {
  font-style: normal;
}
.sp-only {
  display: none;
}
.tab1180-upto-block {
  display: none;
}
.inner {
  padding-left: 5.55%;
  padding-right: 5.55%;
}
.dfl {
  display: flex;
}
.dfl.re {
  flex-direction: row-reverse;
}
.ai-c {
  align-items: center;
}
.ai-st {
  align-items: flex-start;
}
.ai-sb {
  align-items: space-between;
}
.ai-end {
  align-items: flex-end;
}
.jc-c {
  justify-content: center;
}
.jc-st {
  justify-content: flex-start;
}
.jc-sb {
  justify-content: space-between;
}
.jc-end {
  justify-content: flex-end;
}
.fl-w {
  flex-wrap: wrap;
}
.fl1 {
  flex: 1;
}
.grid-wrap {
  display: grid;
}
.grid-wrap.fr2 {
  grid-template-columns: repeat(2, 1fr);
}
.grid-wrap.fr3 {
  grid-template-columns: repeat(3, 1fr);
}
.grid-wrap.fr4 {
  grid-template-columns: repeat(4, 1fr);
}
.fw300 {
  font-weight: 400;
}
.fw400 {
  font-weight: 400;
}
.fw500 {
  font-weight: 500;
}
.fw600 {
  font-weight: 600;
}
.fw700 {
  font-weight: 700;
}
.lh10 {
  line-height: 1;
}
.lh12 {
  line-height: 1.2;
}
.lh14 {
  line-height: 1.4;
}
.lh16 {
  line-height: 1.6;
}
.lh18 {
  line-height: 1.8;
}
.lh20 {
  line-height: 2;
}
.ls-2 {
  letter-spacing: 2px;
}
.ls-4 {
  letter-spacing: 4px;
}
.ls-6 {
  letter-spacing: 6px;
}
.ls5 {
  letter-spacing: 0.05em;
}
.ls10 {
  letter-spacing: 0.1em;
}
.ls00 {
  letter-spacing: 0;
}
.sc {
  margin-right: 1em;
}
.tc {
  text-align: center;
}
.db {
  display: block;
}
.dib {
  display: inline-block;
}
.br10 {
  border-radius: 10px;
}
.br20 {
  border-radius: 20px;
}
.br100 {
  border-radius: 100px;
}
.cwhite {
  color: #fff;
}
.ccwhite {
  color: #fdfdfd;
}
.cblack {
  color: #000;
}
.ce75 {
  color: #e75393;
}
.c48a {
  color: #48aad9;
}
.c60b {
  color: #60b5de;
}
.cpink {
  color: var(--pink);
}
.cmlpink {
  color: var(--mlpink);
}
.cblue {
  color: var(--blue);
}
.cnavy {
  color: var(--navy);
}
.cmlgreen {
  color: var(--mlgreen);
}
.clgreen {
  color: var(--lgreen);
}
.cyellow {
  color: var(--yellow);
}
.cgreen {
  color: var(--green);
}
.corg {
  color: var(--org);
}
.bpink {
  background: var(--pink);
}
.bmlpink {
  background: var(--mlpink);
}
.bblue {
  background: var(--blue);
}
.bnavy {
  background: var(--navy);
}
.blgreen {
  background: var(--lgreen);
}
.byellow {
  background: var(--yellow);
}
.bgreen {
  background: var(--green);
}
.borg {
  background: var(--org);
}
.lgreen-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #cedc96,
    #cedc96 6px,
    #d8e6a3 6px,
    #d8e6a3 12px
  );
}
.green-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #aec453,
    #aec453 6px,
    #bbd25f 6px,
    #bbd25f 12px
  );
}

.pink-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #fd99c4,
    #fd99c4 6px,
    #ffaace 6px,
    #ffaace 12px
  );
}
.lpink-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #fdf1eb,
    #fdf1eb 6px,
    #fff8f3 6px,
    #fff8f3 12px
  );
}
.yellow-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #fed05e,
    #fed05e 6px,
    #ffd875 6px,
    #ffd875 12px
  );
}
.blue-st-bg {
  background-image: repeating-linear-gradient(
    90deg,
    #a2ddf8,
    #a2ddf8 6px,
    #b0e6ff 6px,
    #b0e6ff 12px
  );
}
.green-dot-bg {
  background-color: #d8ee7e;
  background-image:
    radial-gradient(circle, #edfdad 5px, transparent 5px),
    radial-gradient(circle, #edfdad 5px, transparent 5px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.green-dot-bg.sst2 {
  background-color: #d8ee7e;
  background-image:
    radial-gradient(circle, #edfdad 4px, transparent 4px),
    radial-gradient(circle, #edfdad 4px, transparent 4px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.yellow-dot-bg {
  background-color: #ffde8a;
  background-image:
    radial-gradient(circle, #ffe9b2 5px, transparent 5px),
    radial-gradient(circle, #ffe9b2 5px, transparent 5px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.sub-co-tit.yellow-dot-bg {
  background-color: #ffde8a;
  background-image:
    radial-gradient(circle, #ffe9b2 4px, transparent 4px),
    radial-gradient(circle, #ffe9b2 4px, transparent 4px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.blue-dot-bg {
  background-color: #9dd8f4;
  background-image:
    radial-gradient(circle, #d1e9f4 5px, transparent 5px),
    radial-gradient(circle, #d1e9f4 5px, transparent 5px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.org-dot-bg {
  background-color: #ffd4b7;
  background-image:
    radial-gradient(circle, #ffe8d9 5px, transparent 5px),
    radial-gradient(circle, #ffe8d9 5px, transparent 5px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.pink-dot-bg {
  background-color: #ffd5de;
  background-image:
    radial-gradient(circle, #ffe1e5 5px, transparent 5px),
    radial-gradient(circle, #ffe1e5 5px, transparent 5px);
  background-position:
    0 0,
    15px 30px;
  background-size: 30px 60px;
}
.bwhite {
  background: #fff;
}
.bcwhite {
  background: #fdfdfd;
}
.bblack {
  background: #000;
}
.blpink {
  background: #ffd2e6;
}
.b48a {
  background: #48aad9;
}
.cs-bd-black::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  height: 4px;
  background-image: radial-gradient(
    circle at center,
    #000 70%,
    transparent 71%
  );
  background-size: 4px 2px;
  background-repeat: repeat-x;
  background-position: center;
}
.cs-bd-black-one {
  width: 100%;
  height: 4px;
  background-image: radial-gradient(
    circle at center,
    #000 50%,
    transparent 50%
  );
  background-size: 8px 4px;
  background-repeat: repeat-x;
  background-position: center;
}
.cs-bd-blue::before {
  content: "";
  position: absolute;
  bottom: 0;
  width: 100%;
  left: 0;
  height: 4px;
  background-image: radial-gradient(
    circle at center,
    #47aad9 70%,
    transparent 71%
  );
  background-size: 4px 2px;
  background-repeat: repeat-x;
  background-position: center;
}
.in-flex {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
* {
  box-sizing: border-box;
}
.page-404 {
  padding: 150px 0;
}
.ttu {
  text-transform: uppercase;
}
.sc {
  margin-right: 1em;
}
.wfit {
  width: fit-content;
}
.mtc {
  margin-inline: auto;
}
.p-rl {
  position: relative;
}
.pi-none {
  pointer-events: none;
}
.z1 {
  z-index: 1;
}
.z2 {
  z-index: 2;
}
/*-------common-end------*/
.sp-footer-icons-container {
  display: none;
  justify-content: space-around;
  align-items: stretch;
  position: fixed;
  z-index: 701;
  right: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  /* padding-bottom: calc(env(safe-area-inset-bottom) / 2); */
}
/*-------ft------*/
#page-top {
  position: fixed;
  right: 7.7%;
  bottom: 65px;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s,
    visibility 0.3s;
  z-index: 600;
}
#page-top.is-show {
  opacity: 1;
  visibility: visible;
}
/*-------post------*/
.in-post-title {
  font-size: 2rem;
  font-weight: 500;
}
/*-------hd------*/
.hd-logo {
  max-width: max(27.778vw, 240px);
  position: absolute;
  top: 0;
  left: 5.55%;
  z-index: 3;
}
.hd-acc {
  background: rgba(255, 255, 255, 0.75);
  width: 100%;
  min-height: max(13.194vw, 190px);
  padding: 15px;
  max-width: max(29.861vw, 244px);
  width: 100%;
  position: absolute;
  top: 20px;
  right: 5.55%;
  z-index: 5;
}
.hd-acc-tit {
  font-size: max(1.667vw, 1.6rem);
  font-weight: 400;
  letter-spacing: 4px;
  margin-bottom: 15px;
}
.hd-acc-tel {
  font-size: max(1.667vw, 2.4rem);
  letter-spacing: 4px;
  font-weight: 400;
}
.hd-acc-tel::before {
  content: "";
  width: max(2.778vw, 25px);
  height: max(2.778vw, 25px);
  display: inline-block;
  background: url(../../../uploads/2026/03/phone-icon.webp) no-repeat;
  background-size: contain;
  vertical-align: bottom;
  margin-right: 10px;
}
.hd-acc-link-wrap {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  margin-bottom: 15px;
}
.insta-icon {
  width: max(2.778vw, 25px);
  display: inline-block;
}
.hd-acc-btn-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*-------ft-----*/
.ft-banner {
  padding: 30px 5.55%;
}
.ft-banner .img-box img {
  height: 200px;
  object-fit: contain;
}
.ft-banner .dfl {
  gap: 20px;
  flex-wrap: wrap;
}
.ft-info {
  padding-inline: 5.55%;
  padding-top: 65px;
  padding-bottom: 50px;
}
.ft-info-wrap {
  flex-wrap: wrap;
  gap: 40px;
}
.ft-logo {
  max-width: max(24.306vw, 300px);
  width: 100%;
  margin-inline: auto;
  margin-bottom: 25px;
}
.ft-g-map {
  height: 498px;
}
.footerwrap {
  padding-top: 36px;
  padding-bottom: 36px;
  padding-inline: 5.55%;
}
.ft-nav-tit {
  position: relative;
  color: #fdfdfd;
  padding-bottom: 15px;
  max-width: 810px;
  font-size: max(1.25vw, 1.8rem);
  margin-bottom: 25px;
}
.ft-nav-tit::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-image: radial-gradient(
    circle at center,
    #fff 70%,
    transparent 71%
  );
  background-size: 6px 2px;
  background-repeat: repeat-x;
}
.ft-main-menu {
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.389vw;
}
.ft-main-menu li a {
  color: #fdfdfd;
  font-weight: 700;
  letter-spacing: 4px;
  font-size: max(1.25vw, 1.8rem);
  display: flex;
  align-items: center;
  gap: 5px;
}
.ft-main-menu li a::before {
  content: "";
  width: max(1.389vw, 14px);
  height: max(1.389vw, 14px);
  background: #fdfdfd;
  display: inline-block;
  clip-path: polygon(100% 50%, 0% 100%, 0 0);
}
.copyright-container {
  text-align: center;
  padding: 20px 0;
}
.copyright {
  font-size: max(1.25vw, 1.4rem);
  color: #000;
  letter-spacing: 2px;
}
/*-------contact-form------*/
.table-form {
  max-width: 1080px;
  margin-inline: auto;
}
.table-form tbody tr:first-child th,
.table-form tbody tr:first-child td {
  padding: 0 0 1em;
}
.table-form th {
  text-align: left;
  padding-left: 10px;
  font-weight: 400;
  width: 30%;
  font-size: max(1.111vw, 1.6rem);
  vertical-align: text-top;
  padding: 1em 0;
}
.table-form .s-txt {
  color: #e07e7e;
  font-size: max(0.903vw, 1.3rem);
  margin-right: max(2.5vw, 5px);
  margin-left: max(1.042vw, 5px);
  display: inline-block;
}
.table-form td {
  font-size: max(1.111vw, 1.6rem);
  padding: 1em 0;
}
.table-form tr {
  border-bottom: 1px solid #d3d3d3;
}
.radio-list label {
  display: flex;
  align-items: center;
}
.table-form textarea,
.table-form input {
  border: 1px solid #979797;
  background: #fff;
  font-size: max(1.111vw, 16px);
  width: 100%;
  padding: 0.5em 0 0.5em 1em;
}
.table-form input {
  height: 50px;
}
.table-form input:focus-visible,
.table-form textarea:focus-visible {
  outline: none;
}
input[type="submit"] {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: center;
  width: 240px;
  background-color: #1c9755;
  color: #fff;
  cursor: pointer;
  font-weight: 500;
  font-size: 2rem;
  height: 64px;
  border: none;
  transition: 0.25s ease-in-out;
}
input[type="submit"]:hover {
  background-color: #e07e7e;
}
span.wpcf7-spinner {
  display: none;
}
/*lightbox*/
#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;
}

#lightbox-overlay img {
  max-width: 90%;
  max-height: 90%;
}
/*-------ipad----*/
@media screen and (max-width: 1180px) {
  .tab1180-upto-none {
    display: none;
  }
  .tab1180-upto-block {
    display: block;
  }
}
/*-------ipad-air----*/
@media screen and (max-width: 820px) {
  .tab820-upto-none {
    display: none;
  }
  .ft-info-wrap {
    align-items: center;
  }
}
/*-------iphone----*/
@media screen and (max-width: 680px) {
  .dfl,
  .dfl.re {
    flex-direction: column;
  }
  .grid-wrap {
    grid-template-columns: 1fr;
  }
  .grid-wrap.fr2,
  .grid-wrap.fr3,
  .grid-wrap.fr4 {
    grid-template-columns: 1fr;
  }
  body .sp-only {
    display: block;
  }

  body .pc-only {
    display: none;
  }
  .sp-footer-icons-container {
    display: flex;
  }
  .sp-tl.tc {
    text-align: left;
  }
  .table-form tr {
    display: flex;
    flex-direction: column;
  }
  .table-form th {
    width: 100%;
  }
  .table-form td {
    padding: 0 0 1em;
  }
  .ft-banner .img-box img {
    height: 120px;
  }
  .ft-main-menu {
    display: block;
    width: fit-content;
    margin-inline: auto;
  }
  .ft-main-menu li {
    margin-bottom: 20px;
  }
  .ft-main-menu li:last-child {
    margin-bottom: 0;
  }
}
