@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;
    padding: 0 15px;
    box-sizing: border-box;
    max-width: 930px;
}
@media all and (max-width: 896px) {
    .content {
        padding: 0 30px;
        max-width: inherit !important;
    }
}
/*------------------------------------------------------------
	com-title-box
------------------------------------------------------------*/
.com-title-box {
	margin: 0 auto 50px;
	padding: 27px 2px 2px;
	width: 363px;
	position: relative;
	box-sizing: border-box;
	border: 2px solid #AFAFAF;
	background: #fff url("../../images/common/img01.png") no-repeat left 22px top 17px / 29px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
}
.com-title-box::before {
	height: 12px;
	position: absolute;
	left: 78px;
	right: 78px;
	top: -12px;
	background: url("../../images/common/img02.png") no-repeat left bottom / 195px;
	content: "";
}
.com-title-box h2 {
	margin-bottom: 17px;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.1em;
}
.com-title-box h2 .jp {
	margin-top: 8px;
	display: block;
	font-size: 1.2rem;
	color: #AFAFAF;
}
.com-title-box h2 .jp span {
	display: inline-block;
	margin: 0 5px;
	letter-spacing: 0.07em;
}
.com-title-box .btn span {
	padding: 13px 20px;
	display: block;
	color: #436F97;
	font-size: 1.2rem;
	text-align: right;
	letter-spacing: 0.1em;
	background-color: #7BAAD4
}
@media all and (max-width: 896px) {
	.com-title-box {
		margin-bottom: 18px;
		width: auto;
		max-width: 317px;
		background-position: left 19px top 16px;
	}
	.com-title-box::before {
		width: 195px;
		left: 50%;
		transform: translateX(-50%);
		right: auto;
	}
	.com-title-box h2 {
		margin-bottom: 17px;
		font-size: 1.9rem;
	}
	.com-title-box h2 .jp {
		margin-top: 9px;
	}
}
@media all and (max-width: 360px) {
	.com-title-box {
		background-size: 20px auto;
		background-position: left 7px top 16px;
	}
}
/*------------------------------------------------------------
	com-link
------------------------------------------------------------*/
.com-link {
	margin: 0 auto;
	width: 255px;
}
.com-link a {
	padding: 23px 10px;
	display: block;
	background-color: #EE869B;
	color: #fff;
	text-align: center;
	font-size: 1.6rem;
	border-radius: 35px;
	letter-spacing: 0.1em;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	box-sizing: border-box;
	overflow: hidden;
}
.com-link a span {
	display: block;
	position: relative;
	z-index: 3;
}
.com-link a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background: #fff;
	width: 100%;
	height: 100%;
	transition: transform .3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(0, 1);
	transform-origin: top;
	border-radius: 35px;
	border: 1px solid #EE869B;
}
@media all and (min-width: 897px) {
	.com-link a:hover::before {
		transform: scale(1, 1);
	}
	.com-link a:hover {
		color: #EE869B;
	}
}
@media all and (max-width: 896px) {
	.com-link {
		width: 156px;
	}
	.com-link a {
		padding: 11px 10px;
		font-size: 1.4rem;
	}
}
.animation {
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
}
.animation.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}