@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	width: 1000px;
}
@media all and (max-width: 896px) {
	.content {
		margin: 0 20px;
		width: auto;
	}
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 38px;
	color: #0e5975;
	font-size: 3.6rem;
	font-weight: 400;
	line-height: 1.72;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
}
.headLine01 span {
	margin-bottom: -1px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.16em;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 25px;
		font-size: 2.3rem;
		line-height: 1.347;
	}
	.headLine01 span {
		margin-bottom: 3px;
		font-size: 0.9rem;
		letter-spacing: 0.06em;
	}
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 110px;
	display: flex;
	justify-content: space-between;
	position: relative;
	font-family: 'Noto Serif JP', serif;
}
.headLine02 .mark {
	width: 130px;
	flex: none;
}
.headLine02 .ttl {
	margin-top: 28px;
	width: calc(100% - 150px);
	position: relative;
	color: #927404;
	font-size: 4.8rem;
	font-weight: 400;
	line-height: 1.29;
	z-index: 1;
}
.headLine02 .ttl .white {
	color: #fff;
}
.headLine02 .ttl small {
	margin: 0 0 2px 5px;
	display: block;
	font-size: 1.4rem;
	letter-spacing: 0.06em;
}
.headLine02 .en {
	position: absolute;
	right: -136px;
	top: -37px;
}
@media all and (max-width: 896px) {
	.headLine02 {
		margin-bottom: 30px;
		display: block;
		text-align: center;
	}
	.headLine02 .mark {
		margin: 0 auto 15px;
		width: 90px;
		display: block;
	}
	.headLine02 .ttl {
		margin-top: 28px;
		width: auto;
		font-size: 3.1rem;
		line-height: 1.19;
	}
	.headLine02 .ttl small {
		margin: 0 0 3px;
		font-size: 0.9rem;
	}
	.headLine02 .en {
		display: none;
	}
}
@media all and (max-width: 374px) {
	.headLine02 .ttl {
		font-size: 2.5rem;
	}
}
/*------------------------------------------------------------
	comContactBox
------------------------------------------------------------*/
.comContactBox {
	text-align: center;
}
.comContactBox p {
	margin-bottom: 8px;
	color: #0e5975;
	font-size: 2.4rem;
	font-weight: bold;
}
.comContactBox p .txt {
	padding: 0 27px;
	display: inline-block;
	vertical-align: top;
	position: relative;
}
.comContactBox p .txt::before,
.comContactBox p .txt::after {
	margin-top: -4px;
	width: 2px;
	height: 40px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(-32deg);
	background: #0e5975;
	content: "";
}
.comContactBox p .txt::after {
	left: auto;
	right: 0;
	transform: translateY(-50%) rotate(32deg);
}
.comContactBox p .txt .cor01 {
	color: #ca1b40;
}
.comContactBox .btn {
	margin: 0 auto;
	width: 580px;
}
.comContactBox .btn a {
	padding: 4px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 4.2rem;
	letter-spacing: 0.04em;
	font-family: 'Noto Serif JP', serif;
	background: linear-gradient(to right, rgba(249,78,78) 0%, rgba(202,27,64) 100%);  
}
.comContactBox .btn a::before,
.comContactBox .btn a::after {
	width: 30px;
	height: 1px;
	position: absolute;
	left: 100%;
	top: 50%;
	background: #CA1B40;
	content: "";
}
.comContactBox .btn a::after {
	width: 9px;
	left: calc(100% + 21px);
	transform: rotate(45deg);
	transform-origin: right center;
}
.comContactBox .btn a .inn {
	padding-bottom: 5px;
	height: 102px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.comContactBox .btn a .inn::before {
	width: 50px;
	height: 1px;
	position: absolute;
	right: -5px;
	top: 50%;
	background: #fff;
	content: "";
}
.comContactBox .btn a .inn span {
	padding-left: 50px;
	display: inline-block;
	vertical-align: top;
	background: url(../img/common/icon01.png) no-repeat left center / 42px 42px;
}
.comContactBox .btn a small {
	font-size: 3.2rem;
}
.comContactBox p .txt01 {
	padding: 0 24px;
}
.comContactBox p .txt01::before,
.comContactBox p .txt01::after {
	margin-top: -2px;
}
@media all and (max-width: 896px) {
	.comContactBox p {
		margin-bottom: 4px;
		font-size: 1.8rem;
	}
	.comContactBox p .txt {
		padding: 0 15px;
	}
	.comContactBox p .txt::before,
	.comContactBox p .txt::after {
		margin-top: 0;
		width: 1px;
		height: 24px;
	}
	.comContactBox .btn {
		width: 305px;
	}
	.comContactBox .btn a {
		padding: 3px;
		font-size: 2.6rem;
	}
	.comContactBox .btn a::before,
	.comContactBox .btn a::after {
		width: 15px;
	}
	.comContactBox .btn a::after {
		width: 5px;
		left: calc(100% + 10px);
	}
	.comContactBox .btn a .inn {
		padding-bottom: 4px;
		height: 64px;
	}
	.comContactBox .btn a .inn::before {
		width: 25px;
		right: -4px;
	}
	.comContactBox .btn a .inn span {
		padding-left: 32px;
		background-size: 28px auto;
	}
	.comContactBox .btn a small {
		font-size: 2.1rem;
	}
}
@media all and (max-width: 374px) {
	.comContactBox .btn {
		width: 270px;
	}
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin: 0 auto;
	width: 300px;
}
.comBtn a {
	padding: 2px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 2.4rem;
	letter-spacing: 0.06em;
	font-family: 'Noto Serif JP', serif;
	background: linear-gradient(to right, rgba(13,142,157) 0%, rgba(14,89,117) 100%);  	  
}
.comBtn a::before,
.comBtn a::after {
	width: 20px;
	height: 1px;
	position: absolute;
	left: 100%;
	top: 50%;
	background: #0E5975;
	content: "";
}
.comBtn a::after {
	width: 9px;
	left: calc(100% + 11px);
	transform: rotate(45deg);
	transform-origin: right center;
}
.comBtn a .inn {
	padding-bottom: 3px;
	height: 56px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.comBtn a .inn::before {
	width: 40px;
	height: 1px;
	position: absolute;
	right: -3px;
	top: 50%;
	background: #fff;
	content: "";
}
@media all and (max-width: 896px) {
	.comBtn {
		margin: 0 auto;
		width: 205px;
	}
	.comBtn a {
		padding: 2px;
		font-size: 1.8rem;
	}
	.comBtn a::before,
	.comBtn a::after {
		width: 11px;
	}
	.comBtn a::after {
		width: 9px;
		left: calc(100% + 2px);
		transform: rotate(45deg);
		transform-origin: right center;
	}
	.comBtn a .inn {
		padding-bottom: 0;
		height: 41px;
	}
	.comBtn a .inn::before {
		width: 20px;
	}
}

/*------------------------------------------------------------
	floating
------------------------------------------------------------*/
.floating {
	opacity: 0;
	visibility: hidden;
	transition: 0.4s;
	position: fixed;
	bottom: 0;
	width: 100%;
	left: 0;
	z-index: 999;
	background: rgba(16, 60, 76, 0.92);
}
.floating.active {
	opacity: 1;
	visibility: visible;
}
.floating .comContactBox .btn {
	transform: translateY(-2rem);
}
.floating .comContactBox .btn a {
	font-size: 3.2rem;
}
.floating .comContactBox .btn a .inn {
	height: 7rem;
}
.floating .comContactBox .btn a .inn span {
	padding-left: 45px;
    vertical-align: middle;
	background: url(../img/common/icon01.png) no-repeat left 17px / 35px 35px;
}
.floating .comContactBox .btn a small {
	font-size: 2.4rem;
}
.floating .comContactBox .btn a::before,
.floating .comContactBox .btn a::after {
	content: none;
}
.floating .comContactBox .btn a .inn::before {
	right: 23px;
	width: 32px;
}
.floating .comContactBox .btn a .inn::after {
    height: 1px;
    position: absolute;
    top: 50%;
    background: #fff;
    content: "";
	width: 9px;
	right: 23px;
    transform: rotate(45deg);
    transform-origin: right center;
}
@media all and (max-width: 896px) {
	.floating {
		background: none;
	}
	.floating .comContactBox .btn {
		width: 100%;
		transform: translateY(0);
	}
	.floating .comContactBox .btn a {
		font-size: 2.3rem;
	}
	.floating .comContactBox .btn a .inn {
		height: 5rem;
	}
	.floating .comContactBox .btn a .inn span {
		padding-left: 30px;
		background: url(../img/common/icon01.png) no-repeat left 8px / 25px 25px;
	}
	.floating .comContactBox .btn a small {
		font-size: 1.8rem;
	}
	.floating .comContactBox .btn a .inn::before {
		right: 17px;
		width: 20px;
	}
	.floating .comContactBox .btn a .inn::after {
		width: 6px;
		right: 17px;
	}
}