@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
body {
  color: #333333;
  line-height: 1.8;
  background: #fff;
  letter-spacing: 0.1rem;
}
a {color: var(--c-blue); text-decoration: none;}
a:hover {text-decoration: underline;}
.clickable a, .clickable a:hover { color: #333;}

/* ----------------------------------------------------
parts (common)
---------------------------------------------------- */
:root {
  --ff-symbol: 'Material Symbols Outlined';
  --ff-en: "Montserrat", sans-serif;
  --c-blue: #1d2088;
  --c-blue02: #95b9e0;
  --c-blue03: #020566;
  --c-orange: #ed6e00;
  --c-orange02: #eeb300;
  --bg-blue: #e2ecf5;
  --bg-gray: #f4f4f4;

  --w-10:  clamp(5px, 3.047px + 0.521vw, 10px);
  --w-15:  clamp(8px, 5.266px + 0.729vw, 15px);
  --w-20:  clamp(14px, 11.656px + 0.625vw, 20px);
  --w-25:  clamp(16px, 12.484px + 0.938vw, 25px);
  --w-30:  clamp(18px, 13.313px + 1.25vw, 30px);
  --w-40:  clamp(25px, 19.141px + 1.563vw, 40px);
  --w-50:  clamp(28px, 19.406px + 2.292vw, 50px);
  --w-60:  clamp(30px, 18.281px + 3.125vw, 60px);
  --w-80:  clamp(40px, 24.375px + 4.167vw, 80px);
  --w-90:  clamp(60px, 48.281px + 3.125vw,  90px);
  --w-100: clamp(70px, 58.281px + 3.125vw, 100px);
  --w-120: clamp(80px, 92.188px + 2.083vw, 120px);
  
  --fs-12: clamp(1rem, 0.9219rem + 0.208vw, 1.2rem);
  --fs-14: clamp(1.2rem, 1.1219rem + 0.208vw, 1.4rem);
  --fs-15: clamp(1.3rem, 1.2219rem + 0.208vw, 1.5rem);
  --fs-16: clamp(1.4rem, 1.3219rem + 0.208vw, 1.6rem);
  --fs-18: clamp(1.5rem, 1.3828rem + 0.313vw, 1.8rem);
  --fs-20: clamp(1.7rem, 1.5828rem + 0.313vw, 2rem);
  --fs-24: clamp(1.8rem, 1.5656rem + 0.625vw, 2.4rem);
  --fs-28: clamp(2rem, 1.6875rem + 0.833vw, 2.8rem);
  --fs-30: clamp(2.2rem, 1.8875rem + 0.833vw, 3rem);
  --fs-36: clamp(2.4rem, 1.9313rem + 1.25vw, 3.6rem);
  --fs-48: clamp(2.6rem, 1.7406rem + 2.292vw, 4.8rem);
  --fs-120: clamp(3.5rem, 0.1797rem + 8.854vw, 12rem);
}

/* icon */
.ic--symbol { position: relative;}
.ic--symbol::before { font-family: var(--ff-symbol); position: absolute;}
.ic--fill::before { font-variation-settings: 'FILL' 1;}
.ic--left::before { left: 0; top: 50%; transform: translateY(-50%);}
.ic--top::before  { left: 50%;  top: 0;  transform: translateX(-50%);}
.ic--mail::before {  content: "\f187";}
.ic--arrow01::before {content: "\f591";}

/* flex */
.flex {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}

.jc--sb { justify-content: space-between;}
.jc--c  { justify-content: center;}
.jc--fe { justify-content: flex-end;}

/* img */
img { width: 100%;height: auto;}
.img-obj { overflow: hidden;}
.img-obj img { width: 100%;  height: 100%;  object-fit: cover;}


/* layout */
.inrContent {
  width: 90%;
  max-width: 1200px;
  margin-inline: auto;
}
.inrCont--M { max-width: 980px;}

/* slick > arrow */
.slick-prev, .slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: block;
  width: var(--w-60);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #828282;
  padding: 0;
  cursor: pointer;
  color: transparent;
  outline: none;
  z-index: 100;
}

.slick-prev:hover, .slick-next:hover { opacity: 1;}
.slick-prev:before, .slick-next:before { color: black;}
.slick-prev:before, .slick-next:before {
  content: "";
  width: var(--w-15);
  aspect-ratio: 1/1;
  position: absolute;
  border-top: 1px solid #828282;
  border-right: 1px solid #828282;
  left: 50%;
  top: 50%;
}

.slick-prev:before { transform: translate(-40%, -50%) rotate(-135deg);}
.slick-next:before { transform: translate(-60%, -50%) rotate(45deg);}

/* slick > dots */
.slick-dotted.slick-slider { margin-bottom: 0;}
.slick-dots {
  position: relative;
  display: block;
  padding: 0;
  list-style: none;
  text-align: center;
  text-align: right;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  width: 12px;
  aspect-ratio: 1/1;
  margin: 0 8px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
.slick-dots li button:hover, .slick-dots li button:focus { outline: none;}
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1;}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  aspect-ratio: 1/1;
  content: '';
  text-align: center;
  border-radius: 50%;
  background: #fff;
}
.slick-dots li.slick-active button:before { background: var(--c-blue);}



/* ----------------------------------------------------
header(pc)
---------------------------------------------------- */
@media (min-width: 961px) {
  #header {
    position: sticky;
    width: 100%;
    left: 0;
    top: 0;
    justify-content: space-between;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    height: min(6.7vw, 90px);
    padding: 0 min(2.2vw, 30px) 0 min(2.2vw, 60px);
    background: rgba(255, 255, 255, 0.8);
    z-index: 100;
  }
  #home #header {
    position: fixed;
    background: inherit;
  }
  #header #hd-logo {
    width: min(14.2vw, 190px);
  }
  #grandMenu {
    display: flex;
    display: -webkit-flex;
    justify-content: flex-end;
    align-items: center;
  }
  #navGlobal {
    display: flex;
    display: -webkit-flex;
    column-gap: min(3.7vw, 50px);
    margin-right: min(2.2vw, 30px);
  }
  #navGlobal li {
    height: min(6.7vw, 90px);
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
  }
  #navGlobal li a {
    color: #333;
    font-weight: 500;
  }
  #navGlobal li a:hover, #navGlobal li.btn-navChild:hover a, #navGlobal li a.current {
    color: var(--c-blue);
  }
  #header.scroll {
    background: rgba(255, 255, 255, 0.8) !important;
  }
  #navGlobal li.btn-navChild a {
    padding-right: 1em;
    position: relative;
  }
  #navGlobal li.btn-navChild a::before {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -50%) rotate(45deg);
  }
  #navGlobal li.btn-navChild:hover a::before {
    border-color: var(--c-blue);
  }
  #navGlobal li .navChild {
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(0, 100%);
    width: 100%;
    background: var(--c-blue);
    z-index: 16;
    display: none;
  }
  #navGlobal li .navInrChild {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    flex-wrap: wrap;
    padding: min(2.2vw, 30px) 0;
  }

  #navGlobal li .navInrChild .navChild__head {
    width: 25%;
    font-size: va(--fs-16);
  }

  #navGlobal li .navInrChild .navChild__head h3 {
    font-size: clamp(2rem, 1.8438rem + 0.417vw, 2.4rem);
    color: #fff;
    font-weight: 600;
  }

  #navGlobal li .navInrChild .navChild__head p a {
    color: #fff;
  }

  #navGlobal li .navInrChild .navChild__head p a span {
    padding-left: 1.7em;
  }

  #navGlobal li .navInrChild .navChild__head p a span::before {
    font-size: 1.5em;
    line-height: 1;
    margin-top: 0.05em;
  }

  #navGlobal li .navInrChild ul {
    width: 70%;
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    column-gap: min(0.7vw, 10px);
    align-items: flex-start
  }

  #navGlobal li .navInrChild li {
    height: auto;
    margin: min(0.35vw, 5px) 0;
    line-height: 1;
  }

  #navGlobal li .navInrChild li a {
    color: var(--c-blue);
    display: block;
    letter-spacing: 0.3rem;
    background: #fff;
    border-radius: 30vw;
    padding: min(0.7vw, 10px) min(1.5vw, 20px) min(0.9vw, 12px);
  }

  #navGlobal li .navInrChild li a:hover {
    background: var(--bg-blue);
  }


  #navGlobal li .navInrChild li a::before {
    content: none;
  }

  #grandMenu #fixContact a {
    display: block;
    background: #FBC500;
    background: linear-gradient(90deg, rgba(251, 197, 0, 1) 0%, rgba(237, 110, 0, 1) 100%);
    color: #fff;
    border-radius: 30vw;
    padding: min(1.6vw, 22px);
    width: min(18vw, 220px);
    text-align: center;
    font-weight: 500;
    line-height: 1;
  }

  #grandMenu #fixContact a span {
    padding-left: 2em;
  }

  #grandMenu #fixContact a span::before {
    font-size: 1.6em;
  }

  #header .sp-btnTel, #header #btnGlobal {
    display: none;
  }
}

@media (max-width: 960px) {

  /* tabletでは電話させない */
  @media (min-width: 768px) {
    #header .pc-tel {
      display: block !important;
      color: #fff;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: min(17vw, 90px);
      font-size: clamp(2rem, 1.375rem + 1.667vw, 3.6rem);
    }

    #header .sp-btnTel {
      display: none !important;
    }
  }

  #home main {
    width: 100%;
    position: relative;
  }

  #header {
    height: min(15vw, 60px);
    display: flex;
    display: -webkit-flex;
    align-items: center;
    padding: 0 min(3vw, 15px);
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 100;
  }

  #header #hd-logo {
    height: min(7vw, 40px);
  }

  #header #hd-logo img {
    height: 100%;
    width: auto;
  }

  #header #hd-logo a {
    color: #fff;
  }

  #btnGlobal {
    position: fixed;
    right: 0;
    top: 0;
    height: min(15vw, 60px);
    aspect-ratio: 1/1;
    z-index: 120;
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
  }

  #btnGlobal::before {
    content: "";
    width: 180%;
    aspect-ratio: 1/1;
    background: var(--c-blue);
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(40%, -44%);
  }

  #btnGlobal .btnWrapGlobal {
    position: relative;
    width: min(6vw, 3rem);
    height: min(4vw, 2rem);
    margin: -0.5em 0 0 0.5em;
  }

  #btnGlobal .btnLine {
    height: 2px;
    background: #fff;
    position: absolute;
    right: 0;
    width: 100%;
  }

  #btnGlobal .btnLine.btnLineT {
    top: 0;
  }

  #btnGlobal .btnLine.btnLineM {
    top: 50%;
    transform: translateY(-50%);
  }

  #btnGlobal .btnLine.btnLineB {
    bottom: 0;
  }

  #btnGlobal.active .btnLine {
    background: #fff;
  }

  #btnGlobal.active .btnLine.btnLineT {
    display: none;
  }

  #btnGlobal.active .btnLine.btnLineM {
    transform: translateY(0) rotate(45deg);
  }

  #btnGlobal.active .btnLine.btnLineB {
    transform: rotate(-45deg);
    bottom: inherit;
    top: 50%;
  }

  #btnGlobal .btnLine.btnLineM, #btnGlobal .btnLine.btnLineB {
    transition: all, ease-in-out, 0.3s;
  }

  #grandMenu {
    backdrop-filter: blur(20px);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 100;
    left: 0;
    top: 0;
    display: none;
    overflow: auto;
    padding: min(15vw, 60px) 8%;
  }

  #grandMenu a {
    color: var(--c-blue);
  }

  #grandMenu #navGlobal li {
    font-size: clamp(1.6rem, 1.5219rem + 0.208vw, 1.8rem);
    border-bottom: 1px dashed var(--c-blue);
    line-height: 1;
  }

  #grandMenu #navGlobal li a {
    display: block;
    padding: min(4vw, 24px) 0;
    position: relative;
  }

  #grandMenu #navGlobal li a::after {
    content: "";
    position: absolute;
    right: 3%;
    top: 50%;
    width: min(2vw, 10px);
    aspect-ratio: 1/1;
    border-top: 1px solid var(--c-blue);
    border-right: 1px solid var(--c-blue);
    transform: translate(-50%, -50%) rotate(45deg);
    transition: 0.3s all ease-in-out;
  }

  #grandMenu #navGlobal li.btn-navChild a::after {
    transform: translate(-50%, -50%) rotate(135deg);
  }

  #grandMenu #navGlobal li.btn-navChild.active a::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }

  #grandMenu #navGlobal li .navChild {
    display: none;
  }

  #grandMenu #navGlobal li .navChild .navInrChild {
    margin: min(3vw, 15px) auto;
  }

  #grandMenu #navGlobal li .navChild .navChild__head {
    text-align: center;
  }

  #grandMenu #navGlobal li .navChild .navChild__head h3 {
    font-weight: 600;
    font-size: clamp(2rem, 1.8438rem + 0.417vw, 2.4rem);
    margin-bottom: min(3vw, 20px);
  }

  #grandMenu #navGlobal li .navChild .navChild__head p a {
    padding: 0 !important;
  }

  #grandMenu #navGlobal li .navChild .navChild__head p a span {
    padding: 0 1.5em;
  }

  #grandMenu #navGlobal li .navChild .navChild__head p a span::before {
    font-size: 1.25em;
    margin-top: 0.1em;
  }

  #grandMenu #navGlobal li .navChild ul {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    column-gap: 2%;
    margin-top: min(4vw, 20px);
  }

  #grandMenu #navGlobal li .navChild li {
    flex-grow: 1;
    border-bottom: none;
    font-size: clamp(1.4rem, 1.2438rem + 0.417vw, 1.8rem);
    margin: 1% 0;
  }

  #grandMenu #navGlobal li .navChild li a {
    display: block;
    background: var(--bg-blue);
    border-radius: 30vw;
    height: auto;
    padding: min(3vw, 10px) min(4vw, 20px);
    text-align: center;
  }

  #grandMenu #navGlobal li .navChild a::after {
    content: none;
  }

  #header .pc-tel {
    display: none;
  }

  #fixContact {
    margin: min(6vw, 30px) auto 0;
    width: min(360px, 100%);
  }

  #fixContact a {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    height: min(15vw, 60px);
    background: #FBC500;
    background: linear-gradient(90deg, rgba(251, 197, 0, 1) 0%, rgba(237, 110, 0, 1) 100%);
    color: #fff;
    border-radius: 30vw;
    font-size: clamp(1.8rem, 1.7219rem + 0.208vw, 2rem);
  }

  #fixContact a span {
    padding-left: 2em;
  }

  #fixContact a span::before {
    font-size: 1.5em;
  }

}

/* ----------------------------------------------------
footer (common)
---------------------------------------------------- */
footer {
  background: #222222;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  padding-bottom: 30px;
}

#ftContact {
  background: var(--c-blue03);
  text-align: center;
  margin: 0 auto;
  padding: var(--w-80) 0 clamp(30px, 4.609px + 6.771vw, 95px);
  position: relative;
  overflow: hidden;
  font-size: var(--fs-24);
}

.ftBtn__en {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  font-size: clamp(7rem, 1.9219rem + 13.542vw, 20rem);
  color: rgba(255, 255, 255, 0.2);
  font-family: var(--ff-en);
  line-height: 0.7 !important;
  font-weight: 700 !important;
}

#ftContact .inrContent {
  position: relative;
  z-index: 1;
}

#ftContact h2 {
  font-weight: 700;
  font-size: var(--fs-48);
}

#ftContact p {
  font-weight: 600;
  line-height: 1.6;
}

#ftContact p.ftBtn__contact {
  margin-top: 25px;
}

#ftContact p.ftBtn__contact a {
  display: inline-block;
  background: #fff;
  border-radius: 30vw;
  width: 100%;
  max-width: 480px;
  padding: var(--w-20);
}

#ftContact p.ftBtn__contact a span {
  padding-left: 2em;
}

#ftContact p.ftBtn__contact a span::before {
  font-size: 1.5em;
  font-weight: normal;
}

footer ul {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  padding-top: 30px;
  margin: 0 0 10px;
}

footer ul li {
  padding: 0 1em;
  line-height: 1;
}

footer ul li:not(:first-child) {
  border-left: 1px solid #fff;
}

footer ul li a {
  color: #fff;
}

#pagetop {
  position: fixed;
  bottom: 4%;
  right: 3%;
  z-index: 20;
}

#pagetop a {
  display: block;
  width: 45px;
  height: 45px;
  background-color: var(--c-blue);
  border-radius: 50%;
  color: #fff;
  position: relative;
  z-index: 20;
}

#pagetop a::before {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 9;
}


/* -----------------------------------------------------
home(common)
------------------------------------------------------- */
/* common */
.btnCommon {
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  width: 85%;
  max-width: 300px;
  padding: 15px 80px 15px 30px;
  background: var(--c-blue);
  color: #fff;
  border-radius: 30vw;
  font-weight: 500;
  position: relative;
}

.btnCommon::before {
  content: "";
  height: calc(100% - min(2.2vw, 30px));
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #5053c2;
  position: absolute;
  right: min(1.1vw, 15px);
  top: 50%;
  transform: translateY(-50%);
}

.btnCommon::after {
  content: "";
  background: url("../../img/common/ic-arrow-01.svg") center center / cover no-repeat;
  aspect-ratio: 300/65;
  width: 35px;
  position: absolute;
  right: 28px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s all ease-in-out;
}

.btnCommon:hover::after {
  transform: translate(20%, -50%);
}

/* title */
.homTitle__flex {
  display: flex;
  display: -webkit-flex;
  align-items: center;
  column-gap: var(--w-50);
  margin-bottom: var(--w-60);
}

.homTitle__head {
  position: relative;
}

.homTitle__head p {
  margin: 0;
  font-family: var(--ff-en);
  font-size: var(--fs-120);
  color: rgba(255, 255, 255, 1);
  line-height: 1;
  font-weight: 800;
}

.homTitle__head h2 {
  font-size: var(--fs-30);
  color: var(--c-blue);
  font-weight: 700;
  position: absolute;
  left: 0;
  bottom: 0;
}

.homTitle__read {
  margin: 0;
  font-weight: 700;
  font-size: var(--fs-24);
  line-height: 1.6;
  -webkit-text-stroke: 5px var(--bg-blue);
  text-stroke: 5px var(--bg-blue);
  paint-order: stroke;
}

.homTitle02 {
  text-align: center;
  font-weight: 700;
  font-size: clamp(2rem, 1.2188rem + 2.083vw, 4rem);
  line-height: 1;
  margin-bottom: min(5.2vw, 70px);
}

.homTitle02 img {
  width: clamp(150px, 120.703px + 7.813vw, 225px);
  vertical-align: bottom;
  margin-right: 10px;
}

.homTitle02 span {
  font-size: clamp(1.6rem, 1.0531rem + 1.458vw, 3rem);
}

@media (max-width: 528px) {
  .homTitle__flex { display: block;}
  .homTitle__read br { display: none;}
  .homTitle__head p { font-size: min(15vw, 12rem);}
  .homTitle__head h2 { font-size: min(6vw, 3rem);}
}

/* bg */
main {
  position: relative;
  overflow: hidden;
  padding-bottom: clamp(80px, 52.656px + 7.292vw, 150px);
}

.homVis__bg {
  position: absolute;
  width: min(54.8%, 877px);
}
.homVis__bg span {
  display: block;
  border-radius: 50%;
  background: #e2ecf5;
  aspect-ratio: 1/1;
}
.homVis__bg--01 {
  left: 0;
  top: 0;
  transform: translate(-30%, -50%); 
  animation: bg01 4s ease-in-out infinite alternate;
}
.homVis__bg--01 span {
  animation: bg02 3s ease-in-out infinite alternate;
}

.homVis__bg--02 {
  right: 0;
  top: 20vh;
  transform: translate(60%, 0%);
  animation: bg03 4s ease-in-out infinite alternate;
}
.homVis__bg--02 span {
  animation: bg04 8s ease-in-out infinite alternate;
}

.homVis__bg--03 {
  width: clamp(200px, 153.125px + 12.5vw, 320px);
  left: 0;
  top: 50vw;
  transform: translate(-30%, 0%);
  animation: bg01 3s ease-in-out infinite alternate;
}
.homVis__bg--02 span {
  animation: bg04 5s ease-in-out infinite alternate;
}

@keyframes bg01 {
    0% { transform:translate( -32%,-52%); }
  100% { transform:translate(-30%,-50%); }
}
@keyframes bg02 {
    0% { transform:translateY(-3%); }
  100% { transform:translateY(0%); }
}
@keyframes bg03 {
    0% { transform:translate( 60%,0%); }
  100% { transform:translate(57%,-3%); }
}
@keyframes bg04 {
    0% { transform:translateY(-10%); }
  100% { transform:translateY(0%); }
}

@media (max-width:650px) {
 .homVis__bg--03 {top: 60vh;}
}

/* visual */
#homVisual {
  height: min(58.1vw, 775px);
  position: relative;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--w-100);
}

.homVis__catch {
  width: min(34%, 380px);
  position: relative;
  z-index: 2;
  transform: translateY(10%);
  text-align: center;
}

.homVis__catch .btnVisual {
  margin: var(--w-30) 0 0;
}

.homVis__catch .btnVisual a {
  display: block;
  background: var(--c-blue);
  color: #fff;
  text-align: center;
  border-radius: 30vw;
  font-size: var(--fs-24);
  font-weight: 800;
  padding: 12px var(--w-20);
  position: relative;
}

.homVis__catch .btnVisual a::before {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.homVis__img {
  position: absolute;
  z-index: 1;
}

.homVis__img--01 {
  right: 0;
  top: 50%;
  transform: translateY(-45%);
  width: 44.7%;
  height: 74.8%;
  border: 12px solid #000;
  border-radius: 20px 0 0 20px;
  border-right: none;
  overflow: hidden;
}

.homVis__img--01 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left top;
}

.homVis__img--02 {
  aspect-ratio: 82/150;
  height: 56.8%;
  left: 50%;
  bottom: 0;
  transform: translateX(-30%);
  border-radius: min(2.5vw, 40px);
  overflow: hidden;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  padding: 8px;
  background: #fff;
}

.homVis__img--02 p {
  width: 100%;
  margin: 0;
  border-radius: 0 0 36px 36px;
  overflow: hidden;
  max-height: 90%;
  position: relative;
  z-index: 1;
}

.homVis__img--02 p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  /* border-radius: min(30vw, 40px); */
}

.homVis__img--02::after {
  content: "";
  background: url("../../img/home/img-frame-sp.svg") center center / cover no-repeat;
  width: 100%;
  aspect-ratio: 82/150;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
}


@media (max-width: 1380px) {
  .homVis__catch {width: min(40%, 380px); }
}

@media (max-width: 800px) {
  #homVisual { height: min(70vw, 775px); }
  .homVis__catch { width: min(45%, 380px);}
  .homVis__img--02 {left: 55%;}
}

@media (max-width:650px) {
  #homVisual {
    height: auto;
    display: block;
    padding: min(18vw, 80px) 0 0;
  }

  .homVis__catch {
    width: 90%;
    max-width: 400px;
    transform: none;
    margin: 0 auto min(6vw, 30px);
  }

  .homVis__catch h2 {
    width: 90%;
    margin: 0 auto;
  }

  .homVis__img--01 {
    position: relative;
    right: inherit;
    top: 0;
    transform: none;
    width: 70%;
    aspect-ratio: 4/3;
    border-right: 0;
    margin-left: 30%;
    border-width: 8px;
  }

  .homVis__img--02 {
    height: inherit;
    width: 23%;
    left: 15%;
    bottom: 0;
    transform: translate(0, 10%);
    border-radius: 13px;
    padding: 4px;
  }

  .homVis__img--02 p {
    border-radius: 0 0 18px 18px;
  }

  .homVis__img--02 p img {
    border-radius: 20px;
  }
}


/* reason */
#homReason {
  position: relative;
  z-index: 10;
}

#homReason h2 {
  text-align: center;
  font-size: clamp(2.4rem, 1.775rem + 1.667vw, 4rem);
  font-weight: 700;
  letter-spacing: 0.2rem;
  margin-bottom: var(--w-30);
}

#homReason h2 img {
  width: clamp(150px, 120.703px + 7.813vw, 225px);
  transform: translateX(-10%);
  margin-bottom: 10px;
}

#homReason h2 span {
  font-size: clamp(2rem, 1.5313rem + 1.25vw, 3.2rem);
}

.homReason__slider {
  max-width: 1800px;
  margin: 0 auto;
  position: relative;
}

.homReason__cont {
  width: min(43.4vw, 580px);
  background: #abd2e9;
  border-radius: min(1.1vw, 15px);
  padding: 50px 40px 40px;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.2);
  margin: var(--w-30) 0;
  transform: scale(0.8);
  transition: 0.3s all ease-in-out;
}

.homReason__cont.slick-center {
  transform: scale(1);
}

.homReason__img {
  width: 90%;
  margin: 0 auto min(3vw, 40px);
}

.homReason__title {
  position: relative;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  column-gap: 20px;
  margin-bottom: 20px;
}

.homReason__title .homReason__en {
  margin: 0;
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
  transform: translateY(-100%);
  font-family: "Playwrite IS", cursive;
  font-size: min(2vw, 3rem);
  line-height: 1.2;
}

.homReason__title .homReason__num {
  font-family: var(--ff-en);
  font-size: clamp(5rem, 3.0469rem + 5.208vw, 10rem);
  line-height: 1;
  margin: 0;
  font-weight: 700;
  color: #fff;
}

.homReason__title h3 {
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.3;
  font-size: clamp(2.4rem, 1.8531rem + 1.458vw, 3.8rem);
}

.homReason__body {
  margin: 0;
  line-height: 1.6;
}

#homReason .slick-prev {
  left: 50%;
  transform: translate(-50%, -50%) !important;
  margin-left: max(-21.7vw, -290px);
}

#homReason .slick-next {
  left: 50%;
  transform: translate(-50%, -50%) !important;
  margin-left: min(21.7vw, 290px);
}

@media (max-width: 1115px) and (min-width: 901px) {
  .homReason__cont {
    width: min(50vw, 580px);
  }

  #homReason .slick-prev {
    margin-left: max(-25vw, -290px);
  }

  #homReason .slick-next {
    margin-left: min(25vw, 290px);
  }
}

@media (max-width: 900px) and (min-width: 761px) {
  .homReason__cont {
    width: min(65vw, 580px);
  }

  #homReason .slick-prev {
    margin-left: max(-32.5vw, -290px);
  }

  #homReason .slick-next {
    margin-left: min(32.5vw, 290px);
  }
}

@media (max-width: 760px) {
  .homReason__cont {
    width: min(78vw, 580px);
    padding: 10vw 5vw 5vw;
  }

  #homReason .slick-prev {
    margin-left: max(-39vw, -290px);
  }

  #homReason .slick-next {
    margin-left: min(39vw, 290px);
  }

  .homReason__title {
    column-gap: min(4vw, 20px);
    margin-bottom: 10px;
  }

  .homReason__title .homReason__num {
    font-size: min(15vw, 10rem);
  }

  .homReason__title h3 {
    font-size: min(5.6vw, 3rem);
  }
}

/* voice */
#homVoice {
  position: relative;
  padding-top: min(18vw, 240px);
  overflow: hidden;
  margin-top: max(-9vw, -120px);
}

#homVoice::before {
  content: "";
  width: 300%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #e2f0f5;
  transform-origin: center top;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}

.homVoice__body {
  background: #e2f0f5;
  padding: 0 0 min(7.5vw, 100px);
  position: relative;
}

.homVoice__body::before {
  content: "";
  background: url("../../img/home/img-homVoice-01.svg") center center / cover no-repeat;
  aspect-ratio: 143/150;
  width: min(21vw, 280px);
  position: absolute;
  right: 5%;
  top: 0;
  transform: translate(0, -55%);
}

.homVoice__title {
  position: relative;
  z-index: 1;
}

:root {
  --ff-cw: min(90%, 1200px);
  --ff-sw: calc(calc(100% - var(--ff-cw))/2);
}

.homVoice__wrap {
  width: calc(var(--ff-cw) + var(--ff-sw));
  margin-left: var(--ff-sw);
  position: relative;
}

.voice__link {
  width: min(27vw, 360px);
  background: #fff;
  border-radius: 10px;
  margin-right: min(3vw, 40px)
}

.voice__link a {
  display: block;
}

.voice__link .voice__thum a {
  overflow: hidden;
  aspect-ratio: 36/24;
  border-radius: 10px 10px 0 0;
  background: #eee;
}

.voice__link .voice__thum a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice__link__body {
  padding: min(1.9vw, 25px) min(1.5vw, 20px);
}

.voice__link__body .voice__cat {
  margin: 0;
  display: flex;
  display: -webkit-flex;
  column-gap: 5px;
  flex-wrap: wrap;
}

.voice__link__body .voice__cat li {
  font-weight: 600;
  font-size: var(--fs-14);
  margin-bottom: 5px;
}

.voice__link__body .voice__cat li a {
  background: var(--c-blue);
  color: #fff;
  display: block;
  border-radius: 5px;
  padding: 0 15px;
}

.voice__link__body .voice__clinic {
  font-weight: 600;
  margin: min(0.8vw, 10px) 0;
  line-height: 1.5;
}

.voice__link__body .voice__exc {
  margin: 0;
  color: #333 !important;
  font-size:var(--fs-16);
  font-weight: 600;
  line-height: 1.5;
}

#homVoice .slick-dots {
  width: calc(100% - 200px);
  margin: 40px auto 0;
}

.btn--slider {
  cursor: pointer;
  position: absolute;
  bottom: 0;
  margin: 0;
  width: var(--w-60);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #828282;
  transform: translate(0, 35%);
}

.btn--next {
  right: 30px;
}

.btn--prev {
  right: 250px
}

.btn--slider::before {
  content: "";
  width: 15px;
  aspect-ratio: 1/1;
  position: absolute;
  border-top: 1px solid #828282;
  border-right: 1px solid #828282;
  left: 50%;
  top: 50%;
}

.btn--prev:before {
  transform: translate(-40%, -50%) rotate(-135deg);
}

.btn--next:before {
  transform: translate(-60%, -50%) rotate(45deg);
}

@media (max-width: 960px) and (min-width: 701px) {
  .voice__link {width: min(36vw, 360px);}
}

@media (max-width: 700px) {
  .voice__link { width: min(58vw, 360px);}
  #homVoice .slick-dots {margin: 20px auto;}
  .btn--slider { width: 45px;}
  .btn--slider::before { width: 10px;}
}


.homVoice__tag {
  padding: min(1.5vw, 20px) 0 min(3vw, 40px);
  border-bottom: 1px solid #b1c6cd;
  margin-bottom: min(6vw, 80px);
}

.homVoice__tag h3 {
  margin-bottom: var(--w-30);
}

.homVoice__tag h3 span {
  background: var(--c-blue);
  color: #fff;
  border-radius: 30vw;
  font-weight: 600;
  padding: min(0.9vw, 12px) min(3vw, 40px);
  display: inline-block;
  position: relative;
}

.homVoice__tag h3 span::before {
  content: "";
  width: min(1vw, 12px);
  aspect-ratio: 1/1;
  background: var(--c-blue);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%)rotate(45deg);
}

.homVoice__tag ul {
  margin: 0;
  display: flex;
  display: -webkit-flex;
  column-gap: var(--w-10);
  flex-wrap: wrap;
}

.homVoice__tag ul li {
  margin-top: var(--w-10);
}

.homVoice__tag ul li a {
  display: block;
  background: #fff;
  border-radius: 30vw;
  text-align: center;
  font-weight: 500;
  padding: 8px min(4vw, 30px);
  line-height: 1.3;
}


/* homSystem */
#homSystem {
 padding: var(--w-100) 0;
}
.homInrSystem {
  width: 98%;
  max-width: 1440px;
  margin: 0 auto;
}
@media (max-width: 960px) {
.homInrSystem {width: 100%;}
}


/* homCase */
#homCase {
  background: #dbe5ee url("../../img/home/bg-homCase-01.jpg") center bottom / 100% auto no-repeat;
  padding: var(--w-80) 0 var(--w-120);
}
#homCase h2 {
  position: relative;
}
#homCase h2 em {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 0;
  border-radius: 50%;
  background: var(--c-blue);
  color: #fff;
  width: clamp(80px, 66.328px + 3.646vw, 115px);
  aspect-ratio: 1/1;
  font-size: var(--fs-18);
  transform: translate(100%, -100%);
}

#homCase h2 em::before {
  content: "";
  display: inline-block;
  width: min(2.2vw, 30px);
  height: min(3vw, 40px);
  background: var(--c-blue);
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  left: 15%;
  bottom: 0;
  transform: translate(0, 40%) rotate(30deg);
}

.homInrCase {
  width: 90%;
  max-width: 1330px;
  margin: 0 auto;
}

.homCase__flex {
  display: flex;
  display: -webkit-flex;
  column-gap: 1%;
  flex-wrap: wrap;
}

.homCase__list {
  width: calc(calc(100% - 3%) / 4);
  text-align: center;
  margin-top: 1%;
}

.homCase__list a {
  display: block;
  border-radius: 15px;
  padding: min(2.6vw, 35px) min(1.1vw, 15px);
  background: #fff;
}

.homCase__list .homCase__img {
  margin: 0 auto var(--w-20);
  width: 80%;
}

.homCase__list h3 {
  font-size: var(--fs-24);
  font-weight: 600;
  line-height: 1.6;
}

.homCase__list h3 span {
  display: block;
  font-size: var(--fs-14);
  font-family: var(--ff-en);
  color: var(--c-blue02);
}

@media (max-width: 971px) {
  .homCase__list {
    width: calc(calc(100% - 2%) / 3);
    text-align: center;
    margin-top: 1%;
  }
}

@media (max-width: 600px) {
  .homCase__flex {
    column-gap: 2%;
  }

  .homCase__list {
    width: 49%;
    text-align: center;
    margin-top: 2%;
  }
}


/* homPrice */
#homPrice {
  padding: clamp(60px, 36.563px + 6.25vw, 120px) 0 clamp(100px, 84.375px + 4.167vw, 140px);
}

.homInrPrice {
  width: 90%;
  max-width: 1110px;
  margin: 0 auto;
}

.homPrice__base {
  background: #fff url("../../img/home/bg-price-01.svg") left center / 30% auto no-repeat;
  border: 1px solid #9a9a9a;
  border-radius: 15px;
  height: clamp(100px, 80.469px + 5.208vw, 150px);
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  margin-bottom: min(3.4vw, 45px);
}

.homPrice__base h3 {
  font-weight: 600;
  color: var(--c-blue);
  font-size: clamp(2.4rem, 2.1656rem + 0.625vw, 3rem);
  transform: translateX(1em);
}

.homPrice__base h3 span {
  color: #333;
  margin-left: 1em;
  font-size: var(--fs-24);
}

.homPrice__base h3 span em {
  margin-left: 1em;
  font-size: 0.6em;
}

.homPrice__title {
  font-weight: 600;
  color: var(--c-blue);
  font-size: clamp(2.4rem, 2.1656rem + 0.625vw, 3rem);
  position: relative;
  padding-left: 2em;
}

.homPrice__title em {
  color: #333;
  margin-left: 1em;
  font-size: clamp(1.4rem, 1.3219rem + 0.208vw, 1.6rem);
}

.homPrice__title::before {
  content: "";
  background: url("../../img/home/ic-claud-01.png") center center / cover no-repeat;
  aspect-ratio: 50/32;
  width: 1.5em;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.homPrice__flex {
  display: flex;
  display: -webkit-flex;
  column-gap: 0.9%;
  flex-wrap: wrap;
}

.homPrice__list {
  width: calc(calc(100% - 2.7%) / 4);
  text-align: center;
  margin-top: 0.9%;
  background: #fff;
  border: 1px solid #9a9a9a;
  border-radius: 15px;
  padding: clamp(10px, 8.047px + 0.521vw, 15px) clamp(5px, 2.266px + 0.729vw, 12px) clamp(8px, 6.438px + 0.417vw, 12px);
}

.homPrice__thum {
  margin: 0 auto min(0.7vw, 10px);
  width: 56%;
  max-width: 150px;
}

.homPrice__list h4 {
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: normal;
}

.homPrice__list h4 em, .homPrice__price em {
  margin-left: 0.5em;
  font-size: 0.7em;
}

.homPrice__price {
  line-height: 1.4;
  font-size: var(--fs-15);
  margin: 0;
}

.homPrice__option {
  text-align: center;
  font-size: clamp(1.2rem, 1.1219rem + 0.208vw, 1.4rem);
  margin: min(1.1vw, 15px) 0 0;
}

.homPrice__option span {
  display: inline-block;
  color: #fff;
  background: var(--c-orange02);
  border-radius: 30vw;
  font-weight: 500;
  padding: 0 1em;
}

.homPrice__option.homPrice--base span {
  background: var(--c-blue);
}

.homPrice__note {
  margin: min(2.2vw, 30px) 0 0;
  font-size: clamp(1.2rem, 1.1219rem + 0.208vw, 1.4rem);
  color: #666666;
}

.homPrice__note li {
  padding-left: 2.5em;
  position: relative;
  margin: 5px 0;
  line-height: 1.5;
}

.homPrice__note li span {
  position: absolute;
  left: 0;
}

@media (max-width: 971px) {
  .homPrice__list {
    width: calc(calc(100% - 1.8%) / 3);
  }
}

@media (max-width: 661px) {
  .homPrice__flex {
    column-gap: 2%;
  }

  .homPrice__list {
    width: 49%;
    text-align: center;
    margin-top: 2%;
  }
}

@media (max-width: 640px) {
  .homPrice__base h3 {
    line-height: 1.5;
  }

  .homPrice__base h3 span {
    display: block;
    margin: 0;
  }
}



/* homColumn */
#homColumn {
  position: relative;
}

#homColumn::before {
  content: "";
  width: 95%;
  height: 100%;
  background: var(--bg-blue);
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 50px 0 0 50px;
}

#homColumn::after {
  content: "";
  background: url("../../img/home/img-homColumn-01.svg") center center / cover no-repeat;
  aspect-ratio: 216/150;
  width: clamp(180px, 74.531px + 28.125vw, 450px);
  position: absolute;
  right: 3%;
  top: 0;
  transform: translate(0, -50%);
}

#homColumn .inrContent {
  position: relative;
  padding: clamp(40px, 24.375px + 4.167vw, 80px) 0 clamp(60px, 44.375px + 4.167vw, 100px);
  z-index: 2;
}

#homColumn .homTitle__read {
  font-size: clamp(1.4rem, 1.2438rem + 0.417vw, 1.8rem);
}

.homCol__link {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--c-blue);
  padding: min(2.1vw, 28px) 0;
}

.homCol__link:first-child {
  border-top: 1px solid var(--c-blue);
}

.homCol__link .homCol__thum {
  width: 15.4%;
  margin: 0;
}

.homCol__link .homCol__thum a {
  background: #fff;
  overflow: hidden;
  border-radius: 15px;
  height: 100%;
  min-height: 110px;
  display: block;
  width: 100%;
  aspect-ratio:8/5;
}

.homCol__link .homCol__thum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.homCol__link .homCol__txt {
  width: 81%;
}

.homCol__link .homCol__txt .homCol__date {
  margin: 0;
  color: var(--c-blue);
  font-size: clamp(1.4rem, 1.3219rem + 0.208vw, 1.6rem);
  font-weight: 600;
}
.homCol__link .homCol__txt h3 {
  line-height: 1.5;
}
.homCol__link .homCol__txt h3 a {
  color: #333;
  font-size: clamp(1.4rem, 1.3219rem + 0.208vw, 1.6rem);
  font-weight: 600;
}

.homCol__link .homCol__txt .homCol__cat {
  margin: min(1.1vw, 15px) 0 0;
  font-size: clamp(1.1rem, 1.0219rem + 0.208vw, 1.3rem);
  display: flex;
  display: -webkit-flex;
  column-gap: 5px;
  flex-wrap: wrap;
}

.homCol__link .homCol__txt .homCol__cat li a {
  display: block;
  border-radius: 5px;
  border: 1px solid var(--c-blue);
  padding: 0 10px;
}

.btnColumn {
  margin: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(0, 50%);
}
.btnColumn a {
 width: 80vw;
 max-width: 300px;
}

@media (max-width: 1420px) {
  #homColumn::before { width: 98%; }
}

@media (max-width: 1100px) {
  .homCol__link .homCol__thum { width: min(35%, 160px); }
  .homCol__link .homCol__txt { width: calc(95% - min(35%, 160px)); }
}

/* ----------------------------------------------------
module(common)
---------------------------------------------------- */
.mainContent {
 padding: var(--w-30) 0 0;
}

@media (max-width: 780px) {}


/* ----------------------------------------------------
local navi(common)
---------------------------------------------------- */
@media (min-width: 781px) {  /* 781px以上 */
  #navLocal {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 0;
  }

  #navLocal ul {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: min(1.25vw, 15px);
  }

  #navLocal ul li {
    font-size: min(1.3vw, 1.6rem);
    margin: min(0.83vw, 10px) 0;
  }

  #navLocal ul li a {
    display: block;
    text-align: center;
    padding: min(1vw, 12px) min(1.66vw, 20px);
    background: #f5f5ef;
    min-width: min(15.8vw, 190px);
    border: 2px solid #7ecc4a;
    color: #7ecc4a;
    font-weight: 600;
  }

  #navLocal ul li a.current, #navLocal ul.first li a.parentsLink, #navLocal ul li a:hover {
    color: #fff;
    background: #7ecc4a;
    position: relative;
  }
}

@media (max-width: 780px) { /*　780px以下 */
  .col-reverse {
    display: flex;
    display: -webkit-flex;
    flex-direction: column-reverse;
  }

  #navLocal {
    background: #00a1e9;
    width: 100%
  }

  #navLocal ul {
    margin: 0;
  }

  #navLocal ul li a {
    display: block;
    color: #fff;
    font-size: clamp(1.8rem, 2vw, 2.4rem);
    padding: clamp(12px, 2vw, 24px) clamp(20px, 3vw, 36px);
    border-bottom: 1px solid #fff;
    position: relative;
  }

  #navLocal ul li a::after {
    content: "";
    width: min(2vw, 15px);
    aspect-ratio: 1/1;
    margin-top: -0.5vw;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    position: absolute;
    right: clamp(20px, 3vw, 36px);
    top: 50%;
    transform: rotate(45deg);
  }

  #navLocal ul li a.current, #navLocal ul.first li a.parentsLink {
    background: #0485bf;
    font-weight: 600;
  }
}

/* --------------------------------------------------
visual / topicPath 
----------------------------------------------------- */
.visual {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  background: #e8edf3;
  height: min(21.7vw, 290px);
  position: relative;
}

.visual::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../../img/page/common/bg-visual-01.jpg") right center / auto 100% no-repeat;
  position: absolute;
  right: 0;
  top: 0;
}

.visual .visTitle {
  text-align: left;
  width: 90%;
  max-width: 1200px;
  position: relative;
}

.visual h2 {
  font-size: clamp(2.6rem, 17.406px + 2.292vw, 4.8rem);
  font-weight: 700;
  position: relative;
}

.visual .visTitle__en {
  margin: 0;
  text-transform: uppercase;
  color: var(--c-blue);
  font-family: var(--ff-en);
  font-weight: 600;
}

@media (max-width: 960px) {
  .visual { height: min(40vw, 290px); }
  .visual::before { opacity: 0.5; width: 130%; right: -30%; }
}

@media (max-width: 580px) {
  .visual .visTitle { margin-top: 8vw; }
}

/* --------------------------------------------------
topicPath
----------------------------------------------------- */
ol.topicPath {
  width: 90%;
  max-width: 1200px;
  margin: 10px auto;
}

/* --------------------------------------------------
heading / p 
----------------------------------------------------- */
.hA {
  text-align: center;
  font-weight: 600;
  font-size: var(--fs-36);
  margin: var(--w-60) auto var(--w-30);
}

.hA:first-of-type {
  margin-top: 0;
}

.hB {
  font-size: var(--fs-28);
  background: var(--bg-blue);
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.5;
  padding: var(--w-20) var(--w-30);
  border-radius: 10px;
  margin: var(--w-60) 0 var(--w-20);
}

.hC {
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.5;
  font-size: clamp(1.7rem, 1.5047rem + 0.521vw, 2.2rem);
  margin: var(--w-60) 0 var(--w-15);
  padding-bottom: var(--w-15);
  border-bottom: 2px solid var(--bg-blue);
}

.hD {
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.5;
  font-size: var(--fs-20);
  padding-left: 1.25em;
  position: relative;
  margin: var(--w-20) 0 5px;
}

.hD::before {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--c-blue);
  position: absolute;
  left: 0;
  top: 0.4em;
}

.hE {
  font-weight: 700;
  line-height: 1.5;
  margin: var(--w-30) 0 5px;
}

.strongA {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}



/* --------------------------------------------------
link / list 
----------------------------------------------------- */
.telLink {
  font-size: clamp(2.2rem, 2.2vw, 2.6rem);
}

.telLink::before {
  color: #7ecc4a;
}

a.linkArrow {
  display: inline-block;
  min-width: min(25.5vw, 300px);
  padding: min(1.5vw, 18px) min(2.5vw, 30px);
  text-align: center;
  position: relative;
}

a.linkArrow::after {
  content: "";
  position: absolute;
  right: min(1.25vw, 15px);
  top: 50%;
  width: min(0.83vw, 10px);
  aspect-ratio: 1/1;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: translateY(-50%) rotate(45deg);
}

a.linkArrow {
  background: var(--c-blue);
  color: #fff;
}

a.linkArrow::after {
  border-color: #fff;
}

a.linkExternal span::after {
  color: #fff;
}

ul.listDot li::before {
  background: var(--c-blue);
}

ul.listCheck li::before {
  color: var(--c-blue);
}

.listData dt {
  margin-top: min(0.4vw, 5px);
}

@media (max-width: 780px) {
  .telLink a {color: inherit;}
  a.linkArrow {display: block;min-width: inherit; width: 80%; padding: min(4vw, 18px) min(5vw, 30px); margin: 0 auto;}
  a.linkArrow::after { right: min(3vw, 15px); width: min(2vw, 10px);}
  .listData dt { margin-top: min(1vw, 5px); }
}


/* --------------------------------------------------
decBox
----------------------------------------------------- */
.decBox {
  padding: min(2.5vw, 30px);
  margin-bottom: min(2.5vw, 30px);
}

.decBox01 {
  border: 1px solid #66ba2e;
  background: #fff;
}

.decBox02 {
  background: #dfeed6;
}

.decBox03 {
  background: #fff;
  border: 2px solid #dadac6;
}

@media (max-width: 780px) {
  .decBox { padding: min(5vw, 30px); margin-bottom: min(5vw, 30px);}
}

/* --------------------------------------------------
table
----------------------------------------------------- */
.tblA, .tblTime {}

.tblA th, .tblA td, .tblTime th, .tblTime td {
  padding: clamp(5px, 0.83vw, 10px);
}

.tblA th, .tblTime th {
  background: var(--bg-blue);
  color: #333;
}

.tblA td, .tblTime td {
  background: #fff;
  color: #333;
}


/* --------------------------------------------------
grid list (サイズ均等)
---------------------------------------------------- */
.l-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  grid-gap: 1.25em;
}
.l-grid--02 { grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));}
.l-grid--03 { grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));}
.l-grid--04 { grid-template-columns: repeat(auto-fit, minmax(275px, 1fr));}

@media (max-width: 400px) {
  .l-grid--02 { grid-template-columns: 1fr; }
}

/* --------------------------------------------------
gridレイアウト / 画像上テキスト
---------------------------------------------------- */
.grdImgBox {
  margin: min(3.3vw, 40px) 0;
}

.picOver__txt {
  background: rgba(0, 0, 0, 0.2);
  color: #fff;
  padding: min(1.66vw, 15px) min(1.66vw, 20px);
}

@media (max-width: 780px) {
  .picOver__txt {padding: min(2.5vw, 15px) min(3vw, 20px);}
}


/* --------------------------------------------------
step
---------------------------------------------------- */
.stpBox {
  background: #f3f3f3;
  border-radius: min(1.25vw, 15px);
  padding: min(6vw, 70px) min(5vw, 60px) min(5vw, 60px);
  position: relative;
}

.stpBox .stpNum {
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #333;
  color: #fff;
  aspect-ratio: 1/1;
  width: clamp(75px, 7.5vw, 90px);
  line-height: 1.3;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}

.stpBox .stpNum span em {
  font-size: clamp(2rem, 2vw, 2.4rem);
  display: block;
  text-align: center;
}

.stpBox .stpTitle h3 {
  font-weight: 600;
  font-size: clamp(1.8rem, 1.66vw, 2rem);
  margin-bottom: min(1.66vw, 20px);
}

@media (max-width: 780px) {
  .stpBox { border-radius: min(3vw, 15px);padding: min(10vw, 60px) min(8vw, 60px) min(8vw, 60px);}
  .stpBox .stpTitle h3 { margin-bottom: min(3.5vw, 20px); }
}


/* ---------------------------------------------------
access
--------------------------------------------------- */
.acsStep__num {
  margin: 0;
  background: #000;
  color: #fff;
  aspect-ratio: 1/1;
  width: clamp(40px, 4.16vw, 50px);
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}



/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
other
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width:768px) {
  /* hover */
  a:hover, .clickable:hover {
    opacity: .8 !important;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
  }
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

shinryouka

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.shinryo_top .homCase__list a {
  border: 1px solid #ccc;
}

.shinryo_top .homCase__list a:hover {
  background: var(--bg-blue);
  opacity: 1 !important;
}

/*  department */

.dep__title {
  display: flex;
  display: -webkit-flex;
  column-gap: 5px;
  align-items: center;
  width: 90%;
  max-width: 1380px;
  margin: 0 auto;
  position: relative;
}

.dep__title .dep__title__img {
  width: min(21vw, 280px);
}

.dep__title h2 {
  line-height: 1.3;
  font-size: clamp(1.6rem, 0.8188rem + 2.083vw, 3.6rem);
  -webkit-text-stroke: 5px var(--bg-blue);
  text-stroke: 5px var(--bg-blue);
  paint-order: stroke;
}

.dep__title h2 span {
  font-size: clamp(2rem, 0.9063rem + 2.917vw, 4.8rem);
  background: linear-gradient(transparent 60%, #ffff66 60%);
  padding: 0 5px;
  -webkit-text-stroke: 0px var(--bg-blue);
  text-stroke: 0px var(--bg-blue);
  paint-order: inherit;
}

@media (max-width: 600px) {
  .dep__title { padding-top: min(9vw, 25px); width: 98%;  }
  .dep__title .dep__title__img { width: min(26vw, 280px); }
}


.navAnchor {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto var(--w-60);
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  flex-wrap: wrap;
  column-gap: var(--w-10);
}

.navAnchor li {
  flex-grow: 1;
}

.navAnchor li a {
  border-radius: 30vw;
  background: #d7e3f2;
  display: block;
  text-align: center;
  font-weight: 600;
  padding: var(--w-15);
}

.navAnchor li a span {
  position: relative;
  padding-right: 1.5em;
}

.navAnchor li a span::before {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  border-bottom: 2px solid var(--c-blue);
  border-right: 2px solid var(--c-blue);
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-40%) rotate(45deg);
}

@media (max-width: 1265px) {
  .depOther__flex .homCase__list { width: calc(calc(100% - 2.2%) / 3); margin-top: 1.1%; }
}

@media (max-width: 570px) {
  .navAnchor li:first-child { width: 100%; margin-bottom: var(--w-10);}
}


#depProblem {
  position: relative;
  padding-bottom: var(--w-90);
  margin-bottom: var(--w-120);
}

#depProblem::before {
  content: "";
  width: 100%;
  height: 65%;
  background: #d8ecfb;
  position: absolute;
  left: 0;
  bottom: 0;
}

#depProblem::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 50px;
  background: #d8ecfb;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 99%);
}

#depProblem h2 {
  text-align: center;
  font-weight: 700;
  font-size: clamp(1.8rem, 1.1750rem + 1.667vw, 3.4rem);
  line-height: 1.3;
}

#depProblem h2 span {
  font-size: clamp(2.4rem, 1.462rem + 2.5vw, 4.8rem);
}

.depProblem__flex {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  column-gap: 1.3%;
  margin: var(--w-60) auto 0;
  position: relative;
  z-index: 1;
}

.depProblem__cont {
  width: calc(calc(100% - 2.6%) / 3);
  border: 1px solid var(--c-blue);
  background: #fff;
  text-align: center;
  padding: var(--w-50) var(--w-20) var(--w-20);
  margin-bottom: 1.3%;
}

.depProblem__cont .depProblem__img {
  margin: 0;
}

.depProblem__cont .depProblem__img img {
  width: auto;
  height: clamp(50px, 36.719px + 3.542vw, 84px);
}

.depProblem__cont h3 {
  font-weight: 600;
  color: var(--c-blue);
  text-align: center;
  margin: 15px 0;
  line-height: 1.4;
  font-size: var(--fs-24);
}

.depProblem__cont .depProblem__txt {
  margin: 0;
  line-height: 1.6;
}

#depSystem h2 {
  text-align: center;
  font-size: clamp(3rem, 2.2188rem + 2.083vw, 5rem);
  font-weight: 800;
  letter-spacing: 0.25rem;
}

#depSystem h2 em {
  position: relative;
}

#depSystem h2 em::before {
  content: "";
  background: url("../../img/page/shinryoka/ic-mark-ex.svg") center center / cover no-repeat;
  aspect-ratio: 60/150;
  width: 0.42em;
  position: absolute;
  right: 0;
  top: 50%;
  transform-origin: center bottom;
  transform: translate(135%, -50%) rotate(15deg);
}

#depSystem h2 img {
  width: clamp(280px, 213.594px + 17.708vw, 450px);
}

#depSystem h2 span {
  font-size: clamp(2.4rem, 1.775rem + 1.667vw, 4rem);

}

.depInrSystem {
  width: 90%;
  max-width: 1440px;
  margin-inline: auto;
}

.depContent {
  margin: var(--w-100) auto;
}

.depCont__head {
  text-align: center;
  position: relative;
  min-height: 320px;
}

.depCont__head h3 {
  color: var(--c-blue);
  font-weight: 700;
  letter-spacing: 0.2rem;
  font-size: clamp(2.4rem, 1.6188rem + 2.083vw, 4.4rem);
  line-height: 1.3;
  margin-bottom: var(--w-20);
}

.depCont__head h3 span {
  font-size: var(--fs-18);
  position: relative;
  padding: 0 1em;
}

.depCont__head h3 span::before, .depCont__head h3 span::after {
  content: "";
  width: 2px;
  height: 100%;
  background: var(--c-blue);
  position: absolute;
  top: 50%;
}

.depCont__head h3 span::before {
  left: 0;
  transform: translateY(-50%) rotate(-40deg);
}

.depCont__head h3 span::after {
  right: 0;
  transform: translateY(-50%) rotate(40deg);
}

.depCont__head p {
  margin: 0 auto;
  width: calc(100% - min(35vw, 440px));
  font-size: var(--fs-20);
}

.depCont__head .depCont__person {
  position: absolute;
  width: clamp(140px, 108.750px + 8.333vw, 220px);
  bottom: 0;
  right: 0;
}

.depContent:nth-child(even) .depCont__person {
  right: inherit;
  left: 0
}

.depCont__body {
  background: var(--bg-blue);
  padding: 95px 0 80px;
  position: relative;
}

.depCont__body::before {
  content: "";
  background: url("../../img/page/shinryoka/img-decBody-01.svg") center center / cover no-repeat;
  aspect-ratio: 136/150;
  width: clamp(80px, 60.469px + 5.208vw, 130px);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -45%);
}

.depCont__body h3 {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  font-size: clamp(2.2rem, 1.4969rem + 1.875vw, 4rem);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0.15rem;
  margin-bottom: var(--w-60);
}

.depCont__body h3 .fc--orange {
  color: var(--c-orange);
}

.depCont__body h3 .fs--L {
  font-size: clamp(2.6rem, 1.8578rem + 1.979vw, 4.5rem);
}

.depCont__body .depBody__inr {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  display: -webkit-flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.depBody__img {
  width: 47.5%;
  text-align: center;
}

.depBody__txt {
  width: 47.5%;
}

.depBody__img p {
  text-align: center;
  margin: 10px auto 0;
}

.depBody__img img {
  width: auto;
  max-width: 100%;
}

@media (max-width: 1000px) {
  .depContent:nth-child(odd) .depCont__head p { text-align: left;width: 100%;padding-right: clamp(140px, 108.750px + 8.333vw, 220px);}
  .depContent:nth-child(even) .depCont__head p { text-align: left; width: 100%; padding-left: clamp(140px, 108.750px + 8.333vw, 220px); }
  .depCont__body {padding: min(15vw, 90px) 0 30px;}
  .depCont__body .depBody__inr { display: block;}
  .depCont__body h3 { margin-bottom: 40px; }
  .depBody__img { width: 90%; text-align: center; margin: 0 auto 40px;}
  .depBody__txt { width: 100%;}
}

@media (max-width: 825px) {
  .depCont__head { min-height: auto; }
  .depContent .depCont__head p { margin: 0; width: calc(100% - clamp(140px, 108.750px + 8.333vw, 220px)) !important; padding: 0 0 50px 0 !important; min-height: 180px; }
  .depContent:nth-child(even) .depCont__person { right: 0;left: inherit }
  .depCont__head .depCont__person { transform: translateX(10%); }
  .depProblem__cont { width: calc(calc(100% - 2.6%) / 2);  }
  .depProblem__cont .depProblem__txt { text-align: left; }
}


#depVoice {
  background: #f3f3f3;
  padding: var(--w-100) 0;
  position: relative;
  margin: clamp(80px, 37.031px + 11.458vw, 190px) auto 0;
}

#depVoice::before {
  content: "";
  background: url("../../img/common/lg-quiq-03.svg") center center / cover no-repeat;
  aspect-ratio: 112/150;
  width: clamp(70px, 54.375px + 4.167vw, 110px);
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
}

.depTitle {
  text-align: center;
  color: var(--c-blue);
  font-weight: 800;
  font-size: clamp(3rem, 2.4531rem + 1.458vw, 4.4rem);
  letter-spacing: 0.2rem;
  line-height: 1.4;
  margin-bottom: var(--w-50);
}


#depVoice .btnVoice {
  margin: var(--w-60) auto 0;
}


#depOther {
  padding: var(--w-90) 0 0;
  width: 100%;
  margin: 0 auto;
  border-top: 1px solid var(--c-blue);
}

.depOther__flex {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  column-gap: 1.1%;
  margin: 30px auto 0;
  width: 90%;
  max-width: 1325px;
}

.depOther__flex .homCase__list {
  width: calc(calc(100% - 3.3%) / 4);
  border: 1px solid var(--c-blue);
  border-radius: 10px;
}

.depOther__flex .homCase__list a {
  display: flex;
  display: -webkit-flex;
  column-gap: var(--w-15);
  align-items: center;
  padding: var(--w-15);
  border-radius: 10px;
}

.depOther__flex .homCase__list a .homCase__img {
  width: min(30%, 90px);
  margin: 0;
}

.depOther__flex .homCase__list a .homCase__img img {
  max-height: 57px;
}

.depOther__flex .homCase__list a h3 {
  flex-grow: 1;
  text-align: left;
  font-size: clamp(1.5rem, 1.3828rem + 0.313vw, 1.8rem);
}

.depOther__flex .homCase__list a h3 span {
  font-size: var(--fs-12);
  letter-spacing: normal;
}

@media (max-width: 1130px) {
  .depOther__flex .homCase__list { flex-grow: 1;}
}

@media (max-width: 890px) {
  .depOther__flex .homCase__list { width: calc(calc(100% - 1.1%) / 2); }
  .depOther__flex .homCase__list a { padding: 10px 5px;}
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

voice

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* voice__link */
.voice__flex {
  display: flex;
  display: -webkit-flex;
  column-gap: 2.5%;
  flex-wrap: wrap;
}

.voice__flex .voice__link {
  width: calc(calc(100% - 5%) / 3);
  margin: 0;
  margin-bottom: 2.5%;
 border: 1px solid #ccc;
}

.voice__flex .voice__link .voice__link__body {
 padding: var(--w-20);
}


@media (max-width: 799px) {
  .voice__flex .voice__link__body .voice__cat li a { padding: 0 2vw; }
  .voice__flex .voice__link { width: calc(calc(100% - 2.5%) / 2); margin-bottom: 2.5%; }
}

@media (max-width: 460px) {
  .voice__flex { display: block; }
  .voice__flex .voice__link { width: 100%; margin-bottom: 2.5%; position: relative; padding-left: 38vw;}
  .voice__flex .voice__link .voice__thum { position: absolute; left: 0; top: 0; width: 38vw; height: 100%;}
  .voice__flex .voice__link .voice__thum a { aspect-ratio: inherit; border-radius: 10px 0 0 10px; height: 100%;}
}


/* voice > index */

.navVoice__cat {
  text-align: center;
  margin-bottom: var(--w-50);
}

.navVoice__cat h3 {
  font-weight: 600;
  color: var(--c-blue);
  font-size: var(--fs-24);
  margin-bottom: var(--w-15);
}

.navVoice__cat ul {
  margin: 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  column-gap: 5px;
  flex-wrap: wrap;
}

.navVoice__cat ul li {
  margin-bottom: 5px;
}

.navVoice__cat ul li a {
  display: block;
  border-radius: 30vw;
  border: 2px solid var(--c-blue);
  padding: 5px 25px;
  line-height: 1.4;
  font-weight: 500;
}

.navVoice__cat ul li a:hover, .navVoice__cat ul li a.current {
  background: var(--c-blue);
  color: #fff;
}

.navVoice__cat select {
  display: none;
}

@media (max-width: 520px) {
  .navVoice__cat h3 { margin-bottom: 5px; }
  .navVoice__cat ul { display: none; }
  .navVoice__cat select { display: block; width: 90%; margin: 0 auto; padding: 5px; border-color: var(--c-blue); }
}


/* voice > single */

#voice.single main {
  padding-bottom: 0;
}

.voiceArea {
  width: 90%;
  max-width: 980px;
  margin-inline: auto;
  margin-bottom: var(--w-120);
}

.voiceArea .voiceMV {
  margin: 0;
  background: #f3f3f3;
  border-radius: 15px;
  aspect-ratio: 980/380;
  margin-bottom: clamp(30px, 22.188px + 2.083vw, 50px);
  overflow: hidden;
}
.voiceArea .voiceMV img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.voiInfo {
  margin-top: var(--w-100);
}

.voiClinic {
  position: relative;
  border: 2px solid var(--c-blue);
  padding: var(--w-30) var(--w-50);
  border-radius: var(--w-20);
}

.voiClinic h2 {
  font-weight: 700;
  color: var(--c-blue);
  font-family: var(--ff-en);
  font-size: var(--fs-22);
  position: absolute;
  left: 20px;
  top: 0;
  background: #fff;
  padding: 0 10px;
  transform: translateY(-50%);
}

.voiClinic .voiClinic__txt {
  font-size: var(--fs-16);
}

.voiClinic .voiClinic__txt h3 {
  font-weight: 700;
  font-size: var(--fs-20);
  margin: 15px 0 10px;
  line-height: 1.5;
}

.voiClinic .voiClinic__txt .voiClinic__url a {
  position: relative;
  padding-left: 2em;
  line-height: 1.4;
  font-weight: 500;
}

.voiClinic .voiClinic__txt .voiClinic__url a::before {
  content: "\e30c";
  font-size: 1.5em;
}

.voiClinic .voiClinic__txt p:last-child {
  margin-bottom: 0;
}

.voicClinic__flex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.voicClinic__flex .voiClinic__img {
  width: 40%;
  aspect-ratio: 16/9;
}

.voicClinic__flex .voiClinic__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voicClinic__flex .voiClinic__txt {
  width: 55%;
}

@media (max-width: 670px) {
  .voicClinic__flex { display: block; }
  .voicClinic__flex .voiClinic__img { width: 90%; margin: 0 auto 20px; }
  .voicClinic__flex .voiClinic__txt { width: 100%; }
  .voiClinic .voiClinic__txt h3 { text-align: center; }
}

.voiShinryo {
  margin-top: var(--w-30);
  border-radius: var(--w-10);
  background: #d7e3f2 url("../../img/page/voice/bg-voiShinryo-01.jpg") center center / cover no-repeat;
  text-align: center;
  padding: var(--w-20) var(--w-30) var(--w-30);
}

.voiShinryo h3 {
  font-weight: 600;
  color: var(--c-blue);
  font-size: var(--fs-24);
}

.voiShinryo p {
  margin: 10px auto 0;
}

.voiShinryo p a {
  display: inline-block;
  background: #fff;
  border-radius: 30vw;
  font-weight: 600;
  color: var(--c-blue);
  line-height: 1.4;
  padding: 5px var(--w-60);
}

#voice #depVoice {
  margin-top: var(--w-80);
  padding-top: var(--w-60);
}

#voice #depVoice::before {
  content: none;
}

#voice #depVoice .depTitle {
  font-size: clamp(2.2rem, 1.8875rem + 0.833vw, 3rem);
}



/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

company

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.tblCompany th {
  width: 20%;
  border-bottom: 2px solid #fff;
  padding: var(--w-20);
}

.tblCompany tr:last-child th {
  border-color: var(--bg-blue);
}

.tblCompany td {
  border-bottom: 2px solid var(--bg-blue);
  padding: var(--w-20);
}

.comMap {
  margin: var(--w-40) auto 0;
  aspect-ratio: 98/38;
}

.comMap iframe {
  width: 100%;
  height: 100%;
}

@media (max-width: 780px) {
  .comMap { aspect-ratio: inherit; height: 40vw; }
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

column

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.colFlex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  max-width: 1200px;
}

#colMain {
  width: 70%;
}

#colSide {
  width: 25%;
}

.navSide {
  margin-bottom: var(--w-30);
}

.navSide h2 {
  color: var(--c-blue);
  font-weight: 600;
  border-bottom: 2px solid var(--c-blue);
  padding-bottom: 5px;
  margin-bottom: 10px;
}

.navSide ul {
  margin: 0;
  font-size: var(--fs-16);
}
.navSide ul li:not(:last-child) {
  border-bottom: 1px solid #fff;
  line-height: 1.4;
}
.navSide ul li a {
  display: block;
  padding: 8px 0;
}
.navSide ul li ul {
  border-top: 1px solid #fff;
}
.navSide ul li ul li {
  border-bottom: 0 !important;
}
.navSide ul li ul li a {
  padding: 5px 0 5px 1em;
}
.navSide .navSide__inr select {
  width: 100%;
  padding: 8px;
}

.colIndex__flex {
  display: flex;
  display: -webkit-flex;
  column-gap: 3%;
  flex-wrap: wrap;
}
.postIndex {
  width: calc(calc(100% - 3%) /2);
  margin-bottom: 3%;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.postIndex .postIndexThum {
  border-radius: 15px 15px 0 0;
  aspect-ratio: 450/240;
  overflow: hidden
}
.postIndex .postIndexThum img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.postIndex .postIndexBody {
  padding: var(--w-20);
}
.postIndex .postIndexBody .postCat {
  margin: var(--w-15) 0 0;
}
.postIndex .postIndexBody h2 {
  font-size: var(--fs-20);
  margin: 0;
  line-height: 1.5;
  font-weight: 600;
}
.wp-pagenavi {
  margin-top:var(--w-60);
  text-align: center;
}

/* parts */
.postDate {
  font-size: var(--fs-16);
  margin: 0;
  font-family: var(--ff-en);
  font-weight: 600;
}
.postCat {
  display: flex;
  display: -webkit-flex;
  column-gap: var(--w-10);
  flex-wrap: wrap;
  font-size:  var(--fs-14);
}
.postCat li a {
  display: block;
  border: 1px solid var(--c-blue);
  border-radius: 30vw;
  padding: 0 var(--w-15);
}
.postCat li a:hover {
  background: var(--c-blue);
  color: #fff;
}

/* single */
.postHead {
  margin-bottom: var(--w-40);
}
.postHead .postCat {
  margin: 0 0 var(--w-15);
}
.postHead h2 {
  font-size: var(--fs-36);
  line-height: 1.4;
  margin: 0 0 var(--w-10);
  font-weight: 700;
}
.postBody figure {
  margin: var(--w-30) auto;
}
.postBody img {
  width: revert-layer;
  max-width: 100%;
}
.postBody img.aligncenter {
  display: block;
  margin-inline: auto;
}
.postBody ul {
  list-style: disc;
  padding-left: 1.5em;
}
.postBody ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.postBody h2 {
  background: var(--bg-blue);
  color: var(--c-blue);
  font-size: var(--fs-24);
  font-weight: 700;
  line-height: 1.5;
  padding: var(--w-20) var(--w-30);
  border-radius: 10px;
  margin: var(--w-60) 0 var(--w-20);
}
.postBody h3 {
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.5;
  font-size: var(--fs-22);
  margin: var(--w-40) 0 var(--w-15);
  padding-bottom: var(--w-15);
  border-bottom: 2px solid var(--bg-blue);
}
.postBody h4 {
  color: var(--c-blue);
  font-weight: 700;
  line-height: 1.5;
  font-size: var(--fs-20);
  padding-left: 1.25em;
  position: relative;
  margin: var(--w-20) 0 5px;
}
.postBody h4::before {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--c-blue);
  position: absolute;
  left: 0;
  top: 0.4em;
}
.postBody blockquote {
  background: #f3f3f3;
  margin: var(--w-60) 0;
  padding: var(--w-30) var(--w-40);
  border-radius: 15px;
}
.postBody blockquote h3:first-of-type,
.postBody blockquote h4:first-of-type {
  margin-top: 0;
}
.postBody blockquote p:last-child,
.postBody blockquote ul:last-child {
  margin-bottom: 0;
}

.postBody .alignleft img[src$=".svg"],
.postBody .alignright img[src$=".svg"],
.postBody .aligncenter img[src$=".svg"]{
  width: 100%;
  min-width: 336px;
}

.navColumn {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: var(--w-10);
  grid-row-gap: 0px;
  margin-top: var(--w-100);
  font-size: var(--fs-16);
}
.navColPrev { grid-area: 1 / 1 / 2 / 2;}
.navColTop  { grid-area: 1 / 2 / 2 / 3; text-align: center;}
.navColNext { grid-area: 1 / 3 / 2 / 4; text-align: right;}
.navColumn li a {position: relative;}
.navColPrev a { padding-left: 1em;}
.navColNext a { padding-right: 1em;}

.navColumn li:not(.navColTop) a::before {
  content: "";
  width: 0.5em;
  aspect-ratio: 1/1;
  border-top: 1px solid var(--c-blue);
  border-right: 1px solid var(--c-blue);
  position: absolute;
}
.navColPrev a::before {
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(-135deg);
}
.navColNext a::before {
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}


@media (max-width: 960px) {
  #colMain { width: 100%; }
  #colSide { width: 100%; margin-top: 10vw;}
  .postIndex {width: calc(calc(100% - 6%) /3);margin-bottom: 3%; }
}

@media (max-width: 780px) {
  .postIndex {width: calc(calc(100% - 3%) /2); }
}


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

contact

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.conTxt {
 text-align: center;
 }
.conForm {
 margin: var(--w-40) auto 0;
 background: #f6f6f6;
 padding: var(--w-50);
 font-size: var(--fs-16);
 border-radius: 15px;
}
.comForm__parts:not(:last-child) {
 border-bottom: 1px solid #ccc;
 padding-bottom: var(--w-25);
 margin-bottom: var(--w-25);
}
.comForm__parts h3 {
 font-size: var(--fs-18);
 font-weight: 600;
 color: var(--c-blue);
 margin-bottom: 5px;
}
.comForm__parts h3 .required {
 font-size: var(--fs-14);
 color: firebrick;
 padding-left: 1em;
 font-weight: 500;
}
.comForm__parts table {
 width: 100%;
}
.comForm__parts table th {
 width: 6em;
}
.comForm__parts input[type="text"],
.comForm__parts input[type="email"],
.comForm__parts input[type="tel"],
.comForm__parts select,
.comForm__parts textarea{
 border:1px solid #aaa;
 outline:none;
 padding: 5px;
 margin: 5px 0;
}
.comForm__parts .inputA {
 width: 60%;
}
.comForm__parts textarea {
 width: 100%;
 height: 10em;
}
.comForm__parts input[type="checkbox"],
.comForm__parts input[type="radio"] {
 margin-right: 0.5em;
}
.wpcf7-list-item {
  margin-right: 1em;
 }
.wpcf7-list-item label {
 cursor: pointer;
}
.btn__linkCenter {
 margin: var(--w-60) auto var(--w-40); 
 text-align: center;
 display: flex;
 display: -webkit-flex; 
 justify-content: center; 
 column-gap:var(--w-20);
}
.btn__linkCenter p {
 margin-bottom: 0;
}
.btn__linkCenter .btnSubmit {
 border: none;
 background: var(--c-blue);
 color: #fff;
 border-radius: 30vw;
 font-weight: 600;
 font-size: var(--fs-20);
 padding: var(--w-20) var(--w-30);
 width: 100%;
 min-width: 300px;
 margin: 0;
}
.btn__linkCenter .btnBack {
 border: none;
 background: #ccc;
 color: #fff;
 border-radius: 30vw;
 font-weight: 600;
 font-size: var(--fs-20);
 padding: var(--w-20) var(--w-30);
 width: 100%;
 min-width: 180px;
 margin: 0;
}

.conNote {
 text-align: center;
 font-size: var(--fs-14);
}

@media (max-width: 640px) {
 .conTxt { text-align: left; }
 .comForm__parts .inputA {width: 100%;}
 .wpcf7-list-item { margin: 0; display: block; }
}

@media (max-width: 560px) {
.btn__linkCenter {flex-direction: column-reverse;}
.btn__linkCenter p {margin: var(--w-15) 0;}
.btn__linkCenter input {min-width: inherit;}
}

@media (max-width: 440px) {
 .conNote { text-align: left; }
 .conNote br {display: none;}
}

.conForm p {margin-bottom:0;}
.wpcf7-spinner{display:block !important; margin: 0 auto !important; position: absolute !important;}


