@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
#gHeader {
	padding: 18px 0;
	border-bottom: none;
}

#main {
	border-top: none;
}

.mainVisual {
	background: url(../img/index/main_visual.jpg) no-repeat center bottom;
	background-size: 100% auto;
}

.mainVisual .bgTxt {
	margin-bottom: 21px;
	padding: 18px 0;
	background-color: rgba(249,183,207,0.45);
}

.mainVisual .bgTxt p {
	margin: 0 auto;
	width: 900px;
	line-height: 1.7;
}

.mainVisual .mainImg {
	margin: 0 auto;
	width: 900px;
	position: relative;
}

.mainVisual .mainImg .photo01 {
	position: absolute;
	left: -204px;
	top: 32px;
}

.mainVisual .mainImg .photo02 {
	position: absolute;
	left: -126px;
	bottom: 80px;
}

.mainVisual .mainImg .photoBox {
	margin: 0 -170px 0 0;
	float: right;
	position: relative;
}

.mainVisual .mainImg .photoBox p {
	position: absolute;
	left: 90px;
	bottom: 3px;
}

.mainVisual .mainImg .textBox {
	margin: 10px -38px 0 0;
	float: left;
	width: 510px;
	position: relative;
	z-index: 10;
}

.mainVisual .mainImg .textBox h1 {
	margin: 0 0 15px -2px;
}

.mainVisual .mainImg .textBox p {
	color: #000;
	line-height: 1.7;
}

#main .topInner {
	margin-bottom: 105px;
	padding: 42px 0;
	text-align: center;
	background-color: #FFDFEA;
}

#main .topInner h2 {
	margin-bottom: 25px;
	font-size: 30px;
	line-height: 1.35;
}

#main .red {
	color: #E95B83;
}

#main .imgBox {
	margin-bottom: 60px;
}

#main .imgBox .photoBox {
	margin-top: 5px;
	float: left;
}

#main .imgBox .textBox {
	float: right;
	width: 633px;
}

#main .textBox p:last-child {
	margin-bottom: 0 !important;
}

#main .textBox02 {
	margin-bottom: 60px;
}

#main .imgBoxR .photoBox {
	float: right;
}

#main .imgBoxR .textBox {
	float: left;
}

#main .textList {
	margin: 25px 0;
}

#main .textList li {
	padding: 0 0 8px 24px;
	line-height: 1.8;
	background: url(../img/index/icon01.gif) no-repeat 4px 7px;
	background-size: 12px auto;
}

#main .textList li:last-child {
	padding-bottom: 0;
}

#main .imgBoxR02 .photoBox {
	margin: 0 0 -5px -90px;
	float: right;
}

#main .imgBoxR02 .textBox {
	float: none;
	width: auto;
}

#main .imgBoxR02 .textBox p:nth-child(2),
#main .imgBoxR02 .textBox p:nth-child(3) {
	width: 590px;
}

#main .imgBoxR03 .photoBox {
	margin-left: 20px;
	float: right;
}

#main .imgBoxR03 .textBox {
	float: none;
	width: auto;
}

#main .inner .last {
	margin-bottom: 105px;
}

#main .comContact {
	margin-bottom: 105px;
	border-bottom: 1px solid #C1C1C1;
}

#main .comContact .topBox {
	padding: 18px 0 26px;
	background-color: #FFDFEA;
	position: relative;
}

#main .comContact .topBox:before {
	margin-left: -11px;
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	bottom: -11px;
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 11px solid #FFDFEA;
	content: '';
}

#main .comContact .topBox .ttl {
	margin-bottom: 16px;
	text-align: center;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.5;
}

#main .comContact .topBox .pinkSpan  {
	margin-bottom: 3px;
	display: block;
	color: #E95B83;
	font-size: 34px;
	line-height: 1.3;
}

#main .comContact .topBox .ttl .sSpan {
	display: block;
	font-weight: normal;
	font-size: 14px;
}

#main .comContact .topBox .textImg {
	text-align: center;
}

#main .comContact .bottomBox {
	padding: 30px 0;
	background-color: #F9F9F9;
	border-bottom: 1px solid #E0E0E0;
}

#main .comContact .bottomBox .inner {
	width: 915px;
}

#main .comContact .bottomBox .lBox {
	margin-top: 25px;
	float: left;
}

#main .comContact .bottomBox .lBox img {
	width: 234px;
}

#main .comContact .bottomBox .lBox a:hover {
	opacity: 0.7;
}

#main .comContact .bottomBox .rBox {
	float: right;
}

#main .comContact .bottomBox .telLink {
	float: left;
}

#main .comContact .bottomBox .linkBtn {
	margin-left: 55px;
	float: right;
}

#main .comContact .bottomBox .linkBtn a:hover {
	opacity: 0.7;
}

#main .comContact .bottomBox .btnP {
	margin: 12px auto 0;
	padding: 5px 10px 6px;
	width: 380px;
	font-size: 12px;
	background-color: #FFF;
	text-align: center;
	border: 1px solid #E7E7E7;
	border-radius: 50px;
	box-sizing: border-box;
}

#main .comContact .bottomBox .btnP p {
	margin-bottom: 0;
	line-height: 1.5;
}

#main .bgInner {
	margin-bottom: 105px;
	padding: 105px 0;
	background-color: #FEF8FA;
}

#main .bgInner p:last-child {
	margin-bottom: 0;
}

#main .pointBox {
	margin-bottom: 60px;
	padding-bottom: 60px;
	border-bottom: 1px dotted #000;
}

#main .pointBox .photoBox {
	margin: 4px 0 5px 20px;
	float: right;
}

#main .pointBox .ttlDl {
	margin-bottom: 15px;
	width: 540px;
	display: table;
	float: left;
	font-weight: bold;
}

#main .pointBox .ttlDl dt,
#main .pointBox .ttlDl dd {
	display: table-cell;
	vertical-align: middle;
}

#main .pointBox .ttlDl dt {
	width: 61px;
	height: 61px;
	color: #E95B83;
	font-size: 15px;
	line-height: 1.1;
	text-align: center;
	border: 2px solid #E95B83;
	border-radius: 5px;
	box-sizing: border-box;
}

#main .pointBox .ttlDl dt span {
	display: block;
	font-size: 20px;
}

#main .pointBox .ttlDl dd {
	padding-left: 10px;
	font-size: 22px;
}

#main .pointBox p:last-child {
	margin-bottom: 0;
}

#main .pointBox h4 {
	margin-top: 25px;
	padding: 15px 10px;
	font-size: 20px;
	border-left: 2px solid #E95B83;
}

#main .pointBox .imgBox {
	margin-bottom: 0;
	position: relative;
}

#main .pointBox .imgBox .photoBox {
	position: absolute;
	right: 0;
	top: -4px;
}

#main .pointBox03 .ttlDl {
	float: none;
}

#main .imgBox .textBox03 {
	width: 550px;
}

#main .inner .txt01 {
	margin-bottom: 60px;
}

#main .textList01 {
	margin: 0;
}

#main .movieBox {
	margin: 0 auto 105px;
	width: 900px;
}

#main .movieBox > p {
	text-align: center;
}

#main .movieList li {
	padding: 60px 140px 60px 130px;
	border-bottom: 1px dotted #000;
}

#main .movieList li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

#main .movieList li h3 {
	font-size: 22px;
}

#main .movieList li .movie {
	margin: 15px 0;
	background: #fff;
}

#main .movieList li .movie iframe {
	display: block;
	border: none;
	background: #fff;
}

#main .movieList li p > span {
	margin-bottom: 5px;
	display: block;
}

#main .bgInner .movieBox {
	margin-bottom: 0;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.mainVisual {
		background-image: url(../img/index/sp_main_visual.jpg);
	}

	.mainVisual .bgTxt {
		margin-bottom: 15px;
		padding: 10px;
	}
	
	.mainVisual .bgTxt p {
		width: auto;
		font-size: 12px;
		line-height: 1.5;
	}
	
	.mainVisual .mainImg {
		width: auto;
	}

	.mainVisual .mainImg .photoBox {
		margin: 0;
		float: none;
	}

	.mainVisual .mainImg .photoBox img {
		width: 100%;
	}
	
	.mainVisual .mainImg .textBox {
		margin: 0 auto;
		float: none;
		width: 82.5%;
	}
	
	.mainVisual .mainImg .textBox h1 {
		margin: 0 0 10px -3px;
	}

	.mainVisual .mainImg .textBox h1 img {
		width: 100%;
	}
	
	.mainVisual .mainImg .textBox p {
		margin: 0 10px;
		line-height: 1.5;
		font-size: 12px;
	}
	
	#main .topInner {
		margin-bottom: 65px;
		padding: 15px 7px 20px;
	}
	
	#main .topInner h2 {
		margin-bottom: 15px;
		font-size: 22px;
	}

	#main .topInner img {
		width: 100%;
	}
	
	#main .imgBox {
		margin-bottom: 30px;
	}
	
	#main .imgBox .photoBox {
		margin: 7px 10px 0 0;
		width: 32%;
	}

	#main .imgBox .photoBox img {
		width: 100%;
	}
	
	#main .imgBox .textBox {
		float: none !important;
		width: auto;
	}
	
	#main .textBox02 {
		margin-bottom: 30px;
	}
	
	#main .imgBoxR .photoBox {
		margin: 7px 0 0 10px;
	}
	
	#main .textList {
		margin: 20px 0;
	}
	
	#main .textList li {
		line-height: 1.7;
	}
	
	#main .imgBoxR02 .photoBox {
		margin: 0 auto 10px;
		float: none;
		width: 72%;
	}
	
	#main .imgBoxR02 .textBox p:nth-child(2),
	#main .imgBoxR02 .textBox p:nth-child(3) {
		width: auto;
	}
	
	#main .imgBoxR03 .photoBox {
		margin-bottom: 10px;
		float: none;
		width: 100%;
	}

	#main .imgBoxR03 .photoBox02 {
		margin: 30px 0 25px;
	}
	
	#main .inner .last {
		margin-bottom: 60px;
	}

	#main .comContact {
		margin-bottom: 60px;
	}
	
	#main .comContact .topBox .ttl {
		margin-bottom: 14px;
		font-size: 18px;
		line-height: 1.58;
	}

	#main .comContact .topBox .textImg img {
		width: 100%;
	}
	
	#main .comContact .inner {
		padding: 0;
	}
	
	#main .comContact .topBox {
		padding: 24px 7px 29px;
	}
	
	#main .comContact .topBox .pinkSpan {
		margin: 5px 0 2px;
		font-size: 23px;
	}
	
	#main .comContact .topBox .ttl .sSpan {
		font-size: 12px;
	}
	
	#main .comContact .bottomBox .inner {
		width: auto;
	}
	
	#main .comContact .bottomBox {
		padding: 29px 0 28px;
		border-bottom-width: 1px;
	}
	
	#main .comContact .bottomBox .linkBox {
		margin: 0 -8px;
	}
	
	#main .comContact .bottomBox .lBox {
		margin: 0 0 6px;
		float: none;
		text-align: center;
	}

	#main .comContact .bottomBox .lBox img {
		width: 195px;
		margin: 0 auto;
	}
	
	#main .comContact .bottomBox .rBox {
		float: none;
	}

	#main .comContact .bottomBox .rBox img {
		width: 100%;
	}

	#main .comContact .bottomBox .rBox .telLink {
		width: 72%;
	}
	
	#main .comContact .bottomBox .btnP {
		padding: 0;
		margin: 5px 0 0 0;
		width: auto;
		font-size: 13px;
		border: none;
		background-color: inherit;
	}

	#main .comContact .bottomBox .btnP a {
		margin: 0 auto;
		width: 79%;
		display: block;
	}

	#main .comContact .bottomBox .btnP img {
		width: 100%;
	}
		
	#main .comContact .bottomBox .linkBtn {
		margin: 0;
		width: 28%;
	}
	
	#main .bgInner {
		margin-bottom: 60px;
		padding: 60px 0;
	}
	
	#main .pointBox {
		margin-bottom: 40px;
		padding-bottom: 40px;
	}
	
	#main .pointBox .photoBox {
		margin: 0 0 10px;
		float: none;
	}

	#main .pointBox .photoBox img {
		width: 100%;
	}
	
	#main .pointBox .ttlDl {
		margin-bottom: 10px;
		width: auto;
		display: inherit;
	}
	
	#main .pointBox .ttlDl dt,
	#main .pointBox .ttlDl dd {
		display: inherit;
	}
	
	#main .pointBox .ttlDl dt {
		margin-bottom: 5px;
		padding: 5px;
		height: auto;
		font-size: 12px;
		border-radius: 5px;
	}
	
	#main .pointBox .ttlDl dt span {
		margin-left: 2px;
		display: inline-block;
		font-size: 16px;
	}
	
	#main .pointBox .ttlDl dd {
		padding-left: 0;
		font-size: 19px;
	}
	
	#main .pointBox h4 {
		margin: 35px 0 17px;
		padding: 20px 10px;
		font-size: 18px;
		border-left-width: 3px;
	}
	
	#main .pointBox .imgBox .photoBox {
		position: static;
		right: auto;
		top: auto;
		width: auto;
	}

	#main .imgBox.last .photoBox {
		margin: 0 0 15px;
		float: none;
		width: auto;
	}

	#main .imgBox .textBox03 {
		width: auto;
	}
	
	#main .inner .txt01 {
		margin-bottom: 35px;
	}
	
	#main .textList01 {
		margin: 0;
	}
	
	#main .textList02 {
		padding: 20px 0;
		margin: 0;
		clear: both;
	}

	#main .bgInner .photoBox {
		margin: 0 0 20px;
		float: none;
		width: 100%;
	}
	
	#main .imgBoxR03.last .photoBox02 {
		margin: 30px auto 25px;
		width: 62%;
	}

	#main .movieBox {
		margin: 0 15px 60px;
		width: auto;
	}
	
	#main .movieBox > p {
		margin-bottom: -15px;
		text-align: left;
	}
	
	#main .movieList li {
		padding: 40px 0;
	}
	
	#main .movieList li h3 {
		font-size: 19px;
		line-height: 1.2;
	}
	
	#main .movieList li .movie {
		margin: 14px 0 10px;
		padding-bottom: 56.25%;
		width: auto;
		position: relative;
		height: 0;
		overflow: hidden;
		box-sizing: content-box;
	}

	#main .movieList li .movie iframe {
		width: 100% !important;
		height: 100% !important;
		position: absolute;
		left: 0;
		top: 0;
	}

	#main .movieList li .movie img {
		width: 100%;
	}

	#main .movieList li p {
		font-size: 14px;
		line-height: 1.9;
	}

	#main .movieList li p > span {
		margin-bottom: 3px;
		font-size: 16px;
		line-height: 1.5;
	}
	
	#main .bgInner .movieBox {
		margin-bottom: 0;
	}
}