@charset 'UTF-8';

/*

    Base

*/

/*  webkit  */
body {
	-webkit-text-size-adjust: 100%;
}
a {
	-webkit-tap-highlight-color: rgba(255,255,255,0.4);
}
img {
	-webkit-touch-callout: none;
}
input[type=password], input[type=text], button, textarea {
	max-width: 100%;
	-webkit-appearance: none;
	border-radius: 0;
}

/*  font  */
html { font-size: 8px;}
@media screen and (min-width: 768px) { html { font-size: 10px;}}
body {
	font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #000000;
}
a {
	color: #1d2183;
	transition: all 0.1s linear;
}
a:hover   { opacity: 0.7;}

/*  size color  */
body { font-size: 1.5rem;}
h1 { font-size: 4.0rem; color: #1d2183;}
h2 { font-size: 3.0rem;}
h3 { font-size: 2.0rem;}

/*  common  */
.global ul,
.global li,
.global p {
	margin: 0;
	list-style: none;
}
.global a {
	text-decoration: none;
	color: inherit;
}
/*  max width  */
body img,
body iframe {
	max-width: 100%;
}

/*  placeholder  */
::placeholder {
	font-size: 1.3rem;
	color: #999999;
}

/*  wrapper  */
div.wrapper {
	margin: 0 20px;
}
@media screen and (min-width: 768px) {
	div.wrapper {
		max-width: 1020px;
		margin: 0 auto;
		padding: 40px 20px;
	}
	div.wrapper.medium {
		max-width: 960px;
	}
	div.wrapper.narrow {
		max-width: 800px;
	}
}

/*  headings  */
h2 {
	margin: 2em 0 1em;
	font-family: serif;
	text-align: center;
}
h2 span.subtitle {
	display: block;
	color: #666666;
	font-family: 'Lato', sans-serif;
	font-size: 1.5rem;
	font-weight: normal;
}
h2.boundary {
	padding: 0 0 0.75em;
	border-bottom: 1px #cccccc solid;
}
h3 {
	margin: 2em 0 1em;
}

/*  text  */
p,li,dd {
	line-height: 1.75;
}
br.adjust {
	display: none;
}
@media screen and (min-width: 768px) {
	br.adjust {
		display: block;
	}
	br.adjust-n {
		display: none;
	}
}


/*  time  */
time {
	display: block;
	font-size: 1.0rem;
}

/*  form  */
input[type=text], input[type=password], input[type=email], input[type=date], textarea {
	border-color: #999999;
}

/*  button  */
a.button, button, input[type=submit], input[type=button] {
	display: inline-flex;
	align-items: center;
	padding: 1.25em 5em;
	white-space: nowrap;
	border: none;
	background: rgb(112,190,234);
	background: linear-gradient(180deg, rgba(112,190,234,1) 0%, rgba(29,33,131,1) 100%);
	color: #ffffff;
	font-size: 1.5rem;
	cursor: pointer;
}
a.button.small, button.small, input[type=submit].small, input[type=button].small {
	padding: 0.5em 4em;
	font-size: 1.3rem;
}
a.button.large, button.large, input[type=submit].large, input[type=button].large {
	font-size: 2.5rem;
}
a.button.light, button.light, input[type=submit].light, input[type=button].light,
.back a.button {
	background-color: #ffffff;
	color: #1d2183;
}
a.button.detail:after {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-left: 1em;
	border-top: 1px #ffffff solid;
	border-right: 1px #ffffff solid;
	vertical-align: middle;
	transform: rotate(45deg);
}
a.button.detail.local:after {
	margin-top: -0.25em;
	border-top: none;
	border-bottom: 1px #ffffff solid;
	border-right: 1px #ffffff solid;
}
.back a.button {
	background: transparent;
	border: 1px #1d2183 solid;
}
.back a.button:before {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-right: 1em;
	border-bottom: 1px #1d2183 solid;
	border-left: 1px #1d2183 solid;
	vertical-align: middle;
	transform: rotate(45deg);
}

/*  back  */
.back {
	margin: 4em 0 3em;
}

/*  label  */
span.label {
	display: inline-block;
	white-space: nowrap;
	font-size: 1.0rem;
	font-family: 'Lato', sans-serif;
	font-weight: bold;
}

/*  pager  */
nav.page ol {
	display: flex;
	justify-content: center;
	margin: 3em 0;
}
nav.page ol li {
	margin: 0 0.5em;
	list-style: none;
}
nav.page ol li a {
	display: block;
	padding: 0.5em 1em;
	color: #333333;
}
nav.page ol li.current a {
	background-color: #333333;
	color: #ffffff;
}

/*  gmap  */
iframe.gmap {
	width: 100%;
	height: 200px;
}
@media screen and (min-width: 768px) {
	iframe.gmap {
		height: 450px;
		margin: 3em 0;
	}
}

/*  youtube  */
div.youtube {
	position: relative;
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: 56.25%;
}
div.youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}





/*

    Components

*/

/*  p.lead  */
p.lead {
	text-align: center;
	font-size: 2.25rem;
	font-weight: bold;
}

/*  dl.information  */
dl.information {
	margin: 3em 0;
}
dl.information dt {
	font-weight: normal;
}
dl.information dd {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0.25em 0 1em;
	padding-bottom: 1em;
	border-bottom: 1px #999999 solid;
}
@media screen and (min-width: 768px) {
	dl.information {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin: 4em 0 2em;
	}
	dl.information dt {
		width: 30%;
		margin: 0;
		padding: 2em 0 2em 6em;
		border-top: 1px #999999 solid;
		box-sizing: border-box;
	}
	dl.information dd {
		width: 70%;
		margin: 0;
		padding: 2em 6em 2em 0em;
		border-top: 1px #999999 solid;
		border-bottom: none;
		box-sizing: border-box;
	}
}

/*  ul.services  */
ul.services {
	margin-bottom: 2em;
}
ul.services li {
	margin: 0;
	list-style: none;
}
ul.services li h3 {
	padding-bottom: 0.75em;
	border-bottom: 1px #1d2183 solid;
	font-family: serif;
	font-size: 2.25rem;
	color: #1d2183;
}
ul.services li p {
	margin: 1em 0 3em;
	font-size: 1.875rem;
}
@media screen and (min-width: 768px) {
	ul.services {
		display: flex;
		flex-wrap: wrap;
	}
	ul.services li {
		width: 30%;
		box-sizing: border-box;
	}
	ul.services li:nth-child(1),
	ul.services li:nth-child(4),
	ul.services li:nth-child(7) {
		padding-right: 2em;
	}
	ul.services li:nth-child(2),
	ul.services li:nth-child(5),
	ul.services li:nth-child(8) {
		padding-left: 1em;
		padding-right: 1em;
	}
	ul.services li:nth-child(3),
	ul.services li:nth-child(6),
	ul.services li:nth-child(9) {
		padding-left: 2em;
	}
}

/*  dl.news  */
dl.news {
	margin-bottom: 2em;
}
dl.news dt {
	margin: 0;
	padding-top: 3em;
	border-top: 1px #cccccc solid;
}
dl.news dt:first-child {
	border: none;
}
dl.news dd {
	margin: 1em 0 4em;
	color: #666666;
}
/*  .news  */
.news h2 {
	text-align: left;
}
.news h2 a {
	color: inherit;
}

/*  dl.faq  */
dl.faq {
	margin-bottom: 2em;
}
dl.faq dt {
	display: flex;
	margin: 0;
	padding-top: 3em;
	font-size: 2.25rem;
	border-top: 1px #cccccc solid;
}
dl.faq dt:before,
dl.faq dd:before {
	font-size: 2.25rem;
	font-family: 'Lato', sans-serif;
	margin-right: 0.5em;
}
dl.faq dt:before { content: 'Q.';}
dl.faq dd:before { content: 'A.';}
dl.faq dt:first-child {
	border: none;
}
dl.faq dd {
	display: flex;
	margin: 1em 0 4em;
	color: #666666;
}

/*  dl.consultation  */
/*
dl.consultation {
	margin: 2em 0;
}
dl.consultation dt {
	position: relative;
	margin: 2em 0 0;
	padding: 2em 2em 2em 4em;
	background-color: rgba(0,91,171,0.2);
	font-weight: normal;
	cursor: pointer;
	box-sizing: border-box;
}
dl.consultation dt:before {
	position: absolute;
	top: 2em;
	left: 2em;
	display: block;
	content: "Q.";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	color: #005bab;
}
dl.consultation dt .title {
	display: block;
	font-weight: bold;
	color: #005bab;
	text-decoration: underline;
}
dl.consultation dt .question {
	display: block;
	margin: 1em 0;
	color: #005bab;
}
dl.consultation dt small {
	display: block;
	color: #666666;
}
dl.consultation dd {
	position: relative;
	margin: 0;
	padding: 2em 2em 2em 4em;
	background-color: rgba(0,91,171,0.1);
	font-weight: normal;
	box-sizing: border-box;
}
dl.consultation dd:before {
	position: absolute;
	top: 2em;
	left: 2em;
	display: block;
	content: "A.";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
}
*/

/*  ul.consultation  */
ul.consultation {
	list-style: none;
}
ul.consultation li {
	margin: 0;
}
ul.consultation li a {
	display: block;
	color: inherit;
}
.question {
	position: relative;
	margin: 2em 0 0;
	padding: 2em 2em 2em 4em;
	background-color: #eeeeee;
	font-weight: normal;
	box-sizing: border-box;
}
.question:before {
	position: absolute;
	top: 2em;
	left: 2em;
	display: block;
	content: "Q.";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
	color: #005bab;
}
.question .title {
	display: block;
	font-weight: bold;
	color: #005bab;
	text-decoration: underline;
}
.question .content {
	display: block;
	margin: 1em 0 0;
}
.question small {
	display: block;
	margin: 1em 0 0;
	color: #666666;
}
.answer {
	position: relative;
	margin: 0;
	padding: 2em 2em 2em 4em;
	font-weight: normal;
	box-sizing: border-box;
}
.answer:before {
	position: absolute;
	top: 2em;
	left: 2em;
	display: block;
	content: "A.";
	font-family: 'Lato', sans-serif;
	font-weight: bold;
}





/*  iframe.gmap  */
iframe.gmap {
	height: 300px;
	margin: 0;
	vertical-align: bottom;
}

/*  ul.staff  */
ul.staff li {
	display: flex;
	align-items: flex-start;
	margin: 0;
	padding: 4em 0;
	list-style: none;
	border-top: 1px #999999 solid;
}
ul.staff li:first-child {
	border: none;
}
ul.staff li img {
	display: block;
	margin: 0 auto;
	width: 120px;
}
ul.staff li div.data {
	margin-left: 2em;
}
ul.staff li div.data p {
	margin: 0;
}
ul.staff li div.data p.name-ja {
	font-size: 2.25rem;
}
ul.staff li div.data p.name-en {
	margin-bottom: 2em;
	font-size: 1.0rem;
	font-family: 'Lato', sans-sefif;
}
ul.staff li div.data span.label {
	margin-top: 2em;
}
@media screen and (min-width: 768px) {
	ul.staff li img {
		width: 300px;
	}
	ul.staff li div.data {
		margin-left: 3em;
	}
}

/*  div.policy  */
div.policy {
	padding-top: 260px;
	background-size: 240px auto;
	background-position: center top;
}
div.policy dl dt {
	color: #666666;
	font-family: 'Lato', sans-serif;
}
div.policy dl dd {
	margin: 0.25em 0 1.5em;
	font-size: 2.25rem;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
	div.policy {
		margin: 4em 0 3em;
		padding: 0;
		background-size: 480px auto;
		background-position: right top;
	}
}

/*  ol.talent  */
ol.talent {
	display: flex;
	flex-wrap: wrap;
	margin: 2em 0 4em;
}
ol.talent li {
	list-style: none;
	width: 50%;
	height: 50%;
	margin: 1em 0;
	background-size: contain;
	background-position: center center;
}
ol.talent li:nth-child(1) { background-image: url('../images/talent-01.png');}
ol.talent li:nth-child(2) { background-image: url('../images/talent-02.png');}
ol.talent li:nth-child(3) { background-image: url('../images/talent-03.png');}
ol.talent li:nth-child(4) { background-image: url('../images/talent-04.png');}
ol.talent li:nth-child(5) { background-image: url('../images/talent-05.png');}
ol.talent li:nth-child(6) { background-image: url('../images/talent-06.png');}
ol.talent li:nth-child(7) { background-image: url('../images/talent-07.png');}
ol.talent li:nth-child(8) { background-image: url('../images/talent-08.png');}
ol.talent li:nth-child(9) { background-image: url('../images/talent-09.png');}
ol.talent li:nth-child(10) { background-image: url('../images/talent-10.png');}
ol.talent li span.number {
	margin-left: 1em;
	font-size: 3.0rem;
	font-family: 'Lato', sans-serif;
	color: #666666;
	line-height: 1;
}
ol.talent li p {
	margin: 1em 0 2em;
	font-size: 2.25rem;
	font-weight: bold;
	text-align: center;
}
@media screen and (min-width: 768px) {
	ol.talent {
		justify-content: center;
	}
	ol.talent li {
		width: 225px;
		height: 225px;
		margin: 15px;
	}
	ol.talent li:nth-child(1) { margin-left: 20px;}
	ol.talent li:nth-child(3) { margin-right: 20px;}
	ol.talent li span.number {
		margin-left: 0.25em;
		font-size: 4.5rem;
	}
	ol.talent li p {
		line-height: 1.5;
	}
}




/*

    Background

*/

/*  common  */
body div#c_lead {
	background-size: cover;
	background-position: center center;
}

/*  inner  */
body#policy div#c_lead,
body#policy footer.global {
	background-image: url('../images/bg-policy.jpg');
}
body#business div#c_lead,
body#business footer.global {
	background-image: url('../images/bg-business.jpg');
}
body#news div#c_lead,
body#news footer.global {
	background-image: url('../images/bg-news.jpg');
}
body#staff div#c_lead,
body#staff footer.global {
	background-image: url('../images/bg-staff.jpg');
}
body#company div#c_lead,
body#company footer.global {
	background-image: url('../images/bg-company.jpg');
}
body#faq div#c_lead,
body#faq footer.global {
	background-image: url('../images/bg-faq.jpg');
}
body#contact div#c_lead,
body#contact footer.global {
	background-image: url('../images/bg-contact.jpg');
}
body#consultation div#c_lead,
body#consultation footer.global {
	background-image: url('../images/bg-faq.jpg');
}







/*

    Header

*/

/*  layout  */
header.global {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 50px;
	background-color: rgba(255,255,255,0.8);
	z-index: 998;
}
header.global div.wrapper {
	margin: 0;
	padding: 10px;
}
@media screen and (min-width: 768px) {
	header.global {
		position: fixed;
		top: 15px;
		height: 90px;
		padding: 0;
	}
	header.global div.wrapper {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		padding: 0;
	}
}

/*  sitetop  */
header.global div.sitetop {
	max-width: 125px;
}
header.global div.sitetop img {
	vertical-align: bottom;
}
@media screen and (min-width: 768px) {
	header.global div.sitetop {
		max-width: 200px;
		margin: 0;
	}
	header.global div.sitetop a {
		display: flex;
		align-items: center;
		height: 90px;
	}
}

/*  menuopen  */
@media screen and (min-width: 768px) {
	div.menubutton {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	div.menubutton {
		display: block !important;
		position: fixed;
		right: 15px;
		top: 15px;
		z-index: 999;
	}
	div.menubutton a,
	div.menubutton a span {
		display: inline-block;
		transition: all 0.3s;
		box-sizing: border-box;
	}
	div.menubutton a {
		position: relative;
		width: 30px;
		height: 20px;
		cursor: pointer;
	}
	div.menubutton a:hover {
		opacity: 1;
	}
	div.menubutton a span {
		position: absolute;
		left: 0;
		width: 30px;
		height: 1px;
		background-color: #1d2183;
		border-radius: 2px;
	}
	div.menubutton a span:nth-of-type(1) { top: 0;}
	div.menubutton a span:nth-of-type(2) { top: 10px;}
	div.menubutton a span:nth-of-type(3) { bottom: 0;}
	div.menubutton a.open span:nth-of-type(1) {
		height: 2px;
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}
	div.menubutton a.open span:nth-of-type(2) {
		opacity: 0;
	}
	div.menubutton a.open span:nth-of-type(3) {
		height: 2px;
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}
}

/*  narrow  */
@media screen and (max-width: 767px) {
	nav.global {
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 60px 30px 15px;
		background-color: rgba(255,255,255,0.90);
		box-sizing: border-box;
		z-index: 998;
	}
	nav.global ul li {
		padding: 1em 0;
	}
	nav.global ul li ul {
		margin: 1em 0 -1em 3em;
	}
	nav.global ul li ul li {
		padding: 0.75em 0;
	}
	nav.global ul li a {
		color: #1d2183;
		font-weight: bold;
		font-size: larger;
	}
}

/*  navigation wide  */
@media screen and (min-width: 768px) {
	nav.global {
		display: block !important;
		width: 100%;
	}
	nav.global ul {
		display: flex;
		justify-content: flex-end;
	}
	nav.global ul li {
		height: 90px;
		font-size: 1.4rem;
	}
	nav.global ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 90px;
		padding: 0 1em;
		color: #000000;
		text-align: center;
	}
	nav.global ul li.contact {
		margin-top: -15px;
		margin-left: 1em;
	}
	nav.global ul li.contact a {
		height: 120px;
		color: #ffffff;
		background: rgb(112,190,234);
		background: linear-gradient(180deg, rgba(112,190,234,1) 0%, rgba(29,33,131,1) 100%);
	}
	nav.global ul li.contact a:hover {
		background: linear-gradient(180deg, rgba(29,33,131,1) 0%, rgba(112,190,234,1) 100%);
		opacity: 1;
	}
}





/*

    Footer

*/

/*  layout  */
footer.global {
	padding: 15px 0;
	background-color: #005bab;
	background-size: cover;
	background-position: center bottom;
	background-blend-mode: multiply;
	color: #ffffff;
}
@media screen and (min-width: 768px) {
	footer.global {
		padding: 50px 0 40px;
	}
	footer.global div.wrapper {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		margin: 0 auto;
	}
}


/*  navigation  */
footer.global nav.footer {
	display: flex;
}
footer.global nav.footer ul {
	width: 50%;
}
footer.global nav.footer ul li {
	margin: 0.5em 0;
}
@media screen and (min-width: 768px) {
	footer.global nav.footer ul li {
		padding: 0 3em 0 0;
		white-space: nowrap;
	}
}

/*  company  */
footer.global div.company {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 3em 0 1em;
	text-align: right;
	font-size: 1.2rem;
}
footer.global div.company img {
	max-width: 150px;
}
@media screen and (min-width: 768px) {
	footer.global div.company {
		display: block;
		margin: 0;
		font-size: 1.5rem;
	}
	footer.global div.company img {
		max-width: 200px;
	}
	footer.global div.company p {
		margin-top: 1em;
	}
}

/*  copyright  */
footer.global small {
	display: block;
	padding: 0 20px;
	text-align: right;
}
@media screen and (min-width: 768px) {
	footer.global small {
		display: block;
		max-width: 1020px;
		margin: -1.5em auto 1em;
		padding: 0;
		text-align: left;
	}
}





/*

    Content

*/

/*  lead  */
#c_lead {
	padding-top: 8em;
}
#c_lead div.text {
	position: relative;
	padding: 20px 0;
}
#c_lead div.text:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: #005bab;
	mix-blend-mode: multiply;
}
#c_lead p {
	position: relative;
	margin: 0;
	color: #ffffff;
	font-size: 1.2rem;
}
#c_lead p.lead {
	margin-bottom: 0.25em;
	font-family: serif;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	#c_lead {
		position: relative;
		height: 100vh;
		box-sizing: border-box;
	}
	#c_lead div.text {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 280px;
		padding: 0;
	}
	#c_lead div.text div.wrapper {
		display: flex;
		height: 100%;
	}
	#c_lead div.text div.wrapper p {
		display: flex;
		align-items: center;
		width: 40%;
	}
	#c_lead div.text div.wrapper p.lead {
		width: 60%;
		font-size: 4.5rem;
	}
}



/*  body  */
#c_main div.body {
}
@media screen and (min-width: 768px) {
	#c_content {
	}
	#c_main div.body {
		padding: 30px 0 60px;
	}
}





/*

    Block editor

*/

/*  index ?  */
div.be-item div.index {
	margin: 1em 0;
	padding: 0.75em 1em;
	background-color: #eeeeee;
}
div.be-item div.index:before {
	content: 'INDEX';
	display: block;
	margin-bottom: 0.5em;
}
div.be-item div.index ul {
	margin: 0;
}
div.be-item div.index ul li {
	margin: 0.25em 0;
	list-style: none;
}

/*  imagetext  */
div.be-item div.imagetext p {
	margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
	div.be-item div.imagetext {
		display: flex;
		margin: 2em 0;
	}
	div.be-item div.imagetext.right {
		flex-direction: row-reverse;
	}
	div.be-item div.imagetext > p {
		margin-top: 0;
	}
	div.be-item  div.imagetext > a {
		flex-shrink: 0;
		max-width: 50%;
		padding: 0 1.5em 1em 0;
		box-sizing: border-box;
	}
	div.be-item div.imagetext.right > a {
		padding: 0 0 1.5em 1em;
	}
	div.be-item div > a > img {
		display: block;
	}
}

/*  heading  */
div.be-item h2 {
	padding: 0 0 0.75em;
	border-bottom: 1px #cccccc solid;
}





/*

    Mailform

*/

/*  layout  */
div.mailform {
	margin: 3em 0;
}
div.mailform dl dt {
	font-weight: normal;
}
@media screen and (min-width: 768px) {
	div.mailform dl {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		margin: 4em 0 2em;
	}
	div.mailform dl dt {
		width: 30%;
		margin: 0;
		padding: 0 0 0.5em;
		box-sizing: border-box;
	}
	div.mailform dl dd {
		width: 70%;
		margin: 0;
		padding: 0 0 0.5em;
		box-sizing: border-box;
	}
}

/*  label  */
div.mailform dl dt span,
div.mailform dl dt em {
	display: inline-block;
	margin-right: 0.5em;
	padding: 0.125em 0.5em;
	font-size: 1.1rem;
	font-style: normal;
	color: #ffffff;
}
div.mailform dl dt span { background-color: #999999;}
div.mailform dl dt em { background-color: #005bab;}

/*  form  */
div.mailform dl dd input[type=text],
div.mailform dl dd textarea {
	width: 100%;
}
div.mailform dl dd select {
	width: auto;
	margin-right: 0.5em;
}
div.mailform dl dd.address input[type=text].zip1 {
	width: 5em;
}
div.mailform dl dd.address input[type=text].zip2 {
	width: 8em;
}
div.mailform dl dd.address input[type=text].pref {
	width: 8em;
}
form p.submit {
	text-align: center;
}

/*  error  */
div.mailform p.errordetect {
	padding: 0.5em;
	background-color: #CC3366;
	color: #ffffff;
}
#c_main form dl dd.error input,
#c_main form dl dd.error select,
#c_main form dl dd.error textarea {
	border-color: #CC3366;
}
#c_main form dl dd.error p.errormessage {
	margin: 0;
	color: #CC3366;
	font-size: 1.3rem;
}

/*  confirm  */
#c_main form.confirm dl {
	padding: 1em;
	background-color: #eeeeee;
}





/*

    Toppage

*/


/*  mv  */
body#toppage div#c_lead {
	padding: 200px 0 15px;
	background-image: url('../images/bg-top.jpg');
	background-position: center bottom;
}
body#toppage div#c_lead img {
	display: block;
	width: 240px;
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	body#toppage div#c_lead {
		padding: 0;
	}
	body#toppage div#c_lead div.wrapper {
		padding-top: 140px;
	}
	body#toppage div#c_lead img {
		width: 430px;
		margin: 0;
	}
}

/*  logo  */
body#toppage div.logo {
	padding: 3em 0;
	text-align: center;
}
body#toppage div.logo img {
	width: 180px;
}
body#toppage div.logo p {
	margin-bottom: 2em;
}
@media screen and (min-width: 768px) {
	body#toppage div.logo {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
		margin: -35px 0 -35px;
		padding: 0;
		z-index: 1;
	}
	body#toppage div.logo img {
		display: block;
		flex-shrink: 0;
		width: 454px;
	}
}

/*  common  */
body#toppage div#c_main {
	background-image: url('../images/bg-top2.jpg');
	background-size: 100% auto;
	background-repeat: repeat-y;
	background-attachment: fixed;
}

/*  news  */
body#toppage div.news {
	position: relative;
	color: #ffffff;
	overflow: hidden;
}
body#toppage div.news:before {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	padding-top: 300%;
	background-color: #005bab;
	mix-blend-mode: multiply;
}
body#toppage div.news div.header {
	position: relative;
	text-align: center;
}
body#toppage div.news div.header h2 {
	margin: 1em 0 0.5em;
	font-family: 'Lato', sans-serif;
	font-size: 3.0rem;
}
body#toppage div.news div.header h2 span.subtitle {
	font-size: 1.5rem;
	color: #ffffff;
}
body#toppage div.news div.header a {
	display: inline-block;
	margin: 1em 0;
	padding: 1em 3em;
	border: 1px #ffffff solid;
	color: #ffffff;
	text-align: center;
}
body#toppage div.news ul.news {
	position: relative;
	margin: 0;
	padding: 1em 0;
}
body#toppage div.news ul.news li {
	display: flex;
	margin: 0;
	padding: 1em;
	border-top: 1px #ffffff solid;
	list-style: none;
}
body#toppage div.news ul.news li:first-child {
	border: none;
}
body#toppage div.news ul.news li time {
	margin-right: 1em;
	font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
	body#toppage div.news div.wrapper {
		display: flex;
		padding: 3em 0;
	}
	body#toppage div.news div.wrapper div.header {
		flex-shrink: 0;
		position: relative;
		width: 255px;
		min-height: 200px;
		margin-right: 4em;
		text-align: left;
	}
	body#toppage div.news div.wrapper div.header h2 {
		text-align: left;
	}
	body#toppage div.news div.wrapper div.header a {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 255px;
		box-sizing: border-box;
	}
	body#toppage div.news ul.news li {
		padding: 2em;
	}
}

/*  policy3  */
body#toppage div.policy3 {
	width: 100%;
	overflow-x: scroll;
}
body#toppage div.policy3 ul {
	display: flex;
	width: 780px;
	margin: 0;
}
body#toppage div.policy3 ul li {
	width: 260px;
	margin: 0;
	padding-top: 120px;
	list-style: none;
	background-size: cover;
	background-position: center center;
	box-sizing: border-box;
}
body#toppage div.policy3 ul li div.text {
	position: relative;
	height: 100%;
}
body#toppage div.policy3 ul li:nth-child(1) { background-image: url('../images/policy-01.jpg');}
body#toppage div.policy3 ul li:nth-child(2) { background-image: url('../images/policy-02.jpg');}
body#toppage div.policy3 ul li:nth-child(3) { background-image: url('../images/policy-03.jpg');}
body#toppage div.policy3 ul li div.text:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-color: #005bab;
	mix-blend-mode: multiply;
}
body#toppage div.policy3 ul li span.number {
	position: relative;
	top: -0.75em;
	display: inline-block;
	padding: 0 1.5em;
	background-color: #ffffff;
	color: #005bab;
	font-family: 'Lato', sans-serif;
	font-size: 2.0rem;
}
body#toppage div.policy3 ul li p {
	position: relative;
	margin: -1.5em 0 0;
	padding: 1em 2em;
	color: #ffffff;
	font-size: 1.2rem;
}
body#toppage div.policy3 ul li strong {
	display: block;
	margin-bottom: 0.5em;
	font-size: 2.2rem;
	font-family: serif;
	line-height: 1.5;
}
@media screen and (min-width: 768px) {
	body#toppage div.policy3 {
		position: relative;
		overflow: hidden;
	}
	body#toppage div.policy3 ul {
		width: 2100px;
	}
	body#toppage div.policy3 ul li {
		width: 700px;
		padding-top: 210px;
	}
	body#toppage div.policy3 ul li span.number {
		font-size: 3.0rem;
	}
	body#toppage div.policy3 ul li p {
		padding: 1em 3em 2em;
		font-size: 1.5rem;
	}
	body#toppage div.policy3 ul li p strong {
		font-size: 3.0rem;
	}
	body#toppage div.policy3 a.nav {
		position: absolute;
		top: 75px;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 45px;
		height: 45px;
		background-color: #ffffff;
		opacity: 0.5;
		border-radius: 30px;
		cursor: pointer;
	}
	body#toppage div.policy3 a.prev { left: 20px;}
	body#toppage div.policy3 a.next { right: 20px;}
	body#toppage div.policy3 a.nav:before {
		content: '';
		display: block;
		width: 10px;
		height: 10px;
		transform: rotate(45deg);
	}
	body#toppage div.policy3 a.prev:before { margin-left: 5px; border-bottom: 2px #000000 solid; border-left: 2px #000000 solid;}
	body#toppage div.policy3 a.next:before { margin-right: 5px; border-top: 2px #000000 solid; border-right: 2px #000000 solid;}
}

/*  shortcut  */
body#toppage div#c_main div.shortcut {
	background-color: rgba(255,255,255,0.8);
}
body#toppage div#c_main div.shortcut ul {
	margin: 0;
	padding: 20px 0;
}
body#toppage div#c_main div.shortcut ul li {
	margin: 0;
	list-style: none;
}
body#toppage div#c_main div.shortcut ul li a {
	display: flex;
	align-items: center;
	background: rgb(112,190,234);
	background: linear-gradient(180deg, rgba(112,190,234,1) 0%, rgba(29,33,131,1) 100%);
	color: #ffffff;
}
body#toppage div#c_main div.shortcut ul li a:before {
	content: '';
	display: block;
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	background-position: center center;
	background-size: cover;
}
body#toppage div#c_main div.shortcut ul li.staff a:before { background-image: url('../images/shortcut-staff.jpg');}
body#toppage div#c_main div.shortcut ul li.company a:before { background-image: url('../images/shortcut-company.jpg');}
body#toppage div#c_main div.shortcut ul li a span {
	display: block;
	width: 100%;
	text-align: center;
}
body#toppage div#c_main div.shortcut ul li a span strong {
	display: block;
	font-family: 'Lato', sans-serif;
	font-size: 3.0rem;
	line-height: 1.25;
}
@media screen and (min-width: 768px) {
	body#toppage div#c_main div.shortcut ul {
		display: flex;
		justify-content: space-between;
		gap: 2em;
		padding: 60px 0;
	}
	body#toppage div#c_main div.shortcut ul li {
		width: 50%;
	}
	body#toppage div#c_main div.shortcut ul li a:before {
		width: 240px;
		height: 240px;
	}
}
