
@charset "utf-8";

/**
 *
 * コンテンツ共通
 *
 */


/*--------------------------------------------------------------------------
	Utility 有用クラス
--------------------------------------------------------------------------*/

/* text
-----------------------------------------------------------------*/
/*
.font-xs{}
.font-s{}
.font-l{}
.font-xl{}
*/

sup,
sub{ font-size: 72%;}
sup{ vertical-align: super;}
sub{ vertical-align: baseline;}

.em,
em,
strong{ font-weight: bold;}

.txt-left  { text-align: left;}
.txt-center{ text-align: center;}
.txt-right { text-align: right;}



.Gothic{
	font-family: ff-basic-gothic-pro, sans-serif;
	font-weight: 100;
	font-style: normal;	
}





/* float
-----------------------------------------------------------------*/
.left { float: left;}
.right{ float: right;}
.clear{ float: none; clear: both;}


/* display
-----------------------------------------------------------------*/
.hidden{
	visibility: hidden;
	overflow: hidden;
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	line-height: 0;
}
@media all and (orientation:portrait){
	.landscape{
		display: none !important;
	}
}
@media all and (orientation:landscape){
	.portrait{
		display: none !important;
	}
}

/*.pc{ display: block;}*/
.sd,
.tb,
.sp{ display: none;}

@media all and (max-width: 1024px){
	.pc{ display: none;}
	.sd,
	.tb{ display: block;}
}

@media all and (max-width: 768px){
	.tb{ display: none;}
	.sp{ display: block; }
}



/* adjuster
-----------------------------------------------------------------*/
.mt0{ margin-top: 0 !important;}
.mb0{ margin-bottom: 20px !important;}
.pt0{ padding-top: 0 !important;}
.pb0{ padding-bottom: 0 !important;}


.mbtxt_b{ padding-bottom: 22px !important;}

@media all and (max-width: 600px){

	.mbtxt_b{ margin-bottom: 0px !important;}

}


/*----------------------------------------------------------------------
	Parts .list リスト
----------------------------------------------------------------------*/

/* .list-disc 黒丸
-----------------------------------------------------------------*/
.list-disc{
	padding-left: 1.5em;
}
.list-disc li{
	list-style-type: disc;
}


/* .list-decimal ナンバー付きリスト
-----------------------------------------------------------------*/
.list-decimal{
	padding-left: 1.5em;
}
.list-decimal li{
	list-style-type: decimal;
}


/* .list-decimal ナンバー付きリスト
-----------------------------------------------------------------*/
/*
.list-arw[num]{}
.list-link[num]{}
.list-num[num]{}
.list-[unique]{}
.list-type[num]{}
*/

/* LINK
================================================== */

a[href^="tel:"] { cursor: default; }

a{
	color:#404040;	
	}
	
	a:hover{
	color:#a5a486;
	text-decoration:none;
	}
	


	img{
		vertical-align: top;
		-ms-interpolation-mode:bicubic;   /* IE 7+ */
	 image-rendering: optimizeQuality; /* Fx, (Gecko 1.9.2) */
		max-width: 100%;
		height: auto;
		width /****/:auto;  /*IE8�̂ݓK�p*/
	}
	

img[src*=".svg"] {
	width: 100%; 
  }

	
	a img{opacity:1;
	filter: alpha(opacity=100);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=100)";  /* ie 8 */
	-moz-opacity:1;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 1;              /* Safari 1.x */
	zoom:1;}
	
	a:hover img{
	filter: alpha(opacity=100);        /* ie lt 8 */
	-ms-filter: "alpha(opacity=100)";  /* ie 8 */
	-moz-opacity:1;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 1;              /* Safari 1.x */
	zoom:1;}
	
	}
	

	
	
	a {
		 -webkit-transition: all .1s ease;
		-moz-transition: all .1s ease;
		-ms-transition: all .1s ease;
		-o-transition: all .1s ease;
		transition: all .1s ease;
	}
	
	*:focus {
	  outline: none!important;
	}



/* iframe
================================================== */

.youtube {
	position: relative;
	height: 0;
	padding: 0 0 56.25%;
	overflow: hidden;
	}
	
	.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	}



/* ROUND
================================================== */

  .roundimg{  
    border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;   /* Firefox用 */  
}  


/* FLEX
================================================== */



.flex_wrapper-box-c {
	clear:left;
	padding:0;
	margin:0%;
	display:flex;
	box-sizing:border-box;
	align-items: center; 
	
}

.flex_wrapper-box-c-r {
	clear:left;
	padding:0;
	margin:0;
	display:flex;
	align-items: center; 
	flex-flow: row-reverse;
	box-sizing:border-box;
}




.flex_two-item-left {
	width:48%;
	height:auto;
	padding:0px; 
	margin:4% 4% 0 0;
}

.flex_two-item-right {
	width:48%;
	height:auto;
	padding:0px; 
	margin:4% 4% 0 0;
}






@media (max-width: 800px) {

	.flex_wrapper-box-c {
		padding:0;
		margin:0 0;
		display: inherit;  
		align-items:start; 
	}

	.flex_wrapper-box-c-r {
		padding:0;
		margin:0 0;
		display: inherit;  
		flex-flow: row-reverse;
	}
	

	.flex_two-item-left {
		width:auto;
		height:auto;
		padding:20px 0 35px 0; 
		margin:0 auto;
		text-align:center;
	}
	
	.flex_two-item-right {
		width:auto;
		padding:0 0 0 0; 
		margin:0px auto;
		text-align:center;
	}
	
	
}




/* COMMON WRAPPER
================================================== */


.topics-container{
	max-width:750px;
	min-width:290px;
	height:auto;
	margin:-65px auto 10px auto;
	padding:0;
	text-align:center;
  overflow:hidden;
}

.movie-container{
	max-width:750px;
	min-width:290px;
	height:auto;
	margin:10px auto -30px auto;
	padding:0;
	text-align:center;
  overflow:hidden;
}


.pages-container{
	max-width:980px;
	min-width:290px;
	height:auto;
	margin:0 auto;
	padding:0 40px 0 50px;
	text-align:center;
  overflow:hidden;
}




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


		.topics-container{
			max-width:550px;
			min-width:290px;
			height:auto;
			margin:-105px auto -35px auto;
			padding:0 35px;
			text-align:center;
		  overflow:hidden;
		}
		
		.movie-container{
			max-width:550px;
			min-width:290px;
			height:auto;
			margin:20px auto -20px auto;
			padding:0 35px;
			text-align:center;
		  overflow:hidden;
		}
		
		.pages-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 40px;
			text-align:center;
		  overflow:hidden;
		}
		



	}




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

		.topics-container{
			max-width:750px;
			min-width:290px;
			height:auto;
			margin:-65px auto -30px auto;
			padding:0 45px;
			text-align:center;
			overflow:hidden;
		}
		
		.movie-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:20px auto -20px auto;
			padding:0 35px;
			text-align:center;
		  overflow:hidden;
		}
		

		.pages-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 25px;
			text-align:center;
		  overflow:hidden;
		}
		


	}

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

		.topics-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 15px;
			text-align:center;
		  overflow:hidden;
		}
		
		.movie-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 15px;
			text-align:center;
		  overflow:hidden;
		}
		
		.pages-container{
			max-width:980px;
			min-width:290px;
			height:auto;
			margin:0 auto;
			padding:0 15px;
			text-align:center;
		  overflow:hidden;
		}
		


	}




/* FORM
================================================== */

.width50{
	width:50%!important;
}

.width20{
	width:25%!important;
}

.width30{
	width:30%!important;
}

.width60{
	width:60%!important;
}

@media (max-width: 800px) {

	.width50{
		width:95%!important;
	}

	.width20{
		width:95%!important;
	}

	.width30{
		width:95%!important;
	}

	.width60{
		width:95%!important;
	}

}



.cp_iptxt {
	position: relative;
	width: 100%;
	margin:0;
}

input::placeholder {
	color: #666666;
	font-size: 12px;
  }

.cp_iptxt input[type='password'] ,
.cp_iptxt input[type='tel'] ,
.cp_iptxt input[type='email'] ,
.cp_iptxt input[type='text'] {
	font: 15px/24px sans-serif;
	box-sizing: border-box;
	width: 100%;
	padding: 0.6em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #333333;
	border: 1px solid #cccccc;
	border-radius: 7px;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
}
.ef input[type='text']:focus {
	outline: none;
	box-shadow: inset 1px 1px 2px 0 #c9c9c9;
}
.cp_iptxt input[type='password'].alert ,
.cp_iptxt input[type='tel'].alert ,
.cp_iptxt input[type='email'].alert ,
.cp_iptxt input[type='text'].alert {
	border-color: #f00;
}

.cp_iptxt ul {
	width:auto;
	height:auto;
	margin:0;
	padding:0;

}
.cp_iptxt .list_item {
	margin:0 0 15px 0;
	padding: 0;
}



.cp_ipcheck {
	width: 100%;
	margin:0;
	text-align: left;
}
.cp_ipcheck ul {
	margin: 5px 0 0;
	padding: 0;
	list-style: none;
	font-size:12px;
	letter-spacing: 0;

}
.cp_ipcheck .list_item {
	margin: 0 0 0.5rem 0;
	padding: 0;
}
.cp_ipcheck label {
	line-height: 135%;
	position: relative;
	margin: 0.5rem;
	cursor: pointer;
}
.cp_ipcheck .option-input05 {
	position: relative;
	margin: 0 1rem 0 0;
	cursor: pointer;
}



.cp_ipselect {
	position: relative;
	width: 30%;
	margin:0;
}

@media (max-width: 800px) {

	.cp_ipselect {
		position: relative;
		width: 94%;
		margin:0;
	}
}



.cp_ipselect select {
	width: 100%;
	font-size:12px;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	padding: 0.2em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #333333;
	border: 1px solid #cccccc;
	background-color:#ffffff;
	border-radius: 7px;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 1.2em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	margin-bottom: 0;
	color: #666666;
}




.cp_ipradio {
	width: 100%;
	margin:0;
	text-align: left;
}
.cp_ipradio ul {
	width:auto;
	height:auto;
	margin:0;
	padding:0;

}
.cp_ipradio .list_item {
	width:50%;
	margin:0 25px 0 0;
	padding: 0;
	display: inline-block;
}


.cp_iptxtarea {
	width: auto;
	margin:0;
	padding:0;
	text-align: left;
	}


.cp_iptxtarea textarea{
	width:98%;
	height: 9em;
	text-align: left;
	line-height: 1.5em;
	transition: 0.3s;
	letter-spacing: 1px;
	color: #333333;
	border: 1px solid #cccccc;
	border-radius: 7px;
	font-size:14px;
	-webkit-appearance : none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);

	}


