@charset "utf-8";

/* header */
header {
	width: 100%;
	max-width: 1000px;
	height: 220px;
	padding: 2em 10px;
	margin: 0 auto;
	position: relative;
}
.home header {
	height: 100vh;
}
header a,
header img {
	display: block;
	width: 100%;
}
header h1 {
	width: 90%;
	max-width: 418px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.home header h1 {
	max-width: 443px;
	top: 40%;
}
header p {
	color: #fff;
	font-weight: bold;
}
header > a {
	width: 90%;
	max-width: 66px;
	position: absolute;
	top: 70%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

/* navi */
#globalNavi {
	background-color: #3c73c6;
	padding: 20px 0 10px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 10;
}
#homeNavi {
	background-image: url(../img/home/bg_navi.png);
	width: 100%;
	padding: 50px 10px 40px;
}
@media screen and (max-width: 960px) {
	#globalNavi,
	#homeNavi {
		display: none;
	}
}
#globalNavi a,
#globalNavi img {
	display: block;
	width: 100%;
}
#globalNavi nav {
	max-width: 960px;
	margin: 0 auto;
}
#globalNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#globalNavi li {
	width: 16.66%;
}
#homeNavi a,
#homeNavi img {
	display: block;
	width: 100%;
}
#homeNavi nav {
	width: 100%;
	max-width: 852px;
	margin: 0 auto;
}
#homeNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-left: -38px;
}
#homeNavi li {
	width: 16.66%;
	padding-left: 38px;
	font-size: 114%;
	text-align: center;
}
#homeNavi a:hover {
	color: #3c73c6;
}
#homeNavi img {
	margin-bottom: 1.5em;
}

/* spNavi */
#spNavi {
	display: none;
}
@media screen and (max-width: 960px) {
	#spNavi {
		display: block;
	}
}
#spNavi > dt {
	width: 60px;
	height: 60px;
	position: fixed;
	top: 10px;
	right: 10px;
}
#spNavi > dt img {
	display: block;
	width: 100%;
	cursor: pointer;
}
#spNavi > dd {
	background-color: rgba(255,255,255,.9);
	width: 100%;
	padding: 20px;
	border: 3px solid #3c73c6;
	position: fixed;
	top: 0;
	left: 0;
	-webkit-transition: .2s;
	transition: .2s;
}
#spNavi.open > dd {
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
#spNavi.close > dd {
	-webkit-transform: translateY(-150%);
	transform: translateY(-150%);
}
#spNavi ul {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: 1px solid #646464;
	border-left: 1px solid #646464;
}
#spNavi li {
	border-right: 1px solid #646464;
	border-bottom: 1px solid #646464;	
	padding: 0 0 1px 1px;
}
#spNavi li a {
	display: block;
	font-size: 80%;
}
#spNavi li a {
	padding: .5em 1em .5em 2.5em;
	position: relative;
}
#spNavi li a:before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.5em;
	height: 1.5em;
	position: absolute;
	top: .5em;
	left: .5em;
}
#spNavi dl li a:before {
	top: .7em;
}
#spNavi > dd > ul li {
	width: 33.33%;
}
#spNavi dl li {
	width: 50%;
}
#spNavi > dd > ul li:nth-child(1) a:before {
	background-image: url(../img/ico_spnavi01.svg);
}
#spNavi > dd > ul li:nth-child(2) a:before {
	background-image: url(../img/ico_spnavi02.svg);
}
#spNavi > dd > ul li:nth-child(3) a:before {
	background-image: url(../img/ico_spnavi03.svg);
}
#spNavi > dd > ul li:nth-child(4) a:before {
	background-image: url(../img/ico_spnavi04.svg);
}
#spNavi > dd > ul li:nth-child(5) a:before {
	background-image: url(../img/ico_spnavi05.svg);
}
#spNavi > dd > ul li:nth-child(6) a:before {
	background-image: url(../img/ico_spnavi06.svg);
}
#spNavi dl li:nth-child(1) a:before {
	background-image: url(../img/ico_navi01.svg);
}
#spNavi dl li:nth-child(3) a:before {
	background-image: url(../img/ico_navi02.svg);
}
#spNavi dl li:nth-child(5) a:before {
	background-image: url(../img/ico_navi03.svg);
}
#spNavi dl li:nth-child(7) a:before {
	background-image: url(../img/ico_navi04.svg);
}
#spNavi dl li:nth-child(2) a:before,
#spNavi dl li:nth-child(4) a:before,
#spNavi dl li:nth-child(6) a:before {
	background-image: url(../img/ico_navi05.svg);
}
#spNavi dl {
	margin-top: 1em;
}
#spNavi dl dt {
	background-color: #3c73c6;
}
#spNavi dl dt a {
	display: block;
	color: #fff;
	text-align: center;
}
#spNavi > dd > a,
#spNavi > dd > a img,
#spNavi > dd > img {
	display: block;
	width: 100%;
	margin: 2em auto 0;
}
#spNavi > dd > a {
	max-width: 410px;
}
#close {
	max-width: 81px;
	cursor: pointer;
}

/* keyvisual */
#keyvisual {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	width: 100vw;
	height: 220px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
.home #keyvisual {
	background-image: url(../img/home/img_keyvisual.jpg);
	height: 100vh;
}
.about #keyvisual {
	background-image: url(../img/about/img_keyvisual.jpg);
}
.business #keyvisual {
	background-image: url(../img/business/img_keyvisual.jpg);
}
.professionals #keyvisual {
	background-image: url(../img/professionals/img_keyvisual.jpg);
}
.contact #keyvisual {
	background-image: url(../img/contact/img_keyvisual.jpg);
}
.recruit #keyvisual {
	background-image: url(../img/recruit/img_keyvisual.jpg);
}
.consulting #keyvisual {
	background-image: url(../img/consulting/img_keyvisual.jpg);
}

/* wrapper */
#wrapper {
	background-color: #fff;
}

/* container */
#container {
	width: 100%;
	max-width: 1000px;
	padding: 80px 10px;
	margin: 0 auto;
	overflow: hidden;
}

/* contents */
#contents {
	width: calc(100% - 360px);
	float: left;
}
@media screen and (max-width: 960px) {
	#contents {
		width: 100%;
		float: none;
	}
}

/* side */
#sideNavi {
	width: 300px;
	float: right;
}
@media screen and (max-width: 960px) {
	#sideNavi {
		display: none;
	}
}
#sideNavi dt {
	background: #dbdbdb url(../img/bg_side.svg) no-repeat left center;
	background-size: contain;
	color: #fff;
	font-size: 112%;
	font-weight: bold;
	line-height: 28px;
	padding-left: 1em;
	margin-bottom: 2em;
}
#sideNavi dt a {
	display: block;
	color: #fff;
}
#sideNavi dt a:hover {
	color: #ffda00;
}
#sideNavi li {
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	font-size: 148%;
	border-bottom: 1px dotted #646464;
	position: relative;
}
#sideNavi li a {
	display: block;
	padding: .5em 0 .5em 42px;
	-webkit-transition: .2s;
	transition: .2s;
}
#sideNavi li a:hover {
	background-color: #eee;
}
#sideNavi li a:before {
	content: "";
	background-size: cover;
	width: 34px;
	height: 30px;
	position: absolute;
	top: .6em;
	left: 0;
}
#sideNavi li:nth-child(1) a:before {
	background-image: url(../img/ico_navi01.svg);
}
#sideNavi li:nth-child(2) a:before {
	background-image: url(../img/ico_navi02.svg);
}
#sideNavi li:nth-child(3) a:before {
	background-image: url(../img/ico_navi03.svg);
}
#sideNavi li:nth-child(4) a:before {
	background-image: url(../img/ico_navi04.svg);
}
#sideNavi li:nth-child(5) a:before,
#sideNavi li:nth-child(6) a:before,
#sideNavi li:nth-child(7) a:before {
	background-image: url(../img/ico_navi05.svg);
}
#sideNavi dd+dt {
	margin-top: 3em;
}
#sideNavi img {
	display: block;
	width: 258px;
	margin: 0 auto 1em;
}
#sideNavi dd+dt+dd {
	text-align: center;
	padding-bottom: 2em;
	border-bottom: 1px dotted #646464;
}

/* greeting */
/*
#greeting {
	background-color: #3c73c6;
	padding: 70px 10px;
}
#greeting article {
	width: 100%;
	max-width: 640px;
	color: #fff;
	padding-left: 190px;
	margin: 0 auto;
	position: relative;
}
#greeting h2 {
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	color: #ffda00;
	font-size: 214%;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (max-width: 640px) {
	#greeting article {
		padding-left: 0;
	}
	#greeting h2 {
		position: relative;
		top: 0;
		left: 0;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}
#greeting p {
	text-align: justify;
}
*/
.greeting {
	border-top: 2px dotted #3c73c6;
}
.greeting section {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 40px 0;
	border-bottom: 2px dotted #3c73c6;
}
.greeting h3 {
	width: 140px;
}
.greeting p {
	width: calc(100% - 140px);
}
@media screen and (max-width: 640px) {
	.greeting h3 {
		width: 100%;
	}
	.greeting p {
		width: 100%;
		margin-top: 1em;
	}
}
.sign {
	display: block;
	width: 100%;
	max-width: 190px;
	margin: 0 0 0 auto;
}

/* Consulting */
.consulting-outer {
	padding-top: 5em;
	margin-top: 5em;
	border-top: 2px dotted #3c73c6;
}
.consulting-outer .title01 {
	padding-bottom: 0;
	border: none;
}
.consulting-list > li {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between;
	margin-top: 80px;
}
.consulting-list figure {
	margin: 0;
}
.consulting-list img {
	display: block;
	width: 100%;
}
.consulting-image {
	width: 57.7%;
}
.consulting-text {
	width: 35.4%;
}
.consulting-image-main {
	padding-top: 66.66%;
	position: relative;
}
.consulting-image-main li {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.consulting-image-main li.detailOn {
	z-index: 1;
}
.consulting-image-thumbnail {
	display: -webkit-box;
	display: flex;
	gap: 10px;
}
.consulting-image-thumbnail li {
	width: calc((100% - 30px) / 4);
	margin-top: 10px;
	transition: .2s ease-out;
	cursor: pointer;
}
.consulting-image-thumbnail li.listOn {
	opacity: .6;
}
.consulting-text > dt {
	font-size: 1.14em;
	font-weight: 700;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #3c73c6;
}
.consulting-text > dd dl {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.2;
}
.consulting-text > dd dt {
	width: 6em;
	position: relative;
}
.consulting-text > dd dt:after {
	display: block;
	content: "|";
	color: #3c73c6;
	position: absolute;
	top: 0;
	right: 0;
}
.consulting-text > dd dd {
	width: calc(100% - 6em);
	padding-left: 1em;
}
.consulting-text > dd dl > *:nth-child(n+3) {
	margin-top: 1em;
}
.consulting-read {
	font-size: 1.28em;
	font-weight: 700;
	text-align: center;
	padding: 0 20px;
}
@media screen and (max-width: 640px) {
	.consulting-list > li {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
	}
	.consulting-image,
	.consulting-text {
		width: 100%;
	}
	.consulting-text {
		margin-top: 2em;
	}
	.consulting-read {
		text-align: justify;
	}
}

/* footer */
footer {
	background-color: #fff;
}
footer > p {
	background-color: #3c73c6;
	color: #fff;
	text-align: center;
	padding: 10px;
}
#info {
	padding: 100px 10px;
	text-align: center;
}
#info img {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 2em;
}
#info img+p {
	font-size: 114%;
}
#info span {
	display: inline-block;
	font-size: 125%;
	margin-left: 1em;
}
@media screen and (max-width: 640px) {
	#info span {
		display: block;
		margin-left: 0;
	}
}
#footerNavi {
	background-color: #3c73c6;
	padding: 50px 10px 40px;
}
@media screen and (max-width: 740px) {
	#footerNavi {
		display: none;
	}
}
#footerNavi div {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 720px;
	margin: 0 auto;
}
#footerNavi ul {
	padding: 0 40px;
}
#footerNavi ul+ul {
	border-left: 1px solid #fff;
}
#footerNavi li {
	padding: .3em 0;
}
#footerNavi a {
	color: #fff;
	padding-left: 13px;
	position: relative;
}
#footerNavi a:hover {
	color: #ffda00;
}
#footerNavi a:before {
	content: "";
	background-image: url(../img/ico_arrow.svg);
	background-size: cover;
	width: 10px;
	height: 8px;
	position: absolute;
	top: .4em;
	left: 0;
}

#info span.office_name{
	font-size: inherit;
}

/* contact */
form {
	padding-top: 3em;
}
fieldset {
	margin-bottom: 1em;
	overflow: hidden;
}
.border-bottom {
	padding-bottom: 3em;
	margin-bottom: 3em;
	border-bottom: 2px dotted #3c73c6;
}
legend {
	width: 12em;
	color: #0d67a2;
	float: left;
	clear: left;
}
.required:after {
	content: "*";
	color: #f30;
}
legend+div {
	padding-left: 12em;
}
@media screen and (max-width: 640px) {
	legend {
		width: 100%;
		margin-bottom: 1em;
		float: none;
		clear: left;
	}
	legend+div {
		padding-left: 0;
	}
}
input[type="text"],
input[type="email"],
input[type="tel"] {
	width: 100%;
}
label input[type="text"] {
	width: calc(100% - 12em);
}
textarea {
	width: 100%;
	height: 16em;
}
input[type="submit"] {
	display: block;
	background-color: #0d67a2;
	color: #fff;
	font-size: 100%;
	padding: .3em 3em;
	margin: 0 auto;
	border: 1px solid #0d67a2;
	cursor: pointer;
	-webkit-transition: .2s;
	transition: .2s;
}
input[type="submit"]:hover {
	color: #0d67a2;
	background-color: #fff;
}



.box_privacy {
	max-width: 400px;
	width: 100%;
	height: 150px;
	margin: 20px auto;
	padding: 20px;
	border: 1px solid rgb(118, 118, 118);
	overflow-y: scroll;
	font-size: 12px;
	text-align: left;
}
.box_privacy h3 {
	font-weight: bold;
	font-size: 14px;
	margin: 1rem 0 0;
}