@charset "UTF-8";

/* ===============================
	common style
=============================== */
.showRecire a {
	color: #fff;
}

.showRecire a:HOVER {
	opacity: 0.8;
}

/* .subBox h3 .tool {
	background: #000;
	color: #fff;
}
 */
.group .textBox {
	background: #59493f;
	color: #fff;
}

.group em {
	border-bottom: solid 1px #fff;
}

.group .imgBox a {
	background: rgba(255,255,255,0.6) url(images/btn-movie.png) no-repeat left 0.5em center;
	color: #000;
}

.group .imgBox a:HOVER {
	opacity: 0.8;
}

#main {
	background: #6b0a1d;
	color: #fff;
	text-align: center;
}

#sub02 h3 .num,
#sub04 h3 .num {
	color: #a40000;
}

#sub02 .textBox,
#sub04 .textBox {
	background: #a40000;
}

#sub03 h3 .num {
	color: #007855;
}

#sub03 .textBox {
	background: #007855;
}

#column {
	background: #d1c0a5;
}

#column .guriedemo {
	background: #362e2b;
	color: #fff;
}

#column .flexBox .imgBox {
	border: solid 5px #fff;
	-webkit-box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5);
}

/* ===============================
	PC / Tab
=============================== */
@media print , screen and (min-width: 481px) {
	.fadeInUp {
		animation: fadeInUp 2s;
	}
	/* メインビジュアル */
	.mainImg {
		background-repeat: no-repeat;
		background-position: center center;
		background-image: url(images/bg-main-visual.jpg);
		background-size: cover;
		text-align: center;
	}
	/* 基本セクション */
	.subBox {
		padding-top: 60px;
		padding-bottom: 100px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	.subBox h3 {
		font-size: 4rem;
		line-height: 1.4;
		text-align: center;
	}
	.subBox h3 .num {
		margin-right: 0.6em;
		font-size: 6rem;
		font-weight: bold;
		color: #59493f;
		position: relative;
		bottom: -0.1em;
	}
	.subBox h3 .tool {
		width: 120px;
		margin-left: 1em;
		display: inline-block;
		vertical-align: middle;
	}
/* 	.subBox h3 .tool {
		display: inline-block;
		padding: 0.2em 1.6em;
		margin-left: 1em;
		font-size: 1.4rem;
		vertical-align: middle;
		position: relative;
		top: -0.4em;
	}
 */	.group {
		max-width: 1400px;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}
	.group .imgBox {
		position: absolute;
/* 		animation: slideInUp 2s;
 */	}
	.group .imgBox.left {
		left: 0;
	}
	.group .imgBox.right {
		right: 0;
	}
	.group .imgBox a {
		display: block;
		padding: 0.4em 1em 0.4em 2.5em;
		line-height: 1;
		background-size: auto 90%;
		position: absolute;
		bottom: 10px;
		right: 40px;
	}
	.group .textWrap {
		width: 1040px;
		margin: 0 auto;
		position: relative;
/* 		animation: slideInUp 2s;
 */	}
	.group .textBox {
		width: 500px;
		padding: 30px 40px 40px;
	}
	.group .textBox.left {
		margin-right: auto;
	}
	.group .textBox.right {
		margin-left: auto;
	}
	.group .textBox .showRecire {
		margin-top: 1em;
	}
	.imgBefore {
		width: 210px;
		margin: 0 auto 1em;
	}
	ul.comments {
		width: 960px;
		padding-top: 90px;
		margin: 0 auto;
		justify-content: space-around;
	}
	ul.comments.item2 {
		width: 700px;
	}
	ul.comments li {
		width: 290px;
		padding-bottom: 60px;
		font-size: 1.8rem;
		text-align: center;
		background-image: url(images/balloon-a.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 86% auto;
	}
	ul.comments li.b2 {
		background-image: url(images/balloon-b.png);
	}
	/* 個別スタイル */
	#main {
		padding-top: 50px;
		padding-bottom: 50px;
		font-size: 1.8rem;
		line-height: 2;
	}
	#sub01 {
		padding-top: 100px;
	}
	#sub01 .group {
		margin-top: 120px;
		margin-bottom: 70px;
	}
	#sub01 .imgBox {
		top: -50px;
	}
	#sub02 .group {
		margin-top: 90px;
		margin-bottom: 40px;
	}
	#sub02 .imgBox {
		top: -20px;
	}
	#sub03 .group {
		margin-top: 110px;
		margin-bottom: 0;
	}
	#sub03 .imgBox {
		top: -40px;
	}
	#sub04 .group {
		margin-top: 90px;
		margin-bottom: 130px;
	}
	#sub04 .imgBox {
		top: -20px;
	}
	#sub05 .group {
		margin-top: 100px;
		margin-bottom: 30px;
	}
	#sub05 .imgBox {
		top: -30px;
	}
	#column {
		padding: 40px 0;
	}
	#column .baseWidth {
		padding: 0 20px;
	}
	#column h3 {
		font-size: 2.8rem;
		line-height: 1.4;
		text-align: center;
		position: relative;
	}
	#column h3 .tool {
		width: 120px;
		display: block;
		position: absolute;
		top: -10px;
		right: 120px;
	}
	#column h3 {
		text-align: center;
		margin-bottom: 60px;
	}
	#column .flexBox .imgBox {
		width: 52%;
	}
	#column .flexBox .textBox {
		width: 48%;
		padding: 0 40px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
	#column .showRecire {
		margin-top: 1em;
	}
	#column .guriedemo {
		margin-top: 60px;
		background: #362e2b;
		color: #fff;
	}
	#column .guriedemo {
		position: relative;
	}
	#column .guriedemo p {
		padding: 0.8em 0 0.8em 200px;
	}
	#column .guriedemo .img {
		position: absolute;
		bottom: -30px;
		right: 200px;
	}
	
	.pageNavi .arrow::BEFORE {
		left: auto;
		right: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	#kurashiru {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	#kurashiru .baseWidth {
		padding-top: 60px;
		border-top: solid 2px #626262;
	}
	#kurashiru h3 {
		text-align: center;
	}
	#kurashiru .search {
		width: 400px;
		margin: 20px auto 0;
		justify-content: space-around;
	}
	#kurashiru .window {
		width: 180px;
		padding: 0 0.6em;
		font-size: 1em;
		line-height: 2;
		background: #d2d2d2;
		border-radius: 8px;
	}
	#kurashiru .window i {
		margin-right: 0.4em;
	}
	#kurashiru .detail {
		margin-top: 30px;
		text-align: center;
	}
	#kurashiru .arrowLink {
		padding-left: 46px;
		background: url(images/kurashiru-arrow.png) no-repeat left center;
	}
	#kurashiru .arrowLink:HOVER {
		background-position: left 4px center;
		color: inherit;
	}
}
/* ===============================
	mobile
=============================== */
@media screen and (max-width: 480px) {
	/* メインビジュアル */
	/* 基本セクション */
	.subBox {
		padding-top: 3rem;
		padding-bottom: 4rem;
		line-height: 1.8;
	}
	.subBox h3 {
		font-size: 2rem;
		line-height: 1.4;
		text-align: center;
		text-indent: -2rem;
	}
	.subBox h3 .num {
		margin-right: 0.6em;
		font-size: 3rem;
		font-weight: bold;
		color: #59493f;
		position: relative;
		bottom: -0.1em;
	}
	.subBox h3 .tool {
		display: block;
		padding: 0 38%;
		margin-top:2rem;
		text-indent: 0;
	}
/* 	.subBox h3 .tool {
		padding: 0.2em 1.6em;
		font-size: 1rem;
	}
 */	.group {
		padding-left: 5%;
		padding-right: 5%;
		margin-top: 2rem;
	}
	.group .imgBox {
		position: relative;
	}
	.group .imgBox a {
		display: block;
		padding: 0.4em 1em 0.4em 2.5em;
		font-size: 1.2rem;
		line-height: 1;
		background-size: auto 90%;
		position: absolute;
		bottom: 1rem;
		right: 1rem;
	}
	.group .textBox {
		padding: 5%
	}
	.group .textBox .showRecire {
		margin-top: 1em;
		font-size: 1.2rem;
	}
	.imgBefore {
		padding: 0 25%;
		margin-bottom: 1em;
	}
	ul.comments {
		width: 100%;
		margin-top: 3rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}
	ul.comments li {
		width: 48%;
		padding-bottom: 10%;
		font-size: 1.2rem;
		text-align: center;
		background-image: url(images/balloon-a.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 80% auto;
	}
	ul.comments li.b2 {
		background-image: url(images/balloon-b.png);
	}
	ul.comments li:NTH-CHILD(n + 3) {
		margin-top: 1rem;
	}
	/* 個別スタイル */
	#main {
		padding-top: 3rem;
		padding-bottom: 3rem;
		font-size: 1.3rem;
		line-height: 2;
	}
	#column {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	#column h3 {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		text-indent: 0;
		text-align: center;
	}
	#column h3 .tool {
		display: block;
		padding: 0 34%;
		margin-top:2rem;
		text-indent: 0;
	}
	#column .imgBefore {
		margin-top: 2rem;
	}
	#column .text {
		padding-left: 5%;
		padding-right: 5%;
	}
	#column .showRecire {
		margin-top: 1em;
	}
	#column .guriedemo {
		margin-top: 6rem;
		font-size: 1.4rem;
		position: relative;
	}
	#column .guriedemo p {
		padding: 4rem 5% 2rem;
	}
	#column .guriedemo .img {
		width: 8rem;
		position: absolute;
		top: -4rem;
		left: 50%;
		margin-left: -4rem;
	}
	
	.pageNavi .arrow::BEFORE {
		left: auto;
		right: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	#kurashiru {
		padding-top: 4rem;
		padding-bottom: 3rem;
	}
	#kurashiru .baseWidth {
		padding-top: 3rem;
		border-top: solid 2px #626262;
	}
	#kurashiru h3 {
		text-align: center;
	}
	#kurashiru .search {
		width: 90%;	
		margin: 2rem auto 0;
		display: flex;
		justify-content: space-around;
	}
	#kurashiru .window {
		width: 44%;
		padding: 0 0.6em;
		font-size: 1.2rem;
		line-height: 2;
		background: #d2d2d2;
		border-radius: 8px;
	}
	#kurashiru .window i {
		margin-right: 0.4em;
	}
	#kurashiru .detail {
		margin-top: 2rem;
		font-size: 1.3rem;
		text-align: center;
	}
	#kurashiru .detail a {
		padding-left: 46px;
		background: url(images/kurashiru-arrow.png) no-repeat left center;
	}
}


@media screen and (min-width: 1501px) {
	.mainImg {
		background-position: center center;
		-moz-background-size: cover;
		-webkit-background-size: cover;
		-o-background-size: cover;
		-ms-background-size: cover;
		background-size: cover;
	}
}