@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
/* Scss Document */
.news {
  color: #fff;
  background-color: #C62024; }
  @media screen and (max-width: 767px) {
    .news {
      border-top: 1px solid #89161A;
      padding: 20px 0px; } }
  .news .inner_flex {
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .news .inner_flex {
        display: block;
        margin: 0 auto; } }
  .news__title {
    width: 20%;
    text-align: center;
    margin-right: 30px;
    margin-bottom: 25px; }
    @media screen and (max-width: 767px) {
      .news__title {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px; } }
    .news__title::before {
      content: "";
      width: 2px;
      height: 30px;
      background: #ffffff;
      display: block;
      position: relative;
      left: 90%;
      top: 50px; }
      @media screen and (max-width: 767px) {
        .news__title::before {
          width: 50px;
          height: 2px;
          top: 60px;
          left: 45%; } }
    .news__title .ja {
      font-size: 20px; }
      @media screen and (max-width: 767px) {
        .news__title .ja {
          font-size: 15px; } }
  .news__text {
    width: 60%; }
    @media screen and (max-width: 767px) {
      .news__text {
        width: 100%;
        text-align: center;
        margin-bottom: 5px; } }
  .news__btn {
    width: 20%;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .news__btn {
        width: 70%;
        margin: 0 auto; } }
    .news__btn a {
      display: block;
      color: #C62024;
      background-color: #fff;
      border-radius: 3px;
      padding: 10px 0; }

/* Scss Document */
.bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw; }

.bg__color {
  width: 100vw; }
  .bg__color-01 {
    background: linear-gradient(45deg, #b9e687, #52adf9);
    background-size: 600% 600%;
    animation: AnimationName 10s ease infinite; }
  .bg__color-02 {
    background: #6f78b9;
    background-size: 600% 600%; }
  .bg__color-03 {
    background: #2871AD;
    background-size: 600% 600%; }
  .bg__color-04 {
    background: #6fb9af;
    background-size: 600% 600%; }
  .bg__color-05 {
    background: #b96fa2;
    background-size: 600% 600%; }
  .bg__color-06 {
    background: #b8b96f;
    background-size: 600% 600%; }
  .bg__color-07 {
    background: #94dcdc;
    background-size: 600% 600%; }

.bg__text {
  color: #fff;
  font-size: 120px;
  animation: blinkText 10s ease-out infinite;
  text-align: center;
  line-height: 1.1;
  letter-spacing: -10px;
  font-weight: bold;
  position: fixed;
  left: 0;
  top: 25%;
  width: 100vw;
  height: 300px; }
  @media screen and (max-width: 767px) {
    .bg__text {
      font-size: 70px; } }

@media screen and (max-width: 767px) {
  .section-02 .bg__text, .section-03 .bg__text, .section-04 .bg__text, .section-05 .bg__text, .section-06 .bg__text, .section-07 .bg__text {
    top: 45%; } }

.area {
  background: #4e54c8;
  background: -webkit-linear-gradient(to left, #8f94fb, #4e54c8);
  width: 100%; }

.circles {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; }

.circles li {
  position: absolute;
  display: block;
  list-style: none;
  width: 20px;
  height: 20px;
  background: rgba(255, 255, 255, 0.1);
  animation: animate 25s linear infinite;
  bottom: -150px;
  border-radius: 50%; }

.circles li:nth-child(1) {
  left: 25%;
  width: 280px;
  height: 280px;
  animation-delay: 0s; }

.circles li:nth-child(2) {
  left: 0%;
  width: 720px;
  height: 720px;
  animation-delay: 1.1s;
  animation-duration: 12s;
  animation: horizontal 4s ease-in-out infinite alternate;
  top: -20px; }

.circles li:nth-child(3) {
  left: 70%;
  width: 320px;
  height: 320px;
  animation-delay: 4s; }

.circles li:nth-child(4) {
  left: 40%;
  width: 260px;
  height: 260px;
  animation-delay: 0s;
  animation-duration: 18s; }

.circles li:nth-child(5) {
  left: 75%;
  width: 120px;
  height: 120px;
  animation-delay: 0s; }

.circles li:nth-child(6) {
  left: 75%;
  width: 410px;
  height: 410px;
  animation-delay: 3s; }

.circles li:nth-child(7) {
  left: 35%;
  width: 350px;
  height: 350px;
  animation-delay: 7s; }

.circles li:nth-child(8) {
  left: 30%;
  width: 105px;
  height: 105px;
  animation-delay: 15s;
  animation-duration: 45s; }

.circles li:nth-child(9) {
  width: 405px;
  height: 405px;
  animation-delay: 2s;
  animation-duration: 35s;
  animation: vertical 4s ease-in-out infinite alternate;
  bottom: 60%; }

.circles li:nth-child(10) {
  left: 85%;
  width: 850px;
  height: 850px;
  animation-delay: 0s;
  animation-duration: 11s;
  animation: vertical 4s ease-in-out infinite alternate;
  top: -300px; }

.contact-btn {
  position: fixed;
  bottom: 20px;
  right: 30px;
  display: flex; }
  .contact-btn .cw {
    border-radius: 50%;
    background-color: #0E74C1;
    color: #fff;
    width: 60px;
    height: 60px;
    line-height: 3;
    font-size: 20px;
    text-align: center;
    transition: .3s;
    /*滑らかな動きに*/
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
    /*影*/ }
  .contact-btn .mail {
    margin-right: 5px;
    border-radius: 50%;
    background-color: #C34235;
    color: #fff;
    width: 60px;
    height: 60px;
    line-height: 4;
    font-size: 20px;
    text-align: center;
    transition: .3s;
    /*滑らかな動きに*/
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
    /*影*/ }
    .contact-btn .mail img {
      width: 30px;
      height: 30px; }

@keyframes animate {
  0% {
    transform: translateY(0) rotate(0deg);
    opacity: 0; }
  50% {
    opacity: 0.5; }
  100% {
    transform: translateY(-1000px) rotate(720deg);
    opacity: 0; } }
@keyframes horizontal {
  0% {
    transform: translateX(-50px); }
  100% {
    transform: translateX(50px); } }
@keyframes vertical {
  0% {
    transform: translateY(-50px); }
  100% {
    transform: translateY(50px); } }
@keyframes AnimationName {
  0% {
    background-position: 0% 50%; }
  50% {
    background-position: 100% 50%; }
  100% {
    background-position: 0% 50%; } }
@keyframes blinkText {
  0% {
    opacity: 0; }
  50% {
    opacity: .05; }
  100% {
    opacity: 0; } }
.bottom {
  height: 80px;
  width: 100%;
  background-color: #0b3350;
  position: fixed;
  bottom: 0px;
  right: 0px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
  border-top: 1px #2121213d solid;
  display: flex;
  display: none; }
  .bottom__item {
    width: 33.3%;
    text-align: center;
    padding-top: 10px; }
    .bottom__item:not(:last-child) {
      border-right: 1px solid #2121213d; }
    .bottom__item a {
      display: block; }
    .bottom__item__img {
      width: 35px;
      margin: 0 auto; }
      .bottom__item__img img {
        width: 100%;
        height: 100%; }

.section-01__message {
  position: absolute;
  top: 28%;
  left: 50%;
  text-align: center;
  width: 100%; }
  @media screen and (max-width: 767px) {
    .section-01__message {
      top: 30%; } }
  .section-01__message_item {
    position: relative;
    left: -50%;
    width: 100%; }
.section-01 h1 {
  font-size: 70px;
  line-height: 1.3; }
  @media screen and (max-width: 767px) {
    .section-01 h1 {
      font-size: 40px; } }
.section-01 p {
  font-size: 30px; }
  @media screen and (max-width: 767px) {
    .section-01 p {
      font-size: 20px; } }
.section-01 .btn {
  margin: 0 auto;
  max-width: 450px;
  width: 80%;
  background-color: rgba(255, 255, 255, 0.62);
  text-align: center;
  border-radius: 50px;
  position: relative;
  bottom: -30%; }
  @media screen and (max-width: 767px) {
    .section-01 .btn {
      bottom: -40%; } }
  .section-01 .btn a {
    display: block;
    color: rgba(0, 0, 0, 0.8);
    font-size: 16px;
    padding: 15px 20px 10px;
    letter-spacing: 0.06em;
    font-weight: bold; }
    @media screen and (max-width: 767px) {
      .section-01 .btn a {
        padding: 10px 20px 5px;
        font-size: 12px; } }
    .section-01 .btn a:after {
      content: "";
      display: inline-block;
      height: 30px;
      width: 30px;
      background-image: url("../img/104.png");
      background-size: contain;
      vertical-align: middle;
      margin-bottom: 10px; }

.line-box {
  position: relative;
  width: 600px;
  height: 450px;
  line-height: 200px;
  overflow: hidden;
  margin: 0 auto;
  top: 20%; }
  @media screen and (max-width: 767px) {
    .line-box {
      width: 300px;
      height: 250px;
      top: 20%; } }

.line-in {
  width: 100%;
  height: 100%; }

.line-box:before,
.line-box:after,
.line-in:before,
.line-in:after {
  content: '';
  position: absolute;
  background: #fff; }

.line-box:before {
  top: 0;
  right: -200px;
  width: 500px;
  height: 1px;
  animation: rightAnim 3.5s linear 0s infinite; }

.line-box:after {
  top: -200px;
  left: 0;
  width: 1px;
  height: 500px;
  animation: topAnim 3.5s linear .75s infinite; }

.line-in:before {
  bottom: 0;
  left: -200px;
  width: 500px;
  height: 1px;
  animation: leftAnim 3.5s linear 0s infinite; }

.line-in:after {
  bottom: -200px;
  right: 0;
  width: 1px;
  height: 500px;
  animation: bottomAnim 3.5s linear .75s infinite; }

/* 各アニメーション */
@keyframes topAnim {
  0% {
    top: -500px; }
  100% {
    top: 500px; } }
@keyframes bottomAnim {
  0% {
    bottom: -500px; }
  100% {
    bottom: 500px; } }
@keyframes rightAnim {
  0% {
    right: -500px; }
  100% {
    right: 500px; } }
@keyframes leftAnim {
  0% {
    left: -500px; }
  100% {
    left: 500px; } }
.section-02 .sec__title {
  box-sizing: border-box;
  padding-bottom: 40px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .section-02 .sec__title {
      padding-bottom: 20px; } }
  .section-02 .sec__title h2 {
    line-height: 1;
    font-weight: 500; }
  .section-02 .sec__title .en {
    font-size: 45px;
    border-bottom: 2px solid #fff; }
    @media screen and (max-width: 767px) {
      .section-02 .sec__title .en {
        font-size: 35px; } }
  .section-02 .sec__title .ja {
    font-size: 12px;
    font-weight: 100;
    display: block;
    margin-top: 10px;
    letter-spacing: 5px; }
.section-02 .items {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .section-02 .items {
      display: block; } }
  .section-02 .items .item {
    width: 33.33%;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 5px;
    padding: 30px 20px;
    margin-bottom: 10px;
    box-sizing: border-box; }
    .section-02 .items .item:not(:last-child) {
      margin-right: 10px; }
    @media screen and (max-width: 767px) {
      .section-02 .items .item {
        width: 100%;
        margin: 0 auto 10px;
        padding: 30px 25px; } }
    .section-02 .items .item__img {
      width: 100px;
      height: 100px;
      margin: 0px auto; }
      .section-02 .items .item__img.h {
        height: 110px; }
      .section-02 .items .item__img img {
        width: 100%;
        height: 100%; }
    .section-02 .items .item__text {
      text-align: center; }
      .section-02 .items .item__text_title {
        font-weight: bold;
        font-size: 24px;
        margin-top: 20px; }
        @media screen and (max-width: 767px) {
          .section-02 .items .item__text_title {
            font-size: 20px; } }
      .section-02 .items .item__text_txt {
        font-size: 14px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          .section-02 .items .item__text_txt {
            font-size: 12px; } }

.section-03 .sec__title {
  box-sizing: border-box;
  padding-bottom: 40px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .section-03 .sec__title {
      padding-bottom: 20px; } }
  .section-03 .sec__title h2 {
    line-height: 1;
    font-weight: 500; }
  .section-03 .sec__title .en {
    font-size: 45px;
    border-bottom: 2px solid #fff; }
    @media screen and (max-width: 767px) {
      .section-03 .sec__title .en {
        font-size: 35px; } }
  .section-03 .sec__title .ja {
    font-size: 12px;
    font-weight: 100;
    display: block;
    margin-top: 10px;
    letter-spacing: 5px; }
@media screen and (max-width: 767px) {
  .section-03 .inner {
    height: 600px; } }

.sec03__txt {
  position: relative;
  top: -100px; }
  @media screen and (max-width: 767px) {
    .sec03__txt {
      font-size: 10px;
      padding: 0 10px; } }

.slider {
  height: 700px; }
  .slider li a {
    display: block; }

.section-04 .sec__title {
  box-sizing: border-box;
  padding-bottom: 40px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .section-04 .sec__title {
      padding-bottom: 20px; } }
  .section-04 .sec__title h2 {
    line-height: 1;
    font-weight: 500; }
  .section-04 .sec__title .en {
    font-size: 45px;
    border-bottom: 2px solid #fff; }
    @media screen and (max-width: 767px) {
      .section-04 .sec__title .en {
        font-size: 35px; } }
  .section-04 .sec__title .ja {
    font-size: 12px;
    font-weight: 100;
    display: block;
    margin-top: 10px;
    letter-spacing: 5px; }
.section-04 p {
  padding: 10px; }

table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 auto;
  z-index: 10;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.62);
  color: black;
  font-size: 18px; }
  @media screen and (max-width: 767px) {
    table {
      font-size: 12px; } }

table tr {
  border-bottom: solid 2px #6fb9af; }

table tr:last-child {
  border-bottom: none; }

table th {
  position: relative;
  text-align: left;
  width: 60%;
  text-align: center;
  padding: 20px 0; }

table th:after {
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top: calc(50% - 10px);
  right: -10px;
  border-left: 10px solid #6fb9af;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent; }

table td {
  text-align: left;
  width: 50%;
  text-align: center;
  padding: 10px 0;
  font-size: 20px; }
  @media screen and (max-width: 767px) {
    table td {
      font-size: 15px; } }

.section-05 .sec__title {
  box-sizing: border-box;
  padding-bottom: 40px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .section-05 .sec__title {
      padding-bottom: 20px; } }
  .section-05 .sec__title h2 {
    line-height: 1;
    font-weight: 500; }
  .section-05 .sec__title .en {
    font-size: 45px;
    border-bottom: 2px solid #fff; }
    @media screen and (max-width: 767px) {
      .section-05 .sec__title .en {
        font-size: 35px; } }
  .section-05 .sec__title .ja {
    font-size: 12px;
    font-weight: 100;
    display: block;
    margin-top: 10px;
    letter-spacing: 5px; }
.section-05 .items {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 767px) {
    .section-05 .items {
      display: block; } }
  .section-05 .items .item {
    width: 33.33%;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 5px;
    padding: 30px 20px;
    margin-bottom: 10px;
    box-sizing: border-box; }
    .section-05 .items .item:not(:last-child) {
      margin-right: 10px; }
    @media screen and (max-width: 767px) {
      .section-05 .items .item {
        width: 100%;
        margin: 0 auto 10px;
        padding: 30px 25px; } }
    .section-05 .items .item__img {
      width: 100px;
      height: 100px;
      margin: 0px auto; }
      .section-05 .items .item__img.h {
        height: 110px; }
      .section-05 .items .item__img img {
        width: 100%;
        height: 100%; }
    .section-05 .items .item__text {
      text-align: center; }
      .section-05 .items .item__text_title {
        font-weight: bold;
        font-size: 24px;
        margin-top: 20px; }
        @media screen and (max-width: 767px) {
          .section-05 .items .item__text_title {
            font-size: 20px; } }
      .section-05 .items .item__text_txt {
        font-size: 14px;
        line-height: 1.5; }
        @media screen and (max-width: 767px) {
          .section-05 .items .item__text_txt {
            font-size: 12px; } }
  @media screen and (max-width: 767px) {
    .section-05 .items .item__img {
      width: 80px;
      height: 80px; } }

.section-06 .sec__title {
  box-sizing: border-box;
  padding-bottom: 40px;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .section-06 .sec__title {
      padding-bottom: 20px; } }
  .section-06 .sec__title h2 {
    line-height: 1;
    font-weight: 500; }
  .section-06 .sec__title .en {
    font-size: 45px;
    border-bottom: 2px solid #fff; }
    @media screen and (max-width: 767px) {
      .section-06 .sec__title .en {
        font-size: 35px; } }
  .section-06 .sec__title .ja {
    font-size: 12px;
    font-weight: 100;
    display: block;
    margin-top: 10px;
    letter-spacing: 5px; }

.items_2d {
  margin: 0 auto;
  display: flex; }
  @media screen and (max-width: 767px) {
    .items_2d {
      display: block; } }
  .items_2d .item_img {
    width: 300px;
    height: 300px;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 50%; }
    @media screen and (max-width: 767px) {
      .items_2d .item_img {
        width: 200px;
        height: 200px;
        margin: 0 auto 12px; } }
    .items_2d .item_img_txt {
      text-align: center;
      font-size: 12px;
      position: relative;
      top: 0px;
      border-bottom: 1px solid #fff;
      /* width: 150px; */
      /* margin: 0 auto; */
      padding: 10px 5px;
      box-sizing: border-box;
      border-radius: 5px 5px 0 0;
      /* background-color: #cccd97; */
      /* color: black; */ }
    .items_2d .item_img img {
      width: 300px;
      height: 300px;
      opacity: 0.8; }
      @media screen and (max-width: 767px) {
        .items_2d .item_img img {
          width: 200px;
          height: 200px; } }
  .items_2d .item_text {
    width: 50%;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 5px;
    padding: 20px;
    box-sizing: border-box;
    color: rgba(0, 0, 0, 0.8);
    font-size: 14px; }
    @media screen and (max-width: 767px) {
      .items_2d .item_text {
        font-size: 12px; } }
    @media screen and (max-width: 767px) {
      .items_2d .item_text {
        width: 100%;
        margin: 0 auto; } }

.section-07 {
  min-height: 500px !important; }
  @media screen and (max-width: 767px) {
    .section-07 {
      min-height: 390px !important; } }
  .section-07 .sec__title {
    box-sizing: border-box;
    padding-bottom: 40px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .section-07 .sec__title {
        padding-bottom: 20px; } }
    .section-07 .sec__title h2 {
      line-height: 1;
      font-weight: 500; }
    .section-07 .sec__title .en {
      font-size: 45px;
      border-bottom: 2px solid #fff; }
      @media screen and (max-width: 767px) {
        .section-07 .sec__title .en {
          font-size: 35px; } }
    .section-07 .sec__title .ja {
      font-size: 12px;
      font-weight: 100;
      display: block;
      margin-top: 10px;
      letter-spacing: 5px; }

.sec07__text {
  color: #383636f5;
  font-size: 18px;
  text-align: center; }
  .sec07__text span {
    font-size: 24px;
    font-weight: bold; }
.sec07__text2 {
  color: rgba(0, 0, 0, 0.8);
  font-size: 10px;
  text-align: center;
  margin-top: 10px; }
.sec07__bottom {
  height: 80px;
  width: 100%;
  bottom: 0px;
  right: 0px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
  border-top: 1px #2121213d solid;
  display: flex;
  z-index: 10;
  position: relative; }
  .sec07__bottom__item {
    width: 33.3%;
    background-color: #518F8F;
    text-align: center;
    padding-top: 10px;
    cursor: pointer; }
    .sec07__bottom__item:hover {
      opacity: 0.5; }
    .sec07__bottom__item:not(:last-child) {
      border-right: 1px solid #2121213d; }
    .sec07__bottom__item a {
      display: block; }
    .sec07__bottom__item__img {
      width: 35px;
      margin: 0 auto; }
      .sec07__bottom__item__img img {
        width: 100%;
        height: 100%; }
