@charset "UTF-8";

/**************************************************
　Element
***************************************************/

* {
	font-size: 16px;
	margin: 0;
	padding: 0;
}
* {
	font-size: 15px;
	margin: 0;
	padding: 0;
}
html {
	overflow: auto;
}
body {
	font-size: 15px;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	overflow-x: hidden;
	position: relative;
	width: 100%;
}
a {	text-decoration: none; }
li { list-style-type: none; }
img, a img { border-style: none; }

/**************************************************
　Original Class
***************************************************/

.pageTop {
	cursor: pointer;
	display: block;
}
.smallText {
	font-size: 90%;
}
.gray {
	color: #888;
}
.error {
	color: #F00;
	font-size: 90%;
}
.positionCenter {
	text-align: center;
}
.floatLeft {
	float: left;
}
.clearBoth {
	clear: both;
}
.btn {
	border-radius: 5px;
	cursor: pointer;
	margin: 0 auto;
	text-align: center;
	transition: all 0.3s linear;
}
.clearfix::after{
	clear: both;
	content: "";
	display: block;
}


/**************************************************
　Header
***************************************************/

header {
	background-color: #19386E;
	position: relative;
	width: 100%;
	z-index: 10;
}
header h1 {
	background: url( './../image/titleLogo.png' ) no-repeat center center #19386E;
	background-size: contain;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	padding-bottom: 15px;
	width: 180px;
}
header h1 span {
	display: none;
}

/**************************************************
　[SP|Tab] Menu
***************************************************/

/* Menu btn */
.menu-btn {
	height: 45px;
	left: 10px;
	position:absolute;
	top: 6px;
	width: 45px;
	z-index: 5;
}
.menu-btn span {
	border-bottom: solid 3px #fff;
	display: block;
	left: 2px;
	position: absolute;
	transition: .35s ease-in-out;
	width: 35px;
}
.menu-btn span:nth-child(1) {
	top: 10px;
}
.menu-btn span:nth-child(2) {
	top: 22px;
}
.menu-btn span:nth-child(3) {
	top: 34px;
}
.menu-btn span:nth-child(4) {
	border: none;
	color: #eee;
	font-size: 9px;
	font-weight: bold;
	top: 34px;
}
/* 最初のspanをマイナス45度に */
.menu-opened span:nth-child(1) {
	top: 22px;
	left: 2px;
	transform: rotate(-45deg);
}	
/* 2番目と3番目のspanを45度に */
.menu-opened span:nth-child(2),
.menu-opened span:nth-child(3) {
	top: 22px;
	transform: rotate(45deg);
}

/* Menu */
.menu {
	background-color: #19386E;
	height: calc( 100vh - 60px );
	position:absolute;
	left: -100vw;
	top: 60px;
	width: 100vw;
	z-index: 20;
}
.menu li {
	border-bottom: 1px solid #fff;
	font-size: 16px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	width: 100vw;
}
.menu li:first-of-type {
	border-top: 1px solid #fff;
}
.menu li a { color:#fff; }
.naviContact a {
	color: #fff;
	display: block;
	height: 100%;
	width: 100%;
}

/**************************************************
　サブTitle
***************************************************/

h2 {
	display: inline-block;
	font-weight: normal;
	font-size: 18px;
	line-height: 60px;
	position: relative;
	z-index: 3;
}
h2 span {
	font-size:26px;
}


/**************************************************
　eyeCatch
***************************************************/

.eyecatch {
	width: 100vw;
}
.eyecatch .title-box {
	margin: 0 auto;
}
.eyecatch .title-box img {
	display: block;
}
.eyecatch h1,
.eyecatch span {
	display: none;
}

/**************************************************
　見出し
***************************************************/

.each-block h2 {
	font-size: 1.2em;
	font-weight: normal;
	margin: 60px auto;
	position: relative;
	text-align: center;
}
.each-block h2::before {
	background: url( './../image/subtitle-icon.png' ) no-repeat center top;
	background-size: 180px 62px;
	content: "";
	display: block;
	height: 31px;
	left: calc( 100% - 90px );
	position: absolute;
	top: -30px;
	width: 180px;
}

/**************************************************
　Footer
***************************************************/

footer {
	background-color: #19386E;
	clear: both;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	position: relative;
}
footer .contents {
	background-color: #19386E;
	position: relative;
	z-index: 3;
}
.footer-logo {
	background: url( './../image/titleLogo.png' ) no-repeat center center #19386E;
	background-size: contain;
	height: 130px;
	width: 180px;
}
.footer-logo span {
	visibility: hidden;
}
footer nav {
	color: #fff;
	margin: 0 auto;
}
footer nav a {
	color: #fff;
	display: block;
	height: 100%;
	width: 100%;
}
footer nav a:hover {
	color: #B2A16E;
}
/* Copyright */
.copyright {
	color: #fff;
	font-size: 0.8em;
	padding-bottom: 5px;
	text-align: center;
}

/**************************************************
　Loading
***************************************************/

.whiteBg {
	background-color: rgba( 21, 41, 61, .9 );
	content: '';
	display: none;
	height: 100vh;
	left: 0;
	position: fixed;
	opacity: 1;
	top: 0;
	width: 100vw;
	z-index: 100;
}
.whiteBg .loading {
	content: '';
	display: block;
	left: calc( 50vw - 27px );
	position: absolute;
	top: calc( 50vh - 37px );
	z-index: 101;
}
.whiteBg .loading,
.whiteBg .loading img {
	height: 54px;
	width: 54px;
}


/**************************************************
　デバイス振り分け設定
***************************************************/

/* ■■ SP ■■ */
@media (max-width: 767px) {

	/* メインナビ */
	header,
	.gNavi {
		height: 60px;
	}
	header h1 {
		background-position: 0 5px;
		height: 120px;
		position: absolute;
	}
	/* サブナビ */
	.subNavi {
		display: none;
	}
	.gNavi div {
		display: none;
	}
	.gNavi div:nth-of-type( 4 ) {
		display: block;
		margin: 0 auto;
		width: 180px;
	}

	/* eyecatch */
	.eyecatch {
		height: 240px;
	}
	.eyecatch .title-box {
		height: 104px;
		padding-top: 110px;
		width: 192px;
	}
	.eyecatch .title-box img {
		height: 104px;
		width: 192px;
	}

	/* メインコンテンツ */
	.feature-block h2::before {
		left: calc( 50% - 90px );
	}

	/* footer */
		/* info */
	.footer-info {
		padding: 15px 0 14px;
	}
	.footer-logo {
		margin: 0 auto;
	}
		/* Menu */
	.footer-menu {
		width: 100vw;
		display: none;
	}
	footer nav li {
		border-bottom: 1px solid #fff;
		height: 60px;
		line-height: 60px;
		text-align: center;
	}
		/* Copyright */
	.copyright {
		display: none;
	}
		/* pageTop */
	footer .pageTop,
	footer .bg {
		display: none;
	}
}
@media (max-width: 320px) {

	/* 幅狭スマホ */

	/*  */
}
@media (min-width: 321px) and (max-width: 767px) {

	/* 幅広スマホ */

	/*  */
}


/* ■■ タブレット＆ブラウザ ■■ */
@media screen and (min-width: 768px) {

	/* footer */
		/* Menu */
	.footer-menu {
		width: 620px;
	}
	footer nav li {
		float: left;
		font-size: 15px;
		margin-left: 30px;
	}
	footer nav li:first-of-type {
		margin-left: 0;
	}
		
}


/* ■■ (狭いブラウザとタブレット向け) ■■ */
@media (max-width: 1020px) and (min-width: 768px) {

	/* メインナビ */
	header,
	.gNavi {
		height: 60px;
	}
	header h1 {
		background-position: 0 5px;
		height: 120px;
		position: absolute;
	}
	/* サブナビ */
	.subNavi {
		display: none;
	}
	.gNavi div {
		display: none;
	}
	.gNavi div:nth-of-type( 4 ) {
		display: block;
		margin: 0 auto;
		width: 180px;
	}
	/* Menu btn */
	.menu-btn {
		left: 15px;
	}

	/* eyecatch */
	.eyecatch {
		height: 260px;
	}
	.eyecatch .title-box {
		height: 117px;
		padding-top: 110px;
		width: 216px;
	}
	.eyecatch .title-box img {
		height: 117px;
		width: 216px;
	}

	/* メインコンテンツ */
	.feature-block h2::before {
		left: 262px;
	}

	/* footer */
		/* pageTop */
	footer .pageTop,
	footer .bg {
		display: none;
	}
		/* info */
	.footer-info {
		display: none;
	}
		/* Menu */
	.footer-menu {
		margin: 0 auto;
		padding: 40px 0 0;
	}
	/* Copyright */
	.copyright {
		font-size: .8em;
		margin-top: 80px;
	}
}


/* ■■ PC ■■ */
@media screen and (min-width: 1021px) {
	
	header {
		height: 100px;
	}
	header h1 {
		height: 130px;
		margin-top: -60px;
	}
	.menu-btn,
	.menu {
		display: none;
	}
	/* サブナビ */
	.subNavi {
		position: absolute;
		right: 30px;
		top: 2px;
	}
	.subNavi div {
		float: left;
	}
	.naviTel {
		color:#fff;
		margin-top: 10px;
		position: relative;
	}
	.naviTel::before {
		background: url( './../image/tel-icon.png' ) no-repeat;
		content: "";
		height: 40px;
		left: -34px;
		position: absolute;
		top: 0;
		width: 30px;
	}
	.naviTel span {
		font-size: 22px;
		font-weight: lighter;
	}
	.subNavi .naviContact {
		border: 1px solid #fff;
		border-radius: 5px;
		cursor: pointer;
		display: block;
		height: 35px;
		margin: 10px 0 0 35px;
		line-height: 36px;
		padding-left: 55px;
		position: relative;
		width: 117px;
	}
	.subNavi .naviContact span:before {
		background: url( './../image/mailIcon.png' ) no-repeat;
		content: "";
		height: 25px;
		left: 18px;
		position: absolute;
		top: 5px;
		width: 30px;
	}
	
	/* メインナビ */
	.gNavi {
		background-color: #19386E;
		height: 30px;
		margin: 0 auto;
		padding-top: 60px;
		width: 885px;
	}
	.gNavi div:first-of-type a {
		font-family: 'Georgia', serif;
	}
	.gNavi div {
		float: left;
		height: 30px;
		margin-left: 45px;
	}
	.gNavi div:nth-of-type( 1 ) {
		margin-left: 0;
	}
	.gNavi div:nth-of-type( 4 ),
	.gNavi div:nth-of-type( 5 ) {
		margin-left: 35px;
	}
	.gNavi div a {
		color: #fff;
		font-size: 16px;
	}
	.gNavi div a:hover {
		color: #C6A36B;
	}

	/* eyecatch */
	.eyecatch {
		height: 280px;
	}
	.eyecatch .title-box {
		height: 130px;
		padding-top: 95px;
		width: 240px;
		width: 980px;
	}
	.eyecatch .title-box img {
		height: 130px;
		width: 240px;
	}

	/* メインコンテンツ */
	.feature-block h2::before {
		left: 379px;
	}
	
	/* footer */
	footer nav {
		padding: 10px 0;
		width: 900px;
	}
		/* pageTop */
	footer .pageTop {
		background: url( './../image/pageTop.png' ) no-repeat;
		bottom: 25px;
		height: 220px;
		line-height: 50px;
		position: absolute;
		right: 70px;
		text-align: center;
		width: 63px;
		z-index: 1;
	}
	footer .pageTop::before {
		color: #000;
		content: "ページ上部へ";
		font-size: .9em;
		font-weight: bold;
		left: -15px;
		position: absolute;
		top: -45px;
		width: 100px;
	}
	footer .bg {
		background-color: #19386E;
		height: 150px;
		left: 0;
		position: absolute;
		top: 0;
		width: 100vw;
		z-index: 2;
	}
		/* 組合 */
	.footer-info {
		float: left;
	}
	.footer-logo a {
		display: block;
		height: 130px;
		width: 180px;
	}
		/* Menu */
	.footer-menu {
		float: right;
		margin-top: 30px;
	}
	/* Copyright */
	.copyright {
		margin-top: 80px;
		text-align: right;
	}
}
