@charset "UTF-8";

/* ==== root ========================== */
:root {
  --color-black: #555555;
  --color-white: #fff;
  --color-navy: #485E87;
  --color-bgBlue: #EFF3F5;

  --zen-mincho: "Zen Old Mincho", serif;
  --zen-kaku: "Zen Kaku Gothic New", sans-serif;

  --medium: 500;
  --regular: 400;

  --fs-35: 2.33em;
  --fs-13: 0.866em;
  --fs-12: 0.8em;

  --l-100: 6.66em;
  --l-80: 5.33em;
  --l-75: 5em;
  --l-70: 4.66em;
  --l-60: 4em;
  --l-50: 3.33em;
  --l-40: 2.66em;
  --l-30: 2em;
  --l-25: 1.66em;
  --l-20: 1.33em;
  --l-10: 0.66em;

  --max-wid: 2000px;

  --header: clamp(0.1rem, 5.13vw, 20rem);
  scroll-padding: var(--header);
}

@media screen and (max-width:767px) {
  :root {
    --fs-35: 2.5em;
    --fs-13: 0.928em;
    --fs-12: 0.85em;

    --l-100: 7.12em;
    --l-80: 5.71em;
    --l-75: 5.35em;
    --l-70: 5em;
    --l-60: 4.28em;
    --l-50: 3.57em;
    --l-40: 2.85em;
    --l-30: 2.14em;
    --l-25: 1.78em;
    --l-20: 1.42em;
    --l-10: 0.71em;

    --header: 16.53vw;
    scroll-padding: var(--header);
  }
}

/*================================================
 *  newsArchive
 ================================================*/
#newsArchive .news__list .news__ttl {
  width: 31.64%;
}

#newsArchive .news__list .news__ttl .btnArea {
  position: static;
  margin-top: 2em;
}

@media screen and (max-width:767px) {
  #newsArchive .news__list .news__ttl {
    width: 100%;
  }
}


/*================================================
 * contact
 ================================================*/
#contact {
  padding-top: 1em;
}

#contact .narrow>p {
  margin-top: 1em;
}

#contact h2 {
  font-size: 1.66em;
  font-weight: bold;
  position: relative;
  padding-bottom: 0.7em;
  margin-bottom: 1.6em;
  margin-top: 2.8em;
}

#contact h2::before {
  position: absolute;
  content: "";
  width: 9em;
  height: 2px;
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
  left: 0;
  bottom: 0;
}

#contact h3 {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 1em;
}

#contact sup {
  width: 1.166em;
  height: 1.166em;
  display: inline-block;
  background: #ED6969;
  border-radius: 1000px;
  margin-left: 0.55em;
}


.wpcf7-list-item {
  margin: 0 !important;
}

#contact label {
  cursor: pointer;
}

#contact input,
#contact textarea {
  display: block;
  width: 100%;
  padding: 0.7em 1em;
  background: #F7F9FA;
}

#contact textarea {
  height: 13.33em;
  font-size: 1em;
}

#contact .check__list {
  gap: 0.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: var(--l-50);
}

#contact .check__list p span.wpcf7-list-item {
  width: 15.5%;
  margin: 0;
}

#contact .check__list p span.wpcf7-list-item:last-of-type {
  width: 18.5%;
}

#contact .check__list input {
  width: 1em;
  height: 1em;
  background: var(--color-white);
  display: inline-block;
}

#contact dl dt {
  width: 16%;
  padding-bottom: var(--l-25);
  display: flex;
  align-items: center;
}

#contact dl dt:last-of-type {
  align-items: start;
}

#contact dl dd {
  width: 75.2%;
  padding-bottom: var(--l-25);
}

#contact dl dt h3 {
  margin: 0;
}

#contact dl dd input {
  height: 3.73em;
}

#contact dl dd.mid span.wpcf7-form-control-wrap {
  width: 48.6%;
  display: inline-block;
}

#contact dl dd.mid span.wpcf7-form-control-wrap:last-of-type {
  margin-left: var(--l-20);
}

#contact .policy__check {
  width: 75.2%;
  margin-left: auto;
}

#contact .policy__check input {
  display: inline-block;
  width: 1em;
}

#contact .policy__check a {
  display: inline-block;
  border-bottom: 1px solid var(--color-navy);
  color: var(--color-navy);
}

#contact .submit {
  margin: 3em auto 0;
  font-size: var(--fs-13);
  width: 16.7em;
  height: 3.46em;
  border-radius: 1000px;
  background: rgb(100, 232, 176);
  background: linear-gradient(90deg, rgba(100, 232, 176, 1) 0%, rgba(0, 147, 255, 1) 100%);
  display: grid;
  place-content: center;
  color: var(--color-white);
  text-align: center;
}

.wpcf7 form .wpcf7-response-output {
  border: none !important;
  text-align: center;
  color: #ED6969;
}

.contactBtn input:disabled {
  cursor: not-allowed;
  opacity: 0.4;
  transition: .4s;
}

.contactBtn input:enabled {
  cursor: pointer;
  opacity: 1;
  transition: .4s;
}

#contact .btnArea {
  margin-top: 3em;
}

@media screen and (max-width:767px) {
  #contact .check__list p span.wpcf7-list-item {
    width: 48%;
  }

  #contact .check__list p span.wpcf7-list-item:last-of-type {
    width: 50%;
  }

  #contact dl dt {
    width: 100%;
    padding-bottom: var(--l-10);
  }

  #contact dl dd {
    width: 100%;
  }

  #contact dl dd.mid span.wpcf7-form-control-wrap:last-of-type {
    margin-left: var(--l-10);
  }

  #contact .policy__check {
    width: 100%;
  }
}


/*================================================
 *  reformMenu__list
 ================================================*/
.reformMenu__list {
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2em 0;
  margin: 3em auto 0;
}

.reformMenu__list a {
  width: 23%;
  height: auto;
  aspect-ratio: 253 / 348;
  position: relative;
  border-radius: var(--l-10);
  overflow: hidden;
  transition: .4s;
  display: block;
}

.reformMenu__list a::before {
  position: absolute;
  content: "";
  background: rgb(0 0 0 / 40%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: var(--l-10);
  transition: .4s;
  z-index: 1;
}

.reformMenu__list a:hover::before {
  background: rgb(0 0 0 / 15%);
  transition: .4s;
}

.reformMenu__list a>div {
  color: var(--color-white);
  width: 89%;
  position: absolute;
  top: 73%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}

.reformMenu__list a>div h3 {
  font-family: var(--zen-mincho);
  font-weight: bold;
  font-size: 1em !important;
  padding-bottom: 0.33em;
  margin-bottom: var(--l-10);
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, rgba(100, 232, 176, 1), rgba(0, 147, 255, 1)) 1;
  display: flex;
  align-items: end;
  height: 1em;
}

.reformMenu__list a>div h3 img {
  width: 2em;
  margin-right: 0.33em;
  border-radius: 0;
}

.reformMenu__list a.wash>div h3 img {
  width: 1.4em;
}

.reformMenu__list a>div p {
  font-size: var(--fs-12);
  line-height: 1.66;
}

.reformMenu__list a>img {
  border-radius: var(--l-10);
  overflow: hidden;
  object-fit: cover;
  font-family: 'object-fit: cover;';
  transition: .4s;
}

.reformMenu__list a:hover img {
  transform: scale(1.1);
  transition: .4s;
}

@media screen and (max-width:767px) {
  .reformMenu__list {
    gap: 1em 0;
  }

  .reformMenu__list a {
    width: 48%;
  }

  .reformMenu__list a>div h3 {
    font-size: 0.97em !important;
  }

  .reformMenu__list a>div h3 img {
    width: 1.8em;
  }

  .reformMenu__list a>div {
    top: 60%;
  }

  .reformMenu__list a>div p {
    font-size: 0.78em;
  }
}