@charset "utf-8";

/*下層ページ用のスタイルです。*/
/* --------------------------- */
/*  matrix_block & flex block  */
/* --------------------------- */

.matrix_block {
	margin:1em auto;
	padding:0;
	text-align:left;
	vertical-align:middle;
	border-collapse:collapse;
}
.matrix_block th,
.matrix_block td {
	padding:5px;
	border:#a67c52 dotted 1px;
	border-collapse:collapse;
}

dl.matrix_block,
.flex_block {
	width:100%;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:1em auto 2em;
	padding:0;
	letter-spacing:-.40em;
	clear:both;
	/*border-top:#d0d0d0 1px solid*/
}
.recruit_info_area dl.matrix_block { margin:0.5em 0 0; }

.flex_block.pack_start { -ms-flex-pack:start; justify-content:flex-start; -webkit-justify-content:flex-start;}
.flex_block.pack_end { -ms-flex-pack:end; justify-content:flex-end; -webkit-justify-content:flex-end; }
.flex_block.pack_center { -ms-flex-pack:center; justify-content:center; -webkit-justify-content:center; }
.flex_block.pack_distribute { -ms-flex-pack:distribute; justify-content:space-around; -webkit-justify-content:space-around; }
.flex_block.pack_justify { -ms-flex-pack:justify; justify-content:space-between; -webkit-justify-content:space-between; }

.flex_block.align_items_middle { -ms-flex-align:center; align-items:center; -webkit-align-items:center; }
.flex_block.align_items_end { -ms-flex-align:end; align-items:end; -webkit-align-items:end; }

dl.matrix_block > * {
	margin:0;
	padding:1em 1.75em;
	line-height:1.25;
	letter-spacing:normal;
}
/*dl.matrix_block > dt { color:#b39536; }*/
dl.matrix_block > dt span{ color:#666;/* font-size:0.8em;*/ }

dl.matrix_block > dd { width:70%; }
dl.matrix_block > dd strong{ color:#131f3a; }
dl.matrix_block > dd > span{ color:#666;/* font-size:0.5em;*/ }
dl.matrix_block.contact > dd > span { font-size:1em; }
dl.matrix_block.contact > dd > span.mwform-checkbox-field { display:inline-block; margin:0 0.5em 0.5em 0; }
dl.matrix_block.contact > dd span.mwform-checkbox-field-text { color:#666; font-size:1em; }
dl.matrix_block.contact > dd input,
dl.matrix_block.contact > dd textarea { max-width:100%; }

dl.matrix_block > dd > ul {
	margin:0;
	padding:0;
	list-style:none;
}
dl.matrix_block > dd > ul > li {
	margin:0;
	padding:1em 0;
	border-bottom:#e6e6e6 1px solid;
}
dl.matrix_block > dd > ul > li:first-child { padding-top:0; }
dl.matrix_block > dd > ul > li:last-child { padding-bottom:0; border-bottom:none; }

.flex_block h2::after { margin-bottom:0.5em !important; }
.flex_block h3 { margin-bottom:1em; }

.flex_block > p,
.flex_block > a,
.flex_block > div {
	margin:0 0 1em;
	padding:0 5px;
	letter-spacing:normal;
}

.flex_block > * img { width:100%; }
.flex_block > * img.auto_fit { width:auto; max-width:100%; }
.flex_block > * .img_block { margin-bottom:1em; }
.flex_block .caption_block {
	width:auto;
	display:block;
	margin:0.75em auto 0;
	color:#a67c52;
	line-height:1.25;
	border:none;
}
.flex_block .title_block {
	margin:0 0 0.75em;
	color:#a67c52;
	line-height:1.25;
	font-size:1.25em;
	font-weight:bold;
}
.flex_block > .full_width { width:100%; }

.border_option,
.flex_block > .border_option {
	margin-left:1%;
	margin-right:1%;
	padding:1em;
	border:#82bffc 2px dotted;
	border-radius:10px;
}

@media screen and (max-width:767px) {
	.recruit_info_area dl.matrix_block { display:none; }
	dl.matrix_block.Recruit { margin-bottom:30px; } 
	dl.matrix_block > dt { 
		width:100%;
		padding-bottom:0;
	}
	dl.matrix_block > dd { width:100%; }
	dl.matrix_block > dd:nth-child(4n),
	dl.matrix_block > dt:nth-child(4n-1),
	dl.matrix_block > .Third:nth-child(2n),
	dl.matrix_block > .Quarter:nth-child(2n),
	dl.matrix_block > .full_width:nth-child(2n) { background:transparent; }
	.flex_block.RowReverse,
	.flex_block.Column, { -ms-flex-direction:column; flex-direction:column; -webkit-flex-direction:column; }
	.MainContents table { width:95%; }
	.flex_block > .full_width,
	.flex_block > .Quarter,
	.flex_block > .Third,
	.flex_block > .Half,
	.flex_block > .QuarterThree,
	.flex_block > .ThirdDouble { width:95%; }
}
@media print,screen and (min-width:768px) {
	
.flex_block.AlignCenter { -ms-flex-align:center; -webkit-align-items:center; align-items:center; }

.flex_block.RowReverse { -ms-flex-direction:row-reverse; -webkit-flex-direction:row-reverse; flex-direction:row-reverse; }
.flex_block.Column { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }
.flex_block.ColumnReverse { -ms-flex-direction:column-reverse; -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }

	.MainContents table { width:100%; }
	/*table.matrix_block { border:#a67c52 dotted 1px; }*/
	dl.matrix_block.Recruit { margin-bottom:50px; } 
	
	dl.matrix_block > dd:nth-child(4n),
	dl.matrix_block > dt:nth-child(4n-1),
	dl.matrix_block > .Third:nth-child(2n),
	dl.matrix_block > .Quarter:nth-child(2n),
	dl.matrix_block > .full_width:nth-child(2n) { background:transparent; }
	dl.matrix_block > dt.Change + dd,
	dl.matrix_block > dt,
	dl.matrix_block.contact > dt { width:25%; }
	dl.matrix_block > dt span{ color:#666;/* font-size:0.8em;*/ }
	dl.matrix_block > dt.Change,
	dl.matrix_block > dd,
	dl.matrix_block.contact > dd { width:75%; }
	.Even dl.matrix_block > dt.Change + dd,
	.Even dl.matrix_block > dd { border-bottom:#bbb 1px solid; }
	dl.matrix_block > dt.Min { width:10%; }
	dl.matrix_block > dt.Min + dd { width:40%; }
	dl.matrix_block dt.Min + dd + dt:nth-child(4n+1),
	dl.matrix_block dt.Min + dd + dt:nth-child(4n+1) + dd,
	
	dl.matrix_block > .Third:nth-child(4n),
	dl.matrix_block > .Quarter:nth-child(4n) { background:transparent; }
	dl.matrix_block > .Third:nth-child(3n) { width:34%; }
	dl.matrix_block > .full_width { width:100%; }
	dl.matrix_block dt.Min + dd:nth-child(8n),
	dl.matrix_block dt.Min:nth-child(8n-1),
	dl.matrix_block > .Third:nth-child(6n),
	dl.matrix_block > .Third:nth-child(6n-1),
	dl.matrix_block > .Third:nth-child(6n-2),
	dl.matrix_block > .Quarter:nth-child(8n),
	dl.matrix_block > .Quarter:nth-child(8n-1),
	dl.matrix_block > .Quarter:nth-child(8n-2),
	dl.matrix_block > .Quarter:nth-child(8n-3),
	dl.matrix_block > .full_width:nth-child(2n) { background:rgba(24,48,114,0.1); }
	dl.matrix_block > .Quarter {
		font-size:0.85em;
		padding:0.75em 1em;
	}
	
	.flex_block > .full_width.border_option { width:97%; }
	
	dl.matrix_block > .Per54,
	.flex_block > .Per54 { width:54%; }
	dl.matrix_block > .Per45,
	.flex_block > .Per45 { width:45%; }
	
	dl.matrix_block > .Fifth,
	.flex_block > .Fifth { width:19%; }
	dl.matrix_block > .Fifth2,
	.flex_block > .Fifth2 { width:39%; }
	dl.matrix_block > .Fifth3,
	.flex_block > .Fifth3 { width:59%; }
	dl.matrix_block > .Fifth4,
	.flex_block > .Fifth4 { width:79%; }
	dl.matrix_block > .Quarter,
	.flex_block > .Quarter { width:24%; }
	.flex_block > .Quarter.border_option { width:23%; }
	dl.matrix_block > .QuarterThree,
	.flex_block > .QuarterThree { width:73%; }
	dl.matrix_block > .Third,
	.flex_block > .Third { width:33%; }
	.flex_block > .Third.border_option { width:31%; }
	dl.matrix_block > .ThirdDouble,
	.flex_block > .ThirdDouble { width:66%; }
	.flex_block > .ThirdDouble { width:64%; }
	dl.matrix_block > .Half,
	.flex_block > .Half { width:48%; }
	.flex_block > .Half.border_option { width:46%; }
}
@media print,screen and (min-width:1024px) {
	
}

/* --- */
/* set */
/* --- */

main {
	display:block;
	width:100%;
	margin:0;
}
article { border-top:#999999 1px solid; }
article h2 {
	line-height:1.25;
	text-align:center;
}
article h3 {
	margin-bottom:1.5rem;
	font-size:1.5rem;
}
article h4 {
	position:relative;
	margin-bottom:1rem;
	padding-left:1.5em;
	font-size:1.25rem;
}
article h4::before {
	display:block;
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:0;
	margin:auto;
	border-top:transparent 0.5em solid;
	border-bottom:transparent 0.5em solid;
}
article h2 span{ font-size:0.875rem; }


.main_contents_wrapper {
	width:992px;
	margin:0 auto;
	padding:0;
}


@media screen and (max-width:1024px) {
	.main_contents_wrapper {
		max-width:95%;
	}
}
@media screen and (max-width:767px) {
	.main_contents_wrapper {
		width:95%;
		margin:0 auto;
		padding:0;
	}
	article { padding:2.1rem 0; }
	article h2 {
		margin-bottom:1.875rem;
		font-size:1.5rem;
	}
	
}
@media print,screen and (min-width:768px) {
	article {
		padding:4rem 0;
		overflow:hidden;
		clear:both;
	}
	article h2 {
		margin-bottom:3.75rem;
		font-size:2.25rem;
	}
	
	article h4::before { bottom:0; }
	
	article figure.right,
	article figure.left { max-width:30%; }
	article figure.right { float:right; margin-left:5%; }
	article figure.left { float:left; margin-right:5%; }
	
	article figure.right + .contents_body,
	article figure.left + .contents_body { max-width:65%; }
}


/* -------------- */
/* contents title */
/* -------------- */

main section > h1 {
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	flex-direction:column;
	-webkit-align-items:center;
	align-items:center;
	-webkit-justify-content:center;
	justify-content:center;
	position:relative;
	width:100%;
}
main section > h1 span {
	display:block;
	position:relative;
	z-index:5;
}
main section > h1 .main_title{
	text-align: center;
	vertical-align: middle;
	color:#fff;
	font-weight: normal;
	font-family:"游明朝", YuMincho,  "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.2;
	text-shadow: 0px 0px 15px rgba(0,0,0,0.5);
}

main section > h1 .sub_title{
	padding:5px 20px;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

@media screen and (max-width:767px) {
	main section > h1 {
		height:6em;
		margin-bottom:30px;
		font-size:28px;
	}
	
	main section > h1 .main_title { font-size:28px; }
	main section > h1 .sub_title { font-size:14px; }

	
}
@media print,screen and (min-width:768px) {
	main section > h1 {
		height:400px;
		margin-bottom:80px;
		padding-top:1em;
		font-size:45px;
	}
	
	main section > h1 .main_title { font-size:45px; }
	main section > h1 .sub_title { font-size:18px; }

	
}

/* ---------------- */
/* default contents */
/* ---------------- */

main section.page_default .contents_wrap > div,
main section.page_default .contents_wrap .contents_wrap > div { width:100%; }
main section.page_default .contents_wrap > div:not(:first-child),
main section.page_default .contents_wrap .contents_body > div { margin-top:3em; }

main section.page_default .contents_wrap.top,
main section.page_default .contents_wrap.right,
main section.page_default .contents_wrap.bottom,
main section.page_default .contents_wrap.left {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
main section.page_default .contents_wrap.top,
main section.page_default .contents_wrap.bottom { flex-direction:column; }

main section.page_default .contents_wrap > div,
main section.page_default .contents_wrap .contents_wrap > div { min-height:0%; }

main section.page_default .contents_wrap.top > div,
main section.page_default .contents_wrap .contents_wrap.top > div,
main section.page_default .contents_wrap.bottom > div,
main section.page_default .contents_wrap .contents_wrap.top > div { margin-top:3em; }
main section.page_default .contents_wrap.top > div:nth-of-type(1),
main section.page_default .contents_wrap .contents_wrap.top > div:nth-of-type(1),
main section.page_default .contents_wrap.bottom > div:nth-of-type(2),
main section.page_default .contents_wrap .contents_wrap.bottom > div:nth-of-type(2) { margin-top:0; }


main section.page_default .contents_wrap > .img_contena,
main section.page_default .contents_wrap .contents_wrap > .img_contena {
	display:flex;
	justify-content:center;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:flex-start;
	width:100%;
	max-width:100%;
	letter-spacing:-.40em;
}
main section.page_default .contents_wrap.right > .img_contena,
main section.page_default .contents_wrap .contents_wrap.right > .img_contena,
main section.page_default .contents_wrap.bottom > .img_contena,
main section.page_default .contents_wrap .contents_wrap.bottom > .img_contena { order:2; }

main section.page_default .contents_wrap.right > .img_contena,
main section.page_default .contents_wrap .contents_wrap.right > .img_contena,
main section.page_default .contents_wrap.left > .img_contena,
main section.page_default .contents_wrap .contents_wrap.left > .img_contena {
	width:30%;
	flex-direction:column;
}
main section.page_default .contents_wrap.right > .img_contena + div.contents_body,
main section.page_default .contents_wrap .contents_wrap.right > .img_contena + div.contents_body,
main section.page_default .contents_wrap.left > .img_contena + div.contents_body,
main section.page_default .contents_wrap .contents_wrap.left > .img_contena + div.contents_body { 
	margin-top: 0;
	width:65%;
}
main section.page_default .contents_wrap > .img_contena > figure {
	width:32%;
	height:auto;
	margin:0 0.5%;
	letter-spacing:normal;
}
main section.page_default .contents_wrap.right > .img_contena > figure,
main section.page_default .contents_wrap .contents_wrap.right > .img_contena > figure,
main section.page_default .contents_wrap.left > .img_contena > figure,
main section.page_default .contents_wrap .contents_wrap.left > .img_contena > figure {
	width:100%;
	min-height:0%;
	padding:0 0 1em;
}
main section.page_default .contents_wrap .img_contena > figure img { width:100%; }

main section.page_default ul,
main section.page_default ol,
main section.page_default dl,
main section.page_default table { margin:1em auto; }

main section.page_default ul { padding-left:1.25em; }
main section.page_default ol { padding-left:1.5em; }
main section.page_default dl dt { font-weight:bold; }
main section.page_default dl dd { margin-left:1em; }

main section.page_default table {
	padding:0;
	border:#999 1px solid;
	border-collapse:collapse;
}

main section.page_default table th,
main section.page_default table td {
	margin:0;
	padding:1em;
	border:#999 1px solid;
	border-collapse:collapse;
}
main section.page_default table th { width:30%; }
main section.page_default table td { width:70%; }


main section hr.contents_bottom {
	border:none;
	border-top:#736357 1px solid;
}

@media screen and (max-width:767px) {
	main section hr.contents_bottom { margin:0 0 30px; }
	main section.page_default .contents_wrap.right > .img_contena,
	main section.page_default .contents_wrap.left > .img_contena,
	main section.page_default .contents_wrap.right > .img_contena + div.contents_body,
	main section.page_default .contents_wrap.left > .img_contena + div.contents_body { width:100%; }
	main section.page_default .contents_wrap > .img_contena > figure {
		width:100%;
		padding:0.5em 0;
	}
}
@media print,screen and (min-width:768px) {
	main section hr.contents_bottom { margin:0 0 80px; }
	
}

/* ------- */
/* company */
/* ------- */

.greeting_index > * { letter-spacing:normal; }
.greeting_signature { margin-top:1rem; }
.greeting_index figure .greeting_signature {
	display:block;
	text-align:center;
}

@media screen and (max-width:767px) {
	.greeting_index figure {
		width:95%;
		margin:0 auto 2rem;
	}
	.greeting_index .greeting_body .greeting_signature { text-align:center; }
}
@media print,screen and (min-width:768px) {
	.greeting_index {
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		letter-spacing:-.40em;
	}
	.greeting_index figure { width:calc(30% - 2rem);  }
	.greeting_index .greeting_body .greeting_signature { text-align:right; }
}

/* ------- */
/* recruit */
/* ------- */
.recruit_info_item{
	transition: 0.3s ease;
}

.recruit_info_item:hover { text-decoration:none; }
.recruit_info_item h3 { margin:1rem; line-height:1; }
.job_title {
	margin:0 1rem;
	font-weight:bold;
}
.recruit_info_item {
	transition: 0.3s ease;
}


@media screen and (max-width:767px) {
	.recruit_info_item{
		display:block;
		width:100%;
		margin-bottom:1rem;
		padding:1rem 0;
		border:1px solid;
	}
}
@media print,screen and (min-width:768px) {
	.recruit_info_area {
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:space-between;
		justify-content:space-between;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	.recruit_info_item{
		display:block;
		width:48%;
		margin-bottom:1rem;
		border:1px solid;
	}
	
	.recruit_info_item dl.matrix_block > dt { width:30%; }
	.recruit_info_item dl.matrix_block > dd { width:70%; }
}

/* ------- */
/* result */
/* ------- */
.result_info_wrap .Paging {
    text-align: center;
}

.result_info_wrap .Paging a,
.result_info_wrap .Paging span {
    font-size: 1.25rem;
}


.result_info_item{
	display:block;
	margin-bottom:1rem;
	border:1px solid;
	transition: 0.3s ease;
}
.result_info_item img {
	transition: 0.3s ease;
}
.result_info_item:hover img {
	opacity: 0.8;
}
.result_info_item .result_content {
	padding: 10px 20px 15px;
}
@media screen and (max-width:767px) {
	.result_info_wrap {
		margin-bottom: 30px;
	}
	.result_info_item{
		display:block;
		width:100%;
		margin-bottom:1rem;
		padding:0;
		border:1px solid;
	}
	.result_info_item h2,
	.result_info_item h3{
		font-size: 1.25rem;
		font-weight: normal;
	}
}
@media print,screen and (min-width:768px) {
	.result_info_wrap {
		margin-bottom: 80px;
	}
	.result_info_area {
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		margin: 1rem 0;
	}
	.result_info_item{
		display:block;
		width:32%;
		margin-bottom:1rem;
		border:1px solid;
	}
	.result_info_item h2,
	.result_info_item h3{
		font-size: 1.5rem;
		font-weight: normal;
	}
	.result_info_item dl.matrix_block > dt { width:30%; }
	.result_info_item dl.matrix_block > dd { width:70%; }
}

/* ------- */
/* result_single */
/* ------- */
.result_single_content {
	margin-bottom: 4rem;
}
.result_single .slider-for .slick-track {
	max-height: 80vh;
}
.result_single .slider-for .slick-track figure,
.result_single .slider-nav .slick-track figure{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #222;
}
.result_single .slider-nav .slick-track figure {
	cursor: pointer;
}
.result_single .slider-nav .slick-track figure.slick-current {
	position: relative;
}
.result_single .slider-nav .slick-track figure.slick-current::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: "";
    border: 5px solid rgba(255,255,255,0.7);
    box-sizing: border-box;
}
.result_single .slider-nav .slick-track figure img {
	width: auto;
}
@media print,screen and (max-width:768px) {
	.result_single_content {
		margin-bottom: 2rem;
	}
}




/* ------- */
/* staff */
/* ------- */
.staff_list {
	list-style: none;
}
.staff_list li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.staff_list li:not(:last-child) {
	margin-bottom: 3rem;
}
.staff_list li > figure {
	width: 25%;
	text-align:  center;
}
.staff_list li > figure img {
	width: 100%;
}
.staff_list li > div {
	width: 70%;
}
.staff_list li > div h3 {
	line-height: 1em;
	margin-bottom: 1.5rem;
}
.staff_list li > div table {
	margin: 0;
}
.staff_list li > div table th,
.staff_list li > div table td {
	padding: 0.5rem!important;
}
.staff_list li > div table tr:nth-child(even) th,
.staff_list li > div table tr:nth-child(even) td {
	background-color: #f1f1f1;
}


@media screen and (max-width:767px) {
	.staff_list {
		margin: 0;
	}
	.staff_list li {
		flex-wrap: wrap;
	}
	.staff_list li > figure,
	.staff_list li > div {
		width: 100%;
	}
	.staff_list li > figure{
		margin-bottom: 0.75rem;
	}
	.staff_list li > div h3 {
		margin-bottom: 1rem;
	}
}



/* ---- */
/* news */
/* ---- */

.news_date {
	padding:0.5rem 1rem;
	text-align:right;
	border-top:#666 1px dotted;
	border-bottom:#666 1px dotted;
}
.news_text_block {
	margin-bottom:1rem;
	padding:1rem;
	border-bottom:#666 1px dotted;
}

@media screen and (max-width:767px) {
	
}
@media print,screen and (min-width:768px) {
	
}

/* ------- */
/* service */
/* ------- */

.intro_block{
	margin:0 auto;
	text-align: center;
	line-height: 2;
}

@media print,screen and (min-width:768px) {
	.intro_block{
		width:60%;
		max-width:800px;
		font-size:18px;
	}
		
}

@media screen and (max-width:767px) {
	.intro_block{
		width:90%;
		
	}
}




/* ---- */
/* LAST */
/* ---- */