﻿@charset "UTF-8";
/* CSS Document */

html {font-size:62.5%;}
body{
	font-size:16px;
	color:#000000;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin:0;
	position: relative;
}
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dl,span,div{  
    line-height:1.5;  
}
img {
	border: none;
	vertical-align: bottom;
    max-width: 100%;
	height: auto;
}
a{
	color:#000000;
	text-decoration:none;
}
a img { 
	border: none;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out; 
}
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
ul {
	list-style-type: none;
}
table{
	border-collapse: collapse;
}
.clearfix:after {
	content: "";
	display: block;
	overflow: hidden;
	clear: both;
}
.contentWidth{
	width:96%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.left-box{
	float:left;
}
.right-box{
	float:right;
}
.tablet{
	display:none !important;
}
.mobile{
	display:none !important;
}
.notfound section{
	margin: 50px auto;
}
@media (max-width: 1300px) {
.tablet{
	display:block !important;
}
}
@media (max-width: 760px) {
.pc{
	display:none !important;
}
.mobile{
	display:block !important;
}
.contentWidth{
	width:100%;
	padding: 0 2%;
	box-sizing: border-box;
}
.left-box{
	float:none;
}
.right-box{
	float:none;
}
}

/*--------------------------------------
    header
--------------------------------------*/

.header{
	width:100%;
	height:80px;
	position: fixed;
	top:0;
	left:0;
	z-index: 9999;
	background: #FFFFFF;
}
.header h1{
	position: absolute;
	top:50%;
	left:30px;
	transform: translate(0,-50%);
	width:calc(12% - 30px);
	max-width: 126px;
	height:24px;
}
.header h1 a{
	display: block;
}
.header h1 a img{
	vertical-align: middle;
}
.header .linkarea{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	position: absolute;
	top:0;
	right:0;
}
.header .linkarea .gnav{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height:80px;
}
/*.header .linkarea .gnav li{
	margin: 0 20px;
}*/
.header .linkarea .gnav li a{
	font-size:20px;
	font-size:2.0rem;
	text-align: center;
	transition: 0.3s;
	display: block;
	padding:15px 20px;
	line-height: 50px;
}
.header .linkarea .gnav li a:hover{
    color: #fff;
	background: #2457B3;
}
.header .linkarea .gnav li.parent{
	position: relative;
}
.header .linkarea .gnav li.parent a{
    background: url("../images/icon_arrow_under_b.svg") no-repeat 90% center;
	background-size: 14px 8px;
	padding:15px 30px 15px 20px;
	line-height: 50px;
}
.header .linkarea .gnav li.parent a:hover{
    background: url("../images/icon_arrow_under_w.svg") no-repeat 90% center, #2457B3;
	background-size: 14px 8px;
}
/*.header .linkarea .gnav li.parent a.english{
    background: url("../images/icon_english.svg") no-repeat 90% center;
	background-size: 27px 15px;
	padding:15px 40px 15px 20px;
	line-height: 50px;
}
.header .linkarea .gnav li.parent a.english:hover{
    background: url("../images/icon_english.svg") no-repeat 90% center, #2457B3;
	background-size: 27px 15px;
}*/
.header .linkarea .gnav li.parent ul.child{
	width: max-content;
	position: absolute;
	top:80px;
	left:50%;
	transform: translate(-50%,15px);
	background: #FFFFFF;
	/*padding:5px 20px;*/
	transition: 0.3s;
	pointer-events: none;
	opacity: 0;
}
.header .linkarea .gnav li.parent:hover a + ul.child{
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%,0);
}
.header .linkarea .gnav li.parent ul.child{
	width: max-content;
	position: absolute;
	top:80px;
	left:50%;
	transform: translate(-50%,15px);
	background: #2457B3;
	/*padding:5px 20px;*/
	transition: 0.3s;
	pointer-events: none;
	opacity: 0;
}
.header .linkarea .gnav li.parent ul.child li{
	margin: 0;
	text-align: left;
}
.header .linkarea .gnav li.parent ul.child li a{
	padding:10px 35px 10px 10px;
	text-align: left;
	line-height: 1.5;
    color: #fff;
    background: url("../images/icon_arrow_w.svg") no-repeat 96% center;
    background-size: 8px 10px;
}
.header .linkarea .gnav li.parent ul.child li a:hover{
	color: #2457B3;
    background: url("../images/icon_arrow_b.svg") no-repeat 96% center, #fff;
    background-size: 8px 10px;
}
.header .linkarea .gnav li.parent .submenu{
	width: 100%;
	position: fixed;
	top:80px;
	left:0;
	background: #FFFFFF;
	padding:30px 5% 20px;
	transition: 0.3s;
	pointer-events: none;
	opacity: 0;
	box-sizing: border-box;
}
.header .linkarea .gnav li.parent:hover a + .submenu{
	opacity: 1;
	pointer-events: auto;
}
.header .linkarea .gnav li.parent .submenu .inner{
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.header .linkarea .gnav li.parent .submenu .inner .box{
	width:18%;
	height:170px;
	margin-left: 2%;
	margin-bottom: 10px;
	position: relative;
}
.header .linkarea .gnav li.parent .submenu .inner .box:before{
	content: "";
	position: absolute;
	top:20px;
	left:0;
	width:100%;
	height:1px;
	background:#A4A4A4;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(1):before{
	display: none;
}
.header .linkarea .gnav li.parent .submenu .inner .box:before{
	content: "";
	position: absolute;
	top:20px;
	left:0;
	width:100%;
	height:1px;
	background:#A4A4A4;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(4n+6){
	margin-left: 22%;
}
.header .linkarea .gnav li.parent .submenu .inner .box .title{
	line-height: 40px;
	position: relative;
	display: inline-block;
	font-size:20px;
	font-size:2.0rem;
	padding:0 5px 0 0;
	background: #FFFFFF;
}
.header .linkarea .gnav li.parent .submenu .inner .box a{
	width:100%;
	height:130px;
	display: block;
	position: relative;
	padding:0;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(1) a:after{
	content: "";
	background: url("../images/icon_arrow_002.png") no-repeat center center;
	background-size: contain;
	width:34px;
	height:6px;
	position: absolute;
	bottom:50%;
	right:10px;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(1) a .heading{
	font-size:36px;
	font-size:3.6rem;
	font-family: "noto-serif", serif;
	text-align: left;
	position: absolute;
	top:50%;
	left:0;
	transform: translate(0,-50%);
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(1) a .heading .ruby{
	display: block;
	font-size:16px;
	font-size:1.6rem;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.header .linkarea .gnav li.parent .submenu .inner .box a .anchortitle{
	position: absolute;
	top:50%;
	left:15px;
	transform: translate(0,-50%);
	display: inline-block;
	padding:5px 10px;
	border:2px solid #FFFFFF;
	font-size:18px;
	font-size:1.8rem;
	color:#FFFFFF;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(2) a{
	background:url("../images/bg_submenu_001.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(3) a{
	background:url("../images/bg_submenu_002.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(4) a{
	background:url("../images/bg_submenu_003.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent .submenu .inner .box:nth-child(5) a{
	background:url("../images/bg_submenu_004.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(2) a{
	background:url("../images/bg_submenu_products_001.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(3) a{
	background:url("../images/bg_submenu_products_002.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(4) a{
	background:url("../images/bg_submenu_products_003.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(5) a{
	background:url("../images/bg_submenu_products_004.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(6) a{
	background:url("../images/bg_submenu_products_005.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(7) a{
	background:url("../images/bg_submenu_products_006.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(8) a{
	background:url("../images/bg_submenu_products_007.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .gnav li.parent.productmenu .submenu .inner .box:nth-child(9) a{
	background:url("../images/bg_submenu_products_008.jpg") no-repeat center center;
	background-size:cover;
}
.header .linkarea .bnr{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	margin-right: 30px;
}
.header .linkarea .bnr div{
	width:206px;
	height:50px;
	margin-left: 10px;
	margin-top: 15px;
}
.header .linkarea .bnr div a{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width:100%;
	height:100%;
	transition: 0.3s;
	border-radius: 25px;
}
.header .linkarea .bnr div a img{
	vertical-align: middle;
}
.header .linkarea .bnr div a:hover{
	opacity: 0.5;
}
.header .linkarea .bnr div a:hover img{
	opacity: 1;
}
.header .linkarea .bnr div a .text{
	text-align: center;
	font-weight: bold;
	margin-left: 10px;
}
.header .linkarea .bnr .bnr001 a{
	background: #FFA700;
	color:#FFFFFF;
}
.header .linkarea .bnr .bnr002 a{
	background: #497DDB;
	color:#FFFFFF;
}
.header .linkarea .bnr .bnr003 a{
	background: #2457B3;
	color:#FFFFFF;
}
@media (max-width: 1500px) {
/*.header .linkarea .gnav li{
	margin: 0 5px;
}*/
.header .linkarea .gnav li a{
	font-size:16px;
	font-size:1.6rem;
    padding: 15px 8px;
}
.header .linkarea .bnr{
	margin-right:10px;
}
.header .linkarea .bnr div{
	width:auto;
}
.header .linkarea .bnr div a{
	box-sizing: border-box;
	padding: 0 15px;
}
.header .linkarea .bnr div a .text{
	font-size:14px;
	margin-left: 5px;
}
}
@media (max-width: 1300px) {
.header h1{
	left:2%;
	width:auto;
	max-width: 60%;
	height:auto;
	max-height: 24px;
}
.header h1 a{
	max-width: 152px;
	max-height: 24px;
}
.header h1 img{
	width:auto;
	height:auto;
	max-width: 100%;
	max-height: 100%;
}
.header .linkarea{
	display: none;
}
.header .wrapper{
	position: absolute;
	top:15px;
	right:10px;
    width: 50px;
    height: 50px;
	transition: 0.3s;
}
.header .button{
	width:50px;
	height:50px;
	position: relative;
	z-index: 10000;
	transition: 0.3s;
	background: #0F3881;
}
.header .button,
.header .button span {
	display: inline-block;
	-webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s;
	box-sizing: border-box;
}
.header .button span {
	position: absolute;
	left: 50%;
	transform: translate( -50%, 0);
	width: 30px;
	height: 2px;
	background-color: #fff;
	border-radius: 4px;
	transition: 0.3s;
}
.header .button span:nth-of-type(1) {
	top: 12px;
}
.header .button span:nth-of-type(2) {
	top: 24px;
}
.header .button span:nth-of-type(3) {
	top: 36px;
}
.header.select .button span:nth-of-type(1) {
	transform: translate(-50%,12px) rotate(-45deg);
}
.header.select .button span:nth-of-type(2) {
	opacity: 0;
}
.header.select .button span:nth-of-type(3) {
	transform: translate(-50%,-12px) rotate(45deg);
}
.header .spmenu{
	width:100%;
	height:calc(100% - 80px);
	position: fixed;
	top:80px;
	left:100%;
	z-index:5000;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
	overflow-y: scroll;
	background: rgba(15,56,129,0.9);
}
.header.select .spmenu{
	left:0;
}
.header .spmenu ul li{
	text-align: left;
	display: block;
}
.header .spmenu ul li a,
.header .spmenu ul li span{
	color:#FFFFFF;
	padding:15px 5%;
	line-height: 1.2;
	display:block;
	border-bottom:1px solid #FFFFFF;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
}
.header .spmenu ul li:last-child a,
.header .spmenu ul li:last-child span{
	border-bottom:none;
}
.header .spmenu ul li a:after{
	position: absolute;
	content: ">";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
/*.header .spmenu ul li.english a{
    color: #0F3881;
    background: url("../images/icon_english.svg") no-repeat 97% center, #fff;
	background-size: 27px 15px;
	padding:15px 40px 15px 20px;
    border-bottom:1px solid #0F3881;
}*/
.header .spmenu ul li span:after{
	position: absolute;
	content: "＋";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
.header .spmenu ul li span.select:after{
	content: "―";
}
.header .spmenu ul li.parent ul.child{
	display: none;
}
.header .spmenu ul li.parent ul.child a{
	background: #2318158F;
}
}

/*--------------------------------------
    footer
--------------------------------------*/

.footer .footer_contact{
	width:100%;
	height:auto;
	padding:50px 0;
	margin-top: 3px;
	background:url("../images/bg_contact.jpg") no-repeat center center;
	background-size:cover;
}
.footer .footer_contact h2{
	font-size:64px;
	font-size:6.4rem;
	font-family: "eb-garamond", serif;
	font-weight: 400;
	font-style: normal;
	color:#FFFFFF;
	text-align: center;
	line-height: 64px;
}
.footer .footer_contact h2 span{
	font-size:18px;
	font-size:1.8rem;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#FFFFFF;
	display: block;
}
.footer .footer_contact .btn{
	width:96%;
	max-width: 900px;
	height:110px;
	margin: 30px auto 0;
}
.footer .footer_contact .btn a{
	width:100%;
	height:100%;
	box-sizing: border-box;
	border:1px solid #FFFFFF;
	color:#FFFFFF;
	position: relative;
	font-size:24px;
	font-size:2.4rem;
	font-weight: bold;
	display: block;
	text-align: center;
	line-height: 110px;
	letter-spacing: 5px;
	transition: 0.3s;
}
.footer .footer_contact .btn a:after{
	content: "";
	width:34px;
	height:6px;
	background: url("../images/icon_arrow_001.png") no-repeat center center;
	background-size:contain;
	position: absolute;
	right:60px;
	bottom:50%;
	transition: 0.3s;
}
.footer .footer_contact .btn:hover a{
	background: #FFFFFF;
	color:#2457B3;
}
.footer .footer_contact .btn:hover a:after{
	background: url("../images/icon_arrow_002.png") no-repeat center center;
	background-size:contain;
}
.footer .footer_content .inner{
	width:96%;
	max-width: 1200px;
	margin: 30px auto 25px;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.footer .footer_content .inner .info{
	width:20%;
	max-width: 240px;
}
.footer .footer_content .inner .info .catch{
	font-size:18px;
	font-size:1.8rem;
	color:#0DA8EC;
}
.footer .footer_content .inner .info .logo{
	margin: 15px 0 60px;
}
.footer .footer_content .inner .info .logo a{
	display: block;
}
.footer .footer_content .inner .info .text span{
	font-size:20px;
	font-size:2.0rem;
	display: block;
	margin-bottom: 10px;
}
.footer .footer_content .inner .fnav{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	position: relative;
}
.footer .footer_content .inner .fnav ul{
	margin-left: 20px;
}
.footer .footer_content .inner .fnav ul:nth-child(4){
	margin-left: 80px;
}
.footer .footer_content .inner .fnav ul li{
	margin-bottom: 20px;
}
.footer .footer_content .inner .fnav ul li:last-child{
	margin-bottom: 0px !important;
}
.footer .footer_content .inner .fnav ul li a{
	font-size:20px;
	font-size:2.0rem;
	transition: 0.3s;
}
.footer .footer_content .inner .fnav ul li a:hover{
	opacity: 0.5;
}
.footer .footer_content .inner .fnav ul li.parent ul.child{
	width:100%;
	min-width: 220px;
	padding:5px 10px;
	box-sizing: border-box;
	border-left:2px solid rgba(20,36,72,0.2);
	margin-top: 20px;
	margin-left: 0;
}
.footer .footer_content .inner .fnav ul li.parent ul.child li{
	margin-bottom: 15px;
}
.footer .footer_content .inner .fnav ul li.parent ul.child li a{
	font-size:16px;
	font-size:1.6rem;
}
.footer .footer_content .inner .footer_button{
	position: absolute;
	right:0;
	bottom:0;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.footer .footer_content .inner .footer_button p{
	height:60px;
	margin-left: 20px;
}
.footer .footer_content .inner .footer_button p a{
	padding:0 76px;
	position: relative;
	text-align: center;
	line-height: 58px;
	border:1px solid #2457B3;
	color:#2457B3;
	font-size:18px;
	font-size:1.8rem;
	display: block;
	border-radius:30px;
	transition: 0.3s;
}
.footer .footer_content .inner .footer_button p a:after{
	content: "";
	width:34px;
	height:6px;
	background: url("../images/icon_arrow_002.png") no-repeat center center;
	background-size:contain;
	position: absolute;
	right:25px;
	bottom:50%;
	transition: 0.3s;
}
.footer .footer_content .inner .footer_button p:hover a{
	color:#FFFFFF;
	background:#2457B3;
}
.footer .footer_content .inner .footer_button p:hover a:after{
	background: url("../images/icon_arrow_001.png") no-repeat center center;
	background-size:contain;
}
@media (max-width: 1200px) {
.footer .footer_content .inner{
	margin: 30px auto 0px;
	padding-bottom: 60px;
}
.footer .footer_content .inner .info .text span {
    font-size: 18px;
    font-size: 1.8rem;
}
.footer .footer_content .inner .fnav ul:nth-child(4){
	margin-left: 60px;
}
.footer .footer_content .inner .fnav ul li a{
	font-size:16px;
	font-size:1.6rem;
}
.footer .footer_content .inner .fnav ul li.parent ul.child{
	min-width:180px;
}
.footer .footer_content .inner .fnav ul li.parent ul.child li a{
	font-size:14px;
	font-size:1.4rem;
}
.footer .footer_content .inner .footer_button p a{
	padding:0 50px;
	font-size:16px;
	font-size:1.6rem;
}
.footer .footer_content .inner .footer_button p a:after{
	right:15px;
}
}
@media (max-width: 760px) {
.footer .footer_contact{
	padding:30px 0;
}
.footer .footer_contact h2{
	font-size:32px;
	font-size:3.2rem;
	line-height: 32px;
}
.footer .footer_contact h2 span{
	font-size:14px;
	font-size:1.4rem;
}
.footer .footer_contact .btn{
	width:96%;
	height:70px;
	margin: 20px auto 0;
}
.footer .footer_contact .btn a{
	font-size:18px;
	font-size:1.8rem;
	line-height: 70px;
	letter-spacing: 3px;
}
.footer .footer_contact .btn a:after{
	right:20px;
}
.footer .footer_content .inner{
	margin: 30px auto 0px;
	display:block;
	padding-bottom: 40px;
}
.footer .footer_content .inner .info{
	width:96%;
	margin: 0 auto;
}
.footer .footer_content .inner .info .catch{
	font-size:16px;
	font-size:1.6rem;
}
.footer .footer_content .inner .info .logo{
	margin: 10px 0 30px;
}
.footer .footer_content .inner .info .text span{
	font-size:18px;
	font-size:1.8rem;
}
.footer .footer_content .inner .fnav,
.footer .footer_content .inner .footer_button{
	display:none;
}
}

/*--------------------------------------
    copy
--------------------------------------*/

.copy{
	font-size:14px;
	font-size:1.4rem;
	position: absolute;
	top: 650px;
    left: -60px;
	transform:translate(0,0) rotate(90deg);
	color:#CECECE;
	display: inline-block;
	transition: 0.3s;
}
@media (max-width: 1200px) {
.copy{
	width:96%;
	font-size:12px;
	font-size:1.2rem;
	top:auto;
	bottom: 10px;
    left: 2%;
	transform:rotate(0deg);
	color:#000000;
	display: block;
	text-align: center;
}
}

/*--------------------------------------
    pagetop
--------------------------------------*/

.pagetop{
	position: fixed;
	bottom: -124px;
    left: 0px;
	transform:translate(0,0) rotate(-90deg);
	padding-right:56px;
	display: inline-block;
	transition: 0.3s;
}
.pagetop:hover{
	opacity: 0.5;
}
.pagetop:after{
	content: "";
	background: url("../images/icon_arrow_002.png") no-repeat center center;
	background-size:contain;
	width:34px;
	height:6px;
	position: absolute;
	top:50%;
	right:0;
}
.pagetop a{
	font-family: 'Lexend Exa', sans-serif;
	font-size:12px;
	font-size:1.2rem;
	color:#2457B3;
}
@media (max-width: 760px) {
.pagetop{
    left: -30px;
}
}
