@charset "UTF-8";
/*
  https://github.com/andy-piccalilli/modern-css-reset/blob/master/LICENSE
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  text-rendering: optimizespeed;
  line-height: var(--line-height);
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
}

picture {
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@font-face {
  font-family: WinYuGothic;
  font-weight: normal;
  src: local(yugothic-medium), local("Yu Gothic Medium");
}
@font-face {
  font-family: WinYuGothic;
  font-weight: bold;
  src: local(yugothic-bold), local("Yu Gothic");
}
:root {
  /* Colors */
  --color-main: #006846;
  --color-sub: #80ba27;
  --color-font: #333;
  --color-gray: #616161;
  --color-light-gray: #e0e0e0;
  --color-light-gray-02: #ebebeb;
  --color-bg-gray: #f5f5f5;
  --color-bg-light-gray: #fafafa;
  --color-bg-green: #edf3e1;
  --color-bg-yellow: #fbf4dd;
  --color-bg-red: #fdf7f6;
  --color-bg-blue: #e6f0ed;
  --color-bg-violet: #e0d5e4;
  --color-important: #ed7270;
  --color-hover: #00a871;
  /* Dimensions */
  --breakpoint: 767px;
  --width-content-max: 1120px;
  --width-btn-max: 350px;
  --gutter: 16px;
  --gutter-ls: 24px;
  --gutter-content: 16px;
  --font-size: 1.4rem;
  --font-size-ls: 1.7rem;
  --line-height: 1.5;
  /* Other */
  --font-family: Yugothic, Winyugothic, "ヒラギノ角ゴProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  --font-weight: 400;
  --font-weight-bold: 700;
  --transition-timing-function: ease;
  --transition-duration: .3s;
  --z-index-overlay: 7000;
  --z-index-header: 5000;
  --z-index-fixed-link: 3000;
  --z-index-layer2: 10;
  --z-index-layer1: 5;
  --z-index-behind: -1;
  --box-shadow: 0 0 10px rgba(88, 132, 118, 0.1);
}

@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: var(--js-header-height);
}

body {
  padding-bottom: var(--js-fixed-link-height);
  color: var(--color-font);
  font-family: var(--font-family);
  font-weight: var(--font-weight);
  font-size: var(--font-size);
  font-feature-settings: "palt";
  line-height: var(--line-height);
  word-break: break-all;
  text-rendering: optimizespeed;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (min-width: 767px) {
  body {
    font-size: var(--font-size-ls);
  }
}

a {
  color: var(--color-main);
  text-decoration: underline;
}
a:hover, a:active, a:focus-visible {
  text-decoration: none;
}

b {
  font-weight: var(--font-weight-bold);
}

em {
  color: var(--color-main);
  font-weight: var(--font-weight-bold);
  font-style: normal;
}

strong {
  color: var(--color-important);
  font-weight: var(--font-weight-bold);
}

ul,
ol,
dl {
  margin: 0;
  padding: 0;
}

ul[class],
ol[class] {
  list-style: none;
}

dfn {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

img {
  height: auto;
  vertical-align: bottom;
}

iframe {
  border: 0;
  max-width: 100%;
  vertical-align: bottom;
}

video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  appearance: none;
  cursor: pointer;
  color: inherit;
}

::placeholder {
  opacity: 1;
}

input[type=file] {
  width: 100%;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

summary {
  list-style: none;
  cursor: pointer;
}
summary::-webkit-details-marker {
  display: none;
}

dialog {
  max-width: calc(100% - var(--gutter-content) * 2);
  max-height: calc(100% - var(--gutter-content) * 2);
  padding: 0;
  border: none;
}

/* ----------------------------------------------------------------
  Accordion (.fn-accordion[-*])
----------------------------------------------------------------- */
/* .fn-accordion
----------------------------------------------- */
.fn-accordion_item.is-animating {
  overflow: hidden;
}

/* ----------------------------------------------------------------
  Fixed link (.fn-fixed-link[-*])
----------------------------------------------------------------- */
/* .js-fixed-link
----------------------------------------------- */
.js-fixed-link {
  visibility: hidden;
  opacity: 0;
  transition: visibility var(--transition-duration) var(--transition-timing-function), opacity var(--transition-duration) var(--transition-timing-function);
}
.js-fixed-link.is-shown {
  visibility: visible;
  opacity: 1;
}
html:not(.js-on) .js-fixed-link {
  visibility: visible;
  opacity: 1;
}

/* ----------------------------------------------------------------
  Menu (.fn-menu[-*])
----------------------------------------------------------------- */
/* .fn-menu
----------------------------------------------- */
@media only screen and (max-width: 766.9px) {
  html:not(.js-on) .fn-menu_btn {
    display: none;
  }
}

@media only screen and (max-width: 766.9px) {
  html.is-menu-open {
    overflow: hidden;
  }
}

/* ----------------------------------------------------------------
  Modal (.fn-modal[-*])
----------------------------------------------------------------- */
/* .fn-modal
----------------------------------------------- */
html:not(.js-on) .fn-modal_dialog {
  position: static;
  display: block;
}

html.is-modal-open {
  overflow: hidden;
}

/* ----------------------------------------------------------------
  Toggle (.fn-toggle[-*])
----------------------------------------------------------------- */
/* .fn-toggle
----------------------------------------------- */
@media only screen and (max-width: 766.9px) {
  .js-toggle-ss.is-animating {
    overflow: hidden;
  }
}

/* ----------------------------------------------------------------
  Scroll icon
----------------------------------------------------------------- */
/* ..fn-scroll-icon
----------------------------------------------- */
.fn-scroll-icon_target {
  scrollbar-color: #cce3a8 var(--color-bg-green);
  scrollbar-width: 16px;
  scrollbar-gutter: stable;
  overflow-x: auto;
}
.fn-scroll-icon_target::-webkit-scrollbar {
  height: 16px;
  background-color: var(--color-bg-green);
  border-radius: 8px;
}
.fn-scroll-icon_target::-webkit-scrollbar-thumb {
  background-color: #cce3a8;
  border-radius: 8px;
}
.fn-scroll-icon_img {
  position: sticky;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  top: var(--js-header-height);
  transition: opacity var(--transition-timing-function) var(--transition-duration), visibility var(--transition-timing-function) var(--transition-duration);
}
.fn-scroll-icon_img > img {
  position: absolute;
  max-width: 80px;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
}
.is-show .fn-scroll-icon_img {
  visibility: visible;
  opacity: 1;
}

/* stylelint-disable declaration-no-important */
/* ----------------------------------------------------------------
  Utility (.u-*)
----------------------------------------------------------------- */
/* .u-width-*
----------------------------------------------- */
.u-width-1 {
  width: 1% !important;
}

.u-width-2 {
  width: 2% !important;
}

.u-width-3 {
  width: 3% !important;
}

.u-width-4 {
  width: 4% !important;
}

.u-width-5 {
  width: 5% !important;
}

.u-width-6 {
  width: 6% !important;
}

.u-width-7 {
  width: 7% !important;
}

.u-width-8 {
  width: 8% !important;
}

.u-width-9 {
  width: 9% !important;
}

.u-width-10 {
  width: 10% !important;
}

.u-width-11 {
  width: 11% !important;
}

.u-width-12 {
  width: 12% !important;
}

.u-width-13 {
  width: 13% !important;
}

.u-width-14 {
  width: 14% !important;
}

.u-width-15 {
  width: 15% !important;
}

.u-width-16 {
  width: 16% !important;
}

.u-width-17 {
  width: 17% !important;
}

.u-width-18 {
  width: 18% !important;
}

.u-width-19 {
  width: 19% !important;
}

.u-width-20 {
  width: 20% !important;
}

.u-width-21 {
  width: 21% !important;
}

.u-width-22 {
  width: 22% !important;
}

.u-width-23 {
  width: 23% !important;
}

.u-width-24 {
  width: 24% !important;
}

.u-width-25 {
  width: 25% !important;
}

.u-width-26 {
  width: 26% !important;
}

.u-width-27 {
  width: 27% !important;
}

.u-width-28 {
  width: 28% !important;
}

.u-width-29 {
  width: 29% !important;
}

.u-width-30 {
  width: 30% !important;
}

.u-width-31 {
  width: 31% !important;
}

.u-width-32 {
  width: 32% !important;
}

.u-width-33 {
  width: 33% !important;
}

.u-width-34 {
  width: 34% !important;
}

.u-width-35 {
  width: 35% !important;
}

.u-width-36 {
  width: 36% !important;
}

.u-width-37 {
  width: 37% !important;
}

.u-width-38 {
  width: 38% !important;
}

.u-width-39 {
  width: 39% !important;
}

.u-width-40 {
  width: 40% !important;
}

.u-width-41 {
  width: 41% !important;
}

.u-width-42 {
  width: 42% !important;
}

.u-width-43 {
  width: 43% !important;
}

.u-width-44 {
  width: 44% !important;
}

.u-width-45 {
  width: 45% !important;
}

.u-width-46 {
  width: 46% !important;
}

.u-width-47 {
  width: 47% !important;
}

.u-width-48 {
  width: 48% !important;
}

.u-width-49 {
  width: 49% !important;
}

.u-width-50 {
  width: 50% !important;
}

.u-width-51 {
  width: 51% !important;
}

.u-width-52 {
  width: 52% !important;
}

.u-width-53 {
  width: 53% !important;
}

.u-width-54 {
  width: 54% !important;
}

.u-width-55 {
  width: 55% !important;
}

.u-width-56 {
  width: 56% !important;
}

.u-width-57 {
  width: 57% !important;
}

.u-width-58 {
  width: 58% !important;
}

.u-width-59 {
  width: 59% !important;
}

.u-width-60 {
  width: 60% !important;
}

.u-width-61 {
  width: 61% !important;
}

.u-width-62 {
  width: 62% !important;
}

.u-width-63 {
  width: 63% !important;
}

.u-width-64 {
  width: 64% !important;
}

.u-width-65 {
  width: 65% !important;
}

.u-width-66 {
  width: 66% !important;
}

.u-width-67 {
  width: 67% !important;
}

.u-width-68 {
  width: 68% !important;
}

.u-width-69 {
  width: 69% !important;
}

.u-width-70 {
  width: 70% !important;
}

.u-width-71 {
  width: 71% !important;
}

.u-width-72 {
  width: 72% !important;
}

.u-width-73 {
  width: 73% !important;
}

.u-width-74 {
  width: 74% !important;
}

.u-width-75 {
  width: 75% !important;
}

.u-width-76 {
  width: 76% !important;
}

.u-width-77 {
  width: 77% !important;
}

.u-width-78 {
  width: 78% !important;
}

.u-width-79 {
  width: 79% !important;
}

.u-width-80 {
  width: 80% !important;
}

.u-width-81 {
  width: 81% !important;
}

.u-width-82 {
  width: 82% !important;
}

.u-width-83 {
  width: 83% !important;
}

.u-width-84 {
  width: 84% !important;
}

.u-width-85 {
  width: 85% !important;
}

.u-width-86 {
  width: 86% !important;
}

.u-width-87 {
  width: 87% !important;
}

.u-width-88 {
  width: 88% !important;
}

.u-width-89 {
  width: 89% !important;
}

.u-width-90 {
  width: 90% !important;
}

.u-width-91 {
  width: 91% !important;
}

.u-width-92 {
  width: 92% !important;
}

.u-width-93 {
  width: 93% !important;
}

.u-width-94 {
  width: 94% !important;
}

.u-width-95 {
  width: 95% !important;
}

.u-width-96 {
  width: 96% !important;
}

.u-width-97 {
  width: 97% !important;
}

.u-width-98 {
  width: 98% !important;
}

.u-width-99 {
  width: 99% !important;
}

.u-width-100 {
  width: 100% !important;
}

.u-width-75-2 {
  width: 37.5% !important;
}

/* .u-ta-*
----------------------------------------------- */
.u-ta-left {
  text-align: left !important;
}
@media only screen and (max-width: 766.9px) {
  .u-ta-left-ss {
    text-align: left !important;
  }
}
@media only screen and (min-width: 767px) {
  .u-ta-left-ls {
    text-align: left !important;
  }
}
.u-ta-center {
  text-align: center !important;
}
@media only screen and (max-width: 766.9px) {
  .u-ta-center-ss {
    text-align: center !important;
  }
}
@media only screen and (min-width: 767px) {
  .u-ta-center-ls {
    text-align: center !important;
  }
}
.u-ta-right {
  text-align: right !important;
}
@media only screen and (max-width: 766.9px) {
  .u-ta-right-ss {
    text-align: right !important;
  }
}
@media only screen and (min-width: 767px) {
  .u-ta-right-ls {
    text-align: right !important;
  }
}

/* .u-fw-*
----------------------------------------------- */
.u-fw-normal {
  font-weight: var(--font-weight) !important;
}
.u-fw-bold {
  font-weight: var(--font-weight-bold) !important;
}

/* .u-fc-*
----------------------------------------------- */
.u-fc-font {
  color: var(--color-font) !important;
}
.u-fc-main {
  color: var(--color-main) !important;
}
.u-fc-important {
  color: var(--color-important) !important;
}

/* .u-block(-*)
----------------------------------------------- */
.u-block {
  display: block;
}
@media only screen and (max-width: 766.9px) {
  .u-block-ss {
    display: block;
  }
}
@media only screen and (min-width: 767px) {
  .u-block-ls {
    display: block;
  }
}

/* .u-sr-only (スクリーンリーダーのみ)
----------------------------------------------- */
.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}

/* ----------------------------------------------------------------
  Header (.header[-*])
----------------------------------------------------------------- */
/* .header
----------------------------------------------- */
.header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  box-shadow: var(--box-shadow);
}
.header_body {
  padding: var(--gutter);
  background-color: #fff;
}
.header_body-inner {
  display: flex;
  justify-content: space-between;
  column-gap: 20px;
}
.header_sub {
  position: relative;
  padding: 12px var(--gutter);
  background-color: var(--color-bg-gray);
}
.header_sub-inner > :first-child {
  margin-top: 0;
}
.header_sub-inner > :last-child {
  margin-bottom: 0;
}
.header_sub-txt {
  margin-bottom: 4px;
}
.header_sub-txt small {
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 767px) {
  .header {
    display: flex;
    flex-direction: column-reverse;
    background-color: #fff;
  }
  .header_body {
    padding: var(--gutter);
  }
  .header_body-inner {
    flex-direction: row;
    justify-content: space-between;
    max-width: var(--width-content-max);
    margin: 0 auto;
    box-sizing: content-box;
  }
  .header_sub {
    padding: 8px var(--gutter);
  }
  .header_sub-inner {
    max-width: var(--width-content-max);
    margin: 0 auto;
    box-sizing: content-box;
  }
  .header_sub-txt {
    margin-bottom: 8px;
    text-align: right;
  }
}
@media only screen and (max-width: 766.9px) {
  .header_sub {
    z-index: calc(var(--z-index-behind) - 1);
  }
}

/* .header-logo
----------------------------------------------- */
.header-logo {
  display: flex;
  align-items: center;
  max-width: 80px;
}
.header-logo_link {
  display: block;
}
@media only screen and (min-width: 767px) {
  .header-logo {
    max-width: none;
  }
}

/* .header-menu
----------------------------------------------- */
.header-menu_btn {
  position: relative;
  width: 30px;
  height: 30px;
  overflow: hidden;
}
.header-menu_btn::before, .header-menu_btn::after, .header-menu_btn-txt::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  width: 30px;
  height: 2px;
  margin: auto;
  background-color: var(--color-main);
  border-radius: 1px;
  transition: transform var(--transition-duration) var(--transition-timing-function), opacity var(--transition-duration) var(--transition-timing-function);
}
.header-menu_btn::before {
  top: 6px;
}
.header-menu_btn::after {
  bottom: 6px;
}
.header-menu_btn-txt {
  width: 1px;
  height: 1px;
  color: transparent;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.header-menu_btn-txt::before {
  top: 0;
  bottom: 0;
}
.header-menu_btn[aria-expanded=true]::before {
  transform: translateY(8px) rotate(-45deg);
}
.header-menu_btn[aria-expanded=true]::after {
  transform: translateY(-8px) rotate(45deg);
}
.header-menu_btn[aria-expanded=true] .header-menu_btn-txt::before {
  opacity: 0;
}
.header-menu_content {
  background-color: #fff;
}
.header-menu_content-inner {
  padding: 38px var(--gutter);
}
.header-menu_content-inner > :first-child {
  margin-top: 0;
}
.header-menu_content-inner > :last-child {
  margin-bottom: 0;
}
.header-menu_content-group {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-bottom: 32px;
}
.header-menu_content-group > :first-child {
  margin-top: 0;
}
.header-menu_content-group > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .header-menu_btn {
    display: none;
  }
  .header-menu_content-inner {
    padding: 0;
  }
  .header-menu_content-group {
    flex-flow: row wrap;
    justify-content: flex-end;
    gap: 10px 32px;
    align-items: center;
    margin-bottom: 12px;
  }
}
@media only screen and (max-width: 766.9px) {
  .header-menu_content {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: var(--z-index-behind);
    width: 100%;
    height: 0;
    visibility: hidden;
    overflow-y: auto;
    transform: translateY(-100%);
    transition: transform var(--transition-duration) var(--transition-timing-function);
  }
  .header-menu_content.is-shown {
    height: calc(100% - var(--js-header-body-height));
    visibility: visible;
  }
  .header-menu_content.is-open {
    transform: translateY(0);
  }
}

/* .header-nav
----------------------------------------------- */
.header-nav {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.header-nav > li > a {
  position: relative;
  display: inline-block;
  padding-left: 14px;
  color: var(--color-font);
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.header-nav > li > a:hover, .header-nav > li > a:active, .header-nav > li > a:focus-visible {
  text-decoration: underline;
}
.header-nav > li > a::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 8px;
  height: 13px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
body[data-category=what-is-alcohol-dependence] .header-nav > li[data-current=what-is-alcohol-dependence] > a {
  color: var(--color-sub);
}
body[data-category=risks-associated-with-alcohol] .header-nav > li[data-current=risks-associated-with-alcohol] > a {
  color: var(--color-sub);
}
body[data-category=improvement] .header-nav > li[data-current=improvement] > a {
  color: var(--color-sub);
}
body[data-category=advice-for-family-and-friends] .header-nav > li[data-current=advice-for-family-and-friends] > a {
  color: var(--color-sub);
}
@media only screen and (min-width: 767px) {
  .header-nav {
    flex-direction: row;
    gap: 8px 20px;
  }
  .header-nav > li > a {
    padding-left: 0;
    font-size: 1.4rem;
  }
  .header-nav > li > a::before {
    content: initial;
  }
}

/* .header-utility
----------------------------------------------- */
.header-utility {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
.header-utility > li > a {
  color: var(--color-main);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.header-utility > li > a:hover, .header-utility > li > a:active, .header-utility > li > a:focus-visible {
  text-decoration: underline;
}
@media only screen and (min-width: 767px) {
  .header-utility {
    flex-direction: row;
    gap: 8px 20px;
  }
  .header-utility > li > a {
    font-size: 1.5rem;
  }
}

/* .header-contact
----------------------------------------------- */
.header-contact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.header-contact > li > a {
  display: inline-block;
  width: 100%;
  padding: 10px 20px;
  background-color: var(--color-main);
  border-radius: 100vw;
  color: #fff;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  text-align: center;
  transition: background-color var(--transition-duration) var(--transition-timing-function);
}
.header-contact > li > a:hover, .header-contact > li > a:active, .header-contact > li > a:focus-visible {
  background-color: var(--color-hover);
}
@media only screen and (min-width: 767px) {
  .header-contact {
    gap: 8px 16px;
  }
  .header-contact > li > a {
    padding: 8px 20px;
    font-size: 1.5rem;
  }
}

/* ----------------------------------------------------------------
  Footer (.footer[-*])
----------------------------------------------------------------- */
/* .footer-fixed-area
----------------------------------------------- */
.footer-fixed-area {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: var(--z-index-fixed-link);
  width: 100%;
}

/* .footer-page-top
----------------------------------------------- */
.footer-page-top {
  position: relative;
  height: 0;
}
.footer-page-top_link {
  position: absolute;
  bottom: 12px;
  right: var(--gutter);
  display: block;
  width: 50px;
  height: 50px;
  background-color: #fff;
  border: 1px solid var(--color-light-gray);
  border-radius: 50%;
  box-shadow: var(--box-shadow);
  transition: opacity var(--transition-duration) var(--transition-timing-function);
}
.footer-page-top_link:hover, .footer-page-top_link:active, .footer-page-top_link:focus-visible {
  opacity: 0.7;
}
.footer-page-top_link::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  width: 16px;
  height: 16px;
  margin: auto;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2012%2016%22%3e%3cpath%20d%3d%22M1,6%2e5L6,1%2e5l5,5%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%226%22%20y1%3d%2214%2e5%22%20x2%3d%226%22%20y2%3d%222%2e5%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.footer-page-top_link > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .footer-page-top {
    bottom: 20px;
    right: 28px;
  }
}

/* .footer-cv
----------------------------------------------- */
.footer-cv {
  background-color: var(--color-bg-green);
  box-shadow: var(--box-shadow);
}
.footer-cv_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding: var(--gutter);
}
.footer-cv_list > li > a {
  display: inline-block;
  width: 100%;
  padding: 10px 20px;
  background-color: var(--color-main);
  border-radius: 100vw;
  color: #fff;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  text-align: center;
  transition: background-color var(--transition-duration) var(--transition-timing-function);
}
.footer-cv_list > li > a:hover, .footer-cv_list > li > a:active, .footer-cv_list > li > a:focus-visible {
  background-color: var(--color-hover);
}
@media only screen and (min-width: 767px) {
  .footer-cv {
    display: none;
  }
}

/* .footer-nav
----------------------------------------------- */
.footer-nav {
  background-color: #fff;
  border-top: 1px solid var(--color-light-gray);
}
.footer-nav_title {
  padding: 18px 60px 18px var(--gutter);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
.footer-nav_title-link {
  position: relative;
  display: inline-block;
}
.footer-nav_toggle-head {
  position: relative;
  padding: 18px 60px 18px var(--gutter);
  background-color: #fff;
}
.footer-nav_toggle-head::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0 var(--gutter) 0 auto;
  width: 28px;
  height: 28px;
  margin: auto;
  background-color: #fff;
  border: 1px solid var(--color-main);
  border-radius: 50%;
}
.footer-nav_toggle-title {
  font-size: 1.6rem;
}
.footer-nav_toggle-title::before, .footer-nav_toggle-title::after {
  display: block;
  content: "";
  position: absolute;
  inset: 0 24px 0 auto;
  margin: auto;
  width: 12px;
  height: 2px;
  background-color: var(--color-main);
  border-radius: 1px;
}
.footer-nav_toggle-title::after {
  transform: rotate(90deg);
}
.footer-nav_toggle[open] .footer-nav_toggle-title::after {
  opacity: 0;
}
.footer-nav_toggle-title > a {
  position: relative;
}
.footer-nav_toggle-content {
  padding: 18px var(--gutter);
  background-color: var(--color-bg-gray);
}
.footer-nav_title, .footer-nav_toggle {
  border-bottom: 1px solid var(--color-light-gray);
}
.footer-nav_list > li {
  margin-bottom: 24px;
}
.footer-nav_list > li > :first-child {
  margin-top: 0;
}
.footer-nav_list > li > :last-child {
  margin-bottom: 0;
}
.footer-nav_list > li:last-child {
  margin-bottom: 0;
}
.footer-nav_list-item {
  display: block;
  margin-bottom: 24px;
}
.footer-nav_list-item > a {
  position: relative;
  display: inline-block;
  padding-left: 14px;
  color: var(--color-gray);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.footer-nav_list-item > a:hover, .footer-nav_list-item > a:active, .footer-nav_list-item > a:focus-visible {
  text-decoration: underline;
}
.footer-nav_list-item > a::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 8px;
  height: 13px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.footer-nav_child-list {
  padding-left: 12px;
}
.footer-nav_child-list > li {
  margin-bottom: 16px;
}
.footer-nav_child-list > li:last-child {
  margin-bottom: 0;
}
.footer-nav_child-list > li > a {
  position: relative;
  display: inline-block;
  padding-left: 14px;
  color: var(--color-font);
  text-decoration: none;
}
.footer-nav_child-list > li > a:hover, .footer-nav_child-list > li > a:active, .footer-nav_child-list > li > a:focus-visible {
  text-decoration: underline;
}
.footer-nav_child-list > li > a::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 8px;
  height: 13px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
@media only screen and (min-width: 767px) {
  .footer-nav {
    border-top: none;
  }
  .footer-nav_inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 56px;
    max-width: var(--width-content-max);
    margin: 0 auto;
    padding: 60px var(--gutter);
    box-sizing: content-box;
  }
  .footer-nav_col > :first-child {
    margin-top: 0;
  }
  .footer-nav_col > :last-child {
    margin-bottom: 0;
  }
  .footer-nav_title {
    padding: 0;
    font-size: 2rem;
  }
  .footer-nav_title-link {
    padding-left: 14px;
    text-decoration: none;
  }
  .footer-nav_title-link:hover, .footer-nav_title-link:active, .footer-nav_title-link:focus-visible {
    text-decoration: underline;
  }
  .footer-nav_title-link::before {
    display: block;
    content: "";
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 8px;
    height: 13px;
    background: no-repeat center;
    background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
  }
  .footer-nav_toggle {
    margin-bottom: 40px;
  }
  .footer-nav_toggle-head {
    margin-bottom: 20px;
    padding: 0;
  }
  .footer-nav_toggle-head::before {
    content: initial;
  }
  .footer-nav_toggle-title {
    font-size: 2rem;
  }
  .footer-nav_toggle-title::before, .footer-nav_toggle-title::after {
    content: initial;
  }
  .footer-nav_toggle-title > a {
    padding-left: 14px;
    text-decoration: none;
  }
  .footer-nav_toggle-title > a:hover, .footer-nav_toggle-title > a:active, .footer-nav_toggle-title > a:focus-visible {
    text-decoration: underline;
  }
  .footer-nav_toggle-title > a::before {
    display: block;
    content: "";
    position: absolute;
    top: 0.3em;
    left: 0;
    width: 8px;
    height: 13px;
    background: no-repeat center;
    background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
  }
  .footer-nav_toggle-content {
    padding: 0;
    background-color: #fff;
  }
  .footer-nav_title, .footer-nav_toggle {
    border-bottom: none;
  }
  .footer-nav_list > li {
    margin-bottom: 16px;
  }
  .footer-nav_list-item {
    margin-bottom: 12px;
  }
  .footer-nav_list-item > a {
    font-size: 1.6rem;
  }
  .footer-nav_child-list {
    padding-left: 8px;
  }
  .footer-nav_child-list > li {
    margin-bottom: 10px;
  }
  .footer-nav_child-list > li > a {
    font-size: 1.4rem;
  }
}

/* .footer-relation
----------------------------------------------- */
.footer-relation {
  background-color: var(--color-bg-gray);
}
.footer-relation_inner {
  padding: 18px var(--gutter);
}
.footer-relation_hdg {
  margin-bottom: 18px;
  color: var(--color-main);
  font-size: 1.6rem;
}
.footer-relation_list > :first-child {
  margin-top: 0;
}
.footer-relation_list > :last-child {
  margin-bottom: 0;
}
.footer-relation_list > li {
  margin-bottom: 16px;
  font-size: 1.2rem;
}
.footer-relation_list > li > a {
  color: var(--color-font);
  text-decoration: none;
}
.footer-relation_list > li > a:hover, .footer-relation_list > li > a:active, .footer-relation_list > li > a:focus-visible {
  text-decoration: underline;
}
@media only screen and (min-width: 767px) {
  .footer-relation_inner {
    display: flex;
    align-items: center;
    gap: 20px 40px;
    max-width: var(--width-content-max);
    margin: 0 auto;
    padding: 10px var(--gutter);
    box-sizing: content-box;
  }
  .footer-relation_hdg {
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
  }
  .footer-relation_list {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
  }
  .footer-relation_list > li {
    margin-bottom: 0;
  }
}

/* .footer-utility
----------------------------------------------- */
.footer-utility_inner {
  padding: 20px var(--gutter);
}
.footer-utility_link-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 10px;
  margin-bottom: 20px;
}
.footer-utility_link-list > li {
  position: relative;
  display: flex;
  align-items: center;
}
.footer-utility_link-list > li:where(:nth-child(2n-1)) {
  justify-content: flex-end;
  padding-right: 20px;
  border-right: 1px solid var(--color-light-gray);
}
.footer-utility_link-list > li:where(:nth-child(2n)) {
  padding-left: 20px;
}
.footer-utility_link-list > li > a {
  color: var(--color-font);
  font-size: 1.2rem;
  text-decoration: none;
}
.footer-utility_link-list > li > a:hover, .footer-utility_link-list > li > a:active, .footer-utility_link-list > li > a:focus-visible {
  text-decoration: underline;
}
.footer-utility_txt {
  margin-bottom: 8px;
  font-size: 1.2rem;
  text-align: center;
}
.footer-utility_copyright {
  margin-bottom: 6px;
  font-size: 1.2rem;
  text-align: center;
}
.footer-utility_logo {
  text-align: center;
}
.footer-utility_logo > a {
  transition: opacity var(--transition-duration) var(--transition-timing-function);
}
.footer-utility_logo > a:hover, .footer-utility_logo > a:active, .footer-utility_logo > a:focus-visible {
  opacity: 0.7;
}
@media only screen and (min-width: 767px) {
  .footer-utility_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 20px;
    max-width: var(--width-content-max);
    margin: 0 auto;
    padding: 20px var(--gutter);
    box-sizing: content-box;
  }
  .footer-utility_link-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
  .footer-utility_link-list > li {
    padding: 0 20px;
    border-right: 1px solid var(--color-light-gray);
  }
  .footer-utility_link-list > li:first-child {
    padding-left: 0;
  }
  .footer-utility_link-list > li:last-child {
    padding-right: 0;
    border-right: none;
  }
  .footer-utility_txt {
    margin-bottom: 0;
  }
  .footer-utility_group {
    display: flex;
    align-items: center;
  }
  .footer-utility_copyright {
    margin: 0 20px 0 0;
  }
}

/* ----------------------------------------------------------------
  Content (.content[-*])
----------------------------------------------------------------- */
/* .content-area
----------------------------------------------- */
.content-area {
  padding: 40px 0;
}
.content-area > :first-child {
  margin-top: 0;
}
.content-area > :last-child {
  margin-bottom: 0;
}
.content-area.-bg-green {
  background-color: var(--color-bg-green);
}
.content-area.-bg-gray {
  background-color: var(--color-bg-gray);
}
.content-area.-bg-yellow {
  background-color: var(--color-bg-yellow);
}
.content-area.-small {
  padding: 28px 0;
}
.content-area_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding-right: var(--gutter-content);
  padding-left: var(--gutter-content);
  transition: padding ease 0.5s;
}
.content-area_inner > :first-child {
  margin-top: 0;
}
.content-area_inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1152px) {
  .content-area_inner {
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (min-width: 767px) {
  .content-area {
    padding: 80px 0;
  }
  .content-area.-small {
    padding: 40px 0;
  }
}

/* ----------------------------------------------------------------
  Breadscrum
----------------------------------------------------------------- */
/* .breadscrum
----------------------------------------------- */
.breadscrum {
  padding: 8px 0;
  background: var(--color-bg-gray);
  font-size: 1.2rem;
}
.breadscrum_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding-right: var(--gutter-content);
  padding-left: var(--gutter-content);
  transition: padding ease 0.5s;
}
.breadscrum_inner > :first-child {
  margin-top: 0;
}
.breadscrum_inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1152px) {
  .breadscrum_inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.breadscrum_list {
  display: flex;
  flex-wrap: wrap;
}
.breadscrum_list > li:not(:last-child) {
  position: relative;
  padding-right: 16px;
}
.breadscrum_list > li:not(:last-child)::before {
  display: block;
  content: "";
  position: absolute;
  right: 4px;
  top: 50%;
  width: 6px;
  height: 10px;
  background: no-repeat center;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23aaa%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.breadscrum_list a {
  text-underline-offset: 2px;
  transition: color var(--transition-timing-function) var(--transition-duration);
}
.breadscrum_list a:hover, .breadscrum_list a:active, .breadscrum_list a:focus-visible {
  color: var(--color-sub);
}
@media only screen and (min-width: 767px) {
  .breadscrum {
    padding: 12px 0;
    font-size: 1.4rem;
  }
  .breadscrum_list > li:not(:last-child) {
    padding-right: 28px;
  }
  .breadscrum_list > li:not(:last-child)::before {
    right: 10px;
    width: 8px;
    height: 13px;
  }
}

/* ----------------------------------------------------------------
  Box (.box-*)
----------------------------------------------------------------- */
/* .box
----------------------------------------------- */
.box {
  margin: 0 auto 24px;
  padding: 20px;
  border: 4px solid var(--color-light-gray-02);
  border-radius: 4px;
}
.box > :first-child {
  margin-top: 0;
}
.box > :last-child {
  margin-bottom: 0;
}
.box.-color-02 {
  border: none;
  background-color: var(--color-bg-gray);
}
.box.-color-03 {
  border: none;
  background-color: var(--color-bg-yellow);
}
@media only screen and (min-width: 767px) {
  .box {
    margin-bottom: 40px;
    padding: 40px;
    border-radius: 10px;
  }
}

/* .box-02
----------------------------------------------- */
.box-02 {
  margin: 0 auto 20px;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: var(--box-shadow);
}
.box-02 > :first-child {
  margin-top: 0;
}
.box-02 > :last-child {
  margin-bottom: 0;
}
.box-02_hdg {
  margin-bottom: 10px;
  font-size: 1.5rem;
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .box-02 {
    margin-bottom: 40px;
    padding: 40px;
  }
  .box-02_hdg {
    margin-bottom: 12px;
    font-size: 2rem;
    text-align: left;
  }
}

/* .box-important
----------------------------------------------- */
.box-important {
  margin: 0 auto 24px;
  padding: 20px;
  background-color: var(--color-bg-red);
  border: 2px solid var(--color-important);
  border-radius: 6px;
}
.box-important_inner {
  padding-left: 40px;
  background: url("/asset/img/icon/important.svg") no-repeat 0 center;
}
.box-important_inner > :first-child {
  margin-top: 0;
}
.box-important_inner > :last-child {
  margin-bottom: 0;
}
.box-important_txt {
  margin-bottom: var(--gutter);
}
@media only screen and (min-width: 767px) {
  .box-important {
    margin-bottom: 40px;
    padding: 30px 40px;
    border-radius: 10px;
  }
  .box-important_inner {
    padding-left: 42px;
  }
  .box-important_txt {
    margin-bottom: var(--gutter-ls);
  }
}

/* .box-profile
----------------------------------------------- */
.box-profile {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-bottom: 24px;
  padding: 20px;
  background: var(--color-bg-blue);
  border-radius: 6px;
}
.box-profile_hdg {
  display: block;
  margin-bottom: 8px;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
.box-profile_img {
  flex-shrink: 0;
  max-width: 70px;
  margin-right: 16px;
}
.box-profile_txt {
  display: block;
  line-height: 1.8;
}
.box-profile.-color-02 {
  background: var(--color-bg-green);
}
.box-profile.-color-03 {
  background: #f9f3d1;
}
.lyt-col_item > .box-profile {
  height: 100%;
}
@media only screen and (min-width: 767px) {
  .box-profile {
    margin-bottom: 40px;
    border-radius: 10px;
  }
  .box-profile_hdg {
    font-size: 2rem;
  }
  .box-profile_img {
    max-width: 140px;
    margin-right: 24px;
  }
}
.box-profile.-vertical {
  align-items: flex-start;
  gap: 16px;
  padding: 30px 24px;
}
.box-profile.-vertical .box-profile_img {
  margin-right: 0;
  max-width: 120px;
}
@media only screen and (min-width: 767px) {
  .box-profile.-vertical .box-profile_img {
    max-width: 160px;
  }
}
@media only screen and (min-width: 767px) {
  .box-profile.-vertical {
    align-items: center;
    flex-direction: column-reverse;
    padding: 24px 49px;
    gap: 11px;
  }
  .box-profile.-vertical .box-profile_hdg {
    text-align: center;
  }
}

/* .box-comment
----------------------------------------------- */
.box-comment {
  --bg-color: var(--color-bg-green);
  --icon-size: 12px;
  --icon-side: calc(var(--icon-size) / 2);
  display: flex;
  align-items: flex-start;
  margin-bottom: var(--gutter);
}
.box-comment_user {
  flex-shrink: 0;
  width: 100%;
  max-width: 80px;
  margin-right: 18px;
  font-size: 1.2rem;
  text-align: center;
}
.box-comment_user-icon {
  max-width: 64px;
  margin-bottom: 4px;
}
.box-comment_content {
  position: relative;
  padding: 14px 16px;
  border-radius: 10px;
  background: var(--bg-color);
}
.box-comment_content > :first-child {
  margin-top: 0;
}
.box-comment_content > :last-child {
  margin-bottom: 0;
}
.box-comment_content::before {
  display: block;
  content: "";
  position: absolute;
  left: calc(var(--icon-size) * -1);
  top: 18px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: var(--icon-side) var(--icon-size) var(--icon-side) 0;
  border-color: transparent var(--bg-color) transparent transparent;
}
.box-comment.-reverse {
  flex-direction: row-reverse;
}
.box-comment.-reverse .box-comment_user {
  margin: 0 0 0 18px;
}
.box-comment.-reverse .box-comment_content::before {
  left: auto;
  right: calc(var(--icon-size) * -1);
  border-width: var(--icon-side) 0 var(--icon-side) var(--icon-size);
  border-color: transparent transparent transparent var(--bg-color);
}
.box-comment.-color-02 {
  --bg-color: var(--color-bg-blue);
}
.box-comment.-color-03 {
  --bg-color: #f9f3d1;
}
@media only screen and (min-width: 767px) {
  .box-comment {
    margin-bottom: var(--gutter-ls);
  }
  .box-comment_user {
    max-width: 120px;
    font-size: 1.7rem;
  }
  .box-comment_user-icon {
    max-width: unset;
    margin-bottom: 8px;
  }
  .box-comment_content {
    padding: 20px 28px;
  }
}

/* .box-result
----------------------------------------------- */
.box-result {
  margin-bottom: 24px;
}
.box-result_icon {
  margin-bottom: var(--gutter);
  text-align: center;
}
.box-result_inner {
  display: grid;
  gap: 16px 20px;
  padding: 20px;
  background: var(--color-bg-green);
  border-radius: 6px;
  border: solid 1px var(--color-light-gray);
}
.box-result_item {
  padding: 18px;
  background: #fff;
  border-radius: 6px;
}
.box-result_item > :first-child {
  margin-top: 0;
}
.box-result_item > :last-child {
  margin-bottom: 0;
}
.box-result_hdg {
  margin-bottom: 16px;
  font-size: 1.6rem;
  color: var(--color-main);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .box-result {
    margin-bottom: 40px;
  }
  .box-result_icon {
    margin-bottom: var(--gutter-ls);
  }
  .box-result_inner {
    grid-template-columns: 1fr 1fr;
    padding: 40px;
    border-radius: 10px;
  }
  .box-result_item {
    padding: 24px;
    border-radius: 10px;
  }
  .box-result_hdg {
    margin-bottom: 10px;
    font-size: 2.2rem;
  }
}

/* ----------------------------------------------------------------
  Text (.txt-*)
----------------------------------------------------------------- */
/* .txt
----------------------------------------------- */
.txt {
  margin: 0 0 var(--gutter);
  line-height: 1.8;
}
.txt > :first-child {
  margin-top: 0;
}
.txt > :last-child {
  margin-bottom: 0;
}
.txt .link {
  margin-bottom: 0;
  line-height: var(--line-height);
}
@media only screen and (min-width: 767px) {
  .txt {
    margin-bottom: var(--gutter-ls);
  }
}

/* .txt-quote
----------------------------------------------- */
.txt-quote {
  margin: 0 0 var(--gutter);
  font-size: 1.8rem;
  color: var(--color-main);
  line-height: 1.8;
  font-weight: var(--font-weight);
}
@media only screen and (min-width: 767px) {
  .txt-quote {
    margin-bottom: var(--gutter-ls);
    font-size: 2rem;
  }
}

/* ----------------------------------------------------------------
  Heading (.hdg-*)
----------------------------------------------------------------- */
/* .hdg-l-01
----------------------------------------------- */
.hdg-l-01 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  min-height: 124px;
  padding: 32px 0;
  font-weight: var(--font-weight-bold);
  color: var(--color-main);
  letter-spacing: 0.04em;
}
.hdg-l-01 h1 {
  font-size: 2.4rem;
}
.hdg-l-01_sub {
  margin-bottom: 4px;
  font-size: 1.3rem;
  color: var(--color-gray);
}
.hdg-l-01_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding-right: var(--gutter-content);
  padding-left: var(--gutter-content);
  text-align: center;
  transition: padding ease 0.5s;
}
@media only screen and (min-width: 1152px) {
  .hdg-l-01_inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.hdg-l-01::before {
  display: block;
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 80%;
  left: 0;
  bottom: 0;
  background: no-repeat center/cover;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%201747%2088%22%3e%3cpath%20d%3d%22M0,0V53%2e4C60%2e19,70%2e3,119%2e619,87%2e223,232%2e271,87%2e974,459%2e741,89%2e49,449%2e285,25%2e051,666%2e3,25%2e051S881%2e038,88%2e3,1100%2e325,87%2e974s221%2e56%2d64%2e241,443%2e121%2d64%2e241c104%2e87,0,154%2e287,15%2e235,203%2e5,30%2e884V0Z%22%20transform%3d%22translate(1746%2e944%2088)%20rotate(180)%22%20fill%3d%22%23edf3e1%22%2f%3e%3c%2fsvg%3e");
}
@media only screen and (min-width: 767px) {
  .hdg-l-01 {
    min-height: 200px;
    padding: 56px 0;
  }
  .hdg-l-01 h1 {
    font-size: 3.8rem;
  }
  .hdg-l-01_sub {
    margin-bottom: 8px;
    font-size: 1.6rem;
  }
  .hdg-l-01::before {
    background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%203000%20150%22%3e%3cpath%20d%3d%22M0,0V90%2e892c103%2e364,28%2e76,205%2e42,57%2e573,398%2e876,58%2e851,390%2e631,2%2e581,372%2e674%2d107%2e1,745%2e347%2d107%2e1s368%2e771,107%2e663,745%2e348,107%2e1S2270%2e052,40%2e4,2650%2e535,40%2e4c180%2e092,0,264%2e955,25%2e933,349%2e465,52%2e57V0Z%22%20transform%3d%22translate(3000%20149%2e788)%20rotate(180)%22%20fill%3d%22%23edf3e1%22%2f%3e%3c%2fsvg%3e");
  }
}

/* .hdg-l-02
----------------------------------------------- */
.hdg-l-02 {
  display: flex;
  align-items: center;
  margin: 40px 0 24px;
  color: var(--color-sub);
  font-weight: 700;
  font-size: 2rem;
}
.hdg-l-02 > img {
  display: inline-block;
  flex-shrink: 0;
  margin-right: 8px;
  max-width: 40px;
}
@media only screen and (min-width: 767px) {
  .hdg-l-02 {
    margin: 80px 0 40px;
    font-size: 3.2rem;
  }
  .hdg-l-02 > img {
    margin-right: 16px;
    max-width: 80px;
  }
}

/* .hdg-l-03
----------------------------------------------- */
.hdg-l-03 {
  margin: 24px 0 16px;
  color: var(--color-gray);
  font-weight: var(--font-weight-bold);
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) {
  .hdg-l-03 {
    margin: 40px 0 24px;
    font-size: 2.4rem;
  }
}

/* .hdg-l-04
----------------------------------------------- */
.hdg-l-04 {
  margin: 16px 0;
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) {
  .hdg-l-04 {
    margin: 24px 0;
    font-size: 2rem;
  }
}

/* .hdg-panel
----------------------------------------------- */
.hdg-panel {
  margin-bottom: var(--gutter);
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.hdg-panel strong {
  color: var(--color-main);
}
@media only screen and (min-width: 767px) {
  .hdg-panel {
    margin-bottom: var(--gutter-ls);
    font-size: 2.2rem;
  }
}

/* .hdg-panel-02
----------------------------------------------- */
.hdg-panel-02 {
  margin: 40px 0 var(--gutter);
  color: var(--color-main);
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
@media only screen and (min-width: 767px) {
  .hdg-panel-02 {
    margin: 80px 0 var(--gutter-ls);
    font-size: 2.2rem;
  }
}

/* ----------------------------------------------------------------
  Link (.link-*)
----------------------------------------------------------------- */
/* .link
----------------------------------------------- */
.link {
  --icon-width: 8px;
  position: relative;
  display: inline-block;
  margin-bottom: var(--gutter);
  padding-left: calc(var(--icon-width) + 8px);
  font-weight: 700;
  color: var(--color-gray);
  text-decoration: none;
  text-underline-offset: 2px;
}
.link::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: var(--icon-width);
  height: 13px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%208%2013%22%3e%3cpath%20d%3d%22M384%2e475,424%2e933l5,5%2d5,5%22%20transform%3d%22translate(%2d383%2e061%20%2d423%2e519)%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.link[href]:hover, .link[href]:active, .link[href]:focus-visible {
  text-decoration: underline;
}
.link .link-icon {
  margin-right: 0;
}
@media only screen and (min-width: 767px) {
  .link {
    margin-bottom: var(--gutter-ls);
  }
}

/* .link-icon（別窓やPDFアイコン）
----------------------------------------------- */
.link-icon {
  display: inline-block;
  margin: 0 4px;
  vertical-align: baseline;
}

/* .link-tel
----------------------------------------------- */
.link-tel {
  text-decoration: none;
  color: inherit;
}
@media only screen and (min-width: 767px) {
  .link-tel {
    pointer-events: none;
  }
}

/* ----------------------------------------------------------------
  Button (.btn-*)
----------------------------------------------------------------- */
/* .btn
----------------------------------------------- */
.btn {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 10px calc(30px + 2%);
  margin-bottom: var(--gutter);
  border: solid 1px var(--color-main);
  background: #fff;
  color: var(--color-main);
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  border-radius: 999em;
  text-align: center;
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.btn::after {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 16px;
  height: 12px;
  background: no-repeat center;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2016%2012%22%3e%3cpath%20d%3d%22M9%2e5,1l5,5%2d5,5%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e5%22%20y1%3d%226%22%20x2%3d%2213%2e5%22%20y2%3d%226%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.btn:not(.-disabled):hover, .btn:not(.-disabled):active, .btn:not(.-disabled):focus-visible {
  background: var(--color-bg-green);
}
.btn.-color-02 {
  background: var(--color-main);
  color: #fff;
  border-color: transparent;
}
.btn.-color-02::after {
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2016%2012%22%3e%3cpath%20d%3d%22M9%2e5,1l5,5%2d5,5%22%20fill%3d%22none%22%20stroke%3d%22%23fff%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e5%22%20y1%3d%226%22%20x2%3d%2213%2e5%22%20y2%3d%226%22%20fill%3d%22none%22%20stroke%3d%22%23fff%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.btn.-color-02:not(.-disabled):hover, .btn.-color-02:not(.-disabled):active, .btn.-color-02:not(.-disabled):focus-visible {
  background: var(--color-hover);
}
.btn.-disabled {
  padding-right: 14px;
  padding-left: 14px;
  background: var(--color-light-gray);
  color: #aaa;
  border-color: transparent;
}
.btn.-disabled::after {
  display: none;
}
.btn_sub {
  display: block;
  font-size: 1.2rem;
  font-weight: var(--font-weight);
}
.btn .link-icon {
  width: 12px;
  margin-right: 0;
}
@media only screen and (min-width: 767px) {
  .btn {
    width: auto;
    padding: 15px 48px 15px 32px;
    margin-bottom: var(--gutter-ls);
    font-size: 1.6rem;
  }
  .btn.-disabled {
    padding-right: 32px;
    padding-left: 32px;
  }
}

/* .btn-02
----------------------------------------------- */
.btn-02 {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  gap: 12px;
  padding: 16px 42px 16px 16px;
  background: var(--color-bg-light-gray);
  border: solid 1px var(--color-light-gray);
  border-radius: 6px;
  color: var(--color-font);
  text-decoration: none;
  text-align: center;
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.btn-02_img {
  display: block;
  flex-shrink: 0;
  max-width: 70px;
}
.btn-02_content {
  display: block;
  width: 100%;
  font-size: 1.6rem;
  font-weight: var(--font-weight-bold);
}
.btn-02_content::after {
  display: block;
  content: "";
  position: absolute;
  right: 12px;
  bottom: 50%;
  width: 16px;
  height: 12px;
  background: no-repeat center;
  transform: translateY(50%);
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2016%2012%22%3e%3cpath%20d%3d%22M9%2e5,1l5,5%2d5,5%22%20fill%3d%22none%22%20stroke%3d%22%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e5%22%20y1%3d%226%22%20x2%3d%2213%2e5%22%20y2%3d%226%22%20fill%3d%22none%22%20stroke%3d%22%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.btn-02_img ~ .btn-02_content {
  text-align: left;
}
.btn-02_img ~ .btn-02_content::after {
  bottom: 12px;
}
.btn-02_sub {
  display: block;
  margin-top: 4px;
  font-size: 1.4rem;
  font-weight: var(--font-weight);
  line-height: 1.8;
}
.btn-02:not(.-disabled):hover, .btn-02:not(.-disabled):active, .btn-02:not(.-disabled):focus-visible {
  background: var(--color-bg-green);
}
.btn-02.-disabled {
  padding: 16px 32px;
  background: var(--color-light-gray);
  color: #aaa;
}
.btn-02.-disabled .btn-02_content:after {
  display: none;
}
.panel-customer .btn-02 {
  background: #fff;
  color: var(--color-sub);
}
.panel-customer .btn-02 .btn-02_sub {
  color: var(--color-font);
}
.panel-customer .btn-02 .btn-02_content,
.panel-customer .btn-02 .btn-02_sub {
  transition: color var(--transition-timing-function) var(--transition-duration);
}
.panel-customer .btn-02:not(.-disabled):hover, .panel-customer .btn-02:not(.-disabled):active, .panel-customer .btn-02:not(.-disabled):focus-visible {
  background: var(--color-sub);
  color: #fff;
}
.panel-customer .btn-02:not(.-disabled):hover .btn-02_sub, .panel-customer .btn-02:not(.-disabled):active .btn-02_sub, .panel-customer .btn-02:not(.-disabled):focus-visible .btn-02_sub {
  color: #fff;
}
.panel-customer .btn-02:not(.-disabled):hover .btn-02_content::after, .panel-customer .btn-02:not(.-disabled):active .btn-02_content::after, .panel-customer .btn-02:not(.-disabled):focus-visible .btn-02_content::after {
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2016%2012%22%3e%3cpath%20d%3d%22M9%2e5,1l5,5%2d5,5%22%20fill%3d%22none%22%20stroke%3d%22%23fff%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e5%22%20y1%3d%226%22%20x2%3d%2213%2e5%22%20y2%3d%226%22%20fill%3d%22none%22%20stroke%3d%22%23fff%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.btn-02.-color-02 {
  background-color: #fff;
  border-color: var(--color-sub);
  color: var(--color-sub);
}
.btn-02.-no-arrow .btn-02_content::after {
  display: none;
}
.btn-02 .link-icon {
  margin: 0 0 0 10px;
}
@media only screen and (min-width: 767px) {
  .btn-02 {
    gap: 24px;
    padding: 23px 42px 23px 32px;
    border-radius: 10px;
  }
  .btn-02_img {
    max-width: 35%;
  }
  .btn-02_content {
    font-size: 2rem;
  }
  .btn-02_content::after {
    right: 21px;
  }
  .btn-02_img ~ .btn-02_content::after {
    bottom: 21px;
  }
  .btn-02_sub {
    font-size: 1.8rem;
  }
  .btn-02.-disabled {
    padding: 23px 32px;
  }
}

/* .btn-download
----------------------------------------------- */
.btn-download {
  --icon-width: 24px;
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 10px calc(var(--icon-width) + 28px) 10px 32px;
  margin-bottom: var(--gutter);
  border: solid 1px var(--color-light-gray);
  background: var(--color-bg-light-gray);
  color: var(--color-font);
  font-size: 1.4rem;
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  border-radius: 999em;
  text-align: center;
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.btn-download:not(.-disabled):hover, .btn-download:not(.-disabled):active, .btn-download:not(.-disabled):focus-visible {
  background: var(--color-bg-green);
}
.btn-download_icon {
  position: absolute;
  display: block;
  top: 50%;
  right: 16px;
  width: var(--icon-width);
  transform: translateY(-50%);
}
.btn-download_sub {
  display: block;
  font-size: 1.2rem;
  font-weight: var(--font-weight);
}
.btn-download .link-icon {
  width: 12px;
  margin-right: 0;
}
.btn-download.-disabled {
  padding: 10px 32px;
  background: var(--color-light-gray);
  color: #aaa;
}
.btn-download.-disabled .btn-download_icon {
  display: none;
}
@media only screen and (min-width: 767px) {
  .btn-download {
    width: auto;
    padding: 15px calc(var(--icon-width) + 36px) 15px 32px;
    margin-bottom: var(--gutter-ls);
    font-size: 1.6rem;
  }
  .btn-download_icon {
    right: 24px;
  }
  .btn-download.-disabled {
    padding: 15px 32px;
  }
}

/* ----------------------------------------------------------------
  List (.list-*)
----------------------------------------------------------------- */
/* .list
----------------------------------------------- */
.list {
  --bullet: 6px;
  display: grid;
  row-gap: 8px;
  margin-bottom: var(--gutter);
  line-height: 1.8;
}
.list > li {
  position: relative;
  padding-left: calc(var(--bullet) + 8px);
}
.list > li > [class^=list] {
  margin: 8px 0 0;
}
.list > li::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: var(--bullet);
  height: var(--bullet);
  border-radius: 50%;
  background: var(--color-light-gray);
}
@media only screen and (min-width: 767px) {
  .list {
    margin-bottom: var(--gutter-ls);
    row-gap: 10px;
  }
  .list.-col-02 {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 40px;
  }
  .list.-col-03 {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 24px;
  }
}

/* .list-note
----------------------------------------------- */
.list-note {
  margin-bottom: var(--gutter);
  font-size: 1.3rem;
  line-height: 1.8;
}
.list-note > li {
  margin-bottom: 8px;
}
.list-note > li:last-child {
  margin-bottom: 0;
}
.list-note > li > small {
  display: flex;
  font-size: inherit;
}
.list-note > li > small:not(:last-child) {
  margin-bottom: 8px;
}
.list-note > li > [class^=list] {
  margin: 8px 0 0;
  padding-left: 1rem;
}
.list-note_mark {
  display: inline-block;
  flex-shrink: 0;
  padding-right: 6px;
}
.list-note.-right > li > small {
  justify-content: right;
}
@media only screen and (min-width: 767px) {
  .list-note {
    margin-bottom: var(--gutter-ls);
    font-size: 1.4rem;
  }
}

/* .list-number
----------------------------------------------- */
.list-number {
  margin-bottom: var(--gutter);
  line-height: 1.8;
}
.list-number > li {
  display: flex;
  margin-bottom: 12px;
}
.list-number > li:last-child {
  margin-bottom: 0;
}
.list-number_nbr {
  flex-shrink: 0;
  display: inline-block;
  padding-right: 6px;
  font-weight: bold;
  color: var(--color-gray);
}
.list-number_content > b {
  display: block;
  color: var(--color-gray);
}
.list-number_content > [class^=list] {
  margin: 8px 0 0;
}
@media only screen and (min-width: 767px) {
  .list-number {
    margin-bottom: var(--gutter-ls);
  }
}

/* .list-desc
----------------------------------------------- */
.list-desc {
  margin-bottom: var(--gutter);
}
.list-desc_hdg {
  margin-bottom: 4px;
  font-size: 1.6rem;
  color: var(--color-main);
  font-weight: var(--font-weight-bold);
}
.list-desc_content {
  margin-bottom: 12px;
}
.list-desc_content > :first-child {
  margin-top: 0;
}
.list-desc_content > :last-child {
  margin-bottom: 0;
}
.list-desc_content:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .list-desc {
    margin-bottom: var(--gutter-ls);
  }
  .list-desc_hdg {
    font-size: 2rem;
  }
}

/* .list-desc-02
----------------------------------------------- */
.list-desc-02 {
  margin-bottom: var(--gutter);
}
.list-desc-02_hdg {
  padding: 4px 20px;
  background: var(--color-bg-green);
  font-size: 1.5rem;
  font-weight: var(--font-weight-bold);
}
.list-desc-02_content {
  margin-bottom: 4px;
  padding: 4px 20px;
  background: var(--color-bg-light-gray);
}
.list-desc-02_content > :first-child {
  margin-top: 0;
}
.list-desc-02_content > :last-child {
  margin-bottom: 0;
}
.list-desc-02_content:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .list-desc-02 {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 0;
    margin-bottom: var(--gutter-ls);
  }
  .list-desc-02_hdg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 200px;
    max-width: 300px;
    padding: 4px 28px;
    font-size: 1.8rem;
  }
  .list-desc-02_content {
    margin-bottom: 0;
  }
}

/* .list-link
----------------------------------------------- */
.list-link {
  margin-bottom: var(--gutter);
}
.list-link > li {
  margin-bottom: 20px;
}
.list-link > li > :first-child {
  margin-top: 0;
}
.list-link > li > :last-child {
  margin-bottom: 0;
}
.list-link > li .link, .list-link > li:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .list-link {
    margin-bottom: var(--gutter-ls);
  }
  .list-link > li {
    margin-bottom: 24px;
  }
  .list-link.-col {
    display: grid;
    gap: 24px 5%;
    grid-template-columns: repeat(3, 1fr);
  }
  .list-link.-col > li {
    margin-bottom: 0;
  }
}

/* .list-link-02
----------------------------------------------- */
.list-link-02 {
  margin-bottom: var(--gutter);
  display: grid;
  row-gap: 10px;
}
.list-link-02_btn {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  column-gap: 24px;
  height: 100%;
  padding: 8px 32px 0 16px;
  background: var(--color-bg-light-gray);
  border: solid 1px var(--color-light-gray);
  border-radius: 6px;
  color: var(--color-font);
  text-decoration: none;
  font-weight: var(--font-weight-bold);
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.list-link-02_btn::after {
  display: block;
  content: "";
  position: absolute;
  right: 12px;
  bottom: 50%;
  width: 16px;
  height: 12px;
  background: no-repeat center;
  transform: translateY(50%);
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2016%2012%22%3e%3cpath%20d%3d%22M9%2e5,1l5,5%2d5,5%22%20fill%3d%22none%22%20stroke%3d%22%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%221%2e5%22%20y1%3d%226%22%20x2%3d%2213%2e5%22%20y2%3d%226%22%20fill%3d%22none%22%20stroke%3d%22%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.list-link-02_btn:hover, .list-link-02_btn:active, .list-link-02_btn:focus-visible {
  background: var(--color-bg-green);
}
.list-link-02_txt {
  padding-bottom: 8px;
}
.list-link-02_img {
  align-self: flex-end;
  max-width: 40px;
}
@media only screen and (min-width: 767px) {
  .list-link-02 {
    margin-bottom: var(--gutter-ls);
    grid-template-columns: repeat(3, 1fr);
    gap: 16px 24px;
  }
  .list-link-02_btn {
    column-gap: 16px;
    padding: 16px 42px 0 16px;
    border-radius: 10px;
  }
  .list-link-02_txt {
    padding-bottom: 16px;
  }
  .list-link-02_img {
    max-width: 60px;
  }
}

/* .list-link-anchor
----------------------------------------------- */
.list-link-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
  margin-bottom: 40px;
}
.list-link-anchor > li > a {
  --icon-width: 12px;
  position: relative;
  display: inline-block;
  padding-right: calc(var(--icon-width) + 8px);
  color: var(--color-gray);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  text-underline-offset: 2px;
}
.list-link-anchor > li > a::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: var(--icon-width);
  height: 16px;
  background: no-repeat center;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2012%2016%22%3e%3cpath%20d%3d%22M11,9%2e5l%2d5,5L1,9%2e5%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3cline%20x1%3d%226%22%20y1%3d%2213%2e5%22%20x2%3d%226%22%20y2%3d%221%2e5%22%20fill%3d%22none%22%20stroke%3d%22%23006846%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.list-link-anchor > li > a[href]:hover, .list-link-anchor > li > a[href]:active, .list-link-anchor > li > a[href]:focus-visible {
  text-decoration: underline;
}
@media only screen and (min-width: 767px) {
  .list-link-anchor {
    margin-bottom: 80px;
  }
}

/* .list-faq
----------------------------------------------- */
.list-faq {
  --label: 28px;
  margin-bottom: var(--gutter);
  line-height: 1.8;
}
.list-faq > :first-child {
  margin-top: 0;
}
.list-faq > :last-child {
  margin-bottom: 0;
}
.list-faq > li {
  margin-bottom: 10px;
}
.list-faq_item {
  margin-bottom: 24px;
}
.list-faq_item > dt {
  margin-bottom: 6px;
  font-weight: var(--font-weight-bold);
}
.list-faq_question {
  position: relative;
  min-height: var(--label);
  padding-left: 40px;
  color: var(--color-main);
}
.list-faq_question::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--label);
  height: var(--label);
  background: var(--color-main) url("/asset/img/icon/question.svg") no-repeat center;
  border-radius: 50%;
  color: transparent;
}
.list-faq_answer {
  position: relative;
  min-height: var(--label);
  padding-left: 40px;
}
.list-faq_answer::before {
  content: "A";
  position: absolute;
  top: 0;
  left: 0;
  width: var(--label);
  height: var(--label);
  background: var(--color-important) url("/asset/img/icon/answer.svg") no-repeat center;
  border-radius: 50%;
  color: transparent;
}
.list-faq_link {
  transition: color var(--transition-duration) var(--transition-timing-function);
}
.list-faq_link:hover, .list-faq_link:active, .list-faq_link:focus-visible {
  color: var(--color-sub);
}
@media only screen and (min-width: 767px) {
  .list-faq {
    margin-bottom: var(--gutter-ls);
  }
  .list-faq_item {
    margin-bottom: 40px;
  }
  .list-faq_item > dt {
    margin-bottom: 8px;
  }
}

/* .list-check
----------------------------------------------- */
.list-check {
  margin-bottom: var(--gutter);
  line-height: 1.8;
}
.list-check > li {
  position: relative;
  padding-left: 38px;
}
.list-check > li:not(:last-child) {
  margin-bottom: 6px;
}
.list-check > li::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 26px;
  height: 26px;
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2026%2026%22%3e%3cg%20transform%3d%22translate(%2d510%20%2d3421)%22%3e%3cg%20transform%3d%22translate(510%203421)%22%20fill%3d%22%23fff%22%20stroke%3d%22%2380ba27%22%20stroke%2dwidth%3d%221%22%3e%3ccircle%20cx%3d%2213%22%20cy%3d%2213%22%20r%3d%2213%22%20stroke%3d%22none%22%2f%3e%3ccircle%20cx%3d%2213%22%20cy%3d%2213%22%20r%3d%2212%2e5%22%20fill%3d%22none%22%2f%3e%3c%2fg%3e%3cpath%20d%3d%22M516%2e347,3430%2e28l4%2e066,4%2e066,7%2e832%2d7%2e832%22%20transform%3d%22translate(1%2e153%203%2e985)%22%20fill%3d%22none%22%20stroke%3d%22%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%223%22%2f%3e%3c%2fg%3e%3c%2fsvg%3e");
}
@media only screen and (min-width: 767px) {
  .list-check {
    margin-bottom: var(--gutter-ls);
  }
  .list-check > li::before {
    top: 0.26em;
  }
}

/* ----------------------------------------------------------------
  Media (.media-*)
----------------------------------------------------------------- */
/* .media
----------------------------------------------- */
.media {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 24px;
}
.media > :first-child {
  margin-top: 0;
}
.media > :last-child {
  margin-bottom: 0;
}
.media_link {
  display: block;
  transition: opacity var(--transition-duration) var(--transition-timing-function);
}
.media_link:hover, .media_link:active, .media_link:focus-visible {
  opacity: 0.7;
}
.media_item > iframe {
  height: 100%;
  aspect-ratio: 16/9;
}
.media_item > video {
  width: 100%;
  max-width: 800px;
}
.lyt-col .media_item > video {
  max-width: 442px;
}
.media.-mb-small {
  margin-bottom: 16px;
}
@media only screen and (min-width: 767px) {
  .media {
    margin-bottom: 40px;
  }
  .media.-mb-small {
    margin-bottom: 20px;
  }
}

/* .media-caption
----------------------------------------------- */
.media-caption {
  margin-top: 8px;
  font-size: 1.2rem;
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .media-caption {
    margin-top: 12px;
    font-size: 1.4rem;
  }
}

/* .media-scroll
----------------------------------------------- */
.media-scroll {
  margin-bottom: 16px;
}
.media-scroll_img {
  padding-bottom: 8px;
  text-align: center;
}
.media-scroll_img.fn-scroll-icon_target > img {
  max-width: none;
}
@media only screen and (min-width: 767px) {
  .media-scroll {
    margin-bottom: 32px;
  }
}

/* .media-lyt
----------------------------------------------- */
.media-lyt {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 16px;
  margin-bottom: 24px;
}
.media-lyt_content > :first-child {
  margin-top: 0;
}
.media-lyt_content > :last-child {
  margin-bottom: 0;
}
.media-lyt_item > :first-child {
  margin-top: 0;
}
.media-lyt_item > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .media-lyt {
    flex-direction: row-reverse;
    gap: 0 40px;
    margin-bottom: 40px;
  }
  .media-lyt_content {
    flex: 1;
    min-width: 50%;
  }
  .media-lyt.-row-reverse {
    flex-direction: row;
  }
  .media-lyt.-align-center .media-lyt_content,
.media-lyt.-align-center .media-lyt_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

/* .media-lyt-02
----------------------------------------------- */
.media-lyt-02 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  column-gap: 24px;
  margin-bottom: 24px;
}
.media-lyt-02_content > :first-child {
  margin-top: 0;
}
.media-lyt-02_content > :last-child {
  margin-bottom: 0;
}
.media-lyt-02_img {
  flex-shrink: 0;
  max-width: 80px;
}
.media-lyt-02 .hdg-l-03 {
  margin-bottom: 12px;
}
@media only screen and (min-width: 767px) {
  .media-lyt-02 {
    margin-bottom: 40px;
  }
  .media-lyt-02_content {
    flex: 1;
    min-width: 50%;
  }
  .media-lyt-02_img {
    max-width: 140px;
  }
  .media-lyt-02 .hdg-l-03 {
    margin-bottom: 24px;
  }
}

/* ----------------------------------------------------------------
  Panel (.panel-*)
----------------------------------------------------------------- */
/* .panel-app
----------------------------------------------- */
.panel-app {
  --border-radius: 6px;
  max-width: 980px;
  margin: 0 auto;
  box-shadow: var(--box-shadow);
}
.panel-app_hdg, .panel-app_sub-hdg {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
}
.panel-app_hdg {
  padding: 14px;
  background: var(--color-sub);
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  color: #fff;
}
.panel-app_content > :first-child, .panel-app_footer > :first-child {
  margin-top: 0;
}
.panel-app_content > :last-child, .panel-app_footer > :last-child {
  margin-bottom: 0;
}
.panel-app_content {
  padding: 20px 20px 33px;
  border-bottom-left-radius: var(--border-radius);
  border-bottom-right-radius: var(--border-radius);
  background: #fff;
}
.panel-app_sub-hdg {
  margin-bottom: 10px;
  color: var(--color-main);
}
.panel-app_logo {
  margin-bottom: 24px;
  text-align: center;
}
.panel-app_checklist {
  --icon-size: 22px;
  margin-bottom: 16px;
  color: var(--color-gray);
  font-size: 1.6rem;
  font-weight: 700;
}
.panel-app_checklist > li {
  position: relative;
  padding-left: calc(var(--icon-size) + 12px);
}
.panel-app_checklist > li:not(:last-child) {
  margin-bottom: 6px;
}
.panel-app_checklist > li::before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--icon-size);
  height: var(--icon-size);
  background: no-repeat center;
  background-image: url("data:image/svg+xml; charset=utf-8, %3csvg%20xmlns%3d%22http%3a%2f%2fwww%2ew3%2eorg%2f2000%2fsvg%22%20viewBox%3d%220%200%2022%2022%22%3e%3ccircle%20cx%3d%2211%22%20cy%3d%2211%22%20r%3d%2211%22%20fill%3d%22%2380ba27%22%2f%3e%3cpath%20d%3d%22M5%2e05,10%2e85l4%2e07,4%2e07,7%2e83%2d7%2e83%22%20fill%3d%22none%22%20stroke%3d%22%23fff%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dlinejoin%3d%22round%22%20stroke%2dwidth%3d%223%22%2f%3e%3c%2fsvg%3e");
}
.panel-app_col {
  margin-bottom: 20px;
}
.panel-app_card {
  border: solid 1px var(--color-light-gray);
  text-align: center;
}
.panel-app_card-hdg {
  padding: 8px;
  background: var(--color-light-gray);
  font-size: 1.6rem;
  font-weight: 700;
}
.panel-app_card-content {
  padding: 18px;
}
.panel-app_card-logo {
  display: inline-block;
}
.panel-app_card-logo img {
  transition: opacity var(--transition-timing-function) var(--transition-duration);
}
.panel-app_card-logo:hover img, .panel-app_card-logo:active img, .panel-app_card-logo:focus-visible img {
  opacity: 0.7;
}
.panel-app_card-qr {
  display: none;
}
@media only screen and (min-width: 767px) {
  .panel-app_hdg {
    padding: 20px 40px;
    font-size: 3.2rem;
  }
  .panel-app_sub-hdg {
    font-size: 2.4rem;
    text-align: left;
  }
  .panel-app_content {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 40px;
  }
  .panel-app_logo {
    grid-row: 1/span 2;
    margin-right: 40px;
  }
  .panel-app_checklist {
    font-size: 2rem;
  }
  .panel-app_checklist > li::before {
    top: 0.18em;
  }
  .panel-app_txt, .panel-app_col, .panel-app_card, .panel-app_footer {
    grid-column: 1/-1;
  }
  .panel-app_card-hdg {
    padding: 10px;
    font-size: 2rem;
  }
  .panel-app_card-content {
    padding: 28px 16px;
  }
  .panel-app_card-logo {
    margin-bottom: 16px;
  }
  .panel-app_card-qr {
    display: block;
  }
  .panel-app_card-qr img {
    display: block;
    margin: 16px auto 8px;
  }
}

/* .panel-customer
----------------------------------------------- */
.panel-customer {
  padding: 28px 0;
  background-color: var(--color-bg-green);
}
.panel-customer_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding-right: var(--gutter-content);
  padding-left: var(--gutter-content);
  transition: padding ease 0.5s;
}
.panel-customer_inner > :first-child {
  margin-top: 0;
}
.panel-customer_inner > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 1152px) {
  .panel-customer_inner {
    padding-right: 0;
    padding-left: 0;
  }
}
.panel-customer_hdg {
  margin-bottom: var(--gutter);
  color: var(--color-main);
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  letter-spacing: 0.06em;
}
@media only screen and (min-width: 767px) {
  .panel-customer {
    padding: 60px 0;
  }
  .panel-customer_hdg {
    margin-bottom: var(--gutter-ls);
    font-size: 2.4rem;
  }
}

/* ----------------------------------------------------------------
  Table (.table-*)
----------------------------------------------------------------- */
/* .table
----------------------------------------------- */
.table {
  margin-bottom: 24px;
}
.table table {
  width: 100%;
}
.table caption {
  margin-bottom: var(--gutter);
  font-weight: var(--font-weight-bold);
  text-align: left;
}
.table tr,
.table th,
.table td {
  border-color: var(--color-light-gray);
  border-width: 1px;
}
.table tr {
  border-style: solid;
}
.table td {
  vertical-align: top;
  border-right-style: solid;
}
.table td:last-child {
  border-right-style: none;
}
.table th,
.table td {
  padding: 10px 16px;
}
.table th > :first-child,
.table td > :first-child {
  margin-top: 0;
}
.table th > :last-child,
.table td > :last-child {
  margin-bottom: 0;
}
.table thead th,
.table thead td {
  background-color: var(--color-light-gray);
}
.table tbody th {
  background-color: var(--color-bg-green);
  text-align: left;
}
.table tbody th.-color-02 {
  background-color: #f9f3d1;
}
.table tbody th.-color-03 {
  background-color: #d9e9ee;
}
.table tbody th.-color-04 {
  background-color: var(--color-bg-violet);
}
@media only screen and (max-width: 766.9px) {
  .table.-scroll-ss .table_inner {
    padding-bottom: 8px;
  }
  .table.-scroll-ss .fn-scroll-icon_target table {
    width: calc(var(--breakpoint) - var(--gutter) * 2);
  }
  .table.-break-ss tr:not(:last-child) {
    border-bottom-style: none;
  }
  .table.-break-ss td + td {
    border-top-style: solid;
  }
  .table.-break-ss table,
.table.-break-ss thead,
.table.-break-ss tbody,
.table.-break-ss tr,
.table.-break-ss th,
.table.-break-ss td,
.table.-break-ss caption {
    display: block;
    width: 100%;
  }
}
@media only screen and (min-width: 767px) {
  .table {
    margin-bottom: 40px;
  }
  .table th,
.table td {
    padding: 20px;
  }
}

/* .table-caption
----------------------------------------------- */
.table-caption {
  margin-bottom: var(--gutter);
  font-weight: var(--font-weight-bold);
  font-size: inherit;
  text-align: left;
}

/* .table-level
----------------------------------------------- */
.table-level {
  --scrollbar-gutter: 8px;
  margin-bottom: calc(var(--gutter) - var(--scrollbar-gutter));
  font-size: 1.5rem;
}
.table-level_inner {
  padding-bottom: var(--scrollbar-gutter);
}
.table-level_tbl {
  width: 100%;
}
.fn-scroll-icon_target .table-level_tbl {
  min-width: 900px;
}
.table-level_col-hdg {
  width: 4%;
}
.table-level_col-nbr {
  width: 10%;
}
.table-level_col-qty {
  width: 20%;
}
.table-level_col-fig {
  width: 34%;
}
.table-level_1 {
  background: var(--color-bg-green);
}
.table-level_2 {
  background: var(--color-bg-yellow);
}
.table-level_3 {
  background: var(--color-bg-blue);
}
.table-level_4 {
  background: var(--color-bg-violet);
}
.table-level figcaption {
  margin-top: var(--gutter);
}
.table-level th,
.table-level td {
  padding: 12px;
}
.table-level tr {
  border: 1px solid var(--color-light-gray);
}
.table-level thead th,
.table-level thead td {
  padding: 10px 12px;
  background: var(--color-light-gray);
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.table-level tbody th,
.table-level tbody td {
  padding: 12px;
  vertical-align: top;
}
.table-level tbody th:first-child {
  line-height: 1.1;
  font-size: 1.7rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
.table-level tbody td > :first-child {
  margin-top: 0;
}
.table-level tbody td > :last-child {
  margin-bottom: 0;
}
.table-level tbody td:nth-child(odd) {
  background: var(--color-bg-light-gray);
}
.table-level .txt,
.table-level .list {
  line-height: var(--line-height);
}
.table-level .list {
  row-gap: 6px;
}
.table-level .list-desc_hdg {
  font-size: 1.8rem;
}
@media only screen and (min-width: 767px) {
  .table-level {
    margin-bottom: calc(var(--gutter-ls) - var(--scrollbar-gutter));
  }
}

/* ----------------------------------------------------------------
  Layout (.lyt-*)
----------------------------------------------------------------- */
/* .lyt-col
----------------------------------------------- */
.lyt-col {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
  margin-bottom: 24px;
}
.lyt-col_item > :first-child {
  margin-top: 0;
}
.lyt-col_item > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .lyt-col {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 40px;
  }
  .lyt-col.-col-03 {
    grid-template-columns: repeat(3, 1fr);
  }
  .lyt-col.-col-04 {
    grid-template-columns: repeat(4, 1fr);
  }
  .lyt-col.-col-ls-40 {
    column-gap: 40px;
  }
  .lyt-col.-row-ls-16 {
    row-gap: 16px;
  }
  .lyt-col.-col-spe {
    grid-template-columns: repeat(4, 1fr);
  }
  .lyt-col.-col-spe > .lyt-col_item {
    grid-column: span 2;
  }
  .lyt-col.-col-spe > .lyt-col_item:first-child:last-child, .lyt-col.-col-spe > .lyt-col_item:nth-child(3n) {
    grid-column: 2/4;
  }
}
@media only screen and (max-width: 766.9px) {
  .lyt-col.-col-sp-02 {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .lyt-col.-row-sp-16 {
    row-gap: 16px;
  }
}

/* .lyt-btn
----------------------------------------------- */
.lyt-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin: 24px 0;
}
.lyt-btn_item {
  min-width: min(var(--width-btn-max), 100%);
}
.lyt-btn_item > :first-child {
  margin-top: 0;
}
.lyt-btn_item > :last-child {
  margin-bottom: 0;
}
.media.-mb-small + .lyt-btn {
  margin-top: 0;
}
@media only screen and (min-width: 767px) {
  .lyt-btn {
    margin: 40px 0;
  }
  .lyt-btn_item {
    min-width: auto;
  }
}

/* .lyt-img-col
----------------------------------------------- */
.lyt-img-col {
  margin-bottom: 24px;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
}
.lyt-img-col_item {
  width: 100%;
}
.lyt-img-col_img {
  margin-bottom: 16px;
}
.lyt-img-col_content > :first-child {
  margin-top: 0;
}
.lyt-img-col_content > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .lyt-img-col {
    margin-bottom: 40px;
    flex-wrap: nowrap;
  }
  .lyt-img-col_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
  }
  .lyt-img-col_img {
    flex: 1;
    display: flex;
    align-items: flex-end;
    margin-bottom: 20px;
  }
  .lyt-img-col_content {
    min-height: 74px;
  }
}

/* .lyt-related
----------------------------------------------- */
.lyt-related {
  margin-bottom: var(--gutter);
}
.lyt-related_content {
  margin-bottom: var(--gutter);
}
.lyt-related_content > :first-child {
  margin-top: 0;
}
.lyt-related_content > :last-child {
  margin-bottom: 0;
}
.lyt-related_btn {
  max-width: var(--width-btn-max);
  margin: 0 auto;
}
.lyt-related_btn > :first-child {
  margin-top: 0;
}
.lyt-related_btn > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 767px) {
  .lyt-related {
    display: flex;
    margin-bottom: var(--gutter-ls);
  }
  .lyt-related_content {
    flex: 1;
    margin: 0 40px 0 0;
  }
  .lyt-related_btn {
    margin-top: 22px;
  }
}

/* ----------------------------------------------------------------
  Dialog (.dialog-*)
----------------------------------------------------------------- */
/* .dialog
----------------------------------------------- */
.dialog {
  width: calc(100% - var(--gutter-content) * 2);
  border-radius: 6px;
}
.dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.3);
}
.dialog_inner {
  padding: 60px 20px;
}
.dialog_inner > :first-child {
  margin-top: 0;
}
.dialog_inner > :last-child {
  margin-bottom: 0;
}
.dialog_close-btn {
  position: absolute;
  top: 20px;
  right: 18px;
  width: 20px;
  height: 20px;
  transition: opacity var(--transition-duration) var(--transition-timing-function);
}
.dialog_close-btn::before, .dialog_close-btn::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 26px;
  height: 2px;
  margin: auto;
  background-color: var(--color-main);
  border-radius: 1px;
}
.dialog_close-btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.dialog_close-btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.dialog_close-btn:hover, .dialog_close-btn:active, .dialog_close-btn:focus-visible {
  opacity: 0.7;
}
.dialog_close-btn > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (min-width: 767px) {
  .dialog {
    max-width: var(--width-content-max);
    border-radius: 10px;
  }
  .dialog_inner {
    padding: 80px 40px;
  }
}

/* ----------------------------------------------------------------
  Accordion (.accordion-*)
----------------------------------------------------------------- */
/* .accordion-stage
----------------------------------------------- */
.accordion-stage {
  margin-bottom: var(--gutter);
}
.accordion-stage_group {
  --color-stage: #006846;
  --color-stage-light: #edf3e1;
  position: relative;
}
.accordion-stage_group.-color-02 {
  --color-stage: #897c2f;
  --color-stage-light: #f9f3d1;
}
.accordion-stage_group.-color-03 {
  --color-stage: #277e99;
  --color-stage-light: #d9e9ee;
}
.accordion-stage_group.-color-04 {
  --color-stage: #7c548b;
  --color-stage-light: #e0d5e4;
}
.accordion-stage_group.-introduction {
  --color-stage: #616161;
  --color-stage-light: #f5f5f5;
  margin-bottom: 47px;
}
.accordion-stage_group.-introduction::before {
  display: block;
  content: "";
  position: absolute;
  inset: calc(100% + 16px) 0 auto 0;
  width: 40px;
  height: 15px;
  margin: auto;
  background-color: var(--color-stage);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.accordion-stage_hdg {
  padding: 8px 20px;
  background-color: var(--color-stage);
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
}
.accordion-stage_item + .accordion-stage_item {
  border-top: 1px solid #ccc;
}
.accordion-stage_head {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 8px;
  padding: 16px 52px 16px 12px;
  background-color: var(--color-stage-light);
}
.accordion-stage_head::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0 12px 0 auto;
  width: 28px;
  height: 28px;
  margin: auto;
  border: 1px solid var(--color-gray);
  background-color: #fff;
  border-radius: 50%;
  transition: background-color var(--transition-duration) var(--transition-timing-function);
}
.accordion-stage_head:hover::before, .accordion-stage_head:active::before, .accordion-stage_head:focus-visible::before {
  background-color: var(--color-light-gray);
}
.accordion-stage_head-title {
  flex: 1;
  font-size: 1.8rem;
}
.accordion-stage_head-title::before, .accordion-stage_head-title::after {
  display: block;
  content: "";
  position: absolute;
  inset: 0 20px 0 auto;
  width: 12px;
  height: 2px;
  margin: auto;
  background-color: var(--color-gray);
  border-radius: 1px;
}
.accordion-stage_head-title::after {
  transform: rotate(90deg);
}
.accordion-stage_item[open] .accordion-stage_head-title::after {
  opacity: 0;
}
.accordion-stage_head-label {
  padding: 4px 8px;
  background-color: #fff;
  border-radius: 23px;
  color: var(--color-stage);
  font-size: 1.3rem;
  font-weight: var(--font-weight-bold);
}
.accordion-stage_content {
  padding: 12px;
  background: var(--color-stage-light) no-repeat center bottom;
}
.accordion-stage_content > :first-child {
  margin-top: 0;
}
.accordion-stage_content > :last-child {
  margin-bottom: 0;
}
.accordion-stage_head + .accordion-stage_content {
  padding-top: 0;
}
.accordion-stage_group.-color-04 .accordion-stage_content {
  padding-bottom: 35px;
  background-image: url("/asset/img/bg/stage.png");
}
.accordion-stage_content-item {
  position: relative;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
}
.accordion-stage_content-item > :first-child {
  margin-top: 0;
}
.accordion-stage_content-item > :last-child {
  margin-bottom: 0;
}
.accordion-stage_content-item + .accordion-stage_content-item {
  margin-top: 47px;
}
.accordion-stage_content-item + .accordion-stage_content-item::before {
  display: block;
  content: "";
  position: absolute;
  inset: auto 0 calc(100% + 16px) 0;
  width: 40px;
  height: 15px;
  margin: auto;
  background-color: var(--color-stage);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.accordion-stage_label-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: var(--gutter);
}
.accordion-stage_label-list-txt {
  display: inline-block;
  background-color: #fff;
  min-width: 67px;
  padding: 4px 8px;
  border-radius: 100vw;
  color: var(--color-stage);
  font-size: 1.3rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .accordion-stage {
    margin-bottom: var(--gutter-ls);
  }
  .accordion-stage_group.-introduction {
    margin-bottom: 55px;
  }
  .accordion-stage_group.-introduction::before {
    top: calc(100% + 20px);
  }
  .accordion-stage_hdg {
    font-size: 2rem;
  }
  .accordion-stage_head {
    column-gap: 24px;
    padding: 20px 80px 20px 20px;
  }
  .accordion-stage_head::before {
    right: 20px;
    width: 40px;
    height: 40px;
  }
  .accordion-stage_head-title {
    font-size: 2.4rem;
  }
  .accordion-stage_head-title::before, .accordion-stage_head-title::after {
    width: 18px;
    right: 31px;
  }
  .accordion-stage_head-label {
    padding: 8px 24px;
    font-size: 1.6rem;
  }
  .accordion-stage_content {
    padding: 20px;
  }
  .accordion-stage_group.-color-04 .accordion-stage_content {
    padding-bottom: 117px;
  }
  .accordion-stage_content-item {
    padding: 40px;
  }
  .accordion-stage_content-item + .accordion-stage_content-item {
    margin-top: 55px;
  }
  .accordion-stage_content-item + .accordion-stage_content-item::before {
    bottom: calc(100% + 20px);
  }
  .accordion-stage_label-list {
    gap: 24px;
    margin-bottom: var(--gutter-ls);
  }
  .accordion-stage_label-list-txt {
    min-width: 121px;
    padding: 8px 16px;
    font-size: 1.6rem;
  }
}

/* ----------------------------------------------------------------
  Tab (.tab-*)
----------------------------------------------------------------- */
/* .tab
----------------------------------------------- */
.tab {
  margin-bottom: var(--gutter);
  min-height: 470px;
}
.tab_nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  margin-bottom: 10px;
}
.tab_btn {
  padding: 4px;
  background: var(--color-bg-gray);
  border: solid 1px var(--color-bg-gray);
  border-radius: 6px;
  font-size: 1.3rem;
  color: var(--color-main);
  text-align: center;
  letter-spacing: 0.04em;
  transition: background-color var(--transition-timing-function) var(--transition-duration), color var(--transition-timing-function) var(--transition-duration), border-color var(--transition-timing-function) var(--transition-duration);
}
.tab_btn[aria-selected=true] {
  background: var(--color-bg-green);
  border-color: var(--color-sub);
  color: var(--color-font);
  font-weight: var(--font-weight-bold);
}
.tab_btn:not([disabled=true]):hover, .tab_btn:not([disabled=true]):active, .tab_btn:not([disabled=true]):focus-visible {
  background: var(--color-bg-green);
}
.tab_content {
  display: none;
  padding: 20px;
  background: var(--color-bg-green);
  border-radius: 6px;
  border: solid 1px var(--color-light-gray);
}
.tab_content > :first-child {
  margin-top: 0;
}
.tab_content > :last-child {
  margin-bottom: 0;
}
.tab_content.is-open {
  display: block;
}
.tab_content .lyt-col {
  margin-bottom: var(--gutter);
  gap: 16px;
}
.tab_content .lyt-col.-col-sp-02 {
  gap: 8px;
}
.tab_content .media-lyt {
  row-gap: 8px;
}
.tab_content .media:not(:last-child) {
  margin-bottom: 8px;
}
.tab_content .hdg-l-03 {
  margin-bottom: 12px;
  font-size: 1.5rem;
}
.tab_content .list {
  row-gap: 4px;
}
.tab_content .list > li::before {
  background: #bcd98f;
}
.tab_hdg {
  margin-bottom: var(--gutter);
  color: var(--color-gray);
  font-weight: var(--font-weight-bold);
  font-size: 1.6rem;
}
.tab_hdg-nbr {
  margin-right: 6px;
  color: var(--color-main);
}
@media only screen and (min-width: 767px) {
  .tab {
    margin-bottom: var(--gutter-ls);
  }
  .tab_nav {
    display: flex;
    margin-bottom: 0;
  }
  .tab_btn {
    position: relative;
    flex: 1;
    padding: 8px 4px;
    border-radius: 10px 10px 0 0;
    border-bottom: 0;
    font-size: 1.6rem;
    outline-offset: -3px;
  }
  .tab_btn[aria-selected=true] {
    border-color: var(--color-light-gray);
  }
  .tab_btn[aria-selected=true]::after {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    left: 0;
    bottom: 0;
    background: var(--color-bg-green);
    transform: translateY(50%);
  }
  .tab_content {
    padding: 40px;
    border-radius: 0 0 10px 10px;
    outline-offset: -4px;
  }
  .tab_content .lyt-col {
    margin-bottom: var(--gutter-ls);
    gap: 40px;
  }
  .tab_content .lyt-col.-col-03 {
    gap: 24px;
  }
  .tab_content .media:not(:last-child) {
    margin-bottom: 16px;
  }
  .tab_content .hdg-l-03 {
    margin-bottom: 16px;
    font-size: 2rem;
  }
  .tab_content .list {
    row-gap: 8px;
  }
  .tab_hdg {
    margin-bottom: var(--gutter-ls);
    font-size: 2.2rem;
    text-align: center;
  }
}
