@charset "UTF-8";
/*-----------------------
reset
-----------------------*/
*:focus {
  outline: none;
}

*, *:before, *:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

:where(body) {
  line-height: 1.5;
}

address {
  font-style: inherit;
}

q::before, q::after, blockquote::before, blockquote::after {
  content: "";
  content: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img) {
  max-width: 100%;
  border: none;
  vertical-align: bottom;
}

:where(ul, ol) {
  list-style: none;
}

article, aside, details, figcaption, figure, footer, header, main, hgroup, menu, nav, section {
  display: block;
}

:where(summary) {
  display: list-item;
}

a {
  border: none;
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.2ex;
}

:where(a:link, a:active, a:visited, a:hover) {
  color: inherit;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  word-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */
}

:where(p) {
  margin: 0;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(caption, th, td) {
  text-align: left;
  vertical-align: middle;
  font-weight: normal;
}

/*color*/
/*
$color-main: $orange;
$color-sub1: #96D3EF;
$color-sub2: $blue2;
$color-sub3: #D5F2FF;
$color-sub4: $red;
$color-sub5: $orange;
$color-link: $blue2;
$color-line2: $light-gray;
*/
/*mediaquery*/
/* function */
/*mixin*/
@font-face {
  font-family: "M PLUS 1p";
  font-weight: 400;
  font-display: swap;
  src: url(../font/M_PLUS_1p/MPLUS1p-Regular.ttf) format("truetype");
}
@font-face {
  font-family: "M PLUS 1p";
  font-weight: 500;
  font-display: swap;
  src: url(../font/M_PLUS_1p/MPLUS1p-Medium.ttf) format("truetype");
}
@font-face {
  font-family: "M PLUS 1p";
  font-weight: 700;
  font-display: swap;
  src: url(../font/M_PLUS_1p/MPLUS1p-Bold.ttf) format("truetype");
}
/*-----------------------
base
-----------------------*/
html {
  font-size: 62.5%;
  line-height: 1;
  margin-top: 0 !important;
  scrollbar-width: thin;
}

body {
  color: #222222;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  letter-spacing: 0;
  line-height: 1.5;
  width: 100%;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-weight: normal;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  position: relative;
}

/*-----------------------
tag
-----------------------*/
section {
  margin-top: min(9.3704245974vw, 12.8rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.section-margin {
  margin-top: min(9.3704245974vw, 12.8rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.section-padding {
  padding-top: min(9.3704245974vw, 12.8rem);
  padding-bottom: min(9.3704245974vw, 12.8rem);
}

picture {
  display: contents;
}

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

a {
  color: inherit;
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

blockquote {
  font-size: 100%;
}

embed,
iframe,
object {
  max-width: 100%;
}

details summary {
  list-style-type: none;
  cursor: pointer;
  position: relative;
}

details summary::-webkit-details-marker {
  display: none;
}

details summary .toggle {
  width: 1.3333333333em;
  aspect-ratio: 1/1;
  position: absolute;
}

details summary .toggle::before, details summary .toggle::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #FFA600;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

details summary .toggle::after {
  rotate: 90deg;
}

details[open] .toggle::after {
  rotate: 0deg;
}

/*-----------------------
common
-----------------------*/
.inner {
  width: 96%;
  max-width: 1024px;
  margin: 0 auto;
}

/* margin */
/* Top */
.mT0 {
  margin-top: 0;
}

.mT10 {
  margin-top: 1rem;
}

.mT20 {
  margin-top: 2rem;
}

.mT30 {
  margin-top: 3rem;
}

.mT40 {
  margin-top: 4rem;
}

.mT50 {
  margin-top: 5rem;
}

.mT60 {
  margin-top: 6rem;
}

.mT70 {
  margin-top: 7rem;
}

.mT80 {
  margin-top: 8rem;
}

.mT90 {
  margin-top: 9rem;
}

.mT100 {
  margin-top: 10rem;
}

.mT110 {
  margin-top: 11rem;
}

.mT120 {
  margin-top: 12rem;
}

.mT130 {
  margin-top: 13rem;
}

.mT140 {
  margin-top: 14rem;
}

.mT150 {
  margin-top: 15rem;
}

.mT160 {
  margin-top: 16rem;
}

.mT170 {
  margin-top: 17rem;
}

.mT180 {
  margin-top: 18rem;
}

.mT190 {
  margin-top: 19rem;
}

.mT200 {
  margin-top: 20rem;
}

/* Bottom */
.mB0 {
  margin-bottom: 0;
}

.mB10 {
  margin-bottom: 1rem;
}

.mB20 {
  margin-bottom: 2rem;
}

.mB30 {
  margin-bottom: 3rem;
}

.mB40 {
  margin-bottom: 4rem;
}

.mB50 {
  margin-bottom: 5rem;
}

.mB60 {
  margin-bottom: 6rem;
}

.mB70 {
  margin-bottom: 7rem;
}

.mB80 {
  margin-bottom: 8rem;
}

.mB90 {
  margin-bottom: 9rem;
}

.mB100 {
  margin-bottom: 10rem;
}

.mB110 {
  margin-bottom: 11rem;
}

.mB120 {
  margin-bottom: 12rem;
}

.mB130 {
  margin-bottom: 13rem;
}

.mB140 {
  margin-bottom: 14rem;
}

.mB150 {
  margin-bottom: 15rem;
}

.mB160 {
  margin-bottom: 16rem;
}

.mB170 {
  margin-bottom: 17rem;
}

.mB180 {
  margin-bottom: 18rem;
}

.mB190 {
  margin-bottom: 19rem;
}

.mB200 {
  margin-bottom: 20rem;
}

/* padding */
/* Top */
.pT0 {
  padding-top: 0;
}

.pT10 {
  padding-top: 1rem;
}

.pT20 {
  padding-top: 2rem;
}

.pT30 {
  padding-top: 3rem;
}

.pT40 {
  padding-top: 4rem;
}

.pT50 {
  padding-top: 5rem;
}

.pT60 {
  padding-top: 6rem;
}

.pT70 {
  padding-top: 7rem;
}

.pT80 {
  padding-top: 8rem;
}

.pT90 {
  padding-top: 9rem;
}

.pT100 {
  padding-top: 10rem;
}

.pT110 {
  padding-top: 11rem;
}

.pT120 {
  padding-top: 12rem;
}

.pT130 {
  padding-top: 13rem;
}

.pT140 {
  padding-top: 14rem;
}

.pT150 {
  padding-top: 15rem;
}

.pT160 {
  padding-top: 16rem;
}

.pT170 {
  padding-top: 17rem;
}

.pT180 {
  padding-top: 18rem;
}

.pT190 {
  padding-top: 19rem;
}

.pT200 {
  padding-top: 20rem;
}

/* Bottom */
.pB0 {
  padding-bottom: 0;
}

.pB10 {
  padding-bottom: 1rem;
}

.pB20 {
  padding-bottom: 2rem;
}

.pB30 {
  padding-bottom: 3rem;
}

.pB40 {
  padding-bottom: 4rem;
}

.pB50 {
  padding-bottom: 5rem;
}

.pB60 {
  padding-bottom: 6rem;
}

.pB70 {
  padding-bottom: 7rem;
}

.pB80 {
  padding-bottom: 8rem;
}

.pB90 {
  padding-bottom: 9rem;
}

.pB100 {
  padding-bottom: 10rem;
}

.pB110 {
  padding-bottom: 11rem;
}

.pB120 {
  padding-bottom: 12rem;
}

.pB130 {
  padding-bottom: 13rem;
}

.pB140 {
  padding-bottom: 14rem;
}

.pB150 {
  padding-bottom: 15rem;
}

.pB160 {
  padding-bottom: 16rem;
}

.pB170 {
  padding-bottom: 17rem;
}

.pB180 {
  padding-bottom: 18rem;
}

.pB190 {
  padding-bottom: 19rem;
}

.pB200 {
  padding-bottom: 20rem;
}

.sp {
  display: none;
}

.tab {
  display: none;
}

.tab-sp {
  display: none;
}

.flex {
  display: flex;
}

.float--L {
  float: left;
}

.float--R {
  float: right;
}

/* font */
.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.font-base2 {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.mplus-fix {
  transform: skewX(0.03deg);
}

.font--small {
  font-size: 80%;
}

.en {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
}

.bold {
  font-weight: bold;
}

.medium {
  font-weight: 500;
}

.uppercase {
  text-transform: uppercase;
}

.txt-grad {
  background-image: linear-gradient(90deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  background-size: 100%;
  background-position: center;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.txt--white {
  color: #fff;
}

.txt--red {
  color: #E54424;
}

.txt--orange {
  color: #FFA600;
}

.txt--orange2 {
  color: #FF5800;
}

.x-hidden {
  overflow-x: hidden;
}

.x-clip {
  overflow-x: clip;
}

.icon-window {
  -webkit-mask-image: url(../img/common/icon-window.svg);
  mask-image: url(../img/common/icon-window.svg);
}

.icon-window, .icon-clock {
  display: inline-block;
  width: min(0.75em, 1.2rem);
  height: min(0.75em, 1.2rem);
  margin-left: 1rem;
  background-color: var(--icon-color, currentColor);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.icon-clock {
  -webkit-mask-image: url(../img/common/icon-clock.svg);
  mask-image: url(../img/common/icon-clock.svg);
}

.icon-list {
  display: inline-block;
  width: min(0.75em, 1.2rem);
  height: min(0.75em, 1.2rem);
  margin-left: 1rem;
  background-color: var(--icon-color, currentColor);
  -webkit-mask-image: url(../img/common/icon-list.svg);
  mask-image: url(../img/common/icon-list.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.splide .splide__pagination__page {
  --base-w: .7rem;
  width: var(--base-w);
  height: 0.7rem;
  margin: 0;
  background: #D5E8F5;
  border-radius: 10rem;
  opacity: 1;
  transform: none;
  transition: 0.3s;
}

.splide .splide__pagination__page:where(.splide .splide__pagination__page.is-prev, .splide .splide__pagination__page.is-next) {
  width: calc(var(--base-w) * 6.8);
}

.splide .splide__pagination__page:where(.splide .splide__pagination__page.is-active) {
  width: calc(var(--base-w) * 16);
  background-image: linear-gradient(90deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
}

.splide .splide__pagination__page.is-hover {
  width: calc(var(--base-w) * 16) !important;
  background-image: linear-gradient(90deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
}

.splide .splide__pagination {
  margin-top: 5.5636896047vw;
  padding: 0;
  position: static;
  position: initial;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1rem 1.3rem;
}

.splide .splide__pagination li:first-child .is-next, .splide .splide__pagination li:last-child .is-prev {
  width: var(--base-w);
}

.splide .splide__pagination li:has(.is-next):not(:first-child) + li .splide__pagination__page {
  width: calc(var(--base-w) * 6.8);
}

.splide .splide__pagination:has(.is-hover) li:nth-child(2) .is-prev {
  width: var(--base-w);
}

.splide .splide__pagination:has(.is-hover) li:not(:last-child):not(:nth-last-child(2)) .is-prev {
  width: var(--base-w);
}

.splide .splide__pagination:has(.is-hover) .is-active:not(.is-hover) {
  width: calc(var(--base-w) * 6.8) !important;
}

.splide .splide__arrow {
  width: auto;
  height: auto;
  background: none;
  opacity: 1 !important;
}

.splide .splide__arrow--prev {
  scale: -1 1;
  left: 2.196193265vw;
}

.splide .splide__arrow--next {
  right: 2.196193265vw;
}

.img-radius1 {
  border-radius: 1.6rem;
}

.img-radius2 {
  border-radius: 0.8rem;
}

.slide-in {
  transition: 0.7s;
  opacity: 0;
  transform: translate(-10rem, 0);
}

.slide-in.animation--on {
  opacity: 1;
  transform: translate(0, 0);
}

.slide-in__wrap .slide-unit {
  transform: translate(-10rem, 0);
}

.slide-in__wrap.animation--on .slide-unit {
  transform: translate(0, 0);
}

.slide-in__wrap .slide-unit {
  transition: 0.7s;
}

.slide-in__wrap .slide-unit:nth-child(1) {
  transition-delay: 0s;
}

.slide-in__wrap .slide-unit:nth-child(2) {
  transition-delay: 0.2s;
}

.slide-in__wrap .slide-unit:nth-child(3) {
  transition-delay: 0.4s;
}

.slide-in__wrap .slide-unit:nth-child(4) {
  transition-delay: 0.6s;
}

.slide-in__wrap .slide-unit:nth-child(5) {
  transition-delay: 0.8s;
}

.slide-in__wrap .slide-unit:nth-child(6) {
  transition-delay: 1s;
}

.slide-in-clip {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path 0.3s linear 0.7s;
}

.slide-in-clip.animation--on {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.slide-in-clip__wrap .slide-unit {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path 0.3s linear 0.7s;
}

.slide-in-clip__wrap.animation--on .slide-unit {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.slide-in-clip__wrap .slide-unit:nth-child(1) {
  transition-delay: 0s;
}

.slide-in-clip__wrap .slide-unit:nth-child(2) {
  transition-delay: 0.5s;
}

.slide-in-clip__wrap .slide-unit:nth-child(3) {
  transition-delay: 1s;
}

.slide-in-clip__wrap .slide-unit:nth-child(4) {
  transition-delay: 1.5s;
}

.slide-in-clip__wrap .slide-unit:nth-child(5) {
  transition-delay: 2s;
}

.slide-in-clip__wrap .slide-unit:nth-child(6) {
  transition-delay: 2.5s;
}

.fade-up {
  display: block;
  transition: 1s;
  opacity: 0;
  transform: translate(0, 50px);
}

.fade-up.animation--on {
  opacity: 1;
  transform: translate(0, 0);
}

.fade-up__wrap .fade-unit {
  opacity: 0;
}

.fade-up__wrap.animation--on .fade-unit {
  opacity: 1;
}

.fade-up__wrap .fade-unit {
  transform: translate(0, 50px);
}

.fade-up__wrap.animation--on .fade-unit {
  transform: translate(0, 0);
}

.fade-up__wrap .fade-unit {
  display: inline-block;
  transition: 1s;
}

.fade-up__wrap .fade-unit:nth-child(1) {
  transition-delay: 0s;
}

.fade-up__wrap .fade-unit:nth-child(2) {
  transition-delay: 0.5s;
}

.fade-up__wrap .fade-unit:nth-child(3) {
  transition-delay: 1s;
}

.fade-up__wrap .fade-unit:nth-child(4) {
  transition-delay: 1.5s;
}

.fade-up__wrap .fade-unit:nth-child(5) {
  transition-delay: 2s;
}

.fade-up__wrap .fade-unit:nth-child(6) {
  transition-delay: 2.5s;
}

.fade-up__wrap .fade-unit:nth-child(7) {
  transition-delay: 3s;
}

.fade-up__wrap .fade-unit:nth-child(8) {
  transition-delay: 3.5s;
}

.fade-up__wrap .fade-unit:nth-child(9) {
  transition-delay: 4s;
}

.fade-up__wrap .fade-unit:nth-child(10) {
  transition-delay: 4.5s;
}

.fade-up__wrap .fade-unit:nth-child(11) {
  transition-delay: 5s;
}

@keyframes textGradientPosition {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}
.title-gradient {
  background-size: 500%;
  background-position: 100% 0;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.title-gradient.animation--on {
  animation: 2s textGradientPosition cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.deco-line {
  position: relative;
}

.deco-line--top::before {
  content: "";
  width: 20rem;
  height: 0.8rem;
  background: var(--line-color, currentColor);
  transform: matrix(1, -0.09, 0, 1, 0, 0);
  position: absolute;
  bottom: calc(100% + 1rem);
  left: 0;
  translate: -26.5% 0;
}

.deco-line--bottom::after {
  content: "";
  width: 20rem;
  height: 0.8rem;
  background: var(--line-color, currentColor);
  transform: matrix(1, -0.09, 0, 1, 0, 0);
  position: absolute;
  top: calc(100% + 1rem);
  right: 0;
  translate: 26.5% 0;
}

.deco-line.animation::before, .deco-line.animation::after {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: clip-path 0.3s 0.3s;
}

.deco-line.animation--on::before, .deco-line.animation--on::after {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.txt-slideUp {
  color: transparent;
  text-shadow: 0 1lh transparent;
  clip-path: border-box;
}

.txt-slideUp.animation--on {
  animation: 0.8s 0.2s textSlideUp linear forwards;
}

@keyframes textSlideUp {
  0% {
    color: transparent;
    text-shadow: 0 1lh var(--before-color, #222222);
  }
  50% {
    color: transparent;
    text-shadow: 0 0 var(--before-color, #222222);
  }
  99% {
    color: transparent;
    text-shadow: 0 0 var(--before-color, #222222);
  }
  100% {
    color: var(--after-color, #FFA600);
    text-shadow: 0 0 var(--after-color, #FFA600);
  }
}
.loopGallery {
  width: 100%;
  display: flex;
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
  position: relative;
  z-index: 5;
}

.loopGallery img {
  height: 30.4rem;
  aspect-ratio: 560/304;
  max-width: none;
  border-radius: 1.2rem;
  overflow: hidden;
}

.loopGallery__unit {
  padding-right: 0.8rem;
  display: flex;
  -moz-column-gap: 0.8rem;
  column-gap: 0.8rem;
  flex: 0 0 auto;
  pointer-events: none;
  animation: loop-x 20s linear infinite;
}

@keyframes loop-x {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.svg-symbol {
  display: none;
}

.heading1 {
  margin-bottom: 0.8em;
  padding-left: 2rem;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 5.859375vw, 6rem);
  line-height: 1.2;
  position: relative;
}

.heading1::before {
  content: "";
  width: 2rem;
  aspect-ratio: 20/24;
  background: url(../img/common/deco-title-flag.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0.2833333333em;
  left: 0;
}

.heading1__after {
  display: block;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
}

.heading2 {
  margin-bottom: 1.3333333333em;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  font-weight: bold;
  line-height: 1.4;
}

.heading3 {
  margin-bottom: 1.4545454545em;
  font-size: clamp(1.4rem, 2.1484375vw, 2.2rem);
  font-weight: bold;
  line-height: 1.4090909091;
}

.heading4 {
  margin-bottom: 1.4736842105em;
  font-size: clamp(1.4rem, 3.7109375vw, 3.8rem);
  font-weight: bold;
  line-height: 1.3947368421;
}

.heading5 {
  margin-bottom: 1.84em;
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
}

.heading-border {
  padding-bottom: 0.7272727273em;
  position: relative;
}

.heading-border::after {
  content: "";
  width: 100%;
  height: 1px;
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}

/*
// サイズ関連の指定のみ
.heading-size1 {
	font-size: pcFont(4rem);
	line-height: 1.2;
	font-weight: bold;
	@include sp {
		font-size: mobile-size-vw(3.2rem);
	}
}
*/
:root {
  --btn-color: #5A5A5A;
  --btn-color-txt: #fff;
  --btn-color-hover: #fff;
  --btn-color-txt-hover: #5A5A5A;
}

.btn--right {
  text-align: right;
}

.btn--left {
  text-align: left;
}

.btn--center {
  text-align: center;
}

.btn {
  min-width: 17.0666666667em;
  max-width: 100%;
  min-height: 3.7333333333em;
  padding: 1.0666666667em 1.7333333333em;
  background: var(--btn-color);
  color: var(--btn-color-txt);
  border: 1px solid var(--btn-color);
  border-radius: 20em;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  display: inline-flex;
  align-items: center;
  position: relative;
  z-index: 2;
  transition: 0.3s;
}

.btn .link-arrow {
  position: absolute;
  top: 50%;
  right: 1.3333333333em;
  translate: 0 -50%;
}

.btn:not(.btn--def-arrow) {
  --tri-color: #4CB54E;
}

.btn:not(.btn--def-arrow) .link-arrow::before {
  content: none;
}

.btn:not(.btn--def-arrow) .link-arrow::after {
  width: 1.2rem;
}

.btn:not(.btn--def-arrow) .link-arrow--window {
  --tri-color: #F574A8;
}

.btn:not(.btn--def-arrow) .link-arrow--window::after {
  width: 1.5rem;
}

.btn:hover {
  background: var(--btn-color-hover);
  color: var(--btn-color-txt-hover);
  opacity: 1;
}

:where(.btn--wrap) {
  container-type: inline-size;
}

@container (max-width: 260px) {
  :where(.btn--wrap) .btn {
    width: 100%;
    min-width: auto;
  }
}
.btn--w100 {
  width: 100%;
}

.btn--non-min {
  min-width: auto;
}

.btn--disabled {
  min-height: 6rem;
  pointer-events: none;
  font-weight: bold;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  opacity: 0.7;
}

.btn--disabled::before, .btn--disabled::after {
  content: none;
}

.link-more__arrow,
.link-arrow {
  display: inline-block;
  width: 3.2rem;
  aspect-ratio: 1/1;
  margin-left: 0.4rem;
  position: relative;
}

.link-more__arrow::before,
.link-arrow::before {
  content: "";
  width: 75%;
  aspect-ratio: 1/1;
  background: var(--tri-color-bg, #4CB54E);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 1;
  transition: 0.2s;
}

.link-more__arrow::after,
.link-arrow::after {
  content: "";
  width: 0.8rem;
  aspect-ratio: 1/1;
  background: var(--tri-color, #fff);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: calc(-50% + 1px) -50%;
  z-index: 2;
}

.link-more__arrow--fixed::before,
.link-arrow--fixed::before {
  content: none;
}

.link-more__arrow--window,
.link-arrow--window {
  --tri-color-bg: #F574A8;
}

.link-more__arrow--window::after,
.link-arrow--window::after {
  width: 1.5rem;
  aspect-ratio: 15/13;
  -webkit-mask-image: url(../img/common/icon-window.svg);
  mask-image: url(../img/common/icon-window.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  clip-path: none;
  translate: -50% -50%;
}

.link-more__arrow--dl::after,
.link-arrow--dl::after {
  width: 1.6rem;
  aspect-ratio: 16/17;
  -webkit-mask-image: url(../img/common/icon-dl.svg);
  mask-image: url(../img/common/icon-dl.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  clip-path: none;
  translate: -50% -50%;
}

.link-more {
  display: inline-flex;
  align-items: center;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: 1.3rem;
  color: #4CB54E;
  font-weight: bold;
  line-height: 1.5384615385;
  text-transform: uppercase;
  transition: 0.2s;
}

.link-more__txt {
  text-shadow: 0 1lh #4CB54E;
  clip-path: border-box;
}

.link-more__txt-inner {
  display: inline-block;
  translate: 0 0;
  transition: 0.2s translate;
}

.btn--large {
  font-size: clamp(1.6rem, 2.34375vw, 2.4rem);
}

.btn--small {
  padding: 0.8em 1.8em;
}

.btn--square {
  border-radius: 0;
}

.link-line {
  padding-bottom: 0.3rem;
  will-change: background-size;
  background: linear-gradient(transparent 0%, blue 0%) no-repeat right bottom;
  background-size: 0 1px;
  transition: background-size 0.3s cubic-bezier(0.4, 0, 0, 1) 0s;
}

.link-blue {
  transition: 0.3s;
}

.list > li {
  display: list-item;
}

.list--dot > li {
  list-style: none;
  padding-left: 1em;
  position: relative;
}

.list--dot > li:before {
  content: "";
  width: 0.6rem;
  aspect-ratio: 1/1;
  background: var(--dot-color, #FFA600);
  border-radius: 50%;
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
}

.list--txtDot {
  padding-left: 1em;
  list-style-type: "・";
  line-height: 2;
}

.list--line > li {
  list-style: none;
  padding-left: min(1.3333333333em, 2rem);
  position: relative;
}

.list--line > li:before {
  content: "";
  width: 0.8rem;
  height: 0.2rem;
  background: #FFA600;
  border-radius: 10em;
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
}

.list--order {
  list-style: none;
  counter-reset: item;
}

.list--order > li {
  padding-left: 2em;
  position: relative;
}

.list--order > li:before {
  counter-increment: item;
  content: counter(item);
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-weight: 600;
  font-style: normal;
  color: #4CB54E;
  position: absolute;
  top: 0.45lh;
  left: 0;
  translate: 0 -50%;
  scale: 130%;
  transform-origin: left center;
}

.list--order > li:nth-child(-n+9):before {
  content: "0" counter(item);
}

.accordion__wrap {
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}

.accordion__title {
  padding: 1rem;
  border: 1px solid #000;
  position: relative;
}

.accordion__title--dot {
  list-style-type: "・";
}

.accordion__title::-webkit-details-marker {
  display: none;
}

.accordion__contents {
  padding: 1rem;
  background: rgba(0, 0, 0, 0.1);
}

.tab__menu {
  display: inline-flex;
  position: relative;
}

.tab__btn {
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-bottom: none;
  cursor: pointer;
}

.tab__btn.active {
  background: rgba(0, 0, 0, 0.1);
}

.tab__line {
  width: 100%;
  height: 2px;
  background: rgba(0, 0, 0, 0.1);
  left: 0;
}

.tab__line, .tab__indicator {
  position: absolute;
  bottom: 0;
}

.tab__indicator {
  background: #3b82f6;
  top: 0;
  transition-duration: 200ms;
  transition-property: transform, width;
}

.tab__contents-wrap {
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.tab__contents {
  padding: 1rem;
}

.tab__contents:not(.active) {
  display: none;
}

.breadcrumb {
  margin-top: 1.5rem;
  padding: 0;
}

/*
	Breadcrumb NavXT プラグイン向け
*/
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  color: rgba(34, 34, 34, 0.5);
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  line-height: 1;
  font-weight: 500;
  gap: 0.4rem;
}

.breadcrumb__list a {
  color: #222222;
  font-weight: bold;
  text-decoration: underline;
}

.breadcrumb__list-item {
  display: flex;
  align-items: center;
  gap: 0 0.4rem;
}

.breadcrumb__list-item::after {
  content: " > ";
  font-weight: bold;
}

.breadcrumb__list-item:last-child::after {
  content: none;
}

.wp_pagenavi .page-numbers {
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
}

.wp_pagenavi .page-numbers a, .wp_pagenavi .page-numbers span {
  min-width: clamp(1.4rem, 5.46875vw, 5.6rem);
  aspect-ratio: 56/48;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.8rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp_pagenavi .page-numbers .current {
  background: #5A5A5A;
  font-weight: bold;
  color: #fff;
}

.wp_pagenavi .page-numbers .extend {
  border: none;
}

.wp_pagenavi--rokitimes .page-numbers {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  line-height: 1.2;
  justify-content: flex-end;
  gap: 0.8em;
}

.wp_pagenavi--rokitimes .page-numbers a, .wp_pagenavi--rokitimes .page-numbers span {
  min-width: clamp(1.4rem, 1.953125vw, 2rem);
  aspect-ratio: initial;
  border: none;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  color: #D973A5;
  display: block;
}

.wp_pagenavi--rokitimes .page-numbers .current {
  background: none;
  font-weight: inherit;
  color: #D973A5;
}

.wp_pagenavi--rokitimes .page-numbers .previouspostslink,
.wp_pagenavi--rokitimes .page-numbers .nextpostslink,
.wp_pagenavi--rokitimes .page-numbers .last {
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
}

.wp_pagenavi--rokitimes .page-numbers .previouspostslink {
  order: -1;
}

.wp_pagenavi--rokitimes .page-numbers::after {
  content: "";
  order: 98;
  display: block;
  width: 2px;
  height: 0.8em;
  background: #D973A5;
}

.wp_pagenavi--rokitimes .page-numbers .last {
  order: 99;
}

.wp_pagenavi--rokitimes .page-numbers.single__linkPages {
  justify-content: center;
}

.wp_pagenavi--rokitimes .page-numbers.single__linkPages::after {
  content: none;
}

.contents--flex {
  display: flex;
}

.contents--grid {
  display: grid;
}

.header {
  width: 100%;
  height: 12.8rem;
  background: #fff;
  color: #5A5A5A;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 999;
}

.header .inner {
  width: 100%;
  max-width: none;
  padding: 0 0 0 3.2rem;
  background: #fff;
}

.header .contents--grid {
  height: 100%;
  grid-template-columns: 1fr auto auto;
  align-items: center;
}

.header__logo {
  width: min(14.6412884334vw, 20rem);
  max-width: 20rem;
}

.header__logo a, .header__logo img {
  display: block;
  width: 100%;
}

.header__right {
  align-self: stretch;
}

.header__product {
  width: min(12.8843338214vw, 17.6rem);
  height: 100%;
  text-align: center;
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: -0.05em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.header__product span {
  font-size: clamp(1rem, 1.5625vw, 1.6rem);
  line-height: 1.375;
  letter-spacing: 0;
}

.header__mobile {
  display: none;
}

.header .nav-btn {
  padding: 0.3rem 0.7rem;
  border: 1px solid currentColor;
  border-radius: 10em;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
}

.header--rokitimes {
  height: auto;
}

.header--rokitimes .contents--grid {
  padding-left: 0;
  grid-template-columns: auto 1fr auto;
  -moz-column-gap: min(2.4890190337vw, 3.4rem);
  column-gap: min(2.4890190337vw, 3.4rem);
}

.header--rokitimes .header__logo {
  margin-left: 3.2rem;
}

.header--rokitimes .header__home .nav-btn {
  font-size: 1.3rem;
  font-weight: bold;
}

.header--rokitimes .header__right {
  display: flex;
}

.header--rokitimes .header__switch {
  width: min(14.055636896vw, 19.2rem);
  height: 9.6rem;
  background: none;
  border-top: none;
  border-bottom: none;
  border-right: none;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  text-align: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.3888888889;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.header--rokitimes .header__switch[data-menuname=nav-categories]::before, .header--rokitimes .header__switch[data-menuname=nav-date]::before {
  content: "";
  width: 1em;
  margin-right: 0.6666666667em;
  aspect-ratio: 1/1;
  background: currentColor;
}

.header--rokitimes .header__switch[data-menuname=nav-categories]::before {
  content: none;
  -webkit-mask-image: url(../img/common/icon-list.svg);
  mask-image: url(../img/common/icon-list.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.header--rokitimes .header__switch[data-menuname=nav-date]::before {
  -webkit-mask-image: url(../img/common/icon-clock.svg);
  mask-image: url(../img/common/icon-clock.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.header--rokitimes .header__switch.menu-active {
  color: #D973A5;
}

.header--rokitimes .header__switch.menu-active::after {
  content: "";
  width: 100%;
  height: 0;
  border-bottom: 3px solid #D973A5;
  position: absolute;
  left: 0;
  bottom: 0;
}

.header--rokitimes .header__submenu {
  width: 100%;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
}

.header--rokitimes .header__submenu-group {
  display: none;
}

.header--rokitimes .header__submenu-group.menu-active {
  display: block;
}

.header--rokitimes .header__categories, .header--rokitimes .header__date {
  display: flex;
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  font-weight: bold;
}

.header--rokitimes .header__categories > .cat-item-none, .header--rokitimes .header__date > .cat-item-none {
  display: none;
}

.header--rokitimes .header__categories > li, .header--rokitimes .header__date > li {
  flex-grow: 1;
  max-width: 20%;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.header--rokitimes .header__categories > li:last-child:nth-child(n+5), .header--rokitimes .header__date > li:last-child:nth-child(n+5) {
  border-right: none;
}

.header--rokitimes .header__categories > li > a, .header--rokitimes .header__date > li > a {
  width: 100%;
  height: 100%;
  padding: 1em 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.header--rokitimes .header__categories .children, .header--rokitimes .header__date .children {
  width: 100%;
  padding: 1em 3.2rem;
  background: #D973A5;
  color: #fff;
  display: none;
  flex-wrap: wrap;
  gap: 0.5em 1em;
  align-items: center;
  position: absolute;
  top: 100%;
  left: 0;
}

.header--rokitimes .header__categories .children li:first-child, .header--rokitimes .header__date .children li:first-child {
  display: none;
}

.g-menu__btn {
  width: 6.4rem;
  aspect-ratio: 1/1;
  background: none;
  border: none;
  transition: 0.3s;
  position: relative;
  cursor: pointer;
}

.g-menu__btn .button-border {
  width: 31.25%;
  min-width: 2rem;
  height: 2px;
  background: currentColor;
  border-radius: 10em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -1px);
}

.g-menu__btn .button-border.top {
  top: calc(50% - 8px);
}

.g-menu__btn .button-border.bottom {
  top: calc(50% + 8px);
}

.g-menu__btn.menu-active .button-border {
  background: transparent;
  transform: translate(-50%, -1px);
}

.g-menu__btn.menu-active .button-border.top {
  background: currentColor;
  top: 50%;
  transform: translate(-50%, -1px) rotate(45deg);
}

.g-menu__btn.menu-active .button-border.bottom {
  background: currentColor;
  top: 50%;
  transform: translate(-50%, -1px) rotate(-45deg);
}

#g-menu {
  padding-right: 2.1333333333em;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}

.g-menu__nav {
  font-weight: 500;
  line-height: 1.4;
  display: grid;
  grid-template-columns: 100%;
  justify-items: flex-end;
  row-gap: 1.2rem;
}

.g-menu__nav-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem 1.6em;
}

.g-menu__nav-list a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
}

.g-menu__nav-list a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 0.7692307692em;
  aspect-ratio: 1/1;
  margin-left: 0.8rem;
  background: url(../img/common/icon-window.svg) no-repeat center/100% auto;
}

.g-menu__nav-list-item--separate {
  padding-left: 1.6em;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}

.g-menu__nav-list--top {
  font-size: 1.3rem;
}

#page-top {
  position: fixed;
  right: 1.4rem;
  bottom: calc(env(safe-area-inset-bottom) + 7.4rem);
  z-index: 99;
}

#page-top a {
  display: block;
}

.footer {
  padding: min(7.03125vw, 7.2rem) 0 min(4.6875vw, 4.8rem);
  background: #F3F3F5;
}

.footer__nav {
  --tri-color: #4CB54E;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(7, auto) 1fr;
  gap: 0 3.125%;
  grid-auto-flow: dense;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 1.3888888889;
}

.footer__nav::before {
  content: "";
  grid-column: 2/-1;
  grid-row: 1;
}

.footer__nav > :where(li) {
  padding: 1.3333333333em 0;
  border-top: 1px solid rgba(0, 0, 0, 0.3);
}

.footer__nav .nav-top, .footer__nav .nav-sns {
  border-top: none;
}

.footer__nav-child {
  margin-top: 1.0666666667em;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  display: grid;
  grid-template-columns: 100%;
  row-gap: 0.8rem;
}

.footer__nav-child .footer__nav-child {
  margin-top: 0.8rem;
}

.footer__nav-sns {
  display: flex;
  align-items: center;
  -moz-column-gap: 2.6rem;
  column-gap: 2.6rem;
}

.footer__nav-sns a {
  display: block;
}

.footer__nav-sns img {
  width: 3rem;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
}

.footer__nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer__nav a[target=_blank] {
  --tri-color: #F574A8;
}

.footer__nav a[target=_blank] .link-arrow::after {
  width: 1.5rem;
  aspect-ratio: 15/13;
  -webkit-mask-image: url(../img/common/icon-window.svg);
  mask-image: url(../img/common/icon-window.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% auto;
  mask-size: 100% auto;
  clip-path: none;
}

.footer__copyright {
  margin-top: min(0.9765625vw, 1rem);
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-weight: 300;
  font-style: normal;
  text-align: center;
  line-height: 1.2;
}

.footer--rokitimes .inner {
  max-width: 118.6rem;
}

.footer--rokitimes .nav-btn {
  display: inline-block;
  padding: 0.6rem 0.9rem;
  background: #fff;
  border: 1px solid currentColor;
  border-radius: 10em;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.3846153846;
  text-transform: uppercase;
}

.footer--rokitimes .footer__rokitimes {
  padding-right: 6.8296795953%;
  display: grid;
  grid-template-columns: auto 1fr;
  -moz-column-gap: 8.347386172%;
  column-gap: 8.347386172%;
}

.footer--rokitimes .footer__rokitimes-nav {
  display: grid;
  grid-template-columns: 1fr auto;
  -moz-column-gap: 10.3825136612%;
  column-gap: 10.3825136612%;
}

.footer--rokitimes .footer__logo {
  width: min(23.6087689713vw, 28rem);
  max-width: 28rem;
  margin-bottom: min(2.6981450253vw, 3.2rem);
}

.footer--rokitimes .footer__logo a, .footer--rokitimes .footer__logo img {
  display: block;
  width: 100%;
}

.footer--rokitimes .footer__navBox {
  --icon-color: #D973A5;
}

.footer--rokitimes .footer__navBox-title {
  margin-bottom: 1.7777777778em;
  padding-right: 1.4444444444em;
  padding-bottom: 0.8888888889em;
  border-bottom: 1px solid currentColor;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  color: #D973A5;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.footer--rokitimes .footer__navBox-title .icon {
  width: 1em;
  height: 1em;
  margin-left: 0;
  margin-right: 0.6666666667em;
}

.footer--rokitimes .footer__nav li {
  grid-column: initial;
}

.footer--rokitimes .footer__nav .list--line > li:before {
  background: #D973A5;
}

.footer--rokitimes .footer__nav--rokitimes::before {
  content: none;
}

.footer--rokitimes .footer__nav--rokitimes > li {
  padding: 0;
  border: none;
}

.footer--rokitimes .footer__nav-child {
  margin-top: 0.8em;
}

.footer--rokitimes .footer__nav--category {
  height: calc(var(--nav-height) / 2);
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0.8333333333em 1rem;
}

.footer--rokitimes .footer__nav--category > li {
  width: 50%;
}

.footer--rokitimes .footer__nav--date {
  grid-template-columns: 100%;
  grid-template-rows: auto;
  gap: 1.2777777778em 0;
}

.page__header {
  width: 100%;
  margin-bottom: 4rem;
  padding: 0 3.2rem;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 100%;
  position: relative;
  z-index: 1;
}

.page__header-mainv {
  grid-column: 1;
  grid-row: 1;
  z-index: 1;
}

.page__header-image {
  z-index: 1;
  width: 100%;
  aspect-ratio: 1302/448;
  border-radius: 1.6rem;
  -o-object-fit: cover;
  object-fit: cover;
  background: lightgray;
}

.page__header .inner {
  align-self: center;
  grid-column: 1;
  grid-row: 1;
  z-index: 3;
  max-width: 117.4rem;
  display: grid;
}

.page__header .inner:has(.page__header-contents) {
  grid-template-columns: repeat(2, 1fr);
}

.page__header-heading {
  justify-self: flex-start;
  color: #fff;
}

.page__header-title {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 7.8125vw, 8rem);
  line-height: 1;
  position: relative;
}

.page__header-title-sub {
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  font-weight: bold;
  line-height: 1.0666666667;
}

.page__header-contents {
  justify-self: flex-end;
  line-height: 2;
  font-weight: 500;
}

.page__header-breadcrumb {
  padding: 1.9rem 3.2rem 0;
  background: #fff;
  border-radius: 0 1.6rem 0 0;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 5;
}

.page__header--typeB :where(.page__header-image) {
  aspect-ratio: 1302/264;
}

.page__header--typeB .page__header-heading {
  grid-column: span 2;
  color: #000;
}

.page__header--typeB .page__header-title {
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.4rem, 4.39453125vw, 4.5rem);
  line-height: 1.3777777778;
}

.page__header--typeB .page__header-title-sub {
  margin-bottom: 0;
  padding-left: 0.3518518519em;
  font-size: clamp(1.4rem, 2.63671875vw, 2.7rem);
  position: absolute;
  right: 6rem;
  bottom: 2rem;
  z-index: 3;
}

.page__header--typeB .page__header-title-sub::before {
  width: 0.3518518519em;
  top: 0.2em;
}

.page__header--typeB .page__header-title-sub .jp {
  margin-left: 1em;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.2rem, 1.3671875vw, 1.4rem);
  font-weight: bold;
}

.page__header--typeC :where(.page__header-image) {
  aspect-ratio: 1302/264;
}

.page__header--typeC .page__header-heading {
  color: #000;
}

.page__header--typeC .page__header-page-group {
  margin-bottom: 0;
  padding-left: 0.3518518519em;
  font-size: clamp(1.4rem, 2.63671875vw, 2.7rem);
  position: absolute;
  right: 6rem;
  bottom: 2rem;
  z-index: 3;
}

.page__header--typeC .page__header-page-group::before {
  width: 0.3518518519em;
  top: 0.2em;
}

.page__header--typeC .page__header-page-group .jp {
  margin-left: 1em;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.2rem, 1.3671875vw, 1.4rem);
  font-weight: bold;
}

.page__header--reverse .page__header-heading {
  color: #000;
}

.page__grid {
  --col-gap: 10.15625%;
  --col-short: 43.75%;
  --col-sp-gap: 8.5333333333vw;
  display: grid;
  /*
  &--col3 {
  	--col-gap: 2.9%; // 3.2rem;
  	grid-template-columns: repeat(3, 1fr);
  	gap: 6rem var(--col-gap);
  	@include sp {
  		grid-template-columns: 100%;
  		gap: mobile-size-vw(3.2rem) 0;
  	}
  }

  &--gap-short {
  	--col-gap: 2.7%; // 3rem;
  	@include sp {
  		gap: mobile-size-vw(2.4rem) 0;
  	}
  }
  */
}

.page__grid--sideBar {
  --col-gap: 11.08%;
  --col-short: 23.33%;
  grid-template-columns: var(--col-short) 1fr;
  -moz-column-gap: var(--col-gap);
  column-gap: var(--col-gap);
}

.page__grid--col2 {
  grid-template-columns: 1fr var(--col-short);
  -moz-column-gap: var(--col-gap);
  column-gap: var(--col-gap);
}

.page__grid--rev-col2 {
  grid-template-columns: var(--col-short) 1fr;
  -moz-column-gap: var(--col-gap);
  column-gap: var(--col-gap);
}

.page__grid--equal-col2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 0 var(--col-gap);
}

.page__grid--col3 {
  --gap: min(1.4641288433vw, 2rem);
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
}

.page__grid--col4 {
  --gap: min(1.4641288433vw, 2rem);
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap);
}

.page__contents :where(p) {
  line-height: 2;
}

.page__contents :where(p + p) {
  margin-top: 1em;
}

.page__nav {
  min-height: 44.8rem;
  margin: 0;
  background-image: url(../img/rokiism/nav-bg-rokiism.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
  padding-top: min(7.027818448vw, 9.6rem);
  padding-bottom: min(7.027818448vw, 9.6rem);
}

.page__nav .heading1 {
  color: inherit;
  white-space: nowrap;
}

.page__nav-grid {
  display: grid;
  grid-template-columns: calc(100% - 1rem - 59.375%) 59.375%;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.page__nav-list {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.3888888889;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.3333333333em 5.2631578947%;
}

.page__nav-list::before {
  content: "";
  grid-row: 1;
  grid-column: 2;
}

.page__nav-list li {
  padding: 1em;
  padding-left: 0;
  border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

.page__nav-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.page__nav--rokiism {
  background-image: url(../img/rokiism/nav-bg-rokiism.webp);
}

.page__nav--sustainability .heading1 {
  font-size: clamp(1.4rem, 4.98046875vw, 5.1rem);
}

.page__nav--sustainability__after {
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
}

.page__nav--about {
  background-image: url(../img/about/nav-bg-about.webp);
}

.page__nav--about .page__nav-list::before {
  content: none;
}

.scrollContents {
  --bg-height: calc(100dvh - var(--header-height));
  --area-height: calc(100dvh - var(--header-height));
}

.scrollContents__contents {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
}

.scrollContents__bg, .scrollContents__nav, .scrollContents__detectGroup {
  grid-column: 1;
  grid-row: 1;
}

.scrollContents__bg {
  z-index: 2;
  width: 100%;
  height: var(--bg-height);
}

.scrollContents__bg, .scrollContents__nav {
  align-self: flex-start;
  position: sticky;
  top: var(--header-height);
  left: 0;
}

.scrollContents__nav {
  z-index: 3;
  justify-self: flex-end;
  height: var(--area-height);
}

.scrollContents__nav-container {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 5.6rem;
  position: relative;
  top: 50%;
  translate: 0 calc(var(--offset-top, 0) * -1);
  transition: 0.3s;
}

.scrollContents__nav-box {
  max-height: var(--area-height);
  position: relative;
}

.scrollContents__detectGroup {
  z-index: 1;
  pointer-events: none;
}

.scrollContents__area {
  width: 100%;
  height: var(--area-height);
}

.scrollTest .scrollContents__bg {
  border: 2px dashed green;
}

.scrollTest .scrollContents__nav {
  border: 2px dashed blue;
}

.scrollTest .scrollContents__nav::after {
  content: "";
  width: 150%;
  height: 2px;
  background-color: blue;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -1px;
}

.scrollTest .scrollContents__nav-box {
  min-height: 50px;
  border: 2px dashed yellow;
}

.scrollTest .scrollContents__nav-box::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: yellow;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -1px;
}

.scrollTest .scrollContents__area {
  border-bottom: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scrollTest .scrollContents__area:nth-child(1) {
  background: rgb(255, 0, 0);
}

.scrollTest .scrollContents__area:nth-child(2) {
  background: rgba(255, 0, 0, 0.9);
}

.scrollTest .scrollContents__area:nth-child(3) {
  background: rgba(255, 0, 0, 0.8);
}

.scrollTest .scrollContents__area:nth-child(4) {
  background: rgba(255, 0, 0, 0.7);
}

.scrollTest .scrollContents__area:nth-child(5) {
  background: rgba(255, 0, 0, 0.6);
}

.scrollTest .scrollContents__area:nth-child(6) {
  background: rgba(255, 0, 0, 0.5);
}

.scrollTest .scrollContents__area:nth-child(7) {
  background: rgba(255, 0, 0, 0.4);
}

.scrollTest .scrollContents__area:nth-child(8) {
  background: rgba(255, 0, 0, 0.3);
}

.scrollTest .scrollContents__area:nth-child(9) {
  background: rgba(255, 0, 0, 0.2);
}

.scrollTest .scrollContents__area:nth-child(10) {
  background: rgba(255, 0, 0, 0.1);
}

.archive__nav {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: flex-start;
  gap: 0.8rem;
}

.archive__categories a,
.archive__yearly-dropdown {
  height: 3.7333333333em;
  padding: 0.5rem;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.8rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
}

.archive__categories {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(auto, 16rem));
  gap: 0.8rem;
}

.archive__categories .current-cat a {
  background: #5A5A5A;
  color: #fff;
  pointer-events: none;
}

.archive__yearly {
  width: 22.4rem;
  position: relative;
}

.archive__yearly::after {
  content: "";
  width: 1.2rem;
  aspect-ratio: 1/1;
  background: #4CB54E;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 50%;
  right: 2.2rem;
  translate: 0 -50%;
  pointer-events: none;
}

.archive__yearly-dropdown {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  padding: 0.5rem;
  padding-right: 5rem;
  text-align: center;
}

.archive__yearly-dropdown:has(option:not([value=""]):checked) {
  background: #5A5A5A;
  color: #fff;
}

.archive__list {
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.archive__pagination {
  margin-top: min(4.6875vw, 4.8rem);
}

/*
// カテゴリリスト // 使うかわからない
.category-list {
	font-size: pcFont(1.8rem);
	font-weight: 500;
	line-height: calc(25/18);
	color: rgba($txt-black,.6);
	li {
		padding-left: 1em;
		position: relative;
		&:before {
			content: '';
			width: .6rem;
			aspect-ratio: 1/1;
			background: $orange;
			border-radius: 50%;
			position: absolute;
			top: 0.5lh;
			left: 0;
			translate: 0 -50%;
			box-shadow: 0 0 0 0 $white, 0 0 0 0 $orange;
			transition: .3s;
		}

		&.current {
			color: $txt-black;
			&::before {
				box-shadow: 0 0 0 1px $white, 0 0 0 3px $orange;
			}
		}
		@include hover {
			&::before {
				box-shadow: 0 0 0 1px $white, 0 0 0 3px $orange;
			}
		}
	}

	a {
		@include hover {
			color: $orange;
		}
	}
}
*/
.pickup__item {
  width: 32rem;
  padding-bottom: 0.5rem;
}

.pickup__item-body {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto 1fr auto;
  row-gap: 2.4rem;
}

.pickup__item-thumb {
  grid-column: span 2;
  grid-row: 1;
}

.pickup__item-thumb img {
  width: 100%;
  aspect-ratio: 320/200;
  border-radius: 0.8rem;
}

.pickup__item-title {
  grid-column: span 2;
  grid-row: 2;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.6;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 行数 */
}

.pickup__item-category {
  grid-column: 1;
  grid-row: 3;
  justify-self: flex-start;
  align-self: center;
}

.pickup__item-category .post-tag {
  --tag-color: rgba(0, 0, 0, .75);
  --tag-color-txt: #fff;
  min-width: 7.3846153846em;
}

.pickup__item-link {
  grid-column: 2;
  grid-row: 3;
  justify-self: flex-end;
  align-self: center;
}

.news__list {
  display: grid;
  grid-template-columns: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.news__list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.news__item {
  font-weight: 500;
  line-height: 1.4;
}

.news__item a:hover {
  opacity: 1;
}

.news__item-body {
  padding: 2.4rem 0;
  display: grid;
  grid-template-columns: max(16.40625%, 14rem) max(15.625%, 12rem) 1fr 3.2rem;
  align-items: center;
}

.news__item-date {
  padding: 0.7rem 0;
  border-right: 2px solid rgba(0, 0, 0, 0.2);
  display: flex;
  align-items: center;
}

.news__item-date .date-md {
  margin-left: 1.2rem;
  font-size: 2em;
  line-height: 1.4;
}

.news__item-category {
  justify-self: center;
  padding: 0 0.5rem;
}

.news__item-category .post-tag {
  --tag-color: rgba(0, 0, 0, .75);
  --tag-color-txt: #fff;
  min-width: 7.3846153846em;
}

.news__item-title {
  padding-right: 1em;
  font-size: inherit;
  font-weight: normal;
  line-height: inherit;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 行数 */
}

.post-tag-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.post-tag-wrap .post-tag:first-child {
  --tag-color: #5A5A5A;
  --tag-color-txt: #fff;
  min-width: 7.3846153846em;
  border-color: var(--tag-color);
}

.post-tag {
  display: inline-block;
  padding: 0.4rem 0.7rem;
  background: var(--tag-color, #fff);
  border-width: 1px;
  border-style: solid;
  border-radius: 0.4rem;
  color: var(--tag-color-txt, #5A5A5A);
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.3846153846;
  text-align: center;
}

.post-date {
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
}

.single__header .page__header-image {
  aspect-ratio: 1302/448;
}

.single__header .page__header-heading {
  padding: 1rem 0;
}

.single__header-category .post-tag {
  --tag-color: #222222;
  --tag-color-txt: #fff;
  min-width: 8.6153846154em;
}

.single__header-category .post-tag:first-child {
  border-color: var(--tag-color);
}

.single__header-title {
  margin-top: 0.6857142857em;
  margin-bottom: 0.6857142857em;
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  line-height: 1.6;
  color: #000;
  font-weight: bold;
}

.single__header-date {
  font-weight: 500;
}

.single__header .breadcrumb__list-item span {
  max-width: 11em;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1; /* 行数 */
}

.single__linkPages {
  flex-wrap: wrap;
  margin-top: min(4.6875vw, 4.8rem);
}

.single__content {
  word-break: break-word;
  line-height: 1.8;
  margin-bottom: min(7.027818448vw, 9.6rem);
  /* エディターカスタム */
  /* デフォルト wp-block */
  /*
  .lazyblock-flex-image {
  	display: grid;
  	grid-template-columns: repeat(2, 1fr);
  	column-gap: 2.5em;
  	img {
  		width: 100%;
  	}
  }
  .lazyblock-image-large {
  	img {
  		width: 100%;
  		max-width: 64.6rem;
  		margin: 0 auto;
  	}
  }
  */
}

.single__content :where(*:not(p):not(ul):not(ol):not(li):not(:last-child)) {
  margin-bottom: min(2.3426061493vw, 3.2rem);
}

.single__content :where(.wp-block-heading:not(:first-child)) {
  margin-top: min(2.3426061493vw, 3.2rem);
}

.single__content .wp-block-spacer {
  margin-top: 0;
  margin-bottom: 0;
}

.single__content h2 {
  margin-bottom: 1.3333333333em;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  font-weight: bold;
  line-height: 1.4;
}

.single__content h3 {
  margin-bottom: 1.6em;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.8;
}

.single__content h4 {
  margin-bottom: 1.2em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 1.4;
  font-weight: bold;
}

.single__content h5 {
  margin-bottom: 1.2em;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: bold;
  line-height: 1.4;
}

.single__content h6 {
  margin-bottom: 1.2em;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
}

.single__content hr {
  border-top: 1px solid;
  color: rgba(0, 0, 0, 0.2);
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.single__content a {
  color: #FFA600;
  font-weight: 500;
  text-decoration: underline;
}

.single__content a:hover {
  text-decoration: none;
}

.single__content p:not(:first-child), .single__content ul:not(:first-child), .single__content ol:not(:first-child) {
  margin-top: 1lh;
}

.single__content ul ul, .single__content ul ol, .single__content ol ul, .single__content ol ol {
  margin-left: 1em;
}

.single__content ul {
  list-style-type: disc;
  list-style-position: inside;
}

.single__content ul li::marker {
  color: #FFA600;
}

.single__content ol {
  list-style-type: decimal;
  list-style-position: inside;
}

.single__content figure * {
  margin-bottom: 0rem;
}

.single__content .wp-element-caption {
  margin-top: 1.2rem;
  font-weight: 500;
}

.single__content .wp-block-table {
  /*
  line-height: 1.5;
  thead {
  	border-bottom: none;
  }
  th {
  	background: $color-main;
  	border-top: none;
  	border-bottom: none;
  	border-right-color: $white;
  	border-left-color: $white;
  	color: $white;
  	font-weight: bold;
  }
  // 通常
  &.is-style-regular {
  	th {
  		&:first-child {
  			border-left-color: $color-main;
  		}
  		&:last-child {
  			border-right-color: $color-main;
  		}
  	}
  	td {
  		border-color: $border-color;
  	}
  }
  // ストライプ
  &.is-style-stripes {
  	border-bottom: none;
  	tbody {
  		tr {
  			&:nth-child(odd) {
  				background: none;
  			}
  			&:nth-child(even) {
  				background: $light-gray;
  			}
  		}
  	}
  	th,td {
  		&:first-child {
  			border-left: none;
  		}
  		&:last-child {
  			border-right: none;
  		}
  	}
  	td {
  		border-right-color: $border-color;
  		border-left-color: $border-color;
  	}
  }
  */
}

.single__content table:not(.has-fixed-layout) th, .single__content table:not(.has-fixed-layout) td {
  white-space: nowrap;
}

.single__content .has-medium-font-size,
.single__content .has-large-font-size {
  line-height: 1.5;
}

.single__content .has-x-large-font-size {
  line-height: 1.2;
}

.single__content .alignleft {
  float: left;
}

.single__content .alignright {
  float: right;
}

.single__content .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.single__content .wp-block-post-featured-image {
  max-width: 100%;
}

.single__content .wp-block-post-featured-image:not(:first-child) {
  margin-top: min(2.3426061493vw, 3.2rem);
}

.single__content .wp-block-post-featured-image img {
  width: 100%;
}

.single__content .wp-block-embed.is-type-video {
  max-width: 89.6rem;
  margin-left: auto;
  margin-right: auto;
}

.single__content .wp-block-embed.is-type-video .wp-block-embed__wrapper {
  aspect-ratio: 16/9;
}

.single__content .wp-block-embed.is-type-video .wp-block-embed__wrapper iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.single__content .wp-block-video {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.single__content .wp-block-video video {
  max-width: 100%;
}

.single__content .wp-block-button__link,
.single__content .wp-block-file__button {
  min-width: 17.0666666667em;
  max-width: 100%;
  min-height: 3.7333333333em;
  padding: 1.0666666667em 1.7333333333em;
  background: var(--btn-color);
  color: var(--btn-color-txt);
  border: 1px solid var(--btn-color);
  border-radius: 20em;
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  font-weight: 500;
  line-height: 1.4;
  position: relative;
  z-index: 2;
  transition: 0.3s;
  text-decoration: none;
}

.single__content .wp-block-button__link:hover,
.single__content .wp-block-file__button:hover {
  background: var(--btn-color-hover);
  color: var(--btn-color-txt-hover);
  opacity: 1;
}

.single__content .wp-block-file:not(.wp-element-button) {
  font-size: inherit;
}

.single__content .wp-block-separator + .wp-block-heading {
  margin-top: 0;
}

.single__content .wp-block-lazyblock-contents-col2 .contents-col2 {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 10.15625%;
  column-gap: 10.15625%;
}

.single__content .wp-block-lazyblock-contents-col2 .contents-col2__img {
  flex-shrink: 0;
  width: 43.75%;
  margin: 0;
}

.single__content .wp-block-lazyblock-contents-col2 .contents-col2__img img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 1.6rem;
}

.single__content .wp-block-lazyblock-contents-col2 .contents-col2__txt {
  flex-grow: 1;
}

.single__pagination {
  margin-top: min(4.6875vw, 4.8rem);
  padding-top: min(3.125vw, 3.2rem);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: 500;
  line-height: 1.4;
}

.single__pagination--grid {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
}

.single__pagination-return {
  justify-self: start;
}

.single__pagination-return .link-arrow {
  margin-left: 0;
  scale: -1 1;
}

.single__pagination-return .typelabel {
  display: contents;
}

.single__pagination-return a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: relative;
}

.single__pagination-prev, .single__pagination-next {
  justify-self: end;
}

.single__pagination-prev .link-arrow, .single__pagination-next .link-arrow {
  margin-left: 0;
}

.single__pagination-prev a, .single__pagination-next a {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: relative;
}

.single__pagination-prev .link-arrow {
  scale: -1 1;
}

.single__pagination-next:nth-child(3) {
  margin-left: 1.6em;
  padding-left: 1.6em;
  border-left: 2px solid rgba(0, 0, 0, 0.2);
}

.single__pagination--rokitimes {
  padding-top: min(4.58984375vw, 4.7rem);
  border-top: 2px solid #D973A5;
  color: #D973A5;
  font-weight: bold;
}

.single__pagination--rokitimes .single__pagination-return a::after {
  content: "";
  width: 1em;
  aspect-ratio: 20/16;
  background: url(../img/common/icon-return.svg) no-repeat center/100% auto;
}

.single__pagination--rokitimes .single__pagination-prev a, .single__pagination--rokitimes .single__pagination-next a {
  gap: 1.2rem;
}

.single__pagination--rokitimes .single__pagination-prev a::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  background: currentColor;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}

.single__pagination--rokitimes .single__pagination-next:nth-child(3) {
  border-left: 2px solid currentColor;
}

.single__pagination--rokitimes .single__pagination-next a::after {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  background: currentColor;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/*
0~0.4s 白背景がスライド // 幅変化が違うので調整
0.4~0.9s ロゴ白のまま待機
0.9~1.2s ロゴ部分透明に
1.2~2.7s パス可変
*/
.top__opening {
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
}

.top__opening::before, .top__opening::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.top__opening::before {
  width: 100%;
  background-color: #FFC480;
  z-index: -2;
  transition-delay: 2s;
}

.top__opening::after {
  width: 0%;
  background-color: #fff;
  z-index: -1;
  transition: width 2s linear, opacity 0.3s 2.3s linear;
}

.top__opening-bg {
  width: max(1500px, 100vmax);
  height: max(1500px, 100vmax);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 2;
}

.top__opening-bg svg {
  display: block;
  width: 100%;
  height: 100%;
}

.top__opening-rect {
  fill: linear-gradient(#ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
}

.top__opening--active::before {
  opacity: 0;
}

.top__opening--active::after {
  width: 100%;
  opacity: 0;
}

.top__mainv {
  --opening-delay: 0s;
  --mv-bg-padding: 3.2rem;
  width: 100%;
  height: calc(100vh - var(--header-height, 12.8rem));
  height: calc(100dvh - var(--header-height, 12.8rem));
  padding: 0 var(--mv-bg-padding) var(--mv-bg-padding);
  position: relative;
  z-index: 1;
  overflow: clip;
  /* デバイスが縦向きの場合 */
}

.top__mainv-bg {
  width: 100%;
  height: 100%;
  padding: 0 var(--mv-bg-padding) var(--mv-bg-padding);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  /* デバイスが縦向きの場合 */
}

.top__mainv-bg-video {
  width: 100%;
  height: 100%;
  border-radius: 1.6rem;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.top__mainv-bg-video::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/top/mv-overlay.webp) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.top__mainv-bg-video video {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.top__mainv .inner {
  width: 100%;
  height: 100%;
  max-width: 1302px;
  position: relative;
  /* デバイスが横向きの場合 */
}

.top__mainv-txt {
  display: contents;
  font-size: min(1.8433179724vw, 2.4rem);
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-weight: bold;
}

.top__mainv-main {
  font-size: min(6.9124423963vw, 9rem);
  font-weight: bold;
  line-height: 1;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 1.2rem;
  fill: #5A5A5A;
  position: absolute;
  left: 2.4577572965%;
  bottom: 3.2rem;
}

.top__mainv-main .svg-slideUp {
  clip-path: border-box;
}

.top__mainv-main .svg-slideUp svg {
  display: block;
  width: auto;
  height: 1em;
  translate: 0 100%;
}

.top__mainv-sub {
  --before-color: #fff;
  --after-color: #fff;
  padding: 1.375em 0;
  position: absolute;
  right: 3.3794162826%;
  bottom: 2.9rem;
  z-index: 3;
  /* デバイスが縦向きの場合 */
}

.top__mainv-sub::before {
  width: 100%;
  height: 100%;
  background: url(../img/top/mv-circle.svg) no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  transition-delay: calc(var(--opening-delay) + 0.2s);
  /* デバイスが縦向きの場合 */
}

.top__mainv-sub .marker1, .top__mainv-sub .marker2 {
  background: linear-gradient(transparent 50%, #21ff00 50%) no-repeat left bottom/100% 0.4166666667em;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.4166666667em;
  /* デバイスが縦向きの場合 */
}

.top__mainv-sub .marker1 {
  background-image: linear-gradient(#4CB54E);
}

.top__mainv-sub .marker2 {
  background-image: linear-gradient(#F574A8);
}

.top__mainv-spLandscape {
  display: none;
  /* デバイスが横向きの場合 */
}

.top__mainv.animation--on .top__mainv-main .svg-slideUp svg {
  animation: 0.8s calc(var(--opening-delay) + 0.2s) svgSlideUp linear forwards;
}

.top__mainv.animation--on .top__mainv-sub::before {
  opacity: 1;
}

.top__mainv.animation--on .txt-slideUp {
  animation: 0.8s calc(var(--opening-delay) + 0.2s) textSlideUp linear forwards;
}

@keyframes svgSlideUp {
  0% {
    fill: #5A5A5A;
    translate: 0 100%;
  }
  50% {
    fill: #5A5A5A;
    translate: 0 0;
  }
  99% {
    fill: #5A5A5A;
    translate: 0 0;
  }
  100% {
    color: #fff;
    fill: #fff;
    translate: 0 0;
  }
}
.top__pickup {
  overflow: hidden;
}

.top__pickup .splide__track {
  overflow: visible;
}

.top__news-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 4.8rem;
}

.top__100year {
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding: 3.2rem;
}

.top__100year-contents {
  padding-right: 6.1443932412%;
  padding-left: 5.7603686636%;
  aspect-ratio: 1302/592;
  background: url(../img/top/introduction-bg.webp) no-repeat center/cover;
  border-radius: 1.2rem;
  overflow: hidden;
}

.top__100year .inner {
  height: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: 47.4609375% 1fr;
}

.top__100year-head {
  order: 5;
  align-self: flex-end;
  justify-self: flex-end;
  padding-bottom: 2.4rem;
}

.top__100year-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
}

.top__100year-title img {
  display: block;
  width: auto;
  height: 1.5714285714em;
}

.top__100year-title-end {
  display: flex;
  align-items: center;
}

.top__100year-title .link-more {
  margin-left: 2.3rem;
}

.top__100year-btn {
  text-align: right;
}

.top__100year-btn .btn {
  --btn-color: #fff;
  --btn-color-txt: #4CB54E;
  --btn-color-hover: #fff;
  --btn-color-txt-hover: #4CB54E;
  min-width: auto;
  font-weight: bold;
}

.top__100year-txt {
  padding: 10.6666666667em 0;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2.3888888889;
  color: #fff;
  overflow-x: visible;
  overflow-x: initial;
  overflow-y: auto;
  scrollbar-width: none;
}

.top__100year-txt-inner {
  width: 47.4609375%;
}

.top__100year-txt p + p {
  margin-top: 1lh;
}

.top__sustainability {
  position: relative;
  z-index: 1;
}

.top__sustainability::before {
  content: "";
  width: 100%;
  aspect-ratio: 1366/526;
  background: url(../img/top/sustainability-bg2.webp) no-repeat center/contain;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  translate: -50% -50%;
}

.top__sustainability .inner {
  padding-top: 5.8565153734vw;
}

.top__sustainability-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-items: flex-end;
  align-items: center;
}

.top__sustainability-img img {
  width: 100%;
  max-width: 44.8rem;
}

.top__sustainability-txt {
  padding-bottom: 2.4rem;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 6.3rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
}

.top__sustainability-txt .heading1 {
  margin-bottom: 0;
}

.top__about {
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
}

.top__about-grid {
  display: grid;
  grid-template-columns: 42.87109375% 1fr;
  align-items: flex-end;
  -moz-column-gap: 4.00390625%;
  column-gap: 4.00390625%;
}

.top__about-txt {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
  z-index: 1;
}

.top__about-txt::before {
  content: "";
  width: 161.0478359909%;
  aspect-ratio: 707/371;
  background: url(../img/top/about-bg.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.top__about-img {
  aspect-ratio: 544/362;
  position: relative;
  z-index: 5;
}

.top__about-img img {
  width: min(50vw, 68.3rem);
  max-width: none;
  aspect-ratio: 683/560;
  border-radius: 1.6rem;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.top__about-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(20.2rem, 1fr));
  gap: 0.5rem;
  position: relative;
  z-index: 7;
  margin-top: min(7.027818448vw, 9.6rem);
}

.top__about-link {
  aspect-ratio: 252/224;
  padding: 6.3492063492%;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 1fr auto;
  background: #EEEFF2;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
}

.top__about-link-icon {
  justify-self: center;
  align-self: center;
}

.top__about-link-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  line-height: 1.3333333333;
}

.top__recruitment {
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
}

.top__recruitment-grid {
  display: grid;
  grid-template-columns: 1fr 34.375%;
  align-items: center;
}

.top__recruitment-img {
  aspect-ratio: 672/659;
  position: relative;
  z-index: 1;
}

.top__recruitment-img::before {
  content: "";
  width: min(50.2196193265vw, 68.6rem);
  aspect-ratio: 1/1;
  background: url(../img/top/recruitment-rect.svg) no-repeat center/100% auto;
  position: absolute;
  top: 50%;
  left: 34%;
  translate: 0 -50%;
  z-index: -3;
}

.top__recruitment-img img {
  width: min(61.7130307467vw, 84.3rem);
  max-width: none;
  aspect-ratio: 843/659;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}

.top__recruitment-txt {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
  position: relative;
  z-index: 5;
}

.top__recruitment-txt .heading1 {
  white-space: nowrap;
}

.top__recruitment-link {
  margin-top: 6.4rem;
}

.top__recruitment-link .btn {
  --tri-color: #F574A8;
}

.top__links {
  margin-bottom: 0;
  padding-bottom: 3.2rem;
  margin-top: min(11.7130307467vw, 16rem);
}

.top__links .inner {
  max-width: 1366px;
}

.top__links-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.3426061493%;
}

.top__links-item {
  width: 100%;
  height: 100%;
  background: #F3F3F5;
  border-radius: 1.6rem;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.top__links-item-bg {
  width: 100%;
}

.top__links-item-bg img {
  width: 100%;
  aspect-ratio: 412/206;
  -o-object-fit: cover;
  object-fit: cover;
}

.top__links-item-body {
  padding: 1.0666666667em 1.6em 1.6em;
}

.top__links-item-title {
  margin-top: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.top__links-item-logo {
  max-width: calc(100% - 4rem);
  height: 2.8rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.top__links-item-logo[alt=ロキテクノファーム] {
  height: 3rem;
}

.top__links-item-logo[alt=ロキテクノ富山] {
  height: 4rem;
}

.top__links-item .link-arrow {
  flex-shrink: 0;
}

.top__links-item .link-arrow::before {
  width: 100%;
}

.top__links-item:has(.link-arrow--window) {
  --tri-color-bg: #F574A8;
}

.challenge .page__header-heading {
  display: flex;
  flex-direction: column-reverse;
}

.challenge .page__header-title {
  font-family: "M PLUS 1p", sans-serif;
  font-style: normal;
  font-size: clamp(1.4rem, 4.00390625vw, 4.1rem);
  line-height: 1.3902439024;
}

.challenge .page__header-title img {
  height: 1.5365853659em;
}

.challenge .page__header-title-sub {
  margin-bottom: 0.3703703704em;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 2.63671875vw, 2.7rem);
  line-height: 1.2222222222;
}

.challenge__grid {
  align-items: center;
  margin-top: min(9.9560761347vw, 13.6rem);
  margin-bottom: min(9.9560761347vw, 13.6rem);
}

.challenge__grid .heading2 {
  margin-bottom: 1.0666666667em;
}

.challenge__grid .heading3 {
  margin-bottom: 1.4545454545em;
  line-height: 1.5;
}

.challenge__grid-txt img {
  max-width: 32rem;
  aspect-ratio: 320/200;
  margin-top: 2.1333333333em;
  -o-object-fit: cover;
  object-fit: cover;
}

.challenge__grid-img {
  aspect-ratio: 448/448;
  position: relative;
  z-index: 5;
}

.challenge__grid-img img {
  width: min(42.972181552vw, 58.7rem);
  max-width: none;
  aspect-ratio: 587/448;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.challenge__introduction {
  margin: 0;
  background: url(../img/challenge/bg-left.svg) no-repeat left center/auto 100%, url(../img/challenge/bg-right.svg) no-repeat right center/auto 100%;
  text-align: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
  padding-top: min(9.3704245974vw, 12.8rem);
  padding-bottom: min(9.3704245974vw, 12.8rem);
}

.challenge__introduction h2 {
  margin-bottom: 5.6rem;
  font-size: clamp(1.4rem, 3.7109375vw, 3.8rem);
  font-weight: bold;
  line-height: 1.4736842105;
}

.challenge__growth {
  margin-bottom: 0;
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
}

.challenge__growth .challenge__grid:last-child {
  position: relative;
  z-index: 1;
}

.challenge__growth .challenge__grid:last-child::before {
  content: "";
  width: min(69.7657393851vw, 95.3rem);
  aspect-ratio: 953/460;
  background: url(../img/challenge/growth-img3-bg.svg) no-repeat center/100% auto;
  position: absolute;
  top: 3.7rem;
  left: 26.7578125%;
  z-index: -1;
}

.challenge__features {
  margin: 0 3.2rem;
  margin-top: max(6.2225475842vw, 8.5rem);
  padding-bottom: min(8.78477306vw, 12rem);
  background: #F7F7F7;
  border-radius: 1.6rem;
  overflow: hidden;
}

.challenge__features-introduction {
  padding-top: min(7.3206442167vw, 10rem);
  padding-bottom: min(5.1244509517vw, 7rem);
  text-align: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
  color: #fff;
  position: relative;
  z-index: 1;
}

.challenge__features-introduction::before {
  content: "";
  width: 100%;
  aspect-ratio: 1302/544;
  background: url(../img/challenge/features-bg.webp) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.challenge__features-introduction h2 {
  margin-bottom: 2.4rem;
  font-size: clamp(1.4rem, 4.6875vw, 4.8rem);
  font-weight: bold;
  line-height: 1.1875;
}

.challenge__features .inner {
  position: relative;
  z-index: 3;
}

.challenge__features-item {
  display: flex;
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
}

.challenge__features-item + .challenge__features-item {
  margin-top: 2.4rem;
}

.challenge__features-item-label {
  flex-shrink: 0;
  padding: 1rem 1.2857142857em;
  background-image: linear-gradient(150deg, #D5FC7E 0%, #4CB54E 50%, #4CB54E 100%);
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  color: #fff;
  font-weight: 600;
  font-size: 1.4rem;
  writing-mode: vertical-rl;
  text-align: center;
  line-height: 1.2;
}

.challenge__features-item-label span {
  font-size: 1.1428571429em;
}

.challenge__features-item-main {
  flex-grow: 1;
  padding: 3.90625% 3.90625% 4.6875%;
  display: grid;
  grid-template-columns: 1fr 45.045045045%;
  -moz-column-gap: 6.5315315315%;
  column-gap: 6.5315315315%;
}

.challenge__features-item-link {
  margin-top: 3.2rem;
  text-align: right;
}

.challenge__initiative {
  margin-top: min(7.027818448vw, 9.6rem);
}

.challenge__initiative-head {
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 3.2rem;
}

.challenge__initiative-head-bg {
  padding: 1em 0;
  aspect-ratio: 1302/570;
  background: url(../img/challenge/initiative-bg.webp) no-repeat center/cover;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
}

.challenge__initiative-head h2 {
  margin-bottom: 2.4rem;
  font-size: clamp(1.4rem, 4.6875vw, 4.8rem);
  font-weight: bold;
  line-height: 1.1875;
}

.challenge__initiative-logo {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 24.2rem;
  margin-top: 4.1rem;
}

.challenge__initiative-logo img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: initial;
  margin-top: 0;
  border-radius: 0;
}

.challenge__initiative-link {
  margin-top: 4.1rem;
}

.challenge__initiative-training {
  grid-column: 1/span 2;
  margin-top: 6.4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1em;
}

.challenge__initiative-training-item {
  border-radius: 0.8rem;
  background: #F7F7F7;
  overflow: hidden;
}

.challenge__initiative-training-item h3 {
  margin-bottom: 0;
  padding: 1em 1rem;
  background: #5A5A5A;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  text-align: center;
  font-weight: 500;
  color: #fff;
}

.challenge__initiative-training-item-body {
  padding: 1em 2em 2.6666666667em;
}

.challenge__initiative .challenge__grid-img {
  aspect-ratio: 448/587;
}

.challenge__initiative .challenge__grid-img img {
  aspect-ratio: 587/587;
}

.challenge__message {
  margin: 0;
  padding-top: min(8.78477306vw, 12rem);
  padding-bottom: min(17.1303074671vw, 23.4rem);
  background: url(../img/challenge/message-bg.webp) no-repeat center bottom/cover;
  text-align: center;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: 500;
}

.challenge__message p {
  line-height: 3;
}

.challenge__message .large {
  font-size: clamp(1.4rem, 2.34375vw, 2.4rem);
  line-height: 2;
}

.challenge__message .large2 {
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  line-height: 2;
}

.challenge__message .large3 {
  font-size: clamp(1.4rem, 3.7109375vw, 3.8rem);
  font-weight: bold;
  line-height: 2;
}

.quality-policy__box {
  padding: 4.6875% 3.125%;
  border: 1px solid #D1D1D1;
  border-radius: 0.8rem;
}

.quality-policy__box + .quality-policy__box {
  margin-top: 4.6875%;
}

.quality-policy__box .heading5 {
  margin-bottom: 1em;
}

.quality-policy__box .txt--orange {
  color: #FF5800;
}

.quality-policy__box figure {
  margin: 3.2rem auto;
}

.quality-policy__box .quality-img1 {
  max-width: 39.9rem;
}

.quality-policy__box .quality-img2 {
  margin-bottom: 0;
}

.quality-policy__box .quality-img3 {
  max-width: 34rem;
}

.quality-policy__box-details {
  display: grid;
  grid-template-columns: 18.6847599165% 1fr;
  gap: 1.6em 0;
  font-weight: 500;
  line-height: 1.6;
}

.quality-policy__box-details dt {
  font-weight: bold;
  font-size: 1.2em;
}

.quality-policy__box-details .detail-staff {
  color: #F44297;
}

.quality-policy__box-details .detail-work {
  color: #40A629;
}

.quality-policy__box-details .detail-products {
  color: #FF5800;
}

.quality-policy__box-iso {
  background: #FFF2D6;
  border-radius: 0.8rem;
  padding: 3.125%;
}

.quality-policy__box-iso-details {
  display: grid;
  grid-template-columns: 18.6847599165% 1fr;
  gap: 1.0666666667em 0;
  font-weight: 500;
  line-height: 1.6;
}

.quality-policy__box-iso-details dt {
  font-weight: bold;
  font-size: 1.2em;
}

.rokiism {
  /* // typeAのスタイル
  .page__header-heading {
  	align-self: center;
  }
  .page__header-title {
  	@include font-base;
  	font-size: pcFont(4.5rem);
  	font-weight: bold;
  	line-height: calc(62/45);
  	@include sp {
  		font-size: mobile-size-vw(4rem);
  	}
  }
  .page__header-title-sub {
  	display: none;
  }
  */
}

.rokiism__about {
  margin-top: min(10.541727672vw, 14.4rem);
  margin-bottom: min(10.541727672vw, 14.4rem);
}

.rokiism__about-logo {
  width: 69.23828125%;
  max-width: 70.9rem;
  margin: 0 auto;
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.rokiism__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: min(3.125vw, 3.2rem);
}

.rokiism__grid + .rokiism__grid {
  margin-top: min(3.125vw, 3.2rem);
}

.rokiism__item {
  grid-row: span 3;
  padding: min(6.4516129032%, 3.2rem) min(6.4516129032%, 3.2rem) min(3.2258064516%, 1.6rem);
  background-color: #6c6c6c;
  background-repeat: no-repeat;
  background-size: min(38.7096774194%, 19.2rem) auto;
  background-position: right min(10.4%, 4.8rem) bottom 24%;
  border-radius: 0.8rem;
  color: #fff;
  font-weight: 500;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
  gap: 0;
}

.rokiism__item-title {
  margin-bottom: 1em;
  padding-bottom: 0.64em;
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}

.rokiism__item-title::after {
  content: "";
  width: 100%;
  height: 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: absolute;
  bottom: -1px;
  left: 0;
}

.rokiism__item-body {
  padding: 0 1em 1em;
  line-height: 2;
}

.rokiism__item-link {
  padding-top: 1em;
  text-align: right;
  position: relative;
}

.rokiism__item-link::before {
  content: "";
  width: 100%;
  height: 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: absolute;
  top: -1px;
  left: 0;
}

.rokiism__item-link a {
  --tri-color: #FFA600;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
}

.rokiism__item-link a .link-arrow::after {
  width: 1.2rem;
}

.rokiism__item:where(:nth-child(1)) {
  background-image: url(../img/rokiism/rokiism-icon1.svg);
}

.rokiism__item:where(:nth-child(2)) {
  background-image: url(../img/rokiism/rokiism-icon2.svg);
}

.rokiism__item:where(:nth-child(3)) {
  background-image: url(../img/rokiism/rokiism-icon3.svg);
}

.rokiism__item:where(:nth-child(4)) {
  background-image: url(../img/rokiism/rokiism-icon4.svg);
}

.rokiism__item:where(:nth-child(5)) {
  background-image: url(../img/rokiism/rokiism-icon5.svg);
}

.rokiism__item:where(:nth-child(6)) {
  background-image: url(../img/rokiism/rokiism-icon6.svg);
}

.rokiism__item:where(:nth-child(7)) {
  background-image: url(../img/rokiism/rokiism-icon7.svg);
}

.rokiism__item:where(:nth-child(8)) {
  background-image: url(../img/rokiism/rokiism-icon8.svg);
}

.rokiism__item:where(:nth-child(9)) {
  background-image: url(../img/rokiism/rokiism-icon9.svg);
}

.rokiism__item:where(:nth-child(10)) {
  background-image: url(../img/rokiism/rokiism-icon10.svg);
}

.rokiism__item:where(:nth-child(11)) {
  background-image: url(../img/rokiism/rokiism-icon11.svg);
}

.rokiism__item:where(:nth-child(12)) {
  background-image: url(../img/rokiism/rokiism-icon12.svg);
}

.rokiism__item--top {
  min-height: 28.8rem;
  background-image: url(../img/rokiism/rokiism-icon-top.svg);
}

.rokiism__item--top > * {
  max-width: 72rem;
}

.corporate-ethics__slogan {
  text-align: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 1.3888888889;
}

.environmental-policy__slogan {
  text-align: center;
}

.environmental-policy__slogan-title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.5rem;
  padding: 0.5rem 0.625em;
  background-image: linear-gradient(90deg, #D5FC7E 0%, #4CB54E 50%, #4CB54E 100%);
  border-radius: 0.4rem;
  font-size: clamp(1.4rem, 3.125vw, 3.2rem);
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-style: normal;
  font-weight: bold;
  line-height: 1.1875;
  color: #fff;
}

.environmental-policy__slogan-statement {
  margin-bottom: 2.4rem;
  font-size: clamp(1.4rem, 5.859375vw, 6rem);
  font-weight: bold;
  line-height: 1.4;
}

.environmental-policy__slogan-note {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.environmental-policy__slogan-description {
  margin-top: min(9.3704245974vw, 12.8rem);
}

.environmental-policy__slogan-description .txt {
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  line-height: 1.9166666667;
}

.environmental-policy__slogan-description .details {
  position: relative;
}

.environmental-policy__slogan-description .details::before {
  content: "";
  display: block;
  width: 19.2rem;
  max-width: 100%;
  height: 1px;
  margin: 6.4rem auto;
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
}

.environmental-policy__slogan-description .detail1 {
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  line-height: 1.4;
}

.environmental-policy__slogan-description .detail2 {
  max-width: 64rem;
  margin: 6.5rem auto 0;
  padding: 1em;
  border: 1px solid #5A5A5A;
  border-radius: 0.4rem;
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  line-height: 1.4;
  text-align: center;
  position: relative;
}

.environmental-policy__slogan-description .detail2 .top {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 0.8rem;
  background: #fff;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  translate: 0 -50%;
}

.environmental-policy__slogan-description .detail2 .small {
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  font-weight: normal;
}

.environmental-policy__details {
  padding: 4.39453125%;
  background: #F7F7F7;
  border-radius: 1.6rem;
  margin-top: min(7.027818448vw, 9.6rem);
}

.environmental-policy__list {
  margin-top: 0.9em;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: 500;
  line-height: 2.25;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 0.9em;
}

.environmental-policy__list + * {
  margin-top: 0.9em;
}

.environmental-policy__list ul, .environmental-policy__list ol {
  margin-top: 0.4666666667em;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  line-height: 2;
  color: #222222;
}

.environmental-policy__list ul {
  list-style-type: "・";
}

.environmental-policy__list ul li {
  list-style-position: inside;
  padding-left: 1em;
  text-indent: -1em;
}

.environmental-policy__list p {
  margin-top: 0.4666666667em;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  line-height: 2;
  color: #222222;
}

.introduction__slogan {
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
}

.introduction .page__grid {
  --col-gap: 9.375%;
  --col-short: 39.0625%;
  margin-top: min(7.027818448vw, 9.6rem);
}

.introduction .page__grid p {
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  line-height: 2.5;
}

.introduction figcaption {
  margin-top: 1.3333333333em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 1.3888888889;
}

.introduction__sign {
  width: auto;
  height: 3em;
  margin-top: 0.8em;
}

.business__introduction {
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.business__introduction h2 {
  margin-bottom: 1.2em;
  font-size: clamp(1.4rem, 3.90625vw, 4rem);
  font-weight: bold;
  line-height: 1.4;
}

.business__introduction h2 .bg {
  margin-left: 0.5em;
  padding: 0 0.25em;
  background-image: linear-gradient(130deg, #D5FC7E 0%, #4CB54E 50%, #4CB54E 100%);
  border-radius: 0.4rem;
  color: #fff;
}

.business__introduction p {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.business__bg {
  padding: 1px 0;
  background: #F3F3F5;
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
}

.business__fields-bgBox {
  --circle-size: min(78.125vw, 80rem);
  position: relative;
  z-index: 1;
}

.business__fields-bgBox::before {
  content: "";
  width: var(--circle-size);
  aspect-ratio: 1/1;
  background: url(../img/about/business/fields-circle.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  z-index: -1;
}

.business__fields-title {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.2em;
  padding-top: 1.6285714286em;
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  font-weight: bold;
  line-height: 1.4;
}

.business__fields-title img {
  width: auto;
  height: 2em;
}

.business__fields-grid {
  --col-gap: min(3.125vw, 3.2rem);
  grid-template-rows: repeat(3, auto) 1fr;
}

.business__fields-card {
  --card-size: min(48.4375vw, 49.6rem);
  --card-bg-size: min(37.5vw, 38.4rem);
  --bg-y1: (clamp(1.4rem, 3.41796875vw, 3.5rem) * 2);
  --bg-y2: (clamp(1.4rem, 3.41796875vw, 3.5rem) * calc(57/35));
  --bg-y3: (clamp(1.4rem, 3.41796875vw, 3.5rem) * 1.2);
  --card-gap: 2.4rem;
  grid-row: span 4;
  padding: 1em 1em 2em;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: var(--circle-size) auto;
  border-radius: 1.6rem;
  font-weight: 500;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16);
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  row-gap: 0;
  position: relative;
}

.business__fields-card-img {
  margin-bottom: var(--card-gap);
}

.business__fields-card-img img {
  width: 100%;
  aspect-ratio: 464/232;
  border: 1px solid #fff;
  border-radius: 1.6rem;
}

.business__fields-card-title {
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.business__fields-card-txt {
  margin-top: 1em;
  text-align: center;
}

.business__fields-card-products {
  align-self: flex-start;
  margin-top: var(--card-gap);
  padding: var(--card-gap) 2em 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: auto 1fr;
  gap: 1.6em 0.8em;
}

.business__fields-card-products > div {
  grid-row: span 2;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  align-items: flex-start;
  gap: 0;
}

.business__fields-card-products h4 {
  margin-bottom: 0.5em;
  font-size: inherit;
  font-weight: bold;
  line-height: 1.4;
}

.business__fields-card-products ul {
  font-size: clamp(1.2rem, 1.26953125vw, 1.3rem);
  display: grid;
  grid-template-columns: 100%;
  row-gap: 0.4rem;
}

.business__fields-card-products ul > li:before {
  width: 0.5em;
}

.business__fields-card:nth-child(1) {
  --dot-color: #57B136;
  background-image: url(../img/about/business/fields-circle2.svg);
  background-position: left calc(var(--card-size) - var(--card-bg-size)) top calc((var(--bg-y1) + var(--bg-y2) + var(--bg-y3)) * -1);
}

.business__fields-card:nth-child(2) {
  --dot-color: #F775B1;
  background-image: url(../img/about/business/fields-circle3.svg);
  background-position: right calc(var(--card-size) - var(--card-bg-size)) top calc((var(--bg-y1) + var(--bg-y2) + var(--bg-y3)) * -1);
}

.business__case-title {
  margin-bottom: 1.0666666667em;
  text-align: center;
}

.business__case-title span {
  font-size: clamp(1.4rem, 4.8828125vw, 5rem);
  line-height: 1.4;
}

.business__case-txt {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  text-align: center;
}

.business__case-contents {
  margin-top: 3.2rem;
}

.business__case-contents-map {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.business__case-contents-pins {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.business__case-contents-pins svg {
  display: block;
  width: 100%;
  height: 100%;
}

.business__case-contents-pins .map-pin {
  fill: #222222;
  transition: 0.3s;
}

.business__case-contents-popup {
  width: calc(100% - min(4.6852122987vw, 6.4rem));
  height: calc(100% - min(4.6852122987vw, 6.4rem));
  border-radius: 1.6rem;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  translate: -50% -50%;
  overflow: hidden;
  pointer-events: none;
}

.business__case-contents-popup::before, .business__case-contents-popup::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.6s;
  clip-path: circle(0% at 50% 50%);
}

.business__case-contents-popup::before {
  background: #fff;
  z-index: -2;
  opacity: 0.9;
}

.business__case-contents-popup::after {
  background-image: linear-gradient(135deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  z-index: -1;
  opacity: 0.3;
}

.business__case-contents-popup-display {
  width: calc(100% - min(28.1112737921vw, 38.4rem) + min(2.3426061493vw, 3.2rem));
  height: 100%;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  translate: 0 25%;
  opacity: 0;
  transition: 0.6s;
}

.business__case-contents-popup-img {
  width: 100%;
  max-width: 66.2rem;
  aspect-ratio: 662/512;
  position: relative;
}

.business__case-contents-popup-map {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.business__case-contents-details {
  width: calc(100% - min(28.1112737921vw, 38.4rem));
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
}

.business__case-contents-detail {
  width: calc(100% - min(5.1244509517vw, 7rem));
  max-width: 48.4rem;
  min-height: 28.8rem;
  padding: min(4.0995607613vw, 5.6rem) 1em;
  background: #5A5A5A;
  border-radius: 1.6rem;
  font-weight: 500;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: min(4.7584187408vw, 6.5rem);
  translate: 0 -50%;
  opacity: 0;
  pointer-events: initial;
  visibility: hidden;
  transition: 0.3s;
}

.business__case-contents-detail::after {
  content: "";
  width: 6.6115702479%;
  aspect-ratio: 1/1;
  background: inherit;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  top: 50%;
  left: calc(100% - 1px);
  translate: 0 -50%;
}

.business__case-contents-detail-number {
  width: 2.8em;
  padding: 0.1rem 0.2rem 0.3rem;
  background: #FFA600;
  border-radius: 10em;
  color: #fff;
  text-align: center;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-style: normal;
  line-height: 1.2;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  position: absolute;
  top: min(1.756954612vw, 2.4rem);
  left: min(1.756954612vw, 2.4rem);
  z-index: 5;
}

.business__case-contents-detail-txt {
  width: 100%;
  max-width: 35.6rem;
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
}

.business__case-contents-detail-close {
  background: none;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  position: absolute;
  left: 50%;
  bottom: min(1.756954612vw, 2.4rem);
  z-index: 5;
  translate: -50% 0;
}

.business__case-contents-detail-close .close {
  display: block;
  width: 1.6666666667em;
  aspect-ratio: 1/1;
  rotate: 45deg;
  position: relative;
}

.business__case-contents-detail-close .close::before, .business__case-contents-detail-close .close::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  background: #FFA600;
  border-radius: 10em;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.business__case-contents-detail-close .close::after {
  rotate: 90deg;
}

.business__case-contents-detail.active {
  opacity: 1;
  visibility: visible;
}

.business__case-contents-bg {
  overflow: clip;
}

.business__case-contents-bg[data-active=step1] .pin-step1 .map-pin, .business__case-contents-bg[data-active=step2] .pin-step2 .map-pin, .business__case-contents-bg[data-active=step3] .pin-step3 .map-pin, .business__case-contents-bg[data-active=step4] .pin-step4 .map-pin, .business__case-contents-bg[data-active=step5] .pin-step5 .map-pin, .business__case-contents-bg[data-active=step6] .pin-step6 .map-pin, .business__case-contents-bg[data-active=step7] .pin-step7 .map-pin, .business__case-contents-bg[data-active=step8] .pin-step8 .map-pin, .business__case-contents-bg[data-active=step9] .pin-step9 .map-pin, .business__case-contents-bg[data-active=step10] .pin-step10 .map-pin {
  fill: #FFA600;
}

.business__case-contents-bg[data-active=step3] .business__case-contents-popup, .business__case-contents-bg[data-active=step4] .business__case-contents-popup, .business__case-contents-bg[data-active=step5] .business__case-contents-popup {
  pointer-events: initial;
}

.business__case-contents-bg[data-active=step3] .business__case-contents-popup::before, .business__case-contents-bg[data-active=step3] .business__case-contents-popup::after, .business__case-contents-bg[data-active=step4] .business__case-contents-popup::before, .business__case-contents-bg[data-active=step4] .business__case-contents-popup::after, .business__case-contents-bg[data-active=step5] .business__case-contents-popup::before, .business__case-contents-bg[data-active=step5] .business__case-contents-popup::after {
  clip-path: circle(75% at 50% 50%);
}

.business__case-contents-bg[data-active=step3] .business__case-contents-popup-display, .business__case-contents-bg[data-active=step4] .business__case-contents-popup-display, .business__case-contents-bg[data-active=step5] .business__case-contents-popup-display {
  translate: 0 0;
  opacity: 1;
}

.business__case-contents-nav {
  width: min(28.1112737921vw, 38.4rem);
  padding-right: min(4.6852122987vw, 6.4rem);
}

.business__case-contents-nav-box {
  padding: 0.8rem;
  background: #fff;
  border-radius: 1.5rem;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.16);
  position: relative;
  pointer-events: none;
}

.business__case-contents-nav-box-number {
  width: 2.8em;
  padding: 0.1rem 0.2rem 0.3rem;
  background: #FFA600;
  border: 2px solid #fff;
  border-radius: 10em;
  color: #fff;
  text-align: center;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-style: normal;
  line-height: 1.2;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 20;
  translate: -50% -50%;
}

.business__case-contents-nav-box-img {
  width: 100%;
}

.business__case-contents-nav-box-btns {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 20;
  translate: 0 50%;
}

.business__case-contents-nav-box-btn {
  padding: 0.5384615385em 0.9230769231em;
  background: #5A5A5A;
  border: 2px solid #fff;
  border-radius: 10em;
  color: #fff;
  text-align: center;
  font-size: clamp(1rem, 1.26953125vw, 1.3rem);
  font-weight: 500;
  line-height: 1.3846153846;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
}

.business__case-contents-nav-box-btn .toggle {
  display: block;
  width: 1rem;
  aspect-ratio: 1/1;
  position: relative;
}

.business__case-contents-nav-box-btn .toggle::before, .business__case-contents-nav-box-btn .toggle::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  background: #FFA600;
  border-radius: 10em;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.business__case-contents-nav-box-btn .toggle::after {
  rotate: 90deg;
}

.business__case-contents-nav[data-active=step1] #nav-step1, .business__case-contents-nav[data-active=step2] #nav-step2, .business__case-contents-nav[data-active=step3] #nav-step3, .business__case-contents-nav[data-active=step4] #nav-step4, .business__case-contents-nav[data-active=step5] #nav-step5, .business__case-contents-nav[data-active=step6] #nav-step6, .business__case-contents-nav[data-active=step7] #nav-step7, .business__case-contents-nav[data-active=step8] #nav-step8, .business__case-contents-nav[data-active=step9] #nav-step9, .business__case-contents-nav[data-active=step10] #nav-step10 {
  pointer-events: initial;
}

.outline__box {
  padding: 2.34375% 4.6875%;
  background: #F7F7F7;
  border-radius: 1.6rem;
}

.outline__box + .outline__box {
  margin-top: 4.8rem;
}

.outline__box h3 {
  margin-bottom: 1em;
  font-size: clamp(1.4rem, 2.44140625vw, 2.5rem);
  font-weight: bold;
  line-height: 1.4;
}

.outline__box-acc {
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
}

.outline__box-acc + .outline__box-acc {
  margin-top: 3.2rem;
}

.outline__box-acc-title {
  padding: 1.8666666667em 2.6666666667em;
  display: flex;
  align-items: center;
  position: relative;
}

.outline__box-acc-title::before {
  content: "";
  width: 2px;
  height: calc(clamp(1.4rem, 1.7578125vw, 1.8rem) * 1.3888888889);
  background: #FFA600;
  position: absolute;
  top: 1.8666666667em;
  left: 0;
}

.outline__box-acc-title .name {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.3888888889;
}

.outline__box-acc-title .area {
  margin-left: 2em;
}

.outline__box-acc-title .toggle {
  position: absolute;
  top: 50%;
  right: 1.6em;
  translate: 0 -50%;
}

.outline__box-acc-body {
  padding: 0 2.6666666667em 1em;
}

.outline__box-acc .outline__info {
  grid-template-columns: 18.1818181818% 1fr;
}

.outline__box-acc .outline__info dt, .outline__box-acc .outline__info dd {
  padding-top: 1.6em;
  padding-bottom: 1.6em;
}

.outline__info {
  display: grid;
  grid-template-columns: 21.4439655172% 1fr;
}

.outline__info dt, .outline__info dd {
  padding-top: 2em;
  padding-bottom: 2em;
  padding-left: 1em;
  line-height: 1.6;
}

.outline__info dt:where(:not(:last-of-type)), .outline__info dd:where(:not(:last-of-type)) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.outline__info dt {
  font-weight: 500;
}

.outline__info .map-link {
  margin-left: 1em;
  font-weight: normal;
  color: #FFA600;
  text-decoration: underline;
}

.outline__info-map {
  margin-top: 1lh;
}

.outline__info-map iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 704/430;
}

.outline__info-locations {
  display: grid;
  grid-template-columns: 100%;
}

.outline__info-locations dt, .outline__info-locations dd {
  padding: 0;
  border-bottom: none;
}

.outline__info-locations dt {
  font-weight: bold;
}

.outline__info-locations dt:where(:not(:first-of-type)) {
  margin-top: 0.5em;
}

.outline__company {
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.outline__group {
  margin-top: min(7.027818448vw, 9.6rem);
}

.officer__list {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 6.4rem;
}

.officer__item {
  display: grid;
  grid-template-columns: 21.875% 1fr;
  gap: 2.1333333333em 6.25%;
}

.officer__item-position {
  grid-row: 1;
  grid-column: 1/3;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1.2rem;
  column-gap: 1.2rem;
  position: relative;
}

.officer__item-position::after {
  content: "";
  flex-grow: 1;
  width: 1px;
  height: 1px;
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
}

.officer__item-img img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 1.6rem;
}

.officer__item-txt {
  padding-top: 1em;
  font-weight: 500;
}

.officer__item-name {
  margin-bottom: 0.8em;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  line-height: 1.4;
}

.officer__item:not(:has(.officer__item-img)) .officer__item-txt {
  grid-column: 1/-1;
}

.officer__date {
  margin-top: 6.4rem;
  text-align: right;
  font-weight: 500;
}

.locations__nav {
  margin-top: min(11.7130307467vw, 16rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.locations__menu {
  margin-left: auto;
  margin-right: auto;
  background: #EEEFF2;
  border-radius: 20em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  color: rgba(90, 90, 90, 0.5);
}

.locations__menu a {
  height: 100%;
  min-height: 4em;
  padding: 0.7222222222em 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20em;
}

.locations__menu a.current {
  background: #5A5A5A;
  color: #fff;
}

.locations__menu--area {
  width: -moz-fit-content;
  width: fit-content;
  grid-template-columns: repeat(2, 1fr);
}

.locations__menu--area a {
  min-width: 10.6666666667em;
  min-height: 3.1111111111em;
  padding: 0.8888888889em 0.5555555556em;
}

.locations__base {
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.locations__base .page__grid {
  --col-short: 45.1171875%;
  --col-gap: 3.125%;
  --col-sp-gap: 6.4vw;
}

.locations__base-name {
  margin-bottom: 1.0909090909em;
}

.locations__base-img img {
  display: block;
  width: 100%;
  aspect-ratio: 462/303;
  -o-object-fit: cover;
  object-fit: cover;
}

.locations__base-txt {
  margin-bottom: 1.6em;
}

.locations__base-contact {
  display: grid;
  grid-template-columns: 9.6rem 1fr;
  align-items: flex-start;
  gap: 0.8rem 1.6em;
  line-height: 1.8666666667;
}

.locations__base-contact dt {
  padding: 0.3846153846em 1rem;
  background: #F7F7F7;
  border-radius: 0.4rem;
  font-size: clamp(1.2rem, 1.26953125vw, 1.3rem);
  line-height: 1.3846153846;
  text-align: center;
  font-weight: bold;
}

.locations__base-contact dd {
  padding: 0;
}

.locations__base-map {
  margin-top: 1.6em;
}

.locations__base-map iframe {
  display: block;
  width: 100%;
  height: 44rem;
}

.production-bases__base-route {
  margin-top: 4em;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 3.0666666667em;
}

.production-bases__base-route-title {
  margin-bottom: 1.1428571429em;
  padding-left: 0.7619047619em;
  border-left: 4px solid #FFA600;
  font-size: clamp(1.4rem, 2.05078125vw, 2.1rem);
  font-weight: bold;
  line-height: 1.4285714286;
}

.production-bases__base-route-img {
  display: block;
  width: 100%;
  height: auto;
}

.sales-offices__heading {
  margin-bottom: 0.75em;
  font-size: clamp(1.4rem, 3.90625vw, 4rem);
  font-weight: bold;
  line-height: 1.05;
  text-align: center;
}

.sales-offices__japan-map,
.sales-offices__global-map {
  margin-top: 6.4rem;
  position: relative;
}

.sales-offices__japan-map .map,
.sales-offices__global-map .map {
  width: 100%;
  height: auto;
}

.sales-offices__japan-map .btn,
.sales-offices__global-map .btn {
  --btn-color: #EEEFF2;
  --btn-color-txt: #222222;
  --btn-color-hover: #EEEFF2;
  --btn-color-txt-hover: #222222;
  min-width: 15.4666666667em;
  min-height: 2.9333333333em;
  padding: 0.8em 1.2em;
  padding-right: 2.6666666667em;
  font-weight: normal;
  position: absolute;
  z-index: 2;
}

.sales-offices__japan-map .btn .link-arrow,
.sales-offices__global-map .btn .link-arrow {
  right: 0.5333333333em;
}

.sales-offices__japan-map .sp-btns,
.sales-offices__global-map .sp-btns {
  display: contents;
}

.history__timeline {
  display: grid;
  grid-template-columns: clamp(15rem, 19.53125%, 20.2rem) 1fr;
  -moz-column-gap: 7.8125%;
  column-gap: 7.8125%;
  position: relative;
}

.history__timeline-nav {
  height: -moz-fit-content;
  height: fit-content;
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  display: grid;
  grid-template-columns: 100%;
  row-gap: 1em;
  position: sticky;
  top: var(--header-height);
  left: 0;
}

.history__timeline-nav-item {
  --btn-color: #EEEFF2;
  --btn-color-txt: #A4A4A6;
  --btn-color-hover: #5A5A5A;
  --btn-color-txt-hover: #fff;
  width: 100%;
  min-width: auto;
  border-color: rgba(0, 0, 0, 0.2);
}

.history__timeline-nav-item::after {
  content: "";
  width: 0.875em;
  aspect-ratio: 13/8;
  background-color: currentColor;
  -webkit-mask-image: url(../img/common/arrow-down.svg);
  mask-image: url(../img/common/arrow-down.svg);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 50%;
  right: 1.5em;
  translate: 0 -50%;
}

.history__timeline-wrap {
  display: grid;
  grid-template-columns: 100%;
  row-gap: min(7.027818448vw, 9.6rem);
}

.history__timeline-group-title {
  margin-bottom: 1.9166666667em;
  padding-bottom: 0;
  font-size: clamp(1.4rem, 2.34375vw, 2.4rem);
  font-weight: bold;
  color: #FFA600;
  line-height: 1.4166666667;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 1em;
  column-gap: 1em;
}

.history__timeline-group-title::after {
  flex-grow: 1;
  width: 1px;
  height: 2px;
  position: relative;
}

.history__list {
  display: grid;
  grid-template-columns: 1.6666666667em 1fr;
  gap: min(3.3674963397vw, 4.6rem) 0.8rem;
}

.history__item {
  grid-column: span 2;
  display: grid;
  grid-template-columns: subgrid;
  row-gap: 1em;
  font-weight: 500;
  position: relative;
}

.history__item::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 1.6666666667em;
  aspect-ratio: 1/1;
  background: #FF5800;
  border: 1px solid #D8D8D8;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0.4666666667em #fff;
  position: relative;
  z-index: 2;
}

.history__item::after {
  content: "";
  width: 1px;
  height: calc(100% + min(3.3674963397vw, 4.6rem));
  background: #D8D8D8;
  position: absolute;
  top: 0;
  left: 0.8333333334em;
  z-index: 1;
}

.history__item-time, .history__item-txt, .history__item-img {
  grid-column: 2;
}

.history__item-time {
  align-self: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.3888888889;
}

.history__item-txt {
  line-height: 1.5;
}

.history__item-img {
  max-width: 44.4rem;
}

.history__item-img[data-image="1984-12"], .history__item-img[data-image="1998-07"], .history__item-img[data-image="2013-06"] {
  max-width: 21.7rem;
}

.history__item-img[data-image="1990-02"] {
  max-width: 37.8rem;
}

.history__item-img[data-image="2006-04"] {
  max-width: 35.3rem;
}

.history__item-img[data-image="2012-04"], .history__item-img[data-image="2012-06"], .history__item-img[data-image="2014-07"], .history__item-img[data-image="2016-10"], .history__item-img[data-image="2017-10"], .history__item-img[data-image="2020-03"], .history__item-img[data-image="2024-10"] {
  max-width: none;
  max-height: 3.6rem;
}

.history__item-img[data-image="2012-04"] img, .history__item-img[data-image="2012-06"] img, .history__item-img[data-image="2014-07"] img, .history__item-img[data-image="2016-10"] img, .history__item-img[data-image="2017-10"] img, .history__item-img[data-image="2020-03"] img, .history__item-img[data-image="2024-10"] img {
  max-height: 100%;
}

.history__item:last-child::after {
  content: none;
}

.logo-character__nav {
  margin-top: min(9.3704245974vw, 12.8rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.logo-character__nav-list {
  max-width: 67.2rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}

.logo-character__nav-item {
  height: 100%;
  min-height: 7.2em;
  padding: 1.55em 1rem 3em;
  background: #F7F7F7;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1.35em;
  position: relative;
}

.logo-character__nav-item::after {
  content: "";
  display: block;
  width: 1.6rem;
  aspect-ratio: 1/1;
  background: #4CB54E;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: calc(2.25em - 1.6rem);
  left: 50%;
  translate: -50% 0;
}

.logo-character__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 0.6315789474em;
  column-gap: 0.6315789474em;
  text-align: center;
}

.logo-character__title::before, .logo-character__title::after {
  content: "";
  flex-grow: 1;
  width: 1px;
  height: 2px;
  background-image: linear-gradient(90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
}

.logo-character__title::after {
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
}

.logo-character__logo,
.logo-character__character {
  --bg-max-width: min(calc(100vw - 6.4rem), 130.2rem);
  max-width: var(--bg-max-width);
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

.logo-character__logo .logo-character__title {
  margin-bottom: 2.8rem;
}

.logo-character__logo-video {
  max-width: 80rem;
  margin: 0 auto;
}

.logo-character__logo-video video {
  width: 100%;
  height: auto;
}

.logo-character__logo-main {
  position: relative;
  padding-top: min(9.3704245974vw, 12.8rem);
  padding-bottom: min(9.3704245974vw, 12.8rem);
}

.logo-character__logo-main::before {
  content: "";
  width: 100vw;
  height: 100%;
  max-width: var(--bg-max-width);
  background: #F3F3F5;
  border-radius: 1.6rem;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  translate: -50% 0;
}

.logo-character__logo-main .heading2 {
  margin-bottom: 2.1333333333em;
}

.logo-character__logo-group + .logo-character__logo-group {
  margin-top: min(9.3704245974vw, 12.8rem);
}

.logo-character__logo-design {
  --col-gap: 9.375%;
  --col-short: 56.25%;
  row-gap: 4.8rem;
}

.logo-character__logo-design .img-radius1 {
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.logo-character__logo-description {
  --col-gap: 5.6640625%;
  --col-short: 56.25%;
  --col-sp-gap: 0;
}

.logo-character__logo-color {
  margin-top: 6.4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.8rem;
}

.logo-character__logo-color-item {
  padding: 9.5238095238%;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.logo-character__logo-color-item h4 {
  width: 100%;
  max-width: 19.2rem;
  aspect-ratio: 1/1;
  margin: 0 auto 3.2rem;
  background: var(--bg-color);
  border-radius: 50%;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.logo-character__logo-color-item--orange {
  --bg-color: linear-gradient(135deg, #efb700 0%, #d65f1d 100%);
}

.logo-character__logo-color-item--pink {
  --bg-color: linear-gradient(135deg, #df93b7 0%, #d7689f 100%);
}

.logo-character__logo-color-item--green {
  --bg-color: linear-gradient(135deg, #9ec770 0%, #6bad42 100%);
}

.logo-character__character .logo-character__title {
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.logo-character__character .page__grid {
  --col-gap: 0;
  --col-short: 34.375%;
  margin-bottom: 7.4rem;
  align-items: flex-start;
}

.logo-character__character-introduction p {
  line-height: 1.8;
}

.logo-character__character-name {
  margin-bottom: 3.2rem;
  font-size: clamp(1.4rem, 4.6875vw, 4.8rem);
}

.logo-character__character-name img {
  display: block;
  width: auto;
  height: 1em;
}

.logo-character__character-visual {
  position: relative;
}

.logo-character__character-visual img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}

.logo-character__character-profile {
  position: relative;
  padding-top: min(7.027818448vw, 9.6rem);
  padding-bottom: min(7.027818448vw, 9.6rem);
}

.logo-character__character-profile::before {
  content: "";
  width: 100vw;
  height: 100%;
  max-width: var(--bg-max-width);
  background-image: linear-gradient(135deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  border-radius: 1.6rem;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  translate: -50% 0;
  opacity: 0.4;
}

.logo-character__character-profile .heading1 {
  margin-bottom: 0;
  padding-left: 0;
  color: #FF6800;
  position: absolute;
  top: 0;
  left: 0;
  translate: 0 -50%;
}

.logo-character__character-profile .heading1::before {
  content: none;
}

.logo-character__character-profile-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: auto auto 1fr;
  gap: 0.2rem;
}

.logo-character__character-profile-item {
  grid-row: span 3;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: subgrid;
  justify-items: center;
  align-items: center;
  gap: 1.1111111111em;
  padding: 2.1111111111em 9.4117647059% 2em;
  background: #fff;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  text-align: center;
  font-weight: 500;
}

.logo-character__character-profile-item img {
  width: 3.1111111111em;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
}

.logo-character__character-profile-item .heading2 {
  margin-bottom: 0;
  color: #4CB54E;
}

.logo-character__character-profile-item p {
  line-height: 1.5;
}

.sustainability__grid {
  display: grid;
  grid-template-columns: 17.1875% 1fr;
  -moz-column-gap: 1.953125%;
  column-gap: 1.953125%;
}

.sustainability__introduction {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  text-align: center;
}

.sustainability__challenge {
  margin-top: min(12.4450951684vw, 17rem);
  margin-bottom: min(12.4450951684vw, 17rem);
}

.sustainability__challenge-logo {
  width: 29.8828125%;
  max-width: 30.6rem;
  margin: 0 auto 7rem;
}

.sustainability__challenge-logo img {
  width: 100%;
}

.sustainability__challenge-gap {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 2;
}

.sustainability__slogan {
  aspect-ratio: 1366/450;
  margin-top: 2.9282576867vw;
  padding-bottom: 8.2rem;
  background: url(../img/sustainability/challenge-bg.svg) no-repeat center bottom/100% auto;
}

.sustainability__slogan-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 1.2rem;
}

.sustainability__slogan-item {
  padding: 1rem;
  aspect-ratio: 1/1;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0.6rem 2rem rgba(9, 50, 87, 0.1);
  text-align: center;
  font-weight: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.sustainability__slogan-item-label {
  min-width: 11.6rem;
  margin-bottom: 1.2rem;
  padding: 0.4rem;
  background-image: linear-gradient(135deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  background-size: 100% 100%;
  background-position: center;
  border-radius: 0.4rem;
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  color: #fff;
  line-height: 1.375;
  letter-spacing: 0.2em;
  position: relative;
}

.sustainability__slogan-item-label .plus {
  width: 2.3rem;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: calc(100% + 1.2rem);
  left: 50%;
  translate: -50% 0;
}

.sustainability__slogan-item-label .plus::before, .sustainability__slogan-item-label .plus::after {
  content: "";
  width: 100%;
  height: 0.7rem;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.sustainability__slogan-item-label .plus::before {
  background: #0075BA;
  z-index: 2;
  rotate: 90deg;
}

.sustainability__slogan-item-label .plus::after {
  background: #54B431;
  z-index: 1;
}

.sustainability__slogan-item h3 {
  margin-bottom: 1em;
  font-size: clamp(1.4rem, 2.34375vw, 2.4rem);
  font-weight: inherit;
}

.sustainability__slogan-item p:not([class]) {
  font-size: clamp(1.4rem, 1.3671875vw, 1.4rem);
  line-height: 1.5714285714;
}

.sustainability__slogan-item:nth-child(1), .sustainability__slogan-item:nth-child(3) {
  translate: 0 7rem;
}

.sustainability__concept {
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
  margin-top: min(10.980966325vw, 15rem);
  margin-bottom: min(10.980966325vw, 15rem);
}

.sustainability__concept h2 {
  text-align: center;
}

.sustainability__concept-imgBox {
  width: 100%;
  max-width: 76.6rem;
  aspect-ratio: 766/448;
  margin: 0 auto;
  position: relative;
}

.sustainability__concept-imgBox img {
  display: block;
  width: 139.1644908616%;
  height: 166.9642857143%;
  max-width: none;
  -o-object-fit: contain;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.sustainability__csr-head,
.sustainability__sdgs-head {
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 3.2rem;
}

.sustainability__csr-head-bg,
.sustainability__sdgs-head-bg {
  padding: min(7.3206442167vw, 10rem) 0 1rem;
  aspect-ratio: 1302/500;
  border-radius: 1.2rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
}

.sustainability__csr-head .page__grid,
.sustainability__sdgs-head .page__grid {
  --col-short: 65.625%;
  --col-gap: 1rem;
}

.sustainability__csr-head .heading2,
.sustainability__sdgs-head .heading2 {
  margin-bottom: 0;
}

.sustainability__csr-head-bg {
  background: url(../img/sustainability/csr-bg.webp) no-repeat center/cover;
}

.sustainability__csr-scope h3 {
  margin-bottom: 1.7777777778em;
  font-weight: bold;
  font-size: inherit;
}

.sustainability__csr-policy {
  margin-top: min(13.28125vw, 13.6rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: min(1.5625vw, 1.6rem);
}

.sustainability__csr-item {
  grid-row: span 3;
  padding: 6.4516129032% 6.4516129032% 3.2258064516%;
  background-color: #F7F7F7;
  border-radius: 0.8rem;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
  gap: 0;
}

.sustainability__csr-item-title {
  margin-bottom: 1em;
  padding-bottom: 0.7272727273em;
}

.sustainability__csr-item-body {
  padding: 0 0 2em;
  line-height: 2;
}

.sustainability__csr-item-link {
  padding-top: 1em;
  text-align: right;
  font-weight: 500;
  position: relative;
}

.sustainability__csr-item-link::before {
  content: "";
  width: 100%;
  height: 0;
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #fff;
  position: absolute;
  top: -1px;
  left: 0;
}

.sustainability__csr-item-link a {
  --tri-color: #4CB54E;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.4rem;
  column-gap: 0.4rem;
  text-align: left;
}

.sustainability__csr-item-link a .link-arrow::after {
  width: 1.2rem;
}

.sustainability__csr-item-link .small {
  font-size: 1.3rem;
}

.sustainability__sdgs {
  margin-top: min(10.541727672vw, 14.4rem);
  margin-bottom: min(10.541727672vw, 14.4rem);
}

.sustainability__sdgs-head-bg {
  background: url(../img/sustainability/sdgs-bg.webp) no-repeat center/cover;
}

.sustainability__sdgs-group {
  margin-top: min(9.9560761347vw, 13.6rem);
  margin-bottom: min(9.9560761347vw, 13.6rem);
}

.sustainability__sdgs-group-title {
  padding-left: 1.3214285714em;
  font-size: clamp(1.4rem, 2.734375vw, 2.8rem);
  font-weight: 500;
  line-height: 1.3928571429;
  color: #0A1A73;
  position: relative;
}

.sustainability__sdgs-group-title::before, .sustainability__sdgs-group-title::after {
  content: "";
  width: 0.75em;
  height: 0.7rem;
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
}

.sustainability__sdgs-group-title::before {
  background: #0075BA;
  z-index: 2;
  rotate: 90deg;
}

.sustainability__sdgs-group-title::after {
  background: #54B431;
  z-index: 1;
}

.sustainability__sdgs-list {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 2.1333333333em;
}

.sustainability__sdgs-list li {
  padding-bottom: 2.1333333333em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.sustainability__sdgs-list .heading3 {
  margin-bottom: 0.9090909091em;
  font-weight: 500;
}

.sustainability__sdgs-contents {
  margin-top: 2.1333333333em;
}

.sustainability__sdgs-boxGrid {
  margin-top: 2.1333333333em;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.1333333333em;
}

.sustainability__sdgs-boxGrid2 {
  margin-top: 2.6666666667em;
  display: grid;
  grid-template-columns: 100%;
  gap: 1.6em 0;
}

.sustainability__sdgs-bgBox {
  padding: 5.7971014493% 4.8309178744%;
  background: #F7F7F7;
  border-radius: 1.2rem;
}

.sustainability__sdgs-bgBox + .sustainability__sdgs-bgBox {
  margin-top: 1em;
}

.sustainability__sdgs-bgBox-separate {
  margin-top: 3.2em;
}

.sustainability__sdgs-bgBox .heading3 {
  margin-bottom: 1.0909090909em;
}

.sustainability__sdgs-bgBox h5 {
  margin-bottom: 0.5em;
  padding-bottom: 1em;
  font-size: inherit;
  line-height: inherit;
  font-weight: bold;
  position: relative;
}

.sustainability__sdgs-bgBox h5::before {
  content: "";
  width: 100%;
  height: 0;
  border-top: 1px solid #E3E3E3;
  border-bottom: 1px solid #fff;
  position: absolute;
  bottom: 1px;
  left: 0;
}

.sustainability__sdgs-box {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
}

.sustainability__sdgs-box img {
  width: 100%;
  aspect-ratio: 358/225;
  border-radius: 0.8rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.sustainability__sdgs-box a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.sustainability__sdgs-box-link {
  margin-top: 1.2rem;
  line-height: 1.5;
}

.sustainability__sdgs-box-link .small {
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
}

.sustainability__sdgs-box2 {
  display: grid;
  grid-template-columns: 22.8rem 1fr;
  align-items: center;
  -moz-column-gap: 2.1333333333em;
  column-gap: 2.1333333333em;
}

.sustainability__sdgs-box2 img {
  width: 100%;
  aspect-ratio: 228/143;
  border-radius: 0.8rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.sustainability__sdgs-box2-link {
  margin-bottom: 1.2rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.3888888889;
  display: flex;
  align-items: center;
}

.sustainability__sdgs-box2-link .link-arrow {
  flex-shrink: 0;
}

.sustainability__sdgs-training {
  margin-top: 0;
}

.sustainability__sdgs-training img {
  width: 100%;
  aspect-ratio: 358/225;
  border-radius: 0.8rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.sustainability__sdgs-training-txt {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sustainability__sdgs-training-link {
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sustainability__sdgs-link {
  font-size: clamp(1.4rem, 2.1484375vw, 2.2rem);
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.environment__details-box {
  --col-gap: 9.5703125%;
  --col-short: 40.625%;
}

.environment__details-box img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 1.2rem;
}

.environment__details-box .note {
  margin-top: 1.3em;
  font-size: 1.2rem;
  line-height: 1.5;
}

.environment__information {
  padding: 2em 1rem;
  background: #F3F3F5;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 1.2rem;
  font-weight: 500;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.environment__information a {
  color: #4CB54E;
  text-decoration: underline;
}

.environment__relation {
  max-width: 1366px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 6.4rem;
  position: relative;
  z-index: 1;
}

.environment__relation::before {
  content: "";
  width: 95.3147877013%;
  aspect-ratio: 1302/256;
  margin: 0 auto;
  background-image: linear-gradient(90deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  border-radius: 1.2rem;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  opacity: 0.3;
}

.environment__relation .inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: flex-start;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.environment__relation-posts {
  --gap: 3.125%;
}

.environment__relation-posts .pickup__item {
  width: 100%;
}

.environment__relation-register {
  padding: 0.6666666667em 1.3333333333em;
  background: #5A5A5A;
  border-radius: 10em;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
}

.environment__relation-register a {
  color: #4CB54E;
  text-decoration: underline;
}

.social__introduction-box {
  --col-gap: 3.125%;
  --col-short: 50%;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.social__details-title {
  margin-bottom: 2.1333333333em;
}

.social__details-title .en {
  font-size: 1.1666666667em;
  line-height: 1.2;
}

.social__details-title + .social__details-box {
  margin-top: 0;
}

.social__details-youtube {
  max-width: 32rem;
  margin: 3.2em auto 0;
}

.social__details-youtube iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 320/180;
}

.social__details-youtube figcaption {
  margin-top: 1em;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 500;
}

.social__details-link {
  width: 100%;
  min-height: 6.2222222222em;
  padding: 1em 1.4444444444em;
  padding-right: 4.7777777778em;
  background: #F3F3F5;
  border-radius: 1.6rem;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 1.4444444444em;
  column-gap: 1.4444444444em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  position: relative;
}

.social__details-link:not(:first-child) {
  margin-top: 2.6666666667em;
}

.social__details-link .link-arrow {
  position: absolute;
  top: 50%;
  right: 2.2222222222em;
  translate: 0 -50%;
}

.social__details-link .link-arrow::before {
  width: 100%;
}

.social__details-link .logo {
  width: 3.3333333333em;
  aspect-ratio: 60/55;
  -o-object-fit: contain;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.social__details-link .small {
  font-size: 1.3rem;
  font-weight: 500;
}

.social__details-more {
  margin-top: 0.6153846154em;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 1.3rem;
}

.social__details-box {
  padding: 0 3.2em;
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.social__details-box-description {
  margin-bottom: 1.7777777778em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  position: relative;
}

.social__details-box-description::before {
  content: "";
  width: 1.7777777778em;
  height: 2px;
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
  border-radius: 10em;
  position: absolute;
  top: 0.5lh;
  left: -2.6666666667em;
  translate: 0 -50%;
}

.social__details-box-img img {
  display: block;
  width: 100%;
  aspect-ratio: 432/243;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 0.8rem;
}

.social__details-box-img img + img {
  margin-top: 1.6em;
}

.social__details-box .page__grid {
  --col-gap: 6.8965517241%;
  row-gap: 3.2em;
  margin-top: min(4.6852122987vw, 6.4rem);
  margin-bottom: min(4.6852122987vw, 6.4rem);
}

.social__details-box .page__grid h3 {
  margin-bottom: 0.6666666667em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: 500;
  line-height: 1.3888888889;
}

.social__details-box .page__grid .caption {
  margin-top: 1.5em;
}

.social__report {
  max-width: 1366px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 3.2rem;
  padding-right: 3.2rem;
  background: #F7F7F7;
  border-radius: 1.6rem;
  position: relative;
  z-index: 1;
  padding-top: min(4.6852122987vw, 6.4rem);
  padding-bottom: min(4.6852122987vw, 6.4rem);
}

.social__report-title {
  margin-bottom: 0.9142857143em;
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  font-weight: bold;
  line-height: 1.4;
}

.social__report-link {
  --tri-color: #4CB54E;
  width: 100%;
  padding: 1.3333333333em 2.1333333333em;
  padding-right: 4.6666666667em;
  background: #fff;
  border-radius: 10em;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
  display: inline-flex;
  align-items: baseline;
  font-weight: 500;
  position: relative;
}

.social__report-link .link-arrow {
  position: absolute;
  top: 50%;
  right: 2.1333333333em;
  translate: 0 -50%;
}

.social__report-link .small {
  font-size: 1.2rem;
}

.social__report .social__details-box {
  margin: 0;
}

.social__report .social__details-box .page__grid {
  margin-bottom: 0;
  row-gap: 1.6em;
}

.form {
  font-weight: 500;
  line-height: 1.6666666667;
}

.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form textarea,
.form select {
  display: block;
  width: 100%;
  padding: 1.1333333333em 1.6em;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.4rem;
  font-size: inherit;
  line-height: 1.4;
  font-weight: 500;
  color: #000;
}

.form input[type=text]::-moz-placeholder,
.form input[type=email]::-moz-placeholder,
.form input[type=tel]::-moz-placeholder,
.form textarea::-moz-placeholder,
.form select::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.form input[type=text]::-moz-placeholder, .form input[type=email]::-moz-placeholder, .form input[type=tel]::-moz-placeholder, .form textarea::-moz-placeholder, .form select::-moz-placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.form input[type=text]::placeholder,
.form input[type=email]::placeholder,
.form input[type=tel]::placeholder,
.form textarea::placeholder,
.form select::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.form input[type=text] + .error,
.form input[type=email] + .error,
.form input[type=tel] + .error,
.form textarea + .error,
.form select + .error {
  margin-top: 0.8571428571em;
}

.form textarea {
  min-height: 14.9333333333em;
}

.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form select:has(option[value=""]:checked) {
  color: rgba(0, 0, 0, 0.5);
}

.form .required {
  display: inline-block;
  padding: 0.3rem;
  border: 1px solid currentColor;
  border-radius: 0.3rem;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  color: #FF6800;
  line-height: 1;
  white-space: nowrap;
}

.form__group {
  padding-left: 2.1333333333em;
  padding-right: 2.1333333333em;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 3.2em;
}

.form__item {
  display: grid;
  grid-template-columns: 28.3333333333% 1fr;
  align-items: flex-start;
  -moz-column-gap: 1.6666666667%;
  column-gap: 1.6666666667%;
}

.form__item-title {
  min-height: calc(clamp(1.4rem, 1.46484375vw, 1.5rem) * 3.667);
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 1.3888888889;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -moz-column-gap: 0.6666666667em;
  column-gap: 0.6666666667em;
}

.form__item-title--init-height {
  min-height: auto;
}

.form__item-title--filter {
  max-width: 19.2rem;
}

.form__item-input:has(.mwform-radio-field) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8em 1.6em;
}

.form__item-input:has(.mwform-radio-field) .error {
  grid-column: 1/-1;
}

.form__item-input:has(.mwform-checkbox-field) .error {
  grid-column: 1/-1;
}

.form__item-input .other-input {
  grid-column: 1/-1;
  display: flex;
  align-items: center;
  gap: inherit;
  flex-wrap: wrap;
}

.form__item-input .other-input .mwform-checkbox-field {
  white-space: nowrap;
}

.form__item-input .other-input input[type=text] {
  width: 50%;
  flex-grow: 1;
}

.form__item-input .other-input .error {
  order: 99;
  width: 100%;
}

.form__item-input--w145 {
  width: 9.6666666667em;
}

.form__item-input--w288 {
  width: 19.2em;
}

.form__item-input--temp {
  flex-wrap: nowrap;
}

.form__item-input--temp input[type=text] {
  width: 19.2em;
}

.form__item-input--temp .unit-radio {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: inherit;
}

.form__item-input--temp:has(.error) input[type=text] + .error {
  width: 100%;
  margin-top: 0;
}

.form__item-label {
  font-weight: 500;
}

.form__item--wfit {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 0.8em;
  column-gap: 0.8em;
}

.form__item--wfit .form__item-label {
  white-space: nowrap;
}

.form__item--wfit:has(.error) {
  padding-bottom: 2lh;
  position: relative;
}

.form__item--wfit:has(.error) .error {
  white-space: normal;
  white-space: initial;
  position: absolute;
  bottom: 0;
  left: 0;
}

.form__item--wfit:has(.error):has(.form__item-input--w145) {
  width: auto;
  padding-bottom: 1lh;
}

.form__fieldset {
  display: grid;
  grid-template-columns: 100%;
  row-gap: 1.6em;
}

.form__address .form__item {
  grid-template-columns: 4.8em 1fr;
  -moz-column-gap: 2.380952381%;
  column-gap: 2.380952381%;
  align-items: center;
}

.form__address .input-zip {
  max-width: 29.6rem;
}

.form__buying .form__item {
  grid-template-columns: 100%;
  row-gap: 0.8em;
}

.form__buying .error {
  width: 100%;
}

.form__fluid .form__item {
  grid-template-columns: 100%;
  row-gap: inherit;
}

.form__fluid .form__item-input:has(.mwform-checkbox-field) {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 1.6em;
  align-items: center;
}

.form__col2set {
  max-width: 60.8rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: flex-start;
}

.form__col2set .form__item {
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1.0666666667em;
}

.form__col2set .form__item-input {
  width: 12.8em;
  white-space: nowrap;
}

.form__col2set .form__item-label {
  white-space: nowrap;
}

.form__col2set .form__item:has(.error) {
  padding-bottom: 2lh;
  position: relative;
}

.form__col2set .form__item:has(.error) .error {
  white-space: normal;
  white-space: initial;
  position: absolute;
  bottom: 0;
  left: 0;
}

.form__filtration {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8em 1.0666666667em;
}

.form__filtration .form__item:has(.error) {
  padding-bottom: 2lh;
}

.form__currentFilter .form__item:has([name=filter-current-problem]) {
  grid-template-columns: 100%;
  row-gap: 0.8em;
}

.form__length {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8em 1.6em;
}

.form__material .form__item-input {
  align-items: center;
}

.form__material .form__item-input > span:first-of-type {
  order: -1;
}

.form__use .form__item-input:has(.mwform-checkbox-field) {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 1.6em;
  align-items: center;
}

.form__ozone .form__fieldset {
  grid-template-columns: auto auto 1fr;
  -moz-column-gap: 0.8em;
  column-gap: 0.8em;
}

.form__ozone .form__item-input:has(.mwform-checkbox-field) {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  gap: 1.6em;
  align-items: center;
}

.form__ozone .form__item-input--temp {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: subgrid;
  gap: 1.6em 0.8em;
  align-items: center;
}

.form .mwform-checkbox-field,
.form .mwform-radio-field {
  --input-size: 1.6666666667em;
  margin-left: 0 !important;
}

.form .mwform-checkbox-field label,
.form .mwform-radio-field label {
  font-weight: inherit;
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
}

.form .mwform-checkbox-field label::before,
.form .mwform-radio-field label::before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: var(--input-size);
  height: var(--input-size);
  margin: 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.4rem;
}

.form .mwform-checkbox-field input,
.form .mwform-radio-field input {
  width: var(--input-size);
  height: var(--input-size);
  margin: 0;
  display: none;
}

.form .mwform-checkbox-field:has(input:checked) label::before,
.form .mwform-radio-field:has(input:checked) label::before {
  content: none;
}

.form .mwform-checkbox-field:has(input:checked) input,
.form .mwform-radio-field:has(input:checked) input {
  display: block;
}

.form .mwform-radio-field label::before {
  border-radius: 50%;
}

.form .select-wrap {
  max-width: 41.6rem;
  position: relative;
}

.form .select-wrap select {
  padding-right: 2.9333333333em;
}

.form .select-wrap .link-arrow {
  margin: 0;
  position: absolute;
  top: calc(1.1333333333em + 0.5lh);
  right: 0.8em;
  translate: 0 -50%;
  rotate: 90deg;
  pointer-events: none;
}

.form .select-wrap:has(.error) {
  padding-bottom: 1lh;
}

.form .select-wrap:has(.error) .error {
  white-space: normal;
  white-space: initial;
  position: absolute;
  bottom: 0;
  left: 0;
}

.form__agreement {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 1.1666666667;
  font-weight: 500;
  margin-top: min(7.027818448vw, 9.6rem);
}

.form__agreement .mwform-checkbox-field {
  --input-size: 1.3888888889em;
}

.form__agreement a {
  color: #FFA600;
  text-decoration: underline;
}

.form__agreement:has(.error) {
  flex-wrap: wrap;
}

.form__agreement:has(.error) .error {
  display: block;
  width: 100%;
  margin-top: 0.8571428571em;
  text-align: center;
}

.form__btns {
  max-width: 48rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: min(3.513909224vw, 4.8rem);
}

.form__btns .btn {
  width: 100%;
  min-width: auto;
  justify-content: center;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
}

.form__option {
  background: #F7F7F7;
  border-radius: 1.6rem;
  overflow: hidden;
}

.form__option + .form__option {
  margin-top: 3.2rem;
}

.form__option-title {
  padding: 1.7em 1.7em;
  padding-right: 2.93em;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  align-items: center;
  position: relative;
}

.form__option-title::before {
  content: "";
  width: 2px;
  height: 1.6em;
  background: #FF5800;
  position: absolute;
  top: 1.75em;
  left: 0;
}

.form__option-title .toggle {
  width: 1.3333333333em;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 1.6em;
  translate: 0 -50%;
}

.form__option-title .toggle::before, .form__option-title .toggle::after {
  content: "";
  width: 100%;
  height: 2px;
  background: #FFA600;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}

.form__option-title .toggle::after {
  rotate: 90deg;
}

.form__option-body {
  display: none;
  padding: 3.2em 2.1333333333em 4.2666666667em;
}

.form__option-hidden {
  display: none;
}

.form__option:has(.details-open:checked) .toggle::after {
  rotate: 0deg;
}

.form__option:has(.details-open:checked) .form__option-body {
  display: block;
}

.form .mw_wp_form_confirm .form__item-title {
  min-height: auto;
}

.form .mw_wp_form_confirm .form__item-input--w145 {
  width: -moz-fit-content;
  width: fit-content;
}

.form .mw_wp_form_confirm .select-wrap .link-arrow, .form .mw_wp_form_confirm .form__agreement {
  display: none;
}

.form .mw_wp_form_confirm .unit-radio {
  display: inline-flex;
}

.form .mw_wp_form_confirm .form__option, .form .mw_wp_form_confirm .form__option-title .toggle {
  display: none;
}

.form .mw_wp_form_confirm .form__option:has(input[name="option-group1[data]"]), .form .mw_wp_form_confirm .form__option:has(input[name="option-group2[data]"]), .form .mw_wp_form_confirm .form__option:has(input[name="option-group3[data]"]) {
  display: block;
}

.form .mw_wp_form_confirm .form__option:has(input[name="option-group1[data]"]) .form__option-body, .form .mw_wp_form_confirm .form__option:has(input[name="option-group2[data]"]) .form__option-body, .form .mw_wp_form_confirm .form__option:has(input[name="option-group3[data]"]) .form__option-body {
  display: block;
}

.form .mw_wp_form_confirm .form__col2set {
  width: -moz-fit-content;
  width: fit-content;
  -moz-column-gap: 1.0666666667em;
  column-gap: 1.0666666667em;
}

.form .mw_wp_form_confirm .form__col2set .form__item-input {
  width: -moz-fit-content;
  width: fit-content;
}

.thanks__title {
  margin-bottom: 1.6em;
  font-size: clamp(1.4rem, 3.90625vw, 4rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.thanks .center {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.thanks__contact {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
  margin-top: min(7.027818448vw, 9.6rem);
}

.thanks__contact h3 {
  color: #000;
}

.thanks__contact .email {
  padding: 4.8rem 0.5rem;
  background: #F7F7F7;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  font-weight: 500;
  line-height: 1.4;
  position: relative;
}

.thanks__contact .email .label {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 2.4rem;
  background: #5A5A5A;
  border-radius: 0.4rem;
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
  color: #fff;
  font-weight: bold;
  line-height: 1.6;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  translate: 0 -50%;
}

.thanks .btn {
  width: 100%;
  max-width: 38.4rem;
  min-width: auto;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
}

.grecaptcha-badge {
  z-index: 99;
}

.contact__menu {
  --col-gap: 7.1428571429%;
  max-width: 89.6rem;
  margin: 0 auto;
}

.contact__link {
  display: block;
  border-radius: 1.6rem;
  overflow: hidden;
}

.contact__link-img {
  aspect-ratio: 416/234;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.contact__link-name {
  height: 4.4em;
  padding: 1rem 1.6em;
  background: #F3F3F5;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  line-height: 1.2;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contact__link-name .link-arrow {
  flex-shrink: 0;
}

.contact__nav {
  position: relative;
  z-index: 0;
  padding-top: min(7.027818448vw, 9.6rem);
  padding-bottom: min(7.027818448vw, 9.6rem);
}

.contact__nav::before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: linear-gradient(135deg, #ffa600 0%, #ffa600 28.88%, #ff6800 67.68%, #ff3301 100%);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0.15;
}

.contact__nav-title {
  padding-left: 1.8rem;
  font-size: clamp(1.4rem, 4.98046875vw, 5.1rem);
  display: flex;
  align-items: baseline;
  -moz-column-gap: 1.7rem;
  column-gap: 1.7rem;
  flex-wrap: wrap;
}

.contact__nav-title .heading1__after {
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
}

.contact__nav-grid {
  --col-gap: 3.125%;
  --col-sp-gap: 6.4vw;
}

.contact__nav-link {
  height: 4.5em;
  padding: 1rem 1.6em;
  background: #fff;
  border-radius: 0.8rem;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  line-height: 1.2;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.contact__nav-link .link-arrow {
  flex-shrink: 0;
}

.contact__nav-link.current {
  background: rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.contact__nav-link.current .link-arrow {
  display: none;
}

.contact-product__nav {
  margin-top: min(9.3704245974vw, 12.8rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
}

.contact-product__nav-message {
  text-align: center;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.contact-product__nav-list {
  max-width: 67.2rem;
  margin: 6.4rem auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.2rem;
}

.contact-product__nav-item {
  padding: 1.2em 1rem;
  background: #F7F7F7;
  border-radius: 1.6rem;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1em;
  position: relative;
}

.contact-product__nav-item::after {
  content: "";
  display: block;
  width: 1.6rem;
  aspect-ratio: 1/1;
  background: #4CB54E;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.contact-product__nav-item img {
  width: 1.4em;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
}

.contact-product__section-title {
  margin-bottom: 2.56em;
  padding-bottom: 0.64em;
  line-height: 1.36;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.64em;
  column-gap: 0.64em;
}

.contact-product__section-title img {
  width: 1.28em;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
  object-fit: contain;
}

.contact-product__tel-contact {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto auto;
  font-size: clamp(1.4rem, 1.5625vw, 1.6rem);
  font-weight: 500;
}

.contact-product__tel-contact .number {
  align-self: baseline;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 5.859375vw, 6rem);
  line-height: 1.2;
}

.contact-product__tel-contact .to {
  align-self: baseline;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: bold;
}

.contact-product__tel-contact .time {
  margin-top: 1em;
  color: #FF5800;
  text-align: center;
  line-height: 1.4375;
}

.contact-product__options {
  margin-top: min(4.6852122987vw, 6.4rem);
  margin-bottom: min(4.6852122987vw, 6.4rem);
}

.contact-other__message {
  text-align: center;
}

.contact-other__message p:has(.txt--orange2) {
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
}

.contact-other__message .note {
  margin-top: 0.5em;
}

.help-counter__section {
  font-weight: 500;
  margin-top: min(7.027818448vw, 9.6rem);
  margin-bottom: min(7.027818448vw, 9.6rem);
}

.help-counter__section .heading3 {
  margin-top: 2.0909090909em;
}

.help-counter__heading {
  padding-bottom: 0;
}

.help-counter__heading::after {
  height: 2px;
}

.help-counter__heading-num {
  margin-right: 1.6rem;
  font-size: 2em;
}

.help-counter__detail02-list {
  border-top: 2px dotted #D1D1D1;
  display: grid;
  grid-template-columns: 42.08984375% 1fr;
  line-height: 1.8;
}

.help-counter__detail02-list .num {
  flex-shrink: 0;
  display: inline-block;
  width: 2.1333333333em;
  color: #FFA600;
}

.help-counter__detail02-list dt, .help-counter__detail02-list dd {
  padding-top: 2.1333333333em;
  padding-bottom: 2.1333333333em;
  border-bottom: 2px dotted #D1D1D1;
}

.help-counter__detail02-list dt {
  font-weight: bold;
  display: flex;
  align-items: baseline;
}

.help-counter__detail02-list dd {
  padding-left: 0.8rem;
}

.help-counter__detail04 .list {
  line-height: 2;
  display: grid;
  grid-template-columns: 100%;
  row-gap: 1.1333333333em;
}

.help-counter__detail05-list {
  max-width: 96.6rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 9.6rem 1fr;
  gap: 1em 1.6em;
  align-items: flex-start;
}

.help-counter__detail05-list dt {
  padding: 0.8rem 0.5384615385em;
  background: #F7F7F7;
  border-radius: 0.4rem;
  text-align: center;
  font-size: 0.8666666667em;
  font-weight: bold;
}

.help-counter__detail05-list dd {
  padding-top: 0.25rem;
  font-weight: normal;
  line-height: 2;
}

.post-type-archive-rokitimes,
.tax-rokitimes-category,
.single-rokitimes {
  background: linear-gradient(45deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 30.21%, rgba(64, 166, 41, 0.3) 67.68%, rgba(244, 67, 151, 0.3) 100%) no-repeat center top/100% 296rem;
}

.rokitimes__archiveTop :where(.inner) {
  max-width: 118.6rem;
}

.rokitimes__archive :where(.inner) {
  max-width: 118.6rem;
}

.rokitimes__archive-title {
  margin-bottom: 0.44em;
  border-bottom: 2px solid currentColor;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 4.8828125vw, 5rem);
  color: #D973A5;
  line-height: 1.2;
}

.rokitimes__list {
  --col-gap: 4.3333333333em;
  --row-gap: 3.2em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--row-gap) var(--col-gap);
  overflow-x: clip;
  overflow-y: visible;
  overflow-y: initial;
}

.rokitimes__list li {
  padding: 0 0 var(--row-gap);
  position: relative;
}

.rokitimes__list li:first-child {
  display: none;
}

.rokitimes__list li::before {
  content: "";
  width: calc(100% + var(--col-gap));
  height: 0;
  border-bottom: 1px solid #D973A5;
  background: #D973A5;
  position: absolute;
  bottom: 0;
  right: 50%;
  translate: 50% 0;
}

.rokitimes__list li::after {
  content: "";
  width: 1px;
  height: calc(100% - var(--row-gap));
  background: #D973A5;
  position: absolute;
  top: 0;
  left: calc(100% + (var(--col-gap) - 1px) / 2);
}

.rokitimes__list li:nth-child(3n+1)::after {
  content: none;
}

.rokitimes__item-body {
  display: block;
}

.rokitimes__item-date {
  display: block;
  margin-bottom: 1.2rem;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 1.953125vw, 2rem);
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
}

.rokitimes__item-thumb {
  margin-bottom: 4.4rem;
}

.rokitimes__item-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 352/220;
  border-radius: 1.2rem;
  -o-object-fit: cover;
  object-fit: cover;
  box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.2);
}

.rokitimes__item-category {
  margin-bottom: 1.6rem;
}

.rokitimes__item-title {
  margin-bottom: 1.6rem;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  font-weight: bold;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 行数 */
}

.rokitimes__item-excerpt {
  font-size: clamp(1.2rem, 1.26953125vw, 1.3rem);
  line-height: 1.6153846154;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 行数 */
}

.rokitimes__item-btn {
  --btn-color: #fff;
  --btn-color-txt: #D973A5;
  margin-top: 3.2rem;
  width: 100%;
  padding: 0.7333333333em 1.8666666667em;
  background: var(--btn-color);
  border: 1px solid #D973A5;
  color: var(--btn-color-txt);
  font-weight: bold;
  line-height: 1.4;
  border-radius: 10em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.rokitimes__item-btn::before {
  content: "";
  display: block;
  width: 3.4666666667em;
  aspect-ratio: 52/32;
  background: url(../img/common/icon-eyes-left.svg) no-repeat center/100% auto;
}

.rokitimes__item-btn span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8em;
  position: relative;
}

.rokitimes__item-btn span::before {
  content: "";
  width: 1rem;
  aspect-ratio: 1/1;
  background: var(--btn-color-txt);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.rokitimes__item--first .sp-link {
  display: contents;
}

.rokitimes__item--first .rokitimes__item-body {
  display: grid;
  grid-template-columns: 63.4064080944% 1fr;
  grid-template-rows: 1fr repeat(3, auto) 1fr;
  gap: 0 6.7453625632%;
}

.rokitimes__item--first .rokitimes__item-date {
  align-self: flex-end;
  margin-bottom: 1.2em;
}

.rokitimes__item--first .rokitimes__item-thumb {
  grid-column: 1;
  grid-row: 1/-1;
  align-self: center;
  margin-bottom: 0;
}

.rokitimes__item--first .rokitimes__item-category {
  margin-bottom: clamp(1.4rem, 3.125vw, 3.2rem);
}

.rokitimes__item--first .rokitimes__item-title {
  margin-bottom: 0.8em;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  line-height: 1.4;
}

.rokitimes__item--first .rokitimes__item-excerpt {
  font-size: clamp(1.4rem, 1.46484375vw, 1.5rem);
}

.rokitimes__fv {
  max-width: 1366px;
  margin-left: auto;
  margin-right: auto;
  padding: 3.2rem;
  margin-top: min(4.0263543192vw, 5.5rem);
}

.rokitimes__fv .inner {
  background: #fff;
  border-radius: 1.6rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  overflow: hidden;
}

.rokitimes__fv-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 651/524;
  -o-object-fit: cover;
  object-fit: cover;
}

.rokitimes__fv-description {
  justify-self: center;
  max-width: calc(44.8rem + 2em);
  padding: 1em;
}

.rokitimes__fv-date {
  display: block;
  margin-bottom: 1em;
  font-weight: 500;
  line-height: 1.4;
}

.rokitimes__fv-category {
  margin-bottom: 2em;
}

.rokitimes__fv-title {
  font-size: clamp(1.4rem, 3.90625vw, 4rem);
  font-weight: bold;
  line-height: 1.4;
}

.rokitimes__fv-excerpt {
  margin-top: 1.5em;
  font-size: clamp(1.4rem, 1.7578125vw, 1.8rem);
  line-height: 2;
}

.rokitimes__content h2 {
  margin-bottom: 1.2em;
  padding-left: 1.2em;
  margin-bottom: 1.3333333333em;
  font-size: clamp(1.4rem, 2.9296875vw, 3rem);
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}

.rokitimes__content h2::before {
  content: "";
  width: 0.8em;
  aspect-ratio: 1/1;
  background: url(../img/common/deco-title-block.svg) no-repeat center/100% auto;
  position: absolute;
  top: 0.3em;
  left: 0;
}

.rokitimes__content h3, .rokitimes__content h4 {
  font-weight: 500;
}

.rokitimes__content a {
  color: #D973A5;
}

.rokitimes__content ul li::marker {
  color: #D973A5;
}

.rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes {
  margin-top: min(4.6852122987vw, 6.4rem);
  margin-bottom: min(9.3704245974vw, 12.8rem);
  -moz-column-gap: 6.25%;
  column-gap: 6.25%;
  line-height: 2;
}

.rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes .contents-col2__txt {
  padding-left: 6.25%;
  position: relative;
}

.rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes .contents-col2__txt::before {
  content: "";
  width: 6.25%;
  height: 2px;
  background-image: linear-gradient(-90deg, #57b136 0%, #f44397 29.56%, #ff6800 65.97%, #ffa600 100%);
  border-radius: 10em;
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
}

.rokitechno-en .header__logo {
  width: min(21.9619326501vw, 30rem);
  max-width: 30rem;
}

.rokitechno-en .header__product {
  font-size: clamp(1.4rem, 3.41796875vw, 3.5rem);
  line-height: 1.1714285714;
}

.rokitechno-en .header__product span {
  font-size: clamp(1rem, 1.26953125vw, 1.3rem);
  line-height: 1.6153846154;
}

.rokitechno-en .footer__nav .nav-sns {
  margin-top: min(6.8359375vw, 7rem);
}

.rokitechno-en .top__mainv-main {
  font-size: min(5.376344086vw, 7rem);
  line-height: 1;
  display: block;
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-style: normal;
}

.rokitechno-en .top__mainv-main .txt-slideUp {
  --before-color: #5A5A5A;
  --after-color: #fff;
}

.rokitechno-en .top__mainv-sub {
  padding: 0;
  /* デバイスが縦向きの場合 */
}

.rokitechno-en .top__mainv-txt {
  font-size: min(1.5360983103vw, 2rem);
}

.rokitechno-en .top__100year-title {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 4.8828125vw, 5rem);
  line-height: 0.92;
}

.rokitechno-en .top__100year-title-end {
  align-items: flex-end;
}

.rokitechno-en .top__100year-title-end .link-more, .rokitechno-en .business__introduction h2 .bg {
  margin-left: 0;
}

.rokitechno-en .business__fields-card:nth-child(1) .business__fields-card-products {
  padding-right: 0.6666666667em;
}

.rokitechno-en .challenge .page__header-title {
  font-family: "Barlow", sans-serif;
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.4rem, 6.34765625vw, 6.5rem);
  line-height: 1.0769230769;
}

.rokitechno-en .challenge__introduction p {
  max-width: 64.6rem;
  margin-left: auto;
  margin-right: auto;
}

.rokitechno-en .challenge__message p {
  margin-top: 0;
}

.rokitechno-en .challenge__message .large3 {
  line-height: 1.5789473684;
}

.rokitechno-en .locations__base-txt {
  line-height: 1.5;
}

.rokitechno-en .logo-character__character-profile-list {
  grid-auto-rows: initial;
  grid-template-rows: auto auto 1fr;
}

.rokitechno-en .logo-character__character-profile-item:nth-child(3) {
  padding-bottom: 1em;
}

.rokitechno-en .logo-character__character-profile-item .heading2 {
  width: 105%;
}

.rokitechno-en .logo-character__character-profile-item p {
  min-height: calc(2lh + 1.2222222222em);
  display: flex;
  align-items: center;
  justify-content: center;
}

.rokitechno-en .sustainability__slogan-item p:not([class]) {
  max-width: 73.1629392971%;
}

.rokitechno-en .sustainability__slogan-item-label {
  padding-left: 2.5em;
  padding-right: 2.5em;
}

.rokitechno-en .sustainability__csr-head-bg {
  padding-top: min(1.756954612vw, 2.4rem);
}

.rokitechno-en .single__pagination-link .typelabel {
  display: contents;
}

.rokitechno-en .form__item-title {
  padding-top: calc(clamp(1.4rem, 1.46484375vw, 1.5rem) * 1.0666666667);
  align-items: baseline;
}

.rokitechno-en .form__item-title--init-height {
  padding-top: 0;
}

@media (min-width: 751px) and (max-width: 1024px) {
  body {
    /* tab */
  }
  .tab {
    display: block;
  }
  .pc {
    display: block;
  }
  .pc-only {
    display: none;
  }
  .tab-sp {
    display: block;
  }
  .header {
    height: auto;
    overflow-x: clip;
    overflow-y: visible;
  }
  .header__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .header__product {
    width: auto;
    height: auto;
    margin-left: 1.4rem;
  }
  .header__product {
    font-size: clamp(1.4rem, 1.953125vw, 2rem);
  }
  .header__product span {
    font-size: clamp(1rem, 1.26953125vw, 1.3rem);
  }
  .header__mobile {
    display: block;
  }
  .header .nav-btn {
    border-radius: 0.8rem;
    padding: 0.3rem 1.1rem;
    font-size: 1.3rem;
  }
  .header.menu-active::before {
    content: "";
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: -5;
  }
  .header.menu-active .inner {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  .header--rokitimes {
    overflow: visible;
    overflow: initial;
  }
  .header--rokitimes .contents--grid {
    overflow-x: clip;
    overflow-y: visible;
  }
  .header--rokitimes .header__home {
    display: none;
  }
  .header--rokitimes .header__switch[data-menuname=nav-categories]::before {
    content: "";
  }
  .header--rokitimes .header__categories > li.menu-active > a, .header--rokitimes .header__date > li.menu-active > a {
    color: #D973A5;
    opacity: 1;
  }
  .header--rokitimes .header__categories > li.menu-active .children, .header--rokitimes .header__date > li.menu-active .children {
    display: flex;
  }
  .header--rokitimes .header__categories .children li:first-child, .header--rokitimes .header__date .children li:first-child {
    display: block;
  }
  #g-menu {
    width: 22rem;
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    padding-right: 0;
    background: #fff;
    border-right: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    translate: 100% 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    pointer-events: none;
    transition: 0.3s;
  }
  #g-menu.menu-active {
    translate: 0 0;
    pointer-events: initial;
  }
  .g-menu__wrap {
    padding: calc(var(--header-height) + 3.9rem) 3.2rem 2rem;
  }
  .g-menu__nav {
    --row-gap: 3.2rem;
    justify-items: stretch;
    row-gap: var(--row-gap);
    font-size: 1.5rem;
  }
  .g-menu__nav-list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: var(--row-gap);
  }
  .g-menu__nav-list-item--separate {
    padding-left: 0;
    border-left: none;
  }
  .g-menu__nav-list-item--en {
    display: none;
  }
  .g-menu__nav-list--top {
    order: 2;
    padding-top: var(--row-gap);
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  .footer__nav {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .footer--rokitimes .footer__rokitimes {
    padding-right: 0;
  }
  .page__header .inner:has(.page__header-contents) {
    align-items: center;
  }
  .page__header--typeB :where(.page__header-image) {
    aspect-ratio: 1302/448;
  }
  .page__header--typeC :where(.page__header-image) {
    aspect-ratio: 1302/448;
  }
  .top__mainv-txt {
    font-size: 2.6rem;
    /* デバイスが横向きの場合 */
  }
  .top__mainv-main {
    font-size: min(13.3333333333vw, 8rem);
  }
  .top__sustainability-txt {
    row-gap: 4rem;
  }
  .top__recruitment-grid {
    grid-template-columns: 1fr 42.87109375%;
  }
  .top__recruitment-txt .heading1 {
    white-space: normal;
    white-space: initial;
  }
  .challenge__features {
    margin: 0;
    margin-top: 25.6vw;
    padding-bottom: 25.6vw;
    border-radius: 0;
  }
  .challenge__initiative .challenge__grid-img {
    aspect-ratio: 1/1;
  }
  .rokiism__item-body {
    padding: 0 0 1em;
  }
  .business__fields-bgBox {
    --circle-size: calc(min(78.125vw, 80rem) - 4vw);
  }
  .business__fields-card-products {
    padding-left: 0;
    padding-right: 0;
  }
  .business__case-contents-popup-display {
    max-width: calc(100% - 26rem + min(0.9765625vw, 1rem));
  }
  .business__case-contents-details {
    max-width: calc(100% - 26rem);
  }
  .business__case-contents-nav {
    min-width: 26rem;
    padding-right: min(0.9765625vw, 1rem);
  }
  .business__case-contents-nav-box-btns {
    gap: 1rem;
  }
  .business__case-contents-nav-box-btn {
    font-size: clamp(1rem, 1.171875vw, 1.2rem);
  }
  .sales-offices__japan-map .btn,
  .sales-offices__global-map .btn {
    min-width: 11em;
    padding-right: 3em;
    white-space: nowrap;
  }
  .logo-character__logo,
  .logo-character__character {
    --bg-max-width: 100vw;
  }
  .sustainability__csr-item-body {
    padding: 0 0 1em;
  }
  .social__report-link {
    padding-left: 1em;
  }
  .social__report .social__details-box {
    padding: 0;
  }
  .social__report .social__details-box .page__grid {
    -moz-column-gap: 4%;
    column-gap: 4%;
  }
  .form__col2set {
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .rokitimes__list {
    --col-gap: 2em;
  }
  .rokitimes__item-btn {
    padding-left: 1em;
    padding-right: 1em;
  }
  .rokitimes__item--first .rokitimes__item-body {
    grid-template-columns: 50% 1fr;
    grid-template-rows: repeat(4, auto) 1fr;
  }
  .rokitechno-en .header__product {
    font-size: clamp(1.4rem, 2.24609375vw, 2.3rem);
  }
  .rokitechno-en .header__product span {
    font-size: clamp(1rem, 1.26953125vw, 1.3rem);
  }
  .rokitechno-en .top__mainv-main {
    font-size: min(12vw, 6.5rem);
    /* デバイスが横向きの場合 */
  }
  .rokitechno-en .top__mainv-txt {
    font-size: 2rem;
  }
  .rokitechno-en .business__fields-card:nth-child(1) .business__fields-card-products {
    padding-right: 0;
  }
}
@media (max-width: 750px) {
  body {
    /* sp */
    font-size: 4vw;
  }
  section {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .section-margin {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .section-padding {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
  }
  .inner {
    width: 91.4666666667%;
  }
  .inner--spShort {
    width: 82.9333333333%;
  }
  .mT10 {
    margin-top: 1.3333333333vw;
  }
  .mT20 {
    margin-top: 2.6666666667vw;
  }
  .mT30 {
    margin-top: 4vw;
  }
  .mT40 {
    margin-top: 5.3333333333vw;
  }
  .mT50 {
    margin-top: 6.6666666667vw;
  }
  .mT60 {
    margin-top: 8vw;
  }
  .mT70 {
    margin-top: 9.3333333333vw;
  }
  .mT80 {
    margin-top: 10.6666666667vw;
  }
  .mT90 {
    margin-top: 12vw;
  }
  .mT100 {
    margin-top: 13.3333333333vw;
  }
  .mT110 {
    margin-top: 14.6666666667vw;
  }
  .mT120 {
    margin-top: 16vw;
  }
  .mT130 {
    margin-top: 17.3333333333vw;
  }
  .mT140 {
    margin-top: 18.6666666667vw;
  }
  .mT150 {
    margin-top: 20vw;
  }
  .mT160 {
    margin-top: 21.3333333333vw;
  }
  .mT170 {
    margin-top: 22.6666666667vw;
  }
  .mT180 {
    margin-top: 24vw;
  }
  .mT190 {
    margin-top: 25.3333333333vw;
  }
  .mT200 {
    margin-top: 26.6666666667vw;
  }
  .mB10 {
    margin-bottom: 1.3333333333vw;
  }
  .mB20 {
    margin-bottom: 2.6666666667vw;
  }
  .mB30 {
    margin-bottom: 4vw;
  }
  .mB40 {
    margin-bottom: 5.3333333333vw;
  }
  .mB50 {
    margin-bottom: 6.6666666667vw;
  }
  .mB60 {
    margin-bottom: 8vw;
  }
  .mB70 {
    margin-bottom: 9.3333333333vw;
  }
  .mB80 {
    margin-bottom: 10.6666666667vw;
  }
  .mB90 {
    margin-bottom: 12vw;
  }
  .mB100 {
    margin-bottom: 13.3333333333vw;
  }
  .mB110 {
    margin-bottom: 14.6666666667vw;
  }
  .mB120 {
    margin-bottom: 16vw;
  }
  .mB130 {
    margin-bottom: 17.3333333333vw;
  }
  .mB140 {
    margin-bottom: 18.6666666667vw;
  }
  .mB150 {
    margin-bottom: 20vw;
  }
  .mB160 {
    margin-bottom: 21.3333333333vw;
  }
  .mB170 {
    margin-bottom: 22.6666666667vw;
  }
  .mB180 {
    margin-bottom: 24vw;
  }
  .mB190 {
    margin-bottom: 25.3333333333vw;
  }
  .mB200 {
    margin-bottom: 26.6666666667vw;
  }
  .pT10 {
    padding-top: 1.3333333333vw;
  }
  .pT20 {
    padding-top: 2.6666666667vw;
  }
  .pT30 {
    padding-top: 4vw;
  }
  .pT40 {
    padding-top: 5.3333333333vw;
  }
  .pT50 {
    padding-top: 6.6666666667vw;
  }
  .pT60 {
    padding-top: 8vw;
  }
  .pT70 {
    padding-top: 9.3333333333vw;
  }
  .pT80 {
    padding-top: 10.6666666667vw;
  }
  .pT90 {
    padding-top: 12vw;
  }
  .pT100 {
    padding-top: 13.3333333333vw;
  }
  .pT110 {
    padding-top: 14.6666666667vw;
  }
  .pT120 {
    padding-top: 16vw;
  }
  .pT130 {
    padding-top: 17.3333333333vw;
  }
  .pT140 {
    padding-top: 18.6666666667vw;
  }
  .pT150 {
    padding-top: 20vw;
  }
  .pT160 {
    padding-top: 21.3333333333vw;
  }
  .pT170 {
    padding-top: 22.6666666667vw;
  }
  .pT180 {
    padding-top: 24vw;
  }
  .pT190 {
    padding-top: 25.3333333333vw;
  }
  .pT200 {
    padding-top: 26.6666666667vw;
  }
  .pB10 {
    padding-bottom: 1.3333333333vw;
  }
  .pB20 {
    padding-bottom: 2.6666666667vw;
  }
  .pB30 {
    padding-bottom: 4vw;
  }
  .pB40 {
    padding-bottom: 5.3333333333vw;
  }
  .pB50 {
    padding-bottom: 6.6666666667vw;
  }
  .pB60 {
    padding-bottom: 8vw;
  }
  .pB70 {
    padding-bottom: 9.3333333333vw;
  }
  .pB80 {
    padding-bottom: 10.6666666667vw;
  }
  .pB90 {
    padding-bottom: 12vw;
  }
  .pB100 {
    padding-bottom: 13.3333333333vw;
  }
  .pB110 {
    padding-bottom: 14.6666666667vw;
  }
  .pB120 {
    padding-bottom: 16vw;
  }
  .pB130 {
    padding-bottom: 17.3333333333vw;
  }
  .pB140 {
    padding-bottom: 18.6666666667vw;
  }
  .pB150 {
    padding-bottom: 20vw;
  }
  .pB160 {
    padding-bottom: 21.3333333333vw;
  }
  .pB170 {
    padding-bottom: 22.6666666667vw;
  }
  .pB180 {
    padding-bottom: 24vw;
  }
  .pB190 {
    padding-bottom: 25.3333333333vw;
  }
  .pB200 {
    padding-bottom: 26.6666666667vw;
  }
  .sp {
    display: block;
  }
  .tab {
    display: none;
  }
  .pc {
    display: none;
  }
  .pc-only {
    display: none;
  }
  .tab-sp {
    display: block;
  }
  .font--small {
    font-size: 1.2rem;
  }
  .splide .splide__pagination {
    margin-top: 10.6666666667vw;
  }
  .splide .splide__arrow--prev {
    left: 2.6666666667vw;
  }
  .splide .splide__arrow--next {
    right: 2.6666666667vw;
  }
  .sp-img-simpleModal[data-menuname=imgScale].menu-active {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 6rem 1rem 1rem;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: auto;
    overscroll-behavior: contain;
  }
  .sp-img-simpleModal[data-menuname=imgScale].menu-active::before, .sp-img-simpleModal[data-menuname=imgScale].menu-active::after {
    content: "";
    width: 3rem;
    height: 2px;
    background: #5A5A5A;
    border-radius: 10em;
    position: fixed;
    top: 3rem;
    right: 1rem;
    rotate: -45deg;
  }
  .sp-img-simpleModal[data-menuname=imgScale].menu-active::after {
    rotate: 45deg;
  }
  .sp-img-simpleModal--w-auto[data-menuname=imgScale].menu-active img {
    display: block;
    width: auto;
    height: 100%;
    max-width: none;
  }
  .sp-img-simpleModal--y-auto[data-menuname=imgScale].menu-active img {
    display: block;
    width: 100%;
    height: auto;
  }
  .deco-line--top::before {
    width: 34.6666666667vw;
  }
  .deco-line--bottom::after {
    width: 34.6666666667vw;
  }
  .loopGallery img {
    height: 53.3333333333vw;
  }
  .heading1 {
    margin-bottom: 0.8em;
    padding-left: 0;
    font-size: 10.6666666667vw;
  }
  .heading1::before {
    width: 0.4em;
    top: 0.275em;
    left: auto;
    right: 100%;
  }
  .heading1__after {
    font-size: 3.4666666667vw;
  }
  .heading2 {
    font-size: 6.4vw;
  }
  .heading3 {
    font-size: 5.3333333333vw;
  }
  .heading4 {
    font-size: 6.4vw;
  }
  .heading5 {
    font-size: 5.3333333333vw;
  }
  .btn {
    width: 65.8666666667vw;
    min-width: auto;
    min-height: 3.2em;
    padding: 0.6666666667em 1.6em;
    font-size: 4vw;
  }
  .btn .link-arrow {
    width: 1.6em;
    right: 1.0666666667em;
  }
  .btn:not(.btn--def-arrow) .link-arrow::after {
    width: 2.1333333333vw;
  }
  .btn:not(.btn--def-arrow) .link-arrow--window::after {
    width: 4vw;
  }
  .btn--disabled {
    font-size: 4.8vw;
  }
  .link-more__arrow,
  .link-arrow {
    width: 8.5333333333vw;
    margin-left: 1.0666666667vw;
  }
  .link-more__arrow::after,
  .link-arrow::after {
    width: 2.1333333333vw;
  }
  .link-more__arrow--window::after,
  .link-arrow--window::after {
    width: 4vw;
  }
  .link-more__arrow--dl::after,
  .link-arrow--dl::after {
    width: 4.2666666667vw;
  }
  .link-more {
    font-size: 3.4666666667vw;
  }
  .btn--large {
    font-size: 6.4vw;
  }
  .breadcrumb__list {
    font-size: 2.6666666667vw;
  }
  .wp_pagenavi .page-numbers {
    font-size: 4vw;
    flex-wrap: wrap;
  }
  .wp_pagenavi .page-numbers a, .wp_pagenavi .page-numbers span {
    width: 2em;
    min-width: auto;
  }
  .wp_pagenavi--rokitimes .page-numbers {
    font-size: 5.3333333333vw;
  }
  .wp_pagenavi--rokitimes .page-numbers a, .wp_pagenavi--rokitimes .page-numbers span {
    width: auto;
  }
  .wp_pagenavi--rokitimes .page-numbers .previouspostslink,
  .wp_pagenavi--rokitimes .page-numbers .nextpostslink,
  .wp_pagenavi--rokitimes .page-numbers .last {
    font-size: 4vw;
  }
  .header {
    height: auto;
    overflow-x: clip;
    overflow-y: visible;
  }
  .header .inner {
    padding-left: 4.8vw;
  }
  .header__logo {
    width: 37.6vw;
    max-width: 14.1rem;
    padding: 1.3rem 0;
  }
  .header__right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .header__product {
    width: auto;
    height: auto;
    margin-left: 1.4rem;
  }
  .header__product {
    font-size: 4.8vw;
  }
  .header__product span {
    font-size: 3.2vw;
  }
  .header__mobile {
    display: block;
  }
  .header .nav-btn {
    border-radius: 0.8rem;
    padding: 0.3rem 1.1rem;
    font-size: 1.3rem;
    font-size: 3.2vw;
  }
  .header.menu-active::before {
    content: "";
    width: 100%;
    height: 100vh;
    height: 100dvh;
    background: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    z-index: -5;
  }
  .header.menu-active .inner {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  .header--rokitimes {
    overflow: visible;
    overflow: initial;
  }
  .header--rokitimes .contents--grid {
    overflow-x: clip;
    overflow-y: visible;
    padding-left: 0;
    grid-template-columns: auto 1fr;
  }
  .header--rokitimes .header__logo {
    margin-left: 4.2666666667vw;
  }
  .header--rokitimes .header__home {
    display: none;
  }
  .header--rokitimes .header__switch {
    width: 21.3333333333vw;
    height: 17.0666666667vw;
    font-size: 3.4666666667vw;
    line-height: 1.3846153846;
    flex-direction: column;
    row-gap: 0.3076923077em;
  }
  .header--rokitimes .header__switch[data-menuname=nav-categories]::before, .header--rokitimes .header__switch[data-menuname=nav-date]::before {
    width: 1.3846153846em;
    margin-right: 0;
  }
  .header--rokitimes .header__switch[data-menuname=nav-categories]::before {
    content: "";
  }
  .header--rokitimes .header__categories, .header--rokitimes .header__date {
    font-size: 4vw;
    font-weight: 500;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: visible;
  }
  .header--rokitimes .header__categories > li, .header--rokitimes .header__date > li {
    flex-shrink: 0;
    flex-grow: initial;
    max-width: none;
    min-width: 29.8666666667vw;
  }
  .header--rokitimes .header__categories > li > a, .header--rokitimes .header__date > li > a {
    padding: 1.1333333333em 0.7333333333em;
  }
  .header--rokitimes .header__categories > li.menu-active > a, .header--rokitimes .header__date > li.menu-active > a {
    color: #D973A5;
    opacity: 1;
  }
  .header--rokitimes .header__categories > li.menu-active .children, .header--rokitimes .header__date > li.menu-active .children {
    display: flex;
  }
  .header--rokitimes .header__categories .children, .header--rokitimes .header__date .children {
    padding: 1em;
    font-size: 3.7333333333vw;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
  }
  .header--rokitimes .header__categories .children li:first-child, .header--rokitimes .header__date .children li:first-child {
    display: block;
  }
  #g-menu {
    width: 22rem;
    max-width: 100%;
    height: 100vh;
    height: 100dvh;
    padding-right: 0;
    background: #fff;
    border-right: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    translate: 100% 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    overscroll-behavior-y: contain;
    pointer-events: none;
    transition: 0.3s;
  }
  #g-menu.menu-active {
    translate: 0 0;
    pointer-events: initial;
  }
  .g-menu__wrap {
    padding: calc(var(--header-height) + 3.9rem) 3.2rem 2rem;
  }
  .g-menu__nav {
    --row-gap: 3.2rem;
    justify-items: stretch;
    row-gap: var(--row-gap);
    font-size: 1.5rem;
  }
  .g-menu__nav-list {
    flex-direction: column;
    align-items: flex-start;
    row-gap: var(--row-gap);
  }
  .g-menu__nav-list-item--separate {
    padding-left: 0;
    border-left: none;
  }
  .g-menu__nav-list-item--en {
    display: none;
  }
  .g-menu__nav-list--top {
    order: 2;
    padding-top: var(--row-gap);
    border-top: 1px solid rgba(0, 0, 0, 0.2);
  }
  .footer {
    padding: 10.6666666667vw 0 25.6vw;
  }
  .footer__nav {
    padding: 0 8.5333333333vw;
    grid-template-columns: 100%;
    grid-template-rows: auto;
    font-size: 4.8vw;
  }
  .footer__nav::before {
    content: none;
  }
  .footer__nav-child {
    font-size: 4vw;
    row-gap: 1em;
  }
  .footer__nav-child .footer__nav-child {
    margin-top: 1em;
  }
  .footer__nav-sns {
    justify-content: center;
    -moz-column-gap: 6.9333333333vw;
    column-gap: 6.9333333333vw;
  }
  .footer__nav-sns img {
    width: 8vw;
  }
  .footer__nav a[target=_blank] .link-arrow::after {
    width: 4vw;
  }
  .footer__copyright {
    margin-top: 10.6666666667vw;
  }
  .footer--rokitimes {
    padding-top: 14.9333333333vw;
  }
  .footer--rokitimes .inner {
    padding: 0 4.2666666667vw;
  }
  .footer--rokitimes .nav-btn {
    display: block;
    width: 46.9333333333vw;
    max-width: none;
    margin: 0 auto;
    font-size: 3.4666666667vw;
    font-weight: bold;
  }
  .footer--rokitimes .footer__rokitimes {
    padding-right: 0;
    grid-template-columns: 100%;
    row-gap: 14.9333333333vw;
  }
  .footer--rokitimes .footer__rokitimes-nav {
    grid-template-columns: 100%;
    row-gap: 14.9333333333vw;
  }
  .footer--rokitimes .footer__logo {
    width: 54.4vw;
    max-width: 20.4rem;
    margin: 0 auto 6.4vw;
  }
  .footer--rokitimes .footer__navBox-title {
    margin-bottom: 1.3333333333em;
    padding-right: 0.6666666667em;
    padding-bottom: 0.6666666667em;
    font-size: 4.8vw;
  }
  .footer--rokitimes .footer__nav {
    padding: 0;
  }
  .footer--rokitimes .footer__nav--rokitimes {
    row-gap: 6.4vw;
  }
  .footer--rokitimes .footer__nav--rokitimes > li {
    display: grid;
    grid-template-columns: 1fr 50%;
    align-items: flex-start;
  }
  .footer--rokitimes .footer__nav-child {
    margin-top: 0;
    row-gap: 3.2vw;
  }
  .footer--rokitimes .footer__nav--category {
    height: auto;
    min-height: auto;
  }
  .footer--rokitimes .footer__nav--category > li {
    width: 100%;
  }
  .page__header {
    margin-bottom: 25.6vw;
    padding: 0 1.6rem;
    grid-template-rows: auto 1fr;
  }
  .page__header-image {
    max-width: none;
    aspect-ratio: 343/200;
  }
  .page__header .inner:has(.page__header-contents) {
    grid-row: 1/span 2;
    grid-template-columns: 100%;
    grid-template-rows: subgrid;
  }
  .page__header-heading {
    align-self: center;
  }
  .page__header-title {
    font-size: 10.6666666667vw;
  }
  .page__header-title-sub {
    font-size: 3.4666666667vw;
    line-height: 1.5;
  }
  .page__header-contents > *:first-child {
    margin-top: 8.5333333333vw;
  }
  .page__header-breadcrumb {
    grid-column: 1;
    grid-row: 1;
    align-self: flex-end;
    justify-self: flex-start;
    padding: 2.6666666667vw 4.2666666667vw 0;
    padding-left: 0;
    position: static;
    position: initial;
  }
  .page__header--typeB .page__header-heading {
    grid-column: initial;
  }
  .page__header--typeB .page__header-title {
    font-size: 8vw;
  }
  .page__header--typeB .page__header-title-sub {
    margin-top: 0.5em;
    font-size: 4.8vw;
    position: relative;
    right: auto;
    bottom: auto;
  }
  .page__header--typeB .page__header-title-sub::before {
    left: 0;
    right: auto;
  }
  .page__header--typeB .page__header-title-sub .jp {
    font-size: 0.8em;
  }
  .page__header--typeC .page__header-page-group {
    margin-top: 0.5em;
    font-size: 4.8vw;
    position: relative;
    right: auto;
    bottom: auto;
  }
  .page__header--typeC .page__header-page-group::before {
    left: 0;
    right: auto;
  }
  .page__header--typeC .page__header-page-group .jp {
    font-size: 0.8em;
  }
  .page__grid--sideBar {
    grid-template-columns: 100%;
  }
  .page__grid--col2 {
    grid-template-columns: 100%;
    gap: var(--col-sp-gap) 0;
  }
  .page__grid--rev-col2 {
    grid-template-columns: 100%;
    gap: var(--col-sp-gap) 0;
  }
  .page__grid--equal-col2 {
    grid-template-columns: 100%;
    gap: var(--col-sp-gap) 0;
  }
  .page__grid--col3 {
    grid-template-columns: 100%;
    gap: var(--col-sp-gap) 0;
  }
  .page__grid--col4 {
    grid-template-columns: 100%;
    gap: var(--col-sp-gap) 0;
  }
  .page__grid .sp-order-1 {
    order: -1;
  }
  .page__grid .sp-order1 {
    order: 1;
  }
  .page__grid .sp-order2 {
    order: 2;
  }
  .page__nav {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
  }
  .page__nav-grid {
    grid-template-columns: 100%;
  }
  .page__nav .heading1 {
    margin-left: 4.2666666667vw;
  }
  .page__nav-list {
    font-size: 3.4666666667vw;
    row-gap: 1em;
  }
  .page__nav-list li {
    padding: 1em 0;
  }
  .page__nav--rokiism {
    background-position: 25% center;
  }
  .scrollContents__nav {
    justify-self: flex-start;
    width: 100%;
    height: 79.2vw;
    margin-top: calc(100dvh - 79.2vw);
    padding: 3.2vw 16vw 9.8666666667vw;
    top: calc(100dvh - 79.2vw);
    overflow-x: clip;
    overflow-y: visible;
    overflow-y: initial;
  }
  .scrollContents__nav[data-active=step1] .scrollContents__nav-container {
    translate: 0vw 0;
  }
  .scrollContents__nav[data-active=step2] .scrollContents__nav-container {
    translate: -76.8vw 0;
  }
  .scrollContents__nav[data-active=step3] .scrollContents__nav-container {
    translate: -153.6vw 0;
  }
  .scrollContents__nav[data-active=step4] .scrollContents__nav-container {
    translate: -230.4vw 0;
  }
  .scrollContents__nav[data-active=step5] .scrollContents__nav-container {
    translate: -307.2vw 0;
  }
  .scrollContents__nav[data-active=step6] .scrollContents__nav-container {
    translate: -384vw 0;
  }
  .scrollContents__nav[data-active=step7] .scrollContents__nav-container {
    translate: -460.8vw 0;
  }
  .scrollContents__nav[data-active=step8] .scrollContents__nav-container {
    translate: -537.6vw 0;
  }
  .scrollContents__nav[data-active=step9] .scrollContents__nav-container {
    translate: -614.4vw 0;
  }
  .scrollContents__nav[data-active=step10] .scrollContents__nav-container {
    translate: -691.2vw 0;
  }
  .scrollContents__nav-container {
    height: 100%;
    display: flex;
    -moz-column-gap: 8.5333333333vw;
    column-gap: 8.5333333333vw;
    top: auto;
    translate: 0 0;
  }
  .scrollContents__nav-box {
    flex-shrink: 0;
    width: 68.2666666667vw;
    height: 100%;
    max-height: 100%;
  }
  .scrollTest .scrollContents__nav::after {
    width: 2px;
    height: 150%;
    top: auto;
    bottom: 0;
    right: 50%;
    translate: 50% 0;
  }
  .scrollTest .scrollContents__nav-box::after {
    width: 2px;
    height: 100%;
    top: auto;
    bottom: 0;
    right: 50%;
    translate: 50% 0;
  }
  .archive__nav {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .archive__categories {
    grid-template-columns: repeat(2, 1fr);
  }
  .archive__yearly {
    width: 14.9333333333em;
    justify-self: flex-end;
  }
  .archive__list {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .archive__pagination {
    margin-top: 8.5333333333vw;
  }
  .pickup__item {
    width: 64vw;
  }
  .pickup__item-body {
    row-gap: 4.2666666667vw;
  }
  .pickup__item-title {
    font-size: 3.4666666667vw;
  }
  .news__item-body {
    padding: 6.4vw 0;
    grid-template-columns: 36.5333333333vw 1fr 3.2rem;
    grid-template-rows: auto 1fr;
    gap: 5.0666666667vw 4.2666666667vw;
  }
  .news__item-date {
    grid-column: 1;
    grid-row: 1;
    padding: 0;
  }
  .news__item-date .date-md {
    margin-left: 0.32em;
    font-size: 1.6666666667em;
  }
  .news__item-category {
    grid-column: 2/-1;
    grid-row: 1;
    justify-self: flex-start;
  }
  .news__item-category .post-tag {
    min-width: 6.5384615385em;
  }
  .news__item-title {
    grid-column: 1/span 2;
    grid-row: 2;
  }
  .news__item-arrow {
    grid-column: 3;
    grid-row: 2;
    margin-left: 0;
  }
  .post-tag {
    padding: 1.8666666667vw 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
  .single__header .page__header-image {
    height: 100%;
    aspect-ratio: 343/300;
  }
  .single__header .page__header-heading {
    padding: 5.3333333333vw 0;
  }
  .single__header-title {
    font-size: 5.3333333333vw;
  }
  .single__linkPages {
    margin-top: 8.5333333333vw;
  }
  .single__content {
    margin-bottom: 25.6vw;
  }
  .single__content :where(*:not(p):not(ul):not(ol):not(li):not(:last-child)) {
    margin-bottom: 6.4vw;
  }
  .single__content :where(.wp-block-heading:not(:first-child)) {
    margin-top: 6.4vw;
  }
  .single__content h2 {
    font-size: 5.8666666667vw;
  }
  .single__content h3 {
    font-size: 4.8vw;
  }
  .single__content h4 {
    font-size: 4vw;
  }
  .single__content h5 {
    font-size: 4vw;
  }
  .single__content h6 {
    font-size: 4vw;
  }
  .single__content hr {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .single__content .wp-block-post-featured-image:not(:first-child) {
    margin-top: 6.4vw;
  }
  .single__content .wp-block-button__link,
  .single__content .wp-block-file__button {
    width: 65.8666666667vw;
    min-width: auto;
    min-height: 3.2em;
    padding: 0.6666666667em 1.6em;
    font-size: 4vw;
  }
  .single__content .wp-block-lazyblock-contents-col2 .contents-col2 {
    margin-top: 8.5333333333vw;
    margin-bottom: 8.5333333333vw;
    flex-direction: column;
    row-gap: 6.4vw;
  }
  .single__content .wp-block-lazyblock-contents-col2 .contents-col2__img {
    width: 100%;
  }
  .single__pagination {
    margin-top: 8.5333333333vw;
    padding-top: 8.5333333333vw;
    font-size: 4vw;
  }
  .single__pagination-return .typelabel {
    display: none;
  }
  .single__pagination-next:nth-child(3) {
    margin-left: 0.5em;
    padding-left: 0.5em;
  }
  .top__mainv-txt {
    font-size: 4.2666666667vw;
  }
  .top__mainv-main {
    font-size: 13.3333333333vw;
    left: 4vw;
    bottom: 4.5333333333vw;
  }
  .top__pickup {
    margin-top: 17.0666666667vw;
  }
  .top__news-grid {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .top__news-title {
    margin-bottom: 0;
  }
  .top__news-btn {
    text-align: center;
  }
  .top__100year {
    padding: 0;
  }
  .top__100year-contents {
    padding: 0;
    aspect-ratio: initial;
    border-radius: 0;
    background-image: url(../img/top/introduction-bg-sp.webp);
    background-repeat: no-repeat;
    background-position: var(--sp-bg-left, 0%) var(--sp-bg-top, 0%);
    background-size: auto calc(100vh - var(--header-height, 6.4rem));
    background-size: auto calc(100dvh - var(--header-height, 6.4rem));
  }
  .top__100year .inner {
    grid-template-columns: 100%;
  }
  .top__100year-head {
    justify-self: center;
    padding-bottom: 25.6vw;
  }
  .top__100year-title {
    font-size: 6.6666666667vw;
  }
  .top__100year-title img {
    height: 1.8em;
  }
  .top__100year-btn {
    margin-top: 1em;
    text-align: center;
  }
  .top__100year-btn .btn {
    --tri-color: #4CB54E;
  }
  .top__100year-btn .btn .link-arrow::before {
    content: none;
  }
  .top__100year-txt {
    padding: 25.6vw 0;
    font-size: 4.2666666667vw;
  }
  .top__100year-txt-inner {
    width: auto;
    display: contents;
  }
  .top__sustainability::before {
    aspect-ratio: 375/260;
    background: url(../img/top/sustainability-bg2-sp.webp) no-repeat center/100% auto;
    top: 54.1333333333vw;
    left: 0;
    translate: 0 0;
  }
  .top__sustainability .inner {
    padding-top: 0;
  }
  .top__sustainability-grid {
    grid-template-columns: 100%;
    justify-items: initial;
  }
  .top__sustainability-txt {
    padding-bottom: 0;
    row-gap: 8.5333333333vw;
    font-size: 4vw;
  }
  .top__sustainability-link {
    margin-top: 71.4666666667vw;
    text-align: center;
  }
  .top__about-grid {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .top__about-txt {
    font-size: 4vw;
  }
  .top__about-img {
    aspect-ratio: 311/147;
  }
  .top__about-img img {
    width: 100vw;
    aspect-ratio: 375/211;
    border-radius: 0;
    left: 50%;
    translate: -50% 0;
  }
  .top__about-links {
    margin-top: 8.5333333333vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1333333333vw;
  }
  .top__about-link {
    aspect-ratio: 168/164;
    padding: 0 3.4666666667vw 2.4vw;
    font-size: 3.4666666667vw;
  }
  .top__about-link-icon {
    width: 19.2vw;
  }
  .top__about-link-title .link-arrow {
    align-self: flex-end;
  }
  .top__recruitment {
    position: relative;
  }
  .top__recruitment-grid {
    grid-template-columns: 100%;
  }
  .top__recruitment-img {
    width: 100%;
    aspect-ratio: 843/659;
    position: absolute;
    top: 41.8666666667vw;
    left: 0;
  }
  .top__recruitment-img::before {
    width: 92vw;
    top: 6.9333333333vw;
    left: 50%;
    translate: -50% 0;
  }
  .top__recruitment-img img {
    width: 100vw;
    border-radius: 0;
    right: 50%;
    translate: 50% 0;
  }
  .top__recruitment-txt {
    font-size: 4vw;
  }
  .top__recruitment-txt .heading1 {
    white-space: normal;
    white-space: initial;
  }
  .top__recruitment-link {
    margin-top: 85.3333333333vw;
    text-align: center;
  }
  .top__links {
    margin-top: 25.6vw;
  }
  .top__links-list {
    grid-template-columns: 100%;
    row-gap: 6.4vw;
  }
  .top__links-item-body {
    padding: 4.2666666667vw;
    font-size: 3.4666666667vw;
  }
  .top__links-item-title {
    margin-top: 0.5rem;
  }
  .top__links-item-logo {
    height: 6.4vw;
  }
  .top__links-item-logo[alt=ロキテクノファーム] {
    height: 6.4vw;
  }
  .top__links-item-logo[alt=ロキテクノ富山] {
    height: 8.5333333333vw;
  }
  .challenge .page__header-title {
    font-size: 5.3333333333vw;
  }
  .challenge .page__header-title-sub {
    font-size: 3.4666666667vw;
  }
  .challenge__grid {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .challenge__grid-txt img {
    width: 100%;
    max-width: none;
    margin-top: 8.5333333333vw;
    border-radius: 1.6rem;
  }
  .challenge__grid-img {
    aspect-ratio: initial;
  }
  .challenge__grid-img img {
    width: 100%;
    position: static;
    position: initial;
    translate: 0 0;
  }
  .challenge__introduction {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
    margin: 0;
    font-size: 4vw;
  }
  .challenge__introduction h2 {
    margin-bottom: 8.5333333333vw;
    font-size: 8vw;
  }
  .challenge__growth {
    margin-bottom: 0;
  }
  .challenge__growth .challenge__grid:last-child::before {
    width: 100%;
    top: auto;
    bottom: 0;
    left: 0;
    translate: 0 30%;
  }
  .challenge__features {
    margin: 0;
    margin-top: 25.6vw;
    padding-bottom: 25.6vw;
    border-radius: 0;
  }
  .challenge__features-introduction {
    padding-top: 12.8vw;
    padding-bottom: 12.8vw;
    font-size: 4vw;
  }
  .challenge__features-introduction::before {
    height: 120%;
    aspect-ratio: initial;
    background: url(../img/challenge/features-bg.webp) no-repeat center/auto 100%;
  }
  .challenge__features-introduction h2 {
    margin-bottom: 1em;
    font-size: 6.9333333333vw;
  }
  .challenge__features-item {
    display: block;
    border-radius: 0.8rem;
  }
  .challenge__features-item + .challenge__features-item {
    margin-top: 6.4vw;
  }
  .challenge__features-item-label {
    padding: 0.5em 1rem;
    font-size: 3.7333333333vw;
    writing-mode: initial;
  }
  .challenge__features-item-main {
    display: block;
  }
  .challenge__features-item-img {
    margin-top: 6.4vw;
  }
  .challenge__features-item-link {
    margin-top: 6.4vw;
    text-align: center;
  }
  .challenge__initiative {
    margin-top: 25.6vw;
  }
  .challenge__initiative-head {
    padding: 0;
  }
  .challenge__initiative-head-bg {
    padding: 1em 0;
    aspect-ratio: initial;
    background: url(../img/challenge/initiative-bg.webp) no-repeat center/cover;
    border-radius: 0;
    font-size: 4vw;
  }
  .challenge__initiative-head h2 {
    margin-bottom: 0.5em;
    font-size: 6.9333333333vw;
  }
  .challenge__initiative-head p {
    line-height: 1.5;
  }
  .challenge__initiative-logo {
    width: 100%;
    max-width: none;
    margin-top: 8.5333333333vw;
  }
  .challenge__initiative-logo img {
    width: 75.625%;
    aspect-ratio: initial;
    margin-top: 0;
    border-radius: 0;
  }
  .challenge__initiative-link {
    margin-top: 8.5333333333vw;
  }
  .challenge__initiative-training {
    margin-top: 0;
    grid-template-columns: 100%;
    row-gap: 6.4vw;
  }
  .challenge__initiative-training-item h3 {
    font-size: 4.8vw;
  }
  .challenge__initiative .challenge__grid-img {
    aspect-ratio: initial;
  }
  .challenge__initiative .challenge__grid:first-child {
    margin-top: 8.5333333333vw;
  }
  .challenge__message {
    font-size: 4vw;
  }
  .challenge__message .large {
    font-size: 4.5333333333vw;
  }
  .challenge__message .large2 {
    font-size: 5.3333333333vw;
  }
  .challenge__message .large3 {
    font-size: 5.8666666667vw;
  }
  .quality-policy__box + .quality-policy__box {
    margin-top: 8.5333333333vw;
  }
  .quality-policy__box figure {
    margin: 8.5333333333vw auto;
  }
  .quality-policy__box-details {
    grid-template-columns: 100%;
  }
  .quality-policy__box-iso-details {
    grid-template-columns: 100%;
  }
  .rokiism__about {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .rokiism__about-logo {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .rokiism__grid {
    grid-template-columns: 100%;
    gap: 8.5333333333vw;
  }
  .rokiism__grid + .rokiism__grid {
    margin-top: 8.5333333333vw;
  }
  .rokiism__item-title {
    font-size: 5.3333333333vw;
  }
  .rokiism__item-body {
    padding: 0 0 1em;
  }
  .rokiism__item--top {
    min-height: 117.3333333333vw;
  }
  .corporate-ethics__slogan {
    font-size: 4vw;
    line-height: 2;
  }
  .environmental-policy__slogan-title {
    font-size: 5.3333333333vw;
  }
  .environmental-policy__slogan-statement {
    font-size: 6.6666666667vw;
  }
  .environmental-policy__slogan-note {
    font-size: 4vw;
  }
  .environmental-policy__slogan-description {
    margin-top: 25.6vw;
  }
  .environmental-policy__slogan-description .txt {
    font-size: 4.8vw;
  }
  .environmental-policy__slogan-description .detail1 {
    font-size: 5.3333333333vw;
    line-height: 2;
  }
  .environmental-policy__slogan-description .detail2 {
    font-size: 4.8vw;
  }
  .environmental-policy__slogan-description .detail2 .small {
    font-size: 4vw;
  }
  .environmental-policy__details {
    margin-top: 25.6vw;
    padding: 1em;
  }
  .environmental-policy__list {
    margin-top: 8.5333333333vw;
    font-size: 4.8vw;
    line-height: 1.4;
    row-gap: 1.6em;
  }
  .environmental-policy__list + * {
    margin-top: 8.5333333333vw;
  }
  .environmental-policy__list ul, .environmental-policy__list ol {
    margin-top: 1em;
    font-size: 4vw;
  }
  .environmental-policy__list p {
    margin-top: 1em;
    font-size: 4vw;
  }
  .introduction__slogan {
    font-size: 5.8666666667vw;
  }
  .introduction .page__grid {
    margin-top: 25.6vw;
  }
  .introduction .page__grid p {
    font-size: 4vw;
  }
  .introduction figcaption {
    margin-top: 6.4vw;
    font-size: 4vw;
  }
  .introduction__sign {
    margin-top: 6.4vw;
  }
  .business__introduction {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .business__introduction h2 {
    font-size: 5.8666666667vw;
  }
  .business__introduction p {
    font-size: 3.7333333333vw;
  }
  .business__fields-bgBox {
    --circle-size: 96vw;
  }
  .business__fields-bgBox::before {
    content: none;
  }
  .business__fields-title {
    font-size: 6.6666666667vw;
  }
  .business__fields-card {
    --card-size: 96vw;
    --card-bg-size: 85vw;
    --card-gap: 6.4vw;
  }
  .business__fields-card::before {
    content: "";
    width: var(--circle-size);
    aspect-ratio: 1/1;
    background: url(../img/about/business/fields-circle.svg) no-repeat center/100% auto;
    position: absolute;
    top: -8.5333333333vw;
    left: 50%;
    translate: -50% 0;
    z-index: -1;
  }
  .business__fields-card-title {
    font-size: 5.3333333333vw;
  }
  .business__fields-card-products {
    padding-left: 0;
    padding-right: 0;
  }
  .business__fields-card-products ul {
    font-size: 3.4666666667vw;
  }
  .business__fields-card:nth-child(1) {
    background-position: left 50% top -8.5333333333vw;
  }
  .business__fields-card:nth-child(2) {
    background-position: right 50% top -8.5333333333vw;
  }
  .business__case-title {
    font-size: 5.3333333333vw;
  }
  .business__case-title span {
    font-size: 9.3333333333vw;
  }
  .business__case-txt {
    font-size: 4vw;
  }
  .business__case-contents-map {
    height: auto;
  }
  .business__case-contents-pins {
    height: auto;
  }
  .business__case-contents-popup {
    width: 100%;
    height: 100%;
    border-radius: 0;
  }
  .business__case-contents-popup-display {
    width: 91.4666666667vw;
    height: calc(100% - 79.2vw);
    margin: 0 auto;
    padding: 8vw 0 2.1333333333vw;
  }
  .business__case-contents-popup-img {
    max-width: none;
    aspect-ratio: 343/268;
  }
  .business__case-contents-details {
    width: 100%;
    max-width: none;
    height: calc(100% - 79.2vw);
  }
  .business__case-contents-detail {
    width: 91.4666666667vw;
    max-width: none;
    height: 70.9333333333vw;
    min-height: auto;
    padding: 1em;
    border-radius: 4.2666666667vw;
    right: 50%;
    translate: 50% -50%;
  }
  .business__case-contents-detail::after {
    width: 4.2666666667vw;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    top: calc(100% - 1px);
    left: 50%;
    translate: -50% 0;
  }
  .business__case-contents-detail-number {
    width: 2.5em;
    padding: 0.2666666667vw 0.5333333333vw 0.8vw;
    font-size: 4.2666666667vw;
    top: 1em;
    left: 1em;
  }
  .business__case-contents-detail-txt {
    width: 89.1373801917%;
    max-width: none;
    font-size: 4vw;
  }
  .business__case-contents-detail-close {
    font-size: 3.4666666667vw;
    bottom: 6.4vw;
  }
  .business__case-contents-detail-close .close {
    width: 3.4666666667vw;
  }
  .business__case-contents-nav-box {
    padding: 2.1333333333vw;
    border-radius: 4vw;
  }
  .business__case-contents-nav-box-number {
    padding: 0.2666666667vw 0.5333333333vw 0.8vw;
    font-size: 4.2666666667vw;
  }
  .business__case-contents-nav-box-img {
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center top;
    object-position: center top;
  }
  .business__case-contents-nav-box-btns {
    -moz-column-gap: 5.3333333333vw;
    column-gap: 5.3333333333vw;
  }
  .business__case-contents-nav-box-btn {
    padding: 0.5em 1em;
    font-size: 2.6666666667vw;
    flex-direction: column;
    gap: 2px;
  }
  .outline__box {
    padding: 1em;
  }
  .outline__box + .outline__box {
    margin-top: 8.5333333333vw;
  }
  .outline__box h3 {
    font-size: 5.3333333333vw;
  }
  .outline__box-acc + .outline__box-acc {
    margin-top: 6.4vw;
  }
  .outline__box-acc-title {
    padding: 1em;
    display: block;
  }
  .outline__box-acc-title::before {
    height: 6.6666666667vw;
  }
  .outline__box-acc-title .name {
    font-size: 4.8vw;
  }
  .outline__box-acc-title .area {
    display: block;
    margin-left: 0;
  }
  .outline__box-acc-title .toggle {
    right: 1em;
  }
  .outline__box-acc-body {
    padding: 0 1em 1em;
  }
  .outline__box-acc .outline__info {
    grid-template-columns: 100%;
  }
  .outline__box-acc .outline__info dt {
    padding-top: 1em;
    padding-bottom: 0;
  }
  .outline__box-acc .outline__info dd {
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .outline__info {
    grid-template-columns: 100%;
  }
  .outline__info dt, .outline__info dd {
    padding-left: 0;
  }
  .outline__info dt:where(:not(:last-of-type)), .outline__info dd:where(:not(:last-of-type)) {
    border-bottom: none;
  }
  .outline__info dt {
    padding-bottom: 0;
  }
  .outline__info dd {
    padding-top: 1em;
  }
  .outline__info dd:where(:not(:last-of-type)) {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  }
  .outline__info-locations dt, .outline__info-locations dd {
    border-bottom: none;
  }
  .outline__info-locations dd {
    padding-top: 0;
  }
  .outline__company {
    margin-bottom: 25.6vw;
  }
  .outline__group {
    margin-top: 25.6vw;
  }
  .officer__list {
    row-gap: 8.5333333333vw;
  }
  .officer__item {
    grid-template-columns: 40% 1fr;
    row-gap: 6.4vw;
  }
  .officer__item-position {
    font-size: 4.8vw;
  }
  .officer__item-txt {
    display: contents;
  }
  .officer__item-name {
    grid-column: 2;
    align-self: center;
    margin-bottom: 0;
    font-size: 5.8666666667vw;
  }
  .officer__item-details {
    grid-column: 1/3;
    margin-top: 0;
  }
  .officer__item:not(:has(.officer__item-img)) .officer__item-name {
    grid-column: 1/-1;
  }
  .officer__date {
    margin-top: 8.5333333333vw;
  }
  .locations__nav {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .locations__menu {
    border-radius: calc(1.3em + 0.5lh);
    grid-template-columns: repeat(2, 1fr);
    font-size: 3.7333333333vw;
  }
  .locations__menu a {
    border-radius: calc(1.3em + 0.5lh);
  }
  .locations__menu--area a {
    min-width: auto;
  }
  .locations__base {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .locations__base-name {
    margin-bottom: 6.4vw;
  }
  .locations__base-txt {
    margin-bottom: 6.4vw;
  }
  .locations__base-contact {
    grid-template-columns: auto 1fr;
    -moz-column-gap: 1em;
    column-gap: 1em;
  }
  .locations__base-contact dt {
    font-size: 3.4666666667vw;
  }
  .locations__base-map {
    margin-top: 6.4vw;
  }
  .production-bases__base-route {
    margin-top: 6.4vw;
    row-gap: 6.4vw;
  }
  .production-bases__base-route-title {
    font-size: 4.8vw;
  }
  .sales-offices__heading {
    font-size: 6.4vw;
  }
  .sales-offices__japan-map,
  .sales-offices__global-map {
    margin-top: 8.5333333333vw;
  }
  .sales-offices__japan-map .btn,
  .sales-offices__global-map .btn {
    width: 100%;
    min-width: auto;
    padding-right: 2em;
    font-size: 3.7333333333vw;
    position: relative;
  }
  .sales-offices__japan-map .sp-btns,
  .sales-offices__global-map .sp-btns {
    margin-top: 1em;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }
  .history__timeline {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .history__timeline-nav {
    font-size: 4.2666666667vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5em;
    position: static;
    position: initial;
  }
  .history__timeline-nav-item {
    width: 100%;
  }
  .history__timeline-group-title {
    font-size: 5.3333333333vw;
  }
  .history__list {
    row-gap: 6.4vw;
  }
  .history__item::after {
    height: calc(100% + 8.5333333333vw);
  }
  .history__item-time {
    font-size: 4.8vw;
  }
  .logo-character .page__header-title {
    font-size: 6.4vw;
  }
  .logo-character__nav {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .logo-character__nav-list {
    gap: 2.6666666667vw;
  }
  .logo-character__nav-item {
    min-height: auto;
    padding: 1.55em 0.5rem 3em;
    font-size: 4vw;
    row-gap: 1em;
  }
  .logo-character__logo,
  .logo-character__character {
    --bg-max-width: 100vw;
  }
  .logo-character__logo-main {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
  }
  .logo-character__logo-main::before {
    border-radius: 0;
  }
  .logo-character__logo-group + .logo-character__logo-group {
    margin-top: 25.6vw;
  }
  .logo-character__logo-color {
    margin-top: 8.5333333333vw;
  }
  .logo-character__logo-color-item {
    padding: 6.4vw;
  }
  .logo-character__logo-color-item h4 {
    margin-bottom: 6.4vw;
    font-size: 4.8vw;
  }
  .logo-character__character .logo-character__title {
    margin-bottom: 25.6vw;
  }
  .logo-character__character .page__grid {
    margin-bottom: 8.5333333333vw;
  }
  .logo-character__character-introduction {
    display: contents;
  }
  .logo-character__character-name {
    order: -2;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    font-size: 10.6666666667vw;
  }
  .logo-character__character-visual {
    order: -1;
  }
  .logo-character__character-visual img {
    position: static;
    position: initial;
  }
  .logo-character__character-profile {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
  }
  .logo-character__character-profile::before {
    border-radius: 0;
  }
  .logo-character__character-profile-list {
    grid-template-columns: 100%;
  }
  .logo-character__character-profile-item {
    font-size: 4vw;
  }
  .sustainability__grid {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .sustainability__introduction {
    font-size: 4vw;
  }
  .sustainability__challenge {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .sustainability__challenge-logo {
    width: 53.3333333333vw;
    margin-bottom: 8.5333333333vw;
  }
  .sustainability__challenge-gap {
    font-size: 4vw;
  }
  .sustainability__slogan {
    aspect-ratio: initial;
    margin-top: 8.5333333333vw;
    padding-bottom: 0;
    background: url(../img/sustainability/challenge-bg.svg) no-repeat center/auto 100%;
  }
  .sustainability__slogan-list {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .sustainability__slogan-item-label {
    font-size: 4vw;
  }
  .sustainability__slogan-item h3 {
    font-size: 5.3333333333vw;
  }
  .sustainability__slogan-item p:not([class]) {
    font-size: 3.7333333333vw;
  }
  .sustainability__slogan-item:nth-child(1), .sustainability__slogan-item:nth-child(3) {
    translate: 0 0;
  }
  .sustainability__concept {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .sustainability__csr-head,
  .sustainability__sdgs-head {
    padding: 0;
  }
  .sustainability__csr-head-bg,
  .sustainability__sdgs-head-bg {
    padding: 8.5333333333vw 0;
    border-radius: 0;
    font-size: 4vw;
  }
  .sustainability__csr-head-bg {
    background: url(../img/sustainability/csr-bg.webp) no-repeat 0% center/cover;
  }
  .sustainability__csr-policy {
    margin-top: 8.5333333333vw;
    grid-template-columns: 100%;
    row-gap: 6.4vw;
  }
  .sustainability__csr-item-body {
    padding: 0 0 1em;
  }
  .sustainability__csr-item-link .small {
    font-size: 3.4666666667vw;
  }
  .sustainability__sdgs {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .sustainability__sdgs-head-bg {
    background: url(../img/sustainability/sdgs-bg.webp) no-repeat 30% center/cover;
  }
  .sustainability__sdgs-group {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .sustainability__sdgs-group-title {
    font-size: 6.4vw;
  }
  .sustainability__sdgs-boxGrid {
    gap: 8.5333333333vw 1em;
  }
  .sustainability__sdgs-boxGrid2 {
    margin-top: 8.5333333333vw;
    gap: 6.4vw 0;
  }
  .sustainability__sdgs-bgBox {
    padding: 1em;
  }
  .sustainability__sdgs-bgBox-separate {
    margin-top: 8.5333333333vw;
  }
  .sustainability__sdgs-box {
    font-size: 4vw;
  }
  .sustainability__sdgs-box-link .small {
    font-size: 4vw;
  }
  .sustainability__sdgs-box2 {
    grid-template-columns: 100%;
    row-gap: 1.2rem;
  }
  .sustainability__sdgs-box2-link {
    font-size: 4vw;
  }
  .sustainability__sdgs-training {
    grid-template-columns: 100%;
  }
  .sustainability__sdgs-link {
    font-size: 4.8vw;
  }
  .environment__details-box .note {
    font-size: 3.2vw;
  }
  .environment__relation {
    padding-top: 8.5333333333vw;
  }
  .environment__relation::before {
    aspect-ratio: 4/3;
  }
  .environment__relation .inner {
    grid-template-columns: 100%;
    row-gap: 8.5333333333vw;
  }
  .environment__relation-title {
    margin-bottom: 0;
  }
  .environment__relation-posts .pickup__item {
    width: 100%;
  }
  .environment__relation-register {
    text-align: center;
  }
  .social__introduction-box {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
    font-size: 4vw;
  }
  .social__details-title {
    margin-bottom: 8.5333333333vw;
  }
  .social__details-youtube {
    max-width: none;
    margin-top: 8.5333333333vw;
  }
  .social__details-link {
    font-size: 4vw;
  }
  .social__details-link:not(:first-child) {
    margin-top: 8.5333333333vw;
  }
  .social__details-link .small {
    font-size: 3.4666666667vw;
  }
  .social__details-more {
    font-size: 3.4666666667vw;
  }
  .social__details-box {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
    padding: 0;
  }
  .social__details-box-description {
    padding-left: 1.2em;
    font-size: 4vw;
  }
  .social__details-box-description::before {
    width: 4vw;
    left: 0;
  }
  .social__details-box-img img + img {
    margin-top: calc(var(--col-sp-gap) / 2);
  }
  .social__details-box .page__grid {
    margin-top: 8.5333333333vw;
    margin-bottom: 8.5333333333vw;
    row-gap: var(--col-sp-gap);
  }
  .social__details-box .page__grid h3 {
    font-size: 4vw;
  }
  .social__report {
    padding-top: 8.5333333333vw;
    padding-bottom: 8.5333333333vw;
    padding-left: 0;
    padding-right: 0;
    border-radius: 0;
  }
  .social__report-title {
    font-size: 6.4vw;
  }
  .social__report-link {
    padding-left: 1em;
    padding-right: 3em;
    font-size: 4vw;
  }
  .social__report-link .link-arrow {
    right: 1em;
  }
  .social__report-link .small {
    font-size: 3.2vw;
  }
  .social__report .social__details-box {
    margin: 0;
  }
  .social__report .social__details-box .page__grid {
    margin-bottom: 0;
    row-gap: var(--col-sp-gap);
  }
  .form input[type=text],
  .form input[type=email],
  .form input[type=tel],
  .form textarea,
  .form select {
    padding: 0.625em 0.9375em;
  }
  .form textarea {
    min-height: 14.9333333333em;
  }
  .form .required {
    font-size: 4vw;
  }
  .form__group {
    padding-left: 0;
    padding-right: 0;
    row-gap: 8.5333333333vw;
  }
  .form__item {
    grid-template-columns: 100%;
    row-gap: 0.5em;
  }
  .form__item-title {
    min-height: auto;
    font-size: 4.8vw;
  }
  .form__item-title--filter {
    max-width: none;
  }
  .form__item-input--temp input[type=text] {
    width: 100%;
  }
  .form__item--wfit .form__item-input {
    flex-shrink: 0;
  }
  .form__item--wfit .form__item-label {
    white-space: wrap;
  }
  .form__item--wfit:has(.error):has(.form__item-input--w145) {
    padding-bottom: 2lh;
  }
  .form__fieldset {
    row-gap: 0.5em;
  }
  .form__fluid .form__item-input:has(.mwform-checkbox-field) {
    grid-template-columns: auto 1fr;
  }
  .form__col2set {
    grid-template-columns: 100%;
    row-gap: 0.5em;
  }
  .form__batch .form__item-input--w145 {
    width: 7em;
  }
  .form__length .form__item-input--w145 {
    width: 6em;
  }
  .form__use .form__item-input:has(.mwform-checkbox-field) {
    grid-template-columns: auto 1fr;
  }
  .form__ozone .form__item-input:has(.mwform-checkbox-field) {
    grid-template-columns: auto 1fr;
  }
  .form .select-wrap .link-arrow {
    top: calc(0.625em + 0.5lh);
  }
  .form__agreement {
    margin-top: 8.5333333333vw;
  }
  .form__btns {
    margin-top: 8.5333333333vw;
  }
  .form__btns .btn {
    font-size: 4.8vw;
  }
  .form__option + .form__option {
    margin-top: 6.4vw;
  }
  .form__option-title {
    padding: 1em;
    padding-right: 2.33em;
    display: block;
    font-size: 4.8vw;
  }
  .form__option-title::before {
    top: 1em;
  }
  .form__option-title .toggle {
    right: 1em;
  }
  .form__option-body {
    padding: 0 4.2666666667vw 1em;
  }
  .thanks__title {
    font-size: 5.8666666667vw;
  }
  .thanks .center {
    font-size: 4vw;
  }
  .thanks__contact {
    margin-top: 8.5333333333vw;
  }
  .thanks__contact .email {
    font-size: 5.3333333333vw;
  }
  .thanks__contact .email .label {
    font-size: 4vw;
  }
  .thanks .btn {
    font-size: 4.8vw;
  }
  .contact__nav {
    padding-top: 25.6vw;
    padding-bottom: 25.6vw;
  }
  .contact__nav-title {
    padding-left: 0;
    font-size: 10.6666666667vw;
  }
  .contact__nav-title .heading1__after {
    font-size: 3.4666666667vw;
  }
  .contact-product__nav {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .contact-product__nav-list {
    margin-top: 8.5333333333vw;
    gap: 2.6666666667vw;
  }
  .contact-product__nav-item {
    padding: 1.2em 0.5rem;
    font-size: 4vw;
    row-gap: 1em;
  }
  .contact-product__tel-contact {
    font-size: 4vw;
  }
  .contact-product__tel-contact .number {
    font-size: 11.2vw;
  }
  .contact-product__tel-contact .to {
    font-size: 4.8vw;
  }
  .contact-product__options {
    margin-top: 8.5333333333vw;
    margin-bottom: 8.5333333333vw;
  }
  .contact-other__message p:has(.txt--orange2) {
    font-size: 4vw;
  }
  .help-counter__section {
    margin-top: 25.6vw;
    margin-bottom: 25.6vw;
  }
  .help-counter__detail02-list {
    grid-template-columns: 100%;
  }
  .help-counter__detail02-list dt {
    padding-bottom: 0;
    border-bottom: none;
  }
  .help-counter__detail02-list dd {
    padding-left: 0;
  }
  .help-counter__detail05-list {
    grid-template-columns: auto 1fr;
  }
  .rokitimes__archive-title {
    font-size: 8vw;
  }
  .rokitimes__list {
    --row-gap: 6.4vw;
    grid-template-columns: 100%;
  }
  .rokitimes__list li {
    padding: 0;
  }
  .rokitimes__list li::before {
    content: none;
  }
  .rokitimes__list li::after {
    content: none;
  }
  .rokitimes__item-body {
    padding-bottom: 6.4vw;
    border-right: 1px solid #D973A5;
    border-bottom: 1px solid #D973A5;
    border-radius: 0 0 0.8rem 0;
    display: grid;
    grid-template-columns: 39.6501457726% 1fr;
    -moz-column-gap: 4.6647230321%;
    column-gap: 4.6647230321%;
    position: relative;
    overflow: hidden;
  }
  .rokitimes__item-date {
    grid-column: span 2;
    margin-bottom: 2.1333333333vw;
    font-size: 4vw;
  }
  .rokitimes__item-thumb {
    grid-column: 1;
    grid-row: 3;
    align-self: center;
    margin-bottom: 0;
  }
  .rokitimes__item-thumb img {
    border-radius: 0.8rem;
  }
  .rokitimes__item-category {
    grid-column: span 2;
    grid-row: 2;
    margin-bottom: 4.2666666667vw;
  }
  .rokitimes__item-category .post-tag {
    padding-top: 1.0666666667vw;
    padding-bottom: 1.0666666667vw;
  }
  .rokitimes__item-title {
    grid-column: 2;
    grid-row: 3;
    align-self: center;
    margin-bottom: 0;
    font-size: 4vw;
    -webkit-line-clamp: 3;
  }
  .rokitimes__item-excerpt {
    grid-column: span 2;
    grid-row: 4;
    width: 69.6793002915%;
    min-height: 2lh;
    margin-top: 4.2666666667vw;
    font-size: 3.4666666667vw;
  }
  .rokitimes__item-btn {
    width: 25.6559766764%;
    margin-top: 0;
    padding: 0.8181818182em 0;
    border-right: none;
    border-bottom: none;
    border-radius: 0.8rem 0 0.8rem 0;
    font-size: 2.9333333333vw;
    flex-direction: column;
    justify-content: center;
    row-gap: 1.6vw;
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .rokitimes__item-btn::before {
    width: 3.5454545455em;
  }
  .rokitimes__item-btn span::before {
    content: none;
  }
  .rokitimes__item--first .rokitimes__item-body {
    border-right: 1px solid transparent;
    border-bottom: 1px solid transparent;
    grid-template-columns: 100%;
    grid-template-rows: auto;
  }
  .rokitimes__item--first .rokitimes__item-body::after {
    content: "";
    width: 100%;
    height: calc(100% - 61.3333333334vw);
    border-right: 1px solid #D973A5;
    border-bottom: 1px solid #D973A5;
    border-radius: 0 0 0.8rem 0;
    position: absolute;
    bottom: 0;
    right: 0;
    pointer-events: none;
  }
  .rokitimes__item--first .rokitimes__item-date {
    grid-column: initial;
    grid-row: 2;
    margin-bottom: 2.1333333333vw;
  }
  .rokitimes__item--first .rokitimes__item-thumb {
    grid-column: initial;
    grid-row: 1;
    margin-bottom: 4.2666666667vw;
  }
  .rokitimes__item--first .rokitimes__item-category {
    grid-column: initial;
    grid-row: 3;
    margin-bottom: 4.2666666667vw;
  }
  .rokitimes__item--first .rokitimes__item-title {
    grid-column: initial;
    grid-row: 4;
    margin-bottom: 0;
    font-size: 6.6666666667vw;
  }
  .rokitimes__item--first .rokitimes__item-excerpt {
    grid-column: initial;
    grid-row: 5;
    font-size: 3.4666666667vw;
  }
  .rokitimes__fv {
    margin-top: 14.9333333333vw;
    padding: 1em 0;
  }
  .rokitimes__fv .inner {
    border-radius: 0.8rem;
    grid-template-columns: 100%;
  }
  .rokitimes__fv-description {
    width: 100%;
    max-width: none;
  }
  .rokitimes__fv-title {
    font-size: 5.3333333333vw;
  }
  .rokitimes__fv-excerpt {
    font-size: 4vw;
  }
  .rokitimes__content h2 {
    font-size: 6.4vw;
  }
  .rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes {
    margin-top: 8.5333333333vw;
    margin-bottom: 8.5333333333vw;
  }
  .rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes .contents-col2__txt {
    padding-left: 1.5em;
  }
  .rokitimes__content .wp-block-lazyblock-contents-col2 .contents-col2--rokitimes .contents-col2__txt::before {
    width: 1em;
  }
  .rokitechno-en .header__logo {
    width: 37.6vw;
    max-width: 14.1rem;
  }
  .rokitechno-en .header__product {
    font-size: 6.1333333333vw;
  }
  .rokitechno-en .header__product span {
    font-size: 2.1333333333vw;
  }
  .rokitechno-en .footer__nav .nav-sns {
    margin-top: 18.6666666667vw;
  }
  .rokitechno-en .top__mainv-main {
    font-size: 10.6666666667vw;
  }
  .rokitechno-en .top__mainv-txt {
    font-size: 4.2666666667vw;
  }
  .rokitechno-en .top__100year-title {
    font-size: 10.6666666667vw;
  }
  .rokitechno-en .business__fields-card:nth-child(1) .business__fields-card-products {
    padding-right: 0;
  }
  .rokitechno-en .business__case-contents-detail-txt {
    line-height: 1.5;
  }
  .rokitechno-en .business__case-contents-detail-close {
    bottom: 4.2666666667vw;
  }
  .rokitechno-en .challenge .page__header-title {
    font-size: 9.3333333333vw;
  }
  .rokitechno-en .challenge__introduction h2 {
    font-size: 6.4vw;
  }
  .rokitechno-en .logo-character .page__header-title {
    font-size: 4.8vw;
  }
  .rokitechno-en .sustainability__slogan-item-label {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
  }
  .rokitechno-en .sustainability__csr-head-bg {
    padding-top: 8.5333333333vw;
  }
  .rokitechno-en .help-counter__heading {
    display: flex;
    align-items: center;
  }
  .rokitechno-en .single__pagination-link .typelabel {
    display: none;
  }
  .rokitechno-en .form__item-title {
    padding-top: 0;
  }
}
@media (min-width: 751px) {
  .sp-img-simpleModal[data-menuname=imgScale] {
    pointer-events: none;
  }
  .footer__nav > :where(li) {
    grid-column: 4;
  }
  .footer__nav .nav-top {
    grid-column: 1;
    grid-row: 1;
  }
  .footer__nav .nav-about {
    grid-column: 1;
    grid-row: span 5;
  }
  .footer__nav .nav-company {
    grid-column: 2;
    grid-row: span 5;
  }
  .footer__nav .nav-sustainability {
    grid-column: 3;
    grid-row: span 2;
  }
  .footer__nav .nav-recruit {
    grid-column: 3;
  }
  .footer__nav .nav-product {
    grid-column: 3;
    grid-row: span 4;
  }
  .footer__nav .nav-sns {
    grid-column: 1/span 2;
    grid-row: 7;
  }
  .page__grid .align-self--end {
    align-self: flex-end;
  }
  .page__grid .align-self--center {
    align-self: center;
  }
  .single__content .wp-block-lazyblock-contents-col2 .contents-col2--reverse {
    flex-direction: row-reverse;
  }
  .top__news-title {
    grid-column: 1;
    grid-row: 1;
  }
  .top__news-list {
    grid-column: span 2;
  }
  .top__news-btn {
    grid-column: 2;
    grid-row: 1;
    justify-self: flex-end;
    align-self: flex-end;
  }
  .top__100year .inner {
    width: 100%;
  }
  .top__100year-head {
    grid-row: 1;
    grid-column: 2;
    z-index: 5;
  }
  .top__100year-btn .btn {
    min-height: auto;
    padding: 0 0.8461538462em;
    padding-right: 0;
    font-size: 1.3rem;
  }
  .top__100year-btn .btn .link-arrow {
    position: relative;
    top: auto;
    right: auto;
    translate: 0 0;
  }
  .top__100year-txt {
    grid-row: 1;
    grid-column: 1/-1;
  }
  .top__sustainability {
    min-height: 38.5065885798vw;
    margin-top: 9.3704245974vw;
    margin-bottom: 9.3704245974vw;
  }
  .challenge__grid.page__grid--rev-col2 .challenge__grid-img img {
    left: auto;
    right: 0;
  }
  .rokiism__item--top {
    grid-column: 1/-1;
    background-position: right min(10.4%, 4.8rem) bottom 50%;
    grid-template-rows: auto 1fr auto;
  }
  .sales-offices__japan-map .office1 {
    top: 64.7584973166%;
    left: 69.43359375%;
    translate: 0 -50%;
  }
  .sales-offices__japan-map .office2 {
    top: 43.6493738819%;
    left: 69.43359375%;
    translate: 0 -50%;
  }
  .sales-offices__japan-map .office3 {
    top: 30.4114490161%;
    left: 42.1875%;
    translate: -50% -100%;
  }
  .sales-offices__japan-map .office4 {
    top: 86.5831842576%;
    left: 66.89453125%;
    translate: 0 -50%;
  }
  .sales-offices__japan-map .office5 {
    top: 43.2915921288%;
    left: 36.5234375%;
    translate: -71.9827586207% -50%;
  }
  .sales-offices__japan-map .office6 {
    top: 64.0429338104%;
    left: 23.53515625%;
    translate: -50% -100%;
  }
  .sales-offices__japan-map .office7 {
    top: 96.0644007156%;
    left: 23.6328125%;
    translate: -100% -50%;
  }
  .sales-offices__global-map .office1 {
    top: 53.3944954128%;
    left: 48.6328125%;
    translate: -17.6724137931% 0;
  }
  .sales-offices__global-map .office2 {
    top: 91.9266055046%;
    left: 49.609375%;
    translate: -21.9827586207% 0;
  }
  .sales-offices__global-map .office3 {
    top: 81.6513761468%;
    left: 25.5859375%;
    translate: -50% 0;
  }
  .sales-offices__global-map .office4 {
    top: 7.3394495413%;
    left: 47.36328125%;
    translate: -50% -50%;
  }
  .sales-offices__global-map .office5 {
    top: 6.7889908257%;
    left: 76.953125%;
    translate: -50% -84.7826086957%;
  }
  .sales-offices__global-map .office6 {
    top: 20.5504587156%;
    left: 20.01953125%;
    translate: -50% -100%;
  }
  .environment__relation-title {
    grid-column: 1;
    grid-row: 1;
  }
  .environment__relation-posts {
    grid-column: span 2;
  }
  .environment__relation-register {
    grid-column: 2;
    grid-row: 1;
    justify-self: flex-end;
  }
  .social__report .inner {
    width: 100%;
  }
  .contact__nav-title::before {
    width: 1.8rem;
  }
  .rokitimes__fv .inner {
    width: 100%;
    max-width: none;
  }
  .rokitechno-en .footer__nav .nav-product {
    margin-top: -4.5em;
  }
  .rokitechno-en .footer__copyright {
    margin-top: min(9.375vw, 9.6rem);
  }
  .rokitechno-en .form__ozone .form__fieldset {
    word-break: break-all;
    grid-template-columns: min(6.2666666667em, 9.4rem) auto 1fr;
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(a, button):hover .link-more__arrow::before,
  :where(a, button):hover .link-arrow::before {
    width: 125%;
  }
  .link-more:not(.link-more--dmy):hover {
    opacity: 1;
  }
  .link-more:not(.link-more--dmy):hover .link-more__txt-inner {
    translate: 0 -1lh;
  }
  :where(a, button):hover .link-more--dmy {
    opacity: 1;
  }
  :where(a, button):hover .link-more--dmy .link-more__txt-inner {
    translate: 0 -1lh;
  }
  :where(a):hover:hover .link-line {
    background-position: left bottom;
    background-size: 100% 1px;
  }
  :where(a):hover:hover .link-blue {
    color: blue;
  }
  .wp_pagenavi .page-numbers a:hover {
    background: #FFA600;
    font-weight: bold;
    opacity: 1;
  }
  .wp_pagenavi--rokitimes .page-numbers a:hover {
    background: none;
    font-weight: inherit;
    opacity: 0.7;
  }
  .header--rokitimes .header__categories > li:hover > a, .header--rokitimes .header__date > li:hover > a {
    color: #D973A5;
  }
  .header--rokitimes .header__categories > li:hover .children, .header--rokitimes .header__date > li:hover .children {
    display: flex;
  }
  .footer__nav a:hover {
    opacity: 1;
    color: #FFA600;
  }
  .page__nav-list a:hover {
    opacity: 1;
  }
  .archive__categories a:hover {
    background: #4CB54E;
    color: #222222;
    opacity: 1;
  }
  .pickup__item-body:hover {
    opacity: 1;
  }
  .single__pagination-return a:hover {
    opacity: 1;
  }
  .single__pagination-prev a:hover, .single__pagination-next a:hover {
    opacity: 1;
  }
  .single__pagination--rokitimes .single__pagination-return a:hover {
    opacity: 0.7;
  }
  .single__pagination--rokitimes .single__pagination-prev a:hover, .single__pagination--rokitimes .single__pagination-next a:hover {
    opacity: 0.7;
  }
  .top__about-link:hover {
    opacity: 1;
  }
  .top__links-item:hover {
    opacity: 1;
  }
  .locations__menu a:hover {
    color: #FFA600;
    opacity: 1;
  }
  .sustainability__sdgs-group a:hover {
    opacity: 1;
  }
  .social__details-link:hover {
    opacity: 1;
  }
  .social__details-more:hover {
    opacity: 1;
  }
  .contact__link:hover {
    opacity: 1;
  }
  .contact__nav-link:hover {
    opacity: 1;
  }
  .rokitimes__item a:hover {
    opacity: 1;
  }
  .rokitimes__item a:hover .rokitimes__item-btn {
    --btn-color: #D973A5;
    --btn-color-txt: #fff;
  }
  .rokitimes__item a:hover .rokitimes__item-btn::before {
    background: url(../img/common/icon-eyes-right.svg) no-repeat center/100% auto;
  }
}
@media (orientation: portrait) and (min-width: 751px) and (max-width: 1024px) {
  .top__mainv {
    --mv-bg-padding: 1.6rem;
    height: calc(100vh - var(--header-height, 6.4rem));
    height: calc(100dvh - var(--header-height, 6.4rem));
  }
  .top__mainv {
    padding-bottom: calc(14.6rem + var(--mv-bg-padding));
  }
  .top__mainv-bg {
    height: calc(100% - (14.6rem + var(--mv-bg-padding)));
    padding-bottom: 0;
  }
  .top__mainv-sub {
    --before-color: #5A5A5A;
    --after-color: #5A5A5A;
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    right: auto;
    bottom: auto;
    top: 100%;
  }
  .top__mainv-sub {
    height: calc(14.6rem + var(--mv-bg-padding));
    left: 2.4577572965%;
  }
  .top__mainv-sub::before {
    content: none;
  }
  .top__mainv-sub .marker1, .top__mainv-sub .marker2 {
    background: none;
  }
  .rokitechno-en .top__mainv-sub {
    max-width: none;
    padding: 0;
  }
}
@media (orientation: portrait) and (max-width: 750px) {
  .top__mainv {
    --mv-bg-padding: 1.6rem;
    height: calc(100vh - var(--header-height, 6.4rem));
    height: calc(100dvh - var(--header-height, 6.4rem));
  }
  .top__mainv {
    padding-bottom: calc(38.9333333333vw + var(--mv-bg-padding));
  }
  .top__mainv-bg {
    height: calc(100% - (38.9333333333vw + var(--mv-bg-padding)));
    padding-bottom: 0;
  }
  .top__mainv-sub {
    --before-color: #5A5A5A;
    --after-color: #5A5A5A;
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    right: auto;
    bottom: auto;
    top: 100%;
  }
  .top__mainv-sub {
    height: calc(38.9333333333vw + var(--mv-bg-padding));
    left: 4vw;
  }
  .top__mainv-sub::before {
    content: none;
  }
  .top__mainv-sub .marker1, .top__mainv-sub .marker2 {
    background: none;
  }
  .rokitechno-en .top__mainv-sub {
    max-width: none;
    padding: 0;
  }
}
@media (orientation: landscape) and (max-width: 750px) {
  .top__mainv .inner {
    display: none !important;
  }
  .top__mainv-spLandscape {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
  }
}
@media (min-width: 751px) and (max-width: 1024px) and (orientation: landscape) {
  .top__mainv-txt {
    font-size: 2rem;
  }
  .rokitechno-en .top__mainv-main {
    font-size: min(12vw, 4.5rem);
  }
}

.technical_slider {
  background-image: url(../img/header/page_header_bg_1.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

.swiper {
  height: 70vh;
  max-height: 609px;
  /* background: linear-gradient(347deg, rgba(64, 166, 41, 0.4117647059), rgba(255, 154, 0, 0.4901960784)); */
  padding: 3%;
  width: 96%;
  max-width: 1024px;
}

.swiper-wrapper {
  padding-bottom: 50px;
}

.swiper-slide {
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.4392156863);
  border-radius: 15px;
}

.swiper-slide_content {
  position: relative;
  height: 100%;
}

.swiper-img {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position-y: center;
  border-radius: 15px;
}

.swiper-slide img {
  height: auto;
  width: 100%;
}

.swiper-title {
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 15px;
  line-height: 1.8;
  padding: 20px 100px;
  color: #000;
}

.swiper-button-next:after, .swiper-button-prev:after {
  color: rgba(255, 255, 255, 0.7882352941);
  text-shadow: 2px 1px 2px #747272;
  font-size: 50px;
  font-weight: 600;
}

span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: rgba(64, 45, 45, 0.7882352941);
  text-shadow: 1px 1px 2px #333;
}

.swiper-text {
  z-index: 1;
  position: absolute;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.5490196078);
  display: block;
}

@media screen and (max-width: 430px) {
  .swiper-title {
    padding: 20px;
  }
}
:root {
  --linkBtnicon:#ffa600;
  --grayColor:#6c6c6c;
  --oraColor:#e18f12;
  --ora1Color:#d65f1d;
  --ora2Color:#efb700;
  --pinkColor:#d973a5;
  --pink1Color:#d7689f;
  --pink2Color:#df93b7;
  --greenColor:#76b356;
  --green1Color:#6bad42;
  --green2Color:#9ec770;
  --footerGray:#F3F3F5;
  --titleColor:#444444;
  --mainGray:#d8d8d8;
  --grade:linear-gradient(to left, var(--ora1Color), var(--ora2Color));
  --gradeOpa:linear-gradient(to left, #d65f1d99, #efb70082);
  --grade201:linear-gradient(76deg, var(--green1Color), var(--green2Color));
  --grade2:linear-gradient(76deg, var(--green1Color), #76b35647, var(--green2Color));
  --grade3:linear-gradient(to left, var(--pink1Color), var(--pink2Color));
  --grade4:linear-gradient(to left, var(--ora2Color), var(--pink2Color));
  --grade5:linear-gradient(to left, var(--green2Color), var(--pink2Color));
  --grade6:linear-gradient(to left, #d65e1d69, #e18e125b,#efb70067);
  --grade7:linear-gradient(150deg, #d768a070, #d973a400, #df93b7bd);
  --grade801:linear-gradient(to right, #6bad4286, #77b35675,#9ec77065);
  --grade8menu0:linear-gradient(72deg, #6bad4294, #9ec7709e, #9ec77000, #9ec77082);
  --grade8menu:linear-gradient(68deg, #acaaaa, #dbd6d6);
  --grade8:linear-gradient(to right, #6bad42c4, #77b35652, #9ec770bf);
  --grade9:linear-gradient(to left, #efb70080, #df93b779);
  --grade10:linear-gradient(25deg, #99cc77cf, #d7689f33);
  --grade11:linear-gradient(154deg, #df93b7ad, #efb700a8);
}

.wrapper {
  overflow: hidden;
}

.fade-fv {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-fv.fv--on {
  opacity: 1;
  transform: translateY(0);
}

/* 任意のディレイ（使いたい場合） */
.fade-fv.delay-1 {
  transition-delay: 0.1s;
}

.fade-fv.delay-2 {
  transition-delay: 0.2s;
}

.fade-fv.delay-3 {
  transition-delay: 0.3s;
}

.fade-fv.delay-4 {
  transition-delay: 0.4s;
}

.fade-fv.delay-5 {
  transition-delay: 0.5s;
}

html {
  color: #6c6c6c;
}

a {
  text-decoration: none;
}

img {
  width: 100%;
}

main p {
  font-size: 1.6rem;
}

.leading-edge {
  font-size: 1.5em;
}

.text-emphasizes {
  font-size: 1.2em;
}

body.cpt_technical.body_product header nav ul.g-menu__nav-list:nth-of-type(2) li:first-of-type a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

body.body_product.application header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

body.body_product.products header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

body.body_product.service header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

body.body_product.zh-h_filter header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a,
body.body_product.zh-s_filter header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a,
body.body_product.ko_filter header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a,
body.body_product.es_filter header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a,
body.body_product.en_filter header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(2) a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

body.body_product.zh-h_housing header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a,
body.body_product.zh-s_housing header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a,
body.body_product.ko_housing header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a,
body.body_product.es_housing header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a,
body.body_product.en_housing header nav ul.g-menu__nav-list:nth-of-type(2) li:nth-of-type(3) a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

body.body_product.zh-h_ozone header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a,
body.body_product.zh-s_ozone header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a,
body.body_product.ko_ozone header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a,
body.body_product.es_ozone header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a,
body.body_product.en_ozone header nav ul.g-menu__nav-list:nth-of-type(2) li:last-child a {
  text-decoration-line: underline;
  text-decoration-color: #d7689f;
  text-decoration-style: solid;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

/* 共通: 言語メニュー */
.g-menu__nav-list-item--lang,
.header__lang {
  position: relative;
  font-weight: 400;
}

.g-menu__nav-list-item--lang .g-menu__sub-list,
.header__lang .g-menu__sub-list {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #5a5a5a;
  min-width: 160px;
  z-index: 1000;
  border-radius: 5px;
  margin-top: 5px;
}

.g-menu__nav-list-item--lang.open .g-menu__sub-list,
.header__lang.open .g-menu__sub-list {
  display: block;
}

.g-menu__sub-list li a {
  display: block;
  padding: 8px 12px;
  color: #333;
  text-decoration: none;
}

.g-menu__sub-list li a:hover {
  background: #f2f2f2;
}

:lang(zh-cmn-Hans),
.nav-lang_zh-s {
  font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "SimSun", "SimHei", "Yu Gothic", YuGothic, "Meiryo", "MS PGothic", "M PLUS 1p", sans-serif;
}

:lang(zh-cmn-Hant),
.nav-lang_zh-h {
  font-family: "Microsoft JhengHei", "PingFang TC", "Hiragino Sans CNS", "Noto Sans TC", "Yu Gothic", YuGothic, "Meiryo", "MS PGothic", "M PLUS 1p", sans-serif;
}

:lang(ko),
.nav-lang_ko {
  font-family: "Apple SD Gothic Neo", "SF Pro KR", "Malgun Gothic", "Nanum Gothic", "HY Gulim", "M PLUS 1p", sans-serif;
}

body.body_product footer#footer {
  margin-top: 120px;
  position: relative;
}

body {
  font-size: 1.5rem;
}

body.body_product p a {
  text-decoration-line: underline;
  text-decoration-color: #444;
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

.header .inner {
  width: 96%;
  max-width: 1024px;
}

.header.menu-active .inner.contents--grid {
  width: 100%;
}

body.body_product section#contents .product_table_box {
  position: relative;
  z-index: 0;
}

.technical_slider h1 {
  position: absolute;
  z-index: 3;
  top: 74px;
  left: 10%;
  letter-spacing: 0.2em;
}

.technical_slider h1::before {
  top: -62%;
  left: -20%;
  position: absolute;
  content: "";
  width: 151%;
  height: 227%;
  z-index: -1;
  border: 1px solid var(--oraColor);
  border-radius: 50%;
  transform: rotate(173deg);
}

.technical_slider h1::after {
  top: -46%;
  left: -25%;
  position: absolute;
  content: "";
  width: 165%;
  height: 184%;
  z-index: -1;
  border: 1px solid var(--ora1Color);
  border-radius: 50%;
  transform: rotate(172deg);
}

.technical_slider_h1 {
  position: relative;
  width: 96%;
  max-width: 1024px;
  padding-left: 5%;
  margin: 0 auto;
}

.page_header {
  background-color: #ffffff;
}

.header_curve {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 86%;
  z-index: -2;
  opacity: 0.8;
}

.page_h1 {
  height: 240px;
  display: flex;
  width: 96%;
  max-width: 1024px;
  margin: 0 auto;
  flex-direction: column;
  justify-content: space-around;
  position: relative;
}

.page_header_text {
  align-self: self-end;
  font-size: 1.8rem;
  font-weight: 500;
}

.page_header_h1 h1 {
  position: relative;
  display: inline-block;
  font-size: 4rem;
}

.page_header_h1 h1::before {
  top: -62%;
  left: -3%;
  position: absolute;
  content: "";
  width: 89%;
  height: 227%;
  z-index: -1;
  border: 1px solid var(--greenColor);
  border-radius: 50%;
  transform: rotate(173deg);
}

.page_header_h1 h1::after {
  top: -46%;
  left: 0%;
  position: absolute;
  content: "";
  width: 98%;
  height: 184%;
  z-index: -1;
  border: 1px solid var(--pinkColor);
  border-radius: 50%;
  transform: rotate(172deg);
}

.page_header-top .page_h1 {
  display: grid;
  align-items: center;
  justify-content: start;
  padding-left: 5%;
  position: relative;
}

.page_header .page_h1:before {
  position: absolute;
  content: "";
  width: 68%;
  height: 61%;
  z-index: -2;
  border-radius: 10px;
  opacity: 0.55;
  background-color: #fff;
  right: 0;
}

body.body_product main {
  width: 96%;
  margin: 0 auto;
  max-width: 1024px;
  position: relative;
}

body.body_product main:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 16%;
  background-image: var(--grade11);
  z-index: -1;
  bottom: -100px;
  left: 72%;
  opacity: 0; /* 初期は透明 */
  transition: opacity 0.8s ease;
  min-height: 300px;
  margin-bottom: 50px;
}

body.body_product main.fv--on::after {
  opacity: 0.3; /* 表示状態 */
}

.page_h1_wrapper {
  position: relative;
  z-index: 0;
}

.page_h1_wrapper h1 {
  position: relative;
  background: url(../img/home/main_ashirai.svg) no-repeat 0.5em 1.5em;
  background-size: 1.2em;
  padding-left: 2.5em;
  line-height: 2.5;
  font-size: 3.2rem;
  letter-spacing: 0.3em;
}

.page_h1_wrapper h1 span {
  font-size: 5.2rem;
}

.main_navi ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: space-between;
  justify-content: flex-start;
  gap: 2%;
}

.main_navi.top-main_navi h2 a span {
  font-size: 3.6rem;
}

.main_navi.top-main_navi h2 {
  margin-left: 2%;
  letter-spacing: 0.5em;
  font-size: 2.3rem;
}

.main_navi.top-main_navi h2 {
  background: url(../img/home/main_ashirai.svg) no-repeat 0.5em 1.4em;
  background-size: 1.2em;
  padding-left: 2.5em;
  line-height: 2.5;
}

.top-main_navi_wrapper {
  position: relative;
}

.main_navi.top-main_navi h3 {
  padding-left: 50px;
  font-size: 2.2rem;
}

.main_navi.top-main_navi:nth-of-type(3) ul,
.main_navi.top-main_navi:nth-of-type(4) ul {
  padding-top: 90px;
}

.main_navi.top-main_navi:nth-of-type(3) .top-main_navi_wrapper:nth-of-type(2) ul {
  margin-top: 90px;
}

.main_navi.top-main_navi:nth-of-type(3) h3 {
  padding-top: 30px;
  position: absolute;
  z-index: 1;
  text-shadow: -1px 0 rgba(255, 255, 255, 0.35), 1px 0 rgba(255, 255, 255, 0.35), 0 -1px rgba(255, 255, 255, 0.35), 0 1px rgba(255, 255, 255, 0.35), -1px -1px rgba(255, 255, 255, 0.35), -1px 1px rgba(255, 255, 255, 0.35), 1px -1px rgba(255, 255, 255, 0.35), 1px 1px rgba(255, 255, 255, 0.35), -2px 0 rgba(255, 255, 255, 0.35), 2px 0 rgba(255, 255, 255, 0.35), 0 -2px rgba(255, 255, 255, 0.35), 0 2px rgba(255, 255, 255, 0.35), -2px -1px rgba(255, 255, 255, 0.35), -2px 1px rgba(255, 255, 255, 0.35), 2px -1px rgba(255, 255, 255, 0.35), 2px 1px rgba(255, 255, 255, 0.35), -1px -2px rgba(255, 255, 255, 0.35), 1px -2px rgba(255, 255, 255, 0.35), -1px 2px rgba(255, 255, 255, 0.35), 1px 2px rgba(255, 255, 255, 0.35), -2px -2px rgba(255, 255, 255, 0.35), -2px 2px rgba(255, 255, 255, 0.35), 2px -2px rgba(255, 255, 255, 0.35), 2px 2px rgba(255, 255, 255, 0.35);
}

.main_navi.top-main_navi ul {
  position: relative;
  z-index: 0;
  border-radius: 15px;
  padding: 70px 50px 50px;
  border: 1px solid var(--oraColor);
  background-color: rgba(255, 255, 255, 0.3294117647);
  overflow: hidden;
}

.main_navi.top-main_navi ul::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transition: opacity 0.5s ease, transform 0.5s ease;
  z-index: -1;
}

.main_navi.top-main_navi:hover ul li a,
.main_navi.top-main_navi.active ul li a {
  background-color: var(--footerGray);
}

.main_navi.top-main_navi:first-of-type ul::before {
  background-image: url(../img/home/top-main_navi_01.jpg);
}

.main_navi.top-main_navi:nth-of-type(2) ul::before {
  background-image: url(../img/home/top-main_navi_02.jpg);
}

.main_navi.top-main_navi:nth-of-type(3) ul::before {
  background-image: url(../img/home/top-main_navi_03.jpg);
}

.main_navi.top-main_navi:nth-of-type(3) .top-main_navi_wrapper:nth-of-type(2) ul::before {
  background-image: url(../img/home/top-main_navi_04.jpg);
}

.main_navi.top-main_navi ul:hover::before,
.main_navi.top-main_navi ul.active::before {
  opacity: 0.7;
  transform: scale(1.1);
}

.main_navi ul li {
  width: 30%;
  text-align: center;
  margin-bottom: 31px;
  align-content: center;
  height: auto;
  position: relative;
  width: 23%;
}

.main_navi ul li a {
  background-color: #ffffff;
  display: block;
  padding: 12px 13px;
  border-radius: 10px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  height: 100%;
  align-content: center;
  min-height: 80px;
  letter-spacing: 0.1em;
  background-color: #d8d8d8;
  border: 1px solid var(--pink2Color);
}

.main_navi ul li::before,
.main_navi ul li::after {
  pointer-events: none;
}

.main_navi {
  margin: 20px 0 80px 0;
  background-color: var(--footerGray);
  padding: 30px;
  border-radius: 10px;
  padding: 50px 30px 30px;
}

.main_navi.top-main_navi {
  background-color: var(--footerGray);
  padding: 30px;
}

.main_navi.top-main_navi ul li a {
  background-color: var(--footerGray);
  background-image: none;
  border: 1.5px solid var(--green2Color);
}

.page_main_title h2 {
  letter-spacing: 0.3em;
  font-size: 2.4rem;
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-size: 0% 3px;
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-bottom: 20px;
  transition: background-size 0.8s ease-out;
}

.page_main_title h2.js-underline.animation--on {
  background-size: 60% 3px;
}

.page_main_title {
  margin-bottom: 70px;
}

.page_main_title.page_main_title_top h2 {
  font-size: 2.5rem;
  font-weight: 500;
  border-bottom: 2.5px solid var(--pinkColor);
  min-width: 230px;
}

.page_main_title.page_main_title_top p {
  font-size: 1.8rem;
  margin-bottom: 20px;
  display: block;
}

.page_main_title.page_main_title_top p:first-of-type {
  margin-top: 20px;
}

.page_main_title.page_main_title_top {
  background-color: #d8d8d8;
  display: block;
  border-radius: 5px;
  width: 60%;
  margin-top: 50px;
  margin-bottom: 0;
  padding: 30px;
  position: relative;
}

.page_main_title.page_main_title_top::after {
  background-image: var(--grade8menu0);
  position: absolute;
  content: "";
  width: 100vw;
  height: 157%;
  top: 109px;
  z-index: -1;
  opacity: 0; /* 初期は透明 */
  transition: opacity 0.8s ease;
  left: 95%;
}

.page_main_title.page_main_title_top.fv--on::after {
  opacity: 0.6; /* 表示状態 */
}

body.body_product section h3 {
  font-size: 2.6rem;
}

body.body_product section h4 {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 10px;
  width: -moz-fit-content;
  width: fit-content;
  color: var(--titleColor);
}

body.body_product section .index_navi_content h4 {
  width: auto;
}

body.body_product section {
  position: relative;
  margin: 50px 0;
}

body.body_product section.top-main_section {
  margin-top: 80px;
}

.main_tab_navi {
  display: flex;
  flex-direction: column;
  margin-top: 70px;
  position: relative;
  margin-bottom: 30px;
  font-size: 1.8rem;
  letter-spacing: 0.3em;
}

.main_tab_navi.non-title_filter {
  margin: 0;
}

.main_tab_navi:before {
  bottom: -6px;
  right: 0%;
  position: absolute;
  width: 98%;
  height: 112%;
  border: 1.5px solid var(--pink2Color);
  border-radius: 10px;
  pointer-events: none;
}

.main_tab_navi.sub_top {
  margin-top: 0;
  margin-bottom: 0;
}

.main_tab_navi h4 {
  font-size: 18px;
  position: relative;
  min-width: 48%;
  width: -moz-max-content;
  width: max-content;
  padding: 8px 36px;
  text-align: left;
}

.main_tab_navi h4:before {
  top: -2px;
  right: -4px;
  position: absolute;
  content: "";
  width: 100%;
  height: 112%;
  border-radius: 5px;
  pointer-events: none;
  background-color: #fff;
  background-color: #d8d8d8;
  z-index: -1;
  border: 1px solid var(--pinkColor);
}

.main_tab_navi ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  width: 100%;
  align-self: flex-end;
  padding: 2% 2% 0;
}

.main_tab_navi ul li {
  width: 32%;
  text-align: center;
  border: 1px solid var(--grayColor);
  margin-bottom: 2%;
  border-radius: 12px;
  background-color: var(--footerGray);
  align-content: center;
  background-color: #d8d8d8;
  border: 1px solid var(--pink2Color);
}

.main_tab_navi ul li a {
  padding: 12px;
  display: block;
  height: 100%;
  min-height: 85px;
  align-content: center;
  position: relative;
}

.main_tab_navi ul li a:after {
  content: "▶";
  right: 2px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
}

ul.product_ozone-contents_lists.ozone_examples-use li.active .product_ozone-contents_title h3 a::after,
.main_tab_navi ul li a.active:after,
.page_header_nav ul li a.active::after {
  content: "▼";
  color: var(--oraColor);
}

.main_tab_navi.non-title_filter ul li a:after {
  bottom: calc(50% - 1em);
}

.main_tab_navi ul li a.active,
.page_header_nav ul li a.active {
  height: 100%;
  align-content: center;
  border-radius: 12px;
  background-color: var(--grayColor);
  color: #fff;
}

a.link_list_contents {
  display: flex;
  gap: 3%;
  margin-top: 2%;
}

.link_list_img {
  width: 30%;
  aspect-ratio: 1/1;
  overflow: hidden;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.link_list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.link_list_text {
  width: 100%;
  align-self: flex-end;
  background-color: var(--footerGray);
  padding: 2%;
  border-radius: 8px;
}

li.link_list {
  background-color: rgba(243, 243, 245, 0.831372549);
  margin-top: 30px;
  padding: 3%;
  border-radius: 10px;
  box-shadow: 1px 1px 3px 1px #ccc;
}

[id*=app_menu-top] {
  scroll-margin-top: calc(var(--header-height, 80px) + 100px);
}

body.body_product.application .page_header .page_h1:before {
  background-image: url(../img/home/top-main_navi_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
}

body.body_product.application .page_header.page_header-top .page_h1:before {
  opacity: 0.4;
}

body.body_product.application .page_header .page_h1.app_industry:before {
  background-image: url(../img/app_industry/page_header_app_industry.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
}

body.body_product.application .page_header .page_h1.app_food-beverage:before {
  background-image: url(../img/app_food-beverage/page_header_app_food-beverage.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
}

body.body_product.application .page_header .page_h1.app_pharmaceutical:before {
  background-image: url(../img/app_pharmaceutical/page_header_app_pharmaceutical.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
}

body.cpt_technical.body_product .page_header .page_h1:before {
  background-image: url(../img/tecnical-archive-page-header.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.6;
}

body.body_product.application .page_header .page_h1.app_pharmaceutical h1 {
  letter-spacing: 0.5em;
  padding-left: 0.5em;
}

section.app_top_index {
  background-color: var(--footerGray);
  padding: 50px;
  border-radius: 10px;
  position: relative;
}

body.body_product.application section.app_top_index h3,
body.body_product.service section.app_top_index h3 {
  font-size: 2.3rem;
  background: url(../img/home/green_ashirai.svg) no-repeat 1em 0.4em;
  background-size: 0.6em;
  padding-left: 2.5em;
}

body.body_product .app_top_index h4 {
  font-size: 2rem;
  background-image: var(--grade8);
  padding: 20px;
  border-radius: 8px 8px 0 0;
  letter-spacing: 0.3em;
  width: initial;
}

.app_top_index a.link_list_contents {
  margin-top: 0;
  border-radius: 8px 8px 0 0;
}

.link_list_text_wrapper {
  width: 57%;
  outline: 1px solid var(--grayColor);
  border-radius: 8px;
}

.app_top_index .link_list_text {
  font-size: 1.8rem;
  border-radius: 0 0 8px 8px;
  padding: 20px;
  min-height: 143px;
}

.app_index ul.link_lists_wrapper li.link_list {
  box-shadow: none;
  display: flex;
  margin-top: 50px;
}

.app_index ul.link_lists_wrapper li.link_list:not(:first-of-type) {
  margin-top: 80px;
}

.app_index ul.link_lists_wrapper li.link_list:nth-of-type(even) a.link_list_contents {
  flex-direction: row-reverse;
}

.app_index.app_index_02 ul.link_lists_wrapper li.link_list:first-of-type a.link_list_contents {
  flex-direction: row-reverse;
}

.app_index ul.link_lists_wrapper li.link_list .link_list_img {
  width: 40%;
  aspect-ratio: 3/1;
  border-radius: 8px;
}

.app_index.app_index_02 {
  margin-top: 100px;
}

.app_section_wrapper {
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 100px;
  margin-top: 50px;
  background-color: var(--mainGray);
  position: relative;
}

.app_section_wrapper.left-bg:after {
  content: "";
  position: absolute;
  right: 80%;
  width: 100vw;
  height: 74%;
  border-radius: 10px 0 0 10px;
  background-image: var(--grade7);
  z-index: -1;
  bottom: -30%;
  opacity: 0; /* 初期は透明 */
  transition: opacity 2s ease;
}

.app_section_wrapper.left-bg.fv--on::after {
  opacity: 0.6; /* 表示状態 */
}

.left-bg {
  position: relative;
}

.left-bg:after {
  content: "";
  position: absolute;
  right: 95%;
  width: 100vw;
  height: 500px;
  border-radius: 10px 0 0 10px;
  background-image: var(--grade7);
  z-index: -1;
  top: 107%;
  opacity: 0;
  transition: opacity 2s ease;
}

.left-bg.fv--on::after {
  opacity: 0.6;
}

nav.breadcrumb_nav.left-bg:after {
  content: "";
  position: absolute;
  right: 95%;
  width: 100vw;
  height: 300px;
  border-radius: 10px 0 0 10px;
  background-image: var(--grade7);
  z-index: -1;
  top: 107%;
  opacity: 0;
  transition: opacity 2s ease;
}

nav.breadcrumb_nav.left-bg.fv--on::after {
  opacity: 0.6;
}

.right-bg {
  position: relative;
}

.right-bg:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 330px;
  background-image: var(--grade10);
  z-index: -1;
  top: 0;
  opacity: 0;
  left: 72%;
  transition: opacity 2s ease;
}

.right-bg.fv--on::after {
  opacity: 0.3;
}

.app_index.app_index_01.left-bg {
  position: relative;
}

.app_index.app_index_01.left-bg:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 556px;
  background-image: var(--grade7);
  z-index: -1;
  top: 50%;
  opacity: 0;
  /* left: 50%; */
  transition: opacity 2s ease;
}

.app_index.app_index_01.left-bg.fv--on::after {
  opacity: 0.7;
}

section.app_top_index.right-bg.fade-fv.fv--on {
  background-color: unset;
}

.main_navi.right-bg:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 60px;
  background-image: var(--grade10);
  z-index: -1;
  top: -9%;
  opacity: 0;
  left: 96%;
  transition: opacity 2s ease;
}

.main_navi.right-bg.fv--on::after {
  opacity: 0.5;
}

body.body_product.application .app_section_wrapper h3 {
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-size: 0% 3px;
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-bottom: 20px;
  transition: background-size 0.8s ease-out;
  letter-spacing: 0.3em;
}

body.body_product.application .app_section_wrapper h3.js-underline.animation--on {
  background-size: 60% 3px;
}

body.body_product.application section .table_section_wrapper > h3 {
  background: url(../img/home/green_ashirai.svg) no-repeat 1em 0.3em;
  background-size: 0.6em;
  padding-left: 2.5em;
  font-size: 2.2rem;
  letter-spacing: 0.3em;
}

section.app_footer_banner ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2%;
}

section.app_footer_banner ul li {
  width: 100%;
  /* background-color: var(--footerGray); */
  padding: 1%;
  border-radius: 8px;
  margin-bottom: 2%;
  background-image: var(--grade801);
  padding-top: 3%;
}

section.app_footer_banner ul li a {
  display: flex;
  /* background-image: var(--grade2); */
  width: 94%;
  background-color: #ffffff;
}

.app_footer_banner_img {
  width: 16%;
  overflow: hidden;
}

.app_footer_banner_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border: 5px solid #ffffff;
}

.app_footer_banner_text {
  width: 84%;
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.app_footer_banner_text p {
  margin-top: 3%;
}

.app_process-chart_wrapper {
  margin-top: 80px;
}

.app_process-chart {
  border-radius: 10px;
  -webkit-overflow-scrolling: touch; /* スマホでスムーズスクロール */
}

.process-scroll {
  width: 100%;
}

.process-img-wrapper {
  position: relative;
  display: inline-block;
}

.process-img-wrapper img {
  display: block;
  height: auto;
}

@media screen and (max-width: 630px) {
  .app_process-chart {
    overflow-x: auto;
  }
  .process-scroll {
    width: -moz-max-content;
    width: max-content;
  }
  .process-img-wrapper img {
    max-width: none;
    width: 630px;
  }
}
.app_hotspot {
  position: absolute;
  cursor: pointer;
  width: 80px;
  height: 74px;
}

.app_process-chart.water .app_hotspot {
  bottom: 16%;
}
.app_process-chart.water .app_hotspot:first-of-type {
  left: 8%;
}
.app_process-chart.water .app_hotspot:nth-of-type(2) {
  left: 24%;
}
.app_process-chart.water .app_hotspot:nth-of-type(3) {
  left: 33%;
}
.app_process-chart.water .app_hotspot:nth-of-type(4) {
  left: 64%;
}
.app_process-chart.water .app_hotspot:nth-of-type(4) .app_popup {
  left: -248%;
}
.app_process-chart.water .app_hotspot:nth-of-type(5) {
  left: 73%;
}
.app_process-chart.water .app_hotspot:nth-of-type(5) .app_popup {
  left: -248%;
}
.app_process-chart.water .app_hotspot:nth-of-type(6) {
  left: 22%;
  top: 9%;
}
.app_process-chart.water .app_hotspot:nth-of-type(6) .app_popup {
  bottom: initial;
  top: 73%;
}
.app_process-chart.water .app_hotspot:nth-of-type(7) {
  left: 45%;
  top: 9%;
}
.app_process-chart.water .app_hotspot:nth-of-type(7) .app_popup {
  bottom: initial;
  top: 73%;
}
.app_process-chart.water .app_hotspot:nth-of-type(8) {
  left: 84%;
  top: 9%;
}
.app_process-chart.water .app_hotspot:nth-of-type(8) .app_popup {
  bottom: initial;
  top: 73%;
  right: -50%;
  left: initial;
}

.app_process-chart.soft-drink_extract_01 .app_hotspot {
  bottom: 18%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:first-of-type {
  left: 48%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:first-of-type .app_popup {
  left: -200%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(2) {
  left: 58%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(2) .app_popup {
  left: -200%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(3) {
  left: 48%;
  top: 12%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(3) .app_popup {
  bottom: initial;
  top: 54%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(4) {
  left: 71%;
  top: 12%;
}
.app_process-chart.soft-drink_extract_01 .app_hotspot:nth-of-type(4) .app_popup {
  bottom: initial;
  top: 54%;
}

.app_process-chart.soft-drink_extract_02 .app_hotspot {
  bottom: 48%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:first-of-type {
  left: 74%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:first-of-type .app_popup {
  left: -200%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:nth-of-type(2) {
  top: 8%;
  left: 90%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:nth-of-type(2) .app_popup {
  bottom: initial;
  top: 54%;
  right: -7%;
  left: initial;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:nth-of-type(3) {
  top: 8%;
  left: 51%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:nth-of-type(3) .app_popup {
  bottom: initial;
  top: 54%;
}
.app_process-chart.soft-drink_extract_02 .app_hotspot:nth-of-type(4) {
  bottom: 37%;
  left: 26%;
}

.app_process-chart.soft-drink .app_hotspot {
  bottom: 27%;
}
.app_process-chart.soft-drink .app_hotspot:first-of-type {
  left: 29%;
}
.app_process-chart.soft-drink .app_hotspot:nth-of-type(2) {
  left: 29%;
  bottom: 10%;
}
.app_process-chart.soft-drink .app_hotspot:nth-of-type(2) .app_popup {
  bottom: -38%;
  left: 53%;
}
.app_process-chart.soft-drink .app_hotspot:nth-of-type(3) {
  left: 56%;
  top: 31%;
}
.app_process-chart.soft-drink .app_hotspot:nth-of-type(3) .app_popup {
  bottom: 62%;
}

.app_process-chart.beer .app_hotspot {
  bottom: 34%;
}
.app_process-chart.beer .app_hotspot:first-of-type {
  left: 36%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(2) {
  left: 49%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(2) .app_popup > ul {
  max-width: 240px;
  justify-content: space-between;
}
.app_process-chart.beer .app_hotspot:nth-of-type(3) {
  left: 70%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(3) .app_popup {
  left: -120%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(4) {
  bottom: 50%;
  left: 61%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(5) {
  bottom: 13%;
  left: 17%;
}
.app_process-chart.beer .app_hotspot:nth-of-type(6) {
  bottom: 13%;
  left: 37%;
}

.app_process-chart.wine .app_hotspot {
  bottom: 16%;
}
.app_process-chart.wine .app_hotspot:first-of-type {
  left: 36%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(2) {
  left: 47%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(3) {
  left: 68%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(3) .app_popup {
  left: -100%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(4) {
  bottom: 40%;
  left: 31%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(5) {
  bottom: 40%;
  left: 62%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(6) {
  bottom: 79%;
  left: 43%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(6) .app_popup {
  bottom: 16%;
  left: 54%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(7) {
  bottom: 79%;
  left: 68%;
}
.app_process-chart.wine .app_hotspot:nth-of-type(7) .app_popup {
  bottom: 16%;
  left: 54%;
}

.app_process-chart.sake-shochu_01 .app_hotspot {
  bottom: 24%;
  left: 81%;
}
.app_process-chart.sake-shochu_01 .app_hotspot .app_popup {
  left: -212px;
}

.app_process-chart.sake-shochu_02 .app_hotspot {
  bottom: 16%;
  left: 79%;
}
.app_process-chart.sake-shochu_02 .app_hotspot .app_popup {
  left: -212px;
}

.app_process-chart.milk_large-fermentation_01 .app_hotspot:first-of-type {
  bottom: 72%;
  left: 51%;
}
.app_process-chart.milk_large-fermentation_01 .app_hotspot:first-of-type .app_popup {
  bottom: -64%;
  left: 50%;
}
.app_process-chart.milk_large-fermentation_01 .app_hotspot:nth-of-type(2) {
  bottom: 37%;
  left: 65%;
}
.app_process-chart.milk_large-fermentation_01 .app_hotspot:nth-of-type(2) .app_popup {
  bottom: -64%;
  left: 43%;
}

.app_process-chart.milk_large-fermentation_02 .app_hotspot {
  bottom: 12%;
  left: 14%;
}
.app_process-chart.milk_large-fermentation_02 .app_hotspot .app_popup {
  left: 40%;
  bottom: 50%;
}

.app_process-chart.sweetener_favors_01 .app_hotspot {
  bottom: 21%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:first-of-type {
  left: 50%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(2) {
  left: 77%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(2) .app_popup {
  left: -247%;
  bottom: 68%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(3) {
  bottom: 59%;
  left: 73%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(3) .app_popup {
  left: -200%;
  bottom: 30%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(4) {
  left: 58%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(4) .app_popup {
  left: -200%;
  bottom: 56%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(5) {
  left: 83%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(5) .app_popup {
  left: -383%;
  bottom: 68%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(6) {
  bottom: 59%;
  left: 81%;
}
.app_process-chart.sweetener_favors_01 .app_hotspot:nth-of-type(6) .app_popup {
  left: -383%;
  bottom: 68%;
}

.app_process-chart.sweetener_favors_02 .app_hotspot {
  bottom: 26%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:first-of-type {
  left: 35%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:nth-of-type(2) {
  left: 42%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:nth-of-type(3) {
  left: 66%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:nth-of-type(3) .app_popup {
  left: -237%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:nth-of-type(4) {
  left: 79%;
}
.app_process-chart.sweetener_favors_02 .app_hotspot:nth-of-type(4) .app_popup {
  left: -237%;
}

.app_process-chart.food_utility_01 .app_hotspot {
  bottom: 25%;
}
.app_process-chart.food_utility_01 .app_hotspot:first-of-type {
  left: 16%;
}
.app_process-chart.food_utility_01 .app_hotspot:nth-of-type(2) {
  left: 46%;
}
.app_process-chart.food_utility_01 .app_hotspot:nth-of-type(3) {
  left: 54%;
}
.app_process-chart.food_utility_01 .app_hotspot:nth-of-type(4) {
  left: 63%;
}
.app_process-chart.food_utility_01 .app_hotspot:nth-of-type(4) .app_hotspot {
  left: -100%;
}

.app_process-chart.food_utility_02 .app_hotspot {
  bottom: 25%;
  left: 24%;
}

.app_process-chart.food_utility_03 .app_hotspot {
  bottom: 29%;
}
.app_process-chart.food_utility_03 .app_hotspot:first-of-type {
  left: 23%;
}
.app_process-chart.food_utility_03 .app_hotspot:nth-of-type(2) {
  left: 31%;
}
.app_process-chart.food_utility_03 .app_hotspot:nth-of-type(3) {
  left: 40%;
}
.app_process-chart.food_utility_03 .app_hotspot:nth-of-type(4) {
  left: 49%;
}

.app_process-chart.food_utility_04 .app_hotspot {
  bottom: 25%;
  left: 24%;
}

.app_popup {
  display: none;
  position: absolute;
  bottom: 75%;
  left: 0;
  background: var(--footerGray);
  border: 1px solid #aaa;
  padding: 30px 24px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 10;
  font-size: 1.8rem;
  width: -moz-max-content;
  width: max-content;
}

.app_popup ul {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.app_popup > ul > li {
  border: 1px solid;
  padding: 8px;
  border-radius: 5px;
  width: -moz-min-content;
  width: min-content;
  min-width: 112px;
}

.app_popup p {
  font-size: 0.8em;
}

.app_process-chart .app_hotspot:hover .app_popup,
.app_process-chart .app_hotspot.active .app_popup {
  display: block;
}

/* モバイル用の挙動（タップ対応） */
ul.table_pdf-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5%;
}

h1.app_pharmaceutical {
  font-size: 5rem;
}

.app_process-chart.active-ingredients .app_hotspot .app_popup {
  bottom: 54%;
  left: 45%;
}
.app_process-chart.active-ingredients .app_hotspot:first-of-type {
  bottom: 84%;
  left: 25%;
}
.app_process-chart.active-ingredients .app_hotspot:first-of-type .app_popup {
  bottom: -370%;
  left: 62%;
}
.app_process-chart.active-ingredients .app_hotspot:first-of-type .app_popup > ul {
  flex-wrap: wrap;
  width: -moz-min-content;
  width: min-content;
}
.app_process-chart.active-ingredients .app_hotspot:first-of-type .app_popup > ul > li {
  min-width: 240px;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(2) {
  bottom: 54%;
  left: 45%;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(2) .app_popup {
  bottom: -251%;
  left: 50%;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(2) .app_popup > ul {
  flex-wrap: wrap;
  width: -moz-min-content;
  width: min-content;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(2) .app_popup > ul > li {
  min-width: 198px;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(3) {
  bottom: 58%;
  left: 28%;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(3) .app_popup {
  bottom: -251%;
  left: 62%;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(3) .app_popup > ul {
  flex-wrap: wrap;
  width: -moz-min-content;
  width: min-content;
}
.app_process-chart.active-ingredients .app_hotspot:nth-of-type(3) .app_popup > ul > li {
  min-width: 198px;
}

.app_process-chart.sterile-drug .app_hotspot:first-of-type {
  top: 8%;
  left: 48%;
}
.app_process-chart.sterile-drug .app_hotspot:first-of-type .app_popup {
  bottom: -270%;
  left: -84%;
}
.app_process-chart.sterile-drug .app_hotspot:nth-of-type(2) {
  top: 8%;
  left: 63%;
}
.app_process-chart.sterile-drug .app_hotspot:nth-of-type(2) .app_popup {
  bottom: -205%;
  left: -10%;
}
.app_process-chart.sterile-drug .app_hotspot:nth-of-type(3) {
  top: 12%;
  left: 21%;
}
.app_process-chart.sterile-drug .app_hotspot:nth-of-type(3) .app_popup {
  bottom: -178%;
  left: 10%;
}

.app_process-chart.pharmaceutical_utility .app_hotspot:first-of-type {
  top: 18%;
  left: 40%;
}
.app_process-chart.pharmaceutical_utility .app_hotspot:first-of-type .app_popup {
  bottom: -270%;
  left: 10%;
}
.app_process-chart.pharmaceutical_utility .app_hotspot:nth-of-type(2) {
  top: 11%;
  left: 19%;
}
.app_process-chart.pharmaceutical_utility .app_hotspot:nth-of-type(2) .app_popup {
  bottom: -271%;
  left: 10%;
}
.app_process-chart.pharmaceutical_utility .app_hotspot:nth-of-type(3) {
  top: 16%;
  left: 69%;
}
.app_process-chart.pharmaceutical_utility .app_hotspot:nth-of-type(3) .app_popup {
  bottom: -261%;
  left: -45%;
}

.app_process-chart.biopharmaceutical .process-img-wrapper img {
  width: 1200px;
}
.app_process-chart.biopharmaceutical .app_hotspot {
  width: 40px;
  height: 40px;
}
.app_process-chart.biopharmaceutical .app_hotspot:first-of-type {
  bottom: 42%;
  right: 9%;
}
.app_process-chart.biopharmaceutical .app_hotspot:first-of-type .app_popup {
  bottom: 75%;
  left: -266%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(2) {
  bottom: 42%;
  right: 20%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(2) .app_popup {
  left: -205%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(2) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(3) {
  bottom: 42%;
  right: 30%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(3) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(4) {
  bottom: 42%;
  right: 42%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(4) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(5) {
  bottom: 42%;
  right: 56%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(5) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(6) {
  bottom: 31%;
  right: 70%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(6) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(7) {
  bottom: 75%;
  right: 61%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(7) .app_popup {
  bottom: -137%;
  left: 99%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(7) .app_popup > ul > li {
  min-width: 264px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(8) {
  bottom: 74%;
  right: 86%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(8) .app_popup {
  bottom: -137%;
  left: 92%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(8) .app_popup > ul > li {
  min-width: 264px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(9) {
  bottom: 75%;
  right: 92%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(9) .app_popup {
  bottom: -137%;
  left: 90%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(9) .app_popup > ul > li {
  min-width: 264px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(10) {
  bottom: 76%;
  right: 67%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(10) .app_popup {
  bottom: -137%;
  left: 99%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(10) .app_popup > ul > li {
  min-width: 264px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(11) {
  bottom: 41%;
  right: 83%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(11) .app_popup {
  bottom: -121%;
  left: 87%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(11) .app_popup > ul > li {
  min-width: 192px;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(12) {
  bottom: 42%;
  right: 48%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(12) .app_popup {
  bottom: -121%;
  left: 87%;
}
.app_process-chart.biopharmaceutical .app_hotspot:nth-of-type(12) .app_popup > ul > li {
  min-width: 192px;
}

.app_hotspot.app_pharmaceutical_hotspot .app_popup > ul {
  flex-wrap: nowrap;
  width: -moz-max-content;
  width: max-content;
  gap: 30px;
}

table.products_table tbody td.use-point {
  font-size: 3rem;
  text-align: center;
}

.bio_table_wrapper table.products_table thead.products_table_h {
  background-image: var(--grade);
}

.bio_table_wrapper table.products_table {
  width: 100%;
  max-width: 500px;
  min-width: 60%;
  margin-bottom: 50px;
}

nav.breadcrumb_nav {
  height: 50px;
}

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  height: 100%;
  align-items: center;
}

.breadcrumb li:not(:last-of-type)::after {
  content: "›";
  margin: 0 0.6em; /* 記号の左右の余白 */
  color: #6c6c6c; /* 記号の色 */
}

.table_section_wrapper {
  padding-top: 30px;
}

body.body_product section .table_section_wrapper h3 {
  background: url(../img/home/green_ashirai.svg) no-repeat 1em 0.4em;
  background-size: 0.6em;
  padding-left: 2.5em;
  font-size: 2.2rem;
  letter-spacing: 0.5em;
}

.products_table_wrapper {
  margin: 20px 0 80px;
}

thead.products_table_h {
  background-image: var(--grade9);
}

table.products_table tbody td a {
  margin-bottom: 5px;
  display: inline-block;
}

table.products_table thead.products_table_h th {
  padding-top: 20px;
  padding-bottom: 20px;
  text-align: center;
  /* width:10%; */
}

table.products_table thead.products_table_h tr th {
  font-weight: 500;
}

table.products_table {
  width: 100%;
  border-collapse: collapse; /* 枠線の重なりをなくす */
  border: 1px solid var(--titleColor);
  background-color: var(--footerGray);
  table-layout: fixed;
  min-width: 880px;
}

table.products_table thead.products_table_h th {
  border: 1px solid var(--titleColor);
}

table.products_table tbody th,
table.products_table tbody td {
  padding: 12px 16px;
  border: 1px solid var(--titleColor);
  text-align: left;
}

table.products_table tbody td {
  background-color: #ffffff;
}

/* PDFアイコン挿入（footer と お問い合わせフォームを除外） */
a[href$=".pdf"]:not(footer a[href$=".pdf"]):not(.form__agreement a[href$=".pdf"])::after {
  content: "";
  display: inline-block;
  width: 23px;
  height: 27px;
  margin-left: 4px;
  background-image: url(../img/pdf_icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: bottom;
}

.aurora-bg {
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
}

/* 各レイヤー = スクロールで動かす箱（CSS変数でY移動） */
.aurora-bg > div {
  position: absolute;
  inset: 0;
  --scrollY: 0px; /* JSで更新する */
  transform: translateY(var(--scrollY));
}

/* 実際に光る“本体”は ::before で。ここにアニメのみを適用 */
.aurora-bg > div::before {
  content: "";
  position: absolute;
  /* 画面より大きくして激しく動かしても切れないように */
  left: -50vw;
  top: -50vh;
  right: -50vw;
  bottom: -50vh;
  background: linear-gradient(120deg, rgba(0, 255, 255, 0.3), rgba(255, 0, 255, 0.3));
  filter: blur(100px);
  mix-blend-mode: screen;
  opacity: 0.6;
  animation: moveAurora1 12s ease-in-out infinite;
  transform-origin: center;
}

/* レイヤーごとに色と動き・速度を変える */
.aurora-bg > div:nth-child(2)::before {
  background: linear-gradient(100deg, rgba(0, 255, 200, 0.3), rgba(100, 0, 255, 0.3));
  animation: moveAurora2 14s ease-in-out infinite;
}

.aurora-bg > div:nth-child(3)::before {
  background: linear-gradient(140deg, rgba(255, 0, 200, 0.3), rgba(0, 200, 255, 0.3));
  animation: moveAurora3 16s ease-in-out infinite;
}

.aurora-bg > div:nth-child(4)::before {
  background: linear-gradient(160deg, rgba(255, 255, 0, 0.3), rgba(0, 255, 100, 0.3));
  animation: moveAurora4 18s ease-in-out infinite;
}

@keyframes moveAurora1 {
  0% {
    transform: scale(1.2) translateX(-20%) translateY(-30%) rotate(5deg) skewY(10deg);
  }
  50% {
    transform: scale(1.4) translateX(20%) translateY(30%) rotate(-5deg) skewY(-10deg);
  }
  100% {
    transform: scale(1.2) translateX(-20%) translateY(-30%) rotate(5deg) skewY(10deg);
  }
}
@keyframes moveAurora2 {
  0% {
    transform: scale(1.3) translateX(25%) translateY(-20%) rotate(-8deg) skewY(-12deg);
  }
  50% {
    transform: scale(1.5) translateX(-25%) translateY(20%) rotate(8deg) skewY(12deg);
  }
  100% {
    transform: scale(1.3) translateX(25%) translateY(-20%) rotate(-8deg) skewY(-12deg);
  }
}
@keyframes moveAurora3 {
  0% {
    transform: scale(1.25) translateX(-15%) translateY(25%) rotate(10deg) skewY(8deg);
  }
  50% {
    transform: scale(1.45) translateX(15%) translateY(-25%) rotate(-10deg) skewY(-8deg);
  }
  100% {
    transform: scale(1.25) translateX(-15%) translateY(25%) rotate(10deg) skewY(8deg);
  }
}
@keyframes moveAurora4 {
  0% {
    transform: scale(1.2) translateX(30%) translateY(30%) rotate(-12deg) skewY(-6deg);
  }
  50% {
    transform: scale(1.4) translateX(-30%) translateY(-30%) rotate(12deg) skewY(6deg);
  }
  100% {
    transform: scale(1.2) translateX(30%) translateY(30%) rotate(-12deg) skewY(-6deg);
  }
}
body.body_product.products .page_header .page_h1:before {
  background-image: url(../img/home/top-main_navi_02-1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  opacity: 0.3;
}

body.body_product.products .page_header.page_header-top .page_h1:before {
  opacity: 0.5;
}

.page_header_nav ul {
  display: flex;
  gap: 5px;
  flex-direction: column;
}

.page_header_nav {
  align-self: end;
}

.page_header_nav ul li a {
  padding: 10px 20px;
  display: block;
  height: 100%;
  align-content: center;
  font-size: 1.43rem;
  position: relative;
  border: 1px solid var(--grayColor);
  background-color: #fff;
  border-radius: 12px;
}

.page_header_nav ul li a:after {
  content: "▶";
  right: 2px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
  top: calc(50% - 1rem);
}

.page_h1.product_ozone .page_header_nav ul li a {
  min-width: 220px;
}

.page_header_nav ul li {
  text-align: center;
}

.page_header.products_product_filter .page_h1 {
  height: 418px;
}

.page_header.products_product_filter .page_h1:before {
  position: absolute;
  content: "";
  width: 77%;
  height: 61%;
  z-index: -2;
  /* background-image: var(--grade); */
  border-radius: 15px;
  opacity: 0.55;
  background-color: #fff;
  right: 2%;
}

.page_header.products_product_filter .page_h1 {
  position: relative;
}

ul.filter_search_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}

ul.filter_search_lists li {
  padding: 30px;
  border: 1px solid;
  border-radius: 8px;
  width: 32%;
  margin-bottom: 2%;
  font-size: 1.9rem;
}

@media screen and (max-width: 630px) {
  ul.filter_search_lists li {
    width: 48%;
    justify-content: space-between;
  }
}
@media screen and (max-width: 430px) {
  ul.filter_search_lists li {
    width: 100%;
  }
}
ul.filter_search_lists li a {
  display: block;
}

ul.filter_search_lists li {
  background-color: #fff;
}

form.filter_search_form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 50%;
}

.filter_search_form-cont {
  display: flex;
  flex-direction: column;
}

.filter_search_form-cont select,
.filter_search_form-cont input {
  padding: 10px 15px;
  margin-top: 10px;
  background-color: #fff;
}

.filter_search_form-cont input[type=submit] {
  background-color: var(--mainGray);
  border-radius: 8px;
}

.app_section_wrapper .ez-change_contents.filter_search h3 {
  margin-top: 0;
}

section.ez-change_contents.filter_search form.filter_search_form {
  font-size: 1.8rem;
}

[id*=filter_list-] {
  scroll-margin-top: calc(var(--header-height, 80px) + 100px);
}

.product_filter_lists {
  padding-top: 50px;
}

.product_filter_lists h3,
.ez-change_contents-lists h4 {
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}

.product_filter_lists h3 > span,
.ez-change_contents-lists h4 > span {
  font-size: 1.5em;
}

.product_filter_lists ul {
  background-color: #fff;
  padding: 25px;
  line-height: 3;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.product_filter_lists_img figure {
  width: 48%;
}

.product_filter_lists_img {
  background-color: #fff;
  padding: 25px;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}

.product_filter_lists ul li {
  background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0.2em;
  background-size: 2em;
  padding-left: 3em;
  font-size: 1.8rem;
  line-height: 2;
  padding-bottom: 3px;
}

.product_filter_lists ul li:not(:last-of-type) {
  margin-bottom: 50px;
}

.product_filter_lists h3,
.ez-change_contents-lists h4 {
  display: inline-flex; /* テキストとアイコンを横並び */
  align-items: baseline;
}

.product_filter_lists h3::after,
.ez-change_contents-lists h4::after {
  content: "";
  display: inline-block;
  width: 1.2em; /* アイコンサイズ調整 */
  height: 1.2em;
  background: url("../img/filter_list/spotlight-icon.svg") no-repeat center/contain;
  position: relative;
  top: -0.5em; /* ← 少し上にずらす */
}

[id*=ez-change--] {
  scroll-margin-top: calc(var(--header-height, 80px) + 100px);
}

.main_tab_navi h4.ez-change {
  letter-spacing: 0;
}

.video_content iframe {
  aspect-ratio: 560/315;
}

.video_content {
  max-width: 600px;
  padding-top: 20px;
}

.ez-change_top {
  background-color: var(--footerGray);
  border-radius: 15px 15px 15px 0;
  padding: 30px;
  display: flex;
  align-items: center;
  gap: 40px;
}

.ez-change_top-text {
  flex: 1; /* テキストを幅いっぱい使う */
}

.ez-change_top-img {
  width: 46%;
}

.ez-change_top-text p {
  font-size: 1.8rem;
}

.ez-change_top-text ul {
  margin: 30px;
}

.ez-change_top-text ul li {
  background: url(../img/ez-change/troublesome-icon.svg) no-repeat 0em 0.8em;
  background-size: 1.5em;
  padding-left: 2.5em;
  line-height: 3;
  font-size: 1.8rem;
}

[id*=labo-pure--] {
  scroll-margin-top: calc(var(--header-height, 80px) + 100px);
}

.index_navi ul {
  display: flex;
}

.index_navi li {
  margin: 0;
}

.index_navi a {
  display: block;
  padding: 20px 25px;
  text-decoration: none;
  outline: 0.01px solid rgba(108, 108, 108, 0.6196078431);
  background: var(--footerGray);
  border-radius: 8px 8px 0 0;
}

.index_navi.ez-change_top-index_navi a {
  border-radius: 0 0 8px 8px;
}

.index_navi a.active {
  background: var(--ora2Color);
  outline: 1px solid var(--ora2Color);
}

.index_navi_contents {
  outline: 0.01px solid rgba(108, 108, 108, 0.6196078431);
  border-radius: 0 15px 15px 15px;
  background-color: var(--footerGray);
  padding: 30px;
  display: flex;
  flex-direction: column;
}

.index_navi_content_wrapper {
  margin: 20px 0;
}

.index_navi_content_wrapper h3,
.ez-change_contents h3 {
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-size: 0% 3px;
  background-repeat: no-repeat;
  background-position: left bottom;
  padding-bottom: 20px;
  transition: background-size 0.8s ease-out;
}

.index_navi_content_wrapper h3.js-underline.animation--on,
.ez-change_contents h3.js-underline.animation--on {
  background-size: 60% 3px;
}

.index_navi_content_wrapper:not(:first-of-type) h3 {
  margin-top: 50px;
}

.index_navi_content {
  margin-top: 30px;
  padding: 0 50px;
}

dl.content_qa dt {
  background-color: #ffffff;
  border-top: 1px solid;
  border-right: 1px solid;
  border-left: 1px solid;
  border-radius: 10px 10px 0 0;
  padding: 30px;
  font-size: 1.8rem;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background-size 0.8s ease-out;
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
}

dl.content_qa dt.js-underline.animation--on {
  background-position: center bottom;
  background-size: 85% 2px;
}

dl.content_qa dt:not(:first-of-type) {
  margin-top: 50px;
}

dl.content_qa dd {
  border-bottom: 1px solid;
  border-right: 1px solid;
  border-left: 1px solid;
  border-radius: 0 0 10px 10px;
  padding: 30px 30px 30px calc(30px + 3em);
  background: url(../img/filter_list/check-icon.svg) no-repeat 2.5em 2em;
  background-size: 2em;
  font-size: 1.6rem;
  background-color: #ffffff;
}

.index_navi_img {
  display: flex;
  justify-content: flex-end;
  padding: 20px 50px;
}

.index_navi_img img {
  border-radius: 15px;
  width: 40%;
}

ul.index_navi_content li {
  border: 1px solid;
  border-radius: 10px;
  padding: 30px;
  background-color: #ffffff;
}

ul.index_navi_content li:not(:first-of-type) {
  margin-top: 50px;
}

ul.index_navi_content li p {
  padding: 30px;
  font-size: 1.6rem;
}

ul.index_navi_content li h4 > span {
  padding-bottom: 20px;
}

ul.index_navi_content li h4 > span.not-line {
  display: inline-flex; /* テキストとアイコンを横並び */
  align-items: baseline;
  padding-right: 0.8em;
  color: var(--titleColor);
}

ul.index_navi_content li h4 > span.not-line::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(../img/filter_list/spotlight-icon.svg) no-repeat center/contain;
  position: relative;
  top: 0em;
  rotate: 230deg;
}

ul.index_navi_content li h4 > span.not-line > span {
  font-size: 2em;
}

ul.index_navi_content li p {
  padding: 30px 30px 30px calc(30px + 3em);
  background: url(../img/filter_list/check-icon.svg) no-repeat 2.5em 1.6em;
  background-size: 2em;
  font-size: 1.6rem;
}

ul.index_navi_content li > h4 > span:nth-of-type(2) {
  text-align: center;
  display: block;
  margin-bottom: 20px;
  font-size: 2.2rem;
  letter-spacing: 0.5em;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background-size 0.8s ease-out;
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
}

ul.index_navi_content li > h4 > span:nth-of-type(2).js-underline.animation--on {
  background-size: 80% 2px;
  background-position: center bottom;
}

.products_table_wrapper {
  overflow-x: auto;
}

/* レイアウトの基礎 */
.products_table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.products_table th,
.products_table td {
  padding: 0.75rem 0.5rem;
  border: 1px solid #d9e1ef;
  vertical-align: middle;
  word-break: break-word;
}

.products_table col.w-no {
  width: 6.5rem;
} /* 品番 */
.products_table col.w-shell-material {
  width: 13rem;
} /* シェル 材質 */
.products_table col.w-vent {
  width: 10.5rem;
} /* エアベント有無 */
.products_table col.w-photo {
  width: 110px;
} /* 側面/底面 写真（2列とも） */
.products_table col.w-valve-material {
  width: 12rem;
} /* チェックバルブ 材質 */
.products_table col.w-len {
  width: 4.5rem;
} /* フィルター全長（6列を等幅） */
.products_table th.photo,
.products_table td.photo {
  text-align: center;
}

.products_table .photo img {
  display: block;
  margin: 0 auto;
  max-width: 120px;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}

.products_table.table_ez-change_single td:nth-child(n+7),
.products_table.table_ez-change_single .tbody_th th:nth-child(n+7) {
  text-align: center;
}

table.products_table tbody tr.tbody_th {
  background: rgba(225, 143, 18, 0.2705882353);
}

table.products_table tbody tr.tbody_th th {
  text-align: center;
}

.ez-change_housing_th-h3 {
  text-align: left;
  font-size: 2.2rem;
  letter-spacing: 0.3em;
  font-weight: 500;
}

.products_table.table_ez-change_housing tbody td:not(:nth-child(4)) {
  text-align: center;
}

.table_remark {
  padding: 20px;
  background-color: var(--footerGray);
  border-bottom: 1px solid var(--titleColor);
  border-right: 1px solid var(--titleColor);
  border-left: 1px solid var(--titleColor);
}

.w-lineup_accessory-name {
  width: 20%;
}

.filter_ez-change_wrapper {
  padding: 20px;
}

.filter_ez-change_wrapper > h4 {
  background: url(../img/home/green_ashirai.svg) no-repeat 1em 0.3em;
  background-size: 0.6em;
  padding-left: 2.5em;
  font-size: 2.2rem;
  letter-spacing: 0.3em;
}

.filter_ez-change_wrapper p {
  padding-left: 50px;
  padding-top: 14px;
  font-size: 1.8rem;
}

.ez-change_contents-img {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 50px;
}

.ez-change_contents-img figure {
  width: 48%;
  border-radius: 10px;
}

.ez-change_contents-img figure img {
  width: 100%;
  border-radius: 10px;
}

section.ez-change_contents {
  background-color: var(--footerGray);
  padding: 50px 30px 50px;
  border-radius: 10px;
}

section.ez-change_contents > p {
  margin: 30px 42px 0;
}

.ez-change_contents-lists {
  padding: 40px 20px;
  margin-bottom: 50px;
  background-color: #fff;
  border-radius: 10px;
}

section.ez-change_main-h2 {
  background-color: #fff;
  padding: 50px;
  border-radius: 10px;
  position: relative;
}

section.ez-change_main-h2 h2,
.examples-use_wrapper.product_plant > p {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.2em;
  line-height: 3;
  padding-bottom: 10px;
  display: inline;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background-size 0.8s ease-out;
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
}

section.ez-change_main-h2 h2.js-underline.animation--on,
.examples-use_wrapper.product_plant > p.js-underline.animation--on {
  background-size: 100% 3px;
  background-position: center bottom;
}

.ez-change_contents-lists ul li {
  background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0.2em;
  background-size: 1.8em;
  padding-left: 3em;
  font-size: 1.8rem;
  line-height: 2;
  padding-bottom: 3px;
}

.ez-change_contents-lists ul li:not(:last-of-type) {
  margin-bottom: 32px;
}

col.labo-pure-no {
  width: 10rem;
}

col.labo-pure-photo {
  width: 13rem;
}

col.labo-pure-tex {
  width: 43rem;
}

col.labo-pure-num {
  width: 11rem;
}

.products_table.table_labo-pure-list tbody td:nth-child(3) {
  text-align: center;
}

col.labo-pure-connector-tex {
  width: 12rem;
}

.products_table.table_labo-pure-connector-list td {
  text-align: center;
}

.app_section_wrapper.halal_wrapper .ez-change_contents-img figure {
  margin-bottom: 30px;
}

col.halal-type {
  width: 138px;
}

col.halal-no {
  width: 140px;
}

col.halal-num {
  width: 110px;
}

col.halal-photo {
  width: 120px;
}

.page_header_nav.page_header_housing {
  display: flex;
  justify-content: flex-end;
}

.page_header_nav.page_header_housing ul li {
  width: 32%;
}

.page_header_nav.page_header_housing ul {
  flex-direction: row;
  flex-wrap: wrap;
  width: 68%;
}

table.products_table.specification-list figure {
  height: 400px;
  display: flex;
  align-items: center;
}

table.products_table.specification-list figure img {
  max-height: 400px;
}

.table_section_wrapper.forsp_table table.products_table tbody td:nth-child(2),
.table_section_wrapper.forsp_table table.products_table tbody th {
  text-align: center;
}

/* デフォルト非表示 */
.housing_content-code {
  display: none;
}

/* 表示用クラス */
.housing_content-code.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.table_section_wrapper.forsp_table {
  display: none;
}

@media screen and (max-width: 1024px) {
  .table_section_wrapper.forsp_table {
    display: block;
  }
  .products_table_wrapper.forpc_table {
    display: none;
  }
}
.product_housing_contents {
  margin-top: 80px;
}

.product_housing_contents-img {
  display: flex;
  gap: 2%;
}

.product_housing_contents-img > div {
  border-radius: 8px;
  background-color: #ffffff;
  width: 49%;
  padding: 10px;
}

.product_housing_contents-img h4 {
  height: 80px;
}

.main_tab_navi.housing_search h5 {
  font-size: 2rem;
  font-weight: 400;
}

.main_tab_navi.housing_search a.active h5 {
  font-weight: 500;
}

.main_tab_navi.housing_search ul li > a {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.housing_search_list-title {
  border-bottom: 2px solid var(--pink2Color);
  display: flex;
  justify-content: center;
  height: 80px;
  align-items: center;
}

.housing_search_list-text {
  display: flex;
  height: 126px;
  align-items: center;
}

.housing_search_list-text {
  letter-spacing: 0;
}

.main_tab_navi.housing_search ul li {
  width: 23.5%;
}

.main_tab_navi.housing_search ul li a:after {
  bottom: 0;
}

col.specification-list-text {
  width: 11rem;
}

col.specification-list-no {
  width: 9rem;
}

col.specification-list-photo {
  width: 9rem;
}

col.specification-list-num1 {
  width: 9rem;
}

col.specification-list-num2 {
  width: 11rem;
}

col.specification-list-texts {
  width: 17rem;
}

.page_main_title.housing_search-main_title ul {
  margin-top: 30px;
  margin-left: 2em;
}

table.products_table.table_housing_search ul li {
  list-style: disc;
  list-style-position: outside;
  margin-bottom: 5px;
  margin-left: 10px;
}

.products_table.table_housing_search td:nth-child(4),
.products_table.table_housing_search td:nth-child(5) {
  text-align: center;
}

.page_main_title.housing_search-main_title {
  background-color: var(--footerGray);
  border-radius: 8px;
  padding: 60px;
  margin-bottom: 0;
  letter-spacing: 0.2em;
}

.page_main_title.housing_search-main_title p {
  font-size: 2rem;
}

.page_main_title.housing_search-main_title p:nth-of-type(2) {
  margin-top: 38px;
}

.page_main_title.housing_search-main_title p:first-of-type {
  display: block;
  padding-bottom: 28px;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background-size 0.8s ease-out;
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
}

.page_main_title.housing_search-main_title p:first-of-type.js-underline.animation--on {
  background-size: 87% 2px;
  background-position: left bottom;
}

.page_main_title.housing_search-main_title ul li a {
  font-size: 1.8rem;
  border-radius: 135px;
  background-color: #ffffff;
  background-color: #d8d8d8;
  padding: 20px 30px;
  position: relative;
  border: 1px solid var(--pink2Color);
  text-align: center;
  display: block;
}

.page_main_title.housing_search-main_title ul li a:after {
  content: "▶";
  right: 5px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
}

.page_main_title.housing_search-main_title ul li {
  width: 50%;
}

li.table_section_wrapper.housing_replacement {
  background-color: var(--footerGray);
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 50px;
}

li.table_section_wrapper.housing_replacement .product_housing_contents {
  margin: 20px auto;
}

body.body_product section li.table_section_wrapper.housing_replacement h3 {
  letter-spacing: 0;
}

.selection_flow-rate_img-wrapper {
  overflow-x: auto;
  margin-top: 30px;
}

.selection_flow-rate_img-wrapper figure {
  width: -moz-max-content;
  width: max-content;
}

.selection_flow-rate_img-wrapper img {
  width: 922px;
}

.table_section_wrapper.selection_flow-rate {
  background-color: var(--footerGray);
  padding: 50px 20px;
  border-radius: 10px;
}

.table_section_wrapper.selection_flow-rate h4 {
  font-size: 2rem;
  margin-top: 20px;
}

.table_section_wrapper.selection_flow-rate ul {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
}

.table_section_wrapper.selection_flow-rate ul li {
  border: 1px solid;
  padding: 20px;
  border-radius: 8px;
  font-size: 2rem;
}

body.body_product section .table_section_wrapper.selection_flow-rate h3 {
  letter-spacing: 0.1em;
}

body.body_product.products .page_header .page_h1.product_ozone:before {
  background-image: url(../img/product_ozone/page_header_ozone.jpg);
  background-image: url(../img/home/top-main_navi_04.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.5;
}

.page_header.products_product_filter .page_h1.product_ozone {
  height: 294px;
}

p.product_ozone_cont-text span {
  border-bottom: 1.5px solid var(--green2Color);
  display: inline;
}

ul.product_ozone_contents.ozone_about-list li {
  border: 1px solid var(--grayColor);
  margin-bottom: 50px;
  padding: 20px 30px;
  border-radius: 10px;
  background-color: #fff;
  display: block;
}

ul.product_ozone_contents.ozone_about-list {
  padding: 0;
  background-color: unset;
}

.products_table_wrapper.ozone_about-table {
  overflow-x: unset;
  margin: 0;
}

.products_table_wrapper.ozone_about-table table.products_table {
  min-width: 100%;
}

col.ozone-num {
  width: 30%;
}

h3.product_ozone-h3 {
  letter-spacing: 0.2em;
}

.product_ozone_contents {
  margin: 50px 50px 0;
  background-color: #fff;
  padding: 40px;
  border-radius: 10px;
}

.product_ozone_contents p:nth-of-type(2) {
  margin-top: 20px;
}

.product_ozone_contents p {
  font-size: 1.8rem;
  line-height: 1.7;
}

ul.product_ozone_contents li p {
  padding: 20px 50px 50px;
}

ul.product_ozone_contents li h4 {
  width: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 2px;
  transition: background-size 0.8s ease-out;
  background-image: linear-gradient(90deg, var(--green1Color) 0%, var(--greenColor) 20%, var(--green2Color) 60%, var(--green2Color) 100%);
  background-image: linear-gradient(90deg, var(--ora1Color) 0%, var(--oraColor) 20%, var(--ora2Color) 60%, var(--ora2Color) 100%);
  background-image: linear-gradient(90deg, var(--pink1Color) 0%, var(--pinkColor) 20%, var(--pink2Color) 60%, var(--pink2Color) 100%);
}

ul.product_ozone_contents li h4.js-underline.animation--on {
  background-position: left bottom;
  background-size: 85% 2px;
}

ul.product_ozone-contents_lists {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
}

ul.product_ozone-contents_lists > li {
  width: 24%;
  border: 1px solid var(--grayColor);
  border-radius: 8px;
  padding: 20px;
}

.product_ozone-contents_title h3 {
  border-bottom: 2.5px solid var(--pinkColor);
}

ul.product_ozone-contents_content {
  margin-top: 30px;
}

ul.product_ozone-contents_content > li {
  margin-top: 20px;
  font-size: 1.6rem;
}

.product_ozone-contents_content li a,
.product_ozone-contents_title h3 a {
  position: relative;
  display: block;
}

.product_ozone-contents_content li a::after {
  content: "▶";
  font-size: 0.9em;
  color: var(--greenColor);
  position: absolute;
  right: 0;
}

.product_ozone-contents_title h3 a::after {
  content: "▶";
  right: 0;
  color: var(--greenColor);
  font-size: 0.5em;
  position: absolute;
}

ul.product_ozone-contents_lists.ozone_examples-use .product_ozone-contents_title h3 {
  border-bottom: none;
  padding: 0;
}

ul.product_ozone-contents_lists.ozone_examples-use li.active {
  background-color: #d8d8d8;
}

ul.product_ozone_contents.examples-use {
  border: 1px solid var(--grayColor);
}

.examples-use_wrapper.examples-use_img-border ul.product_ozone_contents.examples-use {
  border: none;
}

@media screen and (max-width: 1024px) {
  ul.product_ozone-contents_lists {
    gap: 2%;
  }
  ul.product_ozone-contents_lists > li {
    width: 48%;
    margin-top: 2%;
    min-height: 280px;
  }
  ul.product_ozone-contents_lists.ozone_examples-use > li {
    min-height: auto;
  }
}
body.body_product section .examples-use_h4 {
  font-size: 2.3rem;
  background: url(../img/home/green_ashirai.svg) no-repeat 1em 0.4em;
  background-size: 0.6em;
  padding-left: 2.5em;
  margin-top: 90px;
}

.examples-use_wrapper figure {
  margin: 30px 50px 0;
  background-color: #fff;
  padding: 50px;
  border-radius: 10px;
  width: 73%;
}

ul.product_ozone_contents.examples-use li {
  font-size: 1.8rem;
}

ul.product_ozone_contents.examples-use li:not(:first-of-type) {
  margin-top: 20px;
}

ul.product_ozone_contents.examples-use li p {
  padding: 20px 50px 20px;
}

.product_ozone_contents.examples-use li h5 {
  font-size: 1.8rem;
}

.product_ozone_contents.examples-use ul li p {
  padding: 20px 50px 0px;
}

div.product_ozone_contents.examples-use > p {
  font-size: 1.6rem;
}

div.product_ozone_contents.examples-use p > span {
  font-size: 1.6rem;
  display: inline-block;
  line-height: 1.3;
  padding: 10px 0px 0px 50px;
}

.product_ozone_contents.examples-use ul {
  border: 1px solid var(--grayColor);
  border-radius: 8px;
  padding: 30px;
}

.product_ozone_contents.examples-use ul li:not(:first-of-type) h5 {
  margin-top: 30px;
}

ul.product_ozone_contents.examples-use.examples-use_check li {
  background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0em;
  background-size: 1.8em;
  line-height: 2;
  display: block;
  padding-left: 50px;
}

.examples-use_wrapper.examples-use_img-border figure {
  width: 90%;
  border: 1px solid var(--grayColor);
  border-radius: 8px;
  padding: 50px 70px 20px 30px;
}

.examples-use_wrapper.examples-use_img-border figure figcaption {
  text-align: center;
  margin-top: 50px;
}

.examples-use_wrapper.examples-use_img-border li:not(:first-of-type) h5 {
  margin-top: 80px;
}

ul.under-line_green li {
  border-bottom: 1.5px solid var(--green2Color);
}

.examples-use_wrapper.examples-use_img-border h5 {
  background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0em;
  background-size: 1.8em;
  line-height: 2;
  display: block;
  padding-left: 50px;
}

.examples-use_wrapper.examples-use_img-full figure {
  width: initial;
}

.examples-use_wrapper.examples-use_img-full figure img {
  width: 100%;
}

.table_section_wrapper.examples-use {
  padding-top: 10px;
}

col.ozone_lineup-name {
  width: 13rem;
}

col.ozone_lineup-gas {
  width: 8rem;
}

col.ozone_lineup-num1 {
  width: 11rem;
}

col.ozone_lineup-num2 {
  width: 9rem;
}

col.ozone_lineup-img {
  width: 20rem;
}

col.ozone_lineup-text2 {
  width: 40rem;
}

.products_table.ozone_lineup-table td:nth-child(n+3):nth-child(-n+6) {
  text-align: center;
}

.products_table.ozone_lineup-table2 td:nth-child(3) {
  text-align: center;
}

.product_plant-text_wrapper {
  background-color: #fff;
  padding: 50px 50px;
  border-radius: 10px;
  margin: 50px 50px;
}

.product_plant-text_wrapper p {
  font-size: 2rem;
  border-bottom: 2.5px solid var(--green2Color);
  display: inline;
  line-height: 2.5;
}

.examples-use_wrapper.product_plant {
  padding: 50px 74px 50px;
  border: 1px solid var(--grayColor);
  border-radius: 10px;
  margin-bottom: 70px;
  margin-top: 100px;
}

.examples-use_wrapper.product_plant > p {
  font-size: 2rem;
}

a.product_plant_link {
  display: flex;
  flex-direction: column;
  padding: 20px;
  width: 80%;
  align-items: center;
  background-image: var(--grade8menu);
  border-radius: 15px;
  margin-top: 50px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}

a.product_plant_link::after {
  content: "▶";
  right: 15px;
  color: var(--greenColor);
  font-size: 2em;
  position: absolute;
}

a.product_plant_link h5 {
  font-size: 2rem;
}

a.product_plant_link p {
  font-size: 1.8rem;
}

.examples-use_wrapper.product_plant_lists {
  display: flex;
  gap: 10%;
}

ul.product_plant_list {
  border: 1px solid var(--grayColor);
  padding: 30px;
  width: 70%;
  border-radius: 10px;
  margin-top: 50px;
  background-color: #fff;
}

ul.product_plant_list li {
  font-size: 1.8rem;
  line-height: 3;
  border-bottom: 1px solid var(--green2Color);
}

.examples-use_wrapper.product_plant_lists ul.product_plant_list {
  width: 45%;
}

ul.product_ozone_contents.examples-use.examples-use_check.product_plant-check li {
  letter-spacing: 0.2em;
}

ul.product_ozone_contents.examples-use.examples-use_check.product_plant-check li {
  font-size: 2.2rem;
  line-height: 2.5;
  background-position-x: 0;
  background-position-y: 0.4em;
  padding-left: 80px;
}

.app_section_wrapper.plant_custom-top section.ez-change_contents {
  padding: 50px 27px;
}

ul.product_plant-footer_link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  height: 100%;
  margin-top: 30px;
}

ul.product_plant-footer_link-list > li {
  width: 23%;
  height: auto;
  padding: 20px;
  border-radius: 10px;
  background-color: #d8d8d8;
}

a.product_plant-footer_link h5 {
  font-size: 1.7rem;
  border-bottom: 2.5px solid var(--pinkColor);
  height: 60px;
  align-content: center;
}

a.product_plant-footer_link {
  display: flex;
  flex-direction: column;
  position: relative;
}

a.product_plant-footer_link::after {
  content: "▶";
  right: 0;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
  top: 10px;
}

a.product_plant-footer_link figure {
  margin-top: 10px;
  height: 150px;
}

a.product_plant-footer_link figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.index_navi_content_wrapper h3.js-underline.animation--on,
.ez-change_contents h3.product_plant-h3.js-underline.animation--on {
  background-size: 95% 3px;
}

h3.product_plant-h3 {
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: 400;
}

.product_plant-img_lists {
  display: flex;
  gap: 4%;
  margin: 50px 50px 30px;
}

.product_plant-img_lists figure {
  width: 48%;
  overflow: hidden;
  height: auto;
  border-radius: 10px;
}

.product_plant-img_lists figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.app_section_wrapper.plant_custom-top {
  background-color: unset;
  margin-bottom: 0;
  margin-top: 0;
}

figure.product_set-img {
  margin: 50px;
  border-radius: 10px;
}

figure.product_set-img img {
  border-radius: 10px;
}

.examples-use_wrapper.product_set-wrapper p {
  padding: 30px 50px 0;
}

.roduct_set-img_lists {
  display: flex;
  gap: 4%;
  margin-top: 50px;
  margin-bottom: 50px;
}

.roduct_set-img_lists a {
  width: 48%;
}

figure.product_test-main_img {
  width: 72%;
}

figure.product_test-main_img img {
  border-radius: 15px;
}

.page_main_title.page_main_title_top h2 {
  background: url(../img/home/ora_ashirai.svg) no-repeat 1em 0.3em;
  background-size: 0.8em;
  padding-left: 2.5em;
}

p.product_test-text {
  font-size: 2rem;
}

body.body_product.service .page_header .page_h1:before {
  background-image: url(../img/home/top-main_navi_03.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}

body.body_product.service.service_ozone .page_header .page_h1:before {
  background-image: url(../img/home/top-main_navi_04.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}

.page_header_nav.page_header_housing.page_header_service ul li a {
  min-height: 66px;
}

.page_header.fade-fv.delay-1.products_product_filter.service_filter .page_h1 {
  height: 500px;
}

a.product_plant-footer_link.filter_validation-link h5 {
  height: auto;
}

a.product_plant-footer_link.filter_validation-link::after {
  top: 0;
  right: -8px;
}

@media screen and (max-width: 1024px) {
  ul.product_plant-footer_link-list > li {
    width: 49%;
    margin-bottom: 2%;
  }
  ul.product_plant-footer_link-list {
    justify-content: space-between;
  }
}
ul.filter_validation-app_list {
  display: flex;
  gap: 10px;
  margin-left: 58px;
  margin-bottom: 30px;
  flex-wrap: wrap;
}

ul.filter_validation-app_list li {
  border: 1px solid var(--grayColor);
  border-radius: 8px;
  padding: 20px 30px;
}

.technical-service_lineup-text {
  padding: 20px 80px;
}

.technical-service_lineup-text > p {
  font-size: 1.8rem;
  margin: 30px 0;
}

.technical-service_lineup-text > p > span {
  border: 1px solid var(--grayColor);
  border-radius: 8px;
  padding: 20px 30px;
  margin: 0 20px;
}

.technical-service_lineup-btn {
  /* margin-top: 80px; */
  text-align: end;
}

.technical-service_lineup-btn a {
  padding: 20px 60px;
  display: inline-block;
  border: 1px solid var(--pink2Color);
  border-radius: 135px;
  /* background-image: var(--grade8menu); */
  position: relative;
  background-color: #d8d8d8;
}

.technical-service_lineup-btn a:after {
  content: "▶";
  right: 15px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
}

body.body_product section h4.examples-use_h4.service_lineup-h4 {
  margin-top: 50px;
}

p.technical-service_lineup-bottom_text {
  text-align: end;
}

.qa_answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.3s ease;
  margin: 0;
  padding: 0;
  border-left: 3px solid #ccc;
  background: #f9f9f9;
}

.qa_answer.open {
  max-height: 2000px; /* ←充分に大きい値にする */
  padding: 0.8em;
  margin: 0.5em 0 1em;
}

.qa_question {
  cursor: pointer;
  position: relative;
  padding-right: 20px;
}

.qa_question::after {
  content: "＋";
  position: absolute;
  right: 0;
  transition: transform 0.3s ease;
}

.qa_question.active::after {
  content: "－";
  transform: rotate(180deg);
}

.qa_item {
  margin: 30px;
  border: solid 1px var(--grayColor);
  border-radius: 10px;
  padding: 25px;
}

body.body_product section .qa_item h3 {
  font-weight: 500;
  font-size: 2rem;
}

figure.service_filter_test-main_img {
  padding: 50px;
}

figure.service_filter_test-main_img img {
  border-radius: 10px;
}

.service_filter-img_wrapper figure {
  margin: 30px 50px 0;
  width: 73%;
}

.service_filter-img_wrapper figure img {
  border-radius: 10px;
}

figure.filter_steps-img img {
  border-radius: 10px;
}

figure.filter_steps-img {
  padding: 50px;
}

.filter_steps-ng {
  padding: 20px;
  margin-left: 20%;
  border: 1px solid var(--grayColor);
  border-radius: 10px;
}

ul.index_navi_content .filter_steps-ng ul {
  margin: 20px;
}

ul.index_navi_content .filter_steps-ng ul li {
  padding: 0;
  margin: 0;
  border: unset;
  line-height: 2;
  list-style-type: circle;
  list-style: disc;
}

ul.index_navi_content li .filter_steps-ng p {
  background: unset;
  padding: 20px;
  font-size: 1.8rem;
  border-bottom: solid 1.5px var(--pinkColor);
}

.filter_steps-ng h5 {
  background: url(../img/ez-change/troublesome-icon.svg) no-repeat 0em 0.8em;
  background-size: 1.5em;
  padding-left: 2.5em;
  line-height: 3;
  font-size: 1.8rem;
}

p.warranty-period_note {
  text-align: end;
}

h2.filter_case-studies {
  letter-spacing: 0.1em;
}

dl.content_qa.filter_case-studies dd {
  background: url(../img/ez-change/troublesome-icon.svg) no-repeat 2.5em 1.8em;
  background-size: 2em;
  background-color: #ffffff;
}

dl.index_navi_content.content_qa.filter_case-studies {
  padding: 0 8px;
}

.filter_case-studies_lists {
  padding: 0 20px;
  margin-top: 30px;
}

body.body_product section .filter_case-studies_lists h4 {
  font-size: 1.7rem;
}

.filter_case-studies_lists ul li:after {
  content: "▶";
  right: 2px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
  bottom: 0;
}

.filter_case-studies_lists ul {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  flex-direction: column;
}

.filter_case-studies_lists ul li {
  border-radius: 10px;
  border: solid 1px var(--pinkColor);
  padding: 20px;
  min-height: 68px;
  align-content: center;
  position: relative;
  background-color: var(--mainGray);
}

body.body_product section .table_section_wrapper h3.word_title {
  font-size: 3rem;
}

col.word-name {
  width: 28rem;
}

col.word-name {
  width: 28rem;
}

.filter_terms-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.filter_terms-nav ul li {
  border: solid 1px var(--grayColor);
  padding: 20px;
  border-radius: 8px;
}

.filter_terms-btn a {
  border: solid 1px var(--grayColor);
  padding: 20px;
  border-radius: 8px;
}

.filter_terms-btn {
  text-align: end;
}

figure.service_lineup02-img {
  width: 60%;
  margin: 0 50px;
}

figure.service_lineup02-img img {
  border-radius: 10px;
}

.service_lineup02-btn {
  border-radius: 10px;
  border: solid 1px var(--pinkColor);
  padding: 30px 50px;
  min-height: 68px;
  align-content: center;
  position: relative;
  background-color: var(--mainGray);
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 30px;
}

.service_lineup02-btn:after {
  content: "▶";
  right: 2px;
  color: var(--greenColor);
  font-size: 1em;
  position: absolute;
}

p.service_lineup02-text_s {
  margin-top: 15px;
  padding-left: 2rem;
}

figure.filter_steps-img.service_ozone-img img {
  border: 1px solid var(--grayColor);
}

ul.index_navi_content li > h4 > span.service_ozone {
  letter-spacing: 0.1em;
}

ul.index_navi_content.service_ozone_content li:first-of-type h4 > span.not-line::before,
ul.index_navi_content.service_ozone_content li:nth-of-type(4) h4 > span.not-line::before {
  background: url(../img/service_ozone/service_ozone_icon01.png) no-repeat center/contain;
  rotate: none;
  display: block;
  width: 4em;
  height: 4em;
}

ul.index_navi_content.service_ozone_content li:nth-of-type(2) h4 > span.not-line::before {
  background: url(../img/service_ozone/service_ozone_icon02.png) no-repeat center/contain;
  rotate: none;
  display: block;
  width: 4em;
  height: 4em;
}

ul.index_navi_content.service_ozone_content li:nth-of-type(3) h4 > span.not-line::before {
  background: url(../img/service_ozone/service_ozone_icon03.png) no-repeat center/contain;
  rotate: none;
  display: block;
  width: 4em;
  height: 4em;
}

ul.index_navi_content.service_ozone_content li:nth-of-type(5) h4 > span.not-line::before {
  background: url(../img/service_ozone/service_ozone_icon05.png) no-repeat center/contain;
  rotate: none;
  display: block;
  width: 4em;
  height: 4em;
}

.service_ozone_content-imgs {
  display: flex;
  flex-wrap: wrap;
  gap: 4%;
}

.service_ozone_content-imgs figure {
  width: 48%;
  margin-bottom: 4%;
}

.service_ozone_content-imgs figure img {
  border-radius: 10px;
}

ul.index_navi_content li p span.service_ozone-note {
  font-size: 1.3rem;
  display: block;
  margin-top: 18px;
}

@media screen and (max-width: 930px) {
  .technical-service_lineup-text > p > span:nth-of-type(2) {
    display: block;
    margin-top: 50px;
  }
}
@media screen and (max-width: 630px) {
  .main_navi.top-main_navi h2 {
    font-size: 1.6rem;
    background: url(../img/home/main_ashirai.svg) no-repeat 0.3em 2.2em;
    background-size: 1.2em;
  }
  .main_navi {
    margin: 20px 0;
  }
  .main_navi ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  .main_navi.top-main_navi ul {
    padding: 20px;
  }
  .page_main_title.page_main_title_top {
    width: 100%;
    padding: 20px;
  }
  .page_main_title.page_main_title_top h2 {
    background: url(../img/home/ora_ashirai.svg) no-repeat 0em 0.3em;
    background-size: 1em;
    padding-left: 1.5em;
    font-size: 2rem;
    letter-spacing: 0.05em;
  }
  .page_header_h1 h1 {
    font-size: 3rem;
  }
  .main_tab_navi ul li {
    width: 100%;
    margin-bottom: 10px;
  }
  body.body_product section {
    margin: 20px 0 0 0;
    padding: 20px;
  }
  .app_section_wrapper {
    padding: 20px;
  }
  .page_h1_wrapper h1 {
    background: url(../img/home/main_ashirai.svg) no-repeat 0em 2.5em;
    background-size: 1.2em;
    padding-left: 1.5em;
    line-height: 2.5;
    font-size: 2.2rem;
  }
  .link_list_text_wrapper {
    width: 100%;
  }
  .app_index ul.link_lists_wrapper li.link_list .link_list_img {
    width: 100%;
  }
  a.link_list_contents {
    flex-wrap: wrap;
  }
  .link_list_img {
    overflow: initial;
    margin-top: 10px;
  }
  .link_list_img img {
    border-radius: 8px;
  }
  body.body_product.application .app_section_wrapper h3.js-underline {
    background-size: 85% 3px;
  }
  body.body_product section h3 {
    font-size: 1.8rem;
  }
  body.body_product section h4 {
    font-size: 1.8rem;
  }
  .app_footer_banner_img {
    width: 100%;
  }
  .app_footer_banner_text {
    width: 100%;
    align-items: center;
  }
  section.app_footer_banner ul li {
    padding-top: 20px;
  }
  section.app_footer_banner ul li a {
    flex-wrap: wrap;
  }
  .product_plant-text_wrapper {
    padding: 20px;
    margin: 20px 0;
    padding: 18px;
  }
  ul.index_navi_content li p {
    background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0em;
    background-size: 2em;
    font-size: 2rem;
    padding: 40px 10px 10px;
  }
  ul.index_navi_content li {
    padding: 30px 20px;
  }
  .index_navi_content_wrapper h3.js-underline.animation--on,
  .ez-change_contents h3.js-underline.animation--on {
    background-size: 95% 3px;
  }
  section.ez-change_contents > p {
    margin: 20px;
  }
  .index_navi_content {
    padding: 0 10px;
  }
  ul.index_navi_content li > h4 > span:nth-of-type(2) {
    letter-spacing: 0.1em;
  }
  form.filter_search_form {
    width: 100%;
  }
  .product_filter_lists_img {
    padding: 10px;
  }
  .product_filter_lists_img figure {
    width: 100%;
  }
  .product_filter_lists ul li {
    background: url(../img/filter_list/check-icon.svg) no-repeat 0em 0em;
    background-size: 2em;
    padding-left: 0;
    font-size: 1.8rem;
    line-height: 2;
    padding-bottom: 3px;
    padding: 35px 0 0;
  }
  .ez-change_top {
    flex-direction: column;
  }
  .ez-change_top-text ul li {
    background: url(../img/ez-change/troublesome-icon.svg) no-repeat 0em 0em;
    background-size: 1.5em;
    line-height: 2;
    font-size: 1.8rem;
    padding: 30px 0px 0px;
  }
  .ez-change_top-text ul {
    margin: 20px 0 30px 0;
  }
  .ez-change_top-img {
    width: 100%;
  }
  .index_navi ul {
    width: 90%;
  }
  .index_navi a {
    padding: 8px;
    font-size: 1.3rem;
  }
  .index_navi_contents {
    padding: 10px;
  }
  dl.content_qa dd {
    background: url(../img/filter_list/check-icon.svg) no-repeat 1em 1em;
    background-size: 2em;
    font-size: 1.8rem;
    background-color: #ffffff;
    padding: 62px 15px 32px 20px;
    line-height: 2;
  }
  dl.content_qa dt {
    font-size: 1.8rem;
    line-height: 2;
  }
  .index_navi_img img {
    width: 100%;
  }
  .filter_ez-change_wrapper {
    padding: 10px 10px 10px 0;
  }
  main p {
    font-size: 1.8rem;
  }
  .ez-change_contents-img {
    margin: 10px 10px 50px;
  }
  .ez-change_contents-lists ul li {
    background: url(../img/filter_list/check-icon.svg) no-repeat 0em 1em;
    background-size: 1.8em;
    font-size: 1.8rem;
    line-height: 2;
    padding: 58px 15px 15px 20px;
  }
  body.body_product section .table_section_wrapper h3 {
    background: url(../img/home/green_ashirai.svg) no-repeat 0em 1em;
    background-size: 1em;
    letter-spacing: 0.3em;
    padding-left: 0;
    font-size: 1.9rem;
    padding-top: 50px;
  }
  .page_header_nav.page_header_housing ul {
    width: 80%;
  }
  .page_header_nav.page_header_housing ul li {
    width: 48%;
  }
  .product_housing_contents-img > div {
    width: 100%;
    margin-bottom: 50px;
  }
  .product_housing_contents-img {
    flex-wrap: wrap;
  }
  .product_housing_contents-img h4 {
    height: auto;
  }
  .main_tab_navi.housing_search ul li {
    width: 100%;
  }
  .main_tab_navi.housing_search h5 {
    letter-spacing: 0.1em;
  }
  .page_main_title.housing_search-main_title {
    padding: 20px;
  }
  .page_main_title.housing_search-main_title ul li {
    width: 100%;
  }
  .product_ozone_contents {
    margin: 20px 20px 0;
    padding: 20px;
  }
  ul.product_ozone_contents li p {
    padding: 20px 0px 50px;
  }
  ul.product_ozone-contents_lists > li {
    width: 100%;
    min-height: auto;
  }
  ul.product_ozone-contents_content > li {
    margin-top: 10px;
  }
  .examples-use_wrapper figure {
    width: 83%;
    margin: 20px;
    padding: 20px;
  }
  ul.product_ozone_contents.examples-use li p {
    padding: 20px;
  }
  .product_ozone_contents.examples-use ul li p {
    padding: 20px;
  }
  div.product_ozone_contents.examples-use p > span {
    padding: 20px 10px 0;
  }
  ul.product_ozone_contents.examples-use.examples-use_check li {
    padding-left: 15px;
    padding-top: 50px;
  }
  .examples-use_wrapper.examples-use_img-border figure {
    padding: 20px;
  }
  .examples-use_wrapper.product_plant {
    padding: 30px;
    margin-top: 50px;
  }
  a.product_plant_link {
    width: 100%;
  }
  ul.product_ozone_contents.examples-use.examples-use_check.product_plant-check li {
    font-size: 2rem;
    line-height: 2;
    padding-left: 0;
  }
  .examples-use_wrapper.product_plant_lists ul.product_plant_list {
    width: 100%;
  }
  .examples-use_wrapper.product_plant_lists {
    flex-wrap: wrap;
  }
  ul.product_plant_list {
    width: 100%;
  }
  ul.product_plant-footer_link-list > li {
    width: 100%;
  }
  ul.product_ozone_contents.examples-use.examples-use_check.product_plant-check li {
    padding-left: 20px;
    font-size: 2rem;
    line-height: 2;
  }
  figure.product_set-img {
    margin: 20px;
  }
  .examples-use_wrapper.product_set-wrapper p {
    padding: 30px 20px 0;
  }
  .roduct_set-img_lists {
    flex-wrap: wrap;
  }
  .roduct_set-img_lists a {
    width: 100%;
    margin-bottom: 20px;
  }
  .page_header_nav.page_header_housing.page_header_service li {
    width: 100%;
  }
  .page_header_nav.page_header_housing.page_header_service ul li a {
    min-height: 45px;
    padding: 10px;
  }
  .page_header_nav.page_header_housing.page_header_service ul {
    width: 90%;
  }
  .product_br-sp {
    display: none;
  }
  ul.filter_validation-app_list {
    font-size: 1.2rem;
    margin-left: 0;
  }
  ul.filter_validation-app_list li {
    padding: 12px;
  }
  body.body_product section .examples-use_h4 {
    font-size: 2.3rem;
    background: url(../img/home/green_ashirai.svg) no-repeat 0.5em 0.5em;
    background-size: 0.6em;
    padding-left: 1.5em;
  }
  .technical-service_lineup-text {
    padding: 20px;
    margin: 0;
  }
  .technical-service_lineup-text > p > span:nth-of-type(2) {
    display: block;
    margin-top: 50px;
  }
  p.technical-service_lineup-bottom_text {
    font-size: 1.5rem;
  }
  figure.service_filter_test-main_img {
    padding: 0;
  }
  figure.filter_steps-img {
    padding: 20px;
  }
  ul.index_navi_content .filter_steps-ng ul li {
    font-size: 1.3rem;
  }
  dl.content_qa.filter_case-studies dd {
    background: url(../img/ez-change/troublesome-icon.svg) no-repeat 1em 1.8em;
    background-size: 2em;
    background-color: #ffffff;
    padding-top: 91px;
  }
  body.body_product section .table_section_wrapper h3.word_title {
    font-size: 4rem;
    padding-left: 8rem;
  }
  figure.service_lineup02-img {
    margin: 0;
    width: 100%;
  }
}
body.cpt_technical {
  color: #222222;
}

body.cpt_technical a {
  color: #222222;
  text-decoration: none;
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a:hover {
  opacity: 0.5;
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a {
  background-color: var(--green2Color);
  border-radius: 10px;
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}

.technical-container .search-btn-area__inner {
  border-radius: 10px;
  padding: 30px;
}

.technical-container .technical-login .login-form form .submit input {
  border: 1px solid var(--titleColor);
  border-radius: 10px;
  color: var(--titleColor);
  font-size: 18px;
  font-weight: 600;
  height: 60px;
  line-height: 60px;
  width: 100%;
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
  line-height: 2;
}

.is-style-sec-level {
  color: #222222;
}

.icn_top3_new.active {
  display: block;
  border-top: 25px solid var(--pink1Color);
  border-right: 35px solid var(--pink1Color);
  border-bottom: 29px solid transparent;
  border-left: 30px solid transparent;
  position: absolute;
  top: 0;
  right: 0;
}

.technical-container .technical-archive .technical-item .technical-item__content .btn a {
  background-color: var(--oraColor);
}

.technical-container .technical-archive .technical-item .technical-item__content .btn {
  border: none;
}

.technical-container .technical-login .login-form .sml-action-links li a {
  color: #222222;
}

body.cpt_technical.body_product a.header__product {
  color: #5a5a5a;
}

.btn.-arrow-a {
  display: flex;
  justify-content: center;
}

.technical-container .search-btn-area__inner .btns .btn.-normal a {
  color: var(--titleColor);
  border-radius: 10px;
  min-width: auto;
  border: 1px solid var(--btn-color);
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}

.btn.-normal {
  background: none;
  border: none;
}

.technical-container .technical-login .login-form form > p:not(.submit) input {
  border: 1px solid var(--grayColor);
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a {
  min-width: auto;
  color: var(--titleColor);
  color: #fff;
}

.technical-container .search-btn-area__inner .btn.-normal {
  min-width: auto;
  padding: 0;
}

.technical-container .search-btn-area {
  background-color: none;
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active {
  background-color: inherit;
  color: inherit;
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active + .panels {
  background-color: #ffffff;
  background-image: var(--grade6);
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active:before {
  border-color: transparent transparent var(--ora2Color);
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active:after {
  border-color: transparent transparent var(--ora1Color);
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active + .panels .panels__inner .panels__items a {
  border-radius: 8px;
}

.cpt_technical .technical-post .page-header h1 {
  color: #222222;
}

main.technical-post .technical-container .technical-content .meta__list .usage ul li {
  color: #222222;
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}

.cpt_technical main.technical-post .technical-container .technical-content .meta__list .tags ul li {
  color: var(--oraColor);
}

main.technical-post .technical-container .technical-content .likes .btn {
  border: none;
  text-align: center;
  padding: 1rem;
  min-height: auto;
  min-width: auto;
}

div#iine_bottom {
  background-color: #e18f12 !important;
}

div#iine_top {
  background-color: #e18f12 !important;
}

main.technical-post .p-posts-navigation .p-posts-navigation__item.next a,
main.technical-post .p-posts-navigation .p-posts-navigation__item.previous a {
  background-color: var(--oraColor);
}

.search-form-box input[type=submit] {
  background-color: var(--greenColor);
  border: 1px solid var(--grayColor);
  background-color: var(--grayColor);
  color: #fff;
}

.technical-container .search-btn-area__inner .btns .btn.-arrow-a:after {
  border-color: var(--footerGray) transparent transparent;
}

#site-content.spiral .spiral-container .page-header h1 {
  color: #222222;
}

#site-content.spiral .spiral-container .page-content .form-button input[type=submit] {
  background-color: #76b356;
  border: 1px solid #6c6c6c;
  background-color: var(--grayColor);
  color: #fff;
}

.technical-container .technical-login .login-form form .submit input:hover,
.technical-container .search-btn-area__inner .btns .btn.-normal a:hover,
.technical-container .search-btn-area__inner .btns .btn.-arrow-a:hover,
.search-form-box input[type=submit]:hover,
.technical-container .technical-archive .technical-item .technical-item__content .btn a:hover {
  background-color: var(--green2Color);
  background-color: #fff;
  opacity: 0.5;
  background-color: var(--grayColor);
}

.technical-container .technical-login .login-form .sml-user-links li a {
  color: #222222;
}

.page-header.body_product_en {
  border-radius: 15px;
  background-image: url(/wp/wp-content/plugins/iwc-rokitechno-custom/assets/images/tecnical-archive-page-header.jpg);
}

.cpt_technical .page-header.body_product_en .page-header__inner {
  border-radius: 15px;
}

body.ct_product.body_product .pageheader_detail h1 {
  font-weight: 600;
}

body.ct_product.body_product a:link,
body.ct_product.body_product a:hover,
body.ct_product.body_product a:visited {
  color: #5a5a5a;
  text-decoration: none;
}

body.ct_product.body_product .product_index_menu_detail dt span,
body.ct_product.body_product .product_detail_menu_nav a,
body.ct_product.body_product .product_filter_search_detail .product_filter_search_box ul a,
body.ct_product.body_product .product_filter_p2_s4_btn a,
body.ct_product.body_product .product_housing_search ul a,
body.ct_product.body_product .product_ozone_indexnav a span,
body.ct_product.body_product .product_ozone_nav_detail dt a {
  background-color: var(--grayColor);
  color: #fff;
}

body.ct_product.body_product .product_index_menu_detail dt span {
  background-color: var(--grayColor);
  color: #fff;
}

body.ct_product.body_product .product_selectbar {
  color: #222222;
  background-image: var(--grade201);
  background-color: #fff;
  font-weight: 600;
}

body.ct_product.body_product .product_selectbar:after {
  background-color: var(--green2Color);
}

body.ct_product.body_product .product_filter_search_detail .product_filter_search_box ul a.btnon,
body.ct_product.body_product .product_detail_menu_nav a.btnon,
body.ct_product.body_product .product_housing_search ul a.btnon {
  background-color: var(--ora2Color);
  background-image: var(--grade6);
}

body.ct_product.body_product .product_index_menu_detail a:after {
  background-color: var(--oraColor);
}

body.ct_product.body_product .product_filter_hdg,
body.ct_product.body_product .product_detail_menu h2 {
  color: #222222;
  font-weight: 600;
}

body.ct_product.body_product .product_detail_p_head h2, body.ct_product.body_product .product_filter_p h3, body.ct_product.body_product .product_ozone_p h3, body.ct_product.body_product .product_housing_p h3, body.ct_product.body_product .product_plant_p h3, body.ct_product.body_product .product_filter_p2_s4_btn h4, body.ct_product.body_product .product_detail_p_head h3 em, body.ct_product.body_product .product_filter_c h2 strong, body.ct_product.body_product .product_housing_y h2 strong, body.ct_product.body_product .product_filter_y h2 strong, body.ct_product.body_product .product_filter_c h3, body.ct_product.body_product .product_housing_y h3, body.ct_product.body_product .product_filter_y h3, body.ct_product.body_product h2.product_hdg {
  color: var(--oraColor);
  font-weight: 600;
}

.ct_product .pageheader {
  width: 96%;
  max-width: 1024px;
  margin: auto;
  border-radius: 15px;
}

body.ct_product.body_product .icn_pdf,
body.ct_product.body_product .icn_pdf_b,
body.ct_product.body_product .product_table_box a[href*=".pdf"],
body.ct_product.body_product .product_housing_p2_table thead th a {
  background: none !important;
  padding-left: 0;
  padding-right: 0;
}

body.ct_product.body_product .product_filter_p3_s1 .product_filter_p3_s1_detail ul li:before {
  background-color: var(--greenColor);
}

body.ct_product.body_product h3.roka_link_head a:link {
  color: var(--oraColor);
  text-decoration-line: underline;
}

body.ct_product.body_product .product_detail_p_head_tablenav th,
body.ct_product.body_product .product_table_box thead th,
body.ct_product.body_product .product_housing_p2_table tbody th,
body.ct_product.body_product .product_housing_p3_select_table thead th {
  background-color: var(--green2Color);
  color: #222222;
  font-weight: 500;
}

body.ct_product.body_product .product_detail_p_head_tablenav td {
  border-top: 1px solid var(--grayColor);
}

body.ct_product.body_product .product_detail_p_head_tablenav,
body.ct_product.body_product .product_table_box table {
  border: 1px solid var(--grayColor);
}

body.ct_product.body_product .product_detail_p_head_tablenav a:link,
body.ct_product.body_product table.product_table.product_housing_p2_table a:link {
  color: #222222;
}

body.ct_product.body_product .product_table_box tbody th,
body.ct_product.body_product .product_table_box tbody td {
  border-left: 1px solid var(--grayColor);
  border-bottom: 1px solid var(--grayColor);
}

body.ct_product.body_product .step_next strong,
body.ct_product.body_product .step_next_flow strong,
body.ct_product.body_product .step_next_flow .step_next_ng dl dt {
  color: var(--green1Color);
}

body.ct_product.body_product .product_housing_p3_select_table thead th:first-child {
  background-color: var(--grayColor);
  color: #ffffff;
}

body.ct_product.body_product .product_housing_p3_select_table tbody th {
  background-color: var(--grayColor);
}

body.ct_product.body_product .product_housing_p3_select_table tbody td figure {
  display: grid;
  justify-items: center;
  align-items: center;
}

body.ct_product.body_product .product_detail_p_head {
  padding-bottom: 10px;
}

body.ct_product.body_product .product_ozone_p2_detail dl {
  background-color: #fff;
  background-image: var(--grade8);
}

body.spiral .header {
  margin-top: -100px;
}

body.spiral .header {
  max-width: 1000px;
  margin: -100px auto 0;
}

body.spiral {
  color: #222222;
}

body.spiral a {
  color: #222222;
  text-decoration: none;
}

body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a:hover {
  opacity: 0.5;
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a {
  background-color: var(--green2Color);
  border-radius: 10px;
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}
body.spiral .technical-container .search-btn-area__inner {
  border-radius: 10px;
  padding: 30px;
}
body.spiral .technical-container .technical-login .login-form form .submit input {
  border: 1px solid var(--titleColor);
  border-radius: 10px;
  color: var(--titleColor);
  font-size: 18px;
  font-weight: 600;
  height: 60px;
  line-height: 60px;
  width: 100%;
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
  line-height: 2;
}
body.spiral .is-style-sec-level {
  color: #222222;
}
body.spiral .icn_top3_new.active {
  display: block;
  border-top: 25px solid var(--pink1Color);
  border-right: 35px solid var(--pink1Color);
  border-bottom: 29px solid transparent;
  border-left: 30px solid transparent;
  position: absolute;
  top: 0;
  right: 0;
}
body.spiral .technical-container .technical-archive .technical-item .technical-item__content .btn a {
  background-color: var(--oraColor);
}
body.spiral .technical-container .technical-archive .technical-item .technical-item__content .btn {
  border: none;
}
body.spiral .technical-container .technical-login .login-form .sml-action-links li a {
  color: #222222;
}
body.spiral .btn.-arrow-a {
  display: flex;
  justify-content: center;
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-normal a {
  color: var(--titleColor);
  border-radius: 10px;
  min-width: auto;
  border: 1px solid var(--btn-color);
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}
body.spiral .btn.-normal {
  background: none;
  border: none;
}
body.spiral .technical-container .technical-login .login-form form > p:not(.submit) input {
  border: 1px solid var(--grayColor);
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a {
  min-width: auto;
  color: var(--titleColor);
  color: #fff;
}
body.spiral .technical-container .search-btn-area__inner .btn.-normal {
  min-width: auto;
  padding: 0;
}
body.spiral .technical-container .search-btn-area {
  background-color: none;
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active {
  background-color: inherit;
  color: inherit;
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active + .panels {
  background-color: #ffffff;
  background-image: var(--grade6);
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active:before {
  border-color: transparent transparent var(--ora2Color);
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active:after {
  border-color: transparent transparent var(--ora1Color);
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a.is-active + .panels .panels__inner .panels__items a {
  border-radius: 8px;
}

body.spiral a.header__product {
  color: #5a5a5a;
}

body.spiral .technical-post .page-header h1 {
  color: #222222;
}

body.spiral main.technical-post .technical-container .technical-content .meta__list .usage ul li {
  color: #222222;
  background-color: var(--green2Color);
  background-color: #fff;
  background-color: var(--grayColor);
  color: #fff;
}
body.spiral main.technical-post .technical-container .technical-content .meta__list .tags ul li {
  color: var(--oraColor);
}
body.spiral main.technical-post .technical-container .technical-content .likes .btn {
  border: none;
  text-align: center;
}
body.spiral div#iine_bottom {
  background-color: #e18f12 !important;
}
body.spiral div#iine_top {
  background-color: #e18f12 !important;
}
body.spiral main.technical-post .p-posts-navigation .p-posts-navigation__item.next a,
body.spiral main.technical-post .p-posts-navigation .p-posts-navigation__item.previous a {
  background-color: var(--oraColor);
}
body.spiral .search-form-box input[type=submit] {
  background-color: var(--greenColor);
  border: 1px solid var(--grayColor);
  background-color: var(--grayColor);
  color: #fff;
}
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a:after {
  border-color: var(--footerGray) transparent transparent;
}
body.spiral #site-content.spiral .spiral-container .page-header h1 {
  color: #222222;
}
body.spiral #site-content.spiral .spiral-container .page-content .form-button input[type=submit] {
  background-color: #76b356;
  border: 1px solid #6c6c6c;
  background-color: var(--grayColor);
  color: #fff;
}
body.spiral .technical-container .technical-login .login-form form .submit input:hover,
body.spiral .technical-container .search-btn-area__inner .btns .btn.-normal a:hover,
body.spiral .technical-container .search-btn-area__inner .btns .btn.-arrow-a:hover,
body.spiral .search-form-box input[type=submit]:hover,
body.spiral .technical-container .technical-archive .technical-item .technical-item__content .btn a:hover {
  background-color: var(--green2Color);
  background-color: #fff;
  opacity: 0.5;
  background-color: var(--grayColor);
}
body.spiral .technical-container .technical-login .login-form .sml-user-links li a {
  color: #222222;
}
body.spiral .page-header.body_product_en {
  border-radius: 15px;
  background-image: url(/wp/wp-content/plugins/iwc-rokitechno-custom/assets/images/tecnical-archive-page-header.jpg);
}

body.spiral .page-header.body_product_en .page-header__inner {
  border-radius: 15px;
}

.body.spiral .pageheader {
  width: 96%;
  max-width: 1024px;
  margin: auto;
  border-radius: 15px;
}

body.spiral .pageheader_detail h1 {
  font-weight: 600;
}

body.spiral a:link,
body.spiral a:hover,
body.spiral a:visited {
  color: #5a5a5a;
  text-decoration: none;
}

body.spiral .product_index_menu_detail dt span,
body.spiral .product_detail_menu_nav a,
body.spiral .product_filter_search_detail .product_filter_search_box ul a,
body.spiral .product_filter_p2_s4_btn a,
body.spiral .product_housing_search ul a,
body.spiral .product_ozone_indexnav a span,
body.spiral .product_ozone_nav_detail dt a {
  background-color: var(--grayColor);
  color: #fff;
}

body.spiral .product_index_menu_detail dt span {
  background-color: var(--grayColor);
  color: #fff;
}

body.spiral .product_selectbar {
  color: #222222;
  background-image: var(--grade201);
  background-color: #fff;
  font-weight: 600;
}

body.spiral .product_selectbar:after {
  background-color: var(--green2Color);
}

body.spiral .product_filter_search_detail .product_filter_search_box ul a.btnon,
body.spiral .product_detail_menu_nav a.btnon,
body.spiral .product_housing_search ul a.btnon {
  background-color: var(--ora2Color);
  background-image: var(--grade6);
}

body.spiral .product_index_menu_detail a:after {
  background-color: var(--oraColor);
}

body.spiral .product_filter_hdg,
body.spiral .product_detail_menu h2 {
  color: #222222;
  font-weight: 600;
}

body.spiral .product_detail_p_head h2, body.spiral .product_filter_p h3, body.spiral .product_ozone_p h3, body.spiral .product_housing_p h3, body.spiral .product_plant_p h3, body.spiral .product_filter_p2_s4_btn h4, body.spiral .product_detail_p_head h3 em, body.spiral .product_filter_c h2 strong, body.spiral .product_housing_y h2 strong, body.spiral .product_filter_y h2 strong, body.spiral .product_filter_c h3, body.spiral .product_housing_y h3, body.spiral .product_filter_y h3, body.spiral h2.product_hdg {
  color: var(--oraColor);
  font-weight: 600;
}

body.spiral .icn_pdf,
body.spiral .icn_pdf_b,
body.spiral .product_table_box a[href*=".pdf"],
body.spiral .product_housing_p2_table thead th a {
  background: none !important;
  padding-left: 0;
  padding-right: 0;
}

body.spiral .product_filter_p3_s1 .product_filter_p3_s1_detail ul li:before {
  background-color: var(--greenColor);
}

body.spiral h3.roka_link_head a:link {
  color: var(--oraColor);
  text-decoration-line: underline;
}

body.spiral .product_detail_p_head_tablenav th,
body.spiral .product_table_box thead th,
body.spiral .product_housing_p2_table tbody th,
body.spiral .product_housing_p3_select_table thead th {
  background-color: var(--green2Color);
  color: #222222;
  font-weight: 500;
}

body.spiral .product_detail_p_head_tablenav td {
  border-top: 1px solid var(--grayColor);
}

body.spiral .product_detail_p_head_tablenav,
body.spiral .product_table_box table {
  border: 1px solid var(--grayColor);
}

body.spiral .product_detail_p_head_tablenav a:link,
body.spiral table.product_table.product_housing_p2_table a:link {
  color: #222222;
}

body.spiral .product_table_box tbody th,
body.spiral .product_table_box tbody td {
  border-left: 1px solid var(--grayColor);
  border-bottom: 1px solid var(--grayColor);
}

body.spiral .step_next strong,
body.spiral .step_next_flow strong,
body.spiral .step_next_flow .step_next_ng dl dt {
  color: var(--green1Color);
}

body.spiral .product_housing_p3_select_table thead th:first-child {
  background-color: var(--grayColor);
  color: #ffffff;
}

body.spiral .product_housing_p3_select_table tbody th {
  background-color: var(--grayColor);
}

body.spiral .product_housing_p3_select_table tbody td figure {
  display: grid;
  justify-items: center;
  align-items: center;
}

body.spiral .product_detail_p_head {
  padding-bottom: 10px;
}

body.spiral .product_ozone_p2_detail dl {
  background-color: #fff;
  background-image: var(--grade8);
}

.products_table th.sortable {
  cursor: pointer;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.products_table th.sortable::after {
  content: "▲▼";
  font-size: 0.7em;
  margin-left: 6px;
  opacity: 0.4;
}

.products_table th.asc::after {
  content: "▲";
  opacity: 1;
}

.products_table th.desc::after {
  content: "▼";
  opacity: 1;
}

/* 行が動くときのスムーズ感 */
.products_table tbody tr {
  transition: transform 0.4s ease, background-color 0.4s ease;
}

.products_table tbody tr.moving {
  background-color: #fff8d1;
}/*# sourceMappingURL=style_product2025.css.map */