@charset "UTF-8";
body {
  color: #202020; }

@media only screen and (min-width: 768px) {
  .kv_img {
    height: 930px; }
    .kv_img img {
      width: 100%;
      height: 100%;
      object-fit: cover; } 

      .fx-right {
        padding: 25px 0 0 0;
      }

      }
#sec1 {
  margin-bottom: 20vw; }
  #sec1 h2 {
    letter-spacing: 0.2em; }
    #sec1 h2 p:nth-child(2) {
      margin-top: 8vw;
      padding-top: 8vw;
      position: relative; }
      #sec1 h2 p:nth-child(2):before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 35vw;
        height: 1px;
        background: #000; }
  #sec1 .sec1-txt {
    margin: 7vw 0 12vw; }
  #sec1 .sec1-img p + p {
    margin-top: 2vw; }
  @media only screen and (min-width: 768px) {
    #sec1 {
      margin-top: 135px;
      margin-bottom: 179px; }
      #sec1 .sec1-info {
        width: 425px;
        margin: 72px 30px 0 50px; }
      #sec1 h2 {
        letter-spacing: 2px;
        margin-bottom: 50px;
        line-height: 50px; }
        #sec1 h2 p:nth-child(2) {
          margin-top: 54px;
          padding-top: 43px; }
          #sec1 h2 p:nth-child(2):before {
            width: 150px; }
      #sec1 .sec1-txt {
        margin: 0; }
      #sec1 .sec1-img {
        width: 620px;
        margin-right: -170px;
        margin-top: 0; }
        #sec1 .sec1-img p + p {
          margin-top: 10px; } }

.sec2-1 {
  margin-bottom: 15vw; }
  .sec2-1 h2 {
    text-align: center; }
  .sec2-1 .sec2-box {
    margin: 7vw 0;
    color: #fff;
    background: #212121 url("../img/english/sec2_bg.jpg") no-repeat top center;
    padding: 10vw 5%; }
  .sec2-1 dl {
    align-items: flex-start;
    justify-content: space-between;
    font-size: 13px; }
    .sec2-1 dl + dl {
      border-top: 1px solid #fff;
      margin-top: 5vw;
      padding-top: 5vw; }
    .sec2-1 dl dt {
      width: 80px; }
    .sec2-1 dl dd {
      width: calc(100% - 80px); }

  @media only screen and (min-width: 768px) {
    .sec2-1 {
      margin-bottom: 88px;
      width: 800px; }
      .sec2-1 h2 {
        letter-spacing: 1px; }
      .sec2-1 .sec2-box {
        margin: 64px 0 25px;
        padding: 65px 100px 60px; }
      .sec2-1 dl {
        font-size: 15px;
        line-height: 42px; }
        .sec2-1 dl + dl {
          margin-top: 36px;
          padding-top: 36px; }
        .sec2-1 dl dt {
          width: 185px;
          font-size: 20px; }
        .sec2-1 dl dd {
          width: calc(100% - 185px); }
      .sec2-1 ul li {
        padding-left: 18px; } }

.sec2-2 {
  margin-bottom: 20vw;
  padding: 12vw 0 1vw;
  position: relative;
  z-index: 0; }
  .sec2-2:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: url("../img/scene/bg2.png");
    width: 100%;
    height: 100%;
    top: 0;
    left: 3%; }
  .sec2-2 h3 {
    text-align: center;
    margin-bottom: 10vw; }
  .sec2-2 .sec2-ttl {
    text-align: center;
    margin-bottom: 7vw; }
  .sec2-2 .sec2-ttl-sub {
    margin: 0 auto 2vw;
    font-size: 7vw;
    letter-spacing: 0.2em; }
  .sec2-2 .sec2-img {
    margin-bottom: 15vw; }
  .sec2-2 .sec2-txt2 {
    margin: 5vw 0 7vw; }
  .sec2-2 .sec2-row3 {
    margin-bottom: 15vw; }
  @media only screen and (max-width: 767px) {
    .sec2-2 .sec2-txt1 {
      text-align: center; } }
  @media only screen and (min-width: 768px) {
    .sec2-2 {
      margin-bottom: 127px;
      padding: 126px 0 1px; }
      .sec2-2:before {
        left: calc(50% - 500px); }
      .sec2-2 h3 {
        margin-bottom: 62px;
        letter-spacing: 1px; }
      .sec2-2 .sec2-ttl {
        margin-bottom: 0;
        width: 450px;
        padding-bottom: 55px; }
      .sec2-2 .sec2-ttl-sub {
        margin: 0 auto 18px;
        font-size: 42px;
        letter-spacing: 7px; }
      .sec2-2 .sec2-txt1 {
        letter-spacing: 3px; }
      .sec2-2 .sec2-img {
        margin-bottom: 80px;
        width: 720px; }
      .sec2-2 .sec2-txt2 {
        margin: 22px 0 0; }
      .sec2-2 .sec2-row3 {
        margin-bottom: 80px;
        align-items: center; }
        .sec2-2 .sec2-row3 .sec2-img3 {
          order: -1;
          margin-left: -50px; }
        .sec2-2 .sec2-row3 .sec2-info {
          width: 319px; }
        .sec2-2 .sec2-row3 .sec2-ttl-sub {
          margin: 0 0 46px; }
        .sec2-2 .sec2-row3:last-child {
          margin-bottom: 100px; }
      .sec2-2 .sec2-row1 {
        align-items: center; }
        .sec2-2 .sec2-row1 .sec2-img {
          order: -1;
          margin-left: -170px; }
      .sec2-2 .sec2-row2 {
        align-items: center; }
        .sec2-2 .sec2-row2 .sec2-img {
          margin-right: -170px; } }

#sec3 {
  margin-bottom: 20vw; }
  #sec3 h2 {
    text-align: center; }
  #sec3 .sec3-img {
    margin: 5vw 0; }
  @media only screen and (min-width: 768px) {
    #sec3 {
      margin-bottom: 117px; }
      #sec3 .wrap {
        width: 900px; }
      #sec3 h2 {
        text-align: center; }
      #sec3 .sec3-img {
        margin: 67px 0 44px; }
      #sec3 .sec3-txt {
        margin-left: 300px; } }

#sec4 {
  padding-bottom: 15vw;
  position: relative;
  z-index: 0; }
  #sec4:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: url("../img/scene/bg2.png");
    width: 100%;
    top: 44vw;
    bottom: 0;
    left: 0; }
  #sec4 .sec4-img {
    margin: 5vw 0; }
    #sec4 .sec4-img .slick-dots {
      display: flex;
      justify-content: flex-end;
      align-items: flex-end; }
      #sec4 .sec4-img .slick-dots li {
        width: 1px;
        height: 13px;
        background: #000;
        margin: 0 2px; }
        #sec4 .sec4-img .slick-dots li button {
          width: 100%;
          height: 100%;
          border-radius: 0;
          border: none; }
        #sec4 .sec4-img .slick-dots li.slick-active {
          height: 26px; }
  @media only screen and (min-width: 768px) {
    #sec4 {
      padding-bottom: 135px; }
      #sec4:before {
        top: 155px; }
      #sec4 .wrap {
        width: 100%;
        max-width: 1300px; }
      #sec4 .df-pc {
        justify-content: flex-start;
        align-items: center; }
      #sec4 h2 {
        margin-left: 100px;
        order: 2; }
      #sec4 .sec4-img {
        margin: 0 0 49px -100px;
        width: 1000px; }
        #sec4 .sec4-img .slick-dots {
          position: absolute;
          right: -123px;
          bottom: 128px; }
          #sec4 .sec4-img .slick-dots li {
            height: 25px;
            margin: 0 5px; }
            #sec4 .sec4-img .slick-dots li.slick-active {
              height: 50px; } }
  @media screen and (min-width: 768px) and (max-width: 1380px) {
    #sec4 h2 {
      margin-left: 50px; }
    #sec4 .sec4-txt {
      margin-left: 30px; }
    #sec4 .sec4-img .slick-dots {
      right: -73px; } }
  @media screen and (min-width: 768px) and (max-width: 1200px) {
    #sec4 .sec4-img {
      width: calc(100% - 170px); }
    #sec4 .sec4-img .slick-dots {
      bottom: 80px; } }

#sec5 {
  position: relative;
  padding-top: 15vw;
  margin-bottom: 20vw; }
  #sec5 h2 {
    text-align: center; }
  #sec5 .sec5-deco {
    position: absolute;
    width: 50%;
    top: -18vw;
    right: 0; }
  #sec5 .sec5-map {
    margin: 5vw 0 12vw; }
  #sec5 .tabs-switch {
    padding-bottom: 10vw;
    position: relative;
    z-index: 0; }
    #sec5 .tabs-switch:before {
      content: "";
      position: absolute;
      z-index: -1;
      background: url("../img/scene/bg2.png");
      width: 100%;
      top: 10vw;
      bottom: 0;
      left: -6%; }
  #sec5 .tab-link {
    margin-bottom: 6vw; }
    #sec5 .tab-link li {
      width: calc((100% - 20px) / 3); }
      #sec5 .tab-link li.active {
        opacity: 0.5; }
  #sec5 h3 {
    font-size: 5vw;
    padding-bottom: 2vw;
    margin-bottom: 7vw;
    position: relative; }
    #sec5 h3:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 17vw;
      height: 1px;
      background: #000; }
  #sec5 dd {
    margin: 3vw 0 5vw; }
  @media only screen and (min-width: 768px) {
    #sec5 {
      padding-top: 178px;
      margin-bottom: 150px; }
      #sec5 .sec5-deco {
        width: 377px;
        top: -300px;
        right: -94px; }
      #sec5 .sec5-map {
        margin: 62px auto 150px;
        width: 618px; }
      #sec5 .tabs-switch {
        padding-bottom: 80px; }
        #sec5 .tabs-switch:before {
          width: auto;
          top: 30px;
          bottom: 0;
          left: -50px;
          right: -50px;
          background: url("../img/scene/bg2.png"); }
      #sec5 .tab-link {
        margin: 0 auto 60px;
        width: 620px; }
        #sec5 .tab-link li {
          width: 200px;
          transition: ease 0.3s; }
          #sec5 .tab-link li:hover {
            opacity: 0.5; }
      #sec5 .sec5-info {
        width: 335px;
        margin: 29px 0 0 93px; }
      #sec5 h3 {
        font-size: 20px;
        padding-bottom: 13px;
        margin-bottom: 42px;
        letter-spacing: 3px; }
        #sec5 h3:before {
          width: 75px; }
      #sec5 dt {
        font-size: 20px;
        letter-spacing: 0px; }
      #sec5 dd {
        margin: 21px 0 0; }
      #sec5 .sec5-img {
        width: 620px;
        margin-right: -120px; } }

#sec6 {
  background: url("../img/english/sec6_bg.jpg") no-repeat center/cover;
  color: #fff;
  padding: 15vw 0 20vw; }
  #sec6 h2 {
    margin-bottom: 7vw; }
  #sec6 ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding-bottom: 10px;
    margin-bottom: 10px; }
  @media only screen and (min-width: 768px) {
    #sec6 {
      padding: 177px 0 360px; }
      #sec6 .wrap {
        margin: 0 auto;
        width: 800px; }
      #sec6 h2 {
        margin-bottom: 53px;
        letter-spacing: 1px; }
      #sec6 ul li {
        line-height: 31px;
        padding-bottom: 17px;
        margin-bottom: 13px;
        letter-spacing: 1.6px; } }

#sec6-box {
  margin: -9vw 2.5vw 15vw;
  background: url(../img/shared/bg4.jpg);
  color: #fff;
  text-align: center;
  padding: 10vw 5% 15vw; }
  #sec6-box dl dt {
    font-size: 20px; }
  #sec6-box dl dd {
    font-size: 7vw;
    letter-spacing: 0.03em;
    line-height: 1;
    padding-top: 24px;
    font-family: 'Amiri';
    font-weight: 400; }
  #sec6-box .inside {
    max-width: 300px;
    margin: 0 auto; }
  #sec6-box .note {
    line-height: 1.5;
    border-bottom: 1px solid #fff;
    padding-top: 4vw;
    padding-bottom: 6vw;
    margin-bottom: 9vw;
    font-size: 80%; }
  #sec6-box .btn-shared {
    width: 85%;
    margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    #sec6-box {
      margin: -266px auto 157px;
      width: 800px;
      padding: 74px 0 96px; }
      #sec6-box dl dt {
        letter-spacing: 4px; }
      #sec6-box dl dd {
        font-size: 28px;
        letter-spacing: 1px;
        padding-top: 31px; }
      #sec6-box .inside {
        max-width: 320px; }
      #sec6-box .note {
        line-height: 16px;
        padding-top: 21px;
        padding-bottom: 28px;
        margin-bottom: 37px;
        font-size: 12px; }
      #sec6-box .btn-shared {
        width: 236px; }
        #sec6-box .btn-shared a {
          font-size: 15px;
          padding: 2px 0; } }

#sec7 {
  padding-bottom: 15vw;
  margin-bottom: 20vw;
  position: relative;
  z-index: 0; }
  #sec7:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: url("../img/scene/bg2.png");
    width: 50%;
    top: 10vw;
    bottom: 0;
    left: 50%; }
  #sec7 .sec7-img {
    margin: 5vw 0; }
  #sec7 .info dl {
    padding-bottom: 10px;
    margin-bottom: 10px;
    line-height: 2;
    border-bottom: 1px solid #d0d0cf;
    text-align: left;
    align-items: flex-start;
    font-size: 14px; }
    #sec7 .info dl dt {
      width: 80px; }
    #sec7 .info dl dd {
      width: calc(100% - 80px); }
  @media only screen and (min-width: 768px) {
    #sec7 {
      padding: 0 30px 150px;
      margin-bottom: 141px; }
      #sec7:before {
        top: 155px; }
      #sec7 h2 {
        padding-top: 127px;
        line-height: 40px;
        margin-bottom: 131px; }
      #sec7 .sec7-img {
        margin: 0;
        position: absolute;
        top: -10px;
        left: 650px;
        width: 600px; }
      #sec7 .info {
        width: 800px; }
        #sec7 .info dl {
          padding-bottom: 15px;
          margin-bottom: 16px;
          line-height: 31px;
          font-size: 15px; }
          #sec7 .info dl dt {
            width: 200px; }
          #sec7 .info dl dd {
            width: calc(100% - 200px); } }
