@charset 'utf-8';

/* web fonts
------------------------------------------------ */
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
	margin: 0;
	padding: 0;
}
html { height: 100%; font-size: 62.5%; }
body {
	width: 100%;
	height: 100%;
	background: #fff;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif;
/* 	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif; */
	font-size: 1rem;
	line-height: 1.6;
	color: #000;
}

ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
a:link { text-decoration: none; color: #000; }
a:visited { text-decoration: none; color: #000; }
a:hover { text-decoration: none; }
.device_click a:hover { text-decoration: underline; }

.pc { display: block !important; }
.sp { display: none !important; }

/* clearfix
------------------------------------------------ */
.clearfix {
	clear: both;
	*zoom: 1;
}
.clearfix:before,.clearfix:after {
	content: ' ';
	display: table;
}
.clearfix:after { clear: both; }

/* container
------------------------------------------------ */
#container {
	position: relative;
}

.wrap {
	position: relative;
	margin: 0 auto;
	max-width: 1000px;
}

/* header
------------------------------------------------ */
#header {
	position: relative;
	width: 100%;
	background: #fff;
	z-index: 5;
}

/* head_info */
#head_info {
	position: relative;
	border-top: solid #fff 2px;
}
#head_info:after {
	content: ' ';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 35px;
	background: url(../img/share/head_deco1.png) repeat-x center bottom;
	z-index: 2;
}

	#logo {
		position: relative;
		margin: 0 auto;
		padding: 70px 0 36px;
		width: 488px;
		z-index: 3;
	}

		#logo a { display: block; }

	#head_info .curtain {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 1;
	}

		#head_info .curtain li {
			position: absolute;
			top: 0;
			width: 40%;
			width: -webkit-calc(50% - 292px);
			width: -moz-calc(50% - 292px);
			width: -ms-calc(50% - 292px);
			width: -o-calc(50% - 292px);
			width: calc(50% - 292px);
			height: 100%;
		}

		#head_info .curtain .left { left: 0; }
		#head_info .curtain .right { right: 0; }

		#head_info .curtain li:before,
		#head_info .curtain li:after {
			content: ' ';
			position: absolute;
			width: 100%;
			z-index: 1;
		}

		#head_info .curtain li:before {
			height: 3px;
			background: #fff;
			z-index: 2;
		}

		#head_info .curtain li:after {
			top: 0;
			width: -webkit-calc(100% - 110px);
			width: -moz-calc(100% - 110px);
			width: -ms-calc(100% - 110px);
			width: -o-calc(100% - 110px);
			width: calc(100% - 110px);
			height: 100%;
			background: #000;
			z-index: 1;
		}
		#head_info .curtain .left:before,
		#head_info .curtain .left:after { left: 0; }
		#head_info .curtain .left:before { top: 106px; }
		#head_info .curtain .right:before,
		#head_info .curtain .right:after { right: 0; }
		#head_info .curtain .right:before { top: 109px; }

			#head_info .curtain li img { position: absolute; top: 0; max-width: inherit; z-index: 3; }
			#head_info .curtain .left img { right: 0; }
			#head_info .curtain .right img { left: 0; }

/* gnav */
#gnav {
	background: #be2511;
	color: #fff;
}
#gnav a { color: #fff; }

	#gnav ul {
		text-align: center;
	}

		#gnav ul li {
			position: relative;
			display: inline-block;
			vertical-align: top;
			font-size: 16px;
			font-size: 1.6rem;
			line-height: 1.2;
		}

			#gnav ul li a { display: block; padding: 10px 0; }
				#gnav ul li span { padding: 0 42px; border-left: solid #dfa095 1px; line-height: 30px; }
				#gnav ul li:last-child span { border-right: solid #dfa095 1px; }
			#gnav ul li ul { display: none; position: absolute; left: 0; width: 100%; }
				#gnav ul li ul li { display: block; }
					#gnav ul li ul li a { padding: 16px 0; }
					#gnav ul li ul li:nth-of-type(1) a { background: #f15a24; }
					#gnav ul li ul li:nth-of-type(2) a { background: #efa122; }
					#gnav ul li ul li:nth-of-type(3) a { background: #f8ec05; }


@media screen and (min-width: 641px) {
	.fix_header { padding-top: 0 !important; }
	#gnav { display: block !important; }
	#gnav .frame { height: auto !important; }
	#gnav ul li ul { display: none !important; }
	.device_click #gnav ul li:hover ul { display: block !important; }
}

/* main
------------------------------------------------ */
#main {
	padding-top: 20px;
}

/* topicpath */
#topicpath {
	margin-bottom: 20px;
}

	#topicpath ol {
	}

		#topicpath ol li {
			float: left;
			font-size: 12px;
			font-size: 1.2rem;
		}

			#topicpath ol li a {
			}

/* title */
.title1 {
	position: relative;
	margin-bottom: 30px;
	padding: 15px 0;
	background: #000;
	text-align: center;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
}

.title1:before,
.title1:after {
	content: ' ';
	position: absolute;
	top: 0;
	width: 30%;
	height: 100%;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.title1:before { left: 0; background-image: url(../img/share/title_deco1.gif); background-position: left center; }
.title1:after { right: 0; background-image: url(../img/share/title_deco2.gif); background-position: right center; }


/* pege_title */
#pege_title{
	text-align: center;
	border-top: solid #020202 2px;
	border-bottom: solid #020202 2px;

}

#pege_title .title{
	font-size: 24px;
	font-size: 2.4rem;
	display: inline-block;
	padding: 10px 20px;
	background: url(../img/share/title1.png) no-repeat left center,url(../img/share/title2.png) no-repeat right center;
}

/* pagination */
.pagination {
	margin-top: 40px;
	text-align: center;
}

	.pagination a,
	.pagination span {
		display: inline-block;
		margin: 8px 4px 0;
		padding-top: 11px;
		width: 40px;
		height: 40px;
		border: 1px solid #000;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		-o-box-sizing: border-box;
		box-sizing: border-box;
		vertical-align: top;
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 1.2;
	}
	.pagination a:first-child,
	.pagination span:first-child { margin-left: 0; }
	.pagination a:last-child,
	.pagination span:last-child { margin-right: 0; }

	.pagination .current,
	.device_click .pagination a:hover { background: #000; text-decoration: none; color: #fff; }
	.pagination .prev_first,
	.pagination .prev,
	.pagination .next,
	.pagination .next_last { padding-top: 0; background-position: center center; background-repeat: no-repeat; background-size: 100%; text-indent: 100%; white-space: nowrap; overflow: hidden; }
	.pagination .prev_first { background-image: url(../img/share/pagination_prev_first.png); }
	.pagination .prev { background-image: url(../img/share/pagination_prev.png); }
	.pagination .next { background-image: url(../img/share/pagination_next.png); }
	.pagination .next_last { background-image: url(../img/share/pagination_next_last.png); }
	.device_click .pagination .prev_first:hover { background-image: url(../img/share/pagination_prev_first_on.png); }
	.device_click .pagination .prev:hover { background-image: url(../img/share/pagination_prev_on.png); }
	.device_click .pagination .next:hover { background-image: url(../img/share/pagination_next_on.png); }
	.device_click .pagination .next_last:hover { background-image: url(../img/share/pagination_next_last_on.png); }

/* footer
------------------------------------------------ */
#footer {
	position: relative;
	margin-top: 70px;
}

	#footer .sns_btns {
		margin-bottom: 85px;
		text-align: center;
	}

		#footer .sns_btns li {
			display: inline-block;
			margin: 0 5px;
			width: 192px;
			vertical-align: top;
		}

			#footer .sns_btns li a { display: block; }

/* pagetop */
#pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 40px;
}

	#pagetop a { display: block; }

/* foot_info */
#foot_info {
	padding: 30px 0 24px;
	background: #000;
	color: #fff;
}
#foot_info a { color: #fff; }
#foot_info .wrap { padding-bottom: 2.6em; }

	#foot_info .links {
		position: absolute;
		bottom: 0;
		left: 0;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.2;
	}

		#foot_info .links li { display: inline-block; margin-left: .8em; padding-left: .8em; border-left: solid #fff 1px; vertical-align: middle; }
		#foot_info .links li:first-child { margin-left: 0; }
		#foot_info .links li:last-child { padding-right: .8em; border-right: solid #fff 1px; }

	#foot_info .sns {
		position: absolute;
		top: 0;
		right: 0;
		text-align: right;
	}

		#foot_info .sns li { display: inline-block; margin-left: 12px; width: 32px; vertical-align: top; }
		#foot_info .sns li:first-child { margin-left: 0; }

			#foot_info .sns li a { display: block; }

	#foot_logo {
		margin-bottom: 20px;
	}

		#foot_logo a { display: block; }

	#foot_info .address_tel {
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.2;
	}

		#foot_info .address_tel address,
		#foot_info .address_tel .tel { display: inline-block; vertical-align: middle; }
		#foot_info .address_tel address { font-style: normal; }
		#foot_info .address_tel .tel { margin-left: .8em; padding-left: .8em; border-left: solid #fff 1px; }

/* copyright */
#copyright {
	padding: 12px 0;
	text-align: center;
	font-size: 11px;
	font-size: 1.1rem;
}

/* modal window
------------------------------------------------ */
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0,0,0,.8);
	z-index: 40;
}

#modal_contents {
	display: none;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 50;
}

#modal_close {
	position: absolute;
	top: -70px;
	right: -70px;
	width: 52px;
	height: 52px;
}

	#modal_close a {
		display: block;
		width: 100%;
		height: 100%;
		background: url(../img/share/modal_close.png) no-repeat center center;
		background-size: 100%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

/* responsive
------------------------------------------------ */
@media screen and (max-width: 1020px) {
	/* container */
	.wrap { margin: 0 12px; }
}

@media screen and (max-width: 900px) {
	/* gnav */
	#gnav ul li span { padding: 0 20px; }
}

@media screen and (max-width: 700px) {
	/* gnav */
	#gnav ul li { font-size: 1.4rem; }
	#gnav ul li a { padding: 10px 0; }
}

@media screen and (max-width: 640px) {
	/* common */
	.pc { display: none !important; }
	.sp { display: block !important; }

	/* container */
	#container {}
	.wrap { margin: 0; }

	/* header */
	#header {}
	.fix_header #header { position: fixed; top: 0; left: 0; }
	#head_info { width: -webkit-calc(100vw - 70px); width: calc(100vw - 70px); height: 70px; border-top: none; }
	#head_info:after { height: 8px; background-size: auto 100%; }
	#logo { padding: 22px 0 0; width: 186px; }
	#head_info .curtain {}
	#head_info .curtain li { width: 60px; }
	#head_info .curtain li:before { height: 1px; }
	#head_info .curtain li:after { width: -webkit-calc(100% - 36px); width: -moz-calc(100% - 36px); width: -ms-calc(100% - 36px); width: -o-calc(100% - 36px); width: calc(100% - 36px); }
	#head_info .curtain .left:before { top: 37px; }
	#head_info .curtain .right:before { top: 38px; }
	#head_info .curtain li img { top: 0; width: auto; height: 100%; }
	#header .sp_menu { position: absolute; top: 0; right: 0; width: 70px; }
	#header .sp_menu a { display: block; background: url(../img/sp/share/head_menu_close.gif) no-repeat left top; background-size: 100%; }
	#header .sp_menu a.on img { opacity: 0; }
	#gnav { display: none; position: absolute; top: 70px; left: 0; width: 100%; background: rgba(0,0,0,.8); overflow: auto; }
	#gnav .frame {}
	#gnav ul { background: #be2511; text-align: left; }
	#gnav ul li { display: block; border-bottom: solid #fff 1px; font-size: 1.2rem; }
	#gnav ul li:first-child { border-top: solid #fff 1px; }
	#gnav ul li a { padding: 18px 16px; background: url(../img/share/arrow1.png) no-repeat right 20px center; background-size: 8px; }
	#gnav ul .menu a { background: url(../img/share/plus1.png) no-repeat right 18px center; background-size: 14px; }
	#gnav ul .menu a.on { background-image: url(../img/share/minus1.png); }
	#gnav ul li span { padding: 0; border-left: none; line-height: 1; }
	#gnav ul li:last-child span { border-right: none; }
	#gnav ul li ul { position: relative; left: auto; width: auto; background: none; }
	#gnav ul li ul li {}
	#gnav ul li ul li:last-child { border-bottom: none; }
	#gnav ul li ul li a { padding: 18px 42px; }

	/* main */
	#main { padding-top: 15px; }
	#topicpath { margin: 0 10px 10px; }

	/* title */
	.title1 {margin-bottom: 20px; padding: 16px 0;  font-size: 1.5rem; }
	#pege_title .title{font-size: 18px; font-size: 1.8rem;}

	/* pagination */
	.pagination { margin-top: 30px; }
	.pagination a,
	.pagination span { padding-top: 7px; width: 32px; height: 30px; font-size: 1.1rem; }

	/* footer */
	#footer { margin-top: 50px; }
	#footer .sns_btns { margin: 0 10px 75px; text-align: left; }
	#footer .sns_btns li { margin: 16px 4% 0 0; width: 48%; }
	#footer .sns_btns li:nth-of-type(-n+2) { margin-top: 0; }
	#footer .sns_btns li:nth-of-type(2n) { margin-right: 0; }
	#pagetop { right: 10px; }
	#foot_info { padding: 0 0 20px; }
	#foot_info .wrap { padding-bottom: 0; }
	#foot_info .links { position: relative; bottom: auto; left: auto; }
	#foot_info .links li { display: block; margin-left: 0; padding-left: 0; border-bottom: solid #fff 1px; border-left: none; }
	#foot_info .links li:first-child { margin-left: 0; }
	#foot_info .links li:last-child { padding-right: 0; border-right: none; }
	#foot_info .links li a { display: block; padding: 18px 16px; background: url(../img/share/arrow1.png) no-repeat right 20px center; background-size: 7px; }
	#foot_info .sns { position: relative; top: auto; right: auto; margin-top: 28px; text-align: center; }
	#foot_info .sns li { display: inline-block; margin-left: 12px; width: 28px; }
	#foot_info .sns li:first-child { margin-left: 0; }
	#foot_logo { margin: 25px auto 8px; width: 122px; }
	#foot_info .address_tel { padding: 0 10px; text-align: center; font-size: 1.1rem; }
	#foot_info .address_tel address,
	#foot_info .address_tel .tel { display: block; }
	#foot_info .address_tel address { font-style: normal; }
	#foot_info .address_tel .tel { margin: 4px 0 0; padding-left: 0; border-left: none; }
	#copyright { font-size: .9rem; }

	/* modal window */
	#overlay {}
	#modal_contents { left: 0; margin: 0 10px !important; }
	#modal_close { top: -35px; right: 10px; width: 26px; height: 26px; }
}

@media screen and (max-width: 360px) {
	/* header */
	#logo { padding-top: 28px; width: 140px; }
}