@charset "utf-8";

/*
* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess
*/

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url(../font/NotoSansJP-Regular.woff2) format('woff2'),
        url(../font/NotoSansJP-Regular.woff) format('woff'),
        url(../font/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url(../font/NotoSansJP-Bold.woff2) format('woff2'),
        url(../font/NotoSansJP-Bold.woff) format('woff'),
        url(../font/NotoSansJP-Bold.otf) format('opentype');
}

html {
	height: 100%;
	width: 100%;
	font-size: 62.5%;
}

body {
	font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Helvetica, Arial, sans-serif;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	color: #333;
	background-color: #fff;
	position: relative;
}

#wrapper {
  width:100%;
  overflow:hidden;
}

img {
	width: 100%;
	height: auto;
}

/* link */

a {
	outline: none;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}

a:link {
	color: #333333;
	text-decoration: none;
}

a:visited {
	color: #333333;
	text-decoration: none;
}

a:hover {
	color: #e60012;
	text-decoration: none;
}

a:active {
	color: #e60012;
	text-decoration: none;
}

/* Header
------------------------------------------------*/

#head__container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 104px;
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
	z-index: 99999;
}

#head__inner {
	width: 100%;
	max-width: 1400px;
	height: 104px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: relative;
}

#headerLogo01 {
	max-width: 486px;
	height: auto;
	margin: 0;
	padding:27px 0 0;
}

#headerLogo01 a {
	display: block;
}

#headerLogo01 img {
	width: 100%;
	height: auto;
}

#global_menu {
	-webkit-box-flex: 0;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
	margin: 0 0 0 auto;
}

#pc_menu p {
	position: absolute;
	top:42px;
	right:198px;
}
#pc_menu p a {
	color:#000;
	font-size:1.6rem;
	padding:0 0 0 16px;
	display: block;
	background:url(../images/ico_arrow.png) no-repeat 0 center;
	background-size:9px auto;
}
#pc_menu p a:hover {
	color:#e60012;
}
.select_menu {
	width:168px;
	position:absolute;
	top:34px;
	right:0;
	border:solid 1px #e60012;
	box-sizing: border-box;
	background:#fff;
}
.select_menu h2 {
	color:#e60012;
	font-size:1.8rem;
	line-height:1;
	height:36px;
	padding:9px 18px 0 35px;
	box-sizing:border-box;
	cursor: pointer;
	background:url(../images/ico_global.png) no-repeat 10px 8px;
	position:relative;
}
.select_menu.open h2 {
	color:#fff;
	background:url(../images/ico_global_w.png) no-repeat 10px 8px #e60012;
}
.select_menu h2::after {
	content:"";
	width:8px;
	height:18px;
	background:url(../images/ico_select.png) no-repeat 0 0;
	position:absolute;
	top:9px;
	right:10px;
}
.select_menu.open h2::after {
	background:url(../images/ico_select_w.png) no-repeat 0 0;
}
.select_menu ul {
	display:none;
}
.select_menu.open ul {
	border:solid 1px #e60012;
	border-top:0;
}
.select_menu ul li {
	padding:0 9px;
}
.select_menu ul li a {
	color:#000;
	font-size:1.3rem;
	line-height:1.2;
	padding:8px 0 8px 22px;
	background:url(../images/ico_arrow.png) no-repeat 6px 11px;
	background-size:9px auto;
	border-top:solid 2px #e0e0e0;
	display: block;
}
.select_menu ul li a:hover {
	color:#e60012;
}
.select_menu ul li:first-child a {
	border-top:0;
}

#global_menu > ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

#global_menu > ul > li {
	margin: 0 0 0 1em;
	font-weight: 700;
}
#global_menu > ul > li.pc {
	display:none;
}

#global_menu > ul > li a:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	margin: 0 5px 4px 0;
	background: url(../images/ico_arrow.png) no-repeat 50% 50%;
	background-size: cover;
}

#global_menu > ul > li.inquiry a:before {
	content: none;
}

#global_menu > ul > li.inquiry a:hover {
	background-color: #000;
}

.sp_menu,
#global_menu > ul > li.sp {
	display: none;
}

/* #breadcrumb
------------------------------------------------*/
#breadcrumb {
	position: relative;
	width: 100%;
	z-index: 1;
	background-color: #f0f0f0;
}

#breadcrumb ul {
	display: block;
	width: 100%;
	max-width: 1400px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 5px 40px;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: -0.4em;
}

#breadcrumb ul li {
	display: inline-block;
	vertical-align: middle;
	letter-spacing: normal;
	margin: 0 0 0 0.5em;
}

#breadcrumb ul li::after {
	content: "\3e";
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.5em;
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 1;
}

#breadcrumb ul li:last-child::after {
	content: none;
}

#breadcrumb ul li:first-child {
	margin-left: 0;
}

#breadcrumb ul li span.icon_home {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 7px 0 0 0;
	text-indent: -500px;
	overflow: hidden;
	background: url(../images/icon_home.svg) no-repeat 50% 50%;
	background-size: cover;
}


/* Main
------------------------------------------------*/
#main__container {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 104px 0 0;
	min-height: 100vh;
	background-color: #fff;
  overflow-x: hidden;
}

.main__inner {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}

#main__visual {
	position: fixed;
	width: 100%;
	z-index: 0;
}

.under__contents {
	position: relative;
	width: 100%;
	padding-top: 70px;
	background-color: #fff;
}

.under_contents__inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.under_contents__inner h2 {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1;
	margin: 0 auto 50px;
	padding: 0 0 15px 4px;
	position: relative;
	border-bottom: 1px solid #dcdcdc;
}

.under_contents__inner h2::after {
	content: "";
	display: block;
	width: 36%;
	height: 1px;
	background-color: #e60012;
	position: absolute;
	left: 0;
	bottom: -1px;
}

.under_contents__inner dt {
	font-size: 2.0rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 0 0 14px 0;
	margin-bottom: 1em;
	border-bottom: 1px solid #dcdcdc;
}

.under_contents__inner dt::before {
	content: "";
	display: inline-block;
	vertical-align: baseline;
	width: 16px;
	height: 16px;
	margin: 0 8px 0 0;
	background: url(../../asset/images/icon_dot.png) no-repeat 50% 50%;
	background-size: cover;
}

.under_contents__inner dd {
	margin-bottom: 1.5em;
	padding-left: 1em;
}

div.inquiry_btn {
	width: 100%;
	margin: 45px auto;
	text-align: center;
}

div.inquiry_btn a {
	display: inline-block;
	padding: 25px 50px;
	font-size: 2.4rem;
	color: #fff;
	background-color: #d61e34;
}

div.inquiry_btn a::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 24px;
	margin: 0 5px 4px 0;
	background: url(../../asset/images/icon_mail.svg) no-repeat 50% 50%;
	background-size: contain;
}

div.inquiry_btn a:hover {
	background-color: #000;
}


/* Footer
------------------------------------------------*/

#foot__container {
	position: relative;
	width:100%;
	padding:20px 0 50px;
	background-color: #ea1922;
	color: #fff;
	text-align: center;
}

#foot__container small {
	font-size: 1.4rem;
	line-height: 1;
}


/* PageTop
------------------------------------------ */

#pagetop {
	position: fixed;
	bottom: 70px;
	right: 5%;
}

#pagetop a {
	overflow: hidden;
	outline: none;
	display: block;
	width: 50px;
	height: 50px;
	background-color: #e60012;
	background-image: url(../images/pagetop_bt01.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	text-indent: -9999em;
}

#pagetop a:hover {
	background-color: #333333;
}


@media screen and (max-width:1400px) {
#headerLogo01 {
	margin:0 0 0 20px;
}
#pc_menu p {
  right:218px;
}
.select_menu {
  right:20px;
}

}


@media screen and (max-width:1000px) {
#headerLogo01 {
	max-width: 420px;
}

}
