@charset "UTF-8";
:root{
	scroll-padding: 150px;
	scroll-behavior: smooth;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  color: #151515;
  font-size: 1.8rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #fff;
  line-height: 1.8;
  letter-spacing: 0.04em;
  -webkit-font-smoothing: antialiased;
}

img,
picture {
  max-width: 100%;
}

a {
  cursor: pointer;
  transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

.pc-only {
  display: block;
}
.sp-only {
  display: none;
}

.wrapper {
  max-width: 930px;
  margin: 0 auto;
}

section {
  margin-bottom: 140px;
  padding: 0 20px;
}
.section-title {
  margin-bottom: 60px;
  position: relative;
  text-align: center;
}
.section-title::before {
  color: #9b152b;
  font-size: 1.8rem;
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
}
.section-title img {
  margin: 0 auto;
}

.bg {
  background-image: url(../images/logo-color.svg);
  background-repeat: no-repeat;
  background-color:rgba(255,255,255,0.9);
  background-blend-mode:lighten;
  background-size: 50%;
  padding-bottom: 60px;
}

/* header */
.header {
  height: 100px;
  width: 100%;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.04);
  z-index: 999;
}
.header .header-logo {
  width: 150px;
}
.header .header-logo.white {
  display: none;
}
.header .header-hamburger {
  display: none;
}
.header .nav-wrapper {
  display: flex;
  gap: 30px
}
.header .nav-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 540px;
  font-size: 1.6rem;
  gap: 0 33px;
  line-height: 1;
}
.header .nav-item:nth-of-type(5) {
  width: 130px;
}
.header .nav-item:nth-of-type(6) {
  width: 136px;
}
.header .nav-list .nav-item a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding-left: 1.2em;
  transition: color 0.3s;
}
.header .nav-list .nav-item a::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  color: transparent;
  transition: color 0.3s;
}
.header .nav-list .nav-item a:hover {
  color: #9b152b;
}
.header .nav-list .nav-item a:hover::before {
  color: #9b152b;
}
.header .nav-btn {
  font-size: 1.6rem;
  background-color: #f1a32b;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 5px;
  border-radius: 17.5px;
  line-height: 1;
  padding: 15px 20px;
}
.header .nav-btn img {
  width: 28px;
}
.header .nav-btn:hover {
  background-color: #9b152b;
}

.kv {
  margin: 100px 0 160px;
  position: relative;
}
.kv .kv-catch {
  bottom: 8vw;
  left: 4vw;
  position: absolute;
  width: 50vw;
  z-index: +1;
}
.kv .slide-list .slide-item {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: max(660px, 100svh - 76px);
  margin: 0;
}
.kv .slide-list .slide-item.img01 {
  background-image: url(../images/slide-image01.jpg);
}
.kv .slide-list .slide-item.img02 {
  background-image: url(../images/slide-image02.jpg);
}
.kv .slide-list .slide-item.img03 {
  background-image: url(../images/slide-image03.jpg);
}
.kv .slide-list .slide-item.img04 {
  background-image: url(../images/slide-image04.jpg);
}
.kv .slide-list .slide-item.img05 {
  background-image: url(../images/slide-image05.jpg);
}

/* about */
.about {
  text-align: center;
}
.about.bg {
  background-position: 110% 92%;
}
.about .section-title img {
  width: 21%;
}
.about .section-title::before {
  content: "ネクストについて";
}
.about p:not(:last-child) {
  margin-bottom: 60px;
}
.about p span {
  color: #9b152b;
}
.about p:last-child {
  font-size: 2.8rem;
}

/* route */
.route {
  text-align: center;
}
.route h2 {
  position: relative;
  padding: 5px 34px 5px 46px;
  background: #9b152b;
  font-size: 3.2rem;
  color: #ffffff;
  margin-left: -33px;
  line-height: 1.3;
  z-index:-2;
  width: fit-content;
  margin: 0 auto 60px;
}
.route h2::before {
  position: absolute;
  content: '';
  left: -2px;
  top: -2px;
  border: none;
  border-left: solid 40px white;
  border-bottom: solid 79px transparent;
  z-index:-2
}
.route h2::after {
  position: absolute;
  content: '';
  right: -3px;
  top: -7px;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 40px transparent;
  border-bottom: solid 79px white;
  z-index: -1;
}

/* business */
.business .section-title img {
  width: 29%;
}
.business .section-title::before {
  content: "業務内容";
}
.business .business-item {
  display: flex;
  gap: 5.8%;
}
.business .business-item:not(:last-child) {
  margin-bottom: 60px;
}
.business .business-item .business-item__img {
  width: 300px;
  position: relative;
}
.business .business-item .business-item__img::after {
  content: "";
  display: inline-block;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -10px;
  left: 100%;
  transform: translateX(-50%);
}
.business .business-item .business-item__img.img01::after {
  background-image: url('../images/business-01.png');
  width: 64px;
  height: 50px;
}
.business .business-item .business-item__img.img02::after {
  background-image: url('../images/business-02.png');
  width: 83px;
  height: 50px;
}
.business .business-item .business-item__img.img03::after {
  background-image: url('../images/business-03.png');
  width: 83px;
  height: 50px;
}
.business .business-item .business-item__img.img04::after {
  background-image: url('../images/business-04.png');
  width: 79px;
  height: 50px;
}
.business .business-item .business-item__content {
  padding-top: 10px;
  width: 62%;
}
.business .business-item .business-item__content h3 {
  margin-bottom: 20px;
  font-size: 2.6rem;
}
.business .business-item .business-item__content p {
  letter-spacing: normal;
}

/* policy */
.policy.bg {
  background-position: -10% 92%;
}
.policy .section-title img {
  width: 76%;
}
.policy .section-title::before {
  content: "経営理念";
}
.policy .policy-list {
  width: fit-content;
  margin: 0 auto;
}
.policy .policy-item {
  display: flex;
  font-size: 2.6rem;
}
.policy .policy-item:not(:last-child) {
  margin-bottom: 40px;
}
.policy .policy-item h3 {
  display: flex;
  align-items: center;
  gap: 30px;
  color: #9b152b;
}
.policy .policy-item h3::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #9b152b;
  display: block;
}
.policy .policy-item p {
  margin-left: 30px;
}

/* message */
.message .section-title img {
  width: 65%;
}
.message .section-title::before {
  content: "代表挨拶";
}
.message .message-content {
  max-width: fit-content;
  margin: 0 auto;
}
.message .message-content h3 {
  font-size: 2.2rem;
  font-weight: 900;
  margin-bottom: 30px;
}
.message .message-content h3 span:first-of-type {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
}
.message .message-content h3 span:last-of-type {
  font-size: 1.8rem;
  font-weight: 700;
  padding-left: 10px;
}

/* team */
.team .section-title img {
  width: 46%;
}
.team .section-title::before {
  content: "社員紹介";
}
.team .team-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
.team .team-item {
  width: calc( 100% / 2 - 30px );
  max-width: 370px;
}
.team .team-item.coming-soon {
  text-align: center;
  font-size: 3rem;
}
.team-item img {
  margin-bottom: 10px;
}
.team .team-item__content h3 {
  font-size: 2.2rem;
  font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem);
  font-weight: 900;
  letter-spacing: normal;
}
.team .team-item__content h3 span:first-of-type {
  display: block;
  font-size: 1.6rem;
  font-size: clamp(1.2rem, 1rem + 0.5vw, 1.6rem);
  font-weight: 700;
}
.team .team-item__content h3 span:last-of-type {
  font-size: 1.8rem;
  font-size: clamp(1.4rem, 1.1rem + 0.6vw, 1.8rem);
  font-weight: 700;
  padding-left: 10px;
}

/* company */
.company {
  background-color: #9b152b;
  padding: 110px 20px 80px;
}
.company .section-title img {
  width: 58%;
}
.company .section-title::before {
  content: "会社概要";
  color: #ffffff;
}
.company-list {
  max-width: 720px;
  margin: 0 auto;
  color: #ffffff;
  border-top: 1px solid #ffffff;
}
.company .company-item {
  display: flex;
  gap: 40px;
  border-bottom: 1px solid #ffffff;
  padding: 24px 0;
}
.company .company-item dt {
  width: calc( (100% - 32px) / 6 );
  padding-left: 24px;
}
.company .company-item dd {
  font-weight: 500;
  width: calc((100% - 32px) / 3 * 2 + 16px);
}

/* contact */
.contact .wrapper {
  max-width: 720px;
} 
.contact .section-title img {
  width: 35%;
}
.contact .section-title::before {
  content: "お問い合わせ";
}
.contact .contact-step {
  display: block;
  max-width: 530px;
  width: 100%;
  margin: 0 auto 60px;
}
.contact .contact-text {
  text-align: center;
  margin-bottom: 100px;
}

.contact .contact-form > * {
  margin-bottom: 36px;
} 
.contact .contact-form .form-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contact .contact-form .form-list:nth-of-type(6) {
  align-items: flex-start;
}
.contact .contact-form .form-list__item {
  width: 25%;
}
.contact .contact-form .form-list:nth-of-type(6) .form-list__item {
  margin-top: 15px;
}
.contact .contact-form .required {
  color: #9b152b;
}
.contact .contact-form input.form-parts,
.contact .contact-form textarea.form-textarea {
  border: solid 1px #b5b5b5;
  padding: 10px;
  width: 70%;
  width: 100%;
}
.contact .contact-form textarea.form-textarea {
  height: 280px;
}

.contact .contact-form .privacy-policy-text {
  font-size: 1.2rem;
  font-weight: 300;
  text-align: center;
  letter-spacing: normal;
}
.contact .contact-form .privacy-policy__title {
  margin-bottom: 10px;
}
.contact .contact-form .privacy-policy__content {
  font-size: 1.2rem;
  font-weight: 300;
  height: 120px;
  padding: 2em;
  overflow-y: scroll;
  border: 1px solid #b5b5b5;
}

.contact .contact-form .form-acceptance {
  text-align: center;
}
.contact .contact-form .wpcf7-list-item-label {
  font-size: 1.4rem;
}

.contact .contact-form .form-acceptance input[type=checkbox] {
  display: none;
}
.contact .contact-form .form-acceptance label{
  position: relative;
  padding-left: 1.5em;
}
.contact .contact-form .form-acceptance label:before{
  content: "";
  display: block;
  box-sizing: border-box;
  height: 20px;
  width: 20px;
  position: absolute;
  border: solid 1px #ddd;
  top: 50%;
  left: 0;
  margin-top: -7px;
  transition: 0.3s;
  border-radius: 50%;
}
.contact .contact-form .form-acceptance label:after{
  content: "";
  display: block;
  box-sizing: border-box;
  height: 12px;
  width: 12px;
  position: absolute;
  background: #9b152b;
  top: 50%;
  left: 4px;
  margin-top: -3px;
  transition: 0.3s;
  opacity: 0;
  border-radius: 50%;
}
.contact-form .form-acceptance label:has(input[type="checkbox"]:checked)::after{
  opacity: 1;
}

.contact .contact-form .form-btn {
  background-color: #f1a32b;
  color: #ffffff;
  padding: 14px 32px;
  border-radius: 17px;
  display: block;
  margin: 0 auto;
  transition: 0.3s;
}
.contact .contact-form .form-btn:hover {
  background-color: #9b152b;
}
.contact .contact-form .wpcf7-form-control-wrap {
  display: block;
  width: 70%;
  margin: 0 auto;
}
.contact .wpcf7 form .wpcf7-response-output {
  padding: 1.2em 1em;
  text-align: center;
}
.contact .contact-form .wpcf7-turnstile.cf-turnstile {
  text-align: center;
}

/* footer */
.footer {
  position: relative;
  z-index: 2;
}
.footer .footer-wrapper {
  /* display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: auto; */
  padding: 20rem 6rem 5rem;
  position: relative;
}
.footer .footer-wrapper:before, .footer-wrapper:after {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 99.9%;
}
.footer .footer-wrapper:before{
  clip-path: polygon(0% 7.8rem, 100% 0%, 100% 100%, 0% 100%);
  background-color: #f1a32b;
}
.footer .footer-wrapper:after {
  clip-path: polygon(0% 5rem, 100% 13rem, 100% 100%, 0% 100%);
  background-color: #9b152b;
}
.footer .footer-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.footer .footer-content img {
  width: 22%;
}
.footer .footer-nav {
  display: flex;
  gap: 60px;
  font-size: 1.6rem;
  color: #ffffff;
}
.footer .nav-list > .nav-item:not(:last-child) {
  margin-bottom: 20px;
}
.footer .nav-list .nav-item a {
  position: relative;
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  padding-left: 1.2em;
  transition: color 0.3s;
}
.footer .nav-list .nav-item a::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  color: transparent;
  transition: color 0.3s;
}
.footer .nav-list .nav-item a:hover {
  color: #f1a32b;
}
.footer .nav-list .nav-item a:hover::before {
  color: #f1a32b;
}
.footer-copy {
  display: block;
  border-top: solid 1px #ffffff;
  color: #ffffff;
  padding-top: 10px;
  width: 100%;
  margin-top: 60px;
}

/* confirm */
.confirm {
  max-width: 720px;
  margin: 200px auto 0;
}
.confirm .contact-form .form-list {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px #b5b5b5;
  justify-content: flex-start;
}
.contact.confirm .contact-form .form-list:nth-of-type(6) .form-list__item {
  margin-top: 0;
}
.confirm .contact-form .form-btn {
  background-color: #f1a32b;
  color: #ffffff;
  padding: 14px 32px;
  border-radius: 17px;
  display: block;
  transition: 0.3s;
}
.confirm .contact-form .btn-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 60px 0;
}
.confirm .contact-form .form-btn {
  margin: 0;
}
.confirm .contact-form .form-btn:hover {
  background-color: #9b152b;
}
.confirm .contact-form .wpcf7-previous {
  background-color: #b5b5b5;
  padding: 14px 32px;
  border-radius: 17px;
  display: block;
  transition: 0.3s;
}
.confirm .contact-form .wpcf7-previous:hover {
  background-color: #151515;
  color: #fff;
}
.confirm .contact-form .wpcf7-spinner {
  display: none;
}
.confirm .contact-form .wpcf7-turnstile.cf-turnstile {
  margin-top: 30px;
}

/* thanks */
.thanks {
  margin-top: 200px;
  text-align: center;
}
.thanks h3 {
  font-size: 2.2rem;
  margin-bottom: 60px;
}
.thanks a {
  font-size: 1.6rem;
  background-color: #f1a32b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 17.5px;
  line-height: 1;
  padding: 15px 20px;
  width: fit-content;
  margin: 40px auto 0;
}
.thanks a:hover{
  background-color: #9b152b;
}

@media (max-width: 1024px) {
  /* ハンバーガーは既存のまま使う */
  .header .header-hamburger {
    display: block;
    width: 44px;
    height: 44px;
    position: relative;
    border: none;
    background: transparent;
    cursor: pointer;
    z-index: 1001; /* オーバーレイの上に */
  }
  .header-hamburger__bar {
    position: absolute;
    left: 8px; right: 8px;
    height: 2px;
    background: #333;
    transition: transform .25s, opacity .25s, top .25s;
  }
  .header-hamburger__bar:nth-child(1) { top: 12px; }
  .header-hamburger__bar:nth-child(2) { top: 21px; }
  .header-hamburger__bar:nth-child(3) { top: 30px; }

  /* 開いたときに「×」 */
  .header-hamburger.is-open .header-hamburger__bar:nth-child(1){
    top: 21px; transform: rotate(45deg);
    background-color: #ffffff;
  }
  .header-hamburger.is-open .header-hamburger__bar:nth-child(2){
    opacity: 0;
  }
  .header-hamburger.is-open .header-hamburger__bar:nth-child(3){
    top: 21px; transform: rotate(-45deg);
    background-color: #ffffff;
  }

  /* ===== ここからオーバーレイ（参考のフェード風） ===== */
  .header .nav-wrapper {
    /* 元のアコーディオン（max-height等）は使わない */
    position: fixed;
    inset: 0;             /* top/left/right/bottom: 0 */
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .4s cubic-bezier(0.23,1,0.32,1),
                transform .4s cubic-bezier(0.23,1,0.32,1),
                visibility 0s linear .4s; /* 閉じ時に遅延で非表示 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5vh 10vw;
    z-index: 1000;
    pointer-events: none; /* 閉じてる時は操作不可 */
  }
  .header .nav-wrapper.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .4s cubic-bezier(0.23,1,0.32,1),
                transform .4s cubic-bezier(0.23,1,0.32,1),
                visibility 0s;
    pointer-events: auto;
  }

  /* 背景の黒フェードは擬似要素で（HTML増やさない） */
  .header .nav-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(155, 21, 43, 0.95);
    opacity: 0;
    transition: opacity .4s cubic-bezier(0.23,1,0.32,1);
  }
  .header .nav-wrapper.is-open::before { opacity: 1; }

  /* メニュー本体 */
  .header .nav-wrapper .nav-list {
    width: max-content;
    display: flex;
    flex-direction: column;
    gap: 36px;
    margin: 0 auto 24px;
    padding: 0;
    list-style: none;
    position: relative;
    z-index: 1; /* 背景より前 */
  }

  /* リンクの見た目（白文字＋ホバー色） */
  .header .nav-list .nav-item a {
    color: #fff;
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-left: 1.2em;
    transition: color .3s;
  }
  /* .header .nav-list .nav-item a::before {
    content: "●";
    position: absolute;
    left: 0; top: 50%;
    transform: translateY(-50%);
    font-size: .8em;
    color: #666;
    transition: color .3s;
  } */
  .header .nav-list .nav-item a:hover,
  .header .nav-list .nav-item a:focus-visible { color: #f1a32b; }
  .header .nav-list .nav-item a:hover::before,
  .header .nav-list .nav-item a:focus-visible::before { color: #f1a32b; }

  /* 段階的フェードイン（参考のstagger） */
  .header .nav-list .nav-item {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .45s cubic-bezier(0.23,1,0.32,1),
                transform .45s cubic-bezier(0.23,1,0.32,1);
  }
  .header .nav-wrapper.is-open .nav-list .nav-item {
    opacity: 1; transform: translateY(0);
    width: 100%;
    text-align: center;
  }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(1){ transition-delay: .12s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(2){ transition-delay: .18s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(3){ transition-delay: .24s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(4){ transition-delay: .30s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(5){ transition-delay: .36s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(6){ transition-delay: .42s; }
  .header .nav-wrapper.is-open .nav-list .nav-item:nth-child(7){ transition-delay: .48s; }

  /* お問い合わせボタンも最後にフェードイン */
  .header .nav-btn {
    align-self: flex-start;
    font-size: 1.8rem;
    background-color: #f1a32b;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border-radius: 18px;
    line-height: 1;
    padding: 18px 30px;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .45s cubic-bezier(0.23,1,0.32,1),
                transform .45s cubic-bezier(0.23,1,0.32,1) .06s,
                background-color .3s;
    position: relative;
    z-index: 1;
    margin: 0 auto;
  }
  .header .nav-wrapper.is-open .nav-btn {
    opacity: 1; transform: translateY(0);
    transition-delay: .56s; /* リストの後に */
  }
  .header .nav-btn:hover { background-color: #9b152b; }

  /* フォーカス可視化 */
  .header .nav-wrapper a:focus-visible,
  .header .nav-btn:focus-visible {
    outline: 3px solid #4a90e2;
    outline-offset: 4px;
  }

  .about p:nth-of-type(3) .sp-only{
    display: block;
  }
}

/* モーション配慮 */
@media (prefers-reduced-motion: reduce) {
  .header .nav-wrapper,
  .header .nav-wrapper::before,
  .header .nav-list .nav-item,
  .header .nav-btn,
  .header-hamburger__bar {
    transition: none !important;
  }
}

@media (max-width: 768px) { 
  section {
    padding: 0 10px;
  }

  .bg {
    background-size: 81%;
  }

  .kv .kv-catch {
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
    bottom: 16vw;
  }
  .kv .slide-list .slide-item.img01 {
    background-image: url(../images/slide-image01_sp.jpg);
  }
  .kv .slide-list .slide-item.img02 {
    background-image: url(../images/slide-image02_sp.jpg);
  }
  .kv .slide-list .slide-item.img03 {
    background-image: url(../images/slide-image03_sp.jpg);
  }
  .kv .slide-list .slide-item.img04 {
    background-image: url(../images/slide-image04_sp.jpg);
  }
  .kv .slide-list .slide-item.img05 {
    background-image: url(../images/slide-image05_sp.jpg);
  }

  .about .section-title img {
    width: 42%;
  }
  .about.bg {
    background-position: 140% 52%;
  }
  .about p:nth-of-type(1),
  .about p:nth-of-type(2) {
    text-align: left;
    padding: 0 20px;
  }
  .about p:nth-of-type(1) .pc-only,
  .about p:nth-of-type(2) .pc-only{
    display: none;
  }

  .business .section-title img {
    width: 61%;
  }
  .business .business-list {
    width: fit-content;
    margin: 0 auto;
  }
  .business .business-item {
    flex-direction: column;
  }
  .business .business-item .business-item__img {
    width: 100%;
    max-width: 580px;
    margin-bottom: 30px;
  }
  .business .business-item .business-item__img::after {
    transform: translateX(0);
    top: unset;
    left: 0;
    bottom: -7%;
  }
  .business .business-item .business-item__img.img01::after {
    width: 94px;
    height: 80px;
  }
  .business .business-item .business-item__img.img02::after {
    width: 103px;
    height: 70px;
  }
  .business .business-item .business-item__img.img03::after {
    width: 103px;
    height: 70px;
  }
  .business .business-item .business-item__img.img04::after {
    width: 99px;
    height: 70px;
  }
  .business .business-item .business-item__content {
    width: 100%;
    max-width: 580px;
  }
  .business .business-item:nth-of-type(3) br {
    display: none;
  }

  .policy .section-title img.pc-only,
  .message .section-title img.pc-only,
  .company .section-title img.pc-only {
    display: none;
  }
  .policy .section-title img.sp-only,
  .message .section-title img.sp-only,
  .company .section-title img.sp-only {
    display: inline-block;
    width: 80%;
  }
  .policy .policy-item {
    font-size: 2.8rem;
    flex-direction: column;
  }
  .policy .policy-item h3 {
    gap: 20px;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
  }
  .policy .policy-item p {
    margin-left: 0;
  }

  .team .section-title img {
    width: 95%;
  }

  .company .company-item dt {
    width: calc((100% - 32px) / 4);
    padding-left: 10px;
  }

  .contact .section-title img {
    width: 60%;
  }
  .contact .contact-form .form-list {
    flex-direction: column;
    align-items: flex-start;
  }
  .contact .contact-form .form-list__item {
    width: 100%;
    margin-bottom: 10px;
  }
  .contact .contact-form .wpcf7-form-control-wrap,
  .contact .contact-form input.form-parts,
  .contact .contact-form textarea.form-textarea {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .footer .footer-wrapper {
    padding: 20rem 40px 5rem;
  }
  .footer .footer-content img {
    width: 42%;
    margin-bottom: 30px;
  }
  .footer .nav-list .nav-item a {
    padding-left: 0;
  }
  .footer .nav-list .nav-item a::before {
    content: none;
  }
}

@media (max-width: 500px) {
  .message .message-content h3 {
    width: fit-content;
    margin: 0 auto 30px;
  }
  .message .message-content p {
    line-height: 2;
  }
  .message .message-content p br:first-of-type,
  .message .message-content p br:last-of-type {
    display: none;
  }

  .team .team-list {
    flex-direction: column;
  }
  .team .team-item {
    width: 100%;
    margin: 0 auto 30px;
    padding: 0 10px;
  }
  .team .team-item:last-of-type {
    margin-bottom: 0;
  }

  .company .section-title img {
    width: 75%;
  }
  .company-list {
    font-size: 1.6rem;
  }
  .company .company-item dt {
    width: calc((100% - 32px) / 3);
  }
  .company .company-list .company-item dd.pc-only {
    display: none;
  }
  .company .company-list .company-item dd.sp-only {
    display: inline-block;
  }
  
  .contact .contact-text {
    text-align: left;
    margin-bottom: 60px;
  }
  .contact .contact-form .privacy-policy-text {
    text-align: left;
  }
  .contact .contact-form .privacy-policy-text br {
    display: none;
  }

  .thanks {
    text-align: left;
  }
}