@charset "UTF-8";
/*========================================
フォント
========================================*/
input[type="text"], input[type="email"], textarea {
  -webkit-appearance: none;
  appearance: none; }

::placeholder {
  color: #afafaf; }

@keyframes fadeIn {
  100% {
    opacity: 1;
    display: block; } }
@keyframes fadeOut {
  100% {
    background: none; } }
.fadeIn {
  filter: alpha(opacity=0);
  -ms-filter: "alpha(opacity=0)";
  -moz-opacity: 0;
  -khtml-opacity: 0;
  opacity: 0;
  zoom: 1;
  transition: 1s; }

.fadeIn.inview {
  filter: alpha(opacity=1);
  -ms-filter: "alpha(opacity=100)";
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1;
  z-index: 1;
  transition-delay: 0.2s; }

/******************************************************************************
 * RESET
*******************************************************************************/
h1, h2, h3, h4, h5, h6,
a, abbr, acronym, address, applet, article, aside, audio,
b, big, blockquote, body, caption, canvas, center, cite, code,
dd, del, details, dfn, dialog, div, dl, dt, em, embed,
fieldset, figcaption, figure, form, footer,
header, hgroup, h1, h2, h3, h4, h5, h6, html,
i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav,
object, ol, output, p, pre, q, ruby,
s, samp, section, main, small, span, strike, strong, sub, summary, sup,
tt, table, tbody, textarea, tfoot, thead, time, tr, th, td,
u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: initial;
  font: inherit;
  vertical-align: baseline;
  background: transparent; }

*:focus {
  outline: none; }

html {
  font-size: 62.5%;
  font-family: var(--basefont); }
  html figure {
    margin: 0; }

@media screen and (min-width: 1024px) and (max-width: 1280px) {
  html {
    font-size: calc(10 * (100vw / 1280)); } }
@media screen and (min-width: 561px) and (max-width: 768px) {
  html {
    font-size: calc(10 * (100vw / 768)); } }
@media screen and (max-width: 375px) {
  html {
    font-size: calc(10 * (100vw / 375)); } }
body {
  width: 100%;
  font-size: 1rem;
  position: relative;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  /* Webkit系 (Chrome, Safari) */
  -moz-osx-font-smoothing: grayscale;
  /* macOS Firefox */
  text-rendering: optimizeLegibility;
  /* 可読性を向上 */ }
  body b {
    font-weight: bold; }

article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section, main {
  display: block; }

#sp-nav,
.sp-only {
  display: none; }
  @media (max-width: 768px) {
    #sp-nav,
    .sp-only {
      display: block; } }

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

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none;
  image-rendering: -webkit-optimize-contrast; }

a {
  color: #000;
  text-decoration: none; }

a:hover {
  text-decoration: none;
  color: #626262; }

li {
  list-style: none; }

.anchor-txt {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 103; }

.inner {
  max-width: 123rem;
  width: 90vw;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  box-sizing: border-box; }
  @media (max-width: 768px) {
    .inner {
      max-width: none;
      width: auto;
      padding-left: 2.5rem;
      padding-right: 2.5rem; } }

/******************************************************************************
common
*******************************************************************************/
:root {
  --green:#00A63C;
  --blue:#108AC8;
  --bgcolor:#FAF5EB;
  --basefont:"Noto Sans JP", sans-serif;
  --enfont:"Roboto Slab", serif;
  --fontbold:700;
  --fontnomal:400;
  --linecolor:#06C755;
  --youtubecolor:#FF0000; }

.btnbox {
  width: 100%;
  max-width: max(14.4rem,142px);
  height: max(3.6rem,34px);
  border-radius: max(1.8rem,17px);
  background-color: var(--green);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .5s; }
  .btnbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: .5s; }
  .btnbox--text {
    font-weight: var(--fontbold);
    font-size: max(1.6rem,14px);
    color: #FFFFFF;
    transform: translateY(-0.2rem); }
  .btnbox--304 {
    max-width: max(30.4rem,302px);
    height: max(7.6rem,74px);
    border-radius: max(3.8rem,37px);
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 768px) {
      .btnbox--304 {
        max-width: 24rem;
        height: 6rem;
        border-radius: 3rem; } }
    .btnbox--304 .text {
      font-size: max(2rem,18px); }
      @media (max-width: 768px) {
        .btnbox--304 .text {
          font-size: 1.6rem; } }
  .btnbox:hover:before {
    background-color: rgba(255, 255, 255, 0.2); }

.bnr_onlineview {
  max-width: 60rem;
  margin: 4rem auto 0; }
  @media (max-width: 768px) {
    .bnr_onlineview {
      max-width: 90%;
      margin: 6rem auto 0; } }
  .bnr_onlineview a {
    transition: .5s; }
    .bnr_onlineview a:hover {
      opacity: .75; }

.topcontents {
  margin-top: max(12rem,118px); }
  @media (max-width: 1023px) {
    .topcontents {
      margin-top: 6rem; } }

.contentstitle {
  text-align: center; }
  .contentstitle .title .entxt {
    font-size: max(1.2rem,10px);
    color: var(--green);
    display: block;
    font-family: var(--enfont);
    font-weight: var(--fontbold);
    letter-spacing: 0.08rem; }
    @media (max-width: 768px) {
      .contentstitle .title .entxt {
        font-size: 1rem; } }
  .contentstitle .title .text {
    font-weight: var(--fontbold);
    color: var(--green);
    font-size: max(3.2rem,30px);
    display: inline-block;
    margin-bottom: 1.2rem; }
    @media (max-width: 768px) {
      .contentstitle .title .text {
        font-size: 2rem;
        margin-bottom: 1rem;
        line-height: 1; } }
    .contentstitle .title .text:before {
      content: "[";
      padding-right: 1.5rem; }
      @media (max-width: 768px) {
        .contentstitle .title .text:before {
          padding-right: 1rem; } }
    .contentstitle .title .text:after {
      content: "]";
      padding-left: 1.5rem; }
      @media (max-width: 768px) {
        .contentstitle .title .text:after {
          padding-left: 1rem; } }

.morebtn {
  text-align: center;
  font-size: max(2rem,18px); }
  @media (max-width: 768px) {
    .morebtn {
      font-size: 1.4rem; } }
  .morebtn a {
    color: var(--green);
    font-family: var(--enfont);
    font-weight: var(--fontnomal); }

.checklist li {
  font-size: max(1.6rem,14px);
  color: #231815;
  font-weight: var(--fontbold);
  line-height: 2;
  position: relative;
  padding-left: 2rem; }
  @media (max-width: 768px) {
    .checklist li {
      font-size: 1.4rem;
      line-height: 1.7142857143;
      padding-left: 1.5rem; }
      .checklist li:not(:last-child) {
        margin-bottom: 0.5rem; } }
  .checklist li:before {
    content: "";
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: var(--green);
    display: block;
    position: absolute;
    left: 0;
    top: 1.1rem; }
    @media (max-width: 768px) {
      .checklist li:before {
        top: 0.8rem; } }

/******************************************************************************
.topslider
*******************************************************************************/
.topslider .cap {
  margin: 0 1.5rem;
  position: relative; }
  @media (max-width: 768px) {
    .topslider .cap {
      margin: 0 0.75rem; } }
  .topslider .cap img {
    width: 100%;
    border-radius: clamp(1rem, 1.953125vw, 2rem); }
@media (max-width: 768px) {
  .topslider .slick-dots {
    bottom: -2rem;
    width: auto;
    right: 3rem; }
    .topslider .slick-dots li {
      width: 0.9rem;
      height: 0.9rem;
      margin: 0 0.3rem;
      background-color: #c8c8c8; }
      .topslider .slick-dots li.slick-active {
        background-color: #0f8bc7; }
      .topslider .slick-dots li button {
        width: 0.9rem;
        height: 0.9rem; } }

/******************************************************************************
headerbox
*******************************************************************************/
#headerbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  padding-left: 5.8rem;
  padding-right: 12rem;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: white;
  gap: 3rem;
  z-index: 1000;
  height: max(12rem,118px);
  transition: height 0.5s cubic-bezier(0, 0.55, 0.45, 1); }
  @media (max-width: 1280px) {
    #headerbox {
      padding-left: 3rem;
      padding-right: 3rem; } }
  @media (max-width: 1023px) {
    #headerbox {
      height: 6rem;
      padding-left: 2rem;
      padding-right: 2rem; } }
  #headerbox .headlogo {
    width: 100%;
    max-width: max(41rem,408px); }
    @media (max-width: 1280px) {
      #headerbox .headlogo {
        max-width: 40rem; } }
    @media (max-width: 768px) {
      #headerbox .headlogo {
        max-width: 24rem; } }
    #headerbox .headlogo img {
      width: 100%; }
  #headerbox .menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 67rem;
    gap: 4rem; }
    @media (max-width: 1280px) {
      #headerbox .menu {
        width: calc(100% - 55rem); } }
    #headerbox .menu .box {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      transition: .5s; }
      @media (max-width: 1023px) {
        #headerbox .menu .box {
          position: absolute;
          right: -100%;
          background-color: white;
          top: 5.8rem;
          width: 100%;
          height: calc(100vh - 5rem);
          display: block;
          padding: 3rem;
          font-size: max(1.6rem,14px);
          line-height: 1.5;
          box-sizing: border-box; }
          #headerbox .menu .box .btnbox {
            margin: auto; } }
    @media (max-width: 768px) {
      #headerbox .menu {
        width: 5rem; } }
    #headerbox .menu--nav {
      display: flex;
      align-items: center;
      font-size: max(1.8rem,16px);
      font-weight: var(--fontbold);
      gap: 4rem;
      transition: .4s; }
      @media (max-width: 1023px) {
        #headerbox .menu--nav {
          display: block;
          margin-bottom: 3rem; } }
      #headerbox .menu--nav li {
        position: relative; }
        @media (max-width: 1023px) {
          #headerbox .menu--nav li.menu-item-has-children > .arrow {
            content: "";
            width: 1.5rem;
            height: 1.5rem;
            border-left: 1px solid var(--green);
            border-bottom: 1px solid var(--green);
            position: absolute;
            display: block;
            right: 5rem;
            top: 0.2rem;
            transform: rotate(-45deg); } }
        @media (max-width: 1023px) {
          #headerbox .menu--nav li {
            text-align: center; }
            #headerbox .menu--nav li:not(:last-child) {
              margin-bottom: 1rem; } }
      #headerbox .menu--nav a {
        white-space: nowrap;
        cursor: pointer; }

.sub-menu {
  position: absolute;
  left: 0;
  top: 150%;
  background: white;
  border-radius: 1rem;
  box-sizing: border-box;
  z-index: 100;
  padding: 2rem 3rem;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 3px 12px rgba(0, 0, 0, 0.12);
  font-size: max(1.6rem,14px);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .3s ease-in-out,opacity .3s ease-in-out; }
  @media (max-width: 1023px) {
    .sub-menu {
      left: auto;
      top: auto;
      position: inherit;
      box-shadow: none;
      padding: 2rem 0;
      display: none;
      transform: none; }
      .sub-menu .arrow {
        display: none; } }
  .sub-menu li:not(:last-child) {
    margin-bottom: 1rem; }
    @media (max-width: 1023px) {
      .sub-menu li:not(:last-child) {
        margin-bottom: 1.5rem; } }

@media (hover: hover) {
  .menu--nav li:hover > .sub-menu, .menu--nav li > .sub-menu:focus-within, .menu--nav li > a:focus + .sub-menu {
    opacity: 1;
    transform: scale(1); } }
/******************************************************************************
#gbtn
*******************************************************************************/
#gbtn {
  display: none; }
  @media (max-width: 1023px) {
    #gbtn {
      display: block;
      width: 5rem;
      height: 1.4rem;
      background: none;
      border: none;
      margin: 0 0 0 auto;
      padding: 0;
      position: relative;
      cursor: pointer;
      transition: .5s; }
      #gbtn span {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%; }
        #gbtn span:before, #gbtn span:after {
          content: "";
          width: 100%;
          height: 0.4rem;
          border-radius: 0.2rem;
          background: var(--green);
          position: absolute;
          left: 0;
          transition: .5s; }
        #gbtn span:before {
          top: 0; }
        #gbtn span:after {
          bottom: 0; } }

/******************************************************************************
activescroll
*******************************************************************************/
body.activescroll #headerbox {
  height: max(6.5rem,60px); }
  @media (max-width: 768px) {
    body.activescroll #headerbox {
      height: 5rem; } }
  @media (max-width: 1023px) {
    body.activescroll #headerbox .box {
      top: 5rem; } }
@media (max-width: 1023px) {
  body.activeMenu #gbtn span:before, body.activeMenu #gbtn span:after {
    top: 0.2rem; }
  body.activeMenu #gbtn span:before {
    transform: rotate(20deg); }
  body.activeMenu #gbtn span:after {
    transform: rotate(-20deg);
    bottom: auto; } }
@media (max-width: 1023px) {
  body.activeMenu #headerbox .box {
    right: 0; } }

/******************************************************************************
introduction
*******************************************************************************/
.introduction {
  padding: 7rem 0 0; }
  @media (max-width: 768px) {
    .introduction {
      padding: 3.7rem 0 0; } }
  .introduction .headbox {
    padding: 0 0 8rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .introduction .headbox {
        display: block;
        padding: 0 0 13rem; } }
    .introduction .headbox .title .entxt {
      font-size: max(1.2rem,10px);
      letter-spacing: 0.05em;
      color: var(--green);
      font-family: var(--enfont);
      font-weight: var(--fontbold);
      display: block;
      margin-bottom: 3.2rem; }
      @media (max-width: 768px) {
        .introduction .headbox .title .entxt {
          margin-bottom: 1.5rem; } }
    .introduction .headbox .title .text {
      display: block;
      font-weight: var(--fontbold);
      font-size: max(3.2rem,30px);
      line-height: 1.625;
      color: var(--green); }
      @media (max-width: 768px) {
        .introduction .headbox .title .text {
          font-size: 2.2rem;
          line-height: 1.6666666667;
          margin-bottom: 2.2rem; } }
      .introduction .headbox .title .text .item {
        color: var(--blue); }
    .introduction .headbox p.txt {
      font-size: max(2rem,18px);
      line-height: 2.1;
      font-weight: var(--fontbold);
      text-align: justify; }
      @media (max-width: 768px) {
        .introduction .headbox p.txt {
          font-size: 1.35rem;
          line-height: 2; } }

.programbox--index .mintext {
  padding-top: 2.8rem;
  padding-bottom: 0;
  font-size: max(1.4rem,12px);
  line-height: 2;
  text-align: center; }
  @media (max-width: 768px) {
    .programbox--index .mintext {
      font-size: 1.2rem;
      line-height: 2;
      padding-top: 2.6rem;
      padding-bottom: 2rem; } }
  .programbox--index .mintext a {
    text-decoration: underline; }
.programbox--index .list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media (max-width: 768px) {
    .programbox--index .list {
      display: block; }
      .programbox--index .list .programbox--list:not(:last-child) {
        margin-bottom: 5rem; } }
.programbox--list {
  width: 100%;
  max-width: calc((100% - 6rem *2) / 3);
  font-size: max(1.6rem,14px);
  margin-bottom: 4rem;
  line-height: 2;
  position: relative; }
  @media (max-width: 1023px) {
    .programbox--list {
      max-width: calc((100% - 1.5rem *2) / 3); } }
  @media (max-width: 768px) {
    .programbox--list {
      max-width: none;
      font-size: 1.4rem;
      line-height: 1.8571428571; } }
  .programbox--list.list01 .cap {
    position: relative; }
    .programbox--list.list01 .cap:before {
      content: "";
      position: absolute;
      width: 6.5rem;
      height: 3rem;
      background: url(../images/top/program-item01.png) no-repeat center center/contain;
      bottom: 3.2rem;
      left: -4rem; }
      @media (max-width: 768px) {
        .programbox--list.list01 .cap:before {
          left: auto;
          right: 3.2rem;
          bottom: -1.6rem; } }
  .programbox--list.list01 .text,
  .programbox--list.list01 .txt {
    color: #1D2087; }
  .programbox--list.list02:before {
    content: "";
    position: absolute;
    width: 7.6rem;
    height: 6.5rem;
    background: url(../images/top/program-item02.png) no-repeat center center/contain;
    right: 0;
    top: 3.6rem; }
  .programbox--list.list02 .text,
  .programbox--list.list02 .txt {
    color: #EF8200; }
  .programbox--list.list03 .cap {
    position: relative; }
    .programbox--list.list03 .cap:before {
      content: "";
      position: absolute;
      width: 5.3rem;
      height: 7rem;
      background: url(../images/top/program-item03.png) no-repeat center center/contain;
      top: 10.9rem;
      right: -4rem; }
      @media (max-width: 768px) {
        .programbox--list.list03 .cap:before {
          right: 1.8rem;
          top: auto;
          bottom: -1.3rem; } }
  .programbox--list.list03 .text,
  .programbox--list.list03 .txt {
    color: #E40065; }
  .programbox--list.list04 .text,
  .programbox--list.list04 .txt {
    color: #75ba2a; }
  .programbox--list.list05 .text,
  .programbox--list.list05 .txt {
    color: #ed7e86; }
  .programbox--list.list06 .text,
  .programbox--list.list06 .txt {
    color: #65c4d8; }
  .programbox--list .cap {
    margin-bottom: 3rem; }
    @media (max-width: 768px) {
      .programbox--list .cap {
        margin-bottom: 2.5rem; } }
    .programbox--list .cap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 360 / 270;
      border-radius: 2rem; }
      @media (max-width: 768px) {
        .programbox--list .cap img {
          border-radius: 1.8rem;
          aspect-ratio: 324/243; } }
  .programbox--list p.txt {
    text-align: justify; }
    .programbox--list p.txt .mintxt {
      display: block;
      font-size: max(1.4rem,12px);
      line-height: 2;
      padding-top: 2rem; }
      @media (max-width: 768px) {
        .programbox--list p.txt .mintxt {
          font-size: 1.2rem;
          line-height: 2.3333333333; } }
.programbox--title {
  display: flex;
  align-items: center;
  margin-bottom: 1rem; }
  @media (max-width: 768px) {
    .programbox--title {
      margin-bottom: 1.6rem; } }
  .programbox--title .text {
    font-weight: var(--fontbold);
    font-size: max(2rem,18px);
    line-height: 1.5;
    white-space: nowrap;
    width: calc(100% - 9.1rem);
    padding-left: 2.3rem; }
    @media (max-width: 768px) {
      .programbox--title .text {
        font-size: 1.8rem;
        line-height: 1.5;
        padding-left: 2.1rem;
        width: calc(100% - 8.9rem); } }
  .programbox--title .icon {
    width: 100%;
    max-width: 6.8rem; }

/******************************************************************************
.specialguest
*******************************************************************************/
.specialguest {
  position: relative; }
  .specialguest .box {
    display: flex;
    gap: 7rem; }
    @media (max-width: 1023px) {
      .specialguest .box {
        display: block; } }
  .specialguest .cap {
    width: 100%;
    max-width: 19rem;
    position: absolute;
    right: 0;
    top: 0; }
    @media (max-width: 1380px) {
      .specialguest .cap {
        max-width: 12rem; } }
    @media (max-width: 1023px) {
      .specialguest .cap {
        max-width: 19rem;
        margin: auto;
        position: initial;
        right: auto;
        top: auto; } }
    .specialguest .cap img {
      width: 100%;
      border-radius: 2.5rem; }
  .specialguest--item {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    font-size: max(1.4rem,12px);
    line-height: 2;
    position: relative; }
    @media (max-width: 1380px) {
      .specialguest--item {
        font-size: max(1.2rem,12px);
        line-height: 2;
        justify-content: space-between; } }
    @media (max-width: 1023px) {
      .specialguest--item {
        display: block;
        font-size: 1.4rem;
        line-height: 1.8571428571; } }
    .specialguest--item h3 {
      font-weight: var(--fontbold);
      font-size: max(2.4rem,22px);
      line-height: 1;
      color: var(--green);
      margin-bottom: 2rem; }
      @media (max-width: 1380px) {
        .specialguest--item h3 {
          font-size: max(1.8rem,16px); } }
      @media (max-width: 1023px) {
        .specialguest--item h3 {
          font-size: 2rem;
          text-align: center;
          margin-bottom: 2.4rem; } }
      .specialguest--item h3 small {
        display: block;
        font-size: max(1.2rem,10px);
        font-family: var(--enfont); }
    .specialguest--item .itemtxt {
      font-weight: var(--fontbold);
      font-size: max(2.4rem,22px);
      line-height: 0.7916666667;
      color: #231815; }
      @media (max-width: 1380px) {
        .specialguest--item .itemtxt {
          font-size: max(1.8rem,16px); } }
      .specialguest--item .itemtxt small {
        font-size: max(1.6rem,14px);
        line-height: 1.1875;
        padding-left: 1rem; }
        @media (max-width: 1023px) {
          .specialguest--item .itemtxt small {
            font-size: 1.2rem;
            line-height: 1.5833333333; } }
    .specialguest--item .item {
      display: flex;
      align-items: center;
      flex-direction: row-reverse;
      gap: 2.3rem;
      padding-top: 1.5rem; }
      @media (max-width: 1023px) {
        .specialguest--item .item {
          display: block;
          text-align: center; } }
      .specialguest--item .item .text {
        font-weight: 700;
        font-size: max(1.6rem,14px);
        line-height: 1.75;
        color: #231815; }
        @media (max-width: 1023px) {
          .specialguest--item .item .text {
            font-weight: 500;
            font-size: 1.2rem;
            line-height: 1.6666666667; } }
    @media (max-width: 1023px) {
      .specialguest--item.box1 {
        margin-bottom: 6.5rem; }
        .specialguest--item.box1 .txt {
          margin-bottom: 2rem; }
        .specialguest--item.box1 .item {
          padding-top: 2rem; }
        .specialguest--item.box1 .itemtxt {
          margin-bottom: 1rem; } }
    .specialguest--item.box1 .item,
    .specialguest--item.box1 p.txt {
      width: calc(100% - 19rem - 1.5rem); }
      @media (max-width: 1380px) {
        .specialguest--item.box1 .item,
        .specialguest--item.box1 p.txt {
          width: calc(100% - 12rem - 1.5rem); } }
      @media (max-width: 1023px) {
        .specialguest--item.box1 .item,
        .specialguest--item.box1 p.txt {
          width: 100%; } }
    .specialguest--item.box2 {
      width: 100%;
      max-width: 40.5rem;
      position: relative; }
      .specialguest--item.box2:before {
        content: "";
        position: absolute;
        width: 11.8rem;
        height: 8rem;
        background: url(../images/common/icon.svg) no-repeat center center/contain;
        right: -5.6rem;
        top: -5rem;
        z-index: 2; }
        @media (max-width: 768px) {
          .specialguest--item.box2:before {
            width: 9.3rem;
            height: 6.3rem;
            top: 7.9rem;
            right: -1.1rem; } }
      @media (max-width: 1380px) {
        .specialguest--item.box2 {
          max-width: 31rem; } }
      @media (max-width: 1023px) {
        .specialguest--item.box2 {
          max-width: none;
          text-align: center; } }
      .specialguest--item.box2 h3 {
        margin-bottom: 3rem; }
        .specialguest--item.box2 h3 small {
          padding-top: 1rem; }
      .specialguest--item.box2 p.txt {
        font-size: max(1.6rem,14px); }
        @media (max-width: 1380px) {
          .specialguest--item.box2 p.txt {
            font-size: max(1.4rem,12px); } }
        @media (max-width: 1023px) {
          .specialguest--item.box2 p.txt {
            font-size: 1.2rem;
            line-height: 1.6666666667; } }
      .specialguest--item.box2 .itemtxt {
        font-weight: var(--fontbold);
        margin-bottom: 2.5rem; }
        @media (max-width: 1380px) {
          .specialguest--item.box2 .itemtxt {
            margin-bottom: 1.5rem; } }
        @media (max-width: 1023px) {
          .specialguest--item.box2 .itemtxt {
            margin-top: 2rem; } }
        .specialguest--item.box2 .itemtxt small {
          padding-left: 3rem; }
          @media (max-width: 1023px) {
            .specialguest--item.box2 .itemtxt small {
              padding-left: 1rem; } }

/******************************************************************************
footerbox
*******************************************************************************/
#footerbox {
  position: relative;
  padding-bottom: max(17.4rem,172px); }
  @media (max-width: 768px) {
    #footerbox {
      padding-bottom: 10.5rem; } }
  #footerbox:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../images/common/footer-bg.png) no-repeat center bottom/contain; }
    @media (max-width: 768px) {
      #footerbox:before {
        background: url(../images/common/footer-bg_sp.jpg) no-repeat center bottom/contain; } }
  #footerbox .inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 9rem;
    border-top: 1px solid #231815;
    position: relative; }
    @media (max-width: 768px) {
      #footerbox .inner {
        padding-top: 5.5rem;
        padding-left: 0;
        padding-right: 0;
        display: block;
        margin-left: 2.5rem;
        margin-right: 2.5rem; } }
    #footerbox .inner:after {
      content: "";
      position: absolute;
      width: 11rem;
      height: 10.1rem;
      background: url(../images/common/footer-icon.svg) no-repeat center center/contain;
      top: -4rem;
      right: 1.2rem; }
      @media (max-width: 768px) {
        #footerbox .inner:after {
          width: 7.5rem;
          height: 6.4rem;
          right: 0; } }
  #footerbox .copy {
    position: absolute;
    font-size: max(1rem,10px);
    color: #787878;
    left: 0;
    bottom: 0;
    font-family: var(--enfont); }
    @media (max-width: 768px) {
      #footerbox .copy {
        position: inherit;
        left: auto;
        bottom: auto;
        display: block;
        text-align: center; } }
  #footerbox .btns {
    display: flex;
    align-items: center;
    gap: 1.4rem; }
    @media (max-width: 768px) {
      #footerbox .btns {
        display: block;
        margin-bottom: 5.8rem; } }
    #footerbox .btns .btnbox {
      max-width: calc((100% - 1.4rem ) / 2);
      height: max(7.6rem,74px);
      border-radius: max(3.8rem,37px);
      text-align: center; }
      @media (max-width: 768px) {
        #footerbox .btns .btnbox {
          max-width: none;
          height: 6rem;
          border-radius: 3rem; } }
      #footerbox .btns .btnbox--text {
        font-size: max(2rem,18px); }
        @media (max-width: 768px) {
          #footerbox .btns .btnbox--text {
            font-size: 1.6rem; } }
      #footerbox .btns .btnbox.tel {
        background-color: var(--blue); }
        @media (max-width: 768px) {
          #footerbox .btns .btnbox.tel {
            margin-bottom: 2.5rem; } }
        #footerbox .btns .btnbox.tel .mintxt {
          font-size: max(1.5rem,13px);
          display: block; }
          @media (max-width: 768px) {
            #footerbox .btns .btnbox.tel .mintxt {
              font-size: 1.2rem; } }
        #footerbox .btns .btnbox.tel .anchor-txt {
          display: none; }
          @media (max-width: 768px) {
            #footerbox .btns .btnbox.tel .anchor-txt {
              display: block; } }
  #footerbox .logo {
    width: 100%;
    max-width: max(16.2rem,160px); }
    @media (max-width: 768px) {
      #footerbox .logo {
        max-width: 21.1rem;
        margin: 0 auto 5rem; } }
    #footerbox .logo img {
      width: 100%; }
  @media (max-width: 768px) {
    #footerbox .navbox {
      text-align: center;
      margin-bottom: 7.2rem; } }
  #footerbox .navbox .sub-menu {
    top: 100%;
    padding-top: 1rem;
    /* display: none; */ }
    #footerbox .navbox .sub-menu li {
      line-height: 1.5; }
      #footerbox .navbox .sub-menu li a {
        line-height: 1.5;
        white-space: nowrap;
        cursor: pointer; }
  #footerbox .navbox .menu--nav > li {
    position: relative;
    font-weight: var(--fontbold);
    font-size: max(1.8rem,16px);
    line-height: 2.4444444444; }
    @media (max-width: 768px) {
      #footerbox .navbox .menu--nav > li {
        font-size: 1.8rem; } }
  #footerbox .contact h3 {
    font-size: max(1.8rem,16px);
    font-weight: var(--fontbold);
    margin-bottom: 1.8rem; }
    @media (max-width: 768px) {
      #footerbox .contact h3 {
        text-align: center;
        font-size: 1.8rem;
        margin-bottom: 1.5rem;
        line-height: 1; } }
  #footerbox .contact .lead {
    font-weight: var(--fontbold);
    font-size: max(1.3rem,11px);
    margin-bottom: 3rem; }
    @media (max-width: 768px) {
      #footerbox .contact .lead {
        font-size: 1.3rem;
        line-height: 1.75;
        text-align: center;
        margin-bottom: 2.5rem; } }

/******************************************************************************
newsbox
*******************************************************************************/
.newsbox--index {
  padding: 14rem 0 10.5rem; }
  @media (max-width: 768px) {
    .newsbox--index {
      padding: 6.8rem 0 6rem; }
      .newsbox--index .morebtn {
        text-align: right; } }
  .newsbox--index .contentstitle {
    margin-bottom: 5.7rem; }
    @media (max-width: 768px) {
      .newsbox--index .contentstitle {
        margin-bottom: 3.5rem; } }
  .newsbox--index ul {
    margin-bottom: 5.3rem; }
    @media (max-width: 768px) {
      .newsbox--index ul {
        margin-bottom: 4rem; } }
.newsbox--list {
  position: relative;
  display: flex;
  align-items: center;
  gap: 7rem;
  padding-left: 0.5rem; }
  @media (max-width: 768px) {
    .newsbox--list {
      display: block;
      padding-left: 0; } }
  .newsbox--list .timebox {
    font-size: max(1.6rem,14px);
    color: var(--green);
    font-family: var(--enfont); }
    @media (max-width: 768px) {
      .newsbox--list .timebox {
        display: block;
        font-size: 1.4rem; } }
  .newsbox--list .text {
    font-weight: var(--fontbold);
    font-size: max(1.6rem,14px); }
    @media (max-width: 768px) {
      .newsbox--list .text {
        font-size: 1.4rem;
        line-height: 1.7857142857; } }
  .newsbox--list:not(:last-child) {
    padding-bottom: 1.8rem;
    margin-bottom: 1.8rem;
    border-bottom: 1px solid #969696; }
    @media (max-width: 768px) {
      .newsbox--list:not(:last-child) {
        padding-bottom: 1.2rem;
        margin-bottom: 1.2rem; } }

/******************************************************************************
.aboutbox
*******************************************************************************/
.aboutbox--index {
  background-color: var(--bgcolor);
  padding: 7.5rem 0 10.6rem; }
  @media (max-width: 768px) {
    .aboutbox--index {
      padding: 5rem 0 5.5rem; } }
  .aboutbox--index .contentstitle {
    margin-bottom: 5rem; }
    @media (max-width: 768px) {
      .aboutbox--index .contentstitle {
        margin-bottom: 2.3rem; } }
  .aboutbox--index .inner {
    max-width: 93.3rem; }
    @media (max-width: 768px) {
      .aboutbox--index .inner {
        max-width: none; } }
  .aboutbox--index .moviebox {
    position: relative;
    aspect-ratio: 933/525;
    object-fit: cover; }
    @media (max-width: 768px) {
      .aboutbox--index .moviebox {
        aspect-ratio: 323/182; } }
    .aboutbox--index .moviebox iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }

/******************************************************************************
.presentationbox
*******************************************************************************/
.presentationbox--index {
  padding: 7.5rem 0 17rem; }
  @media (max-width: 768px) {
    .presentationbox--index {
      padding: 3.7rem 0 5.2rem; } }
  .presentationbox--index .contentstitle {
    margin-bottom: 5rem; }
    @media (max-width: 768px) {
      .presentationbox--index .contentstitle {
        margin-bottom: 3rem; } }
  .presentationbox--index .listbox {
    margin-bottom: 6rem; }
    @media (max-width: 768px) {
      .presentationbox--index .listbox {
        margin-bottom: 3.5rem; } }
.presentationbox--page {
  margin-bottom: 12.5rem; }
  @media (max-width: 768px) {
    .presentationbox--page {
      margin-bottom: 10rem; } }
  .presentationbox--page .lead .txt:before {
    content: "◎"; }
  .presentationbox--page .lead .txt:not(:last-of-type) {
    padding-right: 1.2rem; }
.presentationbox--list {
  width: 100%;
  max-width: calc((100% - 6.4rem) / 2); }
  @media (max-width: 768px) {
    .presentationbox--list {
      max-width: none; }
      .presentationbox--list:not(:last-child) {
        margin-bottom: 2.5rem; } }
  .presentationbox--list--item {
    max-width: 93.3rem;
    margin-left: auto;
    margin-right: auto; }
.presentationbox .listbox {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4rem 6.4rem; }
  @media (max-width: 768px) {
    .presentationbox .listbox {
      display: block; } }
  .presentationbox .listbox .title {
    font-size: max(2.4rem,22px);
    line-height: 1.1666666667;
    font-weight: var(--fontbold);
    color: var(--blue);
    margin-bottom: 2rem; }
    @media (max-width: 768px) {
      .presentationbox .listbox .title {
        font-size: 2rem;
        line-height: 1.4;
        margin-bottom: 1.2rem; } }
  .presentationbox .listbox .moviebox {
    position: relative;
    margin-bottom: 1.2rem;
    aspect-ratio: 568/320;
    object-fit: cover; }
    @media (max-width: 768px) {
      .presentationbox .listbox .moviebox {
        aspect-ratio: 323 / 182; } }
    .presentationbox .listbox .moviebox iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
  .presentationbox .listbox .lead {
    font-weight: var(--fontbold);
    font-size: max(1.6rem,14px);
    line-height: 1.75; }
    @media (max-width: 768px) {
      .presentationbox .listbox .lead {
        font-size: 1.4rem;
        line-height: 1.8571428571; } }

/******************************************************************************
.applybox
*******************************************************************************/
.applybox--index {
  padding: 14rem 0 7.5rem; }
  @media (max-width: 768px) {
    .applybox--index {
      padding: 4.8rem 0 3.7rem; } }
  .applybox--index .contentstitle {
    margin-bottom: 7rem; }
    @media (max-width: 768px) {
      .applybox--index .contentstitle {
        margin-bottom: 3.8rem; } }
  .applybox--index .list {
    display: flex;
    flex-wrap: wrap;
    gap: 4.5rem 8rem;
    margin-bottom: 4rem; }
    @media (max-width: 768px) {
      .applybox--index .list {
        display: block; } }
  .applybox--index .btnbox {
    margin-bottom: 13rem; }
    @media (max-width: 768px) {
      .applybox--index .btnbox {
        margin-bottom: 6rem; } }
.applybox .resultsbox {
  background-color: var(--blue);
  width: 100%;
  height: 20rem;
  border-radius: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  font-weight: var(--fontbold); }
  @media (max-width: 768px) {
    .applybox .resultsbox {
      height: 18rem; } }
  .applybox .resultsbox .text {
    font-size: max(2.4rem,22px);
    margin-bottom: 1rem; }
    @media (max-width: 768px) {
      .applybox .resultsbox .text {
        font-size: 2rem;
        margin-bottom: 0; } }
  .applybox .resultsbox .daytext {
    font-size: max(3.2rem,30px);
    margin-bottom: 1.5rem; }
    @media (max-width: 768px) {
      .applybox .resultsbox .daytext {
        font-size: 2.6rem;
        margin-bottom: 0.5rem; } }
  .applybox .resultsbox .mintext {
    font-size: max(1.8rem,16px); }
    @media (max-width: 768px) {
      .applybox .resultsbox .mintext {
        font-size: 1.4rem; } }
.applybox--list {
  width: 100%; }
  .applybox--list.qualification .lead {
    font-size: max(1.8rem,16px);
    margin-bottom: 1.6rem;
    font-weight: var(--fontbold); }
    @media (max-width: 768px) {
      .applybox--list.qualification .lead {
        font-size: 1.6rem;
        line-height: 1.75;
        margin-bottom: 1.2rem; } }
  .applybox--list.qualification .mintxt {
    font-size: max(1.4rem,12px); }
    @media (max-width: 768px) {
      .applybox--list.qualification .mintxt {
        font-size: 1.2rem; } }
  .applybox--list:not(:nth-child(3)) {
    max-width: calc((100% - 8rem) / 2); }
    @media (max-width: 768px) {
      .applybox--list:not(:nth-child(3)) {
        max-width: none;
        margin-bottom: 5rem; } }
    .applybox--list:not(:nth-child(3)) .title {
      margin-bottom: 2.5rem; }
      @media (max-width: 768px) {
        .applybox--list:not(:nth-child(3)) .title {
          margin-bottom: 2rem; } }
  .applybox--list .title {
    position: relative;
    margin-bottom: 3.5rem; }
    .applybox--list .title:before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      width: 100%;
      height: 0.1rem;
      background-color: var(--green); }
    .applybox--list .title .text {
      position: relative;
      z-index: 2;
      font-size: max(2.4rem,22px);
      background-color: white;
      color: var(--green);
      padding: 0 1.1rem 0 0;
      font-weight: var(--fontbold);
      display: inline-block; }
.applybox .period .box {
  display: flex;
  align-items: center;
  gap: 2rem; }
  @media (max-width: 768px) {
    .applybox .period .box {
      display: block; } }
  .applybox .period .box--itemtext {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: max(1.8rem,16px);
    font-weight: var(--fontbold);
    color: var(--green);
    width: 14.4rem;
    height: 3.4rem;
    border-radius: 1.8rem;
    border: 1px solid var(--green); }
    @media (max-width: 768px) {
      .applybox .period .box--itemtext {
        width: 12.8rem;
        height: 3.2rem;
        border-radius: 1.6rem;
        font-size: 1.6rem;
        margin: auto; } }
.applybox .flow ul {
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .applybox .flow ul {
      display: block; } }
.applybox .flow--list {
  width: 100%;
  max-width: calc((100% - 6rem*3) / 4);
  font-size: max(1.6rem,14px);
  line-height: 1.75;
  position: relative;
  font-weight: 500; }
  @media (max-width: 768px) {
    .applybox .flow--list {
      max-width: none;
      font-size: 1.4rem;
      line-height: 1.75; }
      .applybox .flow--list p.text {
        padding-left: 6.4rem; } }
  .applybox .flow--list .colortxt {
    color: var(--green); }
  @media (max-width: 768px) {
    .applybox .flow--list:not(:last-child) {
      padding-bottom: 6.2rem; } }
  .applybox .flow--list:not(:last-child):after {
    content: "";
    position: absolute;
    width: 2.9rem;
    height: 1.7rem;
    background: url(../images/common/icon-arrow.svg) no-repeat center center/contain;
    top: 2.4rem;
    right: -2.8rem; }
    @media (max-width: 768px) {
      .applybox .flow--list:not(:last-child):after {
        transform: translateX(-50%) rotate(90deg);
        right: auto;
        left: 50%;
        bottom: 1.3rem;
        top: auto; } }
  .applybox .flow--list h4 {
    display: flex;
    align-items: center;
    gap: 2.1rem;
    margin-bottom: 1rem; }
    @media (max-width: 768px) {
      .applybox .flow--list h4 {
        padding-left: 6.4rem;
        align-items: flex-start; } }
    .applybox .flow--list h4 .icon {
      width: 100%;
      max-width: 5.8rem; }
      @media (max-width: 768px) {
        .applybox .flow--list h4 .icon {
          position: absolute;
          left: 0;
          top: 0;
          max-width: 5rem; } }
    .applybox .flow--list h4 .text {
      font-size: max(2.6rem,24px);
      font-weight: var(--fontbold);
      color: var(--green); }
      @media (max-width: 768px) {
        .applybox .flow--list h4 .text {
          font-size: 2.4rem;
          line-height: 1; } }

.daycontents {
  display: flex;
  align-items: center; }
  @media (max-width: 768px) {
    .daycontents {
      margin-bottom: 2.5rem; } }
  .daycontents .text {
    font-size: max(4rem,38px);
    font-weight: var(--fontbold);
    font-family: var(--enfont);
    position: relative;
    white-space: nowrap; }
    @media (max-width: 768px) {
      .daycontents .text {
        font-size: 3.5rem; } }
    .daycontents .text:first-of-type {
      padding-right: 5rem;
      margin-right: 1.5rem; }
      @media (max-width: 768px) {
        .daycontents .text:first-of-type {
          margin-right: 1.2rem;
          padding-right: 4.4rem; } }
      .daycontents .text:first-of-type:before {
        content: "";
        position: absolute;
        width: 2.9rem;
        height: 1.7rem;
        background: url(../images/common/icon-arrow.svg) no-repeat center center/contain;
        top: 1.9rem;
        right: 0; }
        @media (max-width: 768px) {
          .daycontents .text:first-of-type:before {
            width: 2.6rem;
            height: 1.5rem;
            top: 1.6rem; } }
    .daycontents .text .item {
      padding: 0 0.4rem; }
    .daycontents .text--tsu:after {
      content: "";
      width: 3.5rem;
      height: 3.5rem;
      background: url(../images/common/day-icon01.png) no-repeat center center/contain;
      display: inline-block;
      margin-left: 1.7rem;
      transform: translateY(0.15rem); }
      @media (max-width: 768px) {
        .daycontents .text--tsu:after {
          width: 3rem;
          height: 3rem;
          margin-left: 1.5rem; } }
    .daycontents .text--mon:after {
      content: "";
      width: 3.4rem;
      height: 3.3rem;
      background: url(../images/common/day-icon02.png) no-repeat center center/contain;
      display: inline-block;
      margin-left: 1.7rem;
      transform: translateY(0.05rem); }
      @media (max-width: 768px) {
        .daycontents .text--mon:after {
          margin-left: 0.8rem;
          width: 2.9rem;
          height: 2.9rem; } }
  .daycontents .txt {
    font-size: max(2.4rem,22px);
    font-weight: var(--fontbold);
    white-space: nowrap; }
    @media (max-width: 768px) {
      .daycontents .txt {
        font-size: 2.1rem; } }

/******************************************************************************
.overview
*******************************************************************************/
.overview--index {
  margin-bottom: 12rem; }
  @media (max-width: 768px) {
    .overview--index {
      margin-bottom: 10rem; } }
.overview .itemtxt {
  text-align: right;
  font-size: max(1.2rem,10px);
  line-height: 2.35;
  color: #231815; }
  @media (max-width: 768px) {
    .overview .itemtxt {
      text-align: center;
      font-size: 1.2rem; } }
.overview--list {
  display: flex;
  align-items: flex-start;
  gap: 1.8rem;
  margin-bottom: 6rem; }
  @media (max-width: 768px) {
    .overview--list {
      margin-bottom: 4rem;
      gap: 0; } }
  .overview--list:not(:last-child) {
    margin-bottom: 0.2rem; }
  .overview--list .text {
    font-size: max(1.8rem,16px);
    line-height: 1.7777777778;
    font-weight: var(--fontbold);
    white-space: nowrap; }
    @media (max-width: 768px) {
      .overview--list .text {
        font-size: 1.2rem;
        line-height: 1.8333333333; } }
    .overview--list .text:after {
      content: "："; }
  .overview--list .txt {
    font-size: max(1.8rem,16px);
    line-height: 1.7777777778;
    font-weight: var(--fontnomal); }
    @media (max-width: 768px) {
      .overview--list .txt {
        font-size: 1.2rem;
        line-height: 1.8333333333; } }
.overview .title {
  position: relative;
  margin-bottom: 3.5rem; }
  @media (max-width: 768px) {
    .overview .title {
      margin-bottom: 3rem;
      padding-top: 6.8rem; } }
  .overview .title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0.1rem;
    background-color: #231815; }
    @media (max-width: 768px) {
      .overview .title:before {
        content: none; } }
  .overview .title:after {
    content: "";
    position: absolute;
    width: 12.3rem;
    height: 10.3rem;
    background: url(../images/common/icon-overview.svg) no-repeat center center/contain;
    right: 2.8rem;
    bottom: -0.5rem; }
    @media (max-width: 768px) {
      .overview .title:after {
        width: 9.4rem;
        height: 7.8rem;
        right: 0;
        bottom: auto;
        top: 0; } }
  .overview .title .text {
    font-weight: var(--fontbold);
    font-size: max(2.5rem,23px);
    color: #231815;
    background-color: white;
    position: relative;
    z-index: 2;
    padding: 0 2rem 0 0; }
    @media (max-width: 768px) {
      .overview .title .text {
        font-size: 2rem;
        line-height: 1.4;
        padding: 0; } }

/******************************************************************************
.partnerbox
*******************************************************************************/
.partnerbox {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 5rem;
  margin-bottom: 4rem; }
  @media (max-width: 768px) {
    .partnerbox {
      display: block; } }
  .partnerbox--list {
    width: 100%; }
    @media (max-width: 768px) {
      .partnerbox--list:not(:last-child) {
        margin-bottom: 3.5rem; } }
    .partnerbox--list.box1 {
      max-width: calc((100% - 5rem*3) / 4); }
      @media (max-width: 768px) {
        .partnerbox--list.box1 {
          max-width: none; } }
    .partnerbox--list.box2 {
      max-width: calc((100% - 5rem) / 2); }
      @media (max-width: 768px) {
        .partnerbox--list.box2 {
          max-width: none; } }
      .partnerbox--list.box2 .caps {
        justify-content: center; }
    .partnerbox--list.box3 {
      max-width: calc((100% - 5rem - 38.4rem)); }
      @media (max-width: 768px) {
        .partnerbox--list.box3 {
          max-width: none; } }
    .partnerbox--list.box4 {
      max-width: 38.4rem; }
      @media (max-width: 768px) {
        .partnerbox--list.box4 {
          max-width: none; } }
    .partnerbox--list .caps {
      display: flex;
      gap: 6rem;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap; }
      @media (max-width: 768px) {
        .partnerbox--list .caps {
          display: block; } }
    .partnerbox--list .cap {
      height: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 9rem; }
      @media (max-width: 768px) {
        .partnerbox--list .cap {
          max-width: none;
          display: block;
          text-align: center;
          min-height: inherit; }
          .partnerbox--list .cap:not(:last-of-type) {
            margin-bottom: 2.5rem; } }
  .partnerbox--title {
    position: relative;
    margin-bottom: 2.5rem; }
    @media (max-width: 768px) {
      .partnerbox--title {
        margin-bottom: 3rem; } }
    .partnerbox--title:before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 100%;
      height: 1px;
      border-top: 1px dashed #231815; }
    .partnerbox--title .text {
      position: relative;
      z-index: 2;
      font-size: max(1.8rem,16px);
      font-weight: var(--fontbold);
      color: 231815;
      padding: 0 1.3rem 0 0;
      background-color: white;
      display: inline-block; }
      @media (max-width: 768px) {
        .partnerbox--title .text {
          font-size: 1.6rem;
          padding: 0 0.8rem 0 0; } }

/******************************************************************************
.pagecontentsheader
*******************************************************************************/
.pagecontentsheader {
  height: max(28rem,270px);
  background-color: var(--bgcolor);
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 7.7rem; }
  @media (max-width: 768px) {
    .pagecontentsheader {
      height: 16rem;
      margin-bottom: 4.5rem; } }
  .pagecontentsheader:before {
    content: "";
    position: absolute;
    width: 39.8rem;
    height: 100%;
    top: 0;
    right: 3.3rem;
    background: url(../images/common/bg-header.png) no-repeat center right/contain; }
    @media (max-width: 768px) {
      .pagecontentsheader:before {
        background: url(../images/common/bg-header_sp.png) no-repeat center right/contain;
        width: 5.3rem;
        height: 5.3rem;
        top: auto;
        bottom: 0;
        right: 1.5rem; } }
  .pagecontentsheader:after {
    content: "";
    position: absolute;
    width: 15.6rem;
    height: 10.6rem;
    background: url(../images/common/bg-header-item.png) no-repeat center center/contain;
    top: 50%;
    transform: translateY(-50%);
    right: 49.3rem; }
    @media (max-width: 768px) {
      .pagecontentsheader:after {
        width: 3.2rem;
        height: 2.1rem;
        right: 7.6rem;
        bottom: 1.1rem;
        top: auto;
        transform: translateY(0); } }
  .pagecontentsheader .title {
    padding-left: 6rem; }
    @media (max-width: 768px) {
      .pagecontentsheader .title {
        padding-left: 0; } }
    .pagecontentsheader .title .text {
      font-size: max(4rem,38px);
      font-weight: var(--fontbold);
      color: var(--green);
      line-height: 1.3;
      display: block;
      margin-bottom: 1rem; }
      @media (max-width: 768px) {
        .pagecontentsheader .title .text {
          font-size: 2.4rem;
          line-height: 1;
          text-align: center; } }
    .pagecontentsheader .title .entxt {
      font-size: max(1.2rem,10px);
      font-family: var(--enfont);
      font-weight: var(--fontbold);
      color: var(--green);
      letter-spacing: .05em;
      display: block; }
      @media (max-width: 768px) {
        .pagecontentsheader .title .entxt {
          font-size: 1rem; } }

/******************************************************************************
.pagecontents
*******************************************************************************/
.pagecontents {
  margin-bottom: max(12.5rem,123px); }
  @media (max-width: 768px) {
    .pagecontents {
      margin-bottom: 9.5rem; } }

/******************************************************************************
page-entry
*******************************************************************************/
#page-entry .topbox {
  margin-bottom: 8rem; }
  @media (max-width: 768px) {
    #page-entry .topbox {
      margin-bottom: 8.8rem; } }
  #page-entry .topbox .moviebox {
    position: relative;
    aspect-ratio: 568 / 315;
    object-fit: cover;
    width: 100%;
    max-width: 56.8rem; }
    @media (max-width: 768px) {
      #page-entry .topbox .moviebox {
        max-width: none;
        aspect-ratio: 325/180; } }
    #page-entry .topbox .moviebox iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
  #page-entry .topbox .headbox {
    font-size: max(2rem,18px);
    line-height: 2.1;
    font-weight: var(--basefont);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 9.8rem; }
    @media (max-width: 768px) {
      #page-entry .topbox .headbox {
        display: block;
        font-size: 1.4rem;
        line-height: 2;
        margin-bottom: 5.7rem; }
        #page-entry .topbox .headbox .box {
          margin-bottom: 2.2rem; } }
    #page-entry .topbox .headbox .lead {
      font-weight: var(--fontbold); }
    #page-entry .topbox .headbox h2 {
      color: var(--green);
      font-size: max(3.2rem,30px);
      line-height: 1.625;
      font-weight: var(--fontbold);
      margin-bottom: 3rem; }
      @media (max-width: 768px) {
        #page-entry .topbox .headbox h2 {
          font-size: 2.4rem;
          line-height: 1.6666666667;
          margin-bottom: 1rem; } }
      #page-entry .topbox .headbox h2 .item {
        color: var(--blue); }
  #page-entry .topbox .bottom {
    margin-bottom: 9rem; }
    @media (max-width: 768px) {
      #page-entry .topbox .bottom {
        border-top: 1px solid var(--green);
        padding-top: 3.5rem;
        margin-bottom: 3rem; } }
    #page-entry .topbox .bottom h3 {
      position: relative;
      margin-bottom: 1.5rem; }
      @media (max-width: 768px) {
        #page-entry .topbox .bottom h3 {
          margin-bottom: 3.5rem; } }
      #page-entry .topbox .bottom h3:before {
        content: "";
        position: absolute;
        left: 0;
        bottom: 1rem;
        width: 100%;
        height: 1px;
        background-color: var(--green); }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom h3:before {
            content: none; } }
      #page-entry .topbox .bottom h3 .title {
        background-color: white;
        position: relative;
        z-index: 2;
        display: inline-block;
        color: var(--green);
        font-size: max(2.4rem,22px);
        font-weight: var(--fontbold);
        padding-right: 1.5rem; }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom h3 .title {
            font-size: 2rem;
            padding-right: 0;
            display: block; } }
        #page-entry .topbox .bottom h3 .title .txt {
          font-size: max(1.6rem,14px);
          padding-left: 2rem; }
          @media (max-width: 768px) {
            #page-entry .topbox .bottom h3 .title .txt {
              padding-left: 0;
              font-size: 1.4rem;
              display: block;
              padding-top: 0.5rem; } }
    #page-entry .topbox .bottom .checklist li {
      font-size: max(1.6rem,14px);
      line-height: 1.5; }
      #page-entry .topbox .bottom .checklist li:not(:last-child) {
        margin-bottom: 1.2rem; }
    #page-entry .topbox .bottom .box {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      position: relative; }
      @media (max-width: 768px) {
        #page-entry .topbox .bottom .box {
          display: block; } }
      #page-entry .topbox .bottom .box:after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 1px;
        height: 100%;
        background-color: var(--green);
        top: 0; }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom .box:after {
            content: none; } }
    #page-entry .topbox .bottom .detailbox {
      width: 100%;
      max-width: 54rem;
      position: relative; }
      @media (max-width: 768px) {
        #page-entry .topbox .bottom .detailbox {
          max-width: none; } }
      #page-entry .topbox .bottom .detailbox .banner {
        display: flex;
        align-items: flex-start;
        justify-content: space-between; }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom .detailbox .banner {
            margin-bottom: 4rem; } }
        #page-entry .topbox .bottom .detailbox .banner .itembox {
          display: flex;
          align-items: flex-start;
          width: 100%;
          justify-content: space-between;
          max-width: 24.6rem; }
          @media (max-width: 768px) {
            #page-entry .topbox .bottom .detailbox .banner .itembox {
              max-width: none;
              width: calc((100% - 2.5rem) / 2); }
              #page-entry .topbox .bottom .detailbox .banner .itembox:nth-of-type(1) {
                justify-content: flex-end; }
              #page-entry .topbox .bottom .detailbox .banner .itembox:nth-of-type(2) {
                justify-content: flex-start; } }
          #page-entry .topbox .bottom .detailbox .banner .itembox dl {
            padding-top: 0.5rem; }
            #page-entry .topbox .bottom .detailbox .banner .itembox dl .icon {
              width: 100%;
              max-width: 5.5rem;
              margin: 0 auto 2.2rem; }
              @media (max-width: 768px) {
                #page-entry .topbox .bottom .detailbox .banner .itembox dl .icon {
                  max-width: 8.1rem;
                  margin-bottom: 1rem; } }
            #page-entry .topbox .bottom .detailbox .banner .itembox dl dd {
              font-size: max(1.4rem,12px);
              font-weight: var(--fontbold);
              line-height: 1.5;
              text-align: center;
              color: #231815; }
              @media (max-width: 768px) {
                #page-entry .topbox .bottom .detailbox .banner .itembox dl dd {
                  font-size: 1.4rem; } }
          #page-entry .topbox .bottom .detailbox .banner .itembox .bar {
            width: 100%;
            max-width: 14.7rem; }
            @media (max-width: 768px) {
              #page-entry .topbox .bottom .detailbox .banner .itembox .bar {
                display: none; } }
      #page-entry .topbox .bottom .detailbox p.txt {
        font-weight: var(--fontbold);
        color: var(--green);
        font-size: max(1.8rem,16px);
        line-height: 1.535;
        padding-top: 0.5rem;
        margin-bottom: 2.5rem; }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom .detailbox p.txt {
            text-align: center;
            font-size: 1.8rem;
            padding-top: 0; } }
      #page-entry .topbox .bottom .detailbox .txt-tel {
        font-size: max(1.4rem,12px);
        font-weight: var(--fontbold);
        position: absolute;
        right: 0;
        top: 0; }
        @media (max-width: 768px) {
          #page-entry .topbox .bottom .detailbox .txt-tel {
            position: inherit;
            right: auto;
            top: auto;
            text-align: center;
            font-size: 1.4rem; }
            #page-entry .topbox .bottom .detailbox .txt-tel .itemtext {
              display: block; } }
        #page-entry .topbox .bottom .detailbox .txt-tel .item-tel {
          font-size: max(2.4rem,22px);
          padding: 0 0.8rem 0 0.7rem; }
          @media (max-width: 768px) {
            #page-entry .topbox .bottom .detailbox .txt-tel .item-tel {
              font-size: 2.4rem;
              padding-right: 0; } }
    @media (max-width: 768px) {
      #page-entry .topbox .bottom .textbox {
        margin-bottom: 4.5rem; } }
    #page-entry .topbox .bottom .textbox .lead {
      font-size: max(1.8rem,16px);
      line-height: 1.535;
      color: var(--green);
      font-weight: var(--fontbold);
      margin-bottom: 2rem; }
      @media (max-width: 768px) {
        #page-entry .topbox .bottom .textbox .lead {
          font-size: 1.6rem;
          line-height: 1.726875; } }
    @media (max-width: 768px) {
      #page-entry .topbox .bottom .textbox .checklist li:not(:last-child) {
        margin-bottom: 2.5rem; } }

/******************************************************************************
.experiences
*******************************************************************************/
.experiences--page .contentstitle {
  margin-bottom: 5.5rem; }
  @media (max-width: 768px) {
    .experiences--page .contentstitle {
      margin-bottom: 3rem; } }
.experiences--page .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3rem;
  position: relative; }
  .experiences--page .list:before {
    content: "";
    position: absolute;
    width: 5.5rem;
    height: 7.1rem;
    background: url(../images/common/icon-item04.svg) no-repeat center center/contain;
    right: 2.7rem;
    top: -5.7rem;
    z-index: 2; }
    @media (max-width: 768px) {
      .experiences--page .list:before {
        right: 4rem;
        top: -17.8rem; } }
  @media (max-width: 768px) {
    .experiences--page .list {
      display: block; } }
  .experiences--page .list .box {
    max-width: calc((100% - 3rem ) / 2); }
    @media (max-width: 768px) {
      .experiences--page .list .box {
        max-width: none; }
        .experiences--page .list .box:not(:last-child) {
          margin-bottom: 1rem; } }
.experiences--list {
  width: 100%;
  background-color: var(--bgcolor);
  border-radius: 1rem;
  min-height: 14rem;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding-left: 4rem;
  padding-right: 3rem; }
  @media (max-width: 768px) {
    .experiences--list {
      min-height: inherit;
      padding-left: 2.5rem;
      padding-right: 0;
      min-height: inherit;
      display: block;
      padding-top: 2rem;
      padding-bottom: 2.5rem; } }
  .experiences--list .title {
    width: 100%;
    max-width: 19rem; }
    .experiences--list .title .text {
      font-size: max(2rem,18px);
      color: var(--green);
      font-weight: var(--fontbold);
      line-height: 1.3815;
      white-space: nowrap; }
      @media (max-width: 768px) {
        .experiences--list .title .text {
          font-size: 1.8rem;
          line-height: 1.7777777778;
          margin-bottom: 1.1rem; } }
  .experiences--list .textbox {
    width: calc(100% - 19rem); }
    @media (max-width: 768px) {
      .experiences--list .textbox {
        width: 100%; } }
    .experiences--list .textbox .txt {
      font-size: max(1.6rem,14px);
      color: #231815;
      font-weight: var(--fontbold);
      line-height: 2; }
      @media (max-width: 768px) {
        .experiences--list .textbox .txt {
          font-size: 1.4rem;
          line-height: 2.2857142857;
          margin-bottom: 0.5rem; } }

/******************************************************************************
.process
*******************************************************************************/
.process--page {
  margin-bottom: 13rem; }
  @media (max-width: 768px) {
    .process--page {
      margin-bottom: 14rem; } }
  .process--page .contentstitle {
    margin-bottom: 4rem; }
    @media (max-width: 768px) {
      .process--page .contentstitle {
        margin-bottom: 3.5rem; } }
  .process--page .step {
    display: flex;
    justify-content: center; }
.process .inner:before {
  content: "";
  position: absolute;
  width: 9.4rem;
  height: 4.6rem;
  background: url(../images/common/icon-item03.png) no-repeat center center/contain;
  left: -3rem;
  top: 1rem; }
  @media (max-width: 768px) {
    .process .inner:before {
      width: 5.5rem;
      height: 3rem;
      left: -1rem;
      top: -1rem; } }
.process .step {
  margin-bottom: 4.5rem; }
  @media (max-width: 768px) {
    .process .step {
      padding-bottom: 4rem;
      border-bottom: 1px solid #231815; } }
  .process .step--list {
    display: flex;
    align-items: flex-start;
    gap: 2rem; }
    .process .step--list:not(:last-child) {
      margin-bottom: 2.5rem; }
      @media (max-width: 768px) {
        .process .step--list:not(:last-child) {
          margin-bottom: 4rem; } }
    @media (max-width: 768px) {
      .process .step--list {
        display: block; } }
    .process .step--list .txt {
      font-size: max(2.2rem,20px);
      color: var(--green);
      font-weight: var(--fontbold);
      line-height: 1.7272727273;
      letter-spacing: 0.022rem; }
      @media (max-width: 768px) {
        .process .step--list .txt {
          text-align: center;
          font-size: 1.8rem;
          line-height: 1.6666666667; } }
    .process .step--list .title {
      width: 12rem;
      height: 3rem;
      border-radius: 1.5rem;
      border: 1px solid var(--green);
      display: flex;
      justify-content: center;
      align-items: center;
      color: var(--green);
      font-size: max(1.6rem,14px);
      font-family: var(--enfont);
      font-weight: var(--fontbold); }
      @media (max-width: 768px) {
        .process .step--list .title {
          margin: 0 auto 2rem;
          font-size: 1.6rem; } }
.process .processflow {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .process .processflow {
      display: block; } }
  .process .processflow--list {
    width: 100%;
    font-size: max(1.6rem,14px);
    font-weight: var(--fontbold);
    line-height: 1.5;
    color: #231815;
    position: relative;
    padding: 3rem 0 2rem;
    box-sizing: border-box; }
    @media (max-width: 768px) {
      .process .processflow--list {
        padding: 0; } }
    .process .processflow--list:nth-child(1), .process .processflow--list:nth-child(3) {
      max-width: 39rem; }
      @media (max-width: 768px) {
        .process .processflow--list:nth-child(1), .process .processflow--list:nth-child(3) {
          max-width: none; } }
    .process .processflow--list:nth-child(2) {
      max-width: 42rem; }
      @media (max-width: 768px) {
        .process .processflow--list:nth-child(2) {
          max-width: none; } }
    .process .processflow--list:not(:last-child) {
      border-right: 1px solid  #231815; }
      @media (max-width: 768px) {
        .process .processflow--list:not(:last-child) {
          border-right: none;
          border-bottom: 1px solid #231815;
          padding-bottom: 5.5rem;
          margin-bottom: 5.5rem; } }
    .process .processflow--list .title {
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 13rem;
      margin-bottom: 2rem; }
      @media (max-width: 768px) {
        .process .processflow--list .title {
          display: block;
          min-height: inherit; } }
      .process .processflow--list .title .icon {
        width: 100%;
        margin: auto; }
        @media (max-width: 768px) {
          .process .processflow--list .title .icon {
            display: block; } }
      .process .processflow--list .title .txt {
        text-align: center;
        font-size: max(2rem,18px);
        font-weight: var(--fontbold);
        margin-top: auto;
        line-height: 2.1; }
        @media (max-width: 768px) {
          .process .processflow--list .title .txt {
            font-size: 2rem; } }
    .process .processflow--list .listbox li {
      display: flex;
      align-items: flex-start;
      gap: 4rem;
      position: relative; }
      @media (max-width: 768px) {
        .process .processflow--list .listbox li {
          display: block; } }
      .process .processflow--list .listbox li:not(:last-child):after {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: 1.7rem;
        height: 2.3rem;
        background: url(../images/entry/arrow.svg) no-repeat center center/contain;
        bottom: 0; }
    .process .processflow--list .listbox .number {
      font-size: max(6rem,58px);
      font-weight: var(--fontbold);
      font-family: var(--enfont);
      line-height: 1; }
      @media (max-width: 768px) {
        .process .processflow--list .listbox .number {
          display: block;
          font-size: 4rem;
          text-align: center;
          margin-bottom: 1.5rem; } }
    .process .processflow--list .listbox h3 {
      font-size: max(1.8rem,16px);
      line-height: 1.6666666667;
      font-weight: var(--fontbold); }
      @media (max-width: 768px) {
        .process .processflow--list .listbox h3 {
          text-align: center;
          font-size: 1.8rem; } }
    .process .processflow--list .listbox dl .icon {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 2rem; }
      .process .processflow--list .listbox dl .icon--movie {
        max-width: 6.5rem; }
      .process .processflow--list .listbox dl .icon--form {
        max-width: 5.8rem; }
    @media (max-width: 768px) {
      .process .processflow--list .listbox dl dd {
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.5; } }
    .process .processflow--list.line .icon {
      max-width: 8.7rem; }
      @media (max-width: 768px) {
        .process .processflow--list.line .icon {
          margin-bottom: 0.5rem; } }
    .process .processflow--list.line .textbox {
      padding-top: 2.5rem;
      position: relative; }
      @media (max-width: 768px) {
        .process .processflow--list.line .textbox {
          padding-top: 0; } }
    .process .processflow--list.line .listbox li:nth-child(1) {
      padding-bottom: 4rem; }
      @media (max-width: 768px) {
        .process .processflow--list.line .listbox li:nth-child(1) {
          margin-bottom: 2.5rem; } }
    .process .processflow--list.line .listbox li:nth-child(2) {
      padding-bottom: 7rem; }
      .process .processflow--list.line .listbox li:nth-child(2) h3 {
        margin-bottom: 2rem; }
      @media (max-width: 768px) {
        .process .processflow--list.line .listbox li:nth-child(2) {
          padding-bottom: 6rem;
          margin-bottom: 2.5rem; } }
    .process .processflow--list.line .listbox li:nth-child(3) h3 {
      margin-bottom: 2.5rem; }
    .process .processflow--list.line .cap {
      width: 100%;
      max-width: 27rem;
      padding-top: 3rem;
      transform: translateX(-1.2rem); }
      @media (max-width: 768px) {
        .process .processflow--list.line .cap {
          max-width: 26rem;
          transform: translateX(0);
          padding-top: 2rem;
          margin: auto; } }
    .process .processflow--list.line .colortxt {
      color: var(--linecolor); }
    .process .processflow--list.youtube {
      padding-left: 4.5rem;
      box-sizing: border-box; }
      @media (max-width: 768px) {
        .process .processflow--list.youtube {
          padding-left: 0;
          text-align: center; } }
      .process .processflow--list.youtube .textbox {
        position: relative; }
      .process .processflow--list.youtube h3 {
        padding-top: 1.4rem;
        line-height: 1; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube h3 {
            padding-top: 0; } }
      .process .processflow--list.youtube .mintxt {
        font-size: max(1.2rem,10px);
        line-height: 2.5;
        margin-bottom: 1.2rem; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .mintxt {
            text-align: center;
            font-size: 1.2rem; } }
      .process .processflow--list.youtube .cap {
        width: 100%;
        max-width: 24.2rem;
        margin-bottom: 1.5rem; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .cap {
            margin: 0 auto 1.5rem; } }
      .process .processflow--list.youtube .icon {
        max-width: 21.4rem; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .icon {
            margin-bottom: 2rem; } }
      .process .processflow--list.youtube .colortxt {
        color: var(--youtubecolor); }
      .process .processflow--list.youtube .listbox li:nth-child(1) {
        padding-bottom: 4rem; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .listbox li:nth-child(1) {
            padding-bottom: 5rem;
            margin-bottom: 2rem; } }
      .process .processflow--list.youtube .listbox li:nth-child(2) {
        padding-bottom: 6rem;
        margin-bottom: 1rem; }
        .process .processflow--list.youtube .listbox li:nth-child(2) h3 {
          padding-top: 1.6rem;
          margin-bottom: 2rem; }
          @media (max-width: 768px) {
            .process .processflow--list.youtube .listbox li:nth-child(2) h3 {
              padding-top: 0;
              margin-bottom: 1.5rem; } }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .listbox li:nth-child(2) {
            padding-bottom: 5rem;
            margin-bottom: 1.5rem; } }
      .process .processflow--list.youtube .listbox li:nth-child(3) h3 {
        padding-top: 1.6rem;
        margin-bottom: 2.5rem; }
        @media (max-width: 768px) {
          .process .processflow--list.youtube .listbox li:nth-child(3) h3 {
            padding-top: 0; } }
    .process .processflow--list.dropbox {
      padding-left: 4.5rem;
      text-align: left;
      box-sizing: border-box; }
      @media (max-width: 768px) {
        .process .processflow--list.dropbox {
          padding-left: 0;
          text-align: center; } }
      .process .processflow--list.dropbox .colortxt {
        color: #007EE5; }
      .process .processflow--list.dropbox .icon {
        max-width: 24.1rem; }
      .process .processflow--list.dropbox .listbox .mintext {
        font-size: max(1.2rem,10px);
        line-height: 2;
        font-weight: 500;
        padding-top: 3rem;
        text-align: left; }
      .process .processflow--list.dropbox .listbox li {
        gap: 2.5rem; }
        .process .processflow--list.dropbox .listbox li:nth-child(1) {
          padding-bottom: 4rem; }
          @media (max-width: 768px) {
            .process .processflow--list.dropbox .listbox li:nth-child(1) {
              padding-bottom: 5rem;
              margin-bottom: 2rem; } }
        .process .processflow--list.dropbox .listbox li:nth-child(2) {
          padding-bottom: 6rem;
          margin-bottom: 1rem; }
          .process .processflow--list.dropbox .listbox li:nth-child(2) h3 {
            padding-top: 1.6rem;
            margin-bottom: 2rem; }
            @media (max-width: 768px) {
              .process .processflow--list.dropbox .listbox li:nth-child(2) h3 {
                padding-top: 0;
                margin-bottom: 1.5rem; } }
          .process .processflow--list.dropbox .listbox li:nth-child(2) .colortxt {
            padding-top: 1.6rem; }
          @media (max-width: 768px) {
            .process .processflow--list.dropbox .listbox li:nth-child(2) {
              padding-bottom: 5rem;
              margin-bottom: 1.5rem; } }
        .process .processflow--list.dropbox .listbox li:nth-child(3) h3 {
          padding-top: 1.6rem;
          margin-bottom: 2.5rem; }
          @media (max-width: 768px) {
            .process .processflow--list.dropbox .listbox li:nth-child(3) h3 {
              padding-top: 0; } }

/******************************************************************************
.benefits
*******************************************************************************/
.benefits--page {
  margin-bottom: 13rem; }
  @media (max-width: 768px) {
    .benefits--page {
      margin-bottom: 10rem; } }
  .benefits--page .contentstitle {
    margin-bottom: 5rem; }
    @media (max-width: 768px) {
      .benefits--page .contentstitle {
        margin-bottom: 3.5rem; } }
  .benefits--page .box {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 15rem;
    position: relative; }
    @media (max-width: 768px) {
      .benefits--page .box {
        display: block; } }
    .benefits--page .box:before {
      content: "";
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      width: 1px;
      height: 100%;
      background-color: var(--green); }
      @media (max-width: 768px) {
        .benefits--page .box:before {
          content: none; } }
.benefits--box {
  width: 100%;
  max-width: 53rem;
  box-sizing: border-box; }
  @media (max-width: 768px) {
    .benefits--box {
      max-width: none; } }
  .benefits--box:nth-of-type(1) {
    padding-left: 5rem; }
    @media (max-width: 768px) {
      .benefits--box:nth-of-type(1) {
        padding-left: 0;
        margin-bottom: 4.5rem; } }
  .benefits--box h3 {
    font-weight: var(--fontbold);
    color: var(--green);
    font-size: max(1.8rem,16px);
    line-height: 1.5333333333;
    margin-bottom: 2.2rem; }
    @media (max-width: 768px) {
      .benefits--box h3 {
        font-size: 1.8rem;
        line-height: 1.7777777778;
        margin-bottom: 2rem; } }

/******************************************************************************
.moviecontents
*******************************************************************************/
.moviecontents .contentstitle .title {
  margin-bottom: 6rem; }
  @media (max-width: 768px) {
    .moviecontents .contentstitle .title {
      margin-bottom: 4rem; } }

/******************************************************************************
.applicationdetails
*******************************************************************************/
.applicationdetails {
  background-color: var(--bgcolor);
  padding: 11.5rem 0 12rem; }
  @media (max-width: 768px) {
    .applicationdetails {
      padding: 7rem 0 5.5rem; } }
  .applicationdetails .inner:before {
    content: "";
    width: 12.1rem;
    height: 8rem;
    position: absolute;
    background: url(../images/common/icon-item01.png) no-repeat center center/contain;
    left: -5rem;
    top: -15.7rem; }
    @media (max-width: 768px) {
      .applicationdetails .inner:before {
        width: 10rem;
        height: 6.8rem;
        left: 3.3rem;
        top: -9rem; } }
  .applicationdetails .inner:after {
    content: "";
    width: 12.2rem;
    height: 10.7rem;
    position: absolute;
    background: url(../images/common/icon-item02.svg) no-repeat center center/contain;
    right: 5.5rem;
    bottom: -19rem; }
    @media (max-width: 768px) {
      .applicationdetails .inner:after {
        width: 7.6rem;
        height: 6.8rem;
        right: 3rem;
        bottom: -8rem; } }
  .applicationdetails--page {
    margin-bottom: 8rem; }
    @media (max-width: 768px) {
      .applicationdetails--page {
        margin-bottom: 6rem; } }
  .applicationdetails .box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .applicationdetails .box {
        display: block; } }
  .applicationdetails--list {
    width: 100%;
    max-width: calc((100% - 7.6rem) / 2); }
    @media (max-width: 768px) {
      .applicationdetails--list {
        max-width: none; }
        .applicationdetails--list:first-of-type {
          margin-bottom: 4.5rem; } }
    .applicationdetails--list .itembox--theme {
      margin-bottom: 5rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--theme {
          margin-bottom: 3rem; } }
      .applicationdetails--list .itembox--theme h3 {
        margin-bottom: 4rem; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--theme h3 {
            margin-bottom: 3rem; } }
      .applicationdetails--list .itembox--theme p {
        text-align: center;
        font-size: max(2.6rem,24px);
        font-weight: var(--fontbold);
        color: var(--green);
        line-height: 1.75; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--theme p {
            font-size: 2.4rem;
            line-height: 1.75; } }
    .applicationdetails--list .itembox--period {
      margin-bottom: 5.5rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--period {
          margin-bottom: 4rem; } }
      .applicationdetails--list .itembox--period h3 {
        margin-bottom: 3.5rem; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--period h3 {
            margin-bottom: 2rem; } }
      .applicationdetails--list .itembox--period .daycontents {
        justify-content: center; }
    .applicationdetails--list .itembox--qualification h3 {
      margin-bottom: 2.2rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--qualification h3 {
          margin-bottom: 1.5rem; } }
    .applicationdetails--list .itembox--qualification .txt {
      font-weight: var(--fontbold);
      font-size: max(1.8rem,16px);
      line-height: 1.75;
      margin-bottom: 0.5rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--qualification .txt {
          font-size: 1.6rem;
          line-height: 1.75; } }
    .applicationdetails--list .itembox--qualification .mintxt {
      font-size: max(1.4rem,12px);
      line-height: 1.75; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--qualification .mintxt {
          font-size: 1.2rem;
          line-height: 1.8808333333; } }
    .applicationdetails--list .itembox--regulations {
      margin-bottom: 4rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--regulations {
          margin-bottom: 5rem; } }
      .applicationdetails--list .itembox--regulations h3 {
        margin-bottom: 2rem; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--regulations h3 {
            margin-bottom: 1.5rem; } }
      .applicationdetails--list .itembox--regulations .checklist {
        padding-left: 0.7rem; }
      .applicationdetails--list .itembox--regulations li {
        color: var(--green);
        font-size: max(1.8rem,16px);
        line-height: 1.75; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--regulations li {
            font-size: 1.6rem;
            line-height: 1.75; } }
    .applicationdetails--list .itembox--standard h3 {
      margin-bottom: 2rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--standard h3 {
          margin-bottom: 1.5rem; } }
    .applicationdetails--list .itembox--standard .box {
      justify-content: flex-start;
      gap: 7rem;
      margin-bottom: 1.5rem;
      padding-left: 0.7rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--standard .box {
          display: block; } }
      .applicationdetails--list .itembox--standard .box li {
        color: var(--green);
        font-size: max(1.8rem,16px);
        line-height: 1.75; }
        @media (max-width: 768px) {
          .applicationdetails--list .itembox--standard .box li {
            font-size: 1.6rem;
            line-height: 1.75; } }
    .applicationdetails--list .itembox--standard .itemtxt {
      position: relative;
      font-size: max(1.4rem,12px);
      line-height: 1.75;
      padding-left: 2rem; }
      @media (max-width: 768px) {
        .applicationdetails--list .itembox--standard .itemtxt {
          font-size: 1.2rem;
          line-height: 2;
          padding-left: 1.5rem; } }
      .applicationdetails--list .itembox--standard .itemtxt:before {
        content: "※";
        position: absolute;
        left: 0;
        top: 0; }
    .applicationdetails--list h3 {
      position: relative; }
      .applicationdetails--list h3:before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 100%;
        height: 1px;
        background-color: var(--green); }
      .applicationdetails--list h3 .title {
        display: inline-block;
        background-color: var(--bgcolor);
        font-size: max(2.4rem,22px);
        line-height: 1.1666666667;
        color: var(--green);
        font-weight: var(--fontbold);
        position: relative;
        z-index: 2;
        padding-right: 0.9rem; }
        @media (max-width: 768px) {
          .applicationdetails--list h3 .title {
            font-size: 2rem;
            line-height: 1.4; } }

/******************************************************************************
.finalist
*******************************************************************************/
.finalist h3 {
  font-size: max(2.4rem,22px);
  font-weight: var(--fontbold);
  color: var(--blue);
  line-height: 1.1666666667;
  text-align: center;
  margin-bottom: 2rem; }
  @media (max-width: 768px) {
    .finalist h3 {
      font-size: 2rem;
      line-height: 1.4; } }
.finalist .box {
  display: flex;
  align-items: flex-start; }
  @media (max-width: 768px) {
    .finalist .box {
      display: block; } }
.finalist--list {
  width: 100%;
  max-width: calc(100% / 2);
  text-align: center; }
  @media (max-width: 768px) {
    .finalist--list {
      max-width: none; }
      .finalist--list:not(:last-of-type) {
        margin-bottom: 3.8rem; } }
  .finalist--list:first-of-type {
    position: relative; }
    .finalist--list:first-of-type:after {
      content: "";
      position: absolute;
      right: 0;
      top: 0;
      width: 1px;
      height: 100%;
      background-color: #231815; }
      @media (max-width: 768px) {
        .finalist--list:first-of-type:after {
          content: none; } }
  .finalist--list h4 {
    font-size: max(2rem,18px);
    font-weight: var(--fontbold);
    background-color: var(--blue);
    text-align: center;
    color: white;
    line-height: 1.4;
    padding: 1rem 0;
    border-top: 1px solid #231815;
    border-bottom: 1px solid #231815; }
    @media (max-width: 768px) {
      .finalist--list h4 {
        font-size: 1.8rem;
        line-height: 1.5555555556; } }
  .finalist--list ul li {
    font-size: max(1.7rem,15px);
    line-height: 2.9411764706;
    border-bottom: 1px solid #969696;
    box-sizing: border-box; }
    @media (max-width: 768px) {
      .finalist--list ul li {
        font-size: 1.4rem;
        line-height: 2.8571428571; } }
    .finalist--list ul li:last-child {
      border-bottom: 1px solid #231815; }

/******************************************************************************
.awardexplanation
*******************************************************************************/
.awardexplanation {
  margin-bottom: 8rem; }
  @media (max-width: 768px) {
    .awardexplanation {
      margin-bottom: 6rem; } }
  .awardexplanation--list:not(:last-of-type) {
    margin-bottom: 11rem; }
    @media (max-width: 768px) {
      .awardexplanation--list:not(:last-of-type) {
        margin-bottom: 6rem; } }
  .awardexplanation--list .title {
    font-size: max(2.4rem,22px);
    color: var(--blue);
    line-height: 1.1666666667;
    margin-bottom: 3.2rem;
    font-weight: var(--fontbold); }
    @media (max-width: 768px) {
      .awardexplanation--list .title {
        font-size: 2rem;
        line-height: 1.4;
        margin-bottom: 2rem; } }
  .awardexplanation--list .box {
    display: flex;
    align-items: flex-start;
    justify-content: space-between; }
    @media (max-width: 768px) {
      .awardexplanation--list .box {
        display: block; } }
    .awardexplanation--list .box .textbox {
      width: 100%;
      max-width: calc(100% - 6rem - 36rem);
      font-size: max(1.6rem,14px);
      line-height: 2;
      font-weight: 500; }
      @media (max-width: 768px) {
        .awardexplanation--list .box .textbox {
          max-width: none;
          font-size: 1.4rem;
          line-height: 1.8571428571;
          margin-bottom: 2rem; } }
      .awardexplanation--list .box .textbox p.txt {
        text-align: justify; }
      .awardexplanation--list .box .textbox--item {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 6.2rem; }
        @media (max-width: 768px) {
          .awardexplanation--list .box .textbox--item {
            display: block; } }
        .awardexplanation--list .box .textbox--item .itembox {
          width: 100%;
          max-width: 35.7rem; }
          @media (max-width: 768px) {
            .awardexplanation--list .box .textbox--item .itembox {
              max-width: none;
              margin-bottom: 1.5rem; } }
        .awardexplanation--list .box .textbox--item .moviebox {
          width: 100%;
          max-width: 36rem;
          position: relative;
          aspect-ratio: 360 / 202;
          object-fit: cover; }
          @media (max-width: 768px) {
            .awardexplanation--list .box .textbox--item .moviebox {
              max-width: none;
              aspect-ratio: 323/181; } }
          .awardexplanation--list .box .textbox--item .moviebox iframe {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%; }
      .awardexplanation--list .box .textbox dl {
        margin-bottom: 4rem; }
        @media (max-width: 768px) {
          .awardexplanation--list .box .textbox dl {
            margin-bottom: 2.4rem; } }
        .awardexplanation--list .box .textbox dl dt {
          position: relative; }
          .awardexplanation--list .box .textbox dl dt:before {
            content: "▼"; }
    .awardexplanation--list .box .cap {
      width: 100%;
      max-width: 36rem; }
      @media (max-width: 768px) {
        .awardexplanation--list .box .cap {
          max-width: none; } }
      .awardexplanation--list .box .cap img {
        width: 100%;
        height: 100%;
        border-radius: 2rem;
        aspect-ratio: 360 / 270;
        object-fit: contain;
        object-position: center top; }
        @media (max-width: 768px) {
          .awardexplanation--list .box .cap img {
            aspect-ratio: 323/242;
            border-radius: 1.8rem; } }

/******************************************************************************
.page-organisation-profile
*******************************************************************************/
.profile--topbox {
  margin-bottom: 12rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .profile--topbox {
      display: block;
      margin-bottom: 4.5rem; } }
  .profile--topbox .cap {
    width: 100%;
    max-width: 19.5rem; }
    @media (max-width: 768px) {
      .profile--topbox .cap {
        max-width: 29.6rem;
        margin: auto; } }
  .profile--topbox .textbox {
    width: 100%;
    max-width: calc(100% - 19.5rem - 10.3rem);
    font-size: max(1.6rem,14px);
    line-height: 2;
    color: var(--blue);
    font-weight: var(--fontbold);
    text-align: justify; }
    @media (max-width: 768px) {
      .profile--topbox .textbox {
        max-width: none;
        margin-bottom: 4rem;
        font-size: 1.4rem;
        line-height: 1.8571428571; } }

/******************************************************************************
.executive
*******************************************************************************/
.executive {
  padding: 0 3.5rem;
  position: relative; }
  .executive:before {
    content: "";
    width: 11.4rem;
    height: 9.5rem;
    background: url(../images/organisation-profile/item.svg) no-repeat center center/contain;
    position: absolute;
    left: -5rem;
    top: -3rem; }
    @media (max-width: 768px) {
      .executive:before {
        width: 7.6rem;
        height: 6.4rem;
        left: 1.8rem;
        top: 0; } }
  @media (max-width: 768px) {
    .executive {
      padding: 6.7rem 0 0; } }
  .executive .contentstitle {
    margin-bottom: 6rem; }
    @media (max-width: 768px) {
      .executive .contentstitle {
        margin-bottom: 4.5rem; } }
  .executive .box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6rem 7rem; }
    @media (max-width: 768px) {
      .executive .box {
        display: block; } }
  .executive--list {
    width: 100%;
    max-width: calc((100% - 7rem *3) / 4);
    text-align: center; }
    @media (max-width: 1023px) {
      .executive--list {
        max-width: calc((100% - 7rem *2) / 3); } }
    @media (max-width: 768px) {
      .executive--list {
        max-width: none; }
        .executive--list:not(:last-child) {
          margin-bottom: 4rem; } }
    .executive--list .title {
      text-align: center;
      margin-bottom: 1rem; }
      .executive--list .title .txt, .executive--list .title .text {
        display: block;
        color: var(--green);
        font-weight: var(--fontbold); }
      .executive--list .title .txt {
        font-size: max(1.6rem,14px);
        line-height: 1.75; }
        @media (max-width: 768px) {
          .executive--list .title .txt {
            font-size: 1.4rem;
            line-height: 2; } }
      .executive--list .title .text {
        font-size: max(2.4rem,22px);
        line-height: 1.1666666667; }
        @media (max-width: 768px) {
          .executive--list .title .text {
            font-size: 2rem;
            line-height: 1.4; } }
    .executive--list p.text {
      font-size: max(1.4rem,12px);
      line-height: 2; }
      @media (max-width: 768px) {
        .executive--list p.text {
          font-size: 1.4rem;
          line-height: 1.7142857143; } }
    .executive--list .cap {
      margin-bottom: 2rem; }
      @media (max-width: 768px) {
        .executive--list .cap {
          width: 20.6rem;
          margin: 0 auto 1.5rem; } }
      .executive--list .cap img {
        width: 100%;
        height: 100%;
        aspect-ratio: 1;
        object-fit: cover;
        border-radius: 50%; }

/******************************************************************************
.archive-project
*******************************************************************************/
.archive-project .topbox {
  margin-bottom: 4rem; }
  .archive-project .topbox--search {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2rem; }
    @media (max-width: 768px) {
      .archive-project .topbox--search {
        display: block; } }
  .archive-project .topbox--title {
    font-size: max(3.2rem,30px);
    line-height: 1.625;
    color: #00A63C;
    font-weight: 700;
    margin-bottom: 3rem; }
    @media (max-width: 768px) {
      .archive-project .topbox--title {
        font-size: 2rem;
        line-height: 2;
        margin-bottom: 2.5rem; } }
    .archive-project .topbox--title .item {
      color: var(--blue); }

.searchbox {
  max-width: 32rem;
  width: 100%;
  height: 5rem;
  box-sizing: border-box;
  border: 1px solid #969696;
  border-radius: 2.5rem;
  position: relative; }
  @media (max-width: 768px) {
    .searchbox {
      max-width: none; } }
  .searchbox .text {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font-size: max(1.6rem,14px);
    line-height: 1;
    color: #969696;
    box-sizing: border-box;
    padding-left: 6rem;
    border-radius: 2.5rem; }
  .searchbox .btn {
    margin: 0;
    padding: 0;
    width: 2.2rem;
    height: 2.2rem;
    background: url(../images/common/icon-search.svg) no-repeat center center/contain;
    display: block;
    position: absolute;
    left: 2rem;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    font-size: 0; }
  .searchbox.selectbox {
    border: none;
    max-width: 16rem; }
    @media (max-width: 768px) {
      .searchbox.selectbox {
        max-width: none;
        margin-bottom: 2rem; } }
    .searchbox.selectbox:after {
      position: absolute;
      top: 50%;
      right: 2rem;
      width: 1rem;
      height: 0.7rem;
      background: black;
      transform: translateY(-50%);
      clip-path: polygon(50% 100%, 0 0, 100% 0);
      pointer-events: none;
      content: ""; }
    .searchbox.selectbox #term-select {
      width: 100%;
      height: 5rem;
      box-sizing: border-box;
      border: 1px solid #969696;
      border-radius: 2.5rem;
      position: relative;
      font-size: max(1.6rem,14px);
      line-height: 1;
      padding-left: 2rem;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none; }

.search-no-text {
  font-size: max(1.6rem,14px);
  text-align: center; }

/******************************************************************************
.projectbox
*******************************************************************************/
.projectbox {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 5rem 6rem; }
  @media (max-width: 1023px) {
    .projectbox {
      gap: 5rem 3rem; } }
  .projectbox--list {
    width: 100%;
    max-width: calc((100% - 6rem *2) / 3);
    position: relative; }
    @media (max-width: 1023px) {
      .projectbox--list {
        max-width: calc((100% - 3rem) / 2); } }
    @media (max-width: 768px) {
      .projectbox--list {
        max-width: none; } }
    .projectbox--list dl {
      display: flex;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 3rem; }
      .projectbox--list dl:not(:last-of-type) {
        margin-bottom: 1.8rem; }
    .projectbox--list dt {
      font-size: max(1.2rem,10px);
      line-height: 2.3333333333;
      color: #00A63C;
      font-weight: 700;
      white-space: nowrap; }
      @media (max-width: 768px) {
        .projectbox--list dt {
          font-size: 1.1rem;
          line-height: 2.1818181818; } }
    .projectbox--list dd {
      font-size: max(1.6rem,14px);
      line-height: 1.75;
      width: 100%;
      max-width: calc(100% - 3rem - 4.5rem); }
      @media (max-width: 768px) {
        .projectbox--list dd {
          font-size: 1.4rem;
          line-height: 1.7142857143;
          max-width: calc(100% - 1.6rem); } }
    .projectbox--list .cap {
      margin-bottom: 2rem; }
      .projectbox--list .cap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 360 / 270;
        border-radius: 2rem; }
        @media (max-width: 768px) {
          .projectbox--list .cap img {
            aspect-ratio: 323 / 242;
            border-radius: 1.7rem; } }

/******************************************************************************
.single-project
*******************************************************************************/
.single-project--menu {
  font-size: max(1.4rem,12px);
  gap: 10rem;
  font-weight: 700;
  width: 100%;
  max-width: 64.5rem;
  margin: auto;
  position: relative;
  text-align: center; }
  @media (max-width: 768px) {
    .single-project--menu {
      max-width: none;
      width: auto;
      margin-left: 4.6rem;
      margin-right: 4.6rem;
      font-size: 1.2rem; } }
  .single-project--menu .text {
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (max-width: 768px) {
      .single-project--menu .text {
        height: 2.4rem;
        padding-top: 4rem; } }
  .single-project--menu .txt {
    position: absolute;
    top: 0; }
    .single-project--menu .txt--prev {
      left: 0; }
      .single-project--menu .txt--prev a {
        display: flex;
        align-items: center;
        gap: 1.5rem; }
        @media (max-width: 768px) {
          .single-project--menu .txt--prev a {
            gap: 0.8rem; } }
        .single-project--menu .txt--prev a:before {
          content: "";
          width: 3rem;
          height: 3rem;
          background: url(../images/common/arrow.svg) no-repeat center center/contain; }
          @media (max-width: 768px) {
            .single-project--menu .txt--prev a:before {
              width: 2.4rem;
              height: 2.4rem; } }
    .single-project--menu .txt--next {
      right: 0; }
      .single-project--menu .txt--next a {
        display: flex;
        align-items: center;
        gap: 1.5rem; }
        @media (max-width: 768px) {
          .single-project--menu .txt--next a {
            gap: 0.8rem; } }
        .single-project--menu .txt--next a:after {
          content: "";
          width: 3rem;
          height: 3rem;
          background: url(../images/common/arrow.svg) no-repeat center center/contain;
          transform: rotate(180deg); }
          @media (max-width: 768px) {
            .single-project--menu .txt--next a:after {
              width: 2.4rem;
              height: 2.4rem; } }
.single-project .contentsbox .inner {
  max-width: 100rem; }
  @media (max-width: 768px) {
    .single-project .contentsbox .inner {
      max-width: none; } }
.single-project .contentsbox .title {
  color: var(--green);
  font-size: max(3.2rem,30px);
  line-height: 1.625;
  font-weight: 700;
  margin-bottom: 6rem;
  letter-spacing: -0.09em; }
  @media (max-width: 768px) {
    .single-project .contentsbox .title {
      font-size: 2.4rem;
      line-height: 1.6666666667;
      margin-bottom: 3.5rem; }
      .single-project .contentsbox .title br {
        display: none; } }
.single-project .contentsbox .toptext {
  font-size: max(1.6rem,14px);
  line-height: 2;
  border-bottom: 1px solid #969696;
  padding-bottom: 5rem;
  margin-bottom: 5rem; }
  @media (max-width: 768px) {
    .single-project .contentsbox .toptext {
      font-size: 1.4rem;
      line-height: 1.8571428571;
      padding-bottom: 4rem;
      margin-bottom: 3rem; } }
  .single-project .contentsbox .toptext dl dt {
    font-size: max(2.4rem,22px);
    margin-bottom: 2rem;
    font-weight: 700; }
    @media (max-width: 768px) {
      .single-project .contentsbox .toptext dl dt {
        font-size: 2rem;
        line-height: 1.6; } }
  .single-project .contentsbox .toptext dl:not(:last-of-type) {
    margin-bottom: 6rem; }
    @media (max-width: 768px) {
      .single-project .contentsbox .toptext dl:not(:last-of-type) {
        margin-bottom: 3.5rem; } }
.single-project .contentsbox .box {
  font-size: max(1.6rem,14px);
  line-height: 2; }
  @media (max-width: 768px) {
    .single-project .contentsbox .box {
      font-size: 1.4rem;
      line-height: 1.8571428571; } }
  .single-project .contentsbox .box:not(:last-of-type) {
    margin-bottom: 6rem; }
    @media (max-width: 768px) {
      .single-project .contentsbox .box:not(:last-of-type) {
        margin-bottom: 4rem; } }
  .single-project .contentsbox .box:last-of-type {
    margin-bottom: 10rem; }
    @media (max-width: 768px) {
      .single-project .contentsbox .box:last-of-type {
        margin-bottom: 5rem; } }
  .single-project .contentsbox .box--title {
    font-size: max(2.4rem,22px);
    font-weight: 700;
    margin-bottom: 2rem; }
    @media (max-width: 768px) {
      .single-project .contentsbox .box--title {
        font-size: 2rem; } }
  .single-project .contentsbox .box .textbox {
    display: flex;
    gap: 4rem;
    align-items: flex-start;
    justify-content: space-between; }
    .single-project .contentsbox .box .textbox .text {
      width: 100%; }
      @media (max-width: 768px) {
        .single-project .contentsbox .box .textbox .text {
          margin-bottom: 2rem; } }
    @media (max-width: 768px) {
      .single-project .contentsbox .box .textbox {
        display: block; } }
    .single-project .contentsbox .box .textbox--center {
      display: block; }
      .single-project .contentsbox .box .textbox--center .cap {
        margin: auto; }
      .single-project .contentsbox .box .textbox--center .text {
        margin-bottom: 3rem; }
    .single-project .contentsbox .box .textbox--nocap {
      display: block; }
    .single-project .contentsbox .box .textbox--left {
      flex-direction: row-reverse; }
  .single-project .contentsbox .box .cap {
    width: 100%;
    max-width: 32rem; }
    @media (max-width: 768px) {
      .single-project .contentsbox .box .cap {
        max-width: none; } }
    .single-project .contentsbox .box .cap--big {
      max-width: 48rem; }
      @media (max-width: 768px) {
        .single-project .contentsbox .box .cap--big {
          max-width: none; } }
      .single-project .contentsbox .box .cap--big img {
        aspect-ratio: 480 / 360; }
        @media (max-width: 768px) {
          .single-project .contentsbox .box .cap--big img {
            aspect-ratio: 320 / 240; } }
  .single-project .contentsbox .box img {
    border-radius: 2.6rem;
    aspect-ratio: 320 / 240;
    object-fit: cover; }
    @media (max-width: 768px) {
      .single-project .contentsbox .box img {
        border-radius: 1.8rem;
        aspect-ratio: 320 / 240; } }

/******************************************************************************
.wp-pagenavi
*******************************************************************************/
.wp-pagenavi {
  padding-top: 4.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem; }
  .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink,
  .wp-pagenavi .current, .wp-pagenavi .page {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    font-size: max(1.6rem,14px);
    line-height: 2.7rem;
    text-align: center;
    transition: .5s; }
    .wp-pagenavi .nextpostslink:hover, .wp-pagenavi .previouspostslink:hover,
    .wp-pagenavi .current:hover, .wp-pagenavi .page:hover {
      opacity: .8; }
  .wp-pagenavi .current {
    background-color: var(--green);
    border: 1px solid var(--green);
    color: white; }
  .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink,
  .wp-pagenavi .page {
    border: 1px solid #969696; }

#page-404 {
  font-size: max(1.8rem,16px);
  line-height: 2;
  font-weight: 700; }

/* 20250509公開時対応 */
.specialguest {
  margin: 10rem auto 12rem; }
  @media (max-width: 768px) {
    .specialguest {
      margin: 6rem auto; } }

.txtS {
  margin-top: 2rem;
  font-size: max(1.2rem, 12px); }


/* 20260507追記 top page用*/
.notice-box {
      max-width: 800px;                                                                  
      margin: 30px auto;                                                                 
      padding: 20px 30px;
      background: #f5f5f5;                                                               
      border-left: 4px solid #5cb85c;                       
      text-align: center;                                                                
      font-size: 16px;
  }  

/*# sourceMappingURL=style.css.map */
