
@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;}



html{
	scroll-behavior: smooth;
  }

/* 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:#666666;	
	}
	
	a:hover{
	color:#cccccc;
	text-decoration:none;
	-webkit-transition: all .3s;
	transition: all .3s;
	}
	
	
	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;
	-webkit-transition: all .3s;
	transition: all .3s;
}
	
	img[src$=".svg"] {
		width: 100%;
	}
	
	
	*: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;
	}



/* LOADING
================================================== */

#is-loading {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #f8f8f8;
	z-index: 999999;
   }
   #loading {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 140px;
	margin-top: -70px;
	margin-left: -50px;
	text-align: center;
	background: #f8f8f8;
	z-index: 900;
	animation-name: fadeup;
    animation-duration: 0.5s;
   }

   @keyframes fadeup {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
	}

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

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


/* COLOR
================================================== */


._yellowbg{background-color:#ffd249;}
._yellowtxt{color:#ffd249!important;}

._redbg{background-color:#005BA3;}
._redtxt{color:#005BA3!important;}

._greenbg{background-color:#43b87a;}
._greentxt{color:#43b87a!important;}


._pinkbg{background-color:#ea6d8d;}
._pinktxt{color:#ea6d8d!important;}

/* PAGES
================================================== */




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

.pages-section_box{
width:auto;
margin:0 auto;
padding:115px 75px;
text-align:center;
}

.pages-section_box_ne{
	width:auto;
	margin:0 auto;
	padding:0 75px;
	text-align:center;
}

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


	.pages-section_box{
		width:auto;
		margin:0px auto 75px auto;
		padding:75px 45px;
		text-align:center;
		}
		
		.pages-section_box_ne{
			width:auto;
			margin:-75px auto 0 auto;
			padding:0 45px;
			text-align:center;
		}
		
		

}




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


	.pages-section_box{
		width:auto;
		margin:0px auto 75px auto;
		padding:75px 20px;
		text-align:center;
		}
		
		.pages-section_box_ne{
			width:auto;
			margin:-75px auto 0 auto;
			padding:0 20px;
			text-align:center;
		}
		
	

}

/* 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;
}
.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;
}
.ef input[type='text']:focus {
	outline: none;
	box-shadow: inset 1px 1px 2px 0 #c9c9c9;
}

.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_ipcheck .option-input05:before {
	position: absolute;
	z-index: 1;
	top: 0.125rem;
	left: 0.1875rem;
	width: 0.75rem;
	height: 0.375rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 2px solid #a00046;
	border-top-style: none;
	border-right-style: none;
}
.cp_ipcheck .option-input05:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.cp_ipcheck .option-input05:after {
	position: absolute;
	top: -0.125rem;
	left: 0;
	width: 1rem;
	height: 1rem;
	content: '';
	cursor: pointer;
	border: 2px solid #f2f2f2;
	background: #ffffff;
}



.cp_ipselect {
	position: relative;
	width: 30%;
	margin:0;
}
.cp_ipselect select {
	width: 100%;
	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;
	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 {
	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;

	}