@charset "UTF-8";
/* ******************************************************************

	--home.css--

	1. Layout setting

****************************************************************** */


/*==================================================================
	1. Layout setting
===================================================================*/

#keyv {
	position:relative;
	height:700px;
	overflow:hidden;
	background:#000;
}
#keyv .pcDisplay,
#keyv #movie {
	height:100%;
}
#tubular-container {
	height:100%;
	position:relative;
}
#keyv iframe {
	top:50% !important;
	left:50% !important;
	transform:translate(-50% , -50%);
	-webkit-transform:translate(-50% , -50%);
	-ms-transform:translate(-50% , -50%);
	-moz-transform:translate(-50% , -50%);
}
#keyv .keyvText {
	position:absolute;
	top:50%;
	left:50%;
	text-align:center;
	width:80%;
	margin:-95px 0 0 -40%;
	z-index:3; 
}
.infoBlock {
	position:relative;
	z-index:1;
	background:#202020;
}
.infoBlock .infoInner {
	max-width:1000px;
	margin:0 auto;
	padding:12px 10px;
}
.infoBlock .infoText {
	float:left;
	width:180px;
	padding:4px 0 6px;
	border-right:2px solid #444;
	font-family:'Century Gothic';
	font-size:20px;
	color:#EDEDED;
}
.infoBlock dl {
	float:left;
	width:calc(100% - 214px);
	padding:9px 0 4px 38px;
	font-family:'Century Gothic';
}
.infoBlock dl dt {
	font-size:14px;
	font-weight:bold;
	color:#CB253A;
}
.infoBlock dl dt span {
	font-size:17px;
}
.infoBlock dl dd {
	margin:-1.45em 0 0 0;
	padding:0 0 0 8.07em;
	font-size:14px;
	color:#EDEDED;
}
.personalBlock {
	position:relative;
	z-index:1;
	background:url(../img/home/bg_personal.jpg) no-repeat 50% 50%;
	background-size:cover;
	height:500px;
	text-align:center;
}
.personalBlock .blockInner {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	-o-flex-direction:column;
	flex-direction:column;
	justify-content:center;
	max-width:980px;
	height:100%;
	margin:0 auto;
	padding:115px 10px 120px;
	text-align:left;
}
.personalBlock .blockInner p {
	padding:24px 0 0 0px;
}
.personalBlock .blockInner p img {
	transform:translateZ(0);
	vertical-align:middle;
}
.section {
	background:#FFF;
}
.section .sectionInner {
	max-width:1000px;
	margin:0 auto;
	padding:68px 10px 40px;
}
.section h2 {
	padding-bottom:30px;
	color:#990014;
	font-size:18px;
	font-weight:bold;
	text-align:center;
}
.section h2 span {
	display:block;
	padding-top:14px;
	font-size:30px;
}
.section .caution {
  text-align: center;
  line-height: 1.6;
  font-size: 16px;
}
.sectionText01 {
	padding-bottom:50px;
	font-size:16px;
	line-height:1.85;
	text-align:center;
}
.section .blockList {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.section .blockList > li {
	max-width:555px;
	margin-bottom:48px;
	width: calc((100% - 30px) / 2);
}
.section .blockList > li .blockText {
	text-align:center;
	color:#333;
	font-size:20px;
	font-weight:bold;
	line-height:1.5;
}
.section .blockList > li .blockText span {
	padding-right:22px;
	color:#d2814a;
	font-family:'Century Gothic';
	font-size:14px;
	font-weight:bold;
}
.section .blockList > li .blockText em {
	font-family:'Century Gothic';
	font-weight:bold;
}
.section .blockList > li:first-child .blockText span {
	color:#d2814a;
}
.section .blockList > li:nth-child(2) .blockText span {
	color:#d1005b;
}
.section .blockList > li:nth-child(3) .blockText span {
	color:#270052;
}
.section .blockList > li:nth-child(4) .blockText span {
	color:#518351;
}
.imageVideo {
	position:relative;
	margin-bottom:14px;
}
.imageVideo > img {
	width:100%;
	vertical-align:middle;
}
.playVideo {
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	left:0;
	top:0;
	height:100%;
	width:100%;
	transition:background-color 0.25s;
}
.playVideo img {
	vertical-align:middle;
	border-radius:50%;
	transition:all .5s;
}
.videoBlock iframe {
	width:100%;
}
.modal .videoBlock {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
}
.playVideo img:hover {
	cursor:pointer;
	box-shadow:1px 1px 5px 0px rgba(0, 0, 0, 0.14);
	-moz-box-shadow:1px 1px 5px 0px rgba(0, 0, 0, 0.14);
	-webkit-box-shadow:1px 1px 5px 0px rgba(0, 0, 0, 0.14);
}

.imageVideo:hover .playVideo {
	cursor:pointer;
	background-color:rgba(0, 0, 0, 0.25);
}
.imageVideo>img {
	position:relative;
}
.imageVideo iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.videoBlock iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.overlay {
	z-index:9 !important;
}
.section01 {
	background:url(../img/home/bg_section01.jpg) no-repeat 0 0;
	background-size:cover;
	background-position:center;
}
.section01 .sectionInner {
	padding:62px 10px 39px;
}
.section01 h2 {
	padding-bottom:47px;
	color:#FFF;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	text-shadow:1px 1px 1px rgba(0, 0, 0, 0.15);
}
.section01 h2 span {
	display:block;
	padding-top:12px;
	font-size:30px;
}
.section01 .priceList {
	font-family:'Century Gothic';
	margin-bottom:15px;
	text-align:center;
}
.section01 .priceList li p {
	display:inline-block;
	vertical-align:middle;
}
.section01 .priceList li .minute {
	width:69px;
	padding:14px 5px 20px;
	background:#CB253B;
	border-radius:2px;
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	color:#FFF;
	font-size:15px;
	text-align:center;
}
.section01 .priceList li .priceText {
	width:calc(100% - 92px);
}
.section01 .priceList li .minute span {
	font-size:28px;
}
.section01 .priceList li .priceText {
	margin-top:-7px;
	padding-left:6px;
	color:#990014;
	font-size:15px;
}
.section01 .priceList li .priceText span {
	padding-right:2px;
	font-size:28px;
	font-weight:bold;
	letter-spacing:-1px;
}
.section01 .note {
	display:inline-block;
	margin-left:50%;
	transform:translateX(-50%);
	padding:7px 20px;
	background-color:#A82334;
	color:#FFF;
	border-radius:3px;
	text-indent:0;
}
.section02 .sectionInner {
	padding:52px 10px 48px;
}
.section02 h2 {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	-ms-align-items:center;
	align-items:center;
	justify-content:center;
	margin-bottom:-3px;
	padding-bottom:50px;
	color:#990013;
}
.section02 h2 .colLeft {
	margin-right:9px;
}
.section02 h2 .colRight img {
	margin-right:19px;
}
.section02 h2 .colLeft span,
.section02 h2 .colRight span {
	font-size:18px;
}
.section02 .sectionInner > h2 {
	padding-bottom: 30px;
}
.section02 .sectionInner > .sectionInner-sub {
	color: #333;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.45;
	margin-bottom: 2.4em;
}
.section02 .sectionInner > .sectionInner-sub::after {
	content: "";
	border-radius: 3px;
	background: linear-gradient(to left, #30ae07 0%, #518351 100%);
	display: block;
	height: 6px;
	margin: 0.8em auto 0;
    width: 60%;
}
.section02 .sectionInner > .sectionInner-sub rt {
	color: #999;
    font-family: 'Century Gothic';
    font-size: 0.6em;
	font-weight: normal;
    line-height: 1.8;
}
.section02 h2 em:last-child {
	display:block;
	max-width:893px;
	margin:10px auto 0;
	text-align:left;
}
.section03 {
	background:#F1F0F0;
	border-top:1px solid #E6E6E6;
	border-bottom:1px solid #E6E6E6;
}
.section03 .sectionInner {
	padding:80px 10px 3px;
}
.section03 h2 {
	margin-bottom:15px;
}
.section03 .sectionText01 {
	margin-top:-13px;
	padding-bottom:62px;
}
.tabStyle01 .jsTab {
	position:relative;
	/* border-bottom:1px solid #D1D1D1; */
	z-index:1px;
}
.tabStyle01 .tab {
	max-width:560px;
	margin:-1px auto 0;
}
.tabStyle01 li {
	display:inline-block;
	max-width:280px;
	width:50%;
	margin-right:-4px;
	text-align:center;
	vertical-align:bottom;
}
.tabStyle01 li:first-child {
	border-left:1px solid #CCC;
}
.tabStyle01 li:last-child {
	border-right:1px solid #CCC;
}
.tabStyle01 li a {
	position:relative;
	display:block;
	margin-bottom:-1px;
	text-decoration:none;
	color:#333;
	font-size:18px;
	background-color:#E5E5E5;
	border-top:1px solid #CCC;
	padding:15px 10px 16px;
}
.tabStyle01 li a:after {
	position:absolute;
	left:0;
	bottom:0;
	content:"";
	width:100%;
	height:1px;
	background:#CCC;
}
.tabStyle01 li.active a {
	min-height:70px;
	padding-top:32px;
	color:#990014;
	border-top:none;
	border-right:1px solid #CCC;
}
.tabStyle01 li.active:last-child a {
	border-left:1px solid #CCC;
	border-right:none;
}
.tabStyle01 li.active a:before {
	position:absolute;
	left:0;
	top:0;
	content:"";
	width:100%;
	height:5px;
	background:#990014;
}
.tabStyle01 li.active a:after {
	background:none;
}
.tabStyle01 li.active a:hover {
	color:#990014;
}
.tabStyle01 li span {
	display:inline-block;
	padding-left:30px;
	background-image:url(../img/common/icon_arrow01.png);
	background-repeat:no-repeat;
	background-size:20px;
	background-position:left 0 top 50%;
}
.tabStyle01 li.active span {
	background-image:url(../img/common/icon_arrow02.png);
}
.tabStyle01 li.active a {
	position:relative;
	background:url(../img/home/bg_tab.jpg) repeat 0 0;
	z-index:2;
}
/*.tabStyle01 .tabContent {
	border-top:1px solid #D1D1D1;
	background:url(../img/home/bg_section03.jpg) repeat 0 0;
}*/
.tabStyle01 .tabContent .tabBox {
	display:none;
	max-width:1000px;
	margin:0 auto;
	padding:0 10px 10px;
}
.tabStyle01 #tab01 {
	display:block;
}
.cacseList {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	justify-content:space-between;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	-o-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0 0 14px;
}
.cacseList:after {
	content: "";
	width:calc((100% - 140px) / 3);
}
.cacseList li {
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	justify-content:space-between;
	margin-bottom:15px;
	padding:14px 12px;
	width:calc((100% - 30px) / 2);
	border:solid 1px #DDD;
	border-radius:3px;
}
.cacseList li:nth-child(2n) {
	margin-right:0;
}
.cacseImg {
	align-items:center;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	width:54px;
}
.cacseImg img {
	vertical-align:middle;
	transform:translateZ(0);
	width:100%;
}
.cacseText {
	align-items:center;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:-o-flex;
	display:flex;
	width:calc(100% - 70px);
}
.cacseTitle {
	color:#999;
	font-family:'Century Gothic';
	font-size:12px;
	line-height:1.8;
}
.cacseDescription {
	color:#333;
	font-size:18px;
	font-weight:bold;
	line-height:1.45;
	position:relative;
}
.cacseDescription span {
	font-size:16px;
}
.section01 .priceList li {
	display:inline-block;
}
.areaTtl {
  font-size: 30px;
  color: #990014;
  text-align: center;
  font-weight: bold;
  margin-bottom: 50px;
  position: relative;
  padding-bottom: 15px;
}
.areaTtl::before {
  content: "";
  width: 50px;
  height: 2px;
  background-color: #990014;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width:1090px) {
	.section .blockList > li ul {
		padding:10px;
	}
}
@media screen and (max-width:1300px) {
	#keyv {
		height:568px;
	}
}
@media screen and (max-width:1090px) {
	.section .blockList > li {
		margin-bottom:60px;
		width: calc((100% - 20px) / 2);
	}
	.section01 .priceList {
		margin-bottom:10px;
	}
	.section01 .priceList li {
		max-width:inherit;
		margin-bottom:15px;
		/*width: calc((100% - 30px) / 3);*/
		width:calc(25% - 10px);
		text-align:center;
	}
	.section01 .priceList li:nth-child(2n+1) {
		text-align:right;
	}
	.section01 .priceList li:nth-child(2n+2) {
		text-align:left;
	}
	.cacseList:after {
		display:none;
	}
	.tabStyle01 .tab {
		margin:-3px auto 0;
	}
}
@media screen and (max-width:850px) {
	.section01 .priceList li {
		width:calc(50% - 10px);
	}
	.section01 .priceList li:nth-child(2n+1) {
		text-align:right;
	}
	.section01 .priceList li:nth-child(2n+2) {
		text-align:left;
	}
}
@media screen and (max-width:736px) {
	.section01 .priceList li {
		width:calc(100%);
	}
	.section01 .priceList li:nth-child(2n+1) {
		text-align:center;
	}
	.section01 .priceList li:nth-child(2n+2) {
		text-align:center;
	}
	.section01 .note {
		min-width:221px;
	}
	.section03 .sectionText01 {
		margin-top:0;
		padding-bottom:40px;
	}
	.section02 h2 em:last-child {
		max-width:480px;
	}
	#keyv {
		height:auto;
		padding:0;
	}
	#keyv .keyvText {
		display:none;
	}
	#keyv .keyvText img {
		width:90%;
		height:auto;
	}
	.infoBlock .infoInner {
		max-width:inherit;
		padding:12px 10px;
	}
	.infoBlock .infoText {
		float:none;
		width:100%;
		padding:4px 0 0;
		border-right:none;
		font-size:16px;
		color:#FFF;
	}
	.infoBlock dl {
		float:none;
		width:100%;
		padding:7px 0 4px;
	}
	.infoBlock dl dt {
		font-size:12px;
		color:#CB253A;
	}
	.infoBlock dl dt span {
		font-size:14px;
	}
	.infoBlock dl dd {
		margin:-1.25em 0 0 0;
		padding:0 0 0 7.5em;
		font-size:12px;
		color:#FFF;
		line-height:1.3;
	}
	.personalBlock {
		height:inherit;
		padding-right:10px;
	}
	.personalBlock .blockInner {
		width:100%;
		max-width:inherit;
		padding:50px 10px;
	}
	.personalBlock .blockInner p {
		padding:10px 45% 0 0;
	}
	.personalBlock h2 img {
		width:auto;
		height:50px;
	}
	.section .sectionInner {
		max-width:inherit;
		padding:30px 10px 0;
	}
	.section h2 {
		padding-bottom:10px;
		font-size:13px;
	}
	.section h2 span {
		display:block;
		padding-top:5px;
		font-size:16px;
	}
	.section02 h2 .colLeft span,
	.section02 h2 .colRight span {
		font-size:13px;
	}
	.sectionText01 {
		padding-bottom:20px;
		font-size:12px;
		line-height:1.5;
	}
	.section .blockList > li {
		max-width:inherit;
		margin-bottom:10px;
		width:100%;
	}
	.section .blockList > li .imageVideo {
		margin-bottom:10px;
	}
	.section .blockList > li .imageVideo > img {
		width:100%;
		height:auto;
	}
	.section .blockList > li ul li img {
		width:25px;
		height:auto;
	}
	.section01 .sectionInner {
		padding:30px 10px;
	}
	.section01 h2 {
		padding-bottom:20px;
		font-size:13px;
	}
	.section01 h2 span {
		display:block;
		padding-top:5px;
		font-size:15px;
	}
  .section .caution {
    font-size: 12px;
    margin-bottom: 15px;
  }
	.section01 .priceList li {
		max-width:inherit;
		margin-bottom:15px;
		/*width: calc((100% - 15px) / 2);*/
	}
	.section01 .priceList li p {
		display:inline-block;
		vertical-align:middle;
	}
	.section01 .priceList li .minute {
		width:60px;
		padding:15px 10px;
		font-size:13px;
	}
	.section01 .priceList li .priceText {
		width:calc(100% - 72px);
	}
	.section01 .priceList li .minute span {
		font-size:16px;
	}
	.section01 .priceList li .priceText {
		margin-top:0;
		padding-left:12px;
		color:#990014;
		font-size:13px;
	}
	.section01 .priceList li .priceText span {
		padding-right:2px;
		font-size:16px;
		font-weight:bold;
		letter-spacing:-1px;
	}
	.section02 h2 {
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		-ms-flex-direction:column;
		-o-flex-direction:column;
		flex-direction:column;
		margin-bottom:20px;
	}
	.section02 h2 .colLeft {
		margin-right:0;
	}
	.section02 h2 .colRight img {
		max-width:50px;
		margin-right:10px;
	}
	.section02 .sectionInner {
		padding:30px 10px 10px;
	}
	.section03 {
		border-bottom:none;
	}
	.section03 .sectionInner {
		max-width:inherit;
		padding:30px 10px 10px;
	}
	.section03 h2 {
		margin-bottom:10px;
	}
	.section03 h2 img {
		width:auto;
		height:30px;
		text-align:center;
    margin: 0 auto;
	}
	.section03 h2 img.spDisplay {
		display:inline-block;
	}
	.tabStyle01 .tab {
		max-width:inherit;
		padding:0 30px;
	}
	.tabStyle01 li a {
		font-size:13px;
		padding:14px 10px 12px;
	}
	.tabStyle01 li {
		display:inline-block;
		max-width:inherit;
		width:50%;
		margin-right:-4px;
		text-align:center;
		vertical-align:bottom;
	}
	.tabStyle01 li a {
		font-size:13px;
		background-color:#E5E5E5;
		border-top:1px solid #CCC;
		padding:12px 10px;
	}
	.tabStyle01 li.active a {
		min-height:40px;
		padding-top:24px;
		color:#990014;
		border-top:none;
		border-right:1px solid #CCC;
	}
	.tabStyle01 li.active:last-child a {
		border-left:1px solid #CCC;
		border-right:none;
	}
	.tabStyle01 li.active a:before {
		position:absolute;
		left:0;
		top:0;
		content:"";
		width:100%;
		height:3px;
		background:#990014;
	}
	.tabStyle01 li span {
		display:inline-block;
		padding-left:20px;
		background:url(../img/common/icon_arrow01.png) no-repeat 0 0;
		background-size:15px auto;
	}
	.tabStyle01 li.active span {
		background:url(../img/common/icon_arrow02.png) no-repeat 0 0;
		background-size:15px auto;
	}
	.tabStyle01 .tabContent .tabBox {
		max-width:inherit;
		padding:0 10px 10px;
	}
  .areaTtl::before {
    width: 30px;
  }
	.cacseList {
		margin:0 auto;
	}
	.cacseList li {
		margin-bottom:20px;
		width:calc((100% - 20px) / 2);
	}
	.cacseDescription {
		font-size:16px;
	}
	.cacseDescription span {
		font-size:12px;
	}
  .areaTtl {
    font-size: 16px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width:480px) {
	.section01 .priceList li {
		max-width:inherit;
		margin-bottom:10px;
		/*width:100%;*/
	}
	.cacseList {
		margin:0 auto;
	}
	.cacseList li {
		margin-bottom:20px;
		width:100%;
	}
}

.flip-container img.hidden {
	visibility:hidden;
}
.flip-container {
	position:relative;
	height: 300px;
}
.flip-front {
	position:absolute;
	z-index:2;
	backface-visibility: visible;
	transform: perspective(10000px) rotateY(0deg);
	transition: all 500ms;
}
.flip-back {
	position:absolute;
	z-index:1;
	backface-visibility: visible;
	transform: perspective(10000px) rotateY(180deg);
	transition: all 500ms;
}
.flip-container:hover .flip-front {z-index:1;
	backface-visibility: visible;
	transform: perspective(10000px) rotateY(180deg);
}
.flip-container:hover .flip-back {z-index:2;
	backface-visibility: visible;
	transform: perspective(10000px) rotateY(360deg);
}
