@charset "UTF-8";
@-webkit-keyframes animate-svg-stroke-1 {
 0% {
  stroke-dashoffset: 136px;
  stroke-dasharray: 136px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 136px;
 }
}
@keyframes animate-svg-stroke-1 {
 0% {
  stroke-dashoffset: 136px;
  stroke-dasharray: 136px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 136px;
 }
}
@-webkit-keyframes animate-svg-stroke-2 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@keyframes animate-svg-stroke-2 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@-webkit-keyframes animate-svg-stroke-3 {
 0% {
  stroke-dashoffset: 47px;
  stroke-dasharray: 47px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 47px;
 }
}
@keyframes animate-svg-stroke-3 {
 0% {
  stroke-dashoffset: 47px;
  stroke-dasharray: 47px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 47px;
 }
}
@-webkit-keyframes animate-svg-stroke-4 {
 0% {
  stroke-dashoffset: 95px;
  stroke-dasharray: 95px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 95px;
 }
}
@keyframes animate-svg-stroke-4 {
 0% {
  stroke-dashoffset: 95px;
  stroke-dasharray: 95px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 95px;
 }
}
@-webkit-keyframes animate-svg-stroke-5 {
 0% {
  stroke-dashoffset: 106px;
  stroke-dasharray: 106px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 106px;
 }
}
@keyframes animate-svg-stroke-5 {
 0% {
  stroke-dashoffset: 106px;
  stroke-dasharray: 106px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 106px;
 }
}
@-webkit-keyframes animate-svg-stroke-6 {
 0% {
  stroke-dashoffset: 95px;
  stroke-dasharray: 95px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 95px;
 }
}
@keyframes animate-svg-stroke-6 {
 0% {
  stroke-dashoffset: 95px;
  stroke-dasharray: 95px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 95px;
 }
}
@-webkit-keyframes animate-svg-stroke-7 {
 0% {
  stroke-dashoffset: 90px;
  stroke-dasharray: 90px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 90px;
 }
}
@keyframes animate-svg-stroke-7 {
 0% {
  stroke-dashoffset: 90px;
  stroke-dasharray: 90px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 90px;
 }
}
@-webkit-keyframes animate-svg-stroke-8 {
 0% {
  stroke-dashoffset: 110px;
  stroke-dasharray: 110px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 110px;
 }
}
@keyframes animate-svg-stroke-8 {
 0% {
  stroke-dashoffset: 110px;
  stroke-dasharray: 110px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 110px;
 }
}
@-webkit-keyframes animate-svg-stroke-9 {
 0% {
  stroke-dashoffset: 73px;
  stroke-dasharray: 73px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 73px;
 }
}
@keyframes animate-svg-stroke-9 {
 0% {
  stroke-dashoffset: 73px;
  stroke-dasharray: 73px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 73px;
 }
}
@-webkit-keyframes animate-svg-stroke-10 {
 0% {
  stroke-dashoffset: 106px;
  stroke-dasharray: 106px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 106px;
 }
}
@keyframes animate-svg-stroke-10 {
 0% {
  stroke-dashoffset: 106px;
  stroke-dasharray: 106px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 106px;
 }
}
@-webkit-keyframes animate-svg-stroke-11 {
 0% {
  stroke-dashoffset: 99px;
  stroke-dasharray: 99px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 99px;
 }
}
@keyframes animate-svg-stroke-11 {
 0% {
  stroke-dashoffset: 99px;
  stroke-dasharray: 99px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 99px;
 }
}
@-webkit-keyframes animate-svg-stroke-12 {
 0% {
  stroke-dashoffset: 80px;
  stroke-dasharray: 80px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 80px;
 }
}
@keyframes animate-svg-stroke-12 {
 0% {
  stroke-dashoffset: 80px;
  stroke-dasharray: 80px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 80px;
 }
}
@-webkit-keyframes animate-svg-stroke-13 {
 0% {
  stroke-dashoffset: 61px;
  stroke-dasharray: 61px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 61px;
 }
}
@keyframes animate-svg-stroke-13 {
 0% {
  stroke-dashoffset: 61px;
  stroke-dasharray: 61px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 61px;
 }
}
@-webkit-keyframes animate-svg-stroke-14 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@keyframes animate-svg-stroke-14 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@-webkit-keyframes animate-svg-stroke-15 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@keyframes animate-svg-stroke-15 {
 0% {
  stroke-dashoffset: 89px;
  stroke-dasharray: 89px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 89px;
 }
}
@-webkit-keyframes animate-svg-stroke-16 {
 0% {
  stroke-dashoffset: 58px;
  stroke-dasharray: 58px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 58px;
 }
}
@keyframes animate-svg-stroke-16 {
 0% {
  stroke-dashoffset: 58px;
  stroke-dasharray: 58px;
 }
 100% {
  stroke-dashoffset: 0;
  stroke-dasharray: 58px;
 }
}
@-webkit-keyframes animate-svg-fill {
 0% {
  fill: transparent;
 }
 100% {
  fill: rgb(119, 119, 119);
 }
}
@keyframes animate-svg-fill {
 0% {
  fill: transparent;
 }
 100% {
  fill: rgb(119, 119, 119);
 }
}
@-webkit-keyframes fadein {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
@keyframes fadein {
 0% {
  opacity: 0;
 }
 100% {
  opacity: 1;
 }
}
@-webkit-keyframes dots {
 0% {
  -webkit-transform: none;
          transform: none;
 }
 5% {
  -webkit-transform: none;
          transform: none;
 }
 25% {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
 }
 50% {
  -webkit-transform: none;
          transform: none;
 }
 100% {
  -webkit-transform: none;
          transform: none;
 }
}
@keyframes dots {
 0% {
  -webkit-transform: none;
          transform: none;
 }
 5% {
  -webkit-transform: none;
          transform: none;
 }
 25% {
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
 }
 50% {
  -webkit-transform: none;
          transform: none;
 }
 100% {
  -webkit-transform: none;
          transform: none;
 }
}
@-webkit-keyframes opacity {
 0% {
  opacity: 0;
 }
 50% {
  opacity: 0;
 }
 50.1% {
  opacity: 1;
 }
 100% {
  opacity: 1;
 }
}
@keyframes opacity {
 0% {
  opacity: 0;
 }
 50% {
  opacity: 0;
 }
 50.1% {
  opacity: 1;
 }
 100% {
  opacity: 1;
 }
}
@-webkit-keyframes wipe {
 0% {
  width: 0;
  left: 0;
 }
 50% {
  width: 102%;
  left: 0;
 }
 50.1% {
  width: 102%;
  left: 0;
 }
 100% {
  width: 0;
  left: 100%;
 }
}
@keyframes wipe {
 0% {
  width: 0;
  left: 0;
 }
 50% {
  width: 102%;
  left: 0;
 }
 50.1% {
  width: 102%;
  left: 0;
 }
 100% {
  width: 0;
  left: 100%;
 }
}
@-webkit-keyframes wipe2 {
 0% {
  width: 0;
  left: 0;
 }
 50% {
  width: clamp(900px, 81.25vw + -140px, 1420px);
  left: 0;
 }
 50.1% {
  width: clamp(900px, 81.25vw + -140px, 1420px);
  left: 0;
 }
 100% {
  width: 0;
  left: clamp(900px, 81.25vw + -140px, 1420px);
 }
}
@keyframes wipe2 {
 0% {
  width: 0;
  left: 0;
 }
 50% {
  width: clamp(900px, 81.25vw + -140px, 1420px);
  left: 0;
 }
 50.1% {
  width: clamp(900px, 81.25vw + -140px, 1420px);
  left: 0;
 }
 100% {
  width: 0;
  left: clamp(900px, 81.25vw + -140px, 1420px);
 }
}
.l-home .l-content {
 margin-bottom: 0 !important;
}

.p-home {
 width: 100%;
}
.p-home__inner {
 width: 100%;
}
.p-home__headline {
 position: relative;
 padding-top: 27px;
}
.p-home__headline::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 45px;
 height: 3px;
 background: #ff5a00;
}
.p-home__headline .cont.small ._main {
 font-size: clamp(36px, 3.6666666667vw, 44px);
}
.p-home__headline .cont.white ._main {
 color: #ffffff;
}
.p-home__headline .cont ._main {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 width: 100%;
 -webkit-font-feature-settings: "palt";
         font-feature-settings: "palt";
 font-family: "Roboto", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
 font-size: clamp(36px, 4.8333333333vw, 58px);
 font-weight: 900;
 letter-spacing: 0.025em;
 -webkit-hyphens: manual;
     -ms-hyphens: manual;
         hyphens: manual;
 -webkit-transition: color 0.3s ease-in-out;
 transition: color 0.3s ease-in-out;
}
.p-home__headline .cont ._main .__icon {
 display: block;
 margin-left: 20px;
 width: 50px;
 height: 50px;
 position: relative;
 -ms-flex-negative: 0;
     flex-shrink: 0;
}
.p-home__headline .cont ._main .__icon::before {
 content: "";
 position: absolute;
 top: 50%;
 right: 0;
 -webkit-transform: translateY(-50%);
         transform: translateY(-50%);
 width: 100%;
 height: 100%;
 border: 1px solid #ff5a00;
 border-radius: 50%;
 -webkit-transition: background 0.3s ease-in-out;
 transition: background 0.3s ease-in-out;
}
.p-home__headline .cont ._main .__icon::after {
 content: "";
 position: absolute;
 top: 50%;
 right: 14px;
 -webkit-transform: translateY(-50%);
         transform: translateY(-50%);
 width: 21px;
 height: 7px;
 background: url("../images/base/icon_arrow.svg") no-repeat center/contain;
 -webkit-transition: right 0.2s ease-in-out, -webkit-filter 0.3s ease-in-out;
 transition: right 0.2s ease-in-out, -webkit-filter 0.3s ease-in-out;
 transition: filter 0.3s ease-in-out, right 0.2s ease-in-out;
 transition: filter 0.3s ease-in-out, right 0.2s ease-in-out, -webkit-filter 0.3s ease-in-out;
}
.p-home__h-link {
 display: inline-block;
}
.p-home__h-link:hover ._main {
 color: #a0a0a0;
}
.p-home__h-link:hover ._main .__icon::before {
 background: #ff5a00;
}
.p-home__h-link:hover ._main .__icon::after {
 -webkit-filter: brightness(0) invert(1);
         filter: brightness(0) invert(1);
 right: 8px;
}
.p-home__h-link:hover ._cap {
 color: #a0a0a0;
}

.p-home_visual {
 width: 100%;
 position: relative;
}
.p-home_visual__inner {
 width: 100%;
 height: 100%;
}

.p-home_visual_loading {
 width: 100%;
 min-width: 320px;
 height: 100vh;
 height: 100dvh;
 padding: 0 clamp(16px, 3.3333333333vw, 40px);
 background: #ffffff;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 10000;
 -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
 transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
.delay .p-home_visual_loading {
 opacity: 0;
 visibility: hidden;
 pointer-events: none;
}
.p-home_visual_loading__inner {
 width: 100%;
 height: 100%;
 position: relative;
}
.p-home_visual_loading__svg {
 width: min(100%, 450px);
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
         transform: translate(-50%, -50%);
}
.p-home_visual_loading__svg .elem-1 {
 -webkit-animation: animate-svg-stroke-1 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both;
         animation: animate-svg-stroke-1 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both;
}
.p-home_visual_loading__svg .elem-2 {
 -webkit-animation: animate-svg-stroke-2 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.06s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.16s both;
         animation: animate-svg-stroke-2 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.06s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.16s both;
}
.p-home_visual_loading__svg .elem-3 {
 -webkit-animation: animate-svg-stroke-3 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.22s both;
         animation: animate-svg-stroke-3 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.22s both;
}
.p-home_visual_loading__svg .elem-4 {
 -webkit-animation: animate-svg-stroke-4 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.18s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.28s both;
         animation: animate-svg-stroke-4 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.18s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.28s both;
}
.p-home_visual_loading__svg .elem-5 {
 -webkit-animation: animate-svg-stroke-5 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.34s both;
         animation: animate-svg-stroke-5 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.34s both;
}
.p-home_visual_loading__svg .elem-6 {
 -webkit-animation: animate-svg-stroke-6 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both;
         animation: animate-svg-stroke-6 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both;
}
.p-home_visual_loading__svg .elem-7 {
 -webkit-animation: animate-svg-stroke-7 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.46s both;
         animation: animate-svg-stroke-7 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.46s both;
}
.p-home_visual_loading__svg .elem-8 {
 -webkit-animation: animate-svg-stroke-8 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.52s both;
         animation: animate-svg-stroke-8 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.42s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.52s both;
}
.p-home_visual_loading__svg .elem-9 {
 -webkit-animation: animate-svg-stroke-9 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.58s both;
         animation: animate-svg-stroke-9 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.58s both;
}
.p-home_visual_loading__svg .elem-10 {
 -webkit-animation: animate-svg-stroke-10 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.54s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.64s both;
         animation: animate-svg-stroke-10 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.54s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.64s both;
}
.p-home_visual_loading__svg .elem-11 {
 -webkit-animation: animate-svg-stroke-11 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both;
         animation: animate-svg-stroke-11 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both;
}
.p-home_visual_loading__svg .elem-12 {
 -webkit-animation: animate-svg-stroke-12 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.66s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.76s both;
         animation: animate-svg-stroke-12 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.66s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.76s both;
}
.p-home_visual_loading__svg .elem-13 {
 -webkit-animation: animate-svg-stroke-13 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.82s both;
         animation: animate-svg-stroke-13 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.82s both;
}
.p-home_visual_loading__svg .elem-14 {
 -webkit-animation: animate-svg-stroke-14 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.78s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.88s both;
         animation: animate-svg-stroke-14 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.78s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.88s both;
}
.p-home_visual_loading__svg .elem-15 {
 -webkit-animation: animate-svg-stroke-15 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.94s both;
         animation: animate-svg-stroke-15 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.94s both;
}
.p-home_visual_loading__svg .elem-16 {
 -webkit-animation: animate-svg-stroke-16 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
         animation: animate-svg-stroke-16 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both, animate-svg-fill 0.3s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
}
.p-home_visual_loading__dots {
 width: clamp(48px, 4.6666666667vw, 56px);
 margin: 0 auto;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
     -ms-flex-pack: center;
         justify-content: center;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 margin-top: clamp(20px, 2.3333333333vw, 28px);
 -webkit-animation: 0.5s fadein forwards;
         animation: 0.5s fadein forwards;
}
.p-home_visual_loading__dots .dot {
 display: block;
 width: clamp(12px, 1.1666666667vw, 14px);
 aspect-ratio: 1/1;
 background: #ff5a00;
 border-radius: 50%;
 -webkit-animation: 1.5s dots ease-out infinite;
         animation: 1.5s dots ease-out infinite;
}
.p-home_visual_loading__dots .dot:nth-child(2) {
 -webkit-animation-delay: 0.5s;
         animation-delay: 0.5s;
}
.p-home_visual_loading__dots .dot:nth-child(3) {
 -webkit-animation-delay: 1s;
         animation-delay: 1s;
}
.p-home_visual_loading__dots .dot:not(:last-child) {
 margin-right: clamp(6px, 0.5833333333vw, 7px);
}

.p-home_visual_box {
 width: clamp(500px, 41.518vw + 74.857px, 872px);
 height: clamp(500px, 12.723vw + 369.714px, 614px);
 position: sticky;
 top: clamp(12px, 51.172vh + -278.656px, 274px);
 left: clamp(40px, 12.5vw + -120px, 120px);
 z-index: 2;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box {
  width: clamp(320px, 100%, 600px);
  height: auto;
  position: fixed;
  top: 50%;
  left: 50%;
  padding: 0 clamp(16px, 3.3333333333vw, 40px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
 }
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box.stop {
  position: absolute;
  top: calc(100vh + clamp(40px, 4.464vw + 25.714px, 60px));
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: none;
  transition: none;
 }
}
.p-home_visual_box__inner {
 width: 100%;
 height: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
}
.p-home_visual_box__text {
 width: 100%;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box__text {
  text-align: center;
 }
}
.p-home_visual_box__en {
 width: 100%;
}
.p-home_visual_box__en .cont {
 display: inline-block;
 position: relative;
 overflow: hidden;
 padding: 2px 1px;
}
.p-home_visual_box__en .cont:not(:last-child) {
 margin-bottom: clamp(42px, 1.25vw + 26px, 50px);
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box__en .cont:not(:last-child) {
  margin-bottom: clamp(20px, 4.1666666667vw, 32px);
 }
}
.p-home_visual_box__en .cont:nth-child(1) {
 width: min(79.01377%, 689px);
}
.p-home_visual_box__en .cont:nth-child(2) {
 width: 100%;
}
.delay .p-home_visual_box__en .cont:nth-child(2)::after {
 -webkit-animation-delay: 0.15s;
         animation-delay: 0.15s;
}
.delay .p-home_visual_box__en .cont:nth-child(2) img {
 -webkit-animation-delay: 0.15s;
         animation-delay: 0.15s;
}
.active .p-home_visual_box__en .cont img {
 -webkit-filter: none;
         filter: none;
}
.p-home_visual_box__en .cont::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background: #ff5a00;
}
.delay .p-home_visual_box__en .cont::after {
 -webkit-animation: wipe 0.8s forwards;
         animation: wipe 0.8s forwards;
}
.p-home_visual_box__en .cont img {
 -webkit-filter: brightness(0%) invert(100%) drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.6));
         filter: brightness(0%) invert(100%) drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.6));
 -webkit-transition: -webkit-filter 0.3s ease-in-out;
 transition: -webkit-filter 0.3s ease-in-out;
 transition: filter 0.3s ease-in-out;
 transition: filter 0.3s ease-in-out, -webkit-filter 0.3s ease-in-out;
 opacity: 0;
}
.delay .p-home_visual_box__en .cont img {
 -webkit-animation: opacity 0.8s forwards;
         animation: opacity 0.8s forwards;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box__en .cont img.pc_img {
  display: none;
 }
}
.p-home_visual_box__en .cont img.sp_img {
 display: none;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_box__en .cont img.sp_img {
  display: block;
 }
}

.p-home_visual_video {
 width: 100%;
 height: 100vh;
 height: 100dvh;
 min-height: 568px;
 margin-top: clamp(-614px, -12.723vw + -369.714px, -500px);
}
@media screen and (max-width: 1024px) {
 .p-home_visual_video {
  margin-top: 0;
 }
}
.p-home_visual_video__inner {
 width: 100%;
 height: 100%;
}
.p-home_visual_video__youtube {
 width: 100%;
 height: 100%;
 overflow: hidden;
 position: relative;
 margin-left: auto;
 opacity: 0;
 -webkit-transition: opacity 0.1s;
 transition: opacity 0.1s;
}
@media print {
 .p-home_visual_video__youtube {
  background: url("../images/home/visual_poster.jpg") no-repeat center;
  background-size: cover;
 }
}
.delay .p-home_visual_video__youtube {
 opacity: 1;
}
.p-home_visual_video__cover {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 right: 0;
}
.p-home_visual_video__cover::before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: 1;
 background: rgba(0, 0, 0, 0.15);
}
.p-home_visual_video__cover #movie {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
         transform: translate(-50%, -50%);
 z-index: 0;
}

.p-home_visual_aboutus {
 width: 100%;
 padding: 0 clamp(16px, 3.3333333333vw, 40px);
 height: clamp(500px, 12.723vw + 369.714px, 614px);
 background: #ffffff;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_aboutus {
  height: auto;
  padding-top: clamp(185px, 21.205vw + 117.143px, 280px);
  padding-bottom: 64px;
 }
}
.p-home_visual_aboutus__inner {
 width: min(100%, 1200px);
 height: 100%;
 margin: 0 auto;
}
.p-home_visual_aboutus__flex {
 width: 100%;
 height: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: end;
     -ms-flex-pack: end;
         justify-content: flex-end;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 opacity: 0;
 -webkit-transform: translateY(60px);
         transform: translateY(60px);
 -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_aboutus__flex {
  height: auto;
  display: block;
 }
}
.p-home_visual_aboutus__inner.fadein.active .p-home_visual_aboutus__flex {
 opacity: 1;
 -webkit-transform: none;
         transform: none;
}
.p-home_visual_aboutus__text {
 margin-top: 20px;
 max-width: 420px;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_aboutus__text {
  margin: 0 auto;
 }
}
.p-home_visual_aboutus__text .text {
 font-size: 16px;
 line-height: 1.75;
 margin-top: clamp(-6px, -0.5vw, -6px);
 margin-bottom: clamp(-6px, -0.5vw, -6px);
}
@media screen and (max-width: 768px) {
 .p-home_visual_aboutus__text .text {
  line-height: 1.625;
  margin-top: clamp(-5px, -0.4166666667vw, -5px);
  margin-bottom: clamp(-5px, -0.4166666667vw, -5px);
 }
}
.p-home_visual_aboutus__text .text ._ib {
 display: block;
}
@media screen and (max-width: 1024px) {
 .p-home_visual_aboutus__text .text ._ib {
  display: inline-block;
 }
}
@media screen and (max-width: 1024px) {
 .p-home_visual_aboutus__text .text ._sp_hide {
  display: none;
 }
}

.p-home_news {
 background: #f8f8f8;
 padding: clamp(60px, 9.1666666667vw, 110px) clamp(16px, 3.3333333333vw, 40px) clamp(120px, 20vw, 240px);
 margin: 0 clamp(-40px, -3.3333333333vw, -16px);
 overflow: hidden;
 position: relative;
}
@media screen and (max-width: 1024px) {
 .p-home_news {
  padding-bottom: clamp(60px, 7.8125vw, 80px);
 }
}
.p-home_news__inner {
 width: min(100%, 1200px);
 margin: 0 auto;
 position: relative;
 opacity: 0;
 -webkit-transform: translateY(60px);
         transform: translateY(60px);
 -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
@media screen and (max-width: 768px) {
 .p-home_news__inner {
  position: relative;
  padding-bottom: 86px;
 }
}
.p-home_news__inner.fadein.active {
 opacity: 1;
 -webkit-transform: none;
         transform: none;
}
.p-home_news__slider {
 width: 1490px;
}
@media screen and (max-width: 1024px) {
 .p-home_news__slider {
  width: 1212px;
 }
}
.p-home_news__slider_cont {
 position: static;
}
.p-home_news__link {
 display: block;
 width: 100%;
 height: 100%;
 background: #ffffff;
 padding-bottom: clamp(40px, 4.1666666667vw, 50px);
 position: relative;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_news__link:hover::before {
  right: 16px;
 }
}
.p-home_news__link::before {
 content: "";
 position: absolute;
 bottom: 20px;
 right: 20px;
 width: 21px;
 height: 7px;
 background: url("../images/base/icon_arrow.svg") no-repeat center/contain;
 -webkit-transition: right 0.2s ease-in-out;
 transition: right 0.2s ease-in-out;
}
.p-home_news__figure {
 width: 100%;
 position: relative;
 margin-bottom: clamp(36px, 3.3333333333vw, 40px);
}
.p-home_news__figure .img {
 width: 100%;
 aspect-ratio: 320/188;
 overflow: hidden;
}
.p-home_news__figure .img img {
 width: 100%;
 height: 100%;
 -o-object-fit: cover;
    object-fit: cover;
 -webkit-transition: -webkit-transform 0.2s ease-in-out;
 transition: -webkit-transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_news__link:hover .p-home_news__figure .img img {
  -webkit-transform: scale(1.07);
          transform: scale(1.07);
 }
}
.p-home_news__figure .cat {
 display: inline-block;
 position: absolute;
 bottom: 0;
 left: clamp(16px, 1.6666666667vw, 20px);
 -webkit-transform: translateY(50%);
         transform: translateY(50%);
 width: clamp(145px, 14.3333333333vw, 172px);
 font-size: clamp(14px, 1.3333333333vw, 16px);
 text-align: center;
 padding: 5px 0 7px;
 color: #ffffff;
 background: #ff5a00;
}
.p-home_news__text {
 width: 100%;
 padding: 0 clamp(24px, 2.5vw, 30px);
}
.p-home_news__text .time {
 display: block;
 font-size: 15px;
 font-weight: bold;
 color: #a0a0a0;
 margin-bottom: 16px;
}
.p-home_news__text .ttl {
 font-size: clamp(15px, 1.3333333333vw, 16px);
 line-height: 1.5;
 margin-top: clamp(-4px, -0.3333333333vw, -4px);
 margin-bottom: clamp(-4px, -0.3333333333vw, -4px);
 -webkit-transition: color 0.3s ease-in-out;
 transition: color 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
 .p-home_news__text .ttl {
  line-height: 1.5;
  margin-top: clamp(-3.75px, -0.3125vw, -3.75px);
  margin-bottom: clamp(-3.75px, -0.3125vw, -3.75px);
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_news__link:hover .p-home_news__text .ttl {
  color: #ff5a00;
 }
}
.p-home_news__tag-list {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 margin-top: clamp(16px, 2vw, 24px);
 gap: 12px;
}
.p-home_news__tag-list li {
 font-size: 15px;
 padding: 5px 20px;
 background: #d5dce3;
 border-radius: 9999px;
}
.p-home_news__tag-list li::before {
 content: "#";
}
.p-home_news__control {
 width: 214px;
 position: absolute;
 top: clamp(40px, 4.8333333333vw, 58px);
 right: 0;
}
@media screen and (max-width: 768px) {
 .p-home_news__control {
  top: auto;
  bottom: 0;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
 }
}
.p-home_news__control .cont {
 position: relative;
}
.p-home_news__arrows {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
}
.p-home_news__arrow {
 width: 56px;
 height: 56px;
 background: #ffffff;
 border: 1px solid #aaaaaa;
 cursor: pointer;
 position: relative;
 left: auto;
 right: auto;
 -webkit-transition: border 0.3s ease-in-out;
 transition: border 0.3s ease-in-out;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_news__arrow:hover {
  border-color: #ff5a00;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_news__arrow:hover::before {
  border-color: #ff5a00 !important;
 }
}
.p-home_news__arrow.prev::before {
 -webkit-transform: translate(-40%, -50%) rotate(45deg);
         transform: translate(-40%, -50%) rotate(45deg);
 border-bottom: 1px solid #191919;
 border-left: 1px solid #191919;
}
.p-home_news__arrow.next::before {
 -webkit-transform: translate(-60%, -50%) rotate(45deg);
         transform: translate(-60%, -50%) rotate(45deg);
 border-top: 1px solid #191919;
 border-right: 1px solid #191919;
}
.p-home_news__arrow::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 width: 10px;
 height: 10px;
 -webkit-transition: border-color 0.3s ease-in-out;
 transition: border-color 0.3s ease-in-out;
}
.p-home_news__count {
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%, -50%);
         transform: translate(-50%, -50%);
}

.p-home_products {
 padding: 0 clamp(16px, 3.3333333333vw, 40px);
 margin: 0 clamp(-40px, -3.3333333333vw, -16px) clamp(60px, 16.6666666667vw, 200px);
 position: relative;
}
@media screen and (max-width: 1024px) {
 .p-home_products {
  overflow: hidden;
  padding-top: clamp(100px, 24.4140625vw, 250px);
 }
}
.p-home_products.fadein.active::before {
 -webkit-animation: opacity 0.8s forwards;
         animation: opacity 0.8s forwards;
}
.p-home_products.fadein.active::after {
 -webkit-animation: wipe2 0.8s forwards;
         animation: wipe2 0.8s forwards;
}
.p-home_products::before {
 content: "";
 position: absolute;
 top: clamp(-120px, -10vw, -60px);
 left: 0;
 width: clamp(900px, 81.25vw + -140px, 1420px);
 height: clamp(100% + 100px, 100% + (7.813vw + 20px), 100% + 120px);
 background: url("../images/home/photo_products_bg.jpg") no-repeat center/cover;
 opacity: 0;
}
@media screen and (max-width: 1024px) {
 .p-home_products::before {
  top: 0;
  width: 100%;
  height: clamp(100px, 24.4140625vw, 250px);
 }
}
.p-home_products::after {
 content: "";
 position: absolute;
 top: clamp(-120px, -10vw, -60px);
 left: 0;
 width: 0;
 height: clamp(100% + 100px, 100% + (7.813vw + 20px), 100% + 120px);
 background: #ff5a00;
}
@media screen and (max-width: 1024px) {
 .p-home_products::after {
  top: 0;
  height: clamp(100px, 24.4140625vw, 250px);
 }
}
.p-home_products__inner {
 width: min(100%, 1200px);
 margin: 0 auto;
 position: relative;
 padding: 110px 0 0 clamp(40px, 31.25vw + -280px, 120px);
 background: #ffffff;
 z-index: 1;
 opacity: 0;
 -webkit-transform: translateY(60px);
         transform: translateY(60px);
 -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 -webkit-transition-delay: 0.3s;
         transition-delay: 0.3s;
}
@media screen and (max-width: 1024px) {
 .p-home_products__inner {
  padding: clamp(60px, 7.8125vw, 80px) 0 0;
 }
}
.p-home_products__inner.fadein.active {
 opacity: 1;
 -webkit-transform: none;
         transform: none;
}
.p-home_products__flex {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 margin-bottom: clamp(40px, 5.859375vw, 60px);
}
@media screen and (max-width: 768px) {
 .p-home_products__flex {
  display: block;
 }
}
.p-home_products__text {
 font-size: 16px;
 margin-top: 28px;
 margin-left: 40px;
}
@media screen and (max-width: 768px) {
 .p-home_products__text {
  display: none;
 }
}
.p-home_products__image_list {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list {
  row-gap: 20px;
 }
}
.p-home_products__image_list > li {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-orient: vertical;
 -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 width: auto;
}
.p-home_products__image_list > li:nth-child(5n+2):nth-last-child(2), .p-home_products__image_list > li:nth-child(5n+2):nth-last-child(3), .p-home_products__image_list > li:nth-child(5n+3):nth-last-child(2) {
 margin-left: calc((100% - auto * 5) / 4);
}
.p-home_products__image_list > li:nth-child(5n+2):last-child, .p-home_products__image_list > li:nth-child(5n+3):last-child, .p-home_products__image_list > li:nth-child(5n+4):last-child {
 margin-right: auto;
 margin-left: calc((100% - auto * 5) / 4);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li {
  width: 30%;
 }
 .p-home_products__image_list > li:nth-child(4n+2):nth-last-child(2), .p-home_products__image_list > li:nth-child(4n+2):last-child, .p-home_products__image_list > li:nth-child(4n+3):last-child {
  margin: 0;
 }
 .p-home_products__image_list > li:nth-child(3n+2):last-child {
  margin-right: auto;
  margin-left: calc(50% - 30% * 1.5);
 }
}
@media screen and (max-width: 480px) {
 .p-home_products__image_list > li {
  width: 46%;
 }
 .p-home_products__image_list > li:nth-child(4n+2):nth-last-child(2), .p-home_products__image_list > li:nth-child(4n+2):last-child, .p-home_products__image_list > li:nth-child(4n+3):last-child, .p-home_products__image_list > li:nth-child(3n+2):last-child {
  margin: 0;
 }
}
.p-home_products__image_list > li:first-child .image > img {
 aspect-ratio: 96/135;
 width: clamp(63px, 12.891vw + -36px, 96px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li:first-child .image > img {
  width: clamp(63px, 7.366vw + 39.429px, 96px);
 }
}
.p-home_products__image_list > li:nth-child(2) .image > img {
 aspect-ratio: 125/146;
 width: clamp(82px, 16.797vw + -47px, 125px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li:nth-child(2) .image > img {
  width: clamp(82px, 9.598vw + 51.286px, 125px);
 }
}
@media screen and (max-width: 480px) {
 .p-home_products__image_list > li:nth-child(3) .image {
  height: clamp(106px, 7.5vw + 82px, 118px);
 }
}
.p-home_products__image_list > li:nth-child(3) .image > img {
 aspect-ratio: 179/128;
 width: clamp(117px, 24.219vw + -69px, 179px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li:nth-child(3) .image > img {
  width: clamp(117px, 13.839vw + 72.714px, 179px);
 }
}
@media screen and (max-width: 480px) {
 .p-home_products__image_list > li:nth-child(4) .image {
  height: clamp(106px, 7.5vw + 82px, 118px);
 }
}
.p-home_products__image_list > li:nth-child(4) .image > img {
 aspect-ratio: 163/122;
 width: clamp(106px, 22.266vw + -65px, 163px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li:nth-child(4) .image > img {
  width: clamp(106px, 12.723vw + 65.286px, 163px);
 }
}
@media screen and (max-width: 480px) {
 .p-home_products__image_list > li:nth-child(5) .image {
  height: clamp(92px, 7.5vw + 68px, 104px);
 }
}
.p-home_products__image_list > li:nth-child(5) .image > img {
 aspect-ratio: 194/100;
 width: clamp(145px, 26.563vw + -78px, 194px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li:nth-child(5) .image > img {
  width: clamp(126px, 15.179vw + 77.429px, 194px);
 }
}
.p-home_products__image_list > li .image {
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 margin-bottom: clamp(4px, 0.893vw + 1.143px, 8px);
 height: clamp(96px, 20.313vw + -60px, 148px);
}
@media screen and (max-width: 768px) {
 .p-home_products__image_list > li .image {
  height: clamp(96px, 11.607vw + 58.857px, 148px);
 }
}
.p-home_products__image_list > li .cap {
 font-size: clamp(14px, 0.781vw + 8px, 16px);
 text-align: center;
 margin-top: auto !important;
 line-height: 1;
 margin-top: clamp(0px, 0vw, 0px);
 margin-bottom: clamp(0px, 0vw, 0px);
}
.p-home_products__list {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
 -ms-flex-wrap: wrap;
     flex-wrap: wrap;
 row-gap: clamp(10px, 2.9296875vw, 30px);
}
@media screen and (max-width: 768px) {
 .p-home_products__list {
  max-width: 450px;
  margin: 0 auto;
 }
}
.p-home_products__list li {
 width: min(31.5%, 340px);
}
.p-home_products__list li:nth-child(3n+2):last-child {
 margin-right: auto;
 margin-left: calc(50% - min(31.5%, 340px) * 1.5);
}
@media screen and (max-width: 1024px) {
 .p-home_products__list li {
  width: 48.5%;
 }
 .p-home_products__list li:nth-child(3n+2):last-child {
  margin: 0;
 }
}
@media screen and (max-width: 768px) {
 .p-home_products__list li {
  width: 100%;
  margin: 0 auto;
 }
 .p-home_products__list li:nth-child(3n+2):last-child {
  margin: 0 auto;
 }
}
.p-home_products__link {
 width: 100%;
 height: 200px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
 padding: 8px 10px 8px 20px;
 background: #d5dce3;
 border: 6px solid #d5dce3;
 position: relative;
 -webkit-transition: background 0.3s ease-in-out;
 transition: background 0.3s ease-in-out;
}
@media screen and (max-width: 1024px) {
 .p-home_products__link {
  height: clamp(160px, 19.53125vw, 200px);
 }
}
@media screen and (max-width: 768px) {
 .p-home_products__link {
  height: 130px;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_products__link:hover {
  background: #ecf0f4;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_products__link:hover::before {
  right: 10px;
 }
}
.p-home_products__link::before {
 content: "";
 position: absolute;
 bottom: 14px;
 right: 14px;
 width: 21px;
 height: 7px;
 background: url("../images/base/icon_arrow.svg") no-repeat center/contain;
 -webkit-transition: right 0.2s ease-in-out;
 transition: right 0.2s ease-in-out;
}
.p-home_products__item {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
}
.p-home_products__item .ttl {
 line-height: 1.625;
 margin-top: clamp(-5px, -0.4166666667vw, -5px);
 margin-bottom: clamp(-5px, -0.4166666667vw, -5px);
 letter-spacing: 0.04em;
 margin-right: 10px;
}
@media screen and (max-width: 768px) {
 .p-home_products__item .ttl {
  margin-right: 0;
 }
}
.p-home_products__item .cont {
 width: 60.2%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: center;
     -ms-flex-pack: center;
         justify-content: center;
 -webkit-box-align: center;
     -ms-flex-align: center;
         align-items: center;
}
@media screen and (max-width: 768px) {
 .p-home_products__item .cont {
  width: 60%;
  padding-right: 20px;
 }
}
.p-home_products__figure {
 width: 100%;
 margin: 0 auto;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
 .p-home_products__figure {
  width: 70%;
 }
}
.p-home_products__list li:nth-child(1) .p-home_products__figure {
 max-width: 95px;
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:nth-child(1) .p-home_products__figure {
  width: 73px;
 }
}
.p-home_products__list li:nth-child(2) .p-home_products__figure {
 max-width: 124px;
}
@media screen and (max-width: 1024px) {
 .p-home_products__list li:nth-child(2) .p-home_products__figure {
  width: 60%;
 }
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:nth-child(2) .p-home_products__figure {
  width: 96px;
 }
}
.p-home_products__list li:nth-child(3) .p-home_products__figure {
 max-width: 179px;
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:nth-child(3) .p-home_products__figure {
  width: 138px;
 }
}
.p-home_products__list li:nth-child(4) .p-home_products__figure {
 max-width: 163px;
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:nth-child(4) .p-home_products__figure {
  width: 126px;
 }
}
.p-home_products__list li:nth-child(5) .p-home_products__figure {
 max-width: 194px;
}
@media screen and (max-width: 1024px) {
 .p-home_products__list li:nth-child(5) .p-home_products__figure {
  width: 80%;
 }
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:nth-child(5) .p-home_products__figure {
  width: 150px;
 }
}
.p-home_products__list li:last-child .p-home_products__figure {
 max-width: 98px;
}
@media screen and (max-width: 1024px) {
 .p-home_products__list li:last-child .p-home_products__figure {
  width: 40%;
 }
}
@media screen and (max-width: 768px) {
 .p-home_products__list li:last-child .p-home_products__figure {
  width: 67px;
 }
}
.p-home_products__list li:not(:last-child) .p-home_products__figure img {
 mix-blend-mode: multiply;
}

.p-home_linkbox {
 margin: 0 clamp(-40px, -3.3333333333vw, -16px) clamp(60px, 10vw, 120px);
 padding: 0 clamp(16px, 3.3333333333vw, 40px);
}
.p-home_linkbox__inner {
 width: min(100%, 1200px);
 margin: 0 auto;
}
.p-home_linkbox__list {
 width: 100%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
     -ms-flex-pack: justify;
         justify-content: space-between;
 row-gap: clamp(40px, 5vw, 60px);
}
@media screen and (max-width: 768px) {
 .p-home_linkbox__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 525px;
  margin: 0 auto;
 }
}
.p-home_linkbox__list li {
 width: min(48.6%, 525px);
}
@media screen and (max-width: 768px) {
 .p-home_linkbox__list li {
  width: 100%;
 }
}
.p-home_linkbox__link {
 width: 100%;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_linkbox__link:hover .p-home__headline ._main {
  color: #a0a0a0;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_linkbox__link:hover .p-home__headline ._main .__icon::before {
  background: #ff5a00;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_linkbox__link:hover .p-home__headline ._main .__icon::after {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  right: 8px;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_linkbox__link:hover .p-home__headline ._cap {
  color: #a0a0a0;
 }
}
.p-home_linkbox__link .p-home__headline {
 opacity: 0;
 -webkit-transform: translateY(50px);
         transform: translateY(50px);
 -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 -webkit-transition-delay: 0.3s;
         transition-delay: 0.3s;
}
.p-home_linkbox__list li.fadein.active .p-home_linkbox__link .p-home__headline {
 opacity: 1;
 -webkit-transform: none;
         transform: none;
}
.p-home_linkbox__figure {
 width: 100%;
 margin-bottom: clamp(30px, 3.3333333333vw, 40px);
}
.p-home_linkbox__figure .img {
 width: 100%;
 aspect-ratio: 525/300;
 overflow: hidden;
 position: relative;
}
.p-home_linkbox__figure .img::after {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background: #ff5a00;
}
.p-home_linkbox__list li.fadein.active .p-home_linkbox__figure .img::after {
 -webkit-animation: wipe 0.8s forwards;
         animation: wipe 0.8s forwards;
}
.p-home_linkbox__figure .img img {
 opacity: 0;
 -webkit-transition: -webkit-transform 0.2s ease-in-out;
 transition: -webkit-transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
.p-home_linkbox__list li.fadein.active .p-home_linkbox__figure .img img {
 -webkit-animation: opacity 0.8s forwards;
         animation: opacity 0.8s forwards;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_linkbox__link:hover .p-home_linkbox__figure .img img {
  -webkit-transform: scale(1.07);
          transform: scale(1.07);
 }
}

.p-home_recruit {
 margin: 0 clamp(-40px, -3.3333333333vw, -16px);
}
.p-home_recruit__inner {
 width: 100%;
}
.p-home_recruit__link {
 display: block;
 width: 100%;
 position: relative;
 padding: clamp(90px, 9.1666666667vw, 110px) clamp(16px, 3.3333333333vw, 40px) clamp(90px, 9.1666666667vw, 110px);
 overflow: hidden;
 opacity: 0;
 -webkit-transform: translateY(50px);
         transform: translateY(50px);
 -webkit-transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
 transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
}
.p-home_recruit__inner.fadein.active .p-home_recruit__link {
 opacity: 1;
 -webkit-transform: none;
         transform: none;
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_recruit__link:hover::before {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_recruit__link:hover .p-home__headline ._main {
  color: #eeeeee;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_recruit__link:hover .p-home__headline ._main .__icon::before {
  background: #ff5a00;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_recruit__link:hover .p-home__headline ._main .__icon::after {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  right: 8px;
 }
}
@media screen and (hover: hover) and (pointer: fine) {
 .p-home_recruit__link:hover .p-home__headline ._cap {
  color: #eeeeee;
 }
}
.p-home_recruit__link::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: url("../images/home/photo_recruit_bg.jpg") no-repeat right clamp(-250px, 48.828vw + -625px, 0px) top -75px/auto 740px;
 -webkit-transition: -webkit-transform 0.2s ease-in-out;
 transition: -webkit-transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out;
 transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link::before {
  background-position: right -115px center;
  background-size: auto 420px;
 }
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link .p-home__headline {
  margin-bottom: 20px;
 }
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link .p-home__headline::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
 }
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link .p-home__headline .cont {
  position: relative;
  padding-bottom: 70px;
  text-align: center;
 }
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link .p-home__headline .cont ._main {
  display: block;
 }
}
@media screen and (max-width: 768px) {
 .p-home_recruit__link .p-home__headline .cont ._main .__icon {
  margin-left: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
 }
}
.p-home_recruit__box {
 width: min(100%, 1200px);
 margin: 0 auto;
 position: relative;
}
.p-home_recruit__text {
 line-height: 2.375;
 margin-top: clamp(-11px, -0.9166666667vw, -11px);
 margin-bottom: clamp(-11px, -0.9166666667vw, -11px);
 letter-spacing: 0.04em;
 color: #ffffff;
}
@media screen and (max-width: 768px) {
 .p-home_recruit__text {
  text-align: center;
 }
}
/*# sourceMappingURL=common_home.css.map */