@charset "UTF-8";
/*----------------------------
  共通
-----------------------------*/

/* h1見出しのフォント指定 */
h1 {
font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif','Hiragino Kaku Gothic ProN';
}

.h5 {
    line-height: 1.8rem;
}

display-3 {
font-family:YuGothic, 'Yu Gothic medium', 'Hiragino Sans', Meiryo, 'sans-serif';
}

.font-1 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.font-color-1{color: #4074BB;
}

.font-color-2{color: #012970;
}

/* 背景のグラデーション  */
.bg-gradation {
  background: -moz-linear-gradient(top, #def5f5, #FFF);
  background: -webkit-linear-gradient(top, #def5f5, #FFF);
  background: linear-gradient(to top, #5d8ac7, #FFF);
}

/* footer ボーダー色  */
.border-color{color: #4074BB;
}


/* シンプル角丸 枠 */
.line1 {
 margin: 2em auto;  
 padding: 1em;
 width: 90%; /*幅の調節*/
 color: #17a2b8; /*文字色*/
 border: 2px solid #17a2b8; /*線の太さ・色*/
 border-radius: 50px; /*角の丸み*/ 
}

.line2 {
 margin: 2em auto;  
 padding: 1em;
 width: 90%; /*幅の調節*/
 color: #f8b62c; /*文字色*/
 border: 2px solid #f8b62c; /*線の太さ・色*/
 border-radius: 50px; /*角の丸み*/ 
}

.line3 {
 margin: 1em auto;  
 padding: 1em;
 width: 90%; /*幅の調節*/
 color: #fff; /*文字色*/
 border: 2px solid #fff; /*線の太さ・色*/
 border-top-left-radius: 10px;/*角の丸み*/ 
 border-top-right-radius: 10px;/*角の丸み*/ 
 border-bottom-left-radius: 10px;/*角の丸み*/ 
 border-bottom-right-radius: 10px;/*角の丸み*/ 
}

/*トップに戻るボタン*/
.pagetop{
    display: none;
    position: fixed;
    right: 10px;
    bottom: 10px;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #72C7CA;
    border-radius: 50%;
    line-height: 50px;
}
.pagetop a i{
    font-size: 20px;
    color:#fff;
    line-height: 50px;
}


/* 通常時はホバー時の文字を非表示にする */
a .hover{
display: none;
}
/* ホバー時は通常時の文字を非表示にする */
a:hover .nomal{
display: none;
}
/* ホバー時に、ホバー時の文字を表示する */
a:hover .hover{
display: inline;
}

/* ====== 背景 ====== */
.bg {
  background-color: #f7f7f8;
}

.bg2 {
  background-color: #f0f8ff;
}





.border-w3 { 
    border-left-width: 3px !important;
    border-left-color: #262626 !important;
}

/* ====== カラー指定 ====== */
.brand-color {
	color: #5d8ac7 !important;
}
.bg-brand-color {
	background-color: #5d8ac7 !important;
}
/* ====== GLOVAL NAV ====== */
.gloval-nav {
	height: 10%;
}
.navbar-white a {
	color: #fff;
}
/* ====== FOOTER ====== */
.footer-logo {
	width: 20%;
}
.social img {
	width: 36px;
	height: 36px;
}
footer {
	padding-bottom: 5%;
}

/*----------------------------
  SP TOGGLE NAV
-----------------------------*/
.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}
.nav-scroller .nav {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	color: rgba(255, 255, 255, 0.75);
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
.nav-underline .nav-link {
	padding-top: .75rem;
	padding-bottom: .75rem;
	font-size: .875rem;
	color: #6c757d;
}
.nav-underline .nav-link:hover {
	color: #007bff;
}
.nav-underline .active {
	font-weight: 500;
	color: #343a40;
}

/* ハンバーガーメニュー閉じるアイコン */


/*----------------------------
  TOP ページ
-----------------------------*/
/* ====== TOP IMAGE ====== */
header .jumbotron-fluid {
	background-image: url("../img/top-02.png");
	background-size: cover;
	background-position: center;
	min-height: 100%;
	height:100%;

}
header .catch {
	width: 90%;
	bottom: 10%;
	left: 50%;
	margin-left: -45%;
}
header .g-navi {
	min-height: 100%;
}

/* ==============================================*/
/* 中デバイス（タブレット, 992px 未満）
==============================================*/
@media screen and (max-width: 991.98px) {
#glovalNavbar ul li {
	border-left: none;
}
#glovalNavbar ul li:last-child {
	border-right: none;
}
.footer-nav ul li {
	border-left: none;
}
.footer-nav ul li:last-child {
	border-right: none;
}
/* ====== SP TOGGLE NAV ====== */
.offcanvas-collapse {
	position: fixed;
	z-index: 9999;
	top: 0;
	/* ナビバーの高さ */
	bottom: 10%;
	left: 100%;
	width: 100%;
	padding-right: 1rem;
	padding-left: 1rem;
	overflow-y: auto;
	background-color: #fff;
	transition-timing-function: ease-in-out;
	transition-duration: .3s;
	transition-property: left, visibility;
}
.offcanvas-collapse.open {
	left: 0;
	visibility: visible;
}
}

/* END */
/* 小デバイス（横向きモバイル, 768px 未満）
==============================================*/
@media screen and (max-width: 767.98px) {
.logo {
	width: 80%;
}
.display-3 {
	font-size: 3rem;
}
.footer-logo {
	width: 80%;
}
.navbar-nav .border-left {
	border-left: none !important;
}
.navbar-nav .border-right {
	border-right: none !important;
}
}


/* 極小デバイス（縦向きモバイル, 576px 未満）
==============================================*/
@media screen and (max-width: 575.98px) {
header .catch {
	bottom: 10%;
}
header .catch .h1 {
	font-size: 2rem;
}
header .catch h2 {
	font-size: 1rem;
}
.schedule-img {
    width: 100%;
}
form .border-top,
    form .border-bottom {
        border: none !important;
    }    
}

/* ブロック-左- */
.heading {
  border-left: 6px solid #5d8ac7;
  padding: 0 0 0 10px;
  border-top-color: #0c5460;
  border-bottom-color: #0c5460;
  border-right-color: #0c5460;
}
.heading-2 {
  border-left: 6px solid #f8b62c;
  padding: 0 0 0 10px;
  border-top-color: #0c5460;
  border-bottom-color: #0c5460;
  border-right-color: #0c5460;
}

.map iframe {
	width: 100%;
	height: 450px;
}.text-rig {
}

/*リンクの位置調整*/
.anchor{
    padding-top: 50px;
    margin-top: -50px;
}

.anchor2{
    padding-top: 40px;
    margin-top: -40px;
}


/*トップに戻るボタン*/
.pagetop{
    display: none;
    position: fixed;
    right: 10px;
    bottom: 10px;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #5d8ac7;
    border-radius: 50%;
    line-height: 50px;
}
.pagetop a i{
    font-size: 20px;
    color:#fff;
    line-height: 50px;
}



/*パララックス*/
.parallax_content{
  display: flex;
  height: 50%;
  padding: 3%;
  justify-content: center;
  align-items: center;

  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.img_bg_01{
  background-image: url("../img/1.png");
}
.img_bg_02{
  background-image: url("../img/2.png");
}
.img_bg_03{
  background-image: url("../img/3.png");
}
.img_bg_04{
  background-image: url("../img/4.png");
}


@media screen and (max-width: 1024px) {
	.parallax_content {
		background-size: cover;
		background-attachment: scroll;
	}
}

/*--------------------------------------------------------------
# Values
--------------------------------------------------------------*/
.values .box {
  padding: 30px;
  box-shadow: 0px 0 5px rgba(1, 41, 112, 0.08);
  text-align: center;
  transition: 0.3s;
  height: 100%;
}
.values .box img {
  padding: 30px 50px;
  transition: 0.5s;
  transform: scale(1.1);
}
.values .box h3 {
  font-size: 24px;
  color: #012970;
  font-weight: 700;
  margin-bottom: 18px;
}
.values .box:hover {
  box-shadow: 0px 0 30px rgba(1, 41, 112, 0.08);
}
.values .box:hover img {
  transform: scale(1);
}


section {
  padding: 60px 0;
  overflow: hidden;
}

.section-header {
  text-align: center;
  padding-bottom: 40px;
}
.section-header h2 {
  font-size: 13px;
  letter-spacing: 1px;
  font-weight: 700;
  margin: 0;
  color: #4154f1;
  text-transform: uppercase;
}
.section-header p {
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 38px;
  line-height: 42px;
  font-weight: 700;
  color: #012970;
}
@media (max-width: 768px) {
  .section-header p {
    font-size: 28px;
    line-height: 32px;
  }
}


/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%;
  height: 100vh;
  background: url("../img/top-02.png") top center no-repeat;
  background-size: cover;
}
.hero h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  color: #012970;
}
.hero h2 {
  color: #444444;
  margin: 15px 0 0 0;
  font-size: 26px;
}
.hero .btn-get-started {
  margin-top: 10px;
  line-height: 0;
  padding: 15px 20px;
  border-radius: 4px;
  transition: 0.5s;
  color: #5d8ac7;
  box-shadow: 0px 5px 30px rgba(65, 84, 241, 0.4);
}
.hero .btn-get-started span {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1px;
}
.hero .btn-get-started i {
  margin-left: 5px;
  font-size: 18px;
  transition: 0.3s;
}
.hero .btn-get-started:hover i {
  transform: translateX(5px);
}
.hero .hero-img {
  text-align: right;
}
@media (min-width: 1024px) {
  .hero {
    background-attachment: fixed;
  }
}
@media (max-width: 991px) {
  .hero {
    height: auto;
    padding: 120px 0 60px 0;
  }
  .hero .hero-img {
    text-align: center;
    margin-top: 80px;
  }
  .hero .hero-img img {
    width: 70%;
  }
}
@media (max-width: 768px) {
  .hero {
    text-align: center;
  }
  .hero h1 {
    font-size: 28px;
  }
  .hero h4 {
    font-size: 18px;
  }
  .hero .hero-img img {
    width: 50%;
  }
}




/*--------------------------------------------------------------
# Zoon Out
--------------------------------------------------------------*/
.zoom img {
width: 100%;
height: auto;
animation: animationZoom1 3s ease-in-out forwards;
}
@keyframes animationZoom1 {
100% { transform: scale(0.8)}
}


/*下からフェードイン CSS*/
.fade-in-1 {
   opacity: 0;
   animation-name: fadein-bottom;
   animation-duration: 1.5s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
.fade-in-2 {
   opacity: 0;
   animation-name: fadein-bottom;
	animation-delay: 0.5s;
   animation-duration: 1.5s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
.fade-in-3 {
   opacity: 0;
   animation-name: fadein-bottom;
	animation-delay: 1.0s;
   animation-duration: 1.0s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
.fade-in-4 {
   opacity: 0;
   animation-name: fadein-bottom;
	animation-delay: 1.2s;
   animation-duration: 1.0s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}
.fade-in-5 {
   opacity: 0;
   animation-name: fadein-bottom;
	animation-delay: 1.4s;
   animation-duration: 1.0s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}

/* フェードイン Java */
.slide-bottom {
   opacity: 0;
   transform: translateY(20px);
   transition: all 2.0s 0s ease-out;
 }
.slide-bottom-2 {
   opacity: 0;
   transform: translateX(50px);
   transition: all 3.0s 0s ease-out;
 }



/* テーブル文字サイズ */
@media (max-width: 768px) {
  .table td {
    font-size: 12px;
  }
}

