@charset "UTF-8";

/* intro */
#intro{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 20px);
	max-width: 1100px;
}
#intro h2{
	position: relative;
	margin: 0 auto 15px auto;
	width:100%;
	max-width: 1200px;
	padding-top: 60px;
	background-size: auto min(13vh, 60px);
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-image: url("../../img/common/bg01.png");
	z-index: 10;
}
#intro h2 img{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 640px;
}
#intro h2::after{
	position: absolute;
	bottom:-33px;
	left:-8px;
	content: '';
	display: block;
	width: 100%;
	height: 100px;
	background-size: min(23vw, 100px) auto;
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-image: url("../../img/common/bg02.png");
}
#intro .contentsWrap{
	position: relative;
	margin: 0 auto;
	border: solid 2px #000000;
	border-radius: 20px;
}
#intro .contentsWrap::after{
	position: absolute;
	top:0;
	left: -2px;
	width: 3px;
	height: 100px;
	content: '';
	display: block;
	background-color: #faf1dc;
}
#intro .contentsInner{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 34px);
	max-width: 960px;
}

#intro .mainImg{
	position: relative;
	margin: 20px auto;
	z-index: 11;
}
#intro .mainImg img{
	position: relative;
	margin: 0 auto;
	border: solid 4px #ffffff;
}
#intro .Img{
	position: relative;
	margin: 0 auto 10px auto;
	width: calc(100% - 34px);
	max-width: 800px;
}
#intro .Img img{
	position: relative;
	margin: 0 auto;
	border: solid 4px #ffffff;
}
#intro .Img.marginTop{margin: 20px auto 10px auto;}
#intro .Img.tate img{width: calc(100% - 60px);max-width: 300px;}

#intro h3{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	color: #f03840;
	font-size: min(4.2vw, 1.8rem);
	text-align: center;
	font-weight: bold;
	line-height: 1.6em;
}
#intro h4{
	position: relative;
	margin: 0 auto 20px auto;
	width: 100%;
	color: #e57b41;
	font-size: min(2.8vw, 1.2rem);
	text-align: center;
	font-weight: bold;
	line-height: 1.6em;
}
#intro h4 span{font-size: min(4.2vw, 1.8rem);line-height: 1.5em;}
#intro h5{
	position: relative;
	margin: 0 auto 1em auto;
	padding: 5px;
	width: 100%;
	color: #ffffff;
	background-color: #e57b41;
	font-size: min(4vw, 1.6rem);
	text-align: center;
	font-weight: bold;
	line-height: 1.6em;
}
#intro p{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 960px;
	padding-bottom: 1.8em;
	z-index: 100;
}
p.caption{
	text-align: center;
	font-size: 76%;
	color: #999999;
	padding-bottom: 0 !important;
}

#intro .commentWrap{
	position: relative;
	margin: 20px auto 0 auto;
	width: 100%;
}
#intro .commentWrap .comment{
	position: relative;
	margin: 0 auto 10px auto;
}
#intro .commentWrap .comment h4{
	position: relative;
	margin: 0 auto 15px auto;
	background-color: #E5BDA4;
	padding: 3px 10px;
	color: #020202;
	text-align: left;
	font-weight: bold;
	font-size: 1.4rem;
}
#intro .commentWrap .comment h4 span{font-size: 72%;}
#intro .commentWrap .comment p.question{
	padding: 0 0 5px 25px;
	background-size: 20px auto;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-image: url("../../img/intro/icon_q.png");
	font-weight: bold;
	line-height: 1.5em;
	color: #f03840;
}
#intro .commentWrap .comment p.answer{padding: 0 0 1.5em 25px;}

@media screen and (min-width: 769px) {

	/* intro */
	#intro h2{
		margin: 0 auto 20px auto;
		padding-top: 130px;
		background-size: auto 104px;
	}
	#intro h2::after{
		bottom:max(-6.6vw, -70px);
		left:max(-1.5vw, -40px);
		height: 200px;
		background-size: min(26%, 265px) auto;
	}
	#intro .contentsWrap{
		border: solid 4px #000000;
		border-radius: 50px;
	}
	#intro .contentsWrap::after{
		left: -5px;
		width: 30px;
		height: 220px;
	}
	#intro .contentsInner{
		width: calc(100% - 54px);
		max-width: 960px;
	}
	#intro .mainImg{margin: 40px auto 30px auto;}
	#intro .mainImg img{
		width: calc(100% - 90px);
		border: solid 8px #ffffff;
	}
	
	#intro .Img{margin: 0 auto 20px auto;}
	#intro .Img img{border: solid 5px #ffffff;}
	#intro .Img.right{
		margin: 0 auto 0 0;
		float: right;
		width: 40%;
		max-width: 280px;
	}
	#intro .Img.left{
		margin: 0;
		float: left;
		width: 40%;
		max-width: 280px;
	}

	#intro h3{
		margin: 0 auto 30px auto;
		width: calc(100% - 50px);
		font-size: min(2.5vw, 2.6rem);
		line-height: 1.8em;
	}
	#intro h4{
		margin: 0 auto 30px auto;
		width: calc(100% - 50px);
		max-width: 960px;
		font-size: min(2vw, 2.0rem);
		line-height: 1.7em;
	}
	#intro h4 span{font-size: min(2.5vw, 2.6rem);line-height: 1.4em;}
	#intro h5{
		margin: 0 auto 1em auto;
		padding: 10px;
		width: calc(100% - 50px);
		max-width: 960px;
		font-size: min(4vw, 1.8rem);
		line-height: 1.6em;
	}
	#intro p{
		width: calc(100% - 50px);
		max-width: 960px;
	}
	p.caption{font-size: 86%;}
	

	#intro .commentWrap .comment{margin: 0 auto 20px auto;}
	#intro .commentWrap .comment h4{
		margin: 0 auto 20px auto;
		width: calc(100% - 50px);
		font-size: 1.6rem;
	}
	#intro .commentWrap .comment h4 span{font-size: 76%;}
	#intro .commentWrap .comment p.question{
		padding: 2px 0 10px 40px;
		background-size: 25px auto;
		line-height: 1.5em;
	}
	#intro .commentWrap .comment p.answer{padding: 0 0 1.5em 40px;}
}

@media screen and (min-width: 769px) and (max-width: 1200px) {
	#intro {width: calc(100% - 110px);}
}
@media screen and (min-width: 940px) and (max-width: 10490px) {
	#intro .Img.marginnTop{margin: -1.5em 0 0 0;}
	#intro p.paddingTop{padding-top: 1.5em;}
}
@media screen and (min-width: 1050px) {
	#intro .Img.marginnTop{margin: -2.5em 0 0 0;}
	#intro p.paddingTop{padding-top: 2.5em;}
}