@charset "UTF-8";
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block
}
audio,
canvas,
progress,
video {
  display: inline-block
}
audio:not([controls]) {
  display: none;
  height: 0
}
progress {
  vertical-align: baseline
}
[hidden],
template {
  display: none
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}
a:active,
a:hover {
  outline-width: 0
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted
}
b,
strong {
  font-weight: inherit
}
b,
strong {
  font-weight: bolder
}
dfn {
  font-style: italic
}
mark {
  background-color: #ff0;
  color: #000
}
small {
  font-size: 80%
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
img {
  border-style: none
}
svg:not(:root) {
  overflow: hidden
}
code,
kbd,
pre,
samp {
  font-family: monospace,sans-serif;
  font-size: 1em
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
button,
input,
select,
textarea {
  font: inherit;
  margin: 0
}
optgroup {
  font-weight: 700
}
button,
input {
  overflow: visible
}
button,
select {
  text-transform: none
}
[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button
}
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0
}
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
textarea {
  overflow: auto
}
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0
}
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
blockquote,
code,
dd,
div,
dl,
dt,
fieldset,
figure,
form,
h1,
h2,
h3,
h4,
h5,
h6,
legend,
li,
ol,
p,
pre,
ul {
  margin: 0;
  padding: 0
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 12px
}
li {
  list-style: none
}
pre {
  white-space: pre-wrap;
  word-wrap: break-word
}
q {
  quotes: none
}
img {
  vertical-align: top;
  line-height: 1
}
caption {
  padding: 0
}
td,
th {
  padding: 0
}
fieldset {
  border: 0
}
body,
html {
  height: 100%
}
html {
  background: #fff
}
body {
  font-size: 1.4;
  font-size: 14px;
  background: #fff;
  color: #000;
  font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  line-height: 1.6;
  position: relative;
  width: 100%;
  min-height: 100%
}
@media (max-width:768px) {
  body {
    font-size: 1.3;
    font-size: 13px
  }
}
a {
  color: #000;
  text-decoration: none
}
address {
  font-style: normal
}
@media (max-width:768px) {
  body {
    overflow-x: hidden
  }
  .screen {
    overflow-x: hidden
  }
  .wrapper {
    overflow-x: hidden
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  z-index: 110
}
.header .header-top {
  background-color: #f2f2f2;
  position: relative;
  height: 70px;
  box-sizing: border-box;
  width: 100%
}
.header .header-top .header-logo {
  align-items: center;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  height: 100%
}
.header .header-top .header-logo-image {
  padding-left: 20px;
  width: 201px
}
.header .header-top .header-logo-caption {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  color: #006510;
  font-size: 1.6;
  font-size: 16px;
  line-height: 1;
  margin-top: 9px
}
.header .header-sp-menu-bar-wrap {
  position: absolute;
  right: 20px;
  top: 0;
  width: 50px;
  height: 50px;
  overflow: hidden
}
.header .header-sp-menu-bar-wrap .header-sp-menu-bar {
  position: absolute;
  left: 0;
  width: 44px;
  height: 1px;
  display: block;
  background-color: #006510;
  border-radius: 10px;
  transform-origin: center;
  transition: all .3s ease-out
}
.header .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(1) {
  top: 25px
}
.header .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(2) {
  top: 33px
}
.header .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(3) {
  top: 41px
}
.header .global-nav-menu {
  visibility: hidden;
  padding: 10px 20px 50px
}
.header .header-entry-button-wrap .header-entry-button-list {
  display: flex;
  align-items: stretch
}
.header .header-entry-button-wrap .header-entry-button-item {
  background-color: #5bfe65;
  flex: 1
}
.header .header-entry-button-wrap .header-entry-button-item + .header-entry-button-item {
  border-left: 1px solid #006510
}
.header .header-entry-button-wrap .header-entry-button {
  position: relative;
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  color: #006510;
  font-size: 2.1;
  font-size: 21px;
  display: block;
  line-height: 20px;
  padding: 15px 0;
  text-align: center
}
.header .header-entry-button-wrap .header-entry-button > span {
  display: block;
  font-size: 1.7;
  font-size: 17px
}
.header .header-entry-button-wrap .header-entry-button[target=_blank]::after {
  position: absolute;
  right: 6px;
  bottom: 6px;
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../images/common/icon_link_base-green.svg) no-repeat center center/contain;
  content: ""
}
.header .global-nav {
  z-index: 10;
  margin-top: 40px
}
.header .global-nav .global-nav-list {
  display: flex;
  flex-direction: column;
  height: 100%
}
.header .global-nav .global-nav-item {
  font-size: 20px;
  position: relative
}
.header .global-nav .global-nav-item::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -17px;
  width: 100%;
  height: 1px;
  background-color: rgba(91,254,101,.2);
  display: block
}
.header .global-nav .global-nav-item + .global-nav-item {
  margin-top: 34px
}
.header .global-nav .global-nav-link {
  box-sizing: border-box;
  display: block;
  height: auto;
  line-height: 30px;
  color: #fff;
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  font-size: 2.2;
  font-size: 22px
}
.header .global-nav .global-nav-link > small {
  display: block;
  font-size: 1.6;
  font-size: 16px;
  color: #5bfe65
}
.header .global-nav .global-nav-link::after {
  position: absolute;
  content: "";
  background-image: url(../images/common/icon_gnav_arrow.svg);
  background-size: cover;
  background-repeat: no-repeat;
  top: 50%;
  right: 0;
  width: 24px;
  height: 12px
}
.header.is-active {
  background-color: #006510;
  height: 100%
}
.header.is-active .global-nav-menu {
  visibility: visible;
  height: calc(100dvh - 120px);
  overflow-y: auto
}
.header.is-active .header-sp-menu-bar-wrap .header-sp-menu-bar {
  background-color: #000
}
.header.is-active .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(1) {
  transform: rotate(25deg) translate(7px,5px)
}
.header.is-active .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(2) {
  opacity: 0
}
.header.is-active .header-sp-menu-bar-wrap .header-sp-menu-bar:nth-child(3) {
  transform: rotate(-25deg) translate(7px,-5px)
}
@media (min-width:1025px) {
  .header {
    display: flex;
    height: 90px
  }
  .header .header-top {
    height: 90px;
    flex-basis: calc(100% - 340px);
    min-width: 200px;
    max-width: 340px
  }
  .header .header-top .header-logo {
    display: flex
  }
  .header .header-top .header-logo-image {
    padding: 0;
    max-width: 265px;
    width: 90%
  }
  .header .header-top .header-logo-caption {
    font-size: 1.9;
    font-size: 19px;
    line-height: 14px;
    margin-top: 10px
  }
  .header .header-sp-menu-bar-wrap {
    display: none
  }
  .header .global-nav-menu {
    flex-basis: calc(100% - 340px);
    display: flex;
    flex-direction: row-reverse;
    padding: 0;
    visibility: visible
  }
  .header .global-nav {
    background-color: #006510;
    margin-top: 0;
    width: 100%
  }
  .header .global-nav .global-nav-list {
    flex-direction: row;
    justify-content: flex-start;
    box-sizing: border-box
  }
  .header .global-nav .global-nav-item + .global-nav-item {
    margin-top: 0;
    padding-bottom: 0
  }
  .header .global-nav .global-nav-item:nth-child(2) .global-nav-link {
    padding-left: 40px
  }
  .header .global-nav .global-nav-link {
    font-size: 1.2;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    word-break: keep-all;
    padding: 25px 10px
  }
  .header .global-nav .global-nav-link .text-border {
    position: relative;
    text-wrap: nowrap
  }
  .header .global-nav .global-nav-link .text-border::before {
    content: "";
    position: absolute;
    width: 100%;
    border-bottom: 1px solid #fff;
    bottom: -5px;
    left: 0;
    transform-origin: right;
    transform: scaleX(0);
    transition: transform .3s ease-in-out
  }
  .header .global-nav .global-nav-link:hover .text-border::before {
    transform-origin: left;
    transform: scaleX(1)
  }
  .header .global-nav .global-nav-link::after {
    display: none
  }
  .text-border .header .global-nav .global-nav-link > small {
    font-size: 1.2;
    font-size: 12px;
    margin: 4px 0 2px
  }
  .header .header-entry-button-wrap .header-entry-button-item:nth-child(1) {
    width: 100px
  }
  .header .header-entry-button-wrap .header-entry-button-item:nth-child(2) {
    display: none
  }
  .header .header-entry-button-wrap .header-entry-button-item:nth-child(3) {
    display: none
  }
  .header .header-entry-button-wrap .header-entry-button-item .header-entry-button {
    padding: 25px 10px;
    text-wrap: nowrap
  }
}
@media (min-width:1200px) {
  .header .global-nav .global-nav-item .global-nav-link {
    padding: 25px 10px
  }
  .header .global-nav .global-nav-item:nth-child(6) .global-nav-link {
    padding-right: 20px
  }
  .header .header-entry-button-wrap .header-entry-button-list {
    border-left: 1px solid #006510
  }
  .header .header-entry-button-wrap .header-entry-button-list:hover {
    border-left: 1px solid #5bfe65
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:hover {
    background-color: #006510
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:hover > a {
    color: #5bfe65
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:hover > a[target=_blank]::after {
    background-image: url(../images/common/icon_link_accent-green.svg)
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:nth-child(1) {
    width: 120px
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:nth-child(2) {
    display: inline-block;
    width: 120px
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:nth-child(3) {
    display: inline-block;
    width: 60px
  }
}
@media (min-width:1300px) {
  .header .global-nav .global-nav-link {
    padding: 25px 20px
  }
  .header .header-entry-button-wrap .header-entry-button-list .header-entry-button-item:nth-child(3) {
    width: 120px
  }
}
.header .header-entry-button-wrap .header-entry-button-list {
  transform: translate3d(0,45px,0);
  transition: 0s cubic-bezier(.075,.82,.165,1) 0s
}
.header .global-nav .global-nav-item::before {
  transform: scaleX(0);
  transform-origin: left center;
  transition: 1.9s cubic-bezier(.075,.82,.165,1)
}
.header .global-nav .global-nav-item:nth-child(1)::before {
  transition-delay: .3s
}
.header .global-nav .global-nav-item:nth-child(2)::before {
  transition-delay: .4s
}
.header .global-nav .global-nav-item:nth-child(3)::before {
  transition-delay: .5s
}
.header .global-nav .global-nav-item:nth-child(4)::before {
  transition-delay: .6s
}
.header .global-nav .global-nav-item:nth-child(5)::before {
  transition-delay: .7s
}
.header .global-nav .global-nav-link {
  transform: translate3d(0,45px,0);
  transition: 0s cubic-bezier(.075,.82,.165,1) 0s
}
.header .button-wrap,
.header .digital-pamphlet-wrap {
  transform: translate3d(0,45px,0);
  transition: 0s cubic-bezier(.075,.82,.165,1) 0s
}
.header.is-active .header-entry-button-wrap .header-entry-button-list {
  transform: translate3d(0,0,0);
  transition: 1.4s cubic-bezier(.075,.82,.165,1);
  transition-delay: .2s
}
.header.is-active .global-nav .global-nav-item::before {
  transform: scaleX(1)
}
.header.is-active .global-nav .global-nav-item:nth-child(1) .global-nav-link {
  transition-delay: .3s
}
.header.is-active .global-nav .global-nav-item:nth-child(2) .global-nav-link {
  transition-delay: .4s
}
.header.is-active .global-nav .global-nav-item:nth-child(3) .global-nav-link {
  transition-delay: .5s
}
.header.is-active .global-nav .global-nav-item:nth-child(4) .global-nav-link {
  transition-delay: .6s
}
.header.is-active .global-nav .global-nav-item:nth-child(5) .global-nav-link {
  transition-delay: .7s
}
.header.is-active .global-nav .global-nav-link {
  transform: translate3d(0,0,0);
  transition: 1.4s cubic-bezier(.075,.82,.165,1)
}
.header.is-active .button-wrap,
.header.is-active .digital-pamphlet-wrap {
  transform: translate3d(0,0,0);
  transition: 1.4s cubic-bezier(.075,.82,.165,1);
  transition-delay: .8s
}
.header.is-active .digital-pamphlet-wrap {
  transition-delay: .9s
}
@media (min-width:1025px) {
  .header .global-nav .global-nav-link {
    transform: translate3d(0,0,0)
  }
  .header .header-entry-button-wrap .header-entry-button-list {
    transform: translate3d(0,0,0)
  }
}
.footer {
  position: relative;
  z-index: 1;
  padding-bottom: 64px
}
.footer .footer-main-wrap {
  background-color: #006510;
  position: relative;
  padding: 40px 20px 100px
}
.footer .page-top-link {
  position: absolute;
  top: 60px;
  right: 20px;
  z-index: 1
}
.footer .page-top-link > a {
  color: #5bfe65;
  display: block;
  font-family: rajdhani,sans-serif;
  font-size: 1.6;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  height: 70px;
  position: relative;
  width: 20px
}
.footer .page-top-link > a::before {
  content: "";
  position: absolute;
  top: -60px;
  left: calc(50% - 1px);
  display: block;
  width: 1px;
  height: 45px;
  background-color: #5bfe65
}
.footer .page-top-link > a span {
  position: absolute;
  writing-mode: vertical-rl
}
.footer .footer-main-wrap {
  background-color: #006510;
  position: relative;
  padding: 40px 20px 0
}
.footer .footer-main-inner {
  position: relative
}
.footer .footer-navigation-wrap .footer-navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  gap: 0 30px
}
.footer .footer-navigation-wrap .footer-navigation-item {
  width: calc(50% - 5px);
  border-left: 1px solid rgba(255,255,255,.15);
  display: block
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(-n+2) {
  padding-top: 60px
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(n+3) {
  padding: 30px 0 0
}
.footer .footer-navigation-wrap .footer-navigation-item:last-child {
  padding-bottom: 60px
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(1) {
  white-space: nowrap
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(2) {
  display: block
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(9) {
  display: none
}
.footer .footer-navigation-wrap .footer-navigation-item:nth-child(10) {
  display: none
}
.footer .footer-navigation-wrap .footer-navigation-title {
  font-size: 2.8;
  font-size: 28px;
  font-family: Rajdhani;
  font-weight: 700;
  color: #fff;
  line-height: 30px
}
.footer .footer-navigation-wrap .footer-navigation-subtitle {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-top: 5px
}
.footer .footer-navigation-wrap .accordion-button {
  background-color: transparent;
  border: none;
  text-align: left;
  padding: 0
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title {
  position: relative
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::after,
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::before {
  position: absolute;
  content: "";
  border: 1px solid #5bfe65;
  transition: transform .3s ease
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::before {
  top: 47%;
  right: -30px;
  width: 10px
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::after {
  top: 33%;
  right: -25px;
  height: 10px
}
.footer .footer-navigation-wrap .accordion-button.is-active .footer-navigation-title::after {
  transform: rotate(90deg)
}
.footer .footer-navigation-wrap .accordion-button.is-active + .footer-sub-navigation {
  display: block
}
.footer .footer-navigation-wrap .footer-sub-navigation {
  margin-top: 20px;
  display: none
}
.footer .footer-navigation-wrap .footer-sub-navigation-item + .footer-sub-navigation-item {
  margin-top: 15px
}
.footer .footer-navigation-wrap .footer-sub-navigation-item > a {
  font-size: 1.4;
  font-size: 14px;
  color: #fff
}
.footer .footer-navigation-wrap .footer-navigation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  gap: 0 25px
}
.footer .footer-navigation-wrap .footer-navigation-item {
  width: calc(50% - 15px)
}
.footer .footer-navigation-wrap .footer-navigation-title {
  font-size: 2.8;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  line-height: 30px
}
.footer .footer-navigation-wrap .footer-navigation-subtitle {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  margin-top: 5px;
  display: block
}
.footer .footer-navigation-wrap .accordion-button {
  background-color: transparent;
  border: none;
  text-align: left;
  padding: 0
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title {
  position: relative
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::after,
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::before {
  position: absolute;
  content: "";
  border: 1px solid #5bfe65;
  transition: transform .3s ease
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::before {
  top: 47%;
  right: -30px;
  width: 10px
}
.footer .footer-navigation-wrap .accordion-button .footer-navigation-title::after {
  top: 33%;
  right: -25px;
  height: 10px
}
.footer .footer-navigation-wrap .footer-sub-navigation {
  margin-top: 20px;
  display: none
}
.footer .footer-navigation-wrap .footer-sub-navigation-item + .footer-sub-navigation-item {
  margin-top: 15px
}
.footer .footer-navigation-wrap .footer-sub-navigation-item > a {
  font-size: 1.4;
  font-size: 14px;
  color: #fff
}
@media (min-width:1025px) {
  .footer {
    padding-bottom: 0
  }
  .footer .page-top-link {
    top: 300px;
    right: 27px
  }
  .footer .page-top-link > a::before {
    top: -300px;
    height: 280px
  }
  .footer .footer-main-wrap {
    padding: 0
  }
  .footer .footer-main-inner {
    max-width: 1230px;
    margin: 0 auto;
    padding: 80px 80px 0 80px
  }
  .footer .entry-mypage-button-wrap {
    position: relative
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button {
    display: flex;
    align-items: center;
    gap: 2%
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item {
    position: relative;
    background-color: #5bfe65;
    border: 1px solid #006510;
    border-radius: 8px;
    width: 15%;
    max-width: 240px;
    text-align: center
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item > a {
    color: #006510;
    border-radius: 8px;
    display: block;
    font-family: rajdhani,sans-serif;
    font-weight: 700;
    font-size: 2.4;
    font-size: 24px;
    line-height: 24px;
    padding: 20px 0
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item > a[target=_blank]::after {
    position: absolute;
    right: 7px;
    bottom: 7px;
    width: 16px;
    height: auto;
    aspect-ratio: 1/1;
    background: url(../images/common/icon_link_base-green.svg) no-repeat center center/contain;
    content: ""
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item:hover {
    border-color: #5bfe65
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item:hover > a {
    background-color: #006510;
    color: #5bfe65
  }
  .footer .entry-mypage-button-wrap .entry-mypage-button .entry-mypage-button-item:hover > a[target=_blank]::after {
    background-image: url(../images/common/icon_link_accent-green.svg)
  }
  .footer .button-wrap.--footer {
    position: absolute;
    top: 0;
    right: 0
  }
  .footer .footer-navigation-wrap {
    margin-top: 65px
  }
  .footer .footer-navigation-wrap .footer-navigation {
    gap: 0 3%;
    width: auto;
    justify-content: flex-start
  }
  .footer .footer-navigation-wrap .footer-navigation-subtitle {
    margin-top: 2px
  }
  .footer .footer-navigation-wrap .footer-navigation-item {
    width: 22.5%;
    padding: 0 0 100px 0
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(-n+2) {
    padding-top: 0
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(n+3) {
    padding-top: 0
  }
  .footer .footer-navigation-wrap .footer-navigation-item:last-child {
    padding-bottom: 0
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(1) {
    order: 1;
    white-space: wrap
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(2) {
    display: none
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(3) {
    order: 5;
    margin-top: -200px
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(4) {
    order: 9;
    margin-top: -170px
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(5) {
    order: 2
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(6) {
    order: 6;
    margin-top: -200px
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(7) {
    order: 3
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(8) {
    order: 4
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(9) {
    display: block;
    height: 0;
    padding: 0 0 50px;
    order: 7
  }
  .footer .footer-navigation-wrap .footer-navigation-item:nth-child(10) {
    display: block;
    height: 0;
    padding: 0 0 50px;
    order: 8
  }
  .footer .footer-navigation-wrap a.footer-link:hover {
    opacity: .8
  }
  .footer .footer-navigation-wrap .footer-navigation-subtitle {
    display: block
  }
  .footer .footer-navigation-wrap .accordion-button .footer-navigation-title::after,
  .footer .footer-navigation-wrap .accordion-button .footer-navigation-title::before {
    display: none
  }
  .footer .footer-navigation-wrap .footer-sub-navigation {
    display: block;
    margin-top: 30px
  }
  .footer .footer-navigation-wrap .footer-sub-navigation-item > a {
    font-size: 1.4;
    font-size: 14px
  }
}
main {
  overflow: hidden;
  position: relative;
  margin-top: 70px
}
.is-pc {
  display: none
}
.is-sp {
  display: block
}
.is-sp.inline-block {
  display: inline-block
}
.content-inner {
  padding: 0 20px
}
@media (min-width:1025px) {
  main {
    margin-top: 90px
  }
  .is-pc {
    display: block
  }
  .is-sp {
    display: none
  }
  .is-sp.inline-block {
    display: none
  }
  .content-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 80px
  }
}
.button-wrap {
  display: flex;
  align-items: stretch;
  gap: 40px
}
.button-wrap .button {
  display: inline-block
}
.button-wrap .button.--contact {
  background-color: #000;
  border-radius: 4px;
  color: #fff;
  font-weight: 700;
  padding: 15px 0;
  text-align: center;
  width: 150px
}
.button-wrap .button.--contact > span {
  position: relative;
  padding-right: 15px
}
.button-wrap .button.--contact > span::after {
  position: absolute;
  top: 50%;
  right: -10px;
  width: 15px;
  height: 15px;
  content: "";
  background-image: url(../images/common/icon_link_accent-green.svg);
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateY(-50%)
}
.button-wrap .button.--line {
  background-color: #fff;
  border-radius: 4px
}
.button-wrap .button.--line > img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  padding: 10px
}
.button-wrap.--header {
  margin-top: 50px;
  justify-content: center;
  gap: 25px
}
.footer-link span {
  display: block
}
@media (min-width:1025px) {
  .button-wrap.--header {
    display: none
  }
}
.breadcrumb-wrap {
  box-sizing: border-box;
  padding: 20px 0 20px 20px;
  z-index: 1
}
.breadcrumb-list {
  display: flex;
  flex-wrap: wrap
}
.breadcrumb-item {
  color: #006510;
  line-height: 1.5;
  position: relative
}
.breadcrumb-item + .breadcrumb-item {
  padding-left: 22px
}
.breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  color: #000;
  display: block;
  height: 0;
  left: 9px;
  position: absolute;
  top: 0;
  width: 0
}
.breadcrumb-link:hover {
  text-decoration: underline
}
@media (min-width:1025px) {
  .breadcrumb-wrap {
    left: 32px;
    padding: 0;
    position: absolute;
    top: 20px
  }
}
.gradient-text {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  line-height: 100%
}
.gradient-text.--green {
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-text.--lightGreen {
  background: linear-gradient(90deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-text.--green03 {
  background: linear-gradient(90deg,#169700 0,#05e708 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-text.--pink {
  background: linear-gradient(90deg,#fe2b87 0,#ffecaa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-text.--blue {
  background: linear-gradient(90deg,#01e6fc 0,#0065fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-text.--orange {
  background: linear-gradient(90deg,#fe4602 0,#ffb121 30%,#ffe1d6 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-box.--pink {
  border: 3px solid;
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1;
  padding: 10px;
  background-color: #fff
}
.gradient-box.--pink > span {
  background: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 1;
  font-size: 10px;
  display: block;
  font-weight: 700;
  text-align: center;
  letter-spacing: -1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden
}
.gradient-box.--green {
  border: 3px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1;
  padding: 10px;
  background-color: #fff
}
.gradient-box.--green > span {
  background: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 1;
  font-size: 10px;
  display: block;
  font-weight: 700;
  text-align: center;
  letter-spacing: -1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden
}
.gradient-box.--green > span {
  background: linear-gradient(90deg,#169700 0,#05e708 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent
}
.gradient-box.--blue {
  border: 3px solid;
  border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image-slice: 1;
  padding: 10px;
  background-color: #fff
}
.gradient-box.--blue > span {
  background: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 1;
  font-size: 10px;
  display: block;
  font-weight: 700;
  text-align: center;
  letter-spacing: -1px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden
}
@media (min-width:1025px) {
  .gradient-box.--blue,
  .gradient-box.--green,
  .gradient-box.--pink {
    border-width: 3px
  }
  .gradient-box.--blue > span,
  .gradient-box.--green > span,
  .gradient-box.--pink > span {
    font-size: 1.5;
    font-size: 15px
  }
}
.gradation-link-design {
  display: block
}
.gradation-link-design + .gradation-link-design {
  margin-top: 20px
}
.gradation-link {
  background: linear-gradient(90deg,#0065fd,#01e6fc);
  background-size: 100%;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-size: 1.4;
  font-size: 14px;
  flex-direction: column;
  font-weight: 700;
  height: 70px;
  justify-content: center;
  left: calc(50% - 18px);
  line-height: 1.4;
  padding: 0 0 0 20px;
  position: relative;
  transform: translateX(-50%);
  width: 300px;
  letter-spacing: 1.6px
}
.gradation-link::after {
  content: "";
  position: absolute;
  background-image: url(../images/common/icon_btn_arrow_sp.svg);
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  max-width: 244px;
  height: 20px;
  right: -35px;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  z-index: 1
}
.gradation-link.--toppage {
  background: #006510;
  background-size: 100%
}
.gradation-link.--green {
  background: linear-gradient(130deg,#1fb904 0,#22ff25 65%,#0cf7fd 110%);
  background-size: 100%
}
.gradation-link.--green03 {
  background: linear-gradient(130deg,#006510 0,#00ae65 110%);
  background-size: 100%
}
.gradation-link.--orange {
  background: linear-gradient(90deg,#fe4602,#ffb121);
  background-size: 100%
}
.gradation-link.--pink {
  background: linear-gradient(130deg,#fe2b87 0,#f76aa7 50%,#ffecaa 110%);
  background-size: 100%
}
.gradation-link small {
  letter-spacing: .3px
}
@media (min-width:1025px) {
  .gradation-link-design {
    display: inline-block;
    position: relative;
    width: 360px
  }
  .gradation-link-design::after {
    content: "";
    background-image: url(../images/common/icon_btn_arrow_pc.svg);
    background-position-x: right;
    background-repeat: no-repeat;
    height: 20px;
    display: inline-block;
    pointer-events: none;
    position: absolute;
    right: -50px;
    top: 50%;
    transform: translateY(-50%);
    transition: width .5s ease,right .5s ease;
    width: 100px
  }
  .gradation-link-design:hover::after {
    right: -150px;
    width: 200px
  }
  .gradation-link-design + .gradation-link-design {
    margin-top: 40px
  }
  .gradation-link {
    font-size: 1.4;
    font-size: 14px;
    height: 80px;
    left: 0;
    padding: 0 0 0 20px;
    transform: translateX(0);
    transition: background-size .5s;
    width: 360px
  }
  .gradation-link::after {
    background-image: none;
    display: none
  }
  .gradation-link:hover {
    background-size: 200%
  }
  .gradation-link small {
    letter-spacing: 1px
  }
}
.tab-container .tab-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}
.tab-container .tab-title {
  width: auto;
  text-wrap: nowrap
}
.tab-container .tab-title .tab-button {
  color: #999;
  font-weight: 700;
  border: none;
  background-color: transparent;
  font-size: 1.2;
  font-size: 12px;
  transition: font-size .1s
}
.tab-container .tab-title .tab-button.is-active {
  color: #006510;
  font-size: 1.4;
  font-size: 14px
}
.tab-content-wrap .tab-content {
  display: none
}
.tab-content-wrap .tab-content.active-tab {
  display: block
}
@media (min-width:1025px) {
  .tab-container .tab-list {
    gap: 20px
  }
  .tab-container .tab-title.pc-margin {
    margin-left: 50px
  }
  .tab-container .tab-title .tab-button {
    cursor: pointer;
    font-size: 1.8;
    font-size: 18px
  }
  .tab-container .tab-title .tab-button.is-active {
    font-size: 2;
    font-size: 20px
  }
}
.people-card-item {
  width: calc(50% - 10px);
  position: relative;
  display: none
}
.people-card-item.is-active {
  display: block
}
.people-card-item .people-card-item-image {
  aspect-ratio: 7/9;
  object-fit: cover;
  width: 100%;
  height: 100%
}
.people-card-item .people-card-item-caption {
  position: absolute;
  top: -15px;
  left: -5px;
  background: linear-gradient(to right,#fe4602 0,#ffb121 100%,#ffe1d6 100%);
  color: #fff;
  font-size: 1.1;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  padding: 8px 11px;
  z-index: 10
}
.people-card-item .people-card-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  bottom: -75px;
  width: 100%;
  font-size: 1;
  font-size: 10px;
  font-weight: 700;
  text-align: center
}
.people-card-item .people-card-detail .people-card-detail-inner {
  width: 90%
}
.people-card-item .people-card-detail .multiplication-icon {
  margin: -10px auto
}
.people-card-item .people-card-detail .people-card-detail-bottom {
  margin-top: 8px
}
@media (min-width:1025px) {
  .people-card-item {
    width: calc(25% - 30px)!important
  }
  .people-card-item .people-card-item-caption {
    top: -7px;
    left: -7px;
    font-size: 1.2;
    font-size: 12px;
    padding: 8px 30px
  }
  .people-card-item .people-card-detail {
    font-size: 1.5;
    font-size: 15px;
    bottom: -70px
  }
  .people-card-item .people-card-detail .people-card-detail-bottom {
    margin-top: 20px;
    text-wrap: nowrap
  }
}
.accordion {
  width: 100%
}
.accordion .accordion-wrapper {
  overflow: hidden;
  position: relative;
  border: 1px solid #18ff14;
  border-radius: 5px
}
.accordion .accordion-wrapper + .accordion-wrapper {
  margin-top: 15px
}
.accordion .accordion-header {
  background-color: transparent;
  color: #000;
  padding: 15px 0 15px 20px;
  width: 100%;
  text-align: left;
  position: relative;
  border: none;
  font-size: 1.5;
  font-size: 15px;
  font-weight: 700
}
.accordion .accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-out
}
.accordion .accordion-content .accordion-item {
  padding: 15px 10px;
  margin: 0 10px;
  font-size: 1.3;
  font-size: 13px;
  font-weight: 700;
  border-top: 1px solid #18ff14
}
.accordion .accordion-content .accordion-item > a {
  display: block
}
.accordion .accordion-content.show {
  max-height: fit-content
}
.accordion-header::after,
.accordion-header::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 12px;
  height: 2px;
  background-color: #006510;
  transform: translateY(-50%);
  transition: transform .3s ease-out
}
.accordion-header::before {
  transform: translateY(-50%) rotate(90deg)
}
.accordion-header.is-active::before {
  transform: translateY(-50%) rotate(0)
}
@media (min-width:1025px) {
  .accordion .accordion-wrapper {
    border: none
  }
  .accordion .accordion-wrapper + .accordion-wrapper {
    margin-top: 40px
  }
  .accordion .accordion-header {
    padding: 0 0 5px 0;
    font-size: 2;
    font-size: 20px;
    border-bottom: 1px solid #18ff14
  }
  .accordion .accordion-content {
    overflow: visible;
    max-height: fit-content;
    margin-top: 15px
  }
  .accordion .accordion-content .accordion-item {
    border: none;
    padding: 0;
    margin: 0;
    font-size: 1.4;
    font-size: 14px
  }
  .accordion .accordion-content .accordion-item + .accordion-item {
    margin-top: 10px
  }
  .accordion .accordion-content .accordion-item > a {
    border: 1px solid #18ff14;
    padding: 5px 10px;
    border-radius: 3px;
    display: inline-block;
    transition: all .3s ease-out
  }
  .accordion .accordion-content .accordion-item > a:hover {
    background-color: #18ff14
  }
  .accordion-header::after,
  .accordion-header::before {
    display: none
  }
}
.faq-accordion {
  width: 100%;
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  color: #fff;
  padding: 50px 25px;
  box-sizing: border-box;
  border-radius: 20px;
  counter-reset: accordionCounter
}
.faq-accordion + .faq-accordion {
  margin-top: 40px
}
.faq-accordion .faq-accordion-title {
  font-size: 2.8;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .5px
}
.faq-accordion .faq-accordion-title .faq-accordion-number {
  display: block;
  font-family: rajdhani,sans-serif;
  font-size: 2;
  font-size: 20px;
  font-weight: 400
}
.faq-accordion .faq-accordion-list {
  overflow: hidden;
  position: relative;
  margin-top: 30px
}
.faq-accordion .faq-accordion-item {
  border-top: 1px solid #fff;
  padding: 25px 0
}
.faq-accordion .faq-accordion-item:last-child {
  border-bottom: 1px solid #fff
}
.faq-accordion .faq-accordion-header {
  background-color: transparent;
  text-align: left;
  position: relative;
  border: none;
  width: 100%;
  padding: 0
}
.faq-accordion .faq-accordion-header-title {
  color: #fff;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  display: inline-block;
  max-width: 75%;
  line-height: 180%;
  position: relative;
  padding-left: 40px
}
.faq-accordion .faq-accordion-header-title::before {
  counter-increment: accordionCounter;
  content: "Q" counter(accordionCounter) ".";
  position: absolute;
  left: 0;
  font-family: rajdhani,sans-serif;
  font-size: 2.4;
  font-size: 24px;
  font-weight: 700
}
.faq-accordion .faq-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease-out;
  position: relative;
  padding-left: 40px;
  font-size: 1.4;
  font-size: 14px
}
.faq-accordion .faq-accordion-content > span.--active {
  display: block;
  margin-top: 20px
}
.faq-accordion .faq-accordion-content::before {
  content: "A.";
  position: absolute;
  left: 0;
  font-family: rajdhani,sans-serif;
  font-size: 2.4;
  font-size: 24px;
  font-weight: 400;
  line-height: 110%
}
.faq-accordion .faq-accordion-content.show {
  max-height: fit-content;
  margin-top: 20px
}
.faq-accordion .faq-accordion-link {
  display: block;
  padding: 15px;
  margin-top: 15px;
  background-color: #5bfe65;
  border-radius: 5px;
  position: relative
}
.faq-accordion .faq-accordion-link::after {
  content: "";
  background-image: url(../images/common/icon_faq_arrow.svg);
  position: absolute;
  right: 15px;
  top: calc(50% - 6px);
  width: 12px;
  height: 12px;
  background-repeat: no-repeat;
  background-size: 100%
}
.faq-accordion .faq-accordion-link .faq-accordion-link-text {
  color: #006510;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: .7px;
  max-width: 90%;
  display: inline-block
}
.faq-accordion .faq-accordion-link.--no_link {
  display: none
}
.faq-accordion-header::after,
.faq-accordion-header::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 12px;
  height: 2px;
  background-color: #fff;
  transform: translateY(-50%);
  transition: transform .3s ease-out
}
.faq-accordion-header::before {
  transform: translateY(-50%) rotate(90deg)
}
.faq-accordion-header.is-active::before {
  transform: translateY(-50%) rotate(0)
}
@media (min-width:1025px) {
  .faq-accordion {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 30px 80px 40px 40px
  }
  .faq-accordion + .faq-accordion {
    margin-top: 30px
  }
  .faq-accordion .faq-accordion-title {
    width: 100%;
    font-size: 2.8;
    font-size: 28px;
    letter-spacing: 1px;
    width: 40%
  }
  .faq-accordion .faq-accordion-list {
    margin-left: 50px;
    margin-top: 15px;
    width: 100%
  }
  .faq-accordion .faq-accordion-item {
    padding: 0
  }
  .faq-accordion .faq-accordion-header {
    cursor: pointer;
    padding: 15px 0
  }
  .faq-accordion .faq-accordion-header-title {
    font-size: 1.6;
    font-size: 16px;
    max-width: 85%;
    padding-left: 75px
  }
  .faq-accordion .faq-accordion-header-title::before {
    font-size: 2.6;
    font-size: 26px
  }
  .faq-accordion .faq-accordion-content {
    padding-left: 75px;
    font-size: 1.6;
    font-size: 16px
  }
  .faq-accordion .faq-accordion-content::before {
    font-size: 2.6;
    font-size: 26px
  }
  .faq-accordion .faq-accordion-content.show {
    margin-top: 0;
    padding-bottom: 15px
  }
  .faq-accordion .faq-accordion-link {
    margin-top: 10px;
    max-width: 350px
  }
  .faq-accordion .faq-accordion-link .faq-accordion-link-text {
    font-size: 1.3;
    font-size: 13px;
    letter-spacing: .65px;
    max-width: 90%
  }
}
.event-thumbnail-wrap {
  position: relative
}
.event-thumbnail-wrap .event-thumbnail-image {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 67/38;
  object-fit: cover
}
.event-thumbnail-wrap .event-thumbnail-bottom {
  position: absolute;
  bottom: -45px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%
}
.event-thumbnail-wrap .event-thumbnail-bottom img {
  margin: 0 -33px;
  z-index: 10
}
.event-thumbnail-wrap .gradient-box {
  width: 43%;
  padding: 5px
}
.event-thumbnail-wrap .gradient-box > span {
  font-size: 1.1;
  font-size: 11px
}
@media (min-width:1025px) {
  .event-thumbnail-wrap .event-thumbnail-bottom {
    bottom: -50px
  }
  .event-thumbnail-wrap .event-thumbnail-bottom img {
    width: 100px
  }
  .event-thumbnail-wrap .gradient-box {
    box-sizing: border-box;
    padding: 5px 3px 3px
  }
  .event-thumbnail-wrap .gradient-box > span {
    font-size: 1.3;
    font-size: 13px
  }
}
.event-item-detail {
  margin-top: 40px
}
.event-item-detail > time {
  font-family: rajdhani,sans-serif;
  font-weight: 600;
  font-size: 1.5;
  font-size: 15px;
  color: #98989a;
  letter-spacing: .75px
}
.event-item-detail .event-item-detail-text {
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  letter-spacing: 1.6px;
  line-height: 24px;
  margin-top: 5px
}
.event-item-detail .event-item-tag {
  font-size: 1.2;
  font-size: 12px;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: .6px;
  padding: 6px 10px;
  background-color: #18ff14;
  border-radius: 3px;
  display: inline-block;
  margin-top: 15px
}
@media (min-width:1025px) {
  .event-item-detail {
    margin-top: 35px
  }
  .event-item-detail > time {
    font-size: 1.4;
    font-size: 14px
  }
}
.pagination {
  margin-top: 80px
}
.pagination-contents {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  position: relative
}
.pagination-contents .pagination-item {
  display: flex;
  font-family: rajdhani,sans-serif;
  font-weight: 600;
  font-size: 2.2;
  font-size: 22px;
  transition: background-color .3s
}
.pagination-contents .pagination-item a {
  color: #006510;
  opacity: .5;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: all .3s
}
.pagination-contents .pagination-item.--next a,
.pagination-contents .pagination-item.--prev a {
  opacity: 1
}
.pagination-contents .pagination-item.--prev {
  margin-right: 10px
}
.pagination-contents .pagination-item.--next {
  margin-left: 10px
}
.pagination-contents .pagination-item.is-active {
  position: relative
}
.pagination-contents .pagination-item.is-active::before {
  content: "";
  display: block;
  border-bottom: 2px solid #006510;
  bottom: 0;
  position: absolute;
  width: 100%
}
.pagination-contents .pagination-item.is-active span {
  color: #006510;
  width: 24px;
  display: flex;
  justify-content: center
}
.pagination-contents .is-omit {
  align-items: center;
  background: 0 0;
  border: none
}
.pagination-contents .pagination-border {
  width: 100%;
  height: 1px;
  background-color: #006510
}
@media (min-width:1025px) {
  .pagination {
    margin-top: 120px
  }
  .pagination-contents {
    justify-content: flex-end;
    gap: 25px
  }
  .pagination-contents .pagination-border.--right {
    display: none
  }
}
.main-visual.--under-layer {
  margin-top: 40px;
  width: 100%
}
.main-visual.--under-layer .title-h1-wrap-component {
  padding: 0 20px
}
.main-visual.--under-layer .title-h1-wrap-component .title-h1 {
  font-size: 9;
  font-size: 90px
}
.main-visual.--under-layer .title-h1-wrap-component .sub-title-h1 {
  font-size: 1.8;
  font-size: 18px;
  color: #006510
}
.main-visual.--under-layer .main-visual-image-wrap {
  position: relative;
  margin-top: 50px
}
.main-visual.--under-layer .main-visual-image-wrap::after,
.main-visual.--under-layer .main-visual-image-wrap::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1
}
.main-visual.--under-layer .main-visual-image-wrap::before {
  bottom: 10px;
  left: -30px;
  background-image: url(../images/common/icon_mv_x_left.png);
  width: 150px;
  height: 230px
}
.main-visual.--under-layer .main-visual-image-wrap::after {
  bottom: -70px;
  right: -15px;
  background-image: url(../images/common/icon_mv_x_right.png);
  width: 150px;
  height: 220px
}
.main-visual.--under-layer .main-visual-description-pc {
  display: none
}
.main-visual.--under-layer .main-visual-description-sp {
  margin-top: 30px;
  padding: 0 20px
}
.main-visual.--under-layer .main-visual-description-sp > p {
  font-weight: 700;
  color: #006510;
  font-size: 1.6;
  font-size: 16px;
  letter-spacing: .8px;
  line-height: 28.8px
}
@media (min-width:1025px) {
  .main-visual.--under-layer {
    margin-top: 0;
    padding-top: 180px
  }
  .main-visual.--under-layer .main-visual-inner {
    align-items: flex-end;
    display: flex;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 80px;
    position: relative;
    justify-content: space-between
  }
  .main-visual.--under-layer .main-visual-inner .title-h1-wrap-component {
    max-width: 600px;
    padding: 0
  }
  .main-visual.--under-layer .main-visual-inner .title-h1-wrap-component .title-h1 {
    font-size: 15;
    font-size: 150px
  }
  .main-visual.--under-layer .main-visual-inner .title-h1-wrap-component .sub-title-h1 {
    font-size: 3;
    font-size: 30px
  }
  .main-visual.--under-layer .main-visual-inner .main-visual-description-pc {
    display: inline-block;
    margin-top: 0;
    max-width: 470px;
    padding: 0 0 0 30px
  }
  .main-visual.--under-layer .main-visual-inner .main-visual-description-pc > p {
    font-weight: 700;
    color: #006510;
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 28.8px
  }
  .main-visual.--under-layer .main-visual-image-wrap .main-visual-image {
    aspect-ratio: 72/19
  }
  .main-visual.--under-layer .main-visual-image-wrap::after,
  .main-visual.--under-layer .main-visual-image-wrap::before {
    width: 19%;
    height: 100%
  }
  .main-visual.--under-layer .main-visual-image-wrap::before {
    bottom: auto;
    height: 120%;
    left: 20px;
    top: -25%;
    width: 500px
  }
  .main-visual.--under-layer .main-visual-image-wrap::after {
    bottom: -110px;
    right: -23px
  }
  .main-visual.--under-layer .main-visual-description-sp {
    display: none
  }
}
.title-h1-wrap-component {
  padding: 0 20px
}
.title-h1-wrap-component .title-h1 {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  line-height: calc(100% - 20px)
}
.title-h1-wrap-component .title-h1.--green span {
  background: linear-gradient(262deg,#1fb904 2.11%,#22ff25 90.13%,#fbf640 130.49%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent
}
.title-h1-wrap-component .sub-title-h1 {
  font-weight: 700;
  letter-spacing: 1.8px;
  line-height: 100%;
  padding-left: 25px
}
@media (min-width:1025px) {
  .title-h1-wrap-component .sub-title-h1 {
    letter-spacing: 3px
  }
}
.animation-title {
  position: relative;
  overflow-y: clip
}
.animation-title .text-split {
  overflow: hidden
}
.animation-title .text-split span {
  display: inline-block;
  min-width: .15em;
  transform: translateY(100%)
}
.animation-title::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background-image: url(../images/common/title_gradient_line.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
  z-index: 1;
  transform: translate(-30%,90%);
  transition-property: all;
  transition-timing-function: ease-out
}
.animation-title.is-active .text-split span {
  transform: translateY(0);
  transition: transform cubic-bezier(.7,.2,.1,1) .8s
}
.animation-title.is-active .text-split span:nth-child(1) {
  transition-delay: 0s
}
.animation-title.is-active .text-split span:nth-child(2) {
  transition-delay: 40ms
}
.animation-title.is-active .text-split span:nth-child(3) {
  transition-delay: 80ms
}
.animation-title.is-active .text-split span:nth-child(4) {
  transition-delay: .12s
}
.animation-title.is-active .text-split span:nth-child(5) {
  transition-delay: .16s
}
.animation-title.is-active .text-split span:nth-child(6) {
  transition-delay: .2s
}
.animation-title.is-active .text-split span:nth-child(7) {
  transition-delay: .24s
}
.animation-title.is-active .text-split span:nth-child(8) {
  transition-delay: .28s
}
.animation-title.is-active .text-split span:nth-child(9) {
  transition-delay: .32s
}
.animation-title.is-active .text-split span:nth-child(10) {
  transition-delay: .36s
}
.animation-title.is-active .text-split span:nth-child(11) {
  transition-delay: .4s
}
.animation-title.is-active .text-split span:nth-child(12) {
  transition-delay: .44s
}
.animation-title.is-active .text-split span:nth-child(13) {
  transition-delay: .48s
}
.animation-title.is-active .text-split span:nth-child(14) {
  transition-delay: .52s
}
.animation-title.is-active .text-split span:nth-child(15) {
  transition-delay: .56s
}
.animation-title.is-active .text-split span:nth-child(16) {
  transition-delay: .6s
}
.animation-title.is-active .text-split span:nth-child(17) {
  transition-delay: .64s
}
.animation-title.is-active .text-split span:nth-child(18) {
  transition-delay: .68s
}
.animation-title.is-active .text-split span:nth-child(19) {
  transition-delay: .72s
}
.animation-title.is-active .text-split span:nth-child(20) {
  transition-delay: .76s
}
.animation-title.is-active::before {
  transform: translate(0,0)
}
.animation-title-top {
  animation-delay: .5s;
  opacity: 0;
  transition: opacity .2s
}
.animation-title-top.is-active {
  animation: bottomAnimation .8s ease forwards
}
.animation-title-top .title-h2 {
  color: transparent;
  overflow-y: clip;
  position: relative
}
.animation-title-top .title-h2.--green {
  background: linear-gradient(90deg,#22ff25 0,#1fb904 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.animation-title-top .title-h2.--blue {
  background: linear-gradient(90deg,#05eca8 0,#01e6fc 45%,#0065fd 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.animation-title-top .title-h2.--blue_reverse {
  background: linear-gradient(90deg,#0065fd 0,#01e6fc 45%,#05eca8 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.animation-title-top .title-h2.--orange {
  background: linear-gradient(90deg,#fe4602 0,#ffb121 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.animation-title-top .sub-title-h2 {
  letter-spacing: 1px;
  position: relative
}
.bottompage-animation-title {
  animation: bottomAnimation .8s ease forwards;
  animation-delay: .5s;
  opacity: 0;
  transition: opacity .2s
}
.bottompage-animation-title .title-h1 {
  color: transparent;
  overflow-y: clip;
  position: relative
}
.bottompage-animation-title .title-h1.--green {
  background: linear-gradient(90deg,#22ff25 0,#1fb904 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.bottompage-animation-title .title-h1.--green03 {
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.bottompage-animation-title .title-h1.--blue {
  background: linear-gradient(90deg,#05eca8 0,#01e6fc 45%,#0065fd 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.bottompage-animation-title .title-h1.--blue_reverse {
  background: linear-gradient(90deg,#0065fd 0,#01e6fc 45%,#05eca8 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.bottompage-animation-title .title-h1.--orange {
  background: linear-gradient(90deg,#fe4602 0,#ffb121 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.bottompage-animation-title .sub-title-h1 {
  letter-spacing: 1px;
  position: relative
}
.bottompage-animation-title .sub-title-h1::before {
  content: "";
  background-image: url(../images/common/title_gradient_line.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  display: block;
  height: 75px;
  left: 0;
  position: absolute;
  top: -30px;
  width: 35px
}
@media (min-width:1025px) {
  .bottompage-animation-title .sub-title-h1::before {
    top: -55px;
    width: 55px
  }
}
@keyframes bottomAnimation {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 1;
    transform: translateY(0)
  }
}
.image-animation-wrap {
  overflow: hidden;
  display: block
}
.image-animation-wrap img {
  width: 100%;
  transform: scale(1.075);
  opacity: 0;
  transition: all 1.5s cubic-bezier(.165,.84,.44,1);
  transition-property: opacity,transform;
  transition-timing-function: cubic-bezier(.165,.84,.44,1);
  will-change: auto
}
.image-animation-wrap.is-active img {
  transform: scale(1);
  opacity: 1
}
.image-animation-wrap.--hover-zoom-in img:hover {
  transform: scale(1.075)
}
.people-card-item img {
  transform: scale(1)
}
.title-h2-wrap-component .title-h2 {
  font-family: Rajdhani;
  font-size: 85px;
  line-height: 1;
  color: transparent
}
.title-h2-wrap-component .title-h2.--blue {
  background: linear-gradient(90deg,#05eca8 0,#01e6fc 14%,#0065fd 37%,#0065fd 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--blue-reverse {
  background: linear-gradient(90deg,#0065fd 0,#01e6fc 37%,#05eca8 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--orange {
  background: linear-gradient(90deg,#fe4602 0,#ffb121 44%,#ffe1d6 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--green {
  background: linear-gradient(130deg,#0cf7fd 0,#22ff25 15%,#1fb904 110%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--green-reverse {
  background: linear-gradient(130deg,#1fb904 0,#22ff25 65%,#0cf7fd 110%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--pink {
  background: linear-gradient(130deg,#fe2b87 0,#f76aa7 50%,#ffecaa 110%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .title-h2.--darkgreen {
  background: linear-gradient(130deg,#006510 0,#00ae65 100%);
  -webkit-background-clip: text;
  background-clip: text
}
.title-h2-wrap-component .sub-title-h2 {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  margin-left: 35px
}
@media (min-width:1025px) {
  .title-h2-wrap-component {
    position: absolute;
    top: -53px
  }
  .title-h2-wrap-component .title-h2 {
    font-size: 130px
  }
  .title-h2-wrap-component .sub-title-h2 {
    font-size: 24px
  }
}
.title-underlayer-wrap .title-underlayer-title-en {
  display: block;
  font-size: 2.8;
  font-size: 28px;
  margin-bottom: 10px
}
.title-underlayer-wrap .title-underlayer-ja {
  background-color: #18ff14;
  display: inline;
  font-size: 3;
  font-size: 30px;
  font-family: rajdhani,sans-serif;
  padding: 5px 5px 0;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 3px
}
@media (min-width:1025px) {
  .title-underlayer-wrap .title-underlayer-title-en {
    font-size: 3.6;
    font-size: 36px
  }
  .title-underlayer-wrap .title-underlayer-ja {
    font-size: 3.6;
    font-size: 36px;
    letter-spacing: 2px;
    line-height: 60px;
    padding: 7px 5px 2px
  }
}
.swiper-list {
  display: flex
}
.swiper-paging {
  display: flex;
  justify-content: flex-end;
  margin-top: 100px;
  position: relative
}
.swiper-paging::before {
  content: "";
  border-top: 1px solid #006510;
  height: 1px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(100% - 160px)
}
.swiper-paging .swiper-button-wrap {
  background-color: #006510;
  border-radius: 20px;
  display: flex;
  position: relative;
  width: 100px
}
.swiper-paging .swiper-button-wrap::before {
  content: "";
  border-left: 1px solid #fff;
  height: 50%;
  left: 50%;
  opacity: .36;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 1px
}
.swiper-paging .swiper-button-wrap .swiper-prev-button {
  appearance: none;
  background-color: transparent;
  border: none;
  color: #006510;
  cursor: pointer;
  height: 33px;
  width: 50%
}
.swiper-paging .swiper-button-wrap .swiper-prev-button::before {
  content: "";
  background-color: #fff;
  clip-path: polygon(0 0,0 100%,70% 50%);
  display: inline-block;
  height: 6px;
  margin-left: -3px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  width: 16px
}
.swiper-paging .swiper-button-wrap .swiper-next-button {
  appearance: none;
  background-color: transparent;
  border: none;
  color: #006510;
  cursor: pointer;
  height: 33px;
  width: 50%
}
.swiper-paging .swiper-button-wrap .swiper-next-button::before {
  content: "";
  background-color: #fff;
  clip-path: polygon(0 0,0 100%,70% 50%);
  display: inline-block;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 16px
}
@media (min-width:1025px) {
  .swiper-list {
    width: 100%
  }
  .swiper-paging::before {
    border-top: 1px solid #98989a
  }
  .swiper-paging .swiper-button-wrap {
    width: 120px
  }
}
.digital-pamphlet-wrap {
  background-color: #5bfe65;
  border-radius: 8px;
  padding: 45px 20px 30px;
  margin-top: 70px;
  font-weight: 700;
  position: relative
}
.digital-pamphlet-wrap::before {
  content: "";
  position: absolute;
  display: block;
  top: 25px;
  left: 20px;
  width: 50%;
  height: 1px;
  background: linear-gradient(90deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%)
}
.digital-pamphlet-wrap .digital-pamphlet-title-en {
  font-size: 3.6;
  font-size: 36px;
  line-height: 35px
}
.digital-pamphlet-wrap .digital-pamphlet-title-ja {
  font-size: 1.5;
  font-size: 15px;
  margin-top: 10px
}
.digital-pamphlet-wrap .digital-pamphlet-detail {
  font-size: 1.2;
  font-size: 12px;
  margin-top: 18px
}
.digital-pamphlet-wrap > small {
  font-size: 1;
  font-size: 10px;
  margin-top: 5px
}
.digital-pamphlet-wrap .digital-pamphlet-image {
  position: absolute;
  top: -16px;
  right: 43px
}
.digital-pamphlet-wrap .digital-pamphlet-image > img {
  width: 90px;
  height: auto;
  object-fit: contain
}
.digital-pamphlet-wrap .digital-pamphlet-image > figcaption {
  position: absolute;
  bottom: 24px;
  right: -24px;
  writing-mode: vertical-rl
}
.digital-pamphlet-wrap .digital-pamphlet-view-link {
  color: #006510;
  position: relative
}
.digital-pamphlet-wrap .digital-pamphlet-view-link::after {
  position: absolute;
  bottom: -30px;
  right: 0;
  width: 13px;
  height: 13px;
  content: "";
  background-image: url(../images/common/icon_link_base-green.svg);
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateY(-50%)
}
@media (min-width:1025px) {
  .digital-pamphlet-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 34px 7%
  }
  .digital-pamphlet-wrap::before {
    top: 50%;
    left: 57%;
    width: 15%
  }
  .digital-pamphlet-wrap .digital-pamphlet-text-wrap {
    padding-right: 20px
  }
  .digital-pamphlet-wrap .digital-pamphlet-title-en {
    font-size: 6.4;
    font-size: 64px;
    line-height: 50px;
    display: inline
  }
  .digital-pamphlet-wrap .digital-pamphlet-title-ja {
    font-size: 2.4;
    font-size: 24px
  }
  .digital-pamphlet-wrap .digital-pamphlet-detail {
    font-size: 1.5;
    font-size: 15px
  }
  .digital-pamphlet-wrap .digital-pamphlet-image {
    position: relative;
    top: 0;
    right: 40px
  }
  .digital-pamphlet-wrap .digital-pamphlet-image > img {
    width: 120px
  }
  .digital-pamphlet-wrap .digital-pamphlet-image > figcaption {
    right: -90px;
    bottom: 30px
  }
  .digital-pamphlet-wrap .digital-pamphlet-view-link {
    font-size: 2;
    font-size: 20px
  }
  .digital-pamphlet-wrap .digital-pamphlet-view-link::after {
    bottom: -38px;
    width: 19px;
    height: 19px
  }
  .digital-pamphlet-wrap.--header {
    display: none
  }
}
.movie-area {
  position: relative;
  border: none;
  background: 0 0;
  display: block
}
.movie-area .movie-thumbnail {
  width: 100%;
  max-width: 860px
}
.movie-area .movie-play-button {
  background: linear-gradient(78deg,#1fb904 14.16%,#22ff25 96.71%,#0cf7fd 151.18%);
  width: 90px;
  height: 90px;
  border-radius: 50%;
  color: #fff;
  font-family: rajdhani,sans-serif;
  font-size: 2;
  font-size: 20px;
  font-weight: 700;
  line-height: 80%;
  position: absolute;
  bottom: -20px;
  right: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}
@media (min-width:1025px) {
  .movie-area {
    margin-top: 40px;
    cursor: pointer
  }
  .movie-area .movie-play-button {
    width: 160px;
    height: 160px;
    font-size: 3.4;
    font-size: 34px;
    right: 30px;
    bottom: -50px;
    cursor: pointer
  }
}
.related-content {
  padding: 0 20px
}
.related-content .related-content-inner {
  display: flex;
  flex-direction: column
}
.related-content .related-content-inner .related-content-title h2 {
  font-family: Rajdhani;
  font-size: 72px;
  line-height: 57px
}
.related-content .related-content-inner .related-content-item p {
  font-weight: 700;
  font-size: 14px;
  font-weight: 700;
  margin-top: 10px
}
.related-content .related-content-inner .related-content-item .related-link-wrap {
  margin-top: 40px
}
.related-content .related-content-inner .related-content-item .related-link-wrap .gradation-link.--green {
  background: linear-gradient(130deg,#169700 0,#05e708 100%)
}
.related-content .related-content-inner .related-content-item .related-link-wrap .gradation-link + .gradation-link {
  margin-top: 20px
}
.related-content .related-content-inner .related-content-item .toppage-area {
  border-top: 1px solid #006510;
  margin: 40px 0 0;
  padding-top: 40px
}
@media (min-width:1025px) {
  .related-content .related-content-inner {
    flex-direction: row;
    align-items: flex-start;
    margin: 0 auto;
    max-width: 1200px
  }
  .related-content .related-content-inner .related-content-title {
    flex-basis: 560px
  }
  .related-content .related-content-inner .related-content-title h2 {
    font-size: 94px;
    line-height: 75px
  }
  .related-content .related-content-inner .related-content-item {
    flex-basis: 640px
  }
  .related-content .related-content-inner .related-content-item p {
    margin-top: 0
  }
  .related-content .related-content-inner .related-content-item .gradation-link {
    left: 0;
    transform: translateX(0)
  }
  .related-content .related-content-inner .related-content-item .toppage-area {
    margin: 80px 0 0!important;
    padding-top: 80px!important
  }
}
#Entry {
  margin-top: 130px
}
#Entry .entry-inner {
  position: relative;
  padding: 93px 0;
  background-image: linear-gradient(100deg,#09ca01,#22ff25,#00f0ff)
}
#Entry .entry-inner::before {
  content: "";
  position: absolute;
  top: -110px;
  left: -160px;
  z-index: 1;
  width: 300px;
  height: 450px;
  background-image: url(../images/top/entry_bg_01.png);
  background-repeat: no-repeat;
  background-size: contain
}
#Entry .entry-inner::after {
  content: "";
  position: absolute;
  top: -30px;
  right: -30px;
  width: 300px;
  height: 430px;
  background-image: url(../images/top/entry_bg_02.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: rotate(-15deg)
}
#Entry #js-particles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}
#Entry .entry-text {
  text-align: center;
  z-index: 1;
  position: relative
}
#Entry .entry-text .company-logo {
  left: 50%;
  position: absolute;
  top: -123px;
  transform: translateX(-50%)
}
#Entry .entry-text > h3 {
  font-family: Rajdhani;
  color: #006510;
  font-size: 36px;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  text-align: center
}
#Entry .entry-text > h3 > span {
  font-family: Rajdhani;
  color: #006510;
  font-size: 60px;
  font-weight: 700;
  font-style: normal
}
@media (min-width:1025px) {
  #Entry {
    margin-top: 200px
  }
  #Entry .entry-inner {
    padding: 206px 0
  }
  #Entry .entry-inner::before {
    top: -350px;
    left: -230px;
    width: 800px;
    height: 950px
  }
  #Entry .entry-inner::after {
    top: -150px;
    right: -15px;
    width: 640px;
    height: 800px;
    transform: rotate(0)
  }
  #Entry .entry-text .company-logo {
    top: -235px
  }
  #Entry .entry-text .company-logo img {
    width: 183px;
    height: 150px
  }
  #Entry .entry-text > h3 {
    font-size: 102px;
    line-height: 100px
  }
  #Entry .entry-text > h3 > span {
    font-size: 130px
  }
}
.modal {
  display: none;
  left: 0;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 1000
}
.modal.show {
  display: block
}
.modal .modal-close-btn {
  appearance: none;
  background: 0 0;
  border: none;
  color: #fff;
  cursor: pointer;
  font-size: 60px;
  line-height: 60px;
  padding: 0;
  position: absolute;
  transform: translateY(-50%);
  z-index: 200;
  height: 60px;
  right: calc(50% - 45vw);
  top: calc(50% - 33vw);
  width: 60px
}
.modal .interview-movie {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  transform: translate(-50%,-50%);
  z-index: 200;
  width: 90%;
  height: auto;
  aspect-ratio: 16/9;
  border: none
}
.modal .modal-bg {
  background: rgba(0,0,0,.5);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0
}
@media (min-width:1025px) {
  .modal .modal-close-btn {
    right: calc(50% - 500px);
    top: calc(50% - 320px)
  }
  .modal .interview-movie {
    width: 62.25rem;
    height: 35rem
  }
}
.subpage-link-wrap {
  margin-top: 100px
}
.subpage-link-wrap .subpage-link-item + .subpage-link-item {
  margin-top: 80px
}
.subpage-link-wrap .subpage-link-image {
  width: 100%
}
.subpage-link-wrap .subpage-link-title {
  font-weight: 700;
  font-size: 1.8;
  font-size: 18px;
  line-height: 175%;
  margin-top: 15px
}
.subpage-link-wrap .subpage-link-title > small {
  display: inline-block;
  font-size: 1.4;
  font-size: 14px
}
.subpage-link-wrap .subpage-link-description {
  font-weight: 700;
  font-size: 1.4;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: .7px;
  margin-top: 5px
}
.subpage-link-wrap .gradation-link-design {
  margin-top: 25px
}
@media (min-width:1025px) {
  .subpage-link-wrap {
    margin-top: 120px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 90px 80px
  }
  .subpage-link-wrap .subpage-link-item {
    width: calc(50% - 40px)
  }
  .subpage-link-wrap .subpage-link-item + .subpage-link-item {
    margin-top: 0
  }
  .subpage-link-wrap .subpage-link {
    min-height: 350px;
    display: block
  }
  .subpage-link-wrap .subpage-link-title {
    font-size: 2.4;
    font-size: 24px;
    margin-top: 20px
  }
  .subpage-link-wrap .subpage-link-title > small {
    display: block;
    line-height: 20px
  }
  .subpage-link-wrap .subpage-link-description {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px;
    margin-top: 10px
  }
  .subpage-link-wrap .gradation-link-design {
    margin-top: 20px
  }
}
.project-card + .project-card {
  display: block;
  margin-top: 100px
}
.project-card .project-image-wrap {
  position: relative;
  background-color: #fff;
  margin-top: -25px;
  padding-top: 25px
}
.project-card .project-image-wrap img {
  aspect-ratio: 800/444;
  object-fit: cover
}
.project-card .project-image-wrap .project-title {
  align-items: center;
  display: flex;
  font-family: rajdhani,sans-serif;
  font-size: 2.2;
  font-size: 22px;
  line-height: 80%;
  position: absolute;
  top: 10px;
  color: #fff;
  mix-blend-mode: difference
}
.project-card .project-image-wrap .project-number {
  font-size: 5.4;
  font-size: 54px;
  letter-spacing: 5.4px;
  margin-left: 4px
}
.project-card .project-image-wrap .project-card-item-label {
  position: absolute;
  top: 30px;
  right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #ffb81c;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1;
  font-size: 10px;
  font-style: normal;
  z-index: 1;
  border-radius: 50%;
  line-height: 1
}
.project-card .project-slogan-wrap {
  position: relative;
  margin-top: -25px
}
.project-card .project-slogan-wrap .project-slogan-inner {
  margin: 0 auto;
  text-align: center;
  width: 80%
}
.project-card .project-slogan-wrap .project-slogan-inner .gradient-box.--pink {
  border-width: 6px
}
.project-card .project-slogan-wrap .project-slogan-inner .gradient-box.--pink > span {
  font-size: 1.5;
  font-size: 15px
}
.project-card .project-slogan-wrap .project-slogan-inner .project-multiplication-icon {
  margin: -14px auto;
  width: 20%
}
.project-card .project-slogan-wrap .project-slogan-inner .gradient-box.--green {
  border: 6px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1
}
.project-card .project-slogan-wrap .project-slogan-inner .gradient-box.--green > span {
  font-size: 1.5;
  font-size: 15px
}
.project-card .project-slogan-wrap .project-slogan-inner .project-slogan-text {
  font-size: 1.5;
  font-size: 15px;
  font-weight: 700;
  margin-top: 10px
}
@media (min-width:1025px) {
  .project-card .project-image-wrap .project-card-item-label {
    top: 39px;
    right: 14px;
    width: 50px;
    height: 50px;
    font-size: 1.3;
    font-size: 13px
  }
  .other-project-wrap.--flex {
    display: flex;
    flex-wrap: nowrap;
    gap: 35px
  }
  .other-project-wrap .other-project-link {
    flex: 1
  }
  .other-project-wrap .other-project-link + .other-project-link {
    margin-top: 0
  }
  .other-project-wrap .other-project-title {
    font-size: 2;
    font-size: 20px
  }
  .other-project-wrap .other-project-number {
    font-size: 5;
    font-size: 50px;
    letter-spacing: 5px
  }
  .other-project-wrap .swiper-slide {
    width: calc(33% - 20px)!important
  }
  .other-project-wrap .slogan-wrap {
    margin-top: -25px!important;
    left: 10%
  }
  .other-project-wrap .slogan-wrap .people-card-detail {
    width: 80%!important
  }
  .other-project-wrap .slogan-wrap .people-card-detail-inner {
    width: 100%!important
  }
  .other-project-wrap .slogan-wrap .people-card-detail-bottom {
    font-size: 16px!important
  }
  .other-project-wrap .slogan-wrap .gradient-box.--green > span,
  .other-project-wrap .slogan-wrap .gradient-box.--pink > span {
    font-size: 16px!important
  }
}
.other-project-wrap .other-project-link + .other-project-link {
  margin-top: 100px;
  display: block
}
.other-project-wrap .other-project-title-wrap {
  position: relative;
  background-color: #fff;
  margin-top: -25px;
  padding-top: 25px
}
.other-project-wrap .other-project-title {
  position: absolute;
  top: 10px;
  left: 0;
  display: flex;
  align-items: center;
  font-family: rajdhani,sans-serif;
  font-size: 2.2;
  font-size: 22px;
  font-weight: 700;
  line-height: 80%;
  color: #fff;
  mix-blend-mode: difference
}
.other-project-wrap .other-project-number {
  font-size: 5.4;
  font-size: 54px;
  letter-spacing: 5.4px;
  margin-left: 4px
}
.other-project-wrap .other-project-card-item-label {
  position: absolute;
  top: 30px;
  right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #ffb81c;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 1;
  font-size: 10px;
  font-style: normal;
  z-index: 1;
  border-radius: 50%;
  line-height: 1
}
.other-project-wrap .slogan-wrap {
  position: relative;
  margin-top: -25px!important
}
.other-project-wrap .slogan-wrap .people-card-detail-inner {
  width: 75%!important
}
.other-project-wrap .slogan-wrap .multiplication-icon {
  width: 20%!important
}
.other-project-wrap .slogan-wrap .gradient-box.--green {
  border: 6px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1
}
.other-project-wrap .slogan-wrap .gradient-box.--green > span {
  font-size: 1.5;
  font-size: 15px
}
@media (min-width:1025px) {
  .other-project-wrap.--flex {
    display: flex;
    flex-wrap: nowrap;
    gap: 35px
  }
  .other-project-wrap .other-project-link {
    flex: 1
  }
  .other-project-wrap .other-project-link + .other-project-link {
    margin-top: 0
  }
  .other-project-wrap .other-project-title {
    font-size: 2;
    font-size: 20px
  }
  .other-project-wrap .other-project-number {
    font-size: 5;
    font-size: 50px;
    letter-spacing: 5px
  }
  .other-project-wrap .other-project-card-item-label {
    top: 39px;
    right: 14px;
    width: 50px;
    height: 50px;
    font-size: 1.3;
    font-size: 13px
  }
  .other-project-wrap .swiper-slide {
    width: calc(33% - 20px)!important
  }
  .other-project-wrap .slogan-wrap {
    margin-top: -25px!important;
    left: 10%
  }
  .other-project-wrap .slogan-wrap .people-card-detail {
    width: 80%!important
  }
  .other-project-wrap .slogan-wrap .people-card-detail-inner {
    width: 100%!important
  }
  .other-project-wrap .slogan-wrap .people-card-detail-bottom {
    font-size: 16px!important
  }
  .other-project-wrap .slogan-wrap .gradient-box.--green > span,
  .other-project-wrap .slogan-wrap .gradient-box.--pink > span {
    font-size: 16px!important
  }
}
.work-field-table-data.--carrer_image .work-field-table-tag {
  width: 100%
}
.career-modal + .career-modal {
  margin-top: 10px
}
.career-modal .career-modal-button,
.career-modal .modal-content-head {
  display: flex;
  align-items: center;
  gap: 10px;
  border: none;
  background-color: #18ff14;
  padding: 25px 25px 25px 20px;
  position: relative
}
.career-modal .career-modal-button.js-career-modal-button,
.career-modal .modal-content-head.js-career-modal-button {
  width: 100%
}
.career-modal .career-modal-button.js-career-modal-button::after,
.career-modal .career-modal-button.js-career-modal-button::before,
.career-modal .modal-content-head.js-career-modal-button::after,
.career-modal .modal-content-head.js-career-modal-button::before {
  content: "";
  position: absolute;
  right: 35px;
  width: 4px;
  height: 25px;
  background-color: #006510
}
.career-modal .career-modal-button.js-career-modal-button::before,
.career-modal .modal-content-head.js-career-modal-button::before {
  transform: rotate(90deg)
}
.career-modal .career-modal-button .position,
.career-modal .modal-content-head .position {
  color: #000;
  font-size: 1.9;
  font-size: 19px;
  font-weight: 700;
  text-align: left;
  line-height: 25px
}
.career-modal .career-modal-button .length,
.career-modal .modal-content-head .length {
  font-size: 1.6;
  font-size: 16px;
  display: block;
  letter-spacing: 2px
}
.career-modal .modal-content-wrap {
  position: fixed;
  top: 50%;
  right: 50%;
  transform: translate(50%,-50%);
  z-index: 200;
  width: 90%;
  height: 600px;
  overflow: hidden;
  box-sizing: border-box
}
.career-modal .modal-content-wrap .modal-close-btn {
  position: absolute;
  top: 35px;
  right: 0;
  font-size: 4;
  font-size: 40px
}
.career-modal .modal-content-wrap .modal-content-detail {
  background-color: #fff;
  padding: 30px 20px;
  height: 450px;
  overflow: auto
}
.career-modal .modal-content-wrap .modal-content-detail .title-fourth {
  font-size: 2.4;
  font-size: 24px;
  font-weight: 700;
  color: #006510;
  line-height: 28.8px;
  letter-spacing: 3px
}
.career-modal .modal-content-wrap .modal-content-detail dl {
  margin-top: 10px
}
.career-modal .modal-content-wrap .modal-content-detail dl dt {
  padding-left: 15px;
  position: relative
}
.career-modal .modal-content-wrap .modal-content-detail dl dt::before {
  position: absolute;
  content: "";
  background: #18ff14;
  width: 10px;
  height: 10px;
  left: 0;
  top: 5px
}
.career-modal .modal-content-wrap .modal-content-detail .career-modal-list {
  margin-top: 20px;
  display: flex;
  flex-direction: column
}
.career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-item {
  background-color: #f2f5f6
}
.career-modal .modal-content-wrap .modal-content-detail .career-modal-list .title-fifth {
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  color: #fff;
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  letter-spacing: 1px;
  padding: 10px 15px
}
.career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-detail-text {
  color: #006510;
  padding: 10px 15px;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px
}
.career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-arrow-image {
  display: block;
  margin: 10px auto
}
@media (min-width:1025px) {
  .work-field-table-data.--carrer_image {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
  }
  .career-modal {
    flex-basis: calc(33% - 7px)
  }
  .career-modal + .career-modal {
    margin-top: 0
  }
  .career-modal .career-modal-button {
    cursor: pointer;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    padding: 12px 12px 36px 12px
  }
  .career-modal .career-modal-button.js-career-modal-button::after,
  .career-modal .career-modal-button.js-career-modal-button::before {
    right: 22px
  }
  .career-modal .career-modal-button .position {
    font-size: 1.8;
    font-size: 18px;
    line-height: 21.6px
  }
  .career-modal .career-modal-button .length {
    font-size: 1.3;
    font-size: 13px
  }
  .career-modal .modal-content-head {
    padding: 20px 20px 20px 40px
  }
  .career-modal .modal-content-head .position {
    font-size: 2.4;
    font-size: 24px;
    line-height: 24px
  }
  .career-modal .modal-content-head .length {
    font-size: 1.6;
    font-size: 16px
  }
  .career-modal .modal-content-wrap {
    max-width: 880px;
    max-height: none
  }
  .career-modal .modal-content-wrap .modal-close-btn {
    top: 35px;
    right: 5px;
    font-size: 5;
    font-size: 50px
  }
  .career-modal .modal-content-wrap .modal-content-detail {
    padding: 30px 40px;
    box-sizing: border-box;
    height: auto;
    overflow: visible;
    min-height: 350px
  }
  .career-modal .modal-content-wrap .modal-content-detail .modal-content-detail-text {
    display: flex;
    gap: 40px
  }
  .career-modal .modal-content-wrap .modal-content-detail .title-fourth {
    flex-basis: calc(50% - 20px)
  }
  .career-modal .modal-content-wrap .modal-content-detail .career-modal-list {
    margin-top: 30px;
    flex-direction: row;
    align-items: stretch
  }
  .career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-item {
    width: 30%
  }
  .career-modal .modal-content-wrap .modal-content-detail .career-modal-list .title-fifth {
    padding: 10px 12px
  }
  .career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-detail-text {
    padding: 10px 12px;
    font-size: 1.3;
    font-size: 13px;
    min-height: 124px;
    line-height: 1.5
  }
  .career-modal .modal-content-wrap .modal-content-detail .career-modal-list .career-modal-arrow-image {
    rotate: -90deg;
    margin: 0;
    height: 100%;
    object-fit: contain
  }
}
.sp-float-entry-wrap {
  bottom: 0;
  box-sizing: border-box;
  padding: 10px;
  position: fixed;
  width: 100%;
  z-index: 50
}
.sp-float-entry-wrap .sp-float-entry-btn {
  align-items: center;
  appearance: none;
  background-color: #5bfe65;
  border: none;
  border-radius: 5px;
  box-sizing: border-box;
  color: #006510;
  display: flex;
  font-family: Rajdhani;
  font-size: 20px;
  font-weight: 700;
  height: 54px;
  position: relative;
  justify-content: center;
  width: 100%
}
.sp-float-entry-wrap .sp-float-entry-btn::before {
  content: "";
  background-color: #006510;
  display: block;
  height: 18px;
  right: 28px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2px
}
.sp-float-entry-wrap .sp-float-entry-btn::after {
  content: "";
  background-color: #006510;
  display: block;
  height: 2px;
  right: 20px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 18px
}
.sp-float-entry-wrap .sp-float-entry-btn.is-active::before {
  height: 0;
  width: 0
}
.sp-float-entry-wrap .sp-float-entry-btn.is-active + .sp-float-entry-list {
  display: block
}
.sp-float-entry-wrap .sp-float-entry-list {
  display: none;
  background-color: #5bfe65;
  bottom: 69px;
  padding: 5px 0;
  position: absolute;
  width: calc(100% - 20px)
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-item {
  margin: 0 15px
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-item + .sp-float-entry-item {
  border-top: 1px solid #38df43
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-link {
  position: relative;
  align-items: center;
  appearance: none;
  border: none;
  box-sizing: border-box;
  color: #006510;
  display: flex;
  font-family: Rajdhani;
  font-size: 20px;
  font-weight: 700;
  height: 50px;
  padding-left: 5px;
  position: relative;
  width: 100%
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-link::after {
  content: "";
  border-top: 2px solid #006510;
  border-right: 2px solid #006510;
  display: inline-block;
  height: 7px;
  right: 15px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 7px
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-link[target=_blank]::after {
  content: none
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-link[target=_blank]::before {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 16px;
  height: auto;
  aspect-ratio: 1/1;
  transform: translateY(-50%);
  background: url(../images/common/icon_link_base-green.svg) no-repeat center center/contain;
  content: ""
}
.sp-float-entry-wrap .sp-float-entry-list .sp-float-entry-link span {
  font-weight: 400;
  margin-right: 15px
}
@media (min-width:1025px) {
  .sp-float-entry-wrap {
    display: none
  }
}
.sitemap .sitemap-title {
  margin-bottom: 10px;
  padding: 10px;
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  color: #fff;
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  line-height: 1.2;
  border-radius: 5px
}
.sitemap .sitemap-list {
  margin-left: 10px
}
.sitemap .sitemap-item {
  position: relative;
  padding-left: 15px;
  font-weight: 700;
  font-size: 1.4;
  font-size: 14px;
  line-height: 1.4
}
.sitemap .sitemap-item + .sitemap-item {
  margin-top: 12px
}
.sitemap .sitemap-item::before {
  position: absolute;
  top: .3em;
  left: 0;
  width: 10px;
  height: 10px;
  background: url(../images/sitemap/icon_arrow.svg) center center/contain no-repeat;
  content: ""
}
.sitemap .sitemap-child-list {
  margin-top: 10px
}
.sitemap .sitemap-child-item {
  position: relative;
  padding-left: 14px;
  font-weight: 400;
  font-size: 1.3;
  font-size: 13px;
  line-height: 1.4
}
.sitemap .sitemap-child-item + .sitemap-child-item {
  margin-top: 10px
}
.sitemap .sitemap-child-item::before {
  position: absolute;
  top: .3em;
  left: 0;
  width: 10px;
  height: 10px;
  background: url(../images/sitemap/icon_arrow.svg) center center/contain no-repeat;
  content: ""
}
@media (min-width:1025px) {
  .sitemap .sitemap-title {
    margin-bottom: 15px;
    padding: 13px 19px;
    font-size: 2;
    font-size: 20px
  }
  .sitemap .sitemap-list {
    margin-left: 19px
  }
  .sitemap .sitemap-item {
    padding-left: 17px;
    font-size: 1.8;
    font-size: 18px
  }
  .sitemap .sitemap-item::before {
    top: .2em;
    width: 12px;
    height: 12px
  }
  .sitemap .sitemap-child-list {
    margin-top: 15px
  }
  .sitemap .sitemap-child-item {
    padding-left: 17px;
    font-size: 1.6;
    font-size: 16px
  }
  .sitemap .sitemap-child-item + .sitemap-child-item {
    margin-top: 15px
  }
  .sitemap .sitemap-child-item::before {
    width: 12px;
    height: 12px
  }
}
#TopPage #MainVisual {
  position: relative;
  pointer-events: none;
  height: 160vw
}
#TopPage #MainVisual > div {
  position: absolute;
  right: 0
}
#TopPage #MainVisual .mv__bg {
  top: 58vw;
  width: 126vw;
  height: auto
}
#TopPage #MainVisual .mv__bg dotlottie-player {
  opacity: 0
}
#TopPage #MainVisual .mv__catch {
  top: 20vw;
  left: 0;
  width: 80vw;
  height: auto;
  margin: auto
}
#TopPage #MainVisual .mv__x {
  top: 58vw;
  width: 126vw;
  height: auto
}
#TopPage .animation-title::before {
  width: 50px;
  height: 70px;
  bottom: -14px
}
#TopPage #Introduction {
  padding-top: 115px;
  padding: 115px 20px 200px
}
#TopPage #Introduction .intro-text {
  font-family: "Noto Serif JP",sans-serif;
  font-size: 16px;
  letter-spacing: -1px;
  line-height: 40px
}
#TopPage #Introduction .intro-text span {
  display: block
}
#TopPage #Introduction .catch-copy {
  font-family: "Noto Serif JP",sans-serif;
  font-size: 18px;
  margin-top: 50px
}
#TopPage #Introduction .company-logo {
  margin-top: 8px;
  width: 80%
}
#TopPage #About {
  height: 100%;
  padding: 50px 20px 80px 20px;
  position: relative
}
#TopPage #About::before {
  content: "";
  background-color: #f2f5f6;
  border-radius: 0 20px 20px 0;
  display: block;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  width: calc(100vw - 75px);
  z-index: -1
}
#TopPage #About .contents {
  margin: 0 0 0 auto
}
#TopPage #About .contents .lottie {
  top: -125px;
  right: 0;
  position: absolute;
  text-align: right
}
#TopPage #About .contents .lottie .about-img {
  width: 45%;
  margin-left: auto
}
#TopPage #About .contents .sub-title {
  font-size: 24px;
  font-weight: 700;
  margin-top: 40px
}
#TopPage #About .contents .sub-description {
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px
}
#TopPage #About .contents .about-text-area .gradation-button-wrap {
  margin-top: 30px
}
#TopPage .sections-wrap {
  margin-top: 120px;
  padding-bottom: 80px;
  position: relative
}
#TopPage .sections-wrap::before {
  content: "";
  background-color: #f2f5f6;
  border-radius: 20px 0 0 20px;
  display: block;
  height: 100%;
  right: 0;
  top: 0;
  position: absolute;
  width: calc(100vw - 45px);
  z-index: -1
}
#TopPage #News {
  min-height: 180px;
  padding: 0 20px
}
#TopPage #News .title-h2-wrap-component {
  top: -45px
}
#TopPage #News .news-list {
  margin-left: 60px
}
#TopPage #News .news-list .news-item:first-child .news-item__link {
  padding-top: 0
}
#TopPage #News .news-list .news-item .news-item__link {
  position: relative;
  border-bottom: 1px solid #c4c4c4;
  display: flex;
  padding: 15px 30px 15px 0
}
#TopPage #News .news-list .news-item .news-item__link::after {
  content: "";
  display: block;
  border-right: 3px solid #c4c4c4;
  border-top: 3px solid #c4c4c4;
  height: 10px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 10px
}
#TopPage #News .news-list .news-item .news-item__link.--blank::after {
  right: 3px;
  border: none;
  transform: rotate(0) translateY(-50%);
  width: 16px;
  height: 16px;
  background: url(../images/common/icon-blank.svg) no-repeat center/contain
}
#TopPage #News .news-list .news-item .news-item__link.--nolink::after {
  content: none
}
#TopPage #News .news-list .news-item .news-date {
  display: inline-block;
  font-family: Rajdhani;
  line-height: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 600
}
#TopPage #News .news-list .news-item .news-date .news-day {
  display: block;
  font-size: 45px;
  font-weight: 700
}
#TopPage #News .news-list .news-item .news-item__info {
  padding: 0 0 0 15px
}
#TopPage #News .news-list .news-item .news-item__info .news-tag {
  color: #ff007a;
  font-size: 12px;
  font-family: Rajdhani;
  font-weight: 600
}
#TopPage #News .news-list .news-item .news-item__info .news-tag + .news-description {
  margin-top: 6px
}
#TopPage #News .news-list .news-item .news-item__info .news-description {
  font-size: 12px;
  margin-top: 30px;
  font-weight: 700
}
#TopPage #News .gradation-button-wrap {
  margin-top: 30px
}
#TopPage #Event {
  padding: 50px 20px 0;
  position: relative
}
#TopPage #Event::before {
  content: "";
  background-image: url(../images/top/event_bg.svg);
  background-size: cover;
  display: block;
  height: 110px;
  position: absolute;
  right: 0;
  width: 150px
}
#TopPage #Event .event-description {
  font-size: 16px;
  font-weight: 700;
  margin-top: 45px
}
#TopPage #Event .event-description br {
  display: none
}
#TopPage #Event .gradation-button-wrap {
  margin-top: 30px
}
#TopPage #People {
  padding: 120px 20px 0
}
#TopPage #People .people-header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%
}
#TopPage #People .tab-container {
  margin-top: 40px
}
#TopPage #People .swiper-wrap {
  margin-top: 45px
}
#TopPage #People .gradation-button-wrap {
  margin-top: 60px
}
#TopPage #People .people-word {
  align-items: center;
  display: flex;
  font-size: 18px;
  font-weight: 700
}
#TopPage #People .people-word .ab-component {
  margin-right: 10px;
  position: relative;
  top: -6px;
  width: calc(100% - 35px)
}
#TopPage #People .people-word:first-child {
  margin-top: 20px
}
#TopPage #Project {
  padding: 180px 20px 0
}
#TopPage #Project .project-header .project-header-item + .project-header-item {
  margin-top: 40px
}
#TopPage #Project .project-list-wrap {
  margin-top: 70px
}
#TopPage #Project .project-list-wrap .project-list {
  display: flex;
  flex-direction: column
}
#TopPage #Project .project-list-wrap .project-lists .project-item .people-card-detail .people-card-detail-inner {
  margin: 0 auto;
  text-align: center
}
#TopPage #Project .project-list-wrap .project-lists .project-item .people-card-detail .people-card-detail-inner .gradient-box {
  border-width: 6px
}
#TopPage #Project .project-list-wrap .project-lists .project-item .people-card-detail .people-card-detail-inner .gradient-box span {
  font-size: 14px
}
#TopPage #Project .project-list-wrap .project-lists .project-item .people-card-detail .people-card-detail-inner .people-card-detail-bottom {
  font-size: 15px;
  font-weight: 700;
  margin-top: 10px
}
#TopPage #Project .project-list-wrap .project-lists .slogan-wrap .multiplication-icon {
  margin: -13px auto
}
#TopPage #Project .project-list-wrap .project-lists .other-project-link + .other-project-link {
  margin-top: 70px
}
#TopPage #Project .project-sub-title {
  font-size: 24px;
  font-weight: 700
}
#TopPage #Project .project-description {
  font-size: 16px;
  font-weight: 700;
  margin-top: 10px
}
#TopPage #Project .title-h2 {
  line-height: 80%
}
#TopPage #Project .project-movie-wrap {
  margin-top: 100px
}
#TopPage #Project .project-movie-wrap .third-heading {
  font-family: rajdhani,sans-serif;
  font-size: 60px;
  line-height: 48px
}
#TopPage #Project .project-movie-wrap .slogan-wrap {
  margin-top: -10px
}
#TopPage #Project .project-movie-wrap .slogan-wrap .project-card-detail {
  text-align: center;
  max-width: 400px
}
#TopPage #Project .project-movie-wrap .slogan-wrap .multiplication-icon {
  margin: -13px auto;
  width: 20%
}
#TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--green > span,
#TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--pink > span {
  font-size: 2.243;
  font-size: 22.43px
}
#TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--pink {
  border: 6.62px solid;
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1
}
#TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--green {
  border: 6.62px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1
}
#TopPage #Project .project-movie-wrap .movie-detail {
  font-weight: 700;
  font-size: 14px;
  line-height: 25.2px;
  margin: 20px auto
}
#TopPage #Project .project-movie-wrap .movie-area {
  width: 100%;
  padding: 0 0 10px 0
}
#TopPage #Project .gradation-button-wrap {
  margin-top: 30px
}
#TopPage #Culture {
  position: relative;
  margin-top: 150px;
  padding-top: 200px
}
#TopPage #Culture .culture-image-wrap {
  position: absolute;
  top: 0;
  right: 0;
  width: 70%
}
#TopPage #Culture .culture-image-wrap .culture-image {
  width: 100%;
  object-fit: cover
}
#TopPage #Culture .culture-background {
  background-color: #f2f5f6;
  border-radius: 36px 0 0 36px;
  position: absolute;
  top: 128px;
  right: 0;
  width: 85%;
  height: 450px;
  z-index: -1
}
#TopPage #Culture .contents {
  padding: 0 20px 0
}
#TopPage #Culture .culture-work-field {
  margin-top: 40px;
  font-weight: 700
}
#TopPage #Culture .culture-work-field .culture-work-field-title {
  font-size: 24px;
  line-height: 38.4px
}
#TopPage #Culture .culture-work-field .culture-work-field-description {
  font-size: 16px;
  line-height: 28.8px;
  margin-top: 10px
}
#TopPage #Culture .culture-list {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  font-weight: 700
}
#TopPage #Culture .culture-list .culture-item + .culture-item {
  margin-top: 30px
}
#TopPage #Culture .culture-list .culture-title {
  font-size: 18px;
  margin-top: 10px
}
#TopPage #Culture .culture-list .culture-description {
  font-size: 14px;
  margin-top: 5px
}
#TopPage #Culture .culture-list .thumbnails {
  height: 130px;
  width: 100%
}
#TopPage #Culture .culture-list .coming-soon {
  margin-top: 20px;
  width: 170px
}
#TopPage #Culture .gradation-button-wrap {
  margin-top: 30px
}
#TopPage #Recruit {
  margin-top: 130px;
  padding-bottom: 80px;
  padding-top: 30px;
  position: relative
}
#TopPage #Recruit::before {
  content: "";
  background-color: #f2f5f6;
  border-radius: 20px 0 0 20px;
  display: block;
  height: 100%;
  right: 0;
  top: 0;
  position: absolute;
  width: calc(100vw - 45px);
  z-index: -1
}
#TopPage #Recruit .contents {
  padding: 0 20px
}
#TopPage #Recruit .contents .recruit-year {
  color: #006510;
  font-size: 24px;
  line-height: 1;
  margin-top: 40px
}
#TopPage #Recruit .contents .recruit-occupation {
  font-size: 18px;
  line-height: 1;
  margin-top: 30px
}
#TopPage #Recruit .contents .recruit-banner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px
}
#TopPage #Recruit .contents .recruit-banner-list .recruit-banner-item {
  flex-basis: calc(50% - 5px)
}
#TopPage #Recruit .contents .recruit-banner-list .recruit-banner-link {
  display: block
}
#TopPage #Recruit .contents .recruit-banner-list .recruit-banner-link img {
  width: 100%
}
#TopPage #Recruit .contents .recruit-link.is-sp {
  margin-top: 40px
}
#TopPage #Recruit .contents .link-card-wrap {
  display: block;
  margin-top: 40px;
  position: relative
}
#TopPage #Recruit .contents .link-card-wrap .faq-accordion-title {
  position: relative
}
#TopPage #Recruit .contents .link-card-wrap .faq-accordion-title::before {
  content: "";
  display: block;
  border-right: 3px solid #fff;
  border-top: 3px solid #fff;
  height: 12px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 12px
}
#TopPage #Recruit .contents .link-card-wrap .link-card-description {
  line-height: 1.8;
  margin-top: 20px
}
@media (min-width:1025px) {
  #TopPage #MainVisual {
    height: calc(100vh - 90px);
    height: 47.4vw;
    background: linear-gradient(0deg,rgba(205,216,217,.5) -6.3%,rgba(237,252,255,0) 18.15%)
  }
  #TopPage #MainVisual > div {
    top: -5vw
  }
  #TopPage #MainVisual .mv__bg {
    top: -7.5vw;
    width: 74.5vw;
    height: 63.5vw
  }
  #TopPage #MainVisual .mv__catch {
    top: 0;
    right: auto;
    left: 4vw;
    width: 30vw;
    height: 100%
  }
  #TopPage #MainVisual .mv__x {
    top: -7.5vw;
    width: 74.5vw;
    height: 63.5vw
  }
  #TopPage .animation-title::before {
    background-image: url(../images/common/title_gradient_line_02.svg);
    width: 60px;
    height: 80px;
    bottom: -10px
  }
  #TopPage #Introduction {
    padding-top: 12vw;
    padding-bottom: 350px
  }
  #TopPage #Introduction .contents {
    margin: 0 auto;
    max-width: 670px
  }
  #TopPage #Introduction .intro-text {
    font-size: 20px;
    letter-spacing: -.5px;
    line-height: 50px
  }
  #TopPage #Introduction .intro-text span {
    display: inline-block
  }
  #TopPage #Introduction .catch-copy {
    font-size: 25px;
    letter-spacing: 2px
  }
  #TopPage #Introduction .company-logo {
    margin-top: 20px;
    width: 540px
  }
  #TopPage #About {
    padding: 50px 0 200px 20px
  }
  #TopPage #About::before {
    width: calc(100vw - 40px)
  }
  #TopPage #About .contents .lottie {
    left: 0;
    position: absolute;
    right: auto;
    top: -210px;
    text-align: left
  }
  #TopPage #About .contents .lottie .about-img {
    position: relative;
    top: auto;
    right: auto;
    width: 40vw;
    max-width: 700px
  }
  #TopPage #About .contents .about-text-area {
    left: 50%;
    position: relative
  }
  #TopPage #About .contents .about-text-area .title-h2-wrap-component {
    position: relative;
    top: -100px
  }
  #TopPage #About .contents .about-text-area .sub-title {
    font-size: 36px;
    margin-top: -30px;
    width: 505px
  }
  #TopPage #About .contents .about-text-area .sub-description {
    font-size: 16px;
    line-height: 2;
    margin-top: 40px;
    width: 400px
  }
  #TopPage #About .contents .about-text-area .button {
    padding-top: 0
  }
  #TopPage #About .contents .about-text-area .gradation-button-wrap {
    margin-top: 20px
  }
  #TopPage .sections-wrap {
    margin-top: 175px
  }
  #TopPage .sections-wrap::before {
    border-radius: 36px 0 0 36px;
    height: 400px;
    top: auto;
    bottom: 0;
    width: calc(100vw - 360px)
  }
  #TopPage .sections-wrap #News .contents {
    margin: 0 auto;
    max-width: 1200px;
    position: relative;
    width: 100%
  }
  #TopPage .sections-wrap #News .contents .title-h2-wrap-component {
    top: 0;
    margin-right: 20px
  }
  #TopPage .sections-wrap #News .contents .news-list-wrapper {
    left: 33%;
    margin-left: 0;
    position: absolute;
    max-width: 800px;
    width: 66.6666666667%
  }
  #TopPage .sections-wrap #News .contents .news-list {
    margin-left: 0
  }
  #TopPage .sections-wrap #News .contents .news-list .news-item__link {
    padding: 30px 30px 30px 0
  }
  #TopPage .sections-wrap #News .contents .news-list .news-item__link::after {
    right: 6px;
    bottom: 50%;
    transform: rotate(45deg) translateY(50%);
    transition: transform .3s ease
  }
  #TopPage .sections-wrap #News .contents .news-list .news-item__link:hover::after {
    transform: rotate(45deg) translateX(5px)
  }
  #TopPage .sections-wrap #News .contents .news-list .news-item__link.--blank::after {
    transform: rotate(0) translateY(50%)
  }
  #TopPage .sections-wrap #News .contents .news-list .news-date {
    font-size: 12px
  }
  #TopPage .sections-wrap #News .contents .news-list .news-date .news-day {
    font-size: 38px
  }
  #TopPage .sections-wrap #News .contents .gradation-button-wrap .gradation-link-design {
    display: block
  }
  #TopPage .sections-wrap #Event {
    position: relative;
    padding: 490px 20px 0;
    z-index: -1
  }
  #TopPage .sections-wrap #Event::before {
    height: 238px;
    margin-top: 40px;
    right: 0;
    width: 300px
  }
  #TopPage .sections-wrap #Event .contents {
    margin: 0 auto;
    max-width: 1200px;
    position: relative;
    width: 100%
  }
  #TopPage .sections-wrap #Event .contents .title-h2-wrap-component {
    left: 0;
    top: -15px
  }
  #TopPage .sections-wrap #Event .contents .event-description {
    font-size: 16px;
    left: 33%;
    margin-top: 0;
    position: relative;
    width: 800px
  }
  #TopPage .sections-wrap #Event .contents .event-description br {
    display: inline-block
  }
  #TopPage .sections-wrap #Event .contents .gradation-button-wrap {
    left: 33%;
    margin-top: 20px;
    position: relative
  }
  #TopPage #People {
    padding-top: 200px
  }
  #TopPage #People .swiper-wrap {
    margin-top: 60px
  }
  #TopPage #People .contents {
    margin: 0 auto;
    max-width: 1200px;
    width: 100%
  }
  #TopPage #People .contents .people-header {
    flex-direction: row
  }
  #TopPage #People .contents .people-header .title-h2-wrap-component {
    position: relative;
    top: auto
  }
  #TopPage #People .contents .people-header .people-word {
    align-items: center;
    display: flex;
    font-size: 24px;
    font-weight: 700
  }
  #TopPage #People .contents .people-header .people-word .ab-component {
    margin-right: 10px;
    position: relative;
    top: -6px;
    width: 475px
  }
  #TopPage #People .contents .tab-container {
    margin-top: 50px
  }
  #TopPage #People .contents .gradation-button-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
    padding-top: 0;
    margin: 30px 200px 0 0
  }
  #TopPage #Project .project-header {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1200px
  }
  #TopPage #Project .project-header .project-header-item + .project-header-item {
    margin-top: 80px
  }
  #TopPage #Project .project-header .project-header-item .title-h2-wrap-component {
    position: relative;
    top: auto
  }
  #TopPage #Project .project-header .project-header-item .title-h2-wrap-component .title-h2 {
    width: 470px
  }
  #TopPage #Project .project-header .project-header-item .project-sub-title {
    font-size: 36px
  }
  #TopPage #Project .project-header .project-header-item .project-description {
    line-height: 1.8;
    margin-top: 35px
  }
  #TopPage #Project .project-list-wrap {
    margin: 70px auto 0;
    max-width: 1200px
  }
  #TopPage #Project .project-list-wrap .project-lists .other-project-link + .other-project-link {
    margin-top: 0
  }
  #TopPage #Project .project-movie-wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 65px;
    margin: 70px auto 0;
    max-width: 1200px
  }
  #TopPage #Project .project-movie-wrap .third-heading {
    font-size: 32.5px;
    line-height: 26px
  }
  #TopPage #Project .project-movie-wrap .movie-title-slogan-wrap {
    width: 40%
  }
  #TopPage #Project .project-movie-wrap .slogan-wrap {
    margin-top: 15px
  }
  #TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--green > span,
  #TopPage #Project .project-movie-wrap .slogan-wrap .gradient-box.--pink > span {
    font-size: 2.373;
    font-size: 23.73px
  }
  #TopPage #Project .project-movie-wrap .movie-wrap {
    width: 60%
  }
  #TopPage #Project .project-movie-wrap .movie-detail {
    font-size: 16px
  }
  #TopPage #Project .project-movie-wrap .movie-area {
    margin-top: 0
  }
  #TopPage #Project .gradation-button-wrap {
    display: flex;
    justify-content: end;
    margin: 0 auto;
    max-width: 1200px
  }
  #TopPage #Project .gradation-button-wrap .gradation-link-design {
    margin-right: 150px;
    margin-top: 80px
  }
  #TopPage #Culture {
    margin-top: 160px;
    padding-top: 200px
  }
  #TopPage #Culture .culture-image-wrap {
    width: 100%;
    max-width: 600px;
    top: 110px
  }
  #TopPage #Culture .culture-background {
    top: 260px;
    width: 75%;
    height: 382px
  }
  #TopPage #Culture .culture-work-field {
    margin-top: 80px
  }
  #TopPage #Culture .culture-work-field .culture-work-field-title {
    font-size: 36px;
    line-height: 57.6px
  }
  #TopPage #Culture .contents {
    margin: 0 auto;
    max-width: 1200px
  }
  #TopPage #Culture .contents .title-h2-wrap-component {
    position: relative;
    top: auto
  }
  #TopPage #Culture .contents .culture-list {
    flex-direction: row;
    margin-top: 200px
  }
  #TopPage #Culture .contents .culture-list .culture-item {
    flex-basis: 50%
  }
  #TopPage #Culture .contents .culture-list .culture-item + .culture-item {
    margin: 0 0 0 80px
  }
  #TopPage #Culture .contents .culture-list .culture-item .thumbnails {
    object-fit: cover;
    object-position: 0 50%
  }
  #TopPage #Culture .contents .culture-list .culture-title {
    font-size: 24px;
    margin-top: 20px
  }
  #TopPage #Culture .contents .culture-list .thumbnails {
    height: 220px
  }
  #TopPage #Culture .contents .culture-list .coming-soon {
    margin-top: 25px;
    width: 200px
  }
  #TopPage #Culture .contents .gradation-button-wrap {
    display: flex;
    justify-content: end;
    margin-right: 150px;
    margin-top: 50px
  }
  #TopPage #Recruit {
    padding-top: 100px
  }
  #TopPage #Recruit::before {
    background-color: transparent
  }
  #TopPage #Recruit .contents {
    background-color: #f2f5f6;
    border-radius: 36px;
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 145px 50px 100px;
    position: relative;
    width: 100%
  }
  #TopPage #Recruit .contents .title-wrap {
    position: relative;
    top: -170px
  }
  #TopPage #Recruit .contents .title-wrap .recruit-link {
    position: absolute;
    right: 80px;
    top: -30px
  }
  #TopPage #Recruit .contents .recruit-year {
    font-size: 36px;
    margin-top: 0
  }
  #TopPage #Recruit .contents .recruit-year ~ .recruit-year {
    margin-top: 60px
  }
  #TopPage #Recruit .contents .recruit-occupation {
    font-size: 22px;
    line-height: 1;
    margin-top: 30px
  }
  #TopPage #Recruit .contents .recruit-banner-list {
    gap: 25px;
    margin: 20px auto 5px;
    max-width: 980px
  }
  #TopPage #Recruit .contents .recruit-banner-list .recruit-banner-item {
    flex-basis: calc(33% - 15px)
  }
  #TopPage #Recruit .contents .link-card-wrap {
    display: flex;
    justify-content: flex-start;
    padding: 30px 56px 30px 40px;
    position: relative
  }
  #TopPage #Recruit .contents .link-card-wrap::before {
    content: "";
    display: block;
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
    height: 12px;
    position: absolute;
    right: 55px;
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
    width: 12px
  }
  #TopPage #Recruit .contents .link-card-wrap .faq-accordion-number {
    line-height: 1
  }
  #TopPage #Recruit .contents .link-card-wrap .faq-accordion-title {
    min-width: 280px;
    width: 280px
  }
  #TopPage #Recruit .contents .link-card-wrap .faq-accordion-title::before {
    display: none
  }
}
#AboutPage .gradation-button-wrap {
  margin-top: 40px
}
#AboutPage .section-area + .section-area {
  margin-top: 150px
}
#AboutPage .content-inner {
  margin-top: 100px
}
#AboutPage .content-inner img {
  width: 100%
}
#AboutPage .--flex {
  display: flex;
  flex-direction: column
}
#AboutPage .title-en {
  font-size: 28px;
  line-height: 28px;
  margin-bottom: 10px
}
#AboutPage .title-ja {
  font-size: 28px;
  line-height: 42px;
  margin-bottom: 30px
}
#AboutPage .title-ja span {
  display: block;
  position: relative;
  width: fit-content;
  padding: 0 10px
}
#AboutPage .title-ja span + span {
  margin-top: 5px
}
#AboutPage .title-ja.--white span {
  background-color: #fff
}
#AboutPage .title-ja.--green span {
  background-color: #18ff14
}
#AboutPage .main-visual {
  position: relative
}
#AboutPage .main-visual::before {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  background-image: url(../images/about/icon_mv_x_about.png);
  left: initial;
  right: 0;
  bottom: -60px;
  width: 100px;
  height: 100%
}
#AboutPage .main-visual::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  right: 0;
  background-image: url(../images/common/icon_mv_x_right.png);
  width: 150px;
  height: 220px;
  bottom: 0;
  top: 48%
}
#AboutPage .main-visual .main-visual-image-wrap {
  margin-top: 20px;
  text-align: center
}
#AboutPage .main-visual .main-visual-image-wrap::after,
#AboutPage .main-visual .main-visual-image-wrap::before {
  background-image: none
}
#AboutPage .main-visual .main-visual-image-wrap .main-visual-image {
  width: 230px;
  margin-right: 60px;
  margin-left: auto
}
#AboutPage .main-visual .main-visual-description {
  padding: 20px 20px 0 20px;
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: .8px;
  color: #006510
}
#AboutPage .main-visual .main-visual-description br {
  display: none
}
#AboutPage #sec01 {
  position: relative
}
#AboutPage #sec01::before {
  content: "";
  position: absolute;
  top: 42px;
  left: -10%;
  z-index: 0;
  width: 100%;
  height: 80%;
  background-color: #18ff14;
  border-radius: 0 36px 36px 0
}
#AboutPage #sec01 .section-content {
  position: relative;
  z-index: 1
}
#AboutPage #sec01 .title-en {
  margin-bottom: 15px
}
#AboutPage #sec02 .title-ja::before {
  content: "01";
  background: linear-gradient(90deg,#fe2b87 0,#ffecaa 25%);
  display: block;
  font-family: rajdhani,sans-serif;
  font-size: 70px;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 58px;
  margin-bottom: 15px
}
#AboutPage #sec02 .title-ja span:last-of-type {
  font-size: 55px;
  font-weight: 400;
  line-height: 65px
}
#AboutPage #sec02 .section-item:nth-child(2) .title-ja::before {
  content: "02"
}
#AboutPage #sec02 .section-item:nth-child(3) .title-ja::before {
  content: "03"
}
#AboutPage #sec02 .section-item + .section-item {
  margin-top: 90px
}
#AboutPage #sec02 .section-item-textarea h3 {
  font-size: 24px;
  letter-spacing: 1px;
  line-height: 36px;
  margin-bottom: 10px
}
#AboutPage #sec02 .section-item-textarea h3 img {
  margin-bottom: 10px
}
#AboutPage #sec02 .section-item-textarea .multiplication {
  display: inline
}
#AboutPage #sec02 .section-item-textarea .multiplication .multiplication-item {
  display: inline
}
#AboutPage #sec02 .section-item-textarea p {
  font-size: 15px;
  line-height: 27px;
  font-weight: 700
}
#AboutPage #sec02 .section-item-textarea p:has(+.button) {
  margin-bottom: 40px
}
#AboutPage #sec02 .company-graphic {
  display: block;
  margin-top: 42px
}
#AboutPage #sec02 .company-graphic .company-group {
  margin-top: 40px;
  width: 100%
}
#AboutPage #sec03 {
  position: relative
}
#AboutPage #sec03::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -20px;
  z-index: 0;
  width: 100%;
  height: calc(100% + 130px);
  background-color: #f2f5f6;
  border-radius: 36px 0 0 36px
}
#AboutPage #sec03 .section-item {
  position: relative;
  padding-top: 120px;
  margin-bottom: 40px;
  z-index: 1
}
#AboutPage #sec03 .section-inner {
  z-index: 1
}
#AboutPage #sec03 .section-inner .title-underlayer-wrap {
  left: 0;
  position: absolute;
  top: 0
}
#AboutPage #sec03 .section-inner .title-underlayer-wrap .title-underlayer-ja {
  font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ",Meiryo,sans-serif;
  padding: 5px
}
#AboutPage #sec03 .section-textarea h3 {
  font-size: 24px;
  line-height: 36px;
  margin-bottom: 10px
}
#AboutPage #sec03 .section-textarea p {
  font-size: 15px;
  line-height: 27px;
  font-weight: 700
}
#AboutPage #sec03 .section-textarea p:has(+.button) {
  margin-bottom: 40px
}
#AboutPage #sec03 .president-caption .post {
  font-size: 13px;
  font-weight: 700;
  margin-top: 10px
}
#AboutPage #sec03 .president-caption .name {
  font-size: 26px;
  margin-top: 5px
}
#AboutPage #sec04 {
  position: relative
}
#AboutPage #sec04 .section-item {
  max-width: 231px;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: -1
}
#AboutPage #sec04 .section-inner {
  padding-top: 160px
}
#AboutPage #sec04 .section-inner .title-underlayer-wrap {
  margin-bottom: 25px
}
#AboutPage #sec04 .section-inner .title-underlayer-wrap .title-underlayer-ja {
  font-family: "游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ",Meiryo,sans-serif;
  padding: 5px
}
#AboutPage #sec04 .text-wrap h3 {
  font-size: 24px;
  letter-spacing: 1px;
  line-height: 36px;
  margin-bottom: 10px;
  position: relative
}
#AboutPage #sec04 .text-wrap h3.line-design::after {
  content: "";
  background: linear-gradient(90deg,#169700,#05e708);
  bottom: 18px;
  display: block;
  height: 1px;
  position: absolute;
  right: 0;
  width: calc(100% - 220px)
}
#AboutPage #sec04 .text-wrap p {
  font-size: 15px;
  font-weight: 700;
  line-height: 27px
}
#AboutPage #sec04 .green-line {
  border: none;
  border-top: 2px solid #00e303;
  margin: 30px 0;
  width: 50px
}
#AboutPage #sec04 .section-textarea-image {
  margin-top: 20px
}
#AboutPage .related-content {
  margin-top: 120px
}
@media (min-width:1025px) {
  #AboutPage .--flex {
    flex-direction: row
  }
  #AboutPage .section-area + .section-area {
    margin-top: 200px
  }
  #AboutPage .content-wrap {
    position: relative
  }
  #AboutPage .content-wrap::before {
    content: "";
    background-color: #18ff14;
    border-radius: 0 36px 36px 0;
    height: 520px;
    left: 0;
    max-width: 1000px;
    padding-right: 48px;
    position: absolute;
    top: 56px;
    width: 78%;
    z-index: 0
  }
  #AboutPage .content-inner {
    max-width: none;
    padding: 0
  }
  #AboutPage .main-visual {
    margin-top: 0;
    padding-top: 10px
  }
  #AboutPage .main-visual::before {
    width: 200px;
    bottom: 120px
  }
  #AboutPage .main-visual::after {
    width: 280px;
    height: 100%;
    bottom: -280px
  }
  #AboutPage .main-visual.--under-layer {
    overflow: visible
  }
  #AboutPage .main-visual .main-visual-inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 120px 30px;
    position: relative;
    flex-direction: column;
    align-items: flex-start
  }
  #AboutPage .main-visual .main-visual-inner .title-h1-wrap-component {
    padding: 0
  }
  #AboutPage .main-visual .main-visual-inner .main-visual-image-wrap {
    margin: 0;
    position: absolute;
    right: 0;
    top: -40px
  }
  #AboutPage .main-visual .main-visual-inner .main-visual-image-wrap .main-visual-image {
    position: relative;
    top: -40px;
    z-index: 2;
    width: 40vw;
    max-width: 550px;
    margin-right: 0;
    aspect-ratio: auto
  }
  #AboutPage .main-visual .main-visual-inner .main-visual-description {
    margin-top: 90px;
    padding: 0;
    position: relative;
    text-align: left
  }
  #AboutPage .main-visual .main-visual-inner .main-visual-description p {
    font-size: 18px;
    line-height: 32px
  }
  #AboutPage .main-visual .main-visual-inner .main-visual-description br {
    display: inline-block
  }
  #AboutPage #sec01 {
    margin: 0 auto;
    max-width: 1200px;
    min-height: 520px;
    padding: 0 40px
  }
  #AboutPage #sec01::before {
    background-color: transparent
  }
  #AboutPage #sec01 .title-en.gradient-text.--blue {
    font-size: 36px;
    line-height: 36px;
    margin-bottom: 20px
  }
  #AboutPage #sec01 .title-ja.--white {
    font-size: 36px;
    line-height: 48px
  }
  #AboutPage #sec01 .section-item {
    display: block;
    padding-left: 200px;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
  }
  #AboutPage #sec01 .play-movie-wrap .play-movie-thumbnails {
    max-height: 495px
  }
  #AboutPage #sec02 {
    margin: 250px auto 0;
    max-width: 1200px;
    padding: 0 40px
  }
  #AboutPage #sec02 .title-ja::before {
    font-size: 94px;
    line-height: 75px;
    margin-bottom: 15px
  }
  #AboutPage #sec02 .section-item + .section-item {
    margin-top: 150px
  }
  #AboutPage #sec02 .section-item-title {
    flex-basis: 560px
  }
  #AboutPage #sec02 .section-item-title .title-ja span {
    font-size: 36px;
    line-height: 48px
  }
  #AboutPage #sec02 .section-item-title .title-ja span:last-of-type {
    font-size: 70px;
    line-height: 75px
  }
  #AboutPage #sec02 .section-item-textarea {
    flex-basis: 640px;
    padding-left: 20px
  }
  #AboutPage #sec02 .section-item-textarea h3 {
    margin-bottom: 40px
  }
  #AboutPage #sec02 .section-item-textarea h3 img {
    margin-bottom: 5px
  }
  #AboutPage #sec02 .section-item-textarea p {
    font-size: 16px;
    line-height: 28px
  }
  #AboutPage #sec02 .section-item-textarea .multiplication {
    align-items: center;
    display: flex
  }
  #AboutPage #sec02 .section-item-textarea .multiplication .multiplication-item {
    word-break: keep-all
  }
  #AboutPage #sec02 .section-item-textarea .multiplication .multiplication-item:last-child {
    padding-left: 10px;
    padding-top: 6px
  }
  #AboutPage #sec02 .section-item-textarea .gradation-button-wrap .gradation-link {
    left: 0;
    transform: translateX(0)
  }
  #AboutPage #sec03 {
    margin-top: 260px
  }
  #AboutPage #sec03::before {
    height: 700px;
    top: 70px;
    right: 0;
    width: calc(100vw - 33px)
  }
  #AboutPage #sec03 .section-content {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 40px
  }
  #AboutPage #sec03 .section-content .section-item {
    flex-basis: 500px;
    margin-bottom: 0;
    padding-top: 0
  }
  #AboutPage #sec03 .section-content .section-item .section-item-image img {
    max-width: 490px
  }
  #AboutPage #sec03 .section-content .section-item .president-caption .post {
    font-size: 16px;
    line-height: 24px;
    margin-top: 15px
  }
  #AboutPage #sec03 .section-content .section-item .president-caption .name {
    font-size: 30px
  }
  #AboutPage #sec03 .section-content .section-inner {
    flex-basis: 700px;
    padding-left: 64px
  }
  #AboutPage #sec03 .section-content .section-inner .title-underlayer-wrap {
    margin-bottom: 30px;
    position: relative
  }
  #AboutPage #sec03 .section-content .section-inner .title-underlayer-wrap .title-underlayer-title-en {
    margin-bottom: 7px
  }
  #AboutPage #sec03 .section-content .section-inner .section-textarea h3 {
    margin-bottom: 40px
  }
  #AboutPage #sec03 .section-content .section-inner .section-textarea p {
    font-size: 16px;
    line-height: 28px
  }
  #AboutPage #sec04 .section-content {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 40px
  }
  #AboutPage #sec04 .section-content .section-item {
    flex-basis: 560px;
    max-width: none;
    position: relative
  }
  #AboutPage #sec04 .section-content .section-item .section-item-image img {
    width: 85%
  }
  #AboutPage #sec04 .section-content .section-inner {
    flex-basis: 640px;
    padding-top: 0
  }
  #AboutPage #sec04 .section-content .section-inner .title-underlayer-wrap {
    margin-bottom: 30px
  }
  #AboutPage #sec04 .section-content .section-inner .title-underlayer-wrap .title-underlayer-title-en {
    margin-bottom: 7px
  }
  #AboutPage #sec04 .section-content .section-inner .title-underlayer-wrap .title-underlayer-ja {
    padding: 8px
  }
  #AboutPage #sec04 .section-content .section-inner .title-en {
    font-size: 36px
  }
  #AboutPage #sec04 .section-content .section-inner .title-ja {
    font-size: 36px;
    line-height: 54px;
    margin-botttom: 40px
  }
  #AboutPage #sec04 .section-content .section-inner .section-textarea h3 {
    margin-bottom: 20px
  }
  #AboutPage #sec04 .section-content .section-inner .section-textarea p {
    font-size: 16px;
    line-height: 28px
  }
}
.bottompage-animation-title.--people {
  display: inline-block
}
.bottompage-animation-title.--people .sub-title,
.bottompage-animation-title.--people .title {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  line-height: 100%;
  font-size: 6;
  font-size: 60px
}
.bottompage-animation-title.--people .sub-title::before {
  background-image: url(../images/common/title_gradient_line_02.svg);
  left: initial
}
#PeoplePage .main-visual.--under-layer .main-visual-description-sp .people-word {
  align-items: center;
  display: flex;
  font-size: 18px;
  font-weight: 700
}
#PeoplePage .main-visual.--under-layer .main-visual-description-sp .people-word .ab-component {
  margin-right: 10px;
  position: relative;
  top: -6px;
  width: calc(100% - 35px)
}
#PeoplePage .people-interview-wrap {
  margin-top: 80px
}
#PeoplePage .bottompage-animation-title.--people {
  margin-bottom: 50px
}
#PeoplePage .bottompage-animation-title.--people .sub-title::before {
  width: 100px;
  height: 120px;
  top: -50px;
  right: -60px
}
#PeoplePage .people-list {
  margin-top: 50px
}
#PeoplePage .people-list .people-list-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 150px 20px
}
#PeoplePage .coming_soon {
  margin-top: 200px
}
#PeoplePage .coming_soon > p {
  text-align: center;
  font-family: rajdhani,sans-serif;
  color: #006510;
  font-size: 4;
  font-size: 40px;
  font-weight: 400;
  line-height: 80%
}
#PeoplePage .people-movie-wrap {
  margin-top: 190px
}
#PeoplePage .people-movie-wrap .movie-title-slogan-wrap .bottompage-animation-title.--people .sub-title::before {
  width: 120px;
  height: 150px;
  top: -70px;
  right: -50px
}
#PeoplePage .people-movie-wrap .slogan-wrap .people-card-detail {
  text-align: center;
  max-width: 400px
}
#PeoplePage .people-movie-wrap .slogan-wrap .multiplication-icon {
  margin: -13px auto;
  width: 16%
}
#PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--blue > span,
#PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--pink > span {
  font-size: 1.6;
  font-size: 16px
}
#PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--pink {
  border: 5.7px solid;
  -o-border-image: linear-gradient(45deg,#fe2b87 0,#f75 .7aa7 50%,#ffecaa 100%);
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1
}
#PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--blue {
  border: 6px solid;
  -o-border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image-slice: 1
}
#PeoplePage .people-movie-wrap .movie-wrap {
  margin-top: 40px
}
#PeoplePage .people-movie-wrap .movie-detail {
  font-weight: 700;
  font-size: 1.5;
  font-size: 15px;
  line-height: 180%;
  letter-spacing: .75px
}
#PeoplePage .people-movie-wrap .movie-area {
  margin-top: 20px
}
#PeoplePage .toppage-inner {
  border-top: 1px solid #006510;
  margin: 150px 20px 0;
  padding-top: 40px
}
@media (min-width:1025px) {
  .bottompage-animation-title.--people .sub-title,
  .bottompage-animation-title.--people .title {
    font-size: 8.6;
    font-size: 86px;
    text-wrap: nowrap
  }
  .bottompage-animation-title.--people .sub-title::before {
    width: 150px;
    height: 200px;
    top: -80px;
    right: -80px
  }
  #PeoplePage .main-visual.--under-layer .main-visual-description-pc .people-word {
    align-items: center;
    display: flex;
    font-size: 24px;
    font-weight: 700
  }
  #PeoplePage .main-visual.--under-layer .main-visual-description-pc .people-word .ab-component {
    margin-right: 10px;
    position: relative;
    top: -6px;
    width: 475px
  }
  #PeoplePage .people-interview-wrap {
    margin-top: 70px
  }
  #PeoplePage .people-list {
    margin-top: 60px
  }
  #PeoplePage .people-list .people-list-wrap {
    gap: 170px 40px
  }
  #PeoplePage .coming_soon {
    margin-top: 270px
  }
  #PeoplePage .coming_soon > p {
    font-size: 7;
    font-size: 70px
  }
  #PeoplePage .people-movie-wrap {
    margin-top: 310px;
    position: relative
  }
  #PeoplePage .people-movie-wrap .movie-wrap-background {
    position: absolute;
    background-color: #f2f5f6;
    width: 84%;
    height: 100%;
    top: -70px;
    right: 0;
    z-index: -1;
    border-radius: 20px 0 0 20px
  }
  #PeoplePage .people-movie-wrap .pc-flex {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 100px
  }
  #PeoplePage .people-movie-wrap .movie-title-slogan-wrap {
    width: 30%
  }
  #PeoplePage .people-movie-wrap .movie-title-slogan-wrap .bottompage-animation-title.--people .sub-title::before {
    width: 140px;
    height: 170px;
    top: -90px;
    right: -69px
  }
  #PeoplePage .people-movie-wrap .slogan-wrap .people-card-detail {
    max-width: 320px
  }
  #PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--blue,
  #PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--pink {
    padding: 5px
  }
  #PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--blue > span,
  #PeoplePage .people-movie-wrap .slogan-wrap .gradient-box.--pink > span {
    font-size: 1.8;
    font-size: 18px
  }
  #PeoplePage .people-movie-wrap .movie-wrap {
    margin-top: 0
  }
  #PeoplePage .people-movie-wrap .movie-detail {
    font-size: 1.6;
    font-size: 16px
  }
  #PeoplePage .toppage-inner {
    margin: 200px auto 0;
    max-width: 1200px
  }
  #PeoplePage .toppage-inner .gradation-link-design {
    left: calc(100% - 510px);
    position: relative
  }
}
#CulturePage .content-wrap {
  margin-top: 90px;
  margin-bottom: 120px
}
#CulturePage .culture-activities + .culture-activities {
  margin-top: 120px
}
#CulturePage .culture-activities-top-wrap {
  align-items: center;
  display: flex;
  flex-direction: column
}
#CulturePage .culture-activities-top-wrap .culture-activities-top-text .culture-activities-text {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  font-size: 2;
  font-size: 20px;
  letter-spacing: 2px;
  margin-top: 30px
}
#CulturePage .culture-activities-top-wrap .culture-activities-top-illust {
  margin-top: 30px
}
#CulturePage .culture-activities-list {
  margin-top: 30px
}
#CulturePage .culture-activities-list .culture-activities-item + .culture-activities-item {
  margin-top: 50px
}
#CulturePage .culture-activities-list .culture-activities-list-image {
  width: 100%;
  object-fit: cover
}
#CulturePage .culture-activities-list .culture-activities-list-title {
  font-weight: 700;
  font-size: 2;
  font-size: 20px;
  letter-spacing: 2px;
  margin-top: 15px
}
#CulturePage .culture-activities-list .culture-activities-list-title > small {
  font-size: 1.4;
  font-size: 14px;
  display: block
}
#CulturePage .culture-activities-list .culture-activities-list-detail {
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  margin-top: 10px;
  letter-spacing: 1.6px
}
#CulturePage .culture-activities-list .culture-activities-list-subdetail {
  display: block;
  font-size: 1.2;
  font-size: 12px;
  letter-spacing: 1.2px;
  margin-top: 5px
}
#CulturePage .toppage-inner {
  border-top: 1px solid #006510;
  margin: 0 20px;
  padding: 40px 20px 0
}
@media (min-width:1025px) {
  #CulturePage .content-wrap {
    margin-top: 100px;
    margin-bottom: 200px
  }
  #CulturePage .culture-activities-top-wrap {
    flex-direction: row;
    justify-content: space-between
  }
  #CulturePage .culture-activities-top-wrap .culture-activities-top-text .culture-activities-text {
    font-size: 2.4;
    font-size: 24px
  }
  #CulturePage .culture-activities-top-wrap .culture-activities-top-illust {
    align-items: center;
    display: flex;
    flex-direction: column;
    margin-top: 0
  }
  #CulturePage .culture-activities-top-wrap .culture-activities-top-illust > img {
    width: 400px
  }
  #CulturePage .culture-activities-top-wrap > div {
    flex: 1
  }
  #CulturePage .culture-activities-list {
    display: flex;
    flex-wrap: wrap;
    gap: 80px
  }
  #CulturePage .culture-activities-list .culture-activities-item {
    width: calc(50% - 40px)
  }
  #CulturePage .culture-activities-list .culture-activities-item + .culture-activities-item {
    margin-top: 0
  }
  #CulturePage .toppage-wrap {
    padding: 0 80px
  }
  #CulturePage .toppage-wrap .toppage-inner {
    margin: 0 auto;
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0
  }
  #CulturePage .toppage-wrap .toppage-inner .gradation-link-design {
    left: calc(100% - 510px)
  }
}
#CultureTopPage .main-visual .sub-title-h1::before {
  background-image: url(../images/common/title_gradient_line_02.svg)
}
#CultureTopPage .main-visual-image-wrap {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: flex-end
}
#CultureTopPage .main-visual-image-wrap .main-visual-image {
  width: 85%;
  max-width: 400px;
  object-fit: contain
}
#CultureTopPage .main-visual-image-wrap::after,
#CultureTopPage .main-visual-image-wrap::before {
  display: none
}
#CultureTopPage .subpage-link-wrap {
  align-items: stretch
}
#CultureTopPage .content-wrap {
  margin-bottom: 120px
}
#CultureTopPage .toppage-inner {
  border-top: 1px solid #006510;
  margin: 0 20px;
  padding: 40px 20px 0
}
@media (min-width:1025px) {
  #CultureTopPage .main-visual-image-wrap {
    margin-top: -180px
  }
  #CultureTopPage .main-visual-image-wrap .main-visual-image {
    width: 40%;
    max-width: initial
  }
  #CultureTopPage .subpage-link-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between
  }
  #CultureTopPage .content-wrap {
    margin-bottom: 200px
  }
  #CultureTopPage .toppage-wrap {
    padding: 0 80px
  }
  #CultureTopPage .toppage-wrap .toppage-inner {
    margin: 0 auto;
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0
  }
  #CultureTopPage .toppage-wrap .toppage-inner .gradation-link-design {
    left: calc(100% - 510px)
  }
}
#cultureTrainingPage .title-h1 {
  font-size: 7.4;
  font-size: 74px
}
#cultureTrainingPage .title-h1 > span {
  text-wrap: nowrap;
  display: block
}
#cultureTrainingPage .content-wrap {
  margin-top: 90px;
  margin-bottom: 120px
}
#cultureTrainingPage .training-activities + .training-activities {
  margin-top: 120px
}
#cultureTrainingPage .training-activities-top-wrap {
  align-items: center;
  display: flex;
  flex-direction: column
}
#cultureTrainingPage .training-activities-top-wrap .training-activities-top-text .training-activities-text {
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 1.6px;
  margin-top: 30px
}
#cultureTrainingPage .training-activities-top-wrap .training-activities-list-image {
  margin-top: 30px
}
#cultureTrainingPage .training-activities-list {
  margin-top: 30px
}
#cultureTrainingPage .training-activities-list .training-activities-item + .training-activities-item {
  margin-top: 50px
}
#cultureTrainingPage .training-activities-list .training-activities-list-image {
  width: 100%;
  object-fit: cover
}
#cultureTrainingPage .training-schedule {
  margin-top: 70px
}
#cultureTrainingPage .training-schedule .training-schedule-wrap {
  padding-top: 70px
}
#cultureTrainingPage .training-schedule .training-schedule-wrap + .training-schedule-wrap {
  padding-top: 70px
}
#cultureTrainingPage .training-schedule .training-schedule-title {
  background-color: #5bfe65;
  padding: 5px 10px;
  color: #006510;
  font-size: 1.8;
  font-size: 18px;
  font-weight: 700;
  display: inline-block
}
#cultureTrainingPage .training-schedule .training-schedule-subtext {
  color: #006510;
  font-size: 1.8;
  font-size: 18px;
  font-weight: 700;
  margin-top: 10px
}
#cultureTrainingPage .training-schedule .training-schedule-subtext ~ .training-schedule-subtext {
  padding-top: 80px
}
#cultureTrainingPage .training-schedule .training-schedule-image {
  width: 100%;
  margin-top: 20px
}
#cultureTrainingPage .training-attention {
  font-size: 12px;
  margin-top: 30px;
  text-align: right
}
#cultureTrainingPage .related-content-item > p {
  font-weight: 700
}
@media (min-width:1025px) {
  #cultureTrainingPage .title-h1 {
    font-size: 12.5;
    font-size: 125px
  }
  #cultureTrainingPage .content-wrap {
    margin-top: 100px;
    margin-bottom: 200px
  }
  #cultureTrainingPage .main-visual.--under-layer .main-visual-inner .title-h1-wrap-component {
    max-width: none
  }
  #cultureTrainingPage .training-activities-top-wrap {
    flex-direction: row;
    justify-content: space-between
  }
  #cultureTrainingPage .training-activities-top-wrap .training-activities-top-text .training-activities-text {
    font-size: 1.8;
    font-size: 18px
  }
  #cultureTrainingPage .training-activities-top-wrap > div {
    width: 50%
  }
  #cultureTrainingPage .training-activities-top-wrap .image-animation-wrap {
    width: calc(50% - 40px)
  }
  #cultureTrainingPage .training-schedule {
    margin-top: 120px
  }
  #cultureTrainingPage .training-schedule .training-schedule-wrap {
    padding-top: 80px
  }
  #cultureTrainingPage .training-schedule .training-schedule-wrap + .training-schedule-wrap {
    padding-top: 90px
  }
  #cultureTrainingPage .training-schedule .training-schedule-title {
    font-size: 2.8;
    font-size: 28px
  }
  #cultureTrainingPage .training-schedule .training-schedule-subtext {
    font-size: 2.4;
    font-size: 24px;
    margin-top: 20px
  }
  #cultureTrainingPage .training-schedule .training-schedule-subtext ~ .training-schedule-subtext {
    margin-top: 0;
    padding-top: 120px
  }
  #cultureTrainingPage .training-schedule .training-schedule-image {
    margin-top: 0
  }
  #cultureTrainingPage .training-attention {
    font-size: 14px;
    margin-top: 15px;
    text-align: right
  }
}
#cultureNumbersPage .numbers-area {
  margin: 50px auto 120px
}
#cultureNumbersPage .numbers-attention {
  margin-top: 10px;
  text-align: right
}
#cultureNumbersPage .numbers-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 19px;
  color: #006510
}
#cultureNumbersPage .numbers-item {
  background-color: #5bfe65;
  padding: 30px 40px;
  box-sizing: border-box;
  border-radius: 31.222px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center
}
#cultureNumbersPage .numbers-item.--sp_half {
  width: calc(50% - 9.5px)
}
#cultureNumbersPage .numbers-item .numbers-item-icon {
  display: block;
  margin: 0 auto
}
#cultureNumbersPage .numbers-item .numbers-item-title {
  text-align: center;
  font-size: 2.8;
  font-size: 28px;
  font-weight: 700;
  line-height: 150%;
  color: #55565a;
  margin-top: 18px
}
#cultureNumbersPage .numbers-item .numbers-item-number {
  text-align: center
}
#cultureNumbersPage .numbers-item .numbers-item-number .number {
  font-family: rajdhani,sans-serif;
  font-size: 13.5;
  font-size: 135px;
  font-weight: 400;
  line-height: 100%
}
#cultureNumbersPage .numbers-item .numbers-item-number .decimal-point {
  font-family: rajdhani,sans-serif;
  font-size: 7;
  font-size: 70px;
  font-weight: 500;
  line-height: 100%
}
#cultureNumbersPage .numbers-item .numbers-item-number .unit {
  font-size: 2.7;
  font-size: 27px;
  font-weight: 700;
  line-height: 100%
}
#cultureNumbersPage .numbers-item .numbers-item-description {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: .7px
}
#cultureNumbersPage .numbers-item .numbers-item-attention {
  font-size: 1.2;
  font-size: 12px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: .6px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) {
  margin-top: 30px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item {
  padding: 14px 10px;
  border-radius: 14.747px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .numbers-item-title {
  font-size: 1.3;
  font-size: 13px;
  margin-top: 7px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .number {
  font-size: 6.5;
  font-size: 65px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .decimal-point {
  font-size: 3.5;
  font-size: 35px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .unit {
  font-size: 1.3;
  font-size: 13px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-text-wrap {
  display: grid;
  grid-auto-flow: column;
  gap: 24px;
  margin-top: 10px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-number {
  position: relative;
  width: 85px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-number + .numbers-item-number::before {
  position: absolute;
  top: 8px;
  left: 0;
  content: "";
  width: 24px;
  height: 1px;
  background-color: #55565a;
  transform: translateX(-100%)
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .year {
  display: block;
  font-style: normal;
  font-weight: 700;
  font-size: 1.2;
  font-size: 12px;
  color: #55565a
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .number {
  font-size: 6.5;
  font-size: 65px
}
#cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .unit {
  font-size: 1.3;
  font-size: 13px
}
#cultureNumbersPage .related-content .related-content-item > p {
  font-weight: 700
}
@media (min-width:1025px) {
  #cultureNumbersPage .numbers-area {
    margin-top: 90px
  }
  #cultureNumbersPage .numbers-wrap {
    gap: 40px
  }
  #cultureNumbersPage .numbers-attention {
    margin-top: 15px
  }
  #cultureNumbersPage .numbers-item .numbers-item-title {
    font-size: 1.8;
    font-size: 18px;
    word-break: keep-all;
    margin-top: 10px
  }
  #cultureNumbersPage .numbers-item.--pc_max {
    width: 100%
  }
  #cultureNumbersPage .numbers-item.--pc_overhalf {
    width: calc(60% - 10px)
  }
  #cultureNumbersPage .numbers-item.--pc_half {
    width: calc(50% - 20px)
  }
  #cultureNumbersPage .numbers-item.--pc_second {
    width: calc(40% - 15px)
  }
  #cultureNumbersPage .numbers-item.--pc_fifth {
    width: calc(20% - 15px)
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item {
    flex-direction: row;
    padding: 45px;
    gap: 40px
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .numbers-item-image-wrap {
    flex: 1
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .numbers-item-text-wrap {
    flex: 2
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .numbers-item-icon {
    width: 70px;
    height: 70px;
    object-fit: contain
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .numbers-item-number {
    text-align: left
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .number {
    font-size: 16;
    font-size: 160px
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .decimal-point {
    font-size: 8.8;
    font-size: 88px
  }
  #cultureNumbersPage .numbers-wrap:first-child .numbers-item .unit {
    font-size: 2.8;
    font-size: 28px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) {
    margin-top: 40px;
    gap: 30px 20px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item {
    border-radius: 20.73px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .numbers-item-title {
    font-size: 1.8;
    font-size: 18px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .numbers-item-icon {
    width: 40px;
    height: 40px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .number {
    font-size: 10;
    font-size: 100px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .decimal-point {
    font-size: 5.5;
    font-size: 55px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item .unit {
    font-size: 1.8;
    font-size: 18px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max {
    flex-direction: row;
    justify-content: center;
    padding: 45px;
    gap: 69px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-text-wrap {
    gap: 56px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-icon {
    width: 72px;
    height: 69px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-number {
    width: 153px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .numbers-item-number + .numbers-item-number::before {
    top: 14px;
    left: -8px;
    width: 40px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .year {
    font-size: 2.2;
    font-size: 22px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .number {
    font-size: 12.5;
    font-size: 125px
  }
  #cultureNumbersPage .numbers-wrap:nth-child(2) .numbers-item.--pc_max .unit {
    font-size: 2.2;
    font-size: 22px
  }
  #cultureNumbersPage .related-content .related-content-item > p {
    font-size: 1.6;
    font-size: 16px
  }
}
.EventPage .content-wrap {
  padding-top: 65px;
  margin-bottom: 120px
}
.EventPage .selected-wrap {
  margin-top: 40px
}
.EventPage .selected-wrap .selected-wrap-title {
  color: #98989a;
  position: relative;
  font-size: 1.7;
  font-size: 17px;
  font-weight: 700
}
.EventPage .selected-wrap .selected-wrap-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 75%;
  height: 1px;
  background-color: #18ff14
}
.EventPage .selected-wrap .section-item-wrap {
  margin-top: 15px
}
.EventPage .selected-wrap .section-item-wrap .section-item-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px
}
.EventPage .selected-wrap .section-item-wrap .section-item-list .section-item {
  background-color: #18ff14;
  border-radius: 3px;
  padding: 6px 10px;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700
}
.EventPage .event-list-wrap {
  margin-top: 40px
}
.EventPage .event-list-wrap .event-item + .event-item {
  margin-top: 60px
}
.EventPage .button.--toTop {
  border-top: none;
  padding: 0
}
@media (min-width:1025px) {
  .EventPage .content-wrap {
    padding-top: 180px;
    margin-bottom: 120px
  }
  .EventPage .event-inner {
    display: flex;
    justify-content: center;
    gap: 80px
  }
  .EventPage .selected-wrap {
    display: none
  }
  .EventPage aside {
    flex: 1
  }
  .EventPage .event-list-wrap {
    flex: 3.5;
    margin-top: 0;
    width: 100%
  }
  .EventPage .event-list-wrap .event-list {
    display: flex;
    flex-wrap: wrap;
    gap: 70px 40px
  }
  .EventPage .event-list-wrap .event-item {
    width: calc(50% - 20px)
  }
  .EventPage .event-list-wrap .event-item + .event-item {
    margin-top: 0
  }
  .EventPage .toppage-inner {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 80px
  }
  .EventPage .toppage-inner .gradation-link-design {
    position: relative;
    left: calc(100% - 510px)
  }
}
.EventPage.--detail .content-wrap {
  padding-top: 40px
}
.EventPage.--detail .article-wrap {
  padding-bottom: 70px
}
.EventPage.--detail .article-title-wrap .article-time-tag {
  display: flex;
  align-items: center;
  justify-content: flex-start
}
.EventPage.--detail .article-title-wrap .article-time {
  font-family: rajdhani,sans-serif;
  font-weight: 600;
  font-size: 1.7;
  font-size: 17px;
  letter-spacing: .85px;
  color: #98989a
}
.EventPage.--detail .article-title-wrap .article-tag {
  background-color: #18ff14;
  border-radius: 3px;
  font-weight: 700;
  font-size: 1.3;
  font-size: 13px;
  letter-spacing: .65px;
  line-height: 19.5px;
  margin-left: 20px;
  padding: 6px 10px
}
.EventPage.--detail .article-title {
  font-weight: 700
}
.EventPage.--detail .article-title.--first-heading {
  font-size: 3;
  font-size: 30px;
  letter-spacing: 3px;
  line-height: 45px;
  margin-top: 15px
}
.EventPage.--detail .article-title.--h2 {
  font-size: 2.4;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 36px;
  margin-top: 60px
}
.EventPage.--detail .article-title.--h3 {
  font-size: 2;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 30px;
  position: relative;
  padding-left: 15px;
  margin-top: 60px
}
.EventPage.--detail .article-title.--h3::before {
  content: "";
  position: absolute;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: #00e303
}
.EventPage.--detail .article-thumbnail {
  margin-top: 40px;
  margin-bottom: 80px
}
.EventPage.--detail .article-text-wrap {
  margin-top: 60px
}
.EventPage.--detail .article-text-wrap .article-text {
  margin-top: 30px;
  font-weight: 700;
  font-size: 1.5;
  font-size: 15px;
  letter-spacing: .75px;
  line-height: 27px
}
.EventPage.--detail .article-text-wrap .article-text + .article-text {
  margin-top: 20px
}
.EventPage.--detail .article-text-wrap .article-image {
  margin-top: 30px
}
.EventPage.--detail .article-text-wrap .article-image > img {
  width: 100%;
  aspect-ratio: 67/38;
  object-fit: cover
}
.EventPage.--detail .article-text-wrap .article-image > figcaption {
  color: #006510;
  font-weight: 700;
  font-size: 1.2;
  font-size: 12px;
  letter-spacing: .6px;
  line-height: 21.6px
}
.EventPage.--detail .other-event {
  padding-top: 50px;
  border-top: 1px solid #00e303
}
.EventPage.--detail .other-event .other-event-title {
  font-family: rajdhani,sans-serif;
  font-weight: 700;
  font-size: 5.6;
  font-size: 56px;
  line-height: 100%
}
.EventPage.--detail .other-event > small {
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  letter-spacing: 1.6px;
  line-height: 24px
}
.EventPage.--detail .other-event-list {
  margin-top: 40px
}
.EventPage.--detail .other-event-list .other-event-item + .other-event-item {
  margin-top: 60px
}
@media (min-width:1025px) {
  .EventPage.--detail .content-wrap {
    padding-top: 120px
  }
  .EventPage.--detail .article-wrap {
    padding-bottom: 100px
  }
  .EventPage.--detail .article-title-wrap .article-time {
    font-size: 2;
    font-size: 20px
  }
  .EventPage.--detail .article-title-wrap .article-tag {
    font-size: 1.5;
    font-size: 15px;
    letter-spacing: .75px;
    line-height: 22.5px;
    margin-left: 15px;
    padding: 8px 13px
  }
  .EventPage.--detail .article-title-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%
  }
  .EventPage.--detail .article-title-bottom .gradient-box {
    width: 20%
  }
  .EventPage.--detail .article-title-bottom .gradient-box > span {
    font-size: 1.4;
    font-size: 14px
  }
  .EventPage.--detail .article-title-bottom img {
    width: 120px;
    margin: 0 -30px;
    z-index: 10
  }
  .EventPage.--detail .article-title.--first-heading {
    font-size: 3.5;
    font-size: 35px;
    letter-spacing: 3.5px;
    line-height: 52.5px
  }
  .EventPage.--detail .article-title.--h2 {
    font-size: 2.8;
    font-size: 28px;
    letter-spacing: 2.8px;
    line-height: 42px
  }
  .EventPage.--detail .article-title.--h3 {
    font-size: 2.2;
    font-size: 22px;
    letter-spacing: 2.2px;
    line-height: 33px
  }
  .EventPage.--detail .article-title.--h3::before {
    width: 6px
  }
  .EventPage.--detail .article-thumbnail {
    margin-top: 15px;
    margin-bottom: 60px
  }
  .EventPage.--detail .article-thumbnail img {
    width: 100%;
    aspect-ratio: 44/25;
    object-fit: cover
  }
  .EventPage.--detail .article-text-wrap {
    padding: 0 12%
  }
  .EventPage.--detail .article-text-wrap .article-text {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 28.8px
  }
  .EventPage.--detail .article-text-wrap .article-image > img {
    aspect-ratio: 68/45
  }
  .EventPage.--detail .article-text-wrap .article-image > figcaption {
    font-size: 1.3;
    font-size: 13px;
    letter-spacing: .65px;
    line-height: 23.4px;
    margin-top: 10px
  }
  .EventPage.--detail .other-event {
    padding-top: 60px
  }
  .EventPage.--detail .other-event .other-event-title {
    font-size: 6;
    font-size: 60px
  }
  .EventPage.--detail .other-event > small {
    font-size: 2;
    font-size: 20px;
    letter-spacing: 2px;
    line-height: 30px
  }
  .EventPage.--detail .other-event-list {
    margin-top: 50px;
    display: flex;
    gap: 40px
  }
  .EventPage.--detail .other-event-list .other-event-item {
    flex: 1
  }
  .EventPage.--detail .other-event-list .other-event-item + .other-event-item {
    margin-top: 0
  }
}
.NewsPage .content-wrap {
  padding-top: 65px;
  margin-bottom: 120px
}
.NewsPage .news-list-wrap {
  margin-top: 40px
}
.NewsPage .news-list-wrap .news-list .news-item:first-child .news-item__link {
  padding-top: 0
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__link {
  position: relative;
  border-bottom: 1px solid #c4c4c4;
  display: flex;
  align-items: flex-start;
  padding: 15px 30px 15px 0
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__link::after {
  content: "";
  display: block;
  border-right: 3px solid #c4c4c4;
  border-top: 3px solid #c4c4c4;
  height: 10px;
  position: absolute;
  right: 8px;
  bottom: 18px;
  transform: rotate(45deg);
  width: 10px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__link.--blank::after {
  right: 3px;
  border: none;
  transform: rotate(0);
  width: 16px;
  height: 16px;
  background: url(../images/common/icon-blank.svg) no-repeat center/contain
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__link.--nolink::after {
  content: none
}
.NewsPage .news-list-wrap .news-list .news-item .news-date {
  display: inline-block;
  font-family: Rajdhani;
  line-height: 1;
  text-align: center;
  font-size: 13px;
  font-weight: 600
}
.NewsPage .news-list-wrap .news-list .news-item .news-date .news-day {
  display: block;
  font-size: 45px;
  font-weight: 700
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info {
  padding: 0 0 0 15px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-category {
  display: inline-block;
  padding: 6px 10px;
  background-color: #18ff14;
  font-size: 12px;
  font-weight: 700;
  border-radius: 3px;
  line-height: 1.5
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-category + .news-tag {
  margin-left: 10px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-category + .news-category {
  margin-left: 5px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-tag {
  color: #ff007a;
  font-family: Rajdhani;
  font-weight: 600;
  font-size: 14px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-tag + .news-description {
  margin-top: 6px
}
.NewsPage .news-list-wrap .news-list .news-item .news-item__info .news-description {
  margin-top: 4px;
  font-size: 12px;
  line-height: 1.7;
  font-weight: 700
}
.NewsPage .button.--toTop {
  border-top: none;
  padding: 0
}
@media (min-width:1025px) {
  .NewsPage .content-wrap {
    padding-top: 180px;
    margin-bottom: 120px
  }
  .NewsPage .news-inner {
    display: flex;
    justify-content: center;
    gap: 80px
  }
  .NewsPage .selected-wrap {
    display: none
  }
  .NewsPage aside {
    flex: 1
  }
  .NewsPage .news-list-wrap {
    flex: 3.5;
    margin-top: 0;
    width: 100%
  }
  .NewsPage .news-list-wrap .news-list {
    margin-left: 0;
    max-width: 800px;
    width: 100%
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-item__link {
    padding: 30px 0
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-item__link::after {
    right: 6px;
    bottom: 50%;
    transform: rotate(45deg) translateY(50%);
    transition: transform .3s ease
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-item__link:hover::after {
    transform: rotate(45deg) translateX(5px)
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-item__link.--blank::after {
    transform: rotate(0) translateY(50%)
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-date {
    font-size: 12px
  }
  .NewsPage .news-list-wrap .news-list .news-item .news-date .news-day {
    font-size: 38px
  }
  .NewsPage .toppage-inner {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 80px
  }
  .NewsPage .toppage-inner .gradation-link-design {
    position: relative;
    left: calc(100% - 510px)
  }
}
.NewsPage.--detail .content-wrap {
  padding-top: 40px
}
.NewsPage.--detail .article-wrap {
  padding-bottom: 70px
}
.NewsPage.--detail .article-title-wrap .article-time-tag {
  display: flex;
  align-items: center;
  justify-content: flex-start
}
.NewsPage.--detail .article-title-wrap .article-time {
  font-family: rajdhani,sans-serif;
  font-weight: 600;
  font-size: 1.7;
  font-size: 17px;
  letter-spacing: .85px;
  color: #98989a
}
.NewsPage.--detail .article-title {
  font-weight: 700
}
.NewsPage.--detail .article-title.--first-heading {
  font-size: 3;
  font-size: 30px;
  letter-spacing: 3px;
  line-height: 45px;
  margin-top: 15px
}
.NewsPage.--detail .article-title.--h2 {
  font-size: 2.4;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 36px;
  margin-top: 60px
}
.NewsPage.--detail .article-title.--h3 {
  font-size: 2;
  font-size: 20px;
  letter-spacing: 2px;
  line-height: 30px;
  position: relative;
  padding-left: 15px;
  margin-top: 60px
}
.NewsPage.--detail .article-title.--h3::before {
  content: "";
  position: absolute;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: #00e303
}
.NewsPage.--detail .article-text-wrap {
  margin-top: 60px
}
.NewsPage.--detail .article-text-wrap .article-text {
  margin-top: 30px;
  font-weight: 700;
  font-size: 1.5;
  font-size: 15px;
  letter-spacing: .75px;
  line-height: 27px
}
.NewsPage.--detail .article-text-wrap .article-text + .article-text {
  margin-top: 20px
}
.NewsPage.--detail .article-text-wrap .article-image {
  margin-top: 30px
}
.NewsPage.--detail .article-text-wrap .article-image > img {
  width: 100%;
  aspect-ratio: 67/38;
  object-fit: cover
}
.NewsPage.--detail .article-text-wrap .article-image > figcaption {
  color: #006510;
  font-weight: 700;
  font-size: 1.2;
  font-size: 12px;
  letter-spacing: .6px;
  line-height: 21.6px
}
@media (min-width:1025px) {
  .NewsPage.--detail .content-wrap {
    padding-top: 120px
  }
  .NewsPage.--detail .article-wrap {
    padding-bottom: 100px
  }
  .NewsPage.--detail .article-title-wrap .article-time {
    font-size: 2;
    font-size: 20px
  }
  .NewsPage.--detail .article-title.--first-heading {
    font-size: 3.5;
    font-size: 35px;
    letter-spacing: 3.5px;
    line-height: 52.5px
  }
  .NewsPage.--detail .article-title.--h2 {
    font-size: 2.8;
    font-size: 28px;
    letter-spacing: 2.8px;
    line-height: 42px
  }
  .NewsPage.--detail .article-title.--h3 {
    font-size: 2.2;
    font-size: 22px;
    letter-spacing: 2.2px;
    line-height: 33px
  }
  .NewsPage.--detail .article-title.--h3::before {
    width: 6px
  }
  .NewsPage.--detail .article-text-wrap {
    padding: 0 12%
  }
  .NewsPage.--detail .article-text-wrap .article-text {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px;
    line-height: 28.8px
  }
  .NewsPage.--detail .article-text-wrap .article-image > img {
    aspect-ratio: 68/45
  }
  .NewsPage.--detail .article-text-wrap .article-image > figcaption {
    font-size: 1.3;
    font-size: 13px;
    letter-spacing: .65px;
    line-height: 23.4px;
    margin-top: 10px
  }
}
#PeopleInterview .main-visual.--interview {
  padding-top: 30px;
  margin-bottom: 500px
}
#PeopleInterview .bottompage-animation-title.--people .sub-title,
#PeopleInterview .bottompage-animation-title.--people .title {
  font-size: 2.5;
  font-size: 25px
}
#PeopleInterview .bottompage-animation-title.--people .sub-title::before {
  width: 70px;
  height: 100px;
  top: -50px;
  right: -45px
}
#PeopleInterview .main-visual-wrap {
  margin-top: 20px;
  position: relative
}
#PeopleInterview .main-visual-wrap > picture {
  display: flex;
  justify-content: flex-end
}
#PeopleInterview .main-visual-wrap > picture .main-visual-image {
  width: 94.67%
}
#PeopleInterview .main-visual-text-slogan-wrap {
  position: absolute;
  top: 80%
}
#PeopleInterview .text-wrap .profile {
  background-color: #18ff14;
  width: 59.2%;
  padding: 25px 20px 0 20px;
  box-sizing: border-box
}
#PeopleInterview .text-wrap .profile > p {
  line-height: 100%
}
#PeopleInterview .text-wrap .profile .position {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .7px
}
#PeopleInterview .text-wrap .profile .label {
  font-size: 1.3;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .65px;
  margin-top: 10px;
  background-color: #fff;
  padding: 8px 10px;
  display: inline-block
}
#PeopleInterview .text-wrap .profile .initial {
  font-family: rajdhani,sans-serif;
  font-weight: 400;
  font-size: 3.8;
  font-size: 38px;
  margin-top: 15px
}
#PeopleInterview .text-wrap .detail {
  background-color: #18ff14;
  width: 94.67%;
  padding: 17px 20px 28px;
  box-sizing: border-box
}
#PeopleInterview .text-wrap .detail > p {
  font-size: 1.2;
  font-size: 12px;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 1.2px
}
#PeopleInterview .slogan-wrap {
  margin-top: -15px
}
#PeopleInterview .slogan-wrap .people-card-detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  font-weight: 700;
  text-align: center
}
#PeopleInterview .slogan-wrap .people-card-detail-inner {
  width: 80%
}
#PeopleInterview .slogan-wrap .multiplication-icon {
  margin: -13px auto;
  width: 16%
}
#PeopleInterview .slogan-wrap .people-card-detail-bottom {
  margin-top: 8px;
  font-size: 1.6;
  font-size: 16px
}
#PeopleInterview .slogan-wrap .gradient-box.--blue > span,
#PeopleInterview .slogan-wrap .gradient-box.--pink > span {
  font-size: 1.6;
  font-size: 16px
}
#PeopleInterview .slogan-wrap .gradient-box.--pink {
  border: 6px solid;
  -o-border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1
}
#PeopleInterview .slogan-wrap .gradient-box.--blue {
  border: 6px solid;
  -o-border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image-slice: 1
}
#PeopleInterview .interview-item {
  font-weight: 700
}
#PeopleInterview .interview-item + .interview-item {
  margin-top: 60px
}
#PeopleInterview .interview-item + .interview-item:has(img) {
  margin-top: 40px
}
#PeopleInterview .interview-item .interview-number {
  font-size: 3.8;
  font-size: 38px
}
#PeopleInterview .interview-item .interview-label {
  font-size: 1.4;
  font-size: 14px;
  background-color: #18ff14;
  padding: 10px 15px;
  letter-spacing: 1.4px;
  line-height: 100%;
  display: inline-block
}
#PeopleInterview .interview-item .interview-title {
  font-size: 2.2;
  font-size: 22px;
  line-height: 150%;
  letter-spacing: 2.2px;
  margin-top: 15px
}
#PeopleInterview .interview-item .interview-text {
  font-size: 1.4;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: .7px;
  margin-top: 20px
}
#PeopleInterview .interview-item .interview-text + .interview-text {
  margin-top: 15px
}
#PeopleInterview .interview-item .interview-image {
  width: 100%
}
#PeopleInterview .title-second {
  font-family: rajdhani,sans-serif;
  font-size: 5.6;
  font-size: 56px;
  line-height: 100%;
  display: inline-block;
  font-weight: 700
}
#PeopleInterview .title-second-small {
  font-size: 1.6;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 1.6px;
  display: block;
  font-weight: 700
}
#PeopleInterview .message-wrap-inner {
  background-color: #18ff14;
  padding: 60px 30px;
  margin-top: 80px
}
#PeopleInterview .message-wrap-inner .message-title {
  position: relative;
  z-index: 1
}
#PeopleInterview .message-wrap-inner .message-title::after {
  position: absolute;
  content: "";
  background-image: url(../images/people/interview/icon_fukidashi.svg);
  background-repeat: no-repeat;
  background-size: cover;
  top: 21px;
  right: -43px;
  width: 180px;
  height: 113px;
  z-index: -1
}
#PeopleInterview .message-wrap-inner .message-sub-title {
  position: relative;
  z-index: 1
}
#PeopleInterview .message-wrap-inner .message-text-wrap {
  margin-top: 100px
}
#PeopleInterview .message-wrap-inner .message-text-wrap .message-text {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: .7px
}
#PeopleInterview .message-wrap-inner .message-text-wrap .message-text + .message-text {
  margin-top: 20px
}
#PeopleInterview .schedule-wrap {
  margin-top: 80px
}
#PeopleInterview .schedule-timeline-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-top: 40px
}
#PeopleInterview .schedule-timeline-item {
  background-color: #18ff14;
  border-radius: 20px;
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  font-weight: 700
}
#PeopleInterview .schedule-timeline-item .timeline-time {
  font-family: rajdhani,sans-serif;
  font-size: 2;
  font-size: 20px;
  line-height: 100%;
  padding-left: 37px;
  position: relative
}
#PeopleInterview .schedule-timeline-item .timeline-time::before {
  position: absolute;
  background-image: url(../images/people/interview/icon_clock_sp.svg);
  top: 0;
  left: 0;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  width: 24px;
  height: 24px
}
#PeopleInterview .schedule-timeline-item .timeline-title {
  font-size: 1.6;
  font-size: 16px;
  line-height: 175%;
  display: inline-block;
  margin-left: 20px
}
#PeopleInterview .schedule-timeline-item .timeline-detail {
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px solid #000;
  font-size: 1.4;
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px
}
#PeopleInterview .schedule-timeline-item .timeline-detail > span {
  position: relative;
  padding-left: 42px
}
#PeopleInterview .schedule-timeline-item .timeline-detail > span::before {
  position: absolute;
  top: 40%;
  left: 0;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 27px;
  height: 100%;
  background-image: url(../images/people/interview/icon_timeline_arrow.svg)
}
#PeopleInterview #Other {
  margin-top: 120px
}
#PeopleInterview #Other .message-title-wrap {
  margin-bottom: 55px
}
#PeopleInterview .related-content {
  margin-top: 120px
}
@media (min-width:1025px) {
  #PeopleInterview .main-visual.--interview {
    padding-top: 100px;
    margin-bottom: 230px
  }
  #PeopleInterview .bottompage-animation-title.--people .sub-title::before {
    width: 60px;
    height: 90px;
    top: -40px;
    left: 95px
  }
  #PeopleInterview .main-visual-wrap {
    margin-top: -20px;
    position: relative
  }
  #PeopleInterview .main-visual-wrap > picture .main-visual-image {
    width: 69.44%;
    max-width: 1000px
  }
  #PeopleInterview .main-visual-text-slogan-wrap {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column-reverse;
    max-width: 1230px;
    margin: 0 auto;
    padding: 0 80px
  }
  #PeopleInterview .text-wrap {
    display: flex;
    margin-top: 2%
  }
  #PeopleInterview .text-wrap .profile {
    width: 19.44%;
    padding: 25px 87px 16px 39px;
    box-sizing: content-box
  }
  #PeopleInterview .text-wrap .profile .position {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px
  }
  #PeopleInterview .text-wrap .profile .label {
    font-size: 1.4;
    font-size: 14px;
    letter-spacing: .7px
  }
  #PeopleInterview .text-wrap .profile .initial {
    font-size: clamp(40px,4vw,54px);
    margin-top: 10px
  }
  #PeopleInterview .text-wrap .detail {
    height: fit-content;
    width: 30.7%;
    padding: 20px 29px 20px 0;
    box-sizing: content-box
  }
  #PeopleInterview .slogan-wrap {
    margin-top: 0
  }
  #PeopleInterview .slogan-wrap .people-card-detail {
    align-items: flex-start;
    width: 31.4%
  }
  #PeopleInterview .slogan-wrap .people-card-detail-inner {
    width: 100%
  }
  #PeopleInterview .slogan-wrap .multiplication-icon {
    margin: -14px auto;
    width: 22%
  }
  #PeopleInterview .slogan-wrap .people-card-detail-bottom {
    margin-top: 15px;
    font-size: 2;
    font-size: 20px
  }
  #PeopleInterview .slogan-wrap .gradient-box.--blue > span,
  #PeopleInterview .slogan-wrap .gradient-box.--pink > span {
    font-size: 2;
    font-size: 20px
  }
  #PeopleInterview .slogan-wrap .gradient-box.--pink {
    border: 7.5px solid;
    -o-border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
    border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
    border-image-slice: 1
  }
  #PeopleInterview .slogan-wrap .gradient-box.--blue {
    border: 7.5px solid;
    -o-border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
    border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
    border-image-slice: 1
  }
  #PeopleInterview .interview-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 80px
  }
  #PeopleInterview .interview-item {
    width: calc(50% - 40px)
  }
  #PeopleInterview .interview-item + .interview-item {
    margin-top: 0
  }
  #PeopleInterview .interview-item + .interview-item:has(img) {
    margin-top: 0
  }
  #PeopleInterview .interview-item + .interview-item:has(img):nth-child(n+2) {
    margin-top: 37px
  }
  #PeopleInterview .interview-item .interview-title {
    font-size: 2.4;
    font-size: 24px;
    letter-spacing: 2.4px
  }
  #PeopleInterview .interview-item .interview-text {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px;
    margin-top: 40px
  }
  #PeopleInterview .interview-item .interview-text + .interview-text {
    margin-top: 20px
  }
  #PeopleInterview .title-second {
    font-size: 6;
    font-size: 60px
  }
  #PeopleInterview .title-second-small {
    font-size: 2;
    font-size: 20px;
    letter-spacing: 2px
  }
  #PeopleInterview .message-wrap {
    max-width: 1230px;
    margin: 0 auto;
    padding: 0 80px
  }
  #PeopleInterview .message-wrap-inner {
    padding: 64px 80px;
    margin-top: 140px;
    display: flex;
    align-items: flex-start;
    gap: 20%
  }
  #PeopleInterview .message-wrap-inner .message-title::after {
    top: 31px
  }
  #PeopleInterview .message-wrap-inner .message-sub-title {
    word-break: keep-all
  }
  #PeopleInterview .message-wrap-inner .message-text-wrap {
    margin-top: 0
  }
  #PeopleInterview .message-wrap-inner .message-text-wrap .message-text {
    font-size: 1.6;
    font-size: 16px;
    letter-spacing: .8px
  }
  #PeopleInterview .schedule-wrap {
    margin-top: 140px
  }
  #PeopleInterview .schedule-wrap .schedule-wrap-inner {
    display: flex;
    gap: 70px
  }
  #PeopleInterview .schedule-timeline-list {
    margin-top: 0
  }
  #PeopleInterview .schedule-timeline-wrap {
    width: 100%
  }
  #PeopleInterview .schedule-timeline-item {
    padding: 30px 40px;
    display: flex;
    align-items: center
  }
  #PeopleInterview .schedule-timeline-item .timeline-time::before {
    background-image: url(../images/people/interview/icon_clock_pc.svg)
  }
  #PeopleInterview .schedule-timeline-item .timeline-title-wrap {
    width: 45%
  }
  #PeopleInterview .schedule-timeline-item .timeline-time {
    padding-left: 40px;
    line-height: unset
  }
  #PeopleInterview .schedule-timeline-item .timeline-time::before {
    width: 30px;
    height: 30px;
    top: -3px
  }
  #PeopleInterview .schedule-timeline-item .timeline-title {
    font-size: 1.8;
    font-size: 18px;
    margin-left: 26px
  }
  #PeopleInterview .schedule-timeline-item .timeline-detail {
    width: 55%;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    font-size: 1.6;
    font-size: 16px;
    gap: 5px 20px;
    border-left: 1px solid #000;
    padding-left: 34px
  }
  #PeopleInterview .schedule-timeline-item .timeline-detail > span {
    padding-left: 42px
  }
  #PeopleInterview .schedule-timeline-item .timeline-detail > span::before {
    top: 40%;
    width: 30px
  }
  #PeopleInterview #Other {
    margin-top: 180px
  }
  #PeopleInterview #Other .message-title-wrap {
    margin-bottom: 50px
  }
  #PeopleInterview .related-content {
    margin-top: 175px
  }
}
#ProjectTopPage .project-wrap {
  margin-top: 100px
}
#ProjectTopPage .projects-list .project-item + .project-item {
  margin-top: 85px
}
#ProjectTopPage .project-movie-wrap {
  margin-top: 100px;
  padding: 0 20px
}
#ProjectTopPage .project-movie-wrap .project-movie-inner {
  display: flex;
  flex-direction: column-reverse
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .project-card-detail {
  margin: 0 auto
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .third-heading {
  font-family: rajdhani,sans-serif;
  font-size: 60px;
  line-height: 48px
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap {
  margin-top: -10px
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .project-card-detail {
  text-align: center;
  max-width: 400px
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .multiplication-icon {
  margin: -13px auto;
  width: 20%
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .gradient-box.--green > span,
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .gradient-box.--pink > span {
  font-size: 2.243;
  font-size: 22.43px
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .gradient-box.--pink {
  border: 6.62px solid;
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .slogan-wrap .gradient-box.--green {
  border: 6.62px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .movie-detail {
  font-weight: 700;
  font-size: 14px;
  line-height: 25.2px;
  margin: 20px auto
}
#ProjectTopPage .project-movie-wrap .project-movie-inner .movie-area {
  width: 100%;
  padding: 0 0 10px 0
}
#ProjectTopPage .toppage-wrap {
  margin-top: 120px
}
#ProjectTopPage .toppage-wrap .toppage-inner {
  border-top: 1px solid #006510;
  margin: 0 20px;
  padding: 40px 20px 0
}
@media (min-width:1025px) {
  #ProjectTopPage .project-wrap {
    margin-top: 170px
  }
  #ProjectTopPage .projects-list {
    display: flex;
    flex-wrap: wrap;
    gap: 80px
  }
  #ProjectTopPage .projects-list .project-item {
    flex-basis: calc(50% - 40px)
  }
  #ProjectTopPage .projects-list .project-item + .project-item {
    margin-top: 0
  }
  #ProjectTopPage .project-movie-wrap {
    padding: 70px 20px;
    position: relative
  }
  #ProjectTopPage .project-movie-wrap::before {
    content: "";
    background-color: #f2f5f6;
    border-radius: 45px 0 0 45px;
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    width: 85%;
    z-index: -1
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner {
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 65px;
    margin: 0 auto;
    max-width: 1200px
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap {
    width: 40%
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap .third-heading {
    font-size: 74px;
    line-height: 60px
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap .slogan-wrap {
    margin-top: 35px
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap .slogan-wrap .gradient-box.--green > span,
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap .slogan-wrap .gradient-box.--pink > span {
    font-size: 2.373;
    font-size: 23.73px
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-title-slogan-wrap .slogan-wrap .movie-detail {
    font-size: 16px
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-area {
    margin-top: 0
  }
  #ProjectTopPage .project-movie-wrap .project-movie-inner .movie-wrap {
    width: 60%
  }
  #ProjectTopPage .toppage-wrap {
    margin-top: 200px;
    padding: 0 80px
  }
  #ProjectTopPage .toppage-wrap .toppage-inner {
    margin: 0 auto;
    max-width: 1200px;
    padding-left: 0;
    padding-right: 0
  }
  #ProjectTopPage .toppage-wrap .toppage-inner .gradation-link-design {
    left: calc(100% - 510px)
  }
}
#PeopleInterview.projectInterview .bottompage-animation-title {
  display: flex;
  align-items: center
}
#PeopleInterview.projectInterview .bottompage-animation-title .sub-title::before {
  left: 125px
}
#PeopleInterview.projectInterview .bottompage-animation-title .bottompage-animation-number-wrap {
  margin-left: 6px;
  font-size: 6.2;
  font-size: 62px;
  line-height: 100%;
  letter-spacing: 6.2px
}
#PeopleInterview.projectInterview .main-visual.--interview {
  margin-bottom: 250px
}
#PeopleInterview.projectInterview .main-visual-wrap {
  padding: 0 20px
}
#PeopleInterview.projectInterview .main-visual-wrap > picture .main-visual-image {
  width: 100%
}
#PeopleInterview.projectInterview .main-visual-text-slogan-wrap {
  width: 100%;
  top: 93%;
  left: 0
}
#PeopleInterview.projectInterview .main-visual-text-slogan-wrap .gradient-box.--green {
  border: 6px solid;
  border-image: linear-gradient(45deg,#1fb904 0,#22ff25 50%,#0cf7fd 100%);
  border-image-slice: 1
}
#PeopleInterview.projectInterview .main-visual-text-slogan-wrap .gradient-box.--green > span {
  font-size: 1.5;
  font-size: 15px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-list-wrap {
  margin-top: 40px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-list-contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-wrap {
  border: 6px solid #18ff14;
  padding: 27px 20px 22px;
  font-weight: 700
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-flex {
  display: flex;
  gap: 15px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-image {
  border-radius: 50%;
  object-fit: cover
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-text .project-member-position {
  background-color: #18ff14;
  padding: 6px 8px;
  text-align: center;
  font-size: 1.2;
  font-size: 12px;
  letter-spacing: .6px;
  display: inline-block
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-text .project-member-name {
  font-size: 2.8;
  font-size: 28px;
  letter-spacing: 2.8px;
  line-height: 90%;
  margin-top: 10px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-text .project-member-ruby {
  color: #848484;
  font-family: rajdhani,sans-serif;
  font-size: 1.3;
  font-size: 13px
}
#PeopleInterview.projectInterview .project-member-wrap .project-member-profile-detail {
  font-size: 1.2;
  font-size: 12px;
  line-height: 170%;
  letter-spacing: 1.2px;
  margin-top: 18px
}
#PeopleInterview.projectInterview .outline-wrap {
  margin: 120px 0 75px;
  position: relative
}
#PeopleInterview.projectInterview .outline-wrap .outline-wrap-background {
  position: absolute;
  background: #18ff14;
  top: 23px;
  left: 0;
  width: 100%;
  height: 100%
}
#PeopleInterview.projectInterview .outline-wrap .outline-wrap-inner {
  position: relative;
  z-index: 10;
  padding-bottom: 20px
}
#PeopleInterview.projectInterview .outline-wrap .outline-text {
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 1.2px;
  margin-top: 40px
}
#PeopleInterview.projectInterview .outline-wrap .outline-text > p + p {
  margin-top: 20px
}
#PeopleInterview.projectInterview .outline-wrap .outline-text .outline-text-attention {
  font-size: 1.2;
  font-size: 12px;
  line-height: 20.4px
}
@media (min-width:1025px) {
  #PeopleInterview.projectInterview .bottompage-animation-title .sub-title,
  #PeopleInterview.projectInterview .bottompage-animation-title .title {
    font-size: 3.6;
    font-size: 36px
  }
  #PeopleInterview.projectInterview .bottompage-animation-title .sub-title::before {
    left: 175px;
    width: 80px;
    height: 70px
  }
  #PeopleInterview.projectInterview .bottompage-animation-title .bottompage-animation-number-wrap {
    font-size: 9;
    font-size: 90px
  }
  #PeopleInterview.projectInterview .main-visual.--interview {
    margin-bottom: 180px
  }
  #PeopleInterview.projectInterview .main-visual-wrap {
    padding: 0;
    margin-top: -80px
  }
  #PeopleInterview.projectInterview .main-visual-wrap > picture .main-visual-image {
    width: 66%
  }
  #PeopleInterview.projectInterview .main-visual-text-slogan-wrap {
    top: 100px
  }
  #PeopleInterview.projectInterview .main-visual-text-slogan-wrap .gradient-box.--green > span {
    font-size: 2;
    font-size: 20px
  }
  #PeopleInterview.projectInterview .project-member-wrap .project-member-list-wrap {
    margin-top: 74px
  }
  #PeopleInterview.projectInterview .project-member-wrap .project-member-list-contents {
    align-items: stretch;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 60px 80px
  }
  #PeopleInterview.projectInterview .project-member-wrap .project-member-profile-wrap {
    padding: 40px;
    box-sizing: border-box;
    flex-basis: calc(50% - 40px)
  }
  #PeopleInterview.projectInterview .project-member-wrap .project-member-profile-flex {
    gap: 20px
  }
  #PeopleInterview.projectInterview .outline-wrap {
    margin: 170px auto
  }
  #PeopleInterview.projectInterview .outline-wrap .outline-wrap-background {
    top: -50px;
    width: 75%;
    height: -webkit-fill-available;
    border-radius: 0 50px 50px 0
  }
  #PeopleInterview.projectInterview .outline-wrap .outline-wrap-inner {
    display: flex;
    gap: 100px;
    padding-bottom: 50px
  }
  #PeopleInterview.projectInterview .outline-wrap .outline-text {
    margin-top: 0;
    margin-right: 300px
  }
}
#RecruitTopPage .toppage-inner {
  border-top: 1px solid #006510;
  margin: 120px 20px 0;
  padding-top: 40px
}
@media (min-width:1025px) {
  #RecruitTopPage .toppage-inner {
    margin: 200px auto 0;
    max-width: 1200px
  }
  #RecruitTopPage .toppage-inner .gradation-link-design {
    left: calc(100% - 510px);
    position: relative
  }
}
#RecruitFaq .main-visual .main-visual-description {
  margin-top: 30px;
  font-weight: 700;
  padding: 0 20px;
  color: #006510;
  font-size: 1.6;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: .8px
}
#RecruitFaq .faq-accordion-wrap {
  margin-top: 60px;
  margin-bottom: 120px
}
#RecruitFaq .toppage-inner {
  border-top: 1px solid #006510;
  margin: 120px 20px 0;
  padding-top: 40px
}
#RecruitFaq .related-content-item > p {
  font-weight: 700
}
@media (min-width:1025px) {
  #RecruitFaq .main-visual-description {
    width: 440px
  }
  #RecruitFaq .toppage-inner {
    margin: 200px auto 0;
    max-width: 1200px
  }
  #RecruitFaq .toppage-inner .gradation-link-design {
    left: calc(100% - 510px);
    position: relative
  }
  #RecruitFaq .faq-accordion-wrap {
    margin-top: 120px;
    margin-bottom: 200px
  }
}
#RecruitGuidelinePage .title-h1.--recruitment {
  font-size: 5.9;
  font-size: 59px;
  line-height: 80%
}
#RecruitGuidelinePage .recruit-guideline-section {
  margin: 60px auto 120px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-inner + .recruit-guideline-inner {
  margin-top: 80px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title {
  font-size: 2.6;
  font-size: 26px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 2.6px;
  color: #006510
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title.--internship-seminar {
  letter-spacing: -1px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title > small {
  display: block;
  font-size: 2;
  font-size: 20px;
  letter-spacing: 2.6px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-wrapper {
  margin-top: 40px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head {
  padding-bottom: 5px;
  border-bottom: 1px solid #18ff14
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head > h3 {
  font-size: 1.8;
  font-size: 18px;
  font-weight: 700;
  line-height: 180%;
  letter-spacing: .9px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head ~ .recruit-guideline-head {
  margin-top: 40px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents {
  margin-top: 20px;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 1.4px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents .recruit-guideline {
  display: flex;
  flex-direction: column
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents .recruit-guideline.--text {
  gap: 20px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents .recruit-guideline.--list {
  gap: 30px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents .recruit-guideline.--list > li {
  display: flex;
  flex-direction: column;
  gap: 15px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title-forth {
  font-size: 1.6;
  font-size: 16px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 1.6px;
  color: #006510;
  padding-top: 10px
}
#RecruitGuidelinePage .recruit-guideline-section .gray-background {
  background-color: #f2f5f6;
  margin-top: 30px;
  border-radius: 25px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-contents {
  margin-top: 20px;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 1.4px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap {
  padding: 50px 28px;
  box-sizing: border-box
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-list {
  margin-top: 20px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-item + .recruit-banner-item {
  margin-top: 15px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-guideline-title-forth ~ .recruit-guideline-title-forth {
  margin-top: 20px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-image > img {
  width: 100%
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-contact-contents {
  margin-top: 20px;
  font-size: 1.4;
  font-size: 14px;
  font-weight: 700;
  line-height: 170%;
  letter-spacing: 1.4px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap {
  padding: 40px 27px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap .recruit-guideline-address {
  margin-top: 15px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap .button-wrap {
  display: block;
  margin-top: 20px
}
#RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap .button.--contact {
  width: 100%;
  margin-top: 15px
}
@media (min-width:1025px) {
  #RecruitGuidelinePage .title-h1.--recruitment {
    font-size: 12;
    font-size: 120px
  }
  #RecruitGuidelinePage .recruit-guideline-section {
    margin: 120px auto 200px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-inner + .recruit-guideline-inner {
    margin-top: 120px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title {
    font-size: 4;
    font-size: 40px;
    letter-spacing: 4px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title > small {
    font-size: 3.6;
    font-size: 36px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-wrapper {
    display: flex;
    flex-wrap: wrap;
    width: 100%
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head {
    width: calc(30% - 2px);
    padding-bottom: 0;
    border-bottom: none;
    border-right: 1px solid #18ff14;
    border-left: 1px solid #18ff14;
    display: flex;
    justify-content: center;
    align-items: center
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head > h3 {
    font-size: 2.4;
    font-size: 24px;
    letter-spacing: 1.2px;
    text-align: center
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-head ~ .recruit-guideline-head {
    margin-top: 20px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contents {
    width: 70%;
    margin-top: 0;
    padding: 20px 40px;
    box-sizing: border-box
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-title-forth {
    font-size: 1.8;
    font-size: 18px;
    letter-spacing: 1.8px
  }
  #RecruitGuidelinePage .recruit-guideline-section .gray-background {
    margin-top: 40px;
    border-radius: 36px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-contents {
    font-size: 1.6;
    font-size: 16px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap {
    padding: 80px 110px;
    width: 100%
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-list {
    display: flex;
    flex-wrap: wrap;
    gap: 25px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-item {
    width: calc(33.3333333333% - 25px)
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-item + .recruit-banner-item {
    margin-top: 0
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-guideline-title-forth ~ .recruit-guideline-title-forth {
    margin-top: 20px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-banner-link-wrap .recruit-banner-image > img {
    max-width: 310px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-contact-contents {
    font-size: 1.6;
    font-size: 16px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap {
    padding: 80px 110px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap > div {
    flex: 1
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap .button-wrap {
    margin-top: 0
  }
  #RecruitGuidelinePage .recruit-guideline-section .recruit-guideline-contact-wrap .button.--contact {
    max-width: 430px
  }
}
#cultureWorkFieldPage .work-field-top .work-field-diagram-wrap {
  margin: 20px auto 120px
}
#cultureWorkFieldPage .work-field-top .work-field-diagram-wrap .work-field-diagram {
  width: 100%
}
#cultureWorkFieldPage .work-field-top .work-field-top-detail .title-en {
  font-size: 2.8;
  font-size: 28px
}
#cultureWorkFieldPage .work-field-top .work-field-top-detail .title-second {
  margin-top: 10px
}
#cultureWorkFieldPage .work-field-top .work-field-top-detail .work-field-top-text {
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  line-height: 27.2px;
  margin-top: 30px
}
#cultureWorkFieldPage .work-field-top .work-field-top-detail .work-field-top-text > small {
  font-weight: 500;
  font-size: 1.2;
  font-size: 12px;
  line-height: 20.4px;
  display: inline-block;
  margin-top: 5px
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap {
  margin-top: 30px
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  width: 100%
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table dt {
  flex-basis: 35%
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table dt:nth-child(n+2) {
  padding: 10px;
  box-sizing: border-box;
  border-bottom: 1px solid #000
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table dd {
  flex-basis: 65%
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table dd > a {
  border-bottom: 1px solid rgba(0,0,0,.3)
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table dd > a:last-child {
  border-bottom: 1px solid #000
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .table-anchor-link {
  padding: 10px;
  display: block;
  font-weight: 500;
  font-size: 1.4;
  font-size: 14px;
  letter-spacing: 1px;
  position: relative
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .table-anchor-link::after {
  position: absolute;
  content: "";
  top: calc(50% - 10px);
  right: 5px;
  background-image: url(../images/culture/workfield/anchor_link_rectangle.svg);
  width: 20px;
  height: 20px
}
#cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .anchor-link-table-header {
  display: flex;
  width: 100%;
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  color: #fff;
  font-size: 1.6;
  font-size: 16px;
  font-weight: 700;
  padding: 10px
}
#cultureWorkFieldPage .back_green > small,
#cultureWorkFieldPage .back_green > span {
  background-color: #18ff14;
  padding: 0 10px
}
#cultureWorkFieldPage .back_green > span {
  font-size: 3;
  font-size: 30px;
  line-height: 45px;
  letter-spacing: 5px;
  display: inline-block
}
#cultureWorkFieldPage .back_green > small {
  font-size: 1.8;
  font-size: 18px;
  line-height: 32.4px;
  letter-spacing: 2px;
  display: table-cell
}
#cultureWorkFieldPage .work-field-wrap {
  margin: 100px auto 120px
}
#cultureWorkFieldPage .work-field-content + .work-field-content {
  margin-top: 60px
}
#cultureWorkFieldPage .work-field-content .work-field-content-number {
  font-weight: 700;
  font-size: 6.4;
  font-size: 64px;
  line-height: 54.4px
}
#cultureWorkFieldPage .work-field-content .title-second {
  margin-top: 8px
}
#cultureWorkFieldPage .work-field-content .work-field-accordion-wrap {
  background-color: #f2f5f6;
  margin-top: -20px;
  padding: 50px 0 60px;
  border: none
}
#cultureWorkFieldPage .work-field-content .work-field-accordion-wrap .work-field-accordion-header {
  border: 1px solid #006510;
  border-radius: 5px;
  color: #006510;
  letter-spacing: 1px
}
#cultureWorkFieldPage .work-field-content .work-field-accordion-wrap .work-field-accordion-header span:before {
  content: "VIEW DETAIL"
}
#cultureWorkFieldPage .work-field-content .work-field-accordion-wrap .work-field-accordion-header.is-active span:before {
  content: "CLOSE"
}
#cultureWorkFieldPage .work-field-content .work-field-content-description {
  margin-top: 20px
}
#cultureWorkFieldPage .work-field-content .work-field-content-description > p {
  color: #006510;
  font-weight: 700;
  font-size: 1.6;
  font-size: 16px;
  line-height: 27.2px;
  letter-spacing: .5px
}
#cultureWorkFieldPage .work-field-content .work-field-table {
  font-weight: 700;
  letter-spacing: 2px;
  margin: 30px auto 40px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-header {
  text-align: left;
  color: #fff;
  font-size: 1.6;
  font-size: 16px;
  background: linear-gradient(90deg,#006510 0,#00ae65 100%);
  padding: 10px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-data {
  padding: 10px 0 20px;
  font-size: 1.4;
  font-size: 14px;
  line-height: 23.8px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-data .work-field-table-tag {
  margin: 20px 0 10px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-data .work-field-table-tag:first-child {
  margin-top: 0
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-data .work-field-table-tag > span {
  font-size: 1.4;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 1px
}
#cultureWorkFieldPage .work-field-content .work-field-table .general_position-list-inner,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 7px 10px
}
#cultureWorkFieldPage .work-field-content .work-field-table .general_position-list-inner > li,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list > li {
  flex-basis: calc(50% - 20px);
  padding-left: 15px;
  position: relative;
  line-height: 16.8px
}
#cultureWorkFieldPage .work-field-content .work-field-table .general_position-list-inner > li::after,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list > li::after {
  position: absolute;
  content: "";
  background: #18ff14;
  width: 10px;
  height: 10px;
  left: 0;
  top: 3px
}
#cultureWorkFieldPage .work-field-content .work-field-table .general_position-list-inner > li > small,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list > li > small {
  display: block;
  margin-top: 5px
}
#cultureWorkFieldPage .work-field-content .work-field-table .general_position-list {
  display: flex;
  flex-direction: column;
  gap: 20px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item + .work-field-related-link-item {
  margin-top: 20px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item > a,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item.--movie {
  display: flex;
  gap: 15px;
  width: 100%
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-image-wrap.--people_interview {
  width: 50%
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-image-wrap.--project_interview {
  width: 90%
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-image-wrap .work-field-related-image {
  width: 100%;
  height: 100%;
  object-fit: cover
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-link-text {
  width: 100%
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .slogan-wrap {
  display: flex;
  flex-direction: column;
  align-items: center
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--blue,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--pink {
  width: 100%;
  box-sizing: border-box;
  padding: 0
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--blue > span,
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--pink > span {
  font-size: 1;
  font-size: 10px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--pink {
  border: 3.24px solid;
  -o-border-image: linear-gradient(45deg,#fe2b87 0,#f75 .7aa7 50%,#ffecaa 100%);
  border-image: linear-gradient(45deg,#fe2b87 0,#f76aa7 50%,#ffecaa 100%);
  border-image-slice: 1
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--blue {
  border: 3.24px solid;
  -o-border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image: linear-gradient(45deg,#05eca8 0,#01e6fc 50%,#0065fd 100%);
  border-image-slice: 1
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .multiplication-icon {
  margin: -7px 0;
  width: 26px;
  z-index: 0
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box-under-text {
  margin-top: 6px
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box-under-text > p {
  padding: 0 8px;
  background-color: #18ff14;
  display: inline-block;
  font-size: 1.2;
  font-size: 12px;
  color: #006510;
  letter-spacing: 0
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .movie-area {
  width: 100%;
  padding: 0
}
#cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .movie-area .movie-play-button {
  width: 15vw;
  height: 15vw;
  font-size: 3.5vw;
  right: -10px
}
@media (min-width:1025px) {
  #cultureWorkFieldPage .work-field-top {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    gap: 50px;
    margin-top: 100px
  }
  #cultureWorkFieldPage .work-field-top .work-field-diagram-wrap {
    margin: 0
  }
  #cultureWorkFieldPage .work-field-top .work-field-top-detail .title-en {
    font-size: 3.6;
    font-size: 36px
  }
  #cultureWorkFieldPage .work-field-top .work-field-top-detail .work-field-top-text {
    font-size: 2.4;
    font-size: 24px;
    line-height: 36px;
    margin-top: 40px
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap {
    margin-top: 40px;
    display: flex;
    gap: 40px
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap .title-third {
    text-wrap: nowrap
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table {
    margin-top: 0
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .table-anchor-link::after {
    right: 10px
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .table-anchor-link:hover {
    background-color: #006510;
    color: #fff
  }
  #cultureWorkFieldPage .work-field-top .anchor-link-wrap .anchor-link-table .table-anchor-link + .table-anchor-link {
    padding-top: 10px
  }
  #cultureWorkFieldPage .work-field-wrap {
    margin: 120px auto 200px;
    position: relative
  }
  #cultureWorkFieldPage .work-field-wrap::after {
    content: "";
    position: absolute;
    background-image: url(../images/culture/workfield/space_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    bottom: 200px;
    right: 0;
    width: 630px;
    height: 2000px
  }
  #cultureWorkFieldPage .work-field-wrap .work-field-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 80px;
    display: flex;
    flex-wrap: wrap;
    gap: 80px
  }
  #cultureWorkFieldPage .work-field-content {
    width: calc(50% - 40px)
  }
  #cultureWorkFieldPage .work-field-content + .work-field-content {
    margin-top: 0
  }
  #cultureWorkFieldPage .work-field-content .content-inner {
    padding: 0 30px
  }
  #cultureWorkFieldPage .work-field-content .work-field-content-description {
    margin-top: 0
  }
  #cultureWorkFieldPage .work-field-content .work-field-table {
    margin: 30px auto 60px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-header {
    padding: 10px 15px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-data {
    padding: 10px 0 30px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list {
    gap: 10px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list > li {
    flex-basis: calc(33% - 21px)
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-table-list.--flex_half > li {
    flex-basis: calc(50% - 20px)
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .general_position-list {
    flex-direction: row;
    gap: 10px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .general_position-list > li {
    flex-basis: calc(33% - 5px)
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .general_position-list .work-field-table-tag > span {
    letter-spacing: 0;
    text-wrap: nowrap
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .general_position-list .general_position-list-inner {
    flex-direction: column
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-image-wrap.--people_interview {
    max-width: 135px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .work-field-related-image-wrap.--project_interview {
    width: 100%
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--blue,
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--pink {
    padding: 3px 5px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--blue > span,
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box.--pink > span {
    font-size: 1.4;
    font-size: 14px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .multiplication-icon {
    width: 36px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box-under-text {
    margin-top: 10px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .gradient-box-under-text > p {
    font-size: 1.4;
    font-size: 14px
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .movie-area {
    padding: 0
  }
  #cultureWorkFieldPage .work-field-content .work-field-table .work-field-related-link-item .movie-area .movie-play-button {
    width: 15vw;
    height: 15vw;
    font-size: 3.5vw;
    right: -10px
  }
  #cultureWorkFieldPage .work-field-related-link.--project {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 50px
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item {
    flex-basis: calc(50% - 25px)
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item + .work-field-related-link-item {
    margin-top: 0
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item > a,
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item.--movie {
    flex-direction: column
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item .work-field-related-image-wrap .work-field-related-image {
    height: 145px
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item .gradient-box.--blue > span,
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item .gradient-box.--pink > span {
    font-size: 1;
    font-size: 10px
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item .movie-area {
    margin-top: 0
  }
  #cultureWorkFieldPage .work-field-related-link.--project .work-field-related-link-item .movie-area .movie-play-button {
    width: 78px;
    height: 78px;
    font-size: 17px;
    bottom: -20px
  }
}
#RecruitEntryPage .main-visual-description {
  color: #006510;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.8px;
  line-height: 1.8;
  padding: 0 20px;
  margin-top: 30px
}
#RecruitEntryPage .content-wrap {
  padding-bottom: 120px
}
#RecruitEntryPage .entry-shortcut-links {
  margin-top: 60px
}
#RecruitEntryPage .entry-shortcut-links .entry-shortcut-link-item + .entry-shortcut-link-item {
  margin-top: 15px
}
#RecruitEntryPage .entry-shortcut-links .entry-shortcut-link {
  align-items: center;
  background-color: #006510;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  font-size: 16px;
  font-weight: 700;
  height: 70px;
  line-height: 1.3;
  padding-left: 28px;
  padding-right: 84px;
  position: relative
}
#RecruitEntryPage .entry-shortcut-links .entry-shortcut-link::after {
  content: "";
  border-right: 3px solid #fff;
  border-top: 3px solid #fff;
  display: block;
  height: 9px;
  position: absolute;
  right: 30px;
  top: calc(50% - 9px);
  transform: rotate(135deg);
  width: 9px
}
#RecruitEntryPage .entry-type-wrap {
  margin-top: 60px
}
#RecruitEntryPage .entry-type-wrap .gradation-link {
  left: auto;
  position: relative;
  transform: none;
  width: 100%
}
#RecruitEntryPage .entry-type-wrap .gradation-link::before {
  content: "";
  background-image: url(../images/common/icon_link_accent-green.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  height: 18px;
  filter: brightness(0) invert(1);
  position: absolute;
  right: 20px;
  width: 18px
}
#RecruitEntryPage .entry-type-wrap .gradation-link::after {
  display: none
}
#RecruitEntryPage .entry-type-wrap .entry-type-item {
  background-color: #f2f5f6;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 50px 25px
}
#RecruitEntryPage .entry-type-wrap .entry-type-item + .entry-type-item {
  margin-top: 30px
}
#RecruitEntryPage .entry-type-wrap .entry-type-title {
  color: #006510;
  font-size: 28px
}
#RecruitEntryPage .entry-type-wrap .entry-type-description {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 30px;
  margin-top: 20px
}
#RecruitEntryPage .entry-type-wrap .entry-type-attention {
  font-size: 13px;
  font-weight: 700;
  margin-top: 25px
}
#RecruitEntryPage .entry-type-wrap .entry-type-attention + .entry-type-attention {
  margin-top: 15px
}
#RecruitEntryPage .entry-type-wrap .entry-banner-list .entry-banner-item + .entry-banner-item {
  margin-top: 15px
}
#RecruitEntryPage .entry-type-wrap .entry-banner-list .entry-banner-image {
  width: 100%
}
#RecruitEntryPage .line-address-wrap {
  background-color: #f2f5f6;
  border-radius: 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 50px 25px;
  margin-top: 80px
}
#RecruitEntryPage .line-address-wrap .gradation-link {
  background: #18ff14;
  color: #000;
  left: auto;
  position: relative;
  transform: none;
  width: 100%
}
#RecruitEntryPage .line-address-wrap .gradation-link::before {
  content: "";
  background-image: url(../images/common/icon_link_accent-green.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  display: block;
  height: 18px;
  filter: brightness(0) invert(1);
  position: absolute;
  right: 20px;
  width: 18px
}
#RecruitEntryPage .line-address-wrap .gradation-link::after {
  display: none
}
#RecruitEntryPage .line-address-wrap .line-address-title {
  color: #006510;
  font-size: 28px
}
#RecruitEntryPage .line-address-wrap .line-address-description {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 25px;
  margin-top: 10px
}
@media (min-width:1025px) {
  #RecruitEntryPage .entry-shortcut-links {
    display: none
  }
  #RecruitEntryPage .entry-type-wrap .entry-type-list {
    display: flex;
    justify-content: space-between
  }
  #RecruitEntryPage .entry-type-wrap .entry-type-list .entry-type-item {
    flex-basis: 33.34%;
    max-width: 380px
  }
  #RecruitEntryPage .entry-type-wrap .entry-type-list .entry-type-item + .entry-type-item {
    margin-left: 30px;
    margin-top: 0
  }
  #RecruitEntryPage .entry-type-wrap .entry-type-list .entry-banner-item {
    text-align: center
  }
  #RecruitEntryPage .entry-type-wrap .entry-type-list .entry-banner-item .entry-banner-image {
    height: 80px;
    width: auto
  }
  #RecruitEntryPage .line-address-wrap {
    flex-direction: row;
    justify-content: space-between;
    padding: 80px 110px
  }
  #RecruitEntryPage .line-address-wrap .line-address-item:nth-child(2) {
    margin-left: 30px
  }
  #RecruitEntryPage .line-address-wrap .gradation-link {
    width: 360px
  }
  #RecruitEntryPage .line-address-wrap .line-address-title {
    font-size: 28px
  }
  #RecruitEntryPage .line-address-wrap .line-address-description {
    font-size: 14px;
    margin: 12px 0 0
  }
}
#Sitemap .main-visual .main-visual-description {
  margin-top: 30px;
  font-weight: 700;
  padding: 0 20px;
  color: #006510;
  font-size: 1.6;
  font-size: 16px;
  line-height: 180%;
  letter-spacing: .8px
}
#Sitemap .content-wrap {
  margin-top: 80px;
  margin-bottom: 123px
}
#Sitemap .sitemap-wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px
}
@media (min-width:1025px) {
  #Sitemap .main-visual-description {
    width: 440px
  }
  #Sitemap .sitemap-wrap {
    grid-template-columns: repeat(2,1fr);
    gap: 80px 60px
  }
  #Sitemap .toppage-inner {
    margin: 200px auto 0;
    max-width: 1200px
  }
  #Sitemap .toppage-inner .gradation-link-design {
    left: calc(100% - 510px);
    position: relative
  }
}