@charset "utf-8";
/* CSS Document */

/* ボディ */
.m_wrap{
	overflow: hidden;
}


/* スライダーエリア */
#slider {
	margin: 0;
	background-color: #000; 
	/*width: 1200px;
margin: 0 auto!important;*/
	}
	.top_slider .arrow_leftright {
		position: absolute;
		top:50%;
		margin-top: -18px; 
		z-index: 999;
		cursor: pointer;	}
		.top_slider .arrow_left {
			left: 20px!important;	}
		.top_slider .arrow_right {
			right: 20px!important; }
			
		#slider .sld_listbox {
			position: relative;
			display: flex;
			align-items: center;
			width: auto;
			/*height: 100vh;*/
			height: 500px;
			}
		 /* IE11 */
		@media all and (-ms-high-contrast:none){
			#slider .sld_listbox {
				position: relative;
				display: block;
				align-items: center;
				width: auto;
				height: 100vh;}
			/*.top_slider .slick-track{
				width: 100%!important;
			}*/
		}		
			.sld_textwaku_common {
				/*position: absolute;*/
				width: 100%;
				height: 240px;
				bottom: 200px;
				z-index: 9999;
				margin-top: -40px;
			}
				
				.sld_textwaku01 {
					position: relative;
					text-align: center;
					width: 100%;
					max-width: 1200px;
					margin: 0 auto;
					padding: 30px 20px 70px;
					background-color: #fff;
					background: linear-gradient(to top, rgba(255, 255, 255, 0), white 25%);
					box-shadow: 0 -8px 10px rgba(0, 0, 0, 0.2);
					z-index: 9999;
					box-sizing: border-box;
				}
					.sld_textwaku01::before {
						background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #f2f2f2 80%); 
						content: ""; 
						position: absolute; 
						top: 120px; 
						width: 10px; 
						height: calc(100% - 100px); 
						left: -10px;
					}
					.sld_textwaku01::after {
						background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #f2f2f2 80%); 
						content: ""; 
						position: absolute; 
						top: 120px; 
						width: 10px; 
						height: calc(100% - 100px); 
						right: -10px;
					}
				 /* IE11 */
				@media all and (-ms-high-contrast:none){
				.sld_textwaku01 {
					position: relative;
					text-align: center;
					width: 100%;
					max-width: 1200px;
					margin: 0 auto;
					padding: 30px 20px 70px;
					background-color: #fff;
					background: linear-gradient(to top, rgba(255, 255, 255, 0), white 25%);
					z-index: 9999;
					box-sizing: border-box;
					}
				}			
					.sld_textwaku01 .sld_title {
						font-size: 2.5em;
						letter-spacing: -0.02em;
						line-height: 1.2em;
						width: 100%; 
						margin: 0 auto;
						padding: 0;
						box-sizing: border-box;
						color: #333;
						font-family: 'Noto Sans JP',sans-serif;
						font-family: 'Anton', sans-serif;
						font-family: 'Oswald', sans-serif;
						font-family: 'Roboto', sans-serif;
						font-weight: 600;
						text-align: left;
						overflow: hidden;
					}
					.sld_textwaku01 .sld_title_m {
						font-size: 1em;
						width: 100%; 
						margin: 0 auto;
						padding: 0.3em 0 0;
						box-sizing: border-box;
						font-weight: 600;
						text-align: left;
						overflow: hidden;}
					 .sld_textwaku01  .sld_subtitle {
						margin: 2em auto 0;
						padding: 0;
						box-sizing: border-box;
						width: 100%;
						text-align: left;
						overflow: hidden;    
					}	
					

		.sld_img {
			display: flex!important;
			align-items: center!important; }
			.top_slider .sld_img img {
				position: absolute;
				max-height: 100%;
				/*display: flex!important;
				align-items: center!important;*/
				object-fit: cover!important;
				width: 100%;
				height: 100vh!important; 
				top: 0;
			}
			/* ie11対応 */
			.top_slider .sld_img img {
				object-fit: cover!important;
				font-family: 'object-fit: cover; object-position: 50% 50%;';
			}
			.works_slider .works_sld_img img {
				object-fit: cover!important;
				font-family: 'object-fit: cover; object-position: 50% 50%;';
			}
			

/* product */
#product {
	background-color: #f2f2f2;
	padding: 0 0 60px;
	margin-top: -80px;
	position: relative; }
	
	
	.prd_midashicopy {
		margin-top: 100px;
		font-size: 20px;
		font-family: 'Noto Serif JP', serif;
		font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 6px;
		text-indent: 6px;
		color: #333;
		text-align: left;
		width: 100%;}
	
	.prd_midashi_e {
		margin-top: 120px;
	    font-size: 60px;
		line-height: 60px;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		text-align: center;
		padding-top: 260px;
		color: #333; }
	.prd_midashi {
		font-size: 16px;
		font-family: 'Noto Serif JP', serif;
		font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 0;
		color: #333;
		text-align: center;
		width: 100%;}
	.prd_midashi_s {
		font-family: 'Roboto', sans-serif;
		font-size: 0.8em;
		text-align: left;
		padding-top: 10px;
	}
		
	#product ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 14em;
	}
		#product li {
			position: relative;
			margin-bottom: 20px;
			width: 100%;
			height: inherit;
			overflow: hidden;
			background-color: #fff;
			text-align: center; 
		}
		.sp_click{
			background: #3085a3;
			text-align: center;
			display: block;
		}
			.sp_click p{
				padding-top: 40%;
			}
		
			#product li img {
				width: 100%; 
			}
			.prd_titlewaku {
				overflow: hidden;
				padding: 20px 20px;
				box-sizing: border-box; 
			}
				.prd_title {
					font-size: 0.9em;
					line-height: 1em;
					font-weight: 600;
					text-align: left;
					font-family: 'Roboto', sans-serif;
				}
				.prd_subtitle {
					font-size: 1.1em;
					font-weight: 600;
					margin-top: 0;
					height: inherit;
					text-align: left; 
				}
				.prd_subtxt {
					font-size: 0.9em;
					padding-top: 0.6em;
					margin-top: 0;
					height: inherit;
					text-align: left;
					line-height: 1.6;
				}


	#guideinfo .guideinfo_flexwrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 10px; }
		#guideinfo .guideinfo_flexitem {
			position: relative;
			margin-bottom: 10px;
			width: 49%;
			height: inherit;
			overflow: hidden;
			text-align: center; 
			/*border: 1px solid #ccc;*/
			padding: 20px 12px;
			box-sizing: border-box;
			border-radius: 10px;
			background-color: #0093c338;
			}
			#guideinfo .guideinfo_flexitem img {
				width: 30%; 
			}
				.guideinfo_midashi_e {
					font-size: 0.8em;
					font-weight: 600;
					line-height: 1.4;
					color: #024487;
					text-align: center; 
					padding-top: 10px;
				}
				.guideinfo_midashi {
					font-size: 1.0em;
					font-weight: 600;
					line-height: 1.4;
					color: #024487;
					text-align: center; 
					padding-top: 0.2em;
				}
				.guideinfo_text {
					font-size: 0.8em;
					margin-top: 0.8em;
					color: #024487;
					height: inherit;
					text-align: left; 
					line-height: 1.6;
				}


  
/*-----------------*/
/***** Apollo *****/
/*-----------------*/
.grid {
	position: relative;
	clear: both;
	margin: 0 auto;
	/*padding: 1em 0 4em;*/
	/*max-width: 1000px;*/
	list-style: none;
	text-align: center;
}
/* Common style */
.grid figure {
	position: relative;
	float: left;
	overflow: hidden;
	/*margin: 10px 1%;
	min-width: 320px;
	max-width: 480px;
	max-height: 360px;*/
	width: 100%;
	height: auto;
	/*height: 300px;*/
	background: #3085a3;
	text-align: center;
	cursor: pointer;
}
.pddesc_works .grid figure {
	cursor: default;
	background: #fff;
}

.grid figure img {
	position: relative;
	display: block;
	min-height: 100%;
	max-width: 100%;
	opacity: 0.8;
}
.pddesc_works .grid figure img {
	opacity: 1.0;
}
.grid figure figcaption {
	padding: 5em 3em;
	color: #fff;
	text-transform: uppercase;
	font-size: 1.0em;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	box-sizing: border-box;
}

/*---　セクション別　---*/
#product .grid figure figcaption {
	padding: 5em 1em;
	display: flex;
	align-items: center;
}
#works .grid figure figcaption {
	padding: 4em 1em;
	display: flex;
	align-items: center;
}
#ul_pdindex .grid figure figcaption {
	padding: 4em 3em;
	font-size: 1.2em;
	background-color: rgba(0,0,0,0.10);
}
/*.pddesc_works .grid figure figcaption {
	padding: 4em 1em;
}*/
#ul_workslist .grid figure figcaption {
	padding: 2em 1em;
	display: flex;
	align-items: center;
}


.grid figure figcaption::before,
.grid figure figcaption::after {
	pointer-events: none;
}
.grid figure figcaption,
.grid figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}
.grid figure h2 {
	word-spacing: -0.15em;
	font-weight: 300;
}
.grid figure h2 span {
	font-weight: 800;
}
.grid figure h2,
.grid figure p {
	margin: 0 auto;
}
.grid figure p {
	letter-spacing: 1px;
	/*font-size: 68.5%;*/
}
figure.effect-apollo {
	background: #024487;
}
figure.effect-apollo img {
	opacity: 0.95;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale3d(1.05,1.05,1);
	transform: scale3d(1.05,1.05,1);
}
figure.effect-apollo figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.5);
	content: '';
	-webkit-transition: -webkit-transform 0.6s;
	transition: transform 0.6s;
	-webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);
	transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);
	padding: 60px;
}


figure.effect-apollo p {
	text-align: center;
	/*margin-top: 10%;*/
	opacity: 1;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
	font-weight: 500;
	border-bottom: 1px solid #fff;
	display: inline-block;
}

/*---　セクション別　---*/
#product figure.effect-apollo p {
	margin-top: 0;
	font-weight: 600;
	font-size: 20px;
	display: inline-block;
	margin: 0 auto;
}
#works figure.effect-apollo p {
	margin-top: 0;
	font-size: 14px;
	display: inline-block;
	margin: 0 auto;
}
#ul_pdindex figure.effect-ruby p {
	padding: 0;
}


figure.effect-apollo h2 {
	text-align: left;
}
figure.effect-apollo:hover img {
	opacity: 0.6;
	-webkit-transform: scale3d(1,1,1);
	transform: scale3d(1,1,1);
}
figure.effect-apollo:hover figcaption::before {
	-webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);
	transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);
}
figure.effect-apollo:hover p {
	opacity: 1;
	-webkit-transition-delay: 0.1s;
	transition-delay: 0.1s;
}
  
  
/*---------------*/
/***** Ruby *****/
/*---------------*/

figure.effect-ruby {
	background-color: #024487;
	border: 1px solid #ddd;
}
figure.effect-ruby::before {
	background-color: #024487!important;
}

figure.effect-ruby img {
	opacity: 1.0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}

figure.effect-ruby:hover img {
	opacity: 0.5;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-ruby h2 {
	margin-top: 20%;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-ruby p {
	margin: 0;
	padding: 0.2em;
	/*border: 1px solid #fff;*/
	opacity: 1;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0) scale(1.1);
	transform: translate3d(0,20px,0) scale(1.1);
} 

figure.effect-ruby:hover h2 {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

figure.effect-ruby:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0) scale(1);
	transform: translate3d(0,0,0) scale(1);
}
  
#ul_pdindex .grid figure figcaption {
    font-size: 1.2em;
}
  
  
  

/* movie */
#movieshow {
	margin-top: 2em;
}
	#movieshow .mv_flexwrap {
		position: relative; 
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
		.mv_flexitem {
			position: relative;
			width: 100%;
			margin-bottom: 20px;
		}
			.youtube {
			  position: relative;
			  width: 100%;
			  padding-top: 56.25%;
			}
				.youtube iframe {
				  position: absolute;
				  top: 0;
				  right: 0;
				  width: 100% !important;
				  height: 100% !important;
				}

			.mv_desptxt {
				margin-top: 6px;
				font-size: 16px;
				font-weight: 500;
				color: #333;
				text-align: center;
			}







  
/* works */
#works {
	background-color: #333;
	padding: 40px 0;
	position: relative; }
	.wks_midashi_e {
	    font-size: 50px;
		line-height: 60px;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		text-align: center;
		color: #fff; }
	.wks_midashi {
		font-size: 1em;
		font-family: 'Noto Serif JP', serif;
		font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 6px;
		text-indent: 6px;
		color: #fff;
		text-align: center;
		width: 100%;}
	#works ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 20px; }
		#works li {
			position: relative;
			margin-bottom: 2%;
			width: 100%;
			height: inherit;
			overflow: hidden;
			background-color: #fff;
			text-align: left; 
		}

			.works_flexwrap {
				display: flex;
				flex-direction: column;
				justify-content: space-between;
				margin-top: 0;
				margin-bottom: 20px;
			}
				.works_flexleft {
					position: relative;
					width: 100%;
					margin-bottom: 0;
					height: inherit;
				}
					.works_flexleft .grid figure {
						height: 300px;
					}

				.works_flexright {
					position: relative;
					width: 100%;
					padding: 1em;
					box-sizing: border-box;
					padding: 0.8em 1.2em;
				}

					#works li img {
						object-fit: cover;
						height: inherit;
						width: 100%;  
					}
					.wks_titlewaku {
						overflow: hidden;
						box-sizing: border-box; }
						.wks_yoto01waku {
							text-align: left;}

						.wks_misashitxt {
							margin-top: 0.2em;
							font-size: 1.1em;
							font-weight: 600;
							color: #333;
							text-align: left; 
						}
						.wks_desctxt {
							margin-top: 6px;
							font-size: 0.8em;
							font-weight: 500;
							color: #333;
							text-align: left; 
						}
							.wks_desctxt table {
								width: 100%;
								padding: 20px;
							}
								.wks_desctxt table tr {
									border-bottom: 1px solid #ccc;
								}
									.wks_desctxt table th {
										font-weight: 600;
										text-align: left;
										width: 20%;
										padding: 10px 0;
									}
									.wks_desctxt table td {
										font-weight: 500;
										text-align: left;
										width: 80%;
										padding: 10px 0;
									}


  
  
	/* works_button */
	.wks_btn{
		background-color: #fff;
		font-size: 16px;
		font-weight: bold;
		position: relative;
		text-align: center;
		vertical-align: middle;
		margin: 40px auto 0;
		width: 100%;}
	.wks_btn a {
		text-decoration: none;}
		
		.wks_common{
		position: relative;
		display: block;
		width: 100%;
		margin-left: 0;
		height: inherit;
		box-sizing: border-box;
		padding: 10px 10px;
		border: 1px solid #024487;
		border-radius: 0px;
		color: #fff;
		z-index: 1;
		transition: .2s; }
		.wks_action{
			overflow: hidden;
		}
		.wks_action::before{
			content: "";
			z-index: -1;
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			background-color: #024487;
			transition: .2s;
		}
		.wks_action:hover{
			color: #024487;
		}
		.wks_action:hover:before{
			left: 100%;
		}


		
/* qa */
#qa {
	background-color: #f2f2f2;
	padding: 40px 0 ;
	position: relative; 
}
	.qa_midashi_e {
	    font-size: 50px;
		line-height: 60px;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		text-align: center;
		color: #333; 
	}
	.qa_midashi {
		font-size: 1em;
		font-family: 'Noto Serif JP', serif;
		font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 6px;
		text-indent: 6px;
		color: #333;
		text-align: center;
		width: 100%;
	}
	.qa_flexwrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-top: 2em;
		margin-bottom: 20px;
	}
		.qa_flexleft {
			position: relative;
			width: 100%;
			margin-bottom: 20px;
		}

			#qa ul {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				margin-top: 40px; 
			}
				#qa li {
					position: relative;
					margin-bottom: 20px;
					width: 100%;
					height: inherit;
					overflow: hidden;
					background-color: #fff;
					text-align: center; 
				}

					#qa li dl { }
						#qa li dl dt {
							padding: 20px;
							height: inherit;
							box-sizing: border-box;
							border-bottom: 1px dotted #818181; }
						#qa li dl dd {
							padding: 20px;
							min-height: inherit;
							box-sizing: border-box;
							text-align: left;}

					.qa_wrap {
						display: flex;
						flex-wrap: wrap; }
						.qa_qimg {
							width: 30px;
							margin-right: 20px;
							text-align: center; }
							.qa_qimg img {
								width: 100%; }
						.qa_qtxt {
							flex: 1;
							font-size: 1em;
							font-weight: 600;
							line-height: 1.6;
							text-align: left; 
						}
						.qa_atxt {
							flex: 1;
							font-size: 1em;
							line-height: 1.6;
							text-align: left; 
						}

		.qa_flexright {
			position: relative;
			width: 100%;
			margin-bottom: 20px;
			padding: 2em;
		}



/* news */
#news {
  background-color: #fff;
	padding: 40px 0 ;
  position: relative;
  z-index: 9999; 
}
	.news_midashi_e {
	    font-size: 40px;
		line-height: 60px;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		text-align: center;
		color: #333; 
	}
	.news_midashi {
		font-size: 1em;
		font-family: 'Noto Serif JP', serif;
		font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
		font-weight: 600;
		letter-spacing: 6px;
		text-indent: 6px;
		color: #333;
		text-align: center;
		width: 100%;
	}
	#news .news_flexwrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-top: 2em;
		margin-bottom: 20px;
	}
	.news_flexwrap {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-top: 0;
		margin-bottom: 20px;
	}
		.news_flexleft {
			position: relative;
			width: 100%;
			margin-bottom: 20px;
		}

			.news_flexleft .newslist_ul {
				text-align: center;
				display: flex;
				justify-content: space-between;
				flex-direction: row;
				flex-wrap: wrap;
			}
			.news_flexleft .newslist_li:first-child {
				position: relative;
				border-top: 1px dotted #ccc;
			}
			.news_flexleft .newslist_li {
				position: relative;
				color: #333 !important;
				width: 48%;
				display: table;
				/*border-bottom: 1px dotted #ccc;*/
				text-decoration: none;
				padding: 0 0 2em;
				margin-bottom: 1em;
				-webkit-box-sizing: border-box;
				 -moz-box-sizing: border-box;
					 -o-box-sizing: border-box;
					-ms-box-sizing: border-box;
							box-sizing: border-box;
			}
			 /* IE11 */
			@media all and (-ms-high-contrast:none){
				.news_flexleft .newslist_li {
					display: block;
				}
			}			

					.news_flexleft .newslist_li a {
						text-decoration: none;
						position: absolute;
						top: 0;
						left: 0;
						width: 100%;
						height: 100%;
						box-sizing: border-box;
					}
					.news_flexleft .newslist_li a:hover {
						color: #333 !important;
						background-color: hsla(208,100%,34%,0.20);
					}

						.newslist_img {
							display: flex;
							width: 100%;
							height: 140px;
						}
							.newslist_img img {
								width: 100%;
								height: auto;
								margin: 0 auto;
								object-fit: cover;
							}
						.news_cate {
							text-align: left;
							font-size: 1.0em;
							margin-top: 0.5em;
							display: inherit;
							border-radius: 5px;
						}
						.singlewaku .news_cate {
							text-align: left;
							font-size: 1.0em;
							margin-top: 0.5em;
							display: inline-block;
							border-radius: 5px;
						}
						.singlewaku .news_cate a {
							text-decoration: none;
						}
							.news_cate ul {
								font-size: 0.8em;
								margin: 0;
								padding: 0em 1em 0.2em;
							}
								.news_cate ul li a {
									position: inherit!important;
									color: #fff;
									font-size: 0.8em;
									font-weight: 600;
									padding: 0.2em 1em;
								}
						.news_date {
							margin-top: 0.1em;
							text-align: left;
							font-size: 1.0em;
						}
						.news_text {
							margin-top: 0.2em;
							text-align: left;
							font-weight: 600;
							font-size: 0.8em;
							line-height: 1.4;
						}
							.news_text a {
								text-decoration: none;
							}



				.newslist_flexwrap {
					position: relative;
					display: flex;
					flex-direction: column;
					justify-content: space-between;
					margin-bottom: 20px;
				}
					.newslist_flexleft {
						position: relative;
						width: 100%;
						margin-bottom: 20px;
					}

					.newslist_flexright {
						position: relative;
						width: 100%;
						margin-bottom: 20px;
						padding: 2em;
						text-align: left;
					}




		.news_flexright {
			position: relative;
			width: 100%;
			margin-bottom: 20px;
			margin-left: 0;
		}
			.news_catemidashi {
				text-align: left;
				font-size: 1.0em;
				font-weight: 600;
				background-color: #333;
				color: #fff;
				padding: 0.5em 1em;
			}




/* blog サイドバーウィジェット編集 */
.news_flexright ul {
	border-top: 0;
	border-bottom: 0;
	
}
	.news_flexright ul li:first-child {
		border-top: 0;
	}

				.widgettitle {
					text-align: left;
					font-size: 1.0em;
					font-weight: 600;
					background-color: #333;
					color: #fff;
					padding: 0.5em 1em;
				}
/* ウィジェット「最近の投稿」編集 */
.wg_newnews ul {
	margin: 1.4em 0 3em!important;
}
	.wg_newnews h2 {
		border-radius: 0.5em;
	}
		.wg_newnews li {
			text-align: left;
			margin-bottom: 1.4em;
			line-height: 1.4;
		}
		.wg_newnews li a {
			text-decoration: none;
		}

/* ウィジェット「カテゴリ」編集 */
.wg_category ul {
	margin: 1.4em 0 3em!important;
	border-radius: 5px;
}
	.wg_category h2 {
		border-radius: 0.5em;
	}
		.wg_category li {
			text-align: left;
			padding: 0.4em 1em;
			display: inline-block;
			background-color: #ededed;
			border-radius: 5px;
			margin-right: 0.5em;
			margin-bottom: 1em;
		}
		.wg_category li a {
			font-size: 0.8em;
			padding: 5px;
			margin-bottom: 8px;
			text-align: left;
			text-decoration: none;
		}

/* ウィジェット「アーカイブ」編集 */
.wg_archive ul {
	margin: 1.4em 0 3em!important;
	border-radius: 5px;
}
	.wg_archive h2 {
		border-radius: 0.5em;
	}

/* ウィジェット「ギャラリー」編集 */
.wg_gallery ul {
	margin: 1.4em 0 3em!important;
	border-radius: 5px;
}
	.wg_gallery h2 {
		border-radius: 0.5em;
	}

.news_flexright ul li .textwidget a img {
	width: 100%
}


@media (min-width: 750px) {

/* ボディ */
.m_wrap{}
.m_wrap ul{
  margin-bottom: 0; }

/* スライダーエリア */
      .sld_title {
	    font-size: 20px;
		width: 100%; }
      .sld_subtitle {
	    font-size: 20px; 
		letter-spacing: 0.1em;
	    margin: 0 auto 0 0;
		width: 70%;
	    text-align: left;
	    overflow: hidden;}
		
/* contact */
.cnt_list {
  width: 49.0%; }  
  
}


/* Larger than desktop */
@media (min-width: 1000px) {

			.sld_textwaku_common {
				/*position: absolute;*/
				width: 100%;
				height: 240px;
				bottom: 120px;
				z-index: 9999;}



	/* product */
	#product {
		padding: 0 0 60px;
		margin-top: -320px;
	}
	.prd_midashicopy {
		margin-top: 80px;
		font-size: 30px;
		text-align: center;
		width: 100%;}
	.prd_midashi_e {
		padding-top: 340px;
	    font-size: 80px;
		line-height: 80px;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		color: #333; }
	.prd_midashi {
		margin-top: 0px;
		font-size: 26px;
		letter-spacing: 6px;
		text-indent: 7px;
	}
	.prd_midashi_s {
		font-family: 'Roboto', sans-serif;
		font-size: 1em;
		text-align: center;
		padding-top: 10px;
	}
	#product ul {
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		margin-top: 3em;
	}
	#product li {
		width: 32.5%;
		/*height: 420px;*/ }
		#product li img {
			width: 100%;  }
					.prd_title {
						font-size: 0.9em;
						text-align: left;
					}
					.prd_subtitle {
						font-size: 1.1em;
						text-align: left;
					}
					.prd_subtxt {
						font-size: 0.9em;
						text-align: left;
					}
			
	#guideinfo .guideinfo_flexwrap {
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		margin-top: 10px;
	}
		#guideinfo .guideinfo_flexitem {
			width: 19.5%;
			padding: 20px;
		}
			#guideinfo .guideinfo_flexitem img {
				width: 40%; 
			}
	
				.guideinfo_midashi_e {
					font-size: 0.8em;
					font-weight: 600;
					padding-top: 10px;
				}
				.guideinfo_midashi {
					font-size: 1.0em;
					font-weight: 600;
					text-align: center;
				}
				.guideinfo_text {
					font-size: 0.9em;
					text-align: left;
					}
			
			
/*---　セクション別　---*/
#product .grid figure figcaption {
	padding: 5em 1em;
}
#works .grid figure figcaption {
	padding: 5em 1em;
}
#ul_pdindex .grid figure figcaption {
	padding: 5em 3em;
	font-size: 1.2em;
}
/*.pddesc_works .grid figure figcaption {
	padding: 4em 1em;
}*/
/*#ul_workslist .grid figure figcaption {
	padding: 2em 1em;
}*/




figure.effect-apollo p {
	text-align: center;
	/*margin-top: 10%;*/
	opacity: 0;
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
	font-weight: 500;
	border-bottom: 1px solid #fff;
	display: inline-block;
}
	figure.effect-ruby p {
		opacity: 0;
	} 
/*---　セクション別　---*/
#product figure.effect-apollo p {
	margin-top: 0;
	font-weight: 500;
	font-size: 16px;
}
#works figure.effect-apollo p {
	/*margin-top: 10%;*/
	font-size: 16px;
}
#ul_pdindex figure.effect-ruby p {
	padding: 0.2em;
}


	/* works */
	#works {
		padding: 80px 0 80px; }
		.wks_midashi_e {
			font-size: 80px;
			line-height: 80px;
			font-family: 'Roboto', sans-serif;
			font-weight: 600;
			color: #fff; }
		.wks_midashi {
			font-size: 1em; }
		#works ul {
			display: flex;
			-webkit-justify-content: space-between;
			justify-content: space-between;
			margin-top: 40px; }
			#works li {
				width: 49%;
				/*height: 320px;*/ 
				margin-bottom: 2%;
			}
				.works_flexwrap {
					display: flex;
					flex-direction: column;
					margin-top: 0;
					margin-bottom: 0;
				}
					.works_flexleft {
						position: relative;
						width: 100%;
						margin-bottom: 0;
						height: 300px;
					}
					.works_flexright {
						position: relative;
						width: 100%;
						padding: 0.8em 1.2em;
					}
						#works li img {
							height: 300px;
							width: 100%;  
						}
							.wks_titlewaku {
								overflow: hidden;
								box-sizing: border-box; 
							}


	/* movie */
	#movieshow {
		margin-top: 2em;
	}
		#movieshow .mv_flexwrap {
			display: flex;
			flex-direction: row;
			margin-top: 20px; }
			.mv_flexitem {
				position: relative;
				width: 48.5%;
			}




	/* com_button */
	.wks_common{
		position: relative;
		display: block;
		width: 100%;
		margin-left: 0;
		height: inherit;
		box-sizing: border-box;
		padding: 20px 10px;
		border: 1px solid #024487;
		border-radius: 0px;
		color: #fff;
		z-index: 1;
		transition: .2s; }
	.wks_action{
		overflow: hidden;
		}
	.wks_action::before{
		content: "";
		/*z-index: 2;*/
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background-color: #024487;
		transition: .2s;
		}
	.wks_action:hover{
		color: #024487;
	  }
	.wks_action:hover:before{
		left: 100%;
	  }
	.wks_btn_arrow{
		margin-left: 20px;
		}
	
	
	/* qa */
	#qa {
		background-color: #f2f2f2;
		padding: 80px 0 ;
		position: relative;
	}
		.qa_midashi_e {
			font-size: 80px;
			line-height: 80px;
			font-family: 'Roboto', sans-serif;
			font-weight: 600;
			color: #333;
		}
		.qa_midashi {
			/*margin-top: 40px;*/
			font-size: 1em;
			font-family: 'Noto Serif JP', serif;
			font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
			font-weight: 600;
			letter-spacing: 6px;
			text-indent: 6px;
			color: #333;
			text-align: center;
			width: 100%;
		}
	
		.qa_flexwrap {
			display: flex;
			flex-direction: row;
			margin-top: 2em;
			margin-bottom: 0;
		}
			.qa_flexleft {
				position: relative;
				width: 60%;
				margin-bottom: 0;
			}
				#qa ul {
					display: flex;
					-webkit-justify-content: space-between;
					justify-content: space-between;
					margin-top: 40px;
				}
				#qa li {
					width: 32.5%;
				}
						#qa li dl { }
							#qa li dl dt {
								height: 120px; }
							#qa li dl dd {
								min-height: 180px;
								}

								.qa_qimg {
									width: 60px;
									margin-right: 20px;
									text-align: center; 
								}
							.qa_qtxt {
								flex: 1;
								font-size: 1em;
								font-weight: 600;
								text-align: left; 
							}

			.qa_flexright {
				position: relative;
				width: 40%;
				margin-bottom: 0;
				padding: 2em;
			}
	
	
	/* news */
	#news {
		background-color: #fff;
		padding: 80px 0 ;
		position: relative;
		z-index: 9999;
	}
		.news_midashi_e {
			font-size: 80px;
			line-height: 80px;
			font-family: 'Roboto', sans-serif;
			font-weight: 600;
			color: #333;
		}
		.news_midashi {
			/*margin-top: 40px;*/
			font-size: 1em;
			font-family: 'Noto Serif JP', serif;
			font-family: "游ゴシック", 'Noto Sans JP', sans-serif;
			font-weight: 600;
			letter-spacing: 6px;
			text-indent: 6px;
			color: #333;
			text-align: center;
			width: 100%;
		}
	
		#news .news_flexwrap {
			display: flex;
			flex-direction: row;
			margin-top: 2em;
			margin-bottom: 0;
		}
		.news_flexwrap {
			display: flex;
			flex-direction: row;
			margin-top: 0;
			margin-bottom: 0;
		}
			.news_flexleft {
				position: relative;
				margin-bottom: 0;
				flex: 1;
			}
				.news_flexleft .newslist_ul {
				}
				.news_flexleft .newslist_li:first-child {
				}
				.news_flexleft .newslist_li {
					padding: 0 0 2em;
					margin-bottom: 2em;
				}

				.newslist_img {
					display: flex;
					width: 100%;
					height: 300px;
				}
							.news_text {
								margin-top: 0.4em;
								text-align: left;
								font-weight: 600;
								font-size: 1.0em;
								line-height: 1.4;
							}

				.newslist_flexwrap {
					display: flex;
					flex-direction: column;
					margin-bottom: 0;
				}
					.newslist_flexleft {
						position: relative;
						width: 200px;
						margin-bottom: 0;
					}
					.newslist_flexright {
						position: relative;
						flex: 1;
						width: 100%;
						margin-bottom: 0;
						padding: 2em;
					}
	
	
			.news_flexright {
				position: relative;
				width: 300px;
				margin-left: 60px;
				margin-bottom: 0;
			}
	
	
			.wg_category li {
				text-align: left;
				padding: 0.4em 1em;
				display: inline-block;
				background-color: #ededed;
				border-radius: 5px;
				margin-right: 1em;
				margin-bottom: 1em;
			}
			.wg_category li a {
				font-size: 1.0em;
				padding: 5px;
				margin-bottom: 8px;
				text-align: left;
				text-decoration: none;
			}

	
}


/* Larger than Desktop HD */
@media (min-width: 1200px) {

			.sld_textwaku_common {
				/*position: absolute;*/
				width: 100%;
				height: 240px;
				bottom: 0px;
				z-index: 9999;}

  /* スライダーエリア */
  #slider .sld_listbox {
    width: auto;
    /*height: 100vh;*/
    height: 700px;
	}
	
  .sld_textwaku01 {
		width: 100%;
		padding: 50px 60px 70px; 
	}
	 .sld_textwaku01 .sld_title {
		font-size: 3em;
		line-height: 1.4em;
		width: 100%; 
		margin: 0 auto;
		text-align: center;
	}
	 .sld_textwaku01 .sld_title_m {
		font-size: 1.2em;
		padding: 0.3em 0 0;
		width: 100%; 
		margin: 0 auto;
		text-align: center;
	}
	 .sld_textwaku01  .sld_subtitle {
	 	margin-top: 2em;
		font-size: 1em;
		letter-spacing: 0.2em; 
	}
		
  .sld_textwaku02 {
		width: 100%;
		padding: 50px 60px 70px; 
	}
	 .sld_textwaku02 .sld_title {
		font-size: 44px;
		width: 90%; 
		margin: 0 auto;}
	 .sld_textwaku02  .sld_subtitle {
		font-size: 18px;
		letter-spacing: 0; }
		
  .sld_textwaku03 {
		width: 100%;
		padding: 50px 60px 70px; 
	}
	 .sld_textwaku03 .sld_title {
		font-size: 44px;
		width: 90%; 
		margin: 0 auto;}
	 .sld_textwaku03  .sld_subtitle {
		font-size: 18px;
		letter-spacing: 0; }
		
  .sld_title {
	font-size: 70px;
	width: 80%; }
  .sld_subtitle {
	width: 80%;
	margin: 0 auto;}
}





@media (min-width: 1300px) {
}
@media (min-width: 1450px) {
}
@media (min-width: 1600px) {
}