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

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

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

fieldset, img {
  border: 0; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

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

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

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

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

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

legend {
  color: #000; }

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

/*===========================================================
全体の設定
=============================================================*/
.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal; }

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal; }

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal; }

.en {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: normal; }

html {
  color: #000000;
  font-family: "Zen Kaku Gothic New", sans-serif; }
  @media screen and (max-width: 768px) {
    html {
      min-width: 100%; } }

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

h1, h2, h3, h4, h5, h6, p, li, ol, dl, dt, dd, a, td, th {
  color: #000000;
  line-height: 1;
  letter-spacing: .05rem; }

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

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

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

* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  line-break: auto;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: .05rem; }

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

html.is-menuOpen,
body.is-menuOpen {
  overflow: hidden; }

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

.relative {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

/*=====================================================================
共通パーツ
=======================================================================*/
/* レール */
.progress-bar {
  width: 1px;
  height: 500px;
  background-color: #707070;
  position: fixed;
  top: 0;
  right: 60px;
  bottom: 0;
  margin: auto 0;
  z-index: 200;
  opacity: 0;
  transition: .3s; }
  @media screen and (max-width: 768px) {
    .progress-bar {
      display: none; } }

.progress-bar[style*="opacity: 1"] {
  opacity: 1; }

/* 進行度（塗り） */
.progress-bar__fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0%;
  transform-origin: bottom; }

/* 6等分マーカー（固定） */
.progress-bar__marker {
  position: absolute;
  left: 50%;
  top: var(--p);
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  border-radius: 9999px;
  background: #fff;
  z-index: 199;
  border: 1px solid #707070;
  line-height: 68px;
  font-size: 1.7rem;
  text-align: center;
  color: #6D8198; }
  .progress-bar__marker.last {
    width: 68px;
    height: 68px; }

/* つまみ（ドット） */
.progress-bar__dot {
  width: 70px;
  height: 70px;
  border: 1px solid #707070;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 9999px;
  background: #fff;
  z-index: 201;
  top: 100%;
  margin-top: -5px;
  text-align: center; }
  .progress-bar__dot img {
    width: 30px;
    padding-top: 4px; }

/*=====================================================================
headerの設定
=======================================================================*/
/*1で解説*/
@keyframes fadeInAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
header.header__pc {
  padding-top: 45px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 96%;
  z-index: 999;
  opacity: 0;
  animation-name: fadeInAnime;
  /*アニメーションの定義名*/
  animation-duration: 1s;
  /*アニメーション変化時間 ※デフォルト*/
  animation-fill-mode: forwards;
  /*アニメーションの開始と終了時の状態を指定*/
  animation-iteration-count: 1;
  animation-delay: 1s; }
  @media screen and (max-width: 768px) {
    header.header__pc {
      display: none; } }
  header.header__pc .logo {
    width: 330px;
    height: auto;
    position: fixed;
    top: 35px;
    left: 0; }
    @media screen and (max-width: 992px) {
      header.header__pc .logo {
        width: 250px;
        left: 20px; } }
    @media screen and (max-width: 768px) {
      header.header__pc .logo {
        top: 20px; } }
  header.header__pc .d-flex a {
    color: #767676;
    transition: .4s; }
    header.header__pc .d-flex a span {
      font-size: 1.4rem;
      margin-left: 25px; }
      @media screen and (max-width: 992px) {
        header.header__pc .d-flex a span {
          margin-left: 15px;
          font-size: 1.2rem; } }
    header.header__pc .d-flex a:hover {
      color: #000; }

.header__sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .header__sp {
      display: block; } }
  .header__sp .sp__logo {
    width: 48%;
    position: absolute;
    top: 7px;
    left: 4%;
    z-index: 998; }
    .header__sp .sp__logo img {
      width: 100%; }

.square__menu {
  /*========= ナビゲーションのためのCSS ===============*/
  /*========= ボタンのためのCSS ===============*/
  /*========= ボタンのためのCSS end===============*/ }
  .square__menu #g-nav {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0;
    /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    width: 100%;
    height: 100vh;
    /*ナビの高さ*/
    background: rgba(242, 249, 251, 0.9);
    /*背景を少し透過させる*/
    /*動き*/
    transition: all .3s;
    overflow-y: scroll;
    /*アクティブクラスがついたら透過なしにして最前面へ*/ }
    .square__menu #g-nav .sp__logo {
      width: 140px; }
    .square__menu #g-nav #g-nav-list {
      /*ナビゲーションの縦スクロール*/
      /*ナビの数が増えた場合縦スクロール*/
      position: fixed;
      z-index: 999;
      width: 100%;
      height: 100vh;
      /*表示する高さ*/
      overflow: scroll;
      -webkit-overflow-scrolling: touch;
      transition: .5s; }
    .square__menu #g-nav #cover {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      z-index: -100;
      display: none; }
    .square__menu #g-nav.panelactive {
      opacity: 1;
      z-index: 999; }
      .square__menu #g-nav.panelactive #g-nav-list {
        right: 0; }
        .square__menu #g-nav.panelactive #g-nav-list li {
          opacity: 1;
          transition: .8s;
          top: 0; }
        .square__menu #g-nav.panelactive #g-nav-list .sns {
          opacity: 1;
          transition: .8s; }
      .square__menu #g-nav.panelactive #cover {
        display: block;
        z-index: 900; }
  .square__menu .center {
    background: #BCCEEF;
    width: 88%;
    border: 1px solid #707070;
    padding: 10px; }
    .square__menu .center .ul__nav {
      background: #fff;
      border: 1px solid #707070;
      padding: 40px 4%; }
      .square__menu .center .ul__nav a {
        color: #A8A8A8;
        padding: 15px;
        border-bottom: 1px solid #A8A8A8; }
  .square__menu .openbtn {
    position: fixed;
    z-index: 999;
    /*ボタンを最前面に*/
    cursor: pointer;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: #0057AA;
    transition: .2s;
    /*×に変化*/ }
    .square__menu .openbtn.is-active {
      z-index: 9999;
      background: #fff;
      border-radius: 100px;
      border: 1px solid #707070;
      top: 4%;
      right: 4%; }
    .square__menu .openbtn span {
      display: inline-block;
      transition: all .4s;
      position: absolute;
      left: 10px;
      height: 1px;
      border-radius: 2px;
      background-color: #000;
      width: 30px; }
  .square__menu .openbtn span:nth-of-type(1) {
    top: 17px;
    background-color: #fff; }
  .square__menu .openbtn span:nth-of-type(2) {
    top: 25px;
    background-color: #fff; }
  .square__menu .openbtn span:nth-of-type(3) {
    top: 33px;
    background-color: #fff; }
  .square__menu .openbtn.active span:nth-of-type(1) {
    transform: translateY(15px) rotate(-45deg);
    width: 30px;
    background-color: #000;
    top: 9px;
    left: 9px; }
  .square__menu .openbtn.active span:nth-of-type(2) {
    opacity: 0; }
  .square__menu .openbtn.active span:nth-of-type(3) {
    transform: translateY(-15px) rotate(45deg);
    width: 30px;
    background-color: #000;
    top: 39px;
    left: 9px; }
  .square__menu #g-nav-list {
    padding: 150px 12% 0;
    height: auto;
    transition: 1s; }
    .square__menu #g-nav-list ul {
      width: 100%;
      position: static;
      top: unset;
      left: unset;
      transform: unset; }
      .square__menu #g-nav-list ul li {
        opacity: 0;
        position: relative;
        top: -5px; }
        .square__menu #g-nav-list ul li a {
          text-align: left;
          font-weight: bold;
          display: flex;
          line-height: 1;
          justify-content: space-between;
          align-items: center;
          position: relative; }
          .square__menu #g-nav-list ul li a:after {
            position: absolute;
            content: "";
            background-image: url("../img/icon-r-2.png");
            background-size: contain;
            width: 16px;
            height: 16px;
            top: 50%;
            right: 10px;
            transform: translateY(-50%); }
          .square__menu #g-nav-list ul li a:hover {
            color: #707070;
            transition: .3s; }
  .square__menu .fv-main-link {
    position: absolute;
    bottom: 11%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    width: 88%; }
    .square__menu .fv-main-link a {
      background: #0057AA;
      border-radius: 6px; }

/*=====================================================================
footerの設定
=======================================================================*/
footer {
  padding-top: 40px;
  padding-bottom: 115px;
  background: #0057AA; }
  @media screen and (max-width: 768px) {
    footer {
      padding-bottom: 20px; } }
  footer * {
    color: #fff; }
  footer h2 {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 500;
    letter-spacing: 1rem; }
  footer .wrap__1 {
    padding: 45px 100px; }
    footer .wrap__1 .left, footer .wrap__1 .right {
      width: 50%; }
      @media screen and (max-width: 992px) {
        footer .wrap__1 .left, footer .wrap__1 .right {
          width: 100%; } }
    footer .wrap__1 .left {
      padding-right: 70px;
      border-right: 1px solid #fff; }
      @media screen and (max-width: 992px) {
        footer .wrap__1 .left {
          width: 100%;
          padding-right: 0;
          border-right: none;
          text-align: center;
          margin-top: 20px; } }
      footer .wrap__1 .left h3 {
        font-size: 1.6rem;
        font-weight: 500; }
      footer .wrap__1 .left a {
        font-size: 3.2rem;
        font-weight: 500;
        letter-spacing: 1rem; }
        @media screen and (max-width: 992px) {
          footer .wrap__1 .left a {
            text-align: center; } }
      footer .wrap__1 .left p {
        font-size: 1.4rem; }
        @media screen and (max-width: 992px) {
          footer .wrap__1 .left p {
            width: 90%;
            margin: auto; } }
    footer .wrap__1 .right {
      padding-left: 70px;
      padding-top: 50px; }
      @media screen and (max-width: 992px) {
        footer .wrap__1 .right {
          padding-left: 0;
          padding-top: 30px;
          text-align: center; }
          footer .wrap__1 .right a {
            width: 90%;
            display: inline-block; } }
      footer .wrap__1 .right a {
        border: 1px solid #707070;
        text-align: center;
        border-radius: 100px;
        background: #fff;
        font-size: 1.6rem;
        padding: 8px;
        position: relative;
        font-weight: 500;
        color: #000;
        transition: .4s; }
        footer .wrap__1 .right a img.icon-r {
          position: absolute;
          top: 50%;
          right: 15px;
          width: 20px;
          height: 20px;
          transform: translateY(-50%); }
        footer .wrap__1 .right a:hover {
          background: #0057AA;
          color: #fff;
          border: 1px solid #fff; }
          footer .wrap__1 .right a:hover img.icon-r {
            filter: brightness(20); }
    @media screen and (max-width: 768px) {
      footer .wrap__1 {
        padding: 25px 0; } }
  footer .wrap__2 .btn-1 {
    background: #2677C4;
    position: relative;
    transition: .4s;
    border: 1px solid #2677C4; }
    footer .wrap__2 .btn-1 img.icon-r {
      position: absolute;
      top: 50%;
      right: 15px;
      width: 20px;
      height: 20px;
      transform: translateY(-50%);
      filter: brightness(20); }
    footer .wrap__2 .btn-1:hover {
      background: #0057AA;
      color: #fff;
      border: 1px solid #fff; }
      footer .wrap__2 .btn-1:hover img.icon-r {
        filter: brightness(20); }
  footer .wrap__2 .btn-2 {
    background: #4489CB;
    position: relative;
    transition: .4s;
    border: 1px solid #4489CB; }
    footer .wrap__2 .btn-2 img.icon-r {
      position: absolute;
      top: 50%;
      right: 15px;
      width: 20px;
      height: 20px;
      transform: translateY(-50%);
      filter: brightness(20); }
    footer .wrap__2 .btn-2:hover {
      background: #0057AA;
      color: #fff;
      border: 1px solid #fff; }
      footer .wrap__2 .btn-2:hover img.icon-r {
        filter: brightness(20); }
  footer .wrap__2 .btn-1, footer .wrap__2 .btn-2 {
    height: 60px;
    width: 50%;
    text-align: center;
    line-height: 60px;
    font-size: 1.6rem; }
    @media screen and (max-width: 768px) {
      footer .wrap__2 .btn-1, footer .wrap__2 .btn-2 {
        width: 100%; } }
  footer .wrap__3 {
    padding: 75px 100px; }
    @media screen and (max-width: 1080px) {
      footer .wrap__3 {
        padding: 75px 40px; } }
    @media screen and (max-width: 992px) {
      footer .wrap__3 {
        padding: 75px 0px; } }
    @media screen and (max-width: 768px) {
      footer .wrap__3 {
        padding: 25px 0; } }
    footer .wrap__3 ul {
      background: #fff;
      border-radius: 10px;
      margin-left: 50px;
      margin-bottom: 45px; }
      @media screen and (max-width: 768px) {
        footer .wrap__3 ul {
          width: auto;
          margin-left: 0;
          margin-top: 20px;
          margin-bottom: 20px;
          justify-content: center; } }
      footer .wrap__3 ul li {
        border-right: 1px solid #0057AA; }
        footer .wrap__3 ul li:last-child {
          border-right: none; }
        footer .wrap__3 ul li a {
          padding: 17px 30px; }
          @media screen and (max-width: 992px) {
            footer .wrap__3 ul li a {
              padding: 12px 17px; } }
          @media screen and (max-width: 768px) {
            footer .wrap__3 ul li a {
              padding: 12px 25px;
              text-align: center;
              display: flex;
              align-items: center; } }
          @media screen and (max-width: 576px) {
            footer .wrap__3 ul li a {
              padding: 12px 15px; } }
    footer .wrap__3 .footer-1 {
      width: auto;
      height: 77px; }
    footer .wrap__3 .footer-2 {
      width: auto;
      height: 27px; }
      @media screen and (max-width: 768px) {
        footer .wrap__3 .footer-2 {
          height: 30px; } }
      @media screen and (max-width: 576px) {
        footer .wrap__3 .footer-2 {
          height: 25px;
          width: auto; } }
    footer .wrap__3 .footer-3 {
      width: 46px;
      height: 46px; }
      @media screen and (max-width: 768px) {
        footer .wrap__3 .footer-3 {
          width: 30px;
          height: 30px; } }
      @media screen and (max-width: 576px) {
        footer .wrap__3 .footer-3 {
          height: 25px;
          width: auto; } }
    footer .wrap__3 .footer-4 {
      width: 46px;
      height: 46px; }
      @media screen and (max-width: 768px) {
        footer .wrap__3 .footer-4 {
          width: 30px;
          height: 30px; } }
      @media screen and (max-width: 576px) {
        footer .wrap__3 .footer-4 {
          height: 25px;
          width: auto; } }
    footer .wrap__3 .footer-5 {
      width: auto;
      height: 35px;
      margin-top: 6px; }
      @media screen and (max-width: 768px) {
        footer .wrap__3 .footer-5 {
          width: 30px;
          height: 30px;
          margin-top: 0; } }
      @media screen and (max-width: 576px) {
        footer .wrap__3 .footer-5 {
          height: 22px;
          margin-top: 1px;
          width: auto; } }
    @media screen and (max-width: 768px) {
      footer .wrap__3 .josai {
        width: 80%;
        margin: auto; } }
  footer .wrap__3__2 {
    border-top: 1px solid #fff;
    padding: 50px 100px; }
    @media screen and (max-width: 1080px) {
      footer .wrap__3__2 {
        padding: 50px 40px; } }
    @media screen and (max-width: 992px) {
      footer .wrap__3__2 {
        padding: 50px 0px; } }
    @media screen and (max-width: 768px) {
      footer .wrap__3__2 {
        padding: 50px 6%; } }
    footer .wrap__3__2 div {
      width: 48%; }
      @media screen and (max-width: 576px) {
        footer .wrap__3__2 div {
          width: 100%;
          margin-bottom: 20px; } }
  footer .wrap__4 {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 25px 100px;
    margin-bottom: 55px; }
    footer .wrap__4 h3, footer .wrap__4 h4 {
      font-size: 1.4rem;
      font-weight: 500;
      margin-bottom: 15px; }
    footer .wrap__4 h3 {
      margin-bottom: 20px; }
    footer .wrap__4 p {
      font-size: 1.3rem; }
    footer .wrap__4 .left {
      margin-right: 30px; }
      @media screen and (max-width: 768px) {
        footer .wrap__4 .left {
          margin-bottom: 30px;
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      footer .wrap__4 {
        padding: 25px 4%;
        margin-bottom: 10px; } }
  footer .copyright p {
    font-size: 1.6rem;
    text-align: center; }

/*=====================================================================
TOPの設定
=======================================================================*/
.fv {
  width: 100%;
  height: 100vh;
  background: #F2F9FB;
  position: relative;
  overflow: hidden;
  --delay: 0s; }
  .fv .fv-main-link {
    width: 53%;
    z-index: 20;
    height: 94%;
    position: relative;
    max-width: 1000px;
    min-width: 750px; }
    @media screen and (max-width: 768px) {
      .fv .fv-main-link {
        min-width: auto;
        width: 94%; } }
    .fv .fv-main-link a {
      width: 200px;
      height: auto;
      background: #0057AA;
      border-radius: 100%;
      transition: .4s;
      position: absolute;
      bottom: 0%;
      right: 0; }
      @media screen and (max-width: 768px) {
        .fv .fv-main-link a {
          width: 100%;
          border-radius: 6px; } }
      .fv .fv-main-link a:hover {
        background: #000; }
  .fv .fv__main {
    width: 53%;
    max-width: 1000px;
    min-width: 750px;
    pointer-events: none;
    --delay: 0s; }
    @media screen and (max-width: 992px) {
      .fv .fv__main {
        width: 94%;
        min-width: auto; } }
    .fv .fv__main .fv-main {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      -webkit-transform: translateY(-50%) translateX(-50%);
      width: 100%;
      z-index: 10; }
    .fv .fv__main .fv-main-1 {
      transition-delay: calc(var(--delay) + 0s);
      z-index: 12; }
    .fv .fv__main .fv-main-2 {
      transition-delay: calc(var(--delay) + 0s); }
    .fv .fv__main .fv-main-3 {
      transition-delay: calc(var(--delay) + 0s); }
    .fv .fv__main .fv-main-4 {
      transition-delay: calc(var(--delay) + 0s); }
    .fv .fv__main .fv-main-5 {
      transition-delay: calc(var(--delay) + 1s); }
    .fv .fv__main .fv-main-6 {
      transition-delay: calc(var(--delay) + 1s); }
    .fv .fv__main .fv-main-7 {
      width: 15%;
      z-index: 10;
      transform: translateY(-39%) translateX(-50%);
      -webkit-transform: translateY(-39%) translateX(-50%); }
      .fv .fv__main .fv-main-7.is-inview {
        transition-delay: calc(var(--delay) + 1s);
        animation: three-step 3s forwards;
        animation-delay: calc(var(--delay) + 3s) !important; }
@keyframes three-step {
  0% {
    opacity: 1;
    transform: translateY(-39%) translateX(-50%) scale(1); }
  25% {
    opacity: 0;
    transform: translateY(-39%) translateX(-50%) scale(1); }
  35% {
    opacity: 0;
    transform: translateY(-35%) translateX(-62%) scale(0.8); }
  50% {
    opacity: 1;
    transform: translateY(-35%) translateX(-62%) scale(0.8) rotate(0deg); }
  85% {
    opacity: 0;
    transform: translateY(-35%) translateX(-62%) scale(0.8) rotate(0deg); }
  90% {
    opacity: 0;
    transform: translateY(-24%) translateX(-82%) scale(0.6) rotate(0deg); }
  100% {
    opacity: 1;
    transform: translateY(-24%) translateX(-82%) scale(0.6) rotate(0deg); } }
  .fv .obj-l {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25%;
    z-index: 0;
    pointer-events: none; }
  .fv .obj-l-1 {
    width: 3%;
    left: 4%;
    top: 88%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-1 {
        display: none; } }
  .fv .obj-l-2 {
    width: 3%;
    left: -1%;
    top: 20%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-2 {
        display: none; } }
  .fv .obj-l-3 {
    width: 11%;
    left: 7%;
    top: 27%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-3 {
        width: 21%;
        left: 7%;
        top: 19%; } }
  .fv .obj-l-4 {
    width: 9%;
    left: 4%;
    top: 50%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-4 {
        display: none; } }
  .fv .obj-l-5 {
    width: 12%;
    left: 6%;
    top: 75%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-5 {
        width: 23%;
        left: -4%;
        top: 75%; } }
  .fv .obj-l-6 {
    width: 3%;
    left: 8%;
    top: 13%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-6 {
        width: 7%;
        left: 4%;
        top: 30%; } }
  .fv .obj-l-7 {
    width: 3%;
    left: 22%;
    top: 87%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-7 {
        width: 7%;
        left: 36%;
        top: 80%; } }
  .fv .obj-l-8 {
    width: 8%;
    left: 21%;
    top: 11%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-8 {
        display: none; } }
  .fv .obj-l-9 {
    width: 2%;
    left: 28%;
    top: 16%; }
    @media screen and (max-width: 768px) {
      .fv .obj-l-9 {
        display: none; } }
  .fv .obj-r {
    position: absolute;
    right: -2%;
    top: 50%;
    transform: translateY(-50%);
    width: 25%;
    z-index: 0;
    pointer-events: none; }
  .fv .obj-r-1 {
    width: 3%;
    right: 14%;
    top: 6%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-1 {
        width: 9%;
        right: 25%;
        top: 18%; } }
  .fv .obj-r-2 {
    width: 13%;
    right: -2%;
    top: 17%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-2 {
        width: 17%; } }
  .fv .obj-r-3 {
    width: 3%;
    right: 5%;
    top: 91%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-3 {
        display: none; } }
  .fv .obj-r-4 {
    width: 10%;
    right: 9%;
    top: 44%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-4 {
        display: none; } }
  .fv .obj-r-5 {
    width: 3%;
    right: 15%;
    top: 72%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-5 {
        display: none; } }
  .fv .obj-r-6 {
    width: 9%;
    right: -2%;
    top: 76%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-6 {
        width: 18%;
        right: 8%;
        top: 80%; } }
  .fv .obj-r-7 {
    width: 5%;
    right: 17%;
    top: 92%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-7 {
        display: none; } }
  .fv .obj-r-8 {
    width: 2.5%;
    right: 19%;
    top: 26%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-8 {
        width: 4%;
        right: 14%;
        top: 25%; } }
  .fv .obj-r-9 {
    width: 2%;
    right: 27%;
    top: 13%; }
    @media screen and (max-width: 768px) {
      .fv .obj-r-9 {
        display: none; } }
  .fv .rotate {
    animation: rotation 40s linear infinite; }
@keyframes rotation {
  0% {
    transform: translateY(-50%) translateX(-50%) rotate(0deg); }
  100% {
    transform: translateY(-50%) translateX(-50%) rotate(360deg); } }
.poyo {
  --delay: 0s;
  animation: poyo 8s ease-out infinite;
  animation-delay: calc(var(--delay) + 0s); }

.poyo2 {
  --delay: 0s;
  animation: poyo2 5s ease-out infinite;
  animation-delay: calc(var(--delay) + 0s); }

.poyo3 {
  --delay: 0s;
  animation: poyo3 6s ease-out infinite;
  animation-delay: calc(var(--delay) + 0s); }

@keyframes poyo {
  0% {
    transform: translateY(-50%) scale(1); }
  50% {
    transform: translateY(-20%) scale(1); }
  100% {
    transform: translateY(-50%) scale(1); } }
@keyframes poyo2 {
  0% {
    transform: translateY(-50%) scale(1) rotate(0deg); }
  50% {
    transform: translateY(-50%) scale(1.2) rotate(20deg); }
  100% {
    transform: translateY(-50%) scale(1) rotate(0deg); } }
@keyframes poyo3 {
  0% {
    transform: translateY(-50%) scale(1) rotate(0deg); }
  50% {
    transform: translateY(-85%) scale(1.1) rotate(0deg); }
  100% {
    transform: translateY(-50%) scale(1) rotate(0deg); } }
.fuwa {
  animation: fuwa 4s ease-out infinite; }

@keyframes fuwa {
  0% {
    transform: translateY(0%); }
  50% {
    transform: translateY(-15%); }
  100% {
    transform: translateY(0%); } }
/*=====================================================================
pageの設定
=======================================================================*/
.loop-wrap {
  overflow: hidden;
  width: 100%;
  padding: 15px 0;
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070; }
  @media screen and (max-width: 576px) {
    .loop-wrap {
      padding: 10px 0; } }
  .loop-wrap .loop-inner {
    display: flex;
    animation: loop 10s linear infinite; }
    .loop-wrap .loop-inner img {
      width: auto;
      height: auto;
      margin-right: 12px;
      display: block;
      /* ← 余白防止 */
      flex-shrink: 0;
      /* ← 縮ませない */ }

@keyframes loop {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-50%); } }
.contents-1 {
  background: #E4EBF0;
  padding-top: 220px;
  padding-bottom: 220px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 992px) {
    .contents-1 {
      padding-left: 6%;
      padding-right: 6%; } }
  .contents-1 .teku-lr-1 {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px; }
    @media screen and (max-width: 576px) {
      .contents-1 .teku-lr-1 {
        width: 150px; } }
    .contents-1 .teku-lr-1 img {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%; }
  .contents-1 .teku-rl {
    position: absolute;
    bottom: 210px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px; }
    @media screen and (max-width: 576px) {
      .contents-1 .teku-rl {
        width: 150px; } }
    .contents-1 .teku-rl img {
      position: absolute;
      z-index: 1;
      top: 0;
      right: 0;
      width: 100%; }
  .contents-1 .wrap {
    background: #BCCEEF;
    border: 1px solid #707070;
    padding: 12px;
    max-width: 820px;
    margin: auto;
    position: relative;
    z-index: 10; }
    .contents-1 .wrap .wrap__2 {
      background: #fff;
      border: 1px solid #707070;
      text-align: center;
      padding: 90px 6%; }
      @media screen and (max-width: 768px) {
        .contents-1 .wrap .wrap__2 {
          padding: 50px 6%; } }
      .contents-1 .wrap .wrap__2 h2 {
        padding: 30px 0;
        border-top: 1px solid #707070;
        border-bottom: 1px solid #707070;
        max-width: 500px;
        margin: auto; }
        .contents-1 .wrap .wrap__2 h2 img {
          height: auto;
          width: 430px; }
      .contents-1 .wrap .wrap__2 p {
        text-align: center;
        font-size: 1.8rem;
        line-height: 2.7; }
        @media screen and (max-width: 768px) {
          .contents-1 .wrap .wrap__2 p {
            font-size: 1.4rem;
            line-height: 1.8; } }
      .contents-1 .wrap .wrap__2 .wrap__3 {
        max-width: 500px;
        margin: auto;
        padding: 45px 0 50px;
        border-bottom: 1px solid #707070; }
        @media screen and (max-width: 768px) {
          .contents-1 .wrap .wrap__2 .wrap__3 {
            padding: 20px 0 50px;
            border-bottom: none; } }
    .contents-1 .wrap .obj-1-l, .contents-1 .wrap .obj-1-r {
      position: absolute;
      z-index: 1; }
    .contents-1 .wrap .obj-1-l-1 {
      top: -8%;
      left: -25%;
      width: 13%; }
      @media screen and (max-width: 992px) {
        .contents-1 .wrap .obj-1-l-1 {
          bottom: -22%;
          left: 5%;
          top: unset; } }
      .contents-1 .wrap .obj-1-l-1.inview {
        transform: translate(-100%, -50%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-1.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-l-2 {
      top: 22%;
      left: -32%;
      width: 4%; }
      .contents-1 .wrap .obj-1-l-2.inview {
        transform: translate(-100%, 100%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-2.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-l-3 {
      top: 35%;
      left: -50%;
      width: 18%; }
      @media screen and (max-width: 992px) {
        .contents-1 .wrap .obj-1-l-3 {
          top: -22%;
          right: 0%;
          left: unset; } }
      .contents-1 .wrap .obj-1-l-3.inview {
        transform: translate(-80%, 0%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-3.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-l-4 {
      top: 25%;
      left: -10%;
      width: 20%; }
      .contents-1 .wrap .obj-1-l-4.inview {
        transform: translate(-100%, 0%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-4.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
      @media screen and (max-width: 768px) {
        .contents-1 .wrap .obj-1-l-4 {
          bottom: -28%;
          right: 3%;
          width: 37%;
          top: unset;
          left: unset; } }
    .contents-1 .wrap .obj-1-l-5 {
      bottom: 17%;
      left: -31%;
      width: 15%; }
      .contents-1 .wrap .obj-1-l-5.inview {
        transform: translate(-80%, 80%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-5.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-l-6 {
      bottom: -10%;
      left: -14%;
      width: 35%; }
      .contents-1 .wrap .obj-1-l-6.inview {
        transform: translate(-80%, 100%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-l-6.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
      @media screen and (max-width: 768px) {
        .contents-1 .wrap .obj-1-l-6 {
          bottom: -8%;
          left: 8%;
          width: 34%; } }
    .contents-1 .wrap .obj-1-r-1 {
      top: -10%;
      right: -14%;
      width: 26%; }
      .contents-1 .wrap .obj-1-r-1.inview {
        transform: translate(100%, -100%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-1.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
      @media screen and (max-width: 992px) {
        .contents-1 .wrap .obj-1-r-1 {
          top: -12%;
          right: 5%; } }
      @media screen and (max-width: 768px) {
        .contents-1 .wrap .obj-1-r-1 {
          top: -17%;
          right: 5%; } }
      @media screen and (max-width: 576px) {
        .contents-1 .wrap .obj-1-r-1 {
          top: -16%;
          right: 5%;
          width: 41%; } }
    .contents-1 .wrap .obj-1-r-2 {
      top: 5%;
      right: -23%;
      width: 4%; }
      .contents-1 .wrap .obj-1-r-2.inview {
        transform: translate(100%, -80%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-2.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-3 {
      top: 39%;
      right: -15%;
      width: 3%; }
      .contents-1 .wrap .obj-1-r-3.inview {
        transform: translate(100%, -20%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-3.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-4 {
      top: 37%;
      right: -37%;
      width: 10%; }
      .contents-1 .wrap .obj-1-r-4.inview {
        transform: translate(100%, -50%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-4.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-5 {
      bottom: 9%;
      right: -32%;
      width: 17%; }
      @media screen and (max-width: 992px) {
        .contents-1 .wrap .obj-1-r-5 {
          bottom: unset;
          right: unset;
          z-index: -1;
          top: -20%;
          left: 8%;
          width: 14%; } }
      .contents-1 .wrap .obj-1-r-5.inview {
        transform: translate(100%, 80%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-5.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-6 {
      bottom: 6%;
      right: -34%;
      width: 10%; }
      .contents-1 .wrap .obj-1-r-6.inview {
        transform: translate(100%, 70%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-6.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-7 {
      bottom: -9%;
      right: -16%;
      width: 5%; }
      .contents-1 .wrap .obj-1-r-7.inview {
        transform: translate(100%, 90%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-7.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
    .contents-1 .wrap .obj-1-r-8 {
      bottom: -15%;
      right: 10%;
      width: 10%; }
      .contents-1 .wrap .obj-1-r-8.inview {
        transform: translate(100%, 100%);
        transition: .5s;
        transition-delay: .4s;
        opacity: 0; }
        .contents-1 .wrap .obj-1-r-8.inview.is-inview {
          transform: translate(0%);
          opacity: 1; }
      @media screen and (max-width: 768px) {
        .contents-1 .wrap .obj-1-r-8 {
          display: none; } }

.manabi {
  padding-top: 200px;
  padding-bottom: 200px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    .manabi {
      padding-top: 100px;
      padding-bottom: 90px; } }
  .manabi .teku-rl {
    position: absolute;
    top: 10px;
    left: calc(50% - 120px);
    transform: translateX(-50%);
    width: 220px; }
    @media screen and (max-width: 576px) {
      .manabi .teku-rl {
        width: 150px; } }
    .manabi .teku-rl img {
      position: absolute;
      z-index: 1;
      top: 0;
      right: 0;
      width: 100%; }
  .manabi .teku-lr-1 {
    position: absolute;
    bottom: 230px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px; }
    @media screen and (max-width: 576px) {
      .manabi .teku-lr-1 {
        width: 150px; } }
    .manabi .teku-lr-1 img {
      position: absolute;
      z-index: 1;
      top: 0;
      left: 0;
      width: 100%; }
  .manabi h2 {
    text-align: center;
    position: relative;
    z-index: 100; }
    @media screen and (max-width: 768px) {
      .manabi h2 {
        width: 80%;
        margin: auto; } }
    .manabi h2 img {
      height: 60px;
      width: auto; }
      @media screen and (max-width: 768px) {
        .manabi h2 img {
          width: 100%;
          height: auto; } }
  .manabi p {
    text-align: center;
    margin: 40px 0 90px; }
    @media screen and (max-width: 768px) {
      .manabi p {
        margin: 40px 0 50px; } }
  .manabi .manabi__wrap {
    padding: 0 6%;
    position: relative; }
    @media screen and (max-width: 992px) {
      .manabi .manabi__wrap {
        padding: 0; } }
    .manabi .manabi__wrap .obj-manabi-1 {
      position: absolute;
      top: -19%;
      left: -27%;
      width: 50%; }
      @media screen and (max-width: 768px) {
        .manabi .manabi__wrap .obj-manabi-1 {
          display: none; } }
    .manabi .manabi__wrap .obj-manabi-2 {
      position: absolute;
      bottom: -20%;
      left: -38%;
      width: 50%; }
      @media screen and (max-width: 768px) {
        .manabi .manabi__wrap .obj-manabi-2 {
          bottom: -16%;
          left: -38%;
          width: 70%; } }
    .manabi .manabi__wrap .obj-manabi-3 {
      position: absolute;
      top: -31%;
      right: -27%;
      width: 50%; }
      @media screen and (max-width: 768px) {
        .manabi .manabi__wrap .obj-manabi-3 {
          display: none; } }
    .manabi .manabi__wrap .obj-manabi-4 {
      position: absolute;
      bottom: 20%;
      right: -29%;
      width: 38%; }
  .manabi .obj-manabi-sp {
    display: none; }
    @media screen and (max-width: 768px) {
      .manabi .obj-manabi-sp {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        display: block; } }

.contents-2 {
  background-image: url("../img/back-contents-2.webp");
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 768px) {
    .contents-2 {
      background-image: url("../img/back-contents-2-sp.webp"); } }
  .contents-2 .container {
    padding-top: 80px;
    padding-bottom: 140px;
    position: relative; }
  .contents-2 h3 {
    position: relative;
    z-index: 100; }
    .contents-2 h3 span {
      display: inline-block;
      background: rgba(255, 255, 255, 0.9);
      font-size: 2.4rem;
      font-weight: 500;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        .contents-2 h3 span {
          font-size: 1.6rem; } }
  @media screen and (max-width: 768px) {
    .contents-2 .left {
      position: absolute;
      bottom: 20px;
      right: 20px; } }
  .contents-2 .wrap {
    position: relative;
    z-index: 100;
    width: 330px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    padding: 10px;
    margin-top: 70px; }
    .contents-2 .wrap h4 {
      font-size: 2rem;
      font-weight: 500;
      margin-bottom: 15px; }
    .contents-2 .wrap p {
      font-size: 1.6rem; }
  .contents-2 .obj-2-l, .contents-2 .obj-2-r {
    position: absolute;
    z-index: 1; }
  .contents-2 .obj-2-l-1 {
    top: -21%;
    left: 30%;
    width: 4%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-l-1 {
        top: -21%;
        left: 6%;
        width: 8%; } }
  .contents-2 .obj-2-l-2 {
    top: -7%;
    left: -4%;
    width: 5%; }
  .contents-2 .obj-2-l-3 {
    bottom: 8%;
    left: 5%;
    width: 5%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-l-3 {
        display: none; } }
  .contents-2 .obj-2-l-4 {
    bottom: -8%;
    left: 0%;
    width: 20%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-l-4 {
        bottom: -20%;
        left: 3%;
        width: 35%; } }
  .contents-2 .obj-2-l-5 {
    bottom: -21%;
    left: 31%;
    width: 5%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-l-5 {
        top: -21%;
        right: 31%;
        width: 9%;
        bottom: unset;
        left: unset;
        z-index: 10; } }
  .contents-2 .obj-2-r-1 {
    top: -16%;
    right: 32%;
    width: 4.5%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-1 {
        display: none; } }
  .contents-2 .obj-2-r-2 {
    top: -24%;
    right: -2%;
    width: 22%; }
    @media screen and (max-width: 1140px) {
      .contents-2 .obj-2-r-2 {
        right: 6%; } }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-2 {
        right: 4%;
        width: 32%; } }
  .contents-2 .obj-2-r-3 {
    top: 10%;
    right: 8%;
    width: 5%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-3 {
        bottom: -45%;
        right: 12%;
        width: 10%;
        top: unset; } }
  .contents-2 .obj-2-r-4 {
    bottom: -4%;
    right: 25%;
    width: 4%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-4 {
        display: none; } }
  .contents-2 .obj-2-r-5 {
    bottom: 0%;
    right: 11%;
    width: 8%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-5 {
        display: none; } }
  .contents-2 .obj-2-r-6 {
    bottom: -25%;
    right: 36%;
    width: 4.5%; }
    @media screen and (max-width: 768px) {
      .contents-2 .obj-2-r-6 {
        display: none; } }

.contents-2__md {
  padding: 100px 6% 50px; }
  .contents-2__md h4 {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 15px; }
  .contents-2__md p {
    font-size: 1.6rem; }

.contents-3 {
  background: #F2F9FB;
  padding-top: 250px;
  padding-bottom: 280px;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    .contents-3 {
      padding-top: 130px; } }
  .contents-3 .wrap__1, .contents-3 .wrap__2, .contents-3 .wrap__3 {
    background: #fff;
    border-radius: 20px;
    padding: 40px; }
    .contents-3 .wrap__1 h3, .contents-3 .wrap__2 h3, .contents-3 .wrap__3 h3 {
      font-size: 2rem;
      font-weight: 500;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        .contents-3 .wrap__1 h3, .contents-3 .wrap__2 h3, .contents-3 .wrap__3 h3 {
          font-size: 1.6rem; } }
    .contents-3 .wrap__1 p, .contents-3 .wrap__2 p, .contents-3 .wrap__3 p {
      font-size: 1.8rem;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        .contents-3 .wrap__1 p, .contents-3 .wrap__2 p, .contents-3 .wrap__3 p {
          font-size: 1.4rem; } }
  .contents-3 .wrap__1 {
    margin: auto;
    width: 100%;
    max-width: 600px;
    margin-bottom: 280px;
    position: relative; }
    .contents-3 .wrap__1 .teku-lr-1 {
      position: absolute;
      bottom: -30px;
      left: 50%;
      transform: translateX(-50%);
      width: 220px; }
      @media screen and (max-width: 576px) {
        .contents-3 .wrap__1 .teku-lr-1 {
          width: 150px; } }
      .contents-3 .wrap__1 .teku-lr-1 img {
        position: absolute;
        z-index: 1;
        top: 0;
        left: 0;
        width: 100%; }
    .contents-3 .wrap__1 .teku-rl-1 {
      position: absolute;
      top: -225px;
      left: 50%;
      transform: translateX(-50%);
      width: 220px; }
      @media screen and (max-width: 576px) {
        .contents-3 .wrap__1 .teku-rl-1 {
          width: 150px; } }
      .contents-3 .wrap__1 .teku-rl-1 img {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        width: 100%; }
    .contents-3 .wrap__1 p {
      font-size: 2.4rem;
      text-align: center;
      font-weight: 500;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        .contents-3 .wrap__1 p {
          font-size: 1.4rem; } }
  .contents-3 .wrap__2 {
    max-width: 1230px;
    height: 620px;
    margin: auto;
    margin-bottom: 395px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative; }
    @media screen and (max-width: 1160px) {
      .contents-3 .wrap__2 {
        margin: auto 6% 395px; } }
    @media screen and (max-width: 768px) {
      .contents-3 .wrap__2 {
        width: 88%;
        height: auto; } }
    .contents-3 .wrap__2 .teku-rl-2 {
      position: absolute;
      bottom: -85px;
      left: 50%;
      transform: translateX(-50%);
      width: 220px; }
      @media screen and (max-width: 576px) {
        .contents-3 .wrap__2 .teku-rl-2 {
          width: 150px; } }
      .contents-3 .wrap__2 .teku-rl-2 img {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        width: 100%; }
    .contents-3 .wrap__2 .text {
      width: 50%;
      padding-left: 10%; }
      @media screen and (max-width: 768px) {
        .contents-3 .wrap__2 .text {
          width: 96%;
          padding-left: 0; } }
  .contents-3 .wrap__3 {
    max-width: 1230px;
    height: 620px;
    margin: auto;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 1160px) {
      .contents-3 .wrap__3 {
        margin: auto 6%; } }
    @media screen and (max-width: 768px) {
      .contents-3 .wrap__3 {
        width: 88%;
        height: auto; } }
    .contents-3 .wrap__3 .teku-rl-3 {
      position: absolute;
      bottom: -55px;
      left: 50%;
      transform: translateX(-50%);
      width: 220px; }
      @media screen and (max-width: 576px) {
        .contents-3 .wrap__3 .teku-rl-3 {
          width: 150px; } }
      .contents-3 .wrap__3 .teku-rl-3 img {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        width: 100%; }
    .contents-3 .wrap__3 .text {
      width: 50%;
      padding-left: 10%; }
      @media screen and (max-width: 768px) {
        .contents-3 .wrap__3 .text {
          width: 96%;
          padding-left: 0; } }
  .contents-3 .obj-3-l, .contents-3 .obj-3-r {
    position: absolute;
    z-index: 1; }
  .contents-3 .obj-4-l-1-sp {
    display: none; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-4-l-1-sp {
        display: block;
        top: 3%;
        left: 0%;
        z-index: 0;
        width: 30%; } }
  .contents-3 .obj-3-l-1 {
    top: -20%;
    left: -138%;
    width: 100%; }
    @media screen and (max-width: 992px) {
      .contents-3 .obj-3-l-1 {
        top: -66%;
        left: -30%;
        z-index: 0;
        width: 60%; } }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-l-1 {
        display: none; } }
  .contents-3 .obj-r-7-sp {
    display: none; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-r-7-sp {
        display: block;
        top: -85%;
        right: 0%;
        z-index: 0;
        width: 25%; } }
  .contents-3 .obj-3-l-1-sp {
    display: none; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-l-1-sp {
        display: block;
        bottom: -136%;
        left: 0%;
        z-index: 0;
        width: 30%; } }
  .contents-3 .obj-3-l-2 {
    top: 50%;
    left: -8%;
    width: 59%;
    transform: translateY(-50%); }
    .contents-3 .obj-3-l-2.is-inview {
      transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-l-2 {
        top: -50%;
        left: 4%;
        width: 40%; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-l-2 {
        top: -18%;
        left: 4%;
        width: 40%; } }
  .contents-3 .obj-3-l-3 {
    top: -15%;
    left: 5%;
    width: 20%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-l-3 {
        bottom: -97%;
        left: 4%;
        width: 40%;
        top: unset; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-l-3 {
        bottom: -37%;
        left: 4%;
        width: 40%;
        top: unset; } }
  .contents-3 .obj-3-l-4 {
    bottom: -19%;
    left: -10%;
    width: 33%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-l-4 {
        bottom: -102%;
        left: 58%;
        width: 40%; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-l-4 {
        bottom: -81%;
        left: 48%;
        width: 43%; } }
  .contents-3 .obj-3-r-1 {
    top: -120%;
    right: -119%;
    width: 100%; }
  .contents-3 .obj-3-r-2 {
    top: -10%;
    right: -10%;
    width: 20%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-r-2 {
        bottom: -67%;
        right: 3%;
        width: 30%;
        top: unset; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-r-2 {
        bottom: -67%;
        right: 19%;
        width: 30%;
        top: unset; } }
  .contents-3 .obj-3-r-3 {
    top: -64%;
    right: -43%;
    width: 54%;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-r-3 {
        display: none; } }
  .contents-3 .obj-3-r-4 {
    bottom: -13%;
    right: 8%;
    width: 19%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-r-4 {
        bottom: -90%;
        left: 8%;
        width: 37%;
        right: unset; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-r-4 {
        bottom: -56%;
        left: 8%;
        width: 37%;
        right: unset; } }
  .contents-3 .obj-3-r-5 {
    top: 8%;
    right: -5%;
    width: 50%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-r-5 {
        top: -47%;
        right: 7%;
        width: 33%; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-r-5 {
        top: -47%;
        right: 7%; } }
  .contents-3 .obj-3-r-6 {
    bottom: -17%;
    right: 5%;
    width: 20%; }
    @media screen and (max-width: 768px) {
      .contents-3 .obj-3-r-6 {
        bottom: -13%;
        right: -3%;
        width: 30%; } }
    @media screen and (max-width: 576px) {
      .contents-3 .obj-3-r-6 {
        bottom: -28%;
        right: -3%;
        width: 36%; } }

.contents-4 {
  background: #E4EBF0;
  overflow: hidden;
  position: relative; }
  @media screen and (max-width: 768px) {
    .contents-4 {
      overflow: auto; } }
  .contents-4 .teku-rl-4 {
    position: absolute;
    top: -225px;
    left: 50%;
    transform: translateX(-50%);
    width: 220px;
    z-index: 10; }
    @media screen and (max-width: 576px) {
      .contents-4 .teku-rl-4 {
        width: 150px; } }
    .contents-4 .teku-rl-4 img {
      position: absolute;
      z-index: 1;
      top: 0;
      right: 0;
      width: 100%; }
  .contents-4 .wrap {
    background-image: url("../img/back-contents-4.webp");
    background-size: cover;
    background-position: center;
    padding-top: 200px;
    padding-bottom: 130px;
    max-width: 1300px;
    margin: auto;
    position: relative; }
    @media screen and (max-width: 768px) {
      .contents-4 .wrap {
        background-image: url("../img/back-contents-4-sp.webp");
        padding-top: 100px;
        padding-bottom: 30px; } }
  .contents-4 h3 {
    font-size: 2.4rem;
    font-weight: 500;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .contents-4 h3 {
        font-size: 1.6rem; } }
  .contents-4 p {
    font-size: 1.6rem;
    max-width: 410px;
    margin: auto;
    margin-top: 65px;
    margin-bottom: 120px;
    letter-spacing: 0; }
    @media screen and (max-width: 768px) {
      .contents-4 p {
        font-size: 1.4rem;
        margin-top: 30px;
        margin-bottom: 110px; } }
  @media screen and (max-width: 768px) {
    .contents-4 ul {
      margin: 30px auto; } }
  .contents-4 ul li {
    width: 32%; }
    @media screen and (max-width: 768px) {
      .contents-4 ul li {
        width: 90%;
        margin: auto;
        margin-bottom: 15px; } }
    .contents-4 ul li a {
      border: 1px solid #707070;
      text-align: center;
      border-radius: 100px;
      background: #fff;
      font-size: 1.6rem;
      padding: 8px;
      position: relative;
      transition: .4s; }
      .contents-4 ul li a img.icon-r {
        position: absolute;
        top: 50%;
        right: 15px;
        width: 20px;
        height: 20px;
        transform: translateY(-50%); }
      .contents-4 ul li a:hover {
        background: #0057AA;
        color: #fff; }
        .contents-4 ul li a:hover img.icon-r {
          filter: brightness(20); }
  .contents-4 .obj-4-l, .contents-4 .obj-4-r {
    position: absolute;
    z-index: 1; }
  .contents-4 .obj-4-l-1 {
    bottom: 0%;
    left: -36%;
    width: 50%;
    mix-blend-mode: multiply; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-1 {
        display: none; } }
  .contents-4 .obj-4-l-2 {
    top: 28%;
    left: -1%;
    width: 7%;
    mix-blend-mode: multiply; }
    .contents-4 .obj-4-l-2.inview {
      transform: translate(-80%, 0%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-l-2.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-2 {
        display: none; } }
  .contents-4 .obj-4-l-3 {
    bottom: 4%;
    left: -2%;
    width: 9%; }
    .contents-4 .obj-4-l-3.inview {
      transform: translate(-80%, 0%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-l-3.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-3 {
        display: none; } }
  .contents-4 .obj-4-l-4 {
    top: 16%;
    left: 13%;
    width: 3%; }
    .contents-4 .obj-4-l-4.inview {
      transform: translate(-80%, 80%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-l-4.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-4 {
        display: none; } }
  .contents-4 .obj-4-l-5 {
    top: 47%;
    left: 7%;
    width: 17%; }
    .contents-4 .obj-4-l-5.inview {
      transform: translate(-100%, 100%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-l-5.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-5 {
        top: 71%;
        left: 7%;
        width: 23%; } }
    @media screen and (max-width: 576px) {
      .contents-4 .obj-4-l-5 {
        top: 77%;
        left: 7%;
        width: 35%; } }
  .contents-4 .obj-4-l-6 {
    top: 12%;
    left: 22%;
    width: 6%; }
    .contents-4 .obj-4-l-6.inview {
      transform: translate(-100%, -100%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-l-6.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-l-6 {
        top: 2%;
        left: 3%;
        width: 10%; } }
    @media screen and (max-width: 576px) {
      .contents-4 .obj-4-l-6 {
        top: 2%;
        left: 10%;
        width: 15%; } }
  .contents-4 .obj-4-r-1 {
    top: -4%;
    right: -48%;
    width: 60%;
    mix-blend-mode: multiply; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-1 {
        display: none; } }
  .contents-4 .obj-4-r-2 {
    top: 14%;
    right: 7%;
    width: 8%;
    mix-blend-mode: multiply; }
    .contents-4 .obj-4-r-2.inview {
      transform: translate(180%, 180%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-2.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-2 {
        display: none; } }
  .contents-4 .obj-4-r-3 {
    bottom: 9%;
    right: -3%;
    width: 12%;
    mix-blend-mode: multiply; }
    .contents-4 .obj-4-r-3.inview {
      transform: translate(100%, 100%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-3.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-3 {
        display: none; } }
  .contents-4 .obj-4-r-4 {
    top: 4%;
    right: 8%;
    width: 3%; }
    .contents-4 .obj-4-r-4.inview {
      transform: translate(120%, 120%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-4.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-4 {
        display: none; } }
  .contents-4 .obj-4-r-5 {
    top: 8%;
    right: 33%;
    width: 2%; }
    .contents-4 .obj-4-r-5.inview {
      transform: translate(120%, 120%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-5.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-5 {
        display: none; } }
  .contents-4 .obj-4-r-6 {
    top: 37%;
    right: 8%;
    width: 20%; }
    .contents-4 .obj-4-r-6.inview {
      transform: translate(100%, 50%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-6.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-6 {
        top: 65%;
        right: 4%;
        width: 25%; } }
    @media screen and (max-width: 576px) {
      .contents-4 .obj-4-r-6 {
        top: 71%;
        right: 4%;
        width: 44%; } }
  .contents-4 .obj-4-r-7 {
    bottom: 10%;
    right: 7%;
    width: 3%;
    mix-blend-mode: multiply; }
    .contents-4 .obj-4-r-7.inview {
      transform: translate(100%, 100%);
      transition: .5s;
      transition-delay: .4s;
      opacity: 0; }
      .contents-4 .obj-4-r-7.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-7 {
        display: none; } }
  .contents-4 .obj-4-r-8 {
    top: 7%;
    right: 25%;
    width: 6%; }
    .contents-4 .obj-4-r-8.inview {
      transform: translate(150%, -150%);
      transition: .5s;
      opacity: 0;
      transition-delay: .4s; }
      .contents-4 .obj-4-r-8.inview.is-inview {
        transform: translate(0%);
        opacity: 1; }
    @media screen and (max-width: 768px) {
      .contents-4 .obj-4-r-8 {
        top: 3%;
        right: 7%;
        width: 9%; } }
    @media screen and (max-width: 576px) {
      .contents-4 .obj-4-r-8 {
        top: 3%;
        right: 9%;
        width: 16%; } }

/*=====================================================================
swiperの設定
=======================================================================*/
/* popup */
/* popup base */
.popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999; }

.popup.is-open {
  display: block; }

.popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(242, 249, 251, 0.7); }

.popup__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 680px;
  height: auto;
  margin: auto;
  z-index: 1;
  transition: transform 0.35s ease, opacity 0.35s ease;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  will-change: transform, opacity;
  /* 閉じてる時の初期 */
  transform: translate(-50%, -50%) rotateY(0deg);
  opacity: 1; }
  @media screen and (max-width: 768px) {
    .popup__inner {
      max-width: 94%;
      height: 90vh; }
      .popup__inner .swiper-slide {
        overflow-y: scroll;
        max-height: 94vh;
        height: 90vh;
        -ms-overflow-style: none;
        /* IE/Edge(旧) */
        scrollbar-width: none;
        /* Firefox */ }
        .popup__inner .swiper-slide::-webkit-scrollbar {
          display: none;
          /* Chrome/Safari */ } }
  .popup__inner .swiper-button-prev {
    left: -3%; }
    @media screen and (max-width: 768px) {
      .popup__inner .swiper-button-prev {
        left: 2%; } }
  .popup__inner .swiper-button-next {
    right: -3%; }
    @media screen and (max-width: 768px) {
      .popup__inner .swiper-button-next {
        right: 2%; } }

.popup__close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  background: #fff;
  border-radius: 100px;
  border: 1px solid #707070;
  color: #000; }
  .popup__close span {
    position: relative;
    top: -1px; }

.main-swiper img, .popup-swiper img {
  width: 100%;
  height: auto;
  display: block; }

.main-swiper, .main-swiper-1, .main-swiper-2 {
  margin-bottom: 80px; }
  .main-swiper .swiper-slide, .main-swiper-1 .swiper-slide, .main-swiper-2 .swiper-slide {
    opacity: 0.4;
    transition: opacity 0.3s ease; }
  .main-swiper .swiper-slide-active, .main-swiper-1 .swiper-slide-active, .main-swiper-2 .swiper-slide-active {
    opacity: 1; }

.popup {
  transform: rotateY(-90deg);
  opacity: 0;
  transition: 0.3s ease; }

.popup.is-open {
  transform: rotateY(0deg);
  opacity: 1; }

.main-swiper .swiper-slide.is-flipping {
  animation: mainFlip 0.35s ease; }

@keyframes mainFlip {
  0% {
    transform: rotateY(0deg);
    opacity: 1; }
  60% {
    transform: rotateY(80deg);
    opacity: 0.9; }
  100% {
    transform: rotateY(0deg);
    opacity: 1; } }
/* 閉じてる時は非表示＆回転（初期姿勢） */
.popup:not(.is-open) .popup__inner {
  transform: translate(-50%, -50%) rotateY(90deg);
  opacity: 0; }

/* 開く：1回だけフリップ */
.popup.is-open:not(.is-closing) .popup__inner {
  animation: popupFlipIn .45s ease both; }

@keyframes popupFlipIn {
  0% {
    transform: translate(-50%, -50%) rotateY(90deg);
    opacity: 0; }
  100% {
    transform: translate(-50%, -50%) rotateY(0deg);
    opacity: 1; } }
/* 閉じる：フリップして消える */
.popup.is-open.is-closing .popup__inner {
  animation: popupFlipOut .35s ease both; }

@keyframes popupFlipOut {
  0% {
    transform: translate(-50%, -50%) rotateY(0deg);
    opacity: 1; }
  100% {
    transform: translate(-50%, -50%) rotateY(-90deg);
    opacity: 0; } }
.swiper-slide {
  border-radius: 10px;
  border: 1px solid #000;
  padding: 30px 20px;
  cursor: pointer;
  transition-property: transform, opacity;
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transform-origin: center center;
  transform: rotateY(0deg);
  opacity: 1;
  height: auto; }
  @media screen and (max-width: 576px) {
    .swiper-slide {
      padding: 15px 20px 20px; } }
  .swiper-slide h3 {
    font-size: 1.7rem;
    text-align: center;
    font-weight: 500;
    margin-bottom: 25px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .swiper-slide h3 {
        font-size: 1.2rem; } }
    @media screen and (max-width: 576px) {
      .swiper-slide h3 {
        margin-bottom: 10px; } }
  .swiper-slide .zoom__wrap {
    border-radius: 10px;
    border: 1px solid #000;
    overflow: hidden;
    position: relative; }
    .swiper-slide .zoom__wrap .bg__img {
      width: 100%;
      object-fit: cover;
      object-position: center;
      transform: scale(1);
      transition: .4s; }
    .swiper-slide .zoom__wrap .bg__video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      z-index: 10; }
    .swiper-slide .zoom__wrap .slide-text {
      position: absolute;
      left: 10px;
      bottom: 10px;
      height: 70px;
      width: auto;
      z-index: 100; }
      @media screen and (max-width: 576px) {
        .swiper-slide .zoom__wrap .slide-text {
          height: 40px; } }
      .swiper-slide .zoom__wrap .slide-text.top-left {
        top: 10px;
        bottom: unset; }
      .swiper-slide .zoom__wrap .slide-text.top-right {
        top: 10px;
        right: 10px;
        left: unset;
        bottom: unset; }
      .swiper-slide .zoom__wrap .slide-text.bottom-right {
        right: 10px;
        left: unset; }
      .swiper-slide .zoom__wrap .slide-text.slide-text-swiper-2 {
        height: 80px; }
        @media screen and (max-width: 576px) {
          .swiper-slide .zoom__wrap .slide-text.slide-text-swiper-2 {
            height: 50px; } }
  .swiper-slide p {
    text-align: left;
    margin: 10px 0 0;
    font-size: 2rem;
    line-height: 1.7;
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .swiper-slide p {
        font-size: 1.5rem; } }
  @media screen and (max-width: 1280px) {
    .swiper-slide {
      height: auto; }
      .swiper-slide p {
        font-size: 1.5vw; } }
  @media screen and (max-width: 992px) {
    .swiper-slide {
      height: auto; }
      .swiper-slide p {
        font-size: 2vw; } }
  @media screen and (max-width: 768px) {
    .swiper-slide p {
      font-size: 3vw; } }
  .swiper-slide:hover .bg__img {
    transform: scale(1.05); }

.popup-swiper .swiper-slide, .popup-swiper-1 .swiper-slide, .popup-swiper-2 .swiper-slide {
  padding: 30px; }
  @media screen and (max-width: 768px) {
    .popup-swiper .swiper-slide, .popup-swiper-1 .swiper-slide, .popup-swiper-2 .swiper-slide {
      padding: 4%; } }
@media screen and (max-width: 768px) {
  .popup-swiper h3, .popup-swiper-1 h3, .popup-swiper-2 h3 {
    margin-bottom: 0; } }
.popup-swiper .img__wrap, .popup-swiper-1 .img__wrap, .popup-swiper-2 .img__wrap {
  text-align: center; }
  .popup-swiper .img__wrap img, .popup-swiper-1 .img__wrap img, .popup-swiper-2 .img__wrap img {
    width: auto;
    height: 170px;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .popup-swiper .img__wrap img, .popup-swiper-1 .img__wrap img, .popup-swiper-2 .img__wrap img {
        width: 100%;
        height: auto; } }
.popup-swiper .text, .popup-swiper-1 .text, .popup-swiper-2 .text {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  border: 1px solid #707070;
  margin: 0 0 20px; }
  .popup-swiper .text *, .popup-swiper-1 .text *, .popup-swiper-2 .text * {
    font-size: 1.6rem;
    font-weight: 400; }
    @media screen and (max-width: 768px) {
      .popup-swiper .text *, .popup-swiper-1 .text *, .popup-swiper-2 .text * {
        font-size: 1.4rem;
        line-height: 1.5; } }
  .popup-swiper .text h4, .popup-swiper-1 .text h4, .popup-swiper-2 .text h4 {
    font-weight: 500;
    line-height: 1.5; }
  .popup-swiper .text .cap, .popup-swiper-1 .text .cap, .popup-swiper-2 .text .cap {
    font-size: 1.3rem;
    color: #339C7B; }
    @media screen and (max-width: 768px) {
      .popup-swiper .text .cap, .popup-swiper-1 .text .cap, .popup-swiper-2 .text .cap {
        font-size: 1.2rem;
        line-height: 1.4; } }
    .popup-swiper .text .cap.slide-2, .popup-swiper-1 .text .cap.slide-2, .popup-swiper-2 .text .cap.slide-2 {
      color: #AA4F8C; }
    .popup-swiper .text .cap.slide-3, .popup-swiper-1 .text .cap.slide-3, .popup-swiper-2 .text .cap.slide-3 {
      color: #D55D55; }
    .popup-swiper .text .cap.slide-4, .popup-swiper-1 .text .cap.slide-4, .popup-swiper-2 .text .cap.slide-4 {
      color: #1A3A89; }
    .popup-swiper .text .cap.slide-5, .popup-swiper-1 .text .cap.slide-5, .popup-swiper-2 .text .cap.slide-5 {
      color: #9C4EAA; }
    .popup-swiper .text .cap.slide-6, .popup-swiper-1 .text .cap.slide-6, .popup-swiper-2 .text .cap.slide-6 {
      color: #1A3A89; }
    .popup-swiper .text .cap.slide-7, .popup-swiper-1 .text .cap.slide-7, .popup-swiper-2 .text .cap.slide-7 {
      color: #049EE1; }
    .popup-swiper .text .cap.slide-8, .popup-swiper-1 .text .cap.slide-8, .popup-swiper-2 .text .cap.slide-8 {
      color: #4E8D33; }
    .popup-swiper .text .cap.slide-9, .popup-swiper-1 .text .cap.slide-9, .popup-swiper-2 .text .cap.slide-9 {
      color: #DB6239; }
.popup-swiper .cap__2, .popup-swiper-1 .cap__2, .popup-swiper-2 .cap__2 {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 7px; }
.popup-swiper a, .popup-swiper-1 a, .popup-swiper-2 a {
  width: 410px;
  display: inline-block;
  border: 1px solid #707070;
  text-align: center;
  border-radius: 100px;
  background: #fff;
  font-size: 2rem;
  padding: 3px;
  font-weight: 500;
  position: relative;
  transition: .4s; }
  @media screen and (max-width: 768px) {
    .popup-swiper a, .popup-swiper-1 a, .popup-swiper-2 a {
      width: 100%;
      font-size: 1.6rem; } }
  .popup-swiper a img.icon-r, .popup-swiper-1 a img.icon-r, .popup-swiper-2 a img.icon-r {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%); }
  .popup-swiper a:hover, .popup-swiper-1 a:hover, .popup-swiper-2 a:hover {
    background: #0057AA;
    color: #fff; }
    .popup-swiper a:hover img.icon-r, .popup-swiper-1 a:hover img.icon-r, .popup-swiper-2 a:hover img.icon-r {
      filter: brightness(20); }

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev,
.swiper-button-next {
  height: 40px;
  width: 40px;
  transform: translateY(-50%); }
  @media screen and (max-width: 768px) {
    .swiper-button-prev,
    .swiper-button-next {
      height: 30px;
      width: 30px;
      transform: unset; } }

.swiper-button-prev {
  left: 32%; }
  @media screen and (max-width: 992px) {
    .swiper-button-prev {
      left: 14%; } }
  @media screen and (max-width: 768px) {
    .swiper-button-prev {
      left: 12%; } }

.swiper-button-next {
  right: 32%; }
  @media screen and (max-width: 992px) {
    .swiper-button-next {
      right: 14%; } }
  @media screen and (max-width: 768px) {
    .swiper-button-next {
      right: 12%; } }

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 40px;
  margin: auto;
  width: 40px; }
  @media screen and (max-width: 768px) {
    .swiper-button-prev::after,
    .swiper-button-next::after {
      height: 30px;
      width: 30px; } }

/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url("../img/icon-left.svg"); }

/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url("../img/icon-right.svg"); }

/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%; }

/*=====================================================================
アニメーション
=======================================================================*/
.td_01 {
  transition-delay: 0.1s !important; }

.td_015 {
  transition-delay: 0.15s !important; }

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

.td_025 {
  transition-delay: 0.25s !important; }

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

.td_035 {
  transition-delay: 0.35s !important; }

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

.td_045 {
  transition-delay: 0.45s !important; }

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

.td_055 {
  transition-delay: 0.55s !important; }

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

.td_065 {
  transition-delay: 0.65s !important; }

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

.td_075 {
  transition-delay: 0.75s !important; }

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

.td_085 {
  transition-delay: 0.85s !important; }

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

.td_10 {
  transition-delay: 1s !important; }

.td_11 {
  transition-delay: 1.1s !important; }

.td_12 {
  transition-delay: 1.2s !important; }

.td_13 {
  transition-delay: 1.3s !important; }

.td_14 {
  transition-delay: 1.4s !important; }

.td_15 {
  transition-delay: 1.5s !important; }

.td_16 {
  transition-delay: 1.6s !important; }

.td_17 {
  transition-delay: 1.7s !important; }

.td_18 {
  transition-delay: 1.8s !important; }

.td_19 {
  transition-delay: 1.9s !important; }

.td_21 {
  transition-delay: 2.1s !important; }

.td_22 {
  transition-delay: 2.2s !important; }

.td_23 {
  transition-delay: 2.3s !important; }

.td_24 {
  transition-delay: 2.4s !important; }

.td_25 {
  transition-delay: 2.5s !important; }

.td_26 {
  transition-delay: 2.6s !important; }

.td_27 {
  transition-delay: 2.7s !important; }

.td_28 {
  transition-delay: 2.8s !important; }

.td_29 {
  transition-delay: 2.9s !important; }

.td_30 {
  transition-delay: 3s !important; }

.js-fadeUp {
  transform: translateY(15px);
  opacity: 0;
  transition: .5s;
  transition-timing-function: linear; }
  .js-fadeUp.is-inview {
    opacity: 1;
    transform: translateY(0px); }

.js-inview {
  transform: translateY(0px);
  opacity: 0;
  transition: 1s;
  transition-timing-function: linear; }
  .js-inview.is-inview {
    opacity: 1;
    transform: translateY(0px); }
