
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic&display=swap');
/* import web font, noto sans and noto serif */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers
*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  line-height: inherit;
}
:root {
  --content-width: 1440px;
  --content-inner-width: 1063px;
  --content-slim-width: 913px;
  --color-green: #8BBE00;
  --color-light-green: #C1E06C;
  --color-ivory: #FFFCEA;
}
html, body {
  /* font-family: "Helvetica Neue", 'Noto Sans JP', sans-serif; */
  font-family: 'Noto Sans JP', sans-serif;
}
body {
  -webkit-font-smoothing: antialiased;
}
p {
  font-family: inherit;
}
* {
  box-sizing: border-box;
}
img {
  display: block;
}
.sans {
  font-family: 'Noto Sans JP', sans-serif;
}
.serif {
  font-family: 'Noto Serif JP', serif;
}
.zenmaru {
  font-family: 'Zen Maru Gothic', sans-serif;
}
@media(max-width: 767px) {
  .pc {
    display: none;
  }
}
@media(min-width: 768px) {
  .sp {
    display: none;
  }
}
.bg {
  background-position: center center;
  background-size: cover;
  /* fixed bg */
  background-attachment: fixed; 
}
@media(min-width: 768px) {
.bg {
    background-image: url(../images/bg.png) 
}
  }
@media(max-width: 767px) {
.bg {
    background-image: url(../images/bg.png) 
}
  }
.related-releases .inner {
    background-color: #FFFCEA;
    background-color: var(--color-ivory);
    border-radius: 20px;
    box-shadow: 0px 10px 10px 0px #665e001a;
    padding: 30px 20px;
    max-width: 913px;
    max-width: var(--content-slim-width);
    margin: 0 auto;
  }
.related-releases h3 {
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 1rem;
  }
@media(max-width: 767px) {
.related-releases h3 {
      font-size: 16px;
      line-height: 2;
      letter-spacing: 0.07em;
      margin-bottom: 10px
  }
    }
.related-releases .release-list {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.04em;
    text-align: center;
    list-style: none;
  }
@media(max-width: 767px) {
.related-releases .release-list {
      font-size: 13px
  }
    }
.related-releases .release-list li {

    }
.related-releases .release-list a {
      text-decoration: underline;
      color: #333;

    }
.related-releases .release-list span {

    }
header {
  position: fixed;
  z-index: 100;
}
header .logo-box {
  position: fixed;
  top: 32px;
  left: 25px;
}
header .logo-box .logo {
    display: block;
    width: calc(255px / 2);
    height: auto;
  }
.menu .btn-label {
    display: none;
  }
.menu .menu-btn {
    position: fixed;
    top: 33px;
    right: 30px;
    z-index: 1;
  }
.menu .menu-btn .bars {
      width: 50px;
      height: 50px;
      position: relative;
    }
.menu .menu-btn .bar {
      width: 50px;
      height: 3.5px;
      background: #8BBE00;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: auto;
      margin: auto;
      transition: .3s ease;
    }
.menu .menu-btn .bar.bar-01 {
        width: 100%;
        transform: translateY(-22px);
      }
.menu .menu-btn .bar.bar-02 {
        width: 70%;
      }
.menu .menu-btn .bar.bar-03 {
        width: 30%;
        transform: translateY(22px);
      }
.menu .menu-drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    opacity: 0;
    transform: translateX(100%);
    transition: opacity .3s ease;
  }
/* overflow: auto; */
.menu .menu-drawer-inner {
      height: 100%;
      overflow: auto;
    }
@media(min-width: 768px) {
.menu .menu-drawer {
      left: auto;
      width: 475px
  }
    }
.menu .menu-drawer:before {
      content:"";
      position: absolute;
      display: block;
      width: 100%;
      height: 100%;
      background: #8BBE00;
      opacity: .95;
    }
.menu .menu-drawer ul {
      text-align: center;
      margin-top: 164px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
@media(max-width: 767px) {
.menu .menu-drawer ul {
        margin-top: 80px
    }
      }
.menu .menu-drawer li {
      margin-bottom: 60px;
    }
.menu .menu-drawer li:last-of-type {
        margin-top: 10px;
      }
.menu .menu-drawer a {
      color: #fff;
      font-size: 36px;
      text-decoration: none;
      font-weight: 400;
      letter-spacing: 0.07em;
    }
.menu .menu-drawer a.btn {
        background: #fff;
        color: #8BBE00;
        font-size: 14px;
        padding: 18px;
        border-radius: 30px;
        letter-spacing: 0.04em;
        display: inline-flex;
      }
.menu .menu-drawer a img {
        width: auto;
      }
.menu .menu-drawer a img.top {
          height: 29px;
        }
.menu .menu-drawer a img.overview {
          height: 33px;
        }
.menu .menu-drawer a img.survey {
          height: 33px;
        }
.menu .menu-drawer a img.activities {
          height: 73px;
        }
.menu .menu-drawer a img.training {
          height: 73px;
        }
.menu.opened .bars .bar {
        background: #fff;
        height: 1px;
      }
.menu.opened .bars .bar.bar-01 {
          width: 100%;
          transform: rotate(45deg);
        }
.menu.opened .bars .bar.bar-02 {
          width: 0%;
          right: auto;
        }
.menu.opened .bars .bar.bar-03 {
          width: 100%;
          transform: rotate(-45deg);
        }
.menu.opened .menu-drawer {
      transform: translateX(0);
      opacity: 1;
      /* transition: transform .3s ease, opacity .2s ease; */
    }
@media(max-width: 767px) {
  header {
    /* height: 65px; */
  }

  header .logo-box {
    top: 15px;
    left: 15px;
  }
    header .logo-box .logo {
      width: 73px;
    }
    header .menu .menu-btn {
      top: 22px;
      right: 15px;
    }
      header .menu .menu-btn .bars {
        width: 25px;
        height: 25px;
        position: relative;
      }
      header .menu .menu-btn .bar {
        width: 25px;
        height: 2px;
      }
        header .menu .menu-btn .bar.bar-01 {
          width: 25px;
          transform: translateY(-11px);
        }
        header .menu .menu-btn .bar.bar-02 {
          width: 17px;
        }
        header .menu .menu-btn .bar.bar-03 {
          width: 8px;
          transform: translateY(11px);
        }
}
#footer {
    background: #FAFAFA;
}
#footer >.inner {
    padding: 34px 20px 34px;
    position: relative;
    max-width: 1440px;
    max-width: var(--content-width);
    margin: auto;
  }
@media(min-width: 768px) {
#footer >.inner {
      padding: 34px 15px
  }
    }
#footer #scrollToTopBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 81px;
    height: 81px;
    transform: translateY(-50%) translateX(-50%);
    display: block;

  }
@media(max-width: 767px) {
#footer #scrollToTopBtn {
      transform: translateY(-50%) translateX(-15px)

  }
    }
#footer #scrollToTopBtn img {
      width: 100%;
      height: auto;
    }
#footer section#contact h2 {
      font-size: 25px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.03em;
      color: #333;
      text-align: center;
      margin-bottom: 1.5rem;
    }
@media(max-width: 767px) {
#footer section#contact h2 {
        margin-bottom: 1.5rem
    }
      }
#footer section#contact h2 img {
        max-width: 100%;
        width: 129px;
        height: auto;
        margin: auto;
      }
@media(min-width: 768px) {
#footer section#contact h2 img {
          width: 124px
      }
        }
#footer section#contact .contact-info {
      max-width: 1063px;
      max-width: var(--content-inner-width);
      margin: auto;
      padding: 30px 20px;
      background: #fff;
    }
@media(max-width: 767px) {
#footer section#contact .contact-info {
        padding: 30px 5px
    }
      }
#footer section#contact p {
      font-size: 16px;
      font-weight: 500;
      line-height: 22px;
      letter-spacing: 0.04em;
      color: #333;
      text-align: center;
    }
@media(max-width: 767px) {
#footer section#contact p {
        line-height: 30px
    }
      }
#footer section#contact p.email {
      width: fit-content;
      margin: auto;

    }
@media(min-width: 768px) {
#footer section#contact p.email {
        margin-top: .5rem;
        padding-bottom: 0.25rem;
        border-bottom: 1px solid #333

    }
      }
@media(max-width: 767px) {
#footer section#contact p.email {
        margin-top: 0.5rem;
        padding-bottom: 0.25rem

    }
#footer section#contact p.email span {
          border-bottom: 1px solid #333;
          margin-bottom: 0.5rem;
          display: inline-block;
          padding-bottom: 0
      }
      }
#footer section#contact p.email a {
        font-weight: 600;
        text-decoration: none;
        color: #333;
      }
@media(min-width: 768px) {
#footer section#contact p.email a {
          padding-left: 1rem
      }
        }
@media(max-width: 767px) {
#footer section#contact p.email a {
          border-bottom: 1px solid #333;
          margin-bottom: 0.5rem;
          display: inline-block;
          padding-bottom: 0
      }
        }
#footer section#copyright .inner {
      padding: 40px 20px 0;
    }
@media(max-width: 767px) {
#footer section#copyright .inner {
        padding: 40px 5px 0
    }
      }
#footer section#copyright .logo-box {
      margin: auto;
      margin-bottom: 40px;
      width: 128px;
    }
#footer section#copyright .logo-box img {
        width: 100%;
        height: auto;
      }
#footer section#copyright p {
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 400;
      font-size: 16px;
      letter-spacing: 0;
      line-height: 1.5;

      text-align: center;
    }
@media(max-width: 767px) {
#footer section#copyright p {
        font-size: 12px
    }
      }
#hero >.inner {
    padding-top: calc(275px / 2);
    padding-bottom: 85px;
    max-width: 1440px;
    max-width: var(--content-width);
    margin: 0 auto;
  }
@media(max-width: 767px) {
#hero >.inner {
      padding-top: 65PX;
      padding-bottom: 62px
  }
    }
#hero{
  color: #666666;
}
#hero .title-box {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-bottom: 72px;
  }
@media(max-width: 767px) {
#hero .title-box {
      flex-direction: column-reverse;
      padding-bottom: 60px
  }
    }
#hero .title-box > div {
      width: 50%;
    }
@media(max-width: 767px) {
#hero .title-box > div {
        width: 100%
    }
      }
#hero .logo img {
      margin: auto;
      
    }
#hero h1 {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 50px;
  }
#hero h1 img {
      max-width: 100%;
      width: 250px;
      margin: auto;
    }
@media(min-width: 768px) {
#hero h1 img {
        width: 448px;
        height: auto
    }
      }
@media(max-width: 767px) {
#hero h1 {
      font-size: 25px;
      line-height: 45px;
      letter-spacing: 0.04em;
      margin-top: 25px
  }
#hero .image-box {
      margin-bottom: 50px
  }
    }
#hero .image-box img {
      display: block;
      margin: auto;
      width: calc(1455px / 2);
      width: 100%;
      height: auto;
    }
@media(min-width: 768px) {
#hero .image-box img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px
    }
      }
@media(max-width: 767px) {
#hero .image-box img {
        width: 100%;
        height: auto
    }
      }
#hero .anchor-links {
    max-width: 1063px;
    margin: 0 auto;
    padding: 0 15px;
  }
#hero .anchor-links ul {
      display: flex;
      /* 4 items per row */
      flex-wrap: wrap;
      justify-content: space-between;
      margin: 0;
      padding: 0;
      list-style: none;


    }
@media(max-width: 767px) {
#hero .anchor-links ul {
        /* flex-direction: column; */
        align-items: center


    }
      }
@media(min-width: 768px) {
        #hero .anchor-links ul li {
          width: calc(100% / 4 - 7px);
          margin-bottom: 14px;
        }
      }
@media(max-width: 767px) {
        #hero .anchor-links ul li {
          width: calc(100% / 2 - 6px);
          margin-bottom: 12px;
        }
      }
#hero .anchor-links li a {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: calc(207px / 2);
        background-color: #fff;
        border-radius: 20px;
        box-shadow: 0px 10px 10px 0px #665e001a;
        color: #8BBE00;
        color: var(--color-green);
        text-decoration: none;
        /* place down-arrow icon */
        position: relative;

      }
#hero .anchor-links li a:after {
          content: "";
          position: relative;
          /* border-left: 10px solid transparent;
          border-right: 10px solid transparent;
          border-top: 10px solid var(--color-green); */
          width: 12px;
          height: 11px;
          display: block;
          /* margin: auto; */
          margin-top: 0.5rem;
          background-image: url("../images/arrow-down.svg");
          background-size: contain;
          background-position: center;
          background-repeat: no-repeat;
        }
@media(max-width: 767px) {
#hero .anchor-links li a {
          min-height: 100px

      }
        }
#hero .anchor-links li span {
        font-size: 16px;
        letter-spacing: 0.09em;
        line-height: 1.5;
        font-weight: 600;
        text-align: center;
      }
@media(max-width: 767px) {
#hero .anchor-links li span {
          font-size: 15px;
          line-height: 1.4
      }
        }
#overview > .inner {
    padding: 50px 15px 30px;
    max-width: 913px;
    max-width: var(--content-slim-width);
    margin: auto;

  }
@media(max-width: 767px) {
#overview > .inner {
      padding-top: 115px

  }
    }
#overview h2 {
    font-size: 37px;
    font-weight: 700;
    line-height: 2;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 40px;
  }
#overview h2 span {}
#overview h2 img {
      max-width: 100%;
      width: 122px;
      height: auto;
      margin: auto;

    }
@media(min-width: 768px) {
#overview h2 img {
        width: 146px

    }
      }
@media(max-width: 767px) {
#overview h2 {
      font-size: 30px;
      line-height: 50px;
      letter-spacing: 0.04em
  }
    }
#overview .lede {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 40px;
  }
#overview .lede img {
      max-width: 100%;
      width: 276px;
      height: auto;
      margin: auto;
    }
@media(min-width: 768px) {
#overview .lede img {
        width: 552px
    }
      }
@media(max-width: 767px) {
#overview .lede {
      font-size: 25px;
      line-height: 35px;
      letter-spacing: 0.04em
  }
    }
#overview .bodycopy-box p {
      font-size: 16px;
      font-weight: 500;
      line-height: 2.2;
      letter-spacing: 0.04em;
      color: #333333;
      text-align: center;
      margin-bottom: 2rem;
    }
@media(max-width: 767px) {
#overview .bodycopy-box p {
        font-size: 13px
    }
      }
#overview .gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 100px;
  }
@media(min-width: 768px) {
#overview .gallery {
     justify-content: space-between;
     margin-right: -15px;
     margin-left: -15px;
     margin-bottom: 100px
  }
    }
@media(max-width: 767px) {
#overview .gallery {
      margin-top: 50px
  }
    }
#overview .gallery > div {
      width: calc(100% / 2 - 20px);
      max-width: 413px;
      margin: 0px 15px 50px;
    }
@media(min-width: 768px) {
        #overview .gallery > div:nth-last-of-type(odd) {
          transform: translateY(100px);
          margin-right: 0;
        }
        #overview .gallery > div:nth-last-of-type(even) {
          margin-left: 0;
        }
      }
@media(max-width: 767px) {
#overview .gallery > div {
        width: 100%;
        /* max-width: 230px; */
        margin: 0 0 20px 0
    }
          #overview .gallery > div:nth-last-of-type(odd) img {
            margin-right: 0;
            margin-left: auto;
          }
      }
#overview .gallery > div img {
        width: 100%;
        height: auto;
        border-radius: 10px;
      }
@media(max-width: 767px) {
#overview .gallery > div img {
          max-width: 230px
      }
        }
#survey >.inner {
    /* background-color: #fff; */
    max-width: 1063px;
    max-width: var(--content-inner-width);
    margin: auto;
    padding: 50px 15px 30px;
  }
#survey h2 {
    font-size: 37px;
    font-weight: 700;
    line-height: 2;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 40px;
  }
#survey h2 span {}
#survey h2 img {
      max-width: 100%;
      width: 270px;
      height: auto;
      margin: auto;
    }
@media(min-width: 768px) {
#survey h2 img {
        width: 606px
    }
      }
@media(max-width: 767px) {
#survey h2 {
      font-size: 30px;
      line-height: 50px;
      letter-spacing: 0.04em
  }
    }
#survey .bodycopy-box p {
      font-size: 16px;
      font-weight: 500;
      line-height: 2.2;
      letter-spacing: 0.04em;
      color: #333333;
      text-align: center;
      margin-bottom: 2rem;
    }
@media(max-width: 767px) {
#survey .bodycopy-box p {
        font-size: 13px
    }
      }
#survey .survey-result {
    margin-bottom: 50px;
  }
#survey .survey-result > .inner {
      padding: 50px 20px 40px;
      background: #fff;
      border-radius: 20px;
      box-shadow: 0px 10px 10px 0px #665e001a;

    }
#survey .survey-result .survey-item {
      max-width: 763px;
      margin: 0 auto;
      margin-bottom: 60px;
    }
@media(max-width: 767px) {
#survey .survey-result .survey-item {
        margin-bottom: 50px
    }
      }
#survey .survey-result .survey-item h3 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        font-size: 25px;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: 0.07em;
        color: #8BBE00;
        color: var(--color-green);
        text-align: center;
        position: relative;
        margin-bottom: 34px;
      }
#survey .survey-result .survey-item h3::before,
        #survey .survey-result .survey-item h3::after {
          content: ''; /* 擬似要素にはcontentプロパティが必須 */
          display: block; /* 縦棒にするためブロック要素に */
          position: absolute; /* 親要素（h2）を基準に配置 */
          top: 50%; /* 上下中央に配置 */
          transform: translateY(-50%); /* 自身の高さの半分だけ上にずらして完全に中央に */
          width: calc(5px / 2); /* 縦棒の幅 */
          height: 100%; /* 親要素（h2）と同じ高さに */
          max-height: 34px;
          background-color: #8BBE00;
          background-color: var(--color-green); /* 縦棒の色（任意） */
        }
#survey .survey-result .survey-item h3::before {
          left: -15px;
        }
@media(min-width: 768px) {
#survey .survey-result .survey-item h3::before {
            left: -15px /* 左側の縦棒の位置 */
        }
          }
#survey .survey-result .survey-item h3::after {
          right: -15px;
        }
@media(min-width: 768px) {
#survey .survey-result .survey-item h3::after {
            right: -15px /* 右側の縦棒の位置 */
        }
          }
@media(max-width: 767px) {
#survey .survey-result .survey-item h3 {
          font-size: 20px;
          line-height: 1.3;
          letter-spacing: 0.07em
      }
        }
#survey .survey-result .survey-item .chart-box {
        overflow-x: hidden;
        display: flex;
        position: relative;
      }
#survey .survey-result .survey-item .chart-box .chart-bg {
          display: block;
          position: absolute;
          width: 100%;
          height: 230px;
          background: #FFFCEA;
          background: #FFFCEA;
          background: var(--color-ivory);
          z-index: 0;
          left: 32px;
          right: 0;
          top: 18px;
        }
#survey .survey-result .survey-item .chart-box .chart-legend {
          width: 32.1px;
          flex-shrink: 0;
        }
#survey .survey-result .survey-item .chart-box .chart-legend img {
            width: 32px;
            height: 252px;
          }
#survey .survey-result .survey-item .chart-box .ps__thumb-x {
          opacity: 1;
          background-color: #8BBE00;
          background-color: var(--color-green);
          height: 5px;
          bottom: 0;
        }
#survey .survey-result .survey-item .chart-box .ps__rail-x {
          opacity: 1;
          background-color: #FEF6D1;
          height: 5px;
        }
#survey .survey-result .survey-item .chart-box .chart {
          width: calc(100% - 32px);
          flex-shrink: 0;
          overflow-x: auto;
          padding-top: 48px;
          padding-bottom: 15px;
          padding-left: 14px;
          padding-right: 14px;
          position: relative;
          /* scrollbar-color: var(--color-green) #FEF6D1;
          scrollbar-width: thin; */
          /* &::-webkit-scrollbar {
            height: 5px;
            background-color: #FEF6D1;
          }
          &::-webkit-scrollbar-track {
            background-color: #FEF6D1;
          }
          &::-webkit-scrollbar-thumb {
            background-color: var(--color-green);
            border-radius: 1px;
          } */
        }
/* &:before {
            content: '';
            position: absolute;
            width: 100%;
            height: 227px;
            background: var(--color-ivory);
            z-index: 0;
            top: 18px;
          } */
#survey .survey-result .survey-item .chart-box .chart img {
            position: relative;
            z-index: 1;
            width: 1079px;
            height: 383px;
          }
#survey .survey-result .survey-item .ranking-box dl {
          display: flex;
          flex-wrap: wrap;
          font-size: 22px;
          font-weight: 600;
          line-height: 1.2;
          letter-spacing: 0.07em;
        }
@media(max-width: 767px) {
#survey .survey-result .survey-item .ranking-box dl {
            font-size: 15px
        }
          }
#survey .survey-result .survey-item .ranking-box dl dt {
            width: 85px;
            background-color: #8BBE00;
            background-color: var(--color-green);
            text-align: center;
            color: #fff;
            padding: 8px 25px 7px;
            display: flex;
            align-items: center;
            justify-content: center;
          }
#survey .survey-result .survey-item .ranking-box dl dt .unit {
              font-size: 16px;
            }
@media(max-width: 767px) {
#survey .survey-result .survey-item .ranking-box dl dt .unit {
                font-size: 14px
            }
              }
#survey .survey-result .survey-item .ranking-box dl dt{
            border-bottom: 0.3px solid #FFFCEA;
            border-bottom: 0.3px solid var(--color-ivory);
}
#survey .survey-result .survey-item .ranking-box dl dt:last-child {
              border-bottom: none;
            }
@media(max-width: 767px) {
#survey .survey-result .survey-item .ranking-box dl dt {
              width: 40px;
              padding: 8px 5px 7px
          }
            }
#survey .survey-result .survey-item .ranking-box dl dd {
            width: calc(100% - 85px);
            padding: 0 20px;
            color: #8BBE00;
            color: var(--color-green);
            background-color: #FFFCEA;
            background-color: var(--color-ivory);
            border-bottom: 0.3px solid #8BBE00;
            border-bottom: 0.3px solid var(--color-green);
            padding: 8px 25px 7px;
            display: flex;
            align-items: center;

          }
#survey .survey-result .survey-item .ranking-box dl dd .percentage {
              font-size: 16px;
            }
@media(max-width: 767px) {
#survey .survey-result .survey-item .ranking-box dl dd .percentage {
                font-size: 14px
            }
              }
#survey .survey-result .survey-item .ranking-box dl dd:last-child {
              border-bottom: none;
            }
@media(max-width: 767px) {
#survey .survey-result .survey-item .ranking-box dl dd {
              width: calc(100% - 40px);
              padding: 8px 5px 7px 20px

          }
            }
#survey .survey-result .note {
      max-width: 763px;
      margin: 0 auto;
      font-size: 12px;
      font-weight: 400;
      line-height: 2;
      letter-spacing: 0.03em;
      color: #333333;
      text-align: left;
    }
#survey .survey-result .note ul {
        list-style: square;
        padding-left: 1em;
      }
@media(max-width: 767px) {
#survey .survey-result .note {
        font-size: 12px;
        letter-spacing: 0.04em
    }
      }
#survey .survey-result .note li::marker {
        content: '■';
      }
#survey .end-then {
    margin-bottom: 50px;
  }
#survey .end-then p {
      font-size: 16px;
      font-weight: 500;
      line-height: 2.2;
      letter-spacing: 0.04em;
      color: #333333;
      text-align: center;
    }
@media(max-width: 767px) {
#survey .end-then p {
        font-size: 13px
    }
      }
#activities >.inner {
    padding: 70px 15px 30px;
    margin: auto;
    max-width: 1063px;
    max-width: var(--content-inner-width);
  }
#activities h2 {
    font-size: 37px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.04em;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 40px;
  }
#activities h2 img {
      max-width: 100%;
      width: 249px;
      height: auto;
      margin: auto;
    }
@media(min-width: 768px) {
#activities h2 img {
        width: 590px
    }
      }
@media(max-width: 767px) {
#activities h2 {
      font-size: 30px;
      line-height: 50px;
      letter-spacing: 0.04em
  }
    }
#activities .bodycopy-box p {
      font-size: 16px;
      font-weight: 500;
      line-height: 2.2;
      letter-spacing: 0.04em;
      color: #333333;
      text-align: center;
      margin-bottom: 2rem;
    }
#activities .bodycopy-box p:last-child {
        margin-bottom: 0;
      }
@media(max-width: 767px) {
#activities .bodycopy-box p {
        font-size: 13px
    }
      }
#activities .activity-list {
    padding-top: 50px;
    margin-bottom: 50px;
  }
#activities .activity-list > .inner {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
@media(min-width: 768px) {
#activities .activity-list > .inner {
        margin-right: -10px;
        margin-left: -10px
    }
      }
#activities .activity-item {
    width: calc(100% / 3 - 20px);
    margin: 0 10px;
  }
@media(max-width: 767px) {
#activities .activity-item {
      width: 100%;
      margin: 0 0 30px 0
  }
      #activities .activity-item:last-child {
        margin-bottom: 0;
      }
    }
#activities .activity-item >.inner {
      height: 100%;
      background-color: #fff;
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 44px 25px 36px;
      border-radius: 20px;
    box-shadow: 0px 10px 10px 0px #665e001a;

    }
#activities .activity-item p.num {
      font-size: 37px;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.04em;
      color: #8BBE00;
      color: var(--color-green);
      text-align: center;
      width: fit-content;
      position: relative;
      margin-bottom: 24px;
    }
#activities .activity-item p.num img {
        width: auto;
        height: 27px;
      }
@media(max-width: 767px) {
#activities .activity-item p.num img {
          height: 22px
      }
        }
#activities .activity-item p.num:after {
        /* border bottom: 1px solid #8BBE00; */
        content: "";
        display: block;
        width: 100%;
        height: 2.5px;
        background-color: #C1E06C;
        background-color: var(--color-light-green);
        margin-top: 10px;
      }
#activities .activity-item h3 {
      font-size: 16px;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.04em;
      color: #8BBE00;
      color: var(--color-green);
      text-align: center;
      margin-bottom: 24px;
    }
@media(min-width: 768px) {
#activities .activity-item h3 {
        min-height: 6em
    }
      }
#activities .activity-item h3 .note {
        font-size: 12px;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.04em;
        text-align: center;
      }
#activities .activity-item p.desc {
      font-size: 12px;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.04em;
      color: #333;
      text-align: left;
    }
#activities .activity-pickup {
    padding-top: 50px;
  }
#activities .activity-pickup >.inner {

    }
#activities .activity-pickup h3 {
      font-size: 22px;
      font-weight: 500;
      line-height: 2;
      letter-spacing: 0.04em;
      color: #8BBE00;
      color: var(--color-green);
      text-align: center;
      margin-bottom: 20px;
    }
#activities .activity-pickup h3 img {
        max-width: 100%;
        width: 288px;
        height: auto;
        margin: auto;
      }
@media(min-width: 768px) {
#activities .activity-pickup h3 img {
          width: 520px
      }
        }
@media(max-width: 767px) {
#activities .activity-pickup h3 {
        font-size: 16px;
        line-height: 2;
        letter-spacing: 0.07em
    }
      }
#activities .activity-pickup .usage {
      padding-top: 50px;
      margin-bottom: 50px;
    }
#activities .activity-pickup .usage >.inner {
        padding: 75px 25px 70px;
        background: #fff;
        border-radius: 20px;
        box-shadow: 0px 10px 10px 0px #665e001a;
      }
@media(max-width: 767px) {
#activities .activity-pickup .usage >.inner {
          padding: 50px 25px 50px
      }
        }
#activities .activity-pickup .usage h4 {
        display: block;
        width: fit-content;
        margin: 0 auto 50px;
        font-size: 25px;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: 0.07em;
        color: #8BBE00;
        color: var(--color-green);
        text-align: center;
        position: relative;
      }
#activities .activity-pickup .usage h4::before,
        #activities .activity-pickup .usage h4::after {
          content: ''; /* 擬似要素にはcontentプロパティが必須 */
          display: block; /* 縦棒にするためブロック要素に */
          position: absolute; /* 親要素（h2）を基準に配置 */
          top: 50%; /* 上下中央に配置 */
          transform: translateY(-50%); /* 自身の高さの半分だけ上にずらして完全に中央に */
          width: calc(5px / 2); /* 縦棒の幅 */
          height: 100%; /* 親要素（h2）と同じ高さに */
          max-height: 34px;
          background-color: #8BBE00;
          background-color: var(--color-green); /* 縦棒の色（任意） */
        }
#activities .activity-pickup .usage h4::before {
          left: -5px;
        }
@media(min-width: 768px) {
#activities .activity-pickup .usage h4::before {
            left: -15px /* 左側の縦棒の位置 */
        }
          }
#activities .activity-pickup .usage h4::after {
          right: -5px;
        }
@media(min-width: 768px) {
#activities .activity-pickup .usage h4::after {
            right: -15px /* 右側の縦棒の位置 */
        }
          }
@media(max-width: 767px) {
#activities .activity-pickup .usage h4 {
          font-size: 20px;
          line-height: 1.3;
          letter-spacing: 0.07em
      }
#activities .activity-pickup .usage .chart-box {
          padding-right: 5px;
          padding-left: 5px
      }
        }
#activities .activity-pickup .usage .chart-box img {
          display: block;
          margin: auto;
          width: 100%;
          height: auto;
          max-width: 740px;
        }
#training >.inner {
    max-width: 1063px;
    max-width: var(--content-inner-width);
    margin: auto;
    padding: 50px 15px 30px;
  }
#training h2 {
    font-size: 37px;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.04em;
    color: #8BBE00;
    color: var(--color-green);
    text-align: center;
    margin-bottom: 40px;
  }
#training h2 img {
      max-width: 100%;
      width: 323px;
      height: auto;
      margin: auto;
    }
@media(min-width: 768px) {
#training h2 img {
        width: 399px
    }
      }
#training .bodycopy-box p {
      font-size: 16px;
      font-weight: 500;
      line-height: 2.2;
      letter-spacing: 0.04em;
      color: #333333;
      text-align: center;
      margin-bottom: 1rem;
    }
#training .bodycopy-box p:last-child {
        margin-bottom: 0;
      }
@media(max-width: 767px) {
#training .bodycopy-box p {
        font-size: 13px
    }
      }
#training .trainings {
    padding-top: 50px;
  }
#training .trainings >.inner {}
#training .trainings .training-item{
      margin-bottom: 50px;
    }
#training .trainings .training-item h3 {
        display: block;
        width: fit-content;
        margin: 0 auto;
        font-size: 25px;
        font-weight: 600;
        line-height: 1.1;
        letter-spacing: 0.07em;
        color: #8BBE00;
        color: var(--color-green);
        text-align: center;
        position: relative;
        margin-bottom: 40px;
      }
#training .trainings .training-item h3::before,
        #training .trainings .training-item h3::after {
          content: ''; /* 擬似要素にはcontentプロパティが必須 */
          display: block; /* 縦棒にするためブロック要素に */
          position: absolute; /* 親要素（h2）を基準に配置 */
          top: 50%; /* 上下中央に配置 */
          transform: translateY(-50%); /* 自身の高さの半分だけ上にずらして完全に中央に */
          width: calc(5px / 2); /* 縦棒の幅 */
          height: 100%; /* 親要素（h2）と同じ高さに */
          background-color: #8BBE00;
          background-color: var(--color-green); /* 縦棒の色（任意） */
        }
#training .trainings .training-item h3::before {
          left: -15px; /* 左側の縦棒の位置 */
        }
#training .trainings .training-item h3::after {
          right: -15px; /* 右側の縦棒の位置 */
        }
@media(max-width: 767px) {
#training .trainings .training-item h3 {
          font-size: 20px;
          line-height: 1.3;
          letter-spacing: 0.07em
      }
        }
#training .video-poster-box {
    /* iframe {
      width: 100%;
      height: 100%;
      border: none;
    } */
     width: 100%;
     margin: auto;
     position: relative;
  }
@media(min-width: 768px) {
#training .video-poster-box {
       max-width: 763px
  }
     }
#training .video-poster-box img.poster {
      width: 100%;
      height: auto;
      border-radius: 20px;
     }
@media(max-width: 767px) {
#training .video-poster-box img.poster {
        border-radius: 10px
     }
      }
#training .video-poster-box button.play-button {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 110px;
      height: 110px;
      /* background-image: url(../images/play-button.svg); */
      background-position: center center;
      background-repeat: no-repeat;
      background-size: contain;
      border: none;
      cursor: pointer;
      transition: all 0.3s ease;
    }
#training .video-poster-box button.play-button:hover {
        transform: translateX(-50%) translateY(-50%) scale(1.1);
      }
@media(max-width: 767px) {
#training .video-poster-box button.play-button {
        width: 52px;
        height: 52px
    }
      }
#training .video-poster-box button.play-button img {
        width: 100%;
        height: auto;
      }
#training .gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
    margin-right: -15px;
    margin-left: -15px;
  }
@media(max-width: 767px) {
#training .gallery {
      display: block;
      margin-top: 30px;
      margin-bottom: 80px
  }
    }
#training .gallery .gallery-item {
      width: calc(100% / 3 - 32px);
      margin: auto 16px;
    }
@media(max-width: 767px) {
#training .gallery .gallery-item {
        width: 230px;
        margin: auto;
        margin-right: 12px;
        margin-left: 12px
    }
      }
#training .gallery .gallery-item img {
        width: 100%;
        height: auto;
        border-radius: 10px;
      }
#training .gallery .slick-dots li {
      width: 8px;
      height: 8px;
      margin: 0 8px;
    }
#training .gallery .slick-dots li button {
      width: 8px;
      height: 8px;
      padding: 0;
      border: none;
      outline: none;
      background: transparent;
      cursor: pointer;
      position: relative;
    }
#training .gallery .slick-dots li button:before {
      opacity: 1;
      color: #FFFCEA;
      color: var(--color-ivory);
      content: "";
      width: 8px;
      height: 8px;
      display: block;
      border-radius: 50%;
      background: #FFFCEA;
      background: var(--color-ivory);
    }
#training .gallery .slick-dots li.slick-active button:before {
      opacity: 1;
      color: #8BBE00;
      color: var(--color-green);
      background: #8BBE00;
      background: var(--color-green);
    }
#training .feedbacks {
    width: 100%;
    margin-bottom: 50px;
  }
#training .feedbacks >.inner {
      backdrop-filter: blur(12px);
      background-color: #ffffff80;
      /* background-color: #682f2f80; */
      padding: 60px 30px;
      width: 100%;
      border: 2.5px solid #fff;
      border-radius: 20px;
      box-shadow: 0px 10px 10px 0px #665e001a;
    }
@media(max-width: 767px) {
#training .feedbacks >.inner {
        padding: 40px 20px
    }
      }
#training .feedbacks h3 {
      display: block;
      width: fit-content;
      margin: 0 auto;
      font-size: 25px;
      font-weight: 500;
      line-height: 1.1;
      letter-spacing: 0.07em;
      color: #8BBE00;
      color: var(--color-green);
      text-align: center;
      position: relative;
    }
#training .feedbacks h3::before,
      #training .feedbacks h3::after {
        content: ''; /* 擬似要素にはcontentプロパティが必須 */
        display: block; /* 縦棒にするためブロック要素に */
        position: absolute; /* 親要素（h2）を基準に配置 */
        top: 50%; /* 上下中央に配置 */
        transform: translateY(-50%); /* 自身の高さの半分だけ上にずらして完全に中央に */
        width: calc(5px / 2); /* 縦棒の幅 */
        height: 100%; /* 親要素（h2）と同じ高さに */
        background-color: #8BBE00;
        background-color: var(--color-green); /* 縦棒の色（任意） */
      }
#training .feedbacks h3::before {
        left: -15px; /* 左側の縦棒の位置 */
      }
#training .feedbacks h3::after {
        right: -15px; /* 右側の縦棒の位置 */
      }
@media(max-width: 767px) {
#training .feedbacks h3 {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0.07em
    }
      }
#training .feedbacks .feedback-list {
      max-width: 732px;
      margin: auto;
      /* background: #000; */
      padding-top: 40px;
    }
@media(max-width: 767px) {
#training .feedbacks .feedback-list {
        padding-top: 30px
    }
      }
#training .feedbacks .feedback-list >.inner {
        display: flex;
        flex-direction: column;
        align-items: center;
      }
@media(max-width: 767px) {
#training .feedbacks .feedback-list >.inner {
          /* padding: 0 20px; */
      }
        }
#training .feedbacks .feedback-item {
      background: #fff;
      padding: 30px 25px 28px;
      margin-bottom: 35px;
      position: relative;
      width: fit-content;
      border-radius: 10px;
    }
/* box-shadow: 0px 10px 10px 0px #665e001a; */
@media(max-width: 767px) {
#training .feedbacks .feedback-item {
        padding: 20px 20px 18px;
        margin-bottom: 30px
    }
      }
#training .feedbacks .feedback-item .comment {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.8;
        letter-spacing: 0.07em;
        color: #333333;
        text-align: left;
      }
@media(max-width: 767px) {
#training .feedbacks .feedback-item .comment {
          font-size: 12px;
          letter-spacing: 0.04em
      }
        }
#training .feedbacks .feedback-item::before {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/bubble-arrow.svg);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        width: 45px;
        height: 36px;
        z-index: 1;
        /* visibility: hidden; */
        bottom: 0;
      }
#training .feedbacks .feedback-item:nth-of-type(odd):before {
        right: 0;
        transform: translateX(0) translateY(63%);
      }
#training .feedbacks .feedback-item:nth-of-type(even):before {
        left: 0;
        transform: translateX(0) translateY(40%) rotate(150deg);
      }
#training .feedbacks .feedback-item:nth-of-type(1):before {
        right: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(1):before {
          right: -5px
      }
        }
#training .feedbacks .feedback-item:nth-of-type(2):before {
        left: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(2):before {
          left: 50px
      }
        }
#training .feedbacks .feedback-item:nth-of-type(3):before {
        right: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(3):before {
          right: 10px
      }
        }
#training .feedbacks .feedback-item:nth-of-type(4):before {
        left: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(4):before {
          left: 10px
      }
        }
#training .feedbacks .feedback-item:nth-of-type(5):before {
        right: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(5):before {
          right: 30px
      }
        }
#training .feedbacks .feedback-item:nth-of-type(6):before {
        left: 20px;
      }
@media(min-width: 768px) {
#training .feedbacks .feedback-item:nth-of-type(6):before {
          left: 10px
      }
        }
#training .my50 {
    margin-top: 50px;
    margin-bottom: 50px;
  }
#training .usecase >.inner {
      background: #fff;
      padding: 36px 20px 32px;
      border-radius: 20px;
      box-shadow: 0px 10px 10px 0px #665e001a;
      max-width: 913px;
      max-width: var(--content-slim-width);
      margin: auto;
    }
#training .usecase >.inner .usecase-list {
        display: flex;
        align-items: flex-start;
        margin: auto;
        max-width: 790px;
      }
@media(max-width: 767px) {
#training .usecase >.inner .usecase-list {
          flex-direction: column
          /* padding: 0 20px; */
      }
        }
#training .usecase >.inner .usecase-list > div {
          width: calc(100% / 2 - 20px);
          margin: 0 10px;
        }
@media(max-width: 767px) {
#training .usecase >.inner .usecase-list > div {
            width: 100%;
            margin: 0 0 20px 0
        }
            #training .usecase >.inner .usecase-list > div:last-child {
              margin-bottom: 0;
            }
          }
#training .usecase .usecase-item h4 {
        position: relative;
        color: #8BBE00;
        color: var(--color-green);
        display: flex;
        align-items: center;
        font-size: 16px;
        line-height: 1;
        letter-spacing: 0.04em;
        font-weight: 500;
        margin-bottom: 1rem;

      }
#training .usecase .usecase-item h4 span {
          padding-left: 8px;
        }
#training .usecase .usecase-item h4:before {
          content: '';
          position: relative;
          display: inline-block;
          width: 16px;
          height: 16px;
          background: #8BBE00;
          background: var(--color-green);
        }
#training .usecase .usecase-item ul {
        list-style: disc;
        padding-left: 1rem;
      }
#training .usecase .usecase-item li {
        font-size: 12px;
        line-height: 2;
        letter-spacing: 0.03em;
        margin-bottom: 1rem;
      }
#training .usecase .usecase-item li:last-child {
          margin-bottom: 0;
        }
#training .usecase .usecase-item a {
        color: #333;
      }
#training .usecase .usecase-item span.note {
        color: #666666;
      }
#sns >.inner {
    padding-bottom: 140px;
  }
@media(max-width: 767px) {
#sns >.inner {
      padding-bottom: 100px
  }
    }
#sns h2 {
    font-size: 26.5px;
    font-weight: 400;
    list-style: 30px;
    letter-spacing: 0.09em;
    color: #666;
    text-align: center;
    margin-bottom: 50px;
  }
#sns .sns {
    display: flex;
    justify-content: center;
  }
#sns .sns .sns-item.note a {

        }
#sns .sns .sns-item.note img {
          width: calc(413px / 2);
          height: auto;

        }
@media(max-width: 767px) {
#sns .sns .sns-item.note img {
            width: 160px

        }
          }
.modal {
  display: none;
  position: fixed;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  pointer-events: none;
  transition: opacity .3s ease;
}
.modal.prepare {
    display: block;
  }
.modal.show {
    opacity: 1;
  }
.modal .modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    background: #000;
    opacity: .3;
    pointer-events: auto;
  }
.modal .modal-inner {
    position: relative;
    width: auto;
    margin: 15vh 5px;
  }
@media(max-width: 767px) {
.modal .modal-inner {
      margin: 15vh 5px;
  }
    }
.modal .modal-inner{
    pointer-events: none;
    z-index: 1;
}
.modal .modal-content {
    pointer-events: auto;
  }
.modal button.modal-close-btn {
    /* pointer-events: auto;
    position: absolute;
    bottom: -50px;
    right: 0;
    left: 0;
    width: 30px;
    margin: auto; */
    top: -5px;
    right: 0;
    transform: translateY(-100%);
    position: absolute;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    display: block;
    color: #fff;
    font-weight: 100;
    pointer-events: auto;
  }
#modal-video .modal-body {
    display: flex;  
  }
#modal-video .video-player {
    margin: auto;
    pointer-events: auto;
    max-width: 100%;
  }
.note-banner.hidden {
    transform: translateX(100%) translateY(100%);
    opacity: 0;
  }
.note-banner{
  position: fixed;
  width: fix-content;
  bottom: 0;
  right: 0;
  z-index: 1;
  transition: all .4s ease;
  opacity: 1;
  transform: translateX(10px) translateY(10px);
}
@media(max-width: 767px) {
.note-banner {
    transform: translateX(6px) translateY(6px)
}
  }
.note-banner:hover {
    transform: translateX(0) translateY(0);
  }
.note-banner img {
    width: 255px;
    height: auto;

  }
@media(max-width: 767px) {
.note-banner img {
      width: 182px

  }
    }


