@charset "UTF-8";

.mv {
  .inner {
    max-width: 1200px;
    position: relative;
    min-height: 843px;
    padding: 165px 30px 0 30px;
    .mv-bear {
      position: absolute;
      bottom: 0;
      right: -13%;
      width: 797px;
      z-index: -1;
    }
  }
  .mv--service-list {
    display: flex;
    gap: 12px;
    li {
      width: 100px;
      height: 31px;
      border-radius: 100px;
      background-color: var(--color-yellow);
      border: 1px solid var(--color-brown);
      color: var(--color-brown);
      font-size: 15px;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: center;
      &:last-child {
        background-color: inherit;
        border: none;
        width: auto;
        display: inline-block;
        margin-top: 10px;
      }
    }
  }
  .mv--copy {
    font-size: 65px;
    font-weight: 900;
    color: var(--sub-color01);
    letter-spacing: 0.1em;
    span {
      font-size: 45px;
      font-weight: 600;
    }
  }
  .mv--sub-copy {
    color: var(--color-brown);
    font-size: 22px;
    font-weight: bold;
  }
  .mv--bubble {
    display: flex;
    gap: 5px;
    margin-top: 36px;
    li {
      width: 162px;
    }
  }
  .certificate {
    max-width: 526px;
    text-align: center;
    font-size: 16px;
    margin-top: 10px;
    color: var(--color-brown);
    padding-bottom: 64px;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .mv {
    .inner {
      min-height: 843px;
      padding: 85px 20px 0 20px;
      .mv-bear {
        position: inherit;
        bottom: 0;
        right: 0;
        width: 90%;
        z-index: -1;
        margin: 0 auto -100px;
      }
    }
    .mv--service-list {
      gap: inherit;
      justify-content: space-between;
      flex-wrap: wrap;
      margin-bottom: 1em;
      li {
        width: 30%;
        height: 31px;
        border-radius: 100px;
        font-size: 15px;
        margin-top: 10px;
        &:last-child {
          width: 30%;
          display: block;
        }
      }
    }
    .mv--copy {
      font-size: 9vw;
      letter-spacing: 0em;
      span {
        font-size: 6vw;
      }
    }
    .mv--sub-copy {
      font-size: 4.8vw;
    }
    .certificate {
      font-size: 14px;
      margin-top: 20px;
      padding-bottom: 44px;
    }
  }
}

.tel-copy {
  color: var(--color-brown);
  font-size: 26.3px;
  font-weight: bold;
  margin-top: 28px;
}
.tel-box {
  border: 2px solid var(--color-brown);
  background-color: var(--sub-color02);
  padding: 13px 25px 17px;
  border-radius: 25px;
  max-width: 526px;
  margin-top: 10px;
  .tel a {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    color: var(--color-brown);
    font-size: 50px;
    text-decoration: none;
    img {
      width: 36px;
    }
  }
  .keep-privacy {
    width: 460px;
  }
}
.tel-sub-box {
  max-width: 526px;
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  margin-top: 10px;
  color: var(--color-brown);
  img {
    width: 38px;
  }
}
.contact-bnr {
  margin-top: 50px;
  margin-bottom: 168px;
  .tel-copy {
    text-align: center;
    color: var(--color-orange);
  }
  .tel-box {
    margin: 10px auto;
    background-image: url(../img/contact-bnr_bk.jpg);
    background-size: cover;
    border: none;
    .tel a {
      color: #fff;
      text-decoration: none;
    }
  }
  .tel-sub-box {
    margin: 0 auto;
    color: var(--sub-color01);
  }
}

@media screen and (max-width: 768px) {
  .tel-copy {
    font-size: 4vw;
    font-weight: bold;
    margin-top: 17px;
    text-align: center;
  }
  .tel-box {
    padding: 10px 15px 15px;
    .tel a {
      gap: 10px;
      font-size: 8.2vw;
      img {
        width: 6.5vw;
      }
    }
  }
  .tel-sub-box {
    gap: 20px;
    font-size: 4vw;
    margin-top: 10px;
    img {
      width: 8vw;
    }
  }
}
.article{
  margin-bottom: 3em;
}
.sec-top-reason {
  background-color: var(--sub-color03);
  padding: 100px 0 50px;
}
.reason-items {
  border-bottom: 2px var(--sub-color01) solid;
  padding: 30px 0;
  .btn-normal {
    margin-top: 1em;
  }
  &.last {
    border: none;
  }
}
.reason-item-list {
  display: flex;
  gap: 34px;
  .reason-img {
    width: 14.64%;
  }
  .reason-txt {
    width: 77.14%;
    h3 {
      display: flex;
      align-items: center;
      font-size: 24px;
      gap: 15px;
      font-weight: bold;
      color: var(--sub-color01);
      margin-bottom: 0.5em;
      .circle {
        font-family: "DM Sans", sans-serif;
        background-color: var(--main-color);
        color: #fff;
        font-size: 36px;
        width: 59px;
        height: 59px;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      p{
        margin-bottom: 0;
      }
    }
    h4 {
      font-size: 18px;
      font-weight: bold;
      color: var(--main-color);
      margin-bottom: 0.5em;
    }
  }
}
.red-flame{
  font-weight: bold;
  color: #fff;
  background-color: #FF733F;
  padding: 3px 15px;
  border-radius: 90px;
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .sec-top-reason {
    padding: 50px 0 10px;
  }
  .reason-items {
    padding: 10px 0 30px;
    margin-bottom: 20px;
  }
  .reason-item-list {
    display: inherit;
    text-align: center;
    .reason-img {
      width: 50%;
      margin: 0 auto;
    }
    .reason-txt {
      width: 100%;
      text-align: left;
      h3 {
        font-size: 5.5vw;
        justify-content: center;
        .circle {
          font-size: 7vw;
          width: 13vw;
          height: 13vw;
          padding-top: 0.5vw;
        }
      }
    }
  }
  .contact-bnr {
    margin-top: 50px;
    margin-bottom: 100px;
  }
  .red-flame{
    font-size: 16px;
    width: 78%;
    margin: 0 auto 1em;
  }
}

.sec-header {
  margin-bottom: 6em;
  &.no-ttl{
    margin-bottom: 3em;
  }
}
.out-ttl {
  background: var(--sub-color02);
  color: var(--sub-color01);
  font-size: 22px;
  font-weight: bold;
  border-radius: 100px;
  padding: 5px 40px 5px 50%;
  margin-left: -50%;
  width: 150%;
  margin-bottom: 1em;
}
.center-ttl{
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  color: var(--sub-color01);
  margin-bottom: 1em;
  margin-top: 1em;
}
.page-link-wrap {
  display: flex;
  gap: 2.666%;
  flex-wrap: wrap;
  list-style: none;
  margin-top: 1.5em;
  margin-bottom: 3em;
  &.company{
    justify-content: center;
  }
}
.page-link-wrap li {
  width: 23%;
  margin-bottom: 1em;
  &.important a{
    color: #f00;
    font-weight: bold;
    border: 1px solid #f00;
    &::after {
      border-top: 2px solid #f00;
      border-right: 2px solid #f00;
    }
  }
}
.page-link-wrap a {
  color: var(--sub-color01);
  display: block;
  padding: 10px 20px;
  border: 1px solid var(--sub-color01);
  border-radius: 9999px;
  background-color: #fff;
  font-size: 14px;
  color: #333;
  text-decoration: none;
  min-width: 140px;
  text-align: center;
  transition: background-color 0.2s ease;
  position: relative;
}
.page-link-wrap a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid var(--sub-color01);
  border-right: 2px solid var(--sub-color01);
  transform: translateY(-2px) rotate(135deg);
  box-sizing: border-box;
  transition: all 0.2s ease;
}
.page-link-wrap a:hover::after {
  transform: translateY(3px) rotate(135deg);
}
.type01 {
  background-color: var(--sub-color03);
  position: relative;
  padding-bottom: 130px;
}
.type02 {
  position: relative;
  padding-bottom: 130px;
}
.last-section{
  padding-bottom: 50px;
}
.in-section {
  position: absolute;
  top: -33px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.head-txt {
  padding-top: 130px;
  margin-bottom: 2em !important;
}
h3{
  font-size: 22px;
  font-weight: bold;
  color: var(--sub-color01);
  margin-bottom: 0.8em;
  margin-top: 1.8em;
  &.light-blue-title{
    color: var(--main-color);
    text-align: center;
    margin-top: 0;
  }
}

.normal-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--sub-color01);
  border-radius: 10px;
  overflow: hidden;
  margin-top: 1em;
  margin-bottom: 1em;
}

.normal-table th,
.normal-table td {
  border: 1px solid var(--sub-color01);
  padding: 20px;
  vertical-align: top;
  background-color: #fff;
}

.normal-table th {
  background-color: #F1F1F1;
  font-weight: bold;
  text-align: left;
  width: 25%;
}

.normal-table td strong {
  font-size: 18px;
  display: inline-block;
  margin-bottom: 4px;
}

/* 四隅の角丸を適用 */
.normal-table tr:first-child th {
  border-top-left-radius: 10px;
}

.normal-table tr:first-child td {
  border-top-right-radius: 10px;
}

.normal-table tr:last-child th {
  border-bottom-left-radius: 10px;
}

.normal-table tr:last-child td {
  border-bottom-right-radius: 10px;
}

p.asterisk{
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 0;
}

.recommend-box{
  border-radius: 10px;
  background-color: #fff;
  border: 2px solid var(--sub-color01);
  padding: 20px 25px;
  margin-top: 2em;
  h3{
    color: var(--color-orange);
    font-size: 20px;
    display: flex;
    align-items: center;
    margin-top: 0;
    img{
      width: 32px;
    }
  }
}

.custom-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.custom-list li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0.4em;
}
.custom-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 12px;
  height: 3px;
  border-radius: 10px;
  background-color: var(--main-color); 
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .page-link-wrap {
    flex-wrap: wrap;
  }
  .page-link-wrap li {
    width: 48%;
    margin-bottom: 1em;
  }
  .out-ttl {
    font-size: 20px;
  }
  .normal-table th,
  .normal-table td {
    padding: 10px;
  }
  .normal-table th {
    width: 30%;
  }
  .type01 {
    padding-bottom: 100px;
  }
  .type02 {
    padding-bottom: 100px;
  }
  .recommend-box {
    padding: 15px 20px;
    h3 {
      font-size: 18px;
    }
  }
  .head-txt {
    padding-top: 110px;
    margin-bottom: 2em !important;
  }
  h3{
    font-size: 20px;
    &.light-blue-title{
      color: var(--main-color);
      text-align: left;
      margin-top: 0;
    }
  }
  .last-section{
    padding-bottom: 10px;
  }
}

/*******what*******/
.method-wrap{
  display: flex;
  justify-content: space-between;
  padding-top: 180px;
  .method-img{
    width: 35%;
  }
  .method-txt{
    width: 60%;
    h3{
      margin-top: 0;
    }
    p.first{
      margin-bottom: 2em;
    }
  }
}
@media screen and (max-width: 768px) {
  .method-wrap{
    display: block;
    padding-top: 120px;
    .method-img{
      width: 50%;
      margin: 0 auto 1em;
    }
    .method-txt{
      width: 100%;
      h3{
        margin-top: 0;
      }
    }
  }
}
.sec-details{
  .page-link-wrap{
    margin-top: 0;
    padding-top: 150px;
  }
}
.details-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 38px;
  margin-bottom: 2em;
  .details-img{
    width: 345px;
    img{
      border-radius: 10px;
    }
  }
  .details-txt{
    width: calc(100% - 383px);
  }
}
@media screen and (max-width: 768px) {
  .sec-details{
    .page-link-wrap{
      padding-top: 150px;
    }
  }
  .details-wrap{
    display: block;
    justify-content: space-between;
    gap: 38px;
    .details-img{
      width: 60%;
      margin: 0 auto 1em;
    }
    .details-txt{
      width: 100%;
    }
  }
}

/********point********/
.blue-ttl{
  font-weight: bold;
  font-size: 18px;
  color: var(--main-color);
}
.gray-box{
  padding: 20px;
  border-radius: 10px;
  background: #F5F1EE;
  border:1px solid #ccc;
}
.point-illust01{
  width: 550px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .point-illust01{
    width: 100%;
  }
}

/********voice********/
.voice-wrap{
  margin-top: 2em;
}
.voice-items{
  border-bottom: 1px solid #ccc;
  padding: 2em 0;
}
.voice-info{
  display: flex;
  gap: 20px;
  align-items: center;
  .voice-face{
    width: 59px;
  }
  .voice-cat{
    background-color: var(--main-color);
    color: #fff;
    font-weight: bold;
    padding: 10px 25px;
    border-radius: 100px;
  }
  .voice-age{
    font-weight: bold;
  }
}
h3.voice-ttl{
  margin-top: 1em;
}
.voice-pagination{
  margin: 2em 0;
  .page-numbers{
    border: 1px solid #ccc;
    padding: 5px 10px;
    margin-right: 5px;
    border-radius: 3px;
    &.current{
      background: var(--main-color);
      border: 1px solid var(--main-color);
      color: #fff;
    }
  }
}
@media screen and (max-width: 768px) {
  .voice-info{
    gap: 10px;
    .voice-face{
      width: 50px;
    }
    .voice-cat{
      padding: 8px 20px;
    }
  }
}

/********company********/

.company-table {
  width: 100%;
  border-collapse: collapse;
  font-family: sans-serif;
  padding-top: 150px;
  border-top: 1px solid var(--main-color);
}
.company-table th,
.company-table td {
  padding: 15px 12px;
  border-bottom: 1px solid var(--main-color);
  vertical-align: top;
  text-align: left;
}
.company-table th {
  width: 25%;
  font-weight: normal;
  color: #333;
  white-space: nowrap;
}
.gmap{
  max-width: 660px;
  margin: 0 auto 1em;
}
.gmap iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
}

/************contact************/

/* お問い合わせ */
.contact--html .list {
  font-weight: bold;
}
.contact--html .list .item {
  display: flex;
  align-items: baseline;
  gap: 0.5em;
}
.contact--html .list dd {
  font-size: 1.38em;
  line-height: 1.27;
}
.contact--html .title {
  margin-top: 35px;
  color: var(--color-accent);
  font-size: 1.13em;
  font-weight: bold;
  line-height: 1.56;
}
.contact--html .text {
  margin-top: 11px;
  line-height: 1.75;
}
.contact--html .text span {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .contact--html {
    text-align: center;
  }
  .contact--html .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1em;
  }
  .contact--html a[href^="tel:"] {
    pointer-events: none;
  }
}
.form--list {
  display: grid;
  row-gap: 25px;
  p{
    margin-bottom: 0;
  }
}
.form--list .item {
  display: grid;
  gap: 4px;
}
.form--list dt {
  font-weight: bold;
}
.form--list dd:has(.wpcf7-validates-as-required) {
  position: relative;
}
.form--list dd:has(.wpcf7-validates-as-required)::before {
  content: '必須';
  display: inline-block;
  padding: 3px 7px 4px;
  color: #fff;
  font-size: 0.9em;
  font-weight: normal;
  line-height: 1;
  background-color: #f00;
  border-radius: 4px;
  position: absolute;
  top: -6px;
  right: 0;
  translate: 0 -100%;
}
.form--agree {
  margin-top: 20px;
  text-align: center;
}
.form--agree a {
  color: #0c98d3;
}
.form--submit {
  margin-top: 42px;
  text-align: center;
  margin-bottom: 7em;
}
@media screen and (min-width: 768px) {
  .form--list {
    row-gap: 42px;
    max-width: 45.5em;
    margin-inline: auto;
  }
  .form--list .item {
    grid-template-columns: 12.5em 1fr;
    align-items: start;
    gap: 67px;
  }
  .form--list dt {
    padding-top: 3px;
  }
  .form--list dd:has(.wpcf7-validates-as-required)::before {
    top: 6px;
    left: -63px;
    right: unset;
    translate: 0 0;
  }
}
.wpcf7-form {
  line-height: 1.5;
}
.wpcf7-form ::-moz-placeholder {
  color: #ababab;
}
.wpcf7-form ::placeholder {
  color: #ababab;
}
.wpcf7-form input,
.wpcf7-form textarea {
  width: 100%;
  padding: 7px 15px 8px;
  color: var(--color-bg-text);
  background-color: #fff;
  border: 1px solid #cdd6dd;
  font-size: 16px;
  border-radius: 5px;
}
.wpcf7-form input[type="radio"]{
  width: auto;
  transform:scale(1.5);
  margin-right: 5px;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
  line-height: 1.5;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 5px;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item input {
  aspect-ratio: 1;
  width: 1.5em;
}
.wpcf7-form .wpcf7-submit {
  position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 320px;
    height: 50px;
    padding: 0 30px;
    margin: 0 auto;
    position: relative;
    color: #fff;
    font-weight: bold;
    border: none;
    cursor: pointer;
    background: linear-gradient(
      90deg,
      #1c83cc 0%,
      #1c83cc 50%,
      #3fafff 50%,
      #3fafff 100%
    );
    background-size: 200% 100%;
    background-position: right;
    border-radius: 39px;
    transition: background-position 0.5s ease;
    &:hover {
      background-position: left;
      opacity: 1;
    }
    &:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 27px;
      width: 9px;
      height: 9px;
      margin: auto;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg);
      box-sizing: border-box;
    }
    &:disabled{
      background:#999;
    }
}
.wpcf7-list-item {
  display: inline-block;
  margin: 0 1em 0 0;
}

.privacy{
  height: 300px;
  padding: 5px 20px 20px 40px;
  border: 1px solid #cdd6dd;
  overflow: hidden;
  overflow-y: scroll;
  margin-top: 2em;
}
.contact-list{
  display: flex;
  justify-content: center;
  margin-right: 20px;
  align-items: center;
  gap: 30px;
  a.contact-tel{
    display: flex;
    font-size: 30px;
    font-weight: bold;
    font-family: "M PLUS Rounded 1c", sans-serif;
    color: var(--main-color);
    img{
      width: 25px;
      margin-right: 10px;
    }
  }
  a.contact-line{
    img{
      width: 40px;
    }
  }
}
@media screen and (max-width: 768px) {
.contact-list{
  margin-right: 0px;
  gap: 20px;
  a.contact-tel{
    font-size: 25px;
    img{
      width: 25px;
      margin-right: 0px;
    }
  }
  a.contact-line{
    img{
      width: 40px;
    }
  }
}
  .privacy{
    padding: 0 20px 20px 20px;
  }
}


@media screen and (min-width: 768px) {
}

@media screen and (min-width: 1024px) {
}

@media (any-hover: hover) {
}
