@charset "UTF-8";
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
}

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

:where(textarea) {
  resize: vertical;
  resize: block;
}

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

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
  color: var(--text-color);
}

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

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

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
  font-weight: var(--text-weight-m);
  font-size: inherit;
}

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

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

address {
  font-style: inherit;
  font-style: normal;
}

:where(html) {
  width: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
  background: #fff;
}

:where(body) {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  font-feature-settings: "palt";
  position: relative;
  letter-spacing: 0.08em;
  word-break: break-all;
}

:where(.l-main button, nav button) {
  display: inline-flex;
  align-items: center;
  transition: color var(--trd-hover-duration) var(--trd-e-linear), background-color var(--trd-hover-duration) var(--trd-e-linear), opacity var(--trd-duration) var(--trd-timing);
}

:where(a:not(:has([src*=logo]))) {
  text-decoration: none;
}

img, svg, picture {
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: auto;
}

figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

img {
  border-style: none;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  vertical-align: baseline;
  outline: none;
}

table {
  border-collapse: collapse;
}

button {
  background-color: transparent;
  border: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: var(--text-color);
  font-family: inherit;
}
button:not(:focus) {
  outline: none;
}

form :is(input, select, textarea) {
  background-color: transparent;
  border: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: var(--text-color);
  font-family: inherit;
}
form :is(input, select, textarea):not(:focus) {
  outline: none;
}

iframe {
  max-width: 100%;
  height: 100%;
}

label {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

hr {
  outline: none;
  border: none;
  border-top: 1px dashed var(--border-color);
  margin-block: var(--div-margin-s);
}

p + p {
  margin-top: 16px;
}

:target {
  scroll-margin-top: var(--header-height);
}

:where(main ul:not([class^=c-])):not(:first-child) {
  margin-block: 0.25em;
}

:where(main ol:not([class^=c-])):not(:first-child) {
  margin-block: 0.25em;
}
:where(main ol:not([class^=c-])) {
  padding-left: 1em;
}

ul:not([class*=c-]) {
  list-style-type: disc;
}

ul[class*=c-] {
  padding-left: 0;
  text-indent: 0;
}

li {
  list-style: none;
}

ol:not([class*=c-]) {
  list-style-type: decimal;
}

ol[class*=c-] {
  padding-left: 0;
  text-indent: 0;
}

:root {
  --primary-color: #3e8340;
  --secondary-color: #e9f5dc;
  --primary-text-color: #262424;
  --secondary-text-color: #0f3c47;
  --tertiary-text-color: #217E23;
  --link-color: #0f3c47;
  --primary-bg: #ffffff;
  --secondary-bg: #e9f5dc;
  --border-color: #707070;
}

.slider {
  position: relative;
  width: 100%;
  aspect-ratio: 1680/730;
  margin: 0 auto;
}
@media (max-width: 640px) {
  .slider {
    aspect-ratio: 750/900;
  }
}

.slider input {
  display: none;
}

/* スライド */
.slides {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1s ease;
}

.slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 表示切替 */
#slide1:checked ~ .slides .slide:nth-child(1),
#slide2:checked ~ .slides .slide:nth-child(2),
#slide3:checked ~ .slides .slide:nth-child(3) {
  opacity: 1;
  z-index: 1;
}

/* --- ナビゲーション --- */
.nav {
  position: absolute;
  bottom: -59px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: clamp(1.2rem, 0.2322580645rem + 1.2903225806vw, 2.4rem);
  z-index: 2;
}

/* ドット */
.dots {
  display: flex;
  gap: 10px;
}
@media (max-width: 640px) {
  .dots {
    gap: 24px;
  }
}

.dots label {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #878787;
  cursor: pointer;
  transition: background 0.3s;
}

#slide1:checked ~ .nav .dots label:nth-child(1),
#slide2:checked ~ .nav .dots label:nth-child(2),
#slide3:checked ~ .nav .dots label:nth-child(3) {
  background: var(--primary-color, #3e8340);
}

/* 矢印 */
.arrow {
  display: flex;
  align-items: center;
}

.arrow label {
  width: 32px;
  height: 32px;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: none; /* 初期は非表示 */
  transition: opacity 0.3s;
}

/* 擬似要素で矢印を描画 */
.arrow label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid var(--primary-color, #3e8340);
  border-right: 2px solid var(--primary-color, #3e8340);
  transform: translate(-50%, -50%) rotate(45deg);
  transition: border-color 0.3s;
}

/* hoverで薄くするなど */
.arrow label:hover::before {
  opacity: 0.7;
}

/* 左矢印（prev） */
.arrow.prev label::before {
  transform: translate(-50%, -50%) rotate(-135deg);
}

/* 右矢印（next） */
.arrow.next label::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

/* 表示制御（ループあり） */
#slide1:checked ~ .nav .prev .to3,
#slide1:checked ~ .nav .next .to2 {
  display: block;
}

#slide2:checked ~ .nav .prev .to1,
#slide2:checked ~ .nav .next .to3 {
  display: block;
}

#slide3:checked ~ .nav .prev .to2,
#slide3:checked ~ .nav .next .to1 {
  display: block;
}

#support .mv {
  background: url(../img/support_header.jpg) center top/cover no-repeat;
}
@media (max-width: 640px) {
  #support .mv {
    background-image: url(../img/support_header_sp.jpg);
  }
}

#detail .mv {
  background: url(../img/detail_header.jpg) center top/cover no-repeat;
}
@media (max-width: 640px) {
  #detail .mv {
    background-image: url(../img/detail_header_sp.jpg);
  }
}

#handson .mv,
#handson1 .mv,
#handson2 .mv {
  background: url(../img/handson_header.jpg) center top/cover no-repeat;
}
@media (max-width: 640px) {
  #handson .mv,
  #handson1 .mv,
  #handson2 .mv {
    background-image: url(../img/handson_header_sp.jpg);
  }
}

#guideline .mv {
  background: url(../img/guideline_header.jpg) center top/cover no-repeat;
}
@media (max-width: 640px) {
  #guideline .mv {
    background-image: url(../img/guideline_header_sp.jpg);
  }
}

.page__text {
  line-height: 1.75;
}
.page__text:not(:last-child) {
  margin-bottom: clamp(0.8rem, 0.1548387097rem + 0.8602150538vw, 1.6rem);
}
.page__text a {
  color: var(--link-color);
  text-decoration: underline;
}

.mv {
  aspect-ratio: 1680/400;
  max-height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 640px) {
  .mv {
    aspect-ratio: 750/450;
  }
}
.mv__title {
  width: 650px;
  max-height: 212px;
  aspect-ratio: 650/212;
  padding: 30px 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}
@media (max-width: 960px) {
  .mv__title {
    width: min(70%, 650px);
    padding: clamp(1.5rem, 0.2903225806rem + 1.6129032258vw, 3rem) clamp(1.5rem, -1.3225806452rem + 3.7634408602vw, 5rem);
  }
}
@media (max-width: 640px) {
  .mv__title {
    width: clamp(37.5rem, 15.3225806452rem + 29.5698924731vw, 65rem);
  }
}
.mv h1 {
  margin-bottom: 0;
  color: var(--secondary-text-color);
  font-size: 4.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 960px) {
  .mv h1 {
    font-size: clamp(3.5rem, 2.6935483871rem + 1.0752688172vw, 4.5rem);
  }
}
@media (max-width: 640px) {
  .mv h1 {
    font-size: clamp(2.5rem, 1.6935483871rem + 1.0752688172vw, 3.5rem);
  }
}
.mv h1 span {
  margin-top: 5px;
  display: block;
  font-size: 55.56%;
  font-weight: 500;
  line-height: 1;
  color: var(--tertiary-text-color);
}

.lead-intro {
  margin-bottom: clamp(2rem, 0.3870967742rem + 2.1505376344vw, 4rem);
  font-size: clamp(1.6rem, 0.8741935484rem + 0.9677419355vw, 2.5rem);
  font-weight: 500;
  text-align: center;
}
@media (max-width: 640px) {
  .lead-intro {
    text-align: left;
  }
}

.link-list li:not(:last-child) {
  margin-bottom: clamp(2rem, 1.0322580645rem + 1.2903225806vw, 3.2rem);
}
.link-list li h3 {
  margin-bottom: 8px;
  color: var(--primary-text-color);
  font-size: clamp(1.6rem, 1.1161290323rem + 0.6451612903vw, 2.2rem);
  font-weight: bold;
  text-align: left;
  position: relative;
}
.link-list li a {
  display: inline-block;
  color: var(--link-color);
  font-size: clamp(1.4rem, 1.2387096774rem + 0.2150537634vw, 1.6rem);
  transition: opacity 0.3s ease;
}
.link-list li a:hover {
  opacity: 0.7;
}

.icon-pdf {
  padding-right: 28px;
  position: relative;
}
@media (max-width: 640px) {
  .icon-pdf {
    padding-right: clamp(2.1rem, 1.535483871rem + 0.752688172vw, 2.8rem);
  }
}
.icon-pdf::before {
  content: "";
  width: clamp(2rem, 1.6774193548rem + 0.4301075269vw, 2.4rem);
  aspect-ratio: 1/1;
  background: url(../img/icon_pdf.svg) center top/contain no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
}
.icon-blank {
  padding-right: 32px;
  position: relative;
}
@media (max-width: 960px) {
  .icon-blank {
    padding-right: clamp(2.5rem, 1.935483871rem + 0.752688172vw, 3.2rem);
  }
}
.icon-blank::before {
  content: "";
  width: clamp(2rem, 1.6774193548rem + 0.4301075269vw, 2.4rem);
  aspect-ratio: 1/1;
  background: url(../img/icon_blank.svg) center top/contain no-repeat;
  position: absolute;
  bottom: clamp(0.1rem, -0.0612903226rem + 0.2150537634vw, 0.3rem);
  right: 0;
}

.situation {
  background: url(../img/situation_bg.jpg) center top/contain no-repeat;
}
@media (max-width: 960px) {
  .situation {
    background: url(../img/situation_bg_top.jpg) right top/contain no-repeat, url(../img/situation_bg_bottom.jpg) center bottom/contain no-repeat;
  }
}

.vision .section__contents-inner p, .vision .section__contents-inner ul {
  font-size: clamp(1.4rem, 0.9161290323rem + 0.6451612903vw, 2rem);
}
.vision .section__contents-inner ul {
  padding-left: 1.2em;
}
.vision .section__contents-inner ul li {
  line-height: 1.6;
  list-style: disc;
}
.vision__img {
  width: 100%;
  margin-top: clamp(2rem, 0.3870967742rem + 2.1505376344vw, 4rem);
  display: flex;
  justify-content: space-between;
  gap: clamp(1.2rem, 0.2322580645rem + 1.2903225806vw, 2.4rem);
}
@media (max-width: 640px) {
  .vision__img {
    flex-wrap: wrap;
  }
}
.vision__img img {
  width: calc(33.3333333333% - clamp(1.2rem, 0.2322580645rem + 1.2903225806vw, 2.4rem) / 2);
  border-radius: 10px;
}
@media (max-width: 640px) {
  .vision__img img {
    width: calc(50% - clamp(1.2rem, 0.2322580645rem + 1.2903225806vw, 2.4rem) / 2);
  }
}

.features__img {
  margin-bottom: clamp(1rem, 0.1935483871rem + 1.0752688172vw, 2rem);
}
.features__imgOnestop.pc-only {
  display: block;
}
@media (max-width: 960px) {
  .features__imgOnestop.pc-only {
    display: block;
  }
}
@media (max-width: 640px) {
  .features__imgOnestop.pc-only {
    display: none;
  }
}
.features__imgOnestop.sp-only {
  display: none;
}
@media (max-width: 640px) {
  .features__imgOnestop.sp-only {
    display: block;
  }
}
.features__imgOnestop a text, .features__imgOnestop a.tspan-link {
  transition: fill 0.3s ease;
  text-decoration: underline;
}
.features__imgOnestop a text:hover, .features__imgOnestop a.tspan-link:hover {
  fill: var(--primary-color);
  cursor: pointer;
  text-decoration: none;
}
.features__imgOnestop a .tspan-link__sup {
  display: inline-block;
  text-decoration: none;
}
.features picture {
  position: relative;
}
.features picture .img-link {
  display: block;
  position: absolute;
}
.features picture .img-link.link__01 {
  top: 18%;
  right: 29%;
}
.features picture .img-link.link__02 {
  top: 30.5%;
  left: 9%;
}
.features .link__01 {
  width: min(13.5vw, 190px);
  height: min(2vw, 20px);
  background: rgba(0, 0, 0, 0.5);
}
.features .link__02 {
  width: min(19.2vw, 264px);
  margin: 0;
}
.features .link__02 li {
  width: 100%;
  margin-top: 0;
  margin-bottom: min(1.2vw, 15px);
}
.features .link__02 li a {
  width: 100%;
  height: min(1.5vw, 24px);
  display: block;
  background: rgba(0, 0, 0, 0.5);
}
.features .arrow {
  display: block;
  width: 99px;
  height: 100px;
  margin: 40px auto;
  background: #3e8340;
  clip-path: polygon(0 50.5%, 27.3% 50.5%, 27.3% 0, 72.7% 0, 72.7% 50.5%, 100% 50.5%, 50% 100%);
}
@media (max-width: 640px) {
  .features .arrow {
    margin: clamp(2rem, 0.3870967742rem + 2.1505376344vw, 4rem) auto;
  }
}

header {
  margin: 0 auto;
}
header img {
  display: inline;
}

@media print {
  @supports (position: sticky) {
    .sticky-top {
      position: static !important;
      top: auto !important;
    }
  }
}
main {
  width: 100%;
  margin: 0 auto;
  color: var(--primary-text-color);
  font-size: clamp(1.4rem, 0.9161290323rem + 0.6451612903vw, 2rem);
  font-weight: 500;
  color-scheme: normal;
}

p {
  font-size: revert;
}

li, a {
  font-size: revert;
}

a {
  transition: color 0.3s ease, background-color 0.3s ease;
}
a:hover {
  color: var(--primary-color);
  text-decoration: underline;
}
a.icon-pdf {
  text-decoration: underline;
}

h2 {
  margin-bottom: 32px;
  font-size: clamp(2rem, 0.5483870968rem + 1.935483871vw, 3.8rem);
  text-align: center;
  font-weight: bold;
  color: var(--secondary-text-color);
  line-height: 1.4;
}
h2 .heading__sub, h2 .heading__en {
  display: block;
}
h2 .heading__sub {
  font-size: 73.68%;
  font-weight: bold;
}
h2 .heading__en {
  margin-top: 5px;
  font-size: 65.79%;
  font-weight: 500;
  line-height: 1;
  color: var(--tertiary-text-color);
}

.btn-wrap {
  display: grid;
  gap: 32px; /* 余白 */
  grid-auto-rows: 1fr; /* 各行の高さを自動で最大に揃える */
}
@media (max-width: 960px) {
  .btn-wrap {
    gap: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
  }
}
.btn-wrap .btn:not(:first-child) {
  margin-top: 0;
}
@media (max-width: 960px) {
  .btn-wrap .btn:not(:first-child) {
    margin-top: 0;
  }
}

.btn {
  width: min(90%, 800px);
  margin: 0 auto;
  padding: 16px 55px 16px 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 30px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  position: relative;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
@media (max-width: 960px) {
  .btn {
    font-size: clamp(2.5rem, 2.0967741935rem + 0.5376344086vw, 3rem);
  }
}
@media (max-width: 640px) {
  .btn {
    font-size: clamp(1.6rem, 0.8741935484rem + 0.9677419355vw, 2.5rem);
  }
}
.btn:not(:first-child) {
  margin-top: 32px;
}
@media (max-width: 960px) {
  .btn:not(:first-child) {
    margin-top: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
  }
}
.btn__primary {
  background: #3e8340;
  color: #fff;
}
.btn__primary:hover {
  color: #fff !important;
  background: #4fa14f;
}
.btn__icon {
  justify-content: flex-start;
  gap: 24px;
  background: #3e8340;
  color: #fff;
  font-size: 25px;
}
@media (max-width: 960px) {
  .btn__icon {
    font-size: clamp(2.3rem, 2.1387096774rem + 0.2150537634vw, 2.5rem);
  }
}
@media (max-width: 640px) {
  .btn__icon {
    padding-left: clamp(1rem, -1.4193548387rem + 3.2258064516vw, 4rem);
    gap: clamp(1rem, -0.1290322581rem + 1.5053763441vw, 2.4rem);
    font-size: clamp(1.6rem, 1.035483871rem + 0.752688172vw, 2.3rem);
  }
}
.btn__icon:hover {
  color: #fff !important;
  background: #4fa14f;
}
.btn__icon .icon-img {
  width: min(25%, 150px);
}
.btn__icon p {
  margin: 0;
}
.btn.blank::before {
  content: "";
  width: clamp(2rem, 0.3870967742rem + 2.1505376344vw, 4rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: clamp(1.5rem, -0.5161290323rem + 2.688172043vw, 4rem);
  transform: translateY(-50%);
  background: url(../img/icon_blank_w.svg) center top/contain no-repeat;
}
.btn.pdf::before {
  content: "";
  width: clamp(3.2rem, 0.6193548387rem + 3.4408602151vw, 6.4rem);
  aspect-ratio: 64/71;
  position: absolute;
  top: 50%;
  right: clamp(1.5rem, 0.2903225806rem + 1.6129032258vw, 3rem);
  transform: translateY(-50%);
  background: url(../img/icon_pdf_w.svg) center top/contain no-repeat;
}
.btn.arrow::before {
  content: "";
  position: absolute;
  top: 50%;
  right: clamp(1.5rem, 0.2903225806rem + 1.6129032258vw, 3rem);
  width: clamp(1.8rem, 1.3161290323rem + 0.6451612903vw, 2.4rem);
  height: clamp(1.8rem, 1.3161290323rem + 0.6451612903vw, 2.4rem);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.intor-text {
  text-align: center;
  line-height: 2.5;
}
.intor-text:not(:last-child) {
  margin-bottom: clamp(3.6rem, 0.6967741935rem + 3.8709677419vw, 7.2rem);
}
@media (max-width: 640px) {
  .intor-text {
    text-align: left;
  }
  .intor-text br {
    display: none;
  }
}

section {
  width: 100%;
  margin: 0 auto;
  padding: clamp(4.5rem, 1.6774193548rem + 3.7634408602vw, 8rem) 0;
}

.bg-green {
  background-color: var(--secondary-bg);
}
.bg-green .section__contents {
  background-color: #fff;
  border-radius: 10px;
}

a.large-link {
  color: red;
  font-size: 120%;
  transition: color 0.3s ease;
}
a.large-link:hover {
  color: var(--primary-text-color);
}

.note {
  font-size: 80%;
}

.tac {
  text-align: center;
}

.pc-only {
  display: block;
}
@media (max-width: 960px) {
  .pc-only {
    display: none;
  }
}

.tab-only {
  display: block;
}
@media (min-width: 961px) {
  .tab-only {
    display: none;
  }
}

.sp-only {
  display: block;
}
@media (min-width: 961px) {
  .sp-only {
    display: none;
  }
}

.topicPathBlock {
  width: 100%;
  padding: 20px !important;
  font-size: 12px;
}
.topicPathBlock a {
  color: black;
}

.section__inner {
  width: min(90%, 1200px);
  margin: 0 auto;
}
.section__contents {
  margin: 0 auto;
  padding: clamp(3rem, 0.5806451613rem + 3.2258064516vw, 6rem) 0;
}
.section__contents:not(:last-child) {
  margin-bottom: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
}
.section__contents-inner {
  width: min(90%, 880px);
  margin: 0 auto;
}
.section__contents-inner > *:not(:last-child) {
  margin-bottom: 1em;
}
.section__contents-inner h2 {
  font-size: clamp(2rem, 1.1935483871rem + 1.0752688172vw, 3rem);
}
.section__contents-inner h3 {
  margin-bottom: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
  color: var(--secondary-text-color);
  font-size: clamp(1.8rem, 0.8322580645rem + 1.2903225806vw, 3rem);
  text-align: center;
  font-weight: bold;
}
.section__contents-inner h3.sub-title {
  font-size: clamp(1.6rem, 1.1161290323rem + 0.6451612903vw, 2.2rem);
  margin-bottom: 5px;
  color: var(--primary-text-color);
  text-align: left;
}
.section__contents-inner a {
  transition: opacity 0.3s ease;
  color: var(--primary-color);
  text-decoration: underline;
}
.section__contents-inner a:hover {
  opacity: 0.7;
}
.section__contents-inner ol li {
  list-style-type: decimal;
}
.section__contents-inner ol.article-ol {
  padding-inline-start: 3em;
}
.section__contents-inner ul.article-ul {
  padding-inline-start: 3em;
}
.section__contents-inner .sites__contactInfo {
  width: 100%;
}
.section__contents-inner .contact-info {
  max-width: min(100%, 600px);
  margin-top: 2em;
  padding: 1em 2em;
  background: var(--secondary-bg);
}
.section__contents-thum img {
  width: auto;
}
.section.kv {
  padding: 0;
  z-index: 2;
}
.section.about {
  padding: clamp(10rem, 6.7741935484rem + 4.3010752688vw, 14rem) 0 clamp(5rem, 0.9677419355rem + 5.376344086vw, 10rem);
}
.section.news {
  padding: 140px 0;
}
@media (max-width: 960px) {
  .section.news {
    padding: clamp(7rem, 1.3548387097rem + 7.5268817204vw, 14rem) 0;
  }
}

.about {
  z-index: 0;
  position: relative;
  background: url(../img/about_bg.jpg) center top/cover no-repeat;
}
@media (max-width: 640px) {
  .about {
    background: url(../img/about_bg_sp.jpg);
  }
}
.about__cont-l, .about__cont-s {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.about__cont-l .about__cont-item, .about__cont-s .about__cont-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border-radius: 10px;
  transition: opacity 0.3s ease;
}
.about__cont-l .about__cont-item:hover, .about__cont-s .about__cont-item:hover {
  color: #fff;
  opacity: 0.7;
}
.about__cont-l .about__cont-item.disable, .about__cont-s .about__cont-item.disable {
  position: relative;
  pointer-events: none;
  cursor: default;
}
.about__cont-l .about__cont-item.disable .about__cont-thum, .about__cont-s .about__cont-item.disable .about__cont-thum {
  position: relative;
  transform: none;
}
.about__cont-l .about__cont-item.disable .about__cont-thum::before, .about__cont-s .about__cont-item.disable .about__cont-thum::before {
  content: "Coming Soon";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 2.3rem;
  font-weight: 500;
  z-index: 2;
}
@media (max-width: 640px) {
  .about__cont-l .about__cont-item.disable .about__cont-thum::before, .about__cont-s .about__cont-item.disable .about__cont-thum::before {
    font-size: clamp(1.6rem, 1.035483871rem + 0.752688172vw, 2.3rem);
  }
}
.about__cont-l .about__cont-item.disable .about__cont-thum::after, .about__cont-s .about__cont-item.disable .about__cont-thum::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
.about__cont-l .about__cont-item.disable .about__cont-thum img, .about__cont-s .about__cont-item.disable .about__cont-thum img {
  filter: grayscale(20%) brightness(0.5);
}
.about__cont-l .about__cont-thum, .about__cont-s .about__cont-thum {
  flex: 0;
}
.about__cont-l .about__cont-title, .about__cont-s .about__cont-title {
  min-height: 88px;
  margin: 0;
  padding: clamp(1.2rem, 0.635483871rem + 0.752688172vw, 1.9rem) 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #fff;
  text-align: center;
  line-height: 1.25;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-shrink: 1;
}
.about__cont-l .about__cont-title::before, .about__cont-s .about__cont-title::before {
  content: "";
  width: 27px;
  height: 27px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: clamp(0.7rem, 0.0548387097rem + 0.8602150538vw, 1.5rem);
  transform: translateY(-50%);
  background: url(../img/btn_link_w.svg) center center/contain no-repeat;
}
@media (max-width: 960px) {
  .about__cont-l .about__cont-title::before, .about__cont-s .about__cont-title::before {
    width: clamp(2rem, 1.435483871rem + 0.752688172vw, 2.7rem);
    height: clamp(2rem, 1.435483871rem + 0.752688172vw, 2.7rem);
  }
}
.about__cont-l {
  margin-top: clamp(5rem, 0.9677419355rem + 5.376344086vw, 10rem);
  gap: 40px clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
  font-size: clamp(1.6rem, 1.2774193548rem + 0.4301075269vw, 2rem);
}
@media (max-width: 640px) {
  .about__cont-l {
    gap: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
    flex-direction: column;
  }
}
.about__cont-l .about__cont-item {
  width: min(50% - 102px, 550px);
}
@media (max-width: 960px) {
  .about__cont-l .about__cont-item {
    width: calc(50% - clamp(0.8rem, 0.1548387097rem + 0.8602150538vw, 1.6rem));
  }
}
@media (max-width: 640px) {
  .about__cont-l .about__cont-item {
    width: 100%;
  }
}
.about__cont-l .about__cont-item:nth-child(1) {
  margin-left: 35px;
}
@media (max-width: 960px) {
  .about__cont-l .about__cont-item:nth-child(1) {
    margin-left: 0;
  }
}
.about__cont-l .about__cont-item:nth-child(2) {
  margin-right: 35px;
}
@media (max-width: 960px) {
  .about__cont-l .about__cont-item:nth-child(2) {
    margin-right: 0;
  }
}
.about__cont-s {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: clamp(2rem, 0.3870967742rem + 2.1505376344vw, 4rem);
  gap: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
}
@media (max-width: 960px) {
  .about__cont-s {
    flex-wrap: wrap;
    justify-content: space-around;
  }
}
@media (max-width: 640px) {
  .about__cont-s br {
    display: none;
  }
}
.about__cont-s .about__cont-title {
  flex: 1 1 auto;
  font-size: clamp(1.4rem, 0.9161290323rem + 0.6451612903vw, 2rem);
}
@media (max-width: 960px) {
  .about__cont-s .about__cont-title {
    min-height: clamp(6.5rem, 4.6451612903rem + 2.4731182796vw, 8.8rem);
  }
}
@media (max-width: 640px) {
  .about__cont-s .about__cont-title {
    min-height: 59px;
  }
}
.about__cont-s .about__cont-title::before {
  right: clamp(0.6rem, -0.1258064516rem + 0.9677419355vw, 1.5rem);
  width: clamp(1.8rem, 1.0741935484rem + 0.9677419355vw, 2.7rem);
  height: clamp(1.8rem, 1.0741935484rem + 0.9677419355vw, 2.7rem);
}
.about__cont-s .about__cont-item {
  display: flex;
  flex-direction: column;
  width: calc(33.3333333333% - 64px);
}
@media (max-width: 960px) {
  .about__cont-s .about__cont-item {
    width: calc(50% - clamp(0.8rem, 0.1548387097rem + 0.8602150538vw, 1.6rem));
  }
}
.about__cont-s .about__cont-thum {
  flex: 0 0 auto;
  aspect-ratio: 670/244;
}

.news {
  background: url(../img/news_bg.jpg) center center/cover no-repeat;
}
@media (max-width: 640px) {
  .news {
    background-image: url(../img/news_bg_sp.jpg);
  }
}
.news h2 {
  margin: 16px 0 0;
  text-align: left;
  flex-shrink: 0;
}
@media (max-width: 960px) {
  .news h2 {
    margin: 0;
    text-align: center;
  }
}
.news .section__inner {
  display: flex;
  gap: 56px;
  padding: 24px 16px 25px 48px;
  background: #fff;
  border-radius: 10px;
}
@media (max-width: 960px) {
  .news .section__inner {
    padding: 24px 16px;
    flex-direction: column;
    gap: 16px;
  }
}
.news__list {
  height: 217px;
  padding: 16px clamp(1rem, -0.7741935484rem + 2.3655913978vw, 3.2rem) clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem) 0;
  overflow-y: auto;
  flex-grow: 1;
}
@media (max-width: 960px) {
  .news__list {
    padding-top: 0;
  }
}
.news__list::-webkit-scrollbar {
  width: 8px;
}
.news__list::-webkit-scrollbar-track {
  background-color: #C1C1C1;
}
.news__list::-webkit-scrollbar-thumb {
  background-color: var(--primary-color);
  border-radius: 8px;
}
.news__list ul {
  margin: 0 0 0;
}
.news__list li {
  color: #000;
}
.news__list li a, .news__list li p {
  width: 100%;
  margin: 0;
  padding: 16px 0 16px 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 50px;
  font-size: clamp(1.4rem, 0.9161290323rem + 0.6451612903vw, 2rem);
  border-bottom: solid 1px var(--border-color);
}
@media (max-width: 960px) {
  .news__list li a, .news__list li p {
    gap: clamp(0rem, -4.0322580645rem + 5.376344086vw, 5rem);
    padding: clamp(1rem, 0.5161290323rem + 0.6451612903vw, 1.6rem) 24px clamp(1rem, 0.5161290323rem + 0.6451612903vw, 1.6rem) 0;
    flex-direction: column;
    align-items: flex-start;
  }
}
.news__list li a time, .news__list li p time {
  color: #000;
  font-size: 1.8rem;
}
@media (max-width: 960px) {
  .news__list li a time, .news__list li p time {
    font-size: clamp(1.4rem, 1.0774193548rem + 0.4301075269vw, 1.8rem);
  }
}
.news__list li a {
  position: relative;
  transition: color 0.3s ease;
}
.news__list li a:hover {
  color: var(--primary-color);
}
.news__list li a time {
  transition: none;
}
a:hover .news__list li a time {
  color: #000;
}
.news__list li a::before {
  content: "";
  width: 27px;
  height: 27px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../img/btn_link_g.svg) center center/cover no-repeat;
}
@media (max-width: 960px) {
  .news__list li a::before {
    width: clamp(1.6rem, 0.7129032258rem + 1.1827956989vw, 2.7rem);
    height: clamp(1.6rem, 0.7129032258rem + 1.1827956989vw, 2.7rem);
  }
}

.sites {
  background: url(../img/relatedSite_bg.jpg) center top/cover no-repeat;
}
.sites__bnArea {
  display: flex;
  justify-content: center;
  gap: clamp(1.6rem, 0.3096774194rem + 1.7204301075vw, 3.2rem);
}
.sites__bnArea a {
  display: block;
  width: min(50%, 400px);
}
.sites__contactInfo {
  width: min(100%, 832px);
  margin: clamp(4rem, 0.7741935484rem + 4.3010752688vw, 8rem) auto 0;
}
.sites__contactInfo li {
  display: flex;
  align-items: flex-start;
  font-size: clamp(1.6rem, 1.2774193548rem + 0.4301075269vw, 2rem);
}
.sites__contactInfo li:not(:last-child) {
  margin-bottom: clamp(0.4rem, 0.0774193548rem + 0.4301075269vw, 0.8rem);
}
.sites__contactInfo li span {
  min-width: clamp(12rem, 10.3870967742rem + 2.1505376344vw, 14rem);
  margin-right: clamp(0.8rem, 0.1548387097rem + 0.8602150538vw, 1.6rem);
  padding: 3px;
  font-size: clamp(1.4rem, 1.0774193548rem + 0.4301075269vw, 1.8rem);
  color: #fff;
  text-align: center;
  display: inline-block;
  background: var(--primary-color);
  border-radius: 50px;
  flex-shrink: 0;
}
.sites__contactInfo li p {
  margin-bottom: 0;
}
.sites__contactInfo li {
  padding: 8px 0;
}

footer {
  position: static;
}

.footer__menu {
  margin: 10px auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: clamp(1.4rem, 1.0774193548rem + 0.4301075269vw, 1.8rem);
}
.footer__menu li {
  padding: 0 8px;
}
.footer__menu li a {
  color: var(--primary-color);
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: solid 1px var(--primary-color);
  transition: opacity 0.3s ease;
}
.footer__menu li a:hover {
  color: var(--primary-color);
  opacity: 0.7;
}
.footer__menu li p {
  display: inline;
  margin: 0;
  color: var(--primary-color);
  font-weight: 500;
  border-bottom: solid 1px var(--primary-color);
}/*# sourceMappingURL=style.css.map */