@charset "UTF-8";

/* INTERFACE */

br.pc{
	display:none;
}

body>header{
	height:55px;
	background-color:#fff;
	box-shadow: 0 1px 10px rgba(0, 0, 0, .15);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	transition: transform 0.3s ease;
	z-index: 1000;
}

body>header.hide {
	transform: translateY(-100%);
}

body>header>div>h1,
body>header>div>a{
	display:block;
	margin:0;
	font-size:15px;
	line-height:1;
	position:absolute;
	top:19px;
	left:20px;
}

body>header>div>h1 img,
body>header>div>a img{
	width:200px;
	vertical-align:bottom;
}

body>header ul{
	width:100%;
	margin:0;
	padding:0;
	list-style-type:none;
	text-align:center;
	font-size:14px;
	line-height:1;
	background-color:#000;
	position:absolute;
	top:55px;
	left:0;
}

body>header ul li{
	border-top:1px solid #ddd;
}

body>header ul li a{
	display:block;
	padding:1.2em;
}

body>header ul li a:link,
body>header ul li a:visited{
	color:#fff;
}

#nav_sp{
	display:block;
	width:24px;
	height:20px;
	position:absolute;
	top:15px;
	right:20px;
	cursor:pointer;
}

#nav_sp span{
	display:block;
	margin:7px 0 7px;
	border-top:1px solid #000;
}

#nav_sp.open span:first-of-type{
	margin:7px 0 0;
	transform:rotate(45deg);
	transition-duration:0.5s;
}

#nav_sp.open span:last-of-type{
	margin:-1px 0 0;
	transform:rotate(-45deg);
	transition-duration:0.5s;
}

#nav_sp.close span:first-of-type{
	transition-duration:0.5s;
}

#nav_sp.close span:last-of-type{
	transition-duration:0.5s;
}

body>footer{
	border-top:5px solid #404040;
	text-align:center;
}

body>footer>div{
	padding:8% 5% 10%;
}

body>footer small{
	font-family:Verdana,sans-serif;
	font-size:9px;
	color:#555;
}

#footer_company{
	margin: 0 0 5em;
}

#footer_company p{
	font-size:3.5vw;
	font-weight:300;
}

#footer_company img:first-of-type{
	display: block;
	width: 25%;
	margin: 0 auto 5%;
}

#footer_company img:last-of-type{
	display: block;
	width: 68%;
	margin: 0 auto 8%;
}

#footer_nav>ul{
	margin:0;
	padding:0;
	list-style-type:none;
	text-align:left;
	font-size:3.5vw;
	font-weight:500;
}

#footer_nav>ul>div>li{
	padding:1.5em 0;
	border-bottom:1px solid #404040;
}

#footer_nav>ul>div:first-of-type>li:first-of-type{
	border-top:1px solid #404040;
}

#footer_nav>ul>div>li>a{
	display:block;
}

#footer_nav>ul>div>li>ul{
	margin:0;
	padding:0;
	list-style-type:none;
	text-align:left;
	font-size:3.5vw;
	font-weight:300;
}

#footer_nav>ul>div>li>ul>li{
	margin:0.8em 0;
}

#footer_nav>ul>div>li>ul>li:last-child{
	margin:0;
}

#footer_nav>ul>div>li>ul>li>a{
	display:block;
}

/* MATERIALS */

#home_contents_area h2{
	margin:0 0 1em;
	padding:2em 0 0.2em 1em;
	text-align:left;
	font-size:3.5vw;
	font-weight:300;
	line-height:1;
	border-left:1px solid #333;
}

#home_contents_area h2 span{
	display:block;
	margin:0 0 0.15em;
	font-family: "Roboto Condensed", sans-serif;
	font-size:10vw;
	font-weight:400;
}

#home_contents_area p{
	font-size:3.5vw;
	font-weight:300;
	line-height:1.7;
}

/* HOME */

#home_key_area{
	margin: 55px 0 0 ;
}

#home_key_area img{
	width:100%;
	vertical-align:bottom;
}

#home_key_area .lead{
	margin:0 0 10%;
	padding:5% 5% 0 0;
}

#home_key_area .lead img{
	width:80%;
}

#home_key_area .lead p{
	width:90%;
	margin:5% 0 0 auto;
	text-align:justify;
	font-size:3.5vw;
	line-height:1.8;
}

#home_bnr_area{
	padding:5% 5%;
	background-color:#f2f2f2;
}

#home_bnr_area section{
	width:100%;
	margin:3% 0;
}

#home_bnr_area section img{
	width:100%;
}

#news_area{
	margin:20% auto;
	padding:0 5%;
}

#news_area .title{
	margin:0 0 5%;
	text-align:right;
}

#news_index{
	width:100%;
	border-collapse:collapse;
}

#news_index th{
	display:block;
	padding:1.5em 0 0.4em;
	text-align:left;
	font-family: "Roboto Condensed", sans-serif;
	font-size:3.5vw;
	font-weight:400;
	color:#333;
}

#news_index th:last-of-type{
	margin:0 1em;
	padding:0.8em 0 0.5em;
}

#news_index td{
	display:block;
	padding:0 0 1.5em 1em;
	font-size:3.5vw;
	font-weight:300;
	border-bottom:1px solid #ddd;
}

#news_index span.news{
	display:inline-block;
	width:20vw;
	padding:0.6em 0;
	text-align:center;
	font-size:2.8vw;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#01b2b2;
}

#news_index span.dev{
	display:inline-block;
	width:20vw;
	padding:0.6em 0;
	text-align:center;
	font-size:2.8vw;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#eda000;
}

#home_mission_area{
	margin:0 0 20%;
}

#home_mission_area h2{
	margin:0 5% 1em;
}

#home_mission_area .title{
	margin:0 auto 8%;
	padding:0 5%;
	text-align:right;
}

#home_mission_area .title p{
	text-align:justify;
}

#home_mission_area .contents section{
	margin:0 0 8%;
}

#home_mission_area .contents section img{
	width:100%;
}

#home_mission_area .contents section div{
	position:relative;
}

#home_mission_area .contents section a:hover{
	opacity:0.5;
}

#home_mission_area .contents section h3{
	width:calc(100% - 20px);
	box-sizing:border-box;
	margin:0;
	padding:12px 40px 12px 0;
	font-size:4.5vw;
	font-weight:500;
	line-height:1;
	color:#fff;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
	background-image:url("../img/interface/ico_arrow02.png");
	background-repeat:no-repeat;
	background-size:40px;
	background-position:right 20px center;
	position:absolute;
	bottom:20px;
	left:20px;
}

#home_mission_area .contents section p{
	margin:0.4em 1em;
	text-align:justify;
	font-size:3.5vw;
	line-height:1.5;
}

@media only screen and (max-width:1000px){
}

#home_quality_area{
	padding:15% 5%;
	background-color:#f2f2f2;
}

#home_quality_area .title{
	margin:0 0 8%;
	text-align:right;
}

#home_quality_area .title p{
	margin:1.5em 0;
	text-align:justify;
}

#home_quality_area .contents section{
	margin:0 0 8%;
}

#home_quality_area .contents section img{
	width:100%;
}

#home_quality_area .contents section div{
	position:relative;
}

#home_quality_area .contents section a:hover{
	opacity:0.5;
}

#home_quality_area .contents section h3{
	width:calc(100% - 20px);
	box-sizing:border-box;
	margin:0;
	padding:12px 40px 12px 0;
	font-size:4.5vw;
	font-weight:500;
	line-height:1;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
	color:#fff;
	background-image:url("../img/interface/ico_arrow02.png");
	background-repeat:no-repeat;
	background-size:40px;
	background-position:right 20px center;
	position:absolute;
	bottom:20px;
	left:20px;
}

#home_quality_area .contents section p{
	margin:0.5em 1em;
	text-align:justify;
}

#home_products_area{
	padding:20% 5%;
	background-image:url("../img/bg_products.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_products_area .title{
	margin:0 0 10%;
	text-align:right;
}

#home_products_area .title p{
	margin:1.5em 0;
	text-align:justify;
}

#home_products_area h3{
	margin:0 0 0.5em;
	text-align:center;
	font-size:4.5vw;
	font-weight:400;
	line-height:1;
}

#home_products_area h4{
	margin:0.7em 0;
	font-size:4vw;
	font-weight:500;
	line-height:1;
}

#home_products_area p{
	margin:0 0 1em;
	text-align:justify;
}

#home_products_area p.lead{
	margin:0 0 2em;
	text-align:center;
	font-size:3vw;
}

#home_products_area .contents{
	padding:8% 5% 5%;
	background-color:#f2f2f2;
	box-shadow:0px 5px 10px rgba(0, 0, 0, 0.2);
}

#home_products_area .contents section{
	margin:1em 0;
}

#home_products_area .contents section img{
	width:100%;
}

#home_vision_area{
	margin:20% auto;
	padding:0 5%;
}

#home_vision_area .title{
	margin:0 auto 5%;
	text-align:right;
}

#home_vision_area .contents img{
	width:100%;
}

#home_vision_area .contents ul{
	margin:0 0 2em;
	padding:0;
	list-style-type:none;
	font-size:4.2vw;
	font-weight:300;
}

#home_vision_area .contents ul li{
	border-bottom:1px solid #ddd;
}

#home_vision_area .contents ul li a{
	display:block;
	padding:1.5em;
	background-image:url("../img/interface/ico_arrow03.png");
	background-repeat:no-repeat;
	background-size:40px;
	background-position:right 1.5em center;
}

#home_vision_area .contents ul li a:hover{
	background-position:right 1em center;
	transition:all 0.2s;
}

#home_recruit_area{
	padding:15% 5%;
	background-color:#000;
	text-align:center;
}

#home_recruit_area h2{
	color:#fff;
	border-left:1px solid #fff;
}

#home_recruit_area h2 span{
	display:block;
	margin:0 0 0.2em;
	padding:0;
}

#home_recruit_area p{
	margin:3em 0;
	text-align:justify;
	color:#fff;
}

/* INDEX */
#sub_index_area {
	margin: 55px 0 0;
}


#sub_index_area p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.7;
}

#sub_index_area p.note{
	font-size:3vw;
	line-height:1.5;
}

#sub_index_key{
	padding:5% 5% 0;
	text-align:center;
	background-image:url("../img/interface/bg_gray.png");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#sub_index_key h1{
	margin:0 0 1.5em;
	padding:2em 0 0.2em 1em;
	text-align:left;
	font-size:3.5vw;
	font-weight:300;
	line-height:1;
	color:#fff;
	border-left:1px solid #ddd;
}

#sub_index_key.company{
	padding:5%;
	background-size:120%;
}

#sub_index_key.company h1{
	margin:0;
}

#sub_index_key h1 span{
	display:block;
	margin:0 0 0.15em;
	font-family: "Roboto Condensed", sans-serif;
	font-size:10vw;
	font-weight:400;
}

#sub_index_key img{
	width:100%;
	vertical-align:bottom;
}

#sub_index_lead{
	padding:10% 5%;
}

#sub_index_lead h2{
	margin:0 0 1.5em;
	font-size:6vw;
	font-weight:400;
	line-height:1.3;
}

#sub_index_list{
	padding:12% 5% 5%;
	background-color:#f2f2f2;
}

#sub_index_list section{
	margin:0 auto 12%;
}

#sub_index_list section>a img{
	width:100%;
	margin:0 0 0.5em;
}

#sub_index_list section a.btn_more{
	display:table;
	margin:0 auto;
}

#sub_index_list section h2{
	margin:0 0 1em;
	text-align:center;
	font-size:4vw;
	font-weight:400;
	line-height:1.2;
}

#sub_index_list section h2 span{
	font-size:6vw;
	font-weight:500;
}

#company_index_list{
	padding:10% 5% 5%;
	background-color:#f2f2f2;
}

#company_index_list section{
	margin:0 auto 10%;
}

#company_index_list h2{
	margin:0 0 1em;
	font-family: "Playfair Display", serif;
	font-size:8vw;
	font-weight:300;
}

#company_index_list h3{
	margin:0.2em 0 0;
	text-align:center;
	font-size:4.5vw;
	font-weight:300;
	line-height:1.2;
}

#company_index_list ul{
	margin:0;
	padding:0;
	list-style-type:none;
}

#company_index_list ul.two li{
	margin:0 0 5%;
}

#company_index_list ul.three li{
	margin:0 0 10%;
}

#company_index_list ul.three li a{
	color:#333;
}

#company_index_list ul img{
	width:100%;
}

#sub_detail_area{
	background-color:#f2f2f2;
	margin: 55px 0 0;
}

#sub_detail_key{
	padding:5% 5% 15%;
	background:linear-gradient(to bottom, #333333 30%, #101010 100%);
}

#sub_detail_key>a{
	display:block;
	margin:0 auto;
	font-size:3.2vw;
	font-weight:300;
	line-height:1;
	color:#fff;
}

#sub_detail_key>a span{
	display:block;
	margin:0 0 5px;
	font-family: "Roboto Condensed", sans-serif;
	font-size:8vw;
	font-weight:400;
}

#sub_detail_contents{
	padding:0 5% 10%;
}

#sub_detail_contents>div{
	margin:-10% auto 0;
	padding:10% 7%;
	background-color:#fff;
}

#detail_nav{
	padding:15% 0;
	border-top:1px solid #808080;
}

#detail_nav h2{
	margin:0 0 0.5em;
	font-family: "Roboto Condensed", sans-serif;
	font-size:7vw;
	font-weight:500;
}

#detail_nav ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:4vw;
	font-weight:300;
}

#detail_nav li{
	padding:0.5em 0;
	border-bottom:1px solid #ddd;
}

#detail_nav ul li a{
	display:block;
	padding:1em 3em 1em 0;
	background-image:url("../img/interface/ico_arrow03.png");
	background-repeat:no-repeat;
	background-size:6.5vw;
	background-position:right center;
}

#detail_nav.products ul li a{
	display:block;
	padding:1em 0;
	background-image:none;
	overflow:hidden;
}

#detail_nav.products ul li a img{
	width:20%;
	float:left;
	margin:0 0.8em 0 0;
}

#detail_contents{
	margin:0 0 40%;
}

#detail_contents section{
	margin:0 0 20%;
}

#detail_contents h1{
	margin:0;
	font-size:7.2vw;
	font-weight:400;
	line-height:1.2;
}

#detail_contents h2{
	margin:1em 0;
	font-size:5vw;
	font-weight:500;
	line-height:1.2;
}

#detail_contents h3{
	margin:2em 0 1em;
	font-size:4.5vw;
	font-weight:400;
	line-height:1.2;
}

#detail_contents p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.7;
}

#detail_contents p em{
	font-style:normal;
	font-size:3.7vw;
	font-weight:500;
}

#detail_contents p.lead{
	display:inline-block;
	margin:0.7em 0 5em;
	padding:0.5em 1em 0.7em;
	font-size:3.2vw;
	font-weight:400;
	line-height:1.4;
	color:#fff;
	background-color:#000;
}

#detail_contents p.note{
	font-size:3vw;
	line-height:1.5;
}

#detail_contents ul{
	margin:0 0 1.5em;
	padding:0 0 0 2em;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.7;
}

#detail_contents img{
	width:100%;
	vertical-align:bottom;
	margin:0 0 1.5em;
	font-size:3.2vw;
}

#detail_contents a.btn_more{
	display:table;
	margin:0 auto;
}

#detail_contents.message h1{
	margin:0.2em 0 1em;
}

#detail_contents.message section{
	text-align:center;
}

#detail_contents.message section>div{
	margin:0 0 3em;
}

#detail_contents.message section img{
	width:90%;
}

#detail_contents.message p.sign{
	display:table;
	margin:2em 0 0 auto;
}

#detail_contents.message p.sign span{
	font-family: "Shippori Mincho", serif;
	font-size:4.5vw;
	line-height:1.4;
}

#detail_contents.company h1{
	margin:0.2em 0 1em;
}

#detail_contents p.catch{
	margin:0 0 1em;
	font-family: "Shippori Mincho", serif;
	font-size:5vw;
	line-height:1.2;
}

#detail_contents img.margin{
	margin:2em 0 0;
}

#detail_contents .frame{
	margin:0 0 2em;
	padding:5%;
	border:1px solid #ddd;
	background-color:#f6f6f6;
}

#detail_contents .frame ul li{
	margin:1em 0;
	font-size:3.7vw;
}

table#companyprofile{
	width:100%;
	border-collapse:collapse;
	border-top:1px dotted #ddd;
}

table#companyprofile th{
	display:block;
	padding:1.5em 0 0.5em;
	text-align:left;
	font-size:3.5vw;
	font-weight:400;
	color:#333;
}

table#companyprofile td{
	display:block;
	padding:0 0 1.5em 1em;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.6;
	border-bottom:1px dotted #ddd;
}

table#companyprofile td p{
	margin:0 0 1em;
}

table#companyprofile td b{
	font-weight:500;
}

#detail_contents table.basic{
	width:100%;
	border-collapse:collapse;
	border-top:1px dotted #ddd;
}

#detail_contents table.basic th{
	display:block;
	padding:1.5em 0 0.5em;
	text-align:left;
	font-size:3.5vw;
	font-weight:400;
	color:#333;
}

#detail_contents table.basic td{
	display:block;
	padding:0 0 1.5em 1em;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.6;
	border-bottom:1px dotted #ddd;
}

#detail_contents table.basic td p{
	margin:0 0 1em;
}

#detail_contents table.basic td b{
	font-weight:500;
}

#detail_contents #contact_btn{
	margin:0 0 20%;
	padding:8%;
	border:3px solid #59ded5;
	border-radius:10px;
	text-align:center;
}

#detail_contents #contact_btn h2{
	margin:0 0 1em;
}

#detail_contents #contact_btn p{
	text-align:center;
	font-size:3.4vw;
}

#detail_contents #contact_btn a.tel{
	font-family: "Roboto Condensed", sans-serif;
	font-size:9vw;
}


#sub_index_lead ul{
	margin:0 0 1.5em;
	padding:0 0 0 2em;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.7;
}

#sub_index_lead .frame{
	margin:0 0 2em;
	padding:5%;
	border:1px solid #ddd;
	background-color:#f6f6f6;
}

#sub_index_lead .frame ul li{
	margin:1em 0;
	font-size:3.7vw;
}

#company_index_list.policy h2{
	margin:2em 0 1em;
	font-family: "Noto Sans JP", sans-serif;
	font-size:6vw;
}


#detail_contents .timeline_table{
	width:100%;
	border-collapse:collapse;
}

#detail_contents .timeline_table th{
	padding:25px 20px 20px 0;
	vertical-align:top;
	text-align:left;
	font-family: "Roboto Condensed", sans-serif;
	font-size:4.5vw;
	font-weight:500;
	font-style:italic;
	line-height:1.1;
	color:#333;
	border-right:4px solid #ccc;
	position:relative;
}

#detail_contents .timeline_table th>img{
	width:20px;
	vertical-align:bottom;
	position:absolute;
	right:-12px;
	top:30px;
}

#detail_contents .timeline_table td{
	display:block;
	margin:20px 0 0 30px;
	padding:20px;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.5;
	background-color:#f2f2f2;
}

#detail_contents .timeline_table tr:last-child td{
	margin:20px 0 45px 30px;
}

#detail_contents .timeline_table td>div{
	position:relative;
}

#detail_contents .timeline_table td>div>img{
	width:20px;
	position:absolute;
	left:-35px;
}

#detail_contents .timeline_table td>img{
	width:100%;
	vertical-align:bottom;
	margin:1em 0 0;
}

@media only screen and (max-width:600px){
	#detail_contents .timeline_table th{
		padding:28px 20px 20px 0;
	}
}

#company_news_list{
	padding:10% 5% 5%;
	background-color:#f2f2f2;
}

#company_news_list section{
	margin:0 auto 10%;
}

#company_news_list h2{
	margin:0 0 1em;
	font-family: "Playfair Display", serif;
	font-size:8vw;
	font-weight:300;
}


#news_detail_contents{
	padding:5%;
	background:linear-gradient(to bottom, #e7e7e7 0%, #fff 100%);
}

#news_detail_contents>p{
	margin:0;
	font-family: "Playfair Display", serif;
	font-size:10vw;
	line-height:1;
	color:#fff;
}

#news_contents{
	margin:0 auto 20%;
	padding:5%;
	box-sizing:border-box;
	background-color:#fff;
	position:relative;
	top:-5px;
}

#news_contents section{
	margin:10% 0;
}

#news_contents a.btn_more{
	display:table;
	margin:0 auto;
}

#news_contents time{
	font-family: "Roboto Condensed", sans-serif;
	font-size:3.5vw;
	font-weight:300;
	color:#70777f;
}

#news_contents span.news{
	width:20vw;
	display:inline-block;
	padding:0.5em 0.5em 0.7em;
	text-align:center;
	font-size:3vw;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#01b2b2;
}

#news_contents span.dev{
	display:inline-block;
	width:20vw;
	padding:0.5em 0 0.7em;
	text-align:center;
	font-size:3vw;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#eda000;
}

#news_contents figure{
	margin:1.5em 0;
	text-align:center;
	font-size:3.5vw;
}

#news_contents figure figcaption {
	font-size:3vw;
	font-weight:300;
	line-height:1.8;
}

#news_contents img{
	width:100%;
}

#news_contents img.small{
	width:70%;
}

#news_contents h1{
	margin:0.3em 0 0.5em;
	font-size:7vw;
	font-weight:500;
	line-height:1.2;
}

#news_contents h2{
	margin:0 0 1em;
	font-size:5vw;
	font-weight:500;
	line-height:1.3;
}

#news_contents h3{
	margin:2em 0 0.5em;
	font-size:4vw;
	font-weight:400;
	line-height:1.3;
}

#news_contents h4{
	margin:2em 0 0.5em;
	font-size:3.5vw;
	font-weight:400;
	line-height:1.3;
}

#news_contents p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.8;
}

#news_contents p.note{
	font-size:3vw;
	line-height:1.6;
}

#news_contents table{
	margin:1.5em 0;
	border-collapse:collapse;
	font-size:3.5vw;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
}

#news_contents table th{
	padding:1em;
	text-align:left;
	font-weight:400;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}

#news_contents table td{
	padding:1em;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}

#news_contents a.link{
	display:inline-block;
	margin:0.5em 0;
	padding:0 0 0 1em;
	background-image:url("../img/interface/ico_arrow04.png");
	background-repeat:no-repeat;
	background-size:0.5em;
	background-position:left top 0.6em;
}

#news_contents ol,
#news_contents ul{
	margin: 0 0 1.5em;
	padding: 0 0 0 1em;
}

#news_contents li{
	text-align:justify;
	font-size:3.5vw;
	font-weight:300;
	line-height:1.8;
}