@charset "UTF-8";
/* Sass Document */
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@layer components, variations;
@layer components {
  a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
  }
  picture {
    display: block;
  }
  p {
    font-size: 1.6rem;
    line-height: 2;
  }
  @media screen and (max-width: 767.98px) {
    p {
      font-size: 1.5rem;
      line-height: 1.8666666667;
    }
  }
  button {
    border: none;
    font: inherit;
    color: currentColor;
  }
  ol,
ul,
menu {
    list-style: none;
  }
}
html {
  line-height: 1;
}

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

strong {
  font-weight: 700;
}

caption,
td,
th {
  text-align: left;
}

blockquote,
q {
  quotes: none;
}

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

a img {
  border: none;
}

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

html {
  font-size: 100%;
  line-height: 1.5em;
}

* {
  box-sizing: border-box;
  word-break: break-word; /* 長い単語を強制的に折り返す */
  overflow-wrap: break-word; /* 同様の目的。対応ブラウザが広い */
  line-break: strict; /* 節での自然な改行を優先（日本語では特に有効） */
  white-space: normal; /* 普通の折り返し挙動に */
}

html {
  font-size: 100%;
  width: 100%;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
  font-size: min(0.73206442vw, 62.5%);
}
@media screen and (max-width: 767.98px) {
  html {
    font-size: 2.6666666vw;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  position: relative;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  color: #1d1d1d;
  font-size: 1.6rem;
  scroll-behavior: smooth;
}
body.is-fixed {
  overscroll-behavior-y: none;
  overflow: hidden;
}

div[id],
section[id],
h2[id],
h3[id] {
  scroll-margin-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  div[id],
section[id],
h2[id],
h3[id] {
    scroll-margin-top: 9rem;
  }
}
div[id].js-animate,
section[id].js-animate,
h2[id].js-animate,
h3[id].js-animate {
  display: block;
  scroll-margin-top: 18rem;
}
@media screen and (max-width: 767.98px) {
  div[id].js-animate,
section[id].js-animate,
h2[id].js-animate,
h3[id].js-animate {
    scroll-margin-top: 12rem;
  }
}
div[id].is-show,
section[id].is-show,
h2[id].is-show,
h3[id].is-show {
  scroll-margin-top: 12rem !important;
}
@media screen and (max-width: 767.98px) {
  div[id].is-show,
section[id].is-show,
h2[id].is-show,
h3[id].is-show {
    scroll-margin-top: 9rem !important;
  }
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

.u-en {
  font-family: "Poppins", sans-serif;
}

.js-animate {
  opacity: 0;
  transform: translateY(6rem);
  transition: 1s opacity, 1s transform;
}
@media screen and (max-width: 767.98px) {
  .js-animate {
    transform: translateY(3rem);
  }
}
.js-animate.is-show {
  opacity: 1;
  transform: translateY(0);
}

.l-fix-btn-entry-wrapper {
  position: fixed;
  z-index: 1000;
  right: 1.5rem;
  bottom: 10%;
  pointer-events: none;
  opacity: 0;
  transition: 0.3s opacity;
}
.l-fix-btn-entry-wrapper.is-show {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry-wrapper {
    top: auto;
    bottom: 1.5rem;
  }
}

.l-fix-btn-entry {
  display: block;
  text-decoration: none;
  color: currentColor;
  width: 17rem;
  height: 17rem;
  border-radius: 0.5rem;
  border: 0.6rem solid #ffdd00;
  box-sizing: border-box;
  box-shadow: 5px 5px 10px -5px #777777;
  transition: 0.3s border-color;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry {
    display: flex;
    width: 27rem;
    height: 7rem;
    border-width: 0.4rem;
  }
}
@media (any-hover: hover) {
  .l-fix-btn-entry:hover {
    border-color: #00b315;
  }
  .l-fix-btn-entry:hover .l-btn-entry__body::before {
    background-color: #00b315;
  }
}
.l-fix-btn-entry .l-img-wrapper {
  aspect-ratio: 158/75;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry .l-img-wrapper {
    aspect-ratio: 10/6.2;
  }
}
.l-fix-btn-entry .l-img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-fix-btn-entry__body {
  padding: 1.2rem 1.6rem;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry__body {
    flex-grow: 1;
    padding: 1.2rem 0.9rem;
  }
}
.l-fix-btn-entry__body::before, .l-fix-btn-entry__body::after {
  content: "";
  position: absolute;
}
.l-fix-btn-entry__body::before {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 100px;
  background-color: #000;
  bottom: 1.2rem;
  right: 1rem;
  transition: 0.3s background-color;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry__body::before {
    background-color: #00b315;
    width: 1.6rem;
    height: 1.6rem;
    top: 1.1rem;
    bottom: auto;
  }
}
.l-fix-btn-entry__body::after {
  width: 1.4rem;
  height: 1.1rem;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  right: 1.6rem;
  bottom: 1.9rem;
  z-index: 2;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry__body::after {
    top: 1.6rem;
    bottom: auto;
    -webkit-mask: none;
            mask: none;
    width: 0.5rem;
    height: 0.5rem;
    background-color: transparent;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
  }
}
.l-fix-btn-entry__body .u-txtsize--small {
  font-size: 1.3rem;
  color: #00b315;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry__body .u-txtsize--small {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
  }
}
.l-fix-btn-entry__body .u-txtsize--large {
  margin-top: 0.2rem;
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 900;
}
@media screen and (max-width: 767.98px) {
  .l-fix-btn-entry__body .u-txtsize--large {
    font-size: 1.8rem;
    white-space: nowrap;
  }
}

.l-footer__entry {
  padding-block: 17.7rem 17.9rem;
  background: url(../img/common/bg_footer-entry.svg) #00b315 no-repeat center/auto 100%;
}
@media screen and (max-width: 767.98px) {
  .l-footer__entry {
    padding-block: 7.5rem 7.6rem;
    background-image: url(../img/common/bg_footer-entry_sp.svg);
  }
}
.l-footer__entry p {
  width: 80.8rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .l-footer__entry p {
    width: 30rem;
  }
}
.l-footer__entry p img {
  width: 100%;
}
.l-footer__entry .p-btn-wrapper {
  margin: 7rem auto 0;
  max-width: 52rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__entry .p-btn-wrapper {
    max-width: 26rem;
    margin-top: 2rem;
  }
}

.l-footer__catch {
  position: relative;
  padding-top: 9.3rem;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  .l-footer__catch {
    padding-top: 5rem;
  }
}
.l-footer__catch .carousel {
  position: absolute;
  top: 5rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__catch .carousel {
    top: 2rem;
  }
}
.l-footer__catch .carousel__content {
  -webkit-animation-duration: 40s;
          animation-duration: 40s;
}
.l-footer__catch .carousel__inner p {
  width: 217rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__catch .carousel__inner p {
    width: 95.1rem;
    font-size: 7rem;
  }
}

.l-footer__catch-img-wrapper {
  max-width: 100rem;
  margin-inline: auto;
  position: relative;
  z-index: 10;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .l-footer__catch-img-wrapper {
    max-width: 30.2rem;
  }
}
.l-footer__catch-img-wrapper img {
  width: 100%;
}

.l-footer__main {
  background-color: #1d1d1d;
  padding-top: 12rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__main {
    padding-top: 5.5rem;
  }
}

.l-footer__inner {
  max-width: 117rem;
  margin-inline: auto;
  color: #fff;
}
.l-footer__inner .p-btn-wrapper {
  max-width: 22rem;
  margin-left: auto;
  margin-top: 3.3rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__inner .p-btn-wrapper {
    margin-left: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .l-footer__inner {
    padding-inline: 2rem;
  }
}
.l-footer__inner a {
  color: currentColor;
  text-decoration: none;
}
@media (any-hover) {
  .l-footer__inner a {
    transition: 0.3s;
  }
  .l-footer__inner a:hover {
    opacity: 0.7;
  }
}

.l-footer__logo {
  width: 24.2rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__logo {
    margin-top: 8rem;
  }
}

.l-footer__bottom {
  border-top: 1px solid #fff;
  margin-top: 5.3rem;
  padding-block: 3.2rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .l-footer__bottom {
    padding: 2.5rem 0 3.8rem;
    margin-top: 4rem;
    display: block;
  }
}

.l-copyright {
  color: #707070;
  font-weight: 500;
  font-size: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .l-copyright {
    margin-top: 2.5rem;
    display: block;
  }
}

@media screen and (max-width: 767.98px) {
  .l-footer__nav-item + .l-footer__nav-item {
    margin-top: 4rem;
  }
}

.l-footer__nav-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .l-footer__nav-ttl {
    position: relative;
    padding: var(--navSpPadding) 0;
  }
}

.l-nav-wrap {
  margin-top: 3rem;
}
@media screen and (max-width: 767.98px) {
  .l-nav-wrap {
    margin-top: 0;
  }
}
.l-nav-wrap.l-mt {
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .l-nav-wrap.l-mt {
    margin-top: 0;
  }
}
.l-nav-wrap.l-row {
  display: flex;
  gap: 0 4rem;
}
@media screen and (max-width: 767.98px) {
  .l-nav-wrap.l-row {
    display: block;
  }
}
.l-nav-wrap.l-col .l-nav-block + .l-nav-block {
  margin-top: 3.8rem;
}
@media screen and (max-width: 767.98px) {
  .l-nav-wrap.l-col .l-nav-block + .l-nav-block {
    margin-top: 2rem;
  }
}

.l-nav-block.l-mt {
  margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-nav-block.l-mt {
    margin-top: 0;
  }
}
@media screen and (max-width: 767.98px) {
  .l-nav-block + .l-nav-block {
    margin-top: 1.5rem;
  }
}

:root {
  --navPadding: 1rem;
  --navSpPadding: 1.2rem;
}

.l-footer__nav-link {
  font-size: 1.6rem;
  display: block;
  font-weight: 700;
  padding: var(--navPadding) 0 var(--navPadding) 1rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .l-footer__nav-link {
    font-size: 1.5rem;
    padding: var(--navSpPadding) 0 1rem 1.1rem;
  }
}
.l-footer__nav-link::before {
  content: "";
  position: absolute;
  top: calc(var(--navPadding) + 0.6em);
  width: 0.5rem;
  height: 1.5px;
  background-color: #fff;
  left: 0;
}
@media screen and (max-width: 767.98px) {
  .l-footer__nav-link::before {
    width: 0.5rem;
    top: calc(var(--navSpPadding) + 0.5em);
    left: 0;
  }
}

.l-footer__nav {
  margin-left: auto;
}

.l-footer__nav-list {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto;
  gap: 5rem 4.5rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__nav-list {
    display: block;
  }
}
.l-footer__nav-list .l-footer__nav-item:first-of-type {
  grid-column: 1;
  grid-row: 1/3;
}
.l-footer__nav-list .l-footer__nav-item:nth-of-type(2) {
  grid-column: 2;
  grid-row: 1/3;
}
.l-footer__nav-list .l-footer__nav-item:nth-of-type(3) {
  grid-column: 3;
  grid-row: 1;
}
.l-footer__nav-list .l-footer__nav-item:nth-of-type(4) {
  grid-column: 3;
  grid-row: 2;
}

.l-footer__subnav-list {
  padding-left: 1rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__subnav-list {
    -moz-column-count: 2;
         column-count: 2;
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    padding-left: 1.3rem;
  }
}

.l-footer__subnav-item {
  font-size: 1.4rem;
  line-height: 1.4;
}
.l-footer__subnav-item a {
  display: block;
  padding-block: var(--navPadding);
}

.l-footer__upper {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .l-footer__upper {
    display: block;
  }
}

.l-footer__side {
  flex-direction: column;
}
.l-footer__side.u-pc {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .l-footer__side.u-pc {
    display: none;
  }
}
.l-footer__side .l-footer__company-info {
  margin-top: auto;
}

.l-footer__company-info {
  margin-top: 4rem;
}

.l-company-name {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-company-name {
    font-size: 1.5rem;
  }
}

.l-company-add {
  font-size: 1.3rem;
  margin-top: 1.5em;
}
@media screen and (max-width: 767.98px) {
  .l-company-add {
    font-size: 1.2rem;
    line-height: 1.6666666667;
  }
}

.l-footer__nav-secondary {
  display: flex;
  font-size: 1.2rem;
}
.l-footer__nav-secondary li {
  position: relative;
}
.l-footer__nav-secondary li a {
  display: block;
  display: block;
  padding: 0 1em;
}
.l-footer__nav-secondary li:first-of-type a {
  padding-left: 0;
}
.l-footer__nav-secondary li:not(:first-of-type)::before {
  position: absolute;
  left: 0;
  content: "/";
}

#l-header {
  height: 9rem;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  top: 0;
  z-index: 10000;
  background-color: #fff;
  transition: 0.3s background;
}
@media screen and (min-width: 768px) {
  #l-header.is-top {
    background-color: transparent;
  }
}
@media screen and (max-width: 767.98px) {
  #l-header {
    height: 7rem;
  }
}

.l-header__inner {
  display: flex;
  padding-right: 14rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767.98px) {
  .l-header__inner {
    padding-right: 0;
  }
}

.l-header__logo {
  width: 24.2rem;
  margin: 2.5rem 0 0 4rem;
}
@media screen and (max-width: 767.98px) {
  .l-header__logo {
    width: 16rem;
    margin: 2.2rem 0 0 1.5rem;
  }
}
@media (any-hover) {
  .l-header__logo a {
    transition: 0.3s;
  }
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}

.l-header__nav {
  margin-left: auto;
}
.l-header__nav .l-header__logo,
.l-header__nav .l-hamburger-wrapper {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav .l-header__logo,
.l-header__nav .l-hamburger-wrapper {
    display: block;
  }
}
.l-header__nav .l-hamburger-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
.l-header__nav .l-hamburger-wrapper .l-line:first-of-type {
  top: calc(50% - 0.1rem);
  transform: rotate(45deg);
}
.l-header__nav .l-hamburger-wrapper .l-line:last-of-type {
  top: calc(50% - 0.1rem);
  transform: rotate(-45deg);
}
.l-header__nav .l-hamburger-wrapper .l-line:nth-of-type(2) {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    top: 0;
    z-index: 10001;
    background-color: #eaf7da;
    height: 100dvh;
    overflow: auto;
    padding-bottom: 6rem;
    transform: translateX(100%);
    transition: 0.3s transform;
    overscroll-behavior-y: contain;
  }
  .l-header__nav.is-open {
    transform: translateX(0);
  }
}
.l-header__nav a {
  color: currentColor;
  text-decoration: none;
}

.l-header__nav-list {
  display: flex;
  margin-right: 6rem;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-list {
    display: block;
    margin-right: 0;
    padding-inline: 3rem;
    margin-top: 4rem;
  }
}

.l-header__nav-item {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-item {
    border-bottom: 1px solid #1d1d1d;
  }
}
.l-header__nav-item .p-navtoggle {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-item .p-navtoggle {
    display: block;
    font-size: 3rem;
    color: #00b315;
    font-weight: 400;
    width: 5rem;
    background-color: transparent;
    border: none;
    position: relative;
  }
  .l-header__nav-item .p-navtoggle::before, .l-header__nav-item .p-navtoggle::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1.4rem;
    height: 0.2rem;
    background-color: #00b315;
    left: auto;
    right: 0.5rem;
    transform: translateY(-50%);
  }
  .l-header__nav-item .p-navtoggle::after {
    transition: 0.3s transform;
    transform: translateY(-50%) rotate(90deg);
  }
  .l-header__nav-item .p-navtoggle.is-open::after {
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-item > div {
    display: flex;
    justify-content: space-between;
  }
}

.l-header__nav-link {
  font-size: 1.6rem;
  font-weight: 700;
  display: grid;
  place-content: center;
  padding-inline: 2.5rem;
  padding-top: calc(4.5rem - 0.5em);
  padding-bottom: 1.5rem;
  transition: 0.3s color;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-link {
    font-size: 2rem;
    display: block;
    padding: 1.5rem 0 1.5rem 0;
    flex-grow: 1;
  }
}
@media (any-hover: hover) {
  .l-header__nav-link.is-hover {
    color: #00b315;
  }
  .l-header__nav-link.is-hover span::after {
    border-color: #00b315;
    transform: rotate(225deg) translateY(-90%);
    right: -1rem;
  }
}
.l-header__nav-link .u-pc {
  display: inline-block !important;
  position: relative;
  padding-right: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .l-header__nav-link .u-pc {
    display: none !important;
  }
}
.l-header__nav-link .u-pc::after {
  transition: 0.3s border-color, 0.3s transform, 0.3s right;
  content: "";
  position: absolute;
  transform-origin: top center;
  right: -0.5rem;
  width: 0.6rem;
  height: 0.6rem;
  border-bottom: 2px solid #1d1d1d;
  border-right: 2px solid #1d1d1d;
  top: 50%;
  transform: rotate(45deg) translateY(-80%);
}

.l-header__subnav-list {
  visibility: hidden;
  opacity: 0;
  background-color: #fff;
  border-top: 5px solid #00b315;
  border-radius: 0.3rem 0.3rem 0 0;
  padding: 2.5rem 4rem 3rem 4rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  transition: 0.3s opacity;
}
@media screen and (max-width: 767.98px) {
  .l-header__subnav-list {
    display: none;
    width: auto;
    position: static;
    transform: translateX(0);
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    border: none;
    visibility: visible;
    opacity: 1;
  }
}
.l-header__subnav-list a {
  transition: 0.3s color;
}
@media (any-hover: hover) {
  .l-header__subnav-list a:hover {
    color: #00b315;
  }
}
.l-header__subnav-list.is-show {
  visibility: visible;
  opacity: 1;
}
.l-header__subnav-list.is-show.l-col--2 {
  display: flex !important;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
}

.l-header__subnav-list:not(.l-col--2) .l-header__subnav-item + .l-header__subnav-item {
  margin-top: 2rem;
}
@media screen and (max-width: 767.98px) {
  .l-header__subnav-list:not(.l-col--2) .l-header__subnav-item + .l-header__subnav-item {
    margin-top: 0;
  }
}

.l-header__subnav-link {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 1rem 1rem 1rem 0;
}
@media screen and (max-width: 767.98px) {
  .l-header__subnav-link {
    display: block;
    padding: 1.5rem 0 1.5rem 1rem;
    border-top: 1px dotted #1d1d1d;
  }
}
@media screen and (max-width: 767.98px) {
  .l-header__subnav-link::before {
    content: "";
    position: absolute;
    top: calc(1.5rem + 0.5em);
    left: 0;
    width: 0.5rem;
    height: 2px;
    background-color: #1d1d1d;
  }
}
.l-header__subnav-link::after {
  content: "";
  position: absolute;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 2px solid #00b315;
  border-right: 2px solid #00b315;
  right: 0;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
}
@media screen and (max-width: 767.98px) {
  .l-header__subnav-link::after {
    width: 2.2rem;
    height: 2.2rem;
    border: none;
    transform: translateY(-50%);
    background: url(../img/common/icn_arrow_nav_sp.svg) no-repeat center center/100% 100%;
    right: 0;
  }
}

.l-header__3rdnav-list {
  font-size: 1.4rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-header__3rdnav-list {
    margin-top: 0;
    border-top: 1px dotted #1d1d1d;
  }
}
@media screen and (max-width: 767.98px) {
  .l-header__3rdnav-list.l-sp-col--2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--3 .l-header__3rdnav-item:first-of-type {
    grid-row: 1;
    grid-column: 1;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--3 .l-header__3rdnav-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--3 .l-header__3rdnav-item:nth-of-type(3) {
    grid-column: 1;
    grid-row: 3;
    border-bottom: none;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--3 .l-header__3rdnav-item:nth-of-type(6) {
    border-bottom: none;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--2 .l-header__3rdnav-item:first-of-type {
    grid-row: 1;
    grid-column: 1;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--2 .l-header__3rdnav-item:nth-of-type(2) {
    grid-column: 1;
    grid-row: 2;
    border-bottom: none;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--2 .l-header__3rdnav-item:nth-of-type(3) {
    grid-column: 2;
    grid-row: 1;
  }
  .l-header__3rdnav-list.l-sp-col--2.l-sp-row--2 .l-header__3rdnav-item:nth-of-type(4) {
    grid-column: 2;
    grid-row: 2;
    border-bottom: none;
  }
}

@media screen and (max-width: 767.98px) {
  .l-header__3rdnav-item {
    border-bottom: 1px dotted #1d1d1d;
  }
}

.l-header__3rdnav-link {
  position: relative;
  padding: 0.9rem 0 0.9rem 1.4rem;
  display: inline-block;
}
@media screen and (max-width: 767.98px) {
  .l-header__3rdnav-link {
    display: block;
    padding: 1.5rem 0;
  }
}
@media (any-hover: hover) {
  .l-header__3rdnav-link:hover::before {
    background-color: #00b315;
  }
}
.l-header__3rdnav-link::before {
  transition: 0.3s background-color;
  content: "";
  position: absolute;
  left: 0;
  width: 0.8rem;
  height: 1px;
  background-color: #1d1d1d;
  top: calc(0.9rem + 0.5em);
}
@media screen and (max-width: 767.98px) {
  .l-header__3rdnav-link::before {
    left: auto;
    right: 0.3rem;
    width: 0.5rem;
    height: 0.5rem;
    top: calc(1.5rem + 0.5em);
    background: none;
    border-top: 1px solid #1d1d1d;
    border-right: 1px solid #1d1d1d;
    transform: translateY(-50%) rotate(45deg);
  }
}

.p-contactbtn-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  width: 14rem;
  height: 14rem;
}
@media screen and (max-width: 767.98px) {
  .p-contactbtn-wrapper {
    position: static;
    margin-left: auto;
    width: 7rem;
    height: 7rem;
  }
}
.p-contactbtn-wrapper .p-btn-entry {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  font-size: 2.6rem;
  background-color: #ffdd00;
  color: #00b315;
  text-decoration: none;
  font-weight: 800;
  transition: 0.3s background-color, 0.3s color;
}
@media screen and (max-width: 767.98px) {
  .p-contactbtn-wrapper .p-btn-entry {
    font-size: 1.6rem;
  }
}
@media (any-hover: hover) {
  .p-contactbtn-wrapper .p-btn-entry:hover {
    color: #ffdd00;
    background-color: #00b315;
  }
}
.p-contactbtn-wrapper .p-btn-entry p {
  font-size: inherit;
}

.l-hamburger-wrapper {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-hamburger-wrapper {
    display: block;
    width: 7rem;
    height: 7rem;
  }
}

.l-hamburger {
  background-color: #00b315;
  width: 100%;
  height: 100%;
  position: relative;
  margin: 0;
  padding: 0;
  border: none;
}
.l-hamburger .l-line {
  height: 0.2rem;
  background-color: #fff;
  width: 3.6rem;
  left: 0;
  right: 0;
  position: absolute;
  margin-inline: auto;
}
.l-hamburger .l-line:first-of-type {
  top: calc(50% - 0.9rem);
}
.l-hamburger .l-line:nth-of-type(2) {
  top: calc(50% - 0.1rem);
}
.l-hamburger .l-line:last-of-type {
  top: calc(50% + 0.9rem - 0.2rem);
}

.u-pc {
  display: block;
}
@media screen and (max-width: 767.98px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .u-sp {
    display: block;
  }
}

#l-main {
  padding-top: 9rem;
}
@media screen and (max-width: 767.98px) {
  #l-main {
    padding-top: 7rem;
  }
}

.l-kv {
  position: relative;
  min-height: 64.3rem;
}
@media screen and (max-width: 767.98px) {
  .l-kv {
    padding-top: 6rem;
    min-height: inherit;
    padding-bottom: 9.8rem;
  }
}

.l-kv__inner {
  max-width: 117rem;
  margin-inline: auto;
  display: grid;
  z-index: 2;
  position: relative;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .l-kv__inner {
    display: block;
  }
}

.l-kv__txt-wrapper {
  grid-row: 1;
  grid-column: 1;
  min-height: 25.4rem;
  max-height: 30rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767.98px) {
  .l-kv__txt-wrapper {
    min-height: inherit;
    max-height: inherit;
    padding-inline: 2rem;
    padding-bottom: 4rem;
  }
}

.l-kv__ttl {
  font-weight: 700;
  position: relative;
  padding-bottom: 3rem;
  margin-bottom: 4.6rem;
}
@media screen and (max-width: 767.98px) {
  .l-kv__ttl {
    padding-bottom: 2rem;
    margin-bottom: 2.6rem;
  }
}
.l-kv__ttl::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 8.4rem;
  background-color: #00b315;
}
.l-kv__ttl .u-en {
  font-size: 10rem;
  display: block;
  color: #00b315;
  text-transform: uppercase;
  line-height: 0.9;
}
@media screen and (max-width: 767.98px) {
  .l-kv__ttl .u-en {
    font-size: 4.4rem;
  }
}
.l-kv__ttl .u-jp {
  font-size: 2rem;
  display: block;
  margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-kv__ttl .u-jp {
    font-size: 1.4rem;
  }
}

.l-kv__img {
  width: 78rem;
  height: 50rem;
  overflow: clip;
  grid-row: 1;
  grid-column: 1;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .l-kv__img {
    width: auto;
    padding-inline: 2rem;
    margin-inline: auto;
    height: auto;
  }
}
.l-kv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-loop-txt-wrapper {
  width: 100%;
  overflow: clip;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  bottom: 0;
}
.l-loop-txt-wrapper.-notAnimation {
  max-width: 140rem;
  margin-inline: auto;
}
.l-loop-txt-wrapper.-notAnimation .l-loop-txt {
  -webkit-animation: none !important;
          animation: none !important;
}
@media screen and (max-width: 767.98px) {
  .l-loop-txt-wrapper {
    bottom: 4.8rem;
  }
}

.l-loop-txt {
  display: flex;
  -webkit-animation-name: slideTxt;
          animation-name: slideTxt;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-loop-txt[data-speed="23s"] {
  -webkit-animation-duration: 23s;
          animation-duration: 23s;
}
.l-loop-txt[data-speed="30s"] {
  -webkit-animation-duration: 30s;
          animation-duration: 30s;
}
.l-loop-txt[data-speed="36s"] {
  -webkit-animation-duration: 36s;
          animation-duration: 36s;
}
.l-loop-txt[data-speed="42s"] {
  -webkit-animation-duration: 42s;
          animation-duration: 42s;
}
.l-loop-txt[data-speed="48s"] {
  -webkit-animation-duration: 48s;
          animation-duration: 48s;
}
@media screen and (max-width: 767.98px) {
  .l-loop-txt[data-spSpeed="16s"] {
    -webkit-animation-duration: 16s;
            animation-duration: 16s;
  }
  .l-loop-txt[data-spSpeed="28s"] {
    -webkit-animation-duration: 28s;
            animation-duration: 28s;
  }
  .l-loop-txt[data-spSpeed="32s"] {
    -webkit-animation-duration: 32s;
            animation-duration: 32s;
  }
  .l-loop-txt[data-spSpeed="40s"] {
    -webkit-animation-duration: 40s;
            animation-duration: 40s;
  }
}
.l-loop-txt > div {
  position: relative;
}
.l-loop-txt p {
  font-size: 20rem;
  white-space: nowrap;
  font-weight: 700;
  color: #fff;
  text-transform: uppercase;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  line-height: 1;
  margin-right: 6rem;
}
@media screen and (max-width: 767.98px) {
  .l-loop-txt p {
    font-size: 8rem;
  }
}
.l-loop-txt p.c-txt-main {
  position: relative;
  z-index: 2;
  top: 0;
}
.l-loop-txt p.c-shadow {
  top: 0;
  position: absolute;
  -webkit-text-fill-color: white;
  -webkit-text-stroke: 0.4rem #00b315;
  color: #fff;
}

@-webkit-keyframes slideTxt {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes slideTxt {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.c-btn {
  border-radius: 100px;
  display: block;
  text-decoration: none;
  color: currentColor;
}

.c-btn.c-btn-entry {
  background-color: #ffdd00;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 4.8rem;
  color: #00b315;
  display: grid;
  min-height: 10rem;
  place-content: center;
  font-weight: 800;
  border: 2px solid #ffdd00;
  transition: 0.3s background-color, 0.3s color;
}
@media screen and (max-width: 767.98px) {
  .c-btn.c-btn-entry {
    font-size: 2.4rem;
    min-height: 5rem;
  }
}
@media (any-hover: hover) {
  .c-btn.c-btn-entry:hover {
    background-color: #00b315;
    color: #ffdd00;
  }
}

.c-btn.c-arrow {
  text-align: center;
  position: relative;
}
.c-btn.c-arrow::before, .c-btn.c-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-btn.c-arrow::after {
  background-color: #fff;
  border-radius: 100px;
  width: 2.6rem;
  height: 2.6rem;
  right: 1.5rem;
}
.c-btn.c-arrow::before {
  position: absolute;
  width: 1.5rem;
  height: 1.2rem;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  right: 2rem;
  z-index: 2;
}
.c-btn.c-arrow.c-bgcolor--black {
  background-color: #1d1d1d;
  font-size: 1.6rem;
  color: #fff;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-weight: 800;
  min-height: 7rem;
  display: grid;
  place-content: center;
  transition: 0.3s background-color, 0.3s color;
}
@media screen and (max-width: 767.98px) {
  .c-btn.c-arrow.c-bgcolor--black {
    min-height: 5.5rem;
  }
}
@media (any-hover: hover) {
  .c-btn.c-arrow.c-bgcolor--black:hover {
    background-color: #fff;
    color: #1d1d1d;
  }
  .c-btn.c-arrow.c-bgcolor--black:hover::after {
    background-color: #1d1d1d;
  }
  .c-btn.c-arrow.c-bgcolor--black:hover::before {
    background-color: #fff;
  }
}
.c-btn.c-arrow.c-bgcolor--black::after {
  transition: 0.3s background-color;
  width: 4.4rem;
  height: 4.4rem;
  right: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .c-btn.c-arrow.c-bgcolor--black::after {
    width: 4rem;
    height: 4rem;
    right: 0.7rem;
  }
}
.c-btn.c-arrow.c-bgcolor--black::before {
  transition: 0.3s background-color;
  background-color: #1d1d1d;
  width: 1.9rem;
  height: 1.6rem;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 14.73"><title>arrow</title><path class="cls-1" d="M16.71,6.66L10.34.29c-.39-.39-1.02-.39-1.41,0-.39.39-.39,1.02,0,1.41l4.66,4.66H0v2h13.59l-4.66,4.66c-.39.39-.39,1.02,0,1.41.39.39,1.02.39,1.41,0l6.36-6.36c.39-.39.39-1.02,0-1.41Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 14.73"><title>arrow</title><path class="cls-1" d="M16.71,6.66L10.34.29c-.39-.39-1.02-.39-1.41,0-.39.39-.39,1.02,0,1.41l4.66,4.66H0v2h13.59l-4.66,4.66c-.39.39-.39,1.02,0,1.41.39.39,1.02.39,1.41,0l6.36-6.36c.39-.39.39-1.02,0-1.41Z"/></svg>');
  right: 3.5rem;
}
@media screen and (max-width: 767.98px) {
  .c-btn.c-arrow.c-bgcolor--black::before {
    right: 1.6rem;
  }
}
.c-btn.c-arrow.c-entry {
  background-color: #ffdd00;
  color: #1d1d1d;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: left;
  font-size: 1.6rem;
  padding: 1.8rem 2.4rem;
  transition: 0.3s background-color;
}
@media (any-hover: hover) {
  .c-btn.c-arrow.c-entry:hover {
    background-color: #c0a700;
  }
}
.c-btn.c-arrow.c-entry::after {
  background-color: #000;
}

.l-content__inner {
  max-width: 117rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  .l-content__inner {
    padding-inline: 2rem;
  }
}

.u-bgcolor--main {
  background-color: #00b315;
}

.u-bgcolor--light {
  background-color: #eaf7da;
}

.c-section__ttl {
  font-weight: 700;
  padding-left: 2.2rem;
}
.c-section__ttl.u-color--white {
  color: #fff;
}
.c-section__ttl.u-color--white .u-jp::before {
  background-color: #fff;
}
.c-section__ttl .u-en,
.c-section__ttl .u-jp {
  display: block;
}
.c-section__ttl .u-en {
  font-size: 11rem;
  margin-top: 2.1rem;
}
@media screen and (max-width: 767.98px) {
  .c-section__ttl .u-en {
    font-size: 4.6rem;
    margin-top: 1.1rem;
  }
}
.c-section__ttl .u-jp {
  font-size: 3.2rem;
  position: relative;
  font-weight: 900;
}
@media screen and (max-width: 767.98px) {
  .c-section__ttl .u-jp {
    font-size: 2.3rem;
  }
}
.c-section__ttl .u-jp::before {
  content: "";
  position: absolute;
  left: -2.3rem;
  width: 1rem;
  height: 1em;
  background-color: #00b315;
  top: 57%;
  transform: translateY(-50%);
}

a.c-section__ttl {
  display: block;
  text-decoration: none;
  color: currentColor;
}
@media (any-hover) {
  a.c-section__ttl {
    transition: 0.3s;
  }
  a.c-section__ttl:hover {
    opacity: 0.7;
  }
}

.u-txtcolor--main {
  color: #00b315;
}

.u-txtcolor--sub {
  color: #ffdd00;
}

.l-btn-entry {
  min-height: 10rem;
  border-radius: 100vw;
  border: 2px solid #ffdd00;
  background-color: #ffdd00;
  display: grid;
  place-content: center;
  text-decoration: none;
  color: #00b315;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  font-size: 4.8rem;
  font-weight: 800;
  width: 100%;
  transition: 0.3s background-color, 0.3s color;
}
@media screen and (max-width: 767.98px) {
  .l-btn-entry {
    min-height: 6rem;
    font-size: 3.6rem;
  }
}
@media (any-hover: hover) {
  .l-btn-entry:hover {
    background-color: #00b315;
    color: #ffdd00;
  }
}

.carousel {
  overflow: clip;
  width: 100%;
}

.carousel__content {
  display: flex;
  flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-animation-name: carousel;
          animation-name: carousel;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

.carousel__inner {
  display: flex;
  flex-shrink: 0;
}

@-webkit-keyframes carousel {
  0% {
    transform: 0;
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes carousel {
  0% {
    transform: 0;
  }
  100% {
    transform: translateX(-50%);
  }
}
@-webkit-keyframes carousel-rev {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes carousel-rev {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}
.l-lens {
  margin-top: 6rem;
}
.l-lens:has(.l-lens__body) .l-lens__ttl {
  transform: translateY(50%);
}
@media screen and (max-width: 767.98px) {
  .l-lens:has(.l-lens__body) .l-lens__ttl {
    transform: translateY(0);
  }
}

.l-lens__ttl {
  background-color: #ffdd00;
  border-radius: 100vw;
  width: 100%;
  max-width: 107.1rem;
  margin-inline: auto;
  font-size: 3.6rem;
  font-weight: 900;
  text-align: center;
  padding: 2.5rem 1rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .l-lens__ttl {
    border-radius: 0;
    font-size: 2.2rem;
    line-height: 1.4;
    text-align: left;
    padding-top: 2rem;
    padding-bottom: 1rem;
  }
}
.l-lens__ttl .u-lens__catch {
  text-transform: uppercase;
  font-size: 3rem;
  font-weight: 800;
  color: #fff;
  background-color: #1d1d1d;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: inline-block;
  padding: 0.6rem 1rem 0.6rem 4.8rem;
  position: absolute;
  bottom: calc(100% - 1rem);
  left: 8rem;
}
@media screen and (max-width: 767.98px) {
  .l-lens__ttl .u-lens__catch {
    left: 0;
    font-size: 1.7rem;
    padding-left: 4.3rem;
    border-radius: 100vw;
  }
}
.l-lens__ttl .u-lens__catch::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  left: 1rem;
  width: 3rem;
  height: 3rem;
  background: url(../img/common/icn_lens.svg) no-repeat center center/100% 100%;
}
@media screen and (max-width: 767.98px) {
  .l-lens__ttl .u-lens__catch::before {
    width: 2.3rem;
    height: 2.3rem;
  }
}

.l-lens__body {
  padding: 8rem 6rem 6rem 6rem;
  background-color: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-lens__body {
    border-radius: 0;
    padding: 2rem 2rem;
  }
}
.l-lens__body .p-img-body__wrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 767.98px) {
  .l-lens__body .p-img-body__wrapper {
    display: block;
  }
}
.l-lens__body .p-img__wrapper {
  width: 49rem;
  flex-shrink: 0;
  margin-right: 6rem;
}
@media screen and (max-width: 767.98px) {
  .l-lens__body .p-img__wrapper {
    width: 100%;
    margin-top: 2rem;
    margin-right: 0;
  }
}
.l-lens__body .p-txt__wrapper p + p {
  margin-top: 2em;
}

/* ----------------------------------------------------------------------------------------------------
*	sitemap
* --------------------------------------------------------------------------------------------------*/
.p-sitemap {
  padding-top: 13.2rem;
  padding-bottom: 8rem;
}
@media screen and (max-width: 767.98px) {
  .p-sitemap {
    padding-top: 0;
  }
}
.p-sitemap .p-category__content {
  margin-bottom: 8rem;
}

.p-sitemap__ttl {
  background-color: #00b315;
  font-size: 4rem;
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  padding: 1.8rem 3rem 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .p-sitemap__ttl {
    padding: 0.8rem 1rem 1rem;
    font-size: 2.1rem;
  }
}
.p-sitemap__ttl .u-jp {
  white-space: nowrap;
}
.p-sitemap__ttl .u-en {
  font-size: 2rem;
  font-weight: 800;
  color: #ffdd00;
  text-transform: uppercase;
  margin-top: 0.4rem;
  margin-left: 2rem;
}
@media screen and (max-width: 767.98px) {
  .p-sitemap__ttl .u-en {
    font-size: 1.1rem;
    margin-left: 1rem;
  }
}

a.p-sitemap__ttl {
  text-decoration: none;
  color: #fff;
}
@media (any-hover) {
  a.p-sitemap__ttl {
    transition: 0.3s;
  }
  a.p-sitemap__ttl:hover {
    opacity: 0.7;
  }
}

.p-category__genre + .p-category__genre {
  margin-top: 5.8rem;
}
.p-category__genre .p-content__list {
  margin-top: 3rem;
  margin-left: 1rem;
}
@media screen and (max-width: 767.98px) {
  .p-category__genre .p-content__list {
    margin-top: 2rem;
  }
}
.p-category__genre .p-content__list.l-col--3 {
  display: grid;
  grid-template-rows: repeat(4, auto); /* 4行 */
  grid-template-columns: repeat(3, auto); /* 3列 */
  grid-auto-flow: column; /* ← 縦方向に自動配置 */
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 1.6rem 9.8rem;
}
@media screen and (max-width: 767.98px) {
  .p-category__genre .p-content__list.l-col--3 {
    display: block;
  }
}
.p-category__genre .p-content__list.l-col--3 li + li {
  margin-top: 0;
}
@media screen and (max-width: 767.98px) {
  .p-category__genre .p-content__list.l-col--3 li + li {
    margin-top: 1.6rem;
  }
}
.p-category__genre .p-content__item a {
  color: currentColor;
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-category__genre .p-content__item a:hover {
    text-decoration: none;
  }
}
.p-category__genre .p-content__item + .p-content__item {
  margin-top: 1.6rem;
}

.p-category__block {
  margin-top: 5.7rem;
}
@media screen and (max-width: 767.98px) {
  .p-category__block {
    margin-top: 2rem;
  }
}
.p-category__block + .p-category__block {
  margin-top: 6.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-category__block + .p-category__block {
    margin-top: 4rem;
  }
}

.l-breadcrumb {
  margin-top: auto;
}

.l-breadcrumb__list {
  display: flex;
  font-size: 1.2rem;
  flex-wrap: wrap;
  row-gap: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-breadcrumb__list {
    font-size: 1rem;
  }
}
.l-breadcrumb__list a {
  text-decoration: none;
  color: currentColor;
  display: block;
  position: relative;
}
@media (any-hover) {
  .l-breadcrumb__list a {
    transition: 0.3s;
  }
  .l-breadcrumb__list a:hover {
    opacity: 0.7;
  }
}

.l-breadcrumb__item {
  line-height: 1.4;
}
.l-breadcrumb__item:not(:last-of-type) a {
  padding-right: 2rem;
  margin-right: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-breadcrumb__item:not(:last-of-type) a {
    padding-right: 1.5rem;
    margin-right: 0.5;
  }
}
.l-breadcrumb__item:not(:last-of-type) a::after {
  content: "";
  position: absolute;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  width: 0.8rem;
  height: 1rem;
  background-color: #1d1d1d;
  top: 52%;
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767.98px) {
  .l-breadcrumb__item:not(:last-of-type) a::after {
    width: 0.5rem;
    height: 0.7rem;
  }
}

.l-category__content {
  padding-block: 18.8rem 8rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__content {
    padding-block: 2rem 8rem;
  }
}

.l-category__list {
  max-width: 108rem;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  gap: 4rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__list {
    display: block;
    padding-inline: 2rem;
  }
}

.l-category__item {
  aspect-ratio: 520/360;
  width: 48.1481481481%;
  border-radius: 1rem;
  overflow: hidden;
}
.l-category__item a {
  color: currentColor;
  text-decoration: none;
  display: block;
}
@media (any-hover) {
  .l-category__item a {
    transition: 0.3s;
  }
  .l-category__item a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767.98px) {
  .l-category__item {
    width: 100%;
  }
  .l-category__item + .l-category__item {
    margin-top: 3rem;
  }
}

.l-category__inner {
  display: grid;
}

.l-category__img-wrapper,
.l-category__body {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
}

.l-category__body {
  position: relative;
  z-index: 2;
}
.l-category__body .c-sub {
  font-weight: 700;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #fff;
  font-size: 1.6rem;
  min-width: 20.2rem;
  text-align: center;
  padding: 0.2rem 4rem 0.2rem 1rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .c-sub {
    font-size: 1.4rem;
    padding-left: 1rem;
    padding-right: 4rem;
    min-width: inherit;
  }
}
.l-category__body .c-sub::before, .l-category__body .c-sub::after {
  content: "";
  position: absolute;
}
.l-category__body .c-sub::before {
  background-color: #000;
  border-radius: 100px;
  width: 2.1rem;
  height: 2.1rem;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.l-category__body .c-sub::after {
  width: 1.3rem;
  height: 1rem;
  content: "";
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.41 11.41"><title>arrow</title><polygon  points="8.71 0 7.29 1.41 10.59 4.71 0 4.71 0 6.71 10.59 6.71 7.29 10 8.71 11.41 14.41 5.71 8.71 0"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  right: 1.4rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}
.l-category__body .l-link-info {
  position: absolute;
  bottom: 1.7rem;
  left: 2.4rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .l-link-info {
    left: 1.7rem;
  }
}
.l-category__body .l-link-info.u-txtsize--small .c-txt {
  font-size: 1.7rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .l-link-info.u-txtsize--small .c-txt {
    font-size: 1.4rem;
    min-width: inherit;
    padding: 0.2rem 1rem;
  }
}
.l-category__body .l-link-info.u-txtsize--small .c-ttl {
  font-size: 2.8rem;
  padding: 1.6rem 0.3rem;
  min-height: 6.3rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .l-link-info.u-txtsize--small .c-ttl {
    font-size: 2rem;
    padding: 1rem;
    min-height: inherit;
  }
}
.l-category__body .l-link-info .c-txt {
  font-weight: 900;
  background-color: #000;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 26.3rem;
  padding: 0.5rem 0.3rem;
  text-align: center;
  line-height: 1.2;
  min-height: 3.5rem;
  display: grid;
  align-items: center;
  font-size: 2rem;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .l-link-info .c-txt {
    font-size: 1.6rem;
    min-width: inherit;
    padding-inline: 1rem;
  }
}
.l-category__body .l-link-info .c-ttl {
  min-width: 34.2rem;
  font-size: 3rem;
  text-align: center;
  background-color: #fff;
  font-weight: 700;
  font-family: "Poppins", "Noto Sans JP", sans-serif;
  letter-spacing: -0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  padding: 1rem 1rem;
  display: grid;
}
@media screen and (max-width: 767.98px) {
  .l-category__body .l-link-info .c-ttl {
    font-size: 2.4rem;
    min-width: inherit;
  }
}

.l-category__img-wrapper {
  overflow: hidden;
}
.l-category__img-wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-interview {
  background-color: #eaf7da;
  padding-top: 4rem;
}

.l-interview__ttl {
  text-align: center;
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: -1.2rem;
}
@media screen and (max-width: 767.98px) {
  .l-interview__ttl {
    font-size: 3.8rem;
    margin-bottom: -0.7rem;
  }
}
.l-interview__ttl .u-en {
  display: inline-block;
}

.l-interview__content {
  padding-top: 6rem;
  padding-bottom: 9rem;
  background-color: #fff;
}
@media screen and (max-width: 767.98px) {
  .l-interview__content {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}

.splide__slide a {
  display: block;
}
@media (any-hover) {
  .splide__slide a {
    transition: 0.3s;
  }
  .splide__slide a:hover {
    opacity: 0.7;
  }
}

.p-interview__slide .p-btn-wrapper {
  margin: 5rem auto 0;
  max-width: 30rem;
}
@media screen and (max-width: 767.98px) {
  .p-interview__slide .p-btn-wrapper {
    margin-top: 3rem;
  }
}

.l-leaders {
  padding-top: 5.7rem;
  padding-bottom: 8.9rem;
  background-color: #eaf7da;
  position: relative;
  overflow: clip;
}
@media screen and (max-width: 767.98px) {
  .l-leaders {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.l-leaders::after {
  content: "";
  position: absolute;
  top: 0;
  width: 40%;
  background-color: #00b315;
  height: 100%;
  left: calc(50% + 25.6rem);
  min-width: 50vw;
  z-index: 0;
}
@media screen and (max-width: 767.98px) {
  .l-leaders::after {
    left: 14.1rem;
    min-width: 80vw;
  }
}
.l-leaders .p-carousel {
  overflow: clip;
  width: 100%;
  margin-bottom: 3.2rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .l-leaders .p-carousel {
    margin-bottom: 2rem;
  }
}
.l-leaders .p-carousel__wrapper {
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-animation-name: carousel;
          animation-name: carousel;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 20s;
          animation-duration: 20s;
}
.l-leaders .p-carousel__wrapper > div {
  display: flex;
  flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-leaders .p-carousel__wrapper > div p {
  text-transform: uppercase;
  font-size: 3.6rem;
  font-weight: 900;
  padding-right: 0.5em;
  white-space: nowrap;
}

.l-leaders__ttl-wrapper {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__ttl-wrapper {
    padding-inline: 2rem;
  }
}

.l-leaders__ttl {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__ttl {
    display: block;
  }
}
.l-leaders__ttl .u-en {
  font-size: 20rem;
  font-weight: 800;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__ttl .u-en {
    font-size: 4.9rem;
  }
}
.l-leaders__ttl .u-jp {
  margin-top: 3rem;
  padding-bottom: 1rem;
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.5;
  border-bottom: 6px solid #1d1d1d;
  display: inline-block;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__ttl .u-jp {
    margin-top: 0;
    font-size: 1.8rem;
    line-height: 1.3;
    border-width: 3px;
    margin-bottom: 1rem;
  }
}

.l-leaders__content {
  margin-top: 7.8rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__content {
    margin-top: 2rem;
  }
}

.l-leaders__block {
  position: relative;
}
.l-leaders__block::before {
  content: "";
  position: absolute;
  top: -5.9rem;
  right: 5.3rem;
  left: auto;
  height: 12.4rem;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block::before {
    height: 7.7rem;
    top: -3.5rem;
    right: 2rem;
  }
}
.l-leaders__block:first-of-type::before {
  width: 15.8rem;
  right: 5.9rem;
  background-image: url(../img/common/mark_1.svg);
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block:first-of-type::before {
    width: 10.5rem;
    right: 2rem;
  }
}
.l-leaders__block:nth-of-type(2)::before {
  width: 19.6rem;
  background-image: url(../img/common/mark_2.svg);
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block:nth-of-type(2)::before {
    width: 12.7rem;
  }
}
.l-leaders__block:nth-of-type(3)::before {
  width: 19.8rem;
  background-image: url(../img/common/mark_3.svg);
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block:nth-of-type(3)::before {
    width: 12.7rem;
  }
}
.l-leaders__block:nth-of-type(4)::before {
  width: 21.2rem;
  background-image: url(../img/common/mark_4.svg);
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block:nth-of-type(4)::before {
    width: 12.7rem;
  }
}
.l-leaders__block + .l-leaders__block {
  margin-top: 8rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block + .l-leaders__block {
    margin-top: 4rem;
  }
}
.l-leaders__block.-nagasaska .c-tags {
  width: 40.4rem;
  bottom: -5rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block.-nagasaska .c-tags {
    width: 32.4rem;
    bottom: -1rem;
  }
}
.l-leaders__block.-nagasaska .l-leaders__body .p-photo {
  shape-outside: inset(calc(100% - 16rem) 0 0 0);
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block.-nagasaska .l-leaders__body .p-photo {
    shape-outside: inherit;
  }
}
.l-leaders__block.-nagasaska .l-leaders__body .p-photo div {
  margin-top: 23rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block.-nagasaska .l-leaders__body .p-photo div {
    margin-top: 0;
  }
}
.l-leaders__block.-nakamura .c-tags {
  width: 33.9rem;
  bottom: -7.8rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__block.-nakamura .c-tags {
    width: 28.9rem;
    bottom: 0;
  }
}

.l-leaders__wrapper {
  margin-left: 17rem;
  border: 4px solid #1d1d1d;
  background-color: #fff;
  padding-left: 28rem;
  padding: 6.5rem 7.1rem 4.5rem 28rem;
  min-height: 71rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__wrapper {
    margin: 0;
    padding: 4rem 2rem 3.5rem;
  }
}

.l-leaders__body-wrapper {
  display: flex;
  margin-top: 5.7rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__body-wrapper {
    display: block;
    margin-top: 3.8rem;
  }
}

.l-leaders__heading {
  display: flex;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__heading {
    display: block;
  }
}

.l-leaders__name {
  margin-right: 2.4rem;
  position: relative;
}
.l-leaders__name .u-jp {
  font-size: 4rem;
  font-weight: 900;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__name .u-jp {
    font-size: 3.2rem;
  }
}
.l-leaders__name .u-en {
  color: #00b315;
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 1.4rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__name .u-en {
    font-size: 1.4rem;
  }
}

.l-leaders__position {
  position: relative;
  padding-left: 2.4rem;
}
.l-leaders__position p {
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__position {
    margin-top: 1.8rem;
    padding: 1.8rem 0 0;
  }
}
.l-leaders__position::before {
  content: "";
  position: absolute;
  width: 1px;
  background-color: #1d1d1d;
  height: 100%;
  left: 0;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__position::before {
    height: 1px;
    width: 100%;
    right: 0;
    top: 0;
  }
}
.l-leaders__position span {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
}

@media screen and (max-width: 767.98px) {
  .l-leaders__body {
    display: flex;
    flex-direction: column-reverse;
  }
}
.l-leaders__body .p-photo {
  float: right;
  width: 18rem;
  height: 100%;
  display: flex;
  align-items: flex-end;
  margin-left: 5rem;
  margin-right: 0.5rem;
  shape-outside: inset(calc(100% - 20rem) 0 0 0);
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom;
     object-position: bottom;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__body .p-photo {
    shape-outside: none;
    display: block;
    float: none;
    height: auto;
    width: 22rem;
    margin-inline: auto;
    margin-top: 4rem;
  }
}
.l-leaders__body .p-photo > div {
  position: relative;
}
.l-leaders__body .p-photo .c-mark {
  position: absolute;
  width: 10rem;
  height: 10rem;
}
.l-leaders__body .p-photo .c-mark.u-tl {
  top: -1.7rem;
  left: -2.4rem;
}
.l-leaders__body .p-photo .c-mark.u-tr {
  top: -1.7rem;
  right: -2.4rem;
}
.l-leaders__body .p-photo .c-mark.u-br {
  bottom: 0.3rem;
  right: -4.5rem;
}
.l-leaders__body p + p {
  margin-top: 2em;
}

.l-leaders__img-wrapper {
  width: 39rem;
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 5.2rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__img-wrapper {
    position: relative;
    width: auto;
    padding-top: 2rem;
    height: auto;
    padding-bottom: 6rem;
  }
}
.l-leaders__img-wrapper .c-img {
  display: block;
}
.l-leaders__img-wrapper .c-tags {
  position: absolute;
  z-index: 2;
  width: 28.5rem;
  left: 2rem;
  bottom: -8rem;
}
@media screen and (max-width: 767.98px) {
  .l-leaders__img-wrapper .c-tags {
    left: calc(-2rem - 3px);
    bottom: 0;
    width: 24.5rem;
  }
}

.l-common-contact {
  max-width: 117rem;
  border: 3px solid #1d1d1d;
  margin-inline: auto;
  margin: 6rem auto 0;
  padding: 1.4rem 0 6.9rem;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact {
    margin-inline: 2rem;
    padding-bottom: 3rem;
  }
}
.l-common-contact .c-txt {
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.6363636364;
  font-weight: 500;
  margin-top: 2.6rem;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .c-txt {
    font-size: 1.5rem;
    margin-top: 1.2rem;
  }
}
.l-common-contact .p-btn-unit {
  display: flex;
  justify-content: center;
  -moz-column-gap: 4rem;
       column-gap: 4rem;
  margin-top: 3.3rem;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .p-btn-unit {
    display: block;
  }
}
.l-common-contact .p-btn-wrapper {
  max-width: 46rem;
  flex-grow: 1;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .p-btn-wrapper {
    max-width: calc(100% - 4rem);
    margin-inline: auto;
  }
  .l-common-contact .p-btn-wrapper + .p-btn-wrapper {
    margin-top: 2rem;
  }
}
.l-common-contact .c-btn {
  min-height: 10rem;
  text-decoration: none;
  color: currentColor;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 4px solid #00b315;
  border-radius: 100vw;
  transition: 0.3s color, 0.3s background-color;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .c-btn {
    min-height: 8rem;
  }
}
.l-common-contact .c-btn.p-btn-tel {
  background-color: #fff;
  color: #00b315;
  text-align: center;
}
.l-common-contact .c-btn.p-btn-tel .c-small-txt {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
}
.l-common-contact .c-btn.p-btn-tel .u-en {
  font-weight: 700;
  font-size: 4rem;
  display: block;
  align-items: center;
  position: relative;
  padding-left: 4rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 0.7rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .c-btn.p-btn-tel .u-en {
    font-size: 2.8rem;
    padding-left: 3.4rem;
  }
}
.l-common-contact .c-btn.p-btn-tel .u-en::before {
  content: "";
  position: absolute;
  left: 0;
  width: 2.9rem;
  height: 2.9rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.24 29"><title>tel</title><path class="cls-1" d="M1.99,1.23C0,2.52-.4,6.56.36,9.85c.59,2.56,1.83,6,3.93,9.24,1.98,3.05,4.73,5.78,6.83,7.36,2.7,2.03,6.55,3.32,8.54,2.03,1.01-.65,2.5-2.44,2.57-2.76,0,0-.88-1.35-1.07-1.65l-2.94-4.54c-.22-.34-1.59-.03-2.29.37-.94.53-1.81,1.96-1.81,1.96-.64.37-1.18,0-2.31-.52-1.39-.64-2.95-2.62-4.19-4.42-1.13-1.86-2.31-4.1-2.32-5.62-.01-1.24-.13-1.89.47-2.32,0,0,1.66-.21,2.53-.85.64-.48,1.49-1.6,1.27-1.94L6.63,1.66C6.43,1.36,5.56,0,5.56,0c-.32-.07-2.56.57-3.57,1.22Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.24 29"><title>tel</title><path class="cls-1" d="M1.99,1.23C0,2.52-.4,6.56.36,9.85c.59,2.56,1.83,6,3.93,9.24,1.98,3.05,4.73,5.78,6.83,7.36,2.7,2.03,6.55,3.32,8.54,2.03,1.01-.65,2.5-2.44,2.57-2.76,0,0-.88-1.35-1.07-1.65l-2.94-4.54c-.22-.34-1.59-.03-2.29.37-.94.53-1.81,1.96-1.81,1.96-.64.37-1.18,0-2.31-.52-1.39-.64-2.95-2.62-4.19-4.42-1.13-1.86-2.31-4.1-2.32-5.62-.01-1.24-.13-1.89.47-2.32,0,0,1.66-.21,2.53-.85.64-.48,1.49-1.6,1.27-1.94L6.63,1.66C6.43,1.36,5.56,0,5.56,0c-.32-.07-2.56.57-3.57,1.22Z"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  background-color: #00b315;
  transition: 0.3s background-color;
}
.l-common-contact .c-btn.p-btn-mail {
  background-color: #00b315;
  position: relative;
  color: #fff;
}
@media (any-hover: hover) {
  .l-common-contact .c-btn.p-btn-mail:hover {
    background-color: #fff;
    color: #00b315;
  }
  .l-common-contact .c-btn.p-btn-mail:hover::before {
    background-color: #00b315;
  }
}
.l-common-contact .c-btn.p-btn-mail::before {
  content: "";
  position: absolute;
  left: 6rem;
  top: 50%;
  width: 3.5rem;
  height: 2.5rem;
  transform: translateY(-50%);
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 25"><title>mail</title><path class="cls-1" d="M33.75,0H1.25C.56,0,0,.56,0,1.25v22.5c0,.69.56,1.25,1.25,1.25h32.5c.69,0,1.25-.56,1.25-1.25V1.25c0-.69-.56-1.25-1.25-1.25ZM31.7,2.5l-14.2,10.92L3.3,2.5h28.4ZM32.5,22.5H2.5V5.04l14.24,10.95c.45.34,1.07.34,1.52,0l14.24-10.95v17.46Z"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35 25"><title>mail</title><path class="cls-1" d="M33.75,0H1.25C.56,0,0,.56,0,1.25v22.5c0,.69.56,1.25,1.25,1.25h32.5c.69,0,1.25-.56,1.25-1.25V1.25c0-.69-.56-1.25-1.25-1.25ZM31.7,2.5l-14.2,10.92L3.3,2.5h28.4ZM32.5,22.5H2.5V5.04l14.24,10.95c.45.34,1.07.34,1.52,0l14.24-10.95v17.46Z"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  background-color: #fff;
  transition: 0.3s background-color;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .c-btn.p-btn-mail::before {
    left: 2.8rem;
    width: 2.8rem;
    height: 2rem;
    top: 52%;
  }
}
.l-common-contact .c-btn.p-btn-mail .u-jp {
  padding-left: 3rem;
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 2.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact .c-btn.p-btn-mail .u-jp {
    font-size: 2rem;
  }
}

.l-common-contact__ttl-wrapper {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact__ttl-wrapper {
    display: block;
  }
}
.l-common-contact__ttl-wrapper .u-en {
  font-size: 12.8rem;
  margin-top: 0.1rem;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact__ttl-wrapper .u-en {
    font-size: 6.1rem;
    text-align: center;
    margin-top: 1rem;
  }
}
.l-common-contact__ttl-wrapper .l-ttl-wrapper {
  display: inline-flex;
  flex-direction: column;
}
.l-common-contact__ttl-wrapper .l-ttl-wrapper .c-small-ttl {
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.4rem;
  background-color: #fff;
  padding: 0.7rem 1.6rem 0.8rem;
  font-weight: 700;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact__ttl-wrapper .l-ttl-wrapper .c-small-ttl {
    font-size: 1.6rem;
    padding: 0.5rem 1rem;
  }
}
.l-common-contact__ttl-wrapper .l-ttl-wrapper .c-large-ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  font-size: 3.2rem;
  font-weight: 700;
  background-color: #1d1d1d;
  color: #fff;
  padding: 1.5rem 1.6rem;
}
@media screen and (max-width: 767.98px) {
  .l-common-contact__ttl-wrapper .l-ttl-wrapper .c-large-ttl {
    font-size: 1.8rem;
    padding: 0.5rem 1rem;
  }
}
/*# sourceMappingURL=common.css.map */