@charset 'UTF-8';

.sawarabi{
	font-family: "Sawarabi Mincho",游明朝,"Yu Mincho",YuMincho,serif;
}


/* ===== COMMON ===== */

html {
	font-size:62.5%;
}

body {
	width:100%;
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight:400;
	line-height:1;
	color:#333;
}

.clear{
	clear:both;
	overflow:hidden;
}

@media screen and (min-width: 769px) {
	.sp{
		display:none !important;
	}

	body{
		font-size:1.6em;
	}

	.cont_wrapper, .cont_wrap{
		position:relative;
	}

	.main_cont{
		width:100%;
		padding:0 30px 60px 310px;
	}

	.side_cont{
		position:absolute;
		top:0;
		left:30px;
		width:250px;
		height:100%;
		overflow-y:auto;
	}
}
@media screen and (max-width: 768px) {
	.pc{
		display:none !important;
	}

	body{
		font-size:1.4em;
	}

	.cont_wrapper{
		padding-top:60px; 
		margin-bottom:50px;
	}

	.main_cont, .side_cont{
		padding:20px;
	}
}
@media screen and (max-width: 414px) {
}



/* ----- BLOCK ----- */

.inner, .cont_inner{
	width:100%;
	max-width:1400px;
	margin:0 auto;
}
.inner.w800, .cont_inner.w800{
	max-width:860px;
}

@media screen and (min-width: 769px) {
	.inner{
		padding:60px 30px;
	}
	.cont_inner{
		padding:0 30px;
	}
	.main_cont .inner{
		padding:60px 0;
	}

	ul.col2, ul.col3, ul.col4{
		letter-spacing:-.4em
	}
	ul.col2 li, ul.col3 li, ul.col4 li{
		display:inline-block;
		letter-spacing:normal;
		vertical-align:top;
		margin:0 2% 2% 0;
	}
	ul.col2 li{
		width:49%;
	}
	ul.col3 li{
		width:32%;
	}
	ul.col2 li:nth-child(2n),
	ul.col3 li:nth-child(3n),
	ul.col4 li:nth-child(4n){
		margin-right:0;
	}
}
@media screen and (max-width: 768px) {
	.inner{
		padding:30px 20px;
	}
	.cont_inner{
		padding:0 20px;
	}

	.main_cont .inner{
		padding:30px 0;
	}

	ul.col2 li, ul.col3 li, ul.col4 li{
		margin-bottom:20px;
	}
}
@media screen and (max-width: 414px) {
}



/* ----- TEXT ----- */

p, .txt{
	line-height:1.8;
}

.black{
	font-weight:900;
}
.bold{
	font-weight:700;
}
.midium{
	font-weight:500;
}
.regular{
	font-weight:400;
}
.demilight{
	font-weight:300;
}
.light{
	font-weight:200;
}

.right{
	text-align:right;
}
.center{
	text-align:center;
}

@media screen and (min-width: 769px) {
	.pcbl{
		display:block;
	}
}
@media screen and (max-width: 768px) {
	.spbl{
		display:block;
	}
}

/* ----- COLOR ----- */

.orange{
	color:#d87500;
}
.red{
	color:#fc2c0a;
}

/* ----- TITLE ----- */

/* page title */
.page_ttl{
	border-bottom:1px solid #ddd;
}
.page_ttl .ttl{
	font-weight:200;
	line-height:1.5;
	letter-spacing:.05em;
}

/* section title */
.sec_head{
	text-align:center;
}
.sec_ttl{
	margin-bottom:20px;
	font-weight:200;
}
.sec_ttl + p{
	display:inline-block;
	text-align:left;
	font-weight:300;
}

/* relation title */
.rel_ttl{
	padding:.5em 0;
	border-bottom:3px solid #eaeaea;
}

/* category top title */
.ctgr_top_ttl{
	position:relative;
	border-bottom:1px solid #ddd;
}
.ctgr_top_ttl .ttl{
	position:relative;
	top:50%;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
	font-weight:200;
	text-align:center;
}
.ctgr_top_ttl .ttl span{
	display:block;
}

/* visual title */
.v_ttl{
	position:relative;
	height:300px;
	padding:20px;
	background:url(../images/service/bg_service_01.png) center center;
	background-size: cover;
}
.v_ttl .ttl{
	position:relative;
	top:50%;
	color:#fff;
	font-size:3.0rem;
	font-weight:300;
	line-height:1.5;
	text-align:center;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}
.v_ttl img{
	max-height:70px;
	margin-top:10px;
}

@media screen and (min-width: 769px) {
	/* page title */
	.page_ttl{
		margin-bottom:50px;
	}
	.page_ttl .ttl{
		min-height:60px;
		padding:8px;
		font-size:2.8rem;
	}

	/* section title */
	.sec_head{
		margin-bottom:70px;
	}
	.sec_ttl{
		padding:0 30px;
		font-size:3.6rem;
		letter-spacing:.1em;
	}
	/* relation title */
	.rel_ttl{
		margin-bottom:40px;
		font-size:2.4rem;
	}

	/* category top title */
	.ctgr_top_ttl{
		height:150px;
	}
	.ctgr_top_ttl .ttl{
		font-size:3.6rem;
		line-height:1.2;
		letter-spacing:.06em;
	}

}
@media screen and (max-width: 768px) {
	/* page_ttl */
	.page_ttl{
		margin-bottom:30px;
		margin-bottom:40px;
		text-align:center;
	}
	.page_ttl .ttl{
		display:inline-block;
		padding:10px 0;
		font-size:2.5rem;
	}

	/* section title */
	.sec_head{
		margin-bottom:30px;
	}
	.sec_ttl{
		padding:0 20px;
		font-size:2.5rem;
		line-height:1.2;
	}
	.sec_ttl span{
		border-bottom-width:1px;
	}
	.sec_ttl + p{
		font-size:1.6rem;
	}

	/* relation title */
	.rel_ttl{
		margin-bottom:20px;
		font-size:1.9rem;
	}

	/* category top title */
	.ctgr_top_ttl{
		height:100px;
		padding:0 20px;
	}
	.ctgr_top_ttl .ttl{
		font-size:2.5rem;
		letter-spacing:.1em;
	}
}
@media screen and (max-width: 414px) {
}



/* ----- LINK ----- */

a{
	color:#333;
	text-decoration:none;
}
a.link{
	color:#f08200;
	text-decoration:underline;
}
a.nolink{
	cursor:default;
	pointer-events:none;
}
a.out::after{
	content:"";
	display:inline-block;
	vertical-align:middle;
	width:1em;
	height:1em;
	margin-left:.5em;
	background:url(../images/icon_out_orange.png) left center;
	background-size:cover;
}

.arrow{
	position:relative;
	padding-right:2em;
}
.arrow::before{
	content:"";
	display:block;
	width:8px;
	height:8px;
	position:absolute;
	top:50%;
	right:1em;
	margin-top:-4px;
	border-right:2px solid #333;
	border-bottom:2px solid #333;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
.arrow.white::before{
	border-color:#fff;
}

.sec_links{
	background:#eee;
	text-align:center;
}
.sec_links li{
}
.sec_links a{
	display:block;
	font-size:1.8rem;
}

.page_links{
	max-width:860px;
	margin:auto;
	padding:30px;
}
.page_links li{
	position:relative;
	display:inline-block;
	margin:0 1em 1em 0;
}
.page_links a{
	color:#d87500;
}

@media screen and (min-width: 769px) {
/*	a:hover{
		opacity:0.7;
	}*/
	a.tel{
		pointer-events:none;
	}

	.sec_links ul{
		padding:0 30px;
	}
	.sec_links ul{
		display:table;
		width:100%;
		max-width:1000px;
		margin:auto;
	}
	.sec_links li{
		display:table-cell;
	}
	.sec_links a{
		padding:1.5em 1em;
	}
	
	.page_links li{
		font-size:1.8rem;
	}
	.anchor{
		margin-top:-90px;
		padding-top:90px;
	}

}
@media screen and (max-width: 768px) {
	a.arrow.ttl{
		font-size:1.9rem;
	}

	.sec_links{
		letter-spacing:-.4em;
	}
	.sec_links li{
		display:inline-block;
		letter-spacing:normal;
		vertical-align:top;
		width:50%;
	}
	.sec_links a{
		padding:24px 0;
	}
	.sec_links .arrow{
		padding-right:1.2em;
	}
	.sec_links .arrow::before{
		right:3px;
	}

	.page_links li{
		font-size:1.6rem;
	}
	.anchor{
		margin-top:-60px;
		padding-top:60px;
	}
}
@media screen and (max-width: 414px) {
}


/* button */

.btn{
	position:relative;
	display:block;
	margin:auto;
	padding:1em;
	border:1px solid #333;
	border-radius:4px;
	box-shadow:1px 1px 0px 0px rgba(0,0,0,0.27);
	font-size:1.8rem;
	text-align:center;
	text-decoration:none;
	color:#333;
	vertical-align:top;
}

.btn.w280{
	width:280px;
	max-width:100%;
}

.btn.big{
	width:280px;
	max-width:100%;
	height:80px;
}

.btn.ye{
	background-color:#fcc70a;
	border:none;
}
.btn.white{
	border-color:#fff;
	color:#fff;
}

.btn.arrow{
	padding-right:2em;
}

.btn.out::after{
	background-image:url(../images/icon_out.png);
}
.btn.white.out::after{
	background-image:url(../images/icon_out_white.png);
}

.btn.nolink{
	display:block;
	margin:0 auto;
	border:1px solid #ddd;
}

.btnwrap{
	padding:50px 0;
	text-align:center;
}
.btnwrap.page_bottom{
	margin-bottom:50px;
}

.img_btnwrap{
	position:relative;
	padding:20px;
	background-position:center center;
	background-size: cover !important;
	text-align:center;
}
.img_btnwrap .btn{
	display:inline-block;
	padding:.8em 2em;
	top:50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size:2.0rem;
	font-weight:700;
	letter-spacing:.05em;
}

.btn .middle{
	position: absolute;
	left:0;
	width:100%;
}
.btn.arrow .middle{
	padding:0 30px 0 10px;
}


@media screen and (min-width: 769px) {
	.img_btnwrap{
		height:300px;
	}

}
@media screen and (max-width: 768px) {
	.img_btnwrap{
		height:240px;
	}
}
@media screen and (max-width: 414px) {
}


/* breadcrumb */

@media screen and (min-width: 769px) {
	.breadcrumb{
		padding:10px 30px;
		margin-bottom:20px;
	}
	.breadcrumb li{
		display:inline-block;
		vertical-align:top;
		font-size:1.4rem;
		letter-spacing:.08em;
	}
	.breadcrumb a{
		position:relative;
		display:inline-block;
		color:#333;
		margin-right:1.5em;
	}
	.breadcrumb a::after{
		content:"";
		position:absolute;
		top:4px;
		right:-14px;
		display:block;
		width:6px;
		height:6px;
		border-right:1px solid #333;
		border-bottom:1px solid #333;
		-webkit-transform:rotate(-45deg);
		-ms-transform:rotate(-45deg);
		transform:rotate(-45deg);
		margin-left:10px;
	}
}
@media screen and (max-width: 768px) {
	.breadcrumb{
		display:none;
	}
}

/* pager */

.pager{
	padding:20px 0;
	letter-spacing:-.4em;
	text-align:center;
}
.pager li{
	display:inline-block;
	letter-spacing:normal;
	vertical-align:top;
}
.pager li:last-child{
	margin-right:0;
}
.pager a{
	position:relative;
	display:block;
	width:44px;
	height:44px;
	padding:13px 0;
	border:1px solid #e2e2e2;
	font-size:1.8rem;
	font-weight:200;
	color:#333;
	text-decoration:none;
}
.pager .active a,
.pager .inactive a{
	cursor:default;
	pointer-events:none;
}
.pager .active a{
	background:#f6f6f6;
}
.pager .inactive a{
	border-color:#fff;
}
.page_continue{
	padding:13px 0;
}

.pager a.prev::after, .pager a.next::after{
	content:"";
	position:absolute;
	display:block;
	width:10px;
	height:10px;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
}
.pager a.prev::after{
	top:16px;
	left:19px;
	-webkit-transform:rotate(135deg);
	-ms-transform:rotate(135deg);
	transform:rotate(135deg);
}
.pager a.next::after{
	top:16px;
	left:14px;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}

@media screen and (min-width: 769px) {
	.pager li{
		margin:0 20px 20px 0;
	}

	.pager a:hover{
		background:#f6f6f6;
		color:#d87500;
	}
	.pager a:hover::after{
		border-color:#d87500;
	}
}
@media screen and (max-width: 768px) {
	.pager li{
		margin-right:4px;
	}
}
@media screen and (max-width: 414px) {
}


/* list */

.dot li{
	position:relative;
	padding-left:1.2em;
}
.dot li::before{
	content:"●";
	color:#fcc70a;
	position: absolute;
	left:0;
}


/* text list */

.txt_list{
}
.txt_list li{
	position:relative;
	margin-bottom:1em;
	font-size:1.6rem;
	line-height:1.5;
	font-weight:300;
}
.txt_list a, .txt_list .txt{
	display:block;
}
.txt_list a{
	color:#d87500;
}
.txt_list a.nolink{
	color:#333;
}
.txt_list a span{
	display:block;
}

.txt_list .list_head{
	display:block;
	letter-spacing:-.4em;
}
.txt_list .date, .txt_list .ctgr, .txt_list .tag{
	display:inline-block;
	letter-spacing:normal;
	position:relative;
}
.txt_list .date{
	width:6em;
	font-weight:400;
	line-height:1.5;
}

.txt_list .ctgr, .txt_list .tag{
	text-align:center;
	font-weight:500;
}
.txt_list .ctgr{
	width:9em;
	border:1px solid #eaeaea;
  border-radius: 5px;
	color:#707070;
}

.txt_list .tag{
	width:4em;
	background:#f5f5f5;
}


@media screen and (min-width: 769px) {
	.txt_list{
		margin-bottom:50px;
	}
	.txt_list li{
		padding-left:15em;
	}

	.txt_list .list_head{
		position:absolute;
		top:0;
		left:0;
		padding:1em 0;
	}

	.txt_list .ctgr, .txt_list .tag{
		font-size:1.4rem;
	}

	.txt_list.media li{
		padding-left:11em;
	}

	.txt_list a, .txt_list .txt{
		padding:1em 0;
	}
	.txt_list a:hover{
		text-decoration:underline;
	}
}
@media screen and (max-width: 768px) {
	.txt_list{
		margin-bottom:30px;
	}
	.txt_list li{
		margin-bottom:2em;
	}

	.txt_list .date{
		width:5.5em;
	}

	.txt_list a.ontap{
		text-decoration:underline;
	}
}
@media screen and (max-width: 414px) {
}


/* card list */

.card_list{
}
.card_list li{
	position:relative;
	background:#fff;
	box-shadow:0px 3px 16px 0px rgba(0,0,0,0.07);
}
.card_list li:nth-child(1){	z-index:12;}
.card_list li:nth-child(2){	z-index:11;}
.card_list li:nth-child(3){	z-index:10;}
.card_list li:nth-child(4){	z-index:9;}
.card_list li:nth-child(5){	z-index:8;}
.card_list li:nth-child(6){	z-index:7;}
.card_list li:nth-child(7){	z-index:6;}
.card_list li:nth-child(8){	z-index:5;}
.card_list li:nth-child(9){	z-index:4;}
.card_list li:nth-child(10){	z-index:3;}
.card_list li:nth-child(11){	z-index:2;}
.card_list li:nth-child(12){	z-index:1;}

.card_list li a{
	display:block;
}

.card_list .img{
	position:relative;
	display:block;
	width:100%;
	margin-bottom:15px;
	padding-top:60%;
	overflow:hidden;
}
.card_list .img img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
}

.card_list .list_head{
	display:block;
	padding:0 20px;
	clear:both;
	overflow:hidden;
	font-weight:500;
	color:#707070;
}
.card_list .date{
	float:left;
	line-height:2.4rem;
}
.card_list .ctgr{
	float:right;
	display:block;
	padding:.3em .5em;
	border:1px solid #eaeaea;
	border-radius:5px;
}
.card_list .txt{
	display:block;
	padding:15px 20px;
	text-overflow: ellipsis;
}

@media screen and (min-width: 769px) {
	.card_list{
		letter-spacing:-.4em;
	}
	.card_list li{
		position:relative;
		display:inline-block;
		width:33.3%;
		letter-spacing:normal;
		vertical-align:top;
	}
	.card_list li:hover{
		z-index:13;
		box-shadow:0px 3px 36px 0px rgba(0,0,0,0.27);
		opacity:0.7;
	}
	.card_list a{
		min-height:500px;
	}

	.card_list .list_head{
		font-size:1.4rem;
	}

	.card_list .txt{
		font-size:1.8rem;
	}
}
@media screen and (max-width: 768px) {
	.card_list li{
		margin-bottom:20px;
	}
	.card_list li.ontap{
		opacity:0.7;
		box-shadow:0px 3px 36px 0px rgba(0,0,0,0.27);
	}

	.card_list .list_head{
		font-size:1.2rem;
	}
	.card_list .txt{
		font-size:1.5rem;
	}
}
@media screen and (max-width: 414px) {
}



/* toggle */

input[type=radio].tgl_sw, input[type=checkbox].tgl_sw{
	display:none;
}

.tgl_sw ~ .tgl_cont{
	display:none;
}
.tgl_sw:checked ~ .tgl_cont{
	display:block;
}

.tgl_sw ~ .tgl_lbl{
	position:relative;
	display:block;
	padding:15px 30px 15px 0;
	font-size:1.9rem;
}
.tgl_sw ~ .tgl_lbl::after{
	content:"";
	position:absolute;
	top:15px;
	right:4px;
	display:block;
	width:12px;
	height:12px;
	border-right:2px solid #707070;
	border-bottom:2px solid #707070;
	-webkit-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
}
.tgl_sw:checked ~ .tgl_lbl::after{
	top:22px;
	-webkit-transform:rotate(-135deg);
	-ms-transform:rotate(-135deg);
	transform:rotate(-135deg);
}

.tgl_sw:checked ~ .tgl_cont.modal {
	position: fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	z-index:900;
	overflow-y:auto;
	padding:60px 0 20px;
}
.tgl_sw:checked ~ .tgl_cont.modal::before{
	content:"";
	display:block;
	width:100%;
	height:120%;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	background-color:rgba(0,0,0,0.8);
}
.modal_close{
	position:absolute;
	top:10px;
	right:12px;
	display:block;
	width:40px;
	height:40px;
	background: url(../images/icon_sw_c.png) center center;
	background-size:40px;
}


@media screen and (min-width: 769px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 414px) {
}



/* image */

img{
	max-width:100%;
	vertical-align:top;
}

.img{
	display:block;
	text-align:center;
}

.fit{
  font-family: 'object-fit: contain;'
}
.fit.con{
	object-fit: contain;
}
.fit.cov{
	object-fit: cover;
}

/* position */
.middle{
	position:relative;
	top:50%;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}


/* tag */

iframe[name="google_conversion_frame"] {
	position: absolute;
	top: 0;
}

@media screen and (min-width: 769px) {
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 414px) {
}


/* form */
label{
	cursor:pointer;
}

input, textarea, select{
	font-family: "Noto Sans Japanese", sans-serif;
	font-weight:400;
	color:#333;
}
input, textarea{
	width:100%;
	padding:3px 5px;
	background-color:#f8f8f8;
	border:1px solid #999;
	line-height:1.4;
}
input:focus, textarea:focus{
	border:1px solid #999;
}

textarea{
	height:200px;
}

input[type="text"].w5{
	width:5em;
	max-width:100%;
}
input[type="text"].w8{
	width:8em;
	max-width:100%;
}
input[type="text"].w10{
	width:10em;
	max-width:100%;
}
input[type="text"].w15{
	width:15em;
	max-width:100%;
}
input[type="text"].w20{
	width:20em;
	max-width:100%;
}
input[type="email"]{
	width:20em;
	max-width:100%;
}

input[type="radio"], input[type="checkbox"]{
	display:inline-block;
	width:1em;
	height:1em;
	margin:7px 5px 7px 0;
}
input[type="radio"], input[type="checkbox"]{
	position:relative;
	top:2px;
	display:inline-block;
	width:1em;
	height:1em;
	margin:7px 5px 7px 0;
}

input[type="button"].btn, [type="submit"].btn{
	width:280px;
	max-width:100%;
	margin:auto;
	padding:1.7em 2em 1.7em 1em;
	background:#fcc70a url(../images/icon_arrow.png) 95% center no-repeat;
	background-size:7px;
	border:none;
}

::-webkit-input-placeholder {
	color: #cccccc;
	opacity: 1;
}
:-moz-placeholder {
	color: #cccccc;
}
::-moz-placeholder {
	color: #cccccc;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #cccccc;
}
:placeholder-shown {
	color: #cccccc;
}

select{
	position:relative;
	top:-1px;
	left:-1px;
	display:block;
	width:120%;
	height:30px;
	padding-left:5px;
	line-height:30px;
}
label.select{
	position:relative;
	top:0;
	left:0;
	display:block;
	max-width:100%;
	height:30px;
	padding:0;
	margin:0;
	background: url(../images/bg_select.png) right center no-repeat, #f8f8f8;
	background-size:30px;
	border:1px solid #999;
}

label.select.w5{ width:5em;}
label.select.w10{ width:10em;}
label.select.w15{ width:15em;}
label.select.w20{ width:20em;}
label.select.w25{ width:25em;}


/* ===== HEADER ===== */

.header_wrap{
	position:fixed;
	top:0;
	left:0;
	z-index:101;
	width:100%;
	background-color:#fff;
	border-bottom:1px solid #e5e5e5;
}

header .lang a.on{
	color:#d87500;
	pointer-events:none;
	cursor:default;
}

.gnav a.out::after{
	background-image:url(../images/icon_out.png);
}

@media screen and (min-width: 769px) {

	.sp{
		display:none;
	}	

	#gnav_sw.tgl_sw ~ .tgl_cont{
		display:block;
	}


	.header_wrap{
	}
	.h_logo, header .lang{
		position:absolute;
		top:50%;
		-webkit-transform:translateY(-50%);
		-ms-transform:translateY(-50%);		
		transform:translateY(-50%);		
	}
	.h_logo{
		left:0;
		width:22%;
		padding:10px;
	}
	.h_logo img{
		width:225px;
		min-width:149px;
	}

	header .lang{
		right:0;
		font-size:1.4rem;
		font-weight:500;
	}
	header .lang a{
		padding:1em;
	}
	header .lang a.on{
		color:#d87500;
	}
	header .lang .ja::after{
		content:"|";
		position:relative;
		right:-1em;
		color:#333;
	}

	.gnav{
		display:table;
		margin:auto;
		padding-left:22%;
		padding-right:19%;
	}
	.gnav li{
		display:table-cell;
		text-align:center;
	}
	
	.gnav a.lv1{
		display:block;
		min-width:4em;
		height:42px;
		padding:0 1em;
		font-size:1.5rem;
	}
	.gnav a.lv1 span{
		display:block;
	}
	

	.gnav .tgl_cont{
		position:absolute;
		top:43px;
		left:0;
		right:0;
		background:#fff;
		border-bottom:1px solid #e5e5e5;
		text-align:center;
	}
	.gnav .subnav{
		display:table;
		margin:auto;
	}
	.gnav .subnav li{
	}
	.gnav .subnav li a{
		display:block;
		padding:1em;
		font-size:1.5rem;
	}
	
	header a:hover{
		color:#d87500;
	}
	.gnav a.out:hover::after{
		background-image:url(../images/icon_out_orange.png);
	}
	
	/* active */
	.top .gnav1,
	.news .gnav2,
	.company .gnav3,
	.business .gnav4,
	.csr .gnav5,
	.recruit .gnav6,
	.contact .gnav7,
	.gnav li.lv1.active {
		color:#d87500;
	}

	.news #gnav2 ~ .tgl_cont,
	.company #gnav3 ~ .tgl_cont,
	.business #gnav4 ~ .tgl_cont,
	.csr #gnav5 ~ .tgl_cont,
	.recruit #gnav6 ~ .tgl_cont,
	.contact #gnav7 ~ .tgl_cont{
		display:block;
		min-height:48px;
	}

	.cont_wrapper{
		padding-top:42px;
	}
	
	.news .cont_wrapper,
	.company .cont_wrapper,
	.business .cont_wrapper,
	.csr .cont_wrapper,
	.recruit .cont_wrapper,
	.contact .cont_wrapper{
		padding-top:90px;
	}

	.subnav li a.active{
		color:#d87500;
	}
}
@media screen and (min-width:769px) and (max-width:1190px) {
	.gnav .tgl_sw ~ .tgl_lbl, .gnav .ttl{
		padding:0 .5em;
	}
}
@media screen and (max-width: 768px) {
	.pc{
		display:none;
	}

	.header_wrap{
		height:60px;
	}

	.h_logo{
		padding:10px;
	}
	.h_logo a{
		display:inline-block;
		padding:10px;
	}
	.h_logo img{
		width:225px;
		vertical-align:middle;
	}

	.tgl_sw:checked ~ .tgl_cont.modal.gnav_wrap {
		padding:0 20px 20px;
	}
	.gnav_sw_open{
		position:absolute;
		top:10px;
		right:12px;
		display:block;
		width:40px;
		height:40px;
		background: url(../images/icon_sw_o.png) center center;
		background-size:40px;
	}
	.tgl_sw:checked ~ .gnav_sw_open {
		display:none;
	}
	.gnav_modal_header{
		padding:10px 0;
		text-align:right;
	}
	.gnav_sw_close{
		position:relative;
		right:-10px;
		display: inline-block;
		width:40px;
		height:40px;
		background: url(../images/icon_sw_c.png) center center;
		background-size:40px;
	}

	.gnav > li{
		border-bottom:1px solid #cfcfcf;
	}

	.gnav label, .gnav a, .gnav .ttl, .subnav .ttl{
		display:block;
		padding:15px 0;
		font-size:1.9rem;
		color:#fff;
	}

	.gnav .tgl_sw ~ .tgl_lbl{
		padding-left:0;
	}
	.gnav .tgl_sw ~ .tgl_lbl::after{
		border-color:#fff;
	}

	.gnav a.arrow::before{
		border-color:#fff;
	}


	.subnav li{
		padding-left:30px;
		border-top:1px solid #cfcfcf;
	}
	.subnav li.lv2{
		padding-left:60px;
	}
	
	.subnav li a{
		font-weight:300;
	}

	.nav_privacy{
		display:block;
		margin:10px 0;
		padding:15px 0;
		font-size:1.5rem;
		line-height:1.9rem;
		text-align:center;
	}
	.head.nav_privacy{
		color:#fff;
	}

	.lang{
		margin-bottom:30px;
		letter-spacing:-.4em;
		text-align:center;
	}
	.lang a{
		display:inline-block;
		width:120px;
		padding:10px;
		letter-spacing: normal;
		background:#cfcfcf;
		border:1px solid #cfcfcf;
		font-size:1.9rem;
		text-align:center;
	}
	.lang a.ja{
		border-radius:25px 0 0 25px;
	}
	.lang a.en{
		border-radius:0 25px 25px 0;
	}
	.lang a.on{
		background:#fff;
		color:#d87500;
	}
	
	.gnav_sw_c{
		position:relative;
		z-index:100;
		display:block;
		padding:10px 0;
		border:1px solid #cfcfcf;
		text-align:center;
		font-size:1.9rem;
		color:#fff;
	}
	
	.gnav.en{
		margin-bottom:30px;
	}
}
@media screen and (max-width: 414px) {
}


/* ===== FOOTER ===== */

footer{
	position:relative;
}

.fnav{
	background:#f8f8f8;
}

.fnav a.out::after{
	background:url(../images/icon_out.png) left center;
	background-size:cover;
}

.f_sns li.fb img{
	width:34px;
}

.f_copy{
	border-top:1px solid #e5e5e5;
}

.gotop{
	position:fixed;
	bottom:100px;
	right:10px;
	z-index:90;
	display:block;
	width:50px;
	height:50px;
	background:#000;
	border-radius:50%;
	box-shadow:0px 3px 8px 0px rgba(0,0,0,0.27);
}
.gotop::before{
	content:"";
	position: relative;
	top:20px;
	left:17px;
	display:block;
	width:16px;
	height:16px;
	border-top:4px solid #fff;
	border-right:4px solid #fff;
	-webkit-transform:rotate(-45deg);
	-ms-transform:rotate(-45deg);
	transform:rotate(-45deg);
}


.fnav_en li{
	white-space:nowrap;
}

@media screen and (min-width: 769px) {
	.fnav{
		font-size:1.4rem;
		font-weight:300;
		line-height:1.6;
	}
	.fnav .inner{
		position:relative;
		display:table;
		width:100%;
	}
	.fnav_bl{
		display:table-cell;
		width:22%;
		padding-right:1em;
		vertical-align:top;
	}
	.fnav_bl:nth-child(5){
		width:12%;
	}
	.fnav_bl > div{
		margin-bottom:1em;
	}

	.fnav_bl ul li{
		position:relative;
		padding-left:1em;
		list-style:outside none;
	}
	.fnav_bl ul li::before{
		content:"・";
		position:absolute;
		left:0;
	}

	.fnav .ttl, .privacy{
		font-size:100%;
		font-weight:500;
	}
	.fnav p.ttl{
		font-weight: normal;
	}
	
	.fnav .lang{
		display:none;
	}
	
	.f_sns{
		position:absolute;
		right:0;
		bottom:0;
		padding:20px 30px;
		text-align:right;
		letter-spacing:-.4em;
	}
	.f_sns li{
		position:relative;
		display:inline-block;
		padding:0 1em;
		letter-spacing:normal;
	}
	.f_sns li::after{
		content:"";
		position:absolute;
		top:3px;
		right:0;
		display:block;
		width:1px;
		height:28px;
		background:#eaeaea;
	}
	.f_sns li:last-child::after{
		display:none;
	}

	.f_copy .inner{
		clear:both;
		overflow:hidden;
		padding:24px 30px;

	}
	.f_copy .site{
		float:right;
		font-size:1.4rem;
		line-height:2;
	}
	.f_copy .copy{
		float:left;
		padding:8px 0;
		font-size:1.2rem;
		line-height:1;
	}


	.fnav .tgl_sw ~ .tgl_lbl{
		padding:0;
	}
	.fnav .tgl_sw ~ .tgl_lbl::after{
		display:none;
	}

	.fnav .tgl_sw ~ .tgl_cont{
		display:block;
	}


}
@media screen and (max-width: 768px) {
	.fnav_bl .ttl, .tgl_lbl.ttl{
		border-bottom:1px solid #cfcfcf;
		font-size:1.6rem;
		font-weight:500;
	}
	.fnav_bl .tgl_lbl a{
		padding:0;
		pointer-events:none;
	}

	.fnav_bl li{
		padding-left:20px;
		border-bottom:1px solid #cfcfcf;
	}

	.fnav_bl a{
		display:block;
		padding:15px 30px 15px 0;
		font-size:1.6rem;
		font-weight:300;
		line-height:1.9rem;
	}
	.fnav_bl .ttl a{
		font-weight:500;
	}

	.fnav_bl .ttl.tgl_cont{
		padding:10px 20px;
		border-bottom:1px solid #cfcfcf;
		font-size:1.6rem;
		font-weight:500;
		line-height:1.9rem;
	}
		
	.fnav_bl .privacy a{
		padding:10px;
		font-size:1.5rem;
		font-weight:500;
	}
	.fnav_bl .lang{
		margin-bottom:30px;
	}
	.fnav_bl .lang a{
		display:inline-block;
		padding:10px;
		font-size:1.9rem;
		font-weight:500;
	}
	
	.f_sns{
		text-align:center;
	}
	
	.f_copy .site{
		margin-bottom:20px;
		text-align:center;
	}
	.f_copy .site span{
		display:block;
		margin-bottom:1em;
		font-size:1.5rem;
		font-weight:500;
	}
	.f_copy .site a{
		display: inline-block;
		margin:0 .5em;
	}

	.f_copy .copy{
		text-align:center;
		font-size:1.3rem;
	}
	
	.fnav_en{
		display:none;
	}

}
@media screen and (max-width: 414px) {
}


/* ===== SIDE CONTENTS ===== */

.side_cont .ttl h3{
	margin-bottom:15px;
	border-bottom:1px solid #e5e5e5;
	font-size:2.0rem;
	font-weight:400;
	letter-spacing:.05em;
}
.side_cont h4{
	font-size:1.6rem;
	font-weight:700;
}
.side_cont h4 a{
	display:block;
	padding:12px;
}

.side_nav a{
	position:relative;
	display:block;
	padding:12px 10px 12px 30px;
	font-weight:500;
}
.side_nav a::before{
	content:"";
	display:block;
	width:8px;
	height:8px;
	position:absolute;
	top:17px;
	left:15px;
	background-color:#eaeaea;
	border-radius:50%;
}

.side_nav a.active{
	background:#f6f6f6;
	color:#d87500;
}
.side_nav a.active::before{
	background-color:#d87500;
}

@media screen and (min-width: 769px) {
	.side_cont .ttl h3{
		height:60px;
		padding-top:24px;
	}

	.side_nav{
		margin-bottom:20px;
	}
	
	.side_cont h4 a:hover,
	.side_nav a:hover{
		background:#f6f6f6;
		color:#d87500;
	}
	.side_nav a:hover::before{
		background-color:#d87500;
	}
}
@media screen and (max-width: 768px) {
	.side_cont .ttl {
		text-align:center;
	}
	.side_cont .ttl h3{
		display:inline-block;
		padding-bottom:10px;
	}
	.side_cont h4{
		font-size:1.9rem;
		border-bottom:1px solid #eaeaea;
	}

	.side_nav{
		margin-bottom:20px;
	}
	.side_nav li{
		border-bottom:1px solid #eaeaea;
	}
	.side_nav a{
		font-size:1.9rem;
	}
}
@media screen and (max-width: 414px) {
}


/* ===== MODAL ===== */

@keyframes modal-video {
	from {
		opacity:0;
	}
	to {
		opacity: 1;
	}
}
@keyframes modal-video-inner {
	from {
		transform:translate(0, 100px);
	}
	to {
		transform: translate(0, 0);
	}
}
@-ms-keyframes modal-video {
	from {
		opacity:0;
	}
	to {
		opacity: 1;
	}
}
@-ms-keyframes modal-video-inner {
	from {
		transform:translate(0, 100px);
	}
	to {
		transform: translate(0, 0);
	}
}
.modal-video {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 1000000;
	cursor: pointer;
	opacity: 1;
	animation-timing-function: ease-out;
	animation-duration: .3s;
	animation-name: modal-video;
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-ms-transition: opacity .3s ease-out;
	-o-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}
.modal-video-close {
	opacity: 0;
}
.modal-video-close .modal-video-movie-wrap {
	-webkit-transform: translate(0, 100px);
	-moz-transform: translate(0, 100px);
	-ms-transform: translate(0, 100px);
	-o-transform: translate(0, 100px);
	transform: translate(0, 100px);
}
.modal-video-body {
	max-width: 940px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	display: table;
}
.modal-video-inner {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}
.modal-video-movie-wrap {
	width: 100%;
	height: 0;
	position: relative;
	padding-bottom: 56.25%;
	background-color: #333;
	animation-timing-function: ease-out;
	animation-duration: .3s;
	animation-name: modal-video-inner;
	-webkit-transform: translate(0, 0);
	-moz-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
	-webkit-transition: -webkit-transform .3s ease-out;
	-moz-transition: -moz-transform .3s ease-out;
	-ms-transition: -ms-transform .3s ease-out;
	-o-transition: -o-transform .3s ease-out;
	transition: transform .3s ease-out;
}
.modal-video-movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.modal-video-close-btn {
	position: absolute;
	z-index: 2;
	top: -35px;
	right: -35px;
	display: inline-block;
	width: 35px;
	height: 35px;
	overflow: hidden;
	border: none;
	background: transparent;
}
.modal-video-close-btn:before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.modal-video-close-btn:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.modal-video-close-btn:before, .modal-video-close-btn:after {
	content: '';
	position: absolute;
	height: 2px;
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -1px;
	background: #fff;
	border-radius: 5px;
	margin-top: -6px;
}
