@charset "UTF-8";

/* ===================================================================

	Setting

=================================================================== */
html {  }
body { font-size:1.5rem; font-family:'メイリオ',Meiryo,'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro'; overflow-x:hidden; }
main { overflow:hidden; padding-top:85px; }
.containar { max-width: 1300px; width: 95%;  margin: 0px auto; /*padding-top: 14px;*/ }
.containar:after { content:""; display:block; clear:both; }


.sp { display:none; }
.sp_only { display:none; }
.pc { display:block; }
.wrapper { width:100%; overflow:hidden;}

　　/* link set
	------------------------------------------------------------------- */
	a { color:#454545; text-decoration:none; transition:0.3s ease-in-out; }
	a img { transition:0.3s ease-in-out; }
	a:hover { color:#47676F; opacity: 0.8; transition:0.3s ease-in-out;}



@media only screen and (max-width: 768px) {
	html { color:#333; background:#FFF; line-height:1.6; text-align:left; font-size:65.5%; }
	body { font-size:1.5rem; font-family:'メイリオ',Meiryo,'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro'; overflow-x:hidden; }
	img { max-width:100%; height:auto; }
	main { padding-top:60px; }
	.containar { width:100%; height:100%; margin:0 auto; position:relative; }
	.containar:after { content:""; display:block; clear:both; }


	.pc { display:none; }
	.sp { display:block; }
}

@media only screen and (max-width: 479px) {
	.sp_only { display:block; }
}



	/* float対策：背景色表示用
	------------------------------------------------------------------- */
	.clearfix:after { display: block; clear: both; height: 0px; line-height: 0px; visibility: hidden; content: "."; }
	.clearfix {	display: block; /* for IE8 */ }
	.both { clear:both ;}
	.hidden { display: none; }

	/* 	imgホバーアクション
	------------------------------------------------------------------- */
	.imgWrap { overflow: hidden; width: 100%;　height: auto; cursor: pointer; background-color: #ffffff; }
	.imgWrap img { display: block; transition-duration: 0.3s; margin-top: -1px; }
	.imgWrap img:hover  {opacity: 0.6; transition: all .3s; }

	/* 	背景画像＆テキスト使用時
	------------------------------------------------------------------- */
	.bg { display: block; text-indent: -9999px; background-repeat: no-repeat; background-position: left top; }
　　/* 	テキスト指定
	------------------------------------------------------------------- */
　　.min { font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, serif, sans-serif; }


/* ===================================================================
	/
	/	Slider
	/
	=================================================================== */
	.slideshow {height: 31vw; margin-top: 74px;}
	.slideshow li { width:100%; height:100%; }
	.slideshow li a{ display:block; height:100%; background-position:center center; background-repeat:no-repeat; background-size:cover; position:relative; }


		/* js
		--------------------------------------------------------- */
		.flickity-enabled { position:relative; }
		.flickity-enabled:focus { outline:none; }
		.flickity-viewport { position:relative; height:100%; }
		.flickity-slider { position:absolute; width:100%; height:100%; }

		.flickity-enabled.is-draggable { -webkit-tap-highlight-color:transparent; tap-highlight-color:transparent; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; }
		.flickity-enabled.is-draggable .flickity-viewport { cursor:move; cursor:-webkit-grab; cursor:grab; }
		.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down { cursor:-webkit-grabbing; cursor:grabbing; }

		.flickity-prev-next-button { position:absolute; top:50%; width:44px; height:44px; border:none; border-radius:50%; background:#fff; background:hsla(0,0%,100%,0.75); cursor:pointer; -webkit-transform:translateY(-50%); transform:translateY(-50%)}
		.flickity-prev-next-button:hover { background:#fff; }
		.flickity-prev-next-button:focus { outline:none; box-shadow:0 0 0 5px #09F; }
		.flickity-prev-next-button:active { opacity:.6; }
		.flickity-prev-next-button.previous { left:2%; margin-left:0; }
		.flickity-prev-next-button.next { right:2%; margin-right:0; }
		.flickity-rtl .flickity-prev-next-button.previous { left:auto; right:10px; }
		.flickity-rtl .flickity-prev-next-button.next { right:auto; left:10px; }
		.flickity-prev-next-button:disabled { opacity:.3; cursor:auto; }
		.flickity-prev-next-button svg { position:absolute; left:20%; top:20%; width:60%; height:60%; }
		.flickity-prev-next-button .arrow { fill:#0079a4; }
		.flickity-page-dots { display: none; position:absolute; width:100%; bottom:20px; padding:0; margin:0; list-style:none; text-align:center; line-height:1; z-index:100; }
		.flickity-rtl .flickity-page-dots { direction:rtl; }
		.flickity-page-dots .dot { display:inline-block; width:12px; height:12px; margin:0 8px; background:#0079a4; border-radius:50%; opacity:.45; cursor:pointer; }
		.flickity-page-dots .dot.is-selected { opacity:1; }


/* ===================================================================
	/
	/	共通
	/
	=================================================================== */
	.montserrat { font-family: 'Montserrat', sans-serif; font-size: 60px; letter-spacing: 3px; color: #262D61; }
	.montserrat span { font-size: 18px; font-weight: bold; }

	@media only screen and (max-width: 1024px) {
		.montserrat { font-size: 50px; }
	}
	@media only screen and (max-width: 479px) {
		.montserrat span { font-size: 12px; }
	}


/* ===================================================================
	/
	/	メインイメージ
	/
	=================================================================== */

	.main_img { height:540px; position:relative; background-image:url(../images/top_mainimg.jpg); background-repeat:no-repeat; background-size:cover; background-position: center; }

	.main_img .main_h1 { position:absolute; top:5vw; left:45vw; z-index:100; /*background-color:#000;*/ width:40%; padding:70px 0; }
	.main_img .main_h1 h1 { line-height:45px; color:#fff; font-size:24px; letter-spacing:3px; margin-top:30px; font-weight:bold; }
	.main_img .main_h1 p { line-height:30px; color:#fff; font-size:1.2rem; letter-spacing:2px; text-align:center; border-top:solid 2px #fff; border-bottom:solid 2px #fff; width:80%; margin:0 auto; padding:15px 0; }

	.main_img .main_menu_area { max-width: 1100px; width: 95%; position: absolute; bottom: -15%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); }
	.main_img .main_menu_area .menu_box { width: 32%; background-color: #fff; text-align: center; box-shadow: 3px 3px 10px #000; }
	.main_img .main_menu_area .menu_box a { padding: 20px 0; display: block; }
	.main_img .main_menu_area .menu_box p { color: #000; font-weight: bold; text-decoration: none; margin-top: 10px; font-size: 20px; }
	.main_img .main_menu_area .box01 { border: 5px solid #4A4F75; }
	.main_img .main_menu_area .box02 { border: 5px solid #6CA5C3; }
	.main_img .main_menu_area .box03 { border: 5px solid #F0A822; }
	.main_img .main_menu_area img, .main_img .main_menu_area p { transition: 0.3s; }
	.main_img .main_menu_area a:hover img, .main_img .main_menu_area a:hover p { opacity: 0.6; transition: 0.3s; }

	@media only screen and (max-width: 1024px) {
		.main_img .main_h1 { left: 38vw; width: 100%; }
		.main_img .main_h1 img { width: 28%; }
		.main_img .main_h1 h1 { font-size: 20px; }
	}

	@media only screen and (max-width: 768px) {
		.main_img { position:relative; background-image:url(../images/top_mainimg_sp.jpg); background-repeat:no-repeat; background-size:cover; }

		.main_img .main_h1 { position:relative; width:85%; padding:30px 0; margin:0 auto; left:0; top: 15vw; }
		.main_img .main_h1 h1 { line-height:35px; font-size:1.2rem; letter-spacing:3px; margin-bottom:20px; padding:0 5%; }
		.main_img .main_h1 p { line-height:25px; padding:10px 0; }

		.main_img .main_menu_area { bottom: -5%; }
		.main_img .main_menu_area .menu_box p { font-size: 14px; }
	}

	@media only screen and (max-width: 479px) {
		.main_img { height: 350px; background-position: left; }
		.main_img .main_h1 { width: 70%; }
		.main_img .main_h1 h1 { line-height:25px; font-size:1.2rem; padding: 0; margin: 10px auto;}
		.main_img .main_menu_area .menu_box { width: 49%; margin-bottom: 5px; }
		.main_img .main_menu_area .menu_box:last-of-type { width: 100%; }
		.main_img .main_menu_area .menu_box a {
			display:-webkit-box;
	  	display:-ms-flexbox;
	  	display:flex;
			-webkit-box-pack: center;
			-ms-flex-pack: center;
			justify-content: center;
			-webkit-box-align: center;
			-ms-flex-align: center;
			align-items: center;
			padding: 15px 0;
		}
		.main_img .main_menu_area .menu_box a img { width: 20px; margin-right: 10px; }
		.main_img .main_menu_area .menu_box p { margin: 0; font-size: 12px; }
		.main_img .main_menu_area { bottom: -10%; }

	}





/* ===================================================================
	/
	/	news
	/
	=================================================================== */
	.news { padding:200px 0 50px; }
	/*.news .containar h2 { width: 1000px; margin: 0 auto;font-size:1.8rem; font-weight:bold; margin-bottom:20px; letter-spacing:2px; border-bottom: 1px solid #fff; }
	.news .containar h2 span { font-size:1.2rem; }
	.news .containar h2 span.r { font-size:0.8rem; float:right; padding-right:30px; padding-top:10px; font-weight:normal; }
	*/

	.news .containar .news_title { width: 25%; }
	.news .containar ul { width: 75%; }
	.news .containar ul li { margin:0 0 4%; }
	.news .containar ul li a { color:#524e4e; font-size:1rem; text-decoration:none; }
	.news .containar ul li a:hover { text-decoration:underline; }
	.news .containar ul li span { background-color:#065296; padding:0.5% 3%; margin-right:3%; border-radius:5px; font-weight:bold; color: #fff;}
	.news .containar .right a { color:#524e4e; text-decoration:none; }


	@media only screen and (max-width: 1024px) {
		.news { padding: 150px 0 50px; }
		.news .containar .news_title { width: 22%; }
		.news .containar ul { width: 78%; }
	}

	@media only screen and (max-width: 768px) {
		.news { padding: 80px 5%; }
		.news .containar .news_title { width: 100%; }
		.news .containar h2 { font-size: 35px; text-align:left; margin-bottom: 30px; line-height: 35px; }
		.news .containar ul { width:100%; margin:0 auto 30px; }
		.news .containar ul li { margin: 0 0 2%; }
		.news .containar ul li a { line-height: 35px; }
	}
	@media only screen and (max-width: 479px) {
		.news { padding: 50px 5%; }
		.news .containar h2 { font-size: 25px; line-height: 30px; }
		.news .containar ul { margin: 0 auto 10px; }
		.news .containar ul li a { font-size: 1.2rem; line-height: 30px; }
		.news .containar .right a { font-size: 1.2rem; }
	}


/* ===================================================================
	/
	/	service
	/
	=================================================================== */
	.top_service { background: linear-gradient( 90deg, #fff 0%, #fff 40%, #EAF3F7 40%, #EAF3F7 100% ); }
	.top_service .service_inner { padding: 150px 0; }
	.top_service .service_inner .service_img { width: 45%; }
	.top_service .service_inner .service_img img { width: 100%; }
	.top_service .service_inner .service_text { width: 50%; padding-right: 16%; }
	.top_service .service_inner .service_text h2 { margin-bottom: 50px;}
	.top_service .service_inner .service_text h4 { font-size: 28px; font-weight: bold; color: #283065; margin-bottom: 20px;}
	.top_service .service_inner .service_text p { font-size: 18px; line-height: 45px; }
	.top_service .service_inner .service_text .btn { background-color: #055395; border-radius: 5px; max-width: 300px; margin-top: 50px;}
	.top_service .service_inner .service_text .btn a { display: block; padding: 20px 40px; color: #fff; font-size: 18px; text-decoration: none; }


	@media only screen and (max-width: 1024px) {
		.top_service .service_inner { padding: 80px 0; }
		.top_service .service_inner .service_text { padding-right: 2.5%; }
		.top_service .service_inner .service_text h2 { margin-bottom: 30px; }
		.top_service .service_inner .service_text h4 { font-size: 22px; }
		.top_service .service_inner .service_text p { font-size: 16px; line-height: 38px; }
	}

	@media only screen and (max-width: 768px) {
		.top_service { background: linear-gradient( 90deg, #fff 0%, #fff 8%, #EAF3F7 8%, #EAF3F7 100% ); }
		.top_service .service_inner { padding: 50px 0; }
		.top_service .service_inner .service_img { width: 80%; margin-bottom: 10px; }
		.top_service .service_inner .service_text { width: 85%; margin-left: auto; padding-right: 5%;}
		.top_service .service_inner .service_text h2 { font-size: 35px; margin-bottom: 20px; line-height: 35px; }
		.top_service .service_inner .service_text h4 { font-size: 16px; }
	}

	@media only screen and (max-width: 479px) {
		.top_service .service_inner .service_text p { font-size: 1.2rem; line-height: 28px; }
		.top_service .service_inner .service_text h2 { font-size: 25px; line-height: 30px; }
		.top_service .service_inner .service_text .btn { max-width: 180px; margin-top: 30px; margin-left: auto;}
		.top_service .service_inner .service_text .btn a { text-align: center; font-size: 1.2rem; padding: 15px 0;  }

	}


/* ===================================================================
	/
	/	f_menu
	/
	=================================================================== */
	.f_menu { margin-top: 250px; position: relative; }
	.f_menu .f_menu_inner { max-width: 1200px; width: 95%; position: absolute; top: -30%; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); }
	.f_menu .f_menu_inner .f_menu_box { width: 32%; background-color: #055395; text-align: center; transition: 0.3s; }
	.f_menu .f_menu_inner .f_menu_box:hover { background-color: #3775aa; }
	.f_menu .f_menu_inner .f_menu_box a { color: #fff; display: block; padding: 80px 0; }
	.f_menu .f_menu_inner .f_menu_box h4 { font-size: 24px; border-bottom: 2px solid #fff; display: inline-block; margin-bottom: 15px; padding-bottom: 5px; letter-spacing: 1px; }
	.f_menu .f_menu_inner .f_menu_box .en { font-size: 22px; color: rgba(255,255,255,0.4); font-family: 'Montserrat', sans-serif; letter-spacing: 1px; }


	@media only screen and (max-width: 1024px) {
		.f_menu .f_menu_inner .f_menu_box a { padding: 50px 0; }
	}

	@media only screen and (max-width: 768px) {
		.f_menu { margin-top: 200px; }
		.f_menu .f_menu_inner { top: -80%; }
		.f_menu .f_menu_inner .f_menu_box a { padding: 30px 0; }
		.f_menu .f_menu_inner .f_menu_box h4 { font-size: 20px; margin-bottom: 10px; }
		.f_menu .f_menu_inner .f_menu_box .en { font-size: 18px; }
	}

	@media only screen and (max-width: 479px) {
		.f_menu { margin-top: 80px; }
		.f_menu .f_menu_inner { top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); }
		.f_menu .f_menu_inner .f_menu_box { width: 80%; margin: 0 auto 10px; }
		.f_menu .f_menu_inner .f_menu_box a { padding: 15px 0; }
		.f_menu .f_menu_inner .f_menu_box h4 { font-size: 14px; margin-bottom: 5px; }
		.f_menu .f_menu_inner .f_menu_box .en { font-size: 12px; }
		.f_menu > img { height: 400px; object-fit: cover; }
	}
