@charset "UTF-8";

/*
body {
	font-size: 12px;
	color: #000000;
	font-family:'メイリオ',Meiryo,'Osaka－等幅','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック', "Lucida Grande", "Lucida Sans Unicode", "ＭＳ Ｐゴシック", Helvetica, Arial, Verdana, sans-serif;
	font-family:'Noto Sans JP', sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
}
*/

.clear { clear: both; }

a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);/* IE lt 8 */	
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=70)";
	-moz-opacity: 0.7;/* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;/* Safari 1.x */
	zoom:1;
	transition:all 0.5s ease 0s;
}


.contents {
	width: 100%;
	max-width: 1920px;
	min-width: 980px;
	margin: 0 auto;
	position: relative;
}

.fl { float: left; }
.fr { float: right; }

/*----------------------------------------------------------------------------*/
#header {
	width: 100%;
	min-width: 980px;
	border-bottom: 1px solid #888;
}


#header .contents {
	z-index: 100;
}

#header #logo {
	display: inline-block;
	margin: 28px 0 0 60px;
}
#header #logo img{
	width:auto;
	height: 56px;
}


#header .ln-sitemap {
	position: absolute;
	top: 15px;
	right: 0;
	display: block;
	color: #000000;
	font-size: 12px;
	text-decoration: none;
}

#header .language {
}

#header .language li {
	background: url('/img/common/lang_list.gif') no-repeat;
	background-position: left top;
	padding: 0 0 0 10px;
	margin: 0 0 0 16px;
	float: left;
}

#header .language li a {
	color: #414141;
	text-decoration: none;
	font-size: 10px;
}

#header .menu {
	display: flex;
	flex-direction: row;
    margin:30px 0 0 60px;
}

#header .menu > li {
	position: relative;

	font-size: 18px;
	font-weight: 300;
	margin-right: 3%;
	text-align: center;
	padding-bottom: 9px;
}
#header .menu > li a{
	display: block;
	text-decoration: none;
	color: #292929;
	padding-bottom: 5px;
	border-bottom: 4px solid #FFF;
	height: 100%;
	min-height: 24px;
}
#header .menu > li a.on{
	border-bottom: 4px solid #888;
}
#header .menu > li > ul{
	text-align: left;
	z-index: 10;
}
#header .menu > li > ul > li{
	text-align: left;
}

#header .menu ul {
	position: absolute;
	top: 42px;
	display: none;
}
#header .menu.jp ul{
	top: 54px;
}
#header .menu > li:nth-child(9) ul{ right: 0; }

#header .menu ul li {
	background: rgba(255,255,255,0.95);
	font-size: 16px;
	white-space: nowrap;
}

#header .menu ul li a {
	display: block;
	padding: 12px 18px;
	border-bottom: dotted 1px #DDD;
}
#header .menu ul li:last-child a { border: none; }

#header .menu ul li a:hover {
	background: rgba(69,63,62,1);
	color: #FFF;
}



#header .menu-sub{
	position: absolute;
	right: 60px;
	top:calc( (56px - 40px) / 2 + 20px );
	display: flex;
}
#header .menu-side{
	display: flex;
}
#header .menu-side li{
	display: inline-block;
	margin-left:40px;
	line-height: 40px;
}
#header .menu-side li dl{
	position: relative;
}
#header .menu-side li dl dt{
	cursor: pointer;
}
#header .menu-side li dl dd{
	display:none;
	position: absolute;
	right: 0;
	top:40px;
	white-space: nowrap;
	background: rgb(0,0,0,0.85);
	z-index: 999;
}
#header .menu-side li dl dd a{
	display: block;
	padding:10px 15px;
	text-align: left;
	color: #FFF;
	font-size: 15px;
	line-height: 1.4;
}
#header .menu-side li dl dd a:nth-of-type(n+2){
	border-top: 1px solid #DDD;
}
#header .menu-side li, #header .menu-side li a{
	color: #292929;
	text-decoration: none;
	font-size: 16px;
	font-weight: 300;
}

#header .menu-side .qa dt{
	padding-left: 20px;
	background:url(/img/common/icon_qa.svg) no-repeat 0 center;
}
#header .menu-side .lng dt{
	padding-left: 20px;
	background:url(/img/common/icon_lng.svg) no-repeat 0 center;
}


#header .sns{
	display: flex;
	flex-direction: row;
    justify-content: center;
    align-items: center;
}
#header .sns li{
	box-sizing: border-box;
	margin-left: 20px;
}


.menu-btn {
	display: none;
}


/*----------------------------------------------------------------------------*/
#footer{
	width: 100%;
	margin:100px 0 60px;
}

#footer .contents{
	margin: 0 auto;
	padding-bottom:0px;
	width:100%;
	max-width: 100%;
	background:#453f3e;
	color: #FFF;
	padding-top:60px;
}


#footer .menuWrap{
	display: flex;
	width: auto;
	width: calc(100% - 120px);
	max-width: 1920px;
	margin:auto;
}

#footer .menuWrap .menu{
	box-sizing: border-box;
	width:85%;
}

#footer .menuWrap .other{
	box-sizing: border-box;
	width:15%;
}
#footer .menuWrap .other p{
	font-size: 18px;
	text-align: center;
	margin-bottom: 12px;
}
#footer .menuWrap .other .sns{
	margin-bottom: 20px;

	display: flex;
	flex-direction: row;
    justify-content: center;
    align-items: center;
}
#footer .menuWrap .other .sns li{
	box-sizing: border-box;
	padding:5%;
	width:25%;
}
#footer .menuWrap .other .sns li a img{
	max-width: 100%;
	height: auto;
}
#footer .menuWrap .other .bnr li{
	margin-bottom: 20px;
}
#footer .menuWrap .other .bnr li:nth-of-type(4){
	margin-top: 60px;
}
#footer .menuWrap .other .bnr li a{
	display: block;
	height: 60px;
    background:#FFF;
    text-align: center;

    display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
}
#footer .menuWrap .other .bnr li a img{
	max-width: 90%;
	height: auto;
}

#footer .bnr-2{
	margin-top:30px;
	display: flex;
	flex-direction: row;
    justify-content: center;
    align-items: center;
}
#footer .bnr-2 li{
	margin:0 1%;
}
#footer .bnr-2 li a{
	max-width: 155px;
}
#footer .bnr-2 li a img{
	width: 100%;
	height: auto;
}



#footer .menu { display: flex;flex-wrap: wrap;line-height: 1.4; }
#footer .menu li { box-sizing:border-box;width:25%;margin-bottom:60px;padding-right:30px; }

#footer .menu dt {
	font-size: 20px;
	margin-bottom:20px;
}

#footer .menu dd {
	font-size: 16px;
	font-weight: 300;
	margin-bottom: 15px;
}

#footer a {
	color: #FFF;
	text-decoration: none;
}

#footer .lower {
	margin: 22px 0 0;
	position: relative;
}

#footer .ln {
	position: absolute;
	top: 14px;
	right: 0;
}

#footer .ln li {
	float: left;
	margin-left: 12px;
	font-size: 10px;
}

#footer .copyright {
	color: #707070;
	margin-top:30px;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
}

#footer .caution {
	color: #707070;
	margin-top:10px;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
}

#footer .scroll-top {
	display: none;
	position: absolute;
	top: -50px;
	right: 0;
}

#footer .footerLink{
	margin-top:30px;
	display: flex;
	flex-direction: row;
    justify-content: center;
    align-items: center;
}
#footer .footerLink li{
	margin:0 1%;
}
#footer .footerLink li a{
	max-width: 155px;
	color: #707070;
}

.pc{  }
.sp{ display:none; }

/*----------------------------------------------------------------------------*/








/* PC middle */
@media screen and (max-width: 1300px) {

	/* common */
	#header .menu > li {
		font-size:1.4vw;
		margin-right: 2%;
	}
	#header .menu ul{
		top:calc(1.4vw + 24px);
	}
	#header .menu ul li{
		font-size:1.3vw;
	}

	#header .menu-side li, #header .menu-side li a {
	    font-size:1.4vw;
	}
	#header .menu-side li dl dd a {
		font-size:1.3vw;
	}

	#footer .menu dt {
	    font-size: 1.538vw;
	}
	#footer .menu dd {
	    font-size: 1.23vw;
	}

}



/* PC small */
@media screen and (max-width: 980px) {

	body{
		min-width: 980px;
	}


   #header .menu > li {
		font-size:13.72px;
	}
	#header .menu ul{
		top:calc(13.72px + 24px);
	}
	#header .menu ul li{
		font-size:12.74px;
	}

	#header .menu-side li, #header .menu-side li a {
	    font-size:13.72px;
	}
	#header .menu-side li dl dd a {
		font-size:12.74px;
	}


	#footer .menu dt {
	    font-size:13.72px;
	}
	#footer .menu dd {
	    font-size:12.74px;
	}
}


/* SP */
@media screen and (max-width: 768px) {



	/* common */
	body, #header, #footer, .contents{
		min-width: auto;
	}
	#header .contents, #footer .contents{
		min-width: auto;
	}

	#header #logo {
		margin: 20px 20px;
	}
	#header #logo img {
		width:60%;
		height: auto;
	}

	#header .menu-side, #header .menu, #header .sns {
		/* display: none; */
	}


	.menu-btn {
	    position: absolute;
	    top: 14px;
	    right: 20px;
	    display: flex;
	    height: 40px;
	    width: 40px;
	    justify-content: center;
	    align-items: center;
	    z-index: 999999;
	    background-color: #FFF;
	}
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
	    content: '';
	    display: block;
	    height: 3px;
	    width: 25px;
	    border-radius: 3px;
	    background-color: #000;
	    position: absolute;
	    transition: all 0.5s;
	}
	.menu-btn span:before {
	    bottom: 8px;
	}
	.menu-btn span:after {
	    top: 8px;
	}

	.menu-btn.is-active span {
		background-color: rgba(255, 255, 255, 0);
	}
	.menu-btn.is-active span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	.menu-btn.is-active span::after {
		top: 0;
		transform: rotate(-45deg);
	}


	#header .menu-sub{
		position: static;
		margin: 80px 0 0;
	}
	#header .menu-side{
		justify-content: flex-end;
		width: 100%;
	}
	#header .menu-side li, #header .menu-side li a {
		color: #FFF;
		font-size: 15px;
	}
	#header .menu-side li{
	    margin: 0 7.5% 0 0;
	}
	#header .menu-side .qa dt {
		background: url(/img/common/icon_qa_w.svg) no-repeat 0 center;
	}
	#header .menu-side .lng dt {
		background: url(/img/common/icon_lng_w.svg) no-repeat 0 center;
	}
	#header .menu-side li dl dd{
		white-space: normal;
		width: 55vw;
	}
	#header .menu-side li dl dd a {
	    font-size: 15px;
	}

	#header .sns {
		display: none;
		top: 20px;
		left: 5px;
	}

	#header .menu-set {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 99999;
		width: 100vw;
		height: 100vh;
		background: rgba(0,0,0,0.9);
		overflow-y: auto;

		pointer-events: none;
		opacity: 0;
		transition: opacity .3s linear;
	}

	#header .menu-set.is-active {
		pointer-events: auto;
		opacity: 1;
		transition: opacity .3s linear;
	}
	#header .menu {
	    display: flex;
	    flex-direction: row;
	    flex-wrap: wrap;
	    justify-content: space-between;
	    margin: 0;
	    padding:20px;
	}
	#header .menu > li{
		width:46%;
		margin:0 0 40px;
		text-align: left;
	}
	#header .menu > li > a {
		color: #FFF;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.4;
		border-bottom: solid 3px #DDD;
    	padding: 10px 2px;
    	height: auto;
	}
	#header .menu li ul{
		display: block !important;
		position: static;
	}
	#header .menu li ul li{
		background: none;
		white-space: normal;
		font-size: 15px;
		line-height: 1.4;
	}
	#header .menu li ul li a{
		padding: 10px 5px;
		color: #FFF;
		border-bottom: dotted 1px #666;
	}
	#header .menu li ul li:first-child a {
	    /* border-top: solid 1px #DDD; */
	}
	#header .menu li ul li:last-child a {
	    border-bottom: solid 1px #999;
	}

	#header .menu > li a.on {
	    border-bottom: 3px solid #FFF;
	}



	#footer {
	    margin: 60px 0 30px;
	}
	#footer .contents {
	    padding: 40px 0 20px;
	}
	#footer .menuWrap {
	    width: 80%;
	}
	#footer .menuWrap .menu {
    	display: none;
	}
	#footer .menuWrap .other {
	    width: 100%;
	}
	#footer .menuWrap .other .bnr li:nth-of-type(2) {
	    margin-top: 20px;
	}


	#footer .bnr-2 {
		flex-direction: column;
	}
	#footer .bnr-2 li{
		width: 60%;
		margin: 0 auto;
		max-width: 60%;
	}
	#footer .bnr-2 li a, #footer .bnr-2 li img{
		display: block;
		width: 100%;
		max-width: 100%;
	}
	#footer .bnr-2 li:nth-of-type(n+2){
		margin: 5% 0 0;
	}
	#footer .copyright, #footer .caution{
	    padding: 0 5%;
	    font-size: 14px;
	    line-height: 1.4;
	}






	#footer .footerLink{
		flex-direction: column;
	    justify-content: center;
	    align-items: left;
	    background:#F3F3F3;
	}
	#footer .footerLink li{
		margin:0;
		padding:0;
		width: 100%;
		border-top:1px solid #DDD;
	}
	#footer .footerLink li:last-of-type{
		border-bottom:1px solid #DDD;
	}
	#footer .footerLink li a{
		display: block;
		max-width: none;
		padding: 20px 30px;
	}


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