@charset "UTF-8";
html {
  font-size: 62.5%; }

body {
  font-family: 'Renner*', Midashi Go MB31,'Noto Sans JP', sans-serif,"Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
  background: #F8F8F8;
  font-size: 16px;
  font-size: 1.6rem;
  color: #333;
  letter-spacing: .1rem; }
  @media (max-width: 478px) {
    body {
      font-size: 1.5rem; } }

a {
  text-decoration: none;
  color: #333;
  transition: all .3s; }
  a:hover {
    color: #042E60; }

a.disabled {
  pointer-events: none; }

p {
  line-height: 3rem;
  margin-bottom: 3rem; }
  p:last-child {
    margin-bottom: 0; }

.h2 {
  font-size: 5rem;
  font-weight: 900;
  font-feature-settings: "palt";
  text-align: center;
  line-height: 1.2;
  margin-bottom: 30px; }
  @media (max-width: 478px) {
    .h2 {
      font-size: 3.2rem; } }
  .h2 .pt {
    color: #bbb;
    font-size: 75%; }

.p24 {
  font-size: 2.4rem; }

.p20 {
  font-size: 2rem; }

aside {
  text-align: center;
  margin-bottom: 50px;
  line-height: 2rem; }

.big {
  font-size: 130%;
  font-weight: bold; }
  @media (max-width: 478px) {
    .big {
      font-size: 120%; } }

.big2 {
  font-size: 150%;
  font-weight: bold; }
  @media (max-width: 478px) {
    .big2 {
      font-size: 140%; } }

.bold {
  font-weight: 700; }

.light {
  font-size: 90%; }

.small {
  font-size: 70%; }

.under {
  text-decoration: underline; }

.red {
  color: #c80000; }

.black {
  color: #424242; }

.yellow {
  color: #ffda0c; }

.lightyellow {
  color: #fffb00; }

.marker {
  background: #ffda0c; }

.shadow-w {
  text-shadow: 0px 0px 2px #ffffff; }

.curning {
  font-feature-settings: "palt"; }

.txt-center {
  text-align: center; }

.txt-right {
  text-align: right; }

.marker_yellow_hoso {
  background: linear-gradient(transparent 60%, #ffff66 60%); }

/* スマホのときは改行なし */
.br-pc {
  display: none; }

@media (min-width: 768px) {
  .br-pc {
    display: inline; } }
/* スマホのときは改行あり */
.br-sp {
  display: none; }

@media (max-width: 768px) {
  .br-sp {
    display: inline; } }
.btn {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: .1em;
  position: relative;
  display: inline-block !important;
  padding: 1.3em 2em;
  background-color: #37ABCE;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 3px; }
  @media (max-width: 800px) {
    .btn {
      font-size: 1.6rem; } }
  .btn:hover {
    color: #fff;
    opacity: .8; }
  .btn span {
    position: relative; }

.btn-w {
  max-width: 220px;
  padding: 16px 0;
  border: 1px solid #fff;
  font-size: 1.2rem;
  letter-spacing: .1em;
  color: #fff;
  text-align: center;
  width: 50%;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: all 0.3s cubic-bezier(0.78, 0.1, 0, 1) 0.1s; }
  .btn-w:hover {
    color: #333; }
  .btn-w span {
    position: relative; }
  .btn-w::before {
    content: '';
    display: block;
    position: absolute;
    left: auto;
    right: -1px;
    top: -1px;
    width: 0;
    height: calc(100% + 2px);
    background-color: #fff;
    transition: inherit; }
  .btn-w::after {
    width: 32px;
    height: 8px;
    content: '';
    display: block;
    position: absolute;
    bottom: 22px;
    right: -20px;
    overflow: hidden;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: url(../img/arrow3.svg);
    transition: all 0.3s cubic-bezier(0.78, 0.1, 0, 1) 0.1s; }
  .btn-w:hover:before {
    left: -1px;
    right: auto;
    width: calc(100% + 2px); }

.btn-w-g:hover {
  color: #AE9364; }

.btn-w-n:hover {
  color: #042E60; }

.btn-contact {
  max-width: 650px;
  padding: 35px 20px;
  font-size: 1.8rem;
  letter-spacing: 8px;
  color: #fff;
  background: #AE9364;
  text-align: center;
  width: 50%;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: all 0.3s cubic-bezier(0.78, 0.1, 0, 1) 0.1s; }
  @media (max-width: 800px) {
    .btn-contact {
      width: 65%;
      padding: 25px 10px;
      letter-spacing: 5px; } }
  @media (max-width: 478px) {
    .btn-contact {
      width: 80%; } }
  .btn-contact span {
    position: relative; }
  .btn-contact:hover {
    color: #fff;
    opacity: 0.9; }

.embedvideo {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden; }
  .embedvideo iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.cf:after {
  content: "";
  clear: both;
  display: block; }

.block-revealer__element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  pointer-events: none;
  opacity: 0; }

.content__title__inner {
  flex: none;
  display: inline-block;
  white-space: nowrap;
  position: relative; }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url("../fonts/NotoSansCJKjp-Thin.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Thin.woff") format("woff"), url("../fonts/NotoSansCJKjp-Thin.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Thin.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url("../fonts/NotoSansCJKjp-Light.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Light.woff") format("woff"), url("../fonts/NotoSansCJKjp-Light.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Light.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/NotoSansCJKjp-DemiLight.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-DemiLight.woff") format("woff"), url("../fonts/NotoSansCJKjp-DemiLight.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-DemiLight.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansCJKjp-Regular.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("../fonts/NotoSansCJKjp-Regular.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Regular.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansCJKjp-Medium.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Medium.woff") format("woff"), url("../fonts/NotoSansCJKjp-Medium.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Medium.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("../fonts/NotoSansCJKjp-Bold.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Bold.eot") format("embedded-opentype"); }
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansCJKjp-Black.woff2") format("woff2"), url("../fonts/NotoSansCJKjp-Black.woff") format("woff"), url("../fonts/NotoSansCJKjp-Black.ttf") format("truetype"), url("../fonts/NotoSansCJKjp-Black.eot") format("embedded-opentype"); }
nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  background: #ae9364f0;
  color: #333;
  text-align: center;
  transform: translateY(-100%);
  transition: all 0.6s;
  opacity: 0;
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px; }

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%; }

nav.globalMenuSp ul li {
  font-size: 1.1em;
  list-style-type: none;
  padding: 0;
  width: 100%; }

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none; }

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 5% 0;
  letter-spacing: 5px; }

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
  opacity: 1;
  height: 100%; }

.navToggle {
  display: none;
  position: fixed;
  /* bodyに対しての絶対位置指定 */
  right: 0px;
  top: 0px;
  width: 50px;
  height: 50px;
  background: #AE9364;
  cursor: pointer;
  z-index: 3;
  text-align: center; }
  @media (max-width: 800px) {
    .navToggle {
      display: block; } }

.navToggle span {
  display: block;
  position: absolute;
  /* .navToggleに対して */
  width: 30px;
  border-bottom: solid 2px #fff;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
  left: 10px; }

.navToggle span:nth-child(1) {
  top: 14px; }

.navToggle span:nth-child(2) {
  top: 23px; }

.navToggle span:nth-child(3) {
  top: 32px; }

.navToggle span:nth-child(4) {
  border: none;
  color: #333;
  font-size: 9px;
  font-weight: bold;
  top: 34px; }

/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
  top: 22px;
  left: 10px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-bottom: solid 2px #fff; }

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
  top: 22px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  border-bottom: solid 2px #fff; }

.globalMenuSp-btn {
  background: #fff;
  color: #AE9364 !important;
  width: 280px;
  margin: 0 auto;
  margin-top: 10px; }

.container {
  max-width: 900px;
  display: block;
  margin: 0 auto; }

.container-full {
  max-width: 900px;
  display: block;
  margin: 0 auto;
  padding: 70px 0 55px;
  position: relative; }
  .container-full::before {
    position: absolute;
    content: '';
    /*何も入れない*/
    display: inline-block;
    /*忘れずに！*/
    width: 116px;
    /*画像の幅*/
    height: 58px;
    /*画像の高さ*/
    background-image: url(../img/arrow-fullbg.png);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    top: -22px;
    left: 45%;
    z-index: 100; }
    @media (max-width: 478px) {
      .container-full::before {
        left: 37%; } }

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  padding: 0 0 0 0px;
  background-color: transparent;
  display: block;
  overflow: hidden; }
  .l-header-inner {
    display: -ms-flexbox;
    display: flex;
    max-height: 80px;
    padding: 0; }
    @media (max-width: 800px) {
      .l-header-inner {
        height: 50px; } }
  .l-header-logo {
    position: relative;
    z-index: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 22px 0 0;
    margin-left: 40px;
    width: 300px; }
    @media (max-width: 1024px) {
      .l-header-logo {
        margin-left: 30px; } }
    @media (max-width: 800px) {
      .l-header-logo {
        margin-left: 5%;
        padding-top: 15px;
        padding-bottom: 10px; } }
  .l-header-nav {
    display: block;
    padding-right: 30px; }
    @media (max-width: 800px) {
      .l-header-nav {
        display: none; } }
  .l-header-logotop {
    position: absolute;
    width: 200px;
    z-index: 2; }
    @media (max-width: 800px) {
      .l-header-logotop {
        width: 140px; } }

.nav-menu {
  display: block; }
  .nav-menu-header {
    height: 100%;
    height: 100%;
    -ms-flex-align: center;
    align-items: center; }
  .nav-menu-inner {
    display: -ms-flexbox;
    display: flex;
    margin: 0 0px; }
  .nav-menu-item {
    text-align: center;
    position: relative;
    display: block;
    height: 100%;
    margin: 0 25px;
    text-shadow: 0 0 7px #2a2d2b;
    font-weight: 500; }
    @media (max-width: 1024px) {
      .nav-menu-item {
        margin: 0 10px; } }
    .nav-menu-item span {
      font-size: 45%;
      font-weight: 400; }
    .nav-menu-item-inner {
      font-family: 'Renner*', 'Noto Sans JP',"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
      font-size: 1.2vw;
      position: relative;
      display: block;
      padding: 33px 0 34px;
      text-decoration: none;
      letter-spacing: 0.04em;
      color: #fff;
      opacity: 0.9; }
      @media (max-width: 1024px) {
        .nav-menu-item-inner {
          font-size: 1.3rem; } }
      @media (min-width: 1400px) {
        .nav-menu-item-inner {
          font-size: 1.6rem; } }
      .nav-menu-item-inner:hover {
        color: #fff;
        opacity: 1; }
    .nav-menu-item-home {
      display: block; }
      @media (max-width: 1024px) {
        .nav-menu-item-home {
          display: none; } }

@media (min-width: 1000px) and (max-width: 1170px) {
  .nav-menu-item {
    margin: 0 15px 0px 15px; } }
.noshadow .nav-menu-item {
  text-shadow: none; }

.logo-header {
  width: 170px; }
  @media (max-width: 800px) {
    .logo-header {
      width: 90px; } }
.logo-inner {
  display: block;
  opacity: 1;
  transition: opacity 0.25s cubic-bezier(0.25, 0.635, 0.53, 0.905); }
.logo img {
  width: 100%;
  height: auto; }

.footer {
  background: #238eaf;
  color: #fff;
  padding: 80px 30px 30px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
  @media (max-width: 800px) {
    .footer {
      padding: 50px 30px 30px; } }
  .footer-wrap {
    max-width: 1100px;
    margin: 0 auto; }
  .footer .flexbox {
    align-items: flex-start; }
  .footer-logo {
    width: 17%; }
    @media (max-width: 800px) {
      .footer-logo {
        width: 200px;
        margin: 0 auto 40px; } }
    @media (max-width: 478px) {
      .footer-logo {
        width: 60%;
        margin: 0 auto 40px; } }
    .footer-logo-txt {
      width: 28%;
      padding-left: 5%;
      font-size: 1.4rem;
      line-height: 1.8;
      font-weight: 500;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
      text-align: justify; }
      @media (max-width: 800px) {
        .footer-logo-txt {
          width: 100%;
          padding-left: 0;
          margin-bottom: 15px; } }
  .footer-sns {
    font-size: 3.2rem; }
    @media (max-width: 800px) {
      .footer-sns {
        text-align: left;
        width: 100%; } }
    .footer-sns-icon {
      opacity: .9;
      margin-right: 20px; }
      .footer-sns-icon:hover {
        opacity: 1; }
  .footer-menu {
    margin-bottom: 80px;
    width: 45%;
    margin-left: 5%;
    align-items: center;
    list-style: none;
    flex-wrap: wrap;
    display: flex;
    justify-content: flex-start;
    font-size: 1.5rem;
    color: #F5F5F7; }
    @media (max-width: 800px) {
      .footer-menu {
        width: 100%;
        margin-top: 20px;
        justify-content: flex-start;
        flex-wrap: wrap;
        margin-left: 0;
        margin-bottom: 15px; } }
    .footer-menu li {
      opacity: 1;
      margin-bottom: 30px;
      padding: 0px 10px; }
      .footer-menu li:hover {
        opacity: .9; }
      @media (max-width: 800px) {
        .footer-menu li {
          width: 48%;
          margin-bottom: 20px;
          padding: 0px 1%;
          line-height: 1.5; } }
  .footer a {
    color: #fff; }
  .footer .copyright {
    font-size: 1.3rem;
    text-align: center;
    opacity: .5;
    line-height: 1.8;
    border-top: 1px solid #ddd;
    padding-top: 30px; }

.container-flex {
  margin-right: 6%;
  margin-left: 6%;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

.flexbox {
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center; }

@media (max-width: 478px) {
  .flex-re {
    flex-direction: column-reverse; } }

@media (max-width: 478px) {
  .row-reverse-sp {
    flex-direction: column-reverse; } }
.photoadd {
  float: right; }
  @media (max-width: 478px) {
    .photoadd {
      float: none;
      display: block;
      margin: 0 auto 30px; } }

.w100 {
  width: 100%; }

@media (max-width: 478px) {
  .w100sp {
    width: 100%; }

  .w90sp {
    width: 90%;
    display: block;
    margin: 0 auto; }

  .w80sp {
    width: 80%; }

  .w60sp {
    width: 60%; }

  .mb30sp {
    margin-bottom: 3rem; } }
.w90 {
  width: 90%; }

.center-block {
  display: block;
  margin: 0 auto; }

.mb15 {
  margin-bottom: 1.5rem; }

.mb30 {
  margin-bottom: 3rem; }

.mb50 {
  margin-bottom: 5rem !important; }

.margintop-150 {
  margin-top: -150px; }
  @media (max-width: 478px) {
    .margintop-150 {
      margin-top: 0; } }

.mt0 {
  margin-top: 0 !important; }

.mt30 {
  margin-top: 3rem; }

.mt50 {
  margin-top: 5rem; }

.mr10 {
  margin-right: 10px; }
  @media (max-width: 478px) {
    .mr10 {
      margin-right: 0; } }

.txt-box {
  padding: 0 50px; }
  @media (max-width: 478px) {
    .txt-box {
      padding: 0 0px; } }

.sp {
  display: none !important; }
  @media (max-width: 478px) {
    .sp {
      display: block !important; } }
  @media (min-width: 800px) {
    .sp {
      display: none; } }

.tab {
  display: none !important; }
  @media (max-width: 800px) {
    .tab {
      display: block !important; } }
  @media (min-width: 800px) {
    .tab {
      display: none; } }

.pc {
  display: none !important; }
  @media (min-width: 800px) {
    .pc {
      display: block !important; } }

.drawer-hamburger {
  padding-right: 4% !important; }

.drawer-brand {
  width: 90%;
  margin: 10px 0 10px; }
  .drawer-brand img {
    width: 100%; }

/* ---- animation ---- */
/* ---- animation ---- */
/* ---- animation ---- */
/* ---- animation ---- */
.delighter.splash {
  transition: all 2s ease-out; }

.delighter.splash.ended {
  background: #fff; }

.delighter.right {
  transform: translate(-100%);
  opacity: 0;
  transition: all .75s ease-out; }

.delighter.right.started {
  transform: none;
  opacity: 1; }

.delighter.left {
  transform: translate(100%);
  opacity: 0;
  transition: all .75s ease-out; }

.delighter.left.started {
  transform: none;
  opacity: 1; }

.delighter.bottom {
  transform: translatey(300%);
  opacity: 0;
  transition: all .75s ease-out; }

.delighter.bottom.started {
  transform: none;
  opacity: 1; }

.delighter.fadeIn {
  transition: all 1s ease;
  opacity: 0; }

.delighter.fadeIn.started {
  opacity: 1; }

.delighter.slideUp {
  -webkit-transform: translate3d(0, 100px, 0);
  -moz-transform: translate3d(0, 100px, 0);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
  transition: all .75s ease-out; }

.delighter.slideUp.started {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.delighter.slideUp {
  opacity: 0;
  transform: translate3d(0, 100px, 0) scale(0.95);
  transition: all .75s ease-out; }

.delighter.slideUp.started {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1); }

@keyframes itemIn {
  from {
    opacity: 0;
    transform: translate3d(0, 100px, 0) scale(0.95); }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1); } }
.itemIn {
  -webkit-animation-name: itemIn;
  animation-name: itemIn;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.delighter.maskToRight {
  position: relative;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
  overflow: hidden; }

.delighter.maskToRight::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background: #fff;
  -webkit-transition: all 0.8s linear;
  -moz-transition: all 0.8s linear;
  transition: all 0.8s linear;
  z-index: 2; }

.delighter.maskToRight.started::before {
  -webkit-transform: translate3d(100%, 0, 0);
  -moz-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0); }

.delay_03 {
  -webkit-transition: all 1s ease 0.3s;
  -moz-transition: all 1s ease 0.3s;
  transition: all 1s ease 0.3s; }

.delay_06 {
  -webkit-transition: all 1s ease 0.6s;
  -moz-transition: all 1s ease 0.6s;
  transition: all 1s ease 0.6s; }

.delay_09 {
  -webkit-transition: all 1s ease 0.9s;
  -moz-transition: all 1s ease 0.9s;
  transition: all 1s ease 0.9s; }

.delay_12 {
  -webkit-transition: all 1s ease 1.2s;
  -moz-transition: all 1s ease 1.2s;
  transition: all 1s ease 1.2s; }

.delay_15 {
  -webkit-transition: all 1s ease 1.5s;
  -moz-transition: all 1s ease 1.5s;
  transition: all 1s ease 1.5s; }

/* ---- animation ---- */
/* ---- animation ---- */
/* ---- animation ---- */
/* ---- animation ---- */
.block-revealer__element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  pointer-events: none;
  opacity: 0; }

.sample-text1 {
  font-size: 20px;
  font-weight: bold;
  animation-name: fadein;
  animation-duration: 3s; }

@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(20px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0px, 0px);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: translate(10px, 0px);
    transform: translate(10px, 0px);
    opacity: 0; } }
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: translate(10px, 0px);
    opacity: 0; } }
.noshow {
  opacity: 0; }

.pageloadshow {
  -webkit-animation: pageloadshow 1s ease 3.7s 1 normal forwards;
  animation: pageloadshow 1s ease 3.7s 1 normal forwards; }
  @media (max-width: 800px) {
    .pageloadshow {
      -webkit-animation: pageloadshow 1s ease 4.4s 1 normal forwards;
      animation: pageloadshow 1s ease 4.4s 1 normal forwards; } }

@-webkit-keyframes pageloadshow {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.reveal-text {
  visibility: hidden; }

.line {
  position: relative;
  overflow: hidden;
  display: flex; }

.fuwafuwa {
  -webkit-animation: fuwafuwa 4.3s infinite ease alternate;
  animation: fuwafuwa 4.3s infinite ease alternate; }

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(0, -5px); }
  100% {
    -webkit-transform: translate(0, 0); } }
@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, -5px); }
  100% {
    transform: translate(0, 0); } }
.fuwafuwa02 {
  -webkit-animation: fuwafuwa02 4.5s infinite ease alternate;
  animation: fuwafuwa02 4.5s infinite ease alternate; }

@-webkit-keyframes fuwafuwa02 {
  0% {
    -webkit-transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(0, -5px); }
  100% {
    -webkit-transform: translate(0, 0); } }
@keyframes fuwafuwa02 {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, -5px); }
  100% {
    transform: translate(0, 0); } }
.fuwafuwa03 {
  -webkit-animation: fuwafuwa03 4.8s infinite ease alternate;
  animation: fuwafuwa03 4.8s infinite ease alternate; }

@-webkit-keyframes fuwafuwa03 {
  0% {
    -webkit-transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(0, -5px); }
  100% {
    -webkit-transform: translate(0, 0); } }
@keyframes fuwafuwa03 {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, -5px); }
  100% {
    transform: translate(0, 0); } }
.drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
  background-color: #fff;
  transition: .5s; }

.bg-is-black .drawer-hamburger-icon, .bg-is-black .drawer-hamburger-icon:after, .bg-is-black .drawer-hamburger-icon:before {
  background-color: #37ABCE; }

.drawer-open .drawer-hamburger-icon, .drawer-open .drawer-hamburger-icon:after, .drawer-open .drawer-hamburger-icon:before {
  background-color: #fff !important; }

.drawer-open .drawer-hamburger-icon {
  background-color: transparent !important; }

@keyframes zoomBg {
  0% {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }
@keyframes opacityIn {
  0% {
    opacity: 0;
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes consulfade {
  0% {
    opacity: 0;
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes markerscale {
  0% {
    transform: scale(0, 1); }
  100% {
    transform: scale(1, 1); } }
.delighter.consulfade02 {
  -webkit-transform: translate(-10px, 0px);
  transform: translate(-10px, 0px);
  opacity: 0;
  transition: all 1.3s ease; }
  .delighter.consulfade02:after {
    position: absolute;
    bottom: -7px;
    left: 0;
    content: '';
    width: 100%;
    height: 5px;
    background: #2e94b3;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: all 1.3s ease; }

.delighter.consulfade02.started {
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  opacity: 1; }
  .delighter.consulfade02.started::after {
    transform: scale(1, 1); }

/* frame ver3 */
/*-------------------------------------*/
/*  本文のデザイン                     */
/*-------------------------------------*/
/*ヘッダータイトル*/
.content_title {
  width: 100%;
  margin-top: 0px;
  margin-bottom: 20px;
  margin-left: 0px;
  margin-right: 0px;
  padding: 0; }

/*お申込みフォーム*/
.content_form {
  width: 100%;
  margin: auto;
  max-width: 800px;
  margin-top: 50px; }

/*確認ページ*/
.content_confirm {
  width: 100%;
  margin: auto; }

/*その他*/
.content_box {
  width: 100%;
  margin: auto; }

/*-------------------------------------*/
/*                                     */
/*  テーブル         */
/*                                     */
/*-------------------------------------*/
.content_title table,
.content_box table,
.content_confirm table,
.content_form table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  background: initial;
  table-layout: fixed;
  /*widthの継承のため*/ }

.content_title th,
.content_box th,
.content_confirm th,
.content_form th {
  padding: 10px;
  border-left: 0px;
  border-right: 0px;
  color: black;
  width: 35%;
  text-align: left; }

.content_title table th .my_column.my_left,
.content_box table th .my_column.my_left,
.content_confirm table th .my_column.my_left,
.content_form table th .my_column.my_left {
  /* min-heightが効かないので高さ対策*/
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 0px;
  padding-right: 0px;
  display: flex;
  /* 中央寄せ */ }

.content_title td,
.content_box td,
.content_confirm td,
.content_form td {
  padding: 10px;
  border-left: 0px;
  border-right: 0px;
  background: initial;
  width: 65%; }

@media only screen and (max-width: 800px) {
  .content_title th,
  .content_box th,
  .content_confirm th,
  .content_form th {
    margin: auto; }

  .content_title td,
  .content_box td,
  .content_confirm td,
  .content_form td {
    margin: auto; } }
/*-------------------------------------*/
/*                                     */
/*  疑似テーブル表示  (ベース)         */
/*                                     */
/*-------------------------------------*/
.content_title .input_unit,
.content_box .input_unit,
.content_confirm .input_unit,
.content_form .input_unit {
  display: table;
  /* ブロックレベル要素をtableと同じように表示にする */
  width: 100%;
  width: -webkit-calc(100% - 20px);
  width: calc(100% - 20px);
  table-layout: fixed;
  border-collapse: collapse;
  /* 境界線の重複を解除 */
  margin-top: -1px; }

.content_title .input_unit .my_column,
.content_box .input_unit .my_column,
.content_confirm .input_unit .my_column,
.content_form .input_unit .my_column {
  display: table-cell;
  /* ブロックレベル要素をtd(th)と同じように表示にする */ }

/* 2カラム用 */
.content_title .input_unit .my_left.my_column,
.content_box .input_unit .my_left.my_column,
.content_confirm .input_unit .my_left.my_column,
.content_form .input_unit .my_left.my_column,
.content_title .input_unit .my_heading.my_column,
.content_box .input_unit .my_heading.my_column,
.content_confirm .input_unit .my_heading.my_column,
.content_form .input_unit .my_heading.my_column {
  width: 25%;
  vertical-align: middle;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 10px;
  padding-right: 10px; }

.content_title .input_unit .my_right.my_column,
.content_box .input_unit .my_right.my_column,
.content_confirm .input_unit .my_right.my_column,
.content_form .input_unit .my_right.my_column {
  width: 65%;
  word-wrap: break-word;
  padding: 10px;
  vertical-align: middle; }

/* 1カラム用 サイズ100%*/
.content_title .input_unit .my_column.my_column100,
.content_box .input_unit .my_column.my_column100,
.content_confirm .input_unit .my_column.my_column100,
.content_form .input_unit .my_column.my_column100 {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto; }

/*-------------------------------------*/
/*  Hタグ                              */
/*-------------------------------------*/
/* h2 */
.content_title h2,
.content_box h2,
.content_confirm h2,
.content_form h2 {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 0px;
  padding-right: 0px;
  border: 0;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  text-align: center;
  font-weight: 700;
  font-size: 2.0em;
  word-wrap: break-word; }

/* h3 */
.content_title h3,
.content_box h3,
.content_confirm h3,
.content_form h3 {
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
  word-wrap: break-word; }

/* h4 */
.content_title h4,
.content_box h4,
.content_confirm h4,
.content_form h4 {
  margin-bottom: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 5px;
  margin-top: 0px;
  margin-bottom: 0px;
  word-wrap: break-word; }

/* h5 */
.content_title h5,
.content_box h5,
.content_confirm h5,
.content_form h5 {
  margin-top: 0px;
  margin-bottom: 0px;
  word-wrap: break-word; }

/*-------------------------------------*/
/*  項目                             */
/*-------------------------------------*/
.content_title .label_frame,
.content_box .label_frame,
.content_confirm .label_frame,
.content_form .label_frame {
  font-weight: bold; }

/*-------------------------------------*/
/*  labelタグ                         */
/*-------------------------------------*/
.content_title label,
.content_box label,
.content_confirm label,
.content_form label {
  width: auto;
  display: block;
  margin: 0px;
  padding: 0px;
  word-break: break-all; }

/*-------------------------------------*/
/*  inputタグ                         */
/*-------------------------------------*/
/* 1行テキスト */
form.myForm input[type="text"],
form.myForm input[type="password"] {
  width: 90%;
  width: -webkit-calc(100% - 20.0px - 2.8px);
  width: calc(100% - 20.0px - 2.8px);
  display: inline-block;
  padding: 10px;
  vertical-align: top;
  border: 1.4px solid #bfbfbf;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

form.myForm input[type="text"]:focus,
form.myForm input[type="password"]:focus {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border: #217fc4 1px solid;
  outline: 0;
  padding: 10.4px;
  /*線を補足しているのでプラス*/ }

/*-------------------------------------*/
/*  ラジオボタン                   */
/*-------------------------------------*/
form.myForm input[type=radio] {
  width: 1.5em;
  height: 1.5em;
  padding: 0;
  cursor: pointer;
  margin-right: 10px;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px; }

form.myForm .radiobutton_frame {
  display: table-row; }

form.myForm .radiobutton_input,
form.myForm .radiobutton_label {
  display: table-cell;
  vertical-align: middle;
  padding-bottom: 10px; }

/*-------------------------------------*/
/*  selectタグ                         */
/*-------------------------------------*/
form.myForm select {
  display: inline-block;
  padding-top: 10px;
  padding-bottom: 10px;
  padding-right: 10px;
  padding-left: 10px;
  vertical-align: top;
  border: 1.4px solid #bfbfbf;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  margin-left: 10px;
  margin-right: 0px;
  cursor: pointer;
  max-width: calc(100% - 10px); }

form.myForm select:focus {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border: #000099 1px solid;
  outline: 0;
  /*線を補足しているのでプラス*/
  padding-top: 10.4px;
  padding-bottom: 10.4px;
  padding-right: 10.4px;
  padding-left: 10.4px; }

form.myForm select:first-of-type {
  margin-left: 0px; }

/*-------------------------------------*/
/*  チェックボックス                   */
/*-------------------------------------*/
form.myForm input[type=checkbox] {
  width: 1.5em;
  height: 1.5em;
  margin-right: 10px;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0;
  cursor: pointer; }

form.myForm .checkbox_frame {
  display: table-row; }

form.myForm .checkbox_input,
form.myForm .checkbox_label {
  display: table-cell;
  vertical-align: middle;
  padding-bottom: 10px; }

/*-------------------------------------*/
/*  テキストエリア                   */
/*-------------------------------------*/
form.myForm textarea {
  width: 90%;
  width: -webkit-calc(100% - 20.0px - 2.8px);
  width: calc(100% - 20.0px - 2.8px);
  border: 1.4px solid #bfbfbf;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  padding: 10px; }

form.myForm textarea:focus {
  padding: 10.4px;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border: #217fc4 1px solid;
  outline: 0; }

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

form.myForm div.submit {
  text-align: center;
  margin-top: 30px; }
  form.myForm div.submit input {
    font-size: 1.1em;
    font-weight: bold;
    padding: 10px 30px;
    background: #37ABCE;
    border: none;
    color: #fff;
    border-radius: 5px; }
    @media (max-width: 800px) {
      form.myForm div.submit input {
        font-size: 1.2em; } }
    form.myForm div.submit input:hover {
      opacity: 0.9; }

/*-------------------------------------*/
/*  必須                   */
/*-------------------------------------*/
form.myForm .required .my_column.my_left label:first-child:after,
form.myForm th.required label:first-child:after,
form.myForm span.required:after {
  color: white;
  content: '必須';
  display: inline-block;
  width: 44px;
  height: 18px;
  vertical-align: middle;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #ce3737;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 5px;
  margin-right: 0px;
  padding-top: 3px;
  padding-bottom: 0.2em;
  padding-left: 4px;
  padding-right: 4px;
  text-align: center;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  font-size: 0.9em;
  padding-top: 5px;
  padding-bottom: 0px; }

/*-------------------------------------*/
/*  組み合わせデザイン                 */
/*-------------------------------------*/
/* 日付 */
form.myForm .datetime_year select {
  min-width: auto;
  min-width: -webkit-calc(4em + 45px);
  min-width: calc(4em + 45px);
  max-width: calc(100%); }

form.myForm .datetime_month select,
form.myForm .datetime_day select {
  min-width: auto;
  min-width: -webkit-calc(2em + 45px);
  min-width: calc(2em + 45px);
  max-width: calc(100%); }

/* datetime1 */
.date_time1 .datetime_year,
.date_time1 .datetime_year_unit,
.date_time1 .datetime_month,
.date_time1 .datetime_month_unit,
.date_time1 .datetime_day,
.date_time1 .datetime_day_unit {
  display: table-cell;
  vertical-align: middle; }

.date_time1 select {
  width: auto; }

.date_time1 .datetime_year_unit,
.date_time1 .datetime_month_unit,
.date_time1 .datetime_day_unit {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 5px;
  padding-right: 0px; }

.date_time1 .datetime_month,
.date_time1 .datetime_day {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 5px;
  padding-right: 0px; }

/* datetime2 */
.date_time2 .datetime_year,
.date_time2 .datetime_year_unit,
.date_time2 .datetime_month,
.date_time2 .datetime_month_unit,
.date_time2 .datetime_day,
.date_time2 .datetime_day_unit {
  display: table-cell;
  vertical-align: middle; }

.date_time2 select {
  width: auto; }

.date_time2 .datetime_month_unit,
.date_time2 .datetime_day,
.date_time2 .datetime_day_unit {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 5px;
  padding-right: 0px; }

/*-------------------------------------*/
/*                                     */
/*  中央寄せ設定                       */
/*                                     */
/*-------------------------------------*/
.content_title,
.content_box,
.content_confirm,
.content_form {
  margin-right: auto;
  margin-left: auto; }

/* div型 */
.content_title .input_unit,
.content_box .input_unit,
.content_confirm .input_unit,
.content_form .input_unit {
  margin-right: auto;
  margin-left: auto; }

/* table型 */
.content_title .table_unit,
.content_box .table_unit,
.content_confirm .table_unit,
.content_form .table_unit {
  margin-right: auto;
  margin-left: auto; }

.content_title h2,
.content_box h2,
.content_confirm h2,
.content_form h2 {
  text-align: center; }

.required_color {
  background-color: #efefef !important; }

@media only screen and (max-width: 800px) {
  /*-------------------------------------*/
  /*  サイト全体の共通設定               */
  /*-------------------------------------*/
  html, body {
    width: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%; }

  .content_form,
  .content_confirm,
  .content_box {
    width: 100%;
    margin: auto; }

  /*-------------------------------------*/
  /*                                     */
  /*  テーブル         */
  /*                                     */
  /*-------------------------------------*/
  .content_title table,
  .content_box table,
  .content_confirm table,
  .content_form table {
    margin: 0px;
    padding-left: 0px;
    padding-right: 0px;
    width: 100%; }

  .content_title th,
  .content_box th,
  .content_confirm th,
  .content_form th {
    border-top: 0;
    border-bottom: 0;
    display: block;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    /*横幅のサイズ (余白分引く)*/
    width: 100%;
    padding-left: 5px;
    padding-right: 0px;
    margin-right: auto;
    margin-left: auto; }

  .content_title th .my_column.my_left,
  .content_box th .my_column.my_left,
  .content_confirm th .my_column.my_left,
  .content_form th .my_column.my_left {
    width: 100%;
    margin-left: auto;
    margin-right: auto; }

  .content_title td,
  .content_box td,
  .content_confirm td,
  .content_form td {
    padding-left: 0px;
    padding-right: 0px;
    border-top: 0;
    border-bottom: 0;
    display: block;
    /*横幅のサイズ (余白分引く)*/
    width: 100%;
    margin-right: auto;
    margin-left: auto; }

  .content_title td .my_column.my_right,
  .content_box td .my_column.my_right,
  .content_confirm td .my_column.my_right,
  .content_form td .my_column.my_right {
    width: 100%;
    margin-left: auto;
    margin-right: auto; }

  /*-------------------------------------*/
  /*                                     */
  /*  疑似テーブル表示  (ベース)         */
  /*                                     */
  /*-------------------------------------*/
  .content_title .input_unit,
  .content_box .input_unit,
  .content_form .input_unit,
  .content_confirm .input_unit {
    display: block;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: auto;
    margin-right: auto;
    /*横幅のサイズ (余白分引く)*/
    width: 100%; }

  .content_title .input_unit,
  .content_box .input_unit .my_column,
  .content_form .input_unit .my_column,
  .content_confirm .input_unit .my_column {
    display: inline-block;
    border: none; }

  .content_title .input_unit,
  .content_box .input_unit .my_left.my_column,
  .content_form .input_unit .my_left.my_column,
  .content_confirm .input_unit .my_left.my_column,
  .content_title .input_unit .my_heading.my_column,
  .content_box .input_unit .my_heading.my_column,
  .content_confirm .input_unit .my_heading.my_column,
  .content_form .input_unit .my_heading.my_column {
    /*横幅のサイズ (余白分引く)*/
    width: 95%;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    background: #EEF5FB !important; }

  .content_title .input_unit,
  .content_box .input_unit .my_right.my_column,
  .content_form .input_unit .my_right.my_column,
  .content_confirm .input_unit .my_right.my_column {
    /*横幅のサイズ (余白分引く)*/
    width: 95%;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
    padding-top: 15px;
    min-height: 1em;
    /*空白対策*/
    text-align: left;
    margin-right: auto;
    margin-left: auto; }

  /*-------------------------------------*/
  /*  Hタグ                              */
  /*-------------------------------------*/
  .content_title h2,
  .content_box h2,
  .content_confirm h2,
  .content_form h2 {
    font-size: 1.5em; }

  /*-------------------------------------*/
  /*  selectタグ                         */
  /*-------------------------------------*/
  form.myForm select {
    width: 100%; }

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

  .date_time1 .datetime_year_unit,
  .date_time1 .datetime_month_unit,
  .date_time1 .datetime_day_unit {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px; }

  /*-------------------------------------*/
  /*  必須                   */
  /*-------------------------------------*/
  form.myForm .required .my_column.my_left label:first-child:after,
  form.myForm th.required label:first-child:after,
  form.myForm span.required:after {
    font-size: 0.8em; } }
/*@media only screen and (max-width : 800px)*/
body {
  animation: fadeInbody 1.5s ease 0s 1 normal;
  -webkit-animation: fadeInbody 1.5s ease 0s 1 normal; }

.homefade {
  animation: fadeInbody 4s ease 0s 1 normal;
  -webkit-animation: fadeInbody 4s ease 0s 1 normal; }

.homefade .logo-header {
  display: none; }

main {
  position: relative;
  z-index: 1; }

@keyframes fadeInbody {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeInbody {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important; }

.h3 {
  text-align: center;
  font-weight: bold;
  font-size: 3.4rem;
  margin-bottom: 35px;
  color: #37ABCE;
  line-height: 1.6;
  font-feature-settings: "palt"; }
  @media (max-width: 478px) {
    .h3 {
      font-size: 2.6rem; } }

@-webkit-keyframes modify {
  0% {
    padding-top: 90px;
    margin-top: -90px; }
  100% {
    padding-top: 0;
    margin-top: 0; } }
@keyframes modify {
  0% {
    padding-top: 90px;
    margin-top: -90px; }
  100% {
    padding-top: 0;
    margin-top: 0; } }
#contents01:target, #contents02:target {
  -webkit-animation: modify 0.1s;
  animation: modify 0.1s; }

@media screen and (min-width: 770px) {
  /* スマホとタブレット以外はこっちを適用 */
  .bg-pc {
    height: 100vh !important;
    /* !importantを使用し、jQueryを打ち消し */ } }
.index-kv {
  font-family: 'Century',"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  position: relative;
  background-size: cover;
  overflow: hidden; }
  @media (min-width: 800px) {
    .index-kv {
      min-height: 750px;
      max-height: 950px; } }
  @media (max-width: 800px) {
    .index-kv {
      max-height: 750px; } }
  @media (max-width: 478px) {
    .index-kv {
      max-height: none; } }
  @media (min-width: 1400px) {
    .index-kv {
      max-height: 1000px; } }
  .index-kv:after {
    position: absolute;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    background: url(../img/header-bg.jpg) no-repeat center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover;
    animation: zoomBg 13s ease-out; }
    @media (max-width: 800px) {
      .index-kv:after {
        background: url(../img/header-bgsp.jpg) no-repeat center center; } }
  .index-kv-title {
    position: absolute;
    z-index: 2;
    display: inline-block;
    max-width: 88px;
    width: 7vw;
    vertical-align: middle;
    opacity: 0; }
  .index-kv-title01 {
    top: 21%;
    left: 14%;
    min-width: 66px;
    animation: opacityIn 3s ease forwards;
    animation-delay: 2.2s; }
    @media (max-width: 800px) {
      .index-kv-title01 {
        left: 130px;
        width: 75px; } }
    @media (max-width: 478px) {
      .index-kv-title01 {
        width: 63px;
        left: 77px;
        top: 90px;
        min-width: 0; } }
    @media (min-width: 1400px) {
      .index-kv-title01 {
        left: 190px; } }
  .index-kv-title02 {
    top: 21%;
    left: 7%;
    min-width: 66px;
    animation: opacityIn 3s ease forwards;
    animation-delay: 4s; }
    @media (max-width: 800px) {
      .index-kv-title02 {
        left: 50px;
        width: 75px; } }
    @media (max-width: 478px) {
      .index-kv-title02 {
        width: 63px;
        left: 20px;
        top: 90px;
        min-width: 0; } }
    @media (min-width: 1400px) {
      .index-kv-title02 {
        left: 108px; } }
  .index-kv-scroll {
    z-index: 2;
    position: absolute;
    bottom: 140px;
    right: -70px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    /* height: 18%; */
    width: 210px; }
    @media (max-width: 800px) {
      .index-kv-scroll {
        right: -80px; } }
    .index-kv-scroll-txt {
      font-size: 1rem;
      letter-spacing: .6em;
      text-align: center;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg);
      color: #FFF; }
      .index-kv-scroll-txt::after {
        width: 32px;
        height: 8px;
        content: '';
        display: block;
        position: absolute;
        bottom: 2px;
        right: -39px;
        overflow: hidden;
        background-position: center top;
        background-repeat: no-repeat;
        background-image: url(../img/scroll-arrow.svg);
        -webkit-animation: sdb 1.5s infinite;
        animation: sdb 1.5s infinite; }

.index-mission {
  background: #F4FFF8;
  padding: 110px 30px 80px;
  position: relative;
  overflow: hidden; }
  @media (max-width: 800px) {
    .index-mission {
      padding: 20% 4% 10%; } }
  .index-mission-wrap {
    max-width: 1100px;
    margin: 0 auto; }
  .index-mission p {
    text-align: left;
    font-size: 1.7vw;
    line-height: 2;
    margin-bottom: 50px; }
    @media (max-width: 800px) {
      .index-mission p {
        font-size: 1.7rem;
        margin-bottom: 35px; } }
    @media (min-width: 1400px) {
      .index-mission p {
        font-size: 2.4rem; } }
  .index-mission-title {
    font-size: 4.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-indent: -.5em; }
    @media (max-width: 800px) {
      .index-mission-title {
        font-size: 6vw; } }
    @media (max-width: 478px) {
      .index-mission-title {
        font-size: 7.5vw; } }
  .index-mission-subtitle {
    font-size: 2rem;
    text-decoration: underline;
    margin-bottom: 15px; }
  .index-mission-txt {
    margin: 100px auto 0;
    display: block;
    width: 57.1vw; }
    @media (max-width: 800px) {
      .index-mission-txt {
        padding-left: 10%;
        margin: 50px auto 0;
        width: 77vw; } }
  .index-mission-birds {
    position: absolute;
    top: 9vw;
    right: 25vw;
    width: 15vw; }
    @media (max-width: 800px) {
      .index-mission-birds {
        top: 9vw;
        right: 10vw;
        width: 28vw; } }
  .index-mission-mission01 {
    position: absolute;
    top: 23vw;
    right: -4vw;
    width: 22vw; }
  .index-mission-mission02 {
    position: absolute;
    top: 46vw;
    left: -4vw;
    width: 22vw; }
  .index-mission-mission03 {
    position: absolute;
    top: 68vw;
    right: -4vw;
    width: 22vw; }
  .index-mission-btn {
    display: block;
    margin: 0 auto;
    background: linear-gradient(to bottom, #343434, #2f2f2f);
    border: none; }
    .index-mission-btn:after {
      top: 36%; }

.index-service {
  background: #fff;
  padding: 100px 30px 100px; }
  @media (max-width: 800px) {
    .index-service {
      padding: 20% 4% 10px; } }
  .index-service-wrap {
    max-width: 1050px;
    margin: 0 auto; }
  .index-service-items {
    align-items: flex-start; }
  .index-service-item {
    width: 29.8%;
    padding: 2.5%;
    border-right: 1px solid #ddd; }
    @media (max-width: 800px) {
      .index-service-item {
        width: 100%;
        padding: 15px;
        margin-bottom: 30px;
        border-right: 0px;
        border-top: 1px solid #ddd; } }
    .index-service-item p {
      text-align: justify;
      line-height: 2;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
      font-size: 1.5rem; }
    .index-service-item:nth-child(3) {
      border-right: 0px; }
      @media (min-width: 800px) {
        .index-service-item:nth-child(3) {
          padding-right: 0; } }
    @media (min-width: 800px) {
      .index-service-item:nth-child(1) {
        padding-left: 0; } }
  .index-service-num {
    font-size: 10rem;
    font-weight: 500;
    margin-bottom: 50px;
    font-family: Copperplate, "Copperplate Gothic Light";
    color: #37ABCE; }
    @media (max-width: 800px) {
      .index-service-num {
        font-size: 8rem;
        margin-bottom: 20px; } }
  .index-service-title {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 40px; }
    @media (max-width: 800px) {
      .index-service-title {
        font-size: 2.4rem;
        margin-bottom: 30px; } }
  @media (max-width: 800px) {
    .index-service .h3-title {
      font-size: 13vw; } }
  @media (max-width: 478px) {
    .index-service .h3-title {
      font-size: 17vw; } }

.index-image-item {
  width: calc(100% / 4);
  transition: .5s ease; }
  @media (min-width: 800px) {
    .index-image-item:hover {
      transform: scale(1.05);
      box-shadow: 5px 5px 8px rgba(65, 65, 65, 0.4); } }
  @media (max-width: 800px) {
    .index-image-item {
      width: calc(100% / 3); } }
  @media (max-width: 478px) {
    .index-image-item {
      width: calc(100% / 2); } }

.h3-titlebox {
  margin-bottom: 7rem; }
  @media (max-width: 800px) {
    .h3-titlebox {
      margin-bottom: 5rem; } }

.h3-title {
  font-size: 8rem;
  font-weight: normal;
  display: inline-block;
  letter-spacing: 5px; }
  @media (max-width: 800px) {
    .h3-title {
      font-size: 13vw;
      margin-bottom: 1rem;
      letter-spacing: 3px;
      font-weight: 500; } }
  @media (max-width: 478px) {
    .h3-title {
      font-size: 15vw; } }

.h3-titlesub {
  font-size: 1.8rem;
  margin-left: 20px;
  display: inline;
  margin-top: 28px; }
  @media (max-width: 800px) {
    .h3-titlesub {
      display: inline-block;
      margin-left: 0;
      font-size: 1.6rem; } }
  @media (max-width: 800px) and (max-width: 800px) {
    .h3-titlesub {
      margin-top: 10px; } }

.h3-minititle {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 2.5rem;
  display: block;
  letter-spacing: 5px;
  line-height: 1.5; }
  @media (max-width: 800px) {
    .h3-minititle {
      font-size: 4vw;
      margin-bottom: 2rem; } }
  @media (max-width: 478px) {
    .h3-minititle {
      font-size: 6vw;
      margin-bottom: 2rem; } }

.h3-minititlesub {
  font-size: 2rem;
  display: block;
  margin-bottom: 15px; }
  @media (max-width: 800px) {
    .h3-minititlesub {
      margin-bottom: 10px; } }

.index-contents {
  background: white; }
  .index-contents-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .index-contents p {
    margin-bottom: 0;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
    @media (max-width: 800px) {
      .index-contents p {
        line-height: 1.7; } }
  .index-contents a.covera {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -999px;
    z-index: 2;
    /* 必要であればリンク要素の重なりのベース順序指定 */ }
  .index-contents-box {
    width: 50%;
    padding: 70px 6% 70px;
    box-sizing: border-box;
    position: relative;
    transition: 0.5s; }
    .index-contents-box:hover {
      background: #37ABCE;
      color: #fff;
      fill: #fff; }
    .index-contents-box:first-child {
      border-right: 1px solid #d4d4d4; }
      @media (max-width: 800px) {
        .index-contents-box:first-child {
          border-right: 0px;
          border-bottom: 1px solid #d4d4d4; } }
    @media (max-width: 800px) {
      .index-contents-box {
        width: 100%;
        padding: 35px 16% 35px 7%; } }
    .index-contents-box-arrow {
      position: absolute;
      right: 5%;
      top: 49%;
      width: 22px; }
      .index-contents-box-arrow:hover {
        fill: #fff; }

.index-blog {
  padding: 7% 10% 20px;
  background: #F5F5F5; }
  .index-blog-wrap {
    max-width: 1000px;
    margin: 0 auto; }
  @media (max-width: 800px) {
    .index-blog {
      padding: 75px 5% 0; } }
  .index-blog article {
    border-bottom: solid 1px #232323;
    background: url(../img/arrow.svg) no-repeat;
    background-position: center right 10px;
    background-size: 15px 15px;
    transition: .3s; }
    .index-blog article:hover {
      background-position: center right 5px; }
    .index-blog article:first-child {
      border-top: solid 0px #232323; }
  .index-blog-item {
    display: flex;
    align-items: center;
    padding: 25px 0%; }
    @media (max-width: 800px) {
      .index-blog-item {
        padding: 20px 0;
        flex-direction: column;
        align-items: flex-start; } }
  .index-blog p {
    margin-bottom: 0; }
  .index-blog a {
    color: #333;
    padding-right: 30px; }
  .index-blog a.btn {
    color: #fff; }
  .index-blog-btn {
    text-align: center; }
  .index-blog-title {
    font-size: 6rem;
    padding-bottom: 5px;
    margin-bottom: 25px;
    font-weight: 400;
    letter-spacing: 5px; }
    @media (max-width: 800px) {
      .index-blog-title {
        padding-bottom: 10px;
        line-height: 0.7; } }
    .index-blog-title span {
      font-size: 1.6rem;
      padding-left: 30px;
      font-weight: normal;
      letter-spacing: 2px; }
      @media (max-width: 800px) {
        .index-blog-title span {
          padding-left: 0;
          font-size: 1.4rem;
          line-height: 1; } }
      @media (max-width: 478px) {
        .index-blog-title span {
          font-size: 1.3rem; } }
  .index-blog-list {
    max-width: 700px;
    margin: 0 auto 50px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
  .index-blog-blogtitle {
    line-height: 1.5; }

.cta {
  background: #F4FFF8;
  max-width: 930px;
  margin: 50px auto;
  margin-bottom: 80px;
  box-shadow: 0px 3px 6px #00000030; }
  @media (max-width: 800px) {
    .cta {
      margin: 50px 4% 50px; } }
  .cta-title {
    font-size: 3.1rem;
    margin-bottom: 20px;
    line-height: 1.5; }
    @media (max-width: 800px) {
      .cta-title {
        font-size: 5vw; } }
  .cta-txt {
    font-size: 1.6rem;
    line-height: 1.8; }
    @media (max-width: 800px) {
      .cta-txt {
        font-size: 1.5rem; } }
  .cta .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .cta p {
    margin-bottom: 25px; }
  .cta-btn {
    padding: 1.5rem 3rem; }
  .cta-left {
    width: 50%;
    padding: 50px;
    box-sizing: border-box; }
    @media (max-width: 800px) {
      .cta-left {
        width: 100%;
        padding: 30px; } }
  .cta-right {
    position: relative;
    width: 50%;
    background: #D2D2D2;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (max-width: 800px) {
      .cta-right {
        width: 100%; } }
    .cta-right img {
      width: 70%;
      height: auto;
      display: block;
      margin: 0 auto; }
      @media (min-width: 800px) {
        .cta-right img {
          width: 75%; } }
  .cta-badge {
    position: absolute;
    top: -25px;
    right: -25px;
    width: 160px;
    z-index: 2; }
  .cta-badge02 {
    position: absolute;
    bottom: -10px;
    right: -25px;
    width: 150px !important; }
    @media (max-width: 800px) {
      .cta-badge02 {
        top: 0; } }
    @media (max-width: 478px) {
      .cta-badge02 {
        bottom: none;
        top: -15px; } }

@media (max-width: 800px) {
  .sub-info {
    margin-bottom: 10px; } }

.date {
  margin-right: 30px;
  font-size: 1.5rem;
  line-height: 1; }

.index-company {
  padding: 7% 10% 7%;
  background: #fff;
  position: relative; }
  @media (max-width: 800px) {
    .index-company {
      padding: 12% 5% 1%; } }
  @media (max-width: 478px) {
    .index-company {
      padding: 12% 5% 0; } }
  .index-company:after {
    display: block;
    content: '';
    position: absolute;
    top: 0%;
    right: 0;
    background-color: #37ABCE;
    width: 30%;
    height: 100%;
    z-index: 1; }
  .index-company-wrap {
    max-width: 1000px;
    margin: 0 auto; }
  .index-company-img {
    position: absolute;
    right: 0;
    bottom: 18%;
    width: 40%;
    z-index: 2; }
  .index-company-view {
    font-size: 1.4rem;
    text-decoration: underline;
    font-weight: 500;
    position: absolute;
    top: 60px;
    right: 0; }
    @media (max-width: 800px) {
      .index-company-view {
        right: 5%; } }
  .index-company-left {
    position: relative;
    width: 55%;
    z-index: 2; }
    @media (max-width: 800px) {
      .index-company-left {
        width: 98%;
        background: #fff; } }
  .index-company .h3-minititle {
    margin-bottom: 7rem;
    letter-spacing: 15px; }
    @media (max-width: 800px) {
      .index-company .h3-minititle {
        margin-bottom: 5rem; } }
  .index-company .swiper-slide img {
    width: 40vw; }
    @media (max-width: 800px) {
      .index-company .swiper-slide img {
        width: 100%;
        margin-bottom: 30px; } }

.companydetail {
  display: block;
  max-width: 750px;
  margin-left: 10%;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
  @media (max-width: 800px) {
    .companydetail {
      margin-left: 8%;
      padding-right: 2%; } }
  .companydetail dl {
    font-size: 1.6rem;
    line-height: 1.9;
    font-weight: 400; }
    @media (max-width: 800px) {
      .companydetail dl {
        font-size: 1.5rem; } }
  .companydetail dt {
    font-weight: 700;
    float: left;
    clear: left;
    width: 100px; }
    @media (max-width: 800px) {
      .companydetail dt {
        width: 80px; } }
  .companydetail dd {
    margin-left: 150px;
    margin-bottom: 40px; }
    @media (max-width: 800px) {
      .companydetail dd {
        margin-left: 80px; } }

.google-maps {
  position: relative;
  padding-bottom: 450px;
  height: 0;
  overflow: hidden; }
  @media (max-width: 800px) {
    .google-maps {
      padding-bottom: 300px; } }

.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important; }

.news_p-nav {
  margin-top: 75px;
  width: 100%;
  height: 85px;
  background-color: #AE9364;
  position: relative; }
  @media (min-width: 800px) {
    .news_p-nav {
      width: auto;
      max-width: 1080px;
      height: 90px;
      margin-top: 100px; } }

.news_p-detailBtnList {
  width: 100%;
  height: 100%;
  z-index: 1; }
  .news_p-detailBtnList svg {
    width: 11px;
    height: 11px;
    fill: #fff;
    display: inline-block;
    margin-left: 6px; }
    .is-desktop .news_p-detailBtnList svg {
      margin-top: -1px; }
  @media (min-width: 800px) {
    .news_p-detailBtnList svg {
      width: 13px;
      height: 13px;
      margin-left: 18px; } }

.news_p-detailBtnList__inner {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  color: #fff; }

.news_p-detailBtnList__label {
  color: #fff;
  font-size: 14px;
  white-space: nowrap; }
  @media (max-width: 800px) {
    .news_p-detailBtnList__label {
      font-size: 12px; } }

.news_p-navBtn {
  width: 96px;
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 2; }
  @media (min-width: 800px) {
    .news_p-navBtn {
      width: 120px; } }

.news_p-navBtn__inner {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  flex-direction: row;
  justify-content: center;
  color: #fff; }

.news_p-navBtn__label {
  color: #fff;
  font-size: 14px;
  white-space: nowrap; }
  @media (max-width: 800px) {
    .news_p-navBtn__label {
      font-size: 12px; } }

.news_p-navBtn--prev {
  left: 0; }
  .news_p-navBtn--prev svg {
    transform: scaleX(-1) translateY(-50%);
    left: 6.6666666667vw; }
  .news_p-navBtn--prev .news_p-navBtn__label {
    left: calc(50 / 750 * 100vw + 16px); }

.news_p-navBtn--next {
  right: 0; }
  .news_p-navBtn--next .news_p-navBtn__label {
    right: calc(50 / 750 * 100vw + 16px); }
  .news_p-navBtn--next .news_p-navBtn__label {
    right: 45px; }

.p-header {
  height: 400px;
  position: relative;
  background-color: #AE9364;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  z-index: 1;
  margin-top: 80px; }
  @media (max-width: 1024px) {
    .p-header {
      margin-top: 50px; } }
  @media (max-width: 800px) {
    .p-header {
      height: 300px; } }
  .p-header-message {
    background-image: url(../img/p-header-message.png); }
  .p-header-company {
    background-image: url(../img/p-header-company.png); }
  .p-header-media {
    background-image: url(../img/p-header-media.png); }
  .p-header-contents {
    background-image: url(../img/p-header-contents.png); }
  .p-header-contact {
    background-image: url(../img/p-header-contact.png); }
  .p-header-blog {
    background-image: url(../img/p-header-blog.png); }
  .p-header-title {
    position: absolute;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    text-align: center; }
    @media (max-width: 800px) {
      .p-header-title {
        width: 300px; } }
    .p-header-title-txt {
      display: inline-block;
      vertical-align: middle;
      line-height: normal;
      font-size: 3.5rem;
      opacity: 0;
      will-change: transform;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
      .p-header-title-txt span {
        position: relative;
        top: 10px;
        left: 10px;
        opacity: 0; }
  .p-header-desc {
    opacity: 0;
    transition: 1s 0.5s;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    .p-header-desc span {
      position: relative;
      top: 10px;
      left: 10px;
      opacity: 0; }
  .p-header-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 1000px;
    background: #fff;
    padding: 20px;
    font-size: 1.6rem; }
    @media (max-width: 1024px) {
      .p-header-bottom {
        width: calc(90% - 40px);
        margin-left: 5%;
        margin-right: 5%; } }
    @media (max-width: 800px) {
      .p-header-bottom {
        padding: 20px 20px 10px; } }
    .p-header-bottom-label {
      color: #AE9364;
      margin-right: 30px; }
    .p-header-bottom p {
      display: inline; }

.p-box {
  max-width: 1040px;
  position: relative;
  margin: 0 auto;
  background: #fff;
  margin-bottom: 50px;
  z-index: 10; }
  @media (max-width: 1024px) {
    .p-box {
      width: 90%;
      margin-left: 5%;
      margin-right: 5%; } }
  .p-box-inner {
    padding: 8% 10%; }
    @media (max-width: 800px) {
      .p-box-inner {
        padding: 11% 7%; } }
  .p-box-title {
    font-size: 3.5rem;
    color: #AE9364;
    margin-bottom: 30px;
    line-height: 1.5; }
    @media (max-width: 800px) {
      .p-box-title {
        font-size: 3.2rem; } }
  .p-box-subtitle {
    font-size: 2.4rem;
    margin-bottom: 10px;
    position: relative;
    margin-left: 24px;
    line-height: 1.3; }
    .p-box-subtitle:after {
      display: block;
      content: '';
      position: absolute;
      top: .45em;
      left: -0.8em;
      width: 10px;
      height: 10px;
      background-color: #333; }
  .p-box-list {
    line-height: 2;
    margin-left: 20px; }
    .p-box-list li {
      position: relative; }
      .p-box-list li:after {
        display: block;
        content: '';
        position: absolute;
        top: .8em;
        left: -1em;
        width: 6px;
        height: 6px;
        background-color: #333;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg); }
  .p-box-contain {
    background: #EFEFEF;
    padding: 30px; }
    @media (max-width: 800px) {
      .p-box-contain {
        padding: 15px; } }
    .p-box-contain:last-child {
      margin-bottom: 0; }
    .p-box-contain-title {
      font-size: 1.7rem;
      color: #042E60;
      border-bottom: 1px solid #042E60;
      margin-bottom: 20px;
      padding-bottom: 10px;
      line-height: 1.5; }
  .p-box-contain02 {
    padding: 40px;
    border: 10px solid #EFEFEF;
    margin-bottom: 30px; }
    @media (max-width: 800px) {
      .p-box-contain02 {
        padding: 20px 15px; } }
    .p-box-contain02:last-child {
      margin-bottom: 0; }
    .p-box-contain02-title {
      font-size: 2.4rem;
      border-bottom: 1px solid #ccc;
      margin-bottom: 40px;
      padding-bottom: 10px;
      line-height: 1.5; }
      @media (max-width: 800px) {
        .p-box-contain02-title {
          margin-bottom: 20px; } }
      .p-box-contain02-title span {
        font-size: 1.6rem;
        background: #042E60;
        padding: 5px;
        color: #fff;
        margin-right: 10px; }
    .p-box-contain02-img {
      margin-bottom: 40px; }
      @media (max-width: 800px) {
        .p-box-contain02-img {
          margin-bottom: 20px; } }
  .p-box-separator {
    border-bottom: 1px solid #ccc;
    padding-bottom: 50px;
    margin-bottom: 50px; }
    .p-box-separator:last-child {
      padding-bottom: 0;
      margin-bottom: 0;
      border-bottom: none; }

.p-box-first {
  margin-top: -50px; }

.courses {
  background: url(../img/contents-bg.png) center top no-repeat;
  background-size: cover; }
  .courses-wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 100px 20px 60px; }
    @media (max-width: 800px) {
      .courses-wrap {
        padding: 80px 5% 30px; } }
  .courses-items {
    justify-content: space-between;
    align-items: flex-start; }
  .courses-item {
    width: 48%;
    margin-bottom: 50px; }
    @media (max-width: 800px) {
      .courses-item {
        width: 100%;
        margin-bottom: 40px; } }
    .courses-item-img {
      width: 100%;
      overflow: hidden;
      height: auto; }
      .courses-item-img img {
        width: 100%;
        height: auto;
        transition-duration: 0.5s; }
        .courses-item-img img:hover {
          transform: scale(1.05);
          transition-duration: 0.5s; }
    .courses-item-detail {
      padding-bottom: 2px; }
      .courses-item-detail span {
        opacity: .7;
        font-size: 1.6rem;
        margin-bottom: 10px;
        display: inline-block; }
      .courses-item-detail h3 {
        font-weight: 500;
        font-size: 2rem;
        margin-top: 10px;
        margin-bottom: 10px;
        line-height: 1.5; }
      .courses-item-detail p {
        font-size: 1.4rem;
        line-height: 1.5;
        margin-bottom: 5px;
        font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
      .courses-item-detail a {
        font-size: 1.5rem;
        font-weight: 500;
        border-bottom: 1px solid #333;
        line-height: 1.3;
        display: inline-block; }
    .courses-item-detailtxt {
      height: 40px;
      overflow: hidden;
      margin-bottom: 15px; }
  .courses-modal {
    justify-content: space-between;
    align-items: flex-start; }
    .courses-modal-txt {
      width: 100%; }
      @media (max-width: 800px) {
        .courses-modal-txt {
          width: 100%; } }
      .courses-modal-txt span {
        opacity: .7;
        font-size: 1.6rem;
        margin-bottom: 10px;
        display: inline-block; }
      .courses-modal-txt h3 {
        font-weight: 500;
        font-size: 2.4rem;
        margin-bottom: 20px; }
      .courses-modal-txt-prof {
        padding: 15px 0;
        border-top: 1px solid #888;
        border-bottom: 1px solid #888;
        margin-bottom: 20px; }
        .courses-modal-txt-prof p {
          line-height: 1.5;
          font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
      .courses-modal-txt-box {
        background: #EDEDED;
        padding: 15px 20px 20px;
        margin-bottom: 30px; }
    .courses-modal .btn {
      width: 200px; }
    .courses-modal-btn {
      text-align: center;
      margin-bottom: 20px; }
  .courses-books {
    margin-bottom: 30px;
    justify-content: space-between;
    align-items: flex-start; }
    .courses-books-item {
      width: 47%;
      margin-bottom: 10px; }
      @media (max-width: 800px) {
        .courses-books-item {
          width: 32%; } }

.h-heading {
  font-size: 4.5rem;
  font-weight: 400;
  text-align: left;
  letter-spacing: 3px;
  line-height: 1.5; }
  @media (max-width: 1024px) {
    .h-heading {
      font-size: 3.5rem; } }
  @media (max-width: 800px) {
    .h-heading {
      font-size: 7vw;
      letter-spacing: 0; } }

.titlehead {
  background: url(../img/titlehead-bg.jpg) no-repeat center center;
  background-position: fixed;
  background-size: cover;
  color: #fff; }
  .titlehead-wrap {
    padding: 140px 20px 60px;
    max-width: 1000px;
    margin: 0 auto; }
    @media (max-width: 800px) {
      .titlehead-wrap {
        padding: 90px 0px 40px 20px; } }

.lpage {
  background: #fff; }
  .lpage-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 20px 80px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
    @media (max-width: 800px) {
      .lpage-wrap {
        padding: 50px 5% 50px; } }
  .lpage-title {
    font-size: 3.4rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    @media (max-width: 800px) {
      .lpage-title {
        font-size: 6.2vw; } }
  .lpage-ch {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.5;
    margin-top: 50px; }
  .lpage ol {
    margin-left: 75px;
    margin-bottom: 50px;
    list-style-type: decimal;
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .lpage ol {
        margin-left: 30px; } }
    .lpage ol li {
      padding: 20px 0; }

.tpage {
  background: #fff; }
  .tpage-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 80px 20px 60px;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
    @media (max-width: 800px) {
      .tpage-wrap {
        padding: 50px 5% 30px; } }
  .tpage-title {
    font-size: 3.4rem;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    @media (max-width: 800px) {
      .tpage-title {
        font-size: 6.2vw; } }
  .tpage-width {
    width: 600px; }
    @media (max-width: 800px) {
      .tpage-width {
        width: none; } }
  .tpage-left {
    width: 150px;
    font-weight: 600;
    color: #37ABCE; }
  .tpage ol {
    margin-left: 75px;
    margin-bottom: 50px;
    list-style-type: decimal;
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .tpage ol {
        margin-left: 30px; } }
    .tpage ol li {
      padding: 20px 0; }
  .tpage .google-maps {
    padding-bottom: 350px; }
    @media (max-width: 800px) {
      .tpage .google-maps {
        padding-bottom: 170px; } }
  .tpage-info {
    font-size: 1.6rem;
    margin-left: 50px;
    margin-bottom: 30px; }
    @media (max-width: 800px) {
      .tpage-info {
        margin-left: 0;
        margin-bottom: 10px; } }
    .tpage-info td {
      padding: 25px 0px;
      line-height: 1.5; }
      @media (max-width: 800px) {
        .tpage-info td {
          padding: 20px 0px; } }
    .tpage-info tr {
      border-bottom: 1px solid #ddd; }

.consul-head {
  font-weight: bold;
  font-size: 2.6rem;
  margin-bottom: 50px;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #2e94b3;
  line-height: 1.5; }
  @media (max-width: 800px) {
    .consul-head {
      font-size: 2rem; } }
.consul-head01 {
  opacity: 0;
  animation: consulfade 1.3s ease .5s 1 normal forwards;
  -webkit-animation: consulfade 1.3s ease .5s 1 normal forwards; }
  .consul-head01:after {
    position: absolute;
    bottom: -7px;
    left: 0;
    content: '';
    width: 100%;
    height: 5px;
    background: #2e94b3;
    transform: scale(0, 1);
    transform-origin: left top;
    animation: markerscale 1.3s ease .5s 1 normal forwards;
    -webkit-animation: markerscale 1.3s ease .5s 1 normal forwards; }
.consul-head02 {
  margin-top: 40px; }
.consul-items {
  align-items: flex-start;
  margin-bottom: 40px; }
.consul-item {
  box-sizing: border-box;
  width: 50%; }
  @media (max-width: 800px) {
    .consul-item {
      width: 100%; } }
  .consul-item:first-child {
    border-right: 1px solid #ddd; }
    @media (max-width: 800px) {
      .consul-item:first-child {
        border-right: none;
        border-bottom: 1px solid #ddd;
        padding-bottom: 30px;
        margin-bottom: 40px; } }
  .consul-item:nth-child(2) {
    padding-left: 20px; }
    @media (max-width: 800px) {
      .consul-item:nth-child(2) {
        padding-left: 0; } }
  .consul-item h4 {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 1.1em;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
.consul p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif; }
.consul-caution {
  background: #e8f3f7;
  padding: 25px; }
  .consul-caution p {
    font-size: 1.5rem; }
    @media (max-width: 800px) {
      .consul-caution p {
        font-size: 1.4rem; } }
.consul-btn {
  margin: 50px auto 0;
  display: inline-block;
  font-size: 1.1em; }
  @media (max-width: 800px) {
    .consul-btn {
      letter-spacing: 0;
      font-family: 1.5rem; } }
.consul i {
  margin-right: 5px; }

.material-icons {
  vertical-align: text-bottom; }

#rss {
  margin-bottom: 50px; }
  #rss p {
    display: inline;
    margin-right: 30px; }
    @media (max-width: 800px) {
      #rss p {
        display: block;
        margin-right: 0; } }
  #rss li {
    padding: 25px 30px 25px 0px;
    line-height: 1.5;
    border-bottom: solid 1px #232323;
    background: url(../img/arrow.svg) no-repeat;
    background-position: center right 10px;
    background-size: 15px 15px;
    transition: .3s; }
    #rss li:hover {
      background-position: center right 5px; }
    #rss li:first-child {
      border-top: solid 0px #232323; }
    @media (max-width: 800px) {
      #rss li {
        padding: 20px 30px 20px 0px; } }
    #rss li:nth-child(n+4) {
      display: none; }
  #rss span {
    margin-right: 30px;
    font-size: 1.5rem;
    line-height: 1; }
    @media (max-width: 800px) {
      #rss span {
        display: block;
        margin-bottom: 10px; } }
  #rss a {
    line-height: 1.5; }

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.12);
    transform: scale(1.12); } }
@keyframes zoomUp {
  /* 1.15倍させる指定 */
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(1.12);
    transform: scale(1.12); } }
.swiper-slide {
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  position: relative; }

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  /* 12秒かけて拡大させる */
  -webkit-animation: zoomUp 9s linear 0s 1 normal both;
  animation: zoomUp 9s linear 0s 1 normal both; }

.slide-img {
  background-size: cover;
  background-position: center center;
  /* 背景画像は中央を軸に表示させる */
  height: 100vh;
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc(var(--vh, 1vh) * 100); }

.slide-title {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100; }
  .slide-title img {
    width: 750px; }
    @media (max-width: 800px) {
      .slide-title img {
        width: 80vw; } }

.slide-bottom {
  position: absolute;
  bottom: 5%;
  left: 0;
  right: 0;
  margin: auto;
  width: 60px;
  z-index: 100;
  animation: fuwafuwa 5s infinite;
  opacity: .8; }
  @media (max-width: 800px) {
    .slide-bottom {
      width: 50px; } }

@keyframes fuwafuwa {
  0% {
    transform: translateY(0px); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(0px); } }
.drawer-inner {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

/* ローディング画面 */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #37ABCE;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center; }

.spinner {
  width: 100px;
  height: 100px;
  margin: 200px auto;
  background-color: #fff;
  border-radius: 100%;
  animation: sk-scaleout 1.0s infinite ease-in-out; }

/* ローディングアニメーション */
@keyframes sk-scaleout {
  0% {
    transform: scale(0); }
  100% {
    transform: scale(1);
    opacity: 0; } }
.loaded {
  opacity: 0;
  visibility: hidden; }
