@charset "utf-8";
/*
theme Name: bress
Author: bress
Description: WordPress theme
version: 1.0.0
*/

html {
  font-size:62.5%;
  overflow-x: clip;
}
html:not(.fonts-loaded) body {
  opacity: 0;
  transition: opacity 0.1s ease;
}
html.fonts-loaded body {
  opacity: 1;
}

body {
  margin: 0 auto;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #1a1a1a;
  position: relative;
  word-wrap : break-word;
  overflow-wrap : break-word;
  padding-top: 180px;
  background-color: #fafafa;
  font-feature-settings: "palt";
  overflow-x: clip;
}

figure {
  margin: 0;
}
img{
  vertical-align: bottom;
  backface-visibility: hidden;
}
a,
a:hover {
  color: inherit;
  transition-duration: 0.2s;
  cursor : pointer;
  text-decoration: none;
}
ul,li {
  list-style: none;
}
* {
  min-height:0;
  min-width : 0;
  outline : none;
}

/* --------------------------------------------

  共通パーツ

-------------------------------------------- */
.obj {
  position: absolute;
}
.obj img {
  width: 100%;
  height: auto;
}
.obj-sq {
  width: 281px;
  height: 281px;
}
.obj-tri {
  width: 292px;
  height: 332px;
}
.obj-circle {
  width: 302px;
  height: 302px;
}
.obj-dia {
  width: 393px;
  height: 393px;
}
.float {
  animation: float 6s ease-in-out infinite;
}
@keyframes float {/* オブジェクトの浮遊アニメーション */
  0%   { transform: translateY(0px) rotate(0deg); }
  25%  { transform: translateY(-5px) rotate(1deg); }
  50%  { transform: translateY(0px) rotate(0deg); }
  75%  { transform: translateY(5px) rotate(-1deg); }
  100% { transform: translateY(0px) rotate(0deg); }
}

/* パララックスアイテム */
.parallax-item {
  position: absolute;
  opacity: 0;
  transform: translateY(40px); /* 初期状態は下にズレている */
  transition: opacity 1s ease, transform 1s ease;
  will-change: transform, opacity;
}
.parallax-item.visible {
  opacity: 1;
  transform: translateY(0);
}



/* --------------------------------------------

  ヘッダー

-------------------------------------------- */
.header {
  width: 100%;
  position: fixed;
  top:0;
  left: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(102, 102, 102, 0.5);
  background-color: #f9f9f9D9;/* 不透明度85%*/
}
.header.home {
  background: transparent;
}
.header__container {
  width: 100%;
  /* max-width: 1400px; */
  height: 74px;
  margin: 0 auto;
  display: flex;
  padding: 0 0 0 44px;
  justify-content: space-between;
  transition-duration: .5s;
  font-family: "Noto Serif JP", serif;
  font-weight: 200;
  letter-spacing: 0.04em;
}
.header__logo {
  width: 105px;
  height: 28px;
  margin: 23px 0;
}
.header__logo a{
  width: 105px;
  height: 28px;
  display: block;
  background: url(img/common/logo-02.png) 0 0 no-repeat;
  background-size: contain;
  text-indent: -9999px;
  transition: .3s;
}
@media (any-hover: hover) {
  .header__logo a:hover {
    opacity: 0.7;
  }
}
.header-nav {
  height: 100%;
  margin: 0 0 0 auto;
  padding: 0 15px 0 0;
}
.header-nav ul {
  height: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.header-nav ul li.header-nav__nav {
  display: inline;
}
.header-nav ul li.header-nav__nav a {
  display: block;
  color: #1a1a1a;
  padding: 8px 16px;
  text-align: center;
  font-size: 12px;
  white-space: nowrap;
}
@media (any-hover: hover) {
  .header-nav ul li.header-nav__nav a:hover {
    color: #c5461c;
  }
}
.header__menubtn {
  border-left: 1px solid rgba(102, 102, 102, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1000;
  transition: 1s;
}
.header__menubtn::after {
  content: "";
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background : linear-gradient(45deg, rgba(222, 104, 35, 1) 0%, rgba(201, 64, 33, 1) 100%);
  opacity: 0;
  transition: .3s;
  position: absolute;
  z-index: 100;
}
.header__menubtn a {
  display: flex;
  width: 154px;
  font-size: 12px;
  font-family: "EB Garamond", serif;
  height: 100%;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 101;
  transition: .3s;
}
.header__menubtn a:after {
  content: "";
  display: block;
  width: 18px;
  height: 18.5px;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(img/common/menu.svg);
  background-color: #1a1a1a;
  margin-left: 24px;
}
.header__menubtn-text--open {
  display: block;
}
.header__menubtn-text--close {
  display: none;
}
@media (any-hover: hover) {
  .header__menubtn a:hover:after {
    background-color: #666;
  }
}

.is-open .header__menubtn a {
  color: #fff;
}
.is-open .header__menubtn a:after {
  width: 16.5px;
  height: 12px;
  mask-image: url(img/common/menu-close.svg);
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  background-color: #fff;
}

.is-open .header__menubtn::after {
  opacity: 1;
}
.is-open .header__menubtn-text--open {
  display: none;
}
.is-open .header__menubtn-text--close {
  display: block;
}

.g-nav {
  width: 100%;
  height: calc(100vh - 75px);
  background: #fafafa;
  position: fixed;
  top: 75px;
  left: 0;
  z-index: 100;
  opacity: 0;
  transition: 1s;
  transform: translateY(-110%);
}
.is-open .g-nav {
  opacity: 1;
  transform: translateY(0);
}
.g-nav__inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 31.25% 30% 30%;
  grid-template-areas:
    "logo list service";
  gap: 0 4%;
}
.g-nav__logo {
  padding-top: 265px;
  grid-area: logo;
}
.g-nav__logo a {
  display: block;
  margin-left: 14.9333%;
  width: 36%;
}
.g-nav__logo a img {
  width: 100%;
  height: 100%;
}
.g-nav__list {
  padding-top: 108px;
  grid-area: list;
}
.g-nav__list__heading {
  font-size: 40px;
  letter-spacing: 0.08em;
  color: #c52a21;
  font-family: "EB Garamond", serif;
  line-height: 1;
  height: 40px;
  font-weight: 200;
  margin: 0;
  vertical-align: baseline;

}
.g-nav__list__ul {
  margin: 24px 0 0;
  padding: 0;
}
.g-nav__list__ul li a {
  display: flex;
  align-items: center;
  padding: 40px 0 40px 10px;
  border-bottom: 1px solid rgba(153, 153, 153, 0.5);
  position: relative;
  transition: .3s;
}
.g-nav__list__ul li:last-child a {
  border-bottom: none;
}
.g-nav__list__ul li a .g-nav__list__ul__arrow {
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(153, 153, 153, 0.5);
  border-bottom: 1px solid rgba(153, 153, 153, 0.5);
  transform: rotate(-45deg);
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -4px;
  transition: .3s;
}
.g-nav__list__ul__text {
  font-size: 18px;
  letter-spacing: 0.06em;
  font-weight: 200;
  margin-right: 30px;
  transition: .3s;
}
.g-nav__list__ul__text-en {
  font-size: 11px;
  letter-spacing: 0.04em;
  font-weight: 200;
  color: #c52a21;
  position: relative;
  top: 2px;
}
@media (any-hover: hover) {
  .g-nav__list__ul li a:hover {
    background-color: #fff;
  }
  .g-nav__list__ul li a:hover .g-nav__list__ul__text {
    color: #c5461c;
    margin-left: 5px;
  }
  .g-nav__list__ul li a:hover .g-nav__list__ul__arrow {
    right: 15px;
    border-color: #c5461c;
  }
}
.g-nav__list__ul__service {
  display: none;
}

.g-nav__service {
  padding-top: 108px;
  grid-area: service;
}
.g-nav__service__heading {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #999;
  font-family: "EB Garamond", serif;
  line-height: 1;
  font-weight: 200;
  height: 40px;
  margin: 0;
  display: flex;
  align-items: flex-end;
  padding-bottom: 0.5em;
}
.g-nav__service__heading__number {
  font-size: 14px;
}
.g-nav__service__heading__percnt {
  font-size: 9px;
}
.g-nav__service__link {
  display: flex;
  margin-top: 64px;
  align-items: center;
  position: relative;
}

.g-nav__service__link__text {
  font-size: 18px;
  letter-spacing: 0.06em;
  font-weight: 200;
  margin-right: 32px;
}
.g-nav__service__link__text-en {
  font-size: 11px;
  letter-spacing: 0.04em;
  font-weight: 200;
  color: #c52a21;
  position: relative;
  top: 2px;
}
.g-nav__service__ul__policy {
  margin-top: 12px;
}
.g-nav__service__ul__policy a {
  display: block;
  font-size: 10px;
  letter-spacing: 0.02em;
  color: #666;
  padding: 20px 0 20px 32px;
  border-top: 1px solid rgba(153, 153, 153, 0.5);
}
.g-nav__service__ul {
  margin: 16px 0 0;
  padding: 0;
}
.g-nav__service__ul li {
  margin: 0;
  padding: 0;
}
.g-nav__service__ul li a {
  display: flex;
  padding: 14px 0 14px 10px;
  position: relative;
}
.g-nav__service__ul li a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid rgba(153, 153, 153, 0.5);
  border-bottom: 1px solid rgba(153, 153, 153, 0.5);
  transform: rotate(-45deg);
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: -4px;
  transition: .3s;
}
.g-nav__service__ul__number {
  font-size: 9px;
  letter-spacing: 0.04em;
  font-weight: 200;
  color: #4d4d4d;
  margin-right: 12px;
  position: relative;
  top: 3px;
}
.g-nav__service__ul__text {
  font-size: 13px;
  letter-spacing: -0.02em;
  font-weight: 200;
  color: #333;
  transition: .3s;
}
@media (any-hover: hover) {
  .g-nav__service__ul li a:hover .g-nav__service__ul__text {
    color: #c5461c;
  }
  .g-nav__service__ul li a:hover::after {
    border-color: #c5461c;
  }
  .g-nav__service__ul li a:hover .g-nav__service__ul__number {
    color: #c5461c;
  }
}
.g-nav__footer {
  width: 100%;
  border-top: 1px solid rgba(153, 153, 153, 0.5);
  position: absolute;
  bottom: 0;
  left: 0;
}
.g-nav__footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 0;
}
.g-nav__footer__logo {
  display: none;
}
.g-nav__footer__address {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 0.04em;
}
.g-nav__footer__address__name {
  margin-right: 2em;
}
.g-nav__footer__address__text {
  margin-right: 1em;
}
.g-nav__footer__tel {
  margin-right: 1em;
}
.g-nav__footer__copyright {
  font-size: 8px;
  letter-spacing: 0.04em;
  font-weight: 200;
}

/* --------------------------------------------

  フッター

-------------------------------------------- */
.footer {
  background:linear-gradient(0deg, rgba(51, 51, 51, 1) 0%, rgba(54, 54, 54, 1) 35.97%, rgba(62, 62, 62, 1) 59.54%, rgba(77, 77, 77, 1) 79.56%, rgba(98, 98, 98, 1) 97.49%, rgba(102, 102, 102, 1) 100%);
  width: 100%;
  position: relative;
  z-index: 2;
}
.footer:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(img/common/noise.webp);
  background-size: 400px;
  z-index: 1;
}





.footer__inner {
  max-width: 1232px;
  width: 100%;
  margin: 0 auto;
  padding: 116px 16px 50px;
  font-family: "Noto Serif JP", serif;
  position: relative;
  z-index: 1;
}
.footer-nav {
  margin-top: 36px;
}
.footer-nav ul {
  padding: 0 0 0 7px;
}
.footer-nav__list {
  font-size: 15px;
  margin-top: 1em;
}
.footer-nav__list a {
  display: inline-block;
  color: #e6e6e6;
  font-weight: 200;
  line-height: 1;
}
@media (any-hover: hover) {
  .footer-nav__list a:hover {
    color: #C5461C;
  }
}
.footer-nav__list--policy {
  font-size: 12px;
  margin-top: 30px;
}
.footer-information {
  font-weight: 200;
  padding: 0 0 0 8px;
  color: #E6E6E6;
  margin-top: 104px;
}
.footer-information__name {
  font-size: 16px;
}
.footer-information__address {
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.533;
}
.copyright {
  margin-top: 0.5em;
  font-size: 10px;
  display: block;
}
.footer__inner:before {
  content: "";
  display: block;
  position: absolute;
  right: 76px;
  top: 178px;
  width: 400px;
  height: 400px;
  background: url(img/common/obj-01.png) center center no-repeat;
  background-size: contain;
  z-index: -1;
  opacity: 0.02;
}
.footer__inner:after {
  content: "";
  display: block;
  position: absolute;
  width: 90px;
  height: 357px;
  background: url(img/common/footer-chasing.png) 0 0 no-repeat;
  background-size: contain;
  z-index: 0;
  right: 9px;
  top: 125px;
}
.pagetop {
  position: fixed;
  width: 40px;
  height: 40px;
  right: 80px;
  bottom: 54px;
  opacity: 0;
  transform: translateY(0px);
  z-index: 100;
}
.pagetop.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.pagetop.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(100px);
  }
}
.pagetop a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #ccc;
  transition-duration: 0.2s;
  font-size: 12px;
  position: relative;
}
@media (any-hover: hover) {
  .pagetop a:hover {
    opacity: .8;
    transform: translateY(-5px);
  }
}



/* --------------------------------------------

  共通 パーツ

-------------------------------------------- */
.no-break {
  white-space: nowrap;
}
.anim {
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 1s ease, transform 1s ease;
  will-change: opacity, transform;
  backface-visibility: hidden;
}
.anim.inview {
  opacity: 1;
  transform: translateY(0);
}
.anim.anim-01 {
  transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s;
}
.anim.anim-02 {
  transition: transform 0.3s ease 0.2s, opacity 0.3s ease 0.2s;
}
.anim.anim-03 {
  transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s;
}
.anim.anim-04 {
  transition: transform 0.3s ease 0.4s, opacity 0.3s ease 0.4s;
}
.anim.anim-05 {
  transition: transform 0.3s ease 0.5s, opacity 0.3s ease 0.5s;
}



.anim-inview {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.anim-inview.inview {
  opacity: 1;
  transform: translateY(0);
}




.link-btn-01 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 300;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 4px;
  position: relative;
  text-align: center;
  padding: 12px 22px 12px 12px;
  letter-spacing: 0.04em;
  margin-top: 1em;
  transition: .3s;
  line-height: 1;
}
.link-btn-01:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
  position: absolute;
  right: 12px;
  top: 50%;
  margin-top: -3px;
}
@media (any-hover:hover) {
  .link-btn-01:hover {
    border-color: #1a1a1a;
    color: #1a1a1a;
    background: #fff;
  }
  .link-btn-01:hover:after {
    border-color: #1a1a1a;
  }
}


.link-btn-02 {
  position: relative;
  overflow: hidden;
  border-radius: 4px;
}
.link-btn-02::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(179, 179, 179, 1) 0%, rgba(176, 176, 176, 1) 1.17%, rgba(149, 149, 149, 1) 15.51%, rgba(128, 128, 128, 1) 31.05%, rgba(113, 113, 113, 1) 48.4%, rgba(105, 105, 105, 1) 68.83%, rgba(102, 102, 102, 1) 100%);
    z-index: 0;
    transition: opacity 0.3s ease;
    opacity: 1;
}
.link-btn-02::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(179, 179, 179, 1) 0%, rgba(176, 176, 176, 1) 1.17%, rgba(149, 149, 149, 1) 15.51%, rgba(128, 128, 128, 1) 31.05%, rgba(113, 113, 113, 1) 48.4%, rgba(105, 105, 105, 1) 68.83%, rgba(102, 102, 102, 1) 100%);
    z-index: 1;
    transition: opacity 0.3s ease;
    opacity: 0;
}
.link-btn-02 a {
  position: relative;
  z-index: 2;
  font-family: "Noto Serif JP", serif;
  display: flex;
  width: 175px;
  height: 45px;
  justify-content: center;
  align-items: center;
  color: #fff;
  width: 100%;
}
@media (any-hover: hover) {
  .link-btn-02:hover::after {
    opacity: 1;
  }
}

.link-btn-03 {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: 200;
  color: #fff;
  border-radius: 4px;
  padding: 24px 56px;
  letter-spacing: 0.04em;
  line-height: 1;
  position: relative;
  border: 1px solid transparent;
}
.link-btn-03::before {
  content: '';
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(170deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
  z-index: 0;
  transition: opacity 0.3s ease;
}
.link-btn-03::after {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  z-index: 1;
  transform: rotate(-45deg);
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-left: 1em;
  transition: border-color 0.3s ease;
}
.link-btn-03__text {
  font-size: 13px;
  font-weight: 200;
  color: #fff;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
  transition: color 0.3s ease;
}
@media (any-hover: hover) {
  .link-btn-03:hover {
    border-color: #c5461c;
  }
  .link-btn-03:hover::before {
    opacity: 0;
  }
  .link-btn-03:hover .link-btn-03__text {
    color: #c5461c;
  }
  .link-btn-03:hover:after {
    border-color: #c5461c;
  }

}


.br-sp {
  display: none;
}
@media (max-width: 768px) {
  .br-sp {
    display: inlineblock;
  }
}
.br-pc {
  display: inline-block;
}
@media (max-width: 768px) {
  .br-pc {
    display: none;
  }
}



/* --------------------------------------------

  共通の セクションヘッダー

-------------------------------------------- */
.section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-header__heading {
  font-size: 70px;
  font-family: "EB Garamond", serif;
  color: #1a1a1a;
  font-weight: 200;
  margin: 0;
}
.section-header__heading__ja {
  color: #c5461c;
  font-weight: 200;
  margin-top: 16px;
}
.section-header__text {
  margin-top: 32px;
  font-size: 16px;
  font-weight: 200;
  letter-spacing: 0.04em;
}

.section-header.section-header--vertical {
  align-items: flex-start;
}


/* --------------------------------------------

  共通の Contact エリア

-------------------------------------------- */
.contact-block {
  max-width: 1400px;
  margin: 240px auto 74px;
}
.contact-block__main {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 90px;
}
.contact-block__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 56px 0 74px;
  border-right: 1px solid #ccc;
}
.contact-block__block:last-child {
  border-right: none;
}
.contact-block__icn {
  display: block;
  width: 30px;
  height: 30px;
  background-size: contain;
}
.contact-block__icn--qa {
  background-image: url(img/common/icn-qa.png);
}
.contact-block__icn--tel {
  background-image: url(img/common/icn-tel.png);
}
.contact-block__icn--form {
  background-image: url(img/common/icn-form.png);
}
.contact-block__title {
  margin-top: 24px;
  font-family: "EB Garamond", serif;
  font-size: 32px;
  letter-spacing: 0.02em;
}
.contact-block__text {
  margin-top: 36px;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.02em;
}
.contact-block__link {
  margin-top: 44px;
  display: flex;
  width: 175px;
  height: 45px;
  position: relative;
  overflow: hidden;
  border-radius : 4px;
  justify-content: center;
  align-items: center;
}
.contact-block__link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(179, 179, 179, 1) 0%,
    rgba(176, 176, 176, 1) 1.17%,
    rgba(149, 149, 149, 1) 15.51%,
    rgba(128, 128, 128, 1) 31.05%,
    rgba(113, 113, 113, 1) 48.4%,
    rgba(105, 105, 105, 1) 68.83%,
    rgba(102, 102, 102, 1) 100%
  );
  z-index: 0;
  transition: opacity 0.3s ease;
  opacity: 1;
}
.contact-block__link::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,
    rgba(179, 179, 179, 1) 0%,
    rgba(176, 176, 176, 1) 1.17%,
    rgba(149, 149, 149, 1) 15.51%,
    rgba(128, 128, 128, 1) 31.05%,
    rgba(113, 113, 113, 1) 48.4%,
    rgba(105, 105, 105, 1) 68.83%,
    rgba(102, 102, 102, 1) 100%
  );
  z-index: 1;
  transition: opacity 0.3s ease;
  opacity: 0;
}
.contact-block__link::before,
.contact-block__link::after {
  will-change: opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.contact-block__link span {
  position: relative;
  z-index: 2;
  color: #fff;
}
@media (any-hover: hover) {
  .contact-block__link:hover::after {
    opacity: 1;
  }
}

/* reCAPTCHA */
.grecaptcha-badge {
  display: none;
}

/* --------------------------------------------

  HOME

-------------------------------------------- */
body.home {
  padding-top: 0;
}
.bg-white {
  background: #fff;
}

/* ヒーローイメージ */
.hero {
  width: 100%;
  background: #fff;
  position: relative;
  overflow: visible;
}
.hero__inner {
  max-width: 1400px;
  /* height: 100vh; */
  height: 950px;
  margin: 0 auto;
  padding: 311px 30px 0 105px;
  position: relative;
}
.hero__text-01 {
  font-weight: 200;
  font-size: 26px;
  position: relative;
  z-index: 3;
  animation: heroUp01 .5s forwards;
  animation-delay: 2s;
  transform: translateY(100px);
}

@keyframes heroUp01 {
  from {
    transform: translateY(100px);
  }
  to {
    transform: translateY(0);
  }
}

.hero__text-01 .number {
  color: #c5461c;
  font-size: 45px;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.02em;
  text-align: center;
  display: inline-block;
  width: 1.6em;
}
.hero__text-01 .unit {
  color: #c5461c;
  font-size: 68%;
  font-family: "EB Garamond", serif;
}
.hero__text-02 {
  width: 504px;
  height: 80px;
  margin-top: 24px;
  background: url(img/home/hero-text-02.png) no-repeat center center;
  background-size: contain;
  text-indent: -9999px;
  position: relative;
  z-index: 3;
  animation: heroAnime02 1s forwards;
  animation-delay: 2.5s;
  opacity: 0;
}
@keyframes heroAnime02 {
  from {
    opacity: 0;
    transform: translateX(-10%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes heroAnime03 {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.hero__text-03 {
  width: 679px;
  height: 86px;
  margin-top: 21px;
  background: url(img/home/hero-text-03.png) no-repeat center center;
  background-size: contain;
  text-indent: -9999px;
  position: relative;
  z-index: 3;
  animation: heroAnime02 1s forwards;
  animation-delay: 3s;
  opacity: 0;
}
.hero__text-03 .number {
  font-size: 138px;
}
.hero__text-03 .unit {
  font-size: 117px;
}
.hero__text-04 {
  font-size: 19px;
  letter-spacing: 0.08em;
  margin-top: 27px;
  position: relative;
  z-index: 3;
  animation: heroAnime02 1s forwards;
  animation-delay: 3.5s;
  opacity: 0;
}

.hero__news {
  width: 420px;
  margin-top: 108px;
  position: relative;
  z-index: 3;
  animation: heroAnime03 1s forwards;
  animation-delay: 4s;
  opacity: 0;
}
.hero__news__inner {
  display: flex;
  justify-content: space-between;
  font-family: "EB Garamond", serif;
  font-size: 13px;
  border-radius: 3px;
  overflow: hidden;
  height: 85px;
  transition: all 0.3s ease;
}
.hero__news__head {
  width: 85px;
  font-size: 14px;
  display: flex;
  color: #fff;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.04em;
  background : linear-gradient(170deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
  transition: background-color 0.3s ease;
  will-change: background-color;
}
.hero__news__body {
  background-color: #f2f2f2;
  flex: 1;
  padding: 8px 20px 8px 16px;
  display: flex;
  align-items: center;
  position: relative;
  transition: background-color 0.3s ease;
  will-change: background-color;
}
.hero__news__item {
  display: block;
}
.hero__news__item__thumb {
  width: 108px;
  height: 72px;
  border-radius: 3px;
  overflow: hidden;
  margin-right: 16px;
}
.hero__news__item__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  will-change: transform;
}
.hero__news__item__title {
  flex: 1;
  font-size: 12px;
  line-height: 1.416;
  font-family: "Noto Sans JP", sans-serif;
  transition: opacity 0.3s ease;
  will-change: opacity;
}

.hero__news__item__more {
  position: absolute;
  right: 16px;
  bottom: 8px;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #c5461c;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.04em;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
.hero__news__item__more::after {
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  border-right: 1px solid #c5461c;
  border-bottom: 1px solid #c5461c;
  transform: rotate(-45deg);
  margin-left: 3px;
  transition: opacity 0.3s ease;
  will-change: opacity;
}
@media (any-hover: hover) {
  .hero__news__inner:hover .hero__news__head {
    opacity: 0.8;
  }
  .hero__news__inner:hover .hero__news__body {
    background: rgba(242, 242, 242, 0.8);
  }
  .hero__news__inner:hover .hero__news__item__thumb img {
    transform: scale(1.03);
  }
  .hero__news__inner:hover .hero__news__item__title {
    opacity: 0.8;
  }
  .hero__news__inner:hover .hero__news__item__more {
    opacity: 0.8;
  }
  .hero__news__inner:hover .hero__news__item__more::after {
    opacity: 0.8;
  }
}
.hero .obj {
  opacity: 0;
}
.hero .obj-tri.obj-01 {
  left: 42.21%;
  top: -115px;
}
.hero .obj-tri.obj-02 {
  left: 46.5%;
  bottom: -120px;
}
.hero .obj-tri.obj-02 img {
  transform: rotate(133deg);
}
.hero .obj-sq {
  right: -168px;
  bottom: -200px;
}
.hero .obj-dia {
  width: 392px;
  height: 392px;
  right: 7%;
  top: 253px;
}
.hero .obj-circle {
  width: 300px;
  height: 300px;
  right: -13%;
  top: -5px;
}
.hero .obj {
  opacity: 0;
  transition: all 2s ease-in-out;
}
.hero .obj.is-visible {
  opacity: 1;
  animation-duration: 6s;
}
/* .hero .obj.obj-01.is-visible {
  animation-duration: 6s;
}
.hero .obj.obj-02.is-visible {
  animation-duration: 10s;
}

.hero .obj.obj-sq.is-visible {
  animation-duration: 7s;
}
.hero .obj.obj-dia.is-visible {
  animation-duration: 8s;
}
.hero .obj.obj-circle.is-visible {
  animation-duration: 9s;
} */




.bar-scroll {
  display: none;
  animation: heroAnime03 1s forwards;
  animation-delay: 4s;
  opacity: 0;
}

/* 円のボーダーの色が変わっていくオブジェクト */
.circle {
  position: absolute;
  bottom: 114px;
  right: 30px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
  animation: heroAnime03 1s forwards;
  animation-delay: 4s;
  opacity: 0;
}
.circle-wrapper {
  position: relative;
  width: 114px;
  height: 114px;
}

.progress-circle {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
  shape-rendering: crispEdges;
}

.base-circle {
  stroke: #ccc;
  stroke-width: 1;
  fill: none;
}

.animated-circle {
  stroke: #d84b21;
  stroke-width: 1;
  fill: none;
  stroke-dasharray: 355.31; /* 2π × 56.5 */
  stroke-dashoffset: 355.31;
  animation: draw 3s linear infinite;
}

@keyframes draw {
  0% {
    stroke-dashoffset: 355.31;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.circle-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #1a1a1a;
  font-family: 'EB Garamond', serif;
  letter-spacing: 0.2em;
  font-size: 10px;
  pointer-events: none;
  user-select: none;
}

/* ヒーローイメージのナビゲーション */
.hero__nav {
  width: 38px;
  position: absolute;
  right: 30px;
  top: 300px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  animation: heroAnime03 1s forwards;
  animation-delay: 4s;
  opacity: 0;
}
.hero__nav__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 118px;
  border-radius: 4px;
  overflow: hidden;
  background: none;
  z-index: 0;
}

/* ← 背景レイヤー */
.hero__nav__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(170deg,
    rgba(222, 104, 35, 1) 0%,
    rgba(221, 101, 35, 1) 3.64%,
    rgba(210, 81, 34, 1) 36.41%,
    rgba(203, 68, 33, 1) 68.76%,
    rgba(201, 64, 33, 1) 100%);
  transition: opacity 0.4s ease;
  opacity: 1;
  will-change: opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
  pointer-events: none;
}

/* hover時にふわっと変化 */
@media (any-hover: hover) {
  .hero__nav__item:hover .hero__nav__bg {
    opacity: 0.7;
  }
}

.hero__nav__item__icn,
.hero__nav__item__text {
  position: relative;
  z-index: 1;
}

.hero__nav__item__icn {
  margin-bottom: 8px;
  text-align: center;
}
.hero__nav__item__icn img {
  width: auto;
  height: 15px;
}
.hero__nav__item__text {
  font-size: 13px;
  letter-spacing: 0.13em;
  writing-mode: vertical-rl;
  color: #fff;
}


.home-about {
  position: relative;
  z-index: 1;
  background: url(img/home/about-bg-01.jpg) center center no-repeat;
  background-size: cover;
}
.home-about__container {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 306px 0 194px;
}
.home-about__container .section-header {
  width: 50%;
  padding-left: 7.4%;
}
.home-about__container .section-header__heading {
  color: #fff;
}
.home-about__body {
  padding-left: 20px;
  flex: 1;
  color: #fff;
}
.home-about__text-01 {
  font-size: 23px;
  font-weight: 200;
  line-height: 1.6956;
  letter-spacing: 0.06em;
}
.home-about__text-02 {
  margin-top: 32px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  line-height: 1.7333;
}
.home-about__body .link-btn-01 {
  margin-top: 70px;
  width: 132px;
}

/* トップページのサービス */
.home-service {
  padding: 225px 0;
  position: relative;
}
.home-service .section-header {
  max-width: 1000px;
  margin: 0 auto;
  display: block;
}
.home-service .section-header .section-header__heading {
  display: inline-block;
  vertical-align: baseline;
}
.home-service .section-header .section-header__heading__ja {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 36px;
}
.home-service .section-header__heading__text {
  margin-top: 48px;
  font-size: 16px;
  line-height: 1.734;
  letter-spacing: 0.04em;
}
.home-service__list {
  margin: 76px auto 0;
  display: flex;
}
.home-service__list__item {
  width: 340px;
  height: auto!important;
  padding: 0 8px;
  position: relative;
}
.home-service__list__item__link {
  display: block;
  height: 567px;
  box-shadow : 0px 0px 4px rgba(0, 0, 0, 0.08);
  border-radius: 2px;
  background: #fff;
  padding: 20px;
  transition: all 0.3s ease;
}
.home-service__list__item figure {
  width: 100%;
  border-radius: 2px;
  overflow: hidden;
}
.home-service__list__item figure img {
  width: 100%;
  height: auto;
  transition: all 0.3s ease;
}
.home-service__list__item__body {
  padding: 48px 15px 0;
}
.home-service__list__item__number {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.714;
  color: #c5461c;
}
.home-service__list__item__title {
  margin-top: 14px;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  font-weight: 200;
}
.home-service__list__item__title__en {
  color: #c5461c;
  font-size: 7px;
  letter-spacing: 0.14em;
  font-family: "EB Garamond", serif;
  margin-top: 16px;
}
.home-service__list__item__text {
  font-size: 13px;
  line-height: 1.53846;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-top: 14px;
}
.home-service__list__more {
  position: absolute;
  bottom: 36px;
  right: 35px;
  font-size: 11px;
  display: flex;
  align-items: center;
  color: #c5461c;
  font-family: "EB Garamond", serif;
  transition: all 0.3s ease;
}
.home-service__list__more::after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #c5461c;
  border-bottom: 1px solid #c5461c;
  transform: rotate(-45deg);
  margin-left: 4px;
}
.home-service .slick-track {
  padding-bottom: 10px;
}
@media (any-hover: hover) {
  .home-service__list__item__link:hover {
    background-color: #fafafa;
  }
  .home-service__list__item__link:hover img {
    transform: scale(1.03);
  }
  .home-service__list__item__link:hover .home-service__list__more {
    right: 30px;
  }
}
.home-service .carousel-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin-top: 80px;
}
.home-service .carousel-nav .slick-prev,
.home-service .carousel-nav .slick-next {
  width: 10px;
  height: 10px;
  transition: all 0.3s ease;
  cursor: pointer;
}
.home-service .carousel-nav .slick-prev {
  border-left: 1px solid #c5461c;
  border-bottom: 1px solid #c5461c;
  transform: rotate(45deg);
}
.home-service .carousel-nav .slick-next {
  border-right: 1px solid #c5461c;
  border-bottom: 1px solid #c5461c;
  transform: rotate(-45deg);
}

.home-service .carousel-nav .slick-dots {
  display: flex !important;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
  cursor: pointer;
}
.home-service .carousel-nav .slick-dots li button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #c5461c;
  padding: 0;
  transition: all 0.3s ease;
}
.home-service .carousel-nav .slick-dots li.slick-active button {
  background : linear-gradient(90deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
}
.home-service .link-btn-04 {
  margin: 64px auto 0;
  width: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #c5461c;
  border-radius: 4px;
  position: relative;
  padding: 10px 16px;
  height: 45px;
}
.home-service .link-btn-04::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background : linear-gradient(170deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
  opacity: 0;
  transition: all 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.home-service .link-btn-04__text {
  font-size: 14px;
  line-height: 1.571428;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #c5461c;
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
}
.home-service .link-btn-04__arrow {
  width: 6px;
  height: 6px;
  border-right: 1px solid #c5461c;
  border-bottom: 1px solid #c5461c;
  transform: rotate(-45deg);
  transition: all 0.3s ease;
  position: relative;
  z-index: 2;
  margin-left: 6px;
}
@media (any-hover: hover) {
  .home-service .link-btn-04:hover {
    color: #fff;
  }
  .home-service .link-btn-04:hover::before {
    opacity: 1;
  }
  .home-service .link-btn-04:hover .link-btn-04__text {
    color: #fff;
  }
  .home-service .link-btn-04:hover .link-btn-04__arrow {
    border-color: #fff;
  }
}
.home-service .obj-01 {
  width: 300px;
  height: 300px;
  right: -130px;
  top: -172px;
  z-index: 0;
}
.home-service .obj-02 {
  width: 280px;
  height: 280px;
  left: -224px;
  top: -2px;
  z-index: 0;
}
.home-service .obj-03 {
  width: 302px;
  height: 330px;
  right: -30px;
  bottom: 163px;
  z-index: 0;
  animation: none;
}



.home-news {
  background: #f2f2f2;
  position: relative;
}
.home-news::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  background-image: linear-gradient(#f2f2f2cf, #f2f2f2cf), url(img/common/noise.png);
  background-size: 100px;
  width: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
}
.home-news__container {
  position: relative;
  z-index: 1;
  padding: 120px 0 150px;
}
.home-news .section-header.section-header--vertical {
  justify-content: center;
  align-items: center;
}
.home-news .section-header__heading__text {
  margin-top: 36px;
  font-size: 16px;
  text-align: center;
}
.home-news__column {
  width: 985px;
  margin: 85px auto 0;
  display: flex;
  gap: 64px;
  align-items: flex-start;
}

.home-news__thumb {
  width: 420px;
  height: 420px;
  overflow: hidden;
  flex-shrink: 0;
}

.home-news__thumb img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: opacity 0.3s ease;
}

.home-news__article-list {
  list-style: none;
  padding: 24px 0 0 0;
  margin: 0;
}
.home-news__body {
  flex: 1;
}
.home-news__article-list li {
  margin: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 1px solid #666;
}
.home-news__article {
  height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px;
  transition: all 0.3s ease;
  position: relative;
}
.home-news__article::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -4px;
  transition: all 0.3s ease;
}


.home-news__article__head__inner {
  display: flex;
  align-items: center;
  gap: 16px;
  transition: all 0.3s ease;
}
.home-news__article__thumb {
  display: none;
}
.home-news__article__date {
  font-size: 14px;
  color: #4d4d4d;
}
.home-news__article__category {
  height: 18px;
  display: flex;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid #a52a25;
  border-radius: 4px;
}
.home-news__article__category-label {
  font-size: 7px;
  color: #a52a25;
}
.home-news__article__title {
  font-size: 14px;
  line-height: 1.571428;
  letter-spacing: 0.04em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-top: 0.5em;
  padding-right: 40px;
  transition: all 0.3s ease;
}
@media (any-hover: hover) {
  .home-news__article-list li:hover a.home-news__article {
    background-color: rgba(255, 255, 255, 0.2);
  }
  .home-news__article-list li:hover a.home-news__article .home-news__article__head {
    padding-left: 5px;
  }
  .home-news__article-list li:hover a.home-news__article .home-news__article__title {
    padding-left: 5px;
  }
  .home-news__article-list li:hover a.home-news__article::after {
    right: 15px;
    border-color: #a52a25;
  }
}
.home-news .link-btn-01 {
  margin: 34px 0 0 auto;
  width: 132px;
  display: flex;
}
.home-news .link-btn-01 {
  color: #1a1a1a;
  border-color: #1a1a1a;
}
.home-news .link-btn-01::after {
  border-color: #1a1a1a;
}
@media (any-hover: hover) {
  .home-news .link-btn-01:hover {
    color: #fff;
    background-color: #1a1a1a;
  }
  .home-news .link-btn-01:hover::after {
    border-color: #fff;
  }
}


.home-news__thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: opacity 0.3s ease;
  opacity: 1;
}

.home-news__thumb img.is-fading {
  opacity: 0;
}




.home-recruit {
  position: relative;
  max-width: 1246px;
  margin: 218px auto 0;
}
.home-recruit__container {
  width: 100%;
  padding: 126px 10.2% 78px;
  background: url(img/home/recruit-bg.jpg) 0 0 no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
  overflow-x: hidden;
}
.home-recruit .section-header__heading {
  color: #fff;
}
.home-recruit .section-header {
  padding: 0 67px 0 24px;
}
.home-recruit__main {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.home-recruit__body {
  color: #fff;
  border-left: 1px solid #ccc;
  padding: 60px 54px 36px 64px;
  flex: 1;
}
.home-recruit__text-01 {
  font-size: 25px;
  font-weight: 200;
  letter-spacing: 0.04em;
}
.home-recruit__text-02 {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6428;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 24px;
  letter-spacing: 0.04em;
}
.home-recruit__body .link-btn-01 {
  margin-top: 27px;
  width: 132px;
}
.home-recruit__photos {
  margin-top: 64px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.home-recruit__photo img {
  width: 100%;
  height: auto;
}
.home-recruit__photo__sp {
  display: none;
}
.home-recruit .obj-03 {
  width: 302px;
  height: 302px;
  right: -200px;
  top: -100px;
  z-index: 0;
}
.home-recruit .obj-04 {
  width: 324px;
  height: 319px;
  left: -194px;
  bottom: 0;
  z-index: 0;
}



/* --------------------------------------------

  Company

-------------------------------------------- */
.message {
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 74px;
  padding-bottom: 180px;
}
.message__title {
  font-size: 33px;
  letter-spacing: 0.02em;
  text-align: center;
}
.message__container {
  max-width: 786px;
  width: 100%;
  margin: 72px auto 0;
  padding: 0 16px;
  display: flex;
}
.message__photo {
  width: 360px;
  margin-right: 32px;
}
.message__photo__img img {
  width: 100%;
}
.message__profile {
  margin: 24px 0 0;
}
.message__profile .name {
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.02em;
}
.message__profile .name .role {
  font-size: 12px;
  margin-right: 1em;
  padding-top: 0.1em;
}
.message__profile .name .name__ja {
  font-size: 18px;
}
.message__profile .name__en {
  color: #c5461c;
  text-align: center;
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-top: 12px;
}
.message__body {
  flex: 1;
  padding: 54px 0 0 32px;
}
.message__container > .message__heading {
  display: none;
}
.message__heading__ja {
  font-size: 26px;
  line-height: 1;
  font-weight: 200;
  margin: 0;
}
.message__heading__en {
  font-size: 12px;
  color: #c5461c;
  font-weight: 200;
  margin-top: 12px;
  letter-spacing: 0.04em;
  font-family: "EB Garamond", serif;
}
.message__body__text {
  margin-top: 32px;
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.71428;
}
.about .marquee {
  width: 100vw;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: -72px;
  z-index: 10;
}
.about .marquee__inner {
  display: flex;
  width: max-content;
  animation: marquee 80s linear infinite;
}
.about .marquee__inner span {
  display: block;
  width: 2016px;
  height: 134px;
  background: url(img/company/marquee-01.png) no-repeat center center;
  background-size: contain;
  margin-right: 2rem;
}
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.about {
  background-color: #f2f2f2;
  background-image: linear-gradient(#f2f2f2cf, #f2f2f2cf), url(img/common/noise.png);;
  background-size: 100px;
  width: 100%;
  position: relative;
  z-index: 2;
  padding: 188px 0 128px;
}

.about .obj-dia {
  top: -200px;
  right: -200px;
}

.about-obj.obj-tri {
  width: 316px;
  height: 325px;
  top: 143px;
  left: -190px;
}
.about-obj.obj-circle {
  width: 300px;
  height: 300px;
  top: -290px;
  right: -148px;
}



.about .section-header {
  display: block;
  max-width: 1032px;
  margin: 0 auto;
  padding: 0 16px;
}
.about .section-header__heading {
  display: inline-block;
  margin-right: 12px;
  font-size: 72px;
  font-weight: 200;
}
.about .section-header__heading__ja {
  display: inline-block;
}
.about .section-header__text {
  margin-top: 48px;
  line-height: 1.734375;
  letter-spacing: 0.04em;
}
.about-block {
  margin: 72px auto;
  max-width: 1000px;
  display: flex;
}
.about-block__header {
  width: 178px;
}
.about-block__heading {
  font-size: 22px;
  font-weight: 200;
  margin: 0;
}
.about-block__heading__en {
  margin-top: 10px;
  font-size: 12px;
  font-family: "EB Garamond", serif;
  color: #c5461c;
}
.about-block__table {
  flex: 1;
  padding-right: 12px;
  margin-top: -15px;
}
.overview .about-block__table {
  margin-right: -36px;
}
.about-block__table__row {
  display: flex;
  border-bottom: 1px solid #ccc;
  font-family: "Noto Sans JP", sans-serif;
}
.about-block__table__head {
  padding: 15px;
  padding-top: 20px;
  width: 90px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.about-block__table__body {
  padding: 15px;
  font-size: 13px;
  line-height: 1.923;
  flex: 1;
}
.about-block__pict {
  position: relative;
  width: 33.2%;
}
.about-block__pict img {
  width: 100%;
  height: auto;
  position: relative;
  right: -36px;
}
.history .about-block__table__head {
  width: 115px;
}
.about-block__map {
  flex: 1;
  margin-right: calc(50% - 50vw);
}
.about-block__map iframe.pc {
  width: 100%;
  height: auto;
  aspect-ratio: 1024/400;
}
.about-block__map iframe.sp {
  display: none;
}
.client-list__wrapper {
  margin-top: -20px;
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 40px;
}
.client-list__heading {
  border-bottom: 1px solid #ccc;
  padding: 0 15px 15px;
  font-size: 16px;
  font-weight: 200;
  letter-spacing: 0.02em;
}
.client-list ul {
  margin: 15px 0 0 15px;
  padding: 0;
}
.client-list ul li {
  font-size: 13px;
  font-family: "Noto Sans JP",sans-serif;
  font-weight: 300;
  letter-spacing: 0.02em;
  margin-top: 15px;
}


/* --------------------------------------------

  サービス

-------------------------------------------- */
.page-template-page-service .obj-circle {
  width: 300px;
  height: 300px;
  top: -138px;
  right: -108px;
}
.page-template-page-service .obj-dia {
  width: 392px;
  height: 392px;
  top: 1032px;
  left: -303px;
}
.page-template-page-service .obj-tri {
  width: 316px;
  height: 325px;
  top: 2750px;
  right: -225px;
}
.page-template-page-service .obj-sq {
  width: 280px;
  height: 280px;
  top: 3000px;
  left: -200px;
}



.service-intruduction {
  width: 950px;
  margin: 72px auto 56px;
  text-align: center;
}
.service-intruduction__heading {
  font-size: 30px;
  font-weight: 200;
  letter-spacing: 0.06em;
  color: #c5461c;
  font-family: "EB Garamond", serif;
}
.service-intruduction__ja {
  font-size: 11px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.04em;
  margin-top: 12px;
}
.service-intruduction__text {
  margin-top: 16px;
  font-size: 16px;
  line-height: 1.734;
  letter-spacing: 0.04em;
  padding: 24px 64px 0;
  border-top: 1px solid #ccc;
  font-weight: 200;
}
.service-main .services {
  max-width: 1100px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 0 auto;
  position: relative;
}
.services-nav {
  position: sticky;
  top: 75px;
  width: 21.2727%;
  background : #FFFFFF;
  border-radius : 2px;
  border-radius : 2px;
  box-shadow : 0px 0px 3px rgba(0, 0, 0, 0.08);
}
.services-nav__heading {
  font-size: 18px;
  font-family: "EB Garamond", serif;
  font-weight: 300;
  letter-spacing: 0.04em;
  padding: 30px 24px 24px;
  display: flex;
  align-items: center;
  color: #c5461c;
  margin: 0;
}
.services-nav__heading::before {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background: url(img/common/symbol-01.png) no-repeat center center;
  background-size: contain;
  margin-right: 12px;
}
.services-nav__list {
  margin: 0;
  padding: 0;
}
.services-nav__list li a{
  font-size: 12px;
  font-weight: 200;
  letter-spacing: -0.02em;
  display: flex;
  padding: 18px 8px 18px 28px;
  transition: .3s;
  position: relative;
  display: flex;
  line-height: 1.333;
  transition: .3s;
}
.services-nav__list li a:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, rgba(201, 64, 33, 1) 0%, rgba(203, 68, 33, 1) 31.24%, rgba(210, 81, 34, 1) 63.59%, rgba(221, 101, 35, 1) 96.36%, rgba(222, 104, 35, 1) 100%);
  z-index: 1;
  opacity: 0;
  transition: .3s;
}
.services-nav__list li a:after {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 2;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
  transition: .3s;
  margin-top: -3px;
  transition: .3s;
  opacity: 0;
}
.services-nav__list li a .number {
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #c5461c;
  font-weight: 200;
  font-family: "EB Garamond", serif;
  width: 2em;
  transition: .3s;
  position: relative;
  z-index: 2;
}
.services-nav__list li a .text {
  flex: 1;
  font-size: 12px;
  letter-spacing: 0.04em;
  font-weight: 200;
  color: #1a1a1a;
  transition: .3s;
  position: relative;
  z-index: 2;
}
@media (any-hover: hover) {
  .services-nav__list li a:hover:before {
    opacity: 1;
  }
  .services-nav__list li a:hover .number {
    color: #fff;
  }
  .services-nav__list li a:hover .text {
    color: #fff;
  }
  .services-nav__list li a:hover:after {
    opacity: 1;
  }
}
.services-nav__list li.is-open a .number,
.services-nav__list li.is-open a .text {
  color: #fff;
}
.services-nav__list li.is-open a:before,
.services-nav__list li.is-open a:after {
  opacity: 1;
}
.is-open .service-panel__btn__text {
  content: "close";
}
.is-open .service-panel__btn__arrow {
  transform: rotate(225deg);
  top: 0.1em;
}



.services-list {
  margin-left: 16px;
  flex: 1;
}
.service-panel {
  background : #FFFFFF;
  border-radius : 2px;
  box-shadow : 0px 0px 3px rgba(0, 0, 0, 0.08);
  pointer-events: auto;
  cursor: pointer;
}
.service-panel + .service-panel {
  margin-top: 28px;
}
.service-panel__header {
  padding: 46px 38px 38px 64px;
  display: grid;
  grid-template-columns: 1fr 295px;
  gap: 0 48px;
  grid-template-areas:
  "heading figure"
  "text figure";
  align-items: start;
}
.service-panel__heading {
  font-weight: 200;
  letter-spacing: 0.04em;
  grid-area: heading;
}
.service-panel__heading .number {
  display: block;
  font-size: 14px;
  color: #c5461c;
  font-family: "EB Garamond", serif;
  margin-top: 16px;
}
.service-panel__heading .title {
  font-size: 28px;
  font-weight: 200;
  letter-spacing: 0.02em;
  margin: 10px 0 0;
  line-height: 1.4;
}
.service-panel__heading .en {
  display: block;
  font-size: 8px;
  font-family: "EB Garamond", serif;
  font-weight: 200;
  letter-spacing: 0.04em;
  color: #c5461c;
  margin-top: 12px;
}
.service-panel__heading__text {
  font-size: 16px;
  letter-spacing: 0.04em;
  font-weight: 300;
  grid-area: text;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5625;
}
#network-separation .service-panel__heading__text {
  padding-top: 24px;
}
.service-panel__figure {
  grid-area: figure;
}
.service-panel__figure img {
  width: 100%;
  height: auto;
}
.service-panel__body {
  padding: 0 38px 38px 64px;
}
.service-panel__btn {
  width: 100%;
  background: #e6e6e6;
  cursor: pointer;
}
.service-panel__btn__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 21px;
}
.service-panel__btn__text {
  font-size: 12px;
  font-family: "EB Garamond", serif;
  font-weight: 200;
  color: #666;
}
.service-panel__btn__arrow {
  width: 6px;
  height: 6px;
  border-right: 1px solid #666;
  border-bottom: 1px solid #666;
  transform: rotate(45deg);
  margin-left: 8px;
  position: relative;
  top: -0.1em;
}



.panel-content {
  border-top: 1px solid #ccc;
  display: grid;
  grid-template-columns: 25% 1fr;
  gap: 0 24px;
  padding: 21px 44px 32px 0
}
.panel-content__head {
  font-weight: 200;
  letter-spacing: 0.04em;
  padding: 0 0 0 20px;
}
.panel-content__title {
  font-size: 18px;
  font-weight: 200;
  letter-spacing: 0.02em;
  margin: 0;
}
.panel-content__title-en {
  font-size: 8px;
  font-weight: 200;
  letter-spacing: 0.04em;
  color: #c5461c;
  font-family: "EB Garamond", serif;
  display: block;
  margin-top: 8px;
}
.panel-content__body {
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.615;
  letter-spacing: 0.04em;
  font-size: 13px;
}
.panel-content__body p {
  margin: 0;
}
.panel-content__body p + p {
  margin-top: 1em;
}
.panel-content__body ul {
  margin: 1em 0 0;
  padding: 0;
  list-style: none;
}
.panel-content__body ul li {
  margin-top: 0.5em;
}
.panel-content__body ul li:first-child {
  margin-top: 0;
}
.panel-content__body ul li:before {
  content: "・";
  display: inline-block;
  width: 1em;
  margin-right: 0.2em;
}
.panel-content__body .panel-content__points {
  margin: 0;
  padding: 0;
  list-style: none;
}
.panel-content__body .panel-content__points li {
  font-size: 13px;
  margin-top: 1em;
}
.panel-content__body .panel-content__points li:first-child {
  margin-top: 0;
}
.panel-content__body .panel-content__points li:before{
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c5461c;
  margin-right: 0.5em;
  position: relative;
  top: -0.2em;
}

.service-makers {
  width: 935px;
  margin: 158px auto 0;
  padding: 70px 80px 80px;
  aspect-ratio: 1870/1200;
  background: url(img/service/maker_pc.jpg) 0 0 no-repeat;
  background-size: cover;
  color: #fff;
  position: relative;
  z-index: 1;
}
.service-makers .section-header__heading {
  font-size: 28px;
  color: #fff;
  letter-spacing: 0.04em;
  font-family: "Noto Serif JP",serif;
  font-weight: 200;
}
.service-makers .section-header__heading__ja {
  font-size: 12px;
  font-family: "EB Garamond",serif;
}
.service-makers .table-01 {
  margin-top: 40px;
}
.table-01 {
  display: grid;
  grid-template-columns: 250px 1fr;
  grid-auto-rows: auto;
}
.table-01__head {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 200;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 18px 8px 18px 24px;
  line-height: 1.35;
}
.table-01__body {
  display: flex;
  align-items: center;
  padding: 18px 8px 18px 24px;
  font-size: 11px;
  line-height: 1.38;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #ccc;
}
.table-01__head:nth-last-child(2),
.table-01__body:last-child{
  border-bottom: none;
}

.service-flow {
  width: 100%;
  margin: 232px auto;
  background: #f2f2f2 url(img/common/noise.webp);
}
.service-flow__inner {
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.service-flow__main {
  width: 64.61%;
  padding: 136px 128px 128px 0;
}
.service-flow__sub {
  flex: 1;
  background: url(img/service/flow-photo-01.jpg) center center no-repeat;
  background-size: cover;
  margin-right: calc(50% - 50vw);
}
.service-flow .section-header .section-header__heading {
  font-size: 45px;
  margin: 0;
}
.service-flow .section-header .section-header__heading__ja {
  font-size: 12px;
  margin-top: 12px;
}
.service-flow__heading {
  font-size: 28px;
  font-weight: 200;
  letter-spacing: 0.04em;
  font-family: "Noto Serif JP",serif;
}
.service-flow__flow {
  margin-top: 54px;
}
.service-flow__flow .flow {
  display: flex;
}
.service-flow__flow .flow .flow__head {
  width: 100px;
}
.flow__head__step {
  font-size: 10px;
  font-weight: 200;
  letter-spacing: 0.04em;
  font-family: "EB Garamond", serif;
  color: #c5461c;
  vertical-align: middle;
  margin-right: 12px;
  position: relative;
  top: 0.2em;
  padding-left: 4px;
}
.flow__head__number {
  font-size: 32px;
  font-weight: 200;
  letter-spacing: 0.02em;
  font-family: "EB Garamond", serif;
  vertical-align: middle;
}
.flow__heading {
  vertical-align: baseline;
  margin: 0;
  position: relative;
}
.flow__heading::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #c5461c;
  position: absolute;
  left: -30px;
  top: 1.2em;
  z-index: 2;
}
.flow__heading__ja {
  font-size: 19px;
  font-weight: 200;
  letter-spacing: 0.04em;
  display: inline-block;
  margin: 0;
  padding-top: 0.3em;
}
.flow__heading__en {
  font-size: 10px;
  font-weight: 200;
  letter-spacing: 0.04em;
  display: inline-block;
  font-family: "EB Garamond", serif;
  margin-left: 10px;
  color: #c5461c;
}
.flow__text {
  font-size: 13px;
  font-weight: 300;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.538;
  letter-spacing: 0.04em;
  margin-top: 16px;
  padding-bottom: 32px;
}
.service-flow__flow .flow .flow__body {
  flex: 1;
  padding-left: 28px;
  position: relative;
}
.flow__body:after {
  width: 1px;
  height: 100%;
  background: #ccc;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.service-flow__flow .flow:first-child .flow__body:after {
  top: 1.2em;
}
.service-flow__flow .flow .flow__body .flow__title {
  font-size: 18px;
  font-weight: 200;
}
.service-footer {
  width: 100%;
  position: relative;
  margin-top: 224px;
}
.service-footer__img {
  width: 100%;
  height: 0;
  padding-top: 41.7857%;
  background: url(img/service/bg-footer.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 2;
}
.service-footer .obj-tri {
  transform: rotate(-50deg);
  width: 321px;
  height: 321px;
  z-index: 1;
  left: -253px;
  top: -296px;
}
@media screen and (min-width: 1400px) {
  .service-footer__img {
    padding-top: 585px;
  }
}


/* --------------------------------------------

  採用情報

-------------------------------------------- */
.page-template-page-recruit {
  width: 100%;
  background-image: url(img/recruit/bg.webp);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center top;
  overflow-x: hidden;
}
.page-template-page-recruit .obj-01 {
  z-index: 0;
  top: 20px;
  right: -274px;
}
.recruit-main {
  position: relative;
}
.recruit-main .obj-02 {
  width: 328px;
  height: 309px;
  top: 58px;
  left: -279px;
  transform: rotate(41deg);
}
.recruit-main .obj-03 {
  top: 400px;
  right: -98px;
}
.section-job-description .obj-04 {
  width: 289px;
  height: 332px;
  top: -108px;
  right: -56px;
}

.recruit-intruduction {
  text-align: center;
  margin-top: 42px;
}
.recruit-intruduction__heading {
  font-size: 26px;
  font-weight: 200;
  letter-spacing: 0.02em;
}
.recruit-intruduction__text {
  font-size: 14px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.7857;
  letter-spacing: 0.02em;
  margin-top: 32px;
}
.job-nav {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  max-width: 1158px;
  margin: 54px auto 42px;
}
.job-panel {
  background: #fff;
  box-shadow : 0px 0px 7.5px rgba(0, 0, 0, 0.05);
  padding: 80px 24px 42px;
  transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s, background 0.3s ease 0;
}
.job-panel__header__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
}
.job-panel__header__title__ja {
  font-size: 26px;
  font-weight: 200;
  letter-spacing: 0.1em;
}
.job-panel__header__title__en {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: #c5461c;
  font-weight: 200;
  margin-top: 16px;
}
.job-panel__header__img {
  margin-top: 42px;
  width: 100%;
  aspect-ratio: 640/400;
  overflow: hidden;
}
.job-panel__header__img img {
  width: 100%;
  height: auto;
  transition: .3s;
}
.job-panel__content {
  padding: 24px 0 0;
}
.job-panel__content__title {
  font-size: 14px;
  font-weight: 200;
  letter-spacing: 0.02em;
  color: #c5461c;
  text-align: center;
  border-bottom: 1px solid #ccc;
  padding-bottom: 18px;
}
.job-panel__content__text {
  padding: 18px 12px 0;
  font-size: 13px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.769;
  min-height: 12em;
}
.job-panel__content__more {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 1px solid rgba(197, 70, 34, 0.5);
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 0.08em;
  color: #c5461c;
  margin: 16px auto 0;
  transition: .3s;
}
.job-panel__content__more::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-bottom: 1px solid rgba(197, 70, 34, 0.5);
  border-right: 1px solid rgba(197, 70, 34, 0.5);
  transform: rotate(45deg);
  margin-top: 2px;
  transition: .3s;
}
@media (any-hover: hover) {
  .job-panel:hover {
    background: #f5f5f5;
  }
  .job-panel:hover .job-panel__content__more {
    background-color: #c5461c;
    color: #fff;
  }
  .job-panel:hover .job-panel__content__more::after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .job-panel:hover .job-panel__header__img img {
    transform: scale(1.05);
  }
}

.section-career-path {
  background : linear-gradient(0deg, rgba(204, 204, 204, 1) 0%, rgba(213, 213, 213, 0.95) 5.07%, rgba(231, 231, 231, 0.8) 19.66%, rgba(245, 245, 245, 0.63) 36.73%, rgba(253, 253, 253, 0.42) 58.4%, rgba(255, 255, 255, 0) 100%);
  padding: 90px 0;
}
.career-path {
  width: 1158px;
  margin: 0 auto;
  /* padding: 76px 6.56% 56px; */
  padding: 76px 123px 56px;
  background : linear-gradient(30deg, rgba(237, 163, 39, 1) 0%, rgba(226, 133, 46, 1) 35.59%, rgba(204, 70, 62, 1) 100%);
}
.career-path__header {
  display: flex;
  align-items: center;
  color: #fff;
}
.career-path__header__title {
  font-size: 70px;
  font-weight: 200;
  letter-spacing: 0.02em;
  font-family: "EB Garamond", serif;
  margin: 0;
  line-height: 1;
}
.career-path__header__ja {
  margin: 0 0 0 24px;
  padding-top: 36px;
  font-size: 16px;
  line-height: 1;
}
.career-path__note {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(255,255,255,0.9);
  color: #c5461c;
  font-size: 10px;
  font-weight: 200;
  letter-spacing: 0.02em;
  width: 204px;
  height: 30px;
  margin-top: 34px;
  border-radius: 15px;
}
.career-path__steps {
  display: flex;
  margin-top: -12px;
  align-items: flex-end;
}
.career-step {
  width: 25%;
  background: rgba(255,255,255,0.85);
  padding: 0 4% 44px;
  will-change: opacity;
}
.career-step--chief,
.career-step--manager {
  background: rgba(255,255,255,0.9);
}
.career-step__header__img {
  position: relative;
  text-align: center;
}
.career-step--member .career-step__header__img {
  width: 48px;
  height: 112.5px;
  top: -31px;
  left: 52px;
}
.career-step--chief .career-step__header__img {
  width: 71.5px;
  height: 126px;
  top: -28px;
  left: 37px;
}
.career-step--leader .career-step__header__img {
  width: 71.5px;
  height: 132px;
  top: -40px;
  left: 42px;
}
.career-step--manager .career-step__header__img {
  width: 68.5px;
  height: 143.5px;
  top: -46px;
  left: 53px;
}
.career-step--manager .career-step__header__img .img {
  position: relative;
  z-index: 1;
}


.career-step__content {
  font-size: 12px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.666;
  margin-top: 24px;
  position: relative;
  letter-spacing: 0.04em;
}
.career-step__content em {
  font-weight: 700;
  font-style: normal;
}
.career-step--member .career-step__content {
  height: 120px;
}
.career-step--chief .career-step__content {
  height: 150px;
}
.career-step--leader .career-step__content {
  height: 180px;
}
.career-step--manager .career-step__content {
  height: 210px;
}
.career-step--manager .career-step__content::after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background: url(img/common/symbol-01.png) no-repeat center center / contain;
  position: absolute;
  right: 0;
  bottom: 0;
}
.career-step__header__title {
  width: 132px;
  text-align: center;
  margin: 20px auto 0;
}
.career-step__header__title__en {
  font-size: 26px;
  font-family: "EB Garamond", serif;
  font-weight: 200;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #c5461c;
  padding-bottom: 12px;
  color: #c5461c;
  line-height: 1;
}
.career-step__header__title__ja {
  font-size: 11px;
  font-weight: 200;
  letter-spacing: 0.04em;
  color: #4d4d4d;
  margin-top: 10px;
}
.career-step--manager .career-step__header__img::after {
  content: "";
  display: block;
  width: 827.5px;
  height: 166px;
  background: url(img/recruit/path-01.svg) no-repeat center center / contain;
  position: absolute;
  right: 0;
  bottom: -120px;
  z-index: 2;
}
.recruit-scroll-photos {
  width: 100vw;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.recruit-scroll-photos__inner {
  display: flex;
  width: max-content;
  animation: marquee2 160s linear infinite;
}
.recruit-scroll-photos__inner img {
  width: 660px;
  height: 425px;
}
@keyframes marquee2 {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}
.section-job-description {
  background: #f2f2f2;
  position: relative;
}
.section-job-description::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  background-image: linear-gradient(#f2f2f2cf, #f2f2f2cf), url(img/common/noise.png);
  background-size: 100px;
  width: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
}
.job-description {
  position: relative;
  max-width: 1074px;
  margin: 0 auto;
  z-index: 1;
  padding: 188px 0 128px
}
.job-description__catchphrase {
  font-size: 13px;
  font-weight: 200;
  letter-spacing: 0.04em;
  line-height: 1.615;
  font-family: "EB Garamond", serif;
  text-align: right;
  position: absolute;
  right: 0;
  top: 188px;
  color: #666;
}
.job-description__header__title {
  font-size: 70px;
  font-weight: 200;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.02em;
  margin: 0;
  line-height: 1;
}
.job-description__header__ja {
  font-size: 12px;
  font-weight: 200;
  letter-spacing: 0.02em;
  margin-top: 30px;
  color: #c5461c;
}
.job-type {
  padding: 80px 0 60px;
  border-bottom: 1px solid #ccc;
}
.job-type--corporate {
  border-bottom: none;
}
.job-type__status {
  display: flex;
  align-items: center;
  font-size: 22px;
  line-height: 1;
  font-weight: 200;
}
.job-type__status::before {
  content: "";
  width: 24px;
  height: 1px;
  margin: 0 24px 0 8px;
  display: block;
  background : linear-gradient(90deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
}
.job-type__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 30px;
}
.job-type__header {
  width: 34.45%;
  margin-right: 7.45%;
  background: #fff;
  padding: 80px 2.234% 80px;
  box-shadow: 0px 0px 7.5px rgba(0, 0, 0, 0.05);
}
.job-type__header__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.job-type__header__title__ja {
  font-size: 26px;
  font-weight: 200;
  letter-spacing: 0.1em;
}
.job-type__header__title__en {
  font-size: 10px;
  letter-spacing: 0.08em;
  font-weight: 200;
  margin-top: 10px;
  color: #c5461c;
}
.job-type__header__img {
  width: 100%;
  margin-top: 36px;
}
.job-type__header__img img {
  width: 100%;
  height: auto;
}
.job-type__header__job {
  font-size: 16px;
  font-weight: 200;
  letter-spacing: 0.02em;
}
.job-type__header__job__name {
  font-size: 14px;
  font-weight: 200;
  letter-spacing: 0.02em;
  font-family: "EB Garamond", serif;
  color: #c5461c;
  margin-top: 24px;
  text-align: center;
  border-bottom: 1px solid #ccc;
  padding-bottom: 18px;
}
.job-type__header__text {
  font-size: 13px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  letter-spacing: 0.02em;
  margin-top: 18px;
  line-height: 1.769;
  padding: 0 12px;
}
.job-type__content {
  flex: 1;
}
.job-type__content__table__row {
  display: flex;
  border-bottom: 1px solid #ccc;
  font-family: 'Noto Sans JP', sans-serif;
  position: relative;
}
.job-type__content__table__row::before {
  content: "";
  display: block;
  width: 38px;
  height: 1px;
  background: linear-gradient(90deg, rgb(222, 104, 35) 0%, rgb(221, 101, 35) 3.64%, rgb(210, 81, 34) 36.41%, rgb(203, 68, 33) 68.76%, rgb(201, 64, 33) 100%);
  position: absolute;
  left: 0;
  bottom: -1px;
}

.job-type__content__table__head {
  width: 150px;
  padding: 20px 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.615;
  letter-spacing: 0.04em;
}
.job-type__content__table__body {
  flex: 1;
  padding: 20px 6px;
  font-size: 13px;
  letter-spacing: 0.04em;
}
.job-type__content__table__body p {
  margin: 1em 0 0;
  line-height: 1.615;
}
.job-type__content__table__body p:first-child {
  margin-top: 0;
}
.job-type__content__table__body ul {
  margin: 0.5em 0 0;
  padding: 0;
  line-height: 1.615;
}
.job-type__content__table__body ul li {
  display: flex;
}
.job-type__content__table__body ul li:before {
  content: "・";
  width: 1em;
  margin-left: 0.5em;
  display: block;
}
.job-description .link-btn-03 {
  margin: 40px auto 0;
  padding: 24px 0;
  width: 288px;
  display: flex;
}



/* --------------------------------------------

  Q&A

-------------------------------------------- */
.qa-main {
  position: relative;
}
.qa-section {
  box-shadow : 0px 0px 6px rgba(0, 0, 0, 0.1);
  max-width: 1100px;
  margin: 88px auto 0;
  position: relative;
  z-index: 1;
}
.qa-section .obj-tri {
  width: 316px;
  height: 325px;
  z-index: 0;
  left: -367px;
  top: -198px;
  transform: rotate(18deg);
}
.qa-main .obj-circle {
  width: 300px;
  height: 300px;
  z-index: 0;
  right: -220px;
  top: 336px;
}
.qa-section + .qa-section {
  margin-top: 44px;
}
.qa-section__inner {
  background : rgba(255,255,255,0.8);
  padding: 94px 9.09% 64px;
  position: relative;
  z-index: 2;
}
.qa-section__heading {
  font-size: 26px;
  line-height: 1;
  font-weight: 200;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
.qa-section__heading__en {
  margin-top: 12px;
  font-size: 10px;
  letter-spacing: 0.02em;
  color: #c5461c;
  font-weight: 300;
  margin-bottom: 40px;
}
.qa-box {
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  line-height: 1.5;
}
.qa-question {
  display: flex;
  justify-content: space-between;
  padding: 30px 24px;
  cursor: pointer;
  transition: .3s;
}
@media (any-hover: hover) {
  .qa-question:hover {
    background-color: #fafafa;
  }
}
.qa-question__head {
  font-family: "EB Garamond", serif;
  color: #c5461c;
}
.qa-question__text {
  padding-left: 24px;
  flex: 1;
}
.qa-question__icn-box {
  width: 12px;
  display: flex;
}
.qa-question__icn {
  width: 12px;
  position: relative;
  margin-top: 12px;
}
.qa-question__icn::before,
.qa-question__icn::after {
  content: "";
  display: block;
  width: 12px;
  height: 1px;
  background: #c5461c;
  transition: .3s;
}
.qa-question__icn::before {
  transform: rotate(90deg);
  position: absolute;
  left: 0;
  top: 0;
}
.qa-question__icn::after {
  left: 0;
  top: 0;
}
.is-open .qa-question__icn::after {
  display: none;
}
.is-open .qa-question__icn::before {
  transform: rotate(180deg);
}
.qa-answer {
  background: #fafafa;
  padding: 24px 48px;
  display: none;
}
.qa-answer__inner {
  display: flex;
}
.qa-answer__head {
  padding: 16px 24px 16px 0;
  font-family: "EB Garamond", serif;
  color: #c5461c;
  font-size: 15px;
}
.qa-answer__answer {
  font-size: 13px;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.615;
  letter-spacing: 0.02em;
  padding: 16px 0 16px 24px;
  flex: 1;
  border-left: 1px solid #c5461c;
}
.qa-answer__answer ul {
  margin: 0.5em 0;
  padding: 0;
}
.qa-answer__answer ul li {
  display: flex;
}
.qa-answer__list-head {
  margin: 0 0.5em;
}
.qa-answer__list-text {
  flex: 1;
}

/* --------------------------------------------

  プライバシーポリシー

-------------------------------------------- */
.privacy-main {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 40px 0;
}
.policy-block {
  margin-top: 32px;
  letter-spacing: 0.02em;
  color: #000;
}
.policy-block__heading-01 {
  font-size: 18px;
  font-weight: 200;
}
.policy-block__body {
  font-size: 13px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.615;
  padding-left: 1em;
}
.policy-block__box-01 {
  background: #f2f2f2;
  padding: 40px;
  margin-top: 24px;
}
.policy-block__box-01__heading {
  font-size: 16px;
  font-weight: 200;
  line-height: 1;
  margin: 0 0 1em;
}
.policy-block__box-01__text {
  font-size: 13px;
  font-weight: 300;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.615;
}


/* --------------------------------------------

  Contact

-------------------------------------------- */
.form-main__lead {
  margin-top: 48px;
  font-size: 16px;
  letter-spacing: 0.02em;
  text-align: center;
  font-weight: 200;
}
.form-main__required {
  font-size: 9px;
  letter-spacing: 0.04em;
  font-weight: 200;
  text-align: center;
  margin-top: 16px;
}
.form-main__required__icn {
  color: #d84b21;
  display: inline-block;
  margin-right: 0.5em;
}
.form__container {
  max-width: 1000px;
  margin: 48px auto 0;
  position: relative;
}
.form__container .obj-tri {
  left: -183px;
  top: -62px;
  z-index: 1;
}
.form__container .obj-circle {
  right: -160px;
  bottom: -60px;
  z-index: 1;
}
.form__inner {
  position: relative;
  z-index: 2;
  background: rgba(255,255,255,0.9);
  box-shadow : 0px 0px 6px rgba(0, 0, 0, 0.08);
}
.form__inner {
  padding: 80px 15%;
}
.form__inner .form {
  margin-top: 60px;
}
.form__steps {
  display: flex;
  justify-content: center;
}
.form__steps__step {
  text-align: center;
  margin: 0 5%;
}
.form__steps__number {
  display: grid;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #1a1a1a;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 25px;
  letter-spacing: 0.02em;
  line-height: 1;
  font-family: "EB Garamond",serif;
  padding-bottom: 0.05em;
}
.form__steps__step--active .form__steps__number {
  background-color: #1a1a1a;
  color: #fff;
}
.form__steps__text {
  font-size: 12px;
  letter-spacing: 0.04em;
  margin-top: 12px;
  font-weight: 200;
}
.form-complete {
  text-align: center;
}
.form-complete__heading {
  margin-top: 110px;
  font-weight: 200;
  font-size: 30px;
  line-height: 1;
}
.form-complete__symbol {
  width: 63px;
  height: 63px;
  margin: 54px auto 0;
}
.form-complete__message-01 {
  font-size: 38px;
  letter-spacing: 0.02em;
  font-weight: 300;
  font-family: "EB Garamond",serif;
  margin-top: 56px;
}
.form-complete__message-02 {
  font-size: 14px;
  line-height: 2.357;
  font-family: "Noto Sans JP", sans-serif;
  margin-top: 48px;
}
.form-complete__message-02 > p {
  margin-top: 2em;
}
.form-complete__links {
  max-width: 194px;
  margin: 72px auto 0;
}
.form-complete__links {
  display: grid;
  grid-template-columns: 1fr;
  gap: 35px;
}

.form__row {
  display: flex;
  font-size: 16px;
  align-items: center;
}
.form__head {
  padding: 10px 0;
  width: 27%;
  letter-spacing: 0.04em;
}
.form__required {
  font-size: 7px;
  color: #d84b21;
  display: inline-block;
  margin-left: 4px;
  vertical-align: baseline;
}
.form__input {
  padding: 10px 0;
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
}
.form__input select {
  appearance: none;
  width: 100%;
  border: 1px solid #808080;
  background: #fff;
  position: relative;
  border-radius: 4px;
  padding: 8px 24px;
  color: #1a1a1a;
  font-size: 12px;
}
.form__input .input-select {
  position: relative;
}
.form__input .input-select:after {
  content: "▼";
  position: absolute;
  right: 20px;
  top: 8px;
  color: #b3b3b3;
  font-size: 10px;
  pointer-events: none;
}
.form__input input {
  line-height: 1;
}
.form__input input[type="text"],
.form__input input[type="tel"],
.form__input input[type="email"],
.form__input textarea {
  appearance: none;
  width: 100%;
  border: 1px solid #808080;
  background: #fff;
  position: relative;
  border-radius: 4px;
  padding: 8px 24px;
  font-family: "Noto Sans JP", sans-serif;
  color: #1a1a1a;
  font-size: 12px;
}
.form__input textarea {
  padding: 1em 24px;
  line-height: 1.6;
}
.form__input input[type="text"]::placeholder,
.form__input input[type="tel"]::placeholder,
.form__input input[type="email"]::placeholder,
.form__input textarea::placeholder {
  font-size: 12px;
  color: #b3b3b3;
  line-height: 1.5;
}
.form-agreement {
  padding-left: 27%;
}
.form-agreement__link {
  display: inline-block;
  border-bottom: 1px solid #b3b3b3;
  font-size: 13px;
  letter-spacing: 0.04em;
  padding-bottom: 4px;
}
.form-agreement__check {
  font-size: 13px;
  letter-spacing: 0.04em;
}
.form .wpcf7-list-item {
  margin: 0;
}
.form .wpcf7-list-item {
  margin: 0;
}
.form .wpcf7-list-item input[type="checkbox"]{
  position: relative;
  top: 2px;
}
.form-btns {
  margin-top: 32px;
  padding-left: 27%;
}
.btn-submit {
  display: inline-block;
  appearance: none;
  background: #1a1a1a;
  border-radius: 4px;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.04em;
  border: none;
  padding: 20px;
  width: 225px;
  font-weight: 200;
  cursor: pointer;
  transition: .3s;
}
.btn-submit:hover {
  opacity: .8;
}
.form .wpcf7-not-valid-tip {
  margin-top: 0.5em;
}



/* --------------------------------------------

  News

-------------------------------------------- */
body.single,
body.blog,
body.category,
body.archive {
  padding-top: 0;
}
.single .obj-01,
.category .obj-01,
.blog .obj-01,
.archive .obj-01 {
  width: 439px;
  height: 439px;
  top: 154px;
  right: -328px;
}
.single .obj-02,
.category .obj-02,
.blog .obj-02,
.archive .obj-02 {
  width: 392px;
  height: 392px;
  top: 1281px;
  left: -197px;
}
.single .obj-03,
.category .obj-03,
.blog .obj-03,
.archive .obj-03 {
  width: 330px;
  height: 301px;
  bottom: -60px;
  right: -200px;
  transform: rotate(85deg);
}

.news-page-header {
  width: 100%;
  height: 440px;
  background: url(img/news/bg-header-pc.jpg) center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.news-page-header__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 208px 0 0 0;
  color: #fff;
}
.section-header--news {
  flex-direction: row;
  align-items: baseline;
}
.section-header--news .section-header__heading {
  font-size: 70px;
  letter-spacing: 0.02em;
  color: #fff;
}
.section-header--news .section-header__heading__ja {
  margin-left: 30px;
}
.news-page-header__text {
  margin-top: 24px;
  font-size: 16px;
}
.news-container {
  max-width: 1232px;
  margin: 52px auto 0;
  padding: 0 16px;
  display: flex;
  flex-direction: row-reverse;
}
.news-main {
  flex: 1;
  padding: 44px 9.631%;
  border-left: 1px solid #ccc;
}
.news-nav {
  display: none;
}
.sidebar {
  width: 218px;
}

.link-btn-category {
  display: inline-block;
  padding: 8px 16px 8px 8px;
  border: 1px solid #a52a25;
  border-radius: 4px;
  line-height: 1;
  color: #a52a25;
}
.link-btn-category--news {
  color: #a52a25;
  border-color: #a52a25;
}
.link-btn-category--pressrelease {
  color: #d84b21;
  border-color: #d84b21;
}
.link-btn-category--recruit {
  color: #de6823;
  border-color: #de6823;
}
.link-btn-category--case {
  color: #e58525;
  border-color: #e58525;
}
.link-btn-category--other {
  color: #eda327;
  border-color: #eda327;
}

@media (any-hover: hover) {
  .link-btn-category--news:hover {
    color: #a52a25;
  }
  .link-btn-category--pressrelease:hover  {
    color: #d84b21;
  }
  .link-btn-category--recruit:hover  {
    color: #de6823;
  }
  .link-btn-category--case:hover  {
    color: #e58525;
  }
  .link-btn-category--other:hover {
    color: #eda327;
  }
}
.post-header__title {
  font-size: 26px;
  font-weight: 200;
  line-height: 1.5;
  margin: 16px 0 0;
}
.post-header__date {
  font-size: 17px;
  color: #808080;
  margin-top: 16px;
  font-family: "EB Garamond", serif;
}
.post-header__figure {
  margin: 36px 0 0 0;
  max-width: 450px;
}
.post-header__figure img {
  width: 100%;
  height: auto;
}
.post-content {
  padding: 32px 0 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  line-height: 2;
}
.post-content p {
  margin-top: 2em;
}
.post-content a {
  color: #c5461c;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .post-content a:hover {
    text-decoration: none;
  }
}
.post-nav {
  margin: 160px 0 0 33.3%;
}
.post-nav ul {
  display: flex;
}
.post-nav ul li a {
  font-size: 15px;
  font-weight: 200;
  display: flex;
  align-items: center;
}
.post-nav ul li a.prev:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-left: 1px solid #1a1a1a;
  border-top: 1px solid #1a1a1a;
  transform: rotate(-45deg);
  margin-right: 20px;
  position: relative;
  top: 1px;
}
.post-nav ul li a.prev {
  margin-right: 48px;
}
.post-nav ul li a.next:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  transform: rotate(-45deg);
  margin-left: 20px;
  position: relative;
  top: 1px;
}
.post-nav ul li a.list {
  padding: 0 20px;
  margin: 0 48px 0 0;
}
@media (any-hover: hover) {
  .post-nav ul li a:hover {
    color: #a52a25;
  }
  .post-nav ul li a.prev:hover:before,
  .post-nav ul li a.next:hover:after {
    border-color: #a52a25;
  }
}
.post-content img[class^="wp-image-"] {
  max-width: 450px;
  width: 100%;
  height: auto;
}

.sidebar {
  padding: 32px 32px 0 0;
}
.sidebar-section + .sidebar-section {
  margin-top: 54px;
}
.sidebar-section__title {
  font-size: 26px;
  font-family: "EB Garamond",serif;
  font-weight: 200;
  margin: 0;
}
.sidebar-section__title-ja {
  font-size: 11px;
  font-weight: 200;
  margin-top: 12px;
}
.sidebar-list {
  margin: 24px 0 0;
  padding: 0;
}
.sidebar-list li {
  margin: 16px 0 0;
  padding: 0;
}
.sidebar-list li a {
  color: #1a1a1a;
  font-size: 14px;
  font-weight: 200;
  display: flex;
  align-items: center;
  line-height: 1;
}
.sidebar-list li a:before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #1a1a1a;
  margin-right: 8px;
}

.sidebar-list li.cat-all a:before {
  background: #a52a25;
}
.sidebar-list li.cat-news a:before {
  background: #c52a21;
}
.sidebar-list li.cat-pressrelease a:before {
  background: #d84b21;
}
.sidebar-list li.cat-pressrelease a:before {
  background: #d84b21;
}
.sidebar-list li.cat-recruit a:before {
  background: #de6823;
}
.sidebar-list li.cat-case a:before {
  background: #e58525;
}
.sidebar-list li.cat-other a:before {
  background: #eda327;
}

.sidebar-list li.year-all a:before {
  background: #1a1a1a;
}
.sidebar-list li.year-2024 a:before {
  background: #666666;
}
.sidebar-list li.year-2025 a:before {
  background: #666666;
}

.news-main .post-list {
  min-height: 800px;
}
.news-main .post-list .post {
  display: flex;
  padding: 8px;
  position: relative;
}
.news-main .post-list .post + .post {
  margin-top: 54px;
}
.news-main .post-list .post__thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 240px;
  box-shadow : 0px 0px 8.4px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}
.news-main .post-list .post__thumb > img {
  width: 240px;
  height: 240px;
  object-fit: cover;
  transition: .3s;
}
@media (any-hover: hover) {
  .news-main .post-list .post:hover img {
    opacity: .8;
    transform: scale(1.03);
  }
  .news-main .post-list .post:hover .post__body {
    transform: translateX(5px);
    opacity: .8;
  }
}
.news-main .post-list .post__body {
  flex: 1;
  padding: 16px 0 0 54px;
  transition: .3s;
}
.news-main .post-list .post__date {
  color: #808080;
  font-size: 14px;
  font-family: "EB Garamond", serif;
  font-weight: 200;
}
.news-main .post-list .post__title a {
  color: #1a1a1a;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 200;
}
.news-main .post-list .post__title a:before {
  content: "";
  position: absolute;
  inset: 0;
}
.news-main .post-list .post__content {
  margin-top: 16px;
  margin-bottom: 16px;
  font-family: "Noto Sans JP", sans-serif;
  color: #666;
  font-size: 14px;
  line-height: 1.7142;
}
.news-main .post-list .post__category a {
  position: relative;
}


/* --------------------------------------------

  404

-------------------------------------------- */
.container-404 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 10% 0 20%;
  text-align: center;
}
.p-404 {
  font-size: 180px;
  font-weight: 700;
  margin-bottom: 40px;
}
.p-404 .p-404_em {
  color: #c5461c;
}
.container-404 p {
  font-size: 1.6rem;
}
.container-404 p a {
  color: #c5461c;
}


@media screen and (max-width: 767.98px) {
  html {
    overflow-x: hidden;
  }

  body {
    padding-top: 32vw;
  }

  /* --------------------------------------------

    Header

  -------------------------------------------- */
  .header__container {
    height: 16vw;
    padding: 0 0 0 4vw;
  }
  .header-nav {
    display: none;
  }
  .header__logo {
    width: 25.279vw;
    height: 6.667vw;
    margin: 5.333vw 0 0;
  }
  .header__logo a {
    background-size: 25.279vw 6.667vw;
    width: 25.279vw;
    height: 6.667vw;
  }
  .header__menubtn {
    width: 25.867vw;
    height: auto;
  }
  .header__menubtn a {
    display: flex;
    width: 100%;
    font-size: 2.933vw;
    letter-spacing: 0.08em;
  }
  .header__menubtn a:after {
    width: 4vw;
    height: 4vw;
    margin-left: 2.933vw;
  }
  .is-open .header__menubtn a:after {
    width: 4vw;
    height: 3.2vw;
  }

  /* home のヒーローイメージのアニメーション中はヘッダーを非表示にする */
  .home .header__container {
    justify-content: flex-end;
  }
  .home .header__logo {
    position: fixed;
    left: 6.933vw;
    top: 9.6vw;
    transition: all 0.3s ease;
  }
  .home .header {
    border-color: transparent;
    background: rgba(249, 249, 249, 0);
    transition: all 0.3s ease-in-out;
  }
  .home .header.is-visible {
    background: rgba(249, 249, 249, 0.85);
    border-color: rgba(102, 102, 102, 0.5);
  }
  .home .header .header__menubtn {
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
  }
  .home .header.is-visible .header__menubtn {
    opacity: 1;
    pointer-events: auto;
  }



  .home .header__logo a {
    width: 25.279vw;
    height: 6.667vw;
    transition: transform 0.5s ease-in-out;
  }
  .home .header.is-visible .header__logo {
    left: 4vw;
    top: 0;
  }


  .g-nav {
    top: 16.267vw;
    height: calc(100dvh - 16.267vw);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .g-nav__inner {
    margin: 0;
    padding: 13.333vw 35.733vw 0 10.133vw;
    display: block;
  }
  .g-nav__logo {
    display: none;
  }
  .g-nav__list {
    padding-top: 0;
  }
  .g-nav__list__heading {
    font-size: 8vw;
    height: unset;
  }
  .g-nav__list__ul {
    margin: 7.467vw 0 0;
  }
  .g-nav__list__ul li {
    margin: 0;
  }
  .g-nav__list__ul__service {
    display: block;
  }
  .g-nav__list__ul li a {
    padding: 3.733vw 0 3.733vw 2.4vw;
  }
  .g-nav__list__ul__text {
    margin-right: 4.267vw;
  }
  .g-nav__list__ul__text-en {
    font-size: 2.4vw;
    top: 0.533vw;
  }
  .g-nav__list__ul li a .g-nav__list__ul__arrow {
    display: none;
  }
  .g-nav__list__ul li a {
    border-bottom: 1px solid #ccc;
  }
  .g-nav__service {
    padding-top: 0;
  }
  .g-nav__service__heading {
    font-size: 3.467vw;
    letter-spacing: 0.12em;
    transform: rotate(-90deg);
    display: block;
    white-space: nowrap;
    position: absolute;
    right: 6.4vw;
    top: 8vw;
    transform-origin: right;
  }
  .g-nav__service__heading__number {
    font-size: 3.733vw;
    font-weight: 300;
  }
  .g-nav__service__heading__percnt {
    font-size: 2.667vw;
  }
  .g-nav__service__link {
    display: none;
  }
  .g-nav__service__ul {
    display: none;
  }
  .g-nav__service__ul__policy {
    margin-top: 0;
    border-top: 1px solid #ccc;
    padding: 4.267vw 0 0 2.4vw
  }
  .g-nav__service__ul__policy a {
    font-size: 2.4vw;
    padding: 0;
    color: #808080;
    border: none;
  }
  .g-nav__footer {
    border-top: none;
    margin-top: 0;
    padding: 0 0 7.467vw 0;
  }
  .g-nav__footer__inner {
    display: flex;
    padding: 0;
  }
  .g-nav__footer__inner .g-nav__footer__logo {
    width: 13.067vw;
    height: 17.6vw;
    margin: 0 6.4vw 0 10.667vw;
    display: block;
  }
  .g-nav__footer__address {
    display: block;
    line-height: 1.5;
  }
  .g-nav__footer__address__name {
    font-size: 2.667vw;
    margin-bottom: 0.8vw;
  }
  .g-nav__footer__address__text,
  .g-nav__footer__tel {
    font-size: 2.133vw;
    letter-spacing: 0.06em;
  }
  .g-nav__footer__copyright {
    margin-top: 0.8vw;
    font-size: 1.867vw;
  }

  /* --------------------------------------------

    Footer

  -------------------------------------------- */
  .footer {
    background: url(img/common/footer-bg-02.jpg) no-repeat center center / cover;
  }
  .footer::before,
  .footer__inner:before,
  .footer__inner:after {
    content: none;
  }
  .footer__inner {
    padding: 23.2vw 5.867vw 8vw 5.867vw;
  }
  .footer__logo {
    display: block;
    width: 37.067vw;
    height: 9.867vw;
  }
  .footer-nav {
    margin-top: 6.4vw;
  }
  .footer-nav__list {
    font-size: 3.2vw;
    line-height: 1;
    padding: 2.4vw 0;
    margin: 0;
  }
  .footer-nav__list--policy {
    font-size: 2.667vw;
    padding-top: 6.133vw;
  }
  .footer-nav__list li a {
    display: block;
  }
  .footer-information {
    margin-top: 34.933vw;
  }
  .footer-information__name {
    font-size: 3.2vw;
  }
  .footer-information__text {
    font-size: 2.667vw;
  }
  .footer-information__tel {
    font-size: 2.667vw;
  }
  .footer-information__address {
    margin-top: 1.6vw;
    font-size: 2.4vw;
  }
  .copyright {
    margin-top: 1.6vw;
    font-size: 1.867vw;
  }



  .br-sp {
    display: inline-block;
  }
  .br-pc {
    display: none
  }


  /* --------------------------------------------

    共通パーツ

  -------------------------------------------- */
  .pagetop {
    right: 1.6vw;
    bottom: 6.133vw;
  }
  .section-header__heading {
    font-size: 10.667vw;
    letter-spacing: 0.02em;
  }
  .section-header__heading__ja {
    font-size: 2.667vw;
    letter-spacing: 0.04em;
    margin-top: 2.667vw;
  }
  .section-header__text {
    text-align: center;
    font-size: 3.467vw;
    margin-top: 7.467vw;
  }

  /* コンタクトブロック */
  .contact-block {
    margin: 32vw auto 0;
  }

  .contact-block .section-header__text {
    margin-top: 10.667vw;
    font-size: 3.467vw;
    line-height: 1.615;
    text-align: center;
  }
  .contact-block__main {
    display: block;
    margin-top: 0;
    padding: 0 6.4vw 4.267vw;
  }
  .contact-block__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14.933vw 0 19.733vw;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .contact-block__block:last-child {
    border-bottom: none;
  }
  .contact-block__block {
    padding: 12.8vw 0 10.667vw;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
  .contact-block__title {
    margin-top: 5.333vw;
    font-size: 5.867vw;
    letter-spacing: 0.02em;
  }
  .contact-block__text {
    margin-top: 4vw;
    font-size: 3.467vw;
    line-height: 1.615;
  }
  .contact-block__link {
    margin-top: 4.8vw;
  }
  .contact-block__link a {
    width: 37.333vw;
    height: 9.333vw;
    font-size: 3.2vw;
    letter-spacing: 0.08em;
  }
  .contact-block__icn {
    width: 5.333vw;
    height: 5.333vw;
  }

  /* ボタン */
  .link-btn-03 {
    font-size: 2.4vw;
    padding: 3.2vw 6.4vw;
  }
  .link-btn-03__text {
    font-size: 2.4vw;
  }
  .link-btn-03::after {
    width: 1.067vw;
    height: 1.067vw;
  }

  /* --------------------------------------------

    HOME

  -------------------------------------------- */

  /* ヒーローイメージ */
  .hero {
    width: 100%;
    height: 100svh;
    overflow-x: clip;
  }
  .hero__inner {
    padding: 50.667vw 6.667vw 0;
    height: 100svh;
  }

  .hero__nav {
    display: none;
  }
  .hero__text-01 {
    font-size: 4.267vw;
  }
  .hero__text-01 .number {
    font-size: 6.933vw;
  }
  .hero__text-01 .unit {
    font-size: 4.533vw;
  }
  .hero__text-02 {
    margin-top: 5.867vw;
    width: 70.933vw;
    height: 11.467vw;
    background-image: url(img/home/hero-text-02_sp.png);
    background-size: 70.933vw 11.467vw;
    background-position: center;
    background-repeat: no-repeat;
  }
  .hero__text-03 {
    width: unset;
    height: unset;
    margin: 0;
    background: none;
  }
  .hero__text-03 .unit {
    display: block;
    margin-top: 2.933vw;
    width: 32.267vw;
    height: 12vw;
    background-image: url(img/home/hero-text-03_100.png);
    background-size: 32.267vw 12vw;
    background-position: center;
    background-repeat: no-repeat;
    animation: heroAnime02 1s forwards;
    animation-delay: 2.75s;
    text-indent: -2666.4vw;
    opacity: 0;
  }
  .hero__text-03 .number {
    display: none;
  }
  .hero__text-03 .uptime {
    display: block;
    margin-top: 4.8vw;
    width: 59.2vw;
    height: 11.2vw;
    background-image: url(img/home/hero-text-03_uptime.png);
    background-size: 59.2vw 11.2vw;
    background-position: center;
    background-repeat: no-repeat;
    text-indent: -2666.4vw;
    animation: heroAnime02 1s forwards;
    animation-delay: 3s;
    opacity: 0;
  }
  .hero__text-04 {
    font-size: 4vw;
    line-height: 1.438;
    margin-top: 3.2vw;
  }
  .hero__news {
    width: 100%;
    margin-top: 13.867vw;
  }
  .hero__news__inner {
    height: auto;
  }
  .hero__news__head {
    width: 17.333vw;
    height: 20.267vw;
    font-size: 2.933vw;
  }
  .hero__news__body {
    padding: 2.133vw 3.2vw;
  }
  .hero__news__item__thumb {
    width: 24vw;
    height: 16vw;
    margin-right: 3.2vw;
  }
  .hero__news__item__title {
    font-size: 2.667vw;
  }
  .circle-wrapper {
    display: none;
  }
  .bar-scroll {
    display: block;
    position: absolute;
    bottom: 1.067vw;
    left: 50%;
    margin-left: -0.067vw;
    width: 0.133vw;
    height: 11.2vw;
    background: #ccc;
  }
  .bar-scroll__inner {
    position: relative;
  }
  .bar-scroll__text {
    font-size: 2.4vw;
    position: absolute;
    top: 3.2vw;
    left: -5.067vw;
    letter-spacing: 0.1em;
  }
  .bar-scroll__bar {
    display: block;
    width: 0.133vw;
    background-color: #c52a21;
    animation: barScroll 1s ease-in-out infinite;
  }
  @keyframes barScroll {
    0% {
      height: 0;
    }
    70% {
      height: 11.2vw;
    }
    71% {
      height: 0;
    }
    100% {
      height: 0;
    }
  }

  .hero .obj-circle {
    width: 58.4vw;
    height: 58.4vw;
    right: -25.067vw;
    top: -29.6vw;
  }
  .hero .obj-tri.obj-01 {
    width: 58.667vw;
    height: 60.267vw;
    left: -37.6vw;
    top: -26.933vw;
  }
  .hero .obj-dia {
    width: 77.867vw;
    height: 77.867vw;
    right: -33.6vw;
    top: 53.333vw;
  }
  .hero .obj-tri.obj-02 {
    width: 53.067vw;
    aspect-ratio: 584/664;
    left: -24.8vw;
    top: unset;
    bottom: -41.6vw;
  }
  .hero .obj-sq {
    width: 42.667vw;
    height: 42.667vw;
    right: -24.267vw;
    bottom: -33.6vw;
  }
  .home-service .obj-02 {
    display: none;
  }
  .home-service .obj-03 {
    display: none;
  }
  .home-service .obj-01 {
    width: 43.733vw;
    height: 43.733vw;
    right: -24vw;
    top: -24.8vw;
  }




  /* About us */
  .home-about {
    background-image: url(img/home/about-bg-01_sp.jpg);
    background-size: cover;
  }
  .home-about__container {
    margin: 0 auto;
    flex-direction: column;
    align-items: flex-start;
    padding: 45.867vw 6.667vw 30.667vw;
  }
  .home-about__container .section-header {
    width: auto;
    padding: 0;
  }
  .home-about__body {
    padding: 0;
  }
  .home-about__text-01 {
    margin-top: 8.533vw;
    font-size: 5.333vw;
    line-height: 1.45;
    letter-spacing: 0.06em;
  }
  .home-about__text-02 {
    margin-top: 6.4vw;
    font-size: 3.467vw;
    line-height: 1.615;
  }
  .home-about .link-btn-01 {
    margin: 16vw 0 0;
    width: 30.933vw;
    font-size: 2.4vw;
  }
  /* サービス */
  .home-service {
    padding: 26.667vw 0 25.6vw;
  }
  .home-service .section-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .home-service .section-header .section-header__heading__ja {
    display: block;
    margin: 4.267vw 0 0;
  }
  .home-service .section-header__heading__text {
    margin-top: 9.6vw;
    font-size: 3.467vw;
    line-height: 1.615;
    text-align: left;
    padding: 0 6.667vw;
  }
  .home-service__list {
    margin: 8vw 0 0;
  }
  .home-service__list__item {
    width: 72vw;
    padding: 0 1.333vw;
  }
  .home-service__list__item__link {
    height: 127.467vw;
    padding: 4vw 4vw 6.667vw;
  }
  .home-service__list__item__body {
    padding: 9.6vw 2.667vw 0;
  }
  .home-service__list__item__number {
    font-size: 2.933vw;
  }
  .home-service__list__item__title {
    font-size: 4.8vw;
    margin-top: 2.133vw;
  }
  .home-service__list__item__title__en {
    font-size: 1.6vw;
    margin-top: 2.133vw;
  }
  .home-service__list__item__text {
    font-size: 3.2vw;
    margin-top: 4.267vw;
    line-height: 1.58333;
  }
  .home-service__list__more {
    bottom: 7.467vw;
    right: 8vw;
  }
  .home-service .link-btn-04__text {
    font-size: 2.4vw;
  }
  .home-service .link-btn-04 {
    margin: 11.2vw auto 0;
    width: 32vw;
    padding: 2.667vw 4.267vw;
    height: unset;
  }
  .home-service__list__more::after {
    width: 1.067vw;
    height: 1.067vw;
    position: relative;
    top: 0.267vw;
  }
  .home-service .carousel-nav {
    margin-top: 8vw;
  }
  /* お知らせ */
  .home-news {
    padding: 24vw 4vw;
  }
  .home-news__container {
    padding: 0;
  }
  .home-news .section-header.section-header--vertical {
    display: block;
    padding: 0 4vw 5.333vw;
  }
  .home-news .section-header__heading {
    display: inline-block;
    vertical-align: baseline;
    font-size: 10.667vw;
  }
  .home-news .section-header__heading__ja {
    font-size: 2.667vw;
    vertical-align: baseline;
    display: inline-block;
    margin-left: 4.267vw;
  }
  .home-news .section-header__heading__text{
    margin-top: 6.4vw;
    font-size: 3.2vw;
    line-height: 1.615;
    text-align: left;
  }
  .home-news__column {
    width: auto;
    margin: 6.4vw auto 0;
  }
  .home-news__thumb {
    display: none;
  }
  .home-news__article-list {
    padding: 0;
  }
  .home-news__article-list li {
    border-color: #ccc;
  }
  .home-news__article {
    display: block;
    height: auto;
    padding: 5.333vw 4vw;
  }
  .home-news__article__head {
    display: flex;
    align-items: flex-end;
    gap: 4vw;
  }
  .home-news__article__head__inner {
    display: block;
  }
  .home-news__article__thumb {
    display: block;
    width: 53.333vw;
    height: auto;
    grid-area: thumb;
    aspect-ratio: 3/2;
    overflow: hidden;
  }
  .home-news__article__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .home-news__article__date {
    font-size: 2.933vw;
  }
  .home-news__article__category {
    margin-top: 1.6vw;
    margin-bottom: 1.6vw;
    font-size: 1.6vw;
    display: inline-flex;
  }
  .home-news__article__title {
    font-size: 3.2vw;
    line-height: 1.58333;
    font-weight: 300;
    margin-top: 1em;
    padding: 0;
  }
  .home-news__article::after {
    top: 21.333vw;
  }
  .home-news .link-btn-01 {
    width: 32vw;
    margin: 19.2vw auto 0;
    font-size: 2.4vw;
  }

  .home-recruit {
    margin: 0 auto;
    padding: 30.933vw 4vw 0;
  }
  .home-recruit__container {
    padding: 21.333vw 6.667vw 14.4vw;
    background-image: url(img/home/recruit-bg_sp.jpg);
  }
  .home-recruit__main {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .home-recruit .section-header {
    align-items: center;
    padding: 0 0 6.4vw;
    border-bottom: 1px solid #ccc;
    width: calc(100% - 8vw);
    margin: 0 auto;
  }
  .home-recruit__body {
    border-left: none;
    padding: 7.467vw 2.667vw 0 2.667vw;
    flex: 1;
  }
  .home-recruit__text-01 {
    font-size: 4.8vw;
    line-height: 1.333;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .home-recruit__photo__sp {
    display: block;
    margin: 6.4vw auto 0;
  }
  .home-recruit__photo__sp img {
    width: 100%;
    height: auto;
  }
  .home-recruit__text-02 {
    font-size: 3.467vw;
    line-height: 1.615;
    margin-top: 5.333vw;
    padding: 0 2.133vw;
  }
  .home-recruit__body .link-btn-01 {
    display: flex;
    margin: 10.667vw auto 0;
    width: 32vw;
    font-size: 2.4vw;
  }
  .home-recruit__photos {
    display: none;
  }
  .home-recruit .obj-04 {
    width: 45.867vw;
    height: 46.933vw;
    left: -22.4vw;
    bottom: -29.6vw;
  }
  .home-recruit .obj-03 {
    width: 43.467vw;
    height: 43.467vw;
    right: -17.067vw;
    top: 8.533vw;
    display: block;
  }
  .home-recruit .obj-02 {
    width: 45.867vw;
  }





  /* --------------------------------------------

    会社概要

  -------------------------------------------- */
  .about-obj.obj-circle {
    width: 43.733vw;
    height: 43.733vw;
    top: -43.733vw;
    right: -27.733vw;
  }
  .about-obj.obj-tri {
    transform: rotate(-101deg);
    width: 44.533vw;
    height: 43.2vw;
    top: 52.267vw;
    right: 0;
    left: -31.2vw;
  }
  .about .obj-dia {
    width: 57.067vw;
    height: 57.067vw;
    top: -28.533vw;
    right: -28.533vw;
  }

  .message {
    padding-top: 8.533vw;
    padding-bottom: 21.333vw;
  }
  .message__title {
    font-size: 5.333vw;
    letter-spacing: 0.02em;
    text-align: center;
  }
  .message__container {
    display: block;
    margin-top: 10.667vw;
    padding: 0;
  }
  .message__container > .message__heading {
    display: block;
    text-align: center;
  }
  .message__body > .message__heading {
    display: none;
  }
  .message__heading__ja {
    font-size: 4.8vw;
  }
  .message__heading__en {
    font-size: 2.667vw;
  }
  .message__photo {
    width: 75.733vw;
    margin: 2.667vw auto 0;
  }
  .message__photo img {
    width: 100%;
    height: auto;
  }
  .message__profile .name .role {
    font-size: 2.667vw;
  }
  .message__profile .name .name__ja {
    font-size: 4.267vw;
  }
  .message__profile {
    margin-top: 4vw;
  }
  .message__profile .name__en {
    font-size: 2.133vw;
  }
  .message__body {
    padding: 0;
  }
  .message__body__text {
    margin-top: 6.4vw;
    font-size: 3.467vw;
    padding: 0 12vw;
  }
  .about .marquee__inner span {
    font-size: 20vw;
  }
  .about .marquee {
    top: -11.467vw;
  }
  .about .obj-01 {
    display: none;
  }

  .about {
    padding: 29.867vw 6.667vw 17.067vw;
  }
  .about .section-header {
    padding: 0;
  }
  .about .section-header__heading {
    display: block;
    font-size: 10.667vw;
  }
  .about .section-header__heading__ja {
    font-size: 2.667vw;
    margin-top: 5.333vw;
  }
  .about .section-header__text {
    margin-top: 6.4vw;
    line-height: 1.538;
    font-size: 3.467vw;
    letter-spacing: 0.02em;
    padding: 0;
  }
  .about-block {
    margin: 5.333vw auto 0;
    flex-direction: column;
  }
  .about-block__pict {
    order: 1;
    width: 100%;
    margin: 0;
  }
  .about-block__pict img {
    position: static;
  }

  .about-block__header {
    order: 2;
  }
  .about-block__table {
    order: 3;
  }
  .about-block__header {
    width: unset;
    margin: 10.133vw 0 0;
  }
  .about-block__heading {
    font-size: 5.333vw;
    display: inline-block;
    vertical-align: baseline;
  }
  .about-block__heading__en {
    display: inline-block;
    font-size: 2.4vw;
    margin: 0 0 0 2.667vw;
  }
  .about-block__table {
    width: 100%;
    margin: 6.4vw 0 0;
  }
  .about-block__table__head {
    padding: 3.2vw 2.133vw;
    width: 20.267vw;
    font-size: 3.467vw;
    line-height: 1.666;
  }
  .about-block__table__body {
    padding: 3.2vw 0;
    font-size: 3.2vw;
    line-height: 1.666;
  }
  .about-block.access,
  .about-block.clients {
    flex-direction: column-reverse;
  }
  .about-block__map {
    margin: 5.333vw 0 0;
  }
  .about-block__map iframe.pc {
    display: none;
  }
  .about-block__map iframe.sp {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 640 / 376;
  }
  .history .about-block__table__row {
    display: block;
  }
  .history .about-block__table__head {
    width: auto;
    padding: 3.2vw 0 0 1.6vw;
  }
  .history .about-block__table__body {
    padding: 1.6vw 0 3.2vw 4.8vw;
  }
  .client-list__wrapper {
    margin: 0;
    display: block;
  }
  .client-list__heading {
    padding: 0 0 2.667vw 1.6vw;
    margin: 8.533vw 0 3.2vw;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 3.467vw;
    font-weight: 500;
  }
  .client-list ul {
    margin: 0 0 0 4.8vw;
    padding: 0;
  }
  .client-list ul li {
    font-size: 3.2vw;
    margin-top: 0.8em;
  }

  /* --------------------------------------------

    サービス

  -------------------------------------------- */
  .page-template-page-service .obj-circle {
    width: 43.733vw;
    height: 43.733vw;
    right: -15.2vw;
    top: -9.867vw;
  }
  .page-template-page-service .obj-dia {
    width: 57.067vw;
    height: 57.067vw;
    top: 385.6vw;
    left: -45.333vw;
  }
  .page-template-page-service .obj-sq {
    width: 40.533vw;
    height: 40.533vw;
    top: 874.133vw;
    left: -35.2vw;
  }
  .page-template-page-service .obj-tri {
    width: 48vw;
    height: 43.2vw;
    top: 600.533vw;
    right: -34.667vw;
  }
  .page-template-page-service .service-footer .obj-tri {
    width: 42.667vw;
    height: 48vw;
    right: unset;
    top: -60vw;
    left: -65.6vw;
    transform: rotate(-50deg);
}


  .service-intruduction {
    width: auto;
    margin: 6.4vw auto 8.533vw;
    padding: 0 6.667vw;
  }
  .service-intruduction__heading {
    font-size: 4.8vw;
    margin: 0;
  }
  .service-intruduction__ja {
    font-size: 2.667vw;
    margin-top: 2.667vw;
  }
  .service-intruduction__text {
    margin-top: 4.267vw;
    font-size: 3.467vw;
    line-height: 1.615;
    padding: 4.267vw 2.667vw 0;
    text-align: left;
  }
  .services-nav {
    top: 16.533vw;
    width: 10.133vw;
  }
  .services-nav__heading {
    font-size: 3.2vw;
    writing-mode: vertical-lr;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    width: 100%;
    padding: 6.4vw 0 0 0;
  }
  .services-nav__heading::before {
    margin: 0 0 2.667vw 0;
  }
  .services-nav__list {
    margin: 4.267vw 2.667vw;
  }
  .services-nav__list li {
    border-top: 1px solid #ccc;
  }

  .services-nav__list li a {
    padding: 0;
  }
  .services-nav__list li a .text {
    display: none;
  }
  .services-nav__list li a .number {
    color: #1a1a1a;
    font-size: 3.2vw;
    padding: 3.2vw 0;
    text-align: center;
  }
  .services-nav__list li.is-open a:before,
  .services-nav__list li.is-open a:after {
    display: none;
  }
  .services-nav__list li.is-open a .number,
  .services-nav__list li.is-open a .text {
    color: inherit;
  }
  .services-nav__list li a.is-active .number{
    color: #c5461c;
  }
  .services-nav__list li a:before {
    transition: none;
  }
  .services-nav__list li a.is-active:before {
    display: block;
    width: 0.533vw;
    position: absolute;
    top: 0;
    left: -2.667vw;
    transition: none;
    opacity: 1;
  }
  .services-nav__list li a.is-active .number{
    color: #c5461c;
  }
  .services-list {
    margin-left: 3.2vw;
    padding-right: 4vw;
  }
  .service-panel__header {
    padding: 6.667vw;
    display: flex;
    flex-direction: column;
  }
  .service-panel__header__heading {
    font-size: 4.8vw;
    margin: 0;
    order: 1;
  }
  .service-panel__heading .number {
    font-size: 2.933vw;
  }
  .service-panel__heading .title {
    font-size: 5.333vw;
    line-height: 1.045;
    margin: 1.6vw 0 0;
  }
  .service-panel__heading .en {
    font-size: 1.6vw;
    margin-top: 2.133vw;
  }
  .service-panel__heading__text {
    font-size: 3.467vw;
    margin-top: 3.2vw;
    line-height: 1.615;
    order: 3;
  }
  #network-separation .service-panel__heading__text {
    padding-top: 0;
  }
  .service-panel__figure {
    order: 2;
    margin-top: 4.267vw;
  }
  .service-panel__btn__text {
    font-size: 2.4vw;
    color: #fff;
  }
  .service-panel__btn__arrow {
    width: 1.067vw;
    height: 1.067vw;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    top: 0;
  }
  .service-panel__btn {
    border-radius: 0 0 0.533vw 0.533vw;
    background : linear-gradient(180deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
  }
  .service-panel + .service-panel {
    margin-top: 3.733vw;
  }
  .service-panel__body {
    padding: 6.4vw 6.667vw 0;
  }
  .service-panel__body__head {
    font-size: 3.467vw;
    margin-top: 0;
  }
  .service-panel__body {
    padding: 0 4vw 0;
  }
  .panel-content {
    display: block;
    padding: 8vw 2.667vw;
  }
  .panel-content__head {
    padding: 0;
    display: flex;
    align-items: flex-end;
  }
  .panel-content__title {
    font-size: 4.267vw;
  }
  .panel-content__title-en {
    font-size: 2.133vw;
    margin-left: 2.667vw;
  }
  .panel-content__body {
    font-size: 3.2vw;
    margin-top: 5.333vw;
  }
  .panel-content__body .panel-content__points li {
    font-size: 3.2vw;
    margin-top: 0.5em;
    display: flex;
  }
  .panel-content__body .panel-content__points li::before {
    top: 0.7em;
  }
  .service-flow {
    margin: 40vw 0 0;
    position: relative;
  }
  .service-flow__heading {
    font-size: 4.267vw;
  }
  .service-flow__inner {
    display: block;
  }
  .service-flow__main {
    width: 100%;
    padding: 42.667vw 6.667vw 18.667vw;
  }
  .service-flow__sub {
    position: absolute;
    width: 88vw;
    height: 48.267vw;
    top: -23.467vw;
    right: 0;
    z-index: 1;
    background: url(img/service/flow-photo-01_sp.jpg) no-repeat center center / cover;
    background-size: 88vw 48.267vw;
  }
  .service-flow .section-header .section-header__heading {
    font-size: 9.333vw;
    margin: 0;
  }
  .service-flow .section-header .section-header__heading__ja {
    font-size: 2.4vw;
    margin-top: 4.267vw;
  }
  .service-flow__flow {
    margin-top: 9.6vw;
  }
  .service-flow__flow .flow .flow__head {
    width: 9.6vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-right: 2.667vw;
  }
  .flow__head__number {
    font-size: 5.333vw;
  }
  .flow__head__title {
    font-size: 3.2vw;
    margin-top: 2.667vw;
  }
  .flow__head__step {
    font-size: 2.667vw;
    margin: 0;
    padding: 0;
  }
  .service-flow__flow .flow .flow__body {
    padding-left: 4.267vw;
    padding-top: 1.067vw;
  }
  .flow__heading__ja {
    font-size: 4.8vw;
    margin: 0;
  }
  .flow__heading__en {
    font-size: 2.4vw;
    margin-left: 3.2vw;
  }
  .flow__text {
    font-size: 3.2vw;
    margin-top: 4vw;
  }
  .flow__heading::before {
    left: -4.8vw;
  }
  .service-makers {
    width: auto;
    margin: 14.933vw 5.333vw 0;
    padding: 16.533vw 8vw 5.333vw;
    aspect-ratio: unset;
    background: url(img/service/maker_sp.jpg) center center no-repeat;
    background-size: cover;
    border-radius: 2.133vw;
    overflow: hidden;
  }
  .service-makers .section-header.section-header--vertical {
    align-items: center;
  }
  .service-makers .section-header__heading {
    font-size: 5.333vw;
  }
  .service-makers .section-header__heading__ja {
    font-size: 2.4vw;
    margin-top: 3.2vw;
  }
  .table-01 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .table-01__head {
    display: block;
    font-size: 3.467vw;
    border: none;
    padding: 4.267vw 2.667vw 0;
  }
  .table-01__body {
    font-size: 2.4vw;
    line-height: 1.555;
    padding: 1.333vw 0 4.267vw 5.333vw
  }
  .service-footer {
    margin-top: 16vw;
  }
  .service-footer__img {
    width: 100%;
    height: 0;
    padding-top: 124.27%;
    background: url(img/service/bg-footer_sp.jpg) center center no-repeat;
    background-size: cover;
  }

  /* --------------------------------------------

    ニュース

  -------------------------------------------- */
  body.single,
  body.blog,
  body.category,
  body.archive {
    padding-top: 0;
  }
  body.single .obj,
  body.blog .obj,
  body.category .obj,
  body.archive .obj {
    display: none;
  }

  .news-page-header {
    background: none;
    height: unset;
  }
  .news-page-header .section-header {
    height: 46.933vw;
    background: url(img/news/bg-header-sp.jpg) center center no-repeat;
    background-size: cover;
    padding: 26.667vw 6.667vw 0;
  }
  .section-header--news .section-header__heading {
    font-size: 10.667vw;
  }
  .section-header--news .section-header__heading__ja {
    margin-left: 2.667vw;
    font-size: 2.667vw;
  }
  .section-header--news .section-header__text {
    font-size: 3.467vw;
    margin-top: 3.2vw;
  }
  .news-page-header__inner {
    padding: 0;
  }
  .news-page-header__text {
    color: #1a1a1a;
    margin: 0;
    padding: 6.667vw;
    line-height: 1.615;
    font-size: 3.467vw;
  }
  .news-container {
    display: block;
    margin: 0;
    padding: 0;
  }
  .news-main {
    border-left: none;
    padding: 0;
  }
  .news-nav {
    display: flex;
  }
  .post-list {
    padding: 6.667vw 0;
  }
  .news-main .post-list .post {
    display: block;
    padding: 6.667vw;
  }
  .news-main .post-list .post__thumb {
    display: flex;
    width: 100%;
    height: auto;
    aspect-ratio: 360/240;
  }
  .news-main .post-list .post__thumb > img {
    width: 100%;
    height: 100%;
  }
  .news-main .post-list .post__body {
    padding: 4.267vw 0 0;
  }
  .news-main .post-list .post__date {
    font-size: 3.467vw;
  }
  .news-main .post-list .post__title a {
    font-size: 4.267vw;
  }
  .news-main .post-list .post__content {
    margin-top: 3.2vw;
    margin-bottom: 1em;
    font-size: 3.2vw;
  }
  .news-main .post-list .post__more {
    font-size: 2.667vw;
    margin-top: 4.267vw;
  }
  .link-btn-category {
    padding: 1.333vw 3.733vw 1.333vw 1.6vw;
    font-size: 1.867vw;
  }
  .news-main .post-list .post + .post {
    margin-top: 0;
  }
  .sidebar {
    display: none;
  }
  .post-nav {
    margin: 21.333vw 6.667vw 0;
  }
  .post-nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.667vw;
    padding: 0;
  }
  .post-nav ul li a {
    font-size: 3.2vw;
    justify-content: center;
  }
  .post-nav ul li a.list {
    padding: 0;
    margin: 0;
  }
  .post-nav ul li a.prev,
  .post-nav ul li a.next {
    margin: 0;
    font-size: 3.2vw;
  }
  /* 記事ページ */
  .post-single {
    padding: 0 6.667vw;
  }
  .post-header__title {
    font-size: 4.267vw;
    line-height: 1.59;
    margin: 3.2vw 0 0;
  }
  .post-header__date {
    font-size: 3.467vw;
    margin-top: 3.2vw;
  }
  .post-content {
    padding: 0;
    font-size: 3.467vw;
  }
  /* カテゴリのナビゲーション */
  .news-nav {
    display: flex;
    margin: 0;
    padding: 0;
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
    position: relative;
    z-index: 1;
  }
  .news-nav__block {
    width: 50%;
    position: relative;
  }
  .news-nav__block:last-child {
    border-left: 1px solid #999;
  }
  .news-nav__title {
    display: flex;
    font-size: 3.733vw;
    align-items: center;
    justify-content: center;
    height: 14.4vw;
    cursor: pointer;
    position: relative;
  }
  .news-nav__title::after {
    content: '';
    display: block;
    width: 1.6vw;
    height: 1.6vw;
    border-bottom: 1px solid #1a1a1a;
    border-right: 1px solid #1a1a1a;
    transform: rotate(45deg);
    margin-left: 4.267vw;
    position: relative;
  }
  .is-open.news-nav__title::after {
    transform: rotate(225deg);
    top: 0.533vw;
  }

  .news-nav__list {
    position: absolute;
    top: 14.667vw;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow : 0px 0px 10px rgba(0, 0, 0, 0.08);
    padding: 5.333vw 0;
    z-index: 2;
    display: none;
    margin: 0;
  }
  .news-nav__list li a{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    color: #1a1a1a;
    font-size: 3.467vw;
    padding: 2.667vw 10.667vw;
  }
  .news-nav__list li a.is-active {
    color: #c52a21;
  }
  .news-nav__list li a.is-active::after {
    content: '';
    display: block;
    width: 1.067vw;
    height: 1.6vw;
    border-bottom: 1px solid #c52a21;
    border-right: 1px solid #c52a21;
    transform: rotate(45deg);
    margin-left: 3.2vw;
  }




  /* --------------------------------------------

    Q&A

  -------------------------------------------- */
  .qa-main {
    padding: 0 2.667vw;
  }

  .qa-section .obj-tri {
    width: 47.467vw;
    height: 45.067vw;
    left: -48.533vw;
    top: -30.667vw;
  }
  .qa-section .obj-circle {
    width: 43.733vw;
    height: 43.733vw;
    right: -23.733vw;
    top: 76.267vw;
  }
  .qa-section {
    margin: 8.533vw 0 0;
    align-items: center;
  }
  .qa-section__inner {
    padding: 16vw 4vw 10.667vw;
  }
  .qa-section__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .qa-section__heading {
    font-size: 5.867vw;
    margin: 0;
  }
  .qa-section__heading__en {
    font-size: 2.4vw;
    margin-top: 3.2vw;
  }
  .qa-question {
    padding: 6.4vw 1.333vw 6.4vw 12.8vw;
    position: relative;
  }
  .qa-question__head {
    font-size: 4.533vw;
    position: absolute;
    left: 2.667vw;
    top: 5.867vw;
  }
  .qa-question__text {
    font-size: 3.467vw;
    padding: 0;
  }
  .qa-question__icn-box {
    width: 2.667vw;
  }
  .qa-question__icn {
    width: 2.667vw;
    height: 2.667vw;
    margin-top: 2.4vw;
  }
  .qa-answer {
    padding: 4.267vw 9.6vw 4.267vw 3.2vw;
  }
  .qa-answer__inner {
    display: flex;
    justify-content: space-between;
  }
  .qa-answer__head {
    padding: 0;
    font-size: 3.733vw;
    width: 9.067vw;
  }
  .qa-answer__answer {
    flex: 1;
    padding: 0 0 0 3.733vw;
    font-size: 2.933vw;
    line-height: 1.818;
  }


  /* --------------------------------------------

    採用情報

  -------------------------------------------- */
  .page-template-page-recruit .obj-01 {
    width: 57.067vw;
    height: 57.067vw;
    top: 2.133vw;
    right: -45.867vw;
  }
  .page-template-page-recruit .obj-02 {
    width: 46.933vw;
    height: 46.4vw;
    left: -30.933vw;
    top: 10.133vw;
  }
  .page-template-page-recruit .obj-03 {
    width: 43.733vw;
    height: 43.733vw;
    right: -29.6vw;
    top: 216vw;
  }
  .section-job-description .obj-04 {
    width: 42.933vw;
    height: 48vw;
    top: -42.133vw;
    right: -22.933vw;
  }
  .page-template-page-recruit {
    background-image: url(img/recruit/bg_sp.webp);
  }
  .recruit-intruduction__heading {
    font-size: 5.333vw;
  }
  .recruit-intruduction {
    margin: 8.533vw auto 0;
    padding: 0 6.667vw;
  }
  .recruit-intruduction__text {
    font-size: 3.467vw;
    line-height: 1.615;
    margin-top: 8.533vw;
    text-align: left;
  }
  .job-nav {
    display: block;
    margin: 30px auto 0;
    padding: 0 6.667vw;
  }
  .job-panel {
    padding: 4.8vw;
    display: block;
    margin-top: 4.8vw;
  }
  .job-panel:first-child {
    margin-top: 0;
  }
  .job-nav__heading {
    font-size: 3.467vw;
    font-weight: 500;
    letter-spacing: 0.02em;
  }
  .job-panel--sales .job-panel__header__title {
    background: url(img/recruit/photo-sales-01_sp.jpg) no-repeat center center / cover;
  }
  .job-panel--engineer .job-panel__header__title {
    background: url(img/recruit/photo-engineer-01_sp.jpg) no-repeat center center / cover;
  }
  .job-panel--corporate .job-panel__header__title {
    background: url(img/recruit/photo-corporate-01_sp.jpg) no-repeat center center / cover;
  }
  .job-panel__header__title {
    aspect-ratio: 574 / 244;
    justify-content: center;

  }
  .job-panel__header__title__ja {
    font-size: 6.667vw;
    color: #fff;
    letter-spacing: 0.14em;
    text-shadow : 0px 0px 5px rgba(31, 24, 21, 0.5);
    margin-top: 4.267vw;
  }
  .job-panel__header__title__en {
    font-size: 2.4vw;
    margin-top: 2.4vw;
  }
  .job-panel__header__img {
    display: none;
  }
  .job-panel__content {
    padding: 4.267vw 0 0;
  }
  .job-panel__content__title {
    font-size: 3.467vw;
    padding-bottom: 3.2vw;
  }
  .job-panel__content__text {
    padding: 2.133vw 0 0;
    font-size: 3.2vw;
    line-height: 1.583;
    min-height: unset;
  }
  .job-panel__content__more {
    flex-direction: row;
    font-size: 2.667vw;
    margin: 5.333vw auto 0;
    width: 14.4vw;
    height: 5.333vw;
    border: none;
    color: #fff;
    background : linear-gradient(90deg, rgba(222, 104, 35, 1) 0%, rgba(221, 101, 35, 1) 3.64%, rgba(210, 81, 34, 1) 36.41%, rgba(203, 68, 33, 1) 68.76%, rgba(201, 64, 33, 1) 100%);
    border-radius : 2.4vw;
  }
  .job-panel__content__more::after {
    width: 1.067vw;
    height: 1.067vw;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
    margin: 0 0 0 0.8vw;
  }
  .section-career-path {
    padding: 17.067vw 0 0;
  }
  .career-path {
    width: auto;
    margin: 0 auto;
    padding: 25.067vw 6.667vw 14.4vw;
    display: flex;
    flex-direction: column;
  }
  .career-path__header {
    order: 1;
    display: block;
  }
  .career-path__header__title {
    font-size: 10.667vw;
  }
  .career-path__header__ja {
    margin: 4.267vw 0 0;
    padding: 0;
    font-size: 2.667vw;
  }
  .career-path__steps {
    order: 2;
    display: block;
    margin-top: 11.733vw;
  }
  .career-step {
    width: auto;
    padding: 0 6.667vw 8vw;
  }
  .career-step__header {
    display: block;
    padding-top: 9.6vw;
    position: relative;
  }
  .career-step__header__title {
    width: 52.267vw;
    text-align: left;
    margin: 0;
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid #c5461c;
  }
  .career-step__header__title__en {
    font-size: 6.667vw;
    border-bottom: none;
    padding: 0;
    line-height: 1;
    vertical-align: baseline;
    padding-bottom: 2.133vw;
  }
  .career-step__header__title__ja {
    font-size: 2.667vw;
    padding: 0 0 2.667vw 2.667vw;
    position: relative;
    top: 0.267vw;
  }
  .career-step__header__img {
    position: absolute;
  }
  .career-step--member .career-step__header__img {
    width: 9.6vw;
    height: 22.667vw;
    top: -3.2vw;
    left: unset;
    right: 1.333vw;
  }
  .career-step--chief .career-step__header__img {
    width: 11.467vw;
    height: 21.6vw;
    top: -2.933vw;
    left: unset;
    right: 0.267vw;
  }
  .career-step--leader .career-step__header__img {
    width: 12.267vw;
    height: 22.667vw;
    top: -3.2vw;
    left: unset;
    right: 0.533vw;
  }
  .career-step--manager .career-step__header__img {
    width: 10.667vw;
    height: 22.667vw;
    top: -3.2vw;
    left: unset;
    right: 0.8vw;
  }
  .career-step--member .career-step__content,
  .career-step--chief .career-step__content,
  .career-step--leader .career-step__content,
  .career-step--manager .career-step__content {
    height: auto;
  }
  .career-step--member .career-step__content {
    margin-top: 4.267vw;
  }
  .career-step--manager .career-step__content::after {
    content: none;
  }
  .career-step--manager .career-step__header__img::after {
    width: 16.533vw;
    height: 154.133vw;
    background: url(img/recruit/path-01_sp.svg) no-repeat center center / cover;
    right: 0;
    bottom: -2.667vw;
  }
  .career-path__note {
    order: 3;
    font-size: 2.4vw;
    width: 48vw;
    height: 6.933vw;
    margin: 5.333vw 0 0 auto;
    border-radius: 3.467vw;
  }
  .recruit-scroll-photos__inner img {
    width: 128.267vw;
    height: 82.667vw;
  }
  .job-description {
    padding: 26.133vw 6.667vw 12.8vw;
  }
  .job-description__header__title {
    font-size: 10.667vw;
  }
  .job-description__header__ja {
    font-size: 2.667vw;
    margin-top: 3.467vw;
  }
  .job-description__catchphrase {
    font-size: 2.133vw;
    line-height: 1.375;
    right: 3.2vw;
    top: 9.867vw;
    color: #999;
  }
  .job-type {
    padding: 12.8vw 0 5.333vw;
    border-bottom: none;
  }
  .job-type__status {
    font-size: 3.467vw;
    margin-top: 4.267vw;
  }
  .job-type__status::before {
    width: 4vw;
    margin: 0 1.6vw 0 0;
  }
  .job-type__inner {
    display: block;
    padding-top: 6.4vw;;
  }
  .job-type__header {
    width: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
  }
  .job-type__header__title {
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
  }
  .job-type__header__title__ja {
    font-size: 6.933vw;
    margin: 0;
  }
  .job-type__header__title__en {
    margin-top: 2.667vw;
    margin-left: 4vw;
  }
  .job-type__header__img {
    margin-top: 4.267vw;
  }
  .job-type__header__job {
    display: none;
  }
  .job-type__header__text {
    display: none;
  }
  .job-type__content__table__row {
    color: #333;
  }
  .job-type__content__table__head {
    width: 20vw;
    padding: 4vw 1.067vw;
    font-size: 3.467vw;
  }
  .job-type__content__table__body {
    font-size: 3.2vw;
    padding: 4vw 0;
    line-height: 1.583;
  }
  .job-description .link-btn-03 {
    margin: 5.333vw auto 0;
    padding: 3.2vw 0;
    width: 43.733vw;
  }

  /* --------------------------------------------

    お問合せ

  -------------------------------------------- */
  .form__container .obj-tri {
    width: 47.467vw;
    height: 45.067vw;
    left: -19.467vw;
    top: -5.333vw;
  }
  .form__container .obj-circle {
    width: 43.733vw;
    height: 43.733vw;
    right: -20.533vw;
    bottom: -9.867vw;
  }


  .form-main__lead {
    margin-top: 8.533vw;
    font-size: 3.467vw;
    line-height: 1.615;
  }
  .form-main__required {
    margin-top: 7.467vw;
  }
  .form__container {
    margin-top: 9.6vw;
    padding: 0 4vw;
  }
  .form__steps__number {
    width: 10.667vw;
    height: 10.667vw;
    font-size: 4.8vw;
  }
  .form__steps__text {
    font-size: 2.667vw;
  }
  .form__inner {
    padding: 14.4vw 8vw 19.2vw;
  }
  .form__inner .form {
    margin-top: 11.2vw;
  }
  .form__row {
    display: block;
    font-size: 3.467vw;
  }
  .form__head {
    padding: 2.133vw 0 0;
    width: auto;
  }
  .form__head p,
  .form__input p {
    margin: 0;
  }
  .form__input {
    padding: 2.667vw 0;
  }
  .form__input select {
    padding: 2.133vw 6.4vw 2.4vw 2.667vw;
  }
  .form__input input[type="text"],
  .form__input input[type="tel"],
  .form__input input[type="email"],
  .form__input textarea {
    padding: 1.067vw 2.667vw 1.333vw;
  }
  .page-template-page-confirm .form__input {
    padding: 4vw 0 6.667vw 1em;
  }

  .form-agreement {
    padding-left: 0;
  }
  .form-agreement__link,
  .form-agreement__check {
    font-size: 3.2vw;
  }
  .btn-submit {
    font-size: 3.2vw;
    padding: 4vw;
    width: 44.8vw;
  }
  .form-btns {
    margin-top: 14.4vw;
    padding-left: 0;
    display: grid;
    justify-content: center;
    gap: 4.267vw;
  }
  .form-btns .form-btn {
    display: flex;
    justify-content: center;
  }
  .form-btns .form-btn p {
    margin: 0;
  }
  .wpcf7-spinner {
    display: none;
  }
  .form-complete__heading {
    margin-top: 17.067vw;
    font-size: 5.867vw;
  }
  .form-complete__symbol {
    margin-top: 8vw;
  }
  .form-complete__message-01 {
    font-size: 6.667vw;
    margin-top: 9.6vw;
  }
  .form-complete__message-02 {
    font-size: 3.467vw;
    line-height: 1.923;
    margin-top: 11.2vw;
    text-align: left;
  }
  .page-template-page-contact .section-header__text,
  .page-template-page-confirm .section-header__text,
  .page-template-page-thanks .section-header__text{
    display: none;
  }

  /* --------------------------------------------

    プライバシーポリシー

  -------------------------------------------- */
  .section-header__text {
    text-align: left;
    padding: 0 6.667vw;
    text-align: left;
    line-height: 1.615;
  }
  .privacy-main {
    padding: 2.667vw 6.667vw 0;
  }
  .policy-block {
    margin-top: 9.6vw;
  }
  .policy-block__heading-01 {
    font-size: 4vw;
    letter-spacing: 0.04em;
    margin: 0 0 1em;
  }
  .policy-block__body {
    font-size: 3.2vw;
    padding: 0 2.667vw;
    line-height: 1.666;
  }
  .policy-block__box-01 {
    padding: 8vw 4vw;
    margin-top: 4vw;
  }
  .policy-block__box-01__heading {
    font-size: 3.733vw;
  }
  .policy-block__box-01__text {
    font-size: 2.933vw;
  }

}
