@charset "UTF-8";

/*font*/
@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Prompt:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@900&family=Open+Sans:wght@600;700;800&display=swap');


/*
font-family: 'Fredoka One', cursive;
font-family: 'Prompt', sans-serif;
font-family: 'Open Sans', sans-serif;
font-family: 'Nunito', sans-serif;
*/

html { font-size: 62.5%; }
body{
	margin: 0;
	padding: 0;
	color: #000;
	font-size:16px;
	font-size:1.6rem;
	line-height:1.6;
	font-weight: 400;
	font-family: "Arial", "メイリオ";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-osx-font-smoothing: auto | grayscale; /*Firefox用*/
	background:#fff;
	position: relative;
}

/*========/ 共通 /========*/
html { font-size: 62.5%; }
img { width:auto; max-width:100%; height:auto; flex-shrink: 0 }

a{ color: #0070c0; text-decoration:none; transition: all .3s ease; }
a:hover{ color: #f8b62b; }
a:focus,
a:focus img,
button:focus {
	outline: none;
}

::selection {
	background: #0070c0;
	color: #FFF;
}
::-moz-selection {
	background: #0070c0;
	color: #FFF;
}

.fa{ margin-right:0.5rem; }
.smtOnly{ display: none; }
@media screen and (max-width: 950px) {
	.pcOnly{ display: none; }
	.smtOnly{ display: block; }
}


/*========/ header /========*/
header{
	width:100%;
	height:75px;
	display:flex;
	justify-content: space-between;
	background:#fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	transition: .3s;
}
header h1{ padding:8px 40px 0; box-sizing: border-box; transition: .3s; }
header h1 img{ width:100%; max-width:220px; height:auto; vertical-align: middle; }

@media screen and (min-width: 950px) {
	/*PC用メニュー*/
	header .navOpen{ display: none; }
	header nav{ width:100%; max-width:calc( 100% - 346px ); min-width:700px; font-weight:700; }
	header nav > ul{ 	height:100%; margin:0 auto; display:flex; justify-content: flex-end; align-items: center; }
	header nav > ul > li > a{
		height:75px;
		padding: 0 25px;
		display: block;
		color: #0c5987;
		line-height:75px;
		position: relative;
	}
	header nav > ul > li > a.active{ color: #f8b62b; }
	header nav > ul > li > a.active::after,
	header nav > ul > li > a:hover::after{
		content:"";
		width:calc( 100% - 50px );
		height:2px;
		display:block;
		background:#f8b62b;
		position: absolute;
		bottom:20px;
	}
	header nav > ul > li:nth-last-of-type(1) > a{
		height:65px;
		padding: 10px 20px 0;
		text-align:center;
		color:#f8b62b;
		line-height:1.2;
		background:#0c5987;
	}
	header nav > ul > li:nth-last-of-type(1) a::before{
		content: "\e904";
		display: block;
		font-size:24px;
		font-family: 'icomoon';
	}
	header nav > ul > li:nth-last-of-type(1) > a:hover{
		color:#0c5987;
		background:#f8b62b;
	}
	header nav > ul > li:nth-last-of-type(1) > a.active::after,
	header nav > ul > li:nth-last-of-type(1) > a:hover::after{ display:none; }

	header nav ul .open{ display: flex; }
	header nav ul ul{
		width: 100%;
		margin: auto;
		padding: 30px 50px;
		display: none;
		justify-content: center;
		background: rgba(255,255,255,0.9);
		position: absolute;
		top: 75px;
		left: 0;
		right: 0;
		z-index: 10;
		box-sizing: border-box;
	}
	header nav ul ul li + li{ padding-left: 40px; }
	header nav ul ul li a{
		color: #002060;
		position: relative;
	}
	header nav ul ul li a.active,
	header nav ul ul li a:hover{ color: #0070c0; }
	header nav ul ul li a.active::after,
	header nav ul ul li a:hover::after{
		content:"";
		width:100%;
		height:2px;
		display:block;
		background:#0070c0;
		position: absolute;
		bottom:-10px;
	}
}

/*スクロール後*/
header.is-animation{
	height:60px;
	background:rgba(255,255,255,.95);
}
header.is-animation h1{ padding:0 40px; }
@media screen and (min-width: 950px) {
	/*PC用メニュー*/
	header.is-animation nav > ul > li:nth-last-of-type(1) > a{
		height:55px;
		padding: 5px 20px 0;
	}
	header.is-animation nav ul ul{ padding: 15px 50px; top: 60px; }
	header .smtMail{ display:none; }
}

@media screen and (max-width: 970px) {
	header.is-animation{
		height:52px;
		background:rgba(255,255,255,.95);
	}
	header.is-animation h1{ padding:0 10px; }
	header{
		height:52px;
		background:#fff;
	}
	header h1{ padding: 0px 10px; }
}
@media screen and (max-width: 950px) {
/*バーガーメニューに変更*/

	/*ハンバーガーメニューを開いている間背景を固定*/
	html.active{
		width: 100%;
		height: 100%;
		position: fixed;
	}
	header h1{
		max-width: calc(100% - 52px);
		display: flex;
		align-items: center;
		box-sizing: border-box;
		position: relative;
		z-index:200;
	}
	header .smtMail{
		width: 52px;
		height: 52px;
		display: block;
		position: absolute;
		top: 0;
		right: 52px;
		z-index: 400;
	}
	header .smtMail a{
		width: 52px;
		height: 47px;
		padding-top:5px;
		display: block;
		text-align:center;
		font-size:30px;
		background: #0c5987;
	}
	header .smtMail .icon-mail:before{ color:#f8b62b; }
	header .navOpen{
		width: 52px;
		height: 52px;
		display: block;
		background: #fff;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 400;
	}
	header .navOpen.active{ position: fixed; }
	header .navOpen span{
		width: 34px;
		height: 3px;
		margin: auto;
		border-radius: 50px;
		background: #002060;
		position: absolute;
		left: 0;
		right: 0;
		transition: 0.5s;
		z-index: 400;
	}
	header .navOpen span:nth-of-type(1){ top: 15px; }
	header .navOpen span:nth-of-type(2){ top: 25px; }
	header .navOpen span:nth-of-type(3){ top: 35px; }
	header .navOpen.active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg); }
	header .navOpen.active span:nth-of-type(2){ opacity: 0; }
	header .navOpen.active span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg); }
	header nav{
		width: 100%;
		min-width: 0;
		max-width: 100%;
		height: calc( 100vh - 70px );
		padding: 20px 0 50px;
		display:none;
		position: fixed;
		left: 0;
		top: 52px;
		z-index: 1005;
		background: #002060;
		overflow-y: scroll;
	}
	header nav.active,
	header nav ul,
	header nav ul ul{ display: block; }
	header nav > ul{
		height: 1000px;
		padding: 0 30px;
		box-sizing: border-box;
	}
	header nav > ul > li{ padding: 15px 0; }
	header nav > ul li a{ color: #fff; }
	header nav > ul > li > a{
		width: 100%;
		padding-bottom: 5px;
		display: block;
		border-bottom: 2px solid #fff;
		font-size: 2.2rem;
		font-weight: 700;
	}
	header nav ul ul{ position: static; }
	header nav ul ul li{ margin-top: 15px; }
	header nav ul ul li a::before{
		content: "\e901";
		width: 30px;
		display: inline-block;
		font-size: 10px;
		font-family: 'icomoon';
		transform: scale(0.6);
	}
}

#TitleBlock{ padding-top:75px; }

@media screen and (max-width: 970px) {
	#TitleBlock{ padding-top:52px; }
}

/*========/ Footer /========*/
footer{ margin-top:130px; position: relative; }
footer .pagetop{
	width: 41px;
	position: fixed;
	bottom: 20px;
	right: 40px;
}
footer .pagetop img{ display: block; transition: .4s; }
footer .pagetop:hover a img{ margin-bottom: 20px; }
footer .pagetop.footerStop{
	position: absolute;
	top: -60px;
	bottom: inherit;
}
footer .pagetop.footerStop:hover a img{ margin: -20px 0 0; }
footer nav > div{
	width:950px;
	margin:0 auto;
	padding:30px 0;
	display:flex;
	justify-content: space-between;
}
footer nav > div > ul{ width:calc( 100% / 3 ); }
footer nav > div > ul > li{ margin-bottom:1em; }
footer nav > div > ul li li{ margin:.3em 0 0 1.5em; }
footer nav > div > ul li li::before{
	content: "\e901";
	margin-right:.5em;
	display:inline-block;
	color:#fff;
	font-size:10px;
	font-family: 'icomoon';
	transform: scale(0.7);
}
footer nav > div a{ color:#fff; }
footer nav > div a:hover{ color:#f8b62b; }


/*見田工作サイトマップ*/
#mitaSitemap{
	border-top:2px #f8b62b solid;
	font-size:15px;
	font-size:1.5rem;
	line-height:1.3;
	background:#002060;
}
#mitaSitemap> div > ul > li::before{
	content: "\e903";
	margin-right:.5em;
	display:inline-block;
	color:#fff;
	font-family: 'icomoon';
}

/*会社情報*/
footer > section{
	width:950px;
	margin:0 auto;
	padding:30px 0;
	display:flex;
	justify-content: space-between;
}
footer section .address{
	display:flex;
	font-size:16px;
	font-size:1.6rem;
}
footer section .address address{
	margin-right:1em;
	font-style:normal;
}
footer section .address ul{
	list-style:none;
}
footer section .address + p{
	margin-top:.8em;
	text-align:right;
	font-size:12px;
	font-size:1.2rem;
}
footer section .address + p a{ color:#0b0b0b; }
footer section .address + p a:hover{ color:#f8b62b; }
footer section .address + p a::before{
	content: "\e900";
	display:inline-block;
	font-family: 'icomoon';
}

footer small{
	padding:10px 0;
	display:block;
	text-align:center;
	color:#fff;
	font-size:12px;
	font-size:1.2rem;
	background:#002060;
}

@media screen and (max-width: 995px) {
	footer section .address{ display:block; }
}
@media screen and (max-width: 966px) {
	footer nav > div { width:100%; }
	footer > section { width:100%; box-sizing: border-box; }
	footer .pagetop{ right: 10px; }
}
@media screen and (max-width: 650px) {
	footer > section{ padding:10px; display:block; }
	footer section .address{ margin-top:20px; }
}
@media screen and (max-width: 550px) {
	footer nav > div{ display:block; }
	footer nav > div > ul{ width: 100%; padding:0 20px; box-sizing: border-box; }
}