@charset "UTF-8";
body{
	background: #f3f3f3;
}
.section-offset{
	padding-top: 8vw;
}
h2{font-size: 5vw;
	position: relative;
	display: inline-block;
	font-family: 'Raleway';
}
.text{
position: relative;
z-index: 9;
}
.text-line-animation{
transform: scaleX(0);
position: absolute;
top: .6875em;
right: -.525em;
bottom: -.1875em;
left: -.125em;
transition: transform .45s cubic-bezier(.4,0,0,1);
transform-origin: center left;
line-height: 1.03333;
z-index: 5;
}
.text-line-animation svg,
.heart-animation svg{
fill: #FF5B46;
width: 100%;
height: 100%;
display: block;
}
.is-show .text-line-animation{
	transform: scaleX(1);
	transition-delay: .3s;
}

.content-box{
	padding-bottom: 10.6vw;
}
.content-box.col4{
	padding-bottom: 2vw;
}
h3{
	font-size: 3vw;
}
.col-50{
	width: 50%;
}
.text-box{
	padding: 3.5vw;
	box-sizing: border-box;
	font-size: 14px;
  line-height: 1.8;
	letter-spacing: .8px;
	background: #fff;
	width: 80%;
	text-align: center;
	position: relative;
	top: -20px;
}
.text-box::after{
	width: 1px;
	height: 60px;
	background: #000;
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	z-index: 9;
}
.img-box{
	position: relative;
	box-sizing: border-box;
	padding: 0 3.6vw;
}
.img-box img{
	width: 100%;
	height: 100%;
		box-shadow: 10px 23px 50px 7px #d5d5d5,3px 3px 8px rgba(255,255,255,0.8) inset;
}

.heart-animation{
	display: inline-block;
	width: 5vw;
	height: 5vw;
	position: absolute;
	bottom: 0;
	right: -5.6vw;
}

.learn-more{
	display: inline-block;
	background: #FF5B46;
	text-decoration: none;
	color: #fff;
	padding: 10px 40px;
	transition: 0.5s;
	opacity: 1;
	margin-top: 30px;
}
.learn-more:hover{
	opacity: 0.5;
}
.flex{
	flex-direction: column-reverse;
  justify-content: center;
	align-items: center;
	position: relative;
}

.pb26 {
	padding-bottom: 2.6vw;
}


/* 1000px以下 */
@media screen and (max-width: 1000px) {
.contact-wrap{
	padding: 0;
}
.content-box.flex{
	flex-direction: column;
	flex-wrap: wrap;
	flex-flow: column-reverse;
}
.text-box{
	width: 100%;
}
.img-box img {
	box-shadow: 6px 12px 18px 11px #d5d5d5;
}
.img-box.col-50{
	width: 70%;
}
.text-box{
	margin-top: 50px;
}
.text-box::after{
	top: -50px;
}
.section-offset{
	padding-top: 70px;
}
}
@media screen and (max-width: 500px) {
	.img-box.col-50{
		width: 100%;
	}
	.img-box img{
		box-shadow: 3px 6px 10px 3px #d5d5d5;
	}
	.pb56{
		padding-bottom: 56px;
	}
	.learn-more{
		margin-top: 15px;
		padding: 5px 20px;
		margin-bottom: 15px;
	}
}