@charset "utf-8";

html { font-size: 16px; }
:root { }
@media only screen and (max-width: 767px) {
	html { font-size: 16px; }
}

/* ---------- common ----------*/
body {
	font-family: 'Noto Sans JP', -apple-system,  "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
		-webkit-text-size-adjust: 100%;
		-webkit-appearance: none;	/*button*/
	font-weight:400;
	color:#111;
	margin:0;
}

header, footer { position:relative;	margin:0 auto; }
footer { margin-top:0; }
a, header a, footer a { text-decoration:none; }
.inc_header { position:fixed /*sticky*/; top:0; z-index:500; width:100%; }

#pagecontents { max-width:100%; margin:0 auto; clear:both; }
section { margin:0 auto; clear:both; }


div { box-sizing:border-box; }
img { display:block; max-width: 100%; height: auto; margin:0 auto; aspect-ratio: attr(width) / attr(height); }
figure { margin:0; padding:0; }
p, ol, ul, table { line-height:1.8; margin:0 0 1.5em 0; }
img.pdficon, img.inline { display:inline; vertical-align:middle; }
.nsbr { white-space:nowrap; }
.urlstr { word-break:break-all !important; word-wrap:break-word; overflow-wrap:break-word; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.fserif {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
	font-weight:500;
}
.fsanserif {
	font-family: 'Noto Sans JP', -apple-system,  "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	font-weight:400;
}
strong { font-weight:600; }
.fserif strong { font-weight:600; }

h2.sectiontitle {
	font-size:1.7rem;
	margin:0 0 12px 0;
	padding-bottom:8px;
	border-bottom:3px #393 solid;
	font-weight:800;
	letter-spacing:0.2em;
}
h2.sectiontitle small { font-size:70%; color:#c00; }
h3.sectionsub {
	font-size:1.4rem;
	font-weight:600;
	margin-bottom:0.75em;
	text-align:center;
	color:#262;
	font-weight:600;
}




hr {
	border: 0;
	height: 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	clear:both;
}

a.after_arrow:after {
	font-family: 'FontAwesome';
	content:'\20\f0da';		/* ▲ */
	font-size:1.2em;
}
a.before_arrow:before {
	font-family: 'FontAwesome';
	content:'\f0da\20';		/* ▲ */
	font-size:1.2em;
}
.pg_next:after {
	font-family: 'FontAwesome';
	content:'\20\f105';
	font-size:1.2em;
}
.pg_prev:before {
	font-family: 'FontAwesome';
	content:'\f104\20';
	font-size:1.2em;
}

.pageTop { position:relative; z-index:200; }
.pageTop a {
	position: fixed;
	background:url('../images/common/pagetop_bt.png') left top no-repeat;
	background-size:contain;
	display: block;
	width: 60px;
	height: 60px;
	right:10px;
	bottom:10px;
	text-indent:-9999px;
	opacity:0.9;
	border-radius:8px;
	box-shadow:1px 1px 6px 1px rgba(0,0,0,0.2);
}
.pageTop a:hover { opacity:1.0; }

.youtube_wrap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 2px;
	height: 0;
	overflow: hidden;
}
.youtube_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border:none;
}



/* ---------- rwd ----------*/

.mode_pc { display:block; }
.mode_pcs { display:block; }
.mode_sp { display:none !important;visibility:hidden; }
.mode_sps { display:none !important;visibility:hidden; }
.view_pc { visibility:visible; display:inline; }
.view_sp { visibility:hidden; display:none; }


.page_backbt { margin:80px 10px 40px 10px; }
.page_backbt a {
	display:block;
	width:200px;
	margin:0 auto;
	padding:12px 0;
	text-align: center;
	text-decoration:none;
	background-color:#999;
	border-radius:4px;
	color:#fff;
	transition-duration:0.2s;
}
.page_backbt a:hover { background-color:#111; }
.form_submit { margin:40px 0; text-align:center; }
.form_submit [type=submit] { padding:12px 36px; cursor:pointer; }

.breadCrumb ul {
	max-width:1200px; margin:0 auto; padding:8px; background-color:rgba(255,255,255,0.7); font-size:0.8rem; border-radius:0 0 8px 0;
	white-space:nowrap; overflow-x:auto; box-sizing:border-box;
}
.breadCrumb ul li { display:inline-block; }
.breadCrumb ul li:after { content: " > "; }
.breadCrumb ul li:last-child:after { content: ""; }
.breadCrumb ul li a { padding:2px; color:#111; display:inline-block; }
.breadCrumb+section { margin-top:10px; }

a.txt_banner {
	display:inline-block; padding:4px 24px 4px 8px; margin:0 6px; border-radius:4px;
	background-color:#333; color:#fff; line-height:1.6;
	text-decoration:none; transition-duration:0.2s;
	background-image:url('../images/txt_arrow_w.png');
	background-repeat:no-repeat;  background-position:right center;
	transition-duration:0.2s;
	}
a.txt_banner:hover { box-shadow:0px 0px 10px 4px #333 inset; }

.link_banner { margin:40px 0; text-align:center; }
.link_banner a { display:inline-block; padding:8px 24px; min-width:200px; border-radius:8px; background-color:#111; color:#fff; font-weight:500; line-height:1.4; transition-duration:0.2s; }
.link_banner a:hover { background-color:#666; }
.link_banner a span { display:inline-block;  }



/* ========== rwd table (fix) ========== */
.rwd_table, .rwd_table_fix { width:100%; margin-top:20px; border-collapse:collapse; }
.rwd_table caption, .rwd_table_fix caption { font-size:1.1rem; color:#003399; }
.rwd_table th, .rwd_table td, .rwd_table_fix th, .rwd_table_fix td { padding:8px 6px; border:1px #ccc solid; vertical-align:top; font-weight:300; }
.rwd_table th, .rwd_table_fix th { background-color:#e8e8e8; text-align:left; font-weight:300; }
.rwd_table td, .rwd_table_fix td { background-color:#fff; text-align:left; }

/* ========== dl list ========== */
dl.dl_table { margin:0 0 40px 0;}
dl.dl_table dt { padding:4px 6px; background-color:#EEEEEE; line-height:1.8; box-sizing:border-box; margin:0; }
dl.dl_table dd { padding:4px 6px 16px 40px; line-height:1.8; box-sizing:border-box; margin:0; }

/* ========== ul / ol ========== */
.std_ul, .std_ol { margin:0; padding-left:30px; text-indent:0; }
.std_ul li, .std_ol li { line-height:1.6; margin-bottom:0.5em; }
.std_ol li { padding-left:0.5em; }

/* ========== newsl list ========== */
ul.news_list { margin:0; padding:0; list-style:none; }
ul.news_list li { border-bottom:1px #d0d0d0 solid; }
ul.news_list li>a, ul.news_list li>span { display:flex; padding:12px 0px; text-decoration:none; color:#4d4d4d; box-sizing:border-box; }
ul.news_list li a:hover { background-color:#F3F8FA; }
ul.news_list li span.news_date { flex:0 0 10em; line-height:1.6; padding-left:30px; }
ul.news_list li span.news_title { flex:1 1 30em; line-height:1.6;  padding-right:30px; }

.pagenation { margin:40px 20px 20px 20px; display:flex; justify-content:center; font-size:0.9rem; }
.pagenation .pgn_prev { flex:0 1 30%; text-align:right; }
.pagenation .pgn_link { flex:1 0 30%; text-align:center; }
.pagenation .pgn_next { flex:0 1 30%; text-align:left; }
.pgn_link a, .pgn_link .pgn_this {
	text-decoration: none;
	width:28px;height:28px;
	line-height:28px;
	display:inline-block;
	margin:0 5px; padding:0;
	transition-duration:0.2s;
}
.pgn_link a { color:#111; padding:0; background-color:#ddd; border-radius:60px; }
.pgn_link a:hover { background-color:#999; color:#fff; }
.pgn_link .pgn_this { color:#fff; background-color:#666; border-radius:6px; }
.pagenation .pgn_prev a, .pagenation .pgn_next a {
	text-decoration:none;  transition-duration:0.2s;
	height:28px; line-height:28px;
	display:inline-block;
	background-color:#ddd; color:#111;
}
.pagenation .pgn_prev a:hover, .pagenation .pgn_next a:hover { background-color:#999; color:#fff; }
.pagenation .pgn_prev a {
	padding:0 10px 0 15px;
	background-color:#ddd;
	clip-path: polygon(0 50%, 20% 0, 100% 0, 100% 100%, 20% 100%);
}
.pagenation .pgn_next a {
	padding:0 15px 0 10px;
	background-color:#ddd;
	clip-path: polygon(0 0, 80% 0, 100% 50%, 80% 100%, 0 100%);
}

.pagenation .pgn_prev .pgn_dis, .pagenation .pgn_next .pgn_dis { color:#ddd; line-height:28px; }


/* ----- */
/*.w_img_txt_area { width:62%; float:right; }
.news_mainimg_area { width:35%; float:left; }*/
.news_view_date {
	display: block;
	text-align:left;
	padding:0 0 4px 0;
	margin:0 !important;
	line-height:1.3 !important;
}
.news_view_title {
	background-color:#e8e8e8;
	padding:8px;
	margin-bottom:24px !important;
	text-align:center;
	font-size:1.2rem;
	line-height:1.2em;
	font-weight:500;
	color:#333333;
}
.news_add_img { padding:10px 0; margin:0; text-align:center; }
.news_txt_area { line-height:1.8; }
.news_view_footer { padding:80px 0 20px 0; text-align:center; }
.file_down { padding: 40px 0 40px 40px; text-align: left; }

.ymd_ip { padding:0 6px; background-color:#DD223E; color:#ffffff; border-radius:4px; }
.kanripreview { text-align:center; color:red; margin-bottom:20px; }

ul.news_cate_tab { margin:10px 0 ; padding:0; list-style:none; display:flex; justify-content:center; }
ul.news_cate_tab li { flex:0 0 12%; margin:0; padding:0; border:1px #999 solid; border-right:none; text-align:center; }
ul.news_cate_tab li:last-child { border-right:1px #999 solid; }
ul.news_cate_tab li a { padding:2px 16px; text-decoration:none; color:#666; white-space:nowrap; display:block; font-size:0.8rem; }
ul.news_cate_tab li a.active { background-color:#eee; }
ul.news_cate_tab li a:hover { background-color:#d8d8d8; }



/* ========== header ========== */

header { width:100%; background-color:rgba(255,255,255,0.8); box-shadow:0 0 8px 4px rgba(0,0,0,0.2); }
#header { position:relative; max-width:980px; margin:0 auto; z-index:50;  }

.header_logo { display:block; width:196px; padding:10px 0; box-sizing:border-box; position:relative; z-index:49; }

#site_navi {
	position:absolute; left:220px; bottom:20px; padding-left:0px; width:calc(100% - 220px); box-sizing:border-box; z-index:50;
	border:1px #aaa solid; border-radius:6px; box-shadow:1px 1px 2px rgba(128,128,128,0.5);
}

.site_menu { display:flex; padding:0; margin:0; list-style:none; line-height:1.15; }
.site_menu li { flex-grow:1; font-size:0.9rem; text-align:center; border-right:1px #aaa solid; }
.site_menu li:last-child { border-right:none; }
.site_menu li>a, .site_menu li>span {
	display:flex; align-content:stretch; align-items:center; padding:8px 0; width:100%; height:100%; box-sizing:border-box; text-decoration:none;
	color:#111;
}
.site_menu li>a span, .site_menu li>span span { flex:0 0 100%; }
.site_menu li>a span i, .site_menu li>span span i { font-style:normal; font-size:80%; color:#c00; }
.site_menu li:hover a, .site_menu li:hover span { background-color:#999; color:#fff; transition-duration:0.2s; }




/* ========== footer ========== */
#footer { padding:0; background-color:#363; font-weight:500; font-size:0.9rem; }
.footer_content { max-width:1200px; margin:0 auto; padding:0 20px; }

.ft_copy { padding:10px 0; margin:0 !important; text-align:center; font-size:0.8rem; color:#fff; }





/* ------ form ------ */
input, select, textarea {
	font-size:0.9rem;
	line-height:1.8;
	font-weight:300;
}
input { padding:5px; }
input[type=text], input[type=tel], input[type=email], input[type=number], textarea {
	padding:4px;
	border:1px #cccccc solid;
	background-color:#F7F7F7;
	margin:4px 0 8px 0;
}
select {
	background-color:#F7F7F7;
	border:1px #cccccc solid;
	padding:4px;margin-bottom:8px;
	cursor:pointer;
	font-weight:300;
}
input[type=text]:focus, select:focus, input[type=tel]:focus, input[type=email]:focus, textarea:focus {
	border:solid 1px #ccc;
	background-color:#fff;
	font-weight:300;
}
label {
	cursor:pointer;
}
input[type=submit] {
	white-space:normal;
	line-height:1.6;
}
input[type=submit].form_submit_bt {
	appearance: none;
	-webkit-appearance: none;
	display:inline-block;
	box-sizing:border-box;
	border:none;
	border-radius:6px;
	background-color:#08f;
	color:#fff;
	cursor:pointer;
	font-size:1.0rem;
	margin:40px 0;
	padding:16px 20px;
	min-width:240px;
}



#fr_googlemap {
	width:100%;
	height:460px;
	margin-bottom:6px;
}
.getadobereader {
    border: 1px solid #888888;
    border-radius: 10px;
    display: block;
    font-size: 0.9rem;
    margin: 50px auto;
    width:80%;
    padding: 18px 24px;
}
.getadobereader p {
    margin-bottom: 1em;
}


/* # Tablet 768-960px
========================================================================================= */
@media only screen and (max-width: 960px) {

	body {  }

	.mode_pc { display:none;visibility:hidden; }
	.mode_pcs { display:block;visibility:visible; }
	.mode_sp { display:block !important;visibility:visible; }
	.mode_sps { display:none !important;visibility:hidden; }
	.view_pc { visibility:hidden; display:none; }
	.view_sp { visibility:visible; display:inline; }


	#pages { width:100%;padding-top:0; }

	header { height:auto; }
	header, footer { width:100%; }



	#pagecontents { width:100%; }


	/* ----- common ----- */






	/* ========== newsl list ========== */
	ul.news_list { margin:0; padding:0; list-style:none; }
	ul.news_list li span.news_date { padding-left:0px; }
	ul.news_list li span.news_title { padding-right:0px; }

	/* ========== rwd table ========== */
	.rwd_table th {
		box-sizing:border-box;
		display:block;
		clear:both;
		width:100%;
		border:none;
	}
	.rwd_table th a {
		box-sizing:border-box;
		color:inherit;
	}
	.rwd_table td {
		box-sizing:border-box;
		display:block;
		width:100%;
		float:left;
		text-align:left;
		padding:6px 4px 12px 20px !important;
		border:none;
	}

	/* ========== header ========== */
	header { z-index:500; min-width:320px; }
	#header { width:100%; }
	.header_logo { padding:5px 5px; width:60%; z-index:50; }
	.header_logo img { max-height:40px; margin-left:0; }
	#site_navi { display:none; }
	#header_global, #header_sns { display:none; }


	#site_navi {
		position:fixed; left:0; top:0px; padding:0; margin:0;
		width:100%; height:100vh;
		background-color:#fff; z-index:60;
	}

	.spmenu_home img {
		position:fixed;
		top:5px;left:5px; height:40px;
	}

	.site_menu {
		display:block; padding:0; margin:60px 0 0 0; list-style:none; line-height:1.15; box-sizing:border-box;
		background-color:#fff;
	}

	.site_menu li { font-size:1.0rem; position:relative; }
	.site_menu>li:last-child { padding-bottom:240px; }
	.site_menu li br { display:none; }
	.site_menu li>a, .site_menu li>span {
		display:block; border-radius:0; background-color:#ddd; border-bottom:1px #999 solid;
		padding:24px 0;
	}
	.site_menu li>a span, .site_menu li>span span {   }

	.site_menu li:hover a, .site_menu li:hover span { background-color:#ddd; color:#111; }


	#sp_menu_bt {
		display: block;
		position:fixed;
		top:5px;
		right:5px;
		width: 40px;
		height: 40px;
		cursor:pointer;
		background-color:#111;
		border-radius:3px;
		z-index:600;
	}
	#sp_menu_bt span {
		width: 30px;
		height: 2px;
		border-radius:2px;
		display: block;
		background: #fff;
		position: absolute;
		left: 50%;
		top: 50%;
		margin-left: -15px;
	}

	#sp_menu_bt span { transition: all 0.3s; transform: rotate(0deg); }
	#sp_menu_bt .top { transform: translateY(-11px); }
	#sp_menu_bt .middle { transform: translateY(-1px); }
	#sp_menu_bt .bottom { transform: translateY(9px); }
	#sp_menu_bt.active .middle { background: rgba(255, 255, 255, 0); }
	#sp_menu_bt.active .top { transform: rotate(-45deg) translateY(0px); }
	#sp_menu_bt.active .bottom { transform: rotate(45deg) translateY(0px); }


	/* ========== footer ========== */
	


}

/* # Tablet & Mobile Landscape 480-767px
========================================================================================= */   
@media only screen and (max-width: 767px) {

	body { }

	.mode_pcs { display:none;visibility:hidden; }
	.mode_sps { display:block !important;visibility:visible; }

	/* ----- common ----- */
	h1 { font-size:1.9rem; }
	h2 { font-size:1.75rem; }
	h3 { font-size:1.6rem; }
	h4 { font-size:1.2rem; }


	#fr_googlemap { height:50vh; }

	/*-- news view--*/
	.w_img_txt_area, .news_txt_area {
		width:100%;
		float:none;
		word-break:break-all;
	}
	.news_mainimg_area {
		width:100%;
		float:none;
	}


	/* ========== dl list ========== */
	dl.dl_table dd { padding:4px 0px 16px 0px; }

	/* ========== newsl list ========== */
	ul.news_list li>a, ul.news_list li>span { display:block; }
	ul.news_list li span.news_date, ul.news_list li span.news_title { display:block; padding:0; }
	ul.news_list li span.news_title { padding-left:20px; }
	.pagenation { margin:40px 0px 20px 0px; font-size:0.8rem; }
	.pagenation .pgn_prev { flex:0 0 15%; text-align:left; }
	.pagenation .pgn_link { flex:1 1 70%; text-align:center; }
	.pagenation .pgn_next { flex:0 0 15%; text-align:right; }
	.pgn_link a, .pgn_link .pmove_navi_this { width:20px;height:20px; line-height:20px;  }



	/* ========== footer ========== */


}
/* # Mobile 320-479px
========================================================================================= */   
@media only screen and (max-width: 479px) {

	body { min-width:320px; }

}

.top_contents {
	max-width:950px; z-index:10; margin:0 auto; padding:0 10px 60px 10px; box-sizing:border-box;
	position:relative; text-align:right; transition-duration:0.2s;
}
#topnews {
	display:inline-block;
	margin-top:100px;
	width:auto;
	padding:16px;
	border-radius:12px;
	background-color:rgba(255,255,255,0.9);
	font-size:0.95rem;
	line-height:1.6;
}
/*#topnews:after { content: ""; display: block; height: 40px; clear: both; visibility: hidden; }*/

.topnews_tit { font-weight:600; text-align:center; margin-bottom:0; }
.topnews_txt { text-align:left; margin-bottom:1em; }
.topnews_txt:last-child { margin-bottom:0; }

.outline_block { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.outline_block div.gaiyo { flex:0 0 70%; }
.outline_block div.cm { flex:0 0 28%; text-align:center; }
@media only screen and (max-width: 767px) {
	.outline_block div.gaiyo { flex:0 0 100%; }
	.outline_block div.cm { flex:0 0 100%; }
}

.history_table { font-size:0.9rem; }

.methodTable { display:flex; flex-wrap:wrap; justify-content:space-between; border-top:1px #ccc solid; border-left:1px #ccc solid; }
.methodTable div { flex:0 0 50%; padding:16px; border-bottom:1px #ccc solid; border-right:1px #ccc solid; }
.methodTable div p { margin:0; }
.methodTable div p strong { color:#393; }
.methodTable div.method2,
.methodTable div.method3 { flex:0 0 25%; }
.methodTable div img { display:inline-block; width:45%; padding:5px 2%;; }
.methodTable div.method2 img,
.methodTable div.method3 img,
.methodTable div.method_i img { width:96%; }
.methodTable div.method4,
.methodTable div.method5 { flex:0 0 100%; display:flex; flex-wrap:wrap; justify-content:space-between; }
.methodTable div.method_t { flex:0 0 75%; padding:0; border:none; }
.methodTable div.method_i { flex:0 0 22%; padding:0; border:none; }

@media only screen and (max-width: 767px) {

	.methodTable div { flex:0 0 100% !important; }
	.methodTable div img { width:auto !important; display:block; margin:0 auto; }

}

.products_list { width:100%; }
.productName {
	text-align:center;
	font-size:1.3rem;
	font-weight:600;
	margin:0.5em 0 0.75em 0;
}
.productSpec{
	font-size:0.8rem;
	line-height:1.2;
	margin-bottom:1em;
	padding:0 10px;
	color:#444;
}
.productText{
	font-size:0.95rem;
	line-height:1.7;
	margin-bottom:0.5em;
}
.productPrice {
	text-align:right;
}

.tsururinbou_info { width:100%; }

.tsururinbou_data { display:flex; flex-wrap:wrap; justify-content:space-between; }
.tsururinbou_data_t { flex:0 0 50%; }
.tsururinbou_data_i { flex:0 0 48%; }
@media only screen and (max-width: 767px) {
	.tsururinbou_data_t,
	.tsururinbou_data_i { flex:0 0 100%; }
}


.imap {
	width:100%;
	font-size: 90%;
}


.meisui_data { display:flex; flex-wrap:wrap; justify-content:space-between; }
.meisui_data_t { flex:0 0 58%; }
.meisui_data_i { flex:0 0 40%; }
@media only screen and (max-width: 767px) {
	.meisui_data_t,
	.meisui_data_i { flex:0 0 100%; }
	.meisui_data_t { order:2; }
	.meisui_data_i { order:1; margin-bottom:16px; }
	.meisui_data_i img { max-height:300px }
}
