@charset "utf-8";

button,
hr,
input {
	overflow: visible
}

progress,
sub,
sup {
	vertical-align: baseline
}

[type=checkbox],
[type=radio],
legend {
	box-sizing: border-box;
	padding: 0
}

html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%
}

body {
	margin: 0
}

h1 {
	font-size: 2em;
	margin: .67em 0
}

hr {
	box-sizing: content-box;
	height: 0
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em
}

a {
	background-color: transparent
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: bolder
}

small {
	font-size: 80%
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

img {
	border-style: none
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0
}

button,
select {
	text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
	-webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	border-style: none;
	padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline: ButtonText dotted 1px
}

fieldset {
	padding: 0.35em 0.75em 0.625em
}

legend {
	color: inherit;
	display: table;
	max-width: 100%;
	white-space: normal
}

textarea {
	overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

details {
	display: block
}

summary {
	display: list-item
}

[hidden],
template {
	display: none
}

.pt05 {
	padding-top: .5em
}

.pt10 {
	padding-top: 1em
}

.pt15 {
	padding-top: 1.5em
}

.pt20 {
	padding-top: 2em
}

.pt25 {
	padding-top: 2.5em
}

.pt30 {
	padding-top: 3em
}

.pt35 {
	padding-top: 3.5em
}

.pt40 {
	padding-top: 4em
}

.pt45 {
	padding-top: 4.5em
}

.pt50 {
	padding-top: 5em
}

.pb05 {
	padding-bottom: .5em
}

.pb10 {
	padding-bottom: 1em
}

.pb15 {
	padding-bottom: 1.5em
}

.pb20 {
	padding-bottom: 2em
}

.pb25 {
	padding-bottom: 2.5em
}

.pb30 {
	padding-bottom: 3em
}

.pb35 {
	padding-bottom: 3.5em
}

.pb40 {
	padding-bottom: 4em
}

.pb45 {
	padding-bottom: 4.5em
}

.pb50 {
	padding-bottom: 5em
}

.mt05 {
	margin-top: .5em
}

.mt10 {
	margin-top: 1em
}

.mt15 {
	margin-top: 1.5em
}

.mt20 {
	margin-top: 2em
}

.mt25 {
	margin-top: 2.5em
}

.mt30 {
	margin-top: 3em
}

.mt35 {
	margin-top: 3.5em
}

.mt40 {
	margin-top: 4em
}

.mt45 {
	margin-top: 4.5em
}

.mt50 {
	margin-top: 5em
}

.mb05 {
	margin-bottom: .5em
}

.mb10 {
	margin-bottom: 1em
}

.mb15 {
	margin-bottom: 1.5em
}

.mb20 {
	margin-bottom: 2em
}

.mb25 {
	margin-bottom: 2.5em
}

.mb30 {
	margin-bottom: 3em
}

.mb35 {
	margin-bottom: 3.5em
}

.mb40 {
	margin-bottom: 4em
}

.mb45 {
	margin-bottom: 4.5em
}

.mb50 {
	margin-bottom: 5em
}

* {
	margin: 0;
	padding: 0
}

h1,
h2,
h3,
h4,
p,
th {
	margin: 0;
	padding: 0;
	font-feature-settings: "palt"
}

body {
	font-size: 15px;
	color: #444
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

figure {
	margin: 0;
	padding: 0
}

img,
a {
	vertical-align: top;
	border: none;
	/* outline: none; */
	height: auto;
	text-decoration: none
}

ul,
li {
	list-style-type: none
}

p {
	text-align: justify;
	text-justify: inter-ideograph
}

::selection {
	background: #008803;
	color: #fff
}

::-moz-selection {
	background: #008803;
	color: #fff
}

a {
	transition: opacity 0.3s
}

i {
	margin-right: 5px
}

br.sp {
	display: none
}

br.pc {
	display: block
}

.spOnly {
	display: none
}

.pcOnly {
	display: auto
}

.-wb {
	display: inline-block;
}

@keyframes flash {
	0% {
		opacity: .1
	}

	100% {
		opacity: 1
	}
}

.tilt {
	display: inline-block;
	transform: skewX(-15deg)
}

.tilt span {
	display: inline-block;
	transform: skewX(15deg)
}

header.local2020 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 960px;
	padding: 0 10px;
	margin: 0 auto 40px
}

header.local2020 .right {
	width: 180px
}

header.local2020 h1 {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end
}

header.local2020 h1 .title {
	margin-right: 10px
}

header.local2020 h1 .title img {
	height: 40px;
	width: auto
}

header.local2020 h1 .subTitle {
	width: 260px
}

header.local2020 h1 .subTitle img {
	width: 100%
}

header.local2020 h1 .subTitle img.sp {
	display: none
}

header.local2020 ul {
	display: flex
}

header.local2020 ul li {
	padding-right: -20px
}

header.local2020 a.tilt {
	background-color: #e7f3e5;
	line-height: 1;
	padding: 1.2em 1.7em;
	text-decoration: none;
	color: #000
}

header.local2020 a.tilt:hover {
	background-color: #008803;
	color: #fff
}

header.local2020 .en span {
	color: #008803
}

header.local2020 .global {
	margin-top: 8px
}

header.local2020 .global ul li {
	margin-right: 2px
}

header.local2020 .global ul li.current a {
	background-color: #008803;
	color: #fff
}

header.local2020 .extra ul {
	flex-direction: column
}

header.local2020 .extra ul li {
	margin-bottom: 5px
}

header.local2020 .extra ul li a {
	display: block;
	border-radius: 5px;
	background-color: #008803;
	color: #fff;
	text-decoration: none;
	padding: .6em;
	text-align: center;
	line-height: 1
}

header.local2020 .extra ul li a:hover {
	animation: flash 0.3s
}

header.local2020 .extra ul li a i {
	margin-left: 5px
}

header.local2020 #menu_sp {
	display: none
}

.container {
	width: 100%;
	border-top: solid 5px #008803;
	padding: 20px 0 30px
}

.container a {
	color: #008803
}

/*一覧アンカー*/
.contents-box .careermenu {
	display: flex;
	margin-top: 30px;
}

.contents-box .careermenu .menu:first-of-type {
	margin-right: 1px;
}

.contents-box .careermenu .menu {
	width: 50%;
	height: 60px;
}

.contents-box .careermenu .menu a {
	width: 100%;
	height: 100%;
	background-color: #008803;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*一覧見出し*/
#mainContents h2.title {
	margin-top: 50px;
	font-size: 2.4rem;
	color: #008803;
	margin-bottom: 20px;
}

#mainContents p.intro {
	font-size: 1.2em;
	margin-top: 20px;
}

.bottombtns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 500px;
	margin: 0 auto
}

.bottombtns a.handicap {
	display: block;
	align-items: center;
	height: 5em;
	margin: 0 auto;
	background-color: #062600;
	line-height: 1.3;
	padding: 1.2em 2em;
	text-decoration: none;
	color: #fff
}

.bottombtns a.handicap span.handi {
	padding-top: .6em
}

.bottombtns a.handicap i {
	margin-right: 5px;
	margin-left: 5px
}

.bottombtns a.handicap:hover {
	background-color: #008803;
	color: #fff
}

a.pagetop {
	display: block;
	margin-top: 3em;
	padding: 1em 0 2em;
	text-align: center;
	text-decoration: none;
	font-size: 1.2rem;
	line-height: 1;
	background-color: #008803;
	color: #fff
}

a.pagetop i {
	display: block;
	font-size: 300%;
	padding-bottom: 0
}

a.pagetop:hover {
	background-color: #062600
}

a.return {
	display: block;
	width: 16em;
	font-size: .9em;
	margin: 4em auto 0;
	padding: 1em;
	text-align: center;
	background-color: #008803;
	color: #fff
}

a.return:hover {
	background-color: #062600
}

p.copyright {
	text-align: center
}

.pageHeader {
	display: block;
	padding-left: 10px;
	margin-bottom: 40px;
	border-left: solid 7px #008803
}

.pageHeader .bread {
	display: flex;
	margin-bottom: 2em
}

.pageHeader .bread li {
	font-size: 1.3rem
}

.pageHeader .bread li i {
	padding: 0 5px
}

.pageHeader .bread li a {
	text-decoration: none
}

.pageHeader h2 {
	font-weight: normal;
	font-size: 1.8em;
	line-height: 1
}

.home ul {
	display: flex
}

.home ul.tophero {
	max-width: 1200px;
	margin: 0 auto
}

.home ul img {
	width: 100%
}

.home h2 {
	font-size: 3.3em;
	text-align: center;
	color: #008803;
	line-height: 1;
	padding: 1.5em 15px 0.4em
}

.home p.attention {
	font-size: 1.8rem;
	font-weight: bold;
	color: red;
	text-align: center;
	padding: 0 15px 50px
}

.link {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 35px
}

.link li {
	width: 290px;
	margin: 0 2px
}

.link li a {
	background-color: #008803;
	color: #fff;
	display: block;
	width: 100%;
	font-size: 1.2em;
	text-align: center;
	padding: .8em 0
}

.link li a:hover {
	animation: flash 0.3s
}

.link li a:before {
	display: none
}

.shokushu {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 10px
}

.shokushu .noPc {
	display: none
}

.shokushu article {
	margin-top: 3em
}

.shokushu h3 {
	text-align: center;
	font-size: 2.7em;
	font-weight: normal;
	padding-bottom: 1em
}

.shokushu h3 span {
	position: relative
}

.shokushu h3 span:before {
	position: absolute;
	content: '';
	background-color: yellow;
	top: 70%;
	left: -10px;
	width: 100%;
	height: .3em;
	z-index: -1;
	padding: 0 10px
}

.shokushu h4 {
	font-size: 1.5em;
	line-height: 1;
	padding-bottom: .7em;
	margin-bottom: 1em;
	background: url(../img/h_line.png) left bottom no-repeat
}

.shokushu h4.interview {
	display: inline-block;
	margin-top: 3em;
	background-image: none;
	background-color: #062600;
	font-size: 1em;
	line-height: 1;
	padding: 0.5em 2em;
	color: #fff;
	border-left: 3px solid #008803
}

.shokushu p {
	color: #333;
	padding-bottom: 2em
}

.shokushu p.noimage {
	padding-bottom: 3em
}

.shokushu figure {
	margin-bottom: 5em
}

.shokushu figure img {
	width: 100%;
	height: auto
}

.shokushu figure ul {
	display: flex;
	justify-content: center
}

.shokushu figure ul li {
	padding: 0 10px
}

.shokushu figure ul.devide li {
	width: 49%
}

.shokushu figure ul.devide li img {
	width: 100%
}

.shokushu figure figcaption {
	padding: 0.4em 2em 0 0;
	font-size: .8em
}

.shokushu figure.single img {
	max-width: 800px
}

.shokushu figure.row ul {
	flex-wrap: wrap
}

.shokushu figure.row ul li {
	max-width: 650px;
	width: 100%;
	text-align: center;
	padding-bottom: 2em
}

.shokushu figure.quadruple ul {
	flex-wrap: wrap;
	justify-content: space-between
}

.shokushu figure.quadruple ul li {
	width: 49%;
	padding: 0;
	margin-bottom: 2em
}

.shokushu figure.quadruple img {
	width: 100%
}

.shokushu ul.anchor {
	display: flex;
	flex-wrap: wrap;
	justify-content: center
}

.shokushu ul.anchor li a {
	display: inline-block;
	border-radius: 5px;
	background-color: #008803;
	font-size: .9em;
	color: #fff;
	text-decoration: none;
	padding: 0.4em 1em;
	margin: 3px
}

.shokushu ul.anchor li a:hover {
	background-color: #062600
}

.shokushu ul.toSenpai {
	display: flex
}

.shokushu ul.toSenpai li {
	width: 160px;
	margin-right: 30px
}

.shokushu ul.toSenpai a {
	text-decoration: none
}

.shokushu ul.toSenpai a img {
	width: 100%;
	margin-bottom: .6em;
	transition: .3s all
}

.shokushu ul.toSenpai a:hover p {
	color: #008803
}

.shokushu ul.toSenpai a:hover img {
	animation: flash 0.3s
}

.shokushu ul.toSenpai .prof p {
	font-weight: bold;
	padding-bottom: 1em;
	line-height: 1.2;
	transition: .3s all
}

.shokushu ul.toSenpai .prof p.division {
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.2;
	padding-bottom: 0
}

.contents {
	width: 100%;
	margin-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between
}

.contents li.service:after,
.contents li.maas:after,
.contents li.international:after,
.contents li.development:after,
.contents li.business:after,
.contents li.it:after,
.contents li.transportation:after,
.contents li.equip:after,
.contents li.doboku:after,
.contents li.project:after,
.contents li.architect:after,
.contents li.system:after,
.contents li.legaldepartment:after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	transition: all 0.3s;
	opacity: .4
}

.contents li {
	position: relative;
	overflow: hidden;
	text-align: center;
	padding: 0;
	background-color: #000;
	margin-bottom: 20px;
	width: 32%
}

.contents li.international:after {
	background: url(../../general/img/door_international.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.architect:after {
	background: url(../../general/img/door_architect.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.business:after {
	background: url(../../general/img/door_business.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.it:after {
	background: url(../../general/img/door_it.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.maas:after {
	background: url(../../general/img/door_maas.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.service:after {
	background: url(../../general/img/door_service.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.transportation:after {
	background: url(../../general/img/door_transportation.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.doboku:after {
	background: url(../../general/img/door_doboku.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.development:after {
	background: url(../../general/img/door_development.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.equip:after {
	background: url(../../general/img/door_equip.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.project:after {
	background: url(../../general/img/door_project.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.system:after {
	background: url(../../general/img/door_system.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.legaldepartment:after {
	background: url(../../general/img/door_legaldepartment.jpg) 50% no-repeat;
	background-size: cover
}

.contents li.service:hover:after,
.contents li.maas:hover:after,
.contents li.international:hover:after,
.contents li.development:hover:after,
.contents li.business:hover:after,
.contents li.it:hover:after,
.contents li.transportation:hover:after,
.contents li.equip:hover:after,
.contents li.doboku:hover:after,
.contents li.project:hover:after,
.contents li.architect:hover:after,
.contents li.system:hover:after,
.contents li.legaldepartment:hover:after {
	opacity: 1
}

.contents li .inner {
	z-index: 10;
	position: relative
}

.contents li .inner a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 180px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	font-size: 1.5em;
	font-weight: bold;
	color: #fff;
	cursor: pointer
}

.contents li.empty {
	background-color: #fff
}

.senpai {
	max-width: 100%;
	margin: 50px auto 50px
}

.senpai .titleBlock {
	position: relative;
}

.senpai .titleBlock .course {
  height: 50px;
  padding: 0 10px;
  box-sizing: border-box;
  font-size: 18px;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

@media screen and (max-width: 750px) {
  .senpai .titleBlock .course {
    padding: 10px;
    height: auto;
    flex-direction: column;
    align-items: flex-start;
  }
}

.senpai .titleBlock .course.category1 {
  background-color: rgba(230, 130, 110, .8);
}

.senpai .titleBlock .course.category2 {
  background-color: rgba(0, 150, 190, .8);
}

.senpai .titleBlock .course.category3 {
  background-color: rgba(128, 134, 192, .8);
}

.senpai .titleBlock .course.category4 {
  background-color: rgba(255, 146, 30, .8);
}

.senpai .titleBlock .course span {
  height: 30px;
  margin-right: 10px;
  padding: 0 15px;
  background-color: #fff;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  display: flex;
  align-items: center;
  box-sizing: border-box;
}

@media screen and (max-width: 750px) {
  .senpai .titleBlock .course span {
    height: auto;
    margin-right: 0;
    margin-bottom: 10px;
    padding: 10px;
    font-size: calc((14 - 12) * ((100vw - 375px) / (750 - 375)) + 12px);
    text-align: left;
  }
}

.senpai .titleBlock .course span.general {
  color: #e6826e;
}

.senpai .titleBlock .course span.area {
  color: #0096be;
}

.senpai .titleBlock .course span.job {
  color: #FF921E;
}

.senpai .titleBlock .course span:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 750px) {
  .senpai .titleBlock .course span:last-of-type {
    margin-bottom: 0;
  }
}

.senpai .titleBlock {
	display: block;
	margin-bottom: 5em
}

.senpai .titleBlock .photo {
	width: 100%;
	height: 540px;
	overflow: hidden;
}

.senpai .titleBlock .photo.hirasawa {
	background: url(../img/main_hirasawa.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.kurihara {
	background: url(../img/main_kurihara.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.nebuka {
	background: url(../img/main_nebuka.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.nishimura {
	background: url(../img/main_nishimura.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.nomura {
	background: url(../img/main_nomura.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.oshima {
	background: url(../img/main_oshima.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.fukui {
	background: url(../img/main_fukui.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.jin {
	background: url(../img/main_jin.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.kobayashi {
	background: url(../img/main_kobayashi.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.mafune {
	background: url(../img/main_mafune.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.matsuoka {
	background: url(../img/main_matsuoka.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.sato {
	background: url(../img/main_sato.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.aisaka {
	background: url(../img/main_aisaka.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.hirakawa {
	background: url(../img/main_hirakawa.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.igarashi {
	background: url(../img/main_igarashi.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.katou {
	background: url(../img/main_katou.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.s_inoue {
	background: url(../img/main_s_inoue.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.shibazaki {
	background: url(../img/main_shibasaki.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.higuchi {
	background: url(../img/main_higuchi.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.t_oshima {
	background: url(../img/main_oshima2.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.tanabe {
	background: url(../img/main_tanabe.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.hiruta {
	background: url(../img/main_hiruta.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.nihei {
	background: url(../img/main_nihei.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.otake {
	background: url(../img/main_otake.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.t-kobayashi {
	background: url(../img/main_t-kobayashi.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.tashiro {
	background: url(../img/main_tashiro.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.y_inoue {
	background: url(../img/main_y_inoue.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.aritomo {
	background: url(../img/main_aritomo.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.hayashida {
	background: url(../img/main_hayashida.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.kiuchi {
	background: url(../img/main_kiuchi.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.ookuma {
	background: url(../img/main_ookuma.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.tagawa {
	background: url(../img/main_tagawa.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.takahara {
	background: url(../img/main_takahara.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.y_sugiyama {
	background: url(../img/main_y_sugiyama.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.a_endo {
	background: url(../img/main_a_endo.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.m_tanabe {
	background: url(../img/main_m_tanabe.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.k_nishiyama {
	background: url(../img/main_k_nishiyama.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo.h_yokoyama {
	background: url(../img/main_h_yokoyama.jpg) 0 0 no-repeat;
	background-size: cover
}

.senpai .titleBlock .photo img {
	min-height: 100%;
	object-fit: cover;
}

.senpai .titleBlock .txt {
	width: 100%;
	background-color: #008803;
	color: #fff
}

.senpai .titleBlock .txt h3 {
	padding: 20px;
	font-size: 1.8em;
	font-weight: normal;
	line-height: 1.6
}

.senpai .titleBlock .txt .prof {
	padding: 20px
}

.senpai .titleBlock .txt p {
	padding-bottom: 0;
	line-height: 1.3;
}

.senpai .titleBlock .txt p.name {
	font-size: 2.0rem;
	padding-bottom: .45em;
}

.senpai .titleBlock .txt p.name span {
	font-size: 1.4rem;
	padding-left: 1em
}

.senpai h2 {
	font-size: 1.5em;
	line-height: 1;
	padding-bottom: .7em;
	margin-bottom: 1em;
	background: url(../img/h_line.png) left bottom no-repeat
}

.senpai p {
	padding-bottom: 2em
}

.senpai p.attention {
	width: 100%;
	text-align: right
}

.senpai figure {
	max-width: 700px;
	margin: 2em auto 5em
}

.senpai figure img {
	width: 100%
}

.senpai .data {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 5em
}

.senpai dl {
	width: 32%;
	margin-bottom: 20px
}

.senpai dl dt {
	background-color: #062600;
	line-height: 1;
	color: #fff;
	padding: .8em;
	transition: all 0.3s;
	cursor: pointer
}

.senpai dl dt i {
	transition: all 0.3s
}

.senpai dl dt:hover {
	background-color: #008803
}

.senpai dl dt:hover i {
	transform: rotate(90deg)
}

.senpai dl.wide {
	width: 100%
}

.senpai dl dd {
	display: none;
	background-color: #f2f2f2;
	padding: 25px
}

.senpai dl p {
	line-height: 1.4;
	font-size: .9em;
	padding-bottom: 1.5em
}

.senpai dl p.date {
	color: #008803;
	font-size: .9em;
	font-weight: bold;
	line-height: 1;
	padding-bottom: .4em
}

.senpai dl p.division {
	font-size: .8em;
	line-height: 1.2;
	padding-bottom: .6em
}

.senpai dl p.title {
	font-size: 1.3em;
	font-weight: bold;
	padding-bottom: 1.5em
}

.senpai dl table th,
.senpai dl table td {
	padding-top: 1em;
	padding-bottom: 3em;
	vertical-align: top;
	border-top: solid 1px #ccc
}

.senpai dl table th {
	white-space: nowrap;
	position: relative;
	padding-bottom: 3em;
	padding-right: 2em;
	text-align: left;
	color: #008803
}

.senpai dl table td {
	position: relative
}

.senpai dl table td:before {
	font-family: "Font Awesome 5 Free";
	font-size: 1.3em;
	font-weight: bold;
	content: "\f0d7";
	color: #008803;
	position: absolute;
	left: 0;
	bottom: 0
}

.senpai dl table tr:last-child th,
.senpai dl table tr:last-child td {
	padding-bottom: 1em
}

.senpai dl table tr:last-child td:before {
	content: ""
}

.senpaiList {
	max-width: 960px;
	margin: 0 auto
}

.senpaiList li {
	width: 184px
}

.senpaiList li span {
	display: inline-block;
	padding: 2px
}

.senpaiList a {
	display: block;
	width: 180px;
	height: 420px;
	border-top: 5px solid #008803;
	margin-bottom: 10px
}

.senpaiList a figure {
	display: block;
	width: 100%;
	margin: 0
}

.senpaiList a figure img {
	width: 100%
}

.senpaiList a:hover {
	background-color: #d1e7cc
}

.senpaiList a:hover img {
	animation: flash 0.3s
}

.searchPanel p.panelTitle {
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 2.0rem;
	text-align: center;
	letter-spacing: .1em;
	color: #062600;
	line-height: 1;
	padding: .6em;
	color: #fff;
	margin-bottom: 1px;
	background-color: #008803
}

.searchPanel p.panelTitle span {
	display: inline-block;
	line-height: 1;
	font-size: 1.5rem;
	font-weight: normal;
	margin-left: 30px
}

.search-box {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 35px
}

.search-box li {
	width: 33.33%;
	box-sizing: border-box;
	background-color: #cce7cd;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	padding: 1em;
	font-size: 1.4rem;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff
}

.search-box li.all {
	background-color: #f2f2f2
}

.search-box li:hover {
	background-color: #062600;
	color: #fff
}

.boshu {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 15px
}

.boshu h3 {
	font-size: 1.3em;
	line-height: 1;
	padding-bottom: .7em;
	margin-bottom: 1em;
	background: url(../img/h_line.png) left bottom no-repeat;
	margin-top: 3em
}

.boshu p {
	color: #333;
	padding-bottom: 2em
}

.boshu p.intro {
	padding: 0;
	font-size: 1.3rem;
	margin-top: -2em
}

.boshu table {
	width: 100%;
	margin-bottom: 3em
}

.boshu table th,
.boshu table td {
	padding: 1.3em 0;
	border-top: solid 1px #ddd;
	line-height: 1.4
}

.boshu table th {
	text-align: left;
	font-size: 1.3em;
	white-space: nowrap;
	vertical-align: top;
	font-size: 1em;
	width: 7em
}

.boshu table td {
	padding-left: 2em
}

.boshu table.shokushu {
	margin-bottom: 1em
}

.boshu table.shokushu tr.headline th {
	border-bottom: solid 1px #ddd;
	width: auto;
	font-size: 1.2em;
	padding: 1em
}

.boshu table.shokushu th,
.boshu table.shokushu td {
	border-top: solid 1px #ddd;
	padding: 1.5em 0
}

.boshu table.shokushu th {
	text-align: left;
	font-size: 1.3em;
	line-height: 1
}

.boshu table.shokushu th a {
	display: inline-block;
	line-height: 1.3;
	padding-left: 1em
}

.boshu table.shokushu th.rowline {
	width: 1em;
	white-space: normal;
	vertical-align: middle;
	padding: .8em;
	background-color: #d1e7cc
}

.boshu table.shokushu td {
	padding-left: 2em;
	color: #333
}

.boshu table.shokushu dt {
	padding-bottom: .4em;
	font-weight: bold;
	color: #008803
}

.boshu table.shokushu dd {
	font-size: .9em;
	line-height: 1.5;
	padding-bottom: 2em
}

.boshu p.comments {
	display: inline-block;
	border: 1px dotted #ccc;
	padding: 1.5em;
	font-size: .9em;
	margin-bottom: 4em
}

.boshu span.attention {
	display: inline-block;
	padding-left: 2em;
	font-size: .8em
}

.boshu a i {
	margin: 0 5px
}

.senkou {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 15px
}

.senkou h3 {
	font-size: 1.3em;
	line-height: 1;
	padding-bottom: .7em;
	margin-bottom: 1em;
	background: url(../img/h_line.png) left bottom no-repeat;
	margin-top: 3em
}

.senkou p {
	color: #333;
	padding-bottom: 2em
}

.senkou table {
	width: 100%;
	margin-bottom: 3em
}

.senkou table th,
.senkou table td {
	padding: 1.5em 0;
	vertical-align: top;
	text-align: left;
	border-top: solid 1px #ddd
}

.senkou table th {
	color: #008803;
	white-space: nowrap;
	padding-right: 2em;
	padding-bottom: 1em;
	font-size: 1.4em;
	line-height: 1;
	position: relative
}

.senkou table th span {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1;
	padding-bottom: .4em
}

.senkou table th i {
	margin-left: 1em;
	margin-top: .5em
}

.senkou table tr:last-child th::before {
	content: ''
}

.senkou table td {
	color: #333
}

.senkou table td strong {
	display: inline-block;
	font-feature-settings: "palt";
	font-size: 110%;
	line-height: 1.4;
	padding: .6em 0
}

.senkou .attention ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px
}

.senkou .attention ul li {
	display: flex;
	align-content: center;
	width: 49.9%;
	background-color: #008803;
	color: #fff
}

.senkou .attention ul li span {
	margin: 15px 15px 15px 0;
	display: block;
	font-size: 1.4rem
}

.senkou .attention ul li i {
	padding: 10px;
	margin: 15px;
	font-size: 3.0rem
}

.senkou .attention p {
	font-size: 1.3rem
}

.senkou a i {
	margin: 0 5px
}

.faq {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 15px
}

.faq h3 {
	font-size: 1.3em;
	line-height: 1;
	padding-bottom: .7em;
	margin-bottom: 2em;
	background: url(../img/h_line.png) left bottom no-repeat;
	margin-top: 3em
}

.faq ul li {
	padding-bottom: .6em
}

.faq dl dt {
	font-weight: bold;
	font-size: 120%;
	line-height: 1.3;
	color: #008803;
	padding-bottom: 1em
}

.faq dl dd {
	padding-bottom: 3em;
	padding-left: 2em
}

.faq dl i {
	padding-left: .3em
}

.faq dl figure {
	max-width: 500px
}

.faq dl figure img {
	width: 100%
}

.faq a.pagetop {
	display: inline-block;
	background-color: inherit;
	text-align: right;
	padding: 0 1em;
	color: #008803;
	margin-top: 1em
}

.faq a.pagetop:hover {
	text-decoration: underline
}

.faq a.pagetop i {
	display: inline-block;
	font-size: 130%
}

/* ↓↓↓ #member-index ↓↓↓ */
@media screen and (max-width: 750px) {
	br.pc {
		display: none
	}

	.spOnly {
		display: block
	}

	.pcOnly {
		display: none
	}

	header.local2020 {
		display: block;
		margin: 0 auto 10px
	}

	header.local2020 .left {
		margin-bottom: -100px
	}

	header.local2020 .right {
		display: none
	}

	header.local2020 h1 {
		flex-wrap: wrap;
		padding: 0 15px
	}

	header.local2020 h1 .title {
		width: 70%;
		margin-right: 0
	}

	header.local2020 h1 .title img {
		height: 50px;
		width: auto
	}

	header.local2020 h1 .subTitle {
		width: 70%;
		margin-top: 4px
	}

	header.local2020 h1 .subTitle img {
		height: 20px;
		width: auto
	}

	header.local2020 h1 .subTitle img.pc {
		display: none
	}

	header.local2020 h1 .subTitle img.sp {
		display: block
	}

	header.local2020 .global {
		display: none
	}

	header.local2020 #menu_sp {
		width: 100%;
		display: block
	}

	header.local2020 #menu_sp .switch {
		text-align: right;
		font-size: 7.0rem;
		color: #008803;
		padding-right: 15px
	}

	header.local2020 #menu_sp .active i {
		opacity: .3
	}

	header.local2020 #menu_sp ul {
		display: none;
		flex-flow: column
	}

	header.local2020 #menu_sp ul li {
		width: 100%;
		border-bottom: 1px solid #eee
	}

	header.local2020 #menu_sp ul li a {
		display: block;
		width: 94%;
		font-size: 1.2em;
		text-align: left;
		padding: 0.6em 10px;
		text-decoration: none;
		color: #000;
		background: url(../img/arrow_right.png) right center no-repeat;
		background-size: 8px auto
	}

	header.local2020 #menu_sp ul li.extra {
		background-color: #008803;
		border-bottom: 1px solid #fff
	}

	header.local2020 #menu_sp ul li.extra a {
		color: #fff;
		background: url(../img/arrow_right_w.png) right center no-repeat;
		background-size: 8px auto
	}

	header.local2020 #menu_sp ul li.extra a i {
		margin-left: 10px
	}

	footer p.jretop {
		text-align: center
	}

	.shokushu {
		padding: 0 25px
	}

	.shokushu div.noPc {
		display: inline-block;
		border-radius: 6px;
		background-color: #008803;
		line-height: 1;
		color: #fff;
		padding: 0.6em 1em;
		font-size: .7em;
		margin-bottom: 1em
	}

	.shokushu br.noPc {
		display: block !important
	}

	.shokushu h4 {
		font-size: 1.7em
	}

	.shokushu figure.single {
		text-align: center;
		max-width: 80%;
		margin: 0 auto 5em
	}

	.shokushu figure.single img {
		width: 100%;
		max-height: none;
		height: auto
	}

	.shokushu figure ul.devide {
		text-align: center;
		max-width: 100%;
		margin: 0 auto 5em
	}

	.shokushu figure ul.devide li {
		width: 100%
	}

	.shokushu figure ul.devide img {
		width: 100%;
		max-height: none;
		height: auto
	}

	.boshu table.shokushu th,
	.boshu table.shokushu td {
		display: block
	}

	.boshu table.shokushu tr.headline,
	.boshu table.shokushu th.rowline {
		display: none
	}

	.boshu table.shokushu th {
		width: 100%;
		padding-top: 1.5em;
		line-height: 1.3
	}

	.boshu table.shokushu th a {
		padding-left: 0
	}

	.boshu table.shokushu th a br {
		display: none
	}

	.boshu table.shokushu td {
		padding: 0 0 1.5em 2em;
		border: none
	}

	.senpai {
		padding: 0px 30px
	}

	.senpai .titleBlock {
		display: block;
		margin-bottom: 4em
	}

	.senpai .titleBlock .photo {
		height: 420px
	}

	.senpai .titleBlock .photo.hirasawa {
		background: url(../img/main_hirasawa.jpg) 80% 15% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.kurihara {
		background: url(../img/main_kurihara.jpg) 40% 10% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.nebuka {
		background: url(../img/main_nebuka.jpg) 70% 20% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.nishimura {
		background: url(../img/main_nishimura.jpg) 65% 20% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.nomura {
		background: url(../img/main_nomura.jpg) 0% 0% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.oshima {
		background: url(../img/main_oshima.jpg) 65% 40% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.fukui {
		background: url(../img/main_fukui.jpg) 45% 50% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.jin {
		background: url(../img/main_jin.jpg) 55% 20% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.kobayashi {
		background: url(../img/main_kobayashi.jpg) 25% 40% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.mafune {
		background: url(../img/main_mafune.jpg) 25% 50% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.matsuoka {
		background: url(../img/main_matsuoka.jpg) 0 0 no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.sato {
		background: url(../img/main_sato.jpg) 25% 40% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .txt {
		width: 100%;
		display: block;
		position: relative
	}

	.senpai .titleBlock .txt h3 {
		margin-top: 0;
		font-size: 1.65em;
		line-height: 1.5;
		margin-bottom: 0em
	}

	.senpai .titleBlock .txt p.name {
		padding-bottom: .3em
	}

	.senpai .titleBlock .txt p.name span {
		font-size: 1.4rem;
		padding-left: 1em
	}

	.senpai h4 {
		font-size: 1.7em
	}

	.senpai .data {
		margin-top: 3em
	}

	.senpai dl.wide {
		width: 100%
	}

	.senpaiList {
		width: 100%
	}

	.senpaiList li {
		width: 160px
	}

	.senpaiList a {
		width: 160px;
		height: 400px;
		margin-bottom: 10px
	}

	.home h2 {
		font-size: 2.8em;
		padding: 1em 15px
	}

	.pageHeader {
		margin-bottom: 3em
	}

	.pageHeader .bread {
		display: block;
		margin-bottom: 2em
	}

	.pageHeader .bread li {
		width: 100%;
		font-size: 1.3rem
	}

	.pageHeader .bread li i {
		padding: 0 5px
	}

	.pageHeader .bread li a {
		text-decoration: none
	}

	.pageHeader h2 {
		font-weight: normal;
		font-size: 1.8em;
		line-height: 1
	}

	a.pagetop {
		display: none
	}

	.bottombtns {
		width: 100%;
		padding-top: 50px
	}

	.bottombtns a.handicap {
		width: 44vw;
		margin: 0 auto 10px
	}
}

@media screen and (max-width: 600px) {
	br.sp {
		display: block
	}

	header.local2020 .left {
		margin-bottom: -60px
	}

	header.local2020 h1 {
		padding: 0
	}

	header.local2020 h1 .title {
		width: 100%;
		height: 26px
	}

	header.local2020 h1 .title img {
		height: 26px
	}

	header.local2020 h1 .subTitle {
		margin-top: 5px
	}

	header.local2020 h1 .subTitle img {
		height: 10px
	}

	header.local2020 h1 .subTitle img.pc {
		display: none
	}

	header.local2020 h1 .subTitle img.sp {
		display: block
	}

	header.local2020 #menu_sp .switch {
		font-size: 4.0rem;
		padding-right: 0px
	}

	header.local2020 #menu_sp ul li a {
		width: 90%
	}

	#mainContents p.intro {
		margin-top: 30px;
	}

	.shokushu {
		padding: 0 10px
	}

	.shokushu h3 {
		font-size: 2.2em
	}

	.shokushu h4 {
		font-size: 1.5em;
		line-height: 1.3
	}

	.shokushu figure {
		margin-bottom: 3em
	}

	.shokushu figure ul,
	.shokushu figure.quadruple ul {
		flex-wrap: wrap
	}

	.shokushu figure ul li,
	.shokushu figure.quadruple ul li {
		width: 100%;
		padding: 0;
		margin-bottom: 1em
	}

	.shokushu figure figcaption {
		text-align: left
	}

	.shokushu figure figcaption br {
		display: none
	}

	.shokushu figure.single {
		text-align: left;
		max-width: 96%;
		margin: 0 auto 3em
	}

	.shokushu ul.toSenpai {
		flex-wrap: wrap
	}

	.shokushu ul.toSenpai li {
		width: 29%;
		margin-right: 15px;
		margin-bottom: 30px
	}

	.contents {
		margin-bottom: 50px
	}

	.contents li {
		margin-bottom: 8px;
		width: 49%
	}

	.contents li.hosen:hover:after,
	.contents li.system:hover:after,
	.contents li.sharyo:hover:after,
	.contents li.equip:hover:after,
	.contents li.doboku:hover:after,
	.contents li.architect:hover:after,
	.contents li.station:hover:after,
	.contents li.international:hover:after,
	.contents li.technical:hover:after {
		opacity: 1
	}

	.contents li .inner {
		z-index: 10;
		position: relative
	}

	.contents li .inner a {
		height: 140px;
		font-size: 1.2em
	}

	.boshu h3 {
		margin-top: 2em
	}

	.boshu table th {
		width: 6em
	}

	.boshu table.shokushu th a {
		white-space: normal
	}

	.senpai {
		margin: 40px auto 50px;
		padding: 0px 10px
	}

	.senpai .titleBlock {
		margin-bottom: 4em
	}

	.senpai .titleBlock .photo {
		height: 200px
	}

	.senpai .titleBlock .photo.hirasawa {
		background: url(../img/main_hirasawa.jpg) 80% 15% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .photo.jin {
		background: url(../img/main_jin.jpg) 35% 20% no-repeat;
		background-size: cover
	}

	.senpai .titleBlock .txt h3 {
		font-size: 1.5em;
		line-height: 1.35
	}

	.senpai .titleBlock .txt h3 br {
		display: none
	}

	.senpai .titleBlock .txt .prof {
		line-height: 1.4
	}

	.senpai .data {
		margin-top: 3em
	}

	.senpai dl {
		width: 100%;
		margin-bottom: 10px
	}

	.senpai dl dt {
		padding: 1em;
		font-size: 1.2em
	}

	.senpai dl.wide {
		width: 100%
	}

	.senpai dl table th,
	.senpai dl table td {
		width: 100%;
		padding-top: 1em;
		vertical-align: top
	}

	.senpai dl table th {
		display: block;
		padding-bottom: 0;
		font-size: 1.3em;
		line-height: 1.2;
		padding-right: 0;
		white-space: normal;
	}

	.senpai dl table td {
		display: block;
		padding-bottom: 3em;
		border-top: none
	}

	.senpai dl table td:before {
		font-size: 1.5em;
		left: 2em
	}

	.searchPanel p.panelTitle {
		font-size: 2.0rem;
		line-height: 1;
		padding: 1em;
		background-color: #008803
	}

	.searchPanel p.panelTitle span {
		font-size: 1.5rem;
		margin-left: none;
		letter-spacing: 0
	}

	.search-box {
		margin-bottom: 35px
	}

	.search-box li {
		width: 33.33%;
		padding: .6em;
		font-size: 1.4rem;
		line-height: 1.3
	}

	.senpaiList {
		max-width: none;
		width: 100%
	}

	.senpaiList li {
		width: 45%;
		height: 92vw;
		padding: 0 5px
	}

	.senpaiList a {
		width: 100%;
		height: 360px;
		margin-bottom: 10px
	}

	.senkou h3 {
		font-size: 1.6em
	}

	.senkou table th,
	.senkou table td {
		display: block;
		padding: 1em 0
	}

	.senkou table th::before {
		content: '';
		top: 0;
		left: 0
	}

	.senkou table th i {
		display: none
	}

	.senkou table tr:last-child th {
		padding-left: 0
	}

	.senkou table tr:last-child th::before {
		content: ''
	}

	.senkou table tr:last-child td {
		padding-bottom: 1em
	}

	.senkou table tr:last-child td::before {
		content: ''
	}

	.senkou table td {
		color: #333;
		border-top: none;
		padding-top: 0;
		padding-bottom: 3em;
		position: relative
	}

	.senkou table td::before {
		font-family: 'Font Awesome 5 Free';
		font-weight: bold;
		content: '\f103';
		position: absolute;
		bottom: 1em;
		left: 1em;
		opacity: .6
	}

	.senkou .attention ul {
		margin-bottom: 15px;
		flex-direction: column
	}

	.senkou .attention ul li {
		width: 100%;
		margin-bottom: 1px
	}

	.senkou .attention p {
		padding-left: 10px;
		padding-right: 10px;
		line-height: 1.4
	}

	.home h2 {
		font-size: 2em
	}

	.pageHeader .bread li {
		font-size: 1.6rem
	}

	.pageHeader h2 {
		font-weight: bold;
		font-size: 1.4em
	}

	.link {
		margin-bottom: 0px
	}

	.link li {
		width: 85%;
		margin: 0 0 10px
	}

	.link li a {
		width: 100%;
		font-size: 1.1em;
		padding: .7em 0
	}

	.bottombtns {
		width: 100%
	}

	.bottombtns a.handicap {
		width: 85%;
		margin: 0 auto 20px
	}

	.bottombtns a.handicap br {
		display: none
	}

	.bottombtns a.handicap span,
	.bottombtns a.handicap span.handi {
		padding-top: .6em
	}

	.contents-box .careermenu {
		flex-direction: column;
	}

	.contents-box .careermenu .menu:first-of-type {
		margin: 20px 0 1px 0;
	}

	.contents-box .careermenu .menu {
		width: 100%;
	}
}

/* ↑↑↑ #member-index ↑↑↑ */