@charset "UTF-8";
/* ------------------------------------------------------------ common */
body {
	min-width: 1100px;
}

#wrapper {
	overflow: hidden;
	padding: 100px 0 0;
}

a:link {
	color: #111;
	text-decoration: none;
}

a:visited {
	color: #111;
	text-decoration: none;
}

a:hover,
a:hover img,
input[type="submit"]:hover {
	color: #111;
	text-decoration: none;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

input[type="text"],
select,
textaera {
	border: 1px solid #b5b5b5;
	border-radius: inherit;
	outline: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
	padding: 0;
	border: none;
}

.inner {
	width: 1100px;
	margin: 0 auto;
}

.SP {
	display: none;
}

.btn {
	width: 200px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #051a50;
	color: #fff;
	border: solid 1px #000;
	padding: 0;
	box-sizing: border-box;
	font-size: 16px;
}

.btn.back {
	background: #fff;
	color: #000;
	border: solid 1px #000;
}

p {
	line-height: 2;
}

/* ------------------------------------------------------------ fonts */
@font-face {
   font-family: 'Noto-Sans-JP-Light';
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
 }
 @font-face {
    font-family: 'Noto-Sans-JP-DemiLight';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
 }
 @font-face {
    font-family: 'Noto-Sans-JP-Regular';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
  }
 @font-face {
    font-family: 'Noto-Sans-JP-Medium';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
 }
 
 @font-face {
    font-family: 'Noto-Sans-JP-Bold';
    src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
 
 }

/* ------------------------------------------------------------ header */
header {
	width: 100%;
	min-width: 1100px;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9;
}

header .flex_wrap {
	padding: 0 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: 100px;
	box-sizing: border-box;
}

header .flex_wrap .left {
	display: flex;
	align-items: center;
}

header .flex_wrap .left a img {
	margin: 0 20px 0 0;
}

header .flex_wrap .left h1 {
	font-size: 16px;
}

header .flex_wrap .right ul {
	display: flex;
	align-items: center;
}

header .flex_wrap .right ul li:not(:last-of-type) {
	margin: 0 30px 0 0;
}

header .flex_wrap .right ul li.mail a {
	color: #fff;
	background: url(../images/icn_03.svg) no-repeat 30px center #051a50;
	text-align: center;
	width: 200px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0 0 20px;
	box-sizing: border-box;
}

@media only screen and (max-width:1300px){
	header .flex_wrap .right {
		display: none;
	}
}

/* ------------------------------------------------------------ footer */
footer {
	background: #051a53;
	color: #fff;
	padding: 50px 0 20px;
}

footer .flex_wrap {
	display: flex;
	justify-content: space-between;
	margin: 0 0 60px;
}

footer a {
	display: table;
	color: #fff !important;
}

footer .flex_wrap .left a:not(:last-of-type) {
	margin: 0 0 20px;
}

footer .flex_wrap .left p {
	line-height: 1.7;
	margin: 0 0 20px;
}

footer .flex_wrap .right ul {
	display: flex;
}

footer .flex_wrap .right ul li:not(:last-of-type) {
	margin: 0 20px 0 0;
}

footer small {
	display: block;
	text-align: center;
	font-size: 12px;
}

/* ------------------------------------------------------------ mobile ------------------------------------------------------------ */
@media only screen and (max-width:640px){

/* ------------------------------------------------------------ common */
	body {
		min-width: 100%;
	}

	#wrapper {
		padding: 60px 0 0;
	}

	.inner {
		width: 90%;
		margin: 0 auto;
	}
	
	.PC {
		display: none;
	}
	
	.SP {
		display: block;
	}
	
	img {
		height: auto;
	}

	.btn {
		height: 45px;
		font-size: 14px;
	}

/* ------------------------------------------------------------ SP menu */
	body.isHidden {
		overflow: hidden;
	}
	
	.menu_contents {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		width: 100vw;
		height: 100vh;
		overflow: scroll;
	}
	
	#menuBtn {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
		margin: auto;
		z-index: 100;
		width: 30px;
		height: 30px;
		transition: .5s;
		background: none;
		cursor: pointer;
	}
	
	#menuBtn span {
	    display: block;
	    position: absolute;
	    top: calc((100% - 4px) / 2);
	    right: 0;
	    left: 0;
	    width: 100%;
	    height: 3px;
	    margin: auto;
	    background: #051a53;
	    transition: .2s;
	}
	
	#menuBtn.isOpen span {
		background: #fff;
	}
	
	.lineTop {
		transform: translateY(-10px);
	}
	
	.lineBottom {
		transform: translateY(10px);
	}
	
	.isOpen .lineTop {
		transform: rotate(45deg);
	}
	
	.isOpen .lineMiddle {
		opacity: 0;
	}
	
	.isOpen .lineBottom {
		transform: rotate(-45deg);
	}

/* ------------------------------------------------------------ header */
	header {
		min-width: 100%;
	}

	header .flex_wrap {
		padding: 0 5%;
		height: 60px;
		position: relative;
	}

	header .flex_wrap .left a img {
		margin: 0 10px 0 0;
		width: auto;
		height: 40px;
	}

	header .flex_wrap .left h1 {
		font-size: 12px;
		line-height: 1.3;
	}

	header .menu_contents  {
		background: url(../images/bg_01.jpg) no-repeat left top / auto 100vh;
	}

	header .menu_contents .logo {
		height: 60px;
		display: flex;
		align-items: center;
		padding: 0 5% 30px;
	}

	header .menu_contents .logo img {
		width: auto;
		height: 40px;
	}

	header .menu_contents li:not(:last-of-type) {
		margin: 0 0 30px;
	}

	header .menu_contents li a {
		font-size: 16px;
		color: #fff;
	}

	header .menu_contents li.mail a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 50px;
		font-size: 15px;
		background: #fff;
		color: #051a50;
	}

	header .menu_contents li.mail a span {
		padding: 0 0 0 30px;
		background: url(../images/icn_04.svg) no-repeat left center;
	}

/* ------------------------------------------------------------ footer */
	footer .flex_wrap {
		display: block;
		margin: 0 0 50px;
	}

	footer .flex_wrap .left {
		margin: 0 0 30px;
	}

	footer .flex_wrap .left a:not(:last-of-type) {
		margin: 0 0 10px;
	}

	footer .flex_wrap .left .logo img {
		width: auto;
		height: 40px;
	}

	footer .flex_wrap .left p {
		line-height: 1.5;
		margin: 0 0 10px;
	}

	footer .flex_wrap .right ul {
		display: block;
	}

	footer .flex_wrap .right ul li:not(:last-of-type) {
		margin: 0 0 15px;
	}

	footer small {
		font-size: 10px;
	}

}