@charset "utf-8";

/*-----------------------------------------------------------------
	style optimaize
-----------------------------------------------------------------*/
.clearfix {
	zoom: 1; /* IE5.5～E7 */
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0;
	line-height: 0;
}
html {
	font-size: 62.5%; /* 1rem = 10px */
}
body {
	font-size: 1.3rem;
	font-family: "Noto Sans Japanese", sans-serif;
	letter-spacing: 0.025em;
}
ul, ol {
	list-style: none;
}
hr {
	margin: 20px auto;
	border: 0;
	border-top: 1px solid #EAE7E7;
}
a {
	text-decoration: none;
}

table {
	border-collapse: collapse;
}

input[type="text"],
input[type="tel"],
textarea,
select {
	display: block;
	border: 1px solid #EDEFF2;
	background: #EDEFF2;
}
input[type="text"],
input[type="tel"],
select {
	width: 100%;
	height: 50px;
	padding: 10px 15px;
}
input[type="text"].form-length--short {
	width: 25%;
}
input[type="text"].form-length--middle {
	width: 50%;
}
input[type="text"].form-length--long,
select.form-length--long {
	width: 75%;
}

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

input[type="checkbox"] {
	display: none;
}
.label--ckeck-txt {
	display: inline-block;
	position: relative;
	padding-left: 45px;
	cursor: pointer;
}
.label--ckeck-txt::before {
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	width: 30px;
	height: 30px;
	border: 3px solid #A7A7A7;
	border-radius: 4px;
	background: #FFF;
	line-height: 1;
}
input[type="checkbox"]:checked + .label--ckeck-txt::after {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 10px;
	width: 10px;
	height: 20px;
	transform: rotate(40deg);
	border-bottom: 4px solid #FF4F4F;
	border-right: 4px solid #FF4F4F;
}

input[type="radio"] {
	display: none;
}
.label--radio-txt {
	display: inline-block;
	position: relative;
	padding-left: 50px;
}
.label--radio-txt::before {
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	width: 30px;
	height: 30px;
	border: 3px solid #A7A7A7;
	border-radius: 15px;
	background: #FFF;
	line-height: 1;
}
input[type="radio"]:checked + .label--radio-txt::after {
	content: '';
	display: block;
	position: absolute;
	top: 4px;
	left: 6px;
	width: 18px;
	height: 18px;
	background: #FF4F4F;
	border-radius: 9px;
}
.radio-list li {
	display: inline-block;
	vertical-align: middle;
}
.radio-list li + li {
	margin-left: 50px;
}

select {
	background: url('data:image/svg+xml;base64,PHN2ZyANCiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQogd2lkdGg9IjE1cHgiIGhlaWdodD0iMTBweCI+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiICBmaWxsPSJyZ2IoMjcsIDI3LCAyNykiDQogZD0iTTcuNTAwLDkuOTA1IEwwLjAwMSwwLjEwMiBMMTQuOTk5LDAuMTAyIEw3LjUwMCw5LjkwNSBaIi8+DQo8L3N2Zz4=') no-repeat 98% center #EDEFF2;
}
select::-ms-expand {
	display: none;
}
textarea {
	width: 100%;
	height: 200px;
	padding: 10px 15px;
}

.for-pc {
	display: block!important;
}
.for-sp {
	display: none!important;
}

.lobstar {
	font-family: 'Lobster', cursive;
}
@media screen and (max-width: 767px) {
	body {
		min-width: 320px;
	}
	img {
		width: auto;
		max-width: 100%;
		height: auto;
	}
	input[type="text"],
	input[type="tel"],
	select {
		width: 100%;
		height: 40px;
		padding: 10px 15px;
	}
	.label--ckeck-txt {
		padding-left: 0;
	}
	.label--ckeck-txt::before {
		top: -1px;
		left: -32px;
		width: 24px;
		height: 24px;
	}
	input[type="checkbox"]:checked + .label--ckeck-txt::after {
		content: '';
		display: block;
		position: absolute;
		top: 2px;
		left: -24px;
		width: 8px;
		height: 16px;
		transform: rotate(40deg);
		border-bottom: 4px solid #FF4F4F;
		border-right: 4px solid #FF4F4F;
	}

	.label--radio-txt {
		display: inline-block;
		position: relative;
		padding-left: 36px;
	}
	.label--radio-txt::before {
		top: -1px;
		left: 0;
		width: 24px;
		height: 24px;
		border: 3px solid #A7A7A7;
		border-radius: 12px;
	}
	input[type="radio"]:checked + .label--radio-txt::after {
		top: 5px;
		left: 6px;
		width: 12px;
		height: 12px;
		border-radius: 6px;
	}
	.radio-list li + li {
		margin-left: 40px;
	}
	select {
		background: url('data:image/svg+xml;base64,PHN2ZyANCiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQogd2lkdGg9IjE1cHgiIGhlaWdodD0iMTBweCI+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiICBmaWxsPSJyZ2IoMjcsIDI3LCAyNykiDQogZD0iTTcuNTAwLDkuOTA1IEwwLjAwMSwwLjEwMiBMMTQuOTk5LDAuMTAyIEw3LjUwMCw5LjkwNSBaIi8+DQo8L3N2Zz4=') no-repeat 98% center #EDEFF2;
		background-size: 12px 8px;
	}
	textarea {
		height: 160px;
		padding: 10px 15px;
	}
	.for-pc {
		display: none!important;
	}
	.for-sp {
		display: block!important;
	}

}

@media screen and (min-width: 768px) {
	body {
		min-width: 1000px;
	}
	a:hover {
		text-decoration: none;
	}
	a img {
		vertical-align: top;
		text-decoration: none;
		-webkit-transition: opacity 0.2s ease-out;
		-moz-transition: opacity 0.2s ease-out;
		-o-transition: opacity 0.2s ease-out;
		-ms-transition: opacity 0.2s ease-out;
		transition: opacity 0.2s ease-out;
	}
	a:hover img {
		opacity: 0.7;
		filter: alpha( opacity=70 ); /* IE 6,7 */
		-ms-filter: "alpha( opacity=70 )"; /* IE8 */
	}
}


/*-----------------------------------------------------------------
	基本パーツ
-----------------------------------------------------------------*/
/* .blc-inner */
.blc-inner {
	width: 1000px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.blc-inner {
		width: auto;
		margin-right: 3.125%;
		margin-left: 3.125%;
	}
}


/*-----------------------------------------------------------------
	モジュール
-----------------------------------------------------------------*/
.page-header {
	padding: 72px 0 0;
	height: 400px;
}
.page-header.type-text {
	height: 330px;
	background: url(../img/common/bg_simple.png) repeat-x center bottom;
}
.page-header .blc-inner {
	height: 100%;
	text-align: center;
}
.page-header .blc-inner {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-align-content: center;
	overflow: hidden;
	width: 100%;
}
.page-header .page-header__head {
	width: 100%;
	-webkit-order: 0;
	order: 0;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
	-webkit-flex-basis: auto;
	flex-basis: auto;
	-webkit-align-self: auto;
	align-self: auto;
	color: #FFF;
}
.page-header .page-header__head .en {
	display: block;
	font-size: 6rem;
	font-family: 'Lobster', cursive;
	font-weight: normal;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 30px;
}
.page-header.type-text .page-header__head .en {
	color: #FF6A36;
	letter-spacing: 0.01em;
}
.page-header .page-header__head .jp {
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1;
}
.page-header.type-text .page-header__head .jp {
	color: #404040;
}
@media screen and (max-width: 767px) {
	.page-header {
		padding: 60px 0 0;
		height: 300px;
	}
	.page-header.type-text {
		height: 240px;
	}
	.page-header .blc-inner {
		height: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.page-header .blc-inner {
		width: 100%;
	}
	.page-header .page-header__head {
		color: #FFF;
	}
	.page-header .page-header__head .en {
		font-size: 5rem;
		font-family: 'Lobster', cursive;
		margin-bottom: 15px;
	}
	.page-header .page-header__head .jp {
		font-size: 1.6rem;
		margin-top: 33px;
	}
}
@media screen and (max-width: 767px) {
	.page-header {
		padding: 60px 0 0;
	}
}

/* リード文 */
.lead-txt {
	margin-bottom: 30px;
	font-size: 1.6rem;
	line-height: 1.875;
	text-align: center;
}
@media screen and (max-width: 767px) {

	.lead-txt {
		margin-bottom: 20px;
		font-size: 1.6rem;
		line-height: 1.8;
	}
}

/* ボタン 色 オレンジ */
.btn-color--orange-line {
	display: block;
	width: 100%;
	padding: 20px 0;
	background-color: #FF6A36;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1;
	position: relative;
}
span.contact-arrow-w::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_w_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 20px;
	right: 10px;
}
.btn-color--orange-line:hover {
	background: rgba(255,106,54,0.7);
}
@media screen and (max-width: 767px) {
	.btn-color--orange-line {
		padding: 16px 0;
		font-size: 1.6rem;
	}
	span.contact-arrow-w::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 13px;
		background: url(../img/common/arrow_w_sp.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 18px;
		right: 10px;
	}
}

/* ボタン 色 グレー */
.btn-color--gray-line {
	display: block;
	width: 100%;
	padding: 20px 0;
	background-color: #CCC;
	color: #000;
	font-size: 1.8rem;
	line-height: 1;
	position: relative;
}

.btn-color--gray-line span.contact-arrow-b::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_b_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 20px;
	right: 10px;
}
.btn-color--gray-line:hover {
	background: rgba(204,204,204,0.7);
}
@media screen and (max-width: 767px) {
	.btn-color--gray-line {
		padding: 16px 0;
		font-size: 1.6rem;
		position: relative;
	}
	.btn-color--gray-line span.contact-arrow-b::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 13px;
		background: url(../img/common/arrow_b_sp.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 18px;
		right: 10px;
	}
}


/* フォームボタンリスト */
.form-btn-list {
	text-align: center;
}
.form-btn-list li {
	display: inline-block;
	margin: 0 10px;
	width: 260px;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	.form-btn-list li {
		display: block;
		margin: 0 auto;
	}
	.form-btn-list li + li {
		margin-top: 10px;
	}
}

/* 問合せボタンリスト */
.contact-btn-list {
	vertical-align: middle;
	text-align: center;
	line-height: 1;
}
.contact-btn-list li {
	display: inline-block;
	width: 240px;
	margin: 0 10px;
	line-height: 1;
	position: relative;
}
.contact-btn-list li a {
}
.contact-btn-list li a.btn-contact--solo {
	display: block;
	height: 50px;
	color: #FFF;
	background: #FF6A36;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 50px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.contact-btn-list li span.top-arrow-w::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_w_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 16px;
	right: 10px;
}
.contact-btn-list li a.btn-contact--solo:hover {
	background: rgba(255,106,54,0.7);
}
.contact-btn-list li a.btn-contact--company {
	display: block;
	height: 50px;
	color: #FF6A36;
	background: #FFF;
	text-align: center;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 50px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.contact-btn-list li span.top-arrow-o::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_o_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 16px;
	right: 10px;
}.contact-btn-list li a.btn-contact--company:hover {
	background: rgba(255,255,255,0.7);
}
@media screen and (max-width: 767px) {
	.contact-btn-list {
		width: 62.5%;
		margin: 0 auto;
	}
	.contact-btn-list li {
		display: inline-block;
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.contact-btn-list li + li {
		margin-top: 10px;
	}
	.contact-btn-list li a.btn-contact--solo {
		height: 40px;
		font-size: 1.2rem;
		line-height: 40px;
	}
	.contact-btn-list li span.top-arrow-w::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 13px;
		background: url(../img/common/arrow_w_sp.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 13px;
		right: 8px;
	}
	.contact-btn-list li a.btn-contact--company {
		height: 40px;
		font-size: 1.2rem;
		line-height: 40px;
	}
	.contact-btn-list li span.top-arrow-o::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 13px;
		background: url(../img/common/arrow_o_sp.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 13px;
		right: 8px;
	}
}

/* 案件リスト */
.case-list {

}
.case-list__box {
	float: left;
	width: 48%;
	margin: 20px 4% 20px 0;
	border: 1px solid #EAE6E6;
	background: url(../img/case/bg_caselist.png) no-repeat right bottom #FFF;
}
.case-list__box:nth-child(2n) {
	margin-right: 0;
}
.case-list__head {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-align-items: center;
	align-items: center;
	-webkit-align-content: flex-start;
	align-content: flex-start;
	overflow: hidden;
	width: 100%;
	padding: 20px 20px 15px;
	color: #FFF;
	font-size: 2rem;
	line-height: 1.5;
}
.type-engineer .case-list__head {
	background: #FD4A34;
}
.type-designer .case-list__head {
	background: #D51900;
}
.type-director .case-list__head {
	background: #FFB400;
}
.case-list__cat-icon {
	width: 92px;
	-webkit-order: 0;
	order: 0;
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-webkit-flex-shrink: 0;
	flex-shrink: 0;
	-webkit-flex-basis: auto;
	flex-basis: auto;
	-webkit-align-self: auto;
	align-self: auto;
}
.case-list__cat-icon img {
	display: block;
	margin: 0 auto 0 0;
}
.case-list__head__txt {
	width: auto;
	margin-top: -5px;
	-webkit-order: 0;
	order: 0;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
	-webkit-flex-basis: auto;
	flex-basis: auto;
	-webkit-align-self: auto;
	align-self: auto;
}
.case-list__body {
	padding: 20px 20px;
}
.case-list__title {
	margin-bottom: 13px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
}
.case-list__outline {
}
.case-list__outline__head {
	margin: -0.25em 0 0.5em;
	color: #FD4A34;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5;
}
.case-list__outline__content ul {
	font-size: 1.3rem;
	line-height: 2;
}
.case-list__outline__content ul {
	list-style: disc;
	margin-left: 1.5em;
}
.condition-list {
	font-size: 1.6rem;
	line-height: 2;
}
.condition-list__head {
	float: left;
	clear: left;
	width: 5.5em;
	color: #FD4A34;
	font-weight: bold;
}
.btn--case-contact {
	max-width: 180px;
	margin: 0 auto;
	position: relative;
}

.btn--case-contact span.case-arrow::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_w_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 12px;
	right: 10px;
}

.btn--case-contact a {
	display: block;
	padding: 12px 0;
	color: #FFF;
	background: #2D2D2D;
	box-shadow: 0px 3px 0px 0px rgb(12, 12, 12);
	font-size: 1.5rem;
	line-height: 1;
	text-align: center;
}
.btn--case-contact a:hover {
	background: rgba(45,45,45,0.7);
	box-shadow: 0px 3px 0px 0px rgba(12,12,12,0.7);
}
@media screen and (max-width: 767px) {
	.case-list__box {
		float: none;
		width: auto;
		margin: 20px 0 20px 0;
		background: url(../img/case/bg_caselist.png) no-repeat right bottom #FFF;
	}
	.case-list__head {
		padding: 10px 16px 5px;
		color: #FFF;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.case-list__cat-icon {
		width: 92px;
	}
	.case-list__head__txt {
		width: auto;
		margin-top: -5px;
	}
	.case-list__body {
		padding: 20px 20px;
	}
	.case-list__title {
		margin-bottom: 13px;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
	}
	.case-list__outline {
	}
	.case-list__outline__head {
		margin: -0.25em 0 0.5em;
		font-size: 1.3rem;
		line-height: 1.5;
	}
	.case-list__outline__content ul {
		font-size: 1.3rem;
		line-height: 2;
	}
	.condition-list {
		font-size: 1.6rem;
		line-height: 2;
	}
	.condition-list__head {
		float: left;
		clear: left;
		width: 5.5em;
	}
	.btn--case-contact {
		max-width: 180px;
		margin: 0 auto;
	}
	.btn--case-contact span.case-arrow::after {
		content: "";
		display: inline-block;
		width: 8px;
		height: 13px;
		background: url(../img/common/arrow_w_sp.png) no-repeat;
		background-size: contain;
		vertical-align: middle;
		position: absolute;
		top: 13px;
		right: 10px;	}
	.btn--case-contact a {
		padding: 12px 0;
		box-shadow: 0px 3px 0px 0px rgb(12, 12, 12);
		font-size: 1.5rem;
	}

}



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

}



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

}





/*-----------------------------------------------------------------
	header
-----------------------------------------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
}
header .header-inner {
	background: transparent;
	-webkit-transition: background 0.2s ease-out;
	-moz-transition: background 0.2s ease-out;
	-o-transition: background 0.2s ease-out;
	-ms-transition: background 0.2s ease-out;
	transition: background 0.2s ease-out;
}
header.is-fixed {
}
header.is-fixed .header-inner {
	/*position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	height: 70px;*/
	background: #404040;
}
header a {
	color: #FFF;
}
header .blc-inner {
	position: relative;
	width: auto;
	max-width: none;
	height: 70px;
	padding: 0 0 0 20px;
}
.header__logo {
	position: absolute;
	top: 15px;
	left: 20px;
	width: 193px;
	height: 42px;
}
.header__menu-list {
	text-align: right;
}
.header__menu-list li {
	display: inline-block;
	height: 70px;
	margin: 0 40px 0 0;
	font-size: 1.5rem;
	line-height: 70px;
	vertical-align: middle;
}
.header__menu-list li.type-btn {
	width: 200px;
	height: 70px;
	margin: 0 0 0;
	position: relative;
}
.header__menu-list li:not(.type-btn) a {
	text-shadow: 0px 0px 5px rgba(49,51,51,0.2);
	-webkit-transition: color 0.2s ease-out;
	-moz-transition: color 0.2s ease-out;
	-o-transition: color 0.2s ease-out;
	-ms-transition: color 0.2s ease-out;
	transition: color 0.2s ease-out;
}
.header__menu-list li a.btn-contact--solo {
	display: block;
	height: 70px;
	color: #FFF;
	background: #FF6A36;
	text-align: center;
	font-weight: bold;
	line-height: 70px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.header__menu-list li.type-btn span.top-arrow-w::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_w_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 26px;
	right: 10px;
}

.header__menu-list li a.btn-contact--company {
	display: block;
	height: 70px;
	color: #FF6A36;
	background: #FFF;
	text-align: center;
	font-weight: bold;
	line-height: 70px;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-o-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.header__menu-list li.type-btn span.top-arrow-o::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_o_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 26px;
	right: 10px;
}
.header__menu-list li:last-child {
	margin-right: 0;
}
@media screen and (min-width: 768px) {
	.header__menu-list li:not(.type-btn) a:hover {
		color: #FF6A36;
	}
}
@media screen and (max-width: 767px) {
	/*body.is-open header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: auto;
		height: 60px;
		z-index: 150;
	}*/
	body header.is-fixed {
		/*
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		*/
		height: 0;
	}
	header.is-fixed .header-inner {
		background: #404040;
	}
	header .blc-inner {
		position: relative;
		height: 60px;
		padding: 10px 0;
	}
	.header__logo {
		position: absolute;
		top: 10px;
		left: 0;
		width: 184px;
		height: 40px;
		z-index: 10;
	}
	header .header__menu-list {
		display: none;
	}
	body.is-open .header__logo img {
		display: none;
	}
	body.is-open .header__logo--sp {
		display: block;
		height: 60px;
		margin-right: 3.125%;
		margin-left: 3.125%;
		padding: 10px 0;
		-webkit-animation: 0.3s linear 0.4s 1 normal both running opacity-change;
		animation: 0.3s linear 0.4s 1 normal both running opacity-change;
		z-index: 125;
	}
	body.is-open .header__logo--sp img {
		display: block;
		width: 184px;
		height: 40px;
	}

}


/*-----------------------------------------------------------------
	navi
-----------------------------------------------------------------*/
nav {
	display: none;
}
.nav__burger__btn,
.nav__burger__btn span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.nav__burger {
	display: none;
	position: fixed;
	top: 0;
	left: auto;
	right: 0;
	width: auto;
	height: 60px;
	padding: 8px 8px;
	z-index: 150;
}
.nav__burger__btn {
	display: none;
	position: relative;
	width: 44px;
	height: 44px;
	padding: 0 10px;
	background: #FF6A36;
	z-index: 150;
}
.nav__burger__btn span {
	position: absolute;
	right: 10px;
	left: 10px;
	width: auto;
	height: 2px;
	background-color: #fff;
}
.nav__burger__btn span:nth-of-type(1) {
	top: 12px;
}
.nav__burger__btn span:nth-of-type(2) {
	top: 21px;
}
.nav__burger__btn span:nth-of-type(3) {
	bottom: 12px;
}
.nav__burger__btn.is-open span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
}
.nav__burger__btn.is-open span:nth-of-type(2) {
	opacity: 0;
}
.nav__burger__btn.is-open span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
}

.nav__overlay {
	display: block;
	position: fixed;
	top: auto;
	bottom: -100%;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: #404040;
	z-index: 100;
}
.nav__overlay.is-open {
	top: 0;
	bottom: 0;
	left: 0;
	-webkit-animation: 0.4s linear 0s 1 normal both running nav-overlay;
	animation: 0.4s linear 0s 1 normal both running nav-overlay;
}
@-webkit-keyframes nav-overlay {
	0% {
		-webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	}
	25% {
		-webkit-clip-path: polygon(0% 90%, 100% 75%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 90%, 100% 75%, 100% 100%, 0% 100%);
	}
	50% {
		-webkit-clip-path: polygon(0% 60%, 100% 45%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 60%, 100% 45%, 100% 100%, 0% 100%);
	}
	75% {
		-webkit-clip-path: polygon(0% 30%, 100% 15%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 30%, 100% 15%, 100% 100%, 0% 100%);
	}
	100% {
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
}
@keyframes nav-overlay {
	0% {
		-webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	}
	25% {
		-webkit-clip-path: polygon(0% 90%, 100% 75%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 90%, 100% 75%, 100% 100%, 0% 100%);
	}
	50% {
		-webkit-clip-path: polygon(0% 60%, 100% 45%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 60%, 100% 45%, 100% 100%, 0% 100%);
	}
	75% {
		-webkit-clip-path: polygon(0% 30%, 100% 15%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 30%, 100% 15%, 100% 100%, 0% 100%);
	}
	100% {
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	}
}
.nav__container {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: auto;
	height: 100%;
	-webkit-animation: 0.3s linear 0.4s 1 normal both running opacity-change;
	animation: 0.3s linear 0.4s 1 normal both running opacity-change;
	z-index: 125;
}
.nav__container.is-open {
	display: block;
}
@-webkit-keyframes opacity-change {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes opacity-change {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.nav__menu {
	border-top: 1px solid #999;
}
.nav__menu li {
	border-bottom: 1px solid #999;
}
.nav__menu a {
	display: block;
	padding: 18px 15px;
	color: #FFF;
	font-size: 1.4rem;
	line-height: 1;
	-webkit-transition: background-color 0.3s ease-out;
	-moz-transition: background-color 0.3s ease-out;
	-o-transition: background-color 0.3s ease-out;
	-ms-transition: background-color 0.3s ease-out;
	transition: background-color 0.3s ease-out;
}
@media screen and (min-width: 768px) {
	.nav__menu a:hover {
		background-color: #DA2115;
	}
}
@media screen and (max-width: 767px) {
	nav {
		display: block;
	}
	.nav__burger {
		display: block;
	}

	.nav__menu a {
		padding: 18px 3.125%;
	}
	header .nav__burger__btn {
		display: block;
		position: fixed;
		top: 8px;
		left: auto;
		right: 8px;
		width: 44px;
		height: 44px;
	}
}

/*-----------------------------------------------------------------
	container
-----------------------------------------------------------------*/
.container {
	/*padding: 72px 0 0;*/
}
@media screen and (max-width: 767px) {
	.container {
		/*padding: 60px 0 0;*/
	}
}


/*-----------------------------------------------------------------
	top 共通スタイル
-----------------------------------------------------------------*/
.top-head {
	font-size: 3.6rem;
	line-height: 1.4;
}
.top-head + .top-txt {
	margin-top: 25px;
}
.top-txt {
	font-size: 1.6rem;
	line-height: 2;
}
.top-txt:last-child {
	margin-bottom: -0.5em;
}
.top-txt + .top-txt--small {
	margin-top: 25px;
}
.top-txt--small {
	font-size: 1.3rem;
	line-height: 2;
}
.top-txt--small:last-child {
	margin-bottom: -0.5em;
}
@media screen and (max-width: 767px) {
	.top-head {
		font-size: 2.2rem;
	}
	.top-head + .top-txt {
		margin-top: 20px;
	}
	.top-txt + .top-txt--small {
		margin-top: 20px;
	}
	.top-txt {
		font-size: 1.4rem;
		line-height: 1.8;
	}
}


/*-----------------------------------------------------------------
	top
-----------------------------------------------------------------*/
/* メインビジュアル */
.top-hero {
	padding: 70px 0 10%;
	color: #FFF;
	background: url(../img/top/bg_hero_pc.jpg) no-repeat top center;
	background-size: cover;
}
.top-hero .top-hero__head {
	margin-bottom: 30px;
	padding-top: 180px;
	font-size: 10rem;
	line-height: 1;
	text-align: center;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.3);
}
.top-hero .top-hero__head .en {
	display: block;
}
.top-hero .top-hero__head .jp {
	margin-top: 30px;
	display: block;
	font-size: 3rem;
	line-height: 1.2;
}
.top-hero .top-hero__txt {
	margin-bottom: 70px;
	text-align: center;
	font-size: 1.8rem;
	line-height: 2;
}
.top-hero .reason-txt {
	margin: 40px 0 10px;
	font-size: 2rem;
	line-height: 1.8;
	text-align: center;
	text-shadow: 0px 0px 10px rgba(0,0,0,1);
}
.top-hero .btn--scrldown a {
	display: block;
	position: relative;
	width: 76px;
	height: 76px;
	margin: 0 auto;
	border-radius: 38px;
	background: rgba(255, 255, 255, 0.3);
	text-indent: -9999px;
	z-index: 1;
}
.top-hero .btn--scrldown a::before {
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 58px;
	height: 58px;
	border-radius: 29px;
	background: rgba(255, 255, 255, 0.3);
	z-index: 5;
}
.top-hero .btn--scrldown a::after {
	content: '';
	position: absolute;
	top: 17px;
	left: 17px;
	width: 42px;
	height: 42px;
	border-radius: 21px;
	background: url(../img/top/btn_scrldown.png) no-repeat center center;
	z-index: 10;
}
@media screen and (max-width: 767px) {
.top-hero {
	padding: 70px 0 1%;
	color: #FFF;
	background: url(../img/top/bg_hero_sp.jpg) no-repeat top center;
	background-size: 100% auto;
	background-color: #1e0c0f;
}
	.top-hero .top-hero__head {
		padding-top: 30%;
		margin-bottom: 2.5%;
		font-size: 5rem;
	}
	.top-hero .top-hero__head .jp {
		margin-top: 20px;
		font-size: 1.6rem;
		line-height: 1.2;
	}
	.top-hero .top-hero__txt {
	margin-bottom: 7.5%;
	text-align: center;
	font-size: 1.4rem;
	line-height: 2;
	}
	.top-hero .reason-txt {
		margin: 30px 0 10px;
		font-size: 1.6rem;
		line-height: 1.125;
	}
.top-hero .btn--scrldown a {
	display: block;
	position: relative;
	width: 76px;
	height: 76px;
	margin: 0 auto;
	border-radius: 38px;
	background: rgba(255, 255, 255, 0.3);
	text-indent: -9999px;
	z-index: 1;
}
.top-hero .btn--scrldown a::before {
	content: '';
	position: absolute;
	top: 9px;
	left: 9px;
	width: 58px;
	height: 58px;
	border-radius: 29px;
	background: rgba(255, 255, 255, 0.3);
	z-index: 5;
}
.top-hero .btn--scrldown a::after {
	content: '';
	position: absolute;
	top: 17px;
	left: 17px;
	width: 42px;
	height: 42px;
	border-radius: 21px;
	background: url(../img/top/btn_scrldown.png) no-repeat center center;
	z-index: 10;
}

}

/* サポート */
.top-support {
	margin-top: -20%;
	padding: 30% 0 23%;
	background: url(../img/top/bg_support_pc.png) no-repeat top center;
	background-size: cover;
	color: #FFF;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.3);
}
.top-support .txt-wrapper {
	width: 56%;
	margin: 0 0 0 auto;
}
.top-support .top-support__skill-icon {
	margin-top: 25px;
}
.top-support figure img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.top-support {
		margin-top: -15%;
		background: url(../img/top/bg_support_sp.png) no-repeat top center;
		background-size: 100% auto;
		padding-bottom: 35%;
	}
	.top-support .txt-wrapper {
		width: auto;
		margin: 0 auto;
		padding-top: 75%;
	}
	.top-support .txt-wrapper .top-head {
		text-align: center;
	}
}

/* 上流工程 */
.top-upstream {
	margin-top: -28%;
	padding: 15% 0 20%;
	background: url(../img/top/bg_upstream_pc.png) no-repeat top center;
	background-size: cover;
	color: #0D0D0D;
}
.top-upstream .txt-wrapper {
	width: 66%;
	margin: 0 auto 0 0;
	padding-top: 5%;
}
.top-upstream figure {
	margin-top: 25px;
}
.top-upstream figure img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto 0 10%;
}

@media screen and (max-width: 767px) {
	.top-upstream {
		background: url(../img/top/bg_upstream_sp.png) no-repeat top center;
		background-size: 100% auto;
		padding-bottom: 28%;
	}
	.top-upstream .txt-wrapper {
		width: auto;
		margin: 0 auto;
		padding-top: 85%;
	}
	.top-upstream .txt-wrapper .top-head {
		text-align: center;
	}
	.top-upstream figure {
		margin-top: 20px;
	}
	.top-upstream figure img {
		width: auto;
		width: 84.375%;
		height: auto;
		margin: 0 auto;
	}
}

/* キャリアアップ */
.top-careerup {
	margin-top: -30%;
	padding: 20% 0 30%;
	background: url(../img/top/bg_careerup_pc.png) no-repeat top center;
	background-size: cover;
	color: #FFF;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.3);
}
.top-careerup .txt-wrapper {
	width: 37%; /*41*/
	margin: 0 0 0 auto;
	margin-top: 70px;
}
@media screen and (max-width: 767px) {
	.top-careerup {
		background: url(../img/top/bg_careerup_sp.png) no-repeat top center;
		background-size: 100% auto;
		padding-bottom: 47%;
	}
	.top-careerup .txt-wrapper {
		width: auto;
		margin: 0 auto;
		padding-top: 75%;
	}
	.top-careerup .txt-wrapper .top-head {
		text-align: center;
	}
}

/* 流れ */
.top-flow {
	position: relative;
	/*padding: 0 0 7.5%;*/
	color: #FFF;
	background: #353535;
	margin-bottom: -50px;
}
.top-flow::before {
	content: '';
  position: absolute;
  top: -85%;
  left: 0;
  width: 120%;
  height: 100%;
  margin: 0 -10% 0;
  background: #353535;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
  transform: rotate(15deg);
}
.top-flow .blc-inner {
	/*margin-top: -3.846153%;*/
	position: relative;
	top: -150px;
}
.top-flow .top-head {
	margin-bottom: 15px;
	text-align: center;
}
.step-list {
	margin: 15px 0 60px;
}
.step-list li {
	display: inline-block;
	width: auto;
	vertical-align: top;
}
.step-list li:nth-child(1) {
	width: 334px;
}
.step-list li:nth-child(2) {
	width: 333px;
}
.step-list li:nth-child(3) {
	width: 333px;
}
.step-list li img {
	display: block;
}
@media screen and (max-width: 767px) {
	.top-flow {
		padding: 7.5% 0 7%;
		margin-bottom: -130px;
	}
	.top-flow::before {
		top: -15%;
		width: 150%;
		height: 15%;
		background-size: 100% 100%;
	}
	.top-flow .blc-inner {
		margin-top: 0;
		padding-top: 30%;
	}
	.top-flow .top-head {
		margin-bottom: 15px;
	}
	.step-list {
		margin: 15px 0 60px;
	}
	.step-list li {
		display: block;
		width: auto;
	}
	.step-list {
		margin: 15px 0 40px;
	}
	.step-list li {
		display: block;
		width: auto;
		text-align: center;
		vertical-align: top;
	}
	.step-list li:nth-child(1),
	.step-list li:nth-child(2),
	.step-list li:nth-child(3) {
		width: auto;
	}
	.step-list li:nth-child(2),
	.step-list li:nth-child(3) {
		margin-top: -28.333%;
	}
	.step-list li img {
		display: block;
		width: auto;
		max-width: 100%;
		margin: 0 auto;
	}

}

/* 案件一覧 */
.top-case {
	padding: 6% 0 7%;
	background: url(../img/top/bg_case.png) repeat top center;
	background-size: 100% auto;
}
.top-case .top-head {
	margin-bottom: 20px;
	text-align: center;
}
.top-case .btn--readmore {
	margin: 20px auto 0;
	width: 280px;
	position: relative;
}
.top-case .btn--readmore span.top-arrow-w::after {
	content: "";
	display: inline-block;
	width: 9px;
	height: 17px;
	background: url(../img/common/arrow_w_pc.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 17px;
	right: 10px;
}
.top-case .btn--readmore a {
	display: block;
	padding: 18px 0;
	color: #FFF;
	background-color: #FF6A36;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.top-case .btn--readmore a:hover {
	background: rgba(255,106,54,0.7);
}
@media screen and (max-width: 767px) {
.top-case .btn--readmore span.top-arrow-w::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 13px;
	background: url(../img/common/arrow_w_sp.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	top: 20px;
	right: 10px;
}
}

/* ビジネスパートナー */
.top-partner {
	padding: 6% 0 7%;
	background: url(../img/top/bg_partner_pc.jpg) no-repeat left center;
	background-size: cover;
	color: #FFF;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.2);
}
.top-partner .txt-wrapper {
	width: 48%;
	margin: 0 0 0 auto;
}
.top-partner .contact-btn-list {
	margin: 35px auto 0;
}
@media screen and (max-width: 767px) {
	.top-partner {
		background: url(../img/top/bg_partner_sp.jpg) no-repeat top left;
		background-size: 100% auto;
		padding: 48% 0 13%;
	}
	.top-partner .txt-wrapper {
		width: auto;
		margin: 0 auto;
	}
	.top-partner .txt-wrapper .top-head {
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.top-partner .txt-wrapper .top-txt {
		font-size: 1.4rem;
		line-height: 1.5;
	}
}


/*-----------------------------------------------------------------
	footer
-----------------------------------------------------------------*/
footer {
	padding: 40px 0 30px;
	color: #FFF;
	background-color: #353535;
}
footer a {
	color: #FFF;
}
footer .blc-inner {
	position: relative;
}
footer .footer__logo {
	text-align: center;
}
footer .footer__logo img {
	display: block;
	margin: 0 auto;
}
.footer__menu {
	margin: 30px auto 0;
	text-align: center;
	line-height: 1;
}
.footer__menu li {
	display: inline-block;
	margin: 10px 20px 10px;
	vertical-align: top;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.2);
}
.footer__menu li a {
	font-size: 1.3rem;
	-webkit-transition: color 0.2s ease-out;
	-moz-transition: color 0.2s ease-out;
	-o-transition: color 0.2s ease-out;
	-ms-transition: color 0.2s ease-out;
	transition: color 0.2s ease-out;
}
@media screen and (min-width: 768px) {
	.footer__menu li a:hover {
		color: #FF6A36;
	}
}
footer .footer__copyright {
	margin-top: 50px;
	text-align: center;
	text-shadow: 0px 0px 5px rgba(49,51,51,0.2);
	line-height: 1;
}
footer .footer__copyright small {
	font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
	footer {
		padding: 50px 0;
	}
	footer .blc-inner {
		position: static;
	}
	footer .footer__logo {
		position: static;
		width: 205px;
		height: 44px;
		margin: 0 auto 20px;
	}
	footer .footer__copyright {
		text-align: center;
	}
	footer .footer__copyright small {
		font-size: 1rem;
	}
	.footer__menu {
		margin-top: 22px;
		text-align: center;
	}
	.footer__menu li {
		display: block;
		margin: 0 0;
	}
	.footer__menu li a {
		display: block;
		padding: 10px 1em;
		font-size: 1.1rem;
	}
	.footer__menu li:first-child a {
		padding-top: 0;
	}
	.footer__menu li:last-child a {
		padding-bottom: 0;
	}
}

/* ページトップ */
.btn--pagetop {
	margin: 0 auto;
	position: relative;
}

.btn--pagetop a {
	display: block;
	width: 13%;
	position: fixed;
	bottom: 10px;
	right: 10px;
}


/*-----------------------------------------------------------------
	案件一覧
-----------------------------------------------------------------*/
.page--case .page-header {
	margin-bottom: 50px;
	background: url(../img/case/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;
}
.page--case .case {
	padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
	.page--case .page-header {
		background: url(../img/case/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	.page--case .page-header {
		margin-bottom: 30px;
	}
	.page--case .case {
		padding-bottom: 60px;
	}
}



/*-----------------------------------------------------------------

-----------------------------------------------------------------*/
.page--faq .page-header {
	background: url(../img/faq/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;
}
.page--faq .faq .blc-inner {
	max-width: 700px;
}
.page--faq .faq {
	padding: 70px 0;
}
.faq-list dt,
.faq-list dd {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	-webkit-align-content: stretch;
	align-content: stretch;
	padding: 12px 0;
}
.faq-list dt {
	position: relative;
	padding-bottom: 13px;
	font-size: 1.6rem;
	line-height: 2;
}
.faq-list dd + dt {
	margin-top: 30px;
}
.faq-list dt::before,
.faq-list dt::after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
}
.faq-list dt::before {
	width: 100%;
	background: #E1E1E1;
}
.faq-list dt::after {
	width: 15%;
	background: #FF6A36;
}
.faq-list dd {
	font-size: 1.3rem;
	line-height: 2;
}
.faq-list .faq-list__icn-q,
.faq-list .faq-list__icn-a {
	-webkit-order: 0;
	order: 0;
	-webkit-flex-grow: 0;
	flex-grow: 0;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
	-webkit-flex-basis: auto;
	flex-basis: auto;
	-webkit-align-self: auto;
	align-self: auto;
	margin: 0 1em 0 0;
	color: #FF6A36;
	font-size: 3.6rem;
	font-family: 'Lobster', cursive;
	font-weight: normal;
	line-height: 1;
}
.faq-list .faq-list__qes,
.faq-list .faq-list__ans {
	-webkit-order: 0;
	order: 0;
	-webkit-flex-grow: 1;
	flex-grow: 1;
	-webkit-flex-shrink: 1;
	flex-shrink: 1;
	-webkit-flex-basis: auto;
	flex-basis: auto;
	-webkit-align-self: auto;
	align-self: auto;
	width: auto;
}
@media screen and (max-width: 767px) {
	.page--faq .page-header {
		background: url(../img/faq/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.page--faq .faq .blc-inner {
		max-width: none;
		padding-bottom: 40px;
	}
	.page--faq .faq {
		padding: 30px 0;
	}
	.faq-list dt,
	.faq-list dd {
		padding: 11px 0;
	}
	.faq-list dt {
		padding-bottom: 11px;
		font-size: 1.6rem;
		line-height: 1.5;
	}
	.faq-list dd + dt {
		margin-top: 25px;
	}
	.faq-list dd {
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.faq-list .faq-list__icn-q,
	.faq-list .faq-list__icn-a {
		font-size: 2.8rem;
	}
}


/*-----------------------------------------------------------------

-----------------------------------------------------------------*/
.page--about .page-header {
	background: url(../img/about/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;
}
.page--about .about {
	padding: 55px 0 0;
}
.page--about .corporate-photo {
	float: right;
	width: 39%;
}
.page--about .corporate-photo img {
	display: block;
	width: 100%;
	height: auto;
	margin: 50px auto 0;
}
.page--about .line-table {
	float: left;
	table-layout: auto;
	width: 56%;
}
.page--about .line-table th,
.page--about .line-table td {
	border-collapse: collapse;
	font-size: 1.6rem;
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: left;
}
.page--about .line-table th {
	width: 5.5em;
	padding: 22px 0;
	color: #FF6A36;
	font-weight: normal;
	border-bottom: 1px solid #FF6A36;
}
.page--about .line-table td {
	padding: 22px 0 22px 2em;
	font-weight: normal;
	border-bottom: 1px solid #E1E1E1;
}
.company-img-list {
	margin:  60px 0 80px 0;
}
.company-img-list li {
	float: left;
	width: 48%;
	margin-right: 4%;
}
.company-img-list li:last-child {
	margin-right: 0;
}
.company-img-list li img {
	display: block;
	width: 100%;
	height: auto;
}
.company-map {
	background: url(../img/about/img-about-back_pc.png) no-repeat bottom;
	background-size: 100% auto;
	padding-bottom: 80px;
}

.company-map-inner {
	position: relative;
	width: 1000px;
	margin: 0 auto;
	height: 400px;
	overflow: hidden;
}
.company-map-inner iframe,
.company-map-inner object,
.company-map-inner embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.page--about .page-header {
		background: url(../img/about/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.page--about .corporate-info {
		position: relative;
	}
	.page--about .corporate-photo {
		float: none;
		width: 100%;
		margin-bottom: 25px;
	}
	.page--about .corporate-photo img {
		margin: 0 auto 0;
	}
	.page--about .about {
		padding: 3.125% 0 0;
	}
	.page--about .line-table {
		position: relative;
		float: none;
		width: auto;
	}
	.page--about .line-table th,
	.page--about .line-table td {
		display: block;
		font-size: 1.4rem;
		line-height: 1.5;
	}
	.page--about .line-table th {
		width: 100%;
		padding: 15px 0;
		border-top: 1px solid #FF6A36;
		border-bottom: 1px solid #CCCCCC;
	}
	.page--about .line-table td {
		padding: 15px 0;
		border-bottom: 0;
	}
	.company-img-list {
		margin: 30px 0;
	}
	.company-img-list li {
		float: none;
		width: auto;
		margin-right: 0;
	}
	.company-img-list li + li {
		margin-top: 10px;
	}
	.company-map {
		background: url(../img/about/img-about-back_sp.png) no-repeat bottom;
		background-size: 100% auto;
		padding-bottom: 75px;
	}
	.company-map-inner {
		width:  auto;
		margin-right: 3.125%;
		margin-left: 3.125%;
		height: 0;
		padding-bottom: 68.75%;
	}
}


/*-----------------------------------------------------------------
	お問合せ
-----------------------------------------------------------------*/
.page--contact {

}
.page--contact .contact-header {
	padding-top: 70px;
	margin-bottom: 40px;
	color: #FF6A36;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}
.page--contact_solo .page-header {
	background: url(../img/contact_solo/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;	
}
.page--contact_company .page-header {
	background: url(../img/contact_company/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;	
}
.page--contact h1.page-header__head {
	color: #FFFFFF;
}
.page--contact .contact-form {
	padding: 50px 0 160px;
}
.page--contact .lead-txt {
	margin-bottom: 40px;
}
.page--contact .contact-table {
	table-layout: auto;
	width: 100%;
	margin: 0 auto 50px;
}
.page--contact .contact-table th,
.page--contact .contact-table td {
	padding: 20px 0;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.5;
	border-bottom: 1px solid #EAE7E7;
}
.page--contact .contact-table th {
	width: 18.75em;
	padding-left: 5.625em;
	text-align: left;
}
.page--contact .contact-table.type-confirm th {
	width: 15em;
	border-bottom: 1px solid #FF6A36;
	padding-left: 0;
}
.page--contact .contact-table th.type-required {
	padding-left: 0;
	color: #FF6A36;
}
.page--contact .contact-table th.type--va-top {
	padding-top: 24px;
	vertical-align: top;
}
.page--contact .contact-table.type-confirm td {
	padding-left: 30px;
}
.page--contact .icn-required {
	display: inline-block;
	width: 3.75em;
	margin-right: 1.875em;
	padding: 8px 0;
	background: #FF4F4F;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}
.page--contact .txt-agreement {
	margin: 50px 0 70px;
	font-size: 1.6rem;
	line-height: 1.5;
	text-align: center;
}
.page--contact .txt-agreement a {
	color: #333;
	text-decoration: underline;
}
.page--contact .txt-contact {
	margin: 20px 0 30px;
	font-size: 1.6rem;
	line-height: 2;
	text-align: center;
}
.page--contact .form-txt {
	margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
	.page--contact .txt-agreement a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width: 767px) {
	.page--contact {

	}
	.page--contact .contact-header {
		padding-top: 80px;
		margin-bottom: 50px;
		font-size: 2.4rem;
		color: #FF6A36;
		line-height: 1;
		text-align: center;
	}
	.page--contact_solo .page-header {
		background: url(../img/contact_solo/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.page--contact_company .page-header {
		background: url(../img/contact_company/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.page--contact .contact-form {
		padding: 30px 0 50px;
	}
	.page--contact .lead-txt {
		margin-bottom: 20px;
	}
	.page--contact .contact-table {
		margin: 0 auto 30px;
	}
	.page--contact .contact-table th,
	.page--contact .contact-table td {
		display: block;
		font-size: 1.4rem;
		border: 0;
	}
	.page--contact .contact-table th {
		width: 100%;
		padding: 15px 0 5px;
		border-bottom: 0;
	}
	.page--contact .contact-table.type-confirm th {
		width: 100%;
		padding-bottom: 15px;
		border-top: 1px solid #FF6A36;
		border-bottom: 1px solid #CCCCCC;
	}
	.page--contact .contact-table th.type-required {
		color: #FF6A36;
		padding-left: 0;
	}
	.page--contact .contact-table th.type--va-top {
		padding-top: 10px;
	}
	.page--contact .contact-table.type-confirm td {
		padding-left: 0;
	}
	.page--contact .contact-table td {
		padding: 15px 0;
	}
	.page--contact .icn-required {
		width: 3.75em;
		margin-right: 1em;
		padding: 6px 0;
		font-size: 1.2rem;
	}
	.page--contact .txt-agreement {
		margin: 20px 0 30px;
		padding-left: 32px;
		font-size: 1.4rem;
		line-height: 1.5;
		text-align: left;
	}
	.page--contact .txt-contact {
		margin: 20px 0 30px;
		font-size: 1.4rem;
		line-height: 1.5;
		text-align: left;
	}
}


/*-----------------------------------------------------------------
	プライバシーポリシー
-----------------------------------------------------------------*/
.page--privacy .page-header {
	background: url(../img/privacy/img_hero_pc.jpg) no-repeat center center;
	background-size: cover;	
}
.page--privacy .privacy-txt {
	padding: 55px 0 80px;
}
.page--privacy .privacy-txt .blc-inner {
	width: 700px;
	margin: 0 auto;
}
.page--privacy .privacy-txt .page-privacy__unit {
	margin-bottom: 60px;
}
.page--privacy .privacy-txt .page-privacy__unit_nomal {
	margin-bottom: 60px;
}
.page--privacy .privacy-txt .page-privacy__head {
	margin-bottom: 20px;
}
.page--privacy .txt-box + .txt-box {
	margin-top: 30px;
}
.page--privacy .txt-box__head {
	color: #FF6A36;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
}
.page--privacy .txt-box__head + p {
	margin-top: 20px;
}
.page--privacy .txt-box p {
	font-size: 1.3rem;
	line-height: 2;
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.page--privacy .page-privacy__unit_nomal .txt-box p {
	padding-left: 0;
	text-indent: 0;
	line-height: 2;
}
.page--privacy .txt-box:first-child p {
	padding-left: 0;
	text-indent: 0;
}
.page--privacy .date-box {
	margin-top: 40px;
}
.page--privacy .date-box p {
	text-align:  right;
}
.page--privacy .note-box {
	margin-top: 30px;
}
.page--privacy .note-box__head {
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 2;
}
.page--privacy .note-box p {
	font-size: 1.3rem;
	line-height: 2;
	text-align: right;
}
@media screen and (max-width: 767px) {
	.page--privacy .page-header {
		background: url(../img/privacy/img_hero_sp.jpg) no-repeat center center;
		background-size: cover;	
	}
	.page--privacy .privacy-txt .blc-inner {
		width: auto;
		margin-right: 3.125%;
		margin-left: 3.125%;
	}
}
