@charset "UTF-8";

/**
 * 【css Navigation】
 *
 * 1.0 common
 *   1.1 base
 *   1.2 layout
 *   1.3 header
 *   1.4 gNavi
 *   1.5 contentsHeader
 *   1.6 contents
 *   1.7 side
 *   1.8 contentsFooter
 *   1.9 footer
 *   1.10 title
 */

/* =========================================================

	1.0 common

========================================================= */
/* ---------------------------------------------------------
	1.1 base
--------------------------------------------------------- */
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100; }
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200; }
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300; }
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400; }
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold; }

body {
	position: relative;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴPro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	min-width: 1300px;
	color: #ffffff;
	font-size: 1.6rem; }
#wrapper {
	background: url('../images/body_bg.png') no-repeat 100% 0 #013DBF;
	overflow: hidden; }
.lead-site {
	position: absolute;
	top: 120px;
	left: 18px;
	z-index: 9;
	color: #000000;
	font-size: 1.2rem;
	text-align: left;
	-webkit-font-feature-settings: 'pkna';
	        font-feature-settings: 'pkna';
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}
/* width */
.outer {
	min-width: 1300px;
	/* max-width: 1620px; */
	margin: 0 60px;
	text-align: left; }
.inner {
	width: 1140px;
	margin: 0 auto;
	text-align: left; }
/* link */
a:link,
a:visited {
	color: #2331b8; }
a:hover,
a:active {
	color: #2331b8; }
/* font color */
.fcRed {
	/*color: #ff0000;*/ }
/* display */
.sp_display {
	display: none; }
.pc_display {
	display: block; }
@media only screen and (max-width: 750px) {
	body {
		min-width: 100%;
		background: url('../images/body_bg_sp.png') no-repeat 0 0 #013DBF;
		background-size: 100% auto;
		font-size: 1.4rem;
	}
	.lead-site {
		background-color: #000033;
		position: static;
		padding: 10px 3%;
		color: #ffffff;
		font-size: 1.1rem;
		font-weight: normal;
		text-align: center;
		-webkit-font-feature-settings: 'pkna';
		        font-feature-settings: 'pkna';
		-webkit-writing-mode: horizontal-tb;
		    -ms-writing-mode: tb-rl;
		        writing-mode: horizontal-tb;
	}
	#wrapper {
		overflow: hidden; }
	/* width */
	.outer {
		width: 94%;
		min-width: auto;
		max-width: auto;
		margin: 0 auto; }
	.inner {
		width: 88%; }
	/* display */
	.sp_display {
		display: block; }
	.pc_display {
		display: none; }
}
/* ---------------------------------------------------------
	1.2 layout
--------------------------------------------------------- */
#contents {}
@media only screen and (max-width: 750px) {
	#contents {
		/* padding: 50px 0 0; */ }
}
/* ---------------------------------------------------------
	1.3 header
--------------------------------------------------------- */
/* header */
#header {
	background: url("../images/header_bg.png") no-repeat 100% 0 #013DBF;
	min-width: 1300px;
	height: 120px; }
	.header_logo {
		float: left;
		margin: 39px 0 0 60px; }
	.header_contact {
		float: right;
		width: 220px;
		color: #FFF;
		margin: 22px 0 0 40px; }
		.header_contactTel {
			background: url("../images/header_icn-tel.png") no-repeat 0 50%;
			padding: 0 0 0 32px;
			color: #FFF600;
			font-size: 2.6rem;
			letter-spacing: 0.05em; }
			.header_contactTel a {
				color: #FFF600;
				text-decoration: none; }
		.header_contactTime {
			padding: 6px 0 0 21px;
			font-size: 1.2rem;
			letter-spacing: 0.05em; }
			.header_contactTime span {
				display: inline-block;
				margin: 0 8px 0 0;
				padding: 0 5px;
				font-size: 1.0rem;
				border: solid 1px #FFF;
				vertical-align: 1px; }
	#gNavi {
		float: right;
		margin: 50px 0 0; }
		#gNavi ul {}
			#gNavi li {
				float: left;
				margin: 0 25px; }
				#gNavi a {
					display: block;
					position: relative;
					color: #FFF;
					font-weight: bold;
					text-decoration: none; }
				#gNavi a:hover {
					color: #FFF600;
					text-decoration: none; }
				#gNavi a::before,
				#gNavi a::after {
					display: inline-block;
					position: absolute;
					bottom: -5px;
					width: 0;
					height: 2px;
					content: "";
					background: #fff600;
					transition: .3s; }
				#gNavi a:before {
					left: 50%; }
				#gNavi a:after {
					right: 50%; }
				#gNavi a:hover:before,
				#gNavi a:hover:after {
					width: 50%; }
.header_fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 74px !important;
	z-index: 999999;
	box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.39); }
	.header_fixed .header_logo {
		margin: 17px 0 0 60px; }
	.header_fixed .header_contact {
		margin: 0 0 0 40px; }
	.header_fixed #gNavi {
		float: right;
		margin: 28px 0 0; }
@media only screen and (max-width: 750px) {
	#header {
		background: url("../images/header_bg_sp.png") no-repeat 0 0 #013DBF;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
		min-width: auto;
		height: 60px; }
	.header_logo {
		float: left;
		width: 190px;
		margin: 15px 3% 0; }
	.header_fixed {
		height: 60px !important; }
		.header_fixed .header_logo {
			margin: 15px 3% 0; }
	#header .menu {
		position: absolute;
		top: 0;
		right: 0;
		width: 60px;
		height: 60px;
		z-index: 9999999; }
		#header .menu_btn {
			display: inline-block;
			position: relative;
			width: 100%;
			height: 100%; }
			#header .menu_btnIcon {
				display: block;
				position: absolute;
				top: 50%;
				left: 50%;
				width: 30px;
				height: 2px;
				margin: -1px 0 0 -15px;
				background: #FFF;
				transition: .2s; }
			#header .menu_btnIcon::before,
			#header .menu_btnIcon::after {
				display: block;
				content: "";
				position: absolute;
				top: 49%;
				left: 0;
				width: 30px;
				height: 2px;
				background: #FFF;
				transition: .3s; }
			#header .menu_btnIcon::before {
				margin-top: -11px; }
			#header .menu_btnIcon::after {
				margin-top: 9px; }
		/* open */
		#header .menu_btnOpen {}
			#header .menu_btnIconOpen {
				background: transparent; }
			#header .menu_btnIconOpen::before,
			#header .menu_btnIconOpen::after {
				margin-top: -1px; }
			#header .menu_btnIconOpen::before {
				transform: rotate(-45deg);
				-webkit-transform: rotate(-45deg);
				background: #fff600; }
			#header .menu_btnIconOpen::after {
				transform: rotate(-135deg);
				-webkit-transform: rotate(-135deg);
				background: #fff600; }
	#header .menu_list {
		background: rgba(255, 255, 255, 0.95);
		display: none;
		overflow: auto;
		position: fixed;
		top: 60px;
		left: 0;
		z-index: 999999;
		width: 100%;
		height: 100%;
		padding: 0 0 70px; }
		#header .menu_list ul {
			padding: 0 20px 10px; }
			#header .menu_list ul li {
				border-bottom: solid 1px #646464; }
				#header .menu_list ul li.menuTtl-non {
					padding: 15px 15px 15px 10px;
					color: #000;
					font-weight: bold; }
				#header .menu_list ul li.menuTtl a {
					background: url("../images/menu_arw-ttl.png") no-repeat 10px 19px;
					background-size: auto 14px;
					display: block;
					padding: 15px 15px 15px 30px;
					color: #000;
					font-weight: bold;
					text-decoration: none; }
				#header .menu_list ul li.menuSub a {
					background: url("../images/menu_arw-sub.png") no-repeat 25px 15px;
					background-size: auto 12px;
					display: block;
					padding: 10px 15px 10px 40px;
					color: #000;
					text-decoration: none; }
}
/* ---------------------------------------------------------
	1.5 contentsHeader
--------------------------------------------------------- */
#contentsHeader {
	position: relative;
}
/* breadcrumb */
.breadcrumb {}
	.breadcrumb_txt {
		padding: 25px 0;
		font-size: 1.2rem;
		text-align: right; }
	.breadcrumb a {
		color: #FFF;
		text-decoration: none; }
	.breadcrumb a:hover {
		text-decoration: underline; }
@media only screen and (max-width: 750px) {
	.breadcrumb_txt {
		padding: 15px 0; }
}
/* ---------------------------------------------------------
	1.6 contents
--------------------------------------------------------- */
/* Google Font */
.gF-oswald {
	font-family: 'Oswald', sans-serif; }
/* Font Weight */
.fW-extraLight {
	font-weight: 200; }
.fW-light {
	font-weight: 300; }
.fW-regular {
	font-weight: 400; }
.fW-medium {
	font-weight: 500; }
.fW-semiBold {
	font-weight: 600; }
.fW-bold {
	font-weight: 700; }
/* lead */
.lead {
	color: #FFF;
	font-weight: bold;
	text-align: center; }
.lead-medium {}
@media only screen and (max-width: 750px) {
	.lead {
		text-align: left; }
		.lead br {
			display: none; }
}
/* table01 */
.table01 {}
	.table01 table {}
		.table01 tbody th {
			padding: 24px 20px;
			color: #2330BC;
			font-size: 1.4rem;
			font-weight: bold;
			border-bottom: solid 1px #003dbf; }
		.table01 tbody tr:first-child th {
			border-top: solid 1px #003dbf; }
		.table01 tbody td {
			padding: 24px 0 24px 30px;
			color: #000000;
			font-size: 1.6rem;
			border-bottom: solid 1px #cccccc; }
		.table01 tbody tr:first-child td {
			border-top: solid 1px #cccccc; }
			.table01 tbody td span {
				font-weight: bold; }
@media only screen and (max-width: 750px) {
	.table01 tbody th {
		display: block;
		width: 100%;
		padding: 10px 0;
		border: solid #003dbf;
		border-width: 1px 0 0; }
	.table01 tbody td {
		display: block;
		width: 100%;
		padding: 10px 0;
		border: solid #cccccc;
		border-width: 1px 0 0;
		font-size: 1.4rem; }
	.table01 tbody tr:last-child td {
		border-bottom: solid 1px #003dbf; }
}
/* table scroll */
@media only screen and (max-width: 750px) {
	.tableScroll {
		overflow: auto;
		white-space: nowrap; }
	.tableScroll::-webkit-scrollbar {
		height: 5px; }
	.tableScroll::-webkit-scrollbar-track {
		background: #F1F1F1; }
	.tableScroll::-webkit-scrollbar-thumb {
		background: #BCBCBC; }
}
/* お問い合わせ */
.contact {}
	.contact_bg {
		background: url("../images/contact_bg-01.jpg") no-repeat 0 0;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
		padding: 75px 0 60px; }
		.contact_ttl {
			padding: 0 0 20px;
			color: #FFF;
			font-size: 2.4rem;
			text-align: center; }
		.contact_list {
			display: flex;
			flex-wrap: wrap;
			padding: 60px 0 0; }
			.contact_item {
				width: calc(100% / 3);
				padding: 10px 20px 40px;
				color: #FFF;
				text-align: center;
				border: solid rgba(245, 245, 251, 0.3);
				border-width: 1px 0 1px 1px; }
			.contact_item:last-child {
				border-width: 1px; }
				.contact_txt {
					font-size: 2.4rem;
					text-align: left;
					letter-spacing: 0.05em; }
				.contact_icn {}
				.contact_item-tel .contact_icn {
					padding: 6px 0 0; }
				.contact_item-mail .contact_icn {
					padding: 14px 0 0; }
				.contact_item-line .contact_icn {}
				.contact_tel {
					padding: 20px 0 0;
					color: #FFEB0F;
					font-size: 3.4rem;
					letter-spacing: 0.05em; }
					.contact_tel a {
						color: #FFEB0F;
						text-decoration: none; }
				.contact_time {
					padding: 10px 0 0;
					font-size: 1.2rem; }
					.contact_time span {
						display: inline-block;
						margin: 0 8px 0 0;
						padding: 0 5px;
						font-size: 1.0rem;
						vertical-align: 1px;
						border: solid 1px #FFF; }
				.contact_btn {
					width: 310px;
					margin: 0 auto;
					padding: 45px 0 0; }
					.contact_btn a {
						display: block;
						position: relative;
						z-index: 1;
						width: 100%;
						height: 100%;
						padding: 16px 35px;
						color: #003dbf;
						background-color: #fff600;
						color: #003dbf;
						font-size: 1.8rem;
						font-weight: bold;
						text-decoration: none;
						text-align: center;
						vertical-align: middle; }
					.contact_btn a::after {
						position: absolute;
						top: 50%;
						right: 20px;
						margin: -10px 0 0;
						content: url('../images/contact_icn-arw.png'); }
					.contact_btn a::before {
						position: absolute;
						top: 0;
						right: 0;
						z-index: -1;
						width: 0;
						height: 100%;
						font-size: 1.8rem;
						content: '';
						background: #ffffff;
						transition: all 0.3s cubic-bezier(0.42, 0, 0.58, 1); }
					.contact_btn a:hover::before {
						left: 0;
						right: auto;
						width: 100%; }
				.contact_qr {
					padding: 12px 0 0; }
@media only screen and (max-width: 750px) {
	.contact_bg {
		background: url("../images/contact_bg-01.jpg") no-repeat 0 0;
		-webkit-background-size: cover;
		     -o-background-size: cover;
		        background-size: cover;
		padding: 30px 0 20px; }
		.contact .lead br {
			display: inline-block; }
		.contact_list {
			padding: 30px 0 0; }
			.contact_item {
				width: 100%;
				padding: 5px 10px;
				border-width: 1px 1px 0 1px;
				letter-spacing: -0.5em; }
				.contact_txt {
					display: inline-block;
					width: 12%;
					font-size: 1.3rem;
					letter-spacing: normal;
					vertical-align: top; }
				.contact_icn {
					display: inline-block;
					width: 13%;
					letter-spacing: normal;
					vertical-align: middle; }
				.contact_item-tel .contact_icn,
				.contact_item-mail .contact_icn,
				.contact_item-line .contact_icn {
					padding: 0; }
				.contact_cont {
					display: inline-block;
					width: 71%;
					margin: 0 0 0 4%;
					padding: 10px 0;
					letter-spacing: normal;
					vertical-align: middle; }
					.contact_tel {
						padding: 0;
						font-size: 2.4rem; }
					.contact_time {
						padding: 0px 0 0;
						font-size: 1.0rem; }
						.contact_time span {
							font-size: 0.8rem; }
					.contact_btn {
						width: 100%;
						padding: 8px 10px; }
						.contact_btn a {
							font-size: 1.3rem;
							padding: 10px 25px; }
						.contact_btn a::after {
							position: absolute;
							top: 50%;
							right: 10px;
							margin: -10px 0 0;
							content: url('../images/contact_icn-arw.png'); }
}
/* ---------------------------------------------------------
	1.9 footer
--------------------------------------------------------- */
#footer {
	background: #003;
	padding: 60px 0 40px;
	color: #FFF;
	text-align: center; }
	#footer a {
		color: #FFF; }
	.footer_txt {
		padding: 0 0 15px;
		font-size: 1.4rem;
		font-weight: bold; }
	.footer_logo {}
	.footer_data {
		padding: 35px 0 0; }
		.footer_dataTxt {
			font-size: 1.3rem; }
	.copyright {
		padding: 65px 0 0;
		color: #7979A8;
		font-size: 1.0rem;
		letter-spacing: 0.15em; }
@media only screen and (max-width: 750px) {
	#footer {
		padding: 40px 0 82px; }
		.footer_txt {
			padding: 0 0 10px; }
		.footer_data {
			padding: 30px 0 0; }
		.copyright {
			padding: 35px 0 0; }
}
.sns {
	position: fixed;
	right: 20px;
	bottom: 100px;
	z-index: 99999; }
	.sns_list {}
		.sns_list ul {}
			.sns_list li {
				width: 64px;
				height: 64px;
				margin: 0 0 5px; }
				.sns_list a {
					background: #165CEF;
					display: table-cell;
					width: 64px;
					height: 64px;
					color: #FFF600;
					text-decoration: none;
					vertical-align: middle;
					-webkit-border-radius: 50%;
					        border-radius: 50%;
					box-shadow: 2px 2px 6px 0px rgba(0, 0, 0, 0.39); }
					.sns_icn {}
					.sns_txt {
						font-size: 12px;
						letter-spacing: 0.1em;
						text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.39); }
					.sns_txt.min {
						font-size: 9px; }
@media only screen and (max-width: 750px) {
	.sns {
		background: rgb(22,92,239);
		background: -webkit-linear-gradient(left,  rgba(22,92,239,1) 0%,rgba(4,77,232,1) 100%);
		background:    -moz-linear-gradient(left,  rgba(22,92,239,1) 0%, rgba(4,77,232,1) 100%);
		background:         linear-gradient(to right,  rgba(22,92,239,1) 0%,rgba(4,77,232,1) 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#165cef', endColorstr='#044de8',GradientType=1 );
		width: 100%;
		left: 0;
		bottom: 0; }
		.sns_list {
			box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.39); }
			.sns_list ul {
				display: flex;
				text-align: center;
				letter-spacing: normal; }
				.sns_list li {
					display: block;
					width: calc(100% / 6);
					height: auto;
					margin: 0;
					vertical-align: bottom;
					letter-spacing: normal; }
					.sns_list a {
						display: block;
						width: 100%;
						height: 100%;
						padding: 10px 0;
						vertical-align: bottom;
						-webkit-border-radius: 0;
						        border-radius: 0;
						box-shadow: none; }
					.sns_list li:nth-child(odd) a {
						background: #165cef; }
					.sns_list li:nth-child(even) a {
						background: #044de8; }
						.sns_icn {}
						.sns_txt {
							padding: 4px 0 0;
							font-size: 10px;
							letter-spacing: 0.1em;
							text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.39); }
					.sns_txt.min {
						font-size: 10px; }
}
.pagetop-fixed {
	position: fixed;
	bottom: 0;
	right: -88px;
	z-index: 999;
	width: 88px;
	height: 100px;
	transform: skewX(-41.4deg);
	transform-origin: top right;
	box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.39); }
	.pagetop a {
		background: #003DBF;
		position: relative;
		display: block;
		width: 88px;
		height: 100px;
		color: #FFF;
		font-size: 16px;
		line-height: 1;
		letter-spacing: 0.08em;
		text-decoration: none; }
		.pagetop span {
			display: inline-block;
			position: absolute;
			bottom: 20px;
			left: 24px;
			transform: skewX(41.4deg); }
@media only screen and (max-width: 750px) {
	.pagetop-fixed {
		position: fixed;
		bottom: 62px;
		right: -56px;
		width: 56px;
		height: 64px; }
	.pagetop-absolute {
		position: absolute;
		bottom: 62px;
		right: -56px;
		width: 56px;
		height: 64px;
		transform: skewX(-41.4deg);
		transform-origin: top right; }
		.pagetop a {
			width: 56px;
			height: 64px;
			font-size: 12px; }
			.pagetop span {
				bottom: 12px;
				left: 14px; }
}
/* ---------------------------------------------------------
	1.10 title
--------------------------------------------------------- */
/* pageTtl */
.pageTtl {
	padding: 0 0 0 60px; }
	.pageTtl_bg {
		min-height: 400px;
		padding: 0 60px 0 0;
		text-align: center; }
		.pageTtl_en {
			padding: 140px 0 0;
			font-size: 6.0rem;
			letter-spacing: 0.1em; }
		.pageTtl_ja {
			font-size: 1.8rem;
			font-weight: bold;
			letter-spacing: 0.1em; }
@media only screen and (max-width: 750px) {
.pageTtl {
	padding: 0; }
	.pageTtl_bg {
		min-height: auto;
		padding: 50px 0; }
		.pageTtl_en {
			padding: 0;
			font-size: 4.0rem; }
		.pageTtl_ja {
			font-size: 1.4rem; }
}
/* ttl01 */
.ttl01 {
	padding: 0 0 60px;
	line-height: 1;
	font-weight: bold;
	text-align: center; }
	.ttl01_main {
		background:
			url("../images/ttl01_bg-right.png") no-repeat 100% 100%,
			url("../images/ttl01_bg-left.png") no-repeat 0 0;
		display: inline-block;
		padding: 16px 55px 10px;
		color: #FFF;
		font-size: 6.0rem;
		letter-spacing: 0.1em; }
	.ttl01_sub {
		padding: 25px 0 0;
		color: #74B9FE;
		font-size: 1.6rem; }
@media only screen and (max-width: 750px) {
	.ttl01 {
		padding: 0 0 30px; }
		.ttl01_main {
			background:
				url("../images/ttl01_bg-right.png") no-repeat 100% 100%,
				url("../images/ttl01_bg-left.png") no-repeat 0 0;
			-webkit-background-size: 12px auto, 12px auto;
			     -o-background-size: 12px auto, 12px auto;
			        background-size: 12px auto, 12px auto;
			padding: 8px 25px 5px;
			font-size: 3.0rem; }
		.ttl01_sub {
			padding: 10px 0 0;
			font-size: 1.2rem; }
}
/* ttl02 */
.ttl02 {
	padding: 0 0 55px;
	text-align: center; }
	.ttl02_main {
		position: relative;
		padding: 0 0 12px;
		font-size: 2.6rem; }
	.ttl02_main:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 108px;
		height: 3px;
		margin: 0 0 0 -54px; }
.ttl02-primary .ttl02_main {
	color: #FFF; }
.ttl02-primary .ttl02_main:after {
	background: #FFF; }
.ttl02-secondary .ttl02_main {
	color: #003DBF; }
.ttl02-secondary .ttl02_main:after {
	background: #003DBF; }
@media only screen and (max-width: 750px) {
	.ttl02 {
		padding: 0 0 25px; }
		.ttl02_main {
			padding: 0 0 6px;
			font-size: 1.8rem; }
		.ttl02_main:after {
			width: 80px;
			height: 2px;
			margin: 0 0 0 -40px; }
}
