@charset "UTF-8";
/*###################################################################
※※※※ 直接編集禁止 ※※※※
このCSSファイルはSassから生成されていますので直接編集しないようご注意ください。
  編集は拡張子「.scss」ファイルを編集して当ファイルにコンパイルしてください。
  もしくは別途cssファイルを作成して読み込ませてください。
###################################################################*/
:root {
  --base: #0d0d0d;
  --main: #d1a81b;
  --main2: #af8c0e;
  --accent: #ab6625;
  --text: #fff;
  --ls: 0.08em;
}

/*###################################################################
  base（共通設定）
###################################################################*/
* {
  letter-spacing: var(--ls);
}

/*----------------------------------
  html
----------------------------------*/
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 200px;
}
@media (max-width: 768px) {
  [id] {
    scroll-margin-top: 170px;
  }
}

body {
  background-color: var(--base);
  color: var(--text);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

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

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  背景色が伸びて出現
----------------------------------*/
@-webkit-keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header {
  width: 100%;
  position: absolute;
  top: 0;
  z-index: 10;
  background-color: rgba(13, 13, 13, 0.92);
}
@media (max-width: 600px) {
  .header {
    position: static;
  }
}
.header_lower {
  position: static;
}
.header_sticky {
  position: fixed;
}
.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  padding-left: clamp(1.25rem, -38.2867462312rem + 42.7135678392vw, 6.5625rem);
}
@media (max-width: 768px) {
  .header__inner {
    height: 89px;
    padding-right: 16px;
  }
}
.header__logo {
  max-width: clamp(7.5rem, 4.756586169rem + 5.7080131723vw, 10.75rem);
  width: 100%;
}
@media (max-width: 768px) {
  .header__logo {
    max-width: clamp(7rem, 6.3639053254rem + 2.3668639053vw, 7.5rem);
  }
}
.header__menu {
  max-width: clamp(37.125rem, -11.0261627907rem + 93.9534883721vw, 87.625rem);
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
}
@media (max-width: 768px) {
  .header__menu {
    display: none;
  }
}
.header__group {
  max-width: clamp(17.5rem, -4.2448453608rem + 34.7569955817vw, 32.25rem);
  width: 100%;
  height: 83px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  font-size: clamp(0.875rem, -0.0463917526rem + 1.4727540501vw, 1.5rem);
  font-weight: 600;
}
@media (max-width: 1000px) {
  .header__group {
    max-width: 160px;
    grid-template-columns: 1fr;
  }
}
.header__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  background-color: var(--main2);
}
.header__tel::before {
  content: "";
  min-width: clamp(0.75rem, 0.1971649485rem + 0.88365243vw, 1.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-tel.svg) no-repeat 0 0/contain;
  margin-top: clamp(0rem, -0.1842783505rem + 0.29455081vw, 0.125rem);
}
.header__mail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.3125rem, -0.056056701rem + 0.58910162vw, 0.5625rem);
     -moz-column-gap: clamp(0.3125rem, -0.056056701rem + 0.58910162vw, 0.5625rem);
          column-gap: clamp(0.3125rem, -0.056056701rem + 0.58910162vw, 0.5625rem);
  background-color: var(--accent);
}
.header__mail::before {
  content: "";
  min-width: clamp(0.875rem, 0.4143041237rem + 0.736377025vw, 1.1875rem);
  aspect-ratio: 19/17;
  background: url(../images/icon-mail.svg) no-repeat 0 0/contain;
}
.header__hamburger {
  margin-top: -5px;
}

.header-nav {
  max-width: 827px;
  width: 100%;
}
.header-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
}
.header-nav__link {
  font-size: clamp(0.875rem, 0.7694840834rem + 0.2195389682vw, 1rem);
  font-weight: 400;
  line-height: 1;
  --ls: 0.18em;
}
@media (max-width: 768px) {
  .header-nav {
    display: none;
  }
}

@media (hover: hover) and (pointer: fine) {
  .header-nav__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .header-nav__link:hover, .header-nav__link:focus {
    color: var(--main);
  }
}
/*###################################################################
  footer（module）
###################################################################*/
.footer-contact {
  background: url(../images/c-contact-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/c-contact-bg.webp) 1x, url(../images/c-contact-bg@2x.webp) 2x);
  background-image: image-set(url(../images/c-contact-bg.webp) 1x, url(../images/c-contact-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .footer-contact {
    background: url(../images/c-contact-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/c-contact-bg_sp.webp) 1x, url(../images/c-contact-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/c-contact-bg_sp.webp) 1x, url(../images/c-contact-bg_sp@2x.webp) 2x);
  }
}
.footer-contact__inner {
  max-width: 922px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 104px 30px 167px;
}
@media (max-width: 1000px) {
  .footer-contact__inner {
    padding: clamp(2.25rem, -0.9561403509rem + 11.9298245614vw, 6.5rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) clamp(8rem, 6.1611842105rem + 6.8421052632vw, 10.4375rem);
  }
}
.footer-contact__en {
  max-width: clamp(11.75rem, 8.8739035088rem + 10.701754386vw, 15.5625rem);
}
.footer-contact__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 63px;
}
@media (max-width: 768px) {
  .footer-contact__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 42px;
    margin-top: 66px;
  }
}
.footer-contact__box {
  max-width: clamp(24.375rem, 22.1486686391rem + 8.2840236686vw, 26.125rem);
  width: 100%;
}
.footer-contact__link {
  width: 100%;
  height: clamp(6.3125rem, 5.7559171598rem + 2.0710059172vw, 6.75rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 14px;
}
.footer-contact__link_tel {
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  background-color: var(--main2);
}
.footer-contact__link_tel::before {
  content: "";
  min-width: 18px;
  aspect-ratio: 1/1;
  background: url(../images/icon-tel.svg) no-repeat 0 0/contain;
  margin-top: 2px;
}
.footer-contact__link_mail {
  -webkit-column-gap: 9px;
     -moz-column-gap: 9px;
          column-gap: 9px;
  background-color: var(--accent);
}
.footer-contact__link_mail::before {
  content: "";
  min-width: 19px;
  aspect-ratio: 19/17;
  background: url(../images/icon-mail.svg) no-repeat 0 0/contain;
}
.footer-contact__text {
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
}
.footer-contact__text_time {
  margin-top: clamp(1.5rem, 1.1819526627rem + 1.1834319527vw, 1.75rem);
}
.footer-contact__strong {
  font-size: 1.5rem;
}

.footer {
  position: relative;
}
.footer_pos {
  margin-top: clamp(2.9375rem, 1.9038461538rem + 3.8461538462vw, 3.75rem);
}
.footer__inner {
  max-width: 840px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .footer__inner {
    padding: 0 clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem);
  }
}
.footer__logo {
  max-width: 172px;
  display: block;
}
@media (max-width: 500px) {
  .footer__logo {
    margin-inline: auto;
  }
}
.footer__dl {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: clamp(1rem, 0.8409763314rem + 0.5917159763vw, 1.125rem) 15px;
  margin-top: clamp(2rem, 1.5229289941rem + 1.775147929vw, 2.375rem);
}
.footer__dt {
  height: 26px;
  display: grid;
  place-items: center;
  font-size: 0.875rem;
  font-weight: 600;
  border: 1px solid var(--text);
}
.footer__dd {
  font-size: 1.25rem;
}
.footer__dd_address {
  font-size: clamp(0.90625rem, -0.3868534483rem + 5.1724137931vw, 1rem);
  line-height: 1.5;
  margin-top: 1px;
}
.footer__copy {
  font-size: clamp(0.625rem, 0.3917910448rem + 0.7462686567vw, 0.75rem);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  margin-top: clamp(2.3125rem, 1.0403106509rem + 4.7337278107vw, 3.3125rem);
  padding-bottom: clamp(1.25rem, -0.1812130178rem + 5.325443787vw, 2.375rem);
}

.footer-page-top {
  width: clamp(3.125rem, -5.1718189964rem + 13.2616487455vw, 5.4375rem);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  position: absolute;
  bottom: 20px;
  right: 20px;
  z-index: 5;
  background-color: #c99f12;
}
@media (max-width: 768px) {
  .footer-page-top {
    bottom: 77px;
    right: 10px;
  }
}
.footer-page-top::after {
  content: "";
  width: clamp(1.6875rem, -2.1245519713rem + 6.0931899642vw, 2.75rem);
  aspect-ratio: 44/25;
  background: url(../images/icon-page-top.svg) no-repeat 0 0/contain;
}

/*###################################################################
  c-link（module）
###################################################################*/
.c-link-1 {
  max-width: 340px;
  width: 100%;
  height: 72px;
  display: grid;
  place-items: center;
  background-color: var(--main2);
  font-size: 1.5rem;
}

/*###################################################################
  c-title（module）
###################################################################*/
.c-title-m {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 18px;
  line-height: 1;
}
.c-title-m__jp {
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
}

.c-title-l {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  row-gap: 18px;
  line-height: 1;
}
.c-title-l__jp {
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
}

.c-title-ml {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 30px;
  line-height: 1;
}
.c-title-ml__jp {
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
}

/*###################################################################
  br（module）
###################################################################*/
.br-1280-b {
  display: none;
}
@media (max-width: 1280px) {
  .br-1280-b {
    display: block;
  }
}
.br-1000-b {
  display: none;
}
@media (max-width: 1000px) {
  .br-1000-b {
    display: block;
  }
}
.br-900-b {
  display: none;
}
@media (max-width: 900px) {
  .br-900-b {
    display: block;
  }
}
.br-800-b {
  display: none;
}
@media (max-width: 800px) {
  .br-800-b {
    display: block;
  }
}
.br-sp-b {
  display: none;
}
@media (max-width: 768px) {
  .br-sp-b {
    display: block;
  }
}
.br-600-b {
  display: none;
}
@media (max-width: 600px) {
  .br-600-b {
    display: block;
  }
}
.br-500-b {
  display: none;
}
@media (max-width: 500px) {
  .br-500-b {
    display: block;
  }
}

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: 42px;
  height: 26px;
  display: inline-block;
  position: relative;
  z-index: 30;
}
@media (min-width: 769px) {
  .hamburger {
    display: none;
  }
}
.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(-13px) rotate(138deg);
      -ms-transform: translateY(-13px) rotate(138deg);
          transform: translateY(-13px) rotate(138deg);
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(13px) rotate(-138deg);
      -ms-transform: translateY(13px) rotate(-138deg);
          transform: translateY(13px) rotate(-138deg);
}
.hamburger__line {
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: calc(50% - 0px);
  left: 0;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  background-color: var(--text);
}
.hamburger__line::before {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  top: 13px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--text);
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 3px;
  display: inline-block;
  position: absolute;
  bottom: 13px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--text);
}

@media (hover: hover) and (pointer: fine) {
  .hamburger {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .hamburger:hover {
    opacity: 0.7;
  }
}
/*###################################################################
  drawer（module）
###################################################################*/
.drawer {
  max-width: 430px;
  width: 100%;
  height: 100vh;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--base);
  z-index: 15;
  overflow: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0;
}
.drawer__inner {
  padding-bottom: 100px;
}
.drawer__top {
  width: 100%;
  height: 89px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--base);
  z-index: 1;
}
.drawer__nav {
  margin-top: 52px;
}
.drawer__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 4.59375rem;
}
.drawer__link {
  font-weight: 400;
  line-height: 1;
  --ls: 0.18em;
}
.drawer__bottom {
  max-width: 258px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 20px;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 68px;
  margin-inline: auto;
}
.drawer__tel {
  width: 100%;
  height: 83px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 3px;
     -moz-column-gap: 3px;
          column-gap: 3px;
  background-color: var(--main2);
}
.drawer__tel::before {
  content: "";
  min-width: 18px;
  aspect-ratio: 1/1;
  background: url(../images/icon-tel.svg) no-repeat 0 0/contain;
  margin-top: 2px;
}
.drawer__mail {
  width: 100%;
  height: 83px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 9px;
     -moz-column-gap: 9px;
          column-gap: 9px;
  background-color: var(--accent);
}
.drawer__mail::before {
  content: "";
  min-width: 19px;
  aspect-ratio: 19/17;
  background: url(../images/icon-mail.svg) no-repeat 0 0/contain;
}

.is-drawer-active {
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .drawer__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .drawer__link:hover, .drawer__link:focus {
    color: var(--main);
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #000;
  visibility: hidden;
  opacity: 0;
  z-index: 5;
}

.is-drawer-active {
  height: 100%;
  overflow: hidden;
}
.is-drawer-active .drawer-bg {
  visibility: visible;
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*###################################################################
  hover（module）
###################################################################*/
@media (hover: hover) and (pointer: fine) {
  .op {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op:hover, .op:focus {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fn:hover {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-im:hover, .op-im:focus {
    opacity: 0.7 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fnim:hover {
    opacity: 0.7 !important;
  }
}
/*###################################################################
  lower（module）
###################################################################*/
.lower-mv_service {
  background: url(../images/lower-mv-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-2.webp) 1x, url(../images/lower-mv-2@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-2.webp) 1x, url(../images/lower-mv-2@2x.webp) 2x);
}
.lower-mv_recruit {
  background: url(../images/lower-mv-3.webp) no-repeat center right/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-3.webp) 1x, url(../images/lower-mv-3@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-3.webp) 1x, url(../images/lower-mv-3@2x.webp) 2x);
}
.lower-mv_about {
  background: url(../images/lower-mv-4.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-4.webp) 1x, url(../images/lower-mv-4@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-4.webp) 1x, url(../images/lower-mv-4@2x.webp) 2x);
}
.lower-mv_works {
  background: url(../images/lower-mv-5.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-5.webp) 1x, url(../images/lower-mv-5@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-5.webp) 1x, url(../images/lower-mv-5@2x.webp) 2x);
}
.lower-mv_blog {
  background: url(../images/lower-mv-6webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-6.webp) 1x, url(../images/lower-mv-6@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-6.webp) 1x, url(../images/lower-mv-6@2x.webp) 2x);
}
.lower-mv_404 {
  background: url(../images/lower-mv-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/lower-mv-1.webp) 1x, url(../images/lower-mv-1@2x.webp) 2x);
  background-image: image-set(url(../images/lower-mv-1.webp) 1x, url(../images/lower-mv-1@2x.webp) 2x);
}
.lower-mv__inner {
  height: clamp(16.875rem, 11.0756578947rem + 21.5789473684vw, 24.5625rem);
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: grid;
  place-items: center;
}
@media (max-width: 768px) {
  .lower-mv__inner {
    padding: 0 clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem);
  }
}
.lower-mv__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 21px;
  line-height: 1;
}
.lower-mv__jp {
  font-size: clamp(1.75rem, 1.5833333333rem + 0.6666666667vw, 2rem);
  font-weight: 400;
}
.lower-mv__en {
  font-size: clamp(2.5rem, 1.5rem + 4vw, 4rem);
  --ls: 0.12em;
}

/*###################################################################
  WordPressテスト環境用設定
###################################################################*/
/*###################################################################
  top（page）
###################################################################*/
.top-mv {
  display: grid;
  place-items: center;
  min-height: clamp(31.25rem, 6.6743063112rem + 39.281828074vw, 53.8125rem);
  background: url(../images/top-mv-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-mv-1.webp) 1x, url(../images/top-mv-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-mv-1.webp) 1x, url(../images/top-mv-1@2x.webp) 2x);
}
@media (max-width: 600px) {
  .top-mv {
    min-height: inherit;
    aspect-ratio: 430/443;
    background: url(../images/top-mv-1_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mv-1_sp.webp) 1x, url(../images/top-mv-1_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mv-1_sp.webp) 1x, url(../images/top-mv-1_sp@2x.webp) 2x);
  }
}
.top-mv__title {
  max-width: clamp(49.375rem, 9.6630154639rem + 63.4756995582vw, 76.3125rem);
  margin-top: 53px;
  margin-left: clamp(3.0625rem, -4.4007731959rem + 11.9293078056vw, 8.125rem);
}
@media (max-width: 1000px) {
  .top-mv__title {
    max-width: clamp(28.75rem, -2.3167293233rem + 82.7067669173vw, 49.375rem);
    margin-left: clamp(1.3125rem, -1.3234649123rem + 7.0175438596vw, 3.0625rem);
  }
}
@media (max-width: 600px) {
  .top-mv__title {
    max-width: 460px;
    margin-top: 35px;
    margin-left: -4px;
  }
}

.top-news {
  background: #000 url(../images/top-news-bg.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/top-news-bg.webp) 1x, url(../images/top-news-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-news-bg.webp) 1x, url(../images/top-news-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-news {
    background: #000;
  }
}
.top-news__inner {
  max-width: 1252px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 97px 30px 136px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 768px) {
  .top-news__inner {
    max-width: 600px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 40px;
    padding: clamp(2.375rem, -2.3161982249rem + 17.4556213018vw, 6.0625rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) clamp(4.375rem, 1.2631578947rem + 11.5789473684vw, 8.5rem);
  }
}
.top-news__title {
  min-width: 155px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  row-gap: clamp(0.6875rem, 0.2899408284rem + 1.4792899408vw, 1rem);
  font-weight: 400;
  line-height: 1;
}
@media (max-width: 768px) {
  .top-news__title {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-news__jp {
  font-size: clamp(1rem, -0.5902366864rem + 5.9171597633vw, 2.25rem);
}
.top-news__en {
  font-size: clamp(1.25rem, 0.2958579882rem + 3.550295858vw, 2rem);
}
.top-news__body {
  max-width: 900px;
  width: 100%;
}
.top-news__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
  font-size: clamp(1rem, 0.8114035088rem + 0.701754386vw, 1.25rem);
}
.top-news__post-link {
  display: grid;
  grid-template-columns: 150px 1fr;
  line-height: 1.75;
}
@media (max-width: 1000px) {
  .top-news__post-link {
    grid-template-columns: 1fr;
  }
}
.top-news__date {
  color: var(--main);
}
.top-news__more {
  margin-inline: auto;
}
.top-news__no-post {
  height: clamp(3.75rem, 0.5695266272rem + 11.8343195266vw, 6.25rem);
  display: grid;
  place-items: center;
}

@media (hover: hover) and (pointer: fine) {
  .top-news__post-link:hover .top-news__post-title, .top-news__post-link:focus .top-news__post-title {
    color: var(--main);
    text-decoration: underline;
  }
  .top-news__post-title {
    -webkit-transition: color 0.4s, -webkit-text-decoration 0.4s;
    transition: color 0.4s, -webkit-text-decoration 0.4s;
    transition: color 0.4s, text-decoration 0.4s;
    transition: color 0.4s, text-decoration 0.4s, -webkit-text-decoration 0.4s;
  }
}
.top-greet {
  position: relative;
  overflow: hidden;
  background: url(../images/top-greet-bg.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/top-greet-bg.webp) 1x, url(../images/top-greet-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-greet-bg.webp) 1x, url(../images/top-greet-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-greet {
    background: url(../images/top-greet-bg_sp.webp) no-repeat top 41.1% left/auto;
    background-image: -webkit-image-set(url(../images/top-greet-bg_sp.webp) 1x, url(../images/top-greet-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-greet-bg_sp.webp) 1x, url(../images/top-greet-bg_sp@2x.webp) 2x);
  }
}
.top-greet::after {
  content: "n.o.c";
  position: absolute;
  right: clamp(-1rem, -1.505033557rem + 1.8791946309vw, 0.75rem);
  bottom: calc(clamp(1.8125rem, 1.1992449664rem + 2.2818791946vw, 3.9375rem) * -1);
  z-index: -1;
  color: #312c12;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: clamp(12.5rem, 9.4697986577rem + 11.2751677852vw, 23rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media (max-width: 429px) {
  .top-greet::after {
    font-size: clamp(11.75rem, 1.4051724138rem + 41.3793103448vw, 12.5rem);
  }
}
.top-greet__inner {
  max-width: 1038px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 123px 30px 156px;
}
@media (max-width: 1000px) {
  .top-greet__inner {
    padding: clamp(2.4375rem, -1.5230263158rem + 14.7368421053vw, 7.6875rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) clamp(4.4375rem, 0.4298245614rem + 14.9122807018vw, 9.75rem);
  }
}
.top-greet__en {
  max-width: clamp(11.75rem, 8.3081140351rem + 12.8070175439vw, 16.3125rem);
}
.top-greet__text {
  font-size: clamp(1rem, 0.8114035088rem + 0.701754386vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: clamp(3.3125rem, 1.5679824561rem + 6.4912280702vw, 5.625rem);
}
@media (max-width: 768px) {
  .top-greet__text {
    text-align: left;
  }
}
.top-greet__movie {
  background-color: #d9d9d9;
  margin-top: clamp(3.25rem, 2.2958579882rem + 3.550295858vw, 4rem);
}
.top-greet__video {
  width: 100%;
  height: auto;
}
.top-greet__link {
  margin-top: 45px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-greet__link {
    margin-top: 53px;
  }
}

.top-service {
  position: relative;
  overflow: hidden;
  background: url(../images/top-service-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-service-bg.webp) 1x, url(../images/top-service-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-service-bg.webp) 1x, url(../images/top-service-bg@2x.webp) 2x);
}
.top-service::after {
  content: "RESIDENTIAL PAINTING";
  position: absolute;
  right: calc(clamp(-0.375rem, -0.8619966443rem + 1.8120805369vw, 1.3125rem) * -1);
  bottom: calc(clamp(0.3125rem, -0.0121644295rem + 1.2080536913vw, 1.4375rem) * -1);
  z-index: 0;
  color: #312c12;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: clamp(2rem, 0.2684563758rem + 6.4429530201vw, 8rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media (max-width: 429px) {
  .top-service::after {
    font-size: clamp(1.875rem, 0.150862069rem + 6.8965517241vw, 2rem);
  }
}
.top-service__inner {
  max-width: 1254px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 98px 30px 67px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1000px) {
  .top-service__inner {
    padding: clamp(4.0625rem, 2.5065789474rem + 5.7894736842vw, 6.125rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) 62px;
  }
}
.top-service__en {
  max-width: clamp(9.375rem, 6.7346491228rem + 9.8245614035vw, 12.875rem);
}
.top-service__text {
  max-width: 1037px;
  font-size: clamp(1rem, 0.8114035088rem + 0.701754386vw, 1.25rem);
  line-height: 2;
  white-space: pre-line;
  margin-top: clamp(1.6875rem, 0.6030701754rem + 4.0350877193vw, 3.125rem);
}
.top-service__items {
  max-width: 1096px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(1.4375rem, -0.6370614035rem + 7.7192982456vw, 4.1875rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-service__items {
    max-width: clamp(25rem, 15.5701754386rem + 35.0877192982vw, 37.5rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-inline: auto;
  }
}
.top-service__item {
  max-width: clamp(15.375rem, 11.1315789474rem + 15.7894736842vw, 21rem);
  position: relative;
}
.top-service__item_2 {
  margin-top: 27px;
}
@media (max-width: 1000px) {
  .top-service__item_2 {
    margin-top: 24px;
    margin-left: auto;
  }
}
.top-service__item_3 {
  margin-top: clamp(1.5625rem, 0.8081140351rem + 2.8070175439vw, 2.5625rem);
}
.top-service__link {
  max-width: clamp(11.4375rem, 8.0427631579rem + 12.6315789474vw, 15.9375rem);
  width: 100%;
  height: clamp(3.1875rem, 2.2445175439rem + 3.5087719298vw, 4.4375rem);
  display: grid;
  place-items: center;
  position: absolute;
  bottom: 10%;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: rgba(13, 13, 13, 0.92);
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
  border: 3px solid;
  -webkit-border-image: -webkit-linear-gradient(5.49deg, #af8c0e -2.1%, #f3d245 38.15%, #c99f12 97.55%);
       -o-border-image: linear-gradient(84.51deg, #af8c0e -2.1%, #f3d245 38.15%, #c99f12 97.55%);
          border-image: linear-gradient(84.51deg, #af8c0e -2.1%, #f3d245 38.15%, #c99f12 97.55%);
  border-image-slice: 1;
}

@media (hover: hover) and (pointer: fine) {
  .top-service__link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .top-service__link:hover, .top-service__link:focus {
    background-color: var(--main2);
  }
}
.top-works {
  background: url(../images/top-works-bg.webp) no-repeat top center/cover;
  background-image: -webkit-image-set(url(../images/top-works-bg.webp) 1x, url(../images/top-works-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-works-bg.webp) 1x, url(../images/top-works-bg@2x.webp) 2x);
}
.top-works__inner {
  padding: clamp(3.5625rem, 0.2620614035rem + 12.2807017544vw, 7.9375rem) 0 clamp(4.6875rem, 2.4243421053rem + 8.4210526316vw, 7.6875rem);
}
.top-works__en {
  max-width: 182px;
}
.top-works__swiper {
  margin-top: 69px;
}
.top-works__thumbnail {
  overflow: hidden;
}
.top-works__thumbnail img {
  height: 100%;
  aspect-ratio: 267/192;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-works__post-title {
  font-size: clamp(1.125rem, 0.9352941176rem + 0.7058823529vw, 1.5rem);
  line-height: 1.5;
  margin-top: clamp(0.625rem, 0.1535087719rem + 1.7543859649vw, 1.25rem);
}
.top-works__more {
  height: calc(clamp(-5rem, -5.6360946746rem + 2.3668639053vw, -4.5rem) * -1);
  margin-top: 80px;
  margin-inline: auto;
}

@media (hover: hover) and (pointer: fine) {
  .top-works__post-link:hover .top-works__thumbnail img, .top-works__post-link:focus .top-works__thumbnail img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .top-works__post-link:hover .top-works__post-title, .top-works__post-link:focus .top-works__post-title {
    color: var(--main);
    text-decoration: underline;
  }
  .top-works__thumbnail img {
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
  .top-works__post-title {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
}
.top-area {
  background: url(../images/top-area-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-area-bg.webp) 1x, url(../images/top-area-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-area-bg.webp) 1x, url(../images/top-area-bg@2x.webp) 2x);
}
.top-area__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 91px 30px 91px;
}
@media (max-width: 1000px) {
  .top-area__inner {
    padding: clamp(3.6875rem, 2.1787280702rem + 5.6140350877vw, 5.6875rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) clamp(2.3125rem, -0.2335526316rem + 9.4736842105vw, 5.6875rem);
  }
}
.top-area__body {
  max-width: 1237px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-left: auto;
}
@media (max-width: 900px) {
  .top-area__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 78px;
  }
}
.top-area__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  row-gap: 18px;
  line-height: 1;
}
@media (max-width: 900px) {
  .top-area__title {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-area__jp {
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
}
.top-area__en {
  max-width: clamp(6.75rem, 5.2412280702rem + 5.6140350877vw, 8.75rem);
}
.top-area__box {
  max-width: 545px;
  width: 100%;
  margin-top: 80px;
}
@media (max-width: 900px) {
  .top-area__box {
    margin-top: 0;
  }
}
.top-area__text-1 {
  font-size: 2rem;
  margin-top: 89px;
}
@media (max-width: 900px) {
  .top-area__text-1 {
    text-align: center;
    margin-top: 49px;
  }
}
.top-area__text-2 {
  font-size: clamp(1.25rem, 1.0614035088rem + 0.701754386vw, 1.5rem);
  line-height: 1.6;
  margin-top: 4px;
}
@media (max-width: 900px) {
  .top-area__text-2 {
    line-height: 2.23;
    margin-top: 10px;
  }
}
.top-area__img {
  max-width: clamp(15.6875rem, -2.2291666667rem + 66.6666666667vw, 39.4375rem);
  width: 100%;
}

.top-recruit {
  position: relative;
  background: url(../images/top-recruit-bg.webp) no-repeat top clamp(0rem, -9.1469298246rem + 34.0350877193vw, 12.125rem) right/clamp(20.375rem, 9.9235689917rem + 27.8241091736vw, 43.3125rem) auto;
  background-image: -webkit-image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-recruit-bg.webp) 1x, url(../images/top-recruit-bg@2x.webp) 2x);
}
@media (max-width: 600px) {
  .top-recruit {
    background: url(../images/top-recruit-bg_sp.webp) no-repeat top right/auto;
    background-image: -webkit-image-set(url(../images/top-recruit-bg_sp.webp) 1x, url(../images/top-recruit-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-recruit-bg_sp.webp) 1x, url(../images/top-recruit-bg_sp@2x.webp) 2x);
  }
}
.top-recruit__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: clamp(4.5rem, -1.0164473684rem + 20.5263157895vw, 11.8125rem);
}
@media (max-width: 1000px) {
  .top-recruit__inner {
    padding: clamp(4.5rem, -1.0164473684rem + 20.5263157895vw, 11.8125rem) clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem);
  }
}
.top-recruit__body {
  max-width: 1072px;
}
.top-recruit__en {
  max-width: clamp(10.125rem, 7.2489035088rem + 10.701754386vw, 13.9375rem);
}
.top-recruit__subtitle {
  font-size: clamp(1.5rem, 1.1228070175rem + 1.4035087719vw, 2rem);
  line-height: 1.5;
  margin-top: clamp(1.5rem, 0.9813596491rem + 1.9298245614vw, 2.1875rem);
}
.top-recruit__text {
  font-size: clamp(1rem, 0.8114035088rem + 0.701754386vw, 1.25rem);
  line-height: 2;
  white-space: pre-line;
  margin-top: clamp(1.5rem, 1.264254386rem + 0.8771929825vw, 1.8125rem);
}
.top-recruit__more {
  margin-top: clamp(2.1875rem, -0.1228070175rem + 8.5964912281vw, 5.25rem);
}
@media (max-width: 600px) {
  .top-recruit__more {
    margin-inline: auto;
  }
}

.top-blog_pos {
  margin-top: clamp(1.8125rem, -2.9024122807rem + 17.5438596491vw, 8.0625rem);
}
.top-blog__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 68px;
}
@media (max-width: 768px) {
  .top-blog__inner {
    padding: 0 clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) 114px;
  }
}
.top-blog__en {
  max-width: clamp(5.25rem, 2.8453947368rem + 8.9473684211vw, 8.4375rem);
}
.top-blog__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(1.0625rem, -1.1798835125rem + 3.5842293907vw, 1.6875rem);
     -moz-column-gap: clamp(1.0625rem, -1.1798835125rem + 3.5842293907vw, 1.6875rem);
          column-gap: clamp(1.0625rem, -1.1798835125rem + 3.5842293907vw, 1.6875rem);
  margin-top: clamp(2.5rem, 1.038377193rem + 5.4385964912vw, 4.4375rem);
}
@media (max-width: 768px) {
  .top-blog__items {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 24px;
  }
}
.top-blog__post {
  background-color: var(--text);
}
.top-blog__post-link {
  min-height: clamp(25rem, 12.4426523297rem + 20.0716845878vw, 28.5rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  color: #000;
  padding: clamp(0.75rem, 0.1842105263rem + 2.1052631579vw, 1.5rem) clamp(0.6875rem, -2.2275985663rem + 4.6594982079vw, 1.5rem) 24px;
}
@media (max-width: 1000px) {
  .top-blog__post-link {
    min-height: clamp(16.0625rem, 9.3201754386rem + 25.0877192982vw, 25rem);
  }
}
.top-blog__thumbnail {
  overflow: hidden;
}
.top-blog__thumbnail img {
  height: 100%;
  aspect-ratio: 354/229;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-blog__date {
  font-size: clamp(1.125rem, 0.6765232975rem + 0.7168458781vw, 1.25rem);
  line-height: 1;
  margin-top: clamp(0.8125rem, 0.4353070175rem + 1.4035087719vw, 1.3125rem);
}
@media (max-width: 1000px) {
  .top-blog__date {
    font-size: clamp(1rem, 0.9057017544rem + 0.350877193vw, 1.125rem);
  }
}
.top-blog__post-title {
  font-size: clamp(1.25rem, 0.353046595rem + 1.4336917563vw, 1.5rem);
  line-height: 1.5;
  margin-top: clamp(0rem, -0.7543859649rem + 2.8070175439vw, 1rem);
}
.top-blog__no-post {
  font-size: 20px;
  text-align: center;
  grid-area: 1/1/2/4;
}
@media (max-width: 768px) {
  .top-blog__no-post {
    grid-area: 1/1/2/3;
  }
}
.top-blog__more {
  margin-top: clamp(2.9375rem, 0.4385964912rem + 9.298245614vw, 6.25rem);
  margin-inline: auto;
}

@media (hover: hover) and (pointer: fine) {
  .top-blog__post-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .top-blog__post-link:hover .top-blog__thumbnail img, .top-blog__post-link:focus .top-blog__thumbnail img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .top-blog__post-link:hover .top-blog__post-title, .top-blog__post-link:focus .top-blog__post-title {
    color: var(--main);
    text-decoration: underline;
  }
  .top-blog__post-link:hover .top-blog__date, .top-blog__post-link:focus .top-blog__date {
    color: var(--main);
    text-decoration: underline;
  }
  .top-blog__thumbnail img {
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
  .top-blog__post-title {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
  .top-blog__date {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
}
/*###################################################################
  service（page）
###################################################################*/
.service-main {
  position: relative;
  overflow: hidden;
  background: url(../images/service-main-deco.webp) no-repeat top left/auto;
  background-image: -webkit-image-set(url(../images/service-main-deco.webp) 1x, url(../images/service-main-deco@2x.webp) 2x);
  background-image: image-set(url(../images/service-main-deco.webp) 1x, url(../images/service-main-deco@2x.webp) 2x);
}
.service-main::after {
  content: "n.o.c";
  position: absolute;
  left: clamp(-0.1875rem, -1.3959731544rem + 4.4966442953vw, 4rem);
  bottom: calc(clamp(1.8125rem, 1.3435402685rem + 1.744966443vw, 3.4375rem) * -1);
  z-index: -1;
  color: #312c12;
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-size: clamp(12.5rem, 9.4697986577rem + 11.2751677852vw, 23rem);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media (max-width: 429px) {
  .service-main::after {
    font-size: clamp(11.75rem, 1.4051724138rem + 41.3793103448vw, 12.5rem);
  }
}
.service-main__vertical-inner {
  padding-top: 88px;
  padding-bottom: clamp(10.625rem, 4.9431818182rem + 22.7272727273vw, 23.125rem);
}
.service-main__strengths {
  max-width: 1037px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .service-main__strengths {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem);
  }
}
.service-main__en {
  max-width: clamp(16.4375rem, 12.3958333333rem + 16.1666666667vw, 22.5rem);
}
.service-main__text-1 {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: 45px;
}
@media (max-width: 768px) {
  .service-main__text-1 {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.service-main__service1 {
  margin-top: clamp(4.375rem, -0.4261363636rem + 19.2045454545vw, 14.9375rem);
}
.service-main__service2 {
  margin-top: 66px;
}

.service1 {
  max-width: 1256px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .service1 {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem);
  }
}
.service1__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(4.375rem, 0.7065217391rem + 14.6739130435vw, 7.75rem);
}
.service1__item {
  position: relative;
}
@media (max-width: 768px) {
  .service1__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 30px;
  }
}
.service1__item_1 {
  min-height: calc(clamp(-56.125rem, -82.6604204753rem + 55.21023766vw, -37.25rem) * -1);
}
@media (max-width: 768px) {
  .service1__item_1 {
    min-height: inherit;
  }
}
.service1__item_2 {
  min-height: calc(clamp(-58.8125rem, -64.3480347349rem + 11.5173674589vw, -54.875rem) * -1);
}
@media (max-width: 768px) {
  .service1__item_2 {
    min-height: inherit;
  }
}
.service1__item_3 {
  min-height: calc(clamp(-49.4375rem, -57.081809872rem + 15.9049360146vw, -44rem) * -1);
}
@media (max-width: 768px) {
  .service1__item_3 {
    min-height: inherit;
  }
}
.service1__box {
  max-width: 895px;
  width: 100%;
}
.service1__box_2 {
  margin-left: auto;
}
.service1__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  row-gap: 19px;
  line-height: 1;
  border-bottom: 1px solid var(--main);
  padding-bottom: 22px;
}
.service1__jp {
  font-size: clamp(1.25rem, 1.0833333333rem + 0.6666666667vw, 1.5rem);
  --ls: 0.14em;
}
.service1__en {
  color: var(--main);
  font-size: clamp(1.125rem, 1.0416666667rem + 0.3333333333vw, 1.25rem);
}
.service1__text {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  white-space: pre-line;
  margin-top: 27px;
  padding-left: clamp(0rem, -0.5434782609rem + 2.1739130435vw, 0.5rem);
}
.service1__link {
  text-decoration: underline;
}
.service1__img {
  max-width: 555px;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
}
@media (max-width: 768px) {
  .service1__img {
    position: static;
  }
}
.service1__img_2 {
  right: inherit;
  left: 0;
}

@media (hover: hover) and (pointer: fine) {
  .service1__link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .service1__link:hover, .service1__link:focus {
    color: var(--main);
  }
}
.service2 {
  background: url(../images/service2-bg.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/service2-bg.webp) 1x, url(../images/service2-bg@2x.webp) 2x);
  background-image: image-set(url(../images/service2-bg.webp) 1x, url(../images/service2-bg@2x.webp) 2x);
}
.service2__inner {
  max-width: 931px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 45px;
}
@media (max-width: 768px) {
  .service2__inner {
    padding: 50px clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 0;
  }
}
.service2__title {
  font-size: clamp(1.5rem, 1rem + 2vw, 2.25rem);
  line-height: 1.75;
  text-align: center;
  --ls: 0.11em;
}
.service2__strong {
  color: #c99f12;
}
.service2__text {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: 35px;
}
@media (max-width: 768px) {
  .service2__text {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}

/*###################################################################
  about（page）
###################################################################*/
.about1 {
  background: url(../images/about-deco.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/about-deco.webp) 1x, url(../images/about-deco@2x.webp) 2x);
  background-image: image-set(url(../images/about-deco.webp) 1x, url(../images/about-deco@2x.webp) 2x);
}
.about1__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 123px 30px 128px;
}
@media (max-width: 1000px) {
  .about1__inner {
    padding: 123px clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 128px;
  }
}
.about1__message {
  margin-inline: auto;
}
.about1__overview {
  margin-top: 150px;
}
.about1__en {
  max-width: clamp(13.9375rem, 10.4791666667rem + 13.8333333333vw, 19.125rem);
}
.about1__dl {
  display: grid;
  grid-template-columns: clamp(8.75rem, 0.1299547983rem + 22.9485396384vw, 19.0625rem) 1fr;
  font-size: clamp(1rem, 0.5820584145rem + 1.1126564673vw, 1.5rem);
  line-height: 1.6;
  margin-top: 55px;
}
@media (max-width: 600px) {
  .about1__dl {
    grid-template-columns: clamp(4.6875rem, -3.4375rem + 32.5vw, 8.75rem) 1fr;
    font-size: clamp(0.9375rem, 0.625rem + 1vw, 1rem);
  }
}
.about1__dt {
  font-weight: 400;
  border-bottom: 1px solid var(--main2);
  padding-top: clamp(0.9375rem, 0.4150730181rem + 1.3908205841vw, 1.5625rem);
  padding-bottom: clamp(0.9375rem, 0.4150730181rem + 1.3908205841vw, 1.5625rem);
  padding-left: clamp(0rem, -0.5224269819rem + 1.3908205841vw, 0.625rem);
}
.about1__dd {
  font-weight: 400;
  --ls: 0.11em;
  white-space: pre-line;
  border-bottom: 1px solid var(--main2);
  padding: clamp(0.9375rem, 0.4150730181rem + 1.3908205841vw, 1.5625rem) 0;
}
.about1__dd_exception {
  white-space: inherit;
}
.about1__mail {
  text-decoration: underline;
}
.about1__item_col {
  max-width: 500px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
}
.about1__more {
  max-width: clamp(8.125rem, 7.2368741307rem + 2.364394993vw, 9.1875rem);
  width: 100%;
  height: clamp(1.5rem, 1.0298157163rem + 1.2517385257vw, 2.0625rem);
  display: grid;
  place-items: center;
  background-color: var(--main2);
  font-size: clamp(0.875rem, 0.7705146036rem + 0.2781641168vw, 1rem);
  line-height: 1;
}
@media (max-width: 600px) {
  .about1__more {
    max-width: clamp(5.9375rem, 1.5625rem + 17.5vw, 8.125rem);
    height: clamp(1.1875rem, 0.5625rem + 2.5vw, 1.5rem);
    font-size: clamp(0.75rem, 0.5rem + 1vw, 0.875rem);
  }
}

@media (hover: hover) and (pointer: fine) {
  .about1__mail {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .about1__mail:hover, .about1__mail:focus {
    color: var(--main);
  }
  .about1__url {
    -webkit-transition: color 0.4s, -webkit-text-decoration 0.4s;
    transition: color 0.4s, -webkit-text-decoration 0.4s;
    transition: color 0.4s, text-decoration 0.4s;
    transition: color 0.4s, text-decoration 0.4s, -webkit-text-decoration 0.4s;
  }
  .about1__url:hover, .about1__url:focus {
    color: var(--main);
    text-decoration: underline;
  }
  .about1__more {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .about1__more:hover {
    opacity: 0.7;
  }
}
.about-message {
  max-width: 1037px;
}
.about-message__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 30px;
  line-height: 1;
}
.about-message__jp {
  font-size: clamp(1rem, 0.6228070175rem + 1.4035087719vw, 1.5rem);
}
.about-message__en {
  background: -webkit-radial-gradient(50% 50%, 50% 50%, #CF9421 0%, #F3D245 47.12%, #C99F12 100%);
  background: radial-gradient(50% 50% at 50% 50%, #CF9421 0%, #F3D245 47.12%, #C99F12 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-size: clamp(2.375rem, 1.9583333333rem + 1.6666666667vw, 3rem);
  font-weight: bold;
}
.about-message__text-1 {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: 45px;
}
@media (max-width: 768px) {
  .about-message__text-1 {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}

/*###################################################################
  works（page）
###################################################################*/
.works-main {
  background: url(../images/works-bg.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/works-bg.webp) 1x, url(../images/works-bg@2x.webp) 2x);
  background-image: image-set(url(../images/works-bg.webp) 1x, url(../images/works-bg@2x.webp) 2x);
}
.works-main__inner {
  max-width: 1043px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 88px 30px 159px;
}
@media (max-width: 1000px) {
  .works-main__inner {
    padding: 88px clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) 159px;
  }
}
.works-main__en {
  max-width: clamp(16.625rem, 12.4583333333rem + 16.6666666667vw, 22.875rem);
}
.works-main__text {
  font-size: clamp(1rem, 0.8114035088rem + 0.701754386vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: 45px;
}
.works-main__movie {
  max-width: 695px;
  margin-top: 94px;
  margin-inline: auto;
}
.works-main__youtube {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
.works-main__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px clamp(0.9375rem, -2.4260752688rem + 5.376344086vw, 1.875rem);
  margin-top: 85px;
}
@media (max-width: 1000px) {
  .works-main__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
.works-main__thumbnail {
  overflow: hidden;
}
.works-main__thumbnail img {
  height: 100%;
  aspect-ratio: 267/192;
  -o-object-fit: cover;
     object-fit: cover;
}
.works-main__post-title {
  font-size: clamp(1rem, 0.7952380952rem + 0.7619047619vw, 1.5rem);
  font-weight: 600;
  line-height: 1.5;
  margin-top: clamp(0.625rem, 0.1535087719rem + 1.7543859649vw, 1.25rem);
}

/*###################################################################
  recruit（page）
###################################################################*/
.recruit1 {
  background: url(../images/recruit-deco.webp) no-repeat top center/auto;
  background-image: -webkit-image-set(url(../images/recruit-deco.webp) 1x, url(../images/recruit-deco@2x.webp) 2x);
  background-image: image-set(url(../images/recruit-deco.webp) 1x, url(../images/recruit-deco@2x.webp) 2x);
}
.recruit1__inner {
  max-width: 1254px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 68px;
}
@media (max-width: 768px) {
  .recruit1__inner {
    padding: 68px clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 0;
  }
}
.recruit1__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1000px) {
  .recruit1__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 40px;
  }
}
.recruit1__title-area {
  min-width: 492px;
  margin-top: 8px;
}
@media (max-width: 1000px) {
  .recruit1__title-area {
    min-width: inherit;
  }
}
.recruit1__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 27px;
  font-size: clamp(1.5rem, 0.9565217391rem + 2.1739130435vw, 2rem);
}
.recruit1__title-text_2 {
  padding-left: 1.6em;
}
.recruit1__title-text_3 {
  padding-left: 4.5em;
}
.recruit1__text {
  max-width: 669px;
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  white-space: pre-line;
}
.recruit1__img {
  max-width: 1244px;
  margin-top: 47px;
  margin-inline: auto;
}

.recruit-hr {
  width: 70.15625%;
  border-top: 1px solid var(--main);
}
.recruit-hr_l {
  margin-top: 44px;
  margin-right: auto;
}
.recruit-hr_r {
  margin-top: clamp(3.75rem, 1.2916666667rem + 9.8333333333vw, 7.4375rem);
  margin-left: auto;
}

.recruit2 {
  max-width: 1037px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.recruit2_pos {
  margin-top: clamp(3.125rem, 1.0416666667rem + 8.3333333333vw, 6.25rem);
}
@media (max-width: 768px) {
  .recruit2 {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem);
  }
}
.recruit2__en {
  max-width: clamp(13.9375rem, 10.4791666667rem + 13.8333333333vw, 19.125rem);
}
.recruit2__text {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 2;
  text-align: center;
  white-space: pre-line;
  margin-top: 45px;
}
@media (max-width: 768px) {
  .recruit2__text {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}

.recruit3 {
  background: url(../images/recruit-3-bg.webp) no-repeat top center/cover;
  background-image: -webkit-image-set(url(../images/recruit-3-bg.webp) 1x, url(../images/recruit-3-bg@2x.webp) 2x);
  background-image: image-set(url(../images/recruit-3-bg.webp) 1x, url(../images/recruit-3-bg@2x.webp) 2x);
}
.recruit3_pos {
  margin-top: clamp(4.0625rem, 2.8125rem + 5vw, 5.9375rem);
}
.recruit3__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 69px 30px 83px;
}
@media (max-width: 1000px) {
  .recruit3__inner {
    padding: 69px clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 83px;
  }
}
.recruit3__en {
  max-width: clamp(20.4375rem, 15.3541666667rem + 20.3333333333vw, 28.0625rem);
}
.recruit3__dl {
  display: grid;
  grid-template-columns: clamp(10.625rem, -1.1507486388rem + 24.500907441vw, 19.0625rem) 1fr;
  font-size: clamp(1rem, 0.3021778584rem + 1.4519056261vw, 1.5rem);
  line-height: 1.6;
  margin-top: 55px;
}
@media (max-width: 768px) {
  .recruit3__dl {
    grid-template-columns: clamp(6.5625rem, 2.1467391304rem + 17.6630434783vw, 10.625rem) 1fr;
    font-size: clamp(0.9375rem, 0.8208955224rem + 0.3731343284vw, 1rem);
  }
}
.recruit3__dt {
  font-weight: 400;
  border-bottom: 1px solid var(--main2);
  padding: clamp(0.9375rem, -0.3709165154rem + 2.722323049vw, 1.875rem) 0 clamp(0.9375rem, -0.3709165154rem + 2.722323049vw, 1.875rem) clamp(0rem, -0.872277677rem + 1.8148820327vw, 0.625rem);
}
.recruit3__dd {
  font-weight: 400;
  --ls: 0.11em;
  white-space: pre-line;
  border-bottom: 1px solid var(--main2);
  padding: clamp(0.9375rem, -0.3709165154rem + 2.722323049vw, 1.875rem) 0;
}

.recruit4_pos {
  margin-top: clamp(4.375rem, 0.1666666667rem + 16.8333333333vw, 10.6875rem);
}
.recruit4__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 129px;
}
@media (max-width: 768px) {
  .recruit4__inner {
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) 129px;
  }
}
.recruit4__en {
  max-width: clamp(21.1875rem, 15.2708333333rem + 23.6666666667vw, 30.0625rem);
}
.recruit4__text-1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1.125rem, 0.9107142857rem + 0.8571428571vw, 1.5rem);
  line-height: 1.75;
  margin-top: 51px;
  margin-inline: auto;
}
.recruit4__text-2 {
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  font-weight: 600;
  line-height: 1.45;
  text-align: center;
  white-space: pre-line;
  margin-top: 48px;
}
@media (max-width: 768px) {
  .recruit4__text-2 {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.recruit4__box {
  margin-top: 3px;
  margin-inline: auto;
}
.recruit4__tel {
  margin-top: 18px;
}
.recruit4__time {
  margin-top: 32px;
}
.recruit4__main {
  background-color: #f5f5f5;
  margin-top: clamp(4.375rem, 2.0833333333rem + 9.1666666667vw, 7.8125rem);
  padding: 52px 20px 48px;
}
.recruit4__main-inner {
  max-width: 1156px;
  margin-inline: auto;
}
.recruit4__text-3 {
  font-size: clamp(1.25rem, 0.8214285714rem + 1.7142857143vw, 2rem);
  text-align: center;
  margin-top: clamp(3.75rem, 2.625rem + 4.5vw, 5.4375rem);
}
.recruit4__text-4 {
  max-width: 1150px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(1rem, 0.8333333333rem + 0.6666666667vw, 1.25rem);
  line-height: 1.45;
  text-align: center;
  margin-top: 49px;
  margin-inline: auto;
}
.recruit4__text-5 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.9375rem, -0.6458333333rem + 6.3333333333vw, 3.3125rem);
     -moz-column-gap: clamp(0.9375rem, -0.6458333333rem + 6.3333333333vw, 3.3125rem);
          column-gap: clamp(0.9375rem, -0.6458333333rem + 6.3333333333vw, 3.3125rem);
  font-size: clamp(1.125rem, 0.9107142857rem + 0.8571428571vw, 1.5rem);
  white-space: nowrap;
  margin-top: 59px;
}
.recruit4__text-5::before, .recruit4__text-5::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: var(--main);
}
.recruit4__text-6 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.45;
  white-space: pre-line;
  margin-top: 37px;
  margin-inline: auto;
}

.form {
  color: #000;
  font-weight: 600;
}
.form__main {
  max-width: 1037px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 60px;
}
.form__paragraph {
  display: grid;
  grid-template-columns: clamp(17.75rem, 5.7638052209rem + 21.2851405622vw, 21.0625rem) 1fr;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
}
@media (max-width: 900px) {
  .form__paragraph {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
}
.form__title {
  max-width: clamp(14.75rem, 12.5081521739rem + 8.9673913043vw, 16.8125rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-top: 10px;
}
@media (max-width: 900px) {
  .form__title {
    margin-top: 0;
  }
}
.form__title_mail-confirm {
  margin-top: 2px;
}
@media (max-width: 900px) {
  .form__title_mail-confirm {
    margin-top: 0;
  }
}
.form__title_check {
  margin-top: 0;
}
.form__label {
  font-size: clamp(1.125rem, 0.9891304348rem + 0.5434782609vw, 1.25rem);
  text-align: center;
  white-space: pre-line;
}
.form__required {
  min-width: clamp(4.1875rem, 3.3722826087rem + 3.2608695652vw, 4.9375rem);
  height: clamp(1.5625rem, 1.2907608696rem + 1.0869565217vw, 1.8125rem);
  display: grid;
  place-items: center;
  background-color: #de0000;
  color: var(--text);
  font-size: clamp(0.875rem, 0.7391304348rem + 0.5434782609vw, 1rem);
  --ls: 0.25em;
}
.form__input {
  width: 100%;
  height: 52px;
  background-color: #d9d9d9;
  padding: 10px 10px;
}
.form__input_message {
  min-height: 289px;
  resize: vertical;
}
.form__check {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 20px 20px;
  accent-color: var(--main2);
  margin-top: 6px;
}
.form__check .wpcf7-list-item {
  margin: 0;
}
.form__check .wpcf7-list-item label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 7px;
     -moz-column-gap: 7px;
          column-gap: 7px;
}
.form__check .wpcf7-list-item-label {
  --ls: 0.25em;
}
.form__note {
  color: #de0000;
  font-size: 0.9375rem;
  line-height: 1.75;
  margin-top: 10px;
}
.form__button-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 46px;
}
.form__action-button {
  max-width: 340px;
  width: 100%;
  height: 72px;
  -webkit-transform: translateX(clamp(0rem, -2.2615461847rem + 4.016064257vw, 0.625rem));
      -ms-transform: translateX(clamp(0rem, -2.2615461847rem + 4.016064257vw, 0.625rem));
          transform: translateX(clamp(0rem, -2.2615461847rem + 4.016064257vw, 0.625rem));
  background-color: var(--main2);
  color: var(--text);
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}
.form[data-status=sent] .form__button-wrapper {
  display: none;
}

/*###################################################################
  news（page）
###################################################################*/
.news-list_pos {
  margin-top: clamp(5rem, 3.3302514793rem + 6.2130177515vw, 6.3125rem);
}
.news-list__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  padding-bottom: 200px;
}
@media (max-width: 1000px) {
  .news-list__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 80px;
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) clamp(9.375rem, 5.399408284rem + 14.7928994083vw, 12.5rem);
  }
}
@media (max-width: 600px) {
  .news-list__inner {
    max-width: 400px;
  }
}
.news-list__body {
  max-width: 713px;
  width: 100%;
}
.news-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 67px 17px;
}
@media (max-width: 600px) {
  .news-list__items {
    grid-template-columns: 1fr;
  }
}
.news-list__post-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 25px;
}
.news-list__thumbnail {
  overflow: hidden;
}
@media (max-width: 600px) {
  .news-list__thumbnail {
    max-width: 100%;
  }
}
.news-list__thumbnail img {
  height: 100%;
  aspect-ratio: 348/251;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-list__date {
  display: block;
  color: var(--main);
  font-size: clamp(1.125rem, 0.9891304348rem + 0.5434782609vw, 1.25rem);
}
.news-list__post-title {
  font-size: clamp(1.125rem, 0.7173913043rem + 1.6304347826vw, 1.5rem);
  line-height: 1.75;
  word-break: break-all;
  margin-top: 16px;
}
.news-list__text {
  font-size: clamp(1rem, 0.7282608696rem + 1.0869565217vw, 1.25rem);
  line-height: 2;
  margin-top: 9px;
}
.news-list__no-post {
  height: 200px;
  display: grid;
  place-items: center;
  grid-area: 1/1/2/3;
  background-color: var(--main2);
  font-size: 1.25rem;
}
.news-list__pagination {
  font-size: 1.25rem;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .news-list__pagination {
    margin-top: 80px;
  }
}
.news-list__pagination ul.page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.125rem, -0.875rem + 8vw, 2.125rem);
  margin-inline: auto;
}
.news-list__pagination ul.page-numbers li {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.news-list__pagination ul.page-numbers li .page-numbers {
  --spacing: 0;
}
.news-list__pagination .page-numbers.current {
  color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .news-list__post-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .news-list__post-link:hover .news-list__thumbnail img, .news-list__post-link:focus .news-list__thumbnail img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  .news-list__post-link:hover .news-list__post-title, .news-list__post-link:focus .news-list__post-title {
    color: var(--main);
    text-decoration: underline;
  }
  .news-list__post-link:hover .news-list__text, .news-list__post-link:focus .news-list__text {
    color: var(--main);
    text-decoration: underline;
  }
  .news-list__thumbnail img {
    -webkit-transition: -webkit-transform ease 0.4s;
    transition: -webkit-transform ease 0.4s;
    transition: transform ease 0.4s;
    transition: transform ease 0.4s, -webkit-transform ease 0.4s;
  }
  .news-list__post-title {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
  .news-list__text {
    -webkit-transition: color ease 0.4s;
    transition: color ease 0.4s;
    -webkit-text-decoration-color: var(--main);
            text-decoration-color: var(--main);
  }
  .news-list__pagination a {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-list__pagination a:hover, .news-list__pagination a:focus {
    opacity: 0.7;
  }
}
.news-side {
  max-width: clamp(17.1875rem, 6.1998207885rem + 17.5627240143vw, 20.25rem);
  width: 100%;
}
@media (max-width: 1000px) {
  .news-side {
    max-width: 713px;
  }
}
.news-side_pos {
  margin-top: 11px;
}
.news-side__title {
  height: 55px;
  display: grid;
  place-items: center;
  background-color: var(--main2);
  font-size: 1.5rem;
  font-weight: 600;
}
.news-side__title_cat {
  margin-top: 57px;
}
.news-side__post-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 40px;
  margin-top: 30px;
}
.news-side__post-item {
  border-bottom: 1px solid var(--main2);
  padding-bottom: 32px;
}
.news-side__post-link {
  display: block;
}
.news-side__date {
  color: var(--main2);
  font-size: clamp(1.125rem, 0.9891304348rem + 0.5434782609vw, 1.25rem);
}
.news-side__post-title {
  margin-top: 16px;
}
.news-side__text {
  font-size: clamp(1.25rem, 0.9782608696rem + 1.0869565217vw, 1.5rem);
  font-weight: 600;
  line-height: 1.75;
}
.news-side__nav {
  margin-top: 30px;
}
.news-side__nav-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
}

@media (hover: hover) and (pointer: fine) {
  .news-side__post-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .news-side__post-link:hover, .news-side__post-link:focus {
    color: var(--main);
  }
  .news-side__category-link {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
  }
  .news-side__category-link:hover, .news-side__category-link:focus {
    color: var(--main);
  }
}
.news-post_pos {
  margin-top: clamp(5rem, -0.5658284024rem + 20.7100591716vw, 9.375rem);
}
.news-post__inner {
  max-width: 1260px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  padding-bottom: 200px;
}
@media (max-width: 1000px) {
  .news-post__inner {
    max-width: 800px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 80px;
    padding: 0 clamp(0.9375rem, -0.0815217391rem + 4.0760869565vw, 1.875rem) clamp(9.375rem, 5.399408284rem + 14.7928994083vw, 12.5rem);
  }
}
@media (max-width: 600px) {
  .news-post__inner {
    max-width: 400px;
  }
}
.news-post__body {
  max-width: clamp(43.125rem, 28.1318082789rem + 23.9651416122vw, 50rem);
}
@media (max-width: 1000px) {
  .news-post__body {
    max-width: 100%;
  }
}
.news-post__bg {
  background-color: #f1f1f1;
  border: 1px solid #75778d;
  padding: 50px 20px 100px;
}
@media (max-width: 768px) {
  .news-post__bg {
    padding: 50px clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem) 100px;
  }
}
.news-post__date {
  display: block;
  color: var(--main);
  font-size: 1.25rem;
  font-weight: 500;
}
@media (max-width: 768px) {
  .news-post__date {
    font-size: 1.125rem;
  }
}
.news-post__title {
  color: #333;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.75;
  word-break: break-all;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .news-post__title {
    font-size: 1.375rem;
    margin-top: 10px;
  }
}
.news-post__thumbnail {
  margin-top: 40px;
}
.news-post__editor {
  margin-top: 40px;
}

.news-post-pager {
  background-color: var(--base);
  border: 1px solid #75778d;
}
.news-post-pager_pos {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .news-post-pager_pos {
    margin-top: 60px;
  }
}
.news-post-pager__nav {
  height: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--main);
  font-size: clamp(1rem, 0.1071428571rem + 3.8095238095vw, 1.25rem);
  font-weight: 500;
  padding-right: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
  padding-left: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
}
.news-post-pager__link {
  --spacing: 0;
}
.news-post-pager__blank {
  min-width: 106px;
  min-width: clamp(5.4375rem, 0.5267857143rem + 20.9523809524vw, 6.8125rem);
}

@media (hover: hover) and (pointer: fine) {
  .news-post-pager__link {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-post-pager__link:hover, .news-post-pager__link:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  page-404（page）
###################################################################*/
.page-404_pos {
  margin-top: 60px;
}
.page-404__inner {
  max-width: 900px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .page-404__inner {
    padding: 0 clamp(0.9375rem, -0.2551775148rem + 4.4378698225vw, 1.875rem) 120px;
  }
}
.page-404__title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
}
.page-404__text {
  line-height: 2;
  white-space: pre-line;
  margin-top: 80px;
}
.page-404__button-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 80px;
}
.page-404__button {
  width: 175px;
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
  border: 1px solid var(--text);
  margin: 54px auto 0;
}

@media (hover: hover) and (pointer: fine) {
  .page-404__button {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .page-404__button:hover, .page-404__button:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  js-（js制御用）
###################################################################*/