@charset "utf-8";

/* -----reset--------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
	letter-spacing:-0.5em;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ------------------------------------------------------ */

@media print, screen and (min-width:768px){
* {
	font-style:normal;
	font-weight:normal;
	}

html {
  font-size: 62.5%; /*font-size:10px;*/
  -webkit-text-size-adjust: 100%;
  }

body {
	color: #333;
	background-color:#f2f2f2;
	margin: 0;
	padding: 0;
	font-size:1.4rem; /*font-size:12px;*/
	font-family: Arial, Roboto, “Droid Sans”, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, “游ゴシック”, YuGothic, sans-serif;
	background-position:top; background-repeat:no-repeat;
	}

img { border:0; }

li {
	list-style: none;
	margin: 0;
	padding: 0;
	letter-spacing:normal;
	}

button { border:0; padding:0; background:none; }

	
a { color: #333; text-decoration: none; }
a {color: #333; text-decoration: none; }
a:hover { color: #333; text-decoration:underline; }


.left { float:left; }
.right { float:right; }
.center { text-align:center; }
.tright { text-align:right; }

.fs10 { font-size:1.0rem; }
.fs12 { font-size:1.2rem; }
.fs14 { font-size:1.4rem; }
.fs16 { font-size:1.6rem; }
.fs18 { font-size:1.8rem; }
.fs20 { font-size:2.0rem; }
.fs28 { font-size:2.8rem; }

.f_bold { font-weight:bold; }
    
strong { font-weight:bold; }
em { font-style: oblique; }

.red { color:#83300F; }
.green { color:#005167; }

p { margin:20px 0 0 0; padding:0; line-height:165%; }
p a:link { color: #0066ff; text-decoration: underline; }
p a:visited {color: #0066ff; text-decoration: underline; }
p a:hover { color: #0066ff; text-decoration:none; }


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

#wrapper {
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	}

header {
	margin:0;
	padding:0;
	background-color:#F3F6F7;
	}
header nav { background-color:#004877; }
header nav ul { width:1120px; margin:0 auto; padding:0; font-size:1.4rem; display:flex; justify-content:space-between; align-items:center; }
header nav li { text-align:center; margin:0; }
	header nav li.logo { width:345px; text-align:left; }
	header nav li.logo img { width:280px; }
	header nav li:nth-child(2) { width:105px; }
	header nav li:nth-child(3) { width:95px; }
	header nav li:nth-child(4) { width:105px; }
	header nav li:nth-child(5) { width:135px; }
	header nav li:nth-child(6) { width:68px; }
	header nav li:nth-child(7) { width:90px; }
	header nav li:nth-child(8) { width:70px; }
	header nav li:nth-child(9) { width:107px; }
header nav li a { color:#fff; text-decoration:none; position:relative; height:100px; width:100%; display:flex; align-items:center; justify-content:center; }
header nav li a:hover { color:#7fd9ff; text-decoration:none; }
/*header nav li a:hover::after { content:''; display:block; position: absolute; bottom:0; width:100%; height:6px; background-color:#7fd9ff; }*/
header nav li.active a { color:#7fd9ff; }
	header nav li.logo a { padding:0 !important; }
	header nav li.logo a:hover { border:none; padding:0 !important; }

.base-container{ position:relative; }
.menu { display:flex; }
.menu-parent { }
.menu-parent_a { position:relative; }
.menu-parent_a.active::after { content: ""; display:inline-block; border-style:solid; border-width:0.8em 0 0.8em 1.0em; border-color: transparent transparent transparent #2080b3; transform: translateY(0.1em) scale(1.0) rotate(270deg); position:absolute; bottom:-3px; }
.menu-child { display:none; position: absolute; top:100%; left:0; width:100%; padding:30px 0; background-color:rgba(32,128,179,1.0); z-index:10; }
.toppage .menu-child { background-color:rgba(32,128,179,0.9); }
.menu-child_ul { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; }
.menu-child_li { flex:1; max-width:200px; min-width:200px; padding:5px 10px; }
.menu-child_li a { color:#fff !important; text-decoration:none; position:relative; height:50px; width:100%; display:flex; align-items:center; justify-content:center; border:1px solid #fff;  white-space:nowrap; }
.menu-child_li a:hover { background-color:#fff; color:#2080b3 !important; }
.menu-child_li a:hover::after { display:none; }

header .drawer-hamburger { display:none; }



footer {
	margin:0;
	padding:40px 0 0 0;
	background-color:#004877;
	color:#fff;
	font-size:1.2rem;
	position:relative;
	}
.footer { width:1120px; margin:0 auto; padding:0 0 40px 0; }
.footer .guide { float:left; width:414px; border-right:1px solid #336D92; padding-left:10px; padding-bottom:15px; }
	.footer .guide img { width:200px; }
	.footer .guide p { margin:50px 0 0 0 !important; padding:0; line-height:180%; color:#eee; }
	.footer .guide dl { margin:18px 0 0 0; padding:0; }
	.footer .guide dt { font-size:1.4rem; font-weight:bold; }
	.footer .guide dd { margin-top:5px; line-height:170%; color:#eee; }
	.footer .guide a { color:#fff; text-decoration:underline; }
	.footer .guide a:hover { text-decoration:none; }
.footer .link { margin-left:425px; }
	.footer .link ul { margin:0 0 0 50px; padding:0; float:left; }
	.footer .link li { margin:0 0 20px 0; padding:0; }
		.footer .link li:before { content:'▶'; color:#999; font-size:1.0rem; margin-right:5px;  }
		.footer .link ul.outsite li { background:url(/images/outsite_li.png) no-repeat left; }
		.footer .link ul.outsite li:before { content:''; margin-right:20px; }
	.footer .link li.line { margin-top:52px; }
	.footer .link li a { color:#eee; }
footer .totop { position:absolute; bottom:0; right:0; font-size:3.2rem; width:80px; }
footer .totop a { display:block; background-color:#BFD1DD; padding:24px 0; text-align:center; color:#004877; }

#map { width:100%; height:400px; }

#copyr { background-color:#fff; padding:50px 0; text-align:center; font-size:1.0rem; color:#004877; }

#main {
	width:100%;
	margin:0;
	padding:0;
	}

#title { background-color:#fff; margin:0; padding:20px 0; }

#title ul { width:1120px; margin:0 auto; padding:0 0 30px 0; font-size:1.2rem; }
#title li { }
#title li a { color:#0099cc; }

.contents { width:800px; min-height:400px; margin:0 auto; padding:60px 320px 100px 0; position:relative; }

.sidemenu { width:260px; margin:0; padding:0; position:absolute; top:82px; right:0; }
.sidemenu ul { background-color:#fff; margin-top:40px; }
	.sidemenu ul:nth-of-type(1) { margin-top:0; }
.sidemenu li { border-bottom:1px solid #EBEBEB; padding:4px; }
	.sidemenu li.active a { background-color:#004877; color:#fff; }
.sidemenu li a { display:block; padding:20px 0 20px 18px; }
.sidemenu li a:before { content:'▶'; margin-right:5px; color:#0099ff; font-size:1.0rem; vertical-align:middle; }
.sidemenu li a:hover { background-color:#004877; color:#fff; text-decoration:none; }
.sidemenu li ul.lower { background-color:#e2e6e9; }
.sidemenu li ul.lower li { border-bottom:none; padding:0 0 0 15px; }
.sidemenu li ul.lower li a { display:block; padding:20px 0 20px 18px; }
.sidemenu li ul.lower li a:before { content:'・'; margin-right:5px; color:#999; font-size:1.0rem; vertical-align:middle; }
.sidemenu li ul.lower li a:hover { background-color:#e2e6e9; color:#004877; text-decoration:none; }

.sidemenu h4 { background-color:#7fd9ff; font-size:3.2rem !important; font-weight:normal !important; text-align:center;
	padding:50px 0; color:#000; border:none; margin:0 !important; 
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
.sidemenu h4 span { font-size:1.6rem; }

h2 { width:1120px; margin:0 auto; padding:0; font-size:3.2rem; 
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
h3 { margin:80px 0 20px 0; padding:18px 28px; background-color:#fff; border-bottom:4px solid #004777; font-size:2.7rem; color:#004878;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
.contents h3:first-child { margin-top:0 !important; }

h5 { font-size:2.4rem; font-weight:bold; border-left:5px solid #ff6600; margin:80px 0 40px 2px; padding:0 0 0 8px; }
.contents h5:nth-of-type(1) { margin-top:30px !important; }

h6 { font-size:1.8rem; font-weight:bold; margin:60px 0 20px 0; padding:0; }

ol { margin:10px 0 50px 20px; padding:0; }
ol li { margin:20px 0; padding:0 0 0 10px; list-style-type:decimal; line-height:135%; }
ol li em { text-decoration:underline; }

/* --------------------------------------------------------------
  clearfix
-------------------------------------------------------------- */
header:after,
#main:after,
.information dd:after,
.footer .link:after,
.staff dl:after,
.contact dd:after,
.guideforout:before {
  height: 0;
  visibility: hidden;
  content: ".";
  display: block;
  clear: both;
  }



/* --------------------------------------------------------------
  トップページ
-------------------------------------------------------------- */

#topmain { background-position:top center; background-repeat:no-repeat; background-size:100%; width:100%; margin:0; padding-top:48%; position:relative; }

#topmain div.main { height:230px; margin-top:470px; position:absolute; bottom:0; width:100%; }
#topmain div.main ul { width:1120px; margin:0 auto; padding:0; font-size:1.2rem; }
#topmain div.main li { width:279px; display:inline-block; vertical-align:top; text-align:center; line-height:150%;
	border-left:1px solid #CCEEFD; margin:0; padding:20px 0 0 0; height:210px; }
	#topmain div.main li:nth-child(4) { width:278px; border-right:1px solid #CCEEFD; }
#topmain div.main li img { margin-bottom:18px; }
#topmain div.main li a { display:block; }

.topmain { width:1120px; margin:0 auto; padding:50px 0 0 0; }

.information { margin:0; padding:0; }
.information h3 { position:relative; }
	.information h3 span { position:absolute; top:18px; right:20px; font-size:1.3rem;
		font-family: Arial, Roboto, “Droid Sans”, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, “游ゴシック”, YuGothic, sans-serif; }
	.information h3 span i { margin-right:7px; }
	.information h3 span a { display:block; padding:7px 15px; border-radius:5px; background-color:#b5b5b5; color:#fff; }
	.information h3 span a:hover { background-color:#004777; text-decoration:none; }
.information dl { margin:0; padding:17px 0 15px 0; font-size:1.4rem; border-bottom:1px solid #ccc; width:100%; }
.information dt { float:left; width:150px; margin:0; padding:0 0 0 10px; }
	.information dt.cate { width:120px; background-color:#0099CC; text-align:center; color:#fff; font-size:1.2rem; padding:2px 0; }
.information dd { margin:0 0 0 320px; padding:0; }

.guideforout { margin:60px 0; padding:0; }
.guideforout table { width:970px; margin:0 auto; padding:0; font-size:1.4rem; line-height:150%; }
.guideforout th { background-color:#F8F8F8; padding:15px; border-left:4px solid #F2F2F2; border-bottom:4px solid #F2F2F2; vertical-align:middle; }
.guideforout td { background-color:#fff; padding:15px; border-left:4px solid #F2F2F2; border-bottom:4px solid #F2F2F2; vertical-align:top; }
.guideforout p.info { font-size:1.2rem; text-align:center; margin:5px 0; padding:0; }
.guideforout p.tosite { font-size:1.8rem; text-align:center; }
	.tosite i { margin-right:5px; }
	.tosite a { color:#0066ff; text-decoration:underline; }
	.tosite a:hover { color:#333; text-decoration:underline; }

.topbnr { background-color:#fff; padding:40px 0 30px 0; }
.topbnr ul { width:1040px; margin:0 auto; padding:0; }
.topbnr li { display:inline-block; width:200px; margin:0 10px 8px 0; padding:0; }
	.topbnr li:nth-child(5n) { margin-right:0; }



/* --------------------------------------------------------------
  各ページ
-------------------------------------------------------------- */

.photo { text-align:center; margin-bottom:50px; 
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif; }
.photo img { margin-bottom:10px; }
.photo .name { font-size:2.2rem; }

.photo_w { text-align:center; padding:20px 0; }

.photo_r { float:right; margin-left:20px; }


.staff { margin-bottom:50px; }
.staff h5 { font-size:2.5rem; font-weight:bold; background-color:#fff; margin:0; padding:20px 18px; border:none; }
	.staff h5 span { border-left:5px solid #ff6600; padding-left:8px; }
.staff dl { margin:1px 0 0 0; padding:0; background-color:#fff; line-height:120%; }
.staff dt { float:left; width:125px; margin:0; padding:20px; vertical-align:middle; }
.staff dd { margin:0 0 0 165px; padding:20px; border-left:1px solid #f2f2f2; }

.weekly-table table { width:100%; margin:15px 0; padding:0; border-top:1px solid #ccc; border-left:1px solid #ccc; line-height:120%; }
.weekly-table table th { padding:15px; background-color:#e5e5e5; border-bottom:1px solid #ccc; border-right:1px solid #ccc;
	vertical-align:middle; white-space:nowrap; }
.weekly-table table td { padding:15px; background-color:#fff; border-bottom:1px solid #ccc; border-right:1px solid #ccc; white-space:nowrap;
	font-size:1.2rem; }


table.style01 { width:100%; margin:15px 0; padding:0; border-top:1px solid #ccc; border-left:1px solid #ccc; line-height:120%; }
table.style01 th { padding:15px; background-color:#e5e5e5; border-bottom:1px solid #ccc; border-right:1px solid #ccc;
	vertical-align:middle; white-space:nowrap; }
table.style01 td { padding:15px; background-color:#fff; border-bottom:1px solid #ccc; border-right:1px solid #ccc; white-space:nowrap;
	font-size:1.2rem; }


pre { white-space: pre-wrap; word-wrap: break-word;
	font-family: Arial, Roboto, “Droid Sans”, “ヒラギノ角ゴ ProN W3”, “Hiragino Kaku Gothic ProN”, “メイリオ”, Meiryo, “游ゴシック”, YuGothic, sans-serif; }


.contact { }
.contact dl { margin:0; padding:0; border-bottom:1px dotted #ddd; }
	.contact dl:nth-child(1) { padding-top:0; }
.contact dt { float:left; margin:0; padding:15px 0; }
.contact dd { margin:0 0 0 200px; padding:15px 0; }
.contact div { padding:15px 0; text-align:center; }

.contact input[type="text"],
.contact input[type="email"],
.contact textarea { border:1px solid #ccc; padding:5px; }
.contact input[type="submit"] { background-color:#004777; margin:5px; padding:15px; width:300px; color:#fff; border:none; border-radius:5px; } 
.contact input.back { background-color:#ccc; }

.contact .text01 { width:300px; }
.contact .text02 { width:500px; }

.recruit-table table { width:100%; margin:15px 0; padding:0; border-top:1px solid #ccc; border-left:1px solid #ccc; line-height:120%; }
.recruit-table table th { padding:15px; background-color:#dadada; border-bottom:1px solid #ccc; border-right:1px solid #ccc;
	vertical-align:middle; white-space:nowrap; }
.recruit-table table td { padding:15px; border-bottom:1px solid #ccc; border-right:1px solid #ccc; white-space:nowrap;
	font-size:1.2rem; text-align:center; }
.recruit-table table tr:nth-child(2) { background-color:#e9e9e9; }





}

@media print, screen and (min-width:1280px){
#topmain div.main {background-color:rgba(127,217,255,0.9); }
}
@media screen and (min-width: 768px) and (max-width: 1279px){
#topmain div.main {background-color:rgba(127,217,255,1.0); }
}


ul.links li a { display:block; margin:3px 0; background-color:#fff; font-size:1.6rem; padding:20px; }
ul.links li a:hover { text-decoration:none; background-color:#DFE8F0; }

section+section { margin-top:50px; }
