@charset "UTF-8";

/* INTERFACE */

br.sp{
	display:none;
}

body>header{
	height:85px;
	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{
	max-width:1400px;
	margin:0 auto;
	position:relative;
}

body>header>div>h1,
body>header>div>a{
	display:block;
	margin:0;
	font-size:15px;
	line-height:1;
	position:absolute;
	top:30px;
	left:40px;
}

body>header>div>h1 img,
body>header>div>a img{
	width:260px;
	vertical-align:bottom;
}

body>header ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:14px;
	font-weight:300;
	line-height:1;
	position:absolute;
	top:36px;
	right:40px;
}

body>header ul li{
	float:left;
	margin:0 0 0 35px;
}

body>header ul li a:link,
body>header ul li a:visited{
	color:#333;
}

body>header ul li.contact_btn a{
	padding:0.6em 2em;
	color:#fff;
	background-color:#000;
}

body>header ul li.contact_btn a:hover{
	transition-duration: 0.2s;
	opacity: 0.7;
}

@media only screen and (max-width:1200px){
	body>header>div>h1,
	body>header>div>a{
		top:32px;
		left:30px;
	}
	body>header>div>h1 img,
	body>header>div>a img{
		width:220px;
	}
	body>header ul{
		font-size:14px;
		right:30px;
	}
	body>header ul li{
		margin:0 0 0 30px;
	}
}

@media only screen and (max-width:1100px){
	body>header{
		height:105px;
	}
	
	body>header>div>h1,
	body>header>div>a{
		top:20px;
		left:20px;
	}
	
	body>header ul{
		top:60px;
		right:20px;
		font-size:13px;
	}
	body>header ul li{
		margin:0 0 0 20px;
	}
}

body>footer{
	border-top:6px solid #404040;
	text-align:center;
}

body>footer>div{
	max-width: 1000px;
	padding:8% 5% 0;
	margin: 0 auto;
	display: flex;
	gap: 5em;
	justify-content: space-between;
}

body>footer small{
	display: block;
	font-family:Verdana,sans-serif;
	font-size:10px;
	color:#555;
	margin: 5% 0;
}

#footer_company{
	text-align:left;
}

#footer_company p{
	font-size:15px;
	font-weight:300;
}

#footer_company img:first-of-type{
	display: block;
	width: 100px;
	margin: 0 0 7%;
}

#footer_company img:last-of-type{
	display: block;
	width: 250px;
	margin: 0 0 15%;
}

#footer_nav>ul{
	margin:0;
	padding:0;
	list-style-type:none;
	display: flex;
	gap: 3em;
	justify-content: space-between;
	text-align:left;
	font-size:15px;
	font-weight:500;
}

#footer_nav>ul>div>li{
	margin:0 0 2em;
	break-inside:avoid;
}

#footer_nav>ul>div>li>ul{
	margin:0;
	padding:0;
	list-style-type:none;
	text-align:left;
	font-size:15px;
	font-weight:300;
}

#footer_nav>ul>div>li>ul>li{
	margin:1em 0;
}

@media only screen and (max-width:1000px){
	body>footer>div{
		flex-direction: column;
		gap: 50px;
	}
	#footer_company{
		padding: 0 0 30px;
		border-bottom:1px solid #404040;
	}
	#footer_company{
		text-align:center;
	}
	#footer_company img:first-of-type{
		margin: 0 auto 3%;
	}
	#footer_company img:last-of-type{
		margin: 0 auto 5%;
	}
}

/* MATERIALS */

#home_contents_area h2{
	margin:0;
	padding:10px 0;
	font-size:18px;
	font-weight:300;
	line-height:1;
}

#home_contents_area h2 span{
	display:inline-block;
	margin:0 0.7em 0 0;
	padding:0.2em 0.7em 0.2em 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size:45px;
	font-weight:400;
	border-right:1px solid #333;
}

#home_contents_area p{
	font-size:15px;
	font-weight:300;
	line-height:1.7;
}

@media only screen and (max-width:1000px){
	#home_contents_area h2{
		font-size:15px;
	}
	
	#home_contents_area h2 span{
		margin:0 0.5em 0 0;
		padding:0.2em 0.5em 0.2em 0;
		font-size:35px;
	}
}


/* HOME */

#home_key_area {
	margin: 85px 0 0 ;
}

#home_key_area img{
	width:100%;
	vertical-align:bottom;
}

#home_key_area .lead{
	max-width:1200px;
	margin:0 auto;
	padding:0 5%;
	display:flex;
	justify-content:space-between;
}

#home_key_area .lead img{
	width:40%;
	position:relative;
	top:-80px;
}

#home_key_area .lead p{
	width:55%;
	margin:40px 0 0;
	text-align:justify;
	font-size:18px;
	line-height:2.1;
}

#home_bnr_area{
	display:flex;
	justify-content:center;
	padding:3% 4%;
	background-color:#f2f2f2;
}

#home_bnr_area section{
	max-width:600px;
	width:48%;
	padding:0 1%;
}

#home_bnr_area section img{
	width:100%;
}

#home_bnr_area section a:hover{
	opacity:0.7;
	transition:0.3s;
}

@media only screen and (max-width:1100px){
	#home_key_area {
		margin: 105px 0 0 ;
	}

	#home_key_area .lead img{
		top:-50px;
	}
	
	#home_key_area .lead p{
		margin:30px 0 0;
		font-size:16px;
		line-height:1.9;
	}
}

#news_area{
	max-width:1000px;
	margin:10% auto;
	padding:0 5%;
}

#news_area .title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:0 0 4%;
}

#news_index{
	width:100%;
	border-collapse:collapse;
}

#news_index th{
	padding:2em;
	text-align:left;
	font-family: "Roboto Condensed", sans-serif;
	font-size:15px;
	font-weight:400;
	color:#333;
	border-bottom:1px solid #ddd;
	white-space:nowrap;
}

#news_index th:last-of-type{
	padding:0;
}

#news_index td{
	padding:2em;
	font-size:15px;
	font-weight:300;
	border-bottom:1px solid #ddd;
}

#news_index span.news{
	width:80px;
	display:inline-block;
	padding:0.5em 1em;
	text-align:center;
	font-size:13px;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#01b2b2;
}

#news_index span.dev{
	width:80px;
	display:inline-block;
	width:100px;
	padding:0.5em 0;
	text-align:center;
	font-size:13px;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#eda000;
}

#home_mission_area{
	margin:0 0 10%;
}

#home_mission_area h2{
	max-width:1000px;
	margin:0 auto;
	padding:0 5%;
}

#home_mission_area .title{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	max-width:1000px;
	margin:2% auto 5%;
	padding:0 5%;
}

#home_mission_area .title p{
	width:70%;
	margin:0;
	text-align:justify;
	font-size:16px;
}

#home_mission_area .contents{
	display:flex;
	max-width:1400px;
	margin:0 auto;
}

#home_mission_area .contents section{
	width:33.3333333333333%;
	box-sizing:border-box;
	border-right:1px solid #fff;
}

#home_mission_area .contents section:last-of-type{
	border-right:none;
}

#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:18px;
	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 top;
	position:absolute;
	bottom:20px;
	left:20px;
}

#home_mission_area .contents section p{
	margin:0.5em 1em;
	text-align:justify;
	font-size:15px;
	line-height:1.5;
}

@media only screen and (max-width:1000px){
	#home_mission_area .contents section h3{
		font-size:17px;
		background-size:30px;
	}
}

#home_quality_area{
	padding:10% 5%;
	background-color:#f2f2f2;
}

#home_quality_area>div{
	max-width:1000px;
	margin:0 auto;
}

#home_quality_area .title{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	margin:3% 0 8%;
}

#home_quality_area .title p{
	width:70%;
	margin:0;
	text-align:justify;
	font-size:16px;
}

#home_quality_area .contents{
	display:flex;
	flex-wrap:wrap;
	width:calc(100% + 4%);
	position:relative;
	left:-2%;
}

#home_quality_area .contents section{
	width:50%;
	box-sizing:border-box;
	margin:0 0 4%;
	padding:0 2%;
}

#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:18px;
	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 top;
	position:absolute;
	bottom:20px;
	left:20px;
}

#home_quality_area .contents section p{
	margin:0.5em 1em;
	text-align:justify;
}

@media only screen and (max-width:1000px){
	#home_quality_area .title p{
		font-size:15px;
	}
	#home_quality_area .contents section h3{
		font-size:17px;
		background-size:30px;
	}
}

#home_products_area{
	padding:10% 5%;
	background-image:url("../img/bg_products.jpg");
	background-repeat:no-repeat;
	background-size:cover;
	background-position:top center;
}

#home_products_area>div{
	max-width:1000px;
	margin:0 auto;
}

#home_products_area .title{
	margin:3% 0 10%;
}

#home_products_area .title p{
	width:55%;
	margin:0 0 3em;
	text-align:justify;
	font-size:16px;
}

#home_products_area h3{
	margin:0 0 0.5em;
	text-align:center;
	font-size:25px;
	font-weight:400;
	line-height:1;
}

#home_products_area h4{
	margin:0.7em 0;
	font-size:17px;
	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;
}

#home_products_area .contents{
	padding:5% 3%;
	background-color:#f2f2f2;
	box-shadow:0px 5px 20px rgba(0, 0, 0, 0.2);
}

#home_products_area .contents>div{
	display:flex;
	flex-wrap:wrap;
}

#home_products_area .contents section{
	width:50%;
	box-sizing:border-box;
	padding:0 1%;
}

#home_products_area .contents section img{
	width:100%;
}

#home_products_area .contents section a:hover{
	opacity:0.7;
	transition:0.3s;
}

#home_vision_area{
	margin:10% auto 15%;
	max-width:1000px;
	padding:0 5%;
}

#home_vision_area .title{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin:0 auto 4%;
}

#home_vision_area .contents{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
}

#home_vision_area .contents img{
	width:50%;
}

#home_vision_area .contents ul{
	width:45%;
	box-sizing:border-box;
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:18px;
	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:5%;
	background-color:#000;
	text-align:center;
}

#home_recruit_area h2{
	color:#fff;
}

#home_recruit_area h2 span{
	display:block;
	margin:0 0 0.2em;
	padding:0;
	border-right:none;
}

#home_recruit_area p{
	margin:3em 0;
	font-size:16px;
	color:#fff;
}

/* INDEX */

#sub_index_area {
	margin: 85px 0 0;
}


#sub_index_area p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:16px;
	font-weight:300;
	line-height:1.8;
}

#sub_index_area p.note{
	font-size:14px;
	line-height:1.6;
}

#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.company{
	padding:5%;
}

#sub_index_key h1{
	max-width:1200px;
	margin:0 auto 1em;
	padding:10px 0;
	text-align:left;
	font-size:20px;
	font-weight:300;
	line-height:1;
	color:#fff;
}

#sub_index_key h1 span{
	display:inline-block;
	margin:0 0.7em 0 0;
	padding:0.2em 0.7em 0.2em 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size:50px;
	font-weight:400;
	border-right:1px solid #ddd;
}

#sub_index_key img{
	max-width:1200px;
	width:100%;
	vertical-align:bottom;
}

@media only screen and (max-width:1100px){
	#sub_index_area {
		margin: 105px 0 0;
	}
}

@media only screen and (max-width:1000px){
	#sub_index_key h1{
		font-size:17px;
	}
	
	#sub_index_key h1 span{
		font-size:47px;
	}
}

@media only screen and (max-width:900px){
	#sub_index_key h1{
		font-size:16px;
	}
	
	#sub_index_key h1 span{
		font-size:40px;
	}
}

@media only screen and (max-width:800px){
	#sub_index_key h1{
		font-size:15px;
	}
	
	#sub_index_key h1 span{
		margin:0 0.5em 0 0;
		padding:0.2em 0.5em 0.2em 0;
	}
}

#sub_index_lead{
	max-width:1000px;
	margin:0 auto;
	padding:5%;
}

#sub_index_lead h2{
	margin:0 0 2em;
	font-size:35px;
	font-weight:400;
	line-height:1.3;
}

#sub_index_list{
	padding:10% 5% 5%;
	background-color:#f2f2f2;
}

#sub_index_list section{
	max-width:1200px;
	margin:0 auto 5%;
	display:flex;
	justify-content:space-between;
}

#sub_index_list section>a{
	width:50%;
}

#sub_index_list section>a img{
	width:100%;
}

#sub_index_list section>div{
	width:45%;
}

#sub_index_list section h2{
	margin:0 0 1.5em;
	font-size:25px;
	font-weight:400;
	line-height:1.3;
}

#sub_index_list section h2 span{
	font-size:45px;
	font-weight:500;
}

#sub_index_list.products section h2 span{
	font-size:38px;
	font-weight:500;
}

#sub_index_list section p{
	margin:0 0 2em;
}

#company_index_list{
	padding:8% 5% 5%;
	background-color:#f2f2f2;
}

#company_index_list section{
	max-width:1200px;
	margin:0 auto 10%;
}

#company_index_list h2{
	margin:0 0 1.5em;
	font-family: "Playfair Display", serif;
	font-size:40px;
	font-weight:300;
}

#company_index_list h3{
	margin:0.4em 0 0;
	text-align:center;
	font-size:20px;
	font-weight:300;
	line-height:1.2;
}

#company_index_list ul{
	margin:0;
	padding:0;
	list-style-type:none;
	display:flex;
	justify-content:space-between;
}

#company_index_list ul.two li{
	width:48%;
}

#company_index_list ul.three li{
	width:31%;
}

#company_index_list ul li a{
	color:#333;
}

#company_index_list ul li a:hover{
	opacity:0.8;
}

#company_index_list ul img{
	width:100%;
}


@media only screen and (max-width:1000px){
	#sub_index_list section{
		margin:0 auto 8%;
	}
}

@media only screen and (max-width:850px){
	#sub_index_list section h2{
		margin:0 0 1em;
	}
	
	#sub_index_list section h2 span{
		font-size:40px;
	}
	
	#sub_index_list section p{
		font-size:15px;
		line-height:1.7;
	}
}

#sub_detail_area{
	background-color:#f2f2f2;
	margin: 85px 0 0;
}

#sub_detail_key{
	padding:3% 5% 10%;
	background:linear-gradient(to bottom, #333333 0%, #101010 100%);
}

#sub_detail_key>a{
	display:block;
	max-width:1400px;
	margin:0 auto;
	font-size:15px;
	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:42px;
	font-weight:400;
}

#sub_detail_contents{
	padding:0 5% 10%;
}

#sub_detail_contents>div{
	box-sizing:border-box;
	max-width:1400px;
	margin:-7% auto 0;
	padding:5% 5% 10%;
	background-color:#fff;
	display:flex;
	justify-content:space-between;
}

#detail_nav{
	width:25%;
	box-sizing:border-box;
	padding:3% 0 0 4%;
	border-left:1px solid #808080;
}

#detail_nav h2{
	margin:0 0 0.5em;
	font-family: "Roboto Condensed", sans-serif;
	font-size:30px;
	font-weight:500;
}

#detail_nav ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:17px;
	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:35px;
	background-position:right center;
}

#detail_nav.products ul li a{
	display:block;
	padding:0.5em 0;
	background-image:none;
	overflow:hidden;
}

#detail_nav.products ul li a img{
	width:70px;
	float:left;
	margin:0 0.8em 0 0;
}

@media only screen and (max-width:1100px){
	#sub_detail_area{
		margin: 105px 0 0;
	}
}

@media only screen and (max-width:1050px){
	#detail_nav.products ul li a img{
		width:60px;
	}
}

#detail_contents{
	width:70%;
}

#detail_contents section{
	margin:0 0 15%;
}

#detail_contents h1{
	margin:0.2em 0 0;
	font-size:50px;
	font-weight:400;
	line-height:1.2;
}

#detail_contents h2{
	margin:1em 0;
	font-size:30px;
	font-weight:500;
	line-height:1.2;
}

#detail_contents h3{
	margin:2em 0 1em;
	font-size:24px;
	font-weight:400;
	line-height:1.2;
}

#detail_contents p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:15px;
	font-weight:300;
	line-height:1.7;
}

#detail_contents p em{
	font-style:normal;
	font-size:16px;
	font-weight:500;
}

#detail_contents p.lead{
	display:inline-block;
	margin:1em 0 7em;
	padding:0.5em 1em;
	font-size:14px;
	font-weight:400;
	line-height:1.4;
	color:#fff;
	background-color:#000;
}

#detail_contents p.note{
	font-size:14px;
	line-height:1.6;
}

#detail_contents ul{
	margin:0 0 1.5em;
	padding:0 0 0 2em;
	font-size:15px;
	font-weight:300;
	line-height:1.7;
}

#detail_contents img{
	width:100%;
	vertical-align:bottom;
	margin:0 0 2em;
	font-size:14px;
}

#detail_contents a.btn_more{
	display:table;
	margin:0 auto;
}

#detail_contents.message h1{
	margin:0.2em 0 1.5em;
	font-size:45px;
}

#detail_contents.message section{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
}

#detail_contents.message section>div{
	width:58%;
}

#detail_contents.message section img{
	width:37%;
}

#detail_contents.message p{
	font-size:16px;
	line-height:1.8;
}

#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:20px;
	line-height:1.4;
}

#detail_contents.company h1{
	margin:0.2em 0 1.5em;
	font-size:45px;
}

#detail_contents.company p{
	font-size:16px;
	line-height:1.8;
}

#detail_contents.company p.note{
	font-size:14px;
	line-height:1.6;
}

#detail_contents p.catch{
	margin:0 0 1em;
	font-family: "Shippori Mincho", serif;
	font-size:22px;
	line-height:1.2;
}

#detail_contents img.margin{
	margin:2em 0 0;
}

#detail_contents .frame{
	margin:0 0 2em;
	padding:3%;
	border:1px solid #ddd;
	background-color:#f6f6f6;
}

#detail_contents .frame ul li{
	margin:1em 0;
	font-size:16px;
}

#detail_contents p.catch{
	margin:0 0 1em;
	font-family: "Shippori Mincho", serif;
	font-size:22px;
	line-height:1.2;
}

table#companyprofile{
	width:100%;
	border-collapse:collapse;
	border-top:1px dotted #ddd;
}

table#companyprofile th{
	padding:2em;
	font-size:15px;
	font-weight:300;
	color:#333;
	border-bottom:1px dotted #ddd;
	white-space:nowrap;
}

table#companyprofile td{
	padding:2em;
	font-size:15px;
	font-weight:300;
	line-height:1.6;
	border-bottom:1px dotted #ddd;
}

#detail_contents table#companyprofile td p{
	margin:0 0 1em;
	font-size:15px;
}

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{
	padding:2em;
	font-size:15px;
	font-weight:300;
	color:#333;
	border-bottom:1px dotted #ddd;
	white-space:nowrap;
}

#detail_contents table.basic td{
	padding:2em;
	font-size:15px;
	font-weight:300;
	line-height:1.6;
	border-bottom:1px dotted #ddd;
}

#detail_contents table.basic td p{
	margin:0 0 1em;
	font-size:15px;
}

#detail_contents table.basic td b{
	font-weight:500;
}

#detail_contents #contact_btn{
	margin:0 0 10%;
	padding:6%;
	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;
}

#detail_contents #contact_btn a.tel{
	font-family: "Roboto Condensed", sans-serif;
	font-size:55px;
}


@media only screen and (max-width:1200px){
	#detail_contents.message section>div{
		width:53%;
	}
	
	#detail_contents.message section img{
		width:42%;
	}
	
	#detail_contents.message p{
		font-size:15px;
		line-height:1.7;
	}
}

@media only screen and (max-width:1023px){
	#detail_contents.message section{
		display:block;
		text-align:center;
	}

	#detail_contents.message section>div{
		width:100%;
		margin:0 0 4em;
	}
	
	#detail_contents.message section img{
		width:60%;
	}
	
	table#companyprofile th{
		padding:2em 0;
	}
	
	table#companyprofile td{
		padding:2em 0 2em 2em;
	}
}

#sub_index_lead ul{
	margin:0 0 1.5em;
	padding:0 0 0 2em;
	font-size:15px;
	font-weight:300;
	line-height:1.7;
}

#sub_index_lead .frame{
	margin:0 0 2em;
	padding:3%;
	border:1px solid #ddd;
	background-color:#f6f6f6;
}

#sub_index_lead .frame ul li{
	margin:1em 0;
	font-size:16px;
}

#company_index_list.policy h2{
	margin:2em 0 1em;
	font-family: "Noto Sans JP", sans-serif;
	font-size:30px;
}


#detail_contents .timeline_table{
	width:100%;
	border-collapse:collapse;
}

#detail_contents .timeline_table th{
	padding:30px 30px 30px 0;
	vertical-align:top;
	text-align:left;
	font-family: "Roboto Condensed", sans-serif;
	font-size:40px;
	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:25px;
	vertical-align:bottom;
	position:absolute;
	right:-14px;
	top:40px;
}

#detail_contents .timeline_table td{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	margin:30px 0 0 45px;
	padding:20px;
	font-size:15px;
	font-weight:300;
	line-height:1.7;
	background-color:#f2f2f2;
}

#detail_contents .timeline_table tr:last-child td{
	margin:30px 0 45px 45px;
}

#detail_contents .timeline_table td>div{
	position:relative;
}

#detail_contents .timeline_table td>div>img{
	width:25px;
	position:absolute;
	left:-40px;
}

#detail_contents .timeline_table td>img{
	width:35%;
	margin:0 0 0 20px;
}

#company_news_list{
	padding:8% 5% 5%;
	background-color:#f2f2f2;
}

#company_news_list section{
	max-width:1200px;
	margin:0 auto 10%;
}

#company_news_list h2{
	margin:0 0 1.5em;
	font-family: "Playfair Display", serif;
	font-size:40px;
	font-weight:300;
}

#news_detail_contents{
	padding:5%;
	background:linear-gradient(to bottom, #e7e7e7 0%, #fff 100%);
}

#news_detail_contents>p{
	max-width:1000px;
	margin:0 auto;
	font-family: "Playfair Display", serif;
	font-size:60px;
	line-height:1;
	color:#fff;
}

#news_contents{
	max-width:1000px;
	margin:0 auto;
	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:15px;
	font-weight:300;
	color:#70777f;
}

#news_contents span.news{
	width:80px;
	display:inline-block;
	padding:0.5em 0.5em 0.7em;
	text-align:center;
	font-size:13px;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#01b2b2;
}

#news_contents span.dev{
	display:inline-block;
	width:100px;
	padding:0.5em 0 0.7em;
	text-align:center;
	font-size:13px;
	font-weight:300;
	line-height:1;
	color:#fff;
	background-color:#eda000;
}

#news_contents figure{
	margin:1.5em 0;
	font-size:15px;
	text-align:center;
}

#news_contents figure figcaption {
	font-size:14px;
	font-weight:300;
	line-height:1.8;
}

#news_contents img{
	width:100%;
}

#news_contents img.small{
	width:40%;
}

#news_contents h1{
	margin:0.3em 0 0.5em;
	font-size:40px;
	font-weight:500;
	line-height:1.2;
}

#news_contents h2{
	margin:0 0 1em;
	font-size:30px;
	font-weight:500;
	line-height:1.3;
}

#news_contents h3{
	margin:2em 0 0.5em;
	font-size:22px;
	font-weight:400;
	line-height:1.3;
}

#news_contents h4{
	margin:2em 0 0.5em;
	font-size:16px;
	font-weight:400;
	line-height:1.3;
}

#news_contents p{
	margin:0 0 1.5em;
	text-align:justify;
	font-size:16px;
	font-weight:300;
	line-height:1.8;
}

#news_contents p.note{
	font-size:14px;
	line-height:1.6;
}

#news_contents table{
	margin:1.5em 0;
	border-collapse:collapse;
	font-size:15px;
	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{
	text-decoration: underline;
}

#news_contents a.link{
	display:inline-block;
	margin:0.2em 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;
	text-decoration: none;
}

#news_contents ol,
#news_contents ul{
	margin: 0 0 1.5em;
	padding: 0 0 0 1em;
}

#news_contents li{
	text-align:justify;
	font-size:16px;
	font-weight:300;
	line-height:1.8;
}

#news_contents .news_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
}