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

#wpadminbar {
  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
}

/* custom property */
:root {
  /* width */
  --content-width-min: 320px;
  --content-width-base: 920px;
  --content-width-wide: 1200px;

  /* space */
  --space-min: 4px;
  --space-xxs: 8px;
  --space-xs: 16px;
  --space-sm: 24px;
  --space-md: 32px;
  --space-lg: 40px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 80px;
  --space-max: 120px;

  /* radius */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-max: 999px;

  /* color */
  --color-base: #333;
  --color-primary: #43B43F;
  --color-primary-dark: #0C3C26;
  --color-primary-light: #EAF3E5;
  --color-secondary: #EA5514;
  --color-emphasis: #FFDA0B;
  --color-pufpure: #E4B2D1;
  --color-light-gray: #F5F5F5;
  --color-white: #FFF;

  /* shadow */
  --shadow: 0 5px 40px rgb(0 0 0 / 10%);

  /* font */
  --font-base: "Zen Maru Gothic", sans-serif;
  --font-cta-num: "Poppins", sans-serif;

  --fs-1: 1.2rem;
  --fs-2: 1.3rem;
  --fs-3: 1.6rem;
  --fs-4: 2rem;
  --fs-5: 2.4rem;
  --fs-6: 3.2rem;
  --fs-7: 4rem;
  --fs-8: 4.8rem;
  --fs-9: 6.4rem;

  --font-notes: var(--fs-2);
  --font-body: var(--fs-3);
  --font-heading-sm: var(--fs-5);
  --font-heading-lg: var(--fs-7);

  --font-heading-sub: var(--fs-1);
  --font-heading-catch: var(--fs-5);

  --font-intro-sm: var(--fs-3);
  --font-intro-lg: var(--fs-5);

  /* line-height */
  --line-height-min: 1;
  --line-height-sm: 1.4;
  --line-height-md: 1.6;
  --line-height-lg: 1.8;

  /* size */
  --logo-corp: 80px;
  --logo-product: 140px;
  --footer-logo-corp-en: 60px;
  --footer-logo-corp-ja: 32px;
  --emphasis-marker: 16px;
  --section-arrow: 120px;

  /* button */
  --button-size-contact: 320px;
  --button-size: 372px;

  /* utility */
  --header-height: 72px;
  --u-font-small: 80%;
}

/* 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%;
  height: auto
}
html {
  font-size: 62.5%
}
body {
  color: var(--color-base) !important;
  font-family: var(--font-base);
  font-size: var(--font-size-sm);
  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: var(--content-width-wide);
  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
}
.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(--font-size-sm);
  font-weight: 900;
  background-color: #f38529;
  border-radius: var(--radius-max);
  box-shadow: inset 0 0 2em #f1c45d;
  text-shadow: 0 .2em .4em #f38529;
}

@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: var(--content-width-wide);
  margin: 0 auto;
  padding: 0 var(--space-2xl);
}
.l_footer .copyright {
  font-size: var(--font-size-xxs);
}


/* component
======================================== */
.c_logo--ver {
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  max-width: 14em;
  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);
}
@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 ↑↑ */

/* layout
======================================== */
.l-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}

@media (max-width: 768px) {
  .l-grid-2 {
    grid-template-columns: 1fr;
  }
}

/* hero
======================================== */
.lp-hero__inner {
  height: 100vh;
  margin-top: var(--header-height);
  background: url(../images/hero-image.webp) no-repeat center / cover;
}
.lp-hero__main {
  width: var(--content-width-wide);
  margin: 0 auto;
  padding: var(--space-2xl) 0;
}
.lp-hero__catch {
  color: var(--color-secondary);
  font-size: var(--font-size-4xl);
  font-weight: 500;
  line-height: var(--line-height-sm);
}
.lp-hero__sub {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs) 0;
  margin-top: var(--space-xs);
  font-size: var(--font-size-lg);
  font-weight: 700;
}
.lp-hero__strong {
  display: block;
  font-size: var(--font-size-xl);
}
.lp-hero__title {
  margin-top: var(--space-xs);
}
.lp-hero__desc {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}
.lp-hero__desctext {
  padding: var(--space-xxs) var(--space-xs);
  color: var(--color-white);
  font-size: var(--font-size-3xl);
  font-weight: 700;
  background-color: var(--color-secondary);
}
.lp-hero__desctext > span {
  font-size: var(--u-font-small);
  font-weight: 900;
}

/* section
======================================== */
.lp-section {
  width: var(--content-width-base);
  margin: var(--space-3xl) auto 0
}
.lp-section.bg-image {
  padding-bottom: var(--space-3xl);
  position: relative;
}
.lp-section.bg-image::after {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: 0px;
  transform: translateX(-50%);
  z-index: -1;
  background: url(../images/bg-image.webp) no-repeat center / cover;
}
.lp-section-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.lp-section-desc {
  margin-top: var(--space-lg);
  line-height: var(--line-height-lg);
}
.lp-heading {
  color: var(--color-base);
  font-size: var(--font-size-lg);
  font-weight: 700;
}
.lp-heading-lg {
  font-size: var(--font-size-lg);
  font-weight: 500;
}
.lp-heading-2xl {
  margin-top: var(--space-xs);
  font-size: var(--font-size-2xl);
  font-weight: 700;
}
.lp-heading__sub {
  color: var(--color-primary);
  font-size: var(--font-size-lg);
  font-weight: 500;
  text-align: center;
}
.lp-heading__desc {
  margin-top: var(--space-xs);
  font-size: var(--font-size-xxs);
  text-align: center;
}
.lp-heading-primary {
  color: var(--color-primary);
}
.lp-heading-secondary {
  color: var(--color-secondary);
}
.lp-heading-white {
  color: var(--color-white);
}

/* card
======================================== */
.c-card {
  padding: var(--space-lg);
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow);
}
.c-card__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
}
.c-card:not(:has(.lp-heading__desc)) .c-card__inner {
  margin-top: var(--space-2xl);
}
.c-card__text {
  font-size: var(--font-size-sm);
  font-weight: 500;
  line-height: var(--line-height-lg);
}
.c-card__notes {
  font-size: var(--u-font-small);
  font-weight: 400;
  line-height: var(--line-height-md);
}
.c-card a {
  text-decoration: underline;
}

/* table
======================================== */
.c-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--space-sm);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}
.c-table tr.bg {
  background-color: var(--color-primary-right);
}
.c-table tr.hr {
  border-top: var(--border);
}
.c-table thead th {
  width: 25%;
  padding: var(--space-xs);
  color: var(--color-white);
  font-weight: 700;
  background-color: var(--color-primary);
}
.c-table tbody th {
  padding: var(--space-xxs);
  font-weight: 400;
}
.c-table th,
.c-table td {
  vertical-align: middle;
  text-align: center;
  white-space: nowrap;
}
.c-table td {
  padding: var(--space-xxs);
  font-weight: 400;
}

/* button
======================================== */
.c-btn__group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-md);
  margin-top: var(--space-3xl);
}
.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--button-size);
  padding: var(--space-xs);
  color: var(--color-base);
  font-size: var(--font-size-lg);
  font-weight: 700;
  line-height: var(--line-height-sm);
  background-color: var(--color-emphasis);
  border-radius: var(--radius-max);
  transition: .2s ease;
}
.c-btn:hover {
  opacity: .8;
}
.c-btn-download {
  padding-left: var(--space-xl);
  position: relative;
}
.c-btn-download::before {
  content: "";
  width: var(--font-size-lg);
  height: var(--font-size-xl);
  position: absolute;
  left: var(--space-lg);
  background: url(../images/ico-pdf.svg) no-repeat center / contain;
}
.c-btn-contact {
  width: var(--button-size-contact);
  padding-left: var(--space-xl);
  position: relative;
}
.c-btn-contact::before {
  content: "";
  width: var(--font-size-xl);
  height: var(--font-size-lg);
  position: absolute;
  left: var(--space-2xl);
  background: url(../images/ico-mail.svg) no-repeat center / contain;
}

/* CTA
======================================== */
.lp-cta {
  padding: var(--space-2xl) 0;
  background: var(--color-primary-dark);
  color: var(--color-white);
  text-align: center;
}
.lp-cta h2 {
  color: var(--color-white);
}
.lp-cta__group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-lg);
  margin-top: var(--space-sm);
}
.c-tel {
  color: var(--color-white);
  font-family: var(--font-cta-num);
  font-size: var(--font-size-3xl);
  font-weight: 700;
}
.c-tel::before {
  content: "";
  display: inline-block;
  width: var(--font-size-xl);
  height: var(--font-size-xl);
  margin-right: var(--space-xs);
  background: url(../images/ico-tel.svg) no-repeat center / contain;
}



/* section */
section[data-pattern="green-images"] {
  position: relative;
}
section[data-pattern="green-images"]::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);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--color-primary);
}
section[data-pattern="primary-light"] {
  background-color: var(--color-primary-light);
}
section[data-pattern="details"] {
  background-color: var(--color-light-gray);
}
.section-inner {
  display: flex;
  width: var(--content-width-base);
  margin: 0 auto;
  padding: var(--space-3xl) 0;
}
.section-inner[data-layout="horizontal"] {
  flex-wrap: wrap;
  flex-direction: row;
  gap: var(--space-md);
}
.section-inner[data-layout="vertical"] {
  flex-direction: column;
  gap: var(--space-3xl);
}

/* component */
.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);
}

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

/* 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-lg);
}
.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-sub {
  font-size: var(--font-heading-sub);
  font-weight: 400;
  text-align: center;
}
.heading-catch {
  font-size: var(--font-heading-catch);
  font-weight: 700;
  text-align: center;
}

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

/* content */
.content-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.content-body figure {
  text-align: center;
}

/* text */
.body-text {
  font-size: var(--font-body);
}
.body-text[data-position="section"] {
  line-height: var(--line-height-lg);
}
.body-text[data-position="card"] {
  line-height: var(--line-height-md);
}
.notes-text {
  font-size: var(--font-notes);
  line-height: var(--line-height-md);
}