@charset "utf-8";
/*
Theme Name: オリエントアイエヌジー7
Theme URI: https://orient-ing.jp/
Description: 専用のベーステーマ
Version: 7.0
*/

/* common
---------------------------------------------------------------------------*/
body {
	min-width: 1200px;
	background-color: #FFFFFF;
	color: #2A2A2A;
	font-size: 14px;
	font-family: '秀英丸ゴシック L', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.noscroll { overflow-y: scroll; position: fixed; width: 100%; }
#wrap { position: relative; overflow: hidden; }

::-moz-selection { background: #CCCCCC; color: #2A2A2A; }
::selection { background: #CCCCCC; color: #2A2A2A; }

p { font-size: 14px; line-height: 1.8; letter-spacing: 0.08em; }
address,i { font-style: normal; }
img { max-width: none; }
.clearfix:after { content: ''; display: block; clear:both; }

body#pc .pc_view { display: block !important; }
body#pc .sp_view { display: none !important; }
body#sp .sp_view { display: block !important; }
body#sp .pc_view { display: none !important; }

/* txt
------------------------------------*/
.font-l { font-family: '秀英丸ゴシック L', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif; }
.font-b,
.privacy-list dd .num-list li:before { font-family: '秀英丸ゴシック B', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif; }
.font-sans-l { font-family: 'DINNextLTPro-Light', '秀英丸ゴシック L', sans-serif; }
.font-sans-r { font-family: 'DINNextLTPro-Regular', '秀英丸ゴシック L', sans-serif; }
.font-sans { font-family: 'DINNextLTPro-Medium', '秀英丸ゴシック L', sans-serif; }
.font-sans-b { font-family: 'DINNextLTPro-Bold', '秀英丸ゴシック B', sans-serif; font-weight: bold; }

.green { color: #00773D; }

.txt-line {
	color: #FFFFFF;
	-webkit-text-stroke: 1px #2A2A2A;
}

@media all and (-ms-high-contrast:none){
	.txt-line {
		text-shadow:
		0 1px 0 #2A2A2A,
		1px 0 0 #2A2A2A,
		0 -1px 0 #2A2A2A,
		-1px 0 0 #2A2A2A,
		-1px -1px 0 #2A2A2A,
		1px -1px 0 #2A2A2A,
		-1px 1px 0 #2A2A2A,
		1px 1px 0 #2A2A2A;
	}
}

.line-dot {
	background: url(img/share/line-dot.svg) repeat-x left bottom;
	background-size: 11px 5px;
	padding-bottom: 10px;
}

/* link
------------------------------------*/
a { color: #2A2A2A; text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
a:hover { text-decoration: none; opacity: 0.6; }
p a { color: #00773D; text-decoration: underline; }
p:last-of-type { margin-bottom: 0 !important; }

/* .btn
------------------------------------*/
.btn a,
.btn span {
	display: inline-block;
	box-sizing: border-box;
	background-color: #81C15A;
	background-repeat: no-repeat;
	border-radius: 4px;
	padding: 11px 16px 12px 18px;
	color: #FFFFFF;
	font-size: 14px;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.15em;
}

.btn a:hover { background-color: #00773D; opacity: 1; }

.btn-arrow a,
.btn-arrow span {
	background-image: url(img/share/ico-arrow-white.svg);
	background-size: 16px 12px;
	background-position: right 14px center;
	padding-right: 46px;
}

.btn-zoom a,
.btn-zoom span {
	background-image: url(img/share/ico-zoom.svg);
	background-size: 14px 18px;
	background-position: left 14px center;
	padding-left: 42px;
}

.btn-line a,
.btn-line span {
	display: inline-block;
	background-color: #FFFFFF;
	border: 2px solid #00773D;
	border-radius: 20px;
	padding: 7px 12px 9px 16px;
	color: #00773D;
	font-size: 15px;
	text-align: center;
	letter-spacing: 0.15em;
}

.btn-line a:hover { background-color: #00773D; color: #FFFFFF; opacity: 1; }

/* .btn-set
------------------------------------*/
.btn-set { overflow: hidden; }
.btn-set div { float: left; margin-right: 18px; }
.btn-set div:last-of-type { margin-right: 0; }
.btn-set div a { border-radius: 2px; text-align: left; }

/* .sns
------------------------------------*/
.sns { overflow: hidden; }
.sns li { float: left; margin-left: 6px; }

.sns li a {
	display: block;
	box-sizing: border-box;
	background-color: #00773D;
	border-radius: 50%;
	width: 29px;
	height: 29px;
	padding: 7px 0 0 7px;
}

.sns li a:hover { background-color: #80C05A; opacity: 1; }
.sns li a img { width: 15px; height: 15px; }

/* #loading
------------------------------------*/
#loading {
	display: none;
	opacity: 0;
	position: fixed;
	top: 50%;
	left: 50%;
	border: 2px solid #00773D;
	border-top-color: transparent;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -10px 0 0 -10px;
	z-index: 99999;
	animation: spin 0.5s infinite linear;
}

@keyframes spin {from{ transform: rotate(0deg); }to{ transform: rotate(360deg); }}


/* header
---------------------------------------------------------------------------*/
header {
	width: 100%;
	min-width: 1200px;
	height: 180px;
	margin: 0 auto;
	padding: 0;
}

.header-inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 42px 54px 27px 58px;
}

header .logo {
	float: left;
	width: 265px;
	margin-top: 10px;
}

header .logo img {
	width: 254px;
}

header .inner {
	position: relative;
	float: right;
}

/* header .btn-pdf
------------------------------------*/
header .btn-pdf {
	position: absolute;
	top: -9px;
	right: 0;
	display: -webkit-box;
	display: flex;
	white-space: nowrap;
}

header .btn-pdf li {
	margin-left: 7px;
}

header .btn-pdf li a {
	display: inline-block;
	border: 1px solid #2A2A2A;
	border-radius: 4px;
	padding: 8px 10px 8px 11px;
	color: #2A2A2A;
	font-size: 14px;
}

header .btn-pdf li a span {
	margin: 0 -1px 0 3px;
	font-size: 11px;
}

/* header .sns
------------------------------------*/
header .sns {
	float: left;
	margin: -6px 0 24px 10px;
}

header .sns li a {
	width: 26px;
	height: 26px;
	padding: 6px 0 0 7px;
}

header .sns li a img {
	width: 13px;
	height: auto;
}

/* .news-header
------------------------------------*/
.news-header {
	float: left;
	margin: -14px 0 0 14px;
}

.news-header article {
	display: flex;
	max-width: 506px;
	padding: 15px 0;
	white-space: nowrap;
}

.news-header time {
	font-size: 14px;
	text-align: right;
	letter-spacing: 0.08em;
	transform: translateY(0.5px);
}

.news-header .category {
	border: 1px solid #2A2A2A;
	border-radius: 14px;
	margin: -3px 12px 0 12px;
	padding: 4px 8px 3px 10px;
	font-size: 12px;
	letter-spacing: 0.08em;
}

.news-header .category li {
	position: relative;
	display: inline-block;
	margin-right: 6px;
}

.news-header .category li:after {
	display: block;
	content: '/';
	position: absolute;
	top: 0;
	right: -8px;
}

.news-header .category li:last-of-type { margin-right: 0; }
.news-header .category li:last-of-type:after { display: none; }

.news-header h2 {
	width: 100%;
	font-size: 14px;
	letter-spacing: 0.08em;
	transform: translateY(1px);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* .gnav
------------------------------------*/
.gnav { clear: both; margin-right: -12px; }
.gnav > ul > li { float: left; }

.gnav > ul > li > a {
	display: block;
	padding: 25px 12px;
	color: #00773D;
	font-size: 16px;
	letter-spacing: 0.1em;
	text-align: center;
}

.gnav > ul > li > a span {
	position: relative;
	display: inline-block;
}

body.about li#gnav-about > a span:after,
body.town li#gnav-about > a span:after,
body.service li#gnav-service > a span:after,
body.result li#gnav-service > a span:after,
body.technology li#gnav-technology > a span:after,
body.blog li#gnav-blog > a span:after,
body.news li#gnav-news > a span:after,
body.inside li#gnav-recruit > a span:after,
body.internship li#gnav-recruit > a span:after,
body.interview li#gnav-recruit > a span:after,
body.question li#gnav-recruit > a span:after,
body.requirements li#gnav-recruit > a span:after,
body.contact li#gnav-contact > a span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -2px;
	left: 0;
	background-color: #00773D;
	width: calc(100% - 2px);
	height: 1px;
}

.gnav li a.let { letter-spacing: 0.04em; }

.gnav > ul > li > a em {
	display: block;
	margin-top: 12px;
	color: #81C15A;
	font-size: 12px;
	letter-spacing: 0.04em;
}

/* .mnav
------------------------------------*/
.btn-mnav { position: relative; }
#wrap.tablet .btn-mnav .parent { pointer-events: none; }

.mnav-wrap {
	display: block;
	visibility: hidden;
	position: absolute;
	top: 65px;
	left: 50%;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid #C5E1D4;
	border-radius: 9px;
	box-shadow: 2px 5px 11px 0 rgba(0,0,0,0.10);
	padding: 30px 25px 20px;
	transform: translateX(-50%) !important;
	transition: .1s ease-out;
	z-index: 998;
	opacity: 0;
}

.mnav-wrap.wide { width: 300px; }

#wrap.tablet .mnav-wrap {
	display: none;
	visibility: inherit;
	transition: inherit;
}

#wrap:not(.tablet) .btn-mnav:hover .mnav-wrap {
	visibility: visible !important;
	top: 75px !important;
	opacity: 1 !important;
}

.mnav-wrap li { position: relative; }
.mnav-wrap.wide li { float: left; width: 48%; }
.mnav-wrap.wide li:nth-child(even) { float: right; }

.mnav-wrap li:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	background-color: #6EBA44;
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

.mnav-wrap li a {
	display: block;
	padding: 5px 0 12px 12px;
	color: #000000;
	font-size: 14px;
	text-decoration: underline;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.mnav-wrap li a span {
	position: relative;
	display: inline-block;
}

.mnav-wrap li a span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	background-color: #00773D;
	width: 100%;
	height: 1px;
	opacity: 0.6;
}

.mnav-title {
	margin-bottom: 22px;
	color: #00773D;
	text-align: center;
}

.mnav-title strong {
	display: block;
	margin-bottom: 11px;
	font-size: 17px;
	letter-spacing: 0.2em;
}

.mnav-title.let strong {
	letter-spacing: 0.12em;
}

.mnav-title em {
	display: block;
	font-size: 10px;
	letter-spacing: 0.2em;
	transform-origin: center center;
	transform: scale(0.9);
}

.mnav-wrap ul + .btn-mnav-s {
	margin-top: 20px;
}

.mnav-wrap .btn-mnav-s { margin-bottom: 10px; }
.mnav-wrap .btn-mnav-s:last-of-type { margin-bottom: 5px; }

.mnav-wrap .btn-mnav-s a {
	display: block;
	border: 1px solid #000000;
	border-radius: 4px;
	padding: 12px 12px;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.1em;
}

/* header.fix
------------------------------------*/
header {
	transition: .15s ease-out;
}

header.fix {
	position: fixed;
	top: -81px;
	left: 0;
	background: #FFFFFF;
	margin: 0;
	height: 80px;
	box-shadow: 0 1px 0 rgba(0,0,0,0.3);
	z-index: 999;
}

header.fix.active { top: 0; }
header.fix .header-inner { position: relative; padding: 0; }

header.fix .logo {
	width: 170px;
	margin: 26px 0 0 30px;
}

header.fix .logo img {
	width: 100%;
	height: auto;
}

header.fix .gnav {
	position: absolute;
	top: 0;
	right: 15px;
	display: inline-block;
	margin: 0;
}

header.fix .gnav > ul > li > a {
	padding: 24px 14px;
	font-size: 15px;
}

.gnav > ul > li > a em {
	margin-top: 10px;
	font-size: 11px;
}

/* header.page
------------------------------------*/
header.page {
	position: relative;
	background-color: #FFFFFF;
	width: 100%;
	height: 130px;
	z-index: 10;
}

header.page .logo-page {
	position: absolute;
	top: 39px;
	left: 37px;
}

header.page .logo {
	float: none;
	position: absolute;
	top: 52px;
	right: 44px;
	width: auto;
	margin: 0;
}

/* media query
-----------------------------------*/
@media (max-width: 1280px) {
	.header-inner {
		padding: 36px 30px 48px 40px;
	}
	.gnav > ul > li > a {
		font-size: 15px;
	}
}


/* footer
---------------------------------------------------------------------------*/
footer {
	overflow: hidden;
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 730px;
	min-width: 1200px;
	margin: 0 auto;
	padding: 360px 0 35px 40px;
	opacity: 0;
}

.footer-inner {
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

footer .snav { margin-bottom: 40px; }
footer .snav li { position: relative; }

footer .snav li:before {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 0;
	background-color: #6EBA44;
	border-radius: 50%;
	width: 6px;
	height: 6px;
}

footer .snav li a {
	display: inline-block;
	padding: 5px 15px 10px 15px;
	color: #232323;
	font-size: 13px;
	text-decoration: underline;
	letter-spacing: 0.1em;
}

footer .logo { margin: 0 0 15px -2px; }
footer .logo img { width: 250px; height: auto; }

footer address {
	display: block;
	margin-bottom: 15px;
	color: #232323;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

footer .copyright {
	font-size: 11px;
	letter-spacing: 0.14em;
}

/* .footer-illust
------------------------------------*/
.footer-illust {
	position: relative;
	position: absolute;
	bottom: -40px;
	right: 0;
	width: 985px;
	height: 539px;
	transform-origin: right bottom;
	z-index: 0;
}

.footer-illust .town { position: absolute; top: 50px; left: 0; z-index: 0; }
.footer-illust .drone { position: absolute; top: 48px; left: 156px; z-index: 1; }
.footer-illust .drone3 { position: absolute; top: -19px; left: -21px; }
.footer-illust .hand { position: absolute; bottom: 23px; right: -792px; z-index: 1; }

.footer-illust .drone .drone2 .txt {
	display: block;
	position: absolute;
	top: -71px;
  right: -119px;
}

/* media query
-----------------------------------*/
@media (max-width: 1280px) {
	.footer-illust {
		transform: scale(0.92);
	}
}

/* .footer-drone
------------------------------------*/
.footer-drone {
	position: absolute;
	bottom: 400px;
	left: calc(50% - 510px);
	margin-bottom: -80px;
	cursor: pointer;
	z-index: 997;
}

.footer-drone-img { display: block; transition: .2s ease-out; }
.footer-drone:hover .footer-drone-img { opacity: 0.5; }

.footer-drone .arrow-top {
	position: absolute;
	top: -56px;
	left: 50%;
	width: 32px;
	margin-left: -16px;
}

.footer-drone .arrow-top img { display: block; opacity: 0; }
.footer-drone.active .arrow-top .arrow1 { animation: footer-drone-arrow1 3s linear infinite; }
.footer-drone.active .arrow-top .arrow2 { animation: footer-drone-arrow2 3s linear infinite; }
.footer-drone.active .arrow-top .arrow3 { animation: footer-drone-arrow3 3s linear infinite; }

@keyframes footer-drone-arrow3 {
	0% { opacity: 0; }
	20% { opacity: 0; }
	28% { opacity: 1; }
	42% { opacity: 0; }
	100% { opacity: 0; }
}

@keyframes footer-drone-arrow2 {
	0% { opacity: 0; }
	28% { opacity: 0; }
	36% { opacity: 1; }
	52% { opacity: 0; }
	100% { opacity: 0; }
}

@keyframes footer-drone-arrow1 {
	0% { opacity: 0; }
	36% { opacity: 0; }
	44% { opacity: 1; }
	62% { opacity: 0; }
	100% { opacity: 0; }
}

.footer-cloud1 {
	position: absolute;
	bottom: 355px;
	left: calc(50% + 10px);
	z-index: 995;
}

.footer-cloud2 {
	position: absolute;
	bottom: 436px;
	left: calc(50% + 48px);
	z-index: 994;
}

.footer-cloud3 {
	position: absolute;
	bottom: 224px;
	left: calc(50% + 382px);
	z-index: 995;
}

/* .fix-cloud
------------------------------------*/
.fix-cloud .cloud {
	display: none;
	position: fixed;
	opacity: 0;
}

.cloud-bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #F8F8F8;
	z-index: 995;
	opacity: 0;
}

.cloud-back {
	top: calc(50% - 1000px);
	left: calc(50% - 1100px);
	width: 2018px;
	z-index: 996;
}

.cloud-front {
	top: calc(50% - 650px);
	left: calc(50% - 1500px);
	width: 3000px;
	z-index: 998;
}


/* .fix-title
---------------------------------------------------------------------------*/
.fix-title {
	position: absolute;
	top: 222px;
	left: -40px;
	width: 34px;
	z-index: 998;
}

.fix-title.active {
	position: fixed;
	top: 160px !important;
}

.fix-title.active_btm {
	position: absolute;
	top: inherit !important;
	bottom: 700px;
}

.fix-title .illust {
	position: relative;
	box-sizing: border-box;
	border-bottom: 1px solid #2A2A2A;
	width: 100%;
	height: 82px;
}

.fix-title .img {
	overflow: hidden;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 200px;
	margin-bottom: -2px;
}

.fix-title .img img {
	display: block;
	position: absolute;
	bottom: -1px;
	left: 4px;
}

.fix-title .comment {
	position: absolute;
	bottom: 80px;
	left: 40px;
	background: #FFFFFF;
	border: 1px solid #00773D;
	border-radius: 3px;
	width: 145px;
	box-shadow: 2px 2px 0 #00773D;
	opacity: 0;
}

.fix-title .comment:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -15px;
	left: 8px;
	background: url(img/share/parts-comment.png) no-repeat;
	background-size: 14px 15px;
	width: 14px;
	height: 15px;
}

.fix-title .slider-news {
	overflow: hidden;
	height: 55px;
}

.fix-title .comment a {
	display: block;
	box-sizing: border-box;
	height: 55px;
	padding: 9px 11px;
	color: #00773D;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.02em;
}

.fix-title .h1 {
	border-bottom: 1px solid #2A2A2A;
	width: 100%;
	font-feature-settings: 'palt' 0;
}

.fix-title .h1 a {
	display: block;
}

.fix-title .h1 strong {
	display: inline-block;
	border-bottom: 1px solid #2A2A2A;
	padding: 16px 10px;
	font-size: 14px;
	letter-spacing: 0.2em;
	white-space: nowrap;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.fix-title .h1 em {
	display: inline-block;
	padding: 20px 12px 18px;
	font-size: 13px;
	letter-spacing: 0.1em;
	white-space: nowrap;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

@media all and (-ms-high-contrast:none){
	.fix-title .h1 em {
		font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
		font-weight: bold;
	}
}

_::-webkit-full-page-media, _:future, :root .fix-title .h1 strong {
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif !important;
	font-weight: 600;
	font-feature-settings: 'palt' 0;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.pjax-fade { opacity: 0; }


/* slider
---------------------------------------------------------------------------*/

/* slider
------------------------------------*/
.slider { width: 100%; }
.slider .inner { width: 100%; opacity: 0; }
.slider .inner:first-of-type { opacity: 1; }
.slider .inner img { width: 100%; height: auto; }

/* .slick-dots
------------------------------------*/
.slider .slick-dots {
	position: absolute;
	bottom: -5px;
	right: -40px;
}

.slider .slick-dots li {
	position: relative;
	width: 21px;
	height: 21px;
}

.slider .slick-dots button {
	position: relative;
	width: 21px;
	height: 21px;
	text-indent: -9999px;
	transition: .15s ease-out;
}

.slider .slick-dots button:after {
	display: block;
	content: '';
	position: absolute;
	top: 7px;
	left: 7px;
	background: #E7E7E7;
	border-radius: 50%;
	width: 7px;
	height: 7px;
}

.slider .slick-dots button:hover:after,
.slider .slick-dots .slick-active button:after {
	background: #00773D;
}


/* movie
---------------------------------------------------------------------------*/
.movie-wrap {
	position: relative;
	width: 100%;
}

.movie {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding: 0 0 56.25%;
	cursor: pointer;
}

.movie .movie-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: .15s ease-out;
	z-index: 4;
}

.movie:hover .movie-btn { opacity: 0.6; }

.movie .movie-btn.size-s img {
	width: 80px;
	height: 80px;
}

.movie .movie-mask {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #000000;
	width: 100%;
	height: 100%;
	transition: .15s ease-out;
	z-index: 3;
	opacity: 0.6;
}

.movie:hover .movie-mask { opacity: 0.4; }

.movie .movie-cover {
	position: absolute;
	top: 0;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.movie iframe,
.movie .iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}


/* nav
---------------------------------------------------------------------------*/

/* .pnav
------------------------------------*/
.pnav {
	float: left;
	width: 180px;
}

.pnav li a {
	display: inline-block;
	background: url(img/share/ico-arrow-down.svg) no-repeat left top 7px;
	background-size: 20px 20px;
	padding: 5px 10px 7px 28px;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.pnav li a span {
	border-bottom: 1px solid #2A2A2A;
	line-height: 1.6;
}

/* .pnav-l
------------------------------------*/
.pnav-l {
	width: 1000px;
	margin: 0 auto 90px;
	padding-top: 40px;
	white-space: nowrap;
}

/* media query
-----------------------------------*/
@media (max-width: 1500px) {
	.pnav-l {
		padding-top: 60px;
	}
}

.pnav-l ul {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	border-left: 1px solid #DAEBCF;
	text-align: center;
}

.pnav-l li {
	box-sizing: border-box;
	border-right: 1px solid #DAEBCF;
}

.pnav-l li a {
	display: block;
	padding: 14px 24px;
}

.pnav-l li.line2 a {
	padding-top: 2px;
	padding-bottom: 2px;
}

body.inside .pnav-l #nav-inside a,
body.internship .pnav-l #nav-internship a,
body.interview .pnav-l #nav-interview a,
body.question .pnav-l #nav-question a,
body.requirements .pnav-l #nav-requirements a {
	opacity: 1;
}

.pnav-l li strong {
	display: block;
	margin-bottom: 7px;
	color: #00773D;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.09em;
}

.pnav-l li em {
	display: block;
	color: #81C15A;
	font-size: 12px;
	letter-spacing: 0.1em;
}


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

/* .title-sec
------------------------------------*/
.title-sec {
	margin: 0 0 40px 2px;
}

.title-sec strong {
	border-bottom: 2px solid #2A2A2A;
	padding: 0 0 2px 2px;
	font-size: 16px;
	letter-spacing: 0.18em;
}

/* .title-slash
------------------------------------*/
.title-slash {
	margin-bottom: 30px;
	color: #00773D;
	font-size: 33px;
	letter-spacing: 0.05em;
	text-align: center;
}

.title-slash strong {
	display: inline-block;
	background: url(img/share/line-slash.png) repeat-x left top;
	background-size: 17px 6px;
	padding-top: 25px;
}


/* list
---------------------------------------------------------------------------*/

/* .dl-line
------------------------------------*/
.dl-line {
	font-size: 14px;
	line-height: 1.8;
}

.dl-line dt {
	clear: both;
	float: left;
	box-sizing: border-box;
	width: 170px;
	padding: 12px 15px 0;
	color: #00773D;
	letter-spacing: 0.15em;
}

.dl-line dt span {
	display: block;
	margin-top: -2px;
	font-size: 11px;
}

.dl-line dd {
	border-bottom: 1px solid #DFDFDF;
	padding: 12px 0 11px 170px;
}

.dl-line dd,
.dl-line dd li,
.dl-line dd p {
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.dl-line dd ul {
	float: left;
	width: 48%;
	padding-bottom: 5px;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 5px 2px;
	padding-left: 12px;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.dot-list li:before {
	display: block;
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 15px;
	font-size: 13px;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.attention-list li:last-of-type { margin-bottom: 0; }

.attention-list li:before {
	display: block;
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}


/* box
---------------------------------------------------------------------------*/

/* .box-beige
------------------------------------*/
.box-beige {
	position: relative;
	box-sizing: border-box;
	background-color: #F8F4EF;
	border-radius: 19px;
	box-shadow: 0 7px 0 #CAC6C2;
	padding: 30px;
}


/* .post-side
---------------------------------------------------------------------------*/
.post-side {
	width: 200px;
	float: left;
}

/* media query
-----------------------------------*/
@media (max-width: 1260px) {
	.post-side {
		box-sizing: border-box;
		padding-left: 20px;
	}
}

.post-side h2 {
	margin: 40px 0 20px;
	font-size: 11px;
	letter-spacing: 0.1em;
}

.post-side h2:first-of-type {
	margin-top: 0;
}

/* .category-list, .year-list
------------------------------------*/
.post-side .category-list,
.post-side .year-list {
	padding-left: 18px;
}

.post-side .category-list li a,
.post-side .year-list li a {
	display: inline-block;
	position: relative;
	padding: 7px 15px 7px 15px;
	font-size: 15px;
	letter-spacing: 0.08em;
}

.post-side .category-list li a {
	font-size: 13px;
}

.post-side .category-list li.current-cat a,
.post-side .year-list li.current-cat a {
	color: #00773D;
}

.post-side .category-list li a:before,
.post-side .year-list li a:before {
	display: block;
	content: '#';
	position: absolute;
	top: 7px;
	left: 0;
	font-size: 15px;
}

/* .category-select
------------------------------------*/
.post-side .btn-wrap {
	position: relative;
	display: inline-block;
}

.post-side .btn-wrap .illust {
	position: absolute;
	top: -47px;
	right: 15px;
	z-index: 2;
}

.category-select {
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
	transition: .15s ease-out;
}

.category-select:hover { opacity: 0.5; }
.category-select select { cursor: pointer !important; }

.category-select .customSelect {
	overflow: hidden;
	display: block;
	background: #FFFFFF;
	border: 2px solid #00773D;
	border-radius: 4px;
	margin: 0;
	padding: 9px 11px 9px 35px;
	color: #00773D;
	font-size: 13px;
	letter-spacing: 0.1em;
}

.category-select .customSelect:after {
	display: block;
	content: '';
	position: absolute;
	top: 9px;
	left: 11px;
	background: url(img/share/ico-arrow-down.svg) no-repeat;
	background-size: 17px 17px;
	width: 17px;
	height: 17px;
}

.category-select .customSelect .customSelectInner {
	width: 100% !important;
}


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

/* .news-list
------------------------------------*/
.news-list {
	border-top: 1px solid #BCBCBC;
	width: 810px;
	margin: 0 auto;
}

.news-list article {
	border-bottom: 1px solid #BCBCBC;
}

/* .news-title
------------------------------------*/
.news-title {
	position: relative;
/* 	padding: 17px 0 18px 200px; */
	transition: .15s ease-out;
}

.news-title time {
	display: block;
	position: absolute;
	top: 24px;
	left: 15px;
	font-size: 13px;
	letter-spacing: 0.1em;
	transition: .15s ease-out;
	z-index: 2;
}

.news-title:not(.not-link):hover time { color: #00773D; }

.news-title .post-categories {
	position: absolute;
	top: 22px;
	left: 112px;
	margin-top: 2px;
	z-index: 2;
}

.news-title .post-categories.line2 {
	top: 50% !important;
	transform: translateY(-50%) !important;
}

.news-title .post-categories li {
	color: #00773D;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: capitalize;
}

.news-title .post-categories.line2 li {
	margin-bottom: 4px;
}

.news-title h2 {
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.news-title h2.pdf:after {
	display: block;
	content: '';
	position: absolute;
	top: 15px;
	right: 19px;
	background: url(img/share/ico-pdf.svg) no-repeat;
	background-size: 30px 28px;
	width:30px;
	height: 28px;
}

.news-title h2 > span,
.news-title h2 > a {
	display: block;
	padding: 19px 100px 20px 200px;
}

.news-title h2 > a:hover {
	background-color: #FCFFF7;
	color: #00773D;
	opacity: 1;
}

.news-title h2 a i { text-decoration: underline; }
.news-title h2.pdf a i { text-decoration: none; }

/* .btn-ac
------------------------------------*/
.btn-ac {
	position: relative;
	cursor: pointer;
}

.btn-ac time,
.btn-ac .post-categories,
.btn-ac h2 {
	transition: .15s ease-out;
}

.btn-ac:not(.active):hover {
	background-color: #FCFFF7;
}

.btn-ac:not(.active):hover time,
.btn-ac:not(.active):hover h2 {
	color: #00773D;
}

.news-title.btn-ac:after {
	display: block;
	content: '';
	position: absolute;
	top: 19px;
	right: 20px;
	background: url(img/share/ico-arrow-down.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
	transition: .15s ease-out;
}

.news-title.btn-ac.active:after { opacity: 0; }

.news-title h2 .close {
	position: absolute;
	top: 19px;
	right: 20px;
	transition: .15s ease-out;
	opacity: 0;
}

.news-title.active h2 .close {
	opacity: 1;
}

.news-title h2 .close i {
	display: inline-block;
	background: url(img/share/ico-close-btn.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
}

/* .sec-post-table
------------------------------------*/
.sec-post-table {
	width: 80%;
	margin-top: 60px;
}

.sec-post-table h3 {
	margin-bottom: 25px;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.sec-post-table h3 strong {
	padding-left: 0;
	font-size: 15px;
	letter-spacing: 0.12em;
}

.post-table {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 50px;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0.08em;
}

.post-table tr { border-bottom: 1px solid #DFDFDF; }

.post-table th {
	position: relative;
	box-sizing: border-box;
	width: 25%;
	padding: 13px 15px 12px 5px;
	color: #00773D;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.12em;
}

.post-table td {
	box-sizing: border-box;
	width: 75%;
	padding: 13px 5px 12px 0;
}

/* .post-link
------------------------------------*/
.post-link { overflow: hidden; margin-top: 60px; }
.post-link li { float: left; margin: 0 10px 10px 0; }

/* .news-detail
------------------------------------*/
.news-detail {
	display: none;
	position: relative;
	padding-bottom: 40px;
}

body.news.single .news-detail {
	display: block;
}

.news-detail .inner {
	box-sizing: border-box;
	border-radius: 0 0 8px 8px;
	width: 100%;
	padding: 0 15px 0 200px;
	font-size: 13px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.news-detail .inner p {
	margin-bottom: 15px;
	color: #2A2A2A;
	font-size: 13px;
}

.news-detail .inner p:last-child { margin-bottom: 0; }
/* .news-detail .inner-main a { color: #EE781F; text-decoration: underline; } */
.news-detail .inner-main a { color: #00773D; text-decoration: underline; }
.news-detail .inner-main strong { font-weight: bold; }
.news-detail .inner-main em { font-style: italic; }
.news-detail .inner-main del { text-decoration: line-through; }

.news-detail .inner-main img {
	display: block;
	max-width: 100%;
	height: auto;
	padding-bottom: 10px;
}

.news-detail .inner-main .wp-caption { max-width: 100%; margin-bottom: 25px; }
.news-detail .inner-main .wp-caption-text { margin-top: -5px; }

.news-detail .inner-main ul,
.news-detail .inner-main ol { margin: 30px 0; }
.news-detail .inner-main ul li { list-style: disc; margin: 0 0 6px 20px; }
.news-detail .inner-main ol li { list-style: decimal; margin: 0 0 6px 25px; }
.news-detail .inner-main ul li:last-of-type,
.news-detail .inner-main ol li:last-of-type { margin-bottom: 0; }

.news-detail .inner-main blockquote {
	background: #F5FCEF;
	margin-top: 30px;
	padding: 22px 28px 20px;
}

.news-detail .post-table {
	margin: 35px 0 30px;
}

.news-detail .post-table h3 {
	margin: 36px 0 16px;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.12em;
}

.news-detail .post-table h3:first-of-type { margin-top: 0; }

.news-detail .post-table table { width: 100%; font-size: 13px; }
.news-detail .post-link { margin-top: 26px; }


/* .blog-list
---------------------------------------------------------------------------*/
.blog-list {
	width: 840px;
}

.blog-list article {
	float: left;
	width: 260px;
	margin: 0 30px 50px 0;
}

.blog-list article:nth-of-type(3n) { margin-right: 0 !important; }

.blog-list article a {
	display: block;
}

.blog-list .category {
	margin-bottom: 8px;
}

.blog-list .category li {
	position: relative;
	display: inline-block;
	color: #00773D;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.blog-list .category li:last-of-type i { display: none; }

.blog-list figure {
	position: relative;
	width: 100%;
	margin-bottom: 22px;
}

.blog-list figure span {
	display: block;
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-bottom: 63%;
}

.blog-list article > a > figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
}

.blog-list article:nth-of-type(3) a > figure:before,
.blog-list article:nth-of-type(3) a > figure:after,
.sec-blog-top .blog-list article:nth-of-type(4) a > figure:before,
.sec-blog-top .blog-list article:nth-of-type(4) a > figure:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -9px;
	right: -14px;
	background-repeat: no-repeat;
	background-size: 19px auto;
	width: 19px;
	height: 63px;
}

.sec-blog-top .blog-list article:nth-of-type(3) a > figure:before,
.sec-blog-top .blog-list article:nth-of-type(3) a > figure:after {
	display: none;
}

.sec-blog-top .blog-list article:nth-of-type(4) a > figure:before,
.sec-blog-top .blog-list article:nth-of-type(4) a > figure:after {
	display: block;
}

.blog-list article:nth-of-type(3) a > figure:before,
.sec-blog-top .blog-list article:nth-of-type(4) a > figure:before {
	background-image: url(img/share/illust-human-look-hand.svg);
	z-index: 2;
}

.blog-list article:nth-of-type(3) a > figure:after,
.sec-blog-top .blog-list article:nth-of-type(4) a > figure:after {
	background-image: url(img/share/illust-human-look.svg);
	z-index: -1;
}

.blog-list time {
	display: block;
	margin-bottom: 8px;
	color: #00773D;
	font-size: 13px;
	letter-spacing: 0.08em;
}

.blog-list h2 {
	font-size: 14px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

/* .blog-writer
------------------------------------*/
.blog-writer {
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
	margin-top: 18px;
}

.blog-writer figure {
	width: 56px;
	min-width: 56px;
	margin: -4px 0 0 -10px;
}

.blog-writer figure img {
	width: 100%;
	height: auto;
}

.blog-writer h3 {
	padding-left: 10px;
}

.blog-writer h3 em,
.blog-writer h3 strong {
	font-size: 13px;
	letter-spacing: 0.1em;
}

.blog-writer h3 em {
	padding-right: 2px;
	color: #00773D;
}

.blog-writer h3 i {
	display: block;
	padding-top: 8px;
	font-size: 12px;
	letter-spacing: 0.06em;
}

/* .blog-other-title
------------------------------------*/
.blog-other-title {
	position: relative;
	margin-bottom: 52px;
}

.blog-other-title:after {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	background-color: #00773D;
	width: 100%;
	height: 1px;
}

.blog-other-title h2 {
	position: relative;
	display: inline-block;
	background-color: #FFFFFF;
	padding-right: 16px;
	color: #00773D;
	z-index: 2;
}

.blog-other-title h2 strong {
	padding-right: 10px;
	font-size: 20px;
	letter-spacing: 0.12em;
}

.blog-other-title h2 em {
	font-size: 13px;
	letter-spacing: 0.08em;
}

.blog-other-title a {
	display: block;
	position: absolute;
	top: -7px;
	right: 0;
	background-color: #FFFFFF;
	border: 2px solid #00773D;
	border-radius: 20px;
	padding: 7px 12px 8px 15px;
	color: #00773D;
	font-size: 15px;
	letter-spacing: 0.15em;
	z-index: 2;
}

.blog-other-title a:hover {
	background-color: #00773D;
	color: #FFFFFF;
	opacity: 1;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	clear: both;
	overflow: hidden;
	margin-top: 50px;
	font-size: 16px;
	text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
	margin: 0 5px;
	padding: 5px;
}

.wp-pagenavi .current {
	display: inline-block;
	border-bottom: 1px solid #00773D;
	margin: 0 10px;
	padding: 5px 0 2px;
	color: #00773D;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	font-size: 15px;
}


/* .sec-blog
---------------------------------------------------------------------------*/
.sec-blog {
	width: 986px;
	margin: 0 auto;
}

.sec-blog .title-set {
	position: relative;
	margin-bottom: 50px;
}

.sec-blog .title-set:after {
	display: block;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	background-color: #00773D;
	width: 100%;
	height: 1px;
	z-index: 1;
}

.sec-blog .title-set h2 {
	position: relative;
	display: inline-block;
	background-color: #FFFFFF;
	padding-right: 10px;
	color: #00773D;
	font-size: 20px;
	letter-spacing: 0.15em;
	z-index: 2;
}

.sec-blog .title-set .btn-line {
	position: absolute;
	top: -7px;
	right: 0;
	z-index: 2;
}

.sec-blog .blog-list {
	width: 100%;
}

.sec-blog .blog-list article {
	width: 224px;
	margin-right: 30px !important;
}

.sec-blog .blog-list article:nth-of-type(4n) {
	margin-right: 0 !important;
}

.sec-blog .blog-list .category,
.sec-blog .blog-list .blog-writer,
.sec-blog .blog-list article:nth-of-type(3) a > figure:before,
.sec-blog .blog-list article:nth-of-type(3) a > figure:after {
	display: none;
}

.sec-blog .blog-list figure img {
	width: 100%;
	height: auto;
}


/* .sec-department
---------------------------------------------------------------------------*/
.sec-department {
	box-sizing: border-box;
	width: 100%;
	padding: 0 30px;
}

.sec-department .title-slash {
	text-align: center;
}

.sec-department .title-slash strong {
	padding-right: 5px;
	padding-left: 5px;
}

.sec-department .sec-inner {
	box-sizing: border-box;
	background-color: #F5FCEF;
	border-radius: 30px;
	max-width: 1260px;
	margin: 0 auto;
	padding: 80px 55px 65px;
}

.department-list .inner {
	position: relative;
	float: left;
	box-sizing: border-box;
	background-color: #FFFFFF;
	border: 1px solid #DBDAD7;
	border-radius: 12px;
	box-shadow: 0 6px 0 #D5D3C0;
	width: 23.2%;
	margin: 8% 2.4% 0 0;
	padding: 165px 12px 28px;
}

.department-list .inner:nth-of-type(4n) {
	margin-right: 0;
}

.department-list .inner:nth-of-type(1),
.department-list .inner:nth-of-type(2),
.department-list .inner:nth-of-type(3),
.department-list .inner:nth-of-type(4) {
	margin-top: 0;
	margin-bottom: -2%;
	padding-top: 165px;
}

.department-list .inner:nth-of-type(5),
.department-list .inner:nth-of-type(6),
.department-list .inner:nth-of-type(7),
.department-list .inner:nth-of-type(8) {
	padding-top: 140px;
}

.department-list .inner:nth-of-type(9),
.department-list .inner:nth-of-type(10),
.department-list .inner:nth-of-type(11),
.department-list .inner:nth-of-type(12) {
	padding-top: 120px;
}

.department-list figure {
	position: absolute;
	left: 0;
	width: 100%;
}

.department-list .inner:nth-of-type(1) figure { top: 140px; }
.department-list .inner:nth-of-type(2) figure { top: 140px; }
.department-list .inner:nth-of-type(3) figure { top: 140px; }
.department-list .inner:nth-of-type(4) figure { top: 140px; }

.department-list .inner:nth-of-type(5) figure { top: 120px; }
.department-list .inner:nth-of-type(6) figure { top: 120px; }
.department-list .inner:nth-of-type(7) figure { top: 120px; }
.department-list .inner:nth-of-type(8) figure { top: 120px; }

.department-list .inner:nth-of-type(9) figure { top: 100px; }
.department-list .inner:nth-of-type(10) figure { top: 100px; }
.department-list .inner:nth-of-type(11) figure { top: 100px; }
.department-list .inner:nth-of-type(12) figure { top: 100px; }

.department-list figure img {
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.department-list .department223 figure img {
	bottom: 10px;
	margin-left: -10px;
}

.department-list .inner-s {
	padding: 0 10px;
}

.department-list .ico {
	margin: 0 0 22px 2px;
}

.department-list .ico img,
.sec-single .ico img {
	display: inline-block;
	width: 27px;
	height: 27px;
	margin-right: 2px;
}

.department-list h3 {
	margin-bottom: 20px;
	color: #00773D;
}

.department-list h3 strong {
	display: block;
	font-size: 25px;
	letter-spacing: 0.1em;
}

.department-list li {
	font-size: 13px;
}

.department-list .btn {
	margin-top: 30px;
}

.department-list .btn a {
	border-radius: 2px;
	width: 100%;
	padding: 10px 0 7px 5px;
}


/* .result-list
---------------------------------------------------------------------------*/
.result-list section {
	position: relative;
	border-top: 2px solid #00773D;
	padding: 15px 0 145px 78px;
}

.result-list h2 {
	position: absolute;
	top: 42px;
	left: 4px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

.result-list h2 a {
	position: relative;
	display: inline-block;
	color: #00773D;
	font-size: 27px;
	letter-spacing: 0.2em;
}

.result-list h2 a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -34px;
	left: -1px;
	background: #00773D url(img/share/ico-zoom.svg) no-repeat center center;
	background-size: 14px 14px;
	border-radius: 50%;
	width: 28px;
	height: 28px;
}

/* .result-list article.main
------------------------------------*/
.result-list article.main {
	display: -webkit-box;
	display: flex;
	background: url(img/share/line-dot-s.svg) repeat-x left top;
	background-size: 6px 3px;
	padding: 28px 28px 28px 8px;
}

.result-list article.main:first-of-type { background: none; }
.result-list article.main:last-of-type { padding-bottom: 0; }

.result-list article.main figure {
	overflow: hidden;
	position: relative;
	border-radius: 5px;
	width: 248px;
	min-width: 248px;
	height: 155px;
}

.result-list article.main figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 5px;
	min-width: 100%;
	height: auto;
}

.result-list article.main .txt-set {
	padding-left: 42px;
}

.result-list article.main h3 {
	margin-bottom: 8px;
	color: #00773D;
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.result-list article.main h4 {
	margin-bottom: 18px;
	font-size: 12px;
	letter-spacing: 0.14em;
}

.result-list article.main p {
	font-size: 13px;
	text-align: justify;
	line-height: 1.7;
}

.result-list article.main .btn-set { margin: 20px 0 -10px; }
.result-list article.main .btn-set div { margin: 0 10px 10px 0; }

/* .result-sub
------------------------------------*/
.result-sub-wrap { display: none; }
.result-sub { padding-top: 35px; }

/* .result-list article.sub
------------------------------------*/
.result-list article.sub {
	position: relative;
	overflow: hidden;
	background: url(img/share/line-dot-s.svg) repeat-x left top;
	background-size: 6px 3px;
	padding: 11px 14px 9px 35px;
}

.result-list article.sub:last-of-type { padding-bottom: 0; }

.result-list article.sub:before {
	display: block;
	content: '';
	position: absolute;
	top: 16px;
	left: 10px;
	background-color: #00773D;
	border-radius: 15px;
	width: 15px;
	height: 15px;
}

.result-list article.sub h3 {
	display: inline-block;
	float: left;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.result-list article.sub h4 {
	display: inline-block;
	float: right;
	margin-top: 6px;
	font-size: 13px;
	letter-spacing: 0.1em;
}

/* .btn-ac-before
------------------------------------*/
.btn-ac-before {
	position: absolute;
	bottom: 55px;
	left: 78px;
	box-sizing: border-box;
	border: 1px solid #2A2A2A;
	border-radius: 4px;
	width: calc(100% - 78px);
	padding: 17px;
	font-size: 14px;
	text-align: center;
	letter-spacing: 0.15em;
	transition: .15s ease-out;
	cursor: pointer;
}

.btn-ac-before:hover { opacity: 0.5; }

.btn-ac-before span {
	position: relative;
	display: inline-block;
	padding-left: 30px;
}

.btn-ac-before span i {
	display: block;
	position: absolute;
	top: -2px;
	left: 0;
	background: url(img/share/ico-arrow-down.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
	transition: .2s ease-out;
}

.btn-ac-before.active span i { transform: rotate(180deg); }


/* .staff-inner
---------------------------------------------------------------------------*/
.staff-inner {
	margin-bottom: 17px;
	padding: 20px 102px 16px 22px;
	box-shadow: 0 3px 0 #CAC6C2;
}

.staff-inner:last-of-type { margin-bottom: 0; }

.staff-inner figure {
	position: absolute;
	bottom: 0;
	right: 10px;
}

.staff-inner h6 {
	margin-bottom: 10px;
	color: #00773D;
	font-size: 17px;
	letter-spacing: 0.1em;
}

.staff-inner h6 span {
	padding-left: 4px;
	font-size: 12px;
}

.staff-inner p {
	color: #454545;
	font-size: 13px;
	text-align: justify;
	line-height: 1.5;
	letter-spacing: 0.02em;
}


/* .skill-list
---------------------------------------------------------------------------*/
.skill-list {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	width: 725px;
	margin: 0 auto;
}

.skill-list.btm {
	width: 1065px;
	margin-top: 115px;
}

.skill-list li {
	width: 335px;
	min-width: 335px;
	margin-right: 55px;
	padding: 110px 25px 25px;
}

.skill-list.btm li { margin-right: 30px; }
.skill-list li:last-of-type { margin-right: 0; }

.skill-list h3 {
	position: absolute;
	top: -75px;
	left: 25px;
}

.skill-list figure {
	position: absolute;
	top: 0;
	right: 0;
}

.skill-list li:nth-of-type(1) figure { top: -40px; right: -10px; }
.skill-list li:nth-of-type(1) figure img { width: 152px; height: auto; }
.skill-list li:nth-of-type(2) figure { top: -20px; right: 8px; }
.skill-list li:nth-of-type(2) figure img { width: 150px; height: auto; }
.skill-list.btm li:nth-of-type(1) figure { top: -22px; right: -6px; }
.skill-list.btm li:nth-of-type(1) figure img { width: 152px; height: auto; }
.skill-list.btm li:nth-of-type(2) figure { top: -28px; right: 30px; }
.skill-list.btm li:nth-of-type(2) figure img { width: 116px; height: auto; }
.skill-list.btm li:nth-of-type(3) figure { top: -36px; right: 28px; }
.skill-list.btm li:nth-of-type(3) figure img { width: 114px; height: auto; }

.skill-list p {
	text-align: justify;
	letter-spacing: 0.02em;
}


/* page error
---------------------------------------------------------------------------*/
#errorContents { box-sizing: border-box; width: 734px; margin: 0 auto; padding-left: 130px; white-space: nowrap; }
#errorContents h1 { margin-bottom: 30px; color: #00773D; }
#errorContents h1 strong { display: block; font-size: 27px; letter-spacing: 0.1em; }
#errorContents h1 em { margin-left: 2px; font-size: 10px; letter-spacing: 0.25em; }
#errorContents .error-txt p { margin-bottom: 10px; }
#errorContents .error-txt p a { text-decoration: underline; }


/* .grecaptcha-badge
---------------------------------------------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; }
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }


/* .question-list
---------------------------------------------------------------------------*/
.question-list {
	border-top: 1px solid #BCBCBC;
}

.question-list article {
	border-bottom: 1px solid #BCBCBC;
}

/* .question-title
------------------------------------*/
.question-title {
	position: relative;
	padding: 17px 0 18px 50px;
	transition: .15s ease-out;
}

.question-title > i {
	display: block;
	position: absolute;
	top: 17px;
	left: 14px;
	color: #00773D;
	font-size: 22px;
}

.question-title h2 {
	position: relative;
	padding: 0;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.question-title:not(.active):hover {
	background-color: #FCFFF7;
	color: #00773D;
}

/* .btn-ac
------------------------------------*/
.btn-ac {
	position: relative;
	cursor: pointer;
}

.btn-ac h2 {
	transition: .15s ease-out;
}

.btn-ac:not(.active):hover {
	background-color: #FCFFF7;
}

.question-title.btn-ac:after {
	display: block;
	content: '';
	position: absolute;
	top: 19px;
	right: 20px;
	background: url(img/share/ico-arrow-down.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
	transition: .15s ease-out;
}

.question-title.btn-ac.active:after {
	transform: rotate(360deg);
	opacity: 0;
}

.question-title h2 .close {
	position: absolute;
	top: 2px;
	right: 20px;
}

.question-title h2 .close i {
	display: inline-block;
	background: url(img/share/ico-close-btn.svg) no-repeat;
	background-size: 20px 20px;
	width: 20px;
	height: 20px;
	transition: .15s ease-out;
	opacity: 0;
}

.question-title.active h2 .close i {
	transform: rotate(360deg);
	opacity: 1;
}

/* .question-detail
------------------------------------*/
.question-detail {
	display: none;
	position: relative;
	padding-bottom: 30px;
}

#newsContents.single .question-detail {
	display: block;
}

.question-detail .inner {
	box-sizing: border-box;
	width: 100%;
	padding: 0 15px 0 50px;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.question-detail .inner p {
	margin-bottom: 15px;
	color: #2A2A2A;
}

.question-detail .btn-set {
	margin-top: 25px;
}

.question-detail .btn-set div {
	margin-right: 12px;
}