@charset "UTF-8";
/* ---------------------------------------
  基本情報
-----------------------------------------*/
html, body {
  height: 100%;
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 0.78vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.666vw;
  }
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-family: YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  font-weight: 500;
  text-align: left;
  color: #333;
  word-break: break-word;
}

textarea {
  resize: vertical;
}

select::-ms-expand {
  display: none;
}

a {
  text-decoration: none;
  color: inherit;
  outline: none;
}

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

*, *:after, *:before {
  box-sizing: border-box;
}

/* responsive
--------------------------------*/
@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
/* base
--------------------------------*/
p, dt, dd, li, th, td,
input, button, textarea, select, h3 {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  p, dt, dd, li, th, td,
  input, button, textarea, select, h3 {
    font-size: 1rem;
  }
}

html.menu-open {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.tal {
  text-align: left !important;
}

@media screen and (min-width: 768px) {
  .tel-link {
    pointer-events: none;
  }
}

@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
  img {
    width: 100%;
  }
  .sp-tac {
    text-align: center !important;
  }
  .sp-tar {
    text-align: right !important;
  }
  .sp-tal {
    text-align: left !important;
  }
}
/* ---------------------------------------------
  レイアウト
-----------------------------------------------*/
.l-wrap {
  max-width: 1080px;
  width: calc(100% - 4rem);
  margin-left: auto;
  margin-right: auto;
}
.l-wrap.-l {
  max-width: 1200px;
}
.l-wrap.-ll {
  max-width: 1366px;
}

.l-container {
  overflow: hidden;
}
.l-container_on {
  z-index: 1;
  position: relative;
}

/* ---------------------------------------------
  装飾
-----------------------------------------------*/
.u-bold {
  font-weight: 700;
}

.u-underline {
  text-decoration: underline;
}

/* ---------------------------------------------
  パーツ
-----------------------------------------------*/
.c-text-box {
  overflow: hidden;
  background-color: #fff;
  padding: 7rem 13rem 7rem 14rem;
  position: relative;
  max-width: 84.5rem;
}
@media screen and (max-width: 767px) {
  .c-text-box {
    padding: 3.5rem 7rem 3.5rem 2rem;
    max-width: 90%;
  }
}
.c-text-box.-blue {
  background-color: #f2f2f2;
}
.c-text-box .c-deco-en {
  color: #999999;
  font-family: "Mukta Mahee", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  font-weight: 300;
  position: absolute;
  bottom: 14rem;
  right: -3rem;
  transform: rotate(-90deg);
}
@media screen and (max-width: 767px) {
  .c-text-box .c-deco-en {
    font-size: 1rem;
    bottom: 8rem;
    right: -1.5rem;
  }
}
.c-text-box .c-deco-en::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -9.5rem;
  width: 8rem;
  height: 1px;
  background-color: #999999;
}
@media screen and (max-width: 767px) {
  .c-text-box .c-deco-en::before {
    width: 4rem;
    left: -5rem;
  }
}

.c-secttl {
  font-size: 3.2rem;
  line-height: 1.5;
  color: #134493;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-secttl {
    font-size: 2.4rem;
    line-height: 1.5625;
  }
}
.c-secttl.-center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-secttl.-center {
    text-align: left;
  }
}

.c-text {
  margin-top: 2.3rem;
}
@media screen and (max-width: 767px) {
  .c-text {
    margin-top: 1rem;
  }
}

.c-secttl-en {
  font-size: 14rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #134493;
  font-family: "Mukta Mahee", sans-serif;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c-secttl-en {
    font-size: 7rem;
  }
}
.c-secttl-en.-white {
  color: #fff;
}
.c-secttl-en.-rl {
  writing-mode: vertical-rl;
}

/* ボタン
--------------------------------*/
/* 矢印
--------------------------------*/
/* リンク
--------------------------------*/
/* リスト
--------------------------------*/
/* img-block
--------------------------------*/
/* text-block
--------------------------------*/
/* youtube
--------------------------------*/
.c-youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

/* ---------------------------------------------
  header
-----------------------------------------------*/
.l-header .logo {
  text-align: center;
}

/* ---------------------------------------------
  footer
-----------------------------------------------*/
.l-footer {
  background-color: #d9d9d9;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 0.5rem 0;
  }
}
.l-footer .copyright {
  text-align: center;
  color: #999999;
  font-family: "Mukta Mahee", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .l-footer .copyright {
    font-size: 1rem;
  }
}

/* ---------------------------------------------
  main
-----------------------------------------------*/
/* ------------------------------
    フェードインアニメーション
------------------------------ */
.fade-box {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.delay-time02 {
  animation-delay: 0.2s;
}

.delay-time04 {
  animation-delay: 0.4s;
}

.delay-time06 {
  animation-delay: 0.6s;
}

.delay-time08 {
  animation-delay: 0.8s;
}

.delay-time10 {
  animation-delay: 1s;
}/*# sourceMappingURL=common.css.map */