@charset "UTF-8";
/*----------------- 共通 -------------------*/
/*-----------------------------------------
    color
-----------------------------------------*/
/*-----------------------------------------
    font
-----------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap");
/*-----------------------------------------
    メディアクエリ
-----------------------------------------*/
/*-----------------------------------------

リセット

----------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0 auto;
}

@media screen and (min-width: 768px) and (max-width: 1440px) {
  html {
    font-size: 0.625vw;
  }
}
ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  padding: 0;
  margin: 0;
  font-weight: normal;
}

/*-----------------------------------------

全体指定

----------------------------------------*/
.inner {
  width: 1200px;
  margin: 0 auto;
  max-width: 90%;
}
@media (max-width: 767px) {
  .inner {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

body {
  line-height: 1.6;
  font-family: "游ゴシック体", "YuGothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-weight: 400;
  background: #fff;
  color: #2D2F33;
  letter-spacing: 0.08rem;
  overflow-x: hidden;
  font-size: 62.5%;
  max-width: 1920px;
}

img {
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

@media (min-width: 767px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
li {
  list-style: none;
}

dt, dd {
  margin: 0;
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

/*-----------------------------------------
    アニメーション
-----------------------------------------*/
.fadein {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 0.8s ease-out forwards;
}

.fadein.delay-1 {
  animation-delay: 0.2s;
}

.fadein.delay-2 {
  animation-delay: 0.4s;
}

.fadein.delay-3 {
  animation-delay: 0.6s;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.js-fade.is-show {
  opacity: 1;
  transform: translateY(0);
}

.btn {
  width: 280px;
  display: inline-block;
  font-size: 16px;
  padding-bottom: 16px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid #2D2F33;
  cursor: pointer;
  position: relative;
  transition: all 0.3s ease 0s;
}
.btn::after {
  content: "";
  position: absolute;
  top: -20%;
  right: 20px;
  width: 40px;
  height: 40px;
  transition: all 0.6s ease 0s;
  background: url(../img/link-arrow.svg) no-repeat center center/contain;
}
.btn:hover:after {
  right: 0px;
}

.btn2 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: clamp(16px, 1.4vw, 20px);
  color: #fff;
  height: 80px;
  line-height: 80px;
  text-align: center;
  text-decoration: none;
  width: clamp(165px, 16vw, 230px);
  background: #E4256E;
  cursor: pointer;
  position: relative;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .btn2 {
    width: 350px;
    max-width: 100%;
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.btn2 .img {
  width: 32px;
  height: 32px;
  line-height: 1;
}
.btn2 .img svg {
  width: 100%;
  height: 100%;
}
.btn2:hover {
  background: #FEB525;
}

.header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  background: transparent;
  gap: 2rem;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  padding-left: clamp(20px, 2.8vw, 40px);
  z-index: 10;
}
@media (max-width: 767px) {
  .header {
    height: 60px;
    padding-left: 20px;
  }
}
.header.scrolled {
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
}
.header__logo {
  position: relative;
  z-index: 100;
}
.header__logo img {
  width: clamp(150px, 14vw, 200px);
}
.header__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(20px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .header__nav {
    display: none;
  }
}
.header__nav .header-nav {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: clamp(20px, 2.8vw, 40px);
}
.header__nav .header-nav li {
  text-align: center;
  font-weight: 500;
  font-size: clamp(14px, 1.3vw, 16px);
  position: relative;
  height: 80px;
  line-height: 80px;
}
.header__nav .header-nav li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 5px;
  background: #2082C9;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s ease 0s;
}
.header__nav .header-nav li:hover::after {
  opacity: 1;
  visibility: visible;
}
.header__nav .header-nav li.nav-in {
  cursor: pointer;
  position: relative;
}
.header__nav .header-nav li.nav-in:hover .nav-inner {
  opacity: 1;
  visibility: visible;
}
.header__nav .header-nav .nav-inner {
  position: absolute;
  top: 80px;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  min-width: 253px;
  padding: 3rem 3rem 3rem 30px;
  opacity: 0;
  visibility: hidden;
}
.header__nav .header-nav .nav-inner li {
  text-align: left;
  list-style: disc;
  font-weight: 600;
  font-size: clamp(13px, 1.3vw, 14px);
  transition: all 0.6s ease 0s;
  height: auto;
  line-height: 1.6;
}
.header__nav .header-nav .nav-inner li:not(:first-child) {
  margin-top: 15px;
}
.header__nav .header-nav .nav-inner li:after {
  display: none;
}
.header__nav .header-nav .nav-inner li:hover {
  color: #2082C9;
}
.header__nav .header-nav .nav-inner a {
  padding: 5px 0;
}
.header__nav .header-nav a {
  display: block;
}
@media (max-width: 767px) {
  .header__button {
    display: none;
  }
}

/*-----------------------------------------
    //drawer
-----------------------------------------*/
.drawer__icon {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  height: 60px;
  width: 60px;
  background: #FEB525;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  display: none;
}
@media (max-width: 767px) {
  .drawer__icon {
    display: block;
  }
}
.drawer__icon.is-active span:nth-child(1) {
  top: 19px;
  transform: rotate(-45deg);
}
.drawer__icon.is-active span:nth-child(2) {
  top: 19px;
  width: 100%;
  transform: rotate(45deg);
}

.drawer__bars {
  width: 40px;
  height: 40px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: relative;
  cursor: pointer;
}
.drawer__bars span {
  width: 100%;
  height: 1.5px;
  background: #fff;
  position: absolute;
  transition: all 0.3s ease 0s;
}
.drawer__bars span:nth-child(1) {
  top: 15px;
}
.drawer__bars span:nth-child(2) {
  top: 21px;
  width: 25px;
  right: 0;
}

.drawer__content {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  background: #fff;
  z-index: 99;
  display: none;
  padding: 100px 20px;
  overflow-y: scroll;
}
.drawer__content .drawer-nav li {
  font-weight: 600;
  font-size: 16px;
}
.drawer__content .drawer-nav li:not(:first-child) {
  margin-top: 30px;
}
.drawer__content .drawer-nav li a {
  padding: 7.5px 0;
}
.drawer__content .drawer-nav li .nav-inner {
  margin-top: 20px;
}
.drawer__content .drawer-nav li .nav-inner li {
  font-size: 14px;
  font-weight: 400;
}
.drawer__content .drawer-nav li .nav-inner li:not(:first-child) {
  margin-top: 10px;
}
.drawer__content .drawer-nav li .nav-inner li a {
  padding: 5px 0;
}
.drawer__content .btns {
  margin-top: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.drawer__content .btns .drawer__btn {
  width: clamp(250px, 82vw, 350px);
  height: 60px;
  line-height: 60px;
  font-size: 20px;
}
.drawer__content .btns .drawer__btn .img {
  line-height: 1;
}
.drawer__content .btns .drawer__btn .img svg {
  width: 100%;
  height: 100%;
}
.drawer__content .btns .drawer__btn--line {
  background: #00B900;
}
.drawer__content .btns .drawer__btn--line .img {
  line-height: 1;
}
.drawer__content .btns .drawer__btn--line:hover {
  background: #fff;
  color: #00B900;
  border: 1px solid #00B900;
}
.drawer__content .btns .drawer__btn--line:hover .img svg path {
  fill: #00B900;
}

/*-----------------------------------------
    section
-----------------------------------------*/
.section__head {
  display: flex;
  align-items: center;
  justify-content: center;
}
.section__head--left {
  justify-content: start;
}
@media (max-width: 767px) {
  .section__head--left {
    justify-content: center;
  }
}
.section__title {
  display: inline-block;
  font-size: clamp(26px, 2.8vw, 40px);
  font-weight: 700;
  text-align: center;
  padding-left: 4rem;
  padding-right: 4rem;
  position: relative;
}
@media (max-width: 767px) {
  .section__title {
    font-size: clamp(24px, 6.7vw, 26px);
    padding-left: 20px;
    padding-right: 20px;
    line-height: 1.4;
  }
}
.section__title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 4.5rem;
  background: url(../img/titledeco-h2_before.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .section__title::before {
    width: 10px;
    height: 28px;
  }
}
.section__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.6rem;
  height: 4.5rem;
  background: url(../img/titledeco-h2_after.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .section__title::after {
    width: 10px;
    height: 28px;
  }
}
.section__lead {
  font-family: "Roboto Condensed", sans-serif;
  font-size: clamp(12px, 1.3vw, 14px);
  font-weight: 800;
  letter-spacing: 0.2rem;
  color: #5b5b5b;
}
@media (max-width: 767px) {
  .section__lead {
    font-size: clamp(12px, 2.3vw, 14px);
  }
}

@media screen and (min-width: 1441px) {
  .section__title {
    padding-left: 36px;
    padding-right: 36px;
  }
  .section__title::before, .section__title::after {
    width: 14px;
    height: 40px;
  }
}
/*-----------------------------------------
    cta
-----------------------------------------*/
.cta {
  padding-top: clamp(60px, 5.6vw, 80px);
  padding-bottom: clamp(60px, 5.6vw, 80px);
  position: relative;
}
.cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/cta-bg.webp) no-repeat center center/cover;
}
.cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(4, 87, 147, 0.9);
}
.cta__inner {
  position: relative;
  z-index: 1;
}
.cta__content {
  color: #fff;
}
.cta__content p {
  margin-top: 20px;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
  text-align: center;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .cta__content p {
    margin-top: 30px;
    text-align: left;
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.cta__title {
  text-align: center;
  font-weight: 600;
  font-size: clamp(30px, 2.8vw, 40px);
  line-height: 1.4;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .cta__title {
    font-size: clamp(22px, 5.7vw, 30px);
  }
}
.cta__btns {
  margin-top: clamp(40px, 4.2vw, 60px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(40px, 4.2vw, 60px);
}
@media (max-width: 767px) {
  .cta__btns {
    flex-direction: column;
  }
}
.cta__btn {
  width: clamp(240px, 21vw, 300px);
  padding-bottom: 2.7rem;
  font-size: clamp(18px, 1.6vw, 22px);
  border-color: #fff;
}
@media (max-width: 767px) {
  .cta__btn {
    width: 280px;
    padding-bottom: 24px;
  }
}
.cta__btn:after {
  top: -25%;
  width: clamp(40px, 4.2vw, 60px);
  height: clamp(40px, 4.2vw, 60px);
  background: url(../img/link-arrow_w.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .cta__btn:after {
    width: clamp(40px, 15.2vw, 60px);
    height: clamp(40px, 15.2vw, 60px);
  }
}
.cta__button2 {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .cta__button2 {
    margin-top: 40px;
  }
}
.cta__btn2 {
  width: clamp(540px, 48vw, 680px);
  height: clamp(80px, 7vw, 100px);
  line-height: clamp(80px, 7vw, 100px);
  font-size: clamp(24px, 2.1vw, 30px);
}
@media (max-width: 767px) {
  .cta__btn2 {
    font-size: clamp(18px, 5vw, 22px);
    letter-spacing: 0.05rem;
  }
}
.cta__btn2 .img {
  width: 50px;
  height: 50px;
}
@media (max-width: 767px) {
  .cta__btn2 .img {
    width: clamp(40px, 8vw, 50px);
    height: clamp(40px, 8vw, 50px);
    line-height: 1;
  }
  .cta__btn2 .img svg {
    width: 100%;
    height: 100%;
  }
}

/*-----------------------------------------
    child-cta
-----------------------------------------*/
.child-cta {
  padding-top: clamp(60px, 5.6vw, 80px);
  padding-bottom: clamp(60px, 5.6vw, 80px);
  position: relative;
}
.child-cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/cta-bg.webp) no-repeat center center/cover;
}
.child-cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(4, 87, 147, 0.9);
}
.child-cta__inner {
  position: relative;
  z-index: 1;
}
.child-cta__content {
  color: #fff;
}
.child-cta__content p {
  margin-top: 20px;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
  text-align: center;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .child-cta__content p {
    text-align: left;
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.child-cta__title {
  text-align: center;
  font-weight: 600;
  font-size: clamp(30px, 2.8vw, 40px);
  line-height: 1.4;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
}
@media (max-width: 767px) {
  .child-cta__title {
    font-size: clamp(22px, 5.7vw, 30px);
  }
}
.child-cta__btns {
  margin-top: clamp(40px, 4.2vw, 60px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .child-cta__btns {
    flex-direction: column;
  }
}
.child-cta__btn {
  width: clamp(260px, 23vw, 320px);
  height: clamp(60px, 5vw, 80px);
  line-height: clamp(60px, 5vw, 80px);
  font-size: clamp(16px, 1.4vw, 20px);
}
@media (max-width: 767px) {
  .child-cta__btn {
    font-size: clamp(18px, 5vw, 20px);
    width: clamp(280px, 83vw, 320px);
    letter-spacing: 0.05rem;
  }
}
.child-cta__btn .img {
  width: clamp(20px, 2.2vw, 32px);
  height: clamp(20px, 2.2vw, 32px);
  line-height: 1;
}
@media (max-width: 767px) {
  .child-cta__btn .img {
    width: 32px;
    height: 32px;
  }
}
.child-cta__btn .img svg {
  width: 100%;
  height: 100%;
}
.child-cta__btn--line {
  background: #00B900;
}
.child-cta__btn--line .img {
  line-height: 1;
}
.child-cta__btn--line:hover {
  background: #fff;
  color: #00B900;
  border: 1px solid #00B900;
}
.child-cta__btn--line:hover .img svg path {
  fill: #00B900;
}

/*----------------- cta-fix -------------------*/
.cta-fix {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease 0s;
  background: #fff;
  padding: 10px;
}
.cta-fix.is-show {
  opacity: 1;
  visibility: visible;
}
.cta-fix__flex {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
}
.cta-fix__button {
  height: 100%;
  width: 100%;
}
.cta-fix__btn {
  display: block;
  background: #E4256E;
  color: #fff;
  font-size: 13px;
  padding: 7px;
  text-align: center;
  font-weight: 700;
}
.cta-fix__btn--line {
  background: #00B900;
}
.cta-fix__img {
  width: clamp(33px, 5vw, 43px);
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2px;
}
.cta-fix__img--line {
  margin-bottom: 0;
  width: clamp(35px, 5vw, 45px);
}

/*-----------------------------------------
    contact
-----------------------------------------*/
.contact {
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.contact__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.contact__content p {
  font-size: clamp(14px, 1.3vw, 18px);
  text-align: center;
}
.contact__form {
  width: 800px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(60px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .contact__form {
    margin-top: 40px;
    max-width: 100%;
  }
}

/*----------------- お問い合わせフォーム -------------------*/
.contact-form__row:not(:first-child) {
  margin-top: clamp(30px, 2.8vw, 40px);
}

/*----------------- label -------------------*/
.contact-form__label {
  margin: 0;
  padding: 0;
  font-size: clamp(14px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .contact-form__label {
    width: 100%;
    font-size: clamp(14px, 3.6vw, 16px);
  }
}
.contact-form__label label.is-required {
  display: inline-block;
  position: relative;
  padding-right: clamp(40px, 4vw, 6rem);
}
.contact-form__label label.is-required::after {
  content: "必須";
  position: absolute;
  right: 0;
  top: 45%;
  transform: translateY(-50%);
  font-size: 12px;
  line-height: 1;
  text-align: center;
  background: #FEB525;
  padding: 3px 8px;
}
@media (max-width: 767px) {
  .contact-form__label label.is-required::after {
    padding: 0.2rem 0.4rem;
    font-size: 10px;
  }
}
.contact-form__label label.is-any {
  display: inline-block;
  position: relative;
  padding-left: clamp(60px, 6vw, 80px);
}
.contact-form__label label.is-any::after {
  content: "任意";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  border: 1px solid #007123;
  color: #007123;
  padding: 0.7rem 2rem;
}
@media (max-width: 767px) {
  .contact-form__label label.is-any::after {
    padding: 0.4rem 1.4rem;
    font-size: 10px;
  }
}

.contact__text-area {
  margin-top: clamp(30px, 2.8vw, 40px);
}

/*----------------- input -------------------*/
.contact-form__input {
  margin-top: 10px;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .contact-form__input {
    font-size: clamp(13px, 2.3vw, 14px);
  }
}
.contact-form__input [type=text] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: none;
  border: none;
  background: rgba(32, 130, 201, 0.1);
  color: inherit;
  font-family: inherit;
  font-size: clamp(13px, 1.3vw, 16px);
  width: 100%;
  height: clamp(40px, 4vw, 50px);
  line-height: clamp(40px, 4vw, 50px);
  padding: 0 1.6rem;
  outline: none;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .contact-form__input [type=text] {
    height: 30px;
    line-height: 30px;
    padding: 0 16px;
    font-size: clamp(14px, 3.6vw, 16px);
  }
}
.contact-form__input [type=text]::-moz-placeholder {
  color: #999;
}
.contact-form__input [type=text]::placeholder {
  color: #999;
}
.contact-form__input [type=text]:focus, .contact-form__input [type=text]:hover {
  border-color: #2082C9;
}
.contact-form__input [type=tel] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: none;
  border: none;
  background: rgba(32, 130, 201, 0.1);
  color: inherit;
  font-family: inherit;
  font-size: clamp(13px, 1.3vw, 16px);
  width: 100%;
  height: clamp(40px, 4vw, 50px);
  line-height: clamp(40px, 4vw, 50px);
  padding: 0 1.6rem;
  outline: none;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .contact-form__input [type=tel] {
    height: 30px;
    line-height: 30px;
    padding: 0 16px;
    font-size: clamp(14px, 3.6vw, 16px);
  }
}
.contact-form__input [type=tel]::-moz-placeholder {
  color: #999;
}
.contact-form__input [type=tel]::placeholder {
  color: #999;
}
.contact-form__input [type=tel]:focus, .contact-form__input [type=tel]:hover {
  border-color: #2082C9;
}
.contact-form__input [type=email] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-shadow: none;
  border: none;
  background: rgba(32, 130, 201, 0.1);
  color: inherit;
  font-family: inherit;
  font-size: clamp(13px, 1.3vw, 16px);
  width: 100%;
  height: clamp(40px, 4vw, 50px);
  line-height: clamp(40px, 4vw, 50px);
  padding: 0 1.6rem;
  outline: none;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .contact-form__input [type=email] {
    height: 30px;
    line-height: 30px;
    padding: 0 16px;
    font-size: clamp(14px, 3.6vw, 16px);
  }
}
.contact-form__input [type=email]::-moz-placeholder {
  color: #999;
}
.contact-form__input [type=email]::placeholder {
  color: #999;
}
.contact-form__input [type=email]:focus, .contact-form__input [type=email]:hover {
  border-color: #2082C9;
}
.contact-form__input textarea {
  margin-top: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  resize: vertical;
  box-shadow: none;
  border: none;
  background: rgba(32, 130, 201, 0.1);
  color: inherit;
  font-family: inherit;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.6;
  width: 100%;
  height: clamp(180px, 16vw, 220px);
  padding: 1rem 1.6rem;
  outline: none;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .contact-form__input textarea {
    padding: 10px 16px;
    font-size: clamp(14px, 3.6vw, 16px);
  }
}
.contact-form__input textarea::-moz-placeholder {
  color: #999;
}
.contact-form__input textarea::placeholder {
  color: #999;
}
.contact-form__input textarea:focus, .contact-form__input textarea:hover {
  border-color: #2082C9;
}

.contact-form__input-label {
  font-size: clamp(14px, 1.3vw, 16px);
}

/*----------------- ラジオボタン -------------------*/
.contact-form__radio {
  position: relative;
  margin-top: clamp(30px, 2.8vw, 40px);
}
.contact-form__radio label {
  margin-top: 1.2rem;
  display: block;
}
.contact-form__radio label:not(:first-child) {
  margin-top: 12px;
}
.contact-form__radio [type=radio] {
  position: absolute;
  left: 1px;
  opacity: 0;
  transition: all 0.6s ease 0s;
}
.contact-form__radio .wpcf7-list-item {
  display: block;
}
.contact-form__radio .wpcf7-list-item-label {
  display: inline-block;
  font-size: 14px;
  padding-left: clamp(32px, 3.5vw, 38px);
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) {
  .contact-form__radio .wpcf7-list-item-label {
    margin-top: 2px;
    margin-right: 32px;
  }
}
.contact-form__radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: clamp(18px, 3vw, 22px);
  height: clamp(18px, 3vw, 22px);
  border: 1px solid #2D2F33;
  background: #fff;
  border-radius: 50%;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .contact-form__radio .wpcf7-list-item-label::before {
    width: 22px;
    height: 22px;
  }
}
.contact-form__radio .wpcf7-list-item-label:hover::before {
  content: "";
  border: 1px solid #2082C9;
}
.contact-form__radio .wpcf7-list-item-label:active::before {
  content: "";
  background: #2082C9;
}
.contact-form__radio .wpcf7-list-item-label::after {
  content: "";
  width: clamp(8px, 2vw, 10px);
  height: clamp(8px, 2vw, 10px);
  background: #2082C9;
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 100%;
  display: none;
}
@media (max-width: 767px) {
  .contact-form__radio .wpcf7-list-item-label::after {
    left: clamp(6px, 1.1vw, 6px);
    width: 10px;
    height: 10px;
  }
}
.contact-form__radio [type=radio]:checked + span::after {
  display: block;
}

/*----------------- checkbox -------------------*/
.contact__check .wpcf7-form-control-wrap .wpcf7-list-item {
  display: inline-block;
  line-height: 1;
  margin-left: 0;
  margin-right: 15px;
}

.contact__check .wpcf7-form-control-wrap {
  margin-top: -8px;
  display: block;
}

.contact-form__item--block .wpcf7-form-control-wrap .wpcf7-list-item {
  display: block;
  margin: 13px 0 0 0;
}

input[type=checkbox] {
  display: none;
}

.contact__check .wpcf7-list-item-label {
  position: relative;
  padding-left: 15px;
  line-height: 1;
  display: inline-block;
}

.contact__check .wpcf7-list-item-label::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border: 1px solid #707070;
  border-radius: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
}

input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  width: 6px;
  height: 3px;
  border-top: 1px solid #2082C9;
  border-right: 1px solid #2082C9;
  transform: rotate(135deg);
  position: absolute;
  left: 4px;
  top: 6px;
}

.check-select__check {
  font-size: clamp(14px, 3.6vw, 16px);
}
.check-select__check a {
  color: #2082C9;
  text-decoration: underline;
  transition: all 0.6s ease 0s;
}
.check-select__check a:hover {
  opacity: 0.6;
}

/*----------------- ボタン -------------------*/
.contact__button {
  margin-top: clamp(40px, 4.2vw, 60px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact__btn {
  cursor: pointer;
  display: block;
  text-align: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  color: #fff;
  font-weight: 700;
  width: clamp(220px, 26vw, 320px);
  height: clamp(50px, 5vw, 70px);
  line-height: clamp(50px, 5vw, 70px);
  font-size: clamp(16px, 1.4vw, 20px);
  background: #E4256E;
}
@media (max-width: 767px) {
  .contact__btn {
    width: 320px;
    height: clamp(64px, 6vw, 80px);
    line-height: clamp(64px, 6vw, 80px);
    max-width: 100%;
  }
}
.contact__btn:after {
  display: none;
}
.contact__btn:hover {
  background: #FEB525;
  transform: scale(1.1);
}

/*-----------------------------------------
    thanks
-----------------------------------------*/
.thanks {
  margin-top: 80px;
  height: 40vw;
  min-height: 500px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .thanks {
    margin-top: 60px;
  }
}
.thanks__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.thanks__content p {
  font-size: clamp(14px, 1.3vw, 18px);
  text-align: center;
}
.thanks__button {
  margin-top: clamp(40px, 4.2vw, 60px);
  text-align: center;
}
@media (max-width: 767px) {
  .thanks__button {
    margin-top: 4rem;
  }
}

/*-----------------------------------------
入力がされていない時に該当箇所のフォームの色が変わる
-----------------------------------------*/
fieldset {
  display: none;
}

.screen-reader-response ul {
  display: none;
}

.wpcf7-response-output {
  display: none;
}

[type=text].wpcf7-not-valid,
[type=email].wpcf7-not-valid,
[type=tel].wpcf7-not-valid,
[type=radio].wpcf7-not-valid,
[type=checkbox].wpcf7-not-valid,
input.wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
  background: #FFF4F5;
  border: 2px solid #FE4F54;
}

.wpcf7-not-valid .wpcf7-list-item-label::before {
  background: #FFF4F5;
  border: 2px solid #FE4F54;
}

/*-----------------------------------------
    footer
-----------------------------------------*/
.footer {
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.footer__inner {
  max-width: 95%;
}
@media (max-width: 767px) {
  .footer__inner {
    max-width: 100%;
  }
}
.footer__content {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 767px) {
  .footer__content {
    flex-direction: column;
  }
  .footer__content--item:nth-child(1) {
    order: 1;
  }
  .footer__content--item:nth-child(2) {
    order: 3;
  }
  .footer__content--item:nth-child(3) {
    order: 2;
  }
  .footer__content--item:nth-child(4) {
    order: 4;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .footer__content .box {
    margin-top: 60px;
  }
  .footer__content .box a {
    font-size: 12px;
    transition: all 0.6s ease 0s;
  }
  .footer__content .box a:hover {
    opacity: 0.6;
  }
  .footer__content .box p {
    margin-top: 10px;
    font-size: 12px;
  }
}
.footer__content .left {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.footer__content .left .box {
  margin-top: clamp(40px, 7vw, 100px);
}
.footer__content .left .box a {
  font-size: clamp(8px, 1vw, 12px);
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .footer__content .left .box a {
    font-size: 12px;
  }
}
.footer__content .left .box a:hover {
  opacity: 0.6;
}
.footer__content .left .box p {
  margin-top: 10px;
  font-size: clamp(8px, 1vw, 12px);
}
@media (max-width: 767px) {
  .footer__content .left .box p {
    font-size: 12px;
  }
}
.footer__content .center {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: clamp(40px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .footer__content .center {
    flex-direction: column;
    margin-top: 50px;
    gap: 20px;
  }
}
.footer__content .center .footer-nav li {
  font-size: clamp(13px, 1.3vw, 16px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .footer__content .center .footer-nav li {
    font-size: clamp(14px, 4.1vw, 16px);
  }
}
.footer__content .center .footer-nav li:not(:first-child) {
  margin-top: 20px;
}
.footer__content .center .footer-nav li a {
  transition: all 0.6s ease 0s;
  padding: 5px 0;
}
.footer__content .center .footer-nav li a:hover {
  color: #2082C9;
}
.footer__content .center .footer-nav__inner {
  margin-top: 20px;
}
.footer__content .center .footer-nav__inner li {
  font-weight: 400;
}
@media (max-width: 767px) {
  .footer__content .center .footer-nav__inner li {
    font-size: clamp(12px, 3.6vw, 14px);
  }
}
.footer__content .center .footer-nav__inner li:not(:first-child) {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .footer__content .center .footer-nav__inner li:not(:first-child) {
    margin-top: 5px;
  }
}
.footer__content .center .footer-nav__inner li a {
  display: block;
  padding: 5px 0;
}
@media (max-width: 767px) {
  .footer__content .right {
    margin-top: 50px;
  }
}
.footer__content .right .btns {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer__content .right .btns .footer__btn {
  width: clamp(140px, 16vw, 220px);
  height: clamp(40px, 4.2vw, 60px);
  line-height: clamp(40px, 4.2vw, 60px);
  font-size: clamp(14px, 1.3vw, 18px);
}
@media (max-width: 767px) {
  .footer__content .right .btns .footer__btn {
    width: 350px;
    max-width: 100%;
    line-height: 60px;
    height: 60px;
    font-size: clamp(18px, 5.2vw, 20px);
  }
}
.footer__content .right .btns .footer__btn .img {
  width: clamp(20px, 2.2vw, 32px);
  height: clamp(20px, 2.2vw, 32px);
  line-height: 1;
}
@media (max-width: 767px) {
  .footer__content .right .btns .footer__btn .img {
    width: 32px;
    height: 32px;
  }
}
.footer__content .right .btns .footer__btn .img svg {
  width: 100%;
  height: 100%;
}
.footer__content .right .btns .footer__btn--line {
  background: #00B900;
}
.footer__content .right .btns .footer__btn--line .img {
  line-height: 1;
}
.footer__content .right .btns .footer__btn--line:hover {
  background: #fff;
  color: #00B900;
  border: 1px solid #00B900;
}
.footer__content .right .btns .footer__btn--line:hover .img svg path {
  fill: #00B900;
}
.footer__logo img {
  width: clamp(140px, 14vw, 200px);
}
@media (max-width: 767px) {
  .footer__logo img {
    width: 150px;
  }
}

/*----------------- topページ -------------------*/
/*-----------------------------------------
    top-mv
-----------------------------------------*/
.top-mv {
  margin-top: 80px;
  height: clamp(420px, 55vw, 780px);
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .top-mv {
    height: clamp(550px, 149vw, 900px);
    align-items: start;
    margin-top: 60px;
  }
}
.top-mv::before {
  content: "";
  position: absolute;
  top: -80px;
  left: 0;
  width: clamp(60px, 9vw, 128px);
  height: clamp(103px, 15vw, 205px);
  background: url(../img/fv-deco01.webp) no-repeat top center/contain;
}
.top-mv::after {
  content: "";
  position: absolute;
  top: -80px;
  left: 51%;
  transform: translateX(-50%);
  width: clamp(170px, 21vw, 300px);
  height: clamp(280px, 37vw, 530px);
  z-index: -1;
  background: url(../img/fv-deco02.webp) no-repeat top center/contain;
}
@media (max-width: 767px) {
  .top-mv::after {
    left: 60%;
    transform: translateX(-50%);
    width: clamp(135px, 21vw, 300px);
    height: clamp(235px, 37vw, 530px);
  }
}
.top-mv__inner {
  width: 100%;
  max-width: 90%;
  margin-left: clamp(60px, 8.4vw, 120px);
}
@media (max-width: 767px) {
  .top-mv__inner {
    margin-top: 40px;
    max-width: 100%;
    margin-left: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.top-mv__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-mv__content {
    flex-direction: column-reverse;
    align-items: start;
    gap: 40px;
  }
}
.top-mv__content .left {
  width: 38%;
  max-width: 471px;
}
@media (max-width: 767px) {
  .top-mv__content .left {
    width: 100%;
  }
}
.top-mv__content .left h1 {
  font-size: clamp(26px, 3.2vw, 45px);
  line-height: 1.4;
  font-weight: 700;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .top-mv__content .left h1 {
    font-size: clamp(26px, 6.2vw, 45px);
  }
}
.top-mv__content .left p {
  margin-top: 60px;
  font-size: clamp(14px, 1.5vw, 20px);
  font-weight: 700;
  letter-spacing: 0.2rem;
  line-height: 1.8;
  position: relative;
}
@media (max-width: 767px) {
  .top-mv__content .left p {
    margin-top: 25px;
  }
}
.top-mv__content .left p::after {
  content: "";
  position: absolute;
  top: -20px;
  left: 15%;
  transform: translateX(-50%);
  width: clamp(170px, 21vw, 300px);
  height: clamp(280px, 37vw, 530px);
  z-index: -1;
  background: url(../img/fv-deco02.webp) no-repeat top center/contain;
}
@media (max-width: 767px) {
  .top-mv__content .left p::after {
    top: -200%;
    left: 40%;
    transform: translateX(-50%);
    width: clamp(135px, 21vw, 300px);
    height: clamp(235px, 37vw, 530px);
  }
}
.top-mv__content .left p span {
  padding: 5px;
  background: #FEB525;
  text-align: center;
}
.top-mv__content .right {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 60%;
  max-width: 760px;
}
@media (max-width: 767px) {
  .top-mv__content .right {
    width: 100%;
  }
}
.top-mv__content .right::after {
  content: "";
  position: absolute;
  bottom: -17vw;
  right: -27px;
  width: clamp(95px, 14vw, 190px);
  height: clamp(265px, 37vw, 530px);
  z-index: -1;
  background: url(../img/fv-deco03.webp) no-repeat top center/contain;
}
.top-mv__content .right .img2 {
  margin-top: -30px;
  margin-left: -3.5vw;
}
@media (max-width: 767px) {
  .top-mv__content .right .img2 {
    margin-left: -5.5vw;
  }
}

.mv-bottomLead {
  text-align: center;
  font-size: clamp(13px, 1.4vw, 18px);
  line-height: 1.8;
  font-weight: 700;
  position: relative;
}
@media (max-width: 767px) {
  .mv-bottomLead {
    padding-left: 20px;
    padding-right: 20px;
    text-align: left;
    font-size: clamp(14px, 1.3vw, 16px);
    line-height: 2;
    letter-spacing: 0.02rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }
}
.mv-bottomLead::before {
  content: "";
  position: absolute;
  bottom: -13vw;
  left: -2px;
  transform: scale(-1, -1);
  width: clamp(95px, 13.2vw, 190px);
  height: clamp(265px, 37vw, 530px);
  z-index: -1;
  background: url(../img/fv-deco03.webp) no-repeat top center/contain;
}
@media (max-width: 767px) {
  .mv-bottomLead::before {
    top: -30%;
    bottom: auto;
    left: -80px;
  }
}

@media screen and (min-width: 1441px) {
  .top-mv__inner {
    width: 100%;
    margin-left: auto;
  }
  .top-mv__content .right {
    max-width: none;
  }
  .top-mv__content .right .img2 {
    margin-left: -40px;
  }
}
/*-----------------------------------------
    message
-----------------------------------------*/
.top-message {
  margin-top: clamp(120px, 16vw, 227px);
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
  position: relative;
}
@media (max-width: 767px) {
  .top-message {
    margin-top: clamp(60px, 16vw, 120px);
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.top-message::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(230px, 27vw, 362px);
  height: 100%;
  background: url(../img/message-deco01.webp) no-repeat top right/cover;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-message::before {
    width: clamp(140px, 27vw, 362px);
    height: 100%;
  }
}
.top-message::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(120px, 23vw, 320px);
  height: clamp(243px, 31vw, 440px);
  background: url(../img/message-deco02.webp) no-repeat top right/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-message::after {
    display: none;
  }
}
.top-message__content {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-message__content {
    gap: 40px;
    flex-direction: column-reverse;
  }
}
.top-message__content .left {
  width: 45%;
  max-width: 540px;
  position: relative;
}
@media (max-width: 767px) {
  .top-message__content .left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-message__content .left::before {
  content: "";
  position: absolute;
  top: clamp(410px, 38vw, 548px);
  left: 0;
  width: clamp(160px, 21vw, 290px);
  height: clamp(160px, 21vw, 290px);
  background: url(../img/message-img02.webp) no-repeat center center/contain;
  z-index: 2;
}
@media (max-width: 767px) {
  .top-message__content .left::before {
    display: none;
  }
}
.top-message__content .left p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.05rem;
  line-height: 2;
}
.top-message__content .left p span {
  background: #2082C9;
  color: #fff;
  padding: 2px;
  font-weight: 500;
}
.top-message__content .right {
  width: 50%;
  max-width: 600px;
  position: relative;
}
@media (max-width: 767px) {
  .top-message__content .right {
    width: 80%;
    margin-left: auto;
    max-width: 400px;
  }
}
.top-message__content .right::before {
  content: "";
  position: absolute;
  top: -27%;
  left: -10%;
  width: clamp(215px, 27.5vw, 390px);
  height: clamp(360px, 48vw, 690px);
  background: url(../img/message-deco3.webp) no-repeat top center/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-message__content .right::before {
    top: -10%;
    left: 20%;
    width: clamp(135px, 35vw, 230px);
    height: clamp(235px, 61vw, 410px);
  }
}
@media (max-width: 767px) {
  .top-message__content .right::after {
    content: "";
    position: absolute;
    bottom: -7%;
    right: -20px;
    width: clamp(91px, 19vw, 142px);
    height: clamp(270px, 49vw, 370px);
    background: url(../img/message-deco02_sp.webp) no-repeat top right/contain;
    z-index: -1;
  }
}
/*-----------------------------------------
    service
-----------------------------------------*/
.top-service {
  padding-top: clamp(75px, 9.1vw, 130px);
  padding-bottom: clamp(75px, 9.1vw, 130px);
  background: #F5F5F5;
  position: relative;
}
@media (max-width: 767px) {
  .top-service {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.top-service::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(210px, 22vw, 315px);
  height: clamp(690px, 90vw, 1290px);
  background: url(../img/servicebg-deco.webp) no-repeat top right/contain;
}
@media (max-width: 767px) {
  .top-service::after {
    right: -55px;
    width: clamp(210px, 22vw, 315px);
    height: clamp(350px, 90vw, 1290px);
  }
}
.top-service__inner {
  width: 1280px;
  max-width: 90%;
  margin-left: 40px;
}
@media (max-width: 767px) {
  .top-service__inner {
    max-width: 100%;
    margin-left: 0;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.top-service__content {
  margin-top: clamp(60px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .top-service__content {
    margin-top: 40px;
  }
}
.top-service__content .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-service__content .flex {
    flex-direction: column;
  }
}
.top-service__content .flex .left {
  width: 50%;
  max-width: 610px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-service__content .flex .left {
    width: 100%;
  }
}
.top-service__content .flex .left::before {
  content: "";
  position: absolute;
  top: 23%;
  right: -5%;
  width: clamp(130px, 20vw, 230px);
  height: clamp(212px, 30vw, 412px);
  background: url(../img/message-deco3.webp) no-repeat center center/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-service__content .flex .left::before {
    top: 48%;
    right: 0;
    width: clamp(120px, 30vw, 230px);
    height: clamp(215px, 42vw, 412px);
  }
}
@media (max-width: 767px) {
  .top-service__content .flex .left h3 {
    font-size: clamp(26px, 2.8vw, 40px);
    font-weight: 700;
    letter-spacing: 0.2rem;
    line-height: 1.4;
  }
}
@media (max-width: 767px) {
  .top-service__content .flex .left h3 span {
    display: block;
    font-size: clamp(16px, 1.4vw, 20px);
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.2rem;
    margin-top: 5px;
  }
}
@media (max-width: 767px) {
  .top-service__content .flex .left .img {
    margin-top: 25px;
    width: 84%;
  }
}
.top-service__content .flex .left .img img {
  vertical-align: bottom;
  line-height: 1em;
}
.top-service__content .flex .right {
  width: 47%;
  max-width: 600px;
}
@media (max-width: 767px) {
  .top-service__content .flex .right {
    width: 100%;
  }
}
.top-service__content .flex .right h3 {
  font-size: clamp(26px, 2.8vw, 40px);
  font-weight: 700;
  letter-spacing: 0.2rem;
  line-height: 1.2;
}
.top-service__content .flex .right h3 span {
  margin-bottom: 10px;
  display: block;
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.2rem;
}
.top-service__content .flex .right p {
  margin-top: clamp(30px, 4.2vw, 60px);
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 2;
}
@media (max-width: 767px) {
  .top-service__content .flex .right p {
    margin-top: 60px;
    font-size: clamp(14px, 1.3vw, 16px);
  }
}
.top-service__itemsContent {
  margin-top: clamp(80px, 7vw, 100px);
  background: #fff;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .top-service__itemsContent {
    margin-top: 60px;
  }
}
.top-service__itemsContent::after {
  content: "";
  position: absolute;
  top: 12rem;
  left: -5rem;
  width: 100%;
  height: 95%;
  background: #2082C9;
  z-index: -1;
}
@media (max-width: 767px) {
  .top-service__itemsContent::after {
    top: -10px;
    left: -10px;
    height: 102%;
  }
}
.top-service__itemsContent .head {
  padding-bottom: 4.5rem;
  border-bottom: 1px solid #2082C9;
}
@media (max-width: 767px) {
  .top-service__itemsContent .head {
    padding-bottom: 10px;
  }
}
.top-service__itemsContent .head h3 {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.8;
  padding-left: 4.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .top-service__itemsContent .head h3 {
    padding-left: 25px;
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.4;
  }
}
.top-service__itemsContent .head h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.8rem;
  height: 4.5rem;
  background: url(../img/titledeco_h3.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .top-service__itemsContent .head h3::before {
    width: 20px;
    height: 28px;
  }
}
.top-service__itemsContent .head .lead {
  margin-top: clamp(20px, 2.2vw, 30px);
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.2rem;
}
@media (max-width: 767px) {
  .top-service__itemsContent .head .lead {
    margin-top: 15px;
    letter-spacing: 0.02rem;
    font-size: clamp(14px, 1.3vw, 16px);
  }
}
.top-service__itemsContent .body {
  margin-top: clamp(60px, 7vw, 100px);
}
.top-service__itemsContent-in {
  padding: 5.6vw 4.9vw;
  background: #fff;
}
@media (max-width: 767px) {
  .top-service__itemsContent-in {
    padding: 3.2rem 15px 3.8rem;
  }
}
.top-service__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 6.7rem;
       column-gap: 6.7rem;
  row-gap: 10rem;
}
@media (max-width: 767px) {
  .top-service__items {
    grid-template-columns: 1fr;
    row-gap: 50px;
  }
}
.top-service__item {
  display: flex;
  align-items: start;
  justify-content: start;
  gap: 5px;
  transition: all 0.6s ease 0s;
  position: relative;
}
@media (max-width: 767px) {
  .top-service__item {
    justify-content: space-between;
    gap: 0;
  }
}
.top-service__item::after {
  content: "";
  position: absolute;
  top: -15%;
  left: 0;
  width: clamp(40px, 4vw, 60px);
  height: clamp(40px, 4vw, 60px);
  background: url(../img/link-arrow_b.svg) no-repeat center center/contain;
  transition: all 0.6s ease 0s;
}
.top-service__item .left {
  width: clamp(120px, 17vw, 240px);
  overflow: hidden;
}
.top-service__item .left .img img {
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .top-service__item .left .img img {
    width: 120px;
    height: 120px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top-service__item .right {
  width: clamp(120px, 20vw, 240px);
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .top-service__item .right {
    width: calc(100% - 140px);
  }
}
.top-service__item .right h4 {
  font-size: clamp(14px, 1.6vw, 22px);
  line-height: 1.4;
  letter-spacing: 0;
  font-weight: 600;
}
@media (max-width: 767px) {
  .top-service__item .right h4 {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.top-service__item .right p {
  margin-top: 2rem;
  font-size: clamp(12px, 1.2vw, 15px);
  line-height: 1.8;
  letter-spacing: 0.02rem;
}
@media (max-width: 767px) {
  .top-service__item .right p {
    margin-top: 5px;
    font-size: 13px;
  }
}
.top-service__item:hover:after {
  transform: translateX(300%);
}
@media (max-width: 767px) {
  .top-service__item:hover:after {
    transform: translateX(200%);
  }
}
.top-service__item:hover .left .img img {
  transform: scale(1.1);
}
.top-service__item:hover .right {
  color: #2082C9;
}
.top-service__bottom {
  width: 80%;
  margin-top: clamp(80px, 8vw, 120px);
}
@media (max-width: 767px) {
  .top-service__bottom {
    margin-top: 60px;
    width: 100%;
    max-width: 600px;
  }
}
.top-service__bottom p {
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
  line-height: 2;
  padding-left: 3rem;
  position: relative;
}
@media (max-width: 767px) {
  .top-service__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
    padding-left: 13px;
    letter-spacing: 0.05rem;
  }
}
.top-service__bottom p::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: clamp(3px, 0.5vw, 6px);
  height: 150px;
  background: #FEB525;
}
@media (max-width: 767px) {
  .top-service__bottom p::before {
    height: 100%;
  }
}

@media screen and (min-width: 1441px) {
  .top-service__inner {
    margin-left: auto;
    margin-right: auto;
  }
  .top-service__itemsContent::after {
    top: 120px;
    left: -50px;
  }
  .top-service__itemsContent .head h3 {
    padding-left: 28px;
  }
  .top-service__itemsContent .head h3::before, .top-service__itemsContent .head h3::after {
    width: 28px;
    height: 40px;
  }
  .top-service__items {
    -moz-column-gap: 60px;
         column-gap: 60px;
    row-gap: 90px;
  }
  .top-service__item {
    gap: 20px;
  }
  .top-service__item .right p {
    margin-top: 20px;
  }
}
/*-----------------------------------------
    top-works
-----------------------------------------*/
.top-works {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.top-works__inner {
  width: 980px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .top-works__inner {
    width: 100%;
    max-width: 100%;
  }
}
.top-works__content {
  margin-top: clamp(60px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .top-works__content {
    margin-top: 40px;
  }
}
.top-works .top-worksItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4.5rem;
}
@media (max-width: 767px) {
  .top-works .top-worksItems {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .top-works .top-worksItems .card {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-works .top-worksItems .card__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.top-works .top-worksItems .card__head .meta .job {
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .top-works .top-worksItems .card__head .meta .job {
    font-size: 14px;
  }
}
.top-works .top-worksItems .card__head .meta .cate {
  background: #FEB525;
  font-size: clamp(8px, 1.3vw, 10px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 2px 1.5rem 1px;
}
@media (max-width: 767px) {
  .top-works .top-worksItems .card__head .meta .cate {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.top-works .top-worksItems .card__head .img {
  margin-top: 10px;
  overflow: hidden;
}
.top-works .top-worksItems .card__head .img img {
  transition: all 0.6s ease 0s;
  vertical-align: bottom;
  line-height: 1em;
}
.top-works .top-worksItems .card__bottom {
  margin-top: 1.7rem;
}
@media (max-width: 767px) {
  .top-works .top-worksItems .card__bottom {
    margin-top: 15px;
  }
}
.top-works .top-worksItems .card__bottom p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.02rem;
  font-weight: 600;
  text-align: justify;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .top-works .top-worksItems .card__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.top-works .top-worksItems .card:hover img {
  transform: scale(1.1);
}
.top-works .top-worksItems .card:hover .card__bottom p {
  color: #2082C9;
}
.top-works .no-works {
  text-align: center;
  font-size: clamp(16px, 1.5vw, 20px);
}
.top-works__button {
  display: flex;
  justify-content: end;
  margin-top: clamp(60px, 6vw, 85px);
}
@media screen and (min-width: 1441px) {
  .top-works .top-worksItems {
    gap: 40px;
  }
}
/*-----------------------------------------
    voice
-----------------------------------------*/
.voice {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.voice__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.voice__content p {
  text-align: center;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 2;
}
@media (max-width: 767px) {
  .voice__content p {
    font-size: 14px;
    text-align: left;
    letter-spacing: 0.02rem;
  }
}
.voice__content--center {
  margin-top: clamp(60px, 8.5vw, 120px);
  background: #F5F5F5;
  width: 1320px;
  max-width: 93%;
  margin-left: auto;
  padding: 6.7rem 4.5rem 6.7rem 9rem;
  position: relative;
}
@media (max-width: 767px) {
  .voice__content--center {
    max-width: 100%;
    margin-left: 20px;
    padding: 30px 20px 30px 30px;
  }
}
.voice__content--center::before {
  content: "";
  position: absolute;
  top: -38%;
  left: -8%;
  width: clamp(176px, 23vw, 300px);
  height: clamp(370px, 46.6vw, 670px);
  background: url(../img/voice-deco.webp) no-repeat top left/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .voice__content--center::before {
    top: -8%;
    left: -8%;
    width: clamp(201px, 44vw, 300px);
    height: clamp(431px, 74.6vw, 674px);
  }
}
.voice__content--center h3 {
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  line-height: 1.8;
  padding-left: 4.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .voice__content--center h3 {
    padding-left: 25px;
    font-size: clamp(18px, 3vw, 22px);
  }
}
.voice__content--center h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 3.8rem;
  height: 4.5rem;
  background: url(../img/titledeco_h3.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .voice__content--center h3::before {
    width: 20px;
    height: 28px;
  }
}
.voice__content--center .swiper {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.voice__content--center .swiper-wrapper {
  padding-bottom: clamp(60px, 7vw, 100px);
}
.voice__content--center .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(15px, 2.2vw, 30px);
}
.voice__content--center .swiper-slide .left {
  width: 39%;
  max-width: 220px;
}
@media (max-width: 767px) {
  .voice__content--center .swiper-slide .left {
    width: 47%;
  }
}
.voice__content--center .swiper-slide .left .img img {
  vertical-align: bottom;
  line-height: 1em;
}
.voice__content--center .swiper-slide .right {
  width: 57%;
  max-width: 330px;
}
.voice__content--center .swiper-slide .right p {
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 700;
}
.voice__content--center .swiper-button-prev {
  left: 0;
  top: auto;
  bottom: 0;
  right: auto;
  width: 40px;
  height: 40px;
}
.voice__content--center .swiper-button-prev svg path.arrow {
  transition: all 0.6s ease 0s;
}
.voice__content--center .swiper-button-prev svg path.arrow2 {
  transition: all 0.6s ease 0s;
}
.voice__content--center .swiper-button-prev::after {
  display: none;
}
.voice__content--center .swiper-button-prev:hover svg path.arrow {
  fill: #fff;
}
.voice__content--center .swiper-button-prev:hover svg path.arrow2 {
  stroke: #2082C9;
}
.voice__content--center .swiper-button-next {
  left: 80px;
  top: auto;
  bottom: 0;
  right: auto;
  width: 40px;
  height: 40px;
}
.voice__content--center .swiper-button-next svg path.arrow {
  transition: all 0.6s ease 0s;
}
.voice__content--center .swiper-button-next svg path.arrow2 {
  transition: all 0.6s ease 0s;
}
.voice__content--center .swiper-button-next::after {
  display: none;
}
.voice__content--center .swiper-button-next:hover svg path.arrow {
  fill: #fff;
}
.voice__content--center .swiper-button-next:hover svg path.arrow2 {
  stroke: #2082C9;
}
.voice__content--bottom {
  margin-top: clamp(50px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .voice__content--bottom {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.voice__content--bottom p {
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 600;
  text-align: center;
  line-height: 2.2;
}
@media (max-width: 767px) {
  .voice__content--bottom p {
    line-height: 2;
    letter-spacing: 0.02rem;
  }
}
.voice__content--bottom p span {
  background: #2082C9;
  color: #fff;
  padding: 4px;
}

@media screen and (min-width: 1441px) {
  .voice__content--center {
    width: auto;
  }
  .voice__content--center h3 {
    padding-left: 28px;
  }
  .voice__content--center h3::before, .voice__content--center h3::after {
    width: 28px;
    height: 40px;
  }
}
/*-----------------------------------------
    top-recruit
-----------------------------------------*/
.top-recruit {
  position: relative;
}
.top-recruit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/recruit-bg.webp) no-repeat center center/cover;
}
.top-recruit::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(32, 130, 201, 0.9);
}
.top-recruit__bg {
  position: relative;
}
.top-recruit__bg::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 7%;
  width: clamp(75px, 8vw, 114px);
  height: clamp(130px, 16.7vw, 240px);
  background: url(../img/recruit-deco.svg) no-repeat center center/contain;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-recruit__bg::before {
    display: none;
  }
}
.top-recruit__bg::after {
  content: "";
  position: absolute;
  top: 0;
  right: 7%;
  width: clamp(75px, 8vw, 114px);
  height: clamp(130px, 16.7vw, 240px);
  background: url(../img/recruit-deco.svg) no-repeat center center/contain;
  z-index: 1;
}
@media (max-width: 767px) {
  .top-recruit__bg::after {
    display: none;
  }
}
.top-recruit__inner {
  padding-top: clamp(60px, 12vw, 100px);
  padding-bottom: clamp(60px, 12vw, 100px);
  width: 1360px;
  max-width: 96%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .top-recruit__inner {
    padding-top: 175px;
    padding-bottom: 175px;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.top-recruit__inner .left {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(100px, 18.2vw, 290px);
}
@media (max-width: 767px) {
  .top-recruit__inner .left {
    width: clamp(172px, 30vw, 230px);
  }
}
.top-recruit__inner .left .img img {
  vertical-align: bottom;
  line-height: 1em;
}
.top-recruit__inner .right {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(100px, 18.2vw, 290px);
}
@media (max-width: 767px) {
  .top-recruit__inner .right {
    width: clamp(172px, 30vw, 230px);
  }
}
.top-recruit__inner .right .img img {
  vertical-align: bottom;
  line-height: 1em;
}
.top-recruit__content {
  color: #fff;
}
.top-recruit__content .head {
  text-align: center;
}
.top-recruit__content .head h2 {
  font-weight: 600;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .top-recruit__content .head h2 {
    line-height: 1.4;
    font-size: clamp(22px, 6.7vw, 26px);
  }
}
.top-recruit__content .body {
  text-align: center;
  margin-top: clamp(30px, 2.8vw, 40px);
}
.top-recruit__content .body p {
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .top-recruit__content .body p {
    text-align: left;
    font-size: clamp(14px, 4vw, 16px);
    letter-spacing: 0.02rem;
  }
}
.top-recruit__button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .top-recruit__button {
    justify-content: end;
  }
}
.top-recruit__btn {
  text-align: left;
  padding-bottom: 2.7rem;
  font-size: clamp(18px, 1.6vw, 22px);
  border-color: #fff;
}
@media (max-width: 767px) {
  .top-recruit__btn {
    width: 260px;
    padding-bottom: 16px;
  }
}
.top-recruit__btn:after {
  top: -25%;
  width: clamp(40px, 4.2vw, 60px);
  height: clamp(40px, 4.2vw, 60px);
  background: url(../img/link-arrow_w.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .top-recruit__btn:after {
    top: -20%;
  }
}

/*-----------------------------------------
    reason
-----------------------------------------*/
.reason {
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
  position: relative;
}
.reason::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(180px, 24.5vw, 371px);
  height: 100%;
  background: url(../img/reason-deco01.webp) no-repeat top right/cover;
  z-index: -1;
}
.reason::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(190px, 24vw, 344px);
  height: clamp(337px, 43vw, 620px);
  background: url(../img/reason-deco02.webp) no-repeat top right/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .reason::after {
    right: -135px;
    width: clamp(212px, 37vw, 280px);
    height: clamp(380px, 65vw, 500px);
  }
}
.reason__content {
  margin-top: clamp(60px, 5.6vw, 80px);
  width: 700px;
  max-width: 83%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .reason__content {
    margin-top: 40px;
    max-width: 100%;
  }
}
.reason__content--bottom {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.reason__content--bottom p {
  text-align: center;
  font-size: clamp(16px, 1.5vw, 20px);
  font-weight: 600;
  line-height: 1.8;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
}
@media (max-width: 767px) {
  .reason__content--bottom p {
    width: 450px;
  }
}
.reason__dl .row {
  border: 1px solid #2082C9;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 20px;
  background: #fff;
}
@media (max-width: 767px) {
  .reason__dl .row {
    gap: 12px;
  }
}
.reason__dl .row:not(:first-child) {
  margin-top: 20px;
}
.reason__dl dt {
  border: 1px solid #2082C9;
  background: #2082C9;
  color: #fff;
  clip-path: polygon(0 0, 100% 0%, 90% 100%, 0% 100%);
  display: flex;
  align-items: center;
  justify-content: start;
  width: 220px;
  padding: 2rem 2.3rem;
  font-size: clamp(16px, 1.5vw, 20px);
  width: clamp(160px, 16vw, 220px);
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .reason__dl dt {
    letter-spacing: 0.05rem;
    padding: 20px 16px 20px 12px;
  }
}
.reason__dl dd {
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .reason__dl dd {
    letter-spacing: 0.02rem;
    width: calc(100% - 162px);
    padding: 8px 8px 8px 0;
    line-height: 1.4;
  }
}

@media screen and (min-width: 1441px) {
  .reason__dl dt {
    padding: 15px 20px;
  }
}
/*-----------------------------------------
    top-news
-----------------------------------------*/
.top-news {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
  background: #F5F5F5;
  position: relative;
}
.top-news::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(390px, 45vw, 647px);
  height: clamp(542px, 62vw, 769px);
  background: url(../img/news-deco.webp) no-repeat center right/cover;
  z-index: 0;
}
@media (max-width: 767px) {
  .top-news::before {
    top: auto;
    bottom: -10px;
    background: url(../img/news-deco_sp.webp) no-repeat center right/contain;
    width: clamp(79px, 18vw, 158px);
    height: clamp(149px, 36vw, 398px);
  }
}
.top-news__inner {
  position: relative;
  width: 980px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .top-news__inner {
    width: 100%;
    max-width: 100%;
  }
}
.top-news__content {
  margin-top: clamp(60px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .top-news__content {
    margin-top: 40px;
  }
}
.top-news .top-newsItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
}
@media (max-width: 767px) {
  .top-news .top-newsItems {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .top-news .top-newsItems .card {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-news .top-newsItems .card__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.top-news .top-newsItems .card__head .meta .time {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(12px, 1.1vw, 14px);
}
@media (max-width: 767px) {
  .top-news .top-newsItems .card__head .meta .time {
    font-size: 14px;
  }
}
.top-news .top-newsItems .card__head .meta .cate li {
  background: #FEB525;
  font-size: clamp(8px, 1.3vw, 10px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 2px 1.5rem 1px;
}
@media (max-width: 767px) {
  .top-news .top-newsItems .card__head .meta .cate li {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.top-news .top-newsItems .card__head .img {
  margin-top: 10px;
  overflow: hidden;
}
.top-news .top-newsItems .card__head .img img {
  transition: all 0.6s ease 0s;
}
.top-news .top-newsItems .card__bottom {
  margin-top: 1.7rem;
}
@media (max-width: 767px) {
  .top-news .top-newsItems .card__bottom {
    margin-top: 15px;
  }
}
.top-news .top-newsItems .card__bottom p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.02rem;
  font-weight: 600;
  text-align: justify;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .top-news .top-newsItems .card__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.top-news .top-newsItems .card:hover img {
  transform: scale(1.1);
}
.top-news .top-newsItems .card:hover .card__bottom p {
  color: #2082C9;
}
.top-news .top-newsItems__no-post {
  font-size: clamp(16px, 1.5vw, 20px);
}
.top-news__button {
  display: flex;
  justify-content: end;
  margin-top: clamp(60px, 6vw, 85px);
}
@media screen and (max-width: 389px) {
  .top-news::before {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .top-news .top-newsItems {
    gap: 40px;
  }
}
/*-----------------------------------------
    top-company
-----------------------------------------*/
.top-company {
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
  background: #F5F5F5;
}
.top-company__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .top-company__content {
    flex-direction: column;
    gap: 40px;
  }
}
.top-company__content .left {
  width: 40%;
  max-width: 340px;
}
@media (max-width: 767px) {
  .top-company__content .left {
    width: 100%;
  }
}
.top-company__content .left p {
  margin-top: clamp(40px, 4.2vw, 60px);
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .top-company__content .left p {
    font-size: clamp(14px, 4.1vw, 18px);
  }
}
.top-company__button {
  margin-top: clamp(30px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .top-company__button {
    text-align: center;
  }
}
.top-company__btn {
  width: clamp(240px, 21vw, 300px);
  padding-bottom: 2.7rem;
  font-size: clamp(18px, 1.6vw, 22px);
}
@media (max-width: 767px) {
  .top-company__btn {
    padding-bottom: 16px;
    text-align: left;
  }
}
.top-company__btn:after {
  top: -25%;
  width: clamp(40px, 4.2vw, 60px);
  height: clamp(40px, 4.2vw, 60px);
  background: url(../img/link-arrow.svg) no-repeat center center/contain;
}
.top-company .right {
  width: 50%;
  max-width: 600px;
  position: relative;
}
@media (max-width: 767px) {
  .top-company .right {
    width: 100%;
  }
}
.top-company .right::before {
  content: "";
  position: absolute;
  top: -10%;
  left: -5%;
  width: clamp(130px, 16vw, 230px);
  height: clamp(170px, 20.9vw, 300px);
  background: url(../img/company-deco.webp) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .top-company .right::before {
    width: clamp(115px, 16vw, 230px);
    height: clamp(150px, 20.9vw, 300px);
  }
}
.top-company .right .img {
  position: relative;
}

.map {
  width: 100%;
  height: clamp(240px, 30vw, 420px);
  position: relative;
}
@media (max-width: 767px) {
  .map {
    height: 420px;
  }
}

.iframe__wrap {
  width: 100%;
  padding-top: clamp(240px, 30vw, 420px);
  position: relative;
}
@media (max-width: 767px) {
  .iframe__wrap {
    height: 420px;
  }
}
.iframe__wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.iframe__overlay {
  position: absolute;
  inset: 0;
  background: rgba(32, 130, 201, 0.3);
  pointer-events: none;
}

/*----------------- 子ページ -------------------*/
/*-----------------------------------------
    child
-----------------------------------------*/
@media (max-width: 767px) {
  .section__head--left {
    justify-content: start;
  }
}
@media (max-width: 767px) {
  .section__head--left2 {
    justify-content: center;
  }
}

.section__title {
  font-size: clamp(20px, 2.8vw, 30px);
}
.section__title--left {
  text-align: left;
}

.child-mv {
  margin-top: 80px;
  height: clamp(270px, 32vw, 450px);
  position: relative;
}
@media (max-width: 767px) {
  .child-mv {
    height: clamp(400px, 95vw, 580px);
    margin-top: 60px;
  }
}
.child-mv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(70px, 9vw, 120px);
  height: clamp(270px, 32vw, 450px);
  background: url(../img/childefv-deco01.webp) no-repeat top right/cover;
}
@media (max-width: 767px) {
  .child-mv::before {
    height: 100%;
    left: 0;
    width: clamp(35px, 12.5vw, 70px);
  }
}
.child-mv__inner {
  width: 1320px;
  margin-left: auto;
  max-width: 90%;
  position: relative;
  height: 100%;
}
.child-mv__inner::before {
  content: "";
  position: absolute;
  top: 8%;
  left: 33%;
  width: clamp(60px, 8vw, 110px);
  height: clamp(140px, 14vw, 200px);
  background: url(../img/childefv-deco02.webp) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .child-mv__inner::before {
    top: auto;
    bottom: 2%;
    left: -4%;
    width: clamp(61px, 17vw, 130px);
    height: clamp(138px, 26vw, 200px);
  }
}
.child-mv__inner::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 58vw;
  max-width: 835px;
  height: 100%;
  background: url(../img/meofv-img.webp) no-repeat top left/cover;
}
@media (max-width: 767px) {
  .child-mv__inner::after {
    top: auto;
    bottom: 35px;
    width: clamp(300px, 87.4vw, 680px);
    height: clamp(160px, 46.3vw, 310px);
  }
}
.child-mv__inner--lp::after {
  background: url(../img/lpfv-img.webp) no-repeat top left/cover;
}
.child-mv__inner--sns:after {
  background: url(../img/snsfv-img.webp) no-repeat top left/cover;
}
.child-mv__inner--kyujin:after {
  background: url(../img/kyuujinfv-img.webp) no-repeat top left/cover;
}
.child-mv__content {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 33%;
}
@media (max-width: 767px) {
  .child-mv__content {
    top: 17%;
    left: 4%;
    width: 92%;
    transform: translateY(0);
  }
}
.child-mv__content h1 {
  font-size: clamp(26px, 2.3vw, 32px);
  font-weight: 600;
  color: #2082C9;
}
@media (max-width: 767px) {
  .child-mv__content h1 {
    font-size: clamp(21px, 5vw, 24px);
  }
}
.child-mv__content p {
  margin-top: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .child-mv__content p {
    margin-top: 10px;
    font-size: clamp(12.5px, 3.5vw, 14px);
  }
}

@media screen and (min-width: 1441px) {
  .child-mv__inner {
    width: auto;
  }
  .child-mv__inner::before {
    left: auto;
    right: 46rem;
  }
}
/*-----------------------------------------
    パンくず
-----------------------------------------*/
.breadcrumb {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: clamp(40px, 8.5vw, 120px);
  display: flex;
  align-items: center;
  justify-content: start;
  flex-wrap: wrap;
  gap: 15px;
  font-size: 12px;
}
@media (max-width: 767px) {
  .breadcrumb {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.breadcrumb a {
  font-size: 12px;
  padding: 0;
}
.breadcrumb span {
  font-size: 12px;
  padding: 0;
}
.breadcrumb span .img {
  width: 8px;
}

/*-----------------------------------------
    about
-----------------------------------------*/
.about {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  position: relative;
}
.about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.4rem;
  height: 44.5vw;
  background: #FEB525;
}
@media (max-width: 767px) {
  .about::before {
    width: 20px;
    height: 500px;
  }
}
@media (max-width: 767px) {
  .about__inner {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: 0;
    padding-right: 0;
  }
}
.about__content {
  display: flex;
  align-items: start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .about__content {
    flex-direction: column;
    gap: 20px;
  }
}
.about__content .left {
  width: 60%;
  max-width: 600px;
}
@media (max-width: 767px) {
  .about__content .left {
    width: 100%;
  }
}
.about__content .left .text {
  margin-top: 30px;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .about__content .left .text {
    margin-top: 40px;
    font-size: clamp(13px, 3vw, 14px);
    padding-right: 20px;
  }
}
.about__content .left .text span {
  background: #2082C9;
  font-weight: 500;
  padding: 2px;
  color: #fff;
}
.about__content .left ul {
  margin-top: 20px;
}
.about__content .left ul li {
  list-style: disc;
  margin-left: 20px;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .about__content .left ul li {
    font-size: clamp(13px, 3vw, 14px);
  }
}
.about__content .left .textbottom {
  margin-top: 20px;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .about__content .left .textbottom {
    margin-top: 40px;
    font-size: clamp(13px, 3vw, 14px);
    padding-right: 20px;
  }
}
.about__content .left .textbottom span {
  background: #2082C9;
  font-weight: 500;
  padding: 2px;
  color: #fff;
}
.about__content .right {
  width: 36%;
  max-width: 460px;
}
@media (max-width: 767px) {
  .about__content .right {
    width: 92.5%;
    margin-left: auto;
  }
}
.about__title {
  margin-top: 10px;
  font-size: clamp(22px, 2.8vw, 30px);
  letter-spacing: 0;
  font-weight: 600;
  color: #2082C9;
}
@media (max-width: 767px) {
  .about__title {
    font-size: clamp(18px, 4vw, 22px);
  }
}
.about__lead {
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .about__lead {
    font-size: clamp(12px, 1.4vw, 14px);
  }
}

@media screen and (min-width: 1441px) {
  .about::before {
    width: 40px;
    height: 640px;
  }
}
/*-----------------------------------------
    container
-----------------------------------------*/
.child-container {
  padding-bottom: clamp(60px, 7vw, 100px);
  position: relative;
  padding-left: clamp(60px, 5.6vw, 80px);
  padding-right: clamp(60px, 5.6vw, 80px);
  position: relative;
}
@media (max-width: 767px) {
  .child-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.child-container::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(280px, 29vw, 415px);
  height: clamp(1395px, 144vw, 2070px);
  background: url(../img/child-deco02.webp) no-repeat top left/contain;
  z-index: -1;
}

/*----------------- section01-------------------*/
.section01 {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
@media (max-width: 767px) {
  .section01__inner {
    padding-left: 0;
    padding-right: 0;
  }
}
.section01__content {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.section01__items {
  width: 980px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .section01__items {
    max-width: 100%;
  }
}
.section01__items .card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 767px) {
  .section01__items .card {
    flex-direction: column;
    width: 310px;
    margin-left: auto;
    margin-right: auto;
    gap: 5px;
  }
}
.section01__items .card:not(:first-child) {
  margin-top: 40px;
}
.section01__items .card__left {
  width: 30%;
  max-width: 260px;
}
@media (max-width: 767px) {
  .section01__items .card__left {
    width: 100%;
    max-width: 310px;
  }
}
.section01__items .card__left .img {
  vertical-align: bottom;
  line-height: 1em;
}
@media (max-width: 767px) {
  .section01__items .card__left .img img {
    height: 160px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.section01__items .card__right {
  width: 72%;
  max-width: 700px;
}
@media (max-width: 767px) {
  .section01__items .card__right {
    width: 100%;
  }
}
.section01__items .card__right .head {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.section01__items .card__right .head .num {
  font-size: clamp(24px, 2.8vw, 40px);
  font-family: "Roboto Condensed", sans-serif;
  color: #2082C9;
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .section01__items .card__right .head .num {
    font-size: clamp(34px, 4vw, 40px);
  }
}
.section01__items .card__right .head h3 {
  font-size: clamp(16px, 1.5vw, 22px);
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .section01__items .card__right .head h3 {
    font-size: clamp(18px, 3vw, 20px);
  }
}
.section01__items .card__right p {
  margin-top: 10px;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .section01__items .card__right p {
    margin-top: 5px;
    font-size: clamp(13px, 3.6vw, 14px);
  }
}

/*----------------- section02 -------------------*/
.section02 {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  background: #F5F5F5;
}
.section02__inner {
  width: 960px;
  max-width: 85%;
}
@media (max-width: 767px) {
  .section02__inner {
    max-width: 100%;
  }
}
.section02__content {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.section02__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 4.4rem;
       column-gap: 4.4rem;
  row-gap: 3.4rem;
}
@media (max-width: 767px) {
  .section02__items {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.section02__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 767px) {
  .section02__item {
    gap: 10px;
    justify-content: start;
  }
}
.section02__item .left {
  width: 20%;
  max-width: 80px;
}
@media (max-width: 767px) {
  .section02__item .left {
    width: 60px;
  }
}
.section02__item .right {
  width: 80%;
  max-width: 360px;
}
.section02__item .right strong {
  font-size: clamp(15px, 1.4vw, 20px);
  font-weight: 600;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section02__item .right strong {
    font-size: clamp(16px, 4vw, 18px);
  }
}
.section02__item .right p {
  font-size: clamp(13px, 1.3vw, 16px);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .section02__item .right p {
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
.section02__bottom {
  margin-top: clamp(40px, 4.2vw, 60px);
  background: #fff;
  border: 1px solid #2082C9;
  padding: 3.4rem 4.4rem;
}
@media (max-width: 767px) {
  .section02__bottom {
    margin-top: 60px;
    padding: 30px 20px;
  }
}
.section02__bottom h3 {
  font-size: clamp(15px, 1.5vw, 20px);
  font-weight: 700;
  line-height: 1.8;
  padding-left: 3.5rem;
  position: relative;
}
@media (max-width: 767px) {
  .section02__bottom h3 {
    padding-left: 25px;
    font-size: clamp(17px, 4.7vw, 20px);
    line-height: 1.4;
  }
}
.section02__bottom h3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 3.5rem;
  background: url(../img/titledeco_h3.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .section02__bottom h3::before {
    width: 20px;
    height: 28px;
  }
}
.section02__bottom p {
  margin-top: 20px;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section02__bottom p {
    line-height: 1.6;
    font-size: clamp(13px, 3.6vw, 16px);
  }
}
.section02__bottom p strong {
  font-weight: 600;
  font-size: clamp(14px, 1.3vw, 18px);
}
@media (max-width: 767px) {
  .section02__bottom p strong {
    line-height: 1.6;
    font-size: clamp(16px, 4vw, 18px);
  }
}
.section02__bottomItems {
  margin-top: 20px;
  display: flex;
  align-items: stretch;
  justify-content: start;
  flex-wrap: wrap;
  gap: 10px;
}
.section02__bottomItem {
  width: clamp(240px, 22.1vw, 286px);
  border: 1px solid #2082C9;
  padding: clamp(10px, 1.5vw, 20px);
}
@media (max-width: 767px) {
  .section02__bottomItem {
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.section02__bottomItem .head h4 {
  font-size: clamp(14px, 1.3vw, 16px);
  font-weight: 600;
  letter-spacing: 0;
  position: relative;
  padding-left: 27px;
}
@media (max-width: 767px) {
  .section02__bottomItem .head h4 {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.section02__bottomItem .head h4::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background: url(../img/h4-icon.svg) no-repeat center center/contain;
}
.section02__bottomItem .head .before {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: clamp(5px, 0.5vw, 10px);
}
.section02__bottomItem .head .before .before-h5 {
  background: #d9d9d9;
  text-align: center;
  font-size: clamp(12px, 1.1vw, 14px);
  font-weight: 600;
  padding: 1px 10px;
}
.section02__bottomItem .head .before p {
  margin-top: 0;
  font-size: clamp(10px, 1vw, 12px);
  letter-spacing: -0.02rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .section02__bottomItem .head .before p {
    font-size: clamp(10px, 3vw, 12px);
  }
}
.section02__bottomItem .body {
  margin-top: 20px;
}
.section02__bottomItem .body .after .after-h5 {
  display: inline-block;
  background: #2082C9;
  color: #fff;
  text-align: center;
  font-size: clamp(12px, 1.1vw, 14px);
  font-weight: 600;
  padding: 1px 10px;
}
.section02__bottomItem .body .after ul {
  border: 1px solid #2082C9;
  padding: clamp(5px, 0.5vw, 10px);
  min-height: 95px;
}
.section02__bottomItem .body .after ul li {
  font-size: clamp(11px, 1.1vw, 13px);
  font-weight: 600;
  letter-spacing: -0.02rem;
  position: relative;
  padding-left: clamp(15px, 1.9vw, 25px);
}
@media (max-width: 767px) {
  .section02__bottomItem .body .after ul li {
    font-size: clamp(11px, 4.1vw, 13px);
    padding-left: clamp(15px, 6.5vw, 25px);
  }
}
.section02__bottomItem .body .after ul li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: clamp(10px, 1.5vw, 20px);
  height: clamp(10px, 1.5vw, 20px);
  background: url(../img/jirei-check.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .section02__bottomItem .body .after ul li::before {
    width: clamp(10px, 6.5vw, 20px);
    height: clamp(10px, 6.5vw, 20px);
  }
}
.section02__bottomItem .body .after ul li:not(:first-child) {
  margin-top: 5px;
}
.section02__bottomItem .body .after ul li strong {
  font-size: clamp(13px, 1.3vw, 15px);
  color: #2082C9;
}
@media (max-width: 767px) {
  .section02__bottomItem .body .after ul li strong {
    font-size: clamp(13px, 4.3vw, 15px);
  }
}

@media screen and (min-width: 1441px) {
  .section02__items {
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 30px;
  }
  .section02__bottom h3 {
    padding-left: 31px;
  }
  .section02__bottom h3::before {
    width: 22px;
    height: 31px;
  }
}
/*----------------- section03 -------------------*/
.section03 {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
@media (max-width: 767px) {
  .section03__inner {
    padding-left: 12px;
    padding-right: 12px;
  }
}
.section03__lead {
  margin-top: 30px;
  font-size: clamp(14px, 1.3vw, 18px);
}
@media (max-width: 767px) {
  .section03__lead {
    font-size: clamp(14px, 4.1vw, 16px);
  }
}
.section03__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.section03__dl {
  max-width: 790px;
  width: 80%;
}
@media (max-width: 767px) {
  .section03__dl {
    width: 100%;
  }
}
.section03__dl .row {
  display: flex;
  align-items: center;
  justify-content: start;
  border: 1px solid #2082C9;
  height: clamp(70px, 6.3vw, 90px);
}
@media (max-width: 767px) {
  .section03__dl .row {
    flex-direction: column;
    height: auto;
  }
}
.section03__dl .row:not(:first-child) {
  margin-top: 20px;
}
.section03__dl dt {
  border: 1px solid #2082C9;
  background: #2082C9;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 16vw, 230px);
  height: 100%;
  font-size: clamp(16px, 1.6vw, 22px);
  font-weight: 600;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .section03__dl dt {
    width: 100%;
    padding: 10px;
    font-size: clamp(18px, 5.2vw, 22px);
  }
}
.section03__dl dt span {
  font-size: clamp(13px, 1.3vw, 16px);
}
.section03__dl dd {
  width: clamp(460px, 40vw, 560px);
  padding-left: clamp(10px, 2.2vw, 20px);
  padding-right: clamp(10px, 2.2vw, 20px);
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section03__dl dd {
    width: 100%;
    padding: 10px;
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
.section03__bottom {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .section03__bottom {
    margin-top: 40px;
  }
}
.section03__bottom p {
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section03__bottom p {
    font-size: clamp(15px, 4.2vw, 18px);
  }
}
.section03__bottom--afterservie {
  padding-top: clamp(60px, 5.6vw, 80px);
}
.section03__bottom--afterservie .afterservie__content {
  margin-top: 30px;
}
.section03__bottom--afterservie .afterservie__content .text {
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
  line-height: 1.8;
}
.section03__bottom--afterservie .afterservie__content .bottomText {
  margin-top: 20px;
  font-size: clamp(14px, 1.4vw, 18px);
  font-weight: 600;
  line-height: 1.8;
}
.section03__bottom--afterservie .afterservie__content .bottomText strong {
  font-size: clamp(16px, 2.2vw, 24px);
  line-height: 1.6;
  color: #2082C9;
}
.section03__bottom--support {
  padding-top: clamp(60px, 5.6vw, 80px);
}
.section03__bottom--support .support__content {
  margin-top: 30px;
}
.section03__bottom--support .support__dl .row {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
@media (max-width: 767px) {
  .section03__bottom--support .support__dl .row {
    gap: 0;
    flex-direction: column;
  }
}
.section03__bottom--support .support__dl .row:not(:first-child) {
  margin-top: 10px;
}
@media (max-width: 767px) {
  .section03__bottom--support .support__dl .row:not(:first-child) {
    margin-top: 20px;
  }
}
.section03__bottom--support .support__dl .row dt {
  width: clamp(160px, 14vw, 200px);
  font-size: clamp(14px, 1.3vw, 18px);
  font-weight: 600;
  color: #2082C9;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section03__bottom--support .support__dl .row dt {
    width: 100%;
  }
}
.section03__bottom--support .support__dl .row dd {
  font-size: clamp(14px, 1.3vw, 18px);
  font-weight: 600;
  width: calc(100% - clamp(160px, 14vw, 200px));
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section03__bottom--support .support__dl .row dd {
    width: 100%;
  }
}
.section03__bottom--support .text {
  margin-top: 20px;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
}
.section03__bottom--support .text strong {
  font-weight: 600;
  font-size: clamp(14px, 1.4vw, 18px);
}
.section03__bottom--important {
  padding-top: clamp(60px, 5.6vw, 80px);
}
.section03__bottom--important .important__content {
  margin-top: 30px;
}
.section03__bottom--important .text {
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
}
.section03__bottom--important .textStrong {
  margin-top: 20px;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
  font-weight: 600;
  color: #2082C9;
}
.section03__bottom--important .textbottom {
  margin-top: 20px;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
}
.section03__bottom--important .textbottom strong {
  font-weight: 600;
  font-size: clamp(14px, 1.4vw, 18px);
}

/*----------------- section04 -------------------*/
.section04 {
  padding-top: clamp(60px, 5.6vw, 80px);
  padding-bottom: clamp(60px, 5.6vw, 80px);
  background: #F5F5F5;
}
.section04__content {
  margin-top: clamp(30px, 2.8vw, 40px);
  max-width: 741px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.section04__lead {
  text-align: center;
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.8;
  margin-bottom: clamp(40px, 4.2vw, 60px);
}
.section04__items {
  display: flex;
  align-items: start;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(15px, 2.1vw, 30px);
}
@media (max-width: 767px) {
  .section04__items {
    gap: 30px;
    flex-direction: column;
  }
}
.section04__item {
  width: clamp(175px, 15.7vw, 227px);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (max-width: 767px) {
  .section04__item {
    width: 100%;
  }
}
.section04__item .head {
  width: clamp(80px, 8.4vw, 120px);
}
@media (max-width: 767px) {
  .section04__item .head {
    width: clamp(90px, 25.7vw, 120px);
  }
}
.section04__item .body {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 767px) {
  .section04__item .body {
    margin-top: 5px;
  }
}
.section04__item .body strong {
  font-size: clamp(13px, 1.3vw, 16px);
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .section04__item .body strong {
    font-size: 16px;
  }
}
.section04__item .body p {
  font-size: clamp(13px, 1.3vw, 16px);
  text-align: center;
  line-height: 1.4;
}
.section04__bottom {
  margin-top: clamp(40px, 2.8vw, 60px);
}
.section04__bottom p {
  text-align: center;
  font-weight: 600;
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .section04__bottom p {
    font-size: clamp(14px, 4.2vw, 16px);
    letter-spacing: 0.02rem;
  }
}

/*-----------------------------------------
    works
-----------------------------------------*/
.works {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  background: #F5F5F5;
}
.works__inner {
  width: 980px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .works__inner {
    width: 100%;
    max-width: 100%;
  }
}
.works__content {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .works__content {
    margin-top: 60px;
  }
}
.works .worksItems {
  margin-top: clamp(40px, 4.2vw, 60px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4.5rem;
}
@media (max-width: 767px) {
  .works .worksItems {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .works .worksItems .card {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.works .worksItems .card__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.works .worksItems .card__head .meta .job {
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .works .worksItems .card__head .meta .job {
    font-size: 14px;
  }
}
.works .worksItems .card__head .meta .cate {
  background: #FEB525;
  font-size: clamp(8px, 1.3vw, 10px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 2px 1.5rem 1px;
}
@media (max-width: 767px) {
  .works .worksItems .card__head .meta .cate {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.works .worksItems .card__head .img {
  margin-top: 10px;
  overflow: hidden;
}
.works .worksItems .card__head .img img {
  transition: all 0.6s ease 0s;
  vertical-align: bottom;
  line-height: 1em;
}
.works .worksItems .card__bottom {
  margin-top: 1.7rem;
}
@media (max-width: 767px) {
  .works .worksItems .card__bottom {
    margin-top: 15px;
  }
}
.works .worksItems .card__bottom p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.02rem;
  font-weight: 600;
  text-align: justify;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .works .worksItems .card__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.works .worksItems .card:hover img {
  transform: scale(1.1);
}
.works .worksItems .card:hover .card__bottom p {
  color: #2082C9;
}
.works__button {
  display: flex;
  justify-content: end;
}
.works__button--bottom {
  margin-top: clamp(30px, 4.2vw, 40px);
}
@media (max-width: 767px) {
  .works__button--bottom {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1441px) {
  .works .worksItems {
    gap: 40px;
  }
}
/*-----------------------------------------
    faq
-----------------------------------------*/
.faq {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
.faq__inner {
  width: 900px;
  max-width: 80%;
}
@media (max-width: 767px) {
  .faq__inner {
    max-width: 100%;
  }
}
.faq__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.faq__content .faq-item {
  cursor: pointer;
}
.faq__content .faq-item:not(:first-child) {
  margin-top: clamp(25px, 3.5vw, 50px);
}
@media (max-width: 767px) {
  .faq__content .faq-item:not(:first-child) {
    margin-top: 30px;
  }
}
.faq__content .faq-item__head {
  background: #F5F5F5;
  display: flex;
  align-items: center;
  padding: clamp(10px, 1.4vw, 17px);
  position: relative;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .faq__content .faq-item__head {
    padding: 10px 30px 10px 10px;
  }
}
.faq__content .faq-item__head--q {
  margin-top: -0.6rem;
  text-align: center;
  display: inline-block;
  margin-right: clamp(20px, 3.2vw, 45px);
  color: #FEB525;
  font-family: "Roboto Condensed", sans-serif;
  font-size: clamp(20px, 2.2vw, 30px);
}
@media (max-width: 767px) {
  .faq__content .faq-item__head--q {
    margin-top: 0;
    margin-right: 10px;
    font-size: clamp(26px, 8vw, 30px);
  }
}
.faq__content .faq-item__head--text {
  font-size: clamp(14px, 1.3vw, 16px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .faq__content .faq-item__head--text {
    font-size: 14px;
  }
}
.faq__content .faq-item__icon {
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  right: clamp(10px, 1.4vw, 17px);
  transition: all 0.6s ease 0s;
}
.faq__content .faq-item__icon img {
  width: clamp(18px, 2vw, 20px);
}
@media (max-width: 767px) {
  .faq__content .faq-item__icon img {
    width: 14px;
  }
}
.faq__content .faq-item__icon.is-active {
  transform: translateY(-50%) rotate(180deg);
}
.faq__content .faq-item__answer {
  display: none;
}
.faq__content .faq-item__answer.is-active {
  display: block;
}
.faq__content .faq-item__answer--inner {
  width: 100%;
  padding: clamp(10px, 1.4vw, 17px);
  display: flex;
  align-items: center;
}
.faq__content .faq-item__answer--a {
  margin-top: -0.6rem;
  text-align: center;
  display: inline-block;
  margin-right: 1.6rem;
  color: #2082C9;
  font-size: clamp(20px, 2.2vw, 30px);
}
@media (max-width: 767px) {
  .faq__content .faq-item__answer--a {
    margin-top: 0;
    margin-right: 10px;
    font-size: clamp(26px, 8vw, 30px);
  }
}
.faq__content .faq-item__answer--text {
  font-size: clamp(14px, 1.3vw, 16px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .faq__content .faq-item__answer--text {
    font-size: 14px;
  }
}

/*-----------------------------------------
    flow
-----------------------------------------*/
.flow {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  background: #F5F5F5;
}
.flow__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.flow__items {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(25px, 3.5vw, 50px);
}
@media (max-width: 767px) {
  .flow__items {
    flex-direction: column;
    gap: 50px;
  }
}
.flow__item {
  background: #fff;
  width: 25%;
  max-width: 240px;
  padding: 20px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
}
@media (max-width: 767px) {
  .flow__item {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
.flow__item:not(:last-child) {
  position: relative;
}
.flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: clamp(158px, 20.8vw, 275px);
  transform: translateY(-50%);
  width: clamp(10px, 1vw, 12px);
  height: clamp(16px, 1.9vw, 26px);
  background: url(../img/flow-arrow.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .flow__item:not(:last-child)::after {
    top: auto;
    bottom: -40px;
    left: 50%;
    width: 12px;
    height: 26px;
    transform: translateY(0) translateX(-50%) rotate(90deg);
  }
}
.flow__item .head {
  display: flex;
  align-items: center;
  justify-content: center;
}
.flow__item .head .img {
  width: clamp(80px, 10vw, 120px);
}
@media (max-width: 767px) {
  .flow__item .head .img {
    width: 120px;
  }
}
.flow__item .body {
  height: clamp(70px, 7.3vw, 105px);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .flow__item .body {
    height: 94px;
  }
}
.flow__item .body p {
  font-size: clamp(14px, 1.3vw, 18px);
  font-weight: 600;
  text-align: center;
}
@media (max-width: 767px) {
  .flow__item .body p {
    font-size: clamp(14px, 4.1vw, 16px);
  }
}

/*-----------------------------------------
    privacy
-----------------------------------------*/
.privacy {
  width: 1200px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.privacy__content .row:not(:first-child) {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.privacy__content .row h2 {
  font-size: clamp(18px, 1.6vw, 24px);
  font-weight: 600;
  color: #2082C9;
}
.privacy__content .row p {
  margin-top: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
}
.privacy__content .row ul {
  margin-top: 20px;
}
.privacy__content .row ul li {
  list-style: auto;
  margin-left: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
}
.privacy__content .row ul li::marker {
  color: #2082C9;
  font-weight: 600;
  font-size: clamp(16px, 1.5vw, 18px);
}
.privacy__content .row ul li:not(:first-child) {
  margin-top: 10px;
}

/*-----------------------------------------
    404
-----------------------------------------*/
.notfound {
  margin-top: 80px;
  height: 40vw;
  min-height: 500px;
  width: 100%;
}
@media (max-width: 767px) {
  .notfound {
    margin-top: 60px;
  }
}
.notfound__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.notfound__title {
  font-weight: 600;
  font-size: clamp(160px, 14vw, 200px);
  line-height: 1;
  text-align: center;
  color: #2082C9;
}
@media (max-width: 767px) {
  .notfound__title {
    font-size: clamp(120px, 21vw, 160px);
  }
}
.notfound__lead {
  margin-top: 20px;
  text-align: center;
  color: #2082C9;
  font-size: clamp(20px, 2.2vw, 24px);
  line-height: 1;
  font-weight: 600;
}
@media (max-width: 767px) {
  .notfound__lead {
    font-size: clamp(18px, 5.2vw, 20px);
  }
}
.notfound__content {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.notfound__content p {
  font-size: clamp(14px, 1.3vw, 16px);
  text-align: center;
  font-weight: 600;
}
.notfound__button {
  margin-top: clamp(40px, 4.2vw, 60px);
  text-align: center;
}
@media (max-width: 767px) {
  .notfound__button {
    margin-top: 60px;
  }
}
.notfound__btn {
  text-align: left;
}

/*-----------------------------------------
    coming soon
-----------------------------------------*/
.coming-soon {
  margin-top: 80px;
  height: 40vw;
  min-height: 500px;
  width: 100%;
}
@media (max-width: 767px) {
  .coming-soon {
    margin-top: 60px;
  }
}
.coming-soon__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.coming-soon__title {
  font-weight: 600;
  font-size: clamp(160px, 14vw, 200px);
  line-height: 1;
  text-align: center;
  color: #2082C9;
}
@media (max-width: 767px) {
  .coming-soon__title {
    font-size: clamp(120px, 21vw, 160px);
  }
}
.coming-soon__content {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.coming-soon__content p {
  font-size: clamp(14px, 1.3vw, 16px);
  text-align: center;
  font-weight: 600;
}
.coming-soon__button {
  margin-top: clamp(40px, 4.2vw, 60px);
  text-align: center;
}
@media (max-width: 767px) {
  .coming-soon__button {
    margin-top: 60px;
  }
}
.coming-soon__btn {
  text-align: left;
}

/*-----------------------------------------
    entry
-----------------------------------------*/
.child-mv__inner--entry::after {
  background-image: url(../img/entryfv-img.webp);
}

.child-mv__content .entry-title {
  font-size: clamp(26px, 3vw, 32px);
  font-weight: 600;
  color: #2082C9;
}
@media (max-width: 767px) {
  .child-mv__content .entry-title {
    font-size: clamp(22px, 5vw, 24px);
  }
}
.child-mv__content .text {
  margin-top: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .child-mv__content .text {
    margin-top: 10px;
    font-size: clamp(12.5px, 3.5vw, 14px);
  }
}

.child-container::after {
  width: clamp(180px, 20vw, 280px);
  height: clamp(898px, 100vw, 1390px);
  background-position: bottom left;
}
.child-container--entry {
  padding-top: clamp(40px, 4.9vw, 70px);
  position: relative;
}
.child-container--entry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(200px, 25vw, 370px);
  height: clamp(590px, 76vw, 1090px);
  background: url(../img/child-deco01.webp) no-repeat top right/contain;
  z-index: -1;
}

.archive {
  width: 1200px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.archive__categories {
  width: 980px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 20px;
  flex-wrap: wrap;
}
.archive__categories li a {
  display: block;
  font-size: clamp(14px, 1.3vw, 18px);
  font-weight: 600;
  text-align: center;
  height: clamp(30px, 2.8vw, 40px);
  line-height: clamp(30px, 2.8vw, 40px);
  padding-left: clamp(30px, 2.8vw, 40px);
  padding-right: clamp(30px, 2.8vw, 40px);
  background: #D9D9D9;
  border-radius: 60px;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .archive__categories li a {
    font-size: clamp(12px, 2.5vw, 14px);
    padding-left: 20px;
    padding-right: 20px;
    height: 30px;
    line-height: 30px;
  }
}
.archive__categories li a.is-active {
  background: #FEB525;
  cursor: unset;
}
.archive__categories li a:hover {
  background: #FEB525;
}
.archive__content {
  width: 980px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(80px, 7vw, 100px);
}
.archive__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
  row-gap: 8.9rem;
}
@media (max-width: 767px) {
  .archive__items {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .archive__items .card {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.archive__items .card__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.archive__items .card__head .meta .time {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(12px, 1.1vw, 14px);
}
@media (max-width: 767px) {
  .archive__items .card__head .meta .time {
    font-size: 14px;
  }
}
.archive__items .card__head .meta .job {
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .archive__items .card__head .meta .job {
    font-size: 14px;
  }
}
.archive__items .card__head .meta .cate {
  background: #FEB525;
  font-size: clamp(8px, 1.3vw, 10px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 2px 1.5rem 1px;
}
@media (max-width: 767px) {
  .archive__items .card__head .meta .cate {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.archive__items .card__head .img {
  margin-top: 10px;
  overflow: hidden;
}
.archive__items .card__head .img img {
  transition: all 0.6s ease 0s;
  vertical-align: bottom;
  line-height: 1em;
}
.archive__items .card__bottom {
  margin-top: 1.7rem;
}
@media (max-width: 767px) {
  .archive__items .card__bottom {
    margin-top: 15px;
  }
}
.archive__items .card__bottom p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.02rem;
  font-weight: 600;
  text-align: justify;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .archive__items .card__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.archive__items .card:hover img {
  transform: scale(1.1);
}
.archive__items .card:hover .card__bottom p {
  color: #2082C9;
}
.archive__no-post {
  font-size: clamp(16px, 1.5vw, 20px);
}
.archive .no-works {
  text-align: center;
  font-size: clamp(16px, 1.5vw, 20px);
}

@media screen and (min-width: 1441px) {
  .archive__items {
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 80px;
  }
}
/*-----------------------------------------
    single
-----------------------------------------*/
.single {
  width: 1200px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  padding-top: clamp(60px, 8.5vw, 120px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
}
.single__content {
  width: 980px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.single__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 20px;
}
.single__head .meta .time {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(12px, 1.1vw, 14px);
}
@media (max-width: 767px) {
  .single__head .meta .time {
    font-size: 14px;
  }
}
.single__head .meta .job {
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .single__head .meta .job {
    font-size: 14px;
  }
}
.single__head .meta .cate {
  background: #FEB525;
  font-size: clamp(12px, 1.1vw, 14px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 4.5px 20px;
}
@media (max-width: 767px) {
  .single__head .meta .cate {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.single__head h1 {
  margin-top: 20px;
  font-size: clamp(24px, 2vw, 28px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .single__head h1 {
    margin-top: 10px;
    font-size: clamp(20px, 6vw, 22px);
    letter-spacing: 0.02rem;
  }
}
.single__head .thumbnail {
  max-width: 800px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: clamp(60px, 7vw, 100px);
}
.single__body {
  margin-top: clamp(50px, 5vw, 70px);
}
.single__body h2 {
  font-size: clamp(22px, 1.7vw, 24px);
  font-weight: 600;
  position: relative;
  padding-bottom: 4px;
  margin-top: 40px;
  margin-bottom: clamp(30px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .single__body h2 {
    margin-top: 30px;
    font-size: clamp(18px, 5.3vw, 20px);
  }
}
.single__body h2::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200px;
  height: 2px;
  background: linear-gradient(90deg, rgb(254, 181, 37) 50%, rgb(32, 130, 201) 50%);
}
.single__body h3 {
  font-size: clamp(18px, 1.4vw, 20px);
  font-weight: 600;
  position: relative;
  padding-left: 14px;
  margin-top: 30px;
  margin-bottom: clamp(30px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .single__body h3 {
    font-size: clamp(16px, 5vw, 18px);
  }
}
.single__body h3::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 4px;
  height: 30px;
  background: linear-gradient(180deg, rgb(254, 181, 37) 50%, rgb(32, 130, 201) 50%);
}
.single__body h4 {
  font-size: clamp(16px, 1.3vw, 18px);
  font-weight: 600;
  position: relative;
  padding-left: 32px;
  margin-top: 20px;
  margin-bottom: clamp(30px, 2.8vw, 40px);
}
@media (max-width: 767px) {
  .single__body h4 {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
.single__body h4::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 22px;
  height: 22px;
  background: url(../img/h4-icon.svg) no-repeat center center/contain;
}
.single__body ul li {
  margin-left: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
}
.single__body ol li {
  list-style: auto;
  margin-left: 20px;
  font-size: clamp(14px, 1.3vw, 16px);
}
.single__body p {
  font-size: clamp(14px, 1.3vw, 16px);
  margin-top: 10px;
  margin-bottom: 10px;
}
.single__body .wp-block-image img {
  width: 80%;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  margin-bottom: 60px;
}
@media (max-width: 767px) {
  .single__body .wp-block-image img {
    width: 100%;
  }
}
.single__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(60px, 7vw, 100px);
  text-align: center;
  gap: clamp(25px, 4vw, 50px);
}
@media (max-width: 767px) {
  .single__pagination {
    gap: clamp(5px, 3vw, 10px);
  }
}
.single__prev {
  font-size: clamp(13px, 1.3vw, 14px);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: all 0.6s ease 0s;
  padding: 5px 0;
}
@media (max-width: 767px) {
  .single__prev {
    font-size: clamp(10px, 3.2vw, 12px);
  }
}
.single__prev:hover {
  color: #2082C9;
}
.single__prev:hover .img-prev {
  transform: scale(-1, 1) translateX(20px);
}
@media (max-width: 767px) {
  .single__prev:hover .img-prev {
    transform: scale(-1, 1) translateX(10px);
  }
}
.single__prev .img-prev {
  width: 30px;
  transform: scale(-1, 1);
  transition: all 0.6s ease 0s;
}
.single__prev .img-prev img {
  vertical-align: bottom;
  line-height: 1em;
}
.single__next {
  font-size: clamp(13px, 1.3vw, 14px);
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 5px 0;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .single__next {
    font-size: clamp(10px, 3.2vw, 12px);
  }
}
.single__next:hover {
  color: #2082C9;
}
.single__next:hover .img-next {
  transform: translateX(20px);
}
@media (max-width: 767px) {
  .single__next:hover .img-next {
    transform: translateX(10px);
  }
}
.single__next .img-next {
  width: 30px;
  transition: all 0.6s ease 0s;
}
.single__next .img-next img {
  vertical-align: bottom;
  line-height: 1em;
}
.single .page-archives {
  font-size: clamp(13px, 1.3vw, 14px);
  font-weight: 600;
  padding: 10px 20px;
  border-radius: 50px;
  background: #FEB525;
  text-align: center;
  border: 1px solid #FEB525;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .single .page-archives {
    font-size: clamp(12px, 3vw, 13px);
    padding: 5px 10px;
  }
}
.single .page-archives:hover {
  background: #fff;
}

/*-----------------------------------------
    news
-----------------------------------------*/
.news {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 8.5vw, 120px);
  background: #F5F5F5;
  position: relative;
}
.news__inner {
  position: relative;
  width: 980px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .news__inner {
    width: 100%;
    max-width: 100%;
  }
}
.news__content {
  margin-top: clamp(60px, 5.6vw, 80px);
}
@media (max-width: 767px) {
  .news__content {
    margin-top: 40px;
  }
}
.news .newsItems {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 4.5rem;
       column-gap: 4.5rem;
}
@media (max-width: 767px) {
  .news .newsItems {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .news .newsItems .card {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.news .newsItems .card__head .meta {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
}
.news .newsItems .card__head .meta .time {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(12px, 1.1vw, 14px);
}
@media (max-width: 767px) {
  .news .newsItems .card__head .meta .time {
    font-size: 14px;
  }
}
.news .newsItems .card__head .meta .job {
  font-weight: 700;
  letter-spacing: 0;
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .news .newsItems .card__head .meta .job {
    font-size: 14px;
  }
}
.news .newsItems .card__head .meta .cate {
  background: #FEB525;
  font-size: clamp(8px, 1.3vw, 10px);
  letter-spacing: 0.02rem;
  text-align: center;
  line-height: 1.4;
  padding: 2px 1.5rem 1px;
}
@media (max-width: 767px) {
  .news .newsItems .card__head .meta .cate {
    font-size: 10px;
    padding: 2px 10px 1px;
  }
}
.news .newsItems .card__head .img {
  margin-top: 10px;
  overflow: hidden;
}
.news .newsItems .card__head .img img {
  transition: all 0.6s ease 0s;
}
.news .newsItems .card__bottom {
  margin-top: 1.7rem;
}
@media (max-width: 767px) {
  .news .newsItems .card__bottom {
    margin-top: 15px;
  }
}
.news .newsItems .card__bottom p {
  font-size: clamp(13px, 1.3vw, 16px);
  letter-spacing: 0.02rem;
  font-weight: 600;
  text-align: justify;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .news .newsItems .card__bottom p {
    font-size: clamp(14px, 4.3vw, 16px);
  }
}
.news .newsItems .card:hover img {
  transform: scale(1.1);
}
.news .newsItems .card:hover .card__bottom p {
  color: #2082C9;
}
.news__button {
  display: flex;
  justify-content: end;
  margin-top: clamp(60px, 6vw, 85px);
}
@media screen and (max-width: 389px) {
  .news::before {
    display: none;
  }
}
@media screen and (min-width: 1441px) {
  .news .newsItems {
    gap: 40px;
  }
}
/*-----------------------------------------
pagination
-----------------------------------------*/
.pagination {
  margin-top: 10rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .pagination {
    margin-top: 5rem;
  }
}

.page-numbers {
  display: inline-block;
  text-decoration: none;
  height: clamp(40px, 4vw, 50px);
  line-height: clamp(40px, 4vw, 50px);
  width: clamp(40px, 4vw, 50px);
  padding: 0px 6px;
  background: #F5F5F5;
  font-family: "Roboto Condensed", sans-serif;
  font-size: clamp(16px, 1.6vw, 18px);
  text-align: center;
  font-weight: 700;
  transition: all 0.6s ease 0s;
}
@media (max-width: 767px) {
  .page-numbers {
    width: clamp(35px, 8vw, 40px);
    height: clamp(35px, 8vw, 40px);
    line-height: clamp(34px, 8vw, 39px);
    font-size: clamp(16px, 1.3vw, 18px);
  }
}
.page-numbers:not(:first-child) {
  margin-left: 1rem;
}
.page-numbers:hover {
  border: #E4256E;
  background: #E4256E;
}

.current {
  background: #2082C9;
  color: #fff;
}

.page-dots {
  margin-left: 1rem;
  display: inline-block;
  text-decoration: none;
  width: 50px;
  height: 50px;
  line-height: 49px;
  border: 1px solid #E4256E;
  font-size: 18px;
  background: #fff;
  color: #2D2F33;
  text-align: center;
  cursor: default;
}
@media (max-width: 767px) {
  .page-dots {
    width: clamp(35px, 8vw, 40px);
    height: clamp(35px, 8vw, 40px);
    line-height: clamp(34px, 8vw, 39px);
    font-size: clamp(16px, 1.3vw, 18px);
  }
}

/*-----------------------------------------
    company
-----------------------------------------*/
.child-mv__inner--company::after {
  background-image: url(../img/companyfv-img.webp);
}

/*-----------------------------------------
    child-container
-----------------------------------------*/
.child-container__company::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(138px, 16vw, 230px);
  height: clamp(688px, 80vw, 1145px);
  background: url(../img/child-deco02.webp) no-repeat top left/contain;
  z-index: -1;
}
@media (max-width: 767px) {
  .child-container__company::after {
    right: -20%;
    width: clamp(128px, 30vw, 230px);
    height: clamp(637px, 104vw, 1145px);
  }
}

/*-----------------------------------------
    philosophy
-----------------------------------------*/
.philosophy {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  position: relative;
}
.philosophy::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4.4rem;
  height: 44.5vw;
  background: #FEB525;
}
@media (max-width: 767px) {
  .philosophy::before {
    width: 20px;
    height: 1060px;
  }
}
@media (max-width: 767px) {
  .philosophy__inner {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: 0;
    padding-right: 20px;
  }
}
.philosophy__content {
  margin-top: clamp(30px, 2.8vw, 40px);
}
.philosophy__content .lead {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.8;
  color: #2082C9;
}
@media (max-width: 767px) {
  .philosophy__content .lead {
    font-size: clamp(17px, 4.6vw, 22px);
    line-height: 1.6;
    letter-spacing: -0.02rem;
  }
}
.philosophy__content .text {
  margin-top: clamp(30px, 2.8vw, 40px);
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .philosophy__content .text {
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
.philosophy__content .text span {
  background: #2082C9;
  padding: 2px;
  color: #fff;
}

@media screen and (min-width: 1441px) {
  .philosophy::before {
    width: 40px;
    height: 640px;
  }
}
/*-----------------------------------------
    message
-----------------------------------------*/
.message {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
@media (max-width: 767px) {
  .message__inner {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: 0;
    padding-right: 20px;
  }
}
.message__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.message__content p {
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .message__content p {
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
.message__content p strong {
  font-weight: 700;
}

/*-----------------------------------------
    value
-----------------------------------------*/
.value {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
.value__inner {
  width: 1080px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .value__inner {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
.value__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.value__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .value__item {
    flex-direction: column;
  }
}
.value__item:not(:first-child) {
  margin-top: 50px;
}
.value__item .left {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px;
  max-width: 290px;
  width: 30%;
}
@media (max-width: 767px) {
  .value__item .left {
    width: 100%;
    max-width: none;
  }
}
.value__item .left .num {
  font-family: "Roboto Condensed", sans-serif;
  color: #2082C9;
  letter-spacing: 0;
  line-height: 1;
  font-size: clamp(40px, 4.2vw, 60px);
}
.value__item .left h3 {
  font-weight: 600;
  font-size: clamp(16px, 1.6vw, 22px);
  line-height: 1.4;
}
@media (max-width: 767px) {
  .value__item .left h3 {
    font-size: clamp(18px, 5.2vw, 20px);
  }
}
.value__item .right {
  max-width: 700px;
  width: 65%;
}
@media (max-width: 767px) {
  .value__item .right {
    width: 100%;
    max-width: none;
    margin-top: 10px;
  }
}
.value__item .right p {
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .value__item .right p {
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
.value__item .right p strong {
  font-weight: 600;
}

/*-----------------------------------------
    business
-----------------------------------------*/
.business {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  background: #F5F5F5;
}
.business__inner {
  width: 1080px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .business__inner {
    max-width: 100%;
  }
}
.business__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.business__item:not(:first-child) {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .business__item:not(:first-child) {
    margin-top: 30px;
  }
}
.business__item h3 {
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 600;
}
@media (max-width: 767px) {
  .business__item h3 {
    letter-spacing: 0.02rem;
  }
}
.business__item p {
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .business__item p {
    font-size: clamp(13px, 3.6vw, 14px);
    letter-spacing: 0.02rem;
  }
}

/*-----------------------------------------
    achievements
-----------------------------------------*/
.achievements {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
}
.achievements__inner {
  width: 1080px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .achievements__inner {
    max-width: 100%;
  }
}
.achievements__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.achievements__content p {
  text-align: center;
  font-size: clamp(13px, 1.3vw, 16px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .achievements__content p {
    font-size: clamp(13px, 3.6vw, 14px);
    text-align: left;
  }
}

/*-----------------------------------------
    company
-----------------------------------------*/
.company {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  background: #F5F5F5;
}
.company__inner {
  width: 1080px;
  max-width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .company__inner {
    max-width: 100%;
  }
}
.company__content {
  margin-top: clamp(40px, 4.2vw, 60px);
}
.company__dl {
  width: 920px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 767px) {
  .company__dl {
    max-width: 100%;
  }
}
.company__dl .row {
  display: flex;
  align-items: center;
  justify-content: start;
  padding-bottom: 10px;
  border-bottom: 1px solid #d9d9d9;
}
@media (max-width: 767px) {
  .company__dl .row {
    flex-direction: column;
    padding-bottom: 5px;
    gap: 10px;
  }
}
.company__dl .row:not(:first-child) {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .company__dl .row:not(:first-child) {
    margin-top: 20px;
  }
}
.company__dl .row dt {
  width: 200px;
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .company__dl .row dt {
    width: 100%;
    letter-spacing: 0;
    font-size: clamp(14px, 4.1vw, 16px);
  }
}
.company__dl .row dd {
  width: calc(100% - 220px);
  font-size: clamp(14px, 1.3vw, 18px);
  line-height: 1.8;
}
@media (max-width: 767px) {
  .company__dl .row dd {
    width: 100%;
    letter-spacing: 0;
    font-size: clamp(14px, 4.1vw, 16px);
  }
}

/*-----------------------------------------
    access
-----------------------------------------*/
.access {
  padding-top: clamp(60px, 7vw, 100px);
  padding-bottom: clamp(60px, 7vw, 100px);
  position: relative;
}
.access::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(200px, 26vw, 380px);
  height: 100%;
  background: url(../img/message-deco02.webp) no-repeat top left/cover;
  z-index: -1;
}
@media (max-width: 767px) {
  .access::after {
    right: -5%;
    width: clamp(100px, 27vw, 200px);
  }
}
.access__inner {
  width: 1320px;
  max-width: 95%;
  margin-left: auto;
  margin-right: 0;
}
@media (max-width: 767px) {
  .access__inner {
    max-width: 100%;
  }
}
.access__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}
@media (max-width: 767px) {
  .access__content {
    gap: 40px;
    flex-direction: column;
  }
}
.access__content .left p {
  margin-top: clamp(40px, 4.2vw, 60px);
  font-size: clamp(13px, 1.3vw, 16px);
}
@media (max-width: 767px) {
  .access__content .left p {
    letter-spacing: 0.02rem;
    font-size: clamp(13px, 3.6vw, 14px);
  }
}
@media (max-width: 767px) {
  .access__content .right {
    width: 100%;
  }
}
.access__content .right .map {
  width: clamp(400px, 56vw, 800px);
  max-width: 100%;
}
@media (max-width: 767px) {
  .access__content .right .map {
    width: 100%;
    height: 260px;
  }
}
.access__content .right .iframe__wrap {
  width: 100%;
  padding-top: clamp(240px, 30vw, 400px);
  position: relative;
}
@media (max-width: 767px) {
  .access__content .right .iframe__wrap {
    padding-top: 260px;
    height: 260px;
  }
}
.access__content .right .iframe__wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.access__button {
  margin-top: clamp(30px, 2.8vw, 40px);
}

/*-----------------------------------------
    child-cta__company
-----------------------------------------*/
.child-cta__company:after {
  background: rgba(255, 255, 255, 0.9);
}
.child-cta__company .child-cta__btns {
  margin-top: clamp(30px, 2.8vw, 40px);
}

.child-cta__title--company {
  font-size: clamp(22px, 2.2vw, 30px);
  color: #2D2F33;
  text-shadow: none;
}/*# sourceMappingURL=style.css.map */