@charset "UTF-8";

/* ===================================================================

	Setting

=================================================================== */
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; }
.containar { width: 100%; max-width: 1200px; margin: 0px auto;padding-top: 14px; }
.containar:after { content:""; display:block; clear:both; }


.sp { display:none; }
.pc { display:block; }
.main_wrapper { overflow:hidden;}

　　/* link set
	------------------------------------------------------------------- */
	a { color:#5B463F; text-decoration:none; transition:0.3s ease-in-out; }
	a img { transition:0.3s ease-in-out; }
	a:hover { color:#47676F; }

	/* 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; }


/* ===================================================================

	Header

=================================================================== */
body > header { position:fixed; width:100%; height:130px; margin:0 auto; background:#FFF; z-index:9999; transition:0.3s ease-in-out; }
body > header * { transition:0.3s ease-in-out; }
body > header:after { content:""; display:block; clear:both; }
body > header .logo { float:left; padding:18px 0px 0px 30px; margin-right: 20px;}
body > header h1 { }
body > header h1 p { }
body > header h1 a:hover { top:-5px; }
body > header p { position:absolute; left:185px; top:10px; font-size:0.9rem; color:#999; }

	      /* h_r
		  ------------------------------------------------------------------- */
		  body > header .h_r { float:right; margin-right: 23%;}

		  /* h_r
		  ------------------------------------------------------------------- */
		  body > header .h_tel { position:absolute; top:0; right:1%;}
		  body > header .h_tel img { margin-left: 4%; }

		  /* nav
		  ------------------------------------------------------------------- */
		  body > header nav { width: 100%; }
		  body > header nav ul.ddmenu { width:100%; height:auto; }
		  body > header nav ul.ddmenu:after { content:""; display:block; clear:both; }
		  body > header nav ul.ddmenu li { float:left; margin-right: 0; padding-top: 34px; width:142px; }
		  body > header nav ul.ddmenu li a { display:block; height:100%; text-align:center; font-size:1.1rem; color:#47676F; position:relative; letter-spacing:2px; padding-top:0; text-decoration:none; margin-top: 1px; }
		  body > header nav ul.ddmenu li:first-child a { border-left:none; }
		  body > header nav ul.ddmenu li a .sml { display:block; font-size:0.8rem; color:#EB438C; margin-top:-2px; }
		  body > header nav ul.ddmenu li a:after { content:""; width:100%; height:10px; background-position:top 5px center; background-repeat:no-repeat; position:absolute; left:0; top:0; }
		  body > header nav ul.ddmenu li a:hover,
		  body > header nav ul.ddmenu li.ac a { margin-top:5px; color:#47676F; }
		  body > header nav ul.ddmenu li:hover ul { display:block; }
		  body > header nav ul.ddmenu ul { display:none; margin:0; padding:0; width:180px;padding-top: 25px; margin-left:50px; }
		  body > header nav ul.ddmenu ul li { float:left; width:100%; height:43px; margin-left:-48px; background-color:#D1EDF6; border-bottom: 1px solid #fff;padding-top: 0px; }
		  body > header nav ul.ddmenu ul li a { display:block; height:100%; text-align:center; font-size:1.1rem; color:#000; position:relative; letter-spacing:2px; padding-top: 12px; text-decoration:none; margin-top: 1px; }
		  body > header nav ul.ddmenu li a:hover { margin-top:5px; color:#47676F; }



/* ===================================================================
	/
	/	smh_menu　トグルメニュー
	/
	=================================================================== */
	#smh_menu { display: none; }


/* ===================================================================
	/
	/	news
	/
	=================================================================== */
	.news { padding: 17px 0; background: #fff; line-height: 17px; margin: 0 10px; }
	.news h2 { float: left; width: 69px; height: 13px; margin: 3px 50px 0 0; }
	.news .sp_br {display:none; }
	.topix .topix_left {
		width: 140px;
		border-right-width: 1px;
		border-right-style: solid;
		border-right-color: #f2f2f2;
		height:185px;
		position:relative;
	}
	.topix .topix_left .newslist {
		position:absolute;
		left:0;
		bottom:0;
		font-size:12px;
	}
	.topix .topix_right {
		margin-left:;
		height:185px;
	}
	.topix .topix_right ul li {
		line-height:60px;
	}
	/*.topix .topix_right ul li.closed {
	background-image: url(../images/closedbg.jpg);
	background-repeat: no-repeat;
	background-position: left center;
	}
	.topix .topix_right ul li.news-topix {
		background-image: url(../images/newstopixbg.jpg);
	background-repeat: no-repeat;
	background-position: left center;
	}*/
	.topix .topix_right ul li .ymd {
		font-weight:bold;
		margin-right:20px;
	}
	.topix_img img {
		max-width:290px;
		width:100%;
	}


/* ===================================================================
	/
	/	Slider
	/
	=================================================================== */
	.slideshow {height: 34vw; margin-top: 74px;}
	.slideshow li { width:100%; height:100%; margin:0 5%; }
	.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; }



/* ===================================================================
	/
	/	メインイメージ
	/
	=================================================================== */

	.main_image {
		text-align:center;
		margin-top: 125px;
		position:relative;
		padding: 0 5%;
	}
	.main_image > li img {
		width:100vw;
	}
	.main_item {
		text-align:center;
		margin-top: 100px;
		padding: 0 5%;
	}
	.main_image2 {
		position: absolute;
		right:0;
		bottom:50%;
	}
	.flex {
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
	}
	.flex2 {
		display:flex;
		justify-content:space-between;
		flex-wrap:nowrap;
		align-items:center;
	}
	.flex_top3 {
		margin:70px auto;
		display:flex;
		justify-content:center;
		flex-wrap:nowrap;
		max-width: 1200px;
		width: 100%;
	}
	.main_top3 {
		margin:10px;
		width:33.33333%;
		width:-webkit-calc(100% / 3);
		width:calc(100% / 3);
	}
	.main_top3 img {
		max-width:400px;
		width:100%;
		border: solid 3px #0099CB;
		border-radius: 10px;
	}
	.main_top3 iframe {
		border: solid 3px #000;
		border-radius: 10px;
		width:100%;
		height:100%;
	}
	.main_info {
		position:relative;
		background-color:#66cc6669;
		padding:30px;
		width:60%;
		margin:auto 20px;
		border-radius:20px;

	}
	.main_info p {
		line-height:30px;
	}

/* ===================================================================
	/
	/	s1
	/
	=================================================================== */
	.s1 { background: #ffffff;; padding: 40px 0 35px; }
	.s1 h1 { text-align:center; }
	/*.s1 p { font-size: 14px; line-height:26px; margin-bottom:40px; min-height: 104px; }*/

    .s1 div { margin-bottom:30px; box-sizing:border-box;}
	/*.s1 .ts .ts01 { float:left; width:20%; height:513px; background-image:url(../images/ts01_bg.jpg); padding:37px 25px 47px;}
	.s1 .ts .ts02 { float:left; width:20%; height:513px; background-image:url(../images/ts02_bg.jpg); padding:37px 26px 47px;}
	.s1 .ts .ts03 { float:left; width:20%; height:513px; background-image:url(../images/ts03_bg.jpg); padding:37px 26px 47px;}
	.s1 .ts .ts04 { float:left; width:20%; height:513px; background-image:url(../images/ts04_bg.jpg); padding:37px 26px 47px;}
	.s1 .ts .ts05 { float:left; width:20%; height:513px; background-image:url(../images/ts05_bg.jpg); padding:37px 26px 47px; background-position: right; border-left: 2px dashed #fff;}
	.s1 .ts div h4 { font-size: 20px;font-weight: bold;letter-spacing: 2px;text-align: center;padding-bottom: 5px;margin-bottom:5px;border-bottom-width: 3px;border-bottom-style: solid;border-bottom-color: #FFF; min-height: 72px;}*/

	.s1 .ts .ts01 { float:left; width:25%; height:513px; background-image:url(../images/ts01_bg.jpg); padding:37px 15px 47px;}
	.s1 .ts .ts03 { float:left; width:25%; height:513px; background-image:url(../images/ts03_bg.jpg); padding:37px 15px 47px;}
	.s1 .ts .ts04 { float:left; width:25%; height:513px; background-image:url(../images/ts04_bg.jpg); padding:37px 15px 47px;}
	.s1 .ts .ts05 { float:left; width:25%; height:513px; background-image:url(../images/ts05_bg.jpg); padding:37px 15px 47px; background-repeat: no-repeat;}
	.s1 .ts div h4 { font-size: 19px;font-weight: bold;letter-spacing: 2px;text-align: center;padding-bottom: 5px;margin-bottom:5px;border-bottom-width: 3px;border-bottom-style: solid;border-bottom-color: #FFF; min-height: 50px;}
	.s1 .ts div > img { width: 100%; }
	.s1 p { font-size: 14px; line-height:26px; margin-bottom:0px; min-height: 95px; }

	 /* service
		--------------------------------------------------------- */
		.s1#service { padding: 90px 0 0; }
		.s1#service dl { min-height: 342px;  bottom no-repeat; background-size:360px; }
		.s1#service dl dt { width: 551px; height: 36px; margin: 0 0 35px; font-size: 133.3%; font-weight: bold; font-family: serif;}
		.s1#service dl dd { font-size: 80%; line-height: 2;}
		.s1#service p { width: 500px; font-size: 100%; line-height: 2.3; }
	    .s1#service { background: #ffffff;; padding: 40px 0 35px; }



/* ===================================================================
	/
	/	s2
	/
	=================================================================== */
	.s2 { margin-bottom:100px;}
	.s2 h3 { margin-bottom:50px;}
	.s2 .tc01 { width:100%; float:left; position:relative; margin-left: 2%; }
	.s2 .tc01 p { font-size:14px; text-align:left;}
	.s2 .tc01 .left { float:left; width:23%; margin-right:1%; }
	.s2 .tc01 .left .left_s { display:block;}
	.s2 .tc01 .left .left_l { display:none;}
	.s2 .tc01 .right .right_s { display:block;}
	.s2 .tc01 .right .right_l { display:none;}
	.s2 .tc01 .right { float:right; width:31%; margin-right:2%; }
	.s2 .tc02 { width:30%; float:right; text-align:center; position:relative; margin-left: 2%; }
	.s2 .tc02 p { font-size:14px; text-align:left;}

	.s2 .tc01 .left .ue { position:absolute; left:0; bottom:73px; }
	.s2 .tc01 .left .ue p { background-color: #fff; padding:10px 25px; font-size:1.8rem; font-weight:bold; letter-spacing:5px; }
	.s2 .tc01 .right .ue { position:absolute; right:73px; bottom:73px; }
	.s2 .tc01 .right .ue p { background-color: #fff; padding:10px 25px; font-size:1.8rem; font-weight:bold; letter-spacing:5px; }
	.s2 .tc01 .right .ue img { position: absolute; top: -15px; left: 5px; }
	.s2 .tc02 .ue { position:absolute; bottom:73px; }
	.s2 .tc02 .ue p { background-color: #fff; padding:10px 25px; font-size:1.8rem; font-weight:bold; letter-spacing:5px; }


/* ===================================================================
	/
	/	s3
	/
	=================================================================== */
	.s3 { text-align:center; background-color: #e4f4fa;}
	.s3 h3 { font-size:25px; font-weight:bold; margin-bottom:30px; text-align:center; margin-top:20px; }
	.s3 table { width:80%; margin:0 auto 40px;}
	.s3 table tr td {border: 2px solid #222; padding:15px 30px; text-align:center;border-radius: 6px;}
	.s3 table tr.title td { font-weight: bold;}
	.s3 p { font-size:14px; text-align:center;}
	.s3 p span { font-weight:bold; }

	.s3 .bnr_area { float:left; position:relative; }
	.s3 .bnr_area img { width:48%; padding:15px; }
	.s3 .bnr_area .ue { position:absolute; right:438px; bottom:14px; }
	.s3 .bnr_area .ue p { background-color: #fff; padding:10px 25px; font-size:1.8rem; font-weight:bold; letter-spacing:5px; }

	.s3 .bnr_area .sp_line { display: none; }

	.s3 p.big { font-size: 18px; font-weight: bold; text-decoration: underline; margin-bottom: 10px; }


/* ===================================================================
	/
	/	s4
	/
	=================================================================== */
	.s4 { }
	.s4 .tmap { background-color:#f2f2f2; margin-bottom:60px;}
	.s4 .tmap .left { width:50%; float:left;}
	.s4 .tmap .right { width:50%; float:left; box-sizing:border-box; padding:70px 4% 30px; position:relative; height:586px;}
	.s4 .tmap .right h4 { font-size:20px; font-weight:bold; margin-bottom:30px; text-align:left; letter-spacing:3px; padding:0px 2%;}
	.s4 .tmap .right table { font-size:15px;}
	.s4 .tmap .right table tr th { font-weight:bold; padding:8px 10px; text-align:left;}
	.s4 .tmap .right table tr td { padding:8px 10px; text-align:left;}
	.s4 .tmap .right ul { position:absolute; bottom:25px;}
	.s4 .tmap .right ul li { float:left; margin-right:25px; line-height:16px; font-size:12px;}
	.s4 .tmap .right ul li img { margin-left:5px;}







/* ===================================================================
	/
	/	footer
	/
	=================================================================== */
	footer {  }
	body > footer > .containar { padding: 0px 0 35px; text-align:center;}
	small { display: block; margin-right: 2%; font-size: 0.5em; }
