html {
  scroll-behavior: smooth;
  line-height: 1.5; }

body {
  height: 100%;
  position: relative;
  background: #ffffff;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.1vw;
  word-wrap: break-word;
  word-break: break-word;
  overflow-wrap: break-word; }
  @media (min-width: 1200px) {
    body {
      font-size: 20px; } }
  @media (max-width: 768px) {
    body {
      font-size: 3.5vw; } }

img {
  max-width: 100%; }

a {
  transition: all 0.5s ease 0s; }
  a:hover {
    -webkit-filter: brightness(150%);
    filter: brightness(150%);
    opacity: 0.8; }

/* content */
.l-wrapper {
  padding-bottom: 2rem; }
  @media (min-width: 1200px) {
    .l-wrapper {
      padding-bottom: 100px; } }
  @media (max-width: 768px) {
    .l-wrapper {
      padding-bottom: 3rem; } }
  .l-wrapper .l-main {
    padding-top: 1rem; }
    @media (min-width: 1200px) {
      .l-wrapper .l-main {
        padding-top: 30px; } }
    @media (max-width: 768px) {
      .l-wrapper .l-main {
        padding-top: 1rem; } }
    .l-wrapper .l-main section {
      margin: auto;
      max-width: 900px;
      background: #ffffff; }
      .l-wrapper .l-main section h2 {
        padding: 2rem;
        font-weight: 600;
        font-size: 160%;
        color: #252525; }
        @media (min-width: 1200px) {
          .l-wrapper .l-main section h2 {
            font-size: 24px;
            padding: 30px 48px 40px 48px; } }
        @media (max-width: 768px) {
          .l-wrapper .l-main section h2 {
            padding: 1rem 1.5rem 2rem 1.5rem; } }
      .l-wrapper .l-main section .l-section__inner {
        padding: 0 2rem 2rem 2rem; }
        @media (min-width: 1200px) {
          .l-wrapper .l-main section .l-section__inner {
            padding: 0 3rem 3rem 3rem; } }
        @media (max-width: 768px) {
          .l-wrapper .l-main section .l-section__inner {
            padding: 0 1.5rem 1.5rem 1.5rem; } }
        .l-wrapper .l-main section .l-section__inner p {
          margin-bottom: 1em; }
        .l-wrapper .l-main section .l-section__inner .detail_data dt {
          font-weight: 600; }
        .l-wrapper .l-main section .l-section__inner .detail_data dd {
          margin-bottom: 1em; }

.l-wrap__gfy {
  background: #213674; }
  .l-wrap__gfy .l-main {
    background: url(../images/gfy/bg_head.png) no-repeat center top;
    background-size: 100%; }
    @media (min-width: 1700px) {
      .l-wrap__gfy .l-main {
        background-position: center -50px; } }
    @media (max-width: 768px) {
      .l-wrap__gfy .l-main {
        background: url(../images/gfy/bg_head_sp.png) no-repeat center top;
        background-size: 100%; } }
    .l-wrap__gfy .l-main h1 {
      width: 90%;
      max-width: 560px;
      margin: auto;
      margin-bottom: 2rem; }
      @media (min-width: 1200px) {
        .l-wrap__gfy .l-main h1 {
          margin-bottom: 30px; } }
    .l-wrap__gfy .l-main .p-kv {
      max-width: 900px;
      margin: auto;
      padding: 0 0 2rem 0; }
      @media (max-width: 768px) {
        .l-wrap__gfy .l-main .p-kv {
          padding: 0 2rem 2rem 2rem; } }
    .l-wrap__gfy .l-main section h2 {
      background: url(../images/gfy/h2.png) no-repeat center top;
      background-size: 100%; }
      @media (max-width: 768px) {
        .l-wrap__gfy .l-main section h2 {
          background: url(../images/gfy/h2_sp.png) no-repeat center bottom;
          background-size: 100%; } }
    .l-wrap__gfy .l-main section .l-section__inner .detail_data dt {
      color: #BC1818; }
    .l-wrap__gfy .l-main section .l-section__inner .support_list {
      width: 100%;
      margin: auto;
      font-size: 95%; }
      .l-wrap__gfy .l-main section .l-section__inner .support_list dt, .l-wrap__gfy .l-main section .l-section__inner .support_list dd {
        padding: 0.5em;
        border: none;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center; }
      .l-wrap__gfy .l-main section .l-section__inner .support_list dt {
        background: #213674;
        margin-bottom: 1px;
        color: #ffffff; }
      .l-wrap__gfy .l-main section .l-section__inner .support_list dd {
        background: #F5F8FF;
        margin-bottom: 1px; }
      @media (min-width: 1200px) {
        .l-wrap__gfy .l-main section .l-section__inner .support_list {
          display: -webkit-flex;
          display: flex;
          -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
          font-size: 14px;
          width: 100%; }
          .l-wrap__gfy .l-main section .l-section__inner .support_list dt {
            width: 21%;
            margin-right: 1px; }
          .l-wrap__gfy .l-main section .l-section__inner .support_list dd {
            width: 78.8%; }
          .l-wrap__gfy .l-main section .l-section__inner .support_list dt:nth-of-type(even) {
            background: #3F579B; }
          .l-wrap__gfy .l-main section .l-section__inner .support_list dd:nth-of-type(even) {
            background: #FFFFFF; } }
    @media (min-width: 1200px) {
      .l-wrap__gfy .l-main section .l-section__inner .support_list-en dt {
        width: 23%; }
      .l-wrap__gfy .l-main section .l-section__inner .support_list-en dd {
        width: 76.8%; } }
    .l-wrap__gfy .l-main section .l-section__inner .support_btn-more {
      width: 100%;
      line-height: 1;
      font-weight: 600; }
      .l-wrap__gfy .l-main section .l-section__inner .support_btn-more span {
        cursor: pointer;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        width: -webkit-fit-content;
        width: fit-content;
        margin: auto;
        padding: 0.5em 2em;
        border: 1px solid #A4B0D1;
        font-size: 98%; }
        @media (min-width: 1200px) {
          .l-wrap__gfy .l-main section .l-section__inner .support_btn-more span {
            font-size: 16px; } }
      .l-wrap__gfy .l-main section .l-section__inner .support_btn-more span::before {
        content: '';
        display: inline-block;
        width: 1em;
        height: 1em;
        background: url(../images/gfy/icon_arrow.png) no-repeat center center;
        background-size: contain;
        margin-right: 0.5em; }
      .l-wrap__gfy .l-main section .l-section__inner .support_btn-more span.supportlist-close {
        margin-top: 2em; }
      .l-wrap__gfy .l-main section .l-section__inner .support_btn-more span.supportlist-close::before {
        background: url(../images/gfy/icon_arrow_close.png) no-repeat center center; }
    .l-wrap__gfy .l-main section .l-section__inner .support_btn-more::before {
      content: '';
      display: block;
      width: 100%;
      height: 3em;
      position: relative;
      margin: -3em 0 0 0;
      background-image: linear-gradient(180deg, rgba(255, 255, 255, 0), white); }
    .l-wrap__gfy .l-main section .l-section__inner .nobefore::before {
      display: none; }

.l-wrap__ggc {
  background: url(../images/ggc/bg.jpg); }
  .l-wrap__ggc .l-main {
    background: url(../images/ggc/bg_head.jpg) no-repeat center top;
    background-size: 100%; }
    @media (min-width: 1500px) {
      .l-wrap__ggc .l-main {
        background-position: center -20px; } }
    @media (min-width: 1600px) {
      .l-wrap__ggc .l-main {
        background-position: center -30px; } }
    @media (min-width: 1700px) {
      .l-wrap__ggc .l-main {
        background-position: center -60px; } }
    @media (min-width: 1800px) {
      .l-wrap__ggc .l-main {
        background-position: center -90px; } }
    @media (max-width: 768px) {
      .l-wrap__ggc .l-main {
        background: url(../images/ggc/bg_head_sp.jpg) no-repeat center top;
        background-size: 100%; } }
    .l-wrap__ggc .l-main h1 {
      text-align: center; }
      .l-wrap__ggc .l-main h1 img {
        display: block;
        margin: auto;
        max-width: 90%; }
        @media (min-width: 1200px) {
          .l-wrap__ggc .l-main h1 img {
            max-width: 428px; } }
      .l-wrap__ggc .l-main h1 span {
        font-size: 150%;
        color: #D11218;
        font-weight: 900;
        display: block;
        padding: 1.5em 0 1em 0; }
        @media (min-width: 1200px) {
          .l-wrap__ggc .l-main h1 span {
            font-size: 40px;
            padding: 1em 0; } }
    .l-wrap__ggc .l-main section h2 {
      background: url(../images/ggc/h2.png) no-repeat center top;
      background-size: 100%; }
      @media (max-width: 768px) {
        .l-wrap__ggc .l-main section h2 {
          background: url(../images/ggc/h2_sp.png) no-repeat center bottom;
          background-size: 100%; } }
    .l-wrap__ggc .l-main section .detail_data dt {
      color: #A38B48; }
    @media (min-width: 1200px) {
      .l-wrap__ggc .l-main section .p-director__inner, .l-wrap__ggc .l-main section .p-readers__inner {
        display: -webkit-flex;
        display: flex; }
        .l-wrap__ggc .l-main section .p-director__inner .detail_data, .l-wrap__ggc .l-main section .p-readers__inner .detail_data {
          width: -webkit-fit-content;
          width: fit-content;
          margin-right: 2em; } }

/* nav */
.l-header__gnbtn {
  line-height: 0;
  z-index: 3;
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  font-weight: 600;
  background: #252525;
  cursor: pointer; }
  .l-header__gnbtn--inner {
    width: -webkit-fit-content;
    width: fit-content;
    padding: 1.3em 0;
    margin: auto;
    position: relative; }
    .l-header__gnbtn--inner .span-container {
      width: 18px;
      height: 18px;
      display: -webkit-flex;
      display: flex;
      text-align: center;
      -webkit-flex-flow: wrap;
      flex-flow: wrap;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      z-index: 90; }
    .l-header__gnbtn--inner .span-container span {
      width: 18px;
      height: 3px;
      background: white;
      transition: all 250ms ease-out;
      -webkit-transform-origin: 0 0;
      transform-origin: 0 0; }

.l-header .l-header__gnbtnclose .span-container span:nth-last-child(1) {
  -webkit-transform: rotate(-45deg) translate(0px, -1px);
  transform: rotate(-45deg) translate(0px, -1px); }

.l-header .l-header__gnbtnclose .span-container span:nth-last-child(2) {
  -webkit-transform: rotate(0deg) scale(0.2, 0.2);
  transform: rotate(0deg) scale(0.2, 0.2);
  opacity: 0; }

.l-header .l-header__gnbtnclose .span-container span:nth-last-child(3) {
  -webkit-transform: rotate(45deg) translate(0px, -2px);
  transform: rotate(45deg) translate(0px, -2px); }

.l-header__gnav {
  display: none;
  z-index: 2;
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #ffffff;
  height: 100%; }
  .l-header__gnav--title {
    font-size: 130%;
    font-weight: 900;
    padding-bottom: 0.5em; }
  .l-header__gnav--inner {
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto; }
    .l-header__gnav--inner .u-lang {
      padding: 2em 0 0; }
    .l-header__gnav--inner ul li {
      line-height: 1;
      margin-top: 0.5em; }
      .l-header__gnav--inner ul li a {
        transition: all 0.5s ease 0s; }
        .l-header__gnav--inner ul li a:hover {
          opacity: 0.5; }
      .l-header__gnav--inner ul li a::before {
        content: '';
        display: inline-block;
        width: 1em;
        height: 1em; }
    .l-header__gnav--inner .l-header__gnav--gfy {
      padding: 2em 0 0 0; }
      .l-header__gnav--inner .l-header__gnav--gfy .l-header__gnav--title {
        color: #213674; }
      .l-header__gnav--inner .l-header__gnav--gfy ul li a::before {
        background: url(../images/icon_gnav-gfy.png) no-repeat left center; }
    .l-header__gnav--inner .l-header__gnav--ggc {
      padding: 2em 0 0 0; }
      .l-header__gnav--inner .l-header__gnav--ggc .l-header__gnav--title {
        color: #D0111B; }
      .l-header__gnav--inner .l-header__gnav--ggc ul li a::before {
        background: url(../images/icon_gnav-ggc.png) no-repeat left center; }

/* footer */
.l-footer {
  width: 100%;
  padding: 3em;
  text-align: center;
  background: #ffffff; }
  .l-footer__sns {
    display: -webkit-flex;
    display: flex;
    gap: 2em;
    width: -webkit-fit-content;
    width: fit-content;
    margin: auto;
    -webkit-justify-content: center;
    justify-content: center; }
    .l-footer__sns li {
      width: 14%; }
      @media (min-width: 1200px) {
        .l-footer__sns li {
          width: 50px; } }
      .l-footer__sns li:nth-of-type(1) {
        transition: all 0.5s ease 0s; }
        .l-footer__sns li:nth-of-type(1):hover {
          opacity: 0.5; }
  .l-footer__notice {
    font-size: 94%;
    padding: 2em 0 0 0; }
    @media (min-width: 1200px) {
      .l-footer__notice {
        font-size: 18px;
        padding: 30px 0 0 0; } }
    .l-footer__notice a {
      text-decoration: underline;
      transition: all 0.5s ease 0s; }
      .l-footer__notice a:hover {
        opacity: 0.5; }
  .l-footer__copy {
    font-size: 80%;
    padding: 2em 0 6em; }
    @media (min-width: 1200px) {
      .l-footer__copy {
        font-size: 13px;
        padding: 30px 0 70px; } }

/* sub */
.l-sub {
  width: 100%;
  position: relative; }
  .l-sub .u-lang {
    position: absolute;
    right: 1em;
    top: 3em; }
    @media (max-width: 1149px) {
      .l-sub .u-lang {
        display: none; } }
  .l-sub__inner {
    margin-bottom: 1em; }
    .l-sub__inner--endtxt {
      width: 100%;
      background: #505050;
      color: #ffffff;
      text-align: center;
      padding: 0.4em 0;
      margin-bottom: 1em; }
    .l-sub__inner--anchortab {
      max-width: 900px;
      margin: auto; }
      .l-sub__inner--anchortab ul {
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between; }
        .l-sub__inner--anchortab ul li {
          width: 47%;
          position: relative;
          transition: all 0.5s ease 0s; }
          .l-sub__inner--anchortab ul li:hover {
            -webkit-filter: brightness(150%);
            filter: brightness(150%);
            opacity: 0.8; }
          .l-sub__inner--anchortab ul li a {
            display: block;
            padding: 1em 0;
            text-align: center;
            line-height: 1; }
            .l-sub__inner--anchortab ul li a:hover {
              -webkit-filter: none;
              filter: none;
              opacity: 1; }
          .l-sub__inner--anchortab ul li::after {
            position: absolute;
            content: '';
            width: 1em;
            height: 1em;
            -webkit-clip-path: polygon(25% 0%, 75% 50%, 25% 100%);
            clip-path: polygon(25% 0%, 75% 50%, 25% 100%);
            bottom: -0.7em;
            left: 49%;
            -webkit-transform: rotate(90deg);
            transform: rotate(90deg); }

/* utility */
.u-anchortab_gfy {
  margin-left: 2%; }
  .u-anchortab_gfy::after {
    background: #093a94; }
  .u-anchortab_gfy a {
    color: #093a94;
    border: 3px solid #093a94;
    border-radius: 5px; }

.u-anchortab_ggc {
  margin-right: 2%; }
  .u-anchortab_ggc::after {
    background: #d11218; }
  .u-anchortab_ggc a {
    display: block;
    color: #d11218;
    border: 3px solid #d11218;
    border-radius: 5px; }

.u-lang__inner a {
  text-decoration: underline; }
  .u-lang__inner a:hover {
    opacity: 0.5; }

.u-gallery {
  margin: 2em auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 2%; }
  @media (min-width: 1200px) {
    .u-gallery {
      -webkit-flex-wrap: nowrap;
      flex-wrap: nowrap;
      gap: 17px; } }
  @media (max-width: 768px) {
    .u-gallery {
      gap: 0.5rem 2%; } }
  .u-gallery li {
    width: 23.5%;
    aspect-ratio: 3 / 2;
    overflow: hidden; }
    .u-gallery li a img {
      height: 100%;
      width: 100%; }

.u-notice {
  font-size: 80%;
  display: block; }

/* common */
.sp {
  display: block; }

.pc {
  display: none; }

@media (min-width: 1200px) {
  .sp {
    display: none; }
  .pc {
    display: block; } }

/* fade up */
.u-fade-type-up {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  opacity: 0; }

.u-fade-type-up.is-active {
  transition: .6s;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1; }

.is-active .u-fade-type-up {
  transition: .6s;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1; }

.is-active .u-fade-type-up:nth-child(2) {
  transition-delay: .4s; }

.is-active .u-fade-type-up:nth-child(3) {
  transition-delay: .8s; }

.is-active .u-fade-type-up:nth-child(4) {
  transition-delay: 1.2s; }

.is-active .u-fade-type-up:nth-child(5) {
  transition-delay: 1.6s; }

.is-active .u-fade-type-up:nth-child(6) {
  transition-delay: 2s; }
