/******************************************************/
/* body */
/******************************************************/
body{
	color:#fff;/* 文字色 */
	font-size:100%;
	font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,"メイリオ","ＭＳ Ｐゴシック",verdana,arial,"lucida grande",sans-serif;
	line-height:170%!important;
	background:#263a8d;
	-webkit-text-size-adjust:100%;
}


body a{
	color:#fff;/* 文字色 */
	text-decoration:none;
}

body a:hover{
	color:#fff;/* 文字色 */
	text-decoration:underline;
}

@media only screen and (max-width:736px){
	body{
		color:#fff;/* 文字色 */
		font-size:90%;
		font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",Meiryo,"メイリオ","ＭＳ Ｐゴシック",verdana,arial,"lucida grande",sans-serif!important;
		line-height:190%;
		-webkit-text-size-adjust: 100%;
	}
}

.SP{display:none !important;}
@media only screen and (max-width:736px){
	.PC{display:none !important;}
	.SP{display:block !important;}
}

a img.linkimg{
background:none!important;
}

a:hover img.linkimg{
opacity:0.7;
filter:alpha(opacity=70);
-ms-filter: "alpha( opacity=60 )";
background:none!important;
}

/******************************************************/
/* wrapper */
/******************************************************/
#wrapper{
	background:url(/vivid_cp/images/main_bg.jpg) no-repeat center top #2a3cab;
	color: #fff;
	width: 100%;
}

#main{
	width: 100%;
	margin: 0 auto 0 auto;
	padding:0 20px 30px 20px;
	box-sizing: border-box;
	max-width: 1240px;
}

.logo{
	text-align: center;
	padding: 40px 0 40px 0;
}

h1{
	text-align: center;
	margin: 45px 0 45px 0!important;
}

.readSet{
	padding: 20px 0 15px 0;
	font-size: 130%;
	line-height: 190%;
	font-weight: bold;
	text-align: center;
}
	.readSet .pro{
		margin: 5px 30px 0 40px;
		font-weight: bold;
	}

.movie{
	width: 70%;
	text-align: center;
	padding: 50px 0 50px 0;
	margin:50px auto 50px auto;
  position: relative;
	padding-top: 35%;
}
	.movie iframe{
	  position: absolute;
	  top: 0;
	  right: 0;
	  width: 100% !important;
	  height: 100% !important;
	}


.line{
	background: rgb(212,159,219);
	background: -moz-linear-gradient(left, rgb(212,159,219) 0%, rgb(209,236,251) 51%, rgb(94,185,244) 100%);
	background: -webkit-linear-gradient(left, rgb(212,159,219) 0%,rgb(209,236,251) 51%,rgb(94,185,244) 100%);
	background: linear-gradient(to right, rgb(212,159,219) 0%,rgb(209,236,251) 51%,rgb(94,185,244) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d49fdb', endColorstr='#5eb9f4',GradientType=1 );
	height: 1px;
	text-indent: -9999px;
}


.shoBox{
	background-color: rgba(255,255,255,0.15);
	padding:39px 29px 25px 30px;
	margin: 50px 0 0 0;
	display: flex;
	width: 100%;
	box-sizing: border-box;
}

.leftSet{
	flex:1;
	margin-right:20px;
}

.rightSet{
	width: 266px;
}


.rightSet a{
	display: block;
	border: solid #fff 1px;
	text-align: center;
	padding: 12px 20px 7px 20px;
	margin-top: 20px;
	font-weight: bold;
	/*background:url(/vivid_cp/images/btn_arrow.png) no-repeat 240px center;*/

}

h2{
	font-size: 250%!important;
	font-weight: bold!important;
}


h2.mainTitle{
	text-align: center;
	color: #fff000;
	margin: 50px 0 40px 0;
}



p.mainRead{
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	margin: 0 0 40px 0;
}

h3{
	font-size: 150%!important;
	font-weight: bold!important;
	margin: 20px 0 10px 0!important;
	line-height:150%!important;
}

h3.mainTitle{
	text-align: center;
	color: #fff;
	font-size:200%!important;
	padding: 20px 0 0  0;
}

.kiji{margin-bottom: 40px;text-align: center;}

.entry{
	text-align: center;
	margin: 50px 0 50px 0;
}

.btnSet{
	margin-bottom: 50px;
	display: flex;
	justify-content: center;
	font-weight: bold;
}

	.linkBtn{
		text-align: center;
		display: flex;
		border: solid 1px #fff;
		justify-content: center;
		align-items: center;
		margin: -20px 16px 0 16px;
	}
		.linkBtn a{
			display: block;
			padding:15px 0 10px 0;
			width: 400px;
		}

h4.vv{
	text-align: center;
	font-weight: bold;
	font-size: 140%;
	margin-bottom: 30px;
}



.viSet .viInner{
	display: flex;
	justify-content:space-around;
	margin-bottom: 50px;
}

.viWrap{
	display: flex;
	margin-bottom: 30px;
}

.viSet{
	margin: 30px 0 0 0;
}

.viSet dl{
	text-align: center;
	font-size: 90%;
	width: 305px;
}

.viSet dl{
	text-align: center;
	font-size: 90%;
}

.viSet dl dd.name{
	font-weight: bold;
	font-size: 140%;
	margin: 20px 0 5px 0;
}

.viSet dl dd.txt{
	margin: auto;
	line-height: 160%;
}


.cr{
	text-align: center;
	padding:50px;
	font-size: 80%;
}

.date{
	text-align: center;
	margin: 30px 0 -25px 0;
	font-size: 140%;
	line-height: 160%;
}


.end{
	margin: 50px 0 50px 0;
	background: #ff3a67;
	text-align: center;
	padding:25px 20px 20px 20px;
	border:solid 3px #fff;
	box-sizing: border-box;
	font-weight: bold;
	font-size: 140%;
}


/******************************************************/
/* アコーディオン */
/******************************************************/
.hide-text {
	display: none;
	margin-top: 40px;
	line-height: 200%;
}


.ms{
	display: flex;
}
	.ms .ms_txt{
		order: 2;
	}
	.ms .ms_photo{
		order: 1;
		text-align: center;
		margin-right: 40px;
	}

.ms2{
	display: flex;
	margin-top: 40px;
}
	.ms2 .ms_photo{
		margin-left:40px!important;
	}


.hide-text h3{
  margin-top:0!important;
}

.hide-text .cap{
	font-size: 80%;
	display: block;
	margin-top:5px;
}


button.readmore {
    position: relative;
    height: 80px;
    width: 80px;
    margin: 0 auto 0 auto;
    display: block;
    background-color: transparent;
    color: #fff;
    border: none;
    outline: 0;
    transition: .5s;
    -erbkit-transition: .5s;
			cursor: pointer;
}

button.readmore::after {
    content: " ";
    position: absolute;
    width: 15px;
    height: 15px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    right: 30px;
    top: 30px;
    transition: .5s;
    -erbkit-transition: .5s;
}

.on-click {
    transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
		top:-5px!important;
}

.more_btn{
	cursor: pointer;
	position: relative;
	width: 400px;
	border: 1px solid #c0c5e6;
	margin: 50px auto 50px auto;
	padding:20px 30px 15px 0;
	font-size: 120%;
	font-weight: bold;
	box-sizing: border-box;
}

.more_btn .readmore{
	position: absolute;
	right:-10px;
	top:-10px;;
}


/******************************************************/
/* 比較 */
/******************************************************/
.twentytwenty-container {
}

h4.bfaf{
	font-size: 120%;
	margin-bottom: 5px;
}

.line.hikaku{
	margin-top: 30px;
}


/******************************************************/
/* sp */
/******************************************************/

@media only screen and (max-width:736px){

#wrapper{
	background-size:150% auto;
}

	#main{
		width: 100%;
		padding:15px;
		box-sizing: border-box;
		font-size: 80%;
	}
	#main img{
		width: 100%;
	}

.logo{
	padding: 5px 0 20px 0;
}
.logo img{
	width:40%!important;
}

h1{
	margin: 20px 0 20px 0!important;
}
	h1 img{
		width: 100%!important;
	}


.readSet{
	display: block;
	font-size: 100%;
	line-height: 160%;
	padding: 15px 0 15px 0
}
	.readSet .pro{
		width: 50%!important;
		margin:3px  auto 12px auto;
	}

	.movie{
		width: 100%;
		margin:20px auto 0 auto;
		padding-top: 56.25%;
	}

	.shoBox{
		display: block;
		padding:30px 20px 15px 25px;
		margin-top: 15px;
	}

	.leftSet{
		margin-right:0;
	}

	.rightSet{
		width: 100%;
		text-align: center;
		margin: 20px 0 10px 0;
	}

	.rightSet img{
		width: 50%!important;
	}

	.entry{
		margin: 30px 0 30px 0;
	}

	.more_btn{
		cursor: pointer;
		margin: 25px auto 25px auto;
		width: 100%;
	}

	h2.mainTitle{
		margin: 30px 0 20px 0;
		font-size:220%!important;
	}

	h3.mainTitle{
		padding: 0 0 0 0!important;
	}

	p.mainRead{
		margin: 0 0 20px 0;
	}

	.kiji{margin-bottom:20px;}

		h4.bfaf{
			font-size: 120%;
			margin-bottom: 0;
		}

	.line.hikaku{
		margin-top: 20px;
	}


.ms{
	display: block;
}
	.ms .ms_txt{
		margin-bottom: 20px;
	}
	.ms .ms_photo{
		order: 1;
		text-align: center;
		margin-right: 0;
	}

.ms2{
	display: block;
	margin-top: 20px;
}
	.ms2 .ms_photo{
		margin:20px 0 0 0!important;
	}

	.ms2 .ms_txt span.SP{
		display: inline-block!important;
	}



.btnSet{
	display: block;
	margin-bottom: 30px;
}
	.linkBtn{
	height: auto!important;
		margin: 20px 0 20px 0;
	}

	.viSet .viInner{
		display: block;
		margin-bottom: 50px;
	}

	.viWrap{
		display: block;
	}

	.viSet{
		margin: 30px 0 0 0;
	}

	.viSet dl{
		text-align: center;
		font-size: 90%;
		width: 100%;
		margin-bottom: 20px;
	}

	.viSet dl{
		text-align: center;
		font-size: 90%;
	}

	.viSet dl dd.name{
		font-size: 160%;
		margin-top:10px;
	}

	.viSet img{
		width: 50%!important;
	}

	.date{
		text-align: center;
		margin: 20px 0 -12px 0;
		font-size: 120%;
	}

.end{
	margin: 30px 0 30px 0;
	padding:8px 10px 6px 10px;
	border:solid 2px #fff;
	font-size: 120%;
	line-height: 160%;
}



}


/* =======================================x
	フォーム
========================================== */
	body#entry #wrapper .main{
		width:1240px;
		padding: 0 20px 20px 20px;
		margin: auto;
		box-sizing:border-box;
	}

.submit input{width: 200px;height: 50px;cursor: pointer; font-size: 100%;}

.form_weap{
	background: #fff;
	padding: 30px;
	color: #000;
	margin-bottom: 40px;
}

.form_weap a.pp{
	color: #000;
	font-size: 80%;
}
.form_weap a.pp:hover{
	color: #000;
	text-decoration: underline;
:}

.readSet_form{
	margin: 20px 0 20px 0;
}
	.readSet_form dl{
		display: flex;
		margin-bottom:5px;
	}
		.readSet_form dl dt{
			width:22%;
		}
		.readSet_form dl dd{
			width:78%;
		}

.readSet_form h4{
	font-weight: bold;
	margin-bottom: 10px;
}

h2.fotm_h2{font-size:150%!important;margin: 10px 0 0 0;}


.main table.resTable {
	width: 100%;
	margin-bottom:30px;
}

.main th,.main td{
	padding:18px 18px 15px 18px;
	box-sizing:border-box;
	border: 1px solid #ccc;

}

.main th{
	background: #f5f5f5;
}

.pre_set{
	display: flex;
  align-items: center;
	line-height: 150%;
	border-bottom: 1px dotted #bbb;
}

	.pre_set dt{
		margin-right: 10px;
		background: #d5f2ff;
		padding: 15px;
	}


	.pre_set dd.pname{
		width:42%;
	}

	.pre_set dd.pname span{
		font-weight: bold;
	}


	.pre_set dd img{
		width:40%;
		margin: 15px 0 10px 20px;
	}

	.pre_set dd.ss img{
		width:45%!important;
	}



h2.formTitle{
	font-size: 150%!important;
	margin-bottom:25px;
	font-weight: normal!important;
	text-align: center;
}


.main .formList dt{
	width:180px;
	float:left;
}

.main .formList dd,
.main .formList li{
	float:left;
	margin-right:10px;
}

.resTable th {width: 30%; text-align: left; }
.imp{color:#ff0000; font-weight:bold;}


	.back{
		position: fixed;
		right: 15px;
		top:15px;
		font-size: 90%;
		background: #fff;
		text-align: center;
		border-radius: 5px;        /* CSS3草案 */
		-webkit-border-radius: 5px;    /* Safari,Google Chrome用 */
		-moz-border-radius: 5px;   /* Firefox用 */
	}
		.back a{
			text-decoration:none;
			color:#000000;
			display: block;
			padding: 5px 15px 3px 18px;
		}
			.back a:hover{
				color:#000000;
				text-decoration: none;
			}




table.resTable .qtitle{
	text-align:center;
	font-weight:bold;
	font-size:150%;
}

table.resTable .answer{
	font-size:300%;
	line-height:150%;
	text-align:center;
}
	table.resTable .answer input{
		text-align:center;
		font-size:100%;
	}


.main .sns{
	margin:40px auto 0 auto;
	width:140px;
	padding-bottom: 30px;
}
	.main  .sns .fb{
		margin-right:10px;
		float:left;
		text-align:center;
		width: 60px;
		overflow: hidden;
	}

	.main  .sns .tw{
		float:left;
		text-align:center;
		width: 70px;
		overflow: hidden;
	}

.inq{
	text-align:center;
	font-size: 80%;
	margin-top: 30px;
}





@media only screen and (max-width:667px){
	.resTable th,
	.resTable td{
		width:100%;
		box-sizing:border-box;
		display:block;
		border-top:none;
	}
	.resTable tr:first-child th   { border-top: 1px solid #ccc; }

	.main .formList dt{
		float:none;
	}

	.main .formList dd,
	.main .formList li{
		float:none;
		margin:0;
	}


	.back{
		position: fixed;
		right:0;
		top:0;
		width: 100%;
		border-radius: 0;        /* CSS3草案 */
		-webkit-border-radius: 0;    /* Safari,Google Chrome用 */
		-moz-border-radius: 0;   /* Firefox用 */
	}
		.back a{
			text-decoration:none;
			color:#000000;
			display: block;
			padding: 5px 15px 3px 18px;
		}
			.back a:hover{
				color:#000000;
				text-decoration: none;
			}



	body#entry #wrapper .main{
		width:100%;
		margin-top: 35px;
		padding-top: 20px;
	}


	body#entry #wrapper .main .head{
		margin:20px 0 20px 0!important;
	}

	table.resTable .qtitle{
		font-size:120%;
	}

	.form_weap{
		background: #fff;
		padding:15px;
		color: #000;
		margin-bottom: 0!important;
	}

	.readSet_form{
		font-size: 90%;
		line-height: 140%;
	}

	.readSet_form dl{
		display: block;
		margin-bottom: 15px;
	}
		.readSet_form dl dt{
			width:100%;
		}
		.readSet_form dl dd{
			width:100%;
		}

	.pre_set{
		margin: 0 0 0 0;
		display: block;
		text-align: center;
		border-bottom: 0;
	}
		.pre_set dd.pname{
			width:100%;
			margin-top: 10px;
		}

	.pre_set dt{
		padding: 10px;
	}

	h2.fotm_h2{margin-bottom: 20px; font-size: 120%!important; text-align: center;}

}


















/******************************************************/
/* clear */
/******************************************************/

.clear:after{
	display:block;content:"";clear:both;overflow:hidden;
}
