@charset "UTF-8";
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 300;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 400;
   src: local('NotoSansJP-Regular.otf'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
 }

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
 }

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
 }

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 900;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
 }
/* CSS Document */
/*================================================================== Reset */
html {
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%; /* 2 */
	-ms-text-size-adjust: 100%; /* 2 */
}
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	box-sizing:border-box;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ul,ol {
	list-style-type:none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
em{
	font-style:normal;
}





body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans Japanese', sans-serif;
	font-size:16px;
	*font-size:small; /* for IE6/7 */
	*font:x-small; /* for IE Quirks Mode */
	min-height: 100%;
	text-align: left;
	color:#111;
	background:url(../images/common/bg.png);

}

a:link,
a:visited{
	color:#111111;
}

a:link {
	outline:none;
	text-decoration:none;
}
a:visited {
	outline:none;
	text-decoration:none;
}
a:hover,a:active {
	outline:none;
	text-decoration:none;
}
a:hover{
	opacity:0.5;
}

a.links:hover img{
	opacity:1;
}

img,
img a {
	border: none;
}

.msp_block{
	display:none !important;
}
.msp_inline{
	display:none !important;
}
.msp_inlineblock{
	display:none !important;
}
.sp_block{
	display:none !important;
}
.sp_inline{
	display:none !important;
}
.sp_inlineblock{
	display:none !important;
}
.pc_block{
	display:block !important;
}
.pc_inlineblock{
	display:inline-block !important;
}
.pc_inline{
	display:inline !important;
}

.all_hidden{
	display:none !important;
}

.container{
	width:1082px;
	margin:0 auto;
	position:relative;
}

/* header ===================== */

header{
	background:url(/images/common/hdr_line.png) repeat-x left bottom;
	padding:30px 0;
}

header .logoblock{
	margin-left:-30px;
	width:284px;
}
header .logoblock img{
	width:100%;
}

header nav{
	position:absolute;
	right:0;
	top:0;
	margin-right:-30px;
}

header nav{
	display:flex;
	z-index:9999;
}

header nav > ul{
	display:flex;
	align-items: center;
	justify-content: flex-end;
	width:600px;

}

header nav > ul > li{
	position:relative;
	text-align:center;
}

header nav > ul > li:after{
	content: '／';
	margin-left:15px;
	margin-right:15px;
}

header nav > ul > li:last-child:after{
	content: '　';
}
header nav > ul > li.has-children a .morelink{
	display:none;
}


header nav > ul > li.has-children > .hide{
	display:none;
}

header nav > ul > li.has-children > a.loc,
header nav > ul > li.has-children:hover > a{
	color:#ff6600;
	opacity:1;
}

header nav > ul > li.has-children:hover > .hide{
	display:block;
	position:absolute;
}

header nav > ul > li.has-children:hover > .hide > li{
	display:block;
	border-style: solid;
	border-width: 1px;
	border-image: url(/images/common/border-image.png) 1 repeat;
	margin-left:-15px;
}

header nav > ul > li.has-children:hover > .hide > li a{
	display:block;
	padding:15px;
	white-space:nowrap;
	background:#ffffff;
}

header nav > ul > li.has-children:hover > .hide > li a:hover{
	background:#ffe8d9;
	opacity:1;
}


/* header end ===================== */




/* contents ===================== */

.quick{
	font-family: "Quicksand", sans-serif;
}
.width1082{
	width:1082px;
	margin:0 auto;
}
.illust{
	position:absolute;
	z-index: 10;
}
.contents .ttl_area{
	text-align:center;
	height:340px;
	color:#fff;
	padding-top:95px;
}
.contents h2.ttl .ttl_img{
	vertical-align:middle;
}
.contents h2.ttl .sub_ttl{
	margin-left:40px;
	font-size:1rem;
	font-weight:500;
	position:relative;
}
.contents h3.ttl2{
	font-size:1.38rem;
	font-weight:normal;
	margin:37px 0 6px;
}
.contents .ttl2_text{
	font-weight:300;
	line-height:1.9;
}
.company .ttl_area{
	background:url(../images/common/company_bg.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.people .ttl_area{
	background:url(../images/common/people_bg.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.works .ttl_area{
	background:url(../images/common/works_bg.jpg) no-repeat 50% 50%;
	background-size: cover;
}
.contents .pankuzu{
	margin-top: 10px;
	font-size:0.88rem;
}
/*.contents .pankuzu a:link,
.contents .pankuzu a:hover,
.contents .pankuzu a:visited{
	color:#111;
}*/
.contents .pankuzu .arrow{
	display: inline-block;
	margin: 0 10px;
	font-size: 0.5rem;
}
.contents .main_ttl{
	font-size:2.25rem;
	font-weight:400;
	text-align:center;
	margin: 65px auto 70px;
}
.contents .btn_more2{
	display:block;
	text-align:center;
	background:#ded6b9;
	border-radius: 30px;
	padding: 7px 0 10px;
}
.deco{
	border-bottom: solid 5px #ff9933;
	padding: 0 7px;
}
.return{
	background:url(../images/common/icon_arrow2.png) no-repeat;
	font-size:1.38rem;
	padding-left:31px;
	margin-top:72px;
	display:inline-block;
	background-position: 0 59%;
}
.contents .ttl3{
	font-size:1.88rem;
	font-weight:normal;
	text-align:center;
	margin-bottom:55px;
}
img.freedial{
	display: inline-block;
	height: 16px;
	width: auto;
	margin-top: -4px;
}


/* contents end ===================== */



/* footer ===================== */

footer{
	background:url(../images/common/bg_footer.png);
	width:100%;
}

footer .container{
	padding:50px 0;
}

footer .container > ul{
	display:flex;
}

footer .container > ul > li{
	font-weight:600;
	line-height:1;
	flex-grow:1;
}

footer .container > ul > li:last-child{
	flex-grow:2;
	text-align:right;
	margin-top:-20px;
}

footer .container > ul > li > a{
	display:block;
}

footer .container > ul > li > a:nth-child(2){
	margin-top:20px;
}

footer .container > ul > li > a:before{
	content: " ";
	background:url(../images/common/icon_arrow.png) no-repeat;
	background-position:0 5px;
	padding:0 0 0 20px;
	height:15px;
}

footer .container > ul > li:last-child > a:before{
	background:none;
}

footer .container > ul > li ul.hide{
	font-weight:normal;
	margin-left:20px;
}

footer .container > ul > li ul.hide li{
	padding:10px 0 0;
}


footer .foot_info{
	background:#ffffff;
	width:100%;
}

footer .foot_info .container{
	padding:10px 0;
}

footer .foot_info .container .parts{
	margin-right:-30px;
	margin-left:-30px;
}
.pgrh{
	line-height:1.88;
}

/* footer end ===================== */



/* 1082px ===================== */
@media screen and (max-width: 1142px) {
	.container{
		width:96%;
		margin:0 auto;
	}

	header .logoblock{
		margin-left:0;
	}
	header nav{
		margin-right:0;
	}


	header nav{
		width:calc( 100% - 284px );
	}

	header nav > ul{
		flex-wrap: wrap;
		width:calc( 100% - 107px );
	}
	

}
/* 1082px end ===================== */



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

	.msp_block{
		display:none !important;
	}
	.msp_inline{
		display:none !important;
	}
	.msp_inlineblock{
		display:none !important;
	}
	.sp_block{
		display:block !important;
	}
	.sp_inlineblock{
		display:inline-block !important;
	}
	.sp_inline{
		display:inline !important;
	}
	.pc_block{
		display:none !important;
	}
	.pc_inlineblock{
		display:none !important;
	}
	.pc_inline{
		display:none !important;
	}

	header{
		height:100px;
	}
	header .container .menu_btn{
		position:absolute;
		right:0;
		top:-10px;
		z-index:99;
	}
	header .container .menu_btn img{
		height:70px;
	}
	header .logoblock{
		max-width:70%;
	}
	header nav{
		display:none;
		width:100%;
		background:#ffffff;
		height:calc( 100% - 100px );
		overflow:auto;
	}
	header nav .close_btn{
		text-align:right;
		padding:10px;
	}
	header nav > ul{
		width:100%;
		border-top-style: solid;
		border-top-width: 1px;
		-moz-border-image: url(../images/common/border-image.png) 1 repeat;
		-webkit-border-image: url(../images/common/border-image.png) 1 repeat;
		-o-border-image: url(../images/common/border-image.png) 1 repeat;
		border-image: url(../images/common/border-image.png) 1 repeat;
		border-bottom-width: 0;
		border-right-width: 0;
		border-left-width: 0;
	}
	header nav > ul > li{
		width:100%;
		text-align:left;
		display: block;
		padding: 10px 20px;
		border-bottom-style: solid;
		border-bottom-width: 1px;
		-moz-border-image: url(../images/common/border-image.png) 1 repeat;
		-webkit-border-image: url(../images/common/border-image.png) 1 repeat;
		-o-border-image: url(../images/common/border-image.png) 1 repeat;
		border-image: url(../images/common/border-image.png) 1 repeat;
		border-top-width: 0;
		border-right-width: 0;
		border-left-width: 0;
		text-decoration: underline;
	}
	header nav > ul > li:after,
	header nav > ul > li:last-child:after{
		content: '';
		margin-left:0;
		margin-right:0;
	}
	header nav > ul > li.has-children a{
		position:relative;
		display:block;
	}
	header nav > ul > li.has-children a .morelink{
		display:inline;
		height:24px;
		vertical-align:middle;
		position:absolute;
		right:0;
		
	}
	header nav > ul > li.has-children > .hide{
		position:relative;
		margin:10px 0 0;
	}
	header nav > ul > li.has-children:hover > .hide{
		display:none;
		position:relative;
		margin:10px 0 0;
	}
	header nav > ul > li.has-children > .hide li{
		display:block;
		border-style: solid;
		border-width: 1px;
		border-image: url(/images/common/border-image.png) 1 repeat;
		margin-left:-15px;
		border-left:none;
		border-right:none;
		border-bottom:none;
		text-indent:24px;
	}
	header nav > ul > li.has-children:hover > .hide li{
		border-left:none;
		border-right:none;
		border-bottom:none;
		text-indent:24px;
	}
	header nav > ul > li.has-children > .hide > li a{
		display:block;
		padding:15px;
		white-space:nowrap;
		background:#ffffff;
	}

	header nav .entry_btn{
		text-align:center;
		margin:20px 0;
	}
	header nav .close_btn2{
		text-align:center;
		margin:30px 0 20px;
	}
	header nav .close_btn2 img{
		width:20%;
	}
	.width1082{
		width:100%;
	}
	.contents h2.ttl .sub_ttl{
		margin-left: 33px;
		font-size: 1.5rem;
	}
	.contents .ttl_area{
		height:297px;/*430px*/
		padding-top: 1%;
	}
	.contents h3.ttl2{
		font-size: 2.25rem;
		margin: 0.8% 0 0.8%;
	}
	.contents .ttl2_text{
		font-size: 1.38rem;
		line-height:1.5;
	}
	.company .ttl_area{
		background:url(../images/common/company_bg_sp.jpg) no-repeat 50% 50%;
		background-size:cover;
	}
	.people .ttl_area{
		background:url(../images/common/people_bg_sp.jpg) no-repeat 50% 50%;
		background-size:cover;
	}
	.works .ttl_area{
		background:url(../images/common/works_bg_sp.jpg) no-repeat 50% 50%;
		background-size:cover;
	}
	.contents .main_ttl{
		margin: 10% 0 8%;
	}
	.contents .btn_more2{
		padding: 3.5% 0 4.5%;
		font-size:3rem;
		border-radius: 60px;
	}
	.return{
		font-size:1.1rem;
	}
	footer .container > ul{
		display:block;
	}
	footer .container > ul > li{
		position:relative;
		margin:0;
	}
	footer .container > ul > li > a{
		padding:20px 0;
	}
	footer .container > ul > li > a:before{
		content: '';
		background:none;
	}
	footer .container > ul > li .footer_btn{
		position:absolute;
		left:75%;
		top:10px;
		height:36px;
		padding:10px 0;
	}
	footer .container > ul > li > a:nth-child(2){
		margin:0;
	}
	footer .container > ul > li ul.hide{
		display:none;
	}
	footer .container > ul > li ul.hide li{
		padding:10px 0;
	}

	footer .container > ul > li .footer_btn img{
		height:100%;
	}
	footer .container > ul > li:last-child{
		text-align:center;
	}
	footer .foot_info .container .parts{
		margin:0;
	}
}
/* 768px end ===================== */



/* 470px ===================== */
@media screen and (max-width: 470px) {
	.contents .ttl_area{
		padding-top:1%;
		height:148px;/*220*/
	}
	.contents h2.ttl .ttl_img{
		width:30%;
	}
	.contents h2.ttl .sub_ttl{
		font-size:0.78rem;
		margin-left:3%;
	}
	.contents h3.ttl2{
		font-size:1rem;
		margin:0.8% 4%;
	}
	.contents .ttl2_text{
		font-size:0.82rem;
		line-height: 1.3;
		margin: 0 3%;
	}
	.works .ttl_area{
		padding-top:1%;
	}
	.contents .main_ttl{
		font-size: 1.8rem;
		line-height: 1.1;
	}
	.contents .btn_more2{
		font-size: 2rem;
		width:90%;
	}
	.contents_area1 .return{
		font-size:1.1rem;
		padding-left: 25px;
		margin-top: 16%;
		background-position: 0 50%;
		background-size: 10%;
	}

}
/* 470px end ===================== */



/* 320px ===================== */
@media screen and (max-width: 320px) {

	body {
		font-size:14px;
	}
	.msp_block{
		display:block !important;
	}
	.msp_inline{
		display:inline !important;
	}
	.msp_inlineblock{
		display:inline-block !important;
	}
	.msp_none{
		display:none !important;
	}
	.pc_block{
		display:none !important;
	}
	.pc_inlineblock{
		display:none !important;
	}
	.pc_inline{
		display:none !important;
	}
	.people .ttl_area{
		padding-top:1%;
	}
	.contents h3.ttl2{
		font-size: 1rem;
	}
	.contents .ttl3{
		font-size:1.5rem;
	}
}
/* 320px end ===================== */
