@charset "UTF-8";
/*==================================================*/
/* 前提css */
/*==================================================*/
a, article, blockquote, body, caption, dd, div, dl, dt, footer, h1, h2, h3, h4, h5, h6, header, html, iframe, img, li, nav, ol, p, pre, section, small, span, strong, table, td, th, tr, ul, figure {
  background: 0;
  border: 0;
  font-size: 100%;
  line-height: 1;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: bottom; }

a, small, span, strong {
  vertical-align: baseline; }

article, footer, header, nav, section {
  display: block; }

li {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

address, th {
  font-style: normal; }

:focus, a:focus {
  outline: 0; }

br {
  letter-spacing: normal; }

textarea {
  resize: none; }

a {
  text-decoration: none; }

main img {
  height: auto;
  width: 100%; }

/*==================================================*/
/* レスポンシブ用css */
/*==================================================*/
.pc {
  display: block; }
  .pc.inline {
    display: inline; }
  .pc.flex {
    display: flex; }

.sp {
  display: none; }
  .sp.inline {
    display: none; }
  .sp.flex {
    display: none; }

@media (max-width: 650px) {
  .pc {
    display: none; }
    .pc.inline {
      display: none; }
    .pc.flex {
      display: none; }

  .sp {
    display: block; }
    .sp.inline {
      display: inline; }
    .sp.flex {
      display: flex; } }
/*==================================================*/
/* アニメーション用css */
/*==================================================*/
/*==================================================*/
/*==============================================================*/
/* アニメーション */
/*==============================================================*/
@-webkit-keyframes bright {
  0% {
    filter: brightness(0.2); }
  100% {
    filter: brightness(1); } }
@-moz-keyframes bright {
  0% {
    filter: brightness(0.2); }
  100% {
    filter: brightness(1); } }
@keyframes bright {
  0% {
    filter: brightness(0.2); }
  100% {
    filter: brightness(1); } }
@-webkit-keyframes scroll {
  0% {
    transform: translateY(0%); }
  50% {
    transform: translateY(30%); }
  100% {
    transform: translateY(0%); } }
@-moz-keyframes scroll {
  0% {
    transform: translateY(0%); }
  50% {
    transform: translateY(30%); }
  100% {
    transform: translateY(0%); } }
@keyframes scroll {
  0% {
    transform: translateY(0%); }
  50% {
    transform: translateY(30%); }
  100% {
    transform: translateY(0%); } }
@-webkit-keyframes scroll_mozi {
  0% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); }
  50% {
    transform: translateY(12%) rotateZ(90deg) scaleX(0.8); }
  100% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); } }
@-moz-keyframes scroll_mozi {
  0% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); }
  50% {
    transform: translateY(12%) rotateZ(90deg) scaleX(0.8); }
  100% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); } }
@keyframes scroll_mozi {
  0% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); }
  50% {
    transform: translateY(12%) rotateZ(90deg) scaleX(0.8); }
  100% {
    transform: translateY(0%) rotateZ(90deg) scaleX(0.8); } }
@-webkit-keyframes text_on {
  0% {
    opacity: 0; }
  99% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-moz-keyframes text_on {
  0% {
    opacity: 0; }
  99% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes text_on {
  0% {
    opacity: 0; }
  99% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@-webkit-keyframes text-eff_on {
  0% {
    left: -100%; }
  50% {
    left: 0%; }
  100% {
    left: 100%; } }
@-moz-keyframes text-eff_on {
  0% {
    left: -100%; }
  50% {
    left: 0%; }
  100% {
    left: 100%; } }
@keyframes text-eff_on {
  0% {
    left: -100%; }
  50% {
    left: 0%; }
  100% {
    left: 100%; } }
.bright {
  -webkit-animation: bright 1s ease;
  -moz-animation: bright 1s ease;
  animation: bright 1s ease;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both; }

/*==================================================

    1. common
    2. TOP
    3. Chapter01
    4. other lower
    5. footer

==================================================*/
/*==================================================
 1. common
==================================================*/
/* color */
/* font */
/* z-index */
/* Common Parts */
body {
  color: #3E3E3E;
  font-family: "Noto Sans JP", sans-serif;
  overflow-x: hidden; }

#humbergar {
  background-color: #fff;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 84px;
  height: 84px;
  border: 1px solid #707070;
  position: fixed;
  top: 40px;
  left: 40px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  #humbergar span {
    display: block;
    width: 56px;
    height: 1px;
    background: #707070;
    position: relative;
    margin: 21px 0; }
    #humbergar span::before, #humbergar span::after {
      content: "";
      width: 56px;
      height: 1px;
      background: #707070;
      position: absolute;
      left: 0; }
    #humbergar span::before {
      top: 15px; }
    #humbergar span::after {
      bottom: 15px; }
  #humbergar p {
    color: #707070;
    font-size: 15px;
    line-height: 1.6; }
  @media (max-width: 650px) {
    #humbergar {
      width: 64px;
      height: 64px;
      top: 20px;
      left: 20px; }
      #humbergar span {
        width: 44px;
        height: 1px;
        margin: 15px 0; }
        #humbergar span::before, #humbergar span::after {
          content: "";
          width: 44px;
          height: 1px;
          background: #707070;
          position: absolute;
          left: 0; }
        #humbergar span::before {
          top: 12px; }
        #humbergar span::after {
          bottom: 12px; }
      #humbergar p {
        color: #707070;
        font-size: 15px;
        line-height: 1.6; } }

nav#fix-nav {
  position: fixed;
  display: flex;
  transform: translateX(-100%);
  transition: .3s ease;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 100%;
  width: 20%;
  background: #DDDDDD;
  padding-left: 52px;
  z-index: 100;
    /*button {
        margin-top: 40px;
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
        width: 70px;
        height: 70px;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 68px;
        span {
            position: relative;
            &::before, &::after {
                content: "";
                width: 99px;
                height: 3px;
                background: #fff;
                position: absolute;
                left: -50px;
                //transform: translateX(-50%);
            }
            &::before {
                transform: rotate(45deg);
                top: 0;
                
            }
            &::after {
                transform: rotate(-45deg);
                top: 0;
            }
        }
        
        @include pad {
            width: 45px;
            height: 45px;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 34px;
            span {
                position: relative;
                &::before, &::after {
                    content: "";
                    width: 64px;
                    height: 3px;
                    background: #fff;
                    position: absolute;
                    left: -32px;
                    //transform: translateX(-50%);
                }
                &::before {
                    transform: rotate(45deg);
                    top: 0;

                }
                &::after {
                    transform: rotate(-45deg);
                    top: 0;
                }
            }
        }
    }*/ }
  nav#fix-nav.active {
    transform: translateX(0); }
  @media (max-width: 650px) {
    nav#fix-nav {
      width: 100%; } }
  nav#fix-nav a {
    display: block;
    padding: 10px 0;
    color: #3E3E3E;
    transition: .3s ease; }
    nav#fix-nav a .chap_title {
      display: block;
      font-size: 13px;
      margin-top: 6px;
      font-weight: normal; }
      @media (max-width: 650px) {
        nav#fix-nav a .chap_title {
          display: none; } }
    @media (max-width: 650px) {
      nav#fix-nav a .vol_title {
        display: none; } }
    nav#fix-nav a.blog {
      font-size: 15px; }
    nav#fix-nav a:hover {
      opacity: .5; }
  @media (max-width: 650px) {
    nav#fix-nav li:not(:first-child) a, nav#fix-nav li:not(:last-child) a {
      margin-left: 10px; } }
  nav#fix-nav #close {
    margin-top: 36px;
    margin-bottom: 20px;
    color: #3E3E3E;
    font-size: 40px;
    cursor: pointer; }
    @media (max-width: 650px) {
      nav#fix-nav #close {
        font-size: 28px; } }
  nav#fix-nav .nav_title {
    font-size: 24px;
    margin-bottom: 0; }
  nav#fix-nav .chap4_content {
    margin-left: 1em !important; }
    @media (max-width: 650px) {
      nav#fix-nav .chap4_content {
        margin-left: 2em !important; } }
  nav#fix-nav .main-page {
    font-weight: bold; }
  nav#fix-nav > ul {
    width: 70%; }
    @media (max-width: 650px) {
      nav#fix-nav > ul {
        display: flex;
        flex-wrap: wrap; } }
    nav#fix-nav > ul ul {
      margin-left: 0;
      width: 100%; }
      nav#fix-nav > ul ul li a {
        padding: 5px 0;
        font-size: 15px;
        line-height: 1.4; }
      nav#fix-nav > ul ul li:last-child {
        margin-bottom: 1em; }
    @media (max-width: 650px) {
      nav#fix-nav > ul ul li a {
        padding: 3px 0;
        font-size: 14px;
        line-height: 1.2; }
      nav#fix-nav > ul ul li:last-child {
        margin-bottom: 22px; } }
  nav#fix-nav > ul:first-of-type {
    position: relative; }
    nav#fix-nav > ul:first-of-type::after {
      content: "";
      width: 110%;
      height: 1px;
      background: #fff;
      position: absolute;
      bottom: 0;
      left: -5%; }
  nav#fix-nav ul + p {
    padding-top: 24px; }
    @media (max-width: 650px) {
      nav#fix-nav ul + p {
        padding-top: 12px; } }

.copy {
  display: inline-flex;
  margin: 0;
  vertical-align: baseline; }
  .copy .word {
    display: flex;
    opacity: 0;
    margin-left: 0.5em;
    margin-top: 0.1041666667vw; }
    .copy .word .letter {
      transform-origin: center center .6em; }
      .copy .word .letter.out {
        transform: rotateX(90deg);
        transition: 0.32s cubic-bezier(0.6, 0, 0.7, 0.2); }
      .copy .word .letter.in {
        transition: 0.38s ease; }
      .copy .word .letter.behind {
        transform: rotateX(-90deg); }

figure {
  width: auto;
  height: auto; }

/* animation */
@-webkit-keyframes wave {
  0% {
    -webkit-transform: scale(1, 1); }
  50% {
    opacity: .5; }
  100% {
    -webkit-transform: scale(5, 5);
    opacity: 0.0; } }
@-moz-keyframes wave {
  0% {
    -moz-transform: scale(1, 1); }
  50% {
    opacity: .5; }
  100% {
    -moz-transform: scale(5, 5);
    opacity: 0.0; } }
@-ms-keyframes wave {
  0% {
    -ms-transform: scale(1, 1); }
  50% {
    opacity: .5; }
  100% {
    -ms-transform: scale(5, 5);
    opacity: 0.0; } }
@-o-keyframes wave {
  0% {
    -o-transform: scale(1, 1); }
  50% {
    opacity: .5; }
  100% {
    -o-transform: scale(5, 5);
    opacity: 0.0; } }
@keyframes wave {
  0% {
    transform: scale(1, 1); }
  50% {
    opacity: .5; }
  100% {
    transform: scale(5, 5);
    opacity: 0.0; } }
#main_picture01, #main_picture02, #main_picture02_sp, #main_picture03 {
  position: relative;
  overflow: hidden; }
  #main_picture01 .ring, #main_picture02 .ring, #main_picture02_sp .ring, #main_picture03 .ring {
    background: #fff;
    position: absolute;
    height: 3.6458333333vw;
    width: 3.6458333333vw;
    border-radius: 50%;
    opacity: 0;
    z-index: 2; }
    #main_picture01 .ring.active, #main_picture02 .ring.active, #main_picture02_sp .ring.active, #main_picture03 .ring.active {
      -webkit-animation: wave 1s ease-out;
      -webkit-animation-iteration-count: 1;
      -moz-animation: wave 1s ease-out;
      -moz-animation-iteration-count: 1;
      -ms-animation: wave 1s ease-out;
      -ms-animation-iteration-count: 1;
      -o-animation: wave 1s ease-out;
      -o-animation-iteration-count: 1;
      animation: wave 1s ease-out;
      animation-iteration-count: 1; }
    @media (max-width: 1280px) {
      #main_picture01 .ring, #main_picture02 .ring, #main_picture02_sp .ring, #main_picture03 .ring {
        height: 47px;
        width: 47px; } }
    @media (max-width: 650px) {
      #main_picture01 .ring, #main_picture02 .ring, #main_picture02_sp .ring, #main_picture03 .ring {
        height: 6.1538461538vw;
        width: 6.1538461538vw; } }

#main_picture01 .ring {
  top: 22.9166666667vw;
  left: 12.5vw; }
  @media (max-width: 1280px) {
    #main_picture01 .ring {
      top: 293px;
      left: 160px; } }
  @media (max-width: 650px) {
    #main_picture01 .ring {
      top: 40vw;
      left: 20.307692307700002vw; } }

#main_picture02 .ring, #main_picture02_sp .ring {
  top: 38.9583333333vw;
  left: 30.2083333333vw; }
  @media (max-width: 1280px) {
    #main_picture02 .ring, #main_picture02_sp .ring {
      top: 499px;
      left: 387px; } }
  @media (max-width: 650px) {
    #main_picture02 .ring, #main_picture02_sp .ring {
      top: 64vw;
      left: 59.6923076923vw; } }

#main_picture03 .ring {
  top: 27.5vw;
  left: 9.375vw; }
  @media (max-width: 1280px) {
    #main_picture03 .ring {
      top: 352px;
      left: 120px; } }
  @media (max-width: 650px) {
    #main_picture03 .ring {
      top: 57.2307692308vw;
      left: 20.307692307700002vw; } }

.InVfadeInUp {
  opacity: 0;
  animation-duration: 4s;
  animation-delay: .4s; }

.animated {
  animation-duration: .6s; }

/*==================================================
 2. TOP
==================================================*/
#top header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 7.7604166667vw; }
  #top header h1 {
    width: 21.875vw;
    height: auto; }
    #top header h1 img {
      width: 100%;
      height: auto; }
  #top header .vertical {
    margin-top: 3.125vw;
    display: block;
    width: 6.7708333333vw;
    height: auto; }
    #top header .vertical img {
      width: 100%;
      height: auto; }
  #top header .eng {
    margin-top: 7.8645833333vw;
    text-align: center;
    line-height: 1.6;
    font-family: "Times New Roman", serif;
    font-size: 1.3020833333vw; }
  #top header .buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 2.6041666667vw; }
    #top header .buttons a button {
      background-color: #fff;
      border: 1px solid #3E3E3E;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      width: 13.0208333333vw;
      height: 6.6666666667vw;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: relative;
      transition: .3s ease;
      box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); }
      #top header .buttons a button .chap {
        font-size: 0.8333333333vw;
        line-height: 1.4;
        font-family: "Times New Roman", serif;
        color: #000000; }
      #top header .buttons a button .sub {
        font-size: 0.9375vw;
        line-height: 1.4;
        margin-top: 0.2604166667vw;
        font-family: "Times New Roman", serif;
        color: #000000;
        font-weight: bold; }
      #top header .buttons a button .copy {
        font-size: 0.8333333333vw;
        line-height: 1.4;
        margin-top: 0.2083333333vw;
        margin-bottom: 1.1979166667vw;
        color: #5D5D5D;
        font-family: "Times New Roman", serif;
        display: block; }
      #top header .buttons a button::after {
        content: "";
        border-top: 0.6770833333vw solid #B9B9B9;
        border-right: 0.625vw solid transparent;
        border-bottom: 0.6770833333vw solid transparent;
        border-left: 0.625vw solid transparent;
        position: absolute;
        left: 50%;
        bottom: 0.2083333333vw;
        transform: translateX(-50%);
        transition: .3s ease; }
      #top header .buttons a button:hover::after {
        bottom: 0; }
    #top header .buttons a + a {
      margin-left: 1.1979166667vw; }
  @media (max-width: 1280px) {
    #top header {
      padding-top: 100px; }
      #top header h1 {
        width: 274px; }
      #top header .vertical {
        margin-top: 39px;
        width: 85px; }
      #top header .eng {
        margin-top: 98px;
        font-size: 17px; }
      #top header .buttons {
        margin-top: 33px; }
        #top header .buttons a button {
          width: 161px;
          height: 81px; }
          #top header .buttons a button .chap {
            font-size: 11px; }
          #top header .buttons a button .sub {
            font-size: 12px;
            margin-top: 3px; }
          #top header .buttons a button .copy {
            font-size: 11px;
            margin-top: 3px;
            margin-bottom: 15px; }
          #top header .buttons a button::after {
            content: "";
            border-top: 8px solid #B9B9B9;
            border-right: 7px solid transparent;
            border-bottom: 8px solid transparent;
            border-left: 7px solid transparent;
            bottom: 4px; }
        #top header .buttons a + a {
          margin-left: 14px; } }
  @media (max-width: 650px) {
    #top header h1 {
      margin-top: 30.7692307692vw;
      width: 62.4615384615vw; }
    #top header .vertical {
      margin-top: 6.4615384615vw;
      width: 24.7692307692vw; }
    #top header .eng {
      font-size: 4.6153846154vw; }
    #top header .buttons {
      flex-direction: column;
      width: 100%;
      margin-top: 7.6923076923vw; }
      #top header .buttons a {
        width: 88%; }
        #top header .buttons a button {
          width: 100%;
          height: 25.8461538462vw; }
          #top header .buttons a button .chap {
            font-size: 3.6923076923vw; }
          #top header .buttons a button .sub {
            font-size: 4.6153846154vw; }
          #top header .buttons a button .copy {
            font-size: 3.6923076923vw;
            margin-bottom: 0; }
          #top header .buttons a button::after {
            content: none; }
          #top header .buttons a button:hover {
            box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2) inset; }
            #top header .buttons a button:hover .chap {
              margin-top: 2px; }
        #top header .buttons a .copy {
          display: block; }
        #top header .buttons a:nth-child(1) .copy span {
          color: #00C4FF; }
        #top header .buttons a:nth-child(2) .copy span {
          color: #9B9B9B; }
        #top header .buttons a:nth-child(3) .copy span {
          color: #FF3EFF; }
        #top header .buttons a:nth-child(4) .copy span {
          color: #32CD32; }
      #top header .buttons a + a {
        margin-left: 0;
        margin-top: 20px; } }
#top main section {
  position: relative;
  margin-top: 41.6666666667vw; }
  #top main section:first-child {
    margin-top: 20.46875vw; }
  #top main section:nth-child(2) {
    margin-top: 41.6666666667vw; }
  #top main section:nth-child(4) {
    margin-top: 26.0416666667vw; }
  #top main section .section_title .inner .chap, #top main section .section_title .inner .sub, #top main section .section_title .inner .copy {
    display: block; }
  #top main section .section_title .inner .chap {
    font-family: "Times New Roman", serif;
    font-size: 1.6666666667vw;
    line-height: 1.64;
    font-weight: normal; }
  #top main section .section_title .inner .sub {
    font-family: "Noto Serif", serif;
    font-size: 2.6041666667vw;
    line-height: 1.64;
    margin-top: 1.6666666667vw; }
  #top main section .section_title .inner .copy {
    font-family: "Times New Roman", serif;
    font-size: 1.0416666667vw;
    line-height: 1.2;
    margin-top: 1.25vw;
    display: flex;
    font-weight: 300; }
  #top main section .text_box {
    display: flex;
    width: 100%;
    height: auto;
    position: relative; }
    #top main section .text_box .inner {
      display: flex; }
      #top main section .text_box .inner .content {
        position: relative; }
        #top main section .text_box .inner .content .section_subtitle {
          font-family: "Noto Serif", serif;
          font-size: 1.3020833333vw;
          line-height: 1.4; }
        #top main section .text_box .inner .content .text {
          font-size: 0.8333333333vw;
          line-height: 1.6;
          margin-top: 1.6666666667vw; }
        #top main section .text_box .inner .content button {
          background-color: transparent;
          border: transparent;
          cursor: pointer;
          outline: none;
          padding: 0;
          appearance: none;
          position: relative;
          font-size: 1.0416666667vw;
          font-family: "Noto Serif", serif;
          transition: .3s ease;
          margin-top: 1.6666666667vw;
          vertical-align: middle; }
          #top main section .text_box .inner .content button::after {
            content: "→";
            position: absolute;
            top: 50%;
            right: -20px;
            transform: translateY(-50%);
            font-family: "Noto Serif", serif;
            transition: .3s ease; }
          #top main section .text_box .inner .content button:hover {
            opacity: .5; }
            #top main section .text_box .inner .content button:hover::after {
              right: -24px; }
      #top main section .text_box .inner figure {
        z-index: 1; }
    #top main section .text_box::before {
      content: "";
      width: 100%;
      background: #EDEDED;
      z-index: -10;
      position: absolute;
      transform: translateX(-100%);
      transition: 3s ease; }
  #top main section.active .text_box::before {
    transform: translateX(0); }
  @media (max-width: 1280px) {
    #top main section {
      margin-top: 884px; }
      #top main section:first-child {
        margin-top: 318px; }
      #top main section:nth-child(2) {
        margin-top: 647px; }
      #top main section .section_title .inner .chap {
        font-size: 21px; }
      #top main section .section_title .inner .sub {
        font-size: 32px;
        margin-top: 13px; }
      #top main section .section_title .inner .copy {
        font-size: 13px;
        margin-top: 10px; }
      #top main section .text_box .inner .content .section_subtitle {
        font-size: 16px; }
      #top main section .text_box .inner .content .text {
        font-size: 10px;
        margin-top: 32px; }
      #top main section .text_box .inner .content button {
        font-size: 13px;
        margin-top: 32px; } }
  @media (max-width: 650px) {
    #top main section {
      margin-top: 12.6153846154vw;
      padding-top: 9.2307692308vw;
      padding-bottom: 18.6153846154vw; }
      #top main section:not(:first-child) {
        padding-bottom: 12.3076923077vw; }
      #top main section .section_title .inner .chap {
        font-size: 5.5384615385vw; }
      #top main section .section_title .inner .sub {
        font-size: 8.3076923077vw;
        margin-top: 4.6153846154vw; }
      #top main section .section_title .inner .copy {
        font-size: 4.6153846154vw;
        margin-top: 5.0769230769vw; }
      #top main section .text_box .inner .content {
        position: relative; }
        #top main section .text_box .inner .content .section_subtitle {
          font-size: 5.5384615385vw; }
        #top main section .text_box .inner .content .text {
          font-size: 4.3076923077vw;
          margin-top: 32px; }
        #top main section .text_box .inner .content button {
          font-size: 5.5384615385vw;
          display: block;
          margin: 0 auto;
          margin-bottom: 6vw;
          margin-top: 5.3846153846vw; }
          #top main section .text_box .inner .content button::after {
            content: "→";
            position: absolute;
            top: 50%;
            right: -34px;
            transform: translateY(-50%);
            font-family: "Noto Serif", serif;
            transition: .3s ease; }
          #top main section .text_box .inner .content button:hover::after {
            right: -38px; }
      #top main section .text_box .inner figure {
        z-index: 1; }
      #top main section .text_box::before {
        content: none; }
      #top main section:nth-last-child(even) {
        background: #EDEDED; } }
#top main #chapter01 .section_title {
  width: 81.3020833333vw;
  display: block;
  margin: 0 0 0 auto; }
  #top main #chapter01 .section_title .copy span {
    color: #00C4FF; }
#top main #chapter01 .text_box {
  justify-content: flex-end; }
  #top main #chapter01 .text_box .inner {
    justify-content: flex-end;
    width: 81.3020833333vw; }
    #top main #chapter01 .text_box .inner .content {
      margin-top: 7.7083333333vw;
      margin-right: 4.3229166667vw; }
      #top main #chapter01 .text_box .inner .content .section_subtitle {
        width: 27.2916666667vw; }
      #top main #chapter01 .text_box .inner .content .text {
        width: 25.6770833333vw; }
    #top main #chapter01 .text_box .inner figure {
      width: 49.6875vw;
      height: auto;
      margin-top: -4.7916666667vw;
      padding-bottom: 0.625vw; }
  #top main #chapter01 .text_box::before {
    height: calc( 100% - 78px );
    top: 78px; }
#top main #chapter01 .cap1_map, #top main #chapter01 .cap1_pic {
  position: absolute; }
#top main #chapter01 .cap1_map {
  top: -11.4583333333vw;
  left: 38.90625vw;
  z-index: -4;
  width: 22.1875vw;
  height: auto; }
  #top main #chapter01 .cap1_map img {
    width: 100%;
    height: auto; }
#top main #chapter01 .cap1_pic {
  bottom: -156px;
  left: 11.3541666667vw;
  z-index: -5;
  width: 27.8125vw;
  height: auto; }
  #top main #chapter01 .cap1_pic img {
    width: 100%;
    height: auto; }
@media (max-width: 1280px) {
  #top main #chapter01 .section_title {
    width: 1040px; }
  #top main #chapter01 .text_box .inner {
    width: 1040px; }
    #top main #chapter01 .text_box .inner .content {
      margin-top: 98px;
      margin-right: 55px; }
      #top main #chapter01 .text_box .inner .content .section_subtitle {
        width: 349px; }
      #top main #chapter01 .text_box .inner .content .text {
        width: 328px; }
    #top main #chapter01 .text_box .inner figure {
      width: 636px;
      margin-top: -61px;
      padding-bottom: 8px; }
  #top main #chapter01 .cap1_map {
    top: -147px;
    left: 498px;
    width: 284px; }
  #top main #chapter01 .cap1_pic {
    bottom: -156px;
    left: 290px;
    width: 356px; } }
@media screen and (max-width: 1090px) {
  #top main #chapter01 .section_title {
    margin-left: 50px; }
  #top main #chapter01 .text_box {
    justify-content: flex-start;
    margin-left: 50px; } }
@media (max-width: 650px) {
  #top main #chapter01 .section_title {
    width: 88%;
    margin: 0 auto; }
  #top main #chapter01 .text_box {
    justify-content: center;
    width: 100%;
    margin-top: 10.9230769231vw;
    margin-left: 0; }
    #top main #chapter01 .text_box .inner {
      flex-direction: column-reverse;
      justify-content: center;
      width: 88%; }
      #top main #chapter01 .text_box .inner .content {
        margin-top: 7.7083333333vw;
        margin-right: 4.3229166667vw; }
        #top main #chapter01 .text_box .inner .content .section_subtitle {
          width: 100%; }
        #top main #chapter01 .text_box .inner .content .text {
          width: 100%; }
      #top main #chapter01 .text_box .inner figure {
        width: 100%;
        margin-top: 0;
        z-index: 1; }
    #top main #chapter01 .text_box::before {
      height: calc( 100% - 78px );
      top: 78px; }
  #top main #chapter01 .cap1_map, #top main #chapter01 .cap1_pic {
    position: static; }
  #top main #chapter01 .cap1_map {
    z-index: 1;
    width: 100%; }
    #top main #chapter01 .cap1_map img {
      width: 65.23076923080001vw;
      margin-left: 5.8461538462vw; }
  #top main #chapter01 .cap1_pic {
    z-index: 1;
    width: 65.3846153846vw;
    margin-top: 6.3076923077vw;
    margin-left: 28.7692307692vw; } }
#top main #chapter02.adjust_innner {
  margin-top: -vw(280);
  padding-top: 14.5833333333vw; }
#top main #chapter02 #main_picture02, #top main #chapter02 #main_picture02_sp {
  width: 45.1041666667vw;
  height: auto;
  margin-left: 4.5833333333vw;
  margin-top: -28.75vw;
  padding-top: 10.4166666667vw;
  padding-bottom: 4.7916666667vw; }
  #top main #chapter02 #main_picture02.pc, #top main #chapter02 #main_picture02_sp.pc {
    display: block; }
  #top main #chapter02 #main_picture02.sp, #top main #chapter02 #main_picture02_sp.sp {
    display: none; }
#top main #chapter02 .section_title .copy span {
  color: #AFAFAF; }
#top main #chapter02 .text_box .inner {
  flex-direction: column;
  margin-top: -6.875vw; }
  #top main #chapter02 .text_box .inner .content {
    margin-left: 5.8854166667vw; }
    #top main #chapter02 .text_box .inner .content .section_subtitle {
      margin-top: 7.65625vw; }
    #top main #chapter02 .text_box .inner .content .text {
      width: 25.625vw; }
#top main #chapter02 .text_box::before {
  width: 100%;
  height: 120%;
  top: 0;
  left: 0; }
#top main #chapter02 .cap2_map, #top main #chapter02 .cap2_pic {
  position: absolute; }
#top main #chapter02 .cap2_map {
  top: -34.0104166667vw;
  right: 11.5625vw;
  z-index: -4;
  width: 27.6041666667vw;
  height: auto; }
  #top main #chapter02 .cap2_map img {
    width: 100%;
    height: auto; }
#top main #chapter02 .cap2_pic {
  bottom: -21.875vw;
  left: 34.5833333333vw;
  z-index: -5;
  width: 22.65625vw;
  height: auto; }
  #top main #chapter02 .cap2_pic img {
    width: 100%;
    height: auto; }
@media (max-width: 1280px) {
  #top main #chapter02.adjust_innner {
    padding-top: 186px; }
  #top main #chapter02 #main_picture02, #top main #chapter02 #main_picture02_sp {
    min-width: 577px;
    margin-left: 58px;
    margin-top: -368px;
    padding-top: 133px;
    padding-bottom: 61px; }
  #top main #chapter02 .text_box .inner {
    margin-top: -88px; }
    #top main #chapter02 .text_box .inner .content {
      margin-left: 75px; }
      #top main #chapter02 .text_box .inner .content .section_subtitle {
        margin-top: 98px; }
      #top main #chapter02 .text_box .inner .content .text {
        width: 328px; }
  #top main #chapter02 .cap2_map {
    top: -411px;
    right: 148px;
    width: 353px; }
  #top main #chapter02 .cap2_pic {
    bottom: -280px;
    left: 905px;
    width: 290px; } }
@media (max-width: 650px) {
  #top main #chapter02.adjust_innner {
    margin-top: -vw_pad(200) !important;
    padding-top: 30.7692307692vw !important; }
  #top main #chapter02 .section_title {
    width: 100%;
    margin: 0 auto; }
  #top main #chapter02 #main_picture02, #top main #chapter02 #main_picture02_sp {
    width: 100%;
    margin-top: 10.7692307692vw;
    padding: 0;
    z-index: 1;
    margin-left: 0;
    min-width: inherit; }
    #top main #chapter02 #main_picture02.pc, #top main #chapter02 #main_picture02_sp.pc {
      display: none; }
    #top main #chapter02 #main_picture02.sp, #top main #chapter02 #main_picture02_sp.sp {
      display: block; }
  #top main #chapter02 .text_box {
    justify-content: center;
    width: 100%;
    margin-top: 10.9230769231vw; }
    #top main #chapter02 .text_box .inner {
      flex-direction: column;
      justify-content: center;
      width: 88%; }
      #top main #chapter02 .text_box .inner .content {
        margin: 0 auto;
        margin-top: 7.7083333333vw; }
        #top main #chapter02 .text_box .inner .content .section_subtitle {
          width: 100%; }
        #top main #chapter02 .text_box .inner .content .text {
          width: 100%; }
    #top main #chapter02 .text_box::before {
      height: calc( 100% - 78px );
      top: 78px; }
  #top main #chapter02 .cap2_map, #top main #chapter02 .cap2_pic {
    position: static; }
  #top main #chapter02 .cap2_map {
    z-index: 1;
    width: 100%;
    padding: 0; }
    #top main #chapter02 .cap2_map img {
      width: 65.23076923080001vw;
      margin-left: 28.7692307692vw; }
  #top main #chapter02 .cap2_pic {
    z-index: 1;
    padding: 0;
    width: 33.5384615385vw;
    margin-top: -10.7692307692vw;
    margin-left: 5.8461538462vw; } }
#top main #chapter03.adjust_innner {
  margin-top: -vw(200);
  padding-top: 10.4166666667vw; }
#top main #chapter03 .section_title {
  width: auto;
  padding-left: 18.75vw;
  text-shadow: 0px 0px 3px #fff; }
  #top main #chapter03 .section_title .copy span {
    color: #FF3EFF; }
#top main #chapter03 .text_box .inner {
  padding-left: 18.75vw; }
  #top main #chapter03 .text_box .inner .content {
    margin-top: 7.7083333333vw;
    margin-right: 4.3229166667vw; }
    #top main #chapter03 .text_box .inner .content .text {
      width: 25.625vw; }
  #top main #chapter03 .text_box .inner #main_picture03 {
    width: 42.2916666667vw;
    height: auto;
    margin-top: -28.125vw;
    margin-right: 7.3958333333vw;
    /*img {
        width: 100%;
        height: auto;
    }*/ }
#top main #chapter03 .text_box::before {
  height: calc( 100% - 178px );
  top: 78px; }
#top main #chapter03 .cap3_map, #top main #chapter03 .cap3_pic {
  position: absolute; }
#top main #chapter03 .cap3_map {
  top: -37.5vw;
  left: 24.0104166667vw;
  z-index: -4;
  width: 23.6979166667vw;
  height: auto; }
  #top main #chapter03 .cap3_map img {
    width: 100%;
    height: auto; }
#top main #chapter03 .cap3_pic {
  bottom: -4.8958333333vw;
  left: -25vw;
  z-index: -5;
  width: 32.8125vw;
  height: auto; }
  #top main #chapter03 .cap3_pic img {
    width: 100%;
    height: auto; }
@media (max-width: 1280px) {
  #top main #chapter03.adjust_innner {
    padding-top: 200px; }
  #top main #chapter03 .section_title {
    padding-left: 240px; }
  #top main #chapter03 .text_box .inner {
    padding-left: 360px; }
    #top main #chapter03 .text_box .inner .content {
      margin-top: 98px;
      margin-right: 55px; }
      #top main #chapter03 .text_box .inner .content .text {
        width: 328px; }
    #top main #chapter03 .text_box .inner #main_picture03 {
      width: 541px;
      margin-top: -360px;
      margin-right: 94px; }
  #top main #chapter03 .text_box::before {
    height: calc( 100% - 178px );
    top: 78px; }
  #top main #chapter03 .cap3_map {
    top: -287px;
    left: 307px;
    width: 303px; }
  #top main #chapter03 .cap3_pic {
    bottom: -62px;
    left: -47px;
    width: 420px; } }
@media (max-width: 650px) {
  #top main #chapter03.adjust_innner {
    margin-top: 0 !important;
    padding-top: 12.3076923077vw !important; }
  #top main #chapter03 .section_title {
    width: 88%;
    margin: 0 auto;
    padding: 0; }
    #top main #chapter03 .section_title .inner .sub {
      font-size: 7.6923076923vw; }
  #top main #chapter03 .text_box {
    justify-content: center;
    width: 100%;
    margin-top: 10.9230769231vw; }
    #top main #chapter03 .text_box .inner {
      flex-direction: column-reverse;
      justify-content: center;
      width: 88%;
      padding: 0; }
      #top main #chapter03 .text_box .inner .content {
        margin-top: 7.7083333333vw;
        margin-right: 4.3229166667vw; }
        #top main #chapter03 .text_box .inner .content .section_subtitle {
          width: 100%;
          font-size: 5.2307692308vw; }
          #top main #chapter03 .text_box .inner .content .section_subtitle br.pc {
            display: none; }
        #top main #chapter03 .text_box .inner .content .text {
          width: 100%; }
      #top main #chapter03 .text_box .inner #main_picture03 {
        width: 100%;
        margin-top: 0;
        z-index: 1; }
    #top main #chapter03 .text_box::before {
      height: calc( 100% - 78px );
      top: 78px; }
  #top main #chapter03 .cap3_map, #top main #chapter03 .cap3_pic {
    position: static; }
  #top main #chapter03 .cap3_map {
    z-index: 1;
    width: 100%; }
    #top main #chapter03 .cap3_map img {
      width: 67.8461538462vw;
      margin-left: 5.8461538462vw; }
  #top main #chapter03 .cap3_pic {
    z-index: 1;
    width: 88.9230769231vw;
    margin-top: 7.6923076923vw;
    margin-left: 5.8461538462vw; } }
#top main #chapter04.adjust_innner {
  margin-top: -vw(300);
  padding-top: 15.625vw; }
#top main #chapter04 #main_picture04, #top main #chapter04 #main_picture04_sp {
  width: 37.4479166667vw;
  height: auto;
  margin-left: 4.5833333333vw;
  margin-top: -23.4375vw;
  padding-top: 10.4166666667vw;
  padding-bottom: 4.7916666667vw; }
  #top main #chapter04 #main_picture04.pc, #top main #chapter04 #main_picture04_sp.pc {
    display: block; }
  #top main #chapter04 #main_picture04.sp, #top main #chapter04 #main_picture04_sp.sp {
    display: none; }
#top main #chapter04 .section_title .inner {
  width: 100% !important; }
  #top main #chapter04 .section_title .inner .copy span {
    color: #32CD32; }
#top main #chapter04 .text_box .inner {
  flex-direction: column;
  margin-top: -6.875vw; }
  #top main #chapter04 .text_box .inner .content {
    margin-left: 13.0208333333vw; }
    #top main #chapter04 .text_box .inner .content .section_subtitle {
      margin-top: 7.65625vw; }
    #top main #chapter04 .text_box .inner .content .text {
      width: 25.625vw; }
    #top main #chapter04 .text_box .inner .content .cap4_sub {
      margin-top: 5vw;
      width: 100%;
      height: auto; }
      #top main #chapter04 .text_box .inner .content .cap4_sub img {
        width: 20.4166666667vw;
        height: auto;
        display: block;
        margin-left: auto; }
      @media (max-width: 650px) {
        #top main #chapter04 .text_box .inner .content .cap4_sub.pc {
          display: none; } }
#top main #chapter04 .text_box::before {
  width: 100%;
  height: 52.0833333333vw;
  top: 0;
  left: 0; }
#top main #chapter04 .cap4_map, #top main #chapter04 .cap4_pic {
  position: absolute; }
#top main #chapter04 .cap4_map {
  top: -47.9166666667vw;
  right: 24.1666666667vw;
  z-index: -4;
  width: 20.4166666667vw;
  height: auto; }
  #top main #chapter04 .cap4_map img {
    width: 100%;
    height: auto; }
#top main #chapter04 .cap4_pic {
  bottom: -9.8958333333vw;
  left: -20.8333333333vw;
  z-index: -5;
  width: 20vw;
  height: auto; }
  #top main #chapter04 .cap4_pic img {
    width: 100%;
    height: auto; }
@media (max-width: 1280px) {
  #top main #chapter04.adjust_innner {
    padding-top: 164px; }
  #top main #chapter04 #main_picture04, #top main #chapter04 #main_picture04_sp {
    min-width: 393px;
    margin-left: 48px;
    margin-top: -246px;
    padding-top: 109px;
    padding-bottom: 50px; }
  #top main #chapter04 .text_box .inner {
    margin-top: -72px; }
    #top main #chapter04 .text_box .inner .content {
      margin-left: 136px; }
      #top main #chapter04 .text_box .inner .content .section_subtitle {
        margin-top: 80px; }
      #top main #chapter04 .text_box .inner .content .text {
        width: 269px; }
      #top main #chapter04 .text_box .inner .content .cap4_sub {
        margin-top: 52px; }
        #top main #chapter04 .text_box .inner .content .cap4_sub img {
          width: 320px; }
  #top main #chapter04 .text_box::before {
    height: 800px; }
  #top main #chapter04 .cap4_map {
    top: -585px;
    right: 253px;
    width: 214px; }
  #top main #chapter04 .cap4_pic {
    bottom: -190px;
    left: -400px;
    width: 256px; } }
@media (max-width: 650px) {
  #top main #chapter04.adjust_innner {
    margin-top: 0 !important;
    padding-top: 7.6923076923vw !important; }
  #top main #chapter04 .section_title {
    width: 100%;
    margin: 0 auto; }
  #top main #chapter04 #main_picture04, #top main #chapter04 #main_picture04_sp {
    min-width: inherit;
    width: 100%;
    margin-top: 0;
    z-index: 1;
    margin-left: 0; }
    #top main #chapter04 #main_picture04.pc, #top main #chapter04 #main_picture04_sp.pc {
      display: none; }
    #top main #chapter04 #main_picture04.sp, #top main #chapter04 #main_picture04_sp.sp {
      display: block; }
  #top main #chapter04 .text_box {
    justify-content: center;
    width: 100%;
    margin-top: 0; }
    #top main #chapter04 .text_box .inner {
      flex-direction: column;
      justify-content: center;
      margin-top: 0;
      width: 88%; }
      #top main #chapter04 .text_box .inner .content {
        margin: 0 auto;
        margin-top: 0; }
        #top main #chapter04 .text_box .inner .content .section_subtitle {
          width: 100%; }
        #top main #chapter04 .text_box .inner .content .text {
          width: 100%; }
    #top main #chapter04 .text_box::before {
      height: calc( 100% - 78px );
      top: 78px; }
  #top main #chapter04 .sp figure {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    #top main #chapter04 .sp figure img {
      width: 46%;
      height: 100%;
      margin-top: 3.0769230769vw; }
  #top main #chapter04 .cap4_map, #top main #chapter04 .cap4_pic {
    position: static; }
  #top main #chapter04 .cap4_map {
    z-index: 1;
    width: 100%;
    padding: 0; }
    #top main #chapter04 .cap4_map img {
      width: 65.23076923080001vw;
      margin-left: 28.7692307692vw; }
  #top main #chapter04 .cap4_pic {
    z-index: 1;
    padding: 0;
    width: 65.3846153846vw;
    margin-top: 8vw;
    margin-left: 5.8461538462vw; } }
@media (max-width: 650px) {
  #top main section {
    margin-top: 20.46875vw !important; }
  #top main #chapter01 {
    padding-bottom: 12.3076923077vw; }
  #top main #chapter02.adjust_innner {
    margin-top: -12.3076923077vw !important;
    padding-top: -12.3076923077vw !important; }
  #top main #chapter02 .text_box .inner {
    flex-direction: column;
    margin-top: -14.1538461538vw; } }

/*==================================================
 3. Chapter
==================================================*/
.chapter header {
  height: 27.34375vw;
  position: relative; }
  .chapter header.header_chap04 {
    height: 0; }
  .chapter header h1 {
    display: block;
    width: 3.6458333333vw;
    height: auto;
    position: absolute;
    top: 8.75vw;
    left: 3.125vw; }
    .chapter header h1 img {
      width: 100%;
      height: auto; }
      .chapter header h1 img.pc {
        display: block; }
      .chapter header h1 img.sp {
        display: none; }
  @media (max-width: 650px) {
    .chapter header {
      height: 27.2307692308vw; }
      .chapter header h1 {
        position: relative;
        top: auto;
        left: auto;
        display: block;
        width: 100%;
        text-align: center;
        padding-top: 6.1538461538vw;
        margin-bottom: 1.6923076923vw; }
        .chapter header h1 img {
          width: 42.3076923077vw; }
          .chapter header h1 img.pc {
            display: none; }
          .chapter header h1 img.sp {
            display: inline; } }

#chapter01 main .width_inner {
  display: block;
  width: 62.5vw;
  margin: 0 auto; }
  @media (max-width: 1280px) {
    #chapter01 main .width_inner {
      width: 800px; } }
  @media (max-width: 650px) {
    #chapter01 main .width_inner {
      width: 88.6%; } }
#chapter01 main .flex {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 650px) {
    #chapter01 main .flex {
      flex-direction: column;
      align-items: flex-start; } }
#chapter01 main .main_visual {
  padding-top: 8.6979166667vw;
  padding-bottom: 8.5416666667vw;
  position: relative; }
  #chapter01 main .main_visual h2 {
    display: flex;
    flex-direction: column; }
    #chapter01 main .main_visual h2 .chap {
      font-family: "Times New Roman", serif;
      font-size: 1.6666666667vw;
      color: #A5A5A5; }
    #chapter01 main .main_visual h2 .title {
      font-family: "Times New Roman", serif;
      font-size: 2.6041666667vw; }
    #chapter01 main .main_visual h2 .eng {
      font-family: "Times New Roman", serif;
      font-size: 1.0416666667vw;
      font-weight: 300; }
      #chapter01 main .main_visual h2 .eng span {
        display: inline-block;
        color: #00C4FF; }
    #chapter01 main .main_visual h2 span {
      display: block; }
    #chapter01 main .main_visual h2 span:not(:first-child) {
      margin-top: 10px; }
  #chapter01 main .main_visual figure {
    margin-top: -27.2916666667vw;
    width: 30.8854166667vw;
    height: auto; }
    #chapter01 main .main_visual figure img {
      width: 100%;
      height: auto; }
  #chapter01 main .main_visual::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #EDEDED;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100vw);
    z-index: -10;
    transition: 3s ease; }
  #chapter01 main .main_visual.active::before {
    transform: translateX(0); }
  @media (max-width: 1280px) {
    #chapter01 main .main_visual {
      padding-top: 167px;
      padding-bottom: 164px; }
      #chapter01 main .main_visual h2 .chap {
        font-size: 21px; }
      #chapter01 main .main_visual h2 .title {
        font-size: 33px; }
      #chapter01 main .main_visual h2 .eng {
        font-size: 13px; }
      #chapter01 main .main_visual figure {
        margin-top: -349px;
        width: 395px; } }
  @media (max-width: 650px) {
    #chapter01 main .main_visual {
      background: #EDEDED;
      flex-direction: column;
      padding-top: 6.3076923077vw;
      padding-bottom: 10.9230769231vw; }
      #chapter01 main .main_visual .width_inner {
        padding: 0; }
      #chapter01 main .main_visual h2 .chap {
        font-size: 7.0769230769vw; }
      #chapter01 main .main_visual h2 .title {
        font-size: 9.2307692308vw;
        margin-top: 4.3076923077vw !important; }
      #chapter01 main .main_visual h2 .eng {
        font-size: 4vw;
        margin-top: 6.1538461538vw !important; }
      #chapter01 main .main_visual h2 span {
        line-height: 1.6; }
      #chapter01 main .main_visual figure {
        margin-top: 3.8461538462vw;
        width: 100%;
        height: auto; }
      #chapter01 main .main_visual::before {
        content: none; } }
#chapter01 main .contents section:nth-child(even) {
  flex-direction: row-reverse; }
#chapter01 main .contents section:nth-child(4) {
  flex-direction: row; }
#chapter01 main .contents section .text_box {
  flex-direction: column; }
  #chapter01 main .contents section .text_box h3 {
    font-family: "Noto Serif", serif;
    font-size: 1.6666666667vw;
    color: #A5A5A5;
    line-height: 1.6; }
  #chapter01 main .contents section .text_box p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.8333vw, 15px);
    margin-top: 1.40625vw;
    color: #1F1F1F;
    line-height: 1.8; }
    #chapter01 main .contents section .text_box p + h3 {
      margin-top: 1.875vw; }
  #chapter01 main .contents section .text_box::before {
    content: none; }
#chapter01 main .contents section .wrapper_flex {
  display: flex; }
#chapter01 main .contents section figure {
  display: flex;
  flex-direction: column; }
  #chapter01 main .contents section figure figcaption {
    font-size: 0.6770833333vw;
    margin-top: 0.5208333333vw; }
#chapter01 main .contents section#sec01 {
  margin-top: 7.8125vw; }
  #chapter01 main .contents section#sec01 .text_box {
    width: 31.5104166667vw; }
  #chapter01 main .contents section#sec01 figure img {
    height: 16.7708333333vw;
    width: 12.2395833333vw; }
  #chapter01 main .contents section#sec01 figure:not(:first-child) {
    margin-left: 1.09375vw; }
#chapter01 main .contents section#sec02 {
  margin-top: 7.8125vw; }
  #chapter01 main .contents section#sec02 .text_box {
    width: 31.5104166667vw; }
  #chapter01 main .contents section#sec02 figure {
    width: 25.6770833333vw; }
    #chapter01 main .contents section#sec02 figure img {
      width: 100%;
      height: auto; }
#chapter01 main .contents section#sec_add {
  display: none; }
#chapter01 main .contents section#sec03 {
  margin-top: 5.0520833333vw; }
  #chapter01 main .contents section#sec03 .text_box {
    width: 38.9583333333vw; }
  #chapter01 main .contents section#sec03 figure {
    width: 17.8645833333vw; }
    #chapter01 main .contents section#sec03 figure img {
      width: 100%;
      height: auto; }
#chapter01 main .contents section#sec04 {
  margin-top: 4.53125vw; }
  #chapter01 main .contents section#sec04 .text_box {
    width: 25.5729166667vw; }
  #chapter01 main .contents section#sec04 figure {
    width: 31.5104166667vw; }
    #chapter01 main .contents section#sec04 figure img {
      width: 100%;
      height: auto; }
@media (max-width: 1280px) {
  #chapter01 main .contents section {
    /*&#sec_add {
        display: none;
    }*/ }
    #chapter01 main .contents section .text_box h3 {
      font-size: 21px; }
    #chapter01 main .contents section .text_box p {
      font-size: 15px;
      margin-top: 18px; }
      #chapter01 main .contents section .text_box p + h3 {
        margin-top: 24px; }
    #chapter01 main .contents section figure figcaption {
      font-size: 12px;
      margin-top: 6px; }
    #chapter01 main .contents section#sec01 {
      margin-top: 100px; }
      #chapter01 main .contents section#sec01 .text_box {
        width: 403px; }
      #chapter01 main .contents section#sec01 figure img {
        height: 214px;
        width: 157px; }
      #chapter01 main .contents section#sec01 figure:not(:first-child) {
        margin-left: 14px; }
    #chapter01 main .contents section#sec02 {
      margin-top: 100px; }
      #chapter01 main .contents section#sec02 .text_box {
        width: 403px; }
      #chapter01 main .contents section#sec02 figure {
        width: 328px; }
    #chapter01 main .contents section#sec03 {
      margin-top: 64px; }
      #chapter01 main .contents section#sec03 .text_box {
        width: 498px; }
      #chapter01 main .contents section#sec03 figure {
        width: 228px; }
    #chapter01 main .contents section#sec04 {
      margin-top: 58px; }
      #chapter01 main .contents section#sec04 .text_box {
        width: 327px; }
      #chapter01 main .contents section#sec04 figure {
        width: 403px; } }
@media (max-width: 650px) {
  #chapter01 main .contents .width_inner {
    width: 100%; }
  #chapter01 main .contents section:nth-child(odd) {
    background: #fff !important; }
  #chapter01 main .contents section:nth-child(even) {
    flex-direction: column;
    background: #EDEDED !important; }
  #chapter01 main .contents section .text_box {
    width: 88.6% !important;
    display: block;
    margin: 0 auto; }
    #chapter01 main .contents section .text_box h3 {
      font-size: 5.5384615385vw; }
    #chapter01 main .contents section .text_box p {
      font-size: 4.3076923077vw; }
      #chapter01 main .contents section .text_box p + h3 {
        margin-top: 0; }
  #chapter01 main .contents section figure {
    width: 88.6%;
    display: block;
    margin: 0 auto; }
    #chapter01 main .contents section figure img {
      width: 100%;
      height: auto; }
    #chapter01 main .contents section figure figcaption {
      margin-top: 1.8461538462vw;
      font-size: 3.6923076923vw; }
  #chapter01 main .contents section#sec01 {
    margin-top: 0;
    padding-top: 7.0769230769vw;
    padding-bottom: 14.4615384615vw; }
    #chapter01 main .contents section#sec01 .wrapper_flex {
      width: 88.6%;
      margin: 0 auto; }
      #chapter01 main .contents section#sec01 .wrapper_flex figure {
        width: 48%;
        height: auto;
        margin-top: 8.6153846154vw; }
        #chapter01 main .contents section#sec01 .wrapper_flex figure img {
          width: 100%;
          height: auto; }
        #chapter01 main .contents section#sec01 .wrapper_flex figure img:not(:first-child) {
          margin-left: 0; }
  #chapter01 main .contents section#sec02 {
    margin-top: 0;
    padding-top: 8.6153846154vw;
    padding-bottom: 10.7692307692vw; }
    #chapter01 main .contents section#sec02 figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.4615384615vw; }
      #chapter01 main .contents section#sec02 figure img {
        width: 100%;
        height: auto; }
    #chapter01 main .contents section#sec02 .add {
      display: none; }
  #chapter01 main .contents section#sec_add {
    display: block;
    margin-top: 0;
    padding-top: 11.5384615385vw;
    padding-bottom: 12.3076923077vw; }
    #chapter01 main .contents section#sec_add figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.9230769231vw; }
      #chapter01 main .contents section#sec_add figure img {
        width: 100%;
        height: auto; }
  #chapter01 main .contents section#sec03 {
    margin-top: 0;
    padding-top: 7.3846153846vw;
    padding-bottom: 12vw; }
    #chapter01 main .contents section#sec03 figure {
      width: 88.6%;
      height: auto;
      margin-top: 7.3846153846vw; }
      #chapter01 main .contents section#sec03 figure img {
        width: 100%;
        height: auto; }
  #chapter01 main .contents section#sec04 {
    margin-top: 0;
    padding-top: 9.6923076923vw;
    padding-bottom: 12.4615384615vw; }
    #chapter01 main .contents section#sec04 .text_box p {
      font-size: 4.3076923077vw; }
    #chapter01 main .contents section#sec04 figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.4615384615vw; }
      #chapter01 main .contents section#sec04 figure img {
        width: 100%;
        height: auto; } }

#chapter02 main .width_inner {
  display: block;
  width: 62.5vw;
  margin: 0 auto; }
  @media (max-width: 1280px) {
    #chapter02 main .width_inner {
      width: 800px; } }
  @media (max-width: 650px) {
    #chapter02 main .width_inner {
      width: 88.6%; } }
#chapter02 main .flex {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 650px) {
    #chapter02 main .flex {
      flex-direction: column;
      align-items: flex-start; } }
#chapter02 main .main_visual {
  padding-top: 8.6979166667vw;
  padding-bottom: 8.5416666667vw;
  position: relative; }
  #chapter02 main .main_visual h2 {
    display: flex;
    flex-direction: column; }
    #chapter02 main .main_visual h2 .chap {
      font-family: "Times New Roman", serif;
      font-size: 1.6666666667vw;
      color: #A5A5A5; }
    #chapter02 main .main_visual h2 .title {
      font-family: "Times New Roman", serif;
      font-size: 2.6041666667vw; }
    #chapter02 main .main_visual h2 .eng {
      font-family: "Times New Roman", serif;
      font-size: 1.0416666667vw;
      font-weight: 300; }
      #chapter02 main .main_visual h2 .eng span {
        display: inline-block;
        color: #AFAFAF; }
    #chapter02 main .main_visual h2 span {
      display: block; }
    #chapter02 main .main_visual h2 span:not(:first-child) {
      margin-top: 10px; }
  #chapter02 main .main_visual figure {
    margin-top: -19.7395833333vw;
    width: 36.1979166667vw;
    height: auto; }
    #chapter02 main .main_visual figure img {
      width: 100%;
      height: auto; }
      #chapter02 main .main_visual figure img.pc {
        display: block; }
      #chapter02 main .main_visual figure img.sp {
        display: none; }
  #chapter02 main .main_visual::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #EDEDED;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100vw);
    z-index: -10;
    transition: 3s ease; }
  #chapter02 main .main_visual.active::before {
    transform: translateX(0); }
  @media (max-width: 1280px) {
    #chapter02 main .main_visual {
      padding-top: 111px;
      padding-bottom: 109px; }
      #chapter02 main .main_visual h2 .chap {
        font-size: 21px; }
      #chapter02 main .main_visual h2 .title {
        font-size: 32px; }
      #chapter02 main .main_visual h2 .eng {
        font-size: 13px; }
      #chapter02 main .main_visual figure {
        margin-top: -252px;
        width: 463px; } }
  @media (max-width: 650px) {
    #chapter02 main .main_visual {
      background: #EDEDED;
      flex-direction: column;
      padding-top: 6.3076923077vw;
      padding-bottom: 10.9230769231vw; }
      #chapter02 main .main_visual .width_inner {
        padding: 0; }
      #chapter02 main .main_visual h2 .chap {
        font-size: 7.0769230769vw; }
      #chapter02 main .main_visual h2 .title {
        font-size: 9.2307692308vw;
        margin-top: 4.3076923077vw !important; }
      #chapter02 main .main_visual h2 .eng {
        font-size: 4vw;
        margin-top: 6.1538461538vw !important; }
      #chapter02 main .main_visual h2 span {
        line-height: 1.6; }
      #chapter02 main .main_visual figure {
        margin-top: 3.8461538462vw;
        width: 100%;
        height: auto; }
        #chapter02 main .main_visual figure img.pc {
          display: none; }
        #chapter02 main .main_visual figure img.sp {
          display: block; }
      #chapter02 main .main_visual::before {
        content: none; } }
#chapter02 main .contents section .text_box {
  flex-direction: column; }
  #chapter02 main .contents section .text_box h3 {
    font-family: "Noto Serif", serif;
    font-size: 1.6666666667vw;
    color: #A5A5A5;
    line-height: 1.6; }
  #chapter02 main .contents section .text_box p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.8333vw, 15px);
    margin-top: 1.40625vw;
    color: #1F1F1F;
    line-height: 1.8; }
    #chapter02 main .contents section .text_box p + h3 {
      margin-top: 1.875vw; }
  #chapter02 main .contents section .text_box::before {
    content: none; }
#chapter02 main .contents section figure {
  display: flex;
  flex-direction: column; }
  #chapter02 main .contents section figure figcaption {
    font-size: 0.8333333333vw;
    margin-top: 0.5208333333vw; }
#chapter02 main .contents section#sec01 {
  margin-top: 7.8125vw; }
  #chapter02 main .contents section#sec01 .text_box {
    width: 36.1458333333vw; }
  #chapter02 main .contents section#sec01 figure {
    height: 24.7916666667vw; }
    #chapter02 main .contents section#sec01 figure img {
      height: 100%;
      width: auto; }
#chapter02 main .contents section#sec02 {
  margin-top: 7.8125vw; }
  #chapter02 main .contents section#sec02 .text_box {
    width: 41.3541666667vw; }
  #chapter02 main .contents section#sec02 figure {
    height: 40.2083333333vw; }
    #chapter02 main .contents section#sec02 figure img {
      height: 100%;
      width: auto; }
#chapter02 main .contents section#sec03 {
  margin-top: 5.46875vw; }
  #chapter02 main .contents section#sec03 .text_box {
    width: 100%; }
#chapter02 main .contents section#sec04 {
  margin-top: 2.6041666667vw; }
  #chapter02 main .contents section#sec04 .text_box {
    width: 100%; }
#chapter02 main .contents section#sec05 {
  margin-top: 2.6041666667vw; }
  #chapter02 main .contents section#sec05 .text_box {
    width: 100%; }
@media (max-width: 1280px) {
  #chapter02 main .contents section .text_box h3 {
    font-size: 21px; }
  #chapter02 main .contents section .text_box p {
    font-size: 15px;
    margin-top: 18px; }
    #chapter02 main .contents section .text_box p + h3 {
      margin-top: 24px; }
  #chapter02 main .contents section#sec01 {
    margin-top: 100px; }
    #chapter02 main .contents section#sec01 .text_box {
      width: 462px; }
    #chapter02 main .contents section#sec01 figure {
      height: 317px; }
  #chapter02 main .contents section#sec02 {
    margin-top: 100px; }
    #chapter02 main .contents section#sec02 .text_box {
      width: 529px; }
    #chapter02 main .contents section#sec02 figure {
      height: 514px; }
  #chapter02 main .contents section#sec03 {
    margin-top: 70px; }
  #chapter02 main .contents section#sec04 {
    margin-top: 33px; }
  #chapter02 main .contents section#sec05 {
    margin-top: 33px; } }
@media (max-width: 650px) {
  #chapter02 main .contents .width_inner {
    width: 100%; }
  #chapter02 main .contents section .text_box {
    width: 88.6% !important;
    display: block;
    margin: 0 auto; }
    #chapter02 main .contents section .text_box h3 {
      font-size: 5.5384615385vw; }
    #chapter02 main .contents section .text_box p {
      font-size: 4.3076923077vw; }
      #chapter02 main .contents section .text_box p + h3 {
        margin-top: 0; }
  #chapter02 main .contents section figure {
    width: 88.6%;
    display: block;
    margin: 0 auto; }
    #chapter02 main .contents section figure img {
      width: 100%;
      height: auto; }
  #chapter02 main .contents section#sec01 {
    margin-top: 0;
    padding-top: 7.0769230769vw; }
    #chapter02 main .contents section#sec01 h3:nth-of-type(2) {
      margin-top: 12.3076923077vw; }
    #chapter02 main .contents section#sec01 h3:nth-of-type(2), #chapter02 main .contents section#sec01 p:nth-of-type(2), #chapter02 main .contents section#sec01 figure {
      position: relative;
      z-index: 2;
      padding-top: 12.3076923077vw; }
      #chapter02 main .contents section#sec01 h3:nth-of-type(2)::before, #chapter02 main .contents section#sec01 p:nth-of-type(2)::before, #chapter02 main .contents section#sec01 figure::before {
        content: "";
        width: 100vw;
        height: 100%;
        background: #EDEDED;
        position: absolute;
        top: 0;
        left: 0;
        margin-left: calc( 50% - 50vw );
        z-index: -1; }
    #chapter02 main .contents section#sec01 p:nth-of-type(2), #chapter02 main .contents section#sec01 figure {
      padding-top: 4.3076923077vw; }
    #chapter02 main .contents section#sec01 p:nth-of-type(2), #chapter02 main .contents section#sec01 figure {
      margin-top: 0 !important; }
    #chapter02 main .contents section#sec01 figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.4615384615vw;
      padding-bottom: 12.3076923077vw; }
      #chapter02 main .contents section#sec01 figure img {
        width: 100%;
        height: auto; }
  #chapter02 main .contents section#sec02 {
    margin-top: 0;
    padding-top: 8.6153846154vw;
    padding-bottom: 12.3076923077vw; }
    #chapter02 main .contents section#sec02 p:nth-of-type(1) {
      padding-bottom: 12.3076923077vw; }
    #chapter02 main .contents section#sec02 h3:nth-of-type(2), #chapter02 main .contents section#sec02 p:nth-of-type(2), #chapter02 main .contents section#sec02 figure {
      position: relative;
      z-index: 2; }
      #chapter02 main .contents section#sec02 h3:nth-of-type(2)::before, #chapter02 main .contents section#sec02 p:nth-of-type(2)::before, #chapter02 main .contents section#sec02 figure::before {
        content: "";
        width: 100vw;
        height: 100%;
        background: #EDEDED;
        position: absolute;
        top: 0;
        left: 0;
        margin-left: calc( 50% - 50vw );
        z-index: -1; }
    #chapter02 main .contents section#sec02 h3:nth-of-type(2) {
      padding-top: 12.3076923077vw; }
    #chapter02 main .contents section#sec02 p:nth-of-type(2) {
      margin-top: 0 !important;
      padding: 4.3076923077vw 0 12.3076923077vw; }
    #chapter02 main .contents section#sec02 h3:nth-of-type(3) {
      padding-top: 12.3076923077vw; }
    #chapter02 main .contents section#sec02 figure {
      display: none; }
    #chapter02 main .contents section#sec02 .add {
      display: none; }
  #chapter02 main .contents section#sec03 {
    margin-top: 0;
    padding-top: 9.6923076923vw;
    padding-bottom: 12vw;
    background: #EDEDED; }
    #chapter02 main .contents section#sec03 figure {
      width: 57.5384615385vw;
      height: auto;
      margin-top: 7.3846153846vw; }
      #chapter02 main .contents section#sec03 figure img {
        width: 100%;
        height: auto; }
  #chapter02 main .contents section#sec04 {
    margin-top: 0;
    padding-top: 9.6923076923vw;
    padding-bottom: 12.4615384615vw; }
    #chapter02 main .contents section#sec04 .text_box p {
      font-size: 4.3076923077vw; }
    #chapter02 main .contents section#sec04 figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.4615384615vw; }
      #chapter02 main .contents section#sec04 figure img {
        width: 100%;
        height: auto; }
  #chapter02 main .contents section#sec05 {
    margin-top: 0;
    padding-top: 9.6923076923vw;
    padding-bottom: 12.4615384615vw;
    background: #EDEDED; }
    #chapter02 main .contents section#sec05 .text_box p {
      font-size: 4.3076923077vw; }
    #chapter02 main .contents section#sec05 figure {
      width: 88.6%;
      height: auto;
      margin-top: 8.4615384615vw; }
      #chapter02 main .contents section#sec05 figure img {
        width: 100%;
        height: auto; } }

#chapter03 main .width_inner {
  display: block;
  width: 62.5vw;
  margin: 0 auto; }
  @media (max-width: 1280px) {
    #chapter03 main .width_inner {
      width: 800px; } }
  @media (max-width: 650px) {
    #chapter03 main .width_inner {
      width: 88.6%; } }
#chapter03 main .flex {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 650px) {
    #chapter03 main .flex {
      flex-direction: column;
      align-items: flex-start; } }
#chapter03 main .main_visual {
  padding-top: 8.6979166667vw;
  padding-bottom: 8.5416666667vw;
  position: relative; }
  #chapter03 main .main_visual h2 {
    display: flex;
    flex-direction: column; }
    #chapter03 main .main_visual h2 .chap {
      font-family: "Times New Roman", serif;
      font-size: 1.6666666667vw;
      color: #A5A5A5; }
    #chapter03 main .main_visual h2 .title {
      font-family: "Times New Roman", serif;
      font-size: 2.6041666667vw;
      line-height: 1.4; }
    #chapter03 main .main_visual h2 .eng {
      font-family: "Times New Roman", serif;
      font-size: 1.0416666667vw;
      font-weight: 300; }
      #chapter03 main .main_visual h2 .eng span {
        display: inline-block;
        color: #FF3EFF; }
    #chapter03 main .main_visual h2 span {
      display: block; }
    #chapter03 main .main_visual h2 span:not(:first-child) {
      margin-top: 10px; }
  #chapter03 main .main_visual figure {
    margin-top: -19.7395833333vw;
    width: 36.1979166667vw;
    height: auto; }
    #chapter03 main .main_visual figure img {
      width: 100%;
      height: auto; }
      #chapter03 main .main_visual figure img.pc {
        display: block; }
      #chapter03 main .main_visual figure img.sp {
        display: none; }
  #chapter03 main .main_visual::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #EDEDED;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100vw);
    z-index: -10;
    transition: 3s ease; }
  #chapter03 main .main_visual.active::before {
    transform: translateX(0); }
  @media (max-width: 1280px) {
    #chapter03 main .main_visual {
      padding-top: 111px;
      padding-bottom: 109px; }
      #chapter03 main .main_visual h2 .chap {
        font-size: 21px; }
      #chapter03 main .main_visual h2 .title {
        font-size: 32px; }
      #chapter03 main .main_visual h2 .eng {
        font-size: 13px; }
      #chapter03 main .main_visual figure {
        margin-top: -252px;
        width: 463px; } }
  @media (max-width: 650px) {
    #chapter03 main .main_visual {
      background: #EDEDED;
      flex-direction: column;
      padding-top: 6.3076923077vw;
      padding-bottom: 10.9230769231vw; }
      #chapter03 main .main_visual .width_inner {
        padding: 0; }
      #chapter03 main .main_visual h2 .chap {
        font-size: 7.0769230769vw; }
      #chapter03 main .main_visual h2 .title {
        font-size: 9.2307692308vw;
        margin-top: 4.3076923077vw !important; }
      #chapter03 main .main_visual h2 .eng {
        font-size: 4vw;
        margin-top: 6.1538461538vw !important; }
      #chapter03 main .main_visual h2 span {
        line-height: 1.6; }
      #chapter03 main .main_visual figure {
        margin-top: 3.8461538462vw;
        width: 100%;
        height: auto; }
        #chapter03 main .main_visual figure img.pc {
          display: none; }
        #chapter03 main .main_visual figure img.sp {
          display: block; }
      #chapter03 main .main_visual::before {
        content: none; } }
#chapter03 main .contents section:nth-child(even) {
  flex-direction: row-reverse; }
#chapter03 main .contents section:nth-child(4) {
  flex-direction: row; }
#chapter03 main .contents section .text_box {
  flex-direction: column; }
  #chapter03 main .contents section .text_box h3 {
    font-family: "Noto Serif", serif;
    font-size: 1.6666666667vw;
    color: #A5A5A5;
    line-height: 1.6; }
  #chapter03 main .contents section .text_box p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.8333vw, 15px);
    margin-top: 1.40625vw;
    color: #1F1F1F;
    line-height: 1.8; }
    #chapter03 main .contents section .text_box p + h3 {
      margin-top: 1.875vw; }
  #chapter03 main .contents section .text_box::before {
    content: none; }
#chapter03 main .contents section figure {
  display: flex; }
  #chapter03 main .contents section figure.pc {
    display: block; }
  #chapter03 main .contents section figure.sp {
    display: none; }
#chapter03 main .contents section#sec01 {
  margin-top: 7.8125vw; }
  #chapter03 main .contents section#sec01 .text_box {
    width: 31.5625vw; }
  #chapter03 main .contents section#sec01 figure {
    width: 25.6770833333vw; }
    #chapter03 main .contents section#sec01 figure img {
      width: 25.6770833333vw;
      height: 16.7708333333vw; }
#chapter03 main .contents section#sec02 {
  margin-top: 4.1666666667vw; }
  #chapter03 main .contents section#sec02 .text_box {
    width: 30.9375vw; }
  #chapter03 main .contents section#sec02 figure {
    width: 25.6770833333vw; }
    #chapter03 main .contents section#sec02 figure img {
      width: 25.6770833333vw;
      height: 20.5208333333vw; }
#chapter03 main .contents section#sec03 {
  margin-top: 3.125vw; }
  #chapter03 main .contents section#sec03 .text_box {
    width: 100%; }
#chapter03 main .contents section#sec04 {
  margin-top: 3.125vw; }
  #chapter03 main .contents section#sec04 .text_box {
    width: 100%; }
@media (max-width: 1280px) {
  #chapter03 main .contents section .text_box h3 {
    font-size: 21px; }
  #chapter03 main .contents section .text_box p {
    font-size: 15px;
    margin-top: 18px; }
  #chapter03 main .contents section#sec01 {
    margin-top: 100px; }
    #chapter03 main .contents section#sec01 .text_box {
      width: 404px; }
    #chapter03 main .contents section#sec01 figure {
      width: 328px;
      height: 214px; }
      #chapter03 main .contents section#sec01 figure img {
        width: 328px;
        height: 214px; }
  #chapter03 main .contents section#sec02 {
    margin-top: 80px; }
    #chapter03 main .contents section#sec02 .text_box {
      width: 396px; }
    #chapter03 main .contents section#sec02 figure {
      width: 328px;
      height: 262px; }
      #chapter03 main .contents section#sec02 figure img {
        width: 328px;
        height: 262px; }
  #chapter03 main .contents section#sec03 {
    margin-top: 40px; }
  #chapter03 main .contents section#sec04 {
    margin-top: 40px; } }
@media (max-width: 650px) {
  #chapter03 main .contents .width_inner {
    width: 100%; }
  #chapter03 main .contents figure.pc {
    display: none; }
  #chapter03 main .contents figure.sp {
    display: block !important; }
  #chapter03 main .contents section:nth-child(odd) {
    background: #fff !important; }
  #chapter03 main .contents section:nth-child(even) {
    flex-direction: column;
    background: #EDEDED !important; }
  #chapter03 main .contents section .text_box {
    width: 88.6% !important;
    display: block;
    margin: 0 auto; }
    #chapter03 main .contents section .text_box h3 {
      font-size: 5.5384615385vw; }
    #chapter03 main .contents section .text_box p {
      font-size: 4.3076923077vw; }
      #chapter03 main .contents section .text_box p + h3 {
        margin-top: 0; }
  #chapter03 main .contents section figure {
    width: 88.6%;
    display: block;
    margin: 0 auto; }
    #chapter03 main .contents section figure img {
      width: 100%;
      height: auto; }
  #chapter03 main .contents section#sec01 {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 7.0769230769vw;
    padding-bottom: 4.3076923077vw; }
    #chapter03 main .contents section#sec01 figure {
      width: 100%;
      height: auto;
      margin-top: 8.6153846154vw; }
      #chapter03 main .contents section#sec01 figure.pc {
        display: none !important; }
      #chapter03 main .contents section#sec01 figure img {
        width: 100%;
        height: auto; }
  #chapter03 main .contents section#sec02 {
    margin-top: 0;
    padding-top: 4.3076923077vw;
    padding-bottom: 0; }
    #chapter03 main .contents section#sec02 figure {
      width: 100%;
      height: auto;
      margin-top: 8.4615384615vw; }
      #chapter03 main .contents section#sec02 figure img {
        width: 100%;
        height: auto; }
  #chapter03 main .contents section#sec03 {
    margin-top: 0;
    padding-top: 8.6153846154vw;
    padding-bottom: 12.3076923077vw; }
  #chapter03 main .contents section#sec04 {
    margin-top: 0;
    padding-top: 8.6153846154vw;
    padding-bottom: 4.3076923077vw; } }
#chapter03 footer {
  margin-top: 5.7291666667vw; }
  @media (max-width: 650px) {
    #chapter03 footer {
      margin-top: 0; } }

#chapter04 main .width_inner_header {
  display: block;
  width: 62.5vw;
  margin: 0 auto; }
  @media (max-width: 1280px) {
    #chapter04 main .width_inner_header {
      width: 800px; }
      #chapter04 main .width_inner_header h2 .chap {
        font-size: 21px !important; }
      #chapter04 main .width_inner_header h2 .title {
        font-size: 33px !important; }
      #chapter04 main .width_inner_header h2 .eng {
        font-size: 13px !important; }
      #chapter04 main .width_inner_header figure {
        margin-top: -349px;
        width: 395px; } }
  @media (max-width: 650px) {
    #chapter04 main .width_inner_header {
      width: 88.6%; } }
#chapter04 main .width_inner {
  display: block;
  width: 41.4583333333vw;
  margin: 0 auto; }
  @media (max-width: 1280px) {
    #chapter04 main .width_inner {
      width: 530px; } }
  @media (max-width: 650px) {
    #chapter04 main .width_inner {
      width: 88.6%; } }
#chapter04 main .flex {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 650px) {
    #chapter04 main .flex {
      flex-direction: column;
      align-items: flex-start; } }
#chapter04 main .main_visual {
  padding-top: 8.6979166667vw;
  padding-bottom: 8.5416666667vw;
  position: relative; }
  #chapter04 main .main_visual h2 {
    display: flex;
    flex-direction: column; }
    #chapter04 main .main_visual h2 .chap {
      font-family: "Times New Roman", serif;
      font-size: 1.6666666667vw;
      color: #A5A5A5; }
    #chapter04 main .main_visual h2 .title {
      font-family: "Times New Roman", serif;
      font-size: 2.6041666667vw;
      line-height: 1.4; }
    #chapter04 main .main_visual h2 .eng {
      font-family: "Times New Roman", serif;
      font-size: 1.0416666667vw;
      font-weight: 300; }
      #chapter04 main .main_visual h2 .eng span {
        display: inline-block;
        color: #32cd32; }
    #chapter04 main .main_visual h2 span {
      display: block; }
    #chapter04 main .main_visual h2 span:not(:first-child) {
      margin-top: 10px; }
  #chapter04 main .main_visual::before {
    content: "";
    width: 100vw;
    height: 100%;
    background: #EDEDED;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100vw);
    z-index: -10;
    transition: 3s ease; }
  #chapter04 main .main_visual.active::before {
    transform: translateX(0); }
  @media (max-width: 1280px) {
    #chapter04 main .main_visual {
      padding-top: 5.78125vw;
      padding-bottom: 5.6770833333vw; }
      #chapter04 main .main_visual h2 .chap {
        font-size: 1.09375vw; }
      #chapter04 main .main_visual h2 .title {
        font-size: 1.6666666667vw; }
      #chapter04 main .main_visual h2 .eng {
        font-size: 0.6770833333vw; } }
  @media (max-width: 650px) {
    #chapter04 main .main_visual {
      background: #EDEDED;
      flex-direction: column;
      padding-top: 6.3076923077vw;
      padding-bottom: 10.9230769231vw; }
      #chapter04 main .main_visual .width_inner {
        padding: 0; }
      #chapter04 main .main_visual h2 .chap {
        font-size: 4.9230769231vw; }
      #chapter04 main .main_visual h2 .title {
        font-size: 8.6153846154vw;
        margin-top: 4.3076923077vw !important; }
      #chapter04 main .main_visual h2 .eng {
        font-size: 6.4615384615vw;
        margin-top: 6.1538461538vw !important; }
      #chapter04 main .main_visual h2 span {
        line-height: 1.6; }
      #chapter04 main .main_visual figure {
        margin-top: 3.8461538462vw;
        width: 100%;
        height: auto; }
        #chapter04 main .main_visual figure img.pc {
          display: none; }
        #chapter04 main .main_visual figure img.sp {
          display: block; }
      #chapter04 main .main_visual::before {
        content: none; } }
#chapter04 main .buttons {
  display: flex;
  justify-content: center;
  align-content: center;
  margin: 3.6458333333vw auto; }
  #chapter04 main .buttons a + a {
    margin-left: 0.625vw; }
  #chapter04 main .buttons button {
    background-color: transparent;
    border: 1px solid #707070;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    border-radius: 5px 5px 0px 5px;
    min-width: 9.8958333333vw;
    height: 3.125vw;
    transition: .3s ease;
    font-size: 0.78125vw;
    position: relative; }
    #chapter04 main .buttons button span {
      font-size: 0.6770833333vw; }
    #chapter04 main .buttons button.button_line {
      position: relative; }
      #chapter04 main .buttons button.button_line::before {
        content: "";
        width: 85%;
        height: 1px;
        background: #707070;
        position: absolute;
        top: 52%;
        left: 50%;
        transform: translateX(-50%); }
    #chapter04 main .buttons button:nth-child(3), #chapter04 main .buttons button:nth-child(4), #chapter04 main .buttons button:nth-child(5) {
      width: 11.1458333333vw; }
    #chapter04 main .buttons button.active {
      box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); }
    #chapter04 main .buttons button::after {
      content: "";
      width: 0;
      height: 0;
      border-top: 4px solid transparent;
      border-right: 4px solid #707070;
      border-bottom: 4px solid #707070;
      border-left: 4px solid transparent;
      position: absolute;
      bottom: 2px;
      right: 2px;
      transition: .3s ease; }
    #chapter04 main .buttons button:hover {
      box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); }
      #chapter04 main .buttons button:hover::after {
        bottom: -1px;
        right: -1px; }
  @media (max-width: 1280px) {
    #chapter04 main .buttons {
      margin: 46px auto; }
      #chapter04 main .buttons button {
        min-width: 190px;
        height: 40px;
        font-size: 10px; }
        #chapter04 main .buttons button span {
          font-size: 8px; }
        #chapter04 main .buttons button:nth-child(3), #chapter04 main .buttons button:nth-child(4), #chapter04 main .buttons button:nth-child(5) {
          width: 140px; }
        #chapter04 main .buttons button + button {
          margin-left: 8px; } }
  @media (max-width: 650px) {
    #chapter04 main .buttons {
      justify-content: space-between;
      flex-wrap: wrap;
      width: 88.1538461538vw;
      z-index: 1;
      position: relative;
      margin: 0 auto;
      padding: 0 0 7.6923076923vw; }
      #chapter04 main .buttons a {
        width: auto;
        height: auto; }
      #chapter04 main .buttons a + a {
        margin-left: 0; }
      #chapter04 main .buttons a {
        width: 48% !important; }
        #chapter04 main .buttons a.button_big {
          width: 100% !important;
          font-size: 4vw; }
        #chapter04 main .buttons a button {
          min-width: auto;
          width: 100%;
          margin-top: 1.5384615385vw;
          height: 9.2307692308vw;
          font-size: 3.3846153846vw;
          background: #fff; }
          #chapter04 main .buttons a button span {
            display: none; }
          #chapter04 main .buttons a button.button_line::before {
            content: none; }
          #chapter04 main .buttons a button::after {
            border-top: 8px solid transparent;
            border-right: 8px solid #707070;
            border-bottom: 8px solid #707070;
            border-left: 8px solid transparent;
            bottom: 4px;
            right: 4px; }
          #chapter04 main .buttons a button:hover::after {
            bottom: 0;
            right: 0; }
      #chapter04 main .buttons:before {
        content: "";
        width: 100vw;
        height: 400%;
        background: #EDEDED;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50vw);
        z-index: -2; } }
#chapter04 main .contents {
  position: relative;
  z-index: 1; }
  #chapter04 main .contents section {
    display: none; }
    #chapter04 main .contents section.active {
      display: block; }
    #chapter04 main .contents section#page1 .text_box h3 {
      text-align: center;
      font-size: 1.4583333333vw;
      font-family: "Noto Serif", serif; }
    #chapter04 main .contents section#page1 .text_box p {
      line-height: 1.6;
      font-size: max(0.8333vw, 15px);
      margin-top: 2.0833333333vw; }
    #chapter04 main .contents section#page1 .text_box figure {
      margin-top: 2.0833333333vw; }
    #chapter04 main .contents section#page2 h3, #chapter04 main .contents section#page3 h3 {
      text-align: left;
      font-family: "Noto Serif", serif;
      margin-bottom: 1.5625vw; }
      #chapter04 main .contents section#page2 h3 span, #chapter04 main .contents section#page3 h3 span {
        display: block; }
      #chapter04 main .contents section#page2 h3 .add, #chapter04 main .contents section#page3 h3 .add {
        font-size: 0.8333333333vw; }
      #chapter04 main .contents section#page2 h3 .title, #chapter04 main .contents section#page3 h3 .title {
        font-size: 1.4583333333vw;
        margin-top: 1.1979166667vw; }
        #chapter04 main .contents section#page2 h3 .title a, #chapter04 main .contents section#page3 h3 .title a {
          color: #3E3E3E; }
      #chapter04 main .contents section#page2 h3 .eng, #chapter04 main .contents section#page3 h3 .eng {
        font-size: 0.6770833333vw;
        margin-top: 1.1979166667vw;
        font-weight: normal; }
      #chapter04 main .contents section#page2 h3 figure, #chapter04 main .contents section#page3 h3 figure {
        height: 1.0416666667vw;
        width: auto;
        margin-top: 1.1979166667vw;
        display: block; }
        #chapter04 main .contents section#page2 h3 figure img, #chapter04 main .contents section#page3 h3 figure img {
          height: 100%;
          width: auto; }
    #chapter04 main .contents section#page2 p, #chapter04 main .contents section#page3 p {
      line-height: 1.6;
      font-size: max(0.8333vw, 15px);
      margin-top: 2.0833333333vw; }
    #chapter04 main .contents section#page2 .flex_wrapper_column, #chapter04 main .contents section#page3 .flex_wrapper_column {
      display: flex;
      flex-direction: column; }
      #chapter04 main .contents section#page2 .flex_wrapper_column h4, #chapter04 main .contents section#page3 .flex_wrapper_column h4 {
        font-size: 1.1458333333vw;
        margin-top: 1.3541666667vw;
        line-height: 1.6; }
    #chapter04 main .contents section#page2 .flex_wrapper_row, #chapter04 main .contents section#page3 .flex_wrapper_row {
      display: flex;
      justify-content: space-between; }
      #chapter04 main .contents section#page2 .flex_wrapper_row p, #chapter04 main .contents section#page3 .flex_wrapper_row p {
        width: 24.2708333333vw; }
      #chapter04 main .contents section#page2 .flex_wrapper_row figure, #chapter04 main .contents section#page3 .flex_wrapper_row figure {
        width: 15.15625vw;
        height: auto;
        margin-top: 2.0833333333vw; }
    #chapter04 main .contents section#page2 .blank_link, #chapter04 main .contents section#page3 .blank_link {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 2em; }
      #chapter04 main .contents section#page2 .blank_link a, #chapter04 main .contents section#page3 .blank_link a {
        display: flex;
        justify-content: center;
        align-items: center; }
        #chapter04 main .contents section#page2 .blank_link a p, #chapter04 main .contents section#page3 .blank_link a p {
          margin-top: 0; }
        #chapter04 main .contents section#page2 .blank_link a figure, #chapter04 main .contents section#page3 .blank_link a figure {
          height: 1.0416666667vw;
          width: auto;
          margin-top: 0;
          margin-left: 0.4166666667vw;
          display: block; }
          #chapter04 main .contents section#page2 .blank_link a figure img, #chapter04 main .contents section#page3 .blank_link a figure img {
            height: 100%;
            width: auto; }
    #chapter04 main .contents section#page3 .flex_wrapper_row {
      display: flex;
      justify-content: space-between; }
      #chapter04 main .contents section#page3 .flex_wrapper_row p {
        width: 20.4166666667vw; }
      #chapter04 main .contents section#page3 .flex_wrapper_row figure {
        width: 17.8645833333vw; }
    #chapter04 main .contents section#page4 h3, #chapter04 main .contents section#page5 h3 {
      font-size: 1.4583333333vw;
      font-family: "Noto Serif", serif;
      margin-bottom: 1.5625vw; }
    #chapter04 main .contents section#page4 .flex_wrapper_row, #chapter04 main .contents section#page5 .flex_wrapper_row {
      display: flex;
      justify-content: space-between; }
      #chapter04 main .contents section#page4 .flex_wrapper_row img, #chapter04 main .contents section#page5 .flex_wrapper_row img {
        width: 20.4166666667vw;
        height: auto;
        margin-top: 1.0416666667vw; }
    #chapter04 main .contents section#page4 .margin-top, #chapter04 main .contents section#page5 .margin-top {
      margin-top: 4.1666666667vw;
      display: flex;
      justify-content: center;
      align-content: center; }
      #chapter04 main .contents section#page4 .margin-top img, #chapter04 main .contents section#page5 .margin-top img {
        width: 30.8333333333vw; }
    @media (max-width: 1280px) {
      #chapter04 main .contents section#page1 .text_box h3 {
        font-size: 18px; }
      #chapter04 main .contents section#page1 .text_box p {
        font-size: 15px;
        margin-top: 27px; }
      #chapter04 main .contents section#page1 .text_box figure {
        margin-top: 27px; }
      #chapter04 main .contents section#page2 h3, #chapter04 main .contents section#page3 h3 {
        margin-bottom: 20px; }
        #chapter04 main .contents section#page2 h3 .add, #chapter04 main .contents section#page3 h3 .add {
          font-size: 10px; }
        #chapter04 main .contents section#page2 h3 .title, #chapter04 main .contents section#page3 h3 .title {
          font-size: 18px;
          margin-top: 4px; }
        #chapter04 main .contents section#page2 h3 .eng, #chapter04 main .contents section#page3 h3 .eng {
          font-size: 8px;
          margin-top: 4px; }
        #chapter04 main .contents section#page2 h3 figure, #chapter04 main .contents section#page3 h3 figure {
          height: 13px;
          margin-top: 5px; }
      #chapter04 main .contents section#page2 p, #chapter04 main .contents section#page3 p {
        font-size: 15px;
        margin-top: 27px; }
      #chapter04 main .contents section#page2 .flex_wrapper_column h4, #chapter04 main .contents section#page3 .flex_wrapper_column h4 {
        font-size: 14px;
        margin-top: 17px; }
      #chapter04 main .contents section#page2 .flex_wrapper_row p, #chapter04 main .contents section#page3 .flex_wrapper_row p {
        width: 311px; }
      #chapter04 main .contents section#page2 .flex_wrapper_row figure, #chapter04 main .contents section#page3 .flex_wrapper_row figure {
        width: 194px;
        margin-top: 27px; }
      #chapter04 main .contents section#page2 .blank_link a figure, #chapter04 main .contents section#page3 .blank_link a figure {
        height: 13px;
        margin-top: 0; }
      #chapter04 main .contents section#page3 .flex_wrapper_row p {
        width: 261px; }
      #chapter04 main .contents section#page3 .flex_wrapper_row figure {
        width: 229px; }
      #chapter04 main .contents section#page4 h3, #chapter04 main .contents section#page5 h3 {
        font-size: 18px;
        margin-bottom: 19px; }
      #chapter04 main .contents section#page4 .flex_wrapper_row img, #chapter04 main .contents section#page5 .flex_wrapper_row img {
        width: 261px;
        margin-top: 13px; }
      #chapter04 main .contents section#page4 .margin-top, #chapter04 main .contents section#page5 .margin-top {
        margin-top: 53px; }
        #chapter04 main .contents section#page4 .margin-top img, #chapter04 main .contents section#page5 .margin-top img {
          width: 395px; } }
    @media (max-width: 650px) {
      #chapter04 main .contents section p {
        font-size: 4.3076923077vw !important;
        margin-top: 0 !important;
        padding: 4.9230769231vw 0 !important; }
        #chapter04 main .contents section p.none-big-padding {
          padding-bottom: 9.2307692308vw !important; }
        #chapter04 main .contents section p.none-padding {
          padding-top: 0 !important; }
      #chapter04 main .contents section.gray_back {
        position: relative; }
        #chapter04 main .contents section.gray_back:before {
          content: "";
          width: 100vw;
          height: 100%;
          background: #EDEDED;
          position: absolute;
          left: 50%;
          top: 0;
          transform: translateX(-50vw);
          z-index: -1; }
      #chapter04 main .contents section .white_back {
        position: relative; }
        #chapter04 main .contents section .white_back:before {
          content: "";
          width: 100vw;
          height: 100%;
          background: #fff;
          position: absolute;
          left: 50%;
          top: 0;
          transform: translateX(-50vw);
          z-index: -1;
          margin-bottom: 4.1666666667vw !important; }
      #chapter04 main .contents section#page1 .text_box h3 {
        font-size: 5.3846153846vw;
        padding-top: 4.6153846154vw; }
      #chapter04 main .contents section#page1 .text_box figure {
        margin-top: 0;
        padding: 12.3076923077vw 0 4.6153846154vw; }
      #chapter04 main .contents section#page2 h3, #chapter04 main .contents section#page3 h3 {
        margin: 0;
        padding: 4.6153846154vw 0; }
        #chapter04 main .contents section#page2 h3 .add, #chapter04 main .contents section#page3 h3 .add {
          font-size: 4vw;
          color: rgba(31, 31, 31, 0.4);
          line-height: 1.4; }
        #chapter04 main .contents section#page2 h3 .title, #chapter04 main .contents section#page3 h3 .title {
          font-size: 5.5384615385vw;
          margin-top: 0.9230769231vw;
          color: rgba(31, 31, 31, 0.4);
          line-height: 1.54; }
        #chapter04 main .contents section#page2 h3 .eng, #chapter04 main .contents section#page3 h3 .eng {
          display: none; }
        #chapter04 main .contents section#page2 h3 figure, #chapter04 main .contents section#page3 h3 figure {
          display: none; }
      #chapter04 main .contents section#page2 .flex_wrapper_column, #chapter04 main .contents section#page3 .flex_wrapper_column {
        display: flex;
        flex-direction: column-reverse; }
        #chapter04 main .contents section#page2 .flex_wrapper_column h4, #chapter04 main .contents section#page3 .flex_wrapper_column h4 {
          font-size: 5.5384615385vw;
          margin-top: 0;
          margin-bottom: 9.8461538462vw;
          line-height: 1.5; }
      #chapter04 main .contents section#page2 .flex_wrapper_row, #chapter04 main .contents section#page3 .flex_wrapper_row {
        display: flex;
        flex-direction: column; }
        #chapter04 main .contents section#page2 .flex_wrapper_row p, #chapter04 main .contents section#page3 .flex_wrapper_row p {
          width: 100%; }
        #chapter04 main .contents section#page2 .flex_wrapper_row figure, #chapter04 main .contents section#page3 .flex_wrapper_row figure {
          width: 100%;
          margin-top: 6.1538461538vw; }
      #chapter04 main .contents section#page2 .blank_link, #chapter04 main .contents section#page3 .blank_link {
        display: block;
        margin-top: 1em;
        padding-bottom: 1em; }
        #chapter04 main .contents section#page2 .blank_link figure, #chapter04 main .contents section#page3 .blank_link figure {
          width: 7.3846153846vw !important;
          height: auto !important;
          margin-left: 1.8461538462vw !important; }
      #chapter04 main .contents section#page4 h3, #chapter04 main .contents section#page5 h3 {
        font-size: 5.5384615385vw;
        margin: 0;
        padding-bottom: 1.5625vw;
        color: rgba(31, 31, 31, 0.4); }
      #chapter04 main .contents section#page4 figure, #chapter04 main .contents section#page5 figure {
        width: 100% !important; }
        #chapter04 main .contents section#page4 figure img, #chapter04 main .contents section#page5 figure img {
          width: 100% !important;
          margin: 0 auto;
          padding: 3.2307692308vw 0; }
      #chapter04 main .contents section#page4 .flex_wrapper_row, #chapter04 main .contents section#page5 .flex_wrapper_row {
        flex-direction: column; }
      #chapter04 main .contents section#page4 .margin-top, #chapter04 main .contents section#page5 .margin-top {
        margin-top: 0; } }

/*==================================================
 4. other lower
==================================================*/
#koumeian {
  position: relative; }
  #koumeian header {
    height: auto;
    position: absolute;
    top: 7.5vw;
    left: 2.5vw;
    z-index: 2; }
    @media (max-width: 650px) {
      #koumeian header {
        height: 20vw;
        position: relative;
        top: auto;
        left: auto; }
        #koumeian header h1 {
          position: relative;
          top: auto;
          left: auto;
          display: block;
          width: 100%;
          text-align: center;
          padding-top: 3.3846153846vw;
          margin-bottom: 4.3076923077vw; }
          #koumeian header h1 img {
            width: 39.2307692308vw; }
            #koumeian header h1 img.pc {
              display: none; }
            #koumeian header h1 img.sp {
              display: inline; } }
  #koumeian main .width_inner {
    display: block;
    width: 51.9791666667vw;
    margin: 0 auto; }
    @media (max-width: 650px) {
      #koumeian main .width_inner {
        width: 88.6%; } }
  #koumeian main .flex-title {
    display: flex;
    justify-content: center; }
  #koumeian main .flex {
    display: flex;
    justify-content: space-between; }
  #koumeian main .main_visual {
    padding-top: 10.78125vw;
    padding-bottom: 10.6770833333vw;
    position: relative; }
    #koumeian main .main_visual h2 {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      #koumeian main .main_visual h2 .chap {
        font-family: "Times New Roman", serif;
        font-size: 1.6666666667vw;
        color: #A5A5A5;
        font-weight: normal; }
      #koumeian main .main_visual h2 .flex-wrapper {
        display: flex;
        align-items: center; }
        #koumeian main .main_visual h2 .flex-wrapper .tsui {
          font-family: "Times New Roman", serif;
          font-size: 1.4583333333vw;
          font-weight: 300; }
        #koumeian main .main_visual h2 .flex-wrapper .title {
          font-family: "Times New Roman", serif;
          font-size: 2.6041666667vw;
          line-height: 1.4;
          margin-left: 1.0416666667vw;
          margin-top: 0; }
    #koumeian main .main_visual::before {
      content: "";
      width: 100vw;
      height: 100%;
      background: #EDEDED;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateX(-100vw);
      z-index: -10;
      transition: 3s ease; }
    #koumeian main .main_visual.active::before {
      transform: translateX(0); }
    @media (max-width: 1280px) {
      #koumeian main .main_visual {
        padding-top: 138px;
        padding-bottom: 137px; }
        #koumeian main .main_visual h2 .chap {
          font-size: 21px; }
        #koumeian main .main_visual h2 .flex-wrapper .tsui {
          font-size: 18px; }
        #koumeian main .main_visual h2 .flex-wrapper .title {
          font-size: 32px;
          margin-left: 13px; } }
    @media (max-width: 650px) {
      #koumeian main .main_visual {
        background: #EDEDED;
        flex-direction: column;
        padding-top: 6.6153846154vw;
        padding-bottom: 7.5384615385vw; }
        #koumeian main .main_visual .width_inner {
          padding: 0;
          justify-content: flex-start; }
        #koumeian main .main_visual h2 {
          text-align: left;
          justify-content: flex-start;
          align-items: flex-start; }
          #koumeian main .main_visual h2 .chap {
            font-size: 4.9230769231vw; }
          #koumeian main .main_visual h2 .flex-wrapper {
            display: flex;
            align-items: center; }
            #koumeian main .main_visual h2 .flex-wrapper .tsui {
              font-size: 8.9230769231vw;
              font-weight: 400; }
            #koumeian main .main_visual h2 .flex-wrapper .title {
              font-size: 8.9230769231vw;
              margin-left: 1.8461538462vw; }
        #koumeian main .main_visual::before {
          content: none; } }
  #koumeian main .contents .sec .text_box p {
    font-family: "Noto Sans JP", sans-serif;
    font-size: max(0.8333vw, 15px);
    margin-top: 1.40625vw;
    color: #1F1F1F;
    line-height: 1.8; }
    #koumeian main .contents .sec .text_box p .bold {
      font-weight: bold; }
  #koumeian main .contents .sec .text_box::before {
    content: none; }
  #koumeian main .contents .sec#sec01 {
    margin-top: 4.6354166667vw; }
    #koumeian main .contents .sec#sec01 .text_box {
      width: 34.6354166667vw; }
      #koumeian main .contents .sec#sec01 .text_box p.shadow {
        font-family: "Noto Serif", serif;
        font-size: 0.9375vw;
        text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16); }
    #koumeian main .contents .sec#sec01 figure {
      width: 15.625vw; }
      #koumeian main .contents .sec#sec01 figure img {
        width: 100%;
        height: auto; }
  #koumeian main .contents .sec#sec02 {
    margin-top: 4.1666666667vw; }
    #koumeian main .contents .sec#sec02 .text_box {
      width: 100%; }
  #koumeian main .contents .sec#sec03 {
    margin-top: 3.125vw; }
    #koumeian main .contents .sec#sec03 .text_box {
      width: 100%; }
  @media (max-width: 1280px) {
    #koumeian main .contents .sec .text_box p {
      font-size: 15px;
      margin-top: 17px; }
    #koumeian main .contents .sec#sec01 {
      margin-top: 59px; }
      #koumeian main .contents .sec#sec01 .text_box {
        width: 443px; }
        #koumeian main .contents .sec#sec01 .text_box p.shadow {
          font-size: 12px; }
      #koumeian main .contents .sec#sec01 figure {
        width: 200px; }
    #koumeian main .contents .sec#sec02 {
      margin-top: 53px; }
    #koumeian main .contents .sec#sec03 {
      margin-top: 40px; } }
  @media (max-width: 650px) {
    #koumeian main .contents .width_inner {
      width: 100%; }
    #koumeian main .contents .white_back {
      position: relative; }
      #koumeian main .contents .white_back:before {
        content: "";
        width: 100vw;
        height: 100%;
        background: #fff;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50vw);
        z-index: -1; }
    #koumeian main .contents .sec {
      background: #EDEDED; }
      #koumeian main .contents .sec .text_box {
        width: 88.6% !important;
        display: block;
        margin: 0 auto; }
        #koumeian main .contents .sec .text_box h3 {
          font-size: 5.5384615385vw; }
        #koumeian main .contents .sec .text_box p {
          font-size: 4.3076923077vw; }
      #koumeian main .contents .sec figure {
        width: 88.6%;
        display: block;
        margin: 0 auto; }
        #koumeian main .contents .sec figure img {
          width: 100%;
          height: auto; }
      #koumeian main .contents .sec#sec01 {
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 4.3076923077vw;
        flex-direction: column-reverse; }
        #koumeian main .contents .sec#sec01 p.shadow {
          font-size: 4.9230769231vw !important; }
        #koumeian main .contents .sec#sec01 figure {
          width: 100%;
          height: auto;
          margin-top: 0;
          box-sizing: border-box;
          padding: 5.8461538462vw; }
          #koumeian main .contents .sec#sec01 figure.pc {
            display: none !important; }
          #koumeian main .contents .sec#sec01 figure img {
            width: 100%;
            height: auto; }
      #koumeian main .contents .sec#sec02 {
        margin-top: 0;
        padding-top: 4.3076923077vw;
        padding-bottom: 4.3076923077vw;
        position: relative; }
        #koumeian main .contents .sec#sec02::after {
          content: "";
          width: 88.1538461538vw;
          height: 1px;
          background: #707070;
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translateX(-50%); }
      #koumeian main .contents .sec#sec03 {
        margin-top: 0;
        padding-top: 4.3076923077vw;
        padding-bottom: 4.3076923077vw; } }
  #koumeian footer {
    margin-top: 5.8854166667vw; }

#scene {
  position: relative; }
  #scene header {
    height: auto;
    position: absolute;
    top: 0vw;
    left: 0vw;
    z-index: 2; }
    @media (max-width: 650px) {
      #scene header {
        height: 20vw;
        position: relative;
        top: auto;
        left: auto; }
        #scene header h1 {
          position: relative;
          top: auto;
          left: auto;
          display: block;
          width: 100%;
          text-align: center;
          padding-top: 3.3846153846vw;
          margin-bottom: 4.3076923077vw; }
          #scene header h1 img {
            width: 39.2307692308vw; }
            #scene header h1 img.pc {
              display: none; }
            #scene header h1 img.sp {
              display: inline; } }
  #scene main .width_inner {
    display: block;
    width: 51.9791666667vw;
    margin: 0 auto; }
    @media (max-width: 650px) {
      #scene main .width_inner {
        width: 88.6%; } }
  #scene main .flex-title {
    display: flex;
    justify-content: center; }
  #scene main .flex {
    display: flex;
    justify-content: space-between; }
  #scene main .main_visual {
    padding-top: 10.78125vw;
    padding-bottom: 10.6770833333vw;
    position: relative; }
    #scene main .main_visual h2 {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      #scene main .main_visual h2 .chap {
        font-family: "Times New Roman", serif;
        font-size: 1.6666666667vw;
        color: #A5A5A5;
        font-weight: normal; }
      #scene main .main_visual h2 .title {
        font-family: "Times New Roman", serif;
        font-size: 2.6041666667vw;
        line-height: 1.4;
        margin-top: 0; }
    #scene main .main_visual::before {
      content: "";
      width: 100vw;
      height: 100%;
      background: #EDEDED;
      position: absolute;
      top: 0;
      left: 0;
      transform: translateX(-100vw);
      z-index: -10;
      transition: 3s ease; }
    #scene main .main_visual.active::before {
      transform: translateX(0); }
    @media (max-width: 1280px) {
      #scene main .main_visual {
        padding-top: 138px;
        padding-bottom: 137px; }
        #scene main .main_visual h2 .chap {
          font-size: 21px; }
        #scene main .main_visual h2 .title {
          font-size: 32px;
          margin-left: 13px; } }
    @media (max-width: 650px) {
      #scene main .main_visual {
        background: #EDEDED;
        flex-direction: column;
        padding-top: 6.6153846154vw;
        padding-bottom: 7.5384615385vw; }
        #scene main .main_visual .width_inner {
          padding: 0;
          justify-content: flex-start; }
        #scene main .main_visual h2 {
          text-align: left;
          justify-content: flex-start;
          align-items: flex-start; }
          #scene main .main_visual h2 .chap {
            font-size: 4.9230769231vw; }
          #scene main .main_visual h2 .title {
            font-size: 8.9230769231vw;
            margin-left: 0; }
        #scene main .main_visual::before {
          content: none; } }
  #scene main .contents h3 {
    text-align: center;
    margin-top: 4.1666666667vw;
    margin-bottom: 8.75vw;
    font-size: 1.4583333333vw;
    font-family: "Noto Serif", serif; }
    #scene main .contents h3 span.pc {
      display: inline-block; }
    #scene main .contents h3 span.eng {
      display: block;
      font-size: 1.0416666667vw;
      font-family: -apple-system, BlinkMacSystemFont, Roboto, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
      margin-top: 0.625vw; }
  #scene main .contents section h4 {
    font-family: "Times New Roman", serif;
    font-size: 3.75vw;
    font-weight: normal;
    position: relative; }
    #scene main .contents section h4 span {
      font-size: 0.78125vw;
      display: block;
      margin-top: 1.71875vw; }
    #scene main .contents section h4::after {
      content: "";
      width: 100vw;
      height: 1px;
      margin-left: calc( 50% - 50vw );
      background: #707070;
      position: absolute;
      bottom: 2.2916666667vw;
      left: 0;
      transition: 3s ease;
      transform: scaleX(0);
      transform-origin: left center; }
    #scene main .contents section h4.active::after {
      transform: scaleX(1); }
  #scene main .contents section#sec01 figure {
    height: 18.3333333333vw;
    position: relative; }
    #scene main .contents section#sec01 figure .cap01_img01,
    #scene main .contents section#sec01 figure .cap01_img02 {
      position: absolute;
      height: auto; }
    #scene main .contents section#sec01 figure .cap01_img01 {
      width: 11.71875vw;
      left: 10.4166666667vw;
      top: 4.1666666667vw; }
    #scene main .contents section#sec01 figure .cap01_img02 {
      width: 20.8333333333vw;
      left: 25.9375vw;
      top: -6.25vw; }
  #scene main .contents section#sec02 h4 {
    text-align: right; }
    #scene main .contents section#sec02 h4::after {
      transform-origin: right center; }
  #scene main .contents section#sec02 figure {
    height: 52.0833333333vw;
    position: relative; }
    #scene main .contents section#sec02 figure .cap02_img01,
    #scene main .contents section#sec02 figure .cap02_img02,
    #scene main .contents section#sec02 figure .cap02_img03,
    #scene main .contents section#sec02 figure .cap02_img04,
    #scene main .contents section#sec02 figure .cap02_img05,
    #scene main .contents section#sec02 figure .cap02_img06,
    #scene main .contents section#sec02 figure .cap02_img07,
    #scene main .contents section#sec02 figure .cap02_img08,
    #scene main .contents section#sec02 figure figcaption {
      position: absolute;
      height: auto; }
    #scene main .contents section#sec02 figure .cap02_img01 {
      width: 10.4166666667vw;
      top: -7.2916666667vw;
      left: 16.6666666667vw; }
    #scene main .contents section#sec02 figure .cap02_img02 {
      width: 17.1875vw;
      top: -10.4166666667vw;
      left: -2.6041666667vw; }
    #scene main .contents section#sec02 figure .cap02_img03 {
      width: 13.3333333333vw;
      top: 13.9583333333vw;
      left: 2.6041666667vw; }
    #scene main .contents section#sec02 figure .cap02_img04 {
      width: 13.0729166667vw;
      top: 13.9583333333vw;
      left: 20.3125vw; }
    #scene main .contents section#sec02 figure .cap02_img05 {
      width: 23.8020833333vw;
      top: 35.2083333333vw;
      left: -5.2083333333vw; }
    #scene main .contents section#sec02 figure .cap02_img06 {
      width: 14.3229166667vw;
      top: 38.4895833333vw;
      left: 22.96875vw; }
    #scene main .contents section#sec02 figure .cap02_img07 {
      width: 6.5104166667vw;
      top: 56.5625vw;
      left: 41.4583333333vw; }
    #scene main .contents section#sec02 figure .cap02_img08 {
      width: 16.1979166667vw;
      top: 5.0520833333vw;
      left: 41.5625vw; }
    #scene main .contents section#sec02 figure figcaption {
      font-size: 1.0416666667vw;
      font-family: "Times New Roman", serif;
      top: 57.2916666667vw;
      left: 48.5416666667vw;
      width: 40px; }
  #scene main .contents section + section {
    margin-top: 10.4166666667vw; }
  @media (max-width: 1280px) {
    #scene main .contents h3 {
      margin-top: 53px;
      margin-bottom: 112px;
      font-size: 18px; }
      #scene main .contents h3 span.eng {
        font-size: 13px;
        margin-top: 8px; }
    #scene main .contents section h4 {
      font-size: 48px; }
      #scene main .contents section h4 span {
        font-size: 10px;
        margin-top: 22px; }
      #scene main .contents section h4::after {
        bottom: 29px; }
    #scene main .contents section#sec01 figure {
      height: 235px; }
      #scene main .contents section#sec01 figure .cap01_img01 {
        width: 150px;
        left: 133px;
        top: 53px; }
      #scene main .contents section#sec01 figure .cap01_img02 {
        width: 267px;
        left: 332px;
        top: -80px; }
    #scene main .contents section#sec02 figure {
      height: 667px; }
      #scene main .contents section#sec02 figure .cap02_img01 {
        width: 133px;
        top: -93px;
        left: 213px; }
      #scene main .contents section#sec02 figure .cap02_img02 {
        width: 220px;
        top: -133px;
        left: -33px; }
      #scene main .contents section#sec02 figure .cap02_img03 {
        width: 171px;
        top: 179px;
        left: 32px; }
      #scene main .contents section#sec02 figure .cap02_img04 {
        width: 167px;
        top: 179px;
        left: 260px; }
      #scene main .contents section#sec02 figure .cap02_img05 {
        width: 305px;
        top: 451px;
        left: -67px; }
      #scene main .contents section#sec02 figure .cap02_img06 {
        width: 183px;
        top: 493px;
        left: 294px; }
      #scene main .contents section#sec02 figure .cap02_img07 {
        width: 83px;
        top: 709px;
        left: 531px; }
      #scene main .contents section#sec02 figure .cap02_img08 {
        width: 207px;
        top: 65px;
        left: 532px; }
      #scene main .contents section#sec02 figure figcaption {
        font-size: 13px;
        top: 733px;
        left: 621px; }
    #scene main .contents section + section {
      margin-top: 73px; } }
  @media (max-width: 650px) {
    #scene main .contents h3 {
      text-align: left;
      display: block;
      width: 88.6%;
      margin: 6vw auto 10.7692307692vw;
      font-size: 5.8461538462vw;
      line-height: 1.4; }
      #scene main .contents h3 span.pc {
        display: none; }
      #scene main .contents h3 span.eng {
        font-size: 4.9230769231vw;
        margin-top: 3.0769230769vw;
        color: #1D1D1D;
        opacity: .4;
        font-weight: normal; }
    #scene main .contents section.width_inner {
      width: 90%; }
    #scene main .contents section h4 {
      font-size: 7.0769230769vw; }
      #scene main .contents section h4 br.pc {
        display: none; }
      #scene main .contents section h4 span {
        font-size: 4vw;
        margin-top: 4.1538461538vw; }
      #scene main .contents section h4::after {
        bottom: 6.1538461538vw; }
    #scene main .contents section#sec01 figure {
      height: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      width: 100%; }
      #scene main .contents section#sec01 figure .cap01_img01,
      #scene main .contents section#sec01 figure .cap01_img02 {
        position: relative;
        height: auto;
        top: auto;
        left: auto;
        margin-top: 6vw; }
      #scene main .contents section#sec01 figure .cap01_img01 {
        width: 39.5384615385vw; }
      #scene main .contents section#sec01 figure .cap01_img02 {
        width: 42.1538461538vw; }
    #scene main .contents section#sec02 h4 {
      text-align: left; }
    #scene main .contents section#sec02 figure {
      height: auto;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 100%; }
      #scene main .contents section#sec02 figure .cap02_img01,
      #scene main .contents section#sec02 figure .cap02_img02,
      #scene main .contents section#sec02 figure .cap02_img03,
      #scene main .contents section#sec02 figure .cap02_img04,
      #scene main .contents section#sec02 figure .cap02_img05,
      #scene main .contents section#sec02 figure .cap02_img06,
      #scene main .contents section#sec02 figure .cap02_img07,
      #scene main .contents section#sec02 figure .cap02_img08,
      #scene main .contents section#sec02 figure figcaption {
        position: relative;
        width: auto;
        height: auto;
        top: auto;
        left: auto;
        margin-top: 6vw; }
      #scene main .contents section#sec02 figure .cap02_img01 {
        height: 55.384615384599996vw; }
      #scene main .contents section#sec02 figure .cap02_img02 {
        height: 55.384615384599996vw; }
      #scene main .contents section#sec02 figure .cap02_img03 {
        height: 59.5384615385vw; }
      #scene main .contents section#sec02 figure .cap02_img04 {
        height: 59.5384615385vw; }
      #scene main .contents section#sec02 figure .cap02_img05 {
        width: 88.1538461538vw;
        height: 86.76923076919999vw; }
      #scene main .contents section#sec02 figure .cap02_img06 {
        width: 42.3076923077vw;
        height: 58.7692307692vw; }
      #scene main .contents section#sec02 figure .wrapper {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 42.3076923077vw;
        margin-top: 7.2307692308vw; }
        #scene main .contents section#sec02 figure .wrapper .cap02_img07 {
          width: 100%;
          margin-top: 0vw; }
        #scene main .contents section#sec02 figure .wrapper figcaption {
          display: flex;
          justify-content: center;
          align-items: center;
          margin: 0 auto;
          font-size: 4.6153846154vw;
          width: 80px;
          margin-top: 6px; }
        #scene main .contents section#sec02 figure .wrapper .cap02_img08 {
          width: 100%;
          margin-top: 7.2307692308vw; } }
  @media (max-width: 650px) {
    #scene footer {
      margin-top: 16.1538461538vw; } }

/*==================================================
  5. footer
==================================================*/
footer {
  margin-top: 14.9479166667vw;
  height: auto;
  color: #fff;
  background: #969595; }
  footer nav#footer-nav {
    padding: 40px 0 20px; }
    footer nav#footer-nav .table {
      flex-direction: column;
      max-width: 1200px;
      margin: 0 auto;
      /*dl:first-child dt {
          position: relative;
          &::after {
              content: "";
              height: 100%;
              width: 1px;
              background: #fff;
              position: absolute;
              right: 0;
              top: 50%;
              transform: translateY(-50%);
          }
      }*/ }
      footer nav#footer-nav .table.pc {
        display: flex; }
      footer nav#footer-nav .table.sp {
        display: none; }
      footer nav#footer-nav .table dl {
        display: flex; }
        footer nav#footer-nav .table dl dt {
          font-size: 22px;
          min-width: 142px;
          padding: 6px 16px;
          font-weight: bold;
          box-sizing: border-box; }
        footer nav#footer-nav .table dl dd ul {
          display: flex;
          align-items: center;
          flex-wrap: wrap;
          max-width: 62.5vw;
          /*li:nth-child(6) a {
              margin-left: 3em;
              @media screen and (max-width:1074px) {
                  margin-left: 3em;
              }
              @media screen and (max-width:911px) {
                  margin-left: 0;
              }
          }
          li:nth-child(5) a {
              @media screen and (max-width:911px) {
                  margin-left: 3em;
              }
          }
          li:nth-child(8) a {
              @media screen and (max-width:911px) {
                  margin-left: 3em;
              }
              @media screen and (max-width:789px) {
                  margin-left: 0;
              }
          }
          li:nth-child(7) a {
              @media screen and (max-width:789px) {
                  margin-left: 3em;
              }
          }
          li:nth-child(9) a {
              @media screen and (max-width:699px) {
                  margin-left: 3em;
              }
          }*/ }
          footer nav#footer-nav .table dl dd ul li a {
            font-size: 20px;
            color: #fff;
            display: block;
            padding: 6px 16px;
            position: relative; }
            footer nav#footer-nav .table dl dd ul li a.chap4_content {
              font-size: 14px;
              padding: 6px 0 6px 16px;
              font-weight: normal; }
              footer nav#footer-nav .table dl dd ul li a.chap4_content .slash {
                display: inline-block;
                padding: 0 .5em 0 0;
                margin-left: -16px; }
                @media screen and (max-width: 924px) {
                  footer nav#footer-nav .table dl dd ul li a.chap4_content .slash {
                    display: none; } }
            footer nav#footer-nav .table dl dd ul li a:not(.chap4_content)::before {
              content: "";
              height: 100%;
              width: 1px;
              background: #fff;
              position: absolute;
              left: 0;
              top: 50%;
              transform: translateY(-50%); }
        footer nav#footer-nav .table dl + dl {
          margin-top: 1em; }
      footer nav#footer-nav .table .chap03 {
        position: relative; }
        footer nav#footer-nav .table .chap03::after {
          content: "";
          height: 100%;
          width: 1px;
          background: #fff;
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%); }
      footer nav#footer-nav .table li.chap04 {
        display: flex;
        justify-content: center;
        align-items: center; }
      footer nav#footer-nav .table ul + ul {
        margin-top: 16px; }
      footer nav#footer-nav .table dl:first-child dd ul li:first-child a {
        /*&:not(.chap4_content):first-child::before {
            content: none;
        }*/ }
  footer .footer-banners {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 44px;
    margin-top: -12px; }
    footer .footer-banners__link {
      margin-top: 12px; }
      footer .footer-banners__link:not(:first-child) {
        margin-left: 12px; }
      @media screen and (max-width: 1059px) {
        footer .footer-banners__link:last-child {
          margin-left: 0; } }
      @media screen and (max-width: 791px) {
        footer .footer-banners__link:last-child {
          margin-left: 12px; } }
      @media screen and (max-width: 790px) {
        footer .footer-banners__link:nth-child(3) {
          margin-left: 0; } }
    footer .footer-banners__banner {
      height: 72px;
      width: auto; }
  footer small {
    display: block;
    margin: 0 auto;
    text-align: center;
    padding-bottom: 40px;
    font-size: 10px; }
  @media (max-width: 650px) {
    footer {
      margin-top: 0;
      background: #acacac; }
      footer nav#footer-nav {
        padding: 0 0 40px; }
        footer nav#footer-nav .table {
          width: 100%; }
          footer nav#footer-nav .table.pc {
            display: none; }
          footer nav#footer-nav .table.sp {
            display: block; }
          footer nav#footer-nav .table ul {
            width: 100%;
            display: flex;
            flex-wrap: wrap; }
            footer nav#footer-nav .table ul li {
              width: 50%;
              height: 60px;
              display: flex;
              justify-content: center;
              align-items: center;
              border-bottom: 1px solid #fff;
              position: relative; }
              footer nav#footer-nav .table ul li.top {
                width: 100%; }
              footer nav#footer-nav .table ul li a {
                font-size: 4.3076923077vw;
                display: flex;
                justify-content: center;
                align-items: center;
                width: 100%;
                color: #fff;
                transition: .3s ease; }
                footer nav#footer-nav .table ul li a.chap4_content {
                  font-size: 2.7692307692vw; }
                footer nav#footer-nav .table ul li a:hover {
                  opacity: .7; }
              footer nav#footer-nav .table ul li:nth-child(1), footer nav#footer-nav .table ul li:nth-child(4), footer nav#footer-nav .table ul li:nth-child(5), footer nav#footer-nav .table ul li:nth-child(8), footer nav#footer-nav .table ul li:nth-child(9), footer nav#footer-nav .table ul li:nth-child(12), footer nav#footer-nav .table ul li:nth-child(13) {
                background: #969595; }
              footer nav#footer-nav .table ul li:nth-child(odd):not(:first-child):before {
                content: "";
                width: 1px;
                height: 80%;
                background: #fff;
                position: absolute;
                left: 0;
                top: 50%;
                transform: translateY(-50%); }
      footer .footer-banners__banner {
        height: 90px; }
      footer .footer-banners__link:not(:first-child) {
        margin-left: 0; }
      footer small {
        font-size: 3.0769230769vw; } }

/*# sourceMappingURL=style.css.map */
