@charset "UTF-8";
	
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* ----------------------------------------------------------------------------------------------------
  settings
* --------------------------------------------------------------------------------------------------*/

html{
    font-size: 62.5%;
}
body {
	font-family: "A1 ゴシック L", "A1 Gothic L", "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",sans-serif;
	color: #000;
	font-size: 1.4rem;
	line-height: 1.8;
}
:root{
    --vh : 1vh;
}

/* ----------------------------------------------------------------------------------------------------
  common layout
* --------------------------------------------------------------------------------------------------*/
a:link,
a:visited{
    color:inherit;
    text-decoration:none;
    outline: none;
}
a:hover {
    outline: none;
}
img{
	vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/
header{
    min-width: 1080px;
	width: 100%;
	position: fixed;
	z-index: 100;
	padding-bottom: 30px;
	background-color: #fff;
}
.header-in{
    height: 66px;
    position: relative;
	background-color: #fff;
}
.header-logo{
    width: 82px;
	height: 28px;
    position: absolute;
    top:38px;
    left: 80px;
}
.header-logo img{
    width: 100%;
}

@media screen and (max-width: 768px){
	header{
    	min-width:0;
		padding-bottom: 0;
	}
	.header-in{
		height: 55px;
	}
	.header-logo{
		width: 60px;
		position: absolute;
		top:16px;
		left: 16px;
		margin: 0;
	}
	.header-logo img{
		width: 100%;
	}
}


/* ----------------------------------------------------------------------------------------------------
*  gNavi
* --------------------------------------------------------------------------------------------------*/
.g-nav{
}
.global-navigation{
	font-family: "FB Benton Sans Book";
}
.global-navigation > ul{
	position: absolute;
	bottom:0;
	right: 55px;
	font-size: 1.5rem;
    display: flex;
}
.global-navigation > ul li{
	padding: 0 25px;
    text-align: center;
	/*background-color: #fff;*/
}
.global-navigation > ul li a:hover{
	border-bottom: 1px solid #000;
	padding-bottom: 4px;
}
.global-navigation > ul li.current a{
	border-bottom: 1px solid #000;
	padding-bottom: 4px;
}
.global-navigation > ul li.nav-contact a{
	background-image: url("../images/icon_mail.png");
	background-position: left 3px;/*left top 0.4em*/
	background-repeat: no-repeat;
	background-size: 16px 11px;
	padding-left: 1.5em;
}

.bottom-nav-01{
	margin: 0 auto;
	width: 840px;
}
.bottom-nav-01 ul{
	margin: 0 0 150px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}
.bottom-nav-01 ul li a{
	font-family: "FB Benton Sans Book";
	display: block;
	font-size: 1.8rem;
	width: 278px;
	height: 58px;
	line-height: 58px;
	text-align: center;
	background-color: #caccd0;
	color: #fff;
}
.bottom-nav-01 ul li.current a{
	background-color: #333333;
}
.bottom-nav-01 ul li a:hover{
	color: #fff;
	background-color: #333333;
}
.nav-toggle{
	width: 28px;
	position: absolute;
	top:12px;
	right: 16px;
	display: none;
}
.nav-toggle img{
	width: 100%;
}

@media screen and (max-width: 768px)	{
	.global-navigation{
	}
	.global-navigation > ul{
		width: 100%;
		top:55px;
		right: 0px;
		font-size: 2.4rem;
		flex-direction: column;
		/*padding-bottom: 1em;*/
		background-color: #fff;
		display: none;
        
        box-sizing: border-box;
        height:calc(var(--vh) * 100 - 55px);
        justify-content: center;
	}
	.global-navigation > ul li{
		/*height: 60px;*/
		width: 100%;
		padding: 0;
		line-height: 60px;
		background-color: #fff;
        
        max-height: 60px;
        height:11.11%;
        line-height: 110%;
        display: flex;
        justify-content: center;
        align-items: center;
	}
	.global-navigation > ul li.current{
		border-bottom: none;
		padding-bottom: 0;
		background-color: #333333;
		color: #fff;
	}
	.global-navigation > ul li.current a{
		border-bottom: none;
		padding-bottom: 0;
	}
	.global-navigation > ul li.nav-contact a{
		background-size: 20px 14px;
		padding-left: 1.2em;
        background-position:left 7px;
	}
	.global-navigation > ul li.nav-contact.current a{
		background-image: url("../images/icon_mail_wht.png");
	}
    .global-navigation > ul li.nav-access,
	.global-navigation > ul li.nav-prvcy,
	.global-navigation > ul li.nav-secty{
		font-size: 1.8rem;
	}
	.nav-toggle{
		display:block;
	}
	
	.bottom-nav-01{
		margin: 0 auto 70px;
		width: 82vw;
		max-width: 378px;
	}
	.bottom-nav-01 ul{
		flex-direction: column;
		margin: 0 0 70px;
	}
	.bottom-nav-01 ul li{
		margin-bottom: 4px;
	}
	.bottom-nav-01 ul li a{
		font-size: 1.6rem;
		width: 100%;
		height: 40px;
		line-height: 40px;
	}
}
    

/* ----------------------------------------------------------------------------------------------------
*  contents
* --------------------------------------------------------------------------------------------------*/
.contents-wrap{
	padding-top: 174px;
}
.contents{
	min-width: 1080px;
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}

.contents section{
	margin-bottom: 120px;
}
.sec-in{
	padding: 0 30px;
	max-width: 960px;
	margin: 0 auto;
}

.h1-area{
	padding:0;
	margin-bottom: 17px;
}
.h1-box{
	width: 960px;
	padding:0px 0 0;
	margin: 0 auto;
}
.h1-2col{
	position: relative;
}
.h1-2col .h1-text{
	margin-top: 40px;
	margin-bottom: 60px;/*60px*/
	font-size: 1.6rem;
	width: 900px;/*450px;*/
}
.h1-2col .h1-box{
	display: flex;
	justify-content: space-between;
}
.h1-2col .h1-col-01,
.h1-2col .h1-col-02{
	width: 100%;
}
.h1-2col .h1-col-02{
	text-align: center;
	position: relative;
	padding-top: 60px;
}
.h1-cube{
	margin-bottom: 70px;
	width: 420px;
	/*height: 170px;*/
}
.h1-cube-text{
	font-size: 1.3rem;
}
.h1-col-02 ul{
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute;
	top:0;
	left: 0;
	z-index: 2;
}
.h1-col-02 ul li{
	font-family: "FB Benton Sans Medium";
	margin: 0;
	padding: 0;
	position: absolute;
}
.h1-col-02 ul li:nth-child(1){
	top: 0px;
	left: 40px;
}
.h1-col-02 ul li:nth-child(2){
	top: 0px;
	left: 306px;
}
.h1-col-02 ul li:nth-child(3){
	top: 220px;
	left: 256px;
}
.h1-col-02 ul li a{
	display: block;
	width: 140px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	
	color: #fff;
	background-color: #cbccd0;
}
.h1-col-02 ul li.current a{
	background-color: #333333;
}
.h1-col-02 ul li a:hover{
	background-color: #333333;
}

.is-fadein {
 	opacity: 0;
	transform : translate(0, 20px);
	transition : all 1000ms;
}

@media screen and (max-width: 768px){
	.contents-wrap{
		padding-top: 30px;
	}
	.contents{
		width: 100%;
		min-width: 0;
	}
	.contents section{
		margin-bottom: 60px;
	}
	.h1-area{
		padding:40px 30px 60px;/*40px 30px*/
		margin-bottom: 0px;
	}
	.h1-box{
		width: 100%;
		padding:20px 0 0;
	}
	.h1-2col .h1-text{
		margin-top: 30px;/*201001*/
		margin-bottom: 0px;/*201001*/
		font-size: 1.5rem;
		width: 100%;
	}
	.h1-2col .h1-box{
		display:block;
	}
	.h1-2col .h1-col-02{
		padding-top: 0px;
		margin: 0 auto;
		width: 84vw;
	}
	.h1-cube{
		margin-top: 40px;
		margin-bottom: 70px;
		width: 83.3vw;
		max-width: 420px;
	}
	.h1-cube-text{
		text-align: left;
		margin: 0 auto;
		display: inline-block;
	}
	.h1-col-02 ul{
		display: block;
		margin: 40px auto 0;
		top:0;
		left: 0;
		right:0;
		
		width: 83.3vw;
		max-width: 420px;
		height:33.6vw;
		max-height: 170px;
	}
	.h1-col-02 ul li:nth-child(1){
		top: -40px;
		left: 2vw;
	}
	.h1-col-02 ul li:nth-child(2){
		top: -40px;
		left:auto;
		right:0;
	}
	.h1-col-02 ul li:nth-child(3){
		top:auto;
		left:auto;
		bottom:-30px;
		right:15%;
		z-index: 10;
	}
	.h1-col-02 ul li a{
		width: auto;
		max-width: 140px;
		height: 30px;
		line-height: 30px;
	}
	.h1-col-02 ul li:nth-child(1) a{
		width: 27.7vw;
	}
	.h1-col-02 ul li:nth-child(2) a{
		width: 36.1vw;
	}
	.h1-col-02 ul li:nth-child(3) a{
		width: 27.7vw;
	}

}


/* ----------------------------------------------------------------------------------------------------
*  Heading elements
* --------------------------------------------------------------------------------------------------*/
.h1-style-01{
	font-weight: 300;
	display: inline-block;
	padding-top: 0.2em;
}
.h1-style-01 img{
	margin-bottom: 20px;
}
.h1-style-01 span{
	font-size: 1.3rem;
}
.h1-style-02{
	font-size: 2.0rem;
	max-width: 960px;
	margin: 0 auto 48px;
	border-bottom: 1px solid #000;
}

.h2-style-01{
	font-size: 2.0rem;
	font-weight: normal;
	/*201001*/
	position: relative;
	line-height: 100%;
	z-index: 1;
	/**/
}
.h2-style-02{
	margin-bottom: 40px;
}
.h2-style-02:before{
	content: "■ ";
}

.h3-style-01{
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: 500;
}
.h3-style-01 span.sub{
	font-size: 1.4rem;
	font-weight: normal;
}

@media screen and (max-width: 768px){
	.h1-style-01 img{
		margin-bottom: 14px;
	}
	.h2-style-01{
		font-size: 1.6rem;
	}
}


/* ----------------------------------------------------------------------------------------------------
  table
* --------------------------------------------------------------------------------------------------*/
.tbl-style-01{
}
.tbl-style-01 th{
	font-weight: normal;
	vertical-align: top;
	padding: 0.2em 0.5em 0.2em 0;
	text-align: left;
}
.tbl-style-01 td{
	vertical-align: top;
	text-align: left;
	padding: 0.2em 0.5em;
}

.tbl-th-just th{
    display: flex;
    justify-content: space-between;
}


/* ----------------------------------------------------------------------------------------------------
  ul ol
* --------------------------------------------------------------------------------------------------*/
.ul-style-01{
	margin: 0 0 0 1em;
}


/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/
footer{
	width: 960px;
	margin: 120px auto 0;/*132px auto 0*/
	padding-top: 52px;
	padding-bottom:95px;/*100*/
	position: relative;
	border-top: 1px solid #a3a3a3;
	
	display: flex;
	justify-content:space-between;
}
.footer-nav ul{
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer-nav ul li{
	display: inline;
}
.footer-nav ul li:first-child{
	display: none;
}
.footer-nav ul li:nth-child(2){
	border-left:none;
}
.footer-nav ul li a{
	padding: 0 14px;
	font-size: 1.2rem;
	border-left:1px solid #000;
}
.footer-nav ul li:nth-child(2) a{
	border-left:none;
	padding: 0 14px 0 0;
}
.footer-nav ul li a:hover{
	text-decoration: underline;
}
footer .copy{
	font-family: "FB Benton Sans Regular";
	font-size: 1.2rem;
}

/*pageTopIcon*/
.but-pagetop{
	width: 16px;
	position: fixed;
	bottom:86px;
	right:80px;
	cursor: pointer;
	z-index: 10;
}
.but-pagetop-typo{
	width: 16px;
	position: fixed;
	bottom:30px;
	right:80px;
	cursor: pointer;
	z-index: 10;
}

@media screen and (max-width: 768px){
	footer{
		width:auto;
		margin: 0 10px;
		padding-top: 40px;
		padding-bottom:30px;/*35px*/
		display:block;
	}
	.footer-nav ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 250px;
		margin: 0 auto 20px;
	}
	.footer-nav ul li:first-child{
		display: block;
	}
	.footer-nav ul li:first-child a,
	.footer-nav ul li:nth-child(3) a{
		border-left:none;
	}
	.footer-nav ul li a{
		padding: 0 14px;
		font-size: 1.2rem;
	}
	.footer-nav ul li:nth-child(2) a{
		padding: 0 14px;
		border-left:1px solid #000;
	}
	footer .copy{
		text-align: center;
		font-size: 0.8rem;
	}

	.but-pagetop,
    .but-pagetop-typo{
		right:10px;
	}
}


