@charset "utf-8";

html {
  font-size: 62.5%;
}
h1,h2,h3,h4,h5,h6,p,body {
  margin: 0;
}
a {
  color: #fff;
  text-decoration: none;
  text-align: center;
}
body {
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
  font-family: 'Noto Serif JP', serif;
}
/*----------背景------------------------------------------------------*/
#background-image {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: linear-gradient(90deg, rgb(255,255,255,0.8), rgb(255,255,255,1),rgb(255,255,255,0.8)), url(../images/背景.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  z-index: -1;
}
/*------------------------*/
#top {
  height: 13vw;
  max-height: 88px;
}
#topbar {
  width: 100%;
  position: fixed;
  background-color: #fff;
  top: 0;
  opacity: 0.8;
  z-index: 3;
}
/*---------追加---------------*/

#topbar img{
  width: 250px;
  vertical-align: bottom;
}
.menu-list {
  max-width: 1600px;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
}
/*------------------------*/
.menu-list ul {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style-type: none;
}
.menu-list li {
  padding: 0 1%;
}
/*---------追加---------------*/
.menu-list2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
.menu-list2 li {
  padding: 0 3%;
}
.menu-list a {
  color: #000;
  font-size: clamp( 13px, 1.5vw, 24px);
  font-weight: bold;
}
/*------------------------*/
.menu-list a:hover {
  opacity: 0.6;
}
.bor {
  border-left: solid 1px #9e9e9e;
}
/*--------------------------------------------------------*/
.title-h1 {
  width: 100%;
  height: 180px;
  position: relative;
}
.title-h1 h1 {
  width: 80%;
  max-width: 800px;
  color: #757575;
  position: absolute;
  top: 60%;
  left: 50%;
  font-size: clamp( 24px, 5vw, 56px);
  text-align: center;
  z-index: 1;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.heading {
  width: 50%;
  max-width: 1000px;
  border-bottom: 4px solid rgb(155 155 155);
}
.heading span {
  font-size: 50px;
  position: relative;
  z-index: 2;
}
.heading::before {
  content: attr(data-en);
  position: absolute;
  top: 0px;
  left: 0;
  color: rgba(0,156,255,0.2);
  font-size: 40px;
  text-transform: uppercase;
  z-index: 1;
}
.h1-inside {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.h1-inside img {
  width: 50%;
}
.h1-inside-comment {
  width: 90%;
  padding: 3%;
}
.h1-inside-comment p {
  font-size: clamp( 16px, 2vw, 24px);
  color: #fff;
}
/*--------------------------------------------------------*/
.intermediary {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.intermediary img {
  width: 50%;
  order: 2;
}
.intermediary-comment {
  width: 50%;
  padding: 3%;
  order: 1;
}
.intermediary-comment p {
  font-size: clamp( 16px, 2vw, 24px);
  color: #000;
}
/*--------------------------------------------------------*/
.p-m-title-h2 {
  width: 80%;
  max-width: 1200px;
  margin: 0 auto;
}
.p-m-title-h2 h2 {
  width: 100%;
  margin: 0 0 2% 0;
  color: #082D4D;
  font-size: clamp( 21px, 3vw, 40px);
}
.p-m-heading {
  border-bottom: 3px solid #082d4d;
}
.p-m {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
}
.p-m img {
  width: 100%;
  max-height: 350px;
  object-fit: cover;
}
.p-m-comment {
  padding: 3%;
}
/*---------追加---------------*/
.p-m-comment p {
  font-size: clamp( 16px, 1.5vw, 22px);
  color: #000;
}
.p-m-heading2 {
  border-bottom: 3px solid #082d4d;
  text-align: right;
}
.p-m-comment2 {
  padding: 3%;
}
.p-m-comment2 p {
  font-size: clamp( 16px, 1.5vw, 22px);
  color: #000;
}
.p-m-Q2 {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-m-Q2 img {
  width: 50%;
  order: 0;
}
/*------------------------*/
.p-m-Q {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-m-Q img {
  width: 50%;
  order: 2;
}
.p-m-flow {
  width: 90%;
  max-width: 1200px;
  padding: 10px;
  margin: 0 auto;
  background: #e6e6e6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.p-m-flow img {
  width: 40%;
}
.p-m-flow-comment {
  width: 60%;
  padding: 0 2%
}
.p-m-flow-comment p {
  font-size: clamp( 16px, 2vw, 24px);
  color: #000;
}
#flow-chart {
  counter-reset: number 0;
}
.flow-title {
  position: relative;
  font-size: clamp( 18px, 2vw, 26px);
  font-weight: bold;
  line-height: 1.8;
  margin: 0 0 0.5em;
  padding: 0 0 0 3.3em;
}
.flow-title::before {
  position: absolute;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  font-weight: 400;
  left: 0;
  bottom: 0;
  padding: 1px 18px;
  color: #fff;
  border-radius: 4px;
  background: linear-gradient(146deg, #96cbf4 0%,#5087b3 50%,#5287b1 50%,#2b5373 100%);
}
.arrow {
  color: #082D4D;
  border-radius: 5px;
  position: relative;
  height: 50px;
  width: 50px;
  margin: auto;
}

.arrow::before {
  content: '';
  width: 20px;
  height: 20px;
  display: block;
  border-top: solid 2px;
  border-right: solid 2px;
  transform: rotate(135deg);
  position: absolute;
  top: -10px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
/*--------------------------------------------------------*/
.i-e-title-h2 {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.i-e-title-h2 h2 {
  width: 100%;
  margin: 15% 0 2% 0;
  color: #082D4D;
  font-size: clamp( 21px, 3vw, 40px);
}
.i-e-heading {
  border-bottom: 3px solid #082d4d;
}
.i-e {
  width: 90%;
  max-width: 1200px;
  padding: 10px 0;
  margin: 0 auto;
}
.i-e img {
  width: 100%;
  max-height: 350px;
  object-fit: cover;
}
.i-e-comment {
  padding: 3%;
}
.i-e-comment p {
  font-size: clamp( 16px, 2vw, 24px);
  color: #000;
}
.i-e-p-i {
  width: 90%;
  max-width: 1200px;
  padding: 10px;
  margin: 0 auto;
  margin-bottom: 50px;
  background: #e6e6e6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.i-e-p-i img {
  width: 40%;
}
.i-e-p-i-comment {
  width: 60%;
  padding: 0 2%
}
.i-e-p-i-comment p {
  font-size: clamp( 16px, 2vw, 24px);
  color: #000;
}
#i-e-p-i {
  counter-reset: number 0;
}
.i-e-title {
  font-size: clamp( 18px, 2vw, 26px);
  font-weight: bold;
  margin: 0 0 0.5em;
}
/*----------アコーディオン------------------------------------------------------*/
.accordion {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
.toggle {
  display: none;
}
.option {
  position: relative;
  margin-bottom: 10em;
}
.a-title,
.a-content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.a-title {
  max-width: 700px;
  margin: 0 auto;
  display: block;
  color: #082D4D;
  font-size: clamp( 21px, 3vw, 40px);
}
.a-title::after,
.a-title::before {
  content: "";
  position: absolute;
  right: 2.2em;
  top: 0.2em;
  width: 2px;
  height: 1.05em;
  background-color: #082D4D;
  transition: all 0.3s;
}
.a-title::after {
  transform: rotate(90deg);
}
.a-content {
  max-height: 0;
  overflow: hidden;
}
.toggle:checked + .a-title + .a-content {
  max-height: 1900px;
  transition: all 1s;
}
.toggle:checked + .a-title::before {
  transform: rotate(90deg) !important;
}
/*----------QA------------------------------------------------------*/
.QA {
  padding: 10px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.QA-box {
  max-width: 540px;
  background: #e6e6e6;
  margin: 10px;
  font-size: clamp( 16px, 2vw, 20px);
}
.QA-comment {
  padding: 2%
}
.QA-comment div {
  font-size: clamp( 16px, 2vw, 20px);
  text-align: center;
}
.QA-title {
  padding: 2%;
  font-weight: bold;
  background: #082D4D;
  color: #fff;
}
.QA-title2 {
  padding: 2%;
  margin: 0 0 0.5em;
  font-weight: bold;
}
.btn-container {
  margin-bottom: 3em;
  text-align: center;
  right: 0;
  bottom: 0;
  font-weight: bold;
  transform: translateY(-20%) translateX(-10%);
  -webkit- transform: translateY(-20%) translateX(-10%);
  position: fixed;
  z-index: 500;
}
.btn-s{
  padding: 13px;
  background-color: #31B4FF;
  color: #fff;
  font-size: clamp( 13px, 3vw, 24px);
  text-decoration: none;
  display: inline-block;
}
/*--------------------------------------------------------*/
.titlelist {
  width: 70%;
  max-width: 1200px;
  margin: 0 auto;
}
.box-01 {
  height: 7vw;
  max-height: 160px;
  display: flex;
  align-items: center;
}
.box-02 {
  height: 7vw;
  max-height: 160px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.number {
  font-size: clamp( 42px, 10vw, 150px);
  font-weight: bold;
  color: #cfcfcf;
}
.sub-title {
  font-size: clamp( 26px, 5vw, 56px);
  font-weight: bold;
  color: #fff;
}
/*--------------------------------------------------------*/
th,td {
  width: 68%;
  border: solid 1px;
  font-size: clamp( 11px, 2vw, 18px);
  font-weight: bold;
  padding: 10px;
}
table {
  width: 90%;
  max-width: 840px;
  background: #082D4D;
  color: #fff;
  border-collapse:  collapse;
  margin: 0 auto;
}
th {
  width:  90px;
  font-size: clamp( 11px, 2vw, 18px);
}
/*--------------------------------------------------------*/
.box02 {
  width: 90%;
  max-width: 830px;
  margin: 0 auto;
  padding:50px 0 50px 0;
}
.frame {
  padding: 2%;
  box-shadow: 0 4px 15px 0 rgb(0 0 0 / 75%);
}
.map02 {
  width: 100%;
}
/*----------works.others------------------------------------------------------*/
.container {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.flex-box {
  position: relative;
  width: 40%;
  max-width: 1000px;
  padding: 10px;
  margin: 15px;
  background: #fff;
  display: flex;
  flex-direction: column;
  border: solid 1px #777777;
  box-shadow: 5px 10px 20px #9e9e9e;
}
.flex-box h4 {
  position: absolute;
  top: 16px;
  left: 16px;
  color: #fff;
  font-size: clamp( 38px, 4vw, 52px);
  text-shadow: 5px 3px 3px #000;
}
.others-comment {
  width: 90%;
  max-width: 1150px;
  padding: 100px 0;
  margin: 0 auto;
}
.others-comment p {
  text-align: center;
  font-size: clamp( 16px, 3vw, 50px);
  padding: 0 3%;
  font-weight: bold;
}
/*--------------------------------------------------------*/
.jump-point {
  height: 171px
}
@media only screen and (max-width: 767px) {
   .jump-point {
     height: 68px
   }
}
/*----------フッター------------------------------------------------------*/
#footer-menu {
  font-size: clamp( 16px, 2vw, 24px);
  background-color: #082D4D;
  color: #fff;
}
.footer-img {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.footer-img img{
  width: 100%;
  vertical-align: bottom;
}
.footer-box {
  width: 90%;
  max-width: 600px;
  padding: 50px 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-box img{
  width: 75%;
  vertical-align: bottom;
}
.footer-box a {
  width: 50%;
}
.footer-comment {
  width: 75%;
  font-size: clamp( 12px, 2vw, 17px);
}
.copyright {
  padding: 0 0 40px 0;
  text-align: center;
}
/*----------sp用------------------------------------------------------*/
@media only screen and (max-width: 767px) {
   #top {
     height: 68px;
   }
   #topbar img {
     width: 40%;
   }
   .title-h1 {
     width: 100%;
     height: 100px;
     position: relative;
   }
   #header-bar {
     position: fixed;
     width: 100%;
     background: #fff;
     opacity: 0.8;
     z-index: 1;
   }
   .icon {
     width: 40px;
     vertical-align: bottom;
   }
   .rogo {
     width: 170px;
   }
   #header-bar ul {
     padding: 0;
     margin: 0;
     list-style-type: none;
     display: flex;
   }
   #header-bar li {
     padding: 5px 10px;
     text-align: center;
     display: flex;
     align-items: center;
     justify-content: center;
   }
   #header-bar p {
     color: #000;
   }
   .btn3 {
     padding: 2px;
     color: #fff;
     font-size: 16px;
   }
   .hamburger {
     display : block;
     position: fixed;
     right : 13px;
     top   : 13px;
     width : 42px;
     height: 42px;
     cursor: pointer;
     text-align: center;
     opacity: 0.8;
     z-index: 4;
   }
   .hamburger span {
     display : block;
     position: absolute;
     width   : 30px;
     height  : 4px ;
     left    : 6px;
     background : #757575;
     border-radius: 4px;
     -webkit-transition: 0.3s ease-in-out;
     -moz-transition   : 0.3s ease-in-out;
     transition        : 0.3s ease-in-out;
   }
   .hamburger span:nth-child(1) {
     top: 9px;
   }
   .hamburger span:nth-child(2) {
     top: 19px;
   }
   .hamburger span:nth-child(3) {
     top: 29px;
   }
/*----------ナビ開いてる時のボタン------------------------------------------------------*/
   .hamburger.active span:nth-child(1) {
     top : 16px;
     left: 6px;
     background :#fff;
     -webkit-transform: rotate(-45deg);
     -moz-transform   : rotate(-45deg);
     transform        : rotate(-45deg);
   }
   .hamburger.active span:nth-child(2),
   .hamburger.active span:nth-child(3) {
     top: 16px;
     background :#fff;
     -webkit-transform: rotate(45deg);
     -moz-transform   : rotate(45deg);
     transform        : rotate(45deg);
   }
   .menu-list {
     position: fixed;
     z-index : 2;
     top  : 0;
     left : 0;
     color: #fff;
     text-align: center;
     width: 100%;
     transition: all 0.3s ease-in-out 0s;
     transform: translateY(-100%);
   }
   .menu-list ul {
     width: 100%;
     height: 100vh;
     padding: 0;
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     background-color: #000;
     justify-content: center;
   }
   .menu-list li {
     list-style-type: none;
     width: 100%;
     font-size: 2.5vh;
     transition: .4s all;
   }
/*----------追加------------------------------------------------------*/
   #logo {
     display: none;
   }
/*----------------------------------------------------------------*/

   .menu-list ul li:last-child {
     padding-bottom: 0;
   }
   .menu-list ul li a {
     color: #fff;
     font-size: 5vh;
     text-decoration :none;
   }
/*----------このクラスを、jQueryで付与・削除する----------*/
   .menu-list.active {
     transform: translateX(0);
   }
/*--------------------------------------------------------*/
   .h1-inside {
     width: 100%;
     padding: 17px 0;
     margin: 0 auto;
     display: flex;
     flex-direction: column;
     align-items: center;
   }
   .h1-inside img {
     width: 100%;
   }
   .h1-inside-comment {
     order:1;
   }
  .intermediary {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .intermediary img {
    width: 100%;
    order:1;
  }
  .intermediary-comment {
    width: 90%;
    padding: 3%;
  }
  .intermediary-comment p {
    width: 200px;
    margin: 0 auto;
  }
   #rogo-change1 {
     display: none;
   }
  .wrapper {
    position: relative;
    height: 80px;
    margin: 0 auto;
    overflow: hidden;
    font-weight: 600;
  }
  .marquee-anim {
    transition: all .3s;
  }
  .marquee-anim {
    animation: marquee 30s linear infinite;
    position: absolute;
    top: 0%;
    left: 50%;
    display: flex;
  }
  @keyframes marquee {
  0% {
      transform: translate(-40%, 0%);
  }
  100% {
      transform: translate(-60%, 0%);
  }
  }
  .marquee-inline {
    display: block;
    padding-right: 0.5em;
    font-size: 60px;
    letter-spacing: 0.1em;
    color: #e1e1e1;
    text-align: center;
    white-space: nowrap;
  }
  .flex-box {
    position: relative;
    width: 80%;
    padding: 10px;
    margin: 15px;
    background: #fff;
    display: flex;
    flex-direction: column;
    border: solid 1px #777777;
    box-shadow: 5px 10px 20px #9e9e9e;
  }
  .item {
    width: 100%;
  }
  .item img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
/*----------news------------------------------------------------------*/
  .news-flex {
    padding: 0 0 10px 0;
    display: flex;
    overflow-x: scroll;
  }
  .news-box {
    width: 60%;
    margin: 15px;
    display: flex;
    border: solid 1px #777777;
    box-shadow: 5px 10px 20px #9e9e9e;
    flex-direction: column;
    background: #757575;
  }
  .news-ic img {
    width: 60vw;
    height: 60vw;
    object-fit: cover;
    vertical-align: bottom;
    background: #fff;
  }
  .news-te-ti {
    height: 100%;
    padding: 2vw;
    font-size: clamp( 16px, 3vw, 26px);
    color: #fff;
    background: #757575;
  }
  .news-te-ti h4 {
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
  }
/*----------p-m------------------------------------------------------*/
  .p-m-Q {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
  }
  .p-m-Q img {
    width: 100%;
  }
/*---------追加---------------*/
  .p-m-Q2 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
  }
  .p-m-Q2 img {
    width: 100%;
    order: 2;
  }
/*------------------------*/
  .p-m-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .flow-title {
    padding: 1em 0 0 3.3em;
  }
  .p-m-flow img {
    width: 100%;
  }
  .p-m-flow-comment {
    width: 100%;
  }
/*----------i-e------------------------------------------------------*/
  .i-e-p-i {
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .i-e-p-i img {
    width: 100%;
  }
  .i-e-p-i-comment {
    width: 100%;
  }
}

@media only screen and (min-width: 768px) {
   #header-bar {
     position: relative;
     max-width: 1300px;
     margin: 0 auto;
     top: 176px;
     left: 6px;
     z-index: 1;
   }
   #header-bar ul {
     position: fixed;
     padding: 0;
     margin: 0;
     list-style: none;
     display: flex;
     flex-direction: row;
   }
   #header-bar li {
     margin: 6px;
   }
   #header-bar img {
     width: 45px;
     padding: 6px;
     background: #fff;
     border-radius: 15px;
     vertical-align: bottom;
     opacity: 0.8;
   }
   .none-point {
     display:  none;
   }
   .hamburger {
     display: none;
   }
   #rogo-change2 {
     display: none;
   }
  .wrapper {
    position: relative;
    max-width: 1200px;
    height: 150px;
    margin: 0 auto;
    overflow: hidden;
    font-weight: 600;
  }
  .marquee-anim {
    transition: all .3s;
  }
  .marquee-anim {
    animation: marquee 30s linear infinite;
    position: absolute;
    top: 0%;
    left: 50%;
    display: flex;
  }
  @keyframes marquee {
    0% {
        transform: translate(-40%, 0%);
    }
    100% {
        transform: translate(-60%, 0%);
    }
  }
  .marquee-inline {
    display: block;
    padding-right: 0.5em;
    font-size: 100px;
    letter-spacing: 0.1em;
    color: #e1e1e1;
    text-align: center;
    white-space: nowrap;
  }
  .item {
    width: 100%;
  }
  .item img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
/*----------news-----------*/
  .news-flex {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
  }
  .news-box {
    width: 70%;
    max-width: 330px;
    margin: 15px;
    display: flex;
    flex-direction: column;
    border: solid 1px #777777;
    box-shadow: 5px 10px 20px #9e9e9e;
    background: #757575;
  }
  .news-ic {
    width: 100%;
  }
  .news-ic img {
    width: 100%;
    height: 330px;
    object-fit: cover;
    vertical-align: bottom;
    background: #fff;
  }
  .news-te-ti {
    height: 100%;
    padding: 10px;
    font-size: clamp( 16px, 3vw, 26px);
    color: #fff;
    background: #757575;
  }
  .news-te-ti h4 {
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/*----------フォーム------------------------------------------------------*/
#formWrap {
  margin-bottom: 100px;
}
.Form {
  width: 90%;
  max-width: 720px;
  margin: 0 auto;
}
.Form-Item {
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: flex;
  align-items: center;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 18px;
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 52px;
  flex: 1;
  width: 100%;
  background: #eaedf2;
  font-size: 18px;
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  background: #eaedf2;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .Form-Item {
    flex-wrap: wrap;
  }
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.form-button {
  width: 80%;
  max-width: 330px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
/*----------フェードインフェードアウト------------------------------------------------------*/
.left-to-right {
  opacity: 0.001;
  transform: translateX(-20px);
  transition: all 1.5s;
}
.left-to-right.scrollin {
  opacity: 1;
  transform: translate(0);
}
.right-to-left {
  opacity: 0.001;
  transform: translateX(20px);
  transition: all 1.5s;
}
.right-to-left.scrollin {
  opacity: 1;
  transform: translate(0);
}
.down-to-top {
  opacity: 0.001;
  transform: translateY(20px);
  transition: all 1.5s;
}
.down-to-top.scrollin {
  opacity: 1;
  transform: translateY(0);
}

/*----------ボタン------------------------------------------------------*/
.btn-hover {
  width: 50%;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  margin: 20px;
  height: 55px;
  text-align:center;
  border: none;
  background-size: 300% 100%;
  border-radius: 50px;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.btn-hover:hover {
  background-position: 100% 0;
  moz-transition: all .4s ease-in-out;
  -o-transition: all .4s ease-in-out;
  -webkit-transition: all .4s ease-in-out;
  transition: all .4s ease-in-out;
}
.btn-hover:focus {
  outline: none;
}
.btn-hover.color-9 {
  background-image: linear-gradient(to right, #25aae1, #4481eb, #04befe, #3f86ed);
  box-shadow: 0 4px 15px 0 rgba(65, 132, 234, 0.75);
}
.button {
  width: 80%;
  max-width: 400px;
  margin: 0 auto;
}
.button a {
  display: block;
  position: relative;
  margin: 1em 0 0 0;
  padding: 0.5em 2em;
  color: #fff;
  font-size: clamp( 18px, 3vw, 25px);
  background-color: #ffab00;
  transition: 0.3s;
}
.button a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  width: 10%;
  height: 2px;
  background-color: #fff;
  transition: 0.3s;
}
.button a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(1em - 2px);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #fff;
  transition: 0.3s;
}
.button a:hover {
  text-decoration: none;
  background-color: #bbbbbb;
}
.button a:hover::before,
.button a:hover::after {
  right: 1.7em;
}
/*----------スライドショー------------------------------------------------------*/
#slide-wrap {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
}
#slide {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@keyframes slideshow{
  0%{
    opacity: 0;
  }
  10%{
    opacity: 1;
  }
  28%{
    opacity: 1;
  }
  38%{
    opacity: 0;
  }
  100%{
    opacity: 0;
  }
}
#slide img {
  width: 100%;
  overflow: hidden;
  opacity: 0;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  animation :slideshow 24s linear infinite;
}
#slide img:nth-child(2){
  animation-delay: 8s;
}
#slide img:last-child{
  animation-delay: 16s;
}
.slide1,.slide2 {
  position: absolute;
  left:0px;
  top:0px;
  width: 100%;
  height: auto;
}
.slide0 {
  position: relative;
  width: 100%;
  height: auto;
  vertical-align:bottom;
}
.catchphrase {
  position: absolute;
  width: 100%;
  max-width: 1200px;
  top:50%;
  left:50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  background-color: rgba(0,0,0,0.4);
  color: #fff;
  text-align: center;
  font-size: clamp( 16px, 4vw, 56px);
  font-weight: bold;
  text-shadow: 5px 3px 3px #000;
}
@media screen and (min-width:451px) and ( max-width:767px) {
   #slide img {
     height: 540px;
     object-fit: cover;
   }
}
@media only screen and (max-width: 450px) {
   #slide img {
     height: 300px;
     object-fit: cover;
   }
}
/*----------ふわっと登場------------------------------------------------------*/
.text1.act {
  color: transparent;
  animation: blur 4s ease-out forwards;
}
.text1.act:nth-child(1) {
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
}
.text1.act:nth-child(2) {
  animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
}
.text1.act:nth-child(3) {
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
}
.text1.act:nth-child(4) {
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
}
.text1.act:nth-child(5) {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
}
.text1.act:nth-child(6) {
  animation-delay: 0.6s;
  -webkit-animation-delay: 0.6s;
}
.text1.act:nth-child(7) {
  animation-delay: 0.7s;
  -webkit-animation-delay: 0.7s;
}

@keyframes blur {
  0%    {text-shadow:  0 0 100px #fff; opacity:0;}
  5%    {text-shadow:  0 0 90px #fff;}
  15%   {opacity: 1;}
  20%   {text-shadow:  0 0 0px #fff;}
  80%   {text-shadow:  0 0 0px #fff;}
  85%   {opacity: 1;}
  95%   {text-shadow:  4px 1px 3px #000;}
  100%  {color: #fff; text-shadow:  4px 1px 3px #000; opacity:1;}
}
/*----------contact-----------*/
#contact {
  position: relative;
  width: 100%;
  max-width: 1300px;
  height: 450px;
  margin: 0 auto;
  background-image: url("../images/concept_01.png");
  background-repeat: no-repeat;
  background-size: 140%;
  background-position: center top;
}
.contact-item h2 {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  justify-content: center;
  font-size: clamp( 22px, 5vw, 45px);
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
@media only screen and (max-width: 767px) {
   #contact {
     height: 200px;
     background-size: 170%;
   }
}
/*----------波------------------------------------------------------*/
.box {
  width: 100%;
  height: 300px;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.wave {
  position: absolute;
  top: 120%;
  left: 50%;
   background:#31B4FF;
  width: 500px;
  height: 500px;
  margin-left: -250px;
  margin-top: -250px;
  -webkit-transform-origin: 50% 48%;
  transform-origin: 50% 48%;
  border-radius: 45%;
  -webkit-animation: drift 3000ms infinite linear;
   animation: drift 3000ms infinite linear;
}
.wave.-three {
  -webkit-animation: drift 5000ms infinite linear;
  animation: drift 5000ms infinite linear;
}
.wave.-two {
  -webkit-animation: drift 7000ms infinite linear;
  animation: drift 7000ms infinite linear;
  opacity: .1;
  background: yellow;
}
.box:after {
  content: '';
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 11;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.title {
  position: absolute;
  text-align: center;
  color: white;
  letter-spacing: 0.2em;
  font-size: 34px;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  top: 70%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 100%;
  z-index: 1;
}
@-webkit-keyframes drift {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  from {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes drift {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  from {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.background01 {
  width: 100%;
  padding: 0 0 7em 0;
  background-color: #31B4FF;
}
/*----------オープニング------------------------------------------------------*/
#loading {
  width: 100vw;
  height: 100vh;
  background: #757575;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}
#loading img {
  width: 150px;
}
.anime {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -70px;
  left: 0;
  bottom: 0;
  right: 0;
}
.text {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 70px;
  left: 0;
  bottom: 0;
  right: 0;
  animation: textAnime1 .5s linear forwards;
}
.anime-img {
  max-width: 20px;
}
.text span{
  display: inline-block;
}

.text span:nth-child(1){
  animation: textAnime2 .6s ease-in-out .4s forwards;
}
.text span:nth-child(2){
  animation: textAnime2 .6s ease-in-out .5s forwards;
}
.text span:nth-child(3){
  animation: textAnime2 .6s ease-in-out .6s forwards;
}
.text span:nth-child(4){
  animation: textAnime2 .6s ease-in-out .7s forwards;
}
.text span:nth-child(5){
  animation: textAnime2 .6s ease-in-out .8s forwards;
}
.text span:nth-child(6){
  animation: textAnime2 .6s ease-in-out .9s forwards;
}

@keyframes textAnime1{
  0%{
      opacity: 0;
  }
  100%{
      opacity: 1;
  }
  }
  @keyframes textAnime2 {
  0% {
      transform: translateY(0);
  }
  25%{
      transform: translateY(-30%);
  }
  75% {
      transform: translateY(30%);
  }
  100%{
      transform: translateY(0);
  }
  }
  @keyframes bgAnime{
  0%{
      opacity: 1;
  }
  99%{
      opacity: 0;
  }
  100%{
      opacity: 0;
      visibility: hidden;
  }
}