@charset "UTF-8";
: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);
}

/* ----------------------------------------------------------------
  Top (.top-*)
----------------------------------------------------------------- */
/* .top-mv
----------------------------------------------- */
.top-mv {
  position: relative;
  padding-top: 32px;
  margin-bottom: 32px;
  background: var(--color-bg-green);
}
.top-mv_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding: 0 var(--gutter-content);
  transition: padding ease 0.5s;
}
.top-mv_hdg {
  margin-bottom: 10px;
  color: var(--color-main);
  font-size: 2.2rem;
  font-weight: 700;
}
.top-mv_main {
  position: relative;
  font-size: 1.6rem;
}
.top-mv_main p {
  line-height: 1.8;
}
.top-mv_news {
  background: #fff;
}
@media only screen and (min-width: 767px) {
  .top-mv {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 476px;
    padding: 56px 0 0;
    margin-bottom: 40px;
  }
  .top-mv_inner {
    position: relative;
    width: 100%;
  }
  .top-mv_hdg {
    margin-bottom: 40px;
    font-size: 4.4rem;
    letter-spacing: 0.04em;
  }
  .top-mv_main {
    z-index: 1;
    max-width: calc(var(--width-content-max) * 0.64);
    font-size: 2.2rem;
  }
  .top-mv_news {
    position: relative;
    z-index: 1;
    background: transparent;
  }
  .top-mv::before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    background: no-repeat center/cover;
    width: 100%;
    height: 175px;
    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%20175%22%3e%3cpath%20d%3d%22M2459%2e42,504%2e75V382%2e336c103%2e364%2d25%2e679,205%2e42%2d51%2e4,398%2e876%2d52%2e546,390%2e631%2d2%2e3,372%2e674,95%2e627,745%2e347,95%2e627s368%2e771%2d96%2e128,745%2e348%2d95%2e627,380%2e481,97%2e631,760%2e963,97%2e631c180%2e092,0,264%2e955%2d23%2e154,349%2e465%2d46%2e937V504%2e75Z%22%20transform%3d%22translate(%2d2459%2e42%20%2d329%2e75)%22%20fill%3d%22%23fff%22%2f%3e%3c%2fsvg%3e");
  }
  .top-mv::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: auto;
    right: calc((100vw - var(--width-content-max)) / 2 + 80px);
    bottom: 0;
    width: 100%;
    background: url("/img/index-mv-bg.png") no-repeat right bottom;
  }
}
@media only screen and (max-width: 766.9px) {
  .top-mv_main {
    min-height: 400px;
    text-align: center;
  }
  .top-mv_main > * {
    animation: 2s var(--transition-timing-function) fade-in;
  }
  .top-mv_main::before {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    background: no-repeat center/cover;
    left: calc(-1 * var(--gutter-content));
    right: calc(-1 * var(--gutter-content));
    width: calc(100% + var(--gutter-content) * 2);
    height: 120px;
    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%201478%2092%22%3e%3cpath%20d%3d%22M2459%2e42,421%2e75V359%2e039c50%2e924%2d14%2e3,101%2e2%2d28%2e631,196%2e513%2d29%2e266,192%2e451%2d1%2e283,183%2e6,53%2e261,367%2e207,53%2e261s181%2e682%2d53%2e54,367%2e209%2d53%2e261,187%2e45,54%2e377,374%2e9,54%2e377c88%2e726,0,130%2e535%2d12%2e9,172%2e17%2d26%2e142V421%2e75Z%22%20transform%3d%22translate(%2d2459%2e42%20%2d329%2e75)%22%20fill%3d%22%23fff%22%2f%3e%3c%2fsvg%3e");
  }
  .top-mv_main::after {
    position: relative;
    display: inline-block;
    content: url("/img/index-mv-bg_sp.png");
    padding: 18px 0 20px;
    animation: 2s var(--transition-timing-function) fade-in;
  }
}
@media only screen and (min-width: 1152px) {
  .top-mv_inner {
    padding-right: 0;
    padding-left: 0;
  }
}

/* .top-slider
----------------------------------------------- */
.top-slider {
  --width-ls: 336px;
  --slide-gutter: 16px;
  overflow: hidden;
}
.top-slider_list {
  position: relative;
  left: calc(var(--slide-gutter) * -1);
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
  margin-bottom: 12px;
  height: var(--height);
}
html.js-on .top-slider_list {
  flex-wrap: nowrap;
}
.is-swipe .top-slider_list {
  opacity: 0.7;
}
.top-slider_item {
  display: flex;
  align-items: center;
  padding-left: var(--slide-gutter);
  width: 100%;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
}
html.js-on .top-slider_item {
  position: absolute;
  left: 100%;
  top: 0;
  bottom: 0;
  visibility: hidden;
  opacity: 0;
}
html.js-on .top-slider_item.is-current {
  left: 0;
}
html.js-on .top-slider_item.is-animate, html.js-on .top-slider_item.is-current {
  visibility: visible;
  opacity: 1;
}
.is-swipe .top-slider_item {
  transition: none;
}
.is-swipe .top-slider_item.is-current, .is-swipe .top-slider_item.is-next, .is-swipe .top-slider_item.is-prev {
  visibility: visible;
  opacity: 1;
  transform: translateX(var(--js-swipe));
}
.is-swipe .top-slider_item.is-prev {
  left: -100%;
}
.top-slider_item-inner {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  outline-offset: -2px;
}
.top-slider_item-inner[href]:hover > span, .top-slider_item-inner[href]:active > span, .top-slider_item-inner[href]:focus-visible > span {
  text-decoration: underline;
}
.top-slider_label {
  flex-shrink: 0;
  display: inline-block;
  margin-right: 12px;
  padding: 4px 16px;
  border-radius: 999em;
  background: var(--color-important);
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0;
}
.top-slider_alt {
  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;
}
.top-slider_controls {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 12px;
}
.top-slider_prev, .top-slider_next, .top-slider_toggle, .top-slider_nav-btn {
  transition: opacity var(--transition-timing-function) var(--transition-duration);
}
.top-slider_prev:not([disabled=true]):hover, .top-slider_prev:not([disabled=true]):active, .top-slider_prev:not([disabled=true]):focus-visible, .top-slider_next:not([disabled=true]):hover, .top-slider_next:not([disabled=true]):active, .top-slider_next:not([disabled=true]):focus-visible, .top-slider_toggle:not([disabled=true]):hover, .top-slider_toggle:not([disabled=true]):active, .top-slider_toggle:not([disabled=true]):focus-visible, .top-slider_nav-btn:not([disabled=true]):hover, .top-slider_nav-btn:not([disabled=true]):active, .top-slider_nav-btn:not([disabled=true]):focus-visible {
  opacity: 0.6;
}
.top-slider_prev, .top-slider_next, .top-slider_toggle {
  height: 30px;
  width: 30px;
}
.top-slider_prev, .top-slider_next {
  background: no-repeat center/10px;
}
.top-slider_prev {
  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(390%2e889%20436%2e347)%20rotate(180)%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");
}
.top-slider_next {
  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%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.top-slider_nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.top-slider_nav-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
}
.top-slider_nav-btn::after {
  display: block;
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--color-light-gray);
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.top-slider_nav-btn[aria-current=true]::after {
  background: var(--color-sub);
}
.top-slider_toggle {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
}
.top-slider_toggle::after, .top-slider_toggle::before {
  display: inline-block;
  content: "";
  width: 4px;
  height: 14px;
  border-radius: 2px;
  background: var(--color-sub);
}
.is-pause .top-slider_toggle {
  background: no-repeat center/13px 14px;
  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%2013%2014%22%3e%3cpath%20d%3d%22M6%2e12,1%2e635a1,1,0,0,1,1%2e761,0l5%2e326,9%2e891A1,1,0,0,1,12%2e326,13H1%2e674a1,1,0,0,1%2d%2e88%2d1%2e474Z%22%20transform%3d%22translate(13)%20rotate(90)%22%20fill%3d%22%2380ba27%22%2f%3e%3c%2fsvg%3e");
}
.is-pause .top-slider_toggle::after, .is-pause .top-slider_toggle::before {
  opacity: 0;
}
@media only screen and (min-width: 767px) {
  .top-slider {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
  }
  .top-slider_item {
    font-size: 1.6rem;
    letter-spacing: 0.1em;
  }
  .top-slider_label {
    padding: 4px 16px;
    font-size: 1.4rem;
    letter-spacing: 0;
  }
  .top-slider_list, .top-slider_item, .top-slider_controls {
    width: var(--width-ls);
  }
  .top-slider_nav {
    max-width: 150px;
  }
}
@media only screen and (min-width: 900px) {
  .top-slider {
    display: flex;
    column-gap: calc(32px - var(--slide-gutter));
  }
  .top-slider_list {
    align-items: center;
    margin-bottom: 0;
  }
  .top-slider_nav {
    max-width: 150px;
  }
  .top-slider_controls {
    width: auto;
  }
}

/* .top-anchor
----------------------------------------------- */
.top-anchor {
  margin-bottom: 40px;
}
.top-anchor_inner {
  max-width: var(--width-content-max);
  margin: 0 auto;
  padding: 0 var(--gutter-content);
  transition: padding ease 0.5s;
}
.top-anchor_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.top-anchor_list > li a {
  --icon-height: 16px;
  --icon-width: 12px;
  display: block;
  height: 100%;
  padding: 10px 12px;
  border-radius: 6px;
  border: solid 1px var(--color-light-gray);
  background: var(--color-bg-light-gray);
  color: var(--color-gray);
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  transition: background-color var(--transition-timing-function) var(--transition-duration);
}
.top-anchor_list > li a > span {
  position: relative;
  display: block;
  padding-bottom: calc(var(--icon-height) + 6px);
}
.top-anchor_list > li a > span::after {
  display: block;
  content: "";
  position: absolute;
  right: 50%;
  bottom: 0;
  width: var(--icon-width);
  height: var(--icon-height);
  background: no-repeat center;
  transform: translateX(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%2380ba27%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%2380ba27%22%20stroke%2dlinecap%3d%22round%22%20stroke%2dwidth%3d%222%22%2f%3e%3c%2fsvg%3e");
}
.top-anchor_list > li a:hover, .top-anchor_list > li a:active, .top-anchor_list > li a:focus-visible {
  background: var(--color-bg-green);
}
@media only screen and (min-width: 767px) {
  .top-anchor {
    margin-bottom: 80px;
  }
  .top-anchor_list {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .top-anchor_list > li a {
    padding: 23px 24px;
    font-size: 1.6rem;
  }
  .top-anchor_list > li a > span {
    display: inline-block;
    padding: 0 calc(var(--icon-width) + 12px) 0 0;
  }
  .top-anchor_list > li a > span::after {
    right: 0;
    bottom: 50%;
    transform: translateY(50%);
  }
}
@media only screen and (min-width: 1152px) {
  .top-anchor_inner {
    padding-right: 0;
    padding-left: 0;
  }
}

/* .top-hdg-l-02
----------------------------------------------- */
.top-hdg-l-02 {
  margin-bottom: 16px;
  color: var(--color-sub);
  font-weight: 700;
  font-size: 2rem;
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .top-hdg-l-02 {
    font-size: 3.6rem;
    margin-bottom: 24px;
    text-align: left;
  }
}

/* .top-txt
----------------------------------------------- */
.top-txt {
  margin-bottom: 12px;
  line-height: 1.8;
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) {
  .top-txt {
    margin-bottom: 24px;
    font-size: 2rem;
  }
}

/* .top-btn
----------------------------------------------- */
.top-btn {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 10px calc(28px + 2%);
  border: solid 1px var(--color-light-gray);
  background: var(--color-bg-light-gray);
  color: var(--color-gray);
  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);
}
.top-btn::after {
  display: block;
  content: "";
  position: absolute;
  right: 14px;
  top: calc(50% - 6px);
  width: 16px;
  height: 12px;
  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%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");
}
.top-btn:hover, .top-btn:active, .top-btn:focus-visible {
  background: var(--color-bg-green);
}
@media only screen and (min-width: 767px) {
  .top-btn {
    padding: 11px 40px;
    font-size: 1.6rem;
  }
}

/* .top-panel
----------------------------------------------- */
.top-panel {
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
}
.top-panel > :first-child {
  margin-top: 0;
}
.top-panel > :last-child {
  margin-bottom: 0;
}
.top-panel_content > :first-child, .top-panel_txt > :first-child, .top-panel_btn > :first-child {
  margin-top: 0;
}
.top-panel_content > :last-child, .top-panel_txt > :last-child, .top-panel_btn > :last-child {
  margin-bottom: 0;
}
.top-panel_txt {
  margin-bottom: 12px;
  line-height: 1.8;
}
.top-panel_banner {
  margin: 32px auto;
}
.top-panel_banner a {
  display: block;
  transition: opacity var(--transition-timing-function) var(--transition-duration);
}
.top-panel_banner a:hover, .top-panel_banner a:active, .top-panel_banner a:focus-visible {
  opacity: 0.7;
}
.top-panel_linklist {
  margin-bottom: var(--gutter);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 8px;
}
.top-panel_link-text.link {
  margin-top: 24px;
}
.top-panel .list-check {
  margin-bottom: 12px;
}
@media only screen and (max-width: 975.9px) {
  .top-panel_content {
    display: contents;
    margin-top: -7vw;
  }
  .top-panel_sub-hdg {
    text-align: center;
  }
  .top-panel_hdg {
    order: -2;
  }
  .top-panel_img {
    order: -1;
    max-width: 375px;
    margin: 0 auto;
  }
  .top-panel_btn {
    width: 100%;
    max-width: var(--width-btn-max);
    margin: 0 auto;
    text-align: center;
  }
  .top-panel_hdg + * {
    margin-top: -20px;
  }
}
@media only screen and (min-width: 976px) {
  .top-panel {
    position: relative;
    justify-content: center;
    font-size: 2rem;
  }
  .top-panel_txt {
    margin-bottom: 24px;
  }
  .top-panel_linklist {
    margin-bottom: var(--gutter-ls);
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
  }
  .top-panel_img {
    position: relative;
    max-width: 61%;
    margin-left: auto;
    right: -12px;
    text-align: right;
  }
  .top-panel_content {
    position: absolute;
    z-index: 1;
    max-width: 50%;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
  }
  .top-panel_banner {
    margin: 40px 0;
  }
  .top-panel .list-check {
    margin-bottom: 16px;
  }
  .top-panel .list-check > li::before {
    top: 0.26em;
  }
  .top-panel.-reverse .top-panel_content {
    right: 0;
  }
  .top-panel.-reverse .top-panel_img {
    margin-left: 0;
    right: 0;
    left: -28px;
    text-align: left;
  }
}

/* .top-panel-02
----------------------------------------------- */
.top-panel-02 {
  padding: 20px;
  background: #fff;
  box-shadow: var(--box-shadow);
  border-radius: 10px;
  text-align: center;
}
.top-panel-02 > :first-child {
  margin-top: 0;
}
.top-panel-02 > :last-child {
  margin-bottom: 0;
}
.top-panel-02_hdg {
  display: block;
  margin-bottom: 16px;
  color: var(--color-main);
  font-size: 1.8rem;
  font-weight: 700;
}
.top-panel-02_hdg.-color-02 {
  color: var(--color-gray);
}
.top-panel-02_img {
  margin-bottom: 20px;
}
.top-panel-02_btn {
  max-width: var(--width-btn-max);
  margin: 0 auto;
}
.top-panel-02_txt > :first-child, .top-panel-02_btn > :first-child {
  margin-top: 0;
}
.top-panel-02_txt > :last-child, .top-panel-02_btn > :last-child {
  margin-bottom: 0;
}
.lyt-col_item > .top-panel-02 {
  height: 100%;
}
.top-panel-02.-large .top-panel-02_hdg {
  letter-spacing: 0.1em;
}
.top-panel-02.-large .top-panel-02_btn > .btn {
  width: 100%;
  padding-top: 17px;
  padding-bottom: 17px;
  font-size: 1.6rem;
}
@media only screen and (min-width: 767px) {
  .top-panel-02 {
    padding: 40px 24px;
  }
  .top-panel-02_hdg {
    margin-bottom: 24px;
    font-size: 2.4rem;
  }
  .top-panel-02_btn.-col-02 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: calc(var(--width-btn-max) * 2 + 24px);
  }
  .top-panel-02_btn.-col-02 > * {
    margin: 0;
  }
  .top-panel-02.-large .top-panel-02_btn > .btn {
    width: 100%;
    font-size: 2rem;
  }
}

/*
top-selincro-btn
----------------------------------------------- */
.top-selincro-btn {
  width: 100%;
  max-width: 315px;
}
