@charset "utf-8";

/* 文書全体 */
* {
	margin: 0px;
	padding:0;
}

html {
	font-size: 62.5%;
}

/* 全てのスクリーンサイズで適用する設定 */
/* body */
body {
	font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', sans-serif;
	text-align: left;
	background:#fff;
	color: #333333;
	line-height:1.6;
	font-size:1.6rem
}


img {
	border-style: none;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: #0000ee;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-ms-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}


@media screen and (max-width: 749px) {
	.sp_none {
		display: none !important;
	}
}

@media screen and (min-width: 750px) {
	.pc_none {
		display: none !important;
	}
}

header {
	width: 100%;
	margin: auto;
	background: #000029;
	padding: 1.6em 0;
}

header .head{
	max-width: 1080px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

header h1{
	font-family: 'Roboto Condensed', sans-serif;
	font-size:2.6em;
}

header a{
	color:#fff
}


header ul{
	display: flex;
	list-style-type: none;
}

header ul li{
	margin: 0 .4em;
}

@media screen and (max-width: 749px) {
header {
	padding: 1em 1em .4em;
	box-sizing: border-box;
}


header h1 {
	font-size: 2em;
	margin-bottom: .4em;
}

#bl_hamburgerLine {
	position: absolute;
	right: 14px;
	top: 28px;
	width: 36px;
	z-index: 1000;
}

#bl_hamburgerLine span {
	display: block;
	position: absolute;
	right: 0;
	background-color: #fff;
	height: 2px;
	top: 50%;
	width: 100%;
	transition: .3s;
}

#bl_hamburgerLine span:first-of-type {
	top: 10px;
}

#bl_hamburgerLine span:last-of-type {
	top: 20px;
}

/* クリックした時 */
#bl_hamburgerLine.active {
	z-index: 1001;
}

#bl_hamburgerLine.active span {
	background-color: #fff;
}

#bl_hamburgerLine.active span:first-of-type {
	display: none;
}

#bl_hamburgerLine.active span {
	transform: rotate(-135deg);
	top: 20px;
}

#bl_hamburgerLine.active span:last-of-type {
	transform: rotate(135deg);
	top: 20px;
}

/* ハンバーガー展開時の中身 */
#bl_hamburgerMenu {
	display: none;
	position: absolute;
	width: 100%;
	background-color: rgb(0, 4, 36, .9);
	color: #fff;
	padding-top: 24px;
	height: 50vw;
	overflow-y: scroll;
	top: 0;
	left: 0;
	z-index: 100;
}

.bl_hamburgerMenu_list {
	flex-direction: column;
	text-align: center;
}

.bl_hamburgerMenu_list li {
	margin-top: 20px;
}
}


.slide {
	margin-bottom: 1em;
}

.slide .inner{
	position: relative;
}

.slide .images {
	position: relative;
}

.slide .images img{
	width: 100%;
}

.slide .images::after {
	content: "";
	width: 100%;
	height: 100%;
	background: rgb(0, 0, 41,.6);
	position: absolute;
	top: 0;
	left: 0;
}

.slide .inner .txt {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin: auto;
	text-align: center;
	color: #fff;
	font-size:3.4em;
	line-height: 2;
	transform: translateY(-50%);
}
.content {
	max-width: 750px;
	margin: auto;
}

.content p {
	text-align: center;
	margin-bottom: 1.2em;
}

.content .txt1 {
	font-weight: bold;
	font-size: 1.4em;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}

@media screen and (max-width: 749px) {
.slide .inner .txt {
	font-size: 1.6em;
	margin: 0 .6em;
}

.content p {
	margin: 0 .6em 1.2em;
}
}

section h2{
	background: linear-gradient(to bottom, rgba(0, 0, 41, .7), rgba(0, 0, 41, .7)),
		url("../img/images_bg.png") ;
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
	text-align: center;
	padding: .6em 0;
	margin:1em 0 .6em;
	font-size: 3em;
	color: #fff;
	line-height: 1.2;
	font-family: 'Roboto Condensed', sans-serif;
}

section h2 span {
	display: block;
	position: relative;
	font-size: .9em;
	font-weight: normal;
}

@media screen and (max-width: 749px) {
section h2 {
	padding: .5em 0;
	line-height: 1.1;
	margin: .6em 0;
	font-size: 2.6em;
}
section h2 span {
	font-size: .7em;
}
}
.content .service_box{
	display: flex;
	margin-bottom: 3em;
}

.content .service_box .service_txt{
	width: 50%;
	text-align: left;
}

.content .service_box .service_txt p{
	text-align: left;
	font-size: .9em;
}
.content .service_box .service_txt .txt2 {
	text-align: center;
	font-weight: bold;
	font-size: 1.2em;
	font-family: "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
}

.content .service_box .service_images {
	width: 50%;
	margin-left:.8em;
}

.content .reverse {
	flex-direction:row-reverse;
}

.content .reverse .service_images{
	margin:0 .8em 0 0 ;
}

@media screen and (max-width: 749px) {
.content .service_box {
	flex-direction:column-reverse;
	margin: .6em;
}

.content .service_box img{
	width: 96%;
	margin: auto;
}
.content .service_box .service_images{
	width: 100%;
	margin: 0 0 1em;
	text-align: center;

}
.content .service_box .service_txt{
	width: 100%;
}
.content .service_box .service_txt .txt2 {
	text-align: left;
}
}

.about_flex{
	display: flex;
	justify-content: center;
}

.about_flex .left {
	text-align: right;
	width: 30%;
	margin: 0 1.5em 1em;
	font-size: 1.2em;
	font-weight: bold;
}

.about_flex .right {
	text-align: left;
	width: 50%;
	margin: 0 1.5em 1em;
	font-size: 1.1em;
}

footer {
	margin-top: 1em;
	padding: .8em 0;
	background: #000029;
	color: #fff;
	text-align: center;
	font-size: .8em;
}