@charset "UTF-8";
/*===========================================================
このファイルはsassで編集されています。
cssを編集しないでください。
=============================================================*/
/*=====================================================================
リセットcssの設定
=======================================================================*/
html {
  color: #000;
  background: #FFF; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img {
  border: 0; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

q:before, q:after {
  content: ''; }

abbr, acronym {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  *font-size: 100%; }

legend {
  color: #000; }

#yui3-css-stamp.cssreset {
  display: none; }

/*===========================================================
全体の設定
=============================================================*/
html {
  color: #000000;
  font-family: "FOT-筑紫オールドゴシック Std B";
  background: #BFB9B6; }
  @media screen and (max-width: 768px) {
    html {
      min-width: 100%; } }

html, body {
  min-width: 1040px; }
  @media screen and (max-width: 768px) {
    html, body {
      width: 100%;
      min-width: 100%;
      font-size: 60%; } }

h1, h2, h3, h4, h5, h6, p, li, ol, dl, dt, dd, a, td, th {
  color: #000000;
  font-weight: 500;
  line-height: 1; }

p, ul, li, dl, dt, dd, ol, a {
  font-size: 1.5rem;
  text-align: justify; }
  @media screen and (max-width: 576px) {
    p, ul, li, dl, dt, dd, ol, a {
      font-size: 1.4rem; } }

body#en p {
  text-align: left; }

p {
  line-height: 1.8; }

a {
  color: inherit;
  text-decoration: none;
  display: block; }
  a:active {
    text-decoration: none; }
  a:hover {
    text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

.is-menuOpen body {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%; }

.relative {
  position: relative; }

.xl-block {
  display: none !important; }
  @media screen and (max-width: 1200px) {
    .xl-block {
      display: block !important; } }

@media screen and (max-width: 1200px) {
  .xl-none {
    display: none !important; } }

.lg-block {
  display: none !important; }
  @media screen and (max-width: 992px) {
    .lg-block {
      display: block !important; } }

@media screen and (max-width: 992px) {
  .lg-none {
    display: none !important; } }

.md-block {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .md-block {
      display: block !important; } }

@media screen and (max-width: 768px) {
  .md-none {
    display: none !important; } }

.sm-block {
  display: none !important; }
  @media screen and (max-width: 576px) {
    .sm-block {
      display: block !important; } }

@media screen and (max-width: 576px) {
  .sm-none {
    display: none !important; } }

.container {
  margin: 0 auto;
  width: 1040px;
  padding: 0 20px; }
  @media screen and (max-width: 768px) {
    .container {
      padding-left: 6%;
      padding-right: 6%;
      max-width: 100%;
      width: 100%;
      word-wrap: break-word;
      overflow-wrap: break-word; } }

.container_900 {
  margin: 0 auto;
  width: 940px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (max-width: 850px) {
    .container_900 {
      max-width: 100%;
      width: 100%;
      padding-left: 6%;
      padding-right: 6%;
      word-wrap: break-word;
      overflow-wrap: break-word; } }
  @media screen and (max-width: 576px) {
    .container_900 {
      padding-left: 6%;
      padding-right: 6%; } }

/*=====================================================================
共通パーツ
=======================================================================*/
/*=====================================================================
headerの設定
=======================================================================*/
header {
  padding: 40px 0 0; }
  @media screen and (max-width: 768px) {
    header {
      padding: 20px 0; } }
  header .nav li {
    margin-left: 15px; }
  header .nav a {
    font-size: 1.4rem;
    border-radius: 100px;
    background: #D2FF32;
    padding: 7px 15px;
    border: 1px solid #000;
    display: inline-block;
    transition: .3s;
    text-align: center;
    line-height: 1;
    height: 30px;
    cursor: pointer; }
    header .nav a:hover {
      background: #000 !important;
      color: #D2FF32 !important; }
    header .nav a.en {
      font-family: "TimesNRMTPro";
      font-size: 1.7rem; }
      header .nav a.en span {
        position: relative;
        top: 2px; }
    header .nav a.off {
      background: #BFB9B6; }
    header .nav a.on {
      cursor: none;
      pointer-events: none; }
      header .nav a.on:hover {
        background: #D2FF32 !important;
        color: #000 !important; }
  header .page__nav {
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      header .page__nav {
        display: none; } }
    header .page__nav li {
      margin-left: 40px; }
      header .page__nav li a {
        font-size: 2.2rem;
        font-family: "TimesNRMTPro";
        transition: .2s; }
        header .page__nav li a:hover {
          color: #D2FF32; }
  header .container {
    position: relative; }

header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100; }

.scroll__nav {
  display: none;
  position: absolute;
  top: 0;
  left: 20px;
  z-index: 999; }
  @media screen and (max-width: 768px) {
    .scroll__nav {
      padding-left: 6%;
      left: 0; } }
  .scroll__nav.on {
    display: block !important;
    opacity: 1 !important; }
  .scroll__nav .nav {
    margin-bottom: 0; }
  .scroll__nav .left {
    width: 180px; }
    @media screen and (max-width: 768px) {
      .scroll__nav .left {
        width: 35px; } }
  @media screen and (max-width: 768px) {
    .scroll__nav .right {
      width: calc(100% - 35px); } }

#page__header .scroll__nav {
  display: block !important;
  opacity: 1 !important; }

/*=====================================================================
footerの設定
=======================================================================*/
footer {
  background: #8D8784;
  padding: 30px 0; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 15px 0; } }
  footer .left {
    width: 300px; }
    @media screen and (max-width: 768px) {
      footer .left {
        text-align: center;
        width: 70%;
        margin: 20px auto; } }
  footer .right p {
    font-size: 1.2rem;
    color: #fff; }
    @media screen and (max-width: 768px) {
      footer .right p {
        text-align: center; } }
  @media screen and (max-width: 768px) {
    footer .d-flex {
      display: block; } }
  @media screen and (max-width: 768px) {
    footer .md-block {
      display: flex !important; }
      footer .md-block .j-c-end {
        display: flex !important; }
        footer .md-block .j-c-end a {
          margin-left: 4% !important; } }
  footer .nav {
    margin-bottom: 10px; }
    footer .nav li {
      margin-left: 15px; }
      @media screen and (max-width: 768px) {
        footer .nav li {
          width: 100%;
          margin-left: 0px;
          text-align: center; } }
    footer .nav a {
      font-size: 1.4rem;
      border-radius: 100px;
      background: #D2FF32;
      padding: 7px 15px;
      border: 1px solid #000;
      display: inline-block;
      transition: .3s;
      text-align: center;
      line-height: 1;
      height: 30px;
      cursor: pointer; }
      footer .nav a:hover {
        background: #000 !important;
        color: #D2FF32 !important; }
      footer .nav a.en {
        font-family: "TimesNRMTPro";
        font-size: 1.7rem; }
        footer .nav a.en span {
          position: relative;
          top: 2px; }
      footer .nav a.off {
        background: #BFB9B6; }
      footer .nav a.on {
        cursor: none;
        pointer-events: none; }
        footer .nav a.on:hover {
          background: #D2FF32 !important;
          color: #000 !important; }

body#en footer .tr {
  text-align: right !important; }
  @media screen and (max-width: 768px) {
    body#en footer .tr {
      text-align: center !important; } }

/*=====================================================================
mainの設定
=======================================================================*/
main {
  padding-top: 75px;
  background-image: url("../img/back.png"); }
  @media screen and (max-width: 576px) {
    main {
      padding-top: 0; } }
  main h2 {
    font-family: "TimesNRMTPro";
    text-align: center;
    font-size: 5.6rem;
    margin-bottom: 60px; }
    main h2 span {
      font-family: "TimesNRMTPro-Italic"; }
    @media screen and (max-width: 768px) {
      main h2 {
        font-size: 3.6rem; } }
  main .btn {
    font-size: 1.6rem;
    border-radius: 100px;
    background: #D2FF32;
    padding: 10px 15px;
    border: 1px solid #000;
    display: inline-block;
    transition: .3s; }
    main .btn:hover {
      background: #000;
      color: #D2FF32; }

.mv {
  padding-top: 120px;
  padding-bottom: 180px; }
  @media screen and (max-width: 768px) {
    .mv {
      padding-bottom: 90px;
      position: relative; } }
  @media screen and (max-width: 576px) {
    .mv {
      height: 100vh;
      padding: 0; } }
  .mv .wrap {
    padding-top: 70px;
    padding-bottom: 30px;
    background-image: url("../img/img-mv.png");
    background-image: url(../img/img-mv.png);
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat; }
    @media screen and (max-width: 768px) {
      .mv .wrap {
        background-image: none;
        padding-top: 130px; } }
    @media screen and (max-width: 576px) {
      .mv .wrap {
        padding: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%); } }
  .mv h1 {
    width: 310px;
    margin-bottom: 60px; }
    @media screen and (max-width: 576px) {
      .mv h1 {
        width: 80%; } }
  .mv .day {
    font-size: 3.8rem;
    font-family: "TimesNRMTPro"; }
    @media screen and (max-width: 576px) {
      .mv .day {
        font-size: 7.5vw; } }
    .mv .day span {
      font-family: "TimesNRMTPro-Italic"; }
  .mv .copy p {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #D2FF32; }
    @media screen and (max-width: 768px) {
      .mv .copy p {
        font-size: 2rem; } }
    @media screen and (max-width: 576px) {
      .mv .copy p {
        font-size: 5vw; } }
  .mv .text {
    margin-top: 60px;
    width: 510px; }
    @media screen and (max-width: 768px) {
      .mv .text {
        width: 100%;
        position: relative;
        margin-top: 0;
        padding-top: 150px; }
        .mv .text .back {
          position: absolute;
          top: 0;
          right: 0;
          z-index: 1;
          width: 80%; }
        .mv .text p {
          position: relative;
          z-index: 10;
          line-height: 2;
          font-size: 1.6rem; } }
  .mv .sm__back {
    width: 85%;
    bottom: -20%;
    right: 4%;
    position: absolute; }

.sm__text {
  display: none; }
  @media screen and (max-width: 576px) {
    .sm__text {
      display: block; }
      .sm__text .text {
        padding-bottom: 150px; } }
    @media screen and (max-width: 576px) and (max-width: 576px) {
      .sm__text .text {
        width: 100%;
        position: relative;
        margin-top: 0; }
        .sm__text .text .back {
          position: absolute;
          top: -50%;
          right: 0;
          z-index: 1;
          width: 80%; }
        .sm__text .text p {
          position: relative;
          z-index: 10;
          line-height: 2;
          font-size: 1.6rem; } }

main .area__1 ul.d-flex {
  margin-bottom: 120px; }
  @media screen and (max-width: 768px) {
    main .area__1 ul.d-flex {
      margin-bottom: 60px; } }
  main .area__1 ul.d-flex li {
    width: 22%;
    margin: 0 1.5% 30px; }
    @media screen and (max-width: 768px) {
      main .area__1 ul.d-flex li {
        width: 45%; } }
main .area__2 {
  background-image: url("../img/back-2.png");
  padding: 140px 0 160px; }
  @media screen and (max-width: 768px) {
    main .area__2 {
      padding: 70px 0 80px; } }
  main .area__2 h2 {
    color: #fff; }
  main .area__2 .bottom {
    margin-bottom: 45px; }
    main .area__2 .bottom p {
      color: #fff;
      text-indent: -1.4rem;
      margin-left: 1.4rem; }
main .area__3 {
  padding: 100px 0; }
  @media screen and (max-width: 768px) {
    main .area__3 {
      padding: 50px 0; } }
  main .area__3 .block {
    padding: 60px 0; }
  main .area__3 .news {
    border-top: 0.5px solid #000000; }
    main .area__3 .news li {
      border-bottom: 0.5px solid #000000;
      padding: 30px 20px; }
      @media screen and (max-width: 768px) {
        main .area__3 .news li {
          padding: 15px 10px; } }
      main .area__3 .news li span {
        margin-right: 65px; }
        @media screen and (max-width: 768px) {
          main .area__3 .news li span {
            width: 100%;
            display: block;
            margin-right: 0;
            margin-bottom: 10px; } }
  main .area__3 ul.d-flex {
    margin-bottom: 50px; }
    main .area__3 ul.d-flex li {
      width: 22%;
      margin: 0 1.5% 35px; }
      @media screen and (max-width: 768px) {
        main .area__3 ul.d-flex li {
          width: 30%; } }
  @media screen and (max-width: 768px) {
    main .area__3 .wrap li {
      margin: 0 2.5% 35px !important; } }
  @media screen and (max-width: 768px) {
    main .area__3 .access {
      padding: 0; } }
  main .area__3 .access .left, main .area__3 .access .right {
    width: 47%;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      main .area__3 .access .left, main .area__3 .access .right {
        width: 100%; } }
  main .area__3 .access .right {
    text-align: center; }
    main .area__3 .access .right img {
      width: auto;
      height: 500px; }
      @media screen and (max-width: 768px) {
        main .area__3 .access .right img {
          width: 100%;
          height: auto; } }
  @media screen and (max-width: 768px) {
    main .area__3 .access iframe {
      width: 100%; } }

.timetable {
  background: #BFB9B6;
  padding-bottom: 30px;
  margin-bottom: 15px;
  border-radius: 20px; }
  .timetable * {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400; }
  .timetable h2 {
    font-family: "FOT-筑紫オールドゴシック Std B";
    color: #fff;
    font-size: 2.8rem;
    margin-bottom: 30px;
    margin-top: 50px; }
  .timetable .parent {
    display: grid;
    grid-template-columns: 60px 780px;
    grid-template-rows: 335px auto 360px 360px 360px;
    grid-column-gap: 0px;
    grid-row-gap: 0px; }
    @media screen and (max-width: 768px) {
      .timetable .parent {
        grid-template-columns: 10% 90%;
        grid-template-rows: repeat(5, auto); } }
    @media screen and (max-width: 576px) {
      .timetable .parent {
        grid-template-rows: repeat(5, auto); } }
  .timetable .parent2 {
    display: grid;
    grid-template-columns: 60px 780px;
    grid-template-rows: repeat(1, 360px);
    grid-column-gap: 0px;
    grid-row-gap: 0px; }
    @media screen and (max-width: 768px) {
      .timetable .parent2 {
        grid-template-columns: 10% 90%;
        grid-template-rows: repeat(1, auto); } }
  .timetable .parent3 {
    display: grid;
    grid-template-columns: 60px 780px;
    grid-template-rows: auto 360px 180px 180px 180px;
    grid-column-gap: 0px;
    grid-row-gap: 0px; }
    @media screen and (max-width: 768px) {
      .timetable .parent3 {
        grid-template-columns: 10% 90%;
        grid-template-rows: auto auto 100px auto 100px; } }
    .timetable .parent3 .div7, .timetable .parent3 .div8 {
      padding-top: 0;
      border-top: none; }
  .timetable .parent4 {
    display: grid;
    grid-template-columns: 60px 780px;
    grid-template-rows: repeat(1, auto);
    grid-column-gap: 0px;
    grid-row-gap: 0px; }
    @media screen and (max-width: 768px) {
      .timetable .parent4 {
        grid-template-columns: 10% 90%;
        grid-template-rows: repeat(1, auto); } }
  .timetable .div1 {
    grid-area: 1 / 1 / 2 / 2; }
  .timetable .div2 {
    grid-area: 1 / 2 / 2 / 3; }
  .timetable .div3 {
    grid-area: 2 / 1 / 3 / 2; }
  .timetable .div4 {
    grid-area: 2 / 2 / 3 / 3; }
  .timetable .div5 {
    grid-area: 3 / 1 / 4 / 2; }
  .timetable .div6 {
    grid-area: 3 / 2 / 4 / 3; }
  .timetable .div7 {
    grid-area: 4 / 1 / 5 / 2; }
  .timetable .div8 {
    grid-area: 4 / 2 / 5 / 3; }
  .timetable .div9 {
    grid-area: 5 / 1 / 6 / 2; }
    @media screen and (max-width: 768px) {
      .timetable .div9 {
        height: 420px; } }
  .timetable .div10 {
    grid-area: 5 / 2 / 6 / 3; }
    @media screen and (max-width: 768px) {
      .timetable .div10 {
        height: 420px; } }
  .timetable .time {
    font-family: "TimesNRMTPro";
    font-size: 2rem;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .timetable .time {
        font-size: 1.2rem; } }
    .timetable .time span {
      position: relative;
      top: -10px; }
  .timetable .content {
    padding-top: 10px;
    border-top: 1.5px solid #fff; }
    .timetable .content h3 {
      font-size: 1.7rem;
      font-weight: 500;
      margin-bottom: 10px;
      line-height: 1.2; }
      @media screen and (max-width: 768px) {
        .timetable .content h3 {
          font-size: 1.3rem;
          line-height: 1.6; } }
      .timetable .content h3 span {
        font-size: 1.5rem;
        display: inline-block;
        border-radius: 5px;
        margin-right: 10px;
        padding: 5px; }
        @media screen and (max-width: 768px) {
          .timetable .content h3 span {
            font-size: 1.1rem;
            margin-bottom: 5px; } }
    .timetable .content .tag span {
      font-size: 1.4rem;
      background: #fff;
      padding: 3px 10px;
      border-radius: 5px;
      margin-right: 10px;
      display: inline-block; }
      @media screen and (max-width: 768px) {
        .timetable .content .tag span {
          font-size: 1rem;
          margin-bottom: 5px;
          margin-right: 5px; } }
    .timetable .content .pb {
      margin-bottom: 10px;
      background: #F5F5F5;
      padding: 15px 20px;
      cursor: pointer; }
      @media screen and (max-width: 768px) {
        .timetable .content .pb {
          padding: 15px 2%; } }
      .timetable .content .pb.h40 {
        height: 37%; }
        @media screen and (max-width: 768px) {
          .timetable .content .pb.h40 {
            height: auto; } }
      .timetable .content .pb.h100 {
        height: 97%; }
        @media screen and (max-width: 768px) {
          .timetable .content .pb.h100 {
            height: auto; } }
      .timetable .content .pb.h120 {
        height: 85%;
        position: relative; }
        @media screen and (max-width: 768px) {
          .timetable .content .pb.h120 {
            height: 59%; } }
        @media screen and (max-width: 576px) {
          .timetable .content .pb.h120 {
            height: 63%; } }
      .timetable .content .pb.h50 {
        height: 68%; }
        @media screen and (max-width: 768px) {
          .timetable .content .pb.h50 {
            height: auto; } }
      .timetable .content .pb.h140 {
        height: 143%;
        position: relative; }
        @media screen and (max-width: 768px) {
          .timetable .content .pb.h140 {
            height: 98%; } }
      .timetable .content .pb.climateTech {
        background: #EFFBE3; }
        .timetable .content .pb.climateTech h3 span {
          background: #90E546; }
      .timetable .content .pb.foodtech {
        background: #FFECE9; }
        .timetable .content .pb.foodtech h3 span {
          background: #FF836E; }
      .timetable .content .pb.sdgs {
        background: #fff1c3; }
        .timetable .content .pb.sdgs h3 span {
          background: #FFD23C; }
      .timetable .content .pb.last {
        height: 97%;
        position: relative;
        z-index: 10; }
    .timetable .content .etc {
      pointer-events: none;
      background: #e0e0e0; }
      .timetable .content .etc h3 {
        margin-bottom: 0; }
      .timetable .content .etc span {
        font-size: 1.4rem;
        background: #fff;
        padding: 3px 10px;
        border-radius: 5px;
        margin-left: 10px;
        display: inline-block; }
        @media screen and (max-width: 768px) {
          .timetable .content .etc span {
            font-size: 1rem;
            margin-bottom: 0px;
            margin-left: 10px; } }

.pb__cover {
  background: rgba(0, 0, 0, 0.3);
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: -1;
  transition: .3s; }
  .pb__cover.on {
    opacity: 1;
    z-index: 1000; }

.popup {
  position: relative;
  background: #fff;
  position: fixed;
  width: 1100px;
  border-radius: 30px;
  top: 50%;
  left: 50%;
  padding: 80px 70px;
  padding-right: 40px;
  transform: translate(-50%, -50%);
  opacity: 0;
  z-index: -1;
  transition: .3s;
  max-width: 90%;
  max-height: 90vh; }
  @media screen and (max-width: 768px) {
    .popup {
      padding: 60px 6%;
      max-height: 90vh; } }
  .popup * {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400; }
  .popup .wrap {
    overflow-y: auto;
    max-height: 70vh;
    padding-right: 30px; }
    @media screen and (max-width: 768px) {
      .popup .wrap {
        padding-right: 10px;
        max-height: 70vh; } }
    .popup .wrap a {
      text-decoration: underline;
      transition: .2s;
      margin-bottom: 7px;
      display: inline-block; }
      .popup .wrap a:hover {
        color: #aaa; }
  .popup.on {
    opacity: 1;
    z-index: 1001; }
  .popup h3 {
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 20px;
    padding-right: 60px;
    font-weight: 500;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .popup h3 {
        padding-right: 0;
        padding-top: 30px; } }
  .popup .tag {
    margin-bottom: 60px; }
    .popup .tag span {
      font-size: 1.4rem;
      background: #E4E4E4;
      padding: 3px 10px;
      border-radius: 5px;
      margin-right: 10px;
      display: inline-block; }
      @media screen and (max-width: 576px) {
        .popup .tag span {
          font-size: 1.1rem;
          margin-bottom: 10px; } }
      .popup .tag span.climateTech {
        background: #90E546; }
      .popup .tag span.foodtech {
        background: #FF836E; }
      .popup .tag span.sdgs {
        background: #FFD23C; }
  .popup .text {
    margin-bottom: 40px; }
  .popup ul {
    border-top: 0.5px solid #000; }
    .popup ul li {
      border-bottom: 0.5px solid #000;
      padding: 50px 20px;
      padding-left: 50px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media screen and (max-width: 768px) {
        .popup ul li {
          padding: 50px 0; } }
      .popup ul li .left {
        width: 40%;
        padding-right: 10%; }
        .popup ul li .left img:nth-child(2) {
          margin-top: 30px; }
        .popup ul li .left img:nth-child(3) {
          margin-top: 30px; }
        @media screen and (max-width: 768px) {
          .popup ul li .left {
            width: 70%;
            padding-right: 0;
            text-align: center;
            margin: auto;
            margin-bottom: 30px; } }
      .popup ul li .right {
        width: 60%; }
        @media screen and (max-width: 768px) {
          .popup ul li .right {
            width: 100%;
            padding-right: 0; } }
      .popup ul li h4 {
        font-size: 2rem;
        margin-bottom: 12px;
        font-weight: 600; }
        @media screen and (max-width: 576px) {
          .popup ul li h4 {
            line-height: 1.2; } }
      .popup ul li p {
        margin-bottom: 7px;
        line-height: 1.5; }
        @media screen and (max-width: 576px) {
          .popup ul li p {
            text-align: left; } }
      .popup ul li p span {
        display: block;
        text-indent: -1.5rem;
        margin-left: 1.5rem; }
      .popup ul li a {
        text-decoration: underline;
        transition: .2s;
        margin-bottom: 7px;
        display: inline-block; }
        .popup ul li a:hover {
          color: #aaa; }
  .popup .big {
    margin: 10px 0 25px !important;
    background: #D2FF32;
    display: inline !important;
    line-height: 1.8 !important; }
    .popup .big:hover p {
      color: #fff !important; }

.close {
  position: absolute;
  width: 40px;
  top: 30px;
  right: 30px;
  cursor: pointer; }
  @media screen and (max-width: 768px) {
    .close {
      width: 30px;
      top: 30px;
      right: 30px; } }

.tab_wrap {
  width: 100%; }

/*タブボタンデザイン*/
.tab_lab1, .tab_lab2 {
  background: #8D8784;
  color: #fff;
  padding: 15px;
  width: 49.82%;
  display: inline-block;
  font-family: "TimesNRMTPro";
  font-size: 2rem;
  text-align: center;
  cursor: pointer;
  border: 2px solid #BFB9B6; }
  @media screen and (max-width: 768px) {
    .tab_lab1, .tab_lab2 {
      width: 49.6%;
      padding: 10px 15px 5px; } }
  .tab_lab1 span, .tab_lab2 span {
    font-family: "TimesNRMTPro"; }
    @media screen and (max-width: 576px) {
      .tab_lab1 span, .tab_lab2 span {
        font-size: 1.2rem;
        display: block;
        line-height: 1.2; } }

.tab_lab1 {
  border-radius: 20px 0 0 0; }

.tab_lab2 {
  border-radius: 0 20px 0 0; }

/*タブにチェック入ったとき*/
#tab1:checked ~ .tab_lab1 {
  background: #BFB9B6; }

#tab2:checked ~ .tab_lab2 {
  background: #BFB9B6;
  border: none; }

/*タブボタンとボックス連動*/
#tab1:checked ~ .panels #area1 {
  display: block; }

#tab2:checked ~ .panels #area2 {
  display: block; }

/*チェックボックスとボックス非表示*/
input[name="check"] {
  display: none; }

.panel {
  padding: 50px 30px;
  display: none; }
  @media screen and (max-width: 768px) {
    .panel {
      padding: 50px 2%; } }

/*アニメーション設定*/
@keyframes SlideUp {
  0% {
    transform: translateY(50px);
    /* Y軸方向に50px */
    opacity: 0;
    /* 透明 */ }
  100% {
    transform: translateY(0);
    /* Y軸方向に0px */
    opacity: 1;
    /* 不透明 */ } }
/*アニメーション設定end*/
/*ボックスを下から上へ*/
.panel_content {
  animation-name: SlideUp;
  animation-duration: 2s;
  background-color: #fff;
  width: 100%; }

main.page {
  padding-top: 200px;
  padding-bottom: 100px; }
  main.page * {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400; }
  main.page h2 {
    font-size: 3rem;
    font-weight: 600;
    margin-bottom: 60px;
    padding-right: 60px;
    font-weight: 600;
    line-height: 1.2;
    text-align: left; }
    @media screen and (max-width: 768px) {
      main.page h2 {
        padding-right: 0;
        padding-top: 30px;
        font-size: 2.3rem; } }
  main.page h3 {
    font-size: 2rem;
    margin-bottom: 15px;
    font-weight: 600; }
    @media screen and (max-width: 576px) {
      main.page h3 {
        line-height: 1.2; } }
  main.page li, main.page p {
    margin-bottom: 7px;
    line-height: 1.5; }
    @media screen and (max-width: 576px) {
      main.page li, main.page p {
        text-align: left; } }
  main.page li {
    text-indent: -1.4rem;
    margin-left: 1.4rem; }
  main.page ul {
    margin-bottom: 40px; }
  main.page .wrap {
    margin-bottom: 40px; }
  main.page .wrap2 {
    margin-top: 75px; }

main.page.en li {
  text-indent: -1.2rem;
  margin-left: 1.2rem; }

/*=== inviewの設定==*/
.td_01 {
  transition-delay: 0.1s !important; }

.td_02 {
  transition-delay: 0.2s !important; }

.td_03 {
  transition-delay: 0.3s !important; }

.td_04 {
  transition-delay: 0.4s !important; }

.td_05 {
  transition-delay: 0.5s !important; }

.td_06 {
  transition-delay: 0.6s !important; }

.td_07 {
  transition-delay: 0.7s !important; }

.td_08 {
  transition-delay: 0.8s !important; }

.td_09 {
  transition-delay: 0.9s !important; }

.js-inview b {
  display: inline-block;
  opacity: 0;
  /* 最初は非表示 */
  transform: translateX(30px);
  /* 下に30pxの位置から */
  transition: 1.5s;
  /* 透過率と縦方向の移動を0.8秒 */ }

.js-inview.is-inview b {
  opacity: 1;
  /* 最初は非表示 */
  transform: translateX(0px); }
.js-inview.is-inview b:nth-child(1) {
  transition-delay: 0.01s !important; }
.js-inview.is-inview b:nth-child(2) {
  transition-delay: 0.15s !important; }
.js-inview.is-inview b:nth-child(3) {
  transition-delay: 0.2s !important; }
.js-inview.is-inview b:nth-child(4) {
  transition-delay: 0.25s !important; }
.js-inview.is-inview b:nth-child(5) {
  transition-delay: 0.3s !important; }
.js-inview.is-inview b:nth-child(6) {
  transition-delay: 0.35s !important; }
.js-inview.is-inview b:nth-child(7) {
  transition-delay: 0.4s !important; }
.js-inview.is-inview b:nth-child(8) {
  transition-delay: 0.45s !important; }
.js-inview.is-inview b:nth-child(9) {
  transition-delay: 0.5s !important; }
.js-inview.is-inview b:nth-child(10) {
  transition-delay: 0.55s !important; }
.js-inview.is-inview b:nth-child(11) {
  transition-delay: 0.6s !important; }
.js-inview.is-inview b:nth-child(12) {
  transition-delay: 0.65s !important; }
.js-inview.is-inview b:nth-child(13) {
  transition-delay: 0.7s !important; }
.js-inview.is-inview b:nth-child(14) {
  transition-delay: 0.8s !important; }
.js-inview.is-inview b:nth-child(15) {
  transition-delay: 0.85s !important; }
.js-inview.is-inview b:nth-child(16) {
  transition-delay: 0.9s !important; }
.js-inview.is-inview b:nth-child(17) {
  transition-delay: 0.95s !important; }
.js-inview.is-inview b:nth-child(18) {
  transition-delay: 1.05s !important; }
.js-inview.is-inview b:nth-child(19) {
  transition-delay: 1.1s !important; }
.js-inview.is-inview b:nth-child(20) {
  transition-delay: 1.15s !important; }
.js-inview.is-inview b:nth-child(21) {
  transition-delay: 1.2s !important; }
.js-inview.is-inview b:nth-child(22) {
  transition-delay: 1.25s !important; }
.js-inview.is-inview b:nth-child(23) {
  transition-delay: 1.3s !important; }
.js-inview.is-inview b:nth-child(24) {
  transition-delay: 1.35s !important; }
.js-inview.is-inview b:nth-child(25) {
  transition-delay: 1.4s !important; }
.js-inview.is-inview b:nth-child(26) {
  transition-delay: 1.45s !important; }

/* フェードイン(スクロールした後) */
.js-fadeUp {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(20px);
  /* 下に30pxの位置から */
  transition: 1.5s;
  /* 透過率と縦方向の移動を0.8秒 */ }

.js-fadeUp.main {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(0px) !important;
  /* 下に30pxの位置から */ }
  @media screen and (max-width: 576px) {
    .js-fadeUp.main {
      transform: translateY(-50%) !important;
      /* 30px上に移動する */ } }
  .js-fadeUp.main.is-inview {
    -webkit-animation-name: blurAnime;
    animation-name: blurAnime;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
    @media screen and (max-width: 576px) {
      .js-fadeUp.main.is-inview {
        transform: translateY(-50%) !important;
        /* 30px上に移動する */ } }

.js-fadeUp.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateY(0);
  /* 30px上に移動する */ }

@keyframes blurAnime {
  0% {
    -webkit-filter: blur(10px);
    filter: blur(10px);
    opacity: 0;
    perspective: 1000;
    -webkit-perspective: 1000;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; }
  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
    opacity: 1;
    perspective: 1000;
    -webkit-perspective: 1000;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; } }
