@charset "UTF-8";


@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap");
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    background-attachment: initial;
    scroll-behavior: auto;
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
    -webkit-transition-duration: 0s;
            transition-duration: 0s;
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
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 {
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  margin: 0;
  padding: 0;
  border: none;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

iframe,
img,
input,
select,
textarea {
  max-width: 100%;
  height: auto;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

ol, ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
}

button {
  border-radius: 0;
  text-transform: none;
  border: none;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

:root {
  --w: 10px;
  --h: 10px;
  --f: 10px;
}
@media screen and (max-width: 1400px) {
  :root {
    --w: 0.7143vw;
  }
}
@media screen and (max-width: 960px) {
  :root {
    --w: 2.6667vw;
    --h: 2.6667vw;
    --f: 2.6667vw;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  text-align: justify;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #26201F;
  font-size: calc(var(--f) * 1.6);
  line-height: 2.125;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 960px) {
  body {
    font-size: calc(var(--f) * 1.4);
    line-height: calc(var(--f) * 2.6);
    letter-spacing: 0;
  }
}

h1, h2, h3, h4, h5, h6, b, strong, dt, th {
  font-weight: 500;
}

br.sp {
  display: none;
}

@media screen and (max-width: 960px) {
  br.pc {
    display: none;
  }
  br.sp {
    display: inline;
  }
}
span.nl {
  display: inline-block;
}

@media screen and (min-width: 960.02px) {
  .float-cta {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .float-cta {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 900;
    display: block;
    width: 100%;
    padding: calc(var(--w) * 0.6) calc(var(--w) * 2.5);
    background: rgba(255, 255, 255, 0.85);
  }
  .float-cta__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .float-cta__item {
    width: calc((100% - var(--w) * 1.6) / 2);
  }
  .float-cta__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .float-cta__link .label {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: unset !important;
    width: 100% !important;
    height: calc(var(--w) * 4.8);
    padding: 0 !important;
    margin: 0 !important;
    font-size: calc(var(--f) * 1.4) !important;
    white-space: nowrap;
    letter-spacing: 0;
  }
  .float-cta__link--download {
    text-align: center;
  }
  .float-cta__link--download .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #fff;
    line-height: 1.5;
    font-weight: 700;
    background: #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .float-cta__link--download:hover .label {
    background: #0DB775;
  }
  .float-cta__link--download:active .label {
    background: #0C8355;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .float-cta__link--download.disabled {
    pointer-events: none;
  }
  .float-cta__link--download.disabled .label {
    color: #9D9D9D;
    background: #C4C4C4;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .float-cta__link--download .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (max-width: 960px) {
  .float-cta__link--contact {
    text-align: center;
  }
  .float-cta__link--contact .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #0FA36A;
    line-height: 1.5;
    font-weight: 700;
    background: #fff;
    border: 1px solid #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .float-cta__link--contact:hover .label {
    background: #E9F5F0;
  }
  .float-cta__link--contact:active .label {
    background: #C6E5D8;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .float-cta__link--contact.disabled {
    pointer-events: none;
  }
  .float-cta__link--contact.disabled .label {
    color: #9D9D9D;
    background: #EBEBEB;
  }
}
@media screen and (max-width: 960px) and (max-width: 960px) {
  .float-cta__link--contact .label {
    font-size: calc(var(--f) * 1.6);
  }
}
.thanks .float-cta, .download .float-cta, .recruit .float-cta {
  display: none;
}

.footer {
  background: #E5E1DB;
}
.footer__container {
  width: 1310px;
  max-width: 90vw;
  margin: 0 auto;
}
.footer__logo img {
  width: calc(var(--f) * 17.2);
}
.footer__sns__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__sns__item img {
  height: calc(var(--f) * 2);
}
.footer__copyright {
  font-size: calc(var(--f) * 1.4);
}
@media screen and (min-width: 960.02px) {
  .footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    height: calc(var(--h) * 9);
  }
  .footer__logo {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 calc(var(--w) * 9.6) 0 calc(var(--w) * 4.8);
  }
  .footer__sns {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99;
  }
  .footer__sns__item {
    margin-left: calc(var(--w) * 3.2);
  }
  .footer__copyright {
    width: 100%;
    font-size: calc(var(--f) * 1.4);
  }
}
@media screen and (max-width: 960px) {
  .footer__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: calc(var(--h) * 3) 0 calc(var(--h) * 15);
  }
  .footer__logo {
    width: 100%;
    padding: calc(var(--h) * 4) 0 calc(var(--h) * 2);
    text-align: center;
  }
  .footer__sns {
    width: 100%;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .footer__sns__items {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .footer__sns__item {
    padding: 0 calc(var(--f) * 1.5);
  }
  .footer__copyright {
    width: 100%;
    text-align: center;
  }
  .thanks .footer__container, .download .footer__container {
    padding-bottom: calc(var(--h) * 3);
  }
}

.header-download {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  display: block;
  width: 100%;
  background: #fff;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.16);
}
.header-download__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: calc(var(--h) * 8);
}
.header-download__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 0 0 calc(var(--w) * 4.2);
}
.header-download__logo img {
  width: calc(var(--f) * 13.6);
  margin: calc(var(--f) * -0.6) 0 0;
}
@media screen and (max-width: 960px) {
  .header-download__container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: calc(var(--h) * 5.2);
  }
  .header-download__logo {
    margin-left: 0;
  }
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  display: block;
  width: 100%;
  background: #fff;
  -webkit-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.16);
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.header__nav__link[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 0.85em;
  height: 0.85em;
  margin: 0 0 0 0.3em;
  background: url(../img/_common/link-outlink.svg) center/contain no-repeat;
  vertical-align: middle;
}
@media screen and (min-width: 960.02px) {
  .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: calc(var(--h) * 8);
  }
  .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 0 0 calc(var(--w) * 4.2);
  }
  .header__logo img {
    width: calc(var(--f) * 13.6);
    margin: calc(var(--f) * -0.6) 0 0;
  }
  .header__nav__btn, .header__nav__label {
    display: none;
  }
  .header__nav__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .header__nav__left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 0.5);
  }
  .header__nav__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .header__nav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 0 calc(var(--w) * 3.2);
  }
}
@media only screen and (min-width: 960.02px) and (max-width: 1280px) {
  .header__nav__item {
    margin-left: calc(var(--w) * 1);
  }
}
@media screen and (min-width: 960.02px) {
  .header__nav__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 calc(var(--f) * 0.9);
    font-size: calc(var(--f) * 1.5);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__nav__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: calc(var(--f) * 0.4);
    background: #0FA36A;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__nav__link:hover {
    color: #0FA36A;
  }
  .header__nav__link:hover::before {
    width: 100%;
  }
  .header__lang {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .header__lang__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header__lang__item::after {
    content: "/";
    font-size: 0.85em;
  }
  .header__lang__item:last-child::after {
    display: none;
  }
  .header__lang__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 calc(var(--f) * 0.9);
    font-size: calc(var(--f) * 1.4);
    line-height: 1.5;
    letter-spacing: 0;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__lang__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: calc(var(--f) * 0.4);
    background: #0FA36A;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__lang__link:hover {
    color: #0FA36A;
  }
  .header__lang__link:hover::before {
    width: 100%;
  }
  .header__cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: calc(var(--h) * 1.6) calc(var(--w) * 1.6) calc(var(--h) * 1.6) 0;
  }
  .header__cta__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: calc(var(--w) * 1.2);
  }
  .header__cta__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .header__cta__link .label {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-width: unset !important;
    width: calc(var(--f) * 12.8) !important;
    padding: 0 !important;
    font-size: calc(var(--f) * 1.4) !important;
    white-space: nowrap;
    letter-spacing: 0;
  }
  .header__cta__link--download {
    text-align: center;
  }
  .header__cta__link--download .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #fff;
    line-height: 1.5;
    font-weight: 700;
    background: #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .header__cta__link--download:hover .label {
    background: #0DB775;
  }
  .header__cta__link--download:active .label {
    background: #0C8355;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .header__cta__link--download.disabled {
    pointer-events: none;
  }
  .header__cta__link--download.disabled .label {
    color: #9D9D9D;
    background: #C4C4C4;
  }
}
@media screen and (min-width: 960.02px) and (max-width: 960px) {
  .header__cta__link--download .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (min-width: 960.02px) {
  .header__cta__link--contact {
    text-align: center;
  }
  .header__cta__link--contact .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #0FA36A;
    line-height: 1.5;
    font-weight: 700;
    background: #fff;
    border: 1px solid #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__cta__link--contact:hover .label {
    background: #E9F5F0;
  }
  .header__cta__link--contact:active .label {
    background: #C6E5D8;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .header__cta__link--contact.disabled {
    pointer-events: none;
  }
  .header__cta__link--contact.disabled .label {
    color: #9D9D9D;
    background: #EBEBEB;
  }
}
@media screen and (min-width: 960.02px) and (max-width: 960px) {
  .header__cta__link--contact .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (min-width: 960.02px) {
  .header__cta__link--contact .label {
    width: calc(var(--f) * 15) !important;
  }
}
@media screen and (max-width: 960px) {
  .header__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: calc(var(--h) * 5.2);
  }
  .header__logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin: 0 0 0 calc(var(--w) * 2.4);
  }
  .header__logo img {
    width: calc(var(--f) * 13.6);
    margin: calc(var(--f) * -0.6) 0 0;
  }
  .header__nav__btn {
    display: none;
  }
  .header__nav__label {
    position: fixed;
    right: calc(var(--w) * 1);
    bottom: calc(var(--w) * 7);
    z-index: 2000;
    display: block;
    width: calc(var(--f) * 6.4);
    aspect-ratio: 1/1;
    background: #0FA36A;
    border-radius: 50%;
  }
  .header__nav__label span.icon {
    position: absolute;
    right: 0;
    top: 30%;
    left: 0;
    display: block;
    width: 25%;
    height: 2px;
    margin: 0 auto;
    background: #fff;
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  }
  .header__nav__label span.icon::before, .header__nav__label span.icon::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
  }
  .header__nav__label span.icon::before {
    top: -6px;
  }
  .header__nav__label span.icon::after {
    top: 6px;
  }
  .header__nav__label span.text {
    position: absolute;
    left: 0;
    bottom: calc(var(--f) * 1.6);
    display: block;
    width: 100%;
    color: #fff;
    font-size: calc(var(--f) * 1.4);
    line-height: 1;
    font-weight: 700;
    text-align: center;
  }
  .header__nav__label span.text::before {
    content: "Menu";
  }
  .header__nav__btn:checked + .header__nav__label {
    bottom: calc(var(--w) * -0.5);
    background: transparent;
  }
  .header__nav__btn:checked + .header__nav__label span.icon {
    width: 40%;
    height: 1px;
    background: transparent;
  }
  .header__nav__btn:checked + .header__nav__label span.icon::before, .header__nav__btn:checked + .header__nav__label span.icon::after {
    background: #26201F;
  }
  .header__nav__btn:checked + .header__nav__label span.icon::before {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .header__nav__btn:checked + .header__nav__label span.icon::after {
    top: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header__nav__btn:checked + .header__nav__label span.text {
    left: unset;
    right: 100%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    color: #26201F;
    font-size: calc(var(--f) * 1.5);
    line-height: calc(var(--w) * 3.6);
    text-align: right;
  }
  .header__nav__btn:checked + .header__nav__label span.text::before {
    content: "閉じる";
  }
  .header__nav__wrap {
    position: fixed;
    left: 0;
    top: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    overflow-y: scroll;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    width: 100%;
    height: 0;
    padding: calc(var(--w) * 6) 0;
    background: #E5E1DB;
    -webkit-transition-duration: 600ms;
            transition-duration: 600ms;
  }
  .header__nav__btn:checked + .header__nav__label + .header__nav__wrap {
    opacity: 1;
    pointer-events: all;
    height: 100vh;
  }
  .header__nav__left, .header__nav__items, .header__cta {
    width: 100%;
  }
  .header__nav__left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    gap: calc(var(--f) * 0.5);
  }
  .header__nav__link, .header__cta__link {
    display: block;
    font-size: calc(var(--f) * 1.5);
    line-height: calc(var(--f) * 5.9);
    font-weight: 700;
    text-align: center;
  }
  .header__lang {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin: calc(var(--f) * 4) 0;
  }
  .header__lang__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .header__lang__item::after {
    content: "/";
    font-size: 0.85em;
  }
  .header__lang__item:last-child::after {
    display: none;
  }
  .header__lang__link {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 calc(var(--f) * 0.9);
    font-size: calc(var(--f) * 1.4);
    line-height: 1.5;
    letter-spacing: 0;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__lang__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 0;
    height: calc(var(--f) * 0.4);
    background: #0FA36A;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header__lang__link:hover {
    color: #0FA36A;
  }
  .header__lang__link:hover::before {
    width: 100%;
  }
}
.header--home {
  background: #0FA36A;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.header--home .header__logo {
  background: url(../img/_common/logo-white.png) center/100% auto no-repeat;
}
.header--home .header__logo img {
  opacity: 0;
}
@media screen and (min-width: 960.02px) {
  .header--home .header__lang__item {
    color: #fff;
  }
  .header--home .header__nav__link, .header--home .header__lang__link {
    color: #fff;
  }
  .header--home .header__nav__link[target=_blank]::after, .header--home .header__lang__link[target=_blank]::after {
    background-image: url(../img/_common/link-outlink-white.svg);
  }
  .header--home .header__nav__link::before, .header--home .header__lang__link::before {
    background: #fff;
  }
  .header--home .header__nav__link:hover, .header--home .header__lang__link:hover {
    color: #fff;
  }
  .header--home .header__nav__link:hover::before, .header--home .header__lang__link:hover::before {
    width: 100%;
  }
  .header--home .header__cta__link--download {
    text-align: center;
  }
  .header--home .header__cta__link--download .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #fff;
    line-height: 1.5;
    font-weight: 700;
    background: #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
    border: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .header--home .header__cta__link--download:hover .label {
    background: #0DB775;
  }
  .header--home .header__cta__link--download:active .label {
    background: #0C8355;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .header--home .header__cta__link--download.disabled {
    pointer-events: none;
  }
  .header--home .header__cta__link--download.disabled .label {
    color: #9D9D9D;
    background: #C4C4C4;
  }
}
@media screen and (min-width: 960.02px) and (max-width: 960px) {
  .header--home .header__cta__link--download .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (min-width: 960.02px) {
  .header--home .header__cta__link--download .label {
    color: #0FA36A;
    background: #fff;
  }
  .header--home .header__cta__link--download:hover .label {
    background: #E9F5F0;
  }
  .header--home .header__cta__link--download:active .label {
    background: #C6E5D8;
  }
  .header--home .header__cta__link--contact {
    text-align: center;
  }
  .header--home .header__cta__link--contact .label {
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
            box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
    position: relative;
    cursor: pointer;
    display: inline-block;
    min-width: calc(var(--f) * 28);
    padding: 0.7em 2em;
    color: #0FA36A;
    line-height: 1.5;
    font-weight: 700;
    background: #fff;
    border: 1px solid #0FA36A;
    border-radius: 4px;
    -webkit-transition-duration: 200ms;
            transition-duration: 200ms;
  }
  .header--home .header__cta__link--contact:hover .label {
    background: #E9F5F0;
  }
  .header--home .header__cta__link--contact:active .label {
    background: #C6E5D8;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .header--home .header__cta__link--contact.disabled {
    pointer-events: none;
  }
  .header--home .header__cta__link--contact.disabled .label {
    color: #9D9D9D;
    background: #EBEBEB;
  }
}
@media screen and (min-width: 960.02px) and (max-width: 960px) {
  .header--home .header__cta__link--contact .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (min-width: 960.02px) {
  .header--home .header__cta__link--contact .label {
    color: #fff;
    border-color: #fff;
    background: none;
  }
  .header--home .header__cta__link--contact:hover .label {
    background: #0DB775;
  }
  .header--home .header__cta__link--contact:active .label {
    background: #0C8355;
  }
}
@media screen and (max-width: 960px) {
  .header--home::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 7%;
    height: 100%;
    background: #0a8a4b;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
            clip-path: polygon(100% 0, 100% 100%, 0 100%);
  }
}

.main {
  padding: calc(var(--h) * 8) 0 0;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .main {
    padding-top: calc(var(--h) * 5.2);
  }
}

.home-aboutus {
  position: relative;
  overflow: hidden;
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 12);
}
.home-aboutus__container {
  width: calc(var(--f) * 103);
  max-width: 90vw;
  margin: 0 auto;
}
.home-aboutus__head {
  margin: 0 0 calc(var(--h) * 4.6);
}
.home-aboutus__head .en,
.home-aboutus__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-aboutus__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-aboutus__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-aboutus__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-aboutus__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-aboutus__table table {
  width: 100%;
}
.home-aboutus__table th, .home-aboutus__table td {
  padding: calc(var(--f) * 2) calc(var(--w) * 4);
  font-size: calc(var(--f) * 1.8);
  line-height: 1.89;
  border-bottom: 1px dashed #E5E1DB;
}
.home-aboutus__table tr:last-child th, .home-aboutus__table tr:last-child td {
  border-bottom: none;
}
.home-aboutus__table th {
  border-right: 1px dashed #E5E1DB;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 960px) {
  .home-aboutus {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 5.6);
  }
  .home-aboutus__table table {
    width: 100%;
  }
  .home-aboutus__table th, .home-aboutus__table td {
    padding: calc(var(--f) * 1.8) calc(var(--w) * 1);
    font-size: calc(var(--f) * 1.4);
    line-height: calc(var(--f) * 2);
  }
  .home-aboutus__table th {
    border-right: 1px dashed #E5E1DB;
    text-align: center;
    vertical-align: middle;
  }
  .home-aboutus__table td {
    padding-right: 0;
  }
}

.home-awards {
  position: relative;
  z-index: 10;
  padding: calc(var(--h) * 7.4) 0;
  background: #D0E0D0;
}
.home-awards__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 calc(var(--h) * 3.2);
}
.home-awards__head::before, .home-awards__head::after {
  content: "";
  width: calc(var(--f) * 5.8);
  background: url(../img/_common/head-laurel.svg) left center/contain no-repeat;
}
.home-awards__head::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.home-awards__head__text .en,
.home-awards__head__text .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-awards__head__text .en {
  font-size: calc(var(--f) * 3.2);
}
.home-awards__head__text .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-awards {
    padding: calc(var(--h) * 4.8) 0 calc(var(--h) * 4);
  }
  .home-awards__head {
    margin-bottom: calc(var(--h) * 4.2);
  }
  .home-awards__head::before, .home-awards__head::after {
    width: calc(var(--f) * 4.6);
  }
  .home-awards__head__text .en {
    margin-bottom: calc(var(--f) * 0.5);
    font-size: calc(var(--f) * 2.5);
  }
  .home-awards__head__text .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-awards__about {
  margin: 0 0 calc(var(--h) * 2.6);
  text-align: center;
}
@media screen and (max-width: 960px) {
  .home-awards__about {
    margin-bottom: calc(var(--h) * 2);
    line-height: calc(var(--f) * 2.1);
  }
}
.home-awards__history {
  width: calc(var(--w) * 105);
  max-width: 90vw;
  margin: 0 auto;
  line-height: 1.625;
}
.home-awards__history table {
  width: 100%;
  border-top: 1px solid rgba(38, 32, 31, 0.3);
}
.home-awards__history th, .home-awards__history td {
  padding: calc(var(--f) * 1.4) 0;
  border-bottom: 1px solid rgba(38, 32, 31, 0.3);
  letter-spacing: 0;
}
.home-awards__history th {
  white-space: nowrap;
}
.home-awards__history td {
  text-align: left;
}
.home-awards__history b {
  font-weight: 900;
}
@media screen and (min-width: 960.02px) {
  .home-awards__history th {
    padding: 0 calc(var(--w) * 5.8);
    text-align: center;
  }
}
@media screen and (max-width: 960px) {
  .home-awards__history th, .home-awards__history td {
    line-height: calc(var(--f) * 2);
  }
  .home-awards__history th {
    padding-right: 1em;
  }
}

.home-contact {
  position: relative;
  overflow: hidden;
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 21);
  background: #FAF8F5;
}
.home-contact__container {
  width: calc(var(--w) * 68);
  max-width: 82vw;
  margin: 0 auto;
}
.home-contact__head {
  margin: 0 0 calc(var(--h) * 3);
}
.home-contact__head .en,
.home-contact__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-contact__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-contact__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-contact__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-contact__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-contact__input dt {
  display: block;
  margin: 0 0 calc(var(--f) * 0.5);
  font-size: calc(var(--f) * 1.8);
}
.home-contact__input dd {
  display: block;
  margin: 0 0 calc(var(--f) * 2);
}
.home-contact__input input[type=text],
.home-contact__input input[type=email],
.home-contact__input input[type=tel],
.home-contact__input textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  padding: calc(var(--f) * 0.9) calc(var(--f) * 1);
  line-height: 1.5;
  border: 1px solid #BABABA;
  border-radius: 4px;
}
.home-contact__input input[type=text]::-webkit-input-placeholder, .home-contact__input input[type=email]::-webkit-input-placeholder, .home-contact__input input[type=tel]::-webkit-input-placeholder, .home-contact__input textarea::-webkit-input-placeholder {
  color: #D8D8D8;
}
.home-contact__input input[type=text]::-moz-placeholder, .home-contact__input input[type=email]::-moz-placeholder, .home-contact__input input[type=tel]::-moz-placeholder, .home-contact__input textarea::-moz-placeholder {
  color: #D8D8D8;
}
.home-contact__input input[type=text]:-ms-input-placeholder, .home-contact__input input[type=email]:-ms-input-placeholder, .home-contact__input input[type=tel]:-ms-input-placeholder, .home-contact__input textarea:-ms-input-placeholder {
  color: #D8D8D8;
}
.home-contact__input input[type=text]::-ms-input-placeholder, .home-contact__input input[type=email]::-ms-input-placeholder, .home-contact__input input[type=tel]::-ms-input-placeholder, .home-contact__input textarea::-ms-input-placeholder {
  color: #D8D8D8;
}
.home-contact__input input[type=text]::placeholder,
.home-contact__input input[type=email]::placeholder,
.home-contact__input input[type=tel]::placeholder,
.home-contact__input textarea::placeholder {
  color: #D8D8D8;
}
.home-contact__input input[type=text]:focus, .home-contact__input input[type=text]:active,
.home-contact__input input[type=email]:focus,
.home-contact__input input[type=email]:active,
.home-contact__input input[type=tel]:focus,
.home-contact__input input[type=tel]:active,
.home-contact__input textarea:focus,
.home-contact__input textarea:active {
  outline: 2px solid #BABABA;
  border-color: #fff;
}
.home-contact__input input[type=text].wpcf7-not-valid,
.home-contact__input input[type=email].wpcf7-not-valid,
.home-contact__input input[type=tel].wpcf7-not-valid,
.home-contact__input textarea.wpcf7-not-valid {
  outline: 2px solid #B4251E;
  border-color: #fff;
}
.home-contact__input textarea {
  height: calc(var(--f) * 24);
}
.home-contact__input .wpcf7-not-valid-tip {
  color: #B4251E;
}
.home-contact__submit {
  text-align: center;
  padding: calc(var(--h) * 3.2) 0 0;
}
.home-contact__submit .label {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  min-width: calc(var(--f) * 28);
  padding: 0.7em 2em;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
  background: #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.home-contact__submit:hover .label {
  background: #0DB775;
}
.home-contact__submit:active .label {
  background: #0C8355;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-contact__submit.disabled {
  pointer-events: none;
}
.home-contact__submit.disabled .label {
  color: #9D9D9D;
  background: #C4C4C4;
}
@media screen and (max-width: 960px) {
  .home-contact__submit .label {
    font-size: calc(var(--f) * 1.6);
  }
}
.home-contact__submit .wpcf7-spinner {
  display: block;
  margin: calc(var(--h) * 1) auto 0;
}
.home-contact .wpcf7-form {
  position: relative;
}
.home-contact .wpcf7-response-output {
  position: relative;
  border-color: #B4251E !important;
  color: #B4251E;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .home-contact {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 8);
  }
  .home-contact__head {
    margin: 0 0 calc(var(--h) * 1.2);
  }
  .home-contact__input dt {
    font-size: calc(var(--f) * 1.4);
  }
  .home-contact__input dd {
    display: block;
    margin: 0 0 calc(var(--f) * 2);
  }
  .home-contact__input input[type=text],
  .home-contact__input input[type=email],
  .home-contact__input input[type=tel],
  .home-contact__input textarea {
    padding-top: calc(var(--f) * 1.2);
    padding-bottom: calc(var(--f) * 1.2);
  }
  .home-contact__submit {
    padding-top: calc(var(--f) * 2);
  }
}
.home-contact--download {
  padding-top: calc(var(--h) * 5.4);
  padding-bottom: calc(var(--h) * 15);
  background: none;
}
.home-contact--download .home-contact__download-head {
  margin-bottom: calc(var(--h) * 3.2);
  font-size: calc(var(--f) * 3.6);
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
.home-contact--download .home-contact__download-intro {
  margin-bottom: calc(var(--h) * 5.4);
}
@media screen and (min-width: 960.02px) {
  .home-contact--download .home-contact__input {
    width: 440px;
    margin: 0 auto;
  }
  .home-contact--download .home-contact__download-intro {
    text-align: center;
  }
  .home-contact--download .home-contact__input textarea {
    height: calc(var(--f) * 15);
  }
  .home-contact--download .home-contact__submit {
    padding-top: calc(var(--h) * 8);
  }
}
@media screen and (max-width: 960px) {
  .home-contact {
    padding-top: calc(var(--h) * 3.8);
    padding-bottom: calc(var(--h) * 5.6);
  }
  .home-contact--download .home-contact__download-head {
    margin-bottom: calc(var(--h) * 2.4);
    font-size: calc(var(--f) * 2.2);
  }
  .home-contact--download .home-contact__download-intro {
    margin-bottom: calc(var(--h) * 3.2);
  }
  .home-contact--download .home-contact__input {
    width: 82vw;
    margin: 0 auto;
  }
  .home-contact--download .home-contact__input textarea {
    height: calc(var(--f) * 21.4);
  }
  .home-contact--download .home-contact__submit {
    padding-top: calc(var(--h) * 2);
  }
}

.required {
  display: inline-block;
  padding: 0 0.5em;
  margin: 0 0.25em;
  color: #fff;
  font-size: calc(var(--f) * 1.2);
  line-height: 1.5;
  background: #FA8900;
  vertical-align: middle;
}
@media screen and (max-width: 960px) {
  .required {
    margin: 0 1em;
  }
}

.home-customer {
  position: relative;
  overflow: hidden;
  padding: calc(var(--h) * 1.6) 0 calc(var(--h) * 5.4);
}
.home-customer__container {
  max-width: calc(var(--f) * 108);
  margin: 0 auto;
}
.home-customer__head {
  margin: 0 0 calc(var(--h) * 3.2);
  font-size: calc(var(--f) * 2.2);
  font-weight: 700;
  text-align: center;
}
.home-customer .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.home-customer .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: unset;
}
.home-customer .swiper-slide span {
  position: relative;
  display: block;
  margin: 0 calc(var(--w) * 2);
  border: 1px solid #E5E1DB;
}
.home-customer .swiper-slide span img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home-customer .swiper-slide span img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 960px) {
  .home-customer {
    padding-bottom: calc(var(--h) * 4.4);
  }
  .home-customer__head {
    margin-bottom: calc(var(--h) * 1.2);
    font-size: calc(var(--f) * 1.4);
  }
  .home-customer .swiper-slide span {
    margin: 0 calc(var(--w) * 1);
  }
}

.home-esg {
  position: relative;
  overflow: hidden;
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 6.2);
  background: #FAF8F5;
}
.home-esg__container {
  width: calc(var(--w) * 134.6);
  max-width: 94vw;
  margin: 0 auto;
}
.home-esg__head {
  margin: 0 0 calc(var(--h) * 5.2);
}
.home-esg__head .en,
.home-esg__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-esg__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-esg__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-esg__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-esg__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-esg__swiper {
  position: relative;
  margin: 0 0 calc(var(--h) * 2.2);
}
.home-esg__box {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 calc(var(--w) * 1.5);
  background: #fff;
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
.home-esg__img {
  position: relative;
  aspect-ratio: 3/2;
}
.home-esg__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home-esg__text {
  padding: calc(var(--f) * 1.6);
  text-align: left;
}
.home-esg__text .cate {
  position: absolute;
  top: calc(var(--f) * 0.7);
  left: calc(var(--f) * 0.7);
  display: block;
  padding: 0 calc(var(--f) * 0.7);
  font-size: calc(var(--f) * 1.4);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.65);
}
.home-esg__text .title {
  color: #0FA36A;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
}
.home-esg__text .date {
  font-size: calc(var(--f) * 1.4);
  line-height: 1.5;
}
.home-esg__text .contents {
  margin: 0 0 calc(var(--f) * 0.8);
  font-size: calc(var(--f) * 1.4);
  line-height: 1.5;
}
.home-esg__text .more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  font-size: calc(var(--f) * 1.4);
}
.home-esg__text .more::after {
  content: "";
  width: 0.7em;
  aspect-ratio: 1/1;
  border-right: 1px solid #26201F;
  border-bottom: 1px solid #26201F;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.home-esg .swiper-slide {
  height: unset;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.home-esg__pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(var(--h) * 3.8) 0 0;
  margin: 0;
}
.home-esg__pagination span.swiper-pagination-bullet {
  position: relative;
  opacity: 1;
  width: calc(var(--f) * 3);
  height: calc(var(--f) * 3);
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-radius: 0;
}
.home-esg__pagination span.swiper-pagination-bullet::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 33%;
  aspect-ratio: 1/1;
  margin: auto;
  border-radius: 50%;
  background: #CECECE;
}
.home-esg__pagination span.swiper-pagination-bullet-active::before {
  background: #8D8D8D;
}
.home-esg__prev, .home-esg__next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 100;
  cursor: pointer;
  display: block;
  width: calc(var(--f) * 4.2);
  aspect-ratio: 1/1;
  margin: auto 0;
  background: rgba(255, 255, 255, 0.7) url(../img/home/esg-arrow.svg) center/contain no-repeat;
  border-radius: 50%;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
}
.home-esg__prev {
  left: calc(var(--h) * -2);
}
.home-esg__next {
  right: calc(var(--h) * -2);
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.home-esg__more {
  text-align: center;
}
.home-esg__more a {
  text-align: center;
}
.home-esg__more a .label {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  min-width: calc(var(--f) * 28);
  padding: 0.7em 2em;
  color: #0FA36A;
  line-height: 1.5;
  font-weight: 700;
  background: #fff;
  border: 1px solid #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.home-esg__more a:hover .label {
  background: #E9F5F0;
}
.home-esg__more a:active .label {
  background: #C6E5D8;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-esg__more a.disabled {
  pointer-events: none;
}
.home-esg__more a.disabled .label {
  color: #9D9D9D;
  background: #EBEBEB;
}
@media screen and (max-width: 960px) {
  .home-esg__more a .label {
    font-size: calc(var(--f) * 1.6);
  }
}
@media screen and (max-width: 960px) {
  .home-esg {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 2.4);
  }
  .home-esg__head {
    margin: 0 0 calc(var(--h) * 2.4);
  }
  .home-esg__pagination {
    padding: calc(var(--h) * 1.8) 0 0;
  }
  .home-esg__text .title {
    margin-bottom: calc(var(--h) * 0.8);
    font-size: calc(var(--f) * 1.6);
  }
  .home-esg__text .date {
    font-size: calc(var(--f) * 1.4);
    line-height: 1.5;
  }
  .home-esg__text .contents {
    margin: 0 0 calc(var(--f) * 0.8);
    font-size: calc(var(--f) * 1.4);
    line-height: 1.5;
  }
  .home-esg__prev {
    -webkit-transform: translateY(calc(var(--h) * -4));
            transform: translateY(calc(var(--h) * -4));
  }
  .home-esg__next {
    -webkit-transform: translateY(calc(var(--h) * -4)) scale(-1, 1);
            transform: translateY(calc(var(--h) * -4)) scale(-1, 1);
  }
}
.news-body .home-esg {
  padding-top: 0;
  background: none;
  overflow: visible;
}
.news-body .home-esg .home-esg__box {
  margin: 0;
}
.news-body .home-esg .home-esg__container {
  width: 100%;
}
.news-body .home-esg .home-esg__text .title br {
  display: none;
}
@media screen and (min-width: 960.02px) {
  .news-body .home-esg .swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: calc(var(--h) * 4);
    gap: calc(var(--h) * 6) calc(var(--w) * 3);
  }
  .news-body .home-esg .swiper-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc((100% - var(--w) * 6) / 3);
  }
  .news-body .home-esg .home-esg__box {
    display: block;
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 960px) {
  .news-body .home-esg .home-esg__container {
    padding: 0 5vw;
  }
  .news-body .home-esg .swiper-slide {
    margin: 0 0 5vw;
  }
  .news-body .home-esg .home-esg__img {
    aspect-ratio: 2/1;
  }
}

body.post-type-archive-post,
body.category,
body.single-post {
  background: #FAF8F5;
}
body.post-type-archive-post .news-recent__text .cate,
body.category .news-recent__text .cate,
body.single-post .news-recent__text .cate {
  background: #fff;
}
body.post-type-archive-post .home-contact,
body.category .home-contact,
body.single-post .home-contact {
  background: #fff;
}

.home-message {
  padding: 0 0 calc(var(--h) * 10);
  background: #D0E0D0;
}
.home-message__container {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  width: calc(var(--h) * 88);
  max-width: 90vw;
  margin: 0 auto;
  background: #fff;
  border-radius: 4px;
}
@media screen and (max-width: 960px) {
  .home-message {
    padding-bottom: calc(var(--h) * 2.4);
  }
}
.home-message__btn {
  display: none;
}
.home-message__label {
  position: relative;
  cursor: pointer;
  width: 100%;
}
.home-message__label::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 3.7);
  bottom: 0;
  display: block;
  width: calc(var(--f) * 1.4);
  height: calc(var(--f) * 1.4);
  margin: auto 0;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home-message__btn:checked + .home-message__label::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media screen and (min-width: 960.02px) {
  .home-message__label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
    height: calc(var(--h) * 8.8);
  }
  .home-message__label .en {
    font-size: calc(var(--f) * 2.4);
  }
  .home-message__label .ja {
    margin-left: 2em;
    font-weight: 700;
  }
}
@media screen and (max-width: 960px) {
  .home-message__label {
    display: block;
    padding: calc(var(--h) * 1) calc(var(--w) * 1.6);
  }
  .home-message__label::after {
    right: calc(var(--w) * 2.2);
  }
  .home-message__label .en {
    display: block;
    font-size: calc(var(--f) * 1.8);
    line-height: 1.25;
    font-weight: 700;
  }
  .home-message__label .ja {
    display: block;
    line-height: 1.25;
    font-weight: 700;
  }
}
.home-message__body {
  position: relative;
  overflow: hidden;
  padding: 0 calc(var(--w) * 7.2);
  max-height: 0;
  -webkit-transition-duration: 600ms;
          transition-duration: 600ms;
}
.home-message__body #message-close {
  position: absolute;
  right: calc(var(--w) * 2.8);
  bottom: calc(var(--h) * 2.2);
  padding: calc(var(--f) * 3) 0 0;
  background: none;
  font-size: calc(var(--f) * 1.2);
  text-align: center;
}
.home-message__body #message-close::before, .home-message__body #message-close::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  display: block;
  width: 1px;
  height: calc(var(--f) * 2.4);
  margin: 0 auto;
  background: #26201F;
}
.home-message__body #message-close::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.home-message__body #message-close::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.home-message__btn:checked + .home-message__label + .home-message__body {
  max-height: 3000px;
}
@media screen and (max-width: 960px) {
  .home-message__body {
    padding: 0 calc(var(--w) * 1.6);
  }
  .home-message__body #message-close {
    right: 0;
    left: 0;
    bottom: calc(var(--h) * 1.2);
  }
}
.home-message__profile {
  background: #D0E0D0;
}
.home-message__profile__text .position {
  margin: 0 0 calc(var(--h) * 0.4);
  font-size: calc(var(--f) * 1.8);
  line-height: 1.78;
}
.home-message__profile__text .name {
  font-size: calc(var(--f) * 2.8);
}
@media screen and (min-width: 960.02px) {
  .home-message__profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: calc(var(--h) * 3.6);
  }
  .home-message__profile__photo {
    position: relative;
    overflow: hidden;
    width: 30%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .home-message__profile__photo img {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
  }
  .home-message__profile__text {
    width: 100%;
    padding: calc(var(--h) * 2.6) calc(var(--w) * 4);
  }
}
@media screen and (max-width: 960px) {
  .home-message__profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: calc(var(--h) * 2.8);
  }
  .home-message__profile__photo {
    position: relative;
    overflow: hidden;
    width: 33%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .home-message__profile__photo img {
    position: absolute;
    left: -10%;
    top: 0;
    display: block;
    width: 120%;
    max-width: unset;
  }
  .home-message__profile__text {
    width: 100%;
    padding: calc(var(--h) * 1.6) calc(var(--w) * 2.6);
  }
  .home-message__profile__text .position {
    margin: 0 0 calc(var(--h) * 1.4);
    font-size: calc(var(--f) * 1.2);
    line-height: calc(var(--f) * 2.1);
  }
  .home-message__profile__text .name {
    font-size: calc(var(--f) * 1.9);
  }
}
.home-message__contents {
  padding: calc(var(--h) * 7.4) calc(var(--w) * 5.4) calc(var(--h) * 14.4);
}
.home-message__contents p {
  margin-bottom: 2.125em;
}
@media screen and (max-width: 960px) {
  .home-message__contents {
    padding: calc(var(--h) * 2.4) 0 calc(var(--h) * 7);
  }
}

.home-mv {
  position: relative;
}
.home-mv__photo {
  position: relative;
}
.home-mv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home-mv__text {
  position: relative;
  z-index: 10;
  color: #fff;
  background: #0a8a4b;
}
.home-mv__text::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 72%;
  aspect-ratio: 338/211;
  background: #0FA36A;
  -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
          clip-path: polygon(0 0, 100% 0, 0 100%);
}
.home-mv__text__cta {
  background: #CCEBDF;
}
.home-mv__text__cta a {
  text-align: center;
}
.home-mv__text__cta a .label {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  min-width: calc(var(--f) * 28);
  padding: 0.7em 2em;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
  background: #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.home-mv__text__cta a:hover .label {
  background: #0DB775;
}
.home-mv__text__cta a:active .label {
  background: #0C8355;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-mv__text__cta a.disabled {
  pointer-events: none;
}
.home-mv__text__cta a.disabled .label {
  color: #9D9D9D;
  background: #C4C4C4;
}
@media screen and (max-width: 960px) {
  .home-mv__text__cta a .label {
    font-size: calc(var(--f) * 1.6);
  }
}
.home-mv__text__cta a .label::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 3.7);
  bottom: 0;
  display: block;
  width: calc(var(--f) * 1.4);
  height: calc(var(--f) * 1.4);
  margin: auto 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 960px) {
  .home-mv__text__cta a .label::after {
    right: calc(var(--f) * 2.6);
  }
}
.home-mv__text__cta a .label {
  white-space: nowrap;
}
.home-mv__text__cta a .label::after {
  right: calc(var(--f) * 2);
}
@media screen and (min-width: 960.02px) {
  .home-mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: calc(var(--h) * 52);
  }
  .home-mv__photo {
    width: 66%;
  }
  .home-mv__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 34%;
    padding: 0 0 calc(var(--h) * 13.6);
  }
  .home-mv__text__ja {
    margin: 0 0 calc(var(--f) * 1.2);
    font-size: calc(var(--f) * 2.8);
    line-height: 1.7;
    font-weight: 700;
  }
  .home-mv__text__en {
    font-size: calc(var(--f) * 2.8);
    line-height: 1.43;
    font-weight: 700;
  }
  .home-mv__text__cta {
    position: absolute;
    left: 0;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    height: calc(var(--h) * 13.6);
  }
  .home-mv__text__cta a .label {
    width: calc(var(--w) * 33.6);
  }
  .home-mv__text__cta a .label small {
    display: block;
    font-size: 0.75em;
  }
}
@media screen and (min-width: 960.02px) and (max-width: 1400px) {
  .home-mv__photo {
    width: 100%;
  }
  .home-mv__text {
    width: calc(var(--f) * 47);
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (max-width: 960px) {
  .home-mv__text {
    padding: calc(var(--f) * 2.4) calc(var(--f) * 1.6) calc(var(--f) * 1.6);
  }
  .home-mv__text::before {
    width: 100%;
    aspect-ratio: unset;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 67.7% 0, 46.4% 100%, 0 100%);
            clip-path: polygon(0 0, 67.7% 0, 46.4% 100%, 0 100%);
  }
  .home-mv__text__ja {
    margin: 0 0 calc(var(--f) * 0.8);
    font-size: calc(var(--f) * 2.2);
    line-height: calc(var(--f) * 3.2);
  }
  .home-mv__text__en {
    font-size: calc(var(--f) * 1.8);
    line-height: calc(var(--f) * 3.2);
  }
  .home-mv__text__cta {
    display: none;
  }
}

.home-news {
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 10);
}
.home-news__container {
  width: calc(var(--w) * 120);
  max-width: 90vw;
  margin: 0 auto;
}
.home-news__head {
  margin: 0 0 calc(var(--h) * 5.2);
}
.home-news__head .en,
.home-news__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-news__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-news__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-news__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-news__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-news__year {
  margin: 0 0 calc(var(--h) * 0.6);
}
.home-news__year ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.home-news__year a {
  display: block;
  width: calc(var(--w) * 15);
  margin: 0 calc(var(--f) * 0.8) calc(var(--f) * 0.8) 0;
  color: #fff;
  line-height: calc(var(--f) * 4);
  font-weight: fw(b);
  text-align: center;
  white-space: nowrap;
  background: #C4C4C4;
  border: 1px solid #C4C4C4;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.home-news__year a:hover {
  background: #26201F;
  border-color: #26201F;
}
.home-news__year ol.default li:first-child a,
.home-news__year li.current a {
  border-color: #26201F;
  color: #26201F;
  background: #fff;
}
.home-news__search {
  margin: calc(var(--f) * 2.6) 0 calc(var(--f) * 1);
  font-size: calc(var(--f) * 2);
  font-weight: 700;
}
.home-news__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  padding: calc(var(--f) * 1.3) 0;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}
.home-news__box .date {
  width: calc(var(--f) * 15.7);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  white-space: nowrap;
}
.home-news__box .cate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: calc(var(--f) * 11.6);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0.25em 0;
  font-size: calc(var(--f) * 1.2);
  white-space: nowrap;
  background: rgba(204, 204, 204, 0.25);
}
.home-news__box .cate span {
  display: block;
  width: 100%;
  line-height: 1.5;
  text-align: center;
}
.home-news__box .title {
  width: 100%;
  padding: 0 0 0 calc(var(--f) * 2.4);
  line-height: 1.5;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.home-news__box .title br {
  display: none;
}
.home-news a.home-news__box:hover .title {
  color: #0DB775;
  text-decoration: underline;
}
.home-news a.home-news__box:hover .title:active {
  color: #0C8355;
  text-decoration: underline;
}
.home-news a.home-news__box:hover .title.disabled {
  color: #D4D4D4;
}
@media screen and (max-width: 960px) {
  .home-news {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 2.4);
  }
  .home-news__head {
    margin: 0 0 calc(var(--h) * 2);
  }
  .home-news__year {
    margin: 0 0 calc(var(--h) * 0.6);
  }
  .home-news__year ol {
    gap: calc(var(--w) * 0.4);
  }
  .home-news__year li {
    width: calc((100% - var(--w) * 1.6) / 5);
  }
  .home-news__year a {
    width: 100%;
    font-size: calc(var(--f) * 1.4);
    line-height: 1.7;
  }
  .home-news__year ol.default li:first-child a,
  .home-news__year li.current a {
    border-color: #26201F;
    color: #26201F;
    background: #fff;
  }
  .home-news__box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: calc(var(--f) * 1.3) 0;
  }
  .home-news__box .date {
    width: calc(var(--w) * 14);
    font-size: calc(var(--f) * 1.6);
  }
  .home-news__box .cate {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    width: unset;
    min-width: calc(var(--f) * 9);
    padding: 0.5em 1em;
    font-size: calc(var(--f) * 1);
    line-height: 2;
  }
  .home-news__box .cate span {
    margin-right: 0.5em;
  }
  .home-news__box .cate span:last-child {
    margin-right: 0;
  }
  .home-news__box .title {
    padding: calc(var(--f) * 0.3) 0 calc(var(--f) * 0.5);
    width: 100%;
    font-size: calc(var(--f) * 1.6);
    line-height: calc(var(--f) * 2.4);
  }
}
.news-body .home-news {
  padding-top: 0 !important;
}
@media screen and (min-width: 960.02px) {
  .news-body .home-news__container {
    width: 100%;
  }
}

.home-service {
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 14);
  background: #FAF8F5;
}
.home-service__container {
  width: 1400px;
  max-width: 90vw;
  margin: 0 auto;
}
.home-service__head {
  margin: 0 0 calc(var(--h) * 5.2);
}
.home-service__head .en,
.home-service__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-service__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-service__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-service__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-service__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-service__item {
  margin: 0 0 calc(var(--h) * 9.6);
}
.home-service__count {
  display: block;
  width: calc(var(--f) * 7.6);
  padding: 0 0 calc(var(--f) * 1.5);
  text-align: center;
  border-bottom: calc(var(--f) * 0.8) solid #D5E3DE;
}
.home-service__count img {
  display: inline-block;
  height: calc(var(--f) * 4.3);
}
.home-service__title {
  padding: 0.2em 0;
  margin: 0 0 calc(var(--f) * 1);
  font-size: calc(var(--f) * 2.8);
  line-height: 1.5;
  letter-spacing: 0;
  font-weight: 700;
  text-align: left;
}
.home-service__contents {
  line-height: 1.875;
}
.home-service__download {
  padding: calc(var(--h) * 7) 0 0;
  text-align: center;
}
.home-service__download a {
  text-align: center;
}
.home-service__download a .label {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  min-width: calc(var(--f) * 28);
  padding: 0.7em 2em;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
  background: #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.home-service__download a:hover .label {
  background: #0DB775;
}
.home-service__download a:active .label {
  background: #0C8355;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.home-service__download a.disabled {
  pointer-events: none;
}
.home-service__download a.disabled .label {
  color: #9D9D9D;
  background: #C4C4C4;
}
@media screen and (max-width: 960px) {
  .home-service__download a .label {
    font-size: calc(var(--f) * 1.6);
  }
}
.home-service__download a .label::after {
  content: "";
  position: absolute;
  top: 0;
  right: calc(var(--f) * 3.7);
  bottom: 0;
  display: block;
  width: calc(var(--f) * 1.4);
  height: calc(var(--f) * 1.4);
  margin: auto 0;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 960px) {
  .home-service__download a .label::after {
    right: calc(var(--f) * 2.6);
  }
}
.home-service__download a .label {
  padding-top: 1em;
  padding-bottom: 1em;
}
@media screen and (min-width: 960.02px) {
  .home-service__title {
    padding: 0 0 0 calc(var(--f) * 11);
  }
  .home-service__contents {
    padding: 0 0 0 calc(var(--f) * 11);
  }
  .home-service__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }
  .home-service__img {
    width: calc(var(--w) * 62.4);
  }
  .home-service__contents {
    width: calc(var(--w) * 50.2);
  }
  .home-service__item:nth-child(2n+1) {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .home-service__item:nth-child(2n+1) .home-service__img {
    margin-left: calc(var(--w) * 9);
  }
  .home-service__item:nth-child(2n+1) .home-service__img img {
    border-radius: calc(var(--h) * 3) 0 0 0;
  }
  .home-service__item:nth-child(2n+2) .home-service__img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-right: calc(var(--w) * 6);
  }
  .home-service__item:nth-child(2n+2) .home-service__img img {
    border-radius: 0 calc(var(--h) * 3) 0 0;
  }
  .home-service__contents-sp {
    display: none;
  }
  .home-service__download .label {
    width: calc(var(--f) * 60);
  }
}
@media screen and (max-width: 960px) {
  .home-service {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 9);
  }
  .home-service__head {
    margin-bottom: calc(var(--h) * 4.5);
  }
  .home-service__item {
    margin: 0 0 calc(var(--h) * 9);
  }
  .home-service__item:last-child {
    margin-bottom: calc(var(--h) * 5.6);
  }
  .home-service__count {
    width: calc(var(--f) * 3.6);
    padding-bottom: calc(var(--f) * 1);
    margin: 0 auto calc(var(--h) * 2);
    border-bottom-width: calc(var(--h) * 0.4);
  }
  .home-service__count img {
    height: calc(var(--f) * 2.4);
  }
  .home-service__title {
    font-size: calc(var(--f) * 1.8);
    text-align: center;
  }
  .home-service__contents {
    display: none;
  }
  .home-service__img {
    margin-bottom: calc(var(--h) * 1.4);
  }
  .home-service__img img {
    border-radius: calc(var(--h) * 1);
  }
  .home-service__contents-sp {
    font-size: calc(var(--f) * 1.6);
  }
  .home-service__download {
    padding-top: 0;
  }
  .home-service__download a .label {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
}

.home-vision {
  position: relative;
  z-index: 10;
  padding: calc(var(--h) * 6.4) 0 calc(var(--h) * 4.8);
}
.home-vision__head {
  margin: 0 0 calc(var(--h) * 5.2);
}
.home-vision__head .en,
.home-vision__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.home-vision__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.home-vision__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .home-vision__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .home-vision__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
.home-vision__box {
  position: relative;
  overflow: hidden;
  width: calc(var(--w) * 109.6);
  max-width: 90vw;
  margin: 0 auto;
  background: #fff;
  border-radius: calc(var(--h) * 3);
}
.home-vision__box__text {
  padding: calc(var(--f) * 4) calc(var(--f) * 6.2);
}
.home-vision__box__text p {
  margin: 0 0 0.3em;
}
.home-vision__box__text .top {
  color: #0FA36A;
  font-size: calc(var(--f) * 2.8);
  font-weight: 700;
}
.home-vision__box__img {
  position: relative;
}
.home-vision__box__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 960.02px) {
  .home-vision {
    background: #FAF8F5;
  }
  .home-vision::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
    display: block;
    width: 100%;
    aspect-ratio: 1400/510;
    background: #D0E0D0;
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%);
            clip-path: polygon(100% 0, 100% 100%, 0 100%);
  }
  .home-vision__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .home-vision__box__text {
    width: 66%;
  }
  .home-vision__box__img {
    width: 34%;
  }
}
@media screen and (max-width: 960px) {
  .home-vision {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: 0;
    background: #D0E0D0;
  }
  .home-vision::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 100%;
    aspect-ratio: 375/504;
    background: #FAF8F5;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 48%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 48%, 0 100%);
  }
  .home-vision__head {
    margin-bottom: calc(var(--h) * 2.2);
  }
  .home-vision__box {
    border-radius: calc(var(--h) * 1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .home-vision__box__text {
    width: 100%;
    padding: calc(var(--h) * 2.2) calc(var(--w) * 1.6) calc(var(--h) * 1.6);
  }
  .home-vision__box__text .top {
    margin-bottom: 1.2em;
    font-size: calc(var(--f) * 1.8);
    text-align: center;
  }
  .home-vision__box__img {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    width: 100%;
  }
}

.news-archive-head {
  padding: calc(var(--h) * 6) 0 0;
}
.news-archive-head__head .en,
.news-archive-head__head .ja {
  display: block;
  line-height: 1.5;
  text-align: center;
}
.news-archive-head__head .en {
  color: #0FA36A;
  font-size: calc(var(--f) * 4.2);
  font-weight: 700;
}
.news-archive-head__head .ja {
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .news-archive-head__head .en {
    font-size: calc(var(--f) * 2.2);
  }
  .news-archive-head__head .ja {
    font-size: calc(var(--f) * 1.2);
  }
}
@media screen and (max-width: 960px) {
  .news-archive-head {
    padding: calc(var(--h) * 2) 0 0;
    margin-bottom: calc(var(--h) * -7);
  }
}

.news-body {
  width: calc(var(--w) * 134.6);
  max-width: 90vw;
  padding: calc(var(--h) * 10) 0;
  margin: 0 auto;
}
@media screen and (min-width: 960.02px) {
  .news-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .news-body .news-sidebar {
    width: 25%;
  }
  .news-body__content {
    width: 70%;
  }
}
@media screen and (max-width: 960px) {
  .news-body .news-sidebar {
    padding-top: calc(var(--h) * 6);
  }
}

.news-categories {
  margin: 0 0 calc(var(--h) * 4);
}
.news-categories__title {
  padding: 0 0 0 0.5em;
  margin: 0 0 calc(var(--f) * 1);
  color: #0FA36A;
  font-size: calc(var(--f) * 1.7);
  line-height: 1.5;
  font-weight: 700;
  border-left: 2px solid #0FA36A;
}
.news-categories__item {
  border-bottom: 1px solid #E5E1DB;
}
.news-categories__item a {
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  display: block;
  padding: 0.5em 0;
  font-size: calc(var(--f) * 1.5);
}
.news-categories__item a:hover {
  color: #0DB775;
  text-decoration: underline;
}
.news-categories__item a:active {
  color: #0C8355;
  text-decoration: underline;
}
.news-categories__item a.disabled {
  color: #D4D4D4;
}

.news-content {
  margin: 0 0 calc(var(--h) * 4);
  text-align: left;
}
.news-content h1, .news-content h2, .news-content h3, .news-content h4, .news-content h5, .news-content h6 {
  padding-top: 2em;
  font-weight: 700;
  margin-bottom: calc(var(--h) * 2);
}
.news-content h1 {
  font-size: calc(var(--f) * 3);
}
.news-content h2 {
  font-size: calc(var(--f) * 2.8);
}
.news-content h3 {
  font-size: calc(var(--f) * 2.4);
}
.news-content h4 {
  font-size: calc(var(--f) * 2.2);
}
.news-content h5 {
  font-size: calc(var(--f) * 2);
}
.news-content h6 {
  font-size: calc(var(--f) * 1.8);
}
.news-content h1 + h1, .news-content h1 + h2, .news-content h1 + h3, .news-content h1 + h4, .news-content h1 + h5, .news-content h1 + h6, .news-content h2 + h1, .news-content h2 + h2, .news-content h2 + h3, .news-content h2 + h4, .news-content h2 + h5, .news-content h2 + h6, .news-content h3 + h1, .news-content h3 + h2, .news-content h3 + h3, .news-content h3 + h4, .news-content h3 + h5, .news-content h3 + h6, .news-content h4 + h1, .news-content h4 + h2, .news-content h4 + h3, .news-content h4 + h4, .news-content h4 + h5, .news-content h4 + h6, .news-content h5 + h1, .news-content h5 + h2, .news-content h5 + h3, .news-content h5 + h4, .news-content h5 + h5, .news-content h5 + h6, .news-content h6 + h1, .news-content h6 + h2, .news-content h6 + h3, .news-content h6 + h4, .news-content h6 + h5, .news-content h6 + h6 {
  padding-top: 0;
}
.news-content b, .news-content strong {
  font-weight: 700;
}
.news-content p {
  margin-bottom: 2em;
  font-weight: 500;
}
.news-content a {
  text-decoration: underline;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.news-content img {
  display: block;
  max-width: 62.5%;
  margin: 4em auto 2em;
  border: 1px solid;
}
.news-content ul, .news-content ol {
  margin-bottom: calc(var(--h) * 4);
}
.news-content ul li, .news-content ol li {
  position: relative;
  padding-left: 1.2em;
}
.news-content ul li::before, .news-content ol li::before {
  content: "○";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 1em;
}
.news-content ul li ul, .news-content ul li ol, .news-content ol li ul, .news-content ol li ol {
  padding: 0.25em 0 1em;
  margin: 0;
}
.news-content ul li ul li, .news-content ul li ol li, .news-content ol li ul li, .news-content ol li ol li {
  padding-left: 1.2rem;
  font-size: 0.85em;
  font-weight: 500;
}
.news-content ul li ul li::before, .news-content ul li ol li::before, .news-content ol li ul li::before, .news-content ol li ol li::before {
  content: "・";
}
.news-content ol {
  counter-reset: item;
}
.news-content ol > li::before {
  counter-increment: item;
  content: counter(item) ".";
}
.news-content dl {
  margin-bottom: calc(var(--h) * 4);
}
.news-content dl dt {
  position: relative;
  padding-left: calc(var(--h) * 2);
  font-weight: 700;
}
.news-content dl dt::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}
.news-content dl dd {
  padding-left: calc(var(--h) * 2);
  margin-bottom: calc(var(--h) * 1);
  font-size: 0.85em;
  font-weight: 500;
}
.news-content .wp-block-column {
  display: block;
  margin-bottom: calc(var(--h) * 4);
}
.news-content .wp-block-column img {
  width: 100% !important;
  max-width: 100% !important;
}
.news-content .wp-block-image {
  margin-bottom: calc(var(--h) * 4);
}
.news-content .wp-block-image img {
  margin-bottom: calc(var(--h) * 1.6);
}
.news-content .wp-block-image figcaption {
  font-size: calc(var(--f) * 1.5);
  font-weight: 500;
  text-align: center;
}
.news-content .wp-block-buttons {
  margin-bottom: calc(var(--h) * 4);
}
.news-content .wp-block-buttons a {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  padding: 0.7em 2em;
  margin: 0 0 1em;
  color: #0FA36A;
  line-height: 1.5;
  text-decoration: none;
  background: #fff;
  border: 1px solid #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.news-content .wp-block-buttons a:hover {
  background: #E9F5F0;
}
.news-content .wp-block-buttons a:active {
  background: #C6E5D8;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.news-content hr {
  opacity: 1;
  position: relative;
  display: block;
  margin: -1em 0 1em;
}
.news-content .wp-block-table {
  margin-bottom: calc(var(--h) * 4);
}
.news-content .wp-block-table table {
  width: 100%;
}
.news-content .wp-block-table table th, .news-content .wp-block-table table td {
  padding: 0.5em 0 0.2em;
  border-bottom: 1px solid;
  font-weight: 500;
}
.news-content .wp-block-table table thead th, .news-content .wp-block-table table thead td {
  border-bottom-width: 2px;
  font-weight: 700;
}
.news-content .wp-block-table table tfoot th, .news-content .wp-block-table table tfoot td {
  border-top: 2px solid;
}
.news-content .wp-block-quote {
  position: relative;
  z-index: 10;
  padding: calc(var(--h) * 2);
  margin-bottom: calc(var(--h) * 4);
  background: #fff;
}
.news-content .wp-block-quote::after {
  content: "❞";
  position: absolute;
  right: 0.1em;
  top: 0.05em;
  opacity: 0.5;
  opacity: 0.5;
  display: block;
  color: #0FA36A;
  font-size: calc(var(--f) * 10);
  line-height: 1;
  font-weight: 700;
  font-style: italic;
}
.news-content .wp-block-quote p {
  margin-bottom: 0.5em;
}
.news-content .wp-block-quote cite,
.news-content .wp-block-quote cite a {
  font-size: calc(var(--f) * 1.4);
  font-weight: 500;
}
.news-content .wp-block-quote cite a {
  text-decoration: underline;
}
@media screen and (max-width: 960px) {
  .news-content .wp-block-quote::after {
    font-size: calc(var(--f) * 5);
  }
}
.news-content #toc_container ul {
  margin-left: 0.7em;
}
.news-content #toc_container li::before {
  display: none;
}
.news-content #toc_container .toc_number {
  color: #0FA36A;
}
.news-content #toc_container a {
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.news-content #toc_container a:hover {
  color: #0DB775;
  text-decoration: underline;
}
.news-content #toc_container a:active {
  color: #0C8355;
  text-decoration: underline;
}
.news-content #toc_container a.disabled {
  color: #D4D4D4;
}

.news-head {
  position: relative;
  z-index: 10;
  background: url(../img/home/mv.jpg) center/cover no-repeat;
}
.news-head::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(38, 32, 31, 0.75);
}
.news-head__container {
  width: 90vw;
  padding: calc(var(--h) * 10) 0 calc(var(--h) * 2);
  margin: 0 auto;
  text-align: center;
}
.news-head__container .cate {
  display: inline-block;
  padding: 0 calc(var(--f) * 1.6);
  font-size: calc(var(--f) * 1.5);
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.85);
}
.news-head__container .cate span::after {
  content: "/";
}
.news-head__container .cate span:last-child::after {
  display: none;
}
.news-head__container .title {
  padding: calc(var(--f) * 0.8) 0;
  color: #fff;
  font-size: calc(var(--f) * 3.6);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
}
.news-head__container .date {
  color: #fff;
  font-size: calc(var(--f) * 1.4);
  line-height: 1.5;
}
.news-head__topicpath {
  padding: calc(var(--h) * 6) 0 0;
}
.news-head__topicpath ol {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.news-head__topicpath li {
  color: #10df79;
  font-size: calc(var(--f) * 1.3);
}
.news-head__topicpath a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  color: #fff;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.news-head__topicpath a:hover {
  color: #10df79;
}
.news-head__topicpath a::after {
  content: "";
  display: block;
  width: 0.4em;
  aspect-ratio: 1/1;
  margin: 0 0.8em 0 0.4em;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.news-head__topicpath br {
  display: none;
}
@media screen and (max-width: 960px) {
  .news-head__container .cate {
    font-size: calc(var(--f) * 1.4);
  }
  .news-head__container .title {
    font-size: calc(var(--f) * 2.4);
  }
}

.news-pagenation {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0 calc(var(--h) * 12);
  margin-top: calc(var(--h) * -4);
}
.news-pagenation .page-numbers {
  width: calc(var(--f) * 4.6);
  height: calc(var(--f) * 4.6);
  margin: 0 calc(var(--w) * 0.5);
  color: #0FA36A;
  font-size: calc(var(--f) * 1.6);
  line-height: calc(var(--f) * 4.2);
  text-decoration: none;
  text-align: center;
  letter-spacing: 0;
  border: 1px solid;
  border-radius: 50%;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.news-pagenation a.page-numbers:hover {
  background: #E9F5F0;
}
.news-pagenation a.page-numbers:active {
  background: #C6E5D8;
}
.news-pagenation .page-numbers.current {
  color: #fff;
  background: #0FA36A;
}
.news-pagenation .page-numbers.prev,
.news-pagenation .page-numbers.next {
  position: relative;
  background: none;
}
.news-pagenation .page-numbers.prev::after,
.news-pagenation .page-numbers.next::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: calc(var(--f) * 1.2);
  height: calc(var(--f) * 1.2);
  margin: auto;
  border-right: 1px solid #26201F;
  border-bottom: 1px solid #26201F;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.news-pagenation .page-numbers.prev:hover,
.news-pagenation .page-numbers.next:hover {
  background: none;
}
.news-pagenation .page-numbers.prev:hover::after,
.news-pagenation .page-numbers.next:hover::after {
  border-right-color: #0DB775;
  border-bottom-color: #0DB775;
}
.news-pagenation .page-numbers.prev {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  border: none;
  margin: 0;
}
.news-pagenation .page-numbers.next {
  border: none;
  margin: 0;
}
.news-pagenation .page-numbers.dots {
  background: none;
  border: none;
}
@media screen and (max-width: 960px) {
  .news-pagenation {
    margin-top: 0;
  }
  .news-pagenation .page-numbers {
    width: calc(var(--f) * 3.2);
    height: calc(var(--f) * 3.2);
    margin: 0 calc(var(--w) * 0.15);
    line-height: calc(var(--f) * 2.8);
  }
  .news-pagenation .page-numbers.prev,
  .news-pagenation .page-numbers.next {
    width: calc(var(--f) * 2);
  }
  .news-pagenation .page-numbers.prev::after,
  .news-pagenation .page-numbers.next::after {
    width: calc(var(--f) * 0.8);
    height: calc(var(--f) * 0.8);
  }
  .news-pagenation .page-numbers.dots {
    margin: 0;
  }
}
.home-esg--archive + .news-pagenation {
  background: #FAF8F5;
}

.news-recent {
  margin: 0 0 calc(var(--h) * 4);
}
.news-recent__title {
  padding: 0 0 0 0.5em;
  color: #0FA36A;
  font-size: calc(var(--f) * 1.7);
  line-height: 1.5;
  font-weight: 700;
  border-left: 2px solid #0FA36A;
}
.news-recent__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  padding: calc(var(--h) * 1.6) 0;
  border-bottom: 1px solid #E5E1DB;
}
.news-recent a.news-recent__box {
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.news-recent a.news-recent__box:hover {
  opacity: 0.7;
}
.news-recent__img {
  position: relative;
  overflow: hidden;
  width: calc(var(--w) * 12);
  -ms-flex-negative: none;
      flex-shrink: none;
  aspect-ratio: 1/1;
  margin: 0 calc(var(--h) * 1.6) 0 0;
  border-radius: 6px;
}
.news-recent__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-recent__text {
  width: 100%;
  line-height: 0;
}
.news-recent__text .cate {
  display: inline-block;
  padding: 0 calc(var(--f) * 0.7);
  font-size: calc(var(--f) * 1.4);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
  border-radius: 3px;
  background: #FAF8F5;
}
.news-recent__text .title {
  padding: calc(var(--f) * 0.6) 0;
  color: #0FA36A;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0;
  text-align: left;
}
.news-recent__text .title br {
  display: none;
}
.news-recent__text .date {
  font-size: calc(var(--f) * 1.3);
  line-height: 1.5;
}

.news-search {
  margin: 0 0 calc(var(--f) * 4);
}
.news-search #form {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: calc(var(--f) * 4.6);
}
.news-search #s-box {
  display: block;
  width: 100%;
  padding: 0 calc(var(--f) * 5.6) 0 0.5em;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
}
.news-search #s-box::-webkit-input-placeholder {
  color: #D8D8D8;
}
.news-search #s-box::-moz-placeholder {
  color: #D8D8D8;
}
.news-search #s-box:-ms-input-placeholder {
  color: #D8D8D8;
}
.news-search #s-box::-ms-input-placeholder {
  color: #D8D8D8;
}
.news-search #s-box::placeholder {
  color: #D8D8D8;
}
.news-search #s-box:focus, .news-search #s-box:active {
  outline: 2px solid #BABABA !important;
  border-color: #fff !important;
}
.news-search #s-btn-area {
  position: absolute;
  right: 0;
  top: 0;
  width: calc(var(--f) * 4.6);
  height: 100%;
  border: none;
  border-radius: 0 6px 6px 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #26201F url(../img/_common/search.svg) center/50% auto no-repeat;
  -webkit-transition-duration: 300ms;
          transition-duration: 300ms;
}
.news-search #s-btn-area:hover {
  background-color: #0FA36A;
}
.news-search #s-btn {
  position: relative;
  overflow: hidden;
  text-indent: -999px;
}

.search-result {
  padding: 0 0 calc(var(--h) * 10);
}
.search-result__head {
  margin: 0 0 calc(var(--h) * 2.6);
  font-size: calc(var(--f) * 2);
  font-weight: 700;
}
.search-result__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: calc(var(--f) * 2.4) 0;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}
.search-result__img {
  position: relative;
  overflow: hidden;
  width: calc(var(--h) * 12);
  aspect-ratio: 1/1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: calc(var(--h) * 2);
  border-radius: 6px;
}
.search-result__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.search-result__text {
  width: 100%;
}
.search-result__text .cate {
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0 1.5em;
  margin: 0 0 0.7em;
  font-size: calc(var(--f) * 1.2);
  white-space: nowrap;
  background: rgba(204, 204, 204, 0.25);
}
.search-result__text .cate span {
  margin-right: 0.5em;
}
.search-result__text .cate span:last-child {
  margin-right: 0;
}
.search-result__text .title {
  width: 100%;
  line-height: 1.5;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
}
.search-result__text .title br {
  display: none;
}
.search-result a.search-result__box:hover .title {
  color: #0DB775;
  text-decoration: underline;
}
.search-result a.search-result__box:hover .title:active {
  color: #0C8355;
  text-decoration: underline;
}
.search-result a.search-result__box:hover .title.disabled {
  color: #D4D4D4;
}
@media screen and (max-width: 960px) {
  .search-result {
    padding-top: calc(var(--h) * 2.4);
    padding-bottom: calc(var(--h) * 2.4);
  }
  .search-result__head {
    margin: 0 0 calc(var(--h) * 2);
  }
  .search-result__box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: calc(var(--f) * 1.3) 0;
  }
  .search-result__box .title {
    padding: calc(var(--f) * 0.3) 0 calc(var(--f) * 0.5);
    width: 100%;
    font-size: calc(var(--f) * 1.6);
    line-height: calc(var(--f) * 2.4);
  }
}

.thanks-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: calc(100vh - var(--h) * 8 - var(--h) * 9);
  min-height: calc(100svh - var(--h) * 8 - var(--h) * 9);
}
.thanks-message__container {
  width: 100%;
  padding: 0 0 calc(var(--w) * 10);
}
.thanks-message__head {
  margin-bottom: calc(var(--h) * 1);
  font-size: calc(var(--f) * 3.6);
  font-weight: 700;
  text-align: center;
}
.thanks-message__intro {
  margin-bottom: calc(var(--h) * 6.4);
  text-align: center;
}
.thanks-message__back {
  text-align: center;
}
.thanks-message__back a {
  text-align: center;
}
.thanks-message__back a .label {
  -webkit-box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
          box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.16);
  position: relative;
  cursor: pointer;
  display: inline-block;
  min-width: calc(var(--f) * 28);
  padding: 0.7em 2em;
  color: #fff;
  line-height: 1.5;
  font-weight: 700;
  background: #0FA36A;
  border-radius: 4px;
  -webkit-transition-duration: 200ms;
          transition-duration: 200ms;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.thanks-message__back a:hover .label {
  background: #0DB775;
}
.thanks-message__back a:active .label {
  background: #0C8355;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.thanks-message__back a.disabled {
  pointer-events: none;
}
.thanks-message__back a.disabled .label {
  color: #9D9D9D;
  background: #C4C4C4;
}
@media screen and (max-width: 960px) {
  .thanks-message__back a .label {
    font-size: calc(var(--f) * 1.6);
  }
}
.thanks-message__head + .thanks-message__back {
  margin-top: calc(var(--h) * 4);
}
@media screen and (max-width: 960px) {
  .thanks-message {
    min-height: calc(100vh - var(--h) * 5.2 - 54vw);
  }
  .thanks-message__container {
    padding-top: calc(var(--h) * 13);
    padding-bottom: calc(var(--h) * 8);
  }
  .thanks-message__head {
    margin-bottom: calc(var(--h) * 4);
    font-size: calc(var(--f) * 2.2);
    line-height: calc(var(--f) * 3.4);
  }
  .thanks-message__intro {
    margin-bottom: calc(var(--h) * 8);
  }
}