@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;}
/*------------------------------------------------------------
	head-line01
------------------------------------------------------------*/
.head-line01 {
	max-width: 1440px;
	margin: 0 auto 88px;
	font-weight: 700;
	font-size: 2.5rem;
}
.head-line01 .en {
	margin-top: -23px;
	display: block;
	color: #E70012;
	font-size: 8rem;
	letter-spacing: 0.02em;
}
.head-line01 .sml {
	margin-left: 68px;
	font-size: 1.8rem;
	font-weight: 400;
	color: #000;
	letter-spacing: 0;
	display: inline-block;
	vertical-align: middle;
}
@media all and (max-width: 896px) {
	.head-line01 {
		max-width: inherit !important;
		margin: 0 0 29px;
		font-size: 2rem;
	}
	.head-line01 .en {
		margin-top: -11px;
		font-size: 5rem;
	}
	.head-line01 .sml {
		margin: 10px 0 0;
		font-size: 1.3rem;
		line-height: 2;
		display: block;
	}
}
@media all and (max-width: 350px) {
	.head-line01 .en {
		font-size: 4.4rem !important;
	}
}
/*------------------------------------------------------------
	com-link
------------------------------------------------------------*/
.com-link {
	margin-left: -1px;
	width: 230px;
	position: relative;
}
.com-link a {
	height: 80px;
	padding: 26px 47px;
	display: block;
	font-weight: 700;
	position: relative;
	z-index: 1;
	background: url("../../images/common/icon02.png") no-repeat top 32px right 28px;
	background-size: 55px auto;
	box-sizing: border-box;
}
.com-link:before {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 80px;
	background-color: #fff;
	border-radius: 100px;
	content: "";
	box-shadow: 2px 3px 6px rgba(0,0,0,0.16);
	transition: .3s;
}
.com-link.red a {
	color: #fff;
	background-image: url("../../images/common/icon09.png");
}
.com-link.red:before {
	background-color: #E70012;
}
@media all and (min-width: 897px) {
	.com-link a:hover {
		background-position: top 32px right 24px;
	}
	.com-link:hover:before {
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	.com-link {
		margin-left: 0;
		width: 175px;
	}
	.com-link a {
		height: 60px;
		padding: 20px 40px;
		font-size: 1.3rem;
		background: url("../../images/common/sp_icon02.png") no-repeat top 24px right 25px;
		background-size: 33px auto;
	}
	.com-link:before {
		width: 100%;
	}
	.com-link.red a {
		background-image: url("../../images/common/icon09.png");
	}
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	max-width: 1310px;
	padding: 0 15px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media all and (max-width: 896px) {
	.content {
		max-width: inherit !important;
		padding: 0 20px;
	}
}
/*------------------------------------------------------------
	com-search
------------------------------------------------------------*/
.com-search {
	padding: 85px 15px 135px;
	position: relative;
	box-sizing: border-box;
	background-color: #eee;
}
.com-search .head-line01 {
	margin-bottom: 18px;
}
.com-search .list-ul {
	max-width: 613px;
	margin: 0 auto;
}
.com-search .list-ul > li {
	align-items: flex-start;
}
.com-search .list-ul > li:not(:last-child) {
	margin-bottom: 45px;
}
.com-search li .ttl {
	width: 150px;
	height: 83px;
	padding-top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	background-color: #000;
	box-sizing: border-box;
}
.com-search li .select {
	width: 380px;
	position: relative;
}
.com-search li .select h4 {
	height: 83px;
	padding: 1px 29px 0;
	display: flex;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 700;
	color: rgba(0,0,0,0.2);
	box-sizing: border-box;
	background: #fff url("../../images/common/icon08.png") no-repeat center right 26px;
	background-size: 16px auto;
	cursor: pointer;
}
.com-search li .select h4.on {
	background-image: url("../../images/common/icon08_on.png");
}
.com-search li .select ul {
	display: none;
	padding: 34px 28px;
	background-color: #fff;
	border: 1px solid #E2E2E2;
}
.com-search li .select ul li {
	margin-bottom: 10px;
	font-size: 1.6rem;
	font-weight: 700;
	color: #989898;
	cursor: pointer;
}
.com-search li .select ul li:last-child {
	margin-bottom: 0 !important;
}
.com-search li .btn {
	width: 83px;
}
.com-search li .btn a {
	height: 83px;
	display: block;
	width: 100%;
	background: #E70012 url("../../images/common/icon07.png") no-repeat center center;
	background-size: 45px auto;
}
.com-search li .btn a:hover {
	opacity: 0.7;
}
.com-search li .btn.nolink a {
	pointer-events: none;
}
@media all and (max-width: 896px) {
	.com-search {
		padding: 35px 20px 61px;
	}
	.com-search .head-line01 {
		margin-bottom: 40px;
	}
	.com-search .list-ul {
		max-width: inherit;
	}
	.com-search .list-ul > li:not(:last-child) {
		margin-bottom: 22px;
	}
	.com-search li .ttl {
		width: 90px;
		height: 50px;
		padding-top: 0;
		font-size: 1.4rem;
	}
	.com-search li .select {
		width: calc(100% - 140px);
	}
	.com-search li .select h4 {
		height: 50px;
		padding: 0 15px;
		font-size: 1.4rem;
		background-position: center right 16px;
		background-size: 12px auto;
	}
	.com-search li .select ul {
		padding: 35px 27px;
	}
	.com-search li .select ul li {
		margin-bottom: 11px;
		font-size: 1.5rem;
	}
	.com-search li .btn {
		width: 50px;
	}
	.com-search li .btn a {
		height: 50px;
		background-size: 25px auto;
	}
}
/*------------------------------------------------------------
	animation
------------------------------------------------------------*/
.animation {
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
}
.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
/*------------------------------------------------------------
	loading
------------------------------------------------------------*/
.loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 100;
}
.loading.active {
	animation: animeLoadingfadeOut 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	-webkit-animation: animeLoadingfadeOut 0.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
@-webkit-keyframes animeLoadingfadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		display: none;
		visibility: hidden;
	}
}
@keyframes animeLoadingfadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		display: none;
		visibility: hidden;
	}
}
.loading .load-box {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.loading .logo {
	display: none;
	width: 225px;
}
@media all and (max-width: 896px) {
	.loading .logo {
		width: 120px;
	}
}