@charset "UTF-8"; /*! destyle.css v1.0.15 | MIT License | https://github.com/nicolas-cusan/destyle.css */

@import url(tokens.css);
@import url(form.css);

#wpadminbar {
  display: none;
}
#js-footer-bar {
  display: none;
}
html {
  margin-top: 0!important;
}
.admin-bar {
  padding-top: 0!important;
}

/* reset
======================================== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}
:before,:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}
body {
  margin: 0
}
main {
  display: block
}
p,table,blockquote,address,pre,iframe,form,figure,dl {
  margin: 0
}
h1,h2,h3,h4,h5,h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0
}
ul,ol {
  margin: 0;
  padding: 0;
  list-style: none
}
dt {
  font-weight: 700
}
dd {
  margin-left: 0
}
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit
}
pre {
  font-family: monospace,monospace;
  font-size: inherit
}
address {
  font-style: inherit
}
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
b,strong {
  font-weight: bolder
}
code,kbd,samp {
  font-family: monospace,monospace;
  font-size: inherit
}
small {
  font-size: 80%
}
sub,sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
figure {
  margin: 0;
}
img {
  border-style: none;
  vertical-align: bottom
}
embed,object,iframe {
  border: 0;
  vertical-align: bottom
}
button,input,optgroup,select,textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit
}
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox
}
[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio
}
button,input {
  overflow: visible
}
button,select {
  text-transform: none
}
button,[type=button],[type=reset],[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
button[disabled],[type=button][disabled],[type=reset][disabled],[type=submit][disabled] {
  cursor: default
}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0
}
button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText
}
select::-ms-expand {
  display: none
}
option {
  padding: 0
}
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0
}
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
label[for] {
  cursor: pointer
}
details {
  display: block
}
summary {
  display: list-item
}
[contenteditable] {
  outline: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
caption {
  text-align: left
}
td,th {
  vertical-align: top;
  padding: 0
}
th {
  text-align: left;
  font-weight: 700
}
template {
  display: none
}
[hidden] {
  display: none
}

/* base
======================================== */
* {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  word-break: break-all
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"
}
button {
  display: block
}
textarea {
  resize: vertical
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #1378bc
}
input:-moz-placeholder-shown,textarea:-moz-placeholder-shown {
  color: #c2b9b5
}
input:-ms-input-placeholder,textarea:-ms-input-placeholder {
  color: #c2b9b5
}
input:placeholder-shown,textarea:placeholder-shown {
  color: #c2b9b5
}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
  color: #c2b9b5
}
input:-moz-placeholder,textarea:-moz-placeholder {
  color: #c2b9b5;
  opacity: 1
}
input::-moz-placeholder,textarea::-moz-placeholder {
  color: #c2b9b5;
  opacity: 1
}
input:-ms-input-placeholder,textarea:-ms-input-placeholder {
  color: #c2b9b5
}
input:focus:-moz-placeholder-shown,textarea:focus:-moz-placeholder-shown {
  color: #1378bc
}
input:focus:-ms-input-placeholder,textarea:focus:-ms-input-placeholder {
  color: #1378bc
}
input:focus:placeholder-shown,textarea:focus:placeholder-shown {
  color: #1378bc
}
input:focus::-webkit-input-placeholder,textarea:focus::-webkit-input-placeholder {
  color: #1378bc
}
input:focus:-moz-placeholder,textarea:focus:-moz-placeholder {
  color: #1378bc;
  opacity: 1
}
input:focus::-moz-placeholder,textarea:focus::-moz-placeholder {
  color: #1378bc;
  opacity: 1
}
input:focus:-ms-input-placeholder,textarea:focus:-ms-input-placeholder {
  color: #1378bc
}
img {
  pointer-events: none;
  user-select: none;
  max-width: 100%;
}
html {
  font-size: 62.5%
}
body {
  color: var(--color-base) !important;
  font-family: var(--font-base);
  font-size: var(--font-root);
  font-weight: 500;
  line-height: var(--line-height-md);
  text-align: justify;
  letter-spacing: .08em;
  overflow-wrap: break-word;
  word-wrap: break-word;
  text-rendering: optimizeLegibility;
  min-width: var(--content-width-min);
}
html,body {
  width: 100%;
  height: 100%
}

/* ↓↓ diverted from mocofoam.jp ↓↓ */

/* layout
======================================== */
.l_header {
  width: 100%;
  z-index: 99;
  position: fixed;
  top: 0;
  left: 0;
  padding: var(--space-xxs) 0;
  background-color: var(--color-white);
}
.l_header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--space-2xl);
}
.l_header-left {
  width: 45%;
  flex-shrink: 0
}
.l_header-right__items {
  display: flex;
  align-items: center;
  gap: .5em;
  line-height: var(--line-height-min);
}
.l_header .c_btn__contact {
  display: inline-flex;
  align-items: center;
  width: auto;
  position: relative;
  padding: var(--space-xs);
  color: var(--color-white);
  font-size: var(--fs-3);
  font-weight: 900;
  line-height: var(--line-height-min);
  background-color: #f38529;
  border-radius: var(--radius-max);
  box-shadow: inset 0 0 2em #f1c45d;
  text-shadow: 0 .2em .4em #f38529;
}
@media screen and (max-width: 767px) {
  .l_header__inner {
    padding: 0 var(--space-sm);
  }
  .l_header-right__item img {
      max-width: 4rem;
      height: auto;
  }
  .l_header .c_btn__contact {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .l_header-right__items {
    padding-block-start: .4em;
    gap: 1em;
  }
}
.l_footer {
  width: 100%;
  background-color: var(--color-white);
  padding: var(--space-sm) 0 var(--space-lg)
}
.l_footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: end;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 var(--space-2xl);
}
.l_footer .copyright {
  font-size: var(--fs-1);
}
.l_container {
  margin-top: var(--header-height);
}
.fixed-button {
  position: fixed;
  right: 0;
  bottom: var(--space-max);
  z-index: 9999;
}
.fixed-button a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xxs);
  padding: var(--space-xs);
  padding-left: var(--space-md);
  font-size: var(--fs-1);
  line-height: var(--line-height-sm);
  background-color: var(--color-emphasis);
  border-radius: var(--radius-max) 0 0 var(--radius-max);
}
@media screen and (max-width: 767px) {
  .l_footer {
    padding-block:clamp(0.8em, 1.66667vw, 1.6em)
  }
  .l_footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-inline:20px
  }
  .l_footer .copyright {
    -webkit-padding-before: 1em;
    padding-block-start:1em;font-size: 1rem
  }
  .fixed-button {
    display: none;
  }
}

/* component
======================================== */
.c_logo--ver {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 15em;
  line-height: 1;
}
.c_logo--ver .c_logo__jag {
  width: var(--logo-corp);
}
.c_logo--ver .c_logo__pdt {
  width: 100%;
  margin-top: var(--space-min);
}
.c_logo--ver .c_logo__img--ver {
  width: var(--logo-product);
  height: auto;
}
.c_btn__contact--txt {
    display: none;
}
@media screen and (min-width: 768px) {
  .c_btn__contact:after {
    content: "";
    opacity: 0;
    z-index: 10;
    position: absolute;
    top: .3em;
    left: .6em;
    display: block;
    width: 2.4em;
    height: 2.4em;
    border-radius: 100%;
    background-image: url(../images/ico-email.svg);
    background-color: #fefefe;
    background-size: cover;
    transform: scale(.25);
    transform-origin: center center;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0, 0, .58, 1);
  }
  .c_btn__contact img {
    z-index: 12;
    position: absolute;
    top: .3em;
    left: .8em;
    width: 2.4em;
    height: 2.4em;
    left: .8em;
    transform-origin: center center;
    transition-duration: .15s;
    transition-timing-function: cubic-bezier(0, 0, .58, 1);
  }
  .c_btn__contact--txt {
    display: block;
    padding-left: 2.5em;
  }
  .c_tel {
    display: block;
  }
}
@media screen and (min-width: 768px) and (hover:hover) {
  .c_btn__contact:hover {
    -webkit-box-shadow:inset 0 0 4em #f1c45d;
    box-shadow: inset 0 0 4em #f1c45d;
    -webkit-transition: .3s;
    transition: .3s
  }
  .c_btn__contact:hover:after {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1)
  }
  .c_btn__contact:hover img {
    opacity: 0;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transform-origin: center center;
    transform-origin: center center
  }
}
.c_logo--hol {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-end;
  gap: var(--space-xs);
  line-height: var(--line-height-min);
}
.c_logo--hol img:nth-of-type(1) {
  width: auto;
  height: var(--footer-logo-corp-en);
}
.c_logo--hol img:nth-of-type(2) {
  width: auto;
  height: var(--footer-logo-corp-ja);
}

/* ↑↑ diverted from mocofoam.jp ↑↑ */

/* hero
======================================== */
body.is-fixed {
  height: 100vh;
  overflow: hidden;
}
.lp-hero__inner {
  height: 90vh;
  position: relative;
  background: url(../images/hero-image.webp) no-repeat top / cover;
}
.lp-hero__main {
  width: var(--content-width-wide);
  margin: 0 auto;
  padding: var(--space-2xl) 0;
  text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 10px #fff, 0 0 20px #fff;
}
.lp-hero__catch {
  color: var(--color-secondary);
  font-size: var(--fs-7);
  font-weight: 700;
  line-height: var(--line-height-sm);
}
.lp-hero__sub {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs) 0;
  color: var(--color-primary-dark);
  font-size: var(--font-heading-catch);
  font-weight: 700;
}
.lp-hero__strong {
  display: block;
  font-size: var(--fs-6);
}
.lp-hero__title {
  margin-top: var(--space-xs);
}
.lp-hero__desc {
  margin-top: var(--space-md);
  color: var(--color-primary-dark);
  font-size: var(--font-heading-title);
  font-weight: 700;
}
.lp-hero__subdesc {
  color: var(--color-secondary);
  font-size: var(--font-heading-title);
  font-weight: 700;
}
.lp-hero__desc > span,
.lp-hero__subdesc > span {
  font-size: var(--util-font-small);
  font-weight: 900;
}
.lp-hero__subdesc > span {
  color: var(--color-base);
}

@media screen and (max-width: 767px) {
  .lp-hero__inner {
    padding: 0 var(--space-xs);
  }
  .lp-hero__main {
    padding: var(--space-sm) 0;
  }
  .lp-hero__catch {
    font-size: var(--fs-6);
  }
  .lp-hero__sub {
    margin-top: var(--space-xxs);
    font-size: var(--fs-4);
  }
  .lp-hero__strong {
    font-size: var(--fs-4);
  }
}
@media screen and (min-width: 768px) {
  .video-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    position: absolute;
    top: var(--space-xs);
    right: var(--space-xs);
    background: var(--color-white);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow);
    transition: .5s ease;
  }
}
@media screen and (max-width: 1024px) {
  .video-card {
    top: 50vh;
  }
}
.video-card video {
  width: 364px;
}
.video-card .play-video {
  color: var(--color-primary);
  font-size: var(--fs-5);
  cursor: pointer;
}
.video-card.is-active {
  width: 70vw;
  top: 50vh;
  left: 50vw;
  right: 0;
  transform: translate(-50%, calc(-50% - 80px));
}
.video-card.is-active video {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .video-card {
  }
  .video-card video {
    width: 100%;
  }
  .video-card.is-active {
    width: 70vw;
    top: 50vh;
    left: 50vw;
    right: 0;
    transform: translate(-50%, calc(-50% - 80px));
  }
  .video-card.is-active video {
    width: 100%;
  }
}

/* section */
section[data-pattern="summary"] {
  position: relative;
}
section[data-pattern="summary"]::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: url(../images/bg-image.webp) no-repeat center / cover;
}
section[data-pattern="primary"] {
  position: relative;
  background-color: var(--color-primary);
}
section[data-pattern="primary"]::after {
  content: "";
  display: block;
  height: var(--section-arrow);
  position: absolute;
  right: 0;
  bottom: calc(var(--section-arrow) * -1 + 1px);
  left: 0;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--color-primary);
}
section[data-pattern="alert"] {
  background-color: var(--color-white);
}
section[data-pattern="cta"] {
  background-color: var(--color-primary-dark);
}
section[data-pattern="feature"] {
  background-color: var(--color-primary-light);
}
section[data-pattern="details"] {
  padding-top: var(--space-max);
  background-color: var(--color-light-gray);
}
section[data-pattern="contact"] {
  background-color: var(--color-primary-light);
}
section[data-pattern="privacy"] {
  background-color: var(--color-primary-light);
}
section[data-pattern="sns"] {
  text-align: center;
  background-color: var(--color-primary);
}
section[data-pattern="sns"] img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  section[data-pattern="sns"] .media {
    display: none;
  }
  section[data-pattern="sns"] img {
    width: 60%;
    height: auto;
  }
}
.section-inner {
  width: var(--content-width-base);
  margin-inline: auto;
  padding-block: var(--section-padding);
}
.section_cta-inner {
  padding-block: var(--space-md);
}
@media screen and (max-width: 767px) {
  .section-inner {
    padding: var(--space-lg) 0;
  }
  .section-inner[data-layout="horizontal"] {
    flex-direction: column;
  }
  .section-inner[data-layout="vertical"] {
    gap: var(--space-lg);
  }
  .section_cta-inner {
    padding-block: var(--space-md);
  }
}

/* content */
.contents {
  display: flex;
  flex-direction: column;
  gap: var(--content-gap);
}
/* block */
.block[data-layout="cards"] {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.block[data-layout="button"] {
  display: flex;
  justify-content: center;
  gap: var(--space-lg);
}
.block[data-layout="inquiry"] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
}
.block[data-layout="content"] {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.block[data-layout="form"] {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
@media screen and (max-width: 767px) {
  .block[data-layout="button"] {
    flex-direction: column;
    gap: var(--space-sm);
  }
  .block[data-layout="video"] video {
    width: 100%;
  }

}

/* component */
.component[data-type="section"] {
  flex-direction: column;
  gap: var(--space-lg);
}
.component[data-type="card"] {
  flex: 1 0 calc(50% - var(--space-md));
  padding: var(--space-lg);
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
}
.component-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.component-inner[data-layout="ungap"] {
  gap: 0;
}

@media screen and (max-width: 767px) {
  .component[data-type="card"] {
    padding: var(--space-sm);
  }
}

/* heading-block */
.heading-block {
  display: flex;
  flex-direction: column;
}
.heading-block[data-pattern="sub"] {
  gap: var(--space-xxs);
}
.heading-block[data-pattern="description"] {
  gap: var(--space-sm);
}
.heading-block[data-pattern="catch"] {
  gap: var(--space-xs);
}


/* heading */
.heading {
  font-weight: bold;
  line-height: var(--line-height-sm);
  text-align: center;
}
.heading[data-level="1"] {
  font-size: var(--font-heading-sm);
}
.heading[data-level="2"] {
  font-size: var(--font-heading-md);
}
.heading[data-level="3"] {
  font-size: var(--font-heading-lg);
}
@media screen and (max-width: 767px) {
  .heading[data-level="3"] {
    font-size: var(--font-heading-md);
  }
}
.heading[data-variant="section"] {
  color: var(--color-primary);
}
.heading[data-variant="component"] {
  color: var(--color-primary);
}
.heading[data-variant="alert"] {
  color: var(--color-secondary);
}
.heading[data-variant="data"] {
  color: var(--color-base);
}
.heading[data-variant="inverse"] {
  color: var(--color-white);
}
.heading[data-position="section"] {
  padding: var(--space-xxs) var(--space-lg);
}
.heading[data-position="card"] {
  padding: var(--space-min) var(--space-xs);
}
.heading[data-ui] {
  width: fit-content;
  margin: 0 auto;
  color: var(--color-white);
  border-radius: var(--radius-sm);
}
.heading[data-ui="box-primary"] {
  background-color: var(--color-primary);
}
.heading[data-ui="box-secondary"] {
  background-color: var(--color-secondary);
}
.heading[data-ui="box-gray"] {
  background-color: var(--color-gray);
}
.heading-title {
  color: var(--color-primary-dark);
  font-size: var(--font-heading-title);
  font-weight: 700;
  line-height: var(--line-height-sm);
  text-align: center;
}
.heading-sub {
  font-size: var(--font-heading-sub);
  font-weight: 400;
  text-align: center;
}
.heading-description {
  font-size: var(--font-heading-desc);
  font-weight: 500;
}
.heading-catch {
  font-size: var(--font-heading-catch);
  font-weight: 700;
  text-align: center;
}

/* intro */
.intro-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}
.intro-block[data-variant="explanation"] {
  gap: var(--space-sm);
}
.intro-block[data-variant="inverse"] {
  color: var(--color-white);
}
.intro-body {
  font-weight: 500;
  line-height: var(--line-height-lg);
}
.intro-body[data-level="2"] {
  font-size: var(--font-intro-sm);
}
.intro-body[data-level="3"] {
  font-size: var(--font-intro-lg);
}
.intro-media {
  display: flex;
}
.intro-emphasis {
  position: relative;
  font-weight: 700;
  z-index: 0;
}
.intro-emphasis::before {
  content: "";
  height: var(--emphasis-marker);
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--color-emphasis);
}

@media screen and (max-width: 767px) {
  .intro-block {
    gap: var(--space-sm);
  }
  .intro-body {
    text-align: justify;
  }
}

/* content */
.content-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}
.content-body figure {
  text-align: center;
}
.content-inner {
  display: flex;
  align-items: flex-start;
  gap: var(--space-lg);
  position: relative;
}
.content-inner[data-exception="material"] {
  align-items: flex-end;
  gap: var(--space-sm);
  margin-top: calc(var(--space-lg) * -1);
}
.content-inner[data-exception="studies"] {
  gap: var(--space-sm);
}
.content-inner[data-exception="studies"] p:last-child {
  flex: 1 0 auto;
}
.content-inner[data-exception="testing"] .content-unit:first-child {
  flex: 1 0 auto;
}
.content-unit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xs);
}
.content-unit[data-layout="horizontal"] {
  flex-direction: row;
  gap: var(--space-md);
}
.content-unit[data-layout="gap-sm"] {
  gap: var(--space-sm);
}
.content-unit[data-layout="gap-md"] {
  gap: var(--space-md);
}
.content-unit[data-order] {
  flex-direction: column;
  --order-1: 55;
  --order-2: 45;
}
.content-unit[data-order="1"] {
  flex: var(--order-1) 1 0;
}
.content-unit[data-order="2"] {
  flex: var(--order-2) 1 0;
}
.content-unit[data-order="2"] .notes-text {
  position: absolute;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .content-inner {
    flex-direction: column;
  }
  .content-inner[data-exception="material"] {
    flex-direction: row;
  }
  .content-unit[data-layout="horizontal"] {
    flex-direction: column;
  }
  .content-unit[data-order="2"] .notes-text {
    position: relative;
  }
}

/* text */
.body-text {
  font-size: var(--font-body);
}
.body-text[data-level="1"] {
  font-size: var(--fs-5);
}
.body-text[data-level="1"] {
  font-size: var(--fs-7);
}
.body-text[data-position="section"] {
  line-height: var(--line-height-lg);
}
.body-text[data-position="card"] {
  line-height: var(--line-height-md);
}
.body-text [data-emphasis] {
  color: var(--color-secondary);
}
.notes-text {
  font-size: var(--font-notes);
  line-height: var(--line-height-md);
}
.notes-text a {
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .body-text {
    text-align: justify;
  }
}

/* table */
table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: var(--font-table);
  font-weight: 400;
  line-height: var(--line-height-sm);
  background-color: var(--color-primary-light);
}
@media screen and (max-width: 767px) {
  table {
    width: auto;
  }
}
table thead {
  color: var(--color-white);
  font-weight: 700;
  background-color: var(--color-primary);
}
table tbody th {
  padding: var(--space-xxs) 0;
  font-weight: 400;
  vertical-align: middle;
}
table th,
table td {
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  [data-scrollable] {
    width: 100%;
  }
  [data-scrollable] table th,
  [data-scrollable] table td {
    white-space: nowrap;
  }
}
table td {
  padding: var(--space-xs);
}
table td .large {
  font-size: 150%;
}
table[data-details="specs"] thead th {
  padding: var(--space-xs) 0;
}
table[data-details="specs"] tr[data-separate] {
  border-top: 1px solid var(--color-light-gray);
}
table[data-details="specs"] tr[data-alternate] {
  background-color: var(--color-white);
}
table[data-details="accreditation"] thead th {
  padding: var(--space-xs) 0;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
table[data-details="accreditation"] tr[data-separate] {
  border-top: 1px solid var(--color-primary);
}
table[data-details="accreditation"] td:not(:last-of-type) {
  border-right: 1px solid var(--color-primary);
}
table[data-details="testmethod"] thead th {
  padding: var(--space-xs) 0;
}
table[data-details="testmethod"] tr[data-separate] {
  border-top: 1px solid var(--color-white);
}
table[data-details="restrictions"] thead th {
  padding: var(--space-xs) 0;
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
table[data-details="restrictions"] thead th:first-child {
  width: 30%;
}
table[data-details="restrictions"] thead th:nth-child(2) {
  width: 40%;
}
table[data-details="restrictions"] td {
  border-right: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
}
table[data-details="restrictions"] td:nth-child(-n + 2) {
  text-align: justify;
}
table[data-details="restrictions"] td[data-certification="nannen"] {
  background-color: #fee08d;
}
table[data-details="restrictions"] td[data-certification="funen"] {
  background-color: #edb7c3;
}
table th[data-width="sm"] {
  width: var(--table-width-sm);
}
table th[data-width="four"] {
  width: var(--table-width-four);
}
table th[data-width="half"] {
  width: var(--table-width-half);
}
table ul {
  padding-left: 1.08em;
  text-align: justify;
  text-indent: -1.08em;
}


/* cta */
.cta-block {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-lg);
}
.cta-block[data-insert] {
  margin-top: var(--space-lg);
}
.cta-tel[data-function="tel"] {
  display: flex;
  align-items: center;
  gap: var(--space-xxs);
  color: var(--color-white);
  font-family: var(--font-cta-num);
  font-size: var(--fs-8);
  font-weight: 700;
  line-height: var(--line-height-min);
}
.cta-tel[data-function="tel"]::before {
  content: "";
  width: 1em;
  height: 1em;
  background: url(../images/ico-tel.svg) no-repeat center;
}

@media screen and (max-width: 767px) {
  .cta-block {
    flex-direction: column;
  }
  .cta-tel[data-function="tel"] {
    font-size: var(--fs-6);
  }
}

/* button */
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-xxs);
  width: var(--button-base);
  padding: var(--space-xs);
  color: var(--color-base);
  font-size: var(--fs-5);
  font-weight: 700;
  line-height: var(--line-height-sm);
  background-color: var(--color-emphasis);
  border-radius: var(--radius-max);
  transition: .3s ease;
}
@media screen and (max-width: 767px) {
  .button {
    font-size: var(--fs-3);
  }
}
.button[data-function]::before {
  content: "";
  width: 1em;
  height: 1em;
}
.button[data-function="contact"] {
  width: var(--button-contact);
}
.button[data-function="contact"]::before {
  background: url(../images/ico-mail.svg) no-repeat center / contain;
}
.button[data-function="download"]::before {
  background: url(../images/ico-pdf.svg) no-repeat center / contain;
}
.button:hover {
  opacity: .8;
}

/* utility */
[data-utility="align-left"] {
  text-align: var(--util-align-left);
}
[data-utility="align-center"] {
  text-align: var(--util-align-center);
}
[data-utility="align-right"] {
  text-align: var(--util-align-right);
}
[data-utility="align-justify"] {
  text-align: var(--util-align-justify);
}
[data-utility="small-text"] {
  font-size: var(--util-font-small);
}

@media screen and (min-width: 768px) {
  [data-device="mobile"] {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  [data-device="pc"] {
    display: none;
  }
}

/* heading */
.heading {
  font-weight: 700;
  line-height: var(--line-height-sm);
}
.heading[data-variant="hd-card"] {
  color: var(--color-primary);
  font-size: var(--font-hd-card);
  text-align: center;
}
.heading[data-variant="hd-spec"] {
  color: var(--color-base);
  font-size: var(--font-hd-card);
  text-align: left;
}
.heading[data-variant="hd-conclusion"] {
  color: var(--color-base);
  font-size: var(--font-hd-card);
  text-align: center;
}
.heading[data-variant="card-label"] {
  width: fit-content;
  margin: 0 auto;
  padding: var(--space-min) var(--space-xs);
  color: var(--color-white);
  font-size: var(--font-card-label);
  border-radius: var(--radius-sm);
}
.heading[data-variant="section-label"] {
  width: fit-content;
  margin: 0 auto;
  padding: var(--space-xxs) var(--space-lg);
  color: var(--color-white);
  font-size: var(--font-section-label);
  border-radius: var(--radius-sm);
}
.heading[data-label="primary"] {
  background-color: var(--color-primary);
}
.heading[data-label="secondary"] {
  background-color: var(--color-secondary);
}
.heading[data-label="gray"] {
  background-color: var(--color-gray);
}

/* card */
.card-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--card-gap);
}
.card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  padding: var(--card-padding);
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
}
@media screen and (min-width: 768px) {
  .card-list[data-cols="1"] .card {
    flex: 1 0 100%;
  }
  .card-list[data-cols="2"] .card {
    flex: 1 0 calc(50% - var(--space-md));
  }
  .card-list[data-cols="3"] .card {
    flex: 1 0 calc((100% / 3) - var(--space-md));
  }
}
@media screen and (max-width: 767px) {
  .card {
    flex: 1 0 100%;
  }
  .card[data-scrollable] {
    overflow-x: auto;
  }
}
.card figcaption {
  margin-top: var(--caption-margin);
  font-size: var(--font-caption);
}
.card.no-gap {
  gap: 0;
}
.result-list {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  font-size: var(--fs-5);
  font-weight: 700;
}
.result-list dt {
  width: 7em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .result-list {
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--fs-3);
  }
  .result-list dt {
    width: auto;
  }
}
.result-list dt[data-name="pufguard"] {
  color: var(--color-primary);
}
.result-list dt[data-name="pufpure"] {
  color: var(--color-pufpure);
}
.card-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-xxs);
}
@media screen and (max-width: 767px) {
  .card-head {
    gap: var(--space-sm);
  }
}
.card-sub {
  font-size: var(--font-card-sub);
  text-align: center;
  line-height: var(--line-height-xl);
}
.card-catch {
  font-size: var(--font-card-catch);
}
.block-compare {
  display: flex;
  gap: var(--card-block-gap);
}
@media screen and (max-width: 767px) {
  .block-compare {
    flex-direction: column;
  }
}
.card-block {
  display: flex;
  flex-direction: column;
  gap: var(--card-block-gap);
}
.card-block[data-grid] {
  display: grid;
  grid-template-columns: 6fr 5fr;
}
.card-block[data-grid="overlap"] {
  align-items: end;
}
.card-block[data-grid="patent"] {
  grid-template-columns: 1fr auto;
  gap: var(--space-xs);
}
@media screen and (max-width: 767px) {
  .card-block[data-grid] {
    grid-template-columns: 1fr;
  }
  .card-block[data-grid="overlap"] {
    margin-top: 0;
    grid-template-columns: 6fr 5fr;
  }
}
.card-body {
  display: flex;
  flex-direction: column;
  gap: var(--sp-4);
}
.card-body[data-variant="gallery"] {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--card-block-gap);
}
.card-media {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 150px;
}
.card-media.media-min {
  height: 80px;
}
.card-text {
  font-size: var(--font-card-text);
  font-weight: 500;
  line-height: var(--line-height-md);
}
.card-text [data-emphasis] {
  color: var(--color-secondary);
}
.conclusion-catch {
  color: var(--color-primary);
  font-size: var(--font-hd-conclusion);
  font-weight: 700;
  text-align: center;
}
.conclusion-text {
  font-size: var(--font-conclusion);
  font-weight: 500;
  line-height: var(--line-height-md);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .card-body {
    gap: var(--sp-2);
  }
  .card-body[data-variant="gallery"] {
    grid-template-columns: 1fr;
    gap: var(--card-block-gap);
  }
}


/* text */
.note {
  font-size: var(--font-note);
  line-height: var(--line-height-md);
}
.note a {
  text-decoration: underline;
}

