html {
  height: 100%;
  font-size: 10px
}
body {
  color: #001eb7;
  height: 100%;
  line-height: 1.5;
}
a {
  color: #001eb7;
  text-decoration: none;
  -webkit-transition: .125s;
  transition: .125s
}
a:hover {
  color: #001eb7;
  text-decoration: none
}
img {
  border: 0;
  vertical-align: top;
  font-size: 0;
  line-height: 0
}
ol,
ul {
  list-style: none !important
}
* {
  margin: 0;
  padding: 0
}
body {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight: 400
}
.opensans {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600
}
.wrapper {
  height: 100%
}
@media only screen and (min-width: 769px) {
  .wrapper {
    min-width: 1100px;
    margin: 0 auto
  }
}
.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background: none;
  z-index: 9999;
  -webkit-transition: .25s;
  transition: .25s
}
@media only screen and (min-width: 769px) {
  .header {
    min-width: 1100px;
    right: 0;
    margin: 0 auto;
    padding: 35px 0 0;
    height: 80px
  }
}
@media only screen and (max-width: 768px) {
  .header {
    padding: 9px 0 0;
    height: 53px
  }
}
.header__inner {
  position: relative;
  width: 100%
}
@media only screen and (min-width: 769px) {
  .header__inner {
    height: 45px
  }
}
@media only screen and (max-width: 768px) {
  .header__inner {
    height: 35px
  }
}
@media only screen and (min-width: 769px) {
  .header__title {
    width: 303px;
    margin-left: 5.484375%
  }
}
@media only screen and (max-width: 768px) {
  .header__title {
    width: 214px;
    margin-left: 3.125%;
    margin-top: 2px
  }
}
.header__title img {
  width: 100%;
  height: auto
}
@media only screen and (min-width: 769px) {
  .header__toggle {
    display: none
  }
}
@media only screen and (max-width: 768px) {
  .header__toggle {
    position: absolute;
    right: 3.125%;
    top: 0;
    width: 35px;
    height: 35px;
    background: #001eb7;
    -webkit-border-radius: 18px;
    border-radius: 18px;
    z-index: 9999
  }
  .header__toggle span {
    position: absolute;
    left: 8px;
    width: 20px;
    height: 3px;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    background: white;
    -webkit-transition: .25s;
    transition: .25s
  }
  .header__toggle span:nth-of-type(1) {
    top: 10px
  }
  .header__toggle span:nth-of-type(1).active {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 16px
  }
  .header__toggle span:nth-of-type(2) {
    top: 16px;
    opacity: 1
  }
  .header__toggle span:nth-of-type(2).active {
    opacity: 0
  }
  .header__toggle span:nth-of-type(3) {
    top: 22px
  }
  .header__toggle span:nth-of-type(3).active {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 16px
  }
}
.gnav {
  position: absolute;
  top: 0
}
@media only screen and (min-width: 769px) {
  .gnav {
    position: absolute;
    right: 0;
    width: 599px;
    display: -webkit-flex;
    display: flex
  }
}
@media only screen and (max-width: 768px) {
  .gnav {
    display: none;
    position: fixed;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 30, 183, 0.95)
  }
}
@media only screen and (min-width: 769px) {
  .gnav__nav {
    width: 502px;
    margin-top: 8px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (max-width: 768px) {
  .gnav__nav {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
  }
}
@media only screen and (min-width: 769px) {
  .gnav__nav li {
    font-size: 2rem
  }
}
@media only screen and (max-width: 768px) {
  .gnav__nav li {
    font-size: 2.4rem;
    line-height: 2;
    text-align: center
  }
}
.gnav__nav li a {
  color: white
}
@media only screen and (min-width: 769px) {
  .gnav__nav li a {
    display: inline-block;
    padding: 0 5px;
    position: relative;
    overflow: hidden
  }
  .gnav__nav li a:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 0%;
    -webkit-transition: 0.125s 0.25s;
    transition: 0.125s 0.25s;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #001eb7;
    z-index: -1
  }
  .gnav__nav li a:hover:before {
    height: 100%
  }
  .gnav__nav li a:after {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0%;
    height: 1px;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: #001eb7;
    z-index: 1
  }
  .gnav__nav li a:hover:after {
    -webkit-animation: line 0.375s;
    animation: line 0.375s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
  }
}
.gnav__social {
  width: 80px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}
@media only screen and (min-width: 769px) {
  .gnav__social {
    margin: 5px 0 0 17px
  }
}
@media only screen and (max-width: 768px) {
  .gnav__social {
    position: absolute;
    left: 50%;
    bottom: 15px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
  }
}
.gnav__social li {
  width: 36px
}
.gnav__social li img {
  width: 100%;
  height: auto
}
@-webkit-keyframes line {
  0% {
    width: 0%;
    opacity: 1
  }
  66.66666666666667% {
    width: 100%;
    opacity: 1
  }
  100% {
    width: 100%;
    opacity: 0
  }
}
@keyframes line {
  0% {
    width: 0%;
    opacity: 1
  }
  66.66666666666667% {
    width: 100%;
    opacity: 1
  }
  100% {
    width: 100%;
    opacity: 0
  }
}
.footer-top {
  background: #1282cd
}
@media only screen and (min-width: 769px) {
  .footer-top {
    padding: 100px 5.484375%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (max-width: 768px) {
  .footer-top {
    padding: 40px 5.3125%
  }
}
.footer-top>div:first-of-type {
  margin-bottom: 40px
}
@media only screen and (min-width: 769px) {
  .footer-top__half {
    width: 45.97364568081991%
  }
}
.footer-top__title {
  color: white
}
@media only screen and (min-width: 769px) {
  .footer-top__title {
    font-size: 2.6rem
  }
}
@media only screen and (max-width: 768px) {
  .footer-top__title {
    font-size: 2.4rem
  }
}
@media only screen and (min-width: 769px) {
  .footer-top__list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap
  }
}
@media only screen and (min-width: 769px) {
  .footer-top__list li {
    width: 45.70063694267516%;
    margin-top: 50px
  }
}
@media only screen and (max-width: 768px) {
  .footer-top__list li {
    margin-top: 25px
  }
}
.footer-top__p-name {
  color: white
}
@media only screen and (min-width: 769px) {
  .footer-top__p-name {
    font-size: 1.8rem;
    margin-bottom: 10px
  }
}
@media only screen and (max-width: 768px) {
  .footer-top__p-name {
    font-size: 1.4rem;
    margin-bottom: 10px
  }
}
.footer-top__p-info {
  color: #addeff
}
@media only screen and (min-width: 769px) {
  .footer-top__p-info {
    font-size: 1.8rem
  }
}
@media only screen and (max-width: 768px) {
  .footer-top__p-info {
    font-size: 1.4rem
  }
}
.footer-top__p-info a {
  color: #addeff;
  text-decoration: underline
}
.footer-bottom {
  width: 100%;
  position: relative
}
@media only screen and (min-width: 769px) {
  .footer-bottom {
    height: 104px;
    padding: 0 5.484375%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    background: url(../images/kv_bg.jpg) center top no-repeat;
    -webkit-background-size: cover;
    background-size: cover
  }
}
@media only screen and (max-width: 768px) {
  .footer-bottom {
    padding: 30px 0;
    background: url(../images/kv_bg.jpg) center top no-repeat;
    -webkit-background-size: auto 568px;
    background-size: auto 568px
  }
}
.footer-bottom__copy {
  color: white
}
@media only screen and (min-width: 769px) {
  .footer-bottom__copy {
    font-size: 1.6rem;
    margin-top: 40px
  }
}
@media only screen and (max-width: 768px) {
  .footer-bottom__copy {
    font-size: 1.4rem;
    margin-bottom: 15px;
    text-align: center
  }
}
@media only screen and (min-width: 769px) {
  .footer-bottom__nav {
    position: absolute;
    left: 50%;
    top: 40px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 432px;
    font-size: 1.6rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (max-width: 768px) {
  .footer-bottom__nav {
    font-size: 1.4rem;
    margin-bottom: 20px;
    text-align: center
  }
}
.footer-bottom__nav a {
  color: white
}
@media only screen and (max-width: 768px) {
  .footer-bottom__nav a {
    display: block
  }
}
.footer-bottom__nav a:hover {
  color: #001eb7
}
.footer-bottom__social {
  width: 80px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}
@media only screen and (min-width: 769px) {
  .footer-bottom__social {
    margin-top: 34px
  }
}
@media only screen and (max-width: 768px) {
  .footer-bottom__social {
    margin: 0 auto
  }
}
.footer-bottom__social li {
  width: 36px
}
.footer-bottom__social li img {
  width: 100%;
  height: auto
}
.btn {
  display: inline-block;
  border-width: 1px;
  border-style: solid;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  position: relative;
  cursor: pointer;
  -webkit-transition: .25s;
  transition: .25s;
  overflow: hidden
}
.btn:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  width: 9px;
  height: 14px;
  -webkit-transition: .25s;
  transition: .25s;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%)
}
@media only screen and (min-width: 769px) {
  .btn:after {
    right: 30px
  }
}
@media only screen and (max-width: 768px) {
  .btn:after {
    right: 9px
  }
}
.btn span,
.btn a {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative
}
@media only screen and (min-width: 769px) {
  .btn span,
  .btn a {
    padding: 13px 69px 15px 30px;
    font-size: 2rem
  }
}
@media only screen and (max-width: 768px) {
  .btn span,
  .btn a {
    padding: 12px 41px 14px 23px;
    font-size: 1.4rem
  }
}
.btn span:after,
.btn a:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: .25s;
  transition: .25s;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  z-index: -1
}
.btn:hover span:after,
.btn:hover a:after {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%)
}
.body-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%
}
@media only screen and (min-width: 769px) {
  .body-bg {
    min-width: 1100px;
    right: 0;
    margin: 0 auto;
    height: 900px;
    background-image: url(../images/kv_bg.jpg);
    background-position: center 0;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover
  }
}
@media only screen and (max-width: 768px) {
  .body-bg {
    right: 0;
    height: 468px;
    margin: 0 auto;
    background-image: url(../images/kv_bg.jpg);
    background-position: center 0;
    background-repeat: no-repeat;
    -webkit-background-size: auto 568px;
    background-size: auto 568px
  }
}
.body-bg--coming-soon {
  z-index: -1
}
.kv {
  width: 100%;
  text-align: center;
  color: white
}
@media only screen and (min-width: 769px) {
  .kv {
    padding-top: 490px
  }
}
@media only screen and (max-width: 768px) {
  .kv {
    padding-top: 357px;
    overflow: hidden
  }
}
.kv__catch {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%
}
@media only screen and (min-width: 769px) {
  .kv__catch {
    top: 210px;
    min-width: 1100px
  }
}
@media only screen and (max-width: 768px) {
  .kv__catch {
    top: 105px;
    padding: 0 10.625%
  }
}
.kv__catch--eng {
  font-weight: 700
}
@media only screen and (min-width: 769px) {
  .kv__catch--eng {
    font-size: 5.4rem;
    line-height: 1.259259259259259;
    letter-spacing: -0.025em
  }
}
@media only screen and (max-width: 768px) {
  .kv__catch--eng {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0
  }
}
@media only screen and (min-width: 769px) {
  .kv__catch--jpn {
    font-size: 1.8rem;
    margin-top: 13px
  }
}
@media only screen and (max-width: 768px) {
  .kv__catch--jpn {
    font-size: 1.4rem;
    margin-top: 10px
  }
}
@media only screen and (min-width: 769px) {
  .kv__video-wrapper {
    padding: 0 5.484375%
  }
}
.kv__video-wrapper2 {
  padding-top: 56.25%;
  position: relative;
  overflow: hidden
}
.kv__video-wrapper2 iframe {
  position: absolute;
  top: -0.1%;
  left: -0.1%;
  width: 100.2% !important;
  height: 100.2% !important
}
.message {
  width: 100%
}
@media only screen and (min-width: 769px) {
  .message {
    padding: 100px 5.484375% 0;
    max-width: 1334px;
    margin: 0 auto
  }
}
@media only screen and (max-width: 768px) {
  .message {
    padding: 40px 5.3125%
  }
}
@media only screen and (min-width: 769px) {
  .greeting__title {
    font-size: 3.8rem;
    padding-left: 45.59585492227979%;
    margin-bottom: 50px
  }
}
@media only screen and (max-width: 768px) {
  .greeting__title {
    font-size: 2.4rem;
    margin-bottom: 25px;
    text-align: center
  }
}
.greeting__wrapper {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between
}
@media only screen and (min-width: 769px) {
  .greeting__image {
    width: 34.11053540587219%;
    margin-top: 350px
  }
}
@media only screen and (max-width: 768px) {
  .greeting__image {
    width: 39.86013986013986%
  }
}
.greeting__image img {
  width: 100%;
  height: auto
}
@media only screen and (min-width: 769px) {
  .greeting__info {
    width: 54.40414507772021%
  }
}
@media only screen and (max-width: 768px) {
  .greeting__info {
    width: 54.1958041958042%
  }
}
@media only screen and (min-width: 769px) {
  .greeting__name {
    font-size: 2.4rem;
    margin-bottom: 10px
  }
}
@media only screen and (max-width: 768px) {
  .greeting__name {
    font-size: 1.8rem;
    margin-bottom: 10px
  }
}
@media only screen and (min-width: 769px) {
  .greeting__position {
    margin-bottom: 25px;
    font-size: 1.8rem
  }
}
@media only screen and (max-width: 768px) {
  .greeting__position {
    margin-bottom: 15px;
    font-size: 1.4rem
  }
}
@media only screen and (min-width: 769px) {
  .greeting__text {
    font-size: 1.6rem;
    line-height: 2
  }
}
@media only screen and (max-width: 768px) {
  .greeting__text {
    display: none
  }
}
.greeting__more {
  border-color: #001eb7
}
@media only screen and (min-width: 769px) {
  .greeting__more {
    margin-top: 40px
  }
}
.greeting__more:after {
  background: url(../images/arrow_1.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.greeting__more:hover {
  color: white
}
.greeting__more:hover:after {
  background: url(../images/arrow_2.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.greeting__more:hover span:after {
  background: #001eb7
}
@media only screen and (min-width: 769px) {
  .recommend {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (max-width: 768px) {
  .recommend {
    padding-top: 40px
  }
}
@media only screen and (min-width: 769px) {
  .recommend__title {
    width: 34.11053540587219%;
    font-size: 3.8rem;
    text-align: right;
    line-height: 1;
    margin-top: -350px
  }
}
@media only screen and (max-width: 768px) {
  .recommend__title {
    font-size: 2.4rem;
    margin-bottom: 25px;
    text-align: center
  }
  .recommend__title span {
    display: none
  }
}
@media only screen and (min-width: 769px) {
  .recommend__wrapper {
    width: 54.40414507772021%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (min-width: 1281px) {
  .recommend__wrapper {
    margin-top: 150px;
    height: 300px
  }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .recommend__wrapper {
    margin-top: 250px;
    height: 200px
  }
}
@media only screen and (max-width: 768px) {
  .recommend__wrapper>div:first-of-type {
    margin-bottom: 30px
  }
}
@media only screen and (min-width: 769px) {
  .recommend__half {
    width: 45.07936507936508%
  }
}
@media only screen and (max-width: 768px) {
  .recommend__half {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (min-width: 769px) {
  .recommend__image {
    width: 100%
  }
}
@media only screen and (max-width: 768px) {
  .recommend__image {
    width: 39.86013986013986%
  }
}
.recommend__image img {
  width: 100%;
  height: auto
}
@media only screen and (min-width: 769px) {
  .recommend__info {
    padding-top: 30px
  }
}
@media only screen and (max-width: 768px) {
  .recommend__info {
    width: 54.1958041958042%
  }
}
@media only screen and (min-width: 769px) {
  .recommend__name {
    margin-bottom: 15px;
    font-size: 1.8rem
  }
  .recommend__name span {
    font-size: 2.4rem
  }
}
@media only screen and (max-width: 768px) {
  .recommend__name {
    font-size: 1.8rem;
    margin-bottom: 10px
  }
}
@media only screen and (min-width: 769px) {
  .recommend__position {
    font-size: 1.6rem
  }
}
@media only screen and (max-width: 768px) {
  .recommend__position {
    margin-bottom: 15px;
    font-size: 1.4rem
  }
}
.recommend__more {
  border-color: #001eb7
}
@media only screen and (min-width: 769px) {
  .recommend__more {
    margin-top: 40px
  }
}
.recommend__more:after {
  background: url(../images/arrow_1.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.recommend__more:hover {
  color: white
}
.recommend__more:hover:after {
  background: url(../images/arrow_2.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.recommend__more:hover span:after {
  background: #001eb7
}
.modal {
  display: none;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: #1282cd;
  color: white
}
@media only screen and (min-width: 769px) {
  .modal {
    min-width: 1100px;
    left: 0;
    right: 0;
    margin: 0 auto
  }
}
.modal__inner {
  width: 100%;
  height: 100%
}
@media only screen and (min-width: 769px) {
  .modal__inner {
    padding: 150px 5.484375% 75px;
    max-width: 1334px;
    margin: 0 auto
  }
}
@media only screen and (max-width: 768px) {
  .modal__inner {
    padding: 58px 5.3125% 20px
  }
}
.modal__inner2 {
  position: relative;
  height: 100%
}
@media only screen and (max-width: 768px) {
  .modal__inner2 {
    overflow: hidden
  }
}
.modal__close {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  text-indent: -9999px
}
@media only screen and (min-width: 769px) {
  .modal__close {
    width: 60px;
    height: 60px;
    background: url(../images/icon_close.svg) no-repeat;
    -webkit-background-size: 100% auto;
    background-size: 100% auto
  }
}
@media only screen and (max-width: 768px) {
  .modal__close {
    width: 35px;
    height: 35px;
    background: url(../images/icon_close_2.svg) no-repeat;
    -webkit-background-size: 100% auto;
    background-size: 100% auto
  }
}
.modal__title {
  text-align: center
}
@media only screen and (min-width: 769px) {
  .modal__title {
    font-size: 3.8rem;
    margin-bottom: 65px
  }
}
@media only screen and (max-width: 768px) {
  .modal__title {
    font-size: 2.4rem;
    margin: 45px 0 25px
  }
}
.modal__scroll {
  width: 100%;
  overflow: auto
}
@media only screen and (min-width: 769px) {
  .modal__scroll {
    height: -webkit-calc(100% - 122px);
    height: calc(100% - 122px)
  }
}
@media only screen and (max-width: 768px) {
  .modal__scroll {
    height: -webkit-calc(100% - 110px);
    height: calc(100% - 110px)
  }
}
@media only screen and (min-width: 769px) {
  .modal__wrapper {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between
  }
}
@media only screen and (min-width: 769px) {
  .modal__image {
    width: 34.11053540587219%
  }
}
@media only screen and (max-width: 768px) {
  .modal__image {
    text-align: center
  }
}
@media only screen and (min-width: 769px) {
  .modal__image img {
    width: 100%;
    height: auto
  }
}
@media only screen and (max-width: 768px) {
  .modal__image img {
    width: 175px
  }
}
@media only screen and (min-width: 769px) {
  .modal__info {
    width: 54.40414507772021%
  }
}
@media only screen and (max-width: 768px) {
  .modal__info {
    padding-top: 30px
  }
}
.modal__name {
  font-size: 2.4rem
}
@media only screen and (min-width: 769px) {
  .modal__name {
    margin-bottom: 20px
  }
}
@media only screen and (max-width: 768px) {
  .modal__name {
    margin-bottom: 10px
  }
}
@media only screen and (min-width: 769px) {
  .modal__position {
    font-size: 1.8rem;
    margin-bottom: 60px
  }
}
@media only screen and (max-width: 768px) {
  .modal__position {
    font-size: 1.6rem;
    margin-bottom: 30px
  }
}
.modal__message {
  line-height: 2
}
@media only screen and (min-width: 769px) {
  .modal__message {
    margin-bottom: 35px;
    font-size: 1.6rem
  }
}
@media only screen and (max-width: 768px) {
  .modal__message {
    margin-bottom: 25px;
    font-size: 1.4rem
  }
}
.modal__profile-title {
  font-size: 1.8rem;
  color: #addeff
}
@media only screen and (min-width: 769px) {
  .modal__profile-title {
    margin-top: 60px
  }
}
@media only screen and (max-width: 768px) {
  .modal__profile-title {
    margin-top: 30px;
    text-align: left
  }
}
.modal__profile {
  font-size: 1.2rem;
  color: #addeff;
  line-height: 2
}
@media only screen and (min-width: 769px) {
  .modal__profile {
    margin-top: 35px
  }
}
@media only screen and (max-width: 768px) {
  .modal__profile {
    margin-top: 25px;
    text-align: left
  }
}
.intro {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: #1282cd;
  z-index: 10000
}
@media only screen and (min-width: 769px) {
  .intro {
    min-width: 1100px;
    left: 0;
    right: 0;
    margin: 0 auto
  }
}
.intro__logo {
  display: none;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}
@media only screen and (min-width: 769px) {
  .intro__logo {
    width: 450px
  }
}
@media only screen and (max-width: 768px) {
  .intro__logo {
    width: 84.375%
  }
}
.intro__logo img {
  width: 100%;
  height: auto
}
.intro__imageloaded {
  display: none
}
.coming-soon {
  width: 100%;
  text-align: center;
  color: white
}
@media only screen and (min-width: 769px) {
  .coming-soon {
    padding-top: 490px
  }
}
@media only screen and (max-width: 768px) {
  .coming-soon {
    padding-top: 357px;
    overflow: hidden
  }
}
.coming-soon__inner {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 100%
}
@media only screen and (min-width: 769px) {
  .coming-soon__inner {
    top: 210px;
    min-width: 1100px
  }
}
@media only screen and (max-width: 768px) {
  .coming-soon__inner {
    top: 105px;
    padding: 0 10.625%
  }
}
.coming-soon__title {
  font-weight: 700
}
@media only screen and (min-width: 769px) {
  .coming-soon__title {
    font-size: 5.4rem;
    line-height: 1.259259259259259;
    letter-spacing: -0.025em
  }
}
@media only screen and (max-width: 768px) {
  .coming-soon__title {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0
  }
}
.coming-soon__back {
  border-color: white
}
@media only screen and (min-width: 769px) {
  .coming-soon__back {
    margin-top: 50px
  }
}
@media only screen and (max-width: 768px) {
  .coming-soon__back {
    margin-top: 25px
  }
}
.coming-soon__back a {
  color: white
}
.coming-soon__back:after {
  background: url(../images/arrow_2.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.coming-soon__back:hover a {
  color: #001eb7
}
.coming-soon__back:hover:after {
  background: url(../images/arrow_1.svg) no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto
}
.coming-soon__back:hover a:after {
  background: white
}

/*# sourceMappingURL=style.css.map */


/*------------------------------------------------------------------------------------------------------------------------------------------

	å…±é€š
	
------------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------
	æ±Žç”¨ã‚¹ã‚¿ã‚¤ãƒ«
------------------------------------------------------------*/
.sp-item {
    display: none;
}

/* ãƒ†ã‚­ã‚¹ãƒˆã®ä½ç½® */
.taLeft { text-align: left; }
.taCenter { text-align: center; }
.taRight { text-align: right; }

.clearfix:after{
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;    
    clear: both; 
    visibility:hidden;
}
.f-left { float: left; }
.f-right { float: right; }

.flex-container {
	display: flex;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
}

@media (max-width:480px) {
.sp-item {
    display: block;
}
.pc-item {
    display: none;
}
}



.sub-page {
    font-size: 16px;
    line-height: 1.4;
}
.bg-white {
    background: #fff;
}
.wrap1160 {
    width:  1160px;
    margin: 0 auto;
}
.page-head h1 {
    color: #fff;
    padding: 160px 0 140px;
    text-align: center;
}

@media (max-width:1160px) {
.wrap1160 {
    width: 100%;
}
}

@media (max-width:768px) {
.sub-page {
    font-size: 1.4rem;
}
}

@media (max-width:768px) {
.page-head h1 {
    padding: 100px 0 60px;
}
}

@media (max-width:480px) {
.page-head h1 {
    padding: 70px 0 30px;
}
}

.ftype-en {
    font-family: 'Open Sans', sans-serif;
}

.catch-box {
    padding: 0 80px;
}
.catch-box .catch {
    font-size: 50px;
    font-weight: bold;
    text-align: center;
}
.catch-box .sub {
    font-size: 19px;
    text-align: center;
    padding-top: 10px;
}
.ttl-box {
    padding: 0 20px;
}
.ttl-box h2 {
    font-size: 38px;
    font-weight: 600;
    text-align: center;
    padding: 160px 0 0;
}
.ttl-box h2 span {
    font-size: 38px;
    font-weight: 600;
    text-align: center;
    padding: 160px 0 0;
	letter-spacing: -0.05em
}
.ttl-box .sub {
    font-size: 18px;
    text-align: center;
}

@media (max-width:768px){
.catch-box {
    padding: 0 0;
}
.catch-box .catch {
    font-size: 2.8rem;
}
.catch-box .sub {
    font-size: 1.6rem;;
}
.ttl-box h2 {
    font-size: 2.4rem;;
    padding: 130px 0 0;
}
.ttl-box .sub {
    font-size: 1.6rem;
}
}


/*------------------------------------------------------------------------------------------------------------------------------------------

	ACCESS & LOCATION
	
------------------------------------------------------------------------------------------------------------------------------------------*/
/*-- world-block --*/
#access .world-block {
    padding: 80px 0 0;
}
#access .world-block-inner {
    background: url(../images/access/access-img01.png) top center no-repeat;
    padding: 100px 0 600px;
}
#access .world-block .ttl-box h2 {
    background: url(../images/access/access-num01.png) top center no-repeat;
}

@media (max-width:1020px){
#access .world-block-inner {
    background-size: 100%;
    background-position: bottom;
    padding: 50px 0 50%;
}
}
@media (max-width:768px){
#access .world-block {
    padding: 50px 0 0;
}
#access .world-block .catch-box {
    padding: 0 20px;
}
#access .world-block .ttl-box h2 {
    background-size: 120px;
}
}


/*-- japan-block --*/
#access .japan-block {
    background: #D7E5F3;
}
#access .japan-block-inner {
    padding: 80px 0 60px;
}
#access .japan-block h3 {
    font-size: 38px;
    padding-left: 60px;
}
#access .japan-block .f-left {
    width: 45%;
}
#access .japan-block .f-left img {
    width: 100%;
    max-width: 764px;
}
#access .japan-block .f-left h3 {
    margin-bottom: 30px;
    background: url(../images/access/icon-express.png) top left no-repeat;
}
#access .japan-block .f-left .express-box {
    margin: 30px 0;
}
#access .japan-block .f-left .express-box h4 {
    font-size: 16px;
    margin-bottom: 20px;
}
#access .japan-block .f-right {
    width: 45%;
}
#access .japan-block .f-right h3 {
    background: url(../images/access/icon-train.png) top left no-repeat;
}
#access .japan-block iframe {
    width: 100%;
}

@media (max-width:768px){
#access .japan-block-inner {
    padding: 50px 20px 0;
}
#access .japan-block .f-left h3 {
    font-size: 2.3rem;
    background-size: 32px;
    padding-left: 40px;
}
#access .japan-block .f-right h3 {
    font-size: 2.3rem;
    background-size: 32px;
    padding-left: 40px;
}
#access .japan-block .f-left .express-box h4 {
    font-size: 1.5rem;;
}
}

@media (max-width:480px){
#access .japan-block .f-left {
    width: 100%;
}
#access .japan-block .f-right {
    width: 100%;
    margin-top: 20px;
}
}



/*-- city-block --*/
#access .city-block {
    padding: 80px 0;
}
#access .city-block .ttl-box {
    margin-bottom: 40px;
}
#access .city-block .ttl-box h2 {
    background: url(../images/access/location-num02.png) top center no-repeat;
}

@media (max-width:768px){
#access .city-block {
    padding: 50px 20px;
}
#access .city-block .ttl-box h2 {
    background-size: 120px;
}
}


/*-- spot-block --*/
#access .spot-block h3 {
    font-size: 38px;
    font-weight: 600;
    margin-bottom: 30px;
}
#access .spot-block .flex-container {
    padding: 0 80px 60px;
    justify-content: space-between;
}
#access .spot-block .flex-container .text-box {
    width: 55%;
}
#access .spot-block .flex-container .text-box .ttl {
    font-size: 19px;
    font-weight: bold;
    margin-bottom: 20px;
}
#access .spot-block .flex-container .text-box .ttl span {
    font-size: 24px;
}
#access .spot-block .flex-container .text-box .en {
    margin-bottom: 10px;
}
#access .spot-block .flex-container .text-box .jp {
    font-size: 14px;
}
#access .spot-block .flex-container .img-box {
    width: 40%;
    height: auto;
}

@media (max-width:768px){
#access .spot-block h3 {
    font-size: 2.8rem;
}
#access .spot-block .flex-container {
    padding: 0 20px 60px;
}
#access .spot-block .flex-container .text-box .ttl {
    font-size: 1.6rem;
}
#access .spot-block .flex-container .text-box .ttl span {
    font-size: 2rem;
}
}

@media (max-width:480px){
#access .spot-block .flex-container {
    padding: 0 20px 40px;
    flex-wrap: wrap;
}
#access .spot-block .flex-container .text-box {
    width: 100%;
    order: 2;
    margin-top: 10px;
}
#access .spot-block .flex-container .img-box {
    width: 100%;
    order: 1;
}
}



/*------------------------------------------------------------------------------------------------------------------------------------------

	TRAINING
	
------------------------------------------------------------------------------------------------------------------------------------------*/
/*-- top-block --*/
#training .top-block {
    padding: 80px 0;
}
#training .top-block .ttl-box {
    margin: 60px 0;
}
#training .top-block .ttl-box h2 {
    background: url(../images/training/training-num03.png) top center no-repeat;
}

@media (max-width:768px){
#training .top-block {
    padding: 50px 0;
}
#training .top-block .ttl-box h2 {
    background-size: 120px;
}
}


/*-- point-block --*/
#training .point-block .flex-container {
    justify-content: space-between;
    margin-bottom: 60px;
}
#training .point-block .flex-container .text-box {
    width: 58%;
    padding-left: 70px;
}
#training .point-block .flex-container .text-box .ttl {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 20px;
}
#training .point-block .flex-container .text-box .ttl span {
    font-size: 28px;
}
#training .point-block .flex-container:nth-of-type(1) .text-box {
    background: url(../images/training/training-bgnum01.png) top left no-repeat;
}
#training .point-block .flex-container:nth-of-type(2) .text-box {
    background: url(../images/training/training-bgnum02.png) top left no-repeat;
}
#training .point-block .flex-container:nth-of-type(3) .text-box {
    background: url(../images/training/training-bgnum03.png) top left no-repeat;
}
#training .point-block .flex-container .text-box .en {
    margin-bottom: 10px;
}
#training .point-block .flex-container .text-box .jp {
    font-size: 14px;
}
#training .point-block .flex-container .img-box {
    width: 35%;
}

@media (max-width:768px){
#training .point-block .flex-container {
    padding: 0 20px;
}
#training .point-block .flex-container .text-box .ttl {
    font-size: 1.6rem;
}
#training .point-block .flex-container .text-box .ttl span {
    font-size: 2.4rem;;
}
}

@media (max-width:480px){
#training .point-block .flex-container {
    flex-wrap: wrap;
}
#training .point-block .flex-container .text-box {
    width: 100%;
    order: 1;
    padding-left: 45px;
    margin-bottom: 20px
}
#training .point-block .flex-container:nth-of-type(1) .text-box {
    background-size: 30px;
}
#training .point-block .flex-container:nth-of-type(2) .text-box {
    background-size: 30px;
}
#training .point-block .flex-container:nth-of-type(3) .text-box {
    background-size: 30px;
}
#training .point-block .flex-container .img-box {
    width: 100%;
    order: 2;
}

}



/*-- course-block --*/
#training .course-block {
    background: #D7E5F3;
    padding: 80px 0;
}
#training .course-block .ttl-box {
    padding: 0 0 40px;
}
#training .course-block .ttl-box h2 {
    padding-top: 0;
}
#training .course-block .ttl-box {
    padding-bottom: 40px;
}
#training .course-block .boatramp-block {
    background: #fff;
    padding: 30px;
    margin-top: 20px;
}
#training .course-block .boatramp-box01 {
    margin-bottom: 40px;
}
#training .course-block .boatramp-box01 .f-left {
    width: 25%;
}
#training .course-block .boatramp-box01 .ttl {
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0 0 20px;
}
#training .course-block .boatramp-box01 .ttl span {
    font-size: 28px;
}
#training .course-block .boatramp-box01 .f-right {
    width: 70%;
}
#training .course-block .boatramp-box02 .f-left {
    width: 47%;
}
#training .course-block .boatramp-box02 .f-right {
    width: 47%;
}

@media (max-width:768px){
#training .course-block {
    padding: 50px 20px;
}
#training .course-block .boatramp-box01 .ttl {
    font-size: 1.4rem;
    padding: 0;
}
#training .course-block .boatramp-box01 .ttl span {
    font-size: 2.4rem;
}
}

@media (max-width:480px){
#training .course-block .boatramp-box01 .f-left {
    width: 100%;
    margin-bottom: 20px;
}
#training .course-block .boatramp-box01 .f-right {
    width: 100%;
}
#training .course-block .boatramp-box02 .f-left {
    width: 100%;
    margin-bottom: 20px;
}
#training .course-block .boatramp-box02 .f-right {
    width: 100%;
}
}



/*------------------------------------------------------------------------------------------------------------------------------------------

	HOTEL
	
------------------------------------------------------------------------------------------------------------------------------------------*/
#hotel .hotel-inner {
    padding: 80px 20px;
}
#hotel .ttl-box {
    margin: 60px 0;
}
#hotel .ttl-box h2 {
    background: url(../images/hotel/hotel-num04.png) top center no-repeat;
}
#hotel .hotel-block {
    flex-wrap: wrap;
    justify-content: space-between;
}
#hotel .hotel-block .hotel-box {
    width: 47%;
    margin-bottom: 60px;
}
#hotel .hotel-block .hotel-box .en-desc {
    font-size: 18px;
    padding: 20px 0 10px;
}
#hotel .hotel-block .hotel-box .en-desc .name {
    font-size: 30px;
    font-weight: 600;
}
#hotel .hotel-block .hotel-box .en-desc .tel {
    font-size: 22px;
}
#hotel .hotel-block .hotel-box .jp-desc {
    font-weight: 600;
}
#hotel .hotel-block .hotel-box .jp-desc .name {
    font-size: 18px;
}
#hotel .hotel-block .hotel-box .jp-desc .tel {
    font-size: 18px;
}
#hotel .hotel-block .hotel-box .btn-more {
    margin: 40px 0 0;
}
#hotel .hotel-block .hotel-box .btn-more a {
    background: url(../images/hotel/hotel-arrow.png) center right no-repeat;
    border: solid 1px #001EB7;
    border-radius: 3px;
    padding: 10px 80px 10px 30px;
}
#hotel .hotel-block .hotel-last-box {
    padding: 100px 40px 0 80px;
}
#hotel .hotel-block .hotel-last-box img {
    padding-top: 50px;
}
#hotel .hotel-block .hotel-last-box .en {
    margin-bottom: 10px;
}
#hotel .hotel-block .hotel-last-box .jp {
    font-size: 14px;
}

@media (max-width:768px){
#hotel .hotel-inner {
    padding: 50px 20px;
}
#hotel .ttl-box {
    padding: 0;
}
#hotel .ttl-box h2 {
    background-size: 120px;
}
#hotel .hotel-block .hotel-box .en-desc {
    font-size: 1.4rem;
}
#hotel .hotel-block .hotel-box .en-desc .name {
    font-size: 2.2rem;
}
#hotel .hotel-block .hotel-box .en-desc .tel {
    font-size: 1.6rem;
}
#hotel .hotel-block .hotel-box .jp-desc {
    font-size: 1.4rem;
}
#hotel .hotel-block .hotel-box .jp-desc .name {
    font-size: 1.5rem;;
}
#hotel .hotel-block .hotel-box .jp-desc .tel {
    font-size: 1.5rem;;
}
#hotel .hotel-block .hotel-last-box {
    padding: 50px 0 0 20px;
}
}

@media (max-width:480px){
#hotel .hotel-block .hotel-box {
    width: 100%;
    margin-bottom: 60px;
}
#hotel .hotel-block .hotel-last-box {
    padding: 20px 0 0;
}
#hotel .hotel-block .hotel-box .btn-more a {
    display: block;
    text-align: center;
    padding: 10px 0;
}
}

