@charset "UTF-8";

/*----------------------------------------------------*/ 
/* Reset style
-----------------------------------------------------*/ 

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
nav ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: "";
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, select {
	vertical-align: middle;
}
li {
	list-style: none;
}
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	height: auto;
}

a img:not(.no_effect) {
	transition: all .3s;
}

a:hover img:not(.no_effect) {
	opacity: .7;
}

/*----------------------------------------------------*/ 
/* common
-----------------------------------------------------*/ 

html {
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}

body{
	background: #FFF;
	font-size: 1.3rem;
	font-family:  "メイリオ", Meiryo, "游ゴシック体","Yu Gothic",YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #333333;
	line-height: 1.5;
}

a:link {	color: #333333;	text-decoration: none;}
a:visited {	color: #333333;	text-decoration: none;}
a:hover {	color: #333333;	text-decoration: underline;}
a:active {	color: #333333;	text-decoration: none;}

.sp {
	display: none !important;
}

/* タブレット対応 */

@media screen and (max-width:1279px) {
	html,body {
		min-width: 1300px;
	}

}


/*----------------------------------------------------*/ 
/* header
-----------------------------------------------------*/ 

#header_sp {
	display: none;
}

#header {
	background: #fff;
	border-bottom: solid 1px #DDDDDD;
}

#header header {
	width: 1280px;
	margin: 0 auto;
	position: relative;
}

#header .logo {
	position: absolute;
	left: 0;
	top: 43px;
	width: 169px;
}

#header .logo img {
	width: 100%;
}

#header header:after {
	content: "";
	display: block;
	clear: both;
}

#header .tagline {
	float: left;
	font-size: 1.2rem;
	padding: 20px 0 10px;
}

#header .utility {
	float: right;
	padding-top: 20px;
}

#header .utility:after {
	content: "";
	display: block;
	clear: both;
}

#header .utility > * {
	float: left;
	padding: 3px 20px 0;
	position: relative;
	font-size: 1.2rem;
	box-sizing: border-box;
	min-height: 25px;
}

#header .utility > *:before {
	content: "";
	width: 1px;
	height: 25px;
	background: #DDDDDD;
	position: absolute;
	left: 0;
	top: 0;
}

#header .utility > *:first-child:before {
	display: none;
}

#header .utility .info {
	overflow: hidden;
}

#header .utility .info > * {
	float: left;
	margin-left: 18px;
	font-size: 1.3rem;
}

#header .utility .info > *:first-child {
	margin-left: 0;
}

#header .utility .info > * a:after,
#header .utility .lang > * a:after {
	content: "";
	width: 10px;
	height: 10px;
	background: url(/lib/image/cmn/icon_ext_01.png) no-repeat;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-left: 5px;
	top: -1px;
}

#header .utility .lang {
	overflow: hidden;
}

#header .utility .lang > * {
	float: left;
	color: #CCCCCC;
}

#header .utility .lang > *:before {
	content: "/";
	margin: 0 3px;
	display: inline-block;
}

#header .utility .lang > *:first-child:before {
	display: none;
}

#header .utility .search {
	position: relative;
	width: 122px;
}

#header .utility .search:before {
	left: -1px;
}

#header .utility .search form {
	position: absolute;
	right: 0;
	top: -5px;
}

#header .utility .search input[type=text] {
	width: 39px;
	height: 35px;
	padding: 5px 0;
	border: none;
	box-sizing: border-box;
	outline: none;
	transition: all .1s ease-out;
	visibility: hidden;
}

#header .utility .search.open input[type=text] {
	width: 436px;
	height: 35px;
	border: solid 1px #dddddd;
	border-radius: 17.5px;
	padding: 5px 10px 5px 45px;
	background: #fff url(/lib/image/cmn/header_icon_glass.png) no-repeat 14px 8px;
	visibility: visible;
}

#header .utility .search .btn {
	height: 35px;
 cursor: pointer;
 position: absolute;
 top: -5px;
 right: 0;
 background: #fff url(/lib/image/cmn/header_icon_glass.png) no-repeat 12px 8px;
 padding: 9px 10px 0 36px;
 box-sizing: border-box;
 white-space: nowrap;
}

#header .utility .search.open .btn {
	display: none;
}

#header .utility .search input[type=submit] {
	position: absolute;
	left: 0;
	top: 0;
	width: 45px;
	height: 35px;
	opacity: 0;
	visibility: hidden;
	cursor: pointer;
}

#header nav {
	width: 1280px;
	margin: 0 auto;
	padding-bottom: 13px;
	overflow: hidden;
}

#header nav .gnavi {
	float: right;
	padding: 15px 50px 0;
}

#header nav .gnavi:after {
	content: "";
	display: block;
	clear: both;
}

#header nav .gnavi > * {
	float: left;
	margin-right: 38px;
}

#header nav .gnavi > * > a {
	display: block;
	padding: 10px 2px 9px;
	font-size: 1.5rem;
	text-decoration: none;
	position: relative;
}

#header nav .gnavi > * > a:after {
	content: "";
	width: 100%;
	height: 2px;
	background: #E01735;
	position: absolute;
	bottom: 0;
	left: 0;
	transition: all .2s;
	transform: scaleX(0);
}

#header nav .gnavi > * > a:hover:after {
	transform: scaleX(1);
}


/*----------------------------------------------------*/ 
/* container
-----------------------------------------------------*/ 

#container {
	width: 1280px;
	margin: 0 auto;
	padding-bottom: 165px;
}

#container:after {
	content: "";
	display: block;
	clear: both;
}

/*----------------------------------------------------*/ 
/* topicpath
-----------------------------------------------------*/ 

.topicpath {
	overflow: hidden;
	margin: 18px auto 70px;
	width: 1280px;
}

.topicpath li {
	float: left;
}

.topicpath li:after {
	content: ">";
	margin: 0 5px;
}

.topicpath li:last-child:after {
	display: none;
}

#title .topicpath {
	position: absolute;
	top: 18px;
	left: 50%;
	margin: 0 0 0 -640px;
}

/*----------------------------------------------------*/ 
/* title
-----------------------------------------------------*/ 

#title {
	background: #F5F5F7;
	position: relative;
	border-bottom: solid 1px #EEEEEE;
}

#title.noline {
	border-bottom: none;
}

#title > div {
	width: 1280px;
	margin: 0 auto;
	min-height: 250px;
	position: relative;
}

#title h1 {
	font-size: 3.2rem;
	text-align: center;
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	font-weight: normal;
}

#title h1 .sub {
	font-size: 1.3rem;
	display: block;
	margin-top: 10px;
}

#title h1 .sub_pre {
	font-size: 2.0rem;
	font-weight: bold;
	display: block;
	margin-bottom: 10px;
}

#title h1 span.h1small {
	font-size: 2.4rem;
}

/*----------------------------------------------------*/ 
/* footer
-----------------------------------------------------*/ 

#footer {
	background: #6F6D6A;
	color: #fff;
}

#footer a {
	color: #fff;
}

#footer .pagetop {
	border-top: solid 1px #DDDDDD;
}

#footer .pagetop a {
	display: block;
	text-align: center;
	padding: 15px 0;
	text-decoration: none;
	background: #fff;
	color: #333333;
}

#footer .btn_search {
	position: fixed;
	right: 20px;
	bottom: 40px;
	z-index: 1;
}

#footer .btn_search a {
	display: block;
	width: 100px;
	height: 100px;
	text-decoration: none;
	background: #E01735;
	text-align: center;
	border-radius: 50%;
	font-size: 1.2rem;
	font-weight: bold;
	box-sizing: border-box;
	padding-top: 20px;
	line-height: 1;
}

#footer .btn_search a:before {
	content: "";
	display: block;
	height: 25px;
	background: url(/lib/image/cmn/footer_icon_glass.png) no-repeat center center;
	background-size: auto 25px;
	margin-bottom: 15px;
}

#footer .location {
	border-bottom: solid 1px #8C8A88;
}

#footer .location > * {
	width: 1280px;
	margin: 0 auto;
}

#footer .location > *:after,
#footer .topicpath_btm > *:after {
	content: "";
	display: block;
	clear: both;
}

#footer .topicpath_btm {
	float: left;
	padding: 33px 0 30px;
}

#footer .topicpath_btm > * {
	float: left;
	min-height: 26px;
	color: #fff;
}

#footer .topicpath_btm > *:after {
	content: "";
	width: 8px;
	height: 25px;
	background: url(/lib/image/cmn/icon_arrow_02.png) no-repeat;
	display: inline-block;
	vertical-align: middle;
	margin: 0 10px;
	position: relative;
	top: -1px;
}

#footer .topicpath_btm > *:last-child:after {
	background: none;
}

#footer .topicpath_btm > *:first-child a:before {
	content: "";
	width: 26px;
	height: 24px;
	background: url(/lib/image/cmn/footer_icon_home.png) no-repeat;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	margin-right: 5px;
	top: -3px;
}

#footer .sns {
	float: right;
	padding: 28px 40px 28px 0;
	letter-spacing: -.4em;
}

#footer .sns > * {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}

#footer .sns > * img {
	width: 32px;
}

#footer .sns > dt {
	margin-right: 10px;
}

#footer .fnavi {
	width: 1280px;
	margin: 0 auto;
	overflow: hidden;
	padding: 45px 0 20px;
}

#footer .fnavi > * {
	float: left;
	margin-left: 65px;
}

#footer .fnavi > *:first-child {
	margin-left: 0;
}

#footer .fnavi > *:nth-child(3) {
	margin-left: 90px;
}

#footer .fnavi > *:nth-child(5),
#footer .fnavi > *:nth-child(6){
	margin-left: 40px;
}

#footer .fnavi dt {
	font-weight: bold;
	margin-bottom: 10px;
}

#footer .fnavi dd {
	margin-bottom: 10px;
}

#footer .fnavi dd > a {
	padding-left: 13px;
	display: inline-block;
	position: relative;
}

#footer .fnavi dd .sub {
	overflow: hidden;
	margin: 10px 0 0 13px;
}

#footer .fnavi dd .sub li {
	float: left;
	border-left: solid 1px #fff;
	padding-left: 10px;
	margin-left: 10px;
	line-height: 1.0;
}

#footer .fnavi dd .sub li:first-child {
	border-left: none;
	padding-left: 0;
	margin-left: 0;
}

#footer .fnavi dd > a:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 9px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	left: 2px;
	top: 3px;
}

#footer .fnavi > ul > li {
	font-weight: bold;
	margin-bottom: 10px;
}

#footer .relation {
	background: #7D7B78;
	border-top: solid 1px #8C8A88;
	padding: 30px 0;
}

#footer .relation > * {
	width: 1280px;
	margin: 0 auto;
	overflow: hidden;
}

#footer .relation .title {
	float: left;
	border: solid 1px #979593;
	box-sizing: border-box;
	width: 299px;
	height: 70px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	margin-right: 65px;
	text-align: center;
	padding: 25px 0;
}

#footer .relation dl {
	float: left;
	width: 390px;
	margin-left: 45px;
	border-left: solid 1px #979593;
	padding: 2px 0 2px 45px;
}

#footer .relation dl:nth-child(2) {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}

#footer .relation dt {
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 10px;
}

#footer footer {
	background: #4E4C4A;
}

#footer footer > div {
	width: 1280px;
	margin: 0 auto;
	padding: 26px 0 20px;
	overflow: hidden;
}

#footer .utility {
	float: left;
	overflow: hidden;
	margin-top: 3px;
}

#footer .utility li {
	float: left;
	font-size: 1.2rem;
	border-left: solid 1px #fff;
	margin-left: 10px;
	padding-left: 10px;
	line-height: 1.2;
}

#footer .utility li:first-child {
	border-left: none;
	margin-left: 0;
	padding-left: 0;
}

#footer .copy {
	float: right;
	letter-spacing: -.4em;
}

#footer .copy > * {
	letter-spacing: normal;
	display: inline-block;
	vertical-align: middle;
}

#footer .copy .logo {
	margin-left: 30px;
}

#footer .copy .logo img {
	width: 100px;
}

a.ext_w:after {
	content: "";
	width: 11px;
	height: 11px;
	background: url(/lib/image/cmn/icon_ext_02.png) no-repeat;
	background-size: 11px auto;
	display: inline-block;
	vertical-align: middle;
	margin-left: 5px;
	position: relative;
	top: -1px;
}

