@charset "utf-8";
/* CSS Document */

.top-main {
	width: 100%;
	margin: 0 auto;
	position: relative;
}
.top-main .image {
	margin: 0;
	padding: 0;
	line-height: 1;
}
.top-main .tx {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: left;
}
.top-main .tx h2 {
	font-weight: 600;
	font-size: 3rem;
	color: #000;
}
.top-main .tx h2 .tx01,.top-main .tx h2 .tx02 {
	display: inline-flex;
	background-color: #FFF;
	padding: 1rem 1.1rem;
	line-height: 1.1;
	word-break: keep-all;
}
.top-main .tx h2 .tx02 {
	margin-top: 120px;
}
.about {
	padding: 6.25rem 1rem;
	background-image: url(../images/top-about-bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.about .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	width: 100%;
}
.about .inner .tx {
	width: 60%;
}
.about .inner .tx p.en {
	font-size: 3.375rem;
	letter-spacing: 0.1em;
	line-height: 1;
}
.about .inner .tx h3 {
	margin: 1rem auto 1.75rem;
}
.about .inner .btn {
	width: 35%;
	margin-left: 5%;
	display: inline-flex;
	justify-content: flex-end;
}
.about .inner .btn.bk a {
	background-color: #636363;
	text-decoration: none;
	color: #FFF;
	position: relative;
	max-width: 240px;
	width: 100%;
	border-radius: 50vh;
	line-height: 1;
	padding: 1rem 2.5rem;
	text-align: left;
	font-size: 1rem;
	font-weight: 700;
}
.about .inner .btn.bk a::before {
	position: absolute;
	right: 15px;
	top: 15px;
	content: '';
	width: 20px;
	height: 20px;
	border-radius: 50vh;
	background-color: #FFF;
}
.about .inner .btn.bk a::after {
	position: absolute;
	content: '';
	z-index: 3;
	width: 5px;
	height: 5px;
	border-top: solid 2px #636363;
	border-right: solid 2px #636363;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 21px;
	right: 22px;
}
.top-business {
	padding: 8.75rem 0;
	background-color: #FFF;
	position: relative;
	text-align: right;
}
.top-business::before {
	width: 760px;
	height: 108px;
	position: absolute;
	right: 0;
	top: -10px;
	content: '';
	background-image: url(../images/top-bgtx-business.png);
	background-position: right -10px top;
	background-repeat: no-repeat;
	background-size: 100%;
	z-index: 3;
}
.top-business h3 {
	font-size: 3rem;
	position: relative;
	display: inline-block;
	padding: 0 1rem 2rem 1rem;
	margin: 0 0 8.5rem 0;
	line-height: 1.1;
}
.top-business h3::before,.top-recruit h3::before {
	position: absolute;
	right: 0;
	bottom: 0;
	content: '';
	width: 100%;
	height: 1px;
	background-color: #000;
}
.biz-area {
	counter-reset: number 0;
	text-align: left;
}
.biz-area .biz-box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	background: #1c7370;
	background: linear-gradient(to right, #11462e 0%, #15583a 35%, #1c734c 70%, #1c7370 100%);
	color: #FFF;
	padding: 6.5rem 5% 13rem 5%;
	background-size: 300% 100%;
	background-position: center;
}
.biz-area .biz-box .image {
	position: relative;
	margin: -200px 0 0 6%;
	width: 54%;
	z-index: 8;
}
.biz-area .biz-box:nth-of-type(2n+1) .image {
	margin-left: 0;
	margin-right: 6%;
}
.biz-area .biz-box .tx {
	margin: 0 6% 0 0;
	width: 34%;
}
.biz-area .biz-box:nth-of-type(2n+1) .tx {
	margin-right: 0;
	margin-left: 6%;
}
.biz-area .biz-box .tx h4 {
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin: 0 0 1rem 0;
}
.biz-area .biz-box:nth-of-type(2n) {
	flex-direction: row-reverse;
	background: linear-gradient(to right, #1c7370 0%, #1c734c 35%, #15583a 70%, #11462e 100%);
	background-size: 300% 100%;
	background-position: center;
}
.biz-area .biz-box .image::before {
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	height: 100%;
	width: 100%;
	color: #FFF;
	line-height: 1;
	position: absolute;
	bottom: -20px;
	right: -70px;
	font-weight: 600;
	font-size: 10rem;
	z-index: 10;
	font-family: 'Noto Serif JP', serif;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	font-style: oblique;
}
.biz-area .biz-box:nth-of-type(2n) .image::before {
	right: inherit;
	left: -110px;
	justify-content: flex-start;
}
.top-business .btn.green {
	max-width: 450px;
}
.top-business .btn.green a {
	padding: 2rem 1.25rem;
}
.top-recruit {
	padding: 9rem 0;
	position: relative;
	background-image: url(../images/recruit-bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
}
.top-recruit::before {
	position: absolute;
	left: 45px;
	top: -20px;
	content: '';
	width: 708px;
	height: 108px;
	background-image: url(../images/top-bgtx-recruit.png);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100%;
	z-index: 2;
}
.top-recruit .inner {
	max-width: 1500px;
	margin: 0 auto;
	padding: 0 3.75rem;
	position: relative;
}
.top-recruit .inner .tx-box {
	background:rgba(255,255,255,.65);
	width: 50%;
	padding: 3.75rem 3rem;
	position: relative;
	z-index: 5;
}
.top-recruit .btn.green {
	max-width: 360px;
	margin: 2rem 0 0 0;
}
.top-recruit .btn.green a {
	margin: 0;
}
.top-recruit h3 {
	font-size: 1.75rem;
	position: relative;
	display: inline-block;
	padding: 0 0 2rem 0;
	margin: 0 0 2rem 0;
	line-height: 1.1;
}
/* sub */
.head-image {
	width: 100%;
	margin: 0 auto;
	position: relative;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding: 5rem 1.25rem 1.5rem 1.25rem;
}
.head-image .inner {
	max-width: inherit;
	width: 100%;
}
.head-image p , .head-image h1 {
	width: 100%;
}
.head-image.info {
	background-image: url(../images/info-bg04.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
}
.head-image.info p.en {
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	color: #FFF;
	font-size: 4.5rem;
	letter-spacing: .1em;
	line-height:1;
	margin-bottom: .5rem;
}
.head-image.info h1 {
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	color: #FFF;
	font-size: 1.75rem;
	margin: 0;
	padding: 0 0 2.5rem 0;
	letter-spacing: .08em;
}
.head-image.recruit {
	background-image: url(../images/recruit-bg.jpg);
	background-position: center top 60%;
	background-repeat: no-repeat;
	background-size: cover;
}
.head-image.recruit p.en {
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	color: #FFF;
	font-size: 8rem;
	letter-spacing: .1em;
	line-height:1;
	margin-bottom: .5rem;
}
.head-image.recruit h1 {
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	color: #FFF;
	font-size: 1.75rem;
	margin: 0;
	padding: 0 0 2.5rem 0;
	letter-spacing: .08em;
}
.head-image.biz {
	padding: 0;
}
.head-image.biz::before {
	position: absolute;
	right: 0;
	top: 0;
	content: '';
	width: 62%;
	height: 100%;
	background-image: url(../images/business-bg.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.head-image.biz .inner {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	padding: 3.5rem 3.5rem 0 3.5rem;
	height: 100%;
}
.head-image.biz .inner::before {
	width: 46%;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	content: '';
	background-color: #208960;
	clip-path: polygon(0 0, 94% 0%, 84% 100%, 0% 100%);
}
.head-image.biz .inner h1,.head-image.biz .inner p {
	position: relative;
	z-index: 3;
	line-height: 1;
	color: #FFF;
}
.head-image.biz .inner p.en {
	letter-spacing: 0.08em;
	font-size: 7rem;
	font-weight: 500;
	margin-bottom: 2rem;
}
.head-image.biz .inner h1 {
	font-size: 1.75rem;
	font-weight: 500;
	margin-bottom: 2rem;
}
.wide {
	width: 100%;
	padding: 8rem .75rem;
}
.wide.bg-green {
	color: #FFF;
	background-color: #208960;
	position: relative;
	overflow: hidden;
}
.wide.bg-green.greeting::before {
	position: absolute;
	right: 0;
	top: -5px;
	content: '';
	background-image: url(../images/bgtx-greeting.png);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 820px;
	height: 104px;
}
.wide.bg-green.csr::before {
	position: absolute;
	right: 0;
	top: -5px;
	content: '';
	background-image: url(../images/bgtx-csr.png);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: 100%;
	width: 288px;
	height: 108px;
}
.greeting .inner {
	display: flex;
	flex-wrap: wrap;
	padding-top: 5rem;
}
.greeting .inner .title {
	width: 22%;
}
.greeting .inner .tx {
	width: 78%;
	font-size: 1.125rem;
	letter-spacing: 0.06em;
	line-height: 2.25;
}
.greeting .inner .title h2,.csr .inner h2 {
	font-weight: 500;
	font-size: 2rem;
	position: relative;
	padding-bottom: 1.5rem;
}
.greeting .inner .title h2::before,.csr .inner h2::before {
	position: absolute;
	left: 0;
	bottom: 0;
	content: '';
	background-color: #FFF;
	width: 150px;
	height: 1px;
}
.greeting .inner .tx p.tx-r {
	margin-top: 3rem;
}
.inner.profile {
	max-width: 1400px;
	display: flex;
	flex-wrap: wrap;
}
.inner.profile .title {
	width: 28%;
}
.inner.profile .title p.en {
	margin: 0;
	padding: 0;
	color: #1C7366;
	font-weight: 900;
	font-size: 2rem;
}
.inner.profile .title h2 {
	font-size: 1.5rem;
	padding: .5rem 0;
	font-weight: 500;
}
.inner.profile .detail {
	width: 64%;
	margin: 0 4%;
}
table.type-line {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #000;
	border-width: 0;
	margin: 0 auto 3rem auto;
	table-layout: fixed;
	width: 100%;
	max-width: 1100px;
}
table.type-line th,table.type-line td {
	border: 1px solid #000;
	border-width: 0 0 1px 0;
	padding: 20px;
	box-sizing: border-box;
	vertical-align: top;
	text-align: left;
}
table.type-line th {
	font-weight: 500;
	width: 24%;
}
.acc {
	padding: 0 1.25rem 1rem 1.25rem;
}
.acc h3 {
	font-weight: 500;
	font-size: 1rem;
}
.csr .inner h2 {
	margin-bottom: 4rem;
}
.csr .inner h3 {
	border-left: 4px solid #FFF;
	padding: .25rem .5rem;
	margin: 0 0 1rem 0;
}
.csr .inner p {
	width: 96%;
	margin: 0 auto 2rem auto;
}
.csr ul.column2,.csr ul.column4,.business ul.column4 {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 2rem 0;
}
.csr ul.column2 li {
	width: calc(100% / 2);
	padding: 0 1rem;
}
.csr ul.column4,.business ul.column4  {
	padding: 0;
}
.csr ul.column4 li,.business ul.column4 li {
	width: calc(100% / 4);
	padding: 1rem;
}
.csr ul.column2 li .image {
	max-width: 320px;
	margin: 0 auto;
}
.csr .gal {
	padding: 4rem 1rem 0 1rem;
}
.csr ul.column2 li .image a, .csr ul.column4 li a,.business ul.column4 li a {
	display: block;
	position: relative;
}
.csr ul.column2 li .image a::after, .csr ul.column4 li a::after,.business ul.column4 li a::after {
	position: absolute;
	margin: auto;
	content: '';
	width: 28px;
	height: 28px;
	background-image: url(../images/zoom.png);
	background-position: top left;
	background-repeat: no-repeat;
	background-size: 100%;
	z-index: 2;
	pointer-events: none;
	right: 3px;
	bottom: 3px;
}
.rec-top {
	font-size: 1.125rem;
	line-height: 2.25;
	letter-spacing: 0.06em;
	padding-bottom: 8rem;
}
.fuki-orange {
	margin: 2rem auto;
	position: relative;
	max-width: 650px;
	background-color: #FFA539;
	color: #FFF;
	font-size: 1.25rem;
	letter-spacing: .1em;
	font-weight: 700;
	padding: .5rem 1rem;
}
.fuki-orange::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -13px;
	border: 13px solid transparent;
	border-top: 13px solid #FFA539;
}
.content.recruit .wide,.content.business .wide {
	padding-left: 0;
	padding-right: 0;
}
.eb-area {
	padding: 5rem 0;
	position: relative;
}
.eb-area::before {
	background-color: #208960;
	width: 100%;
	height: 380px;
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	border-radius: 40px 40px 0 0;
}
.eb-area .title, .eb-area .white-box {
	position: relative;
	z-index: 3;
}
.eb-area .title p.en {
	font-size: 3rem;
	color: rgba(255,255,255,0.6);
	padding: 1rem 0 0 0;
	margin: 0;
}
.eb-area .title h2 {
	font-size: 1.75rem;
	color: #FFF;
	margin: .5rem auto 2rem auto;
}
.eb-area .white-box {
	width: 88%;
	margin: 0 auto;
	padding: 3rem 1.5rem;
	background-color: #FFF;
}
.eb-area .tx-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	text-align: left;
	margin: 1rem auto;
	padding-bottom: 3rem;
	font-size: 1.25rem;
}
.eb-area .tx-top div {
	margin: 0 1.5rem;
}
.kyuka-box {
	max-width: 1200px;
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.35);
	margin: 2rem auto;
	padding: 3rem 0;
	border-radius: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	text-align: left;
	width: 100%;
}
.kyuka-box .image {
	width: 22%;
	margin: 0 3%;
	text-align: center;
}
.kyuka-box .image img {
	max-width: 200px;
	margin: 0 auto;
	width: 100%;
	height: auto;
}
.kyuka-box .tx {
	margin: 0 3% 0 0;
	width: 69%;
}
.kyuka-box .tx h3 {
	font-size: 1.5rem;
	padding: 0 0.75rem;
	border-left: 7px solid #FFCAE8;
	margin: 0 0 1rem 0;
}
ul.other-c4 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	padding: .5rem 0 0 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
ul.other-c4 li {
	width: 23%;
	margin: 1rem 1%;
	background-color: #FFF;
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.35);
	border-radius: 6px;
	padding: 1rem;
}
ul.other-c4 li h4 {
	font-size: 1.375rem;
	padding-bottom: 5rem;
	position: relative;
	padding-top: 1.25rem;
	margin-bottom: 1.5rem;
}
ul.other-c4 li p {
	margin: 0;
	line-height: 1.5;
	padding-bottom: .5rem;
}
ul.other-c4 li h4::before {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: '';
	width: 82px;
	height: 60px;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
}
ul.other-c4 li:nth-child(1) h4::before {
	background-image: url(../images/eb-icon001.png);
}
ul.other-c4 li:nth-child(2) h4::before {
	background-image: url(../images/eb-icon002.png);
}
ul.other-c4 li:nth-child(3) h4::before {
	background-image: url(../images/eb-icon003.png);
}
ul.other-c4 li:nth-child(4) h4::before {
	background-image: url(../images/eb-icon004.png);
}
ul.other-c4 li:nth-child(5) h4::before {
	background-image: url(../images/eb-icon005.png);
}
ul.other-c4 li:nth-child(6) h4::before {
	background-image: url(../images/eb-icon006.png);
}
ul.other-c4 li:nth-child(7) h4::before {
	background-image: url(../images/eb-icon007.png);
}
ul.other-c4 li:nth-child(8) h4::before {
	background-image: url(../images/eb-icon008.png);
}
.wide.gray {
	background-color: #F9F9F9;
}
.wide.gray.youkou p.en {
	font-size: 3rem;
	color: rgba(206,206,206,0.7);
	padding: 1rem 0 0 0;
	margin: 0;
}
.wide.gray.youkou h2 {
	margin: 1rem auto 2rem auto;
	font-size: 1.75rem;
	letter-spacing: 0.15em;
}
.youkou-area {
	max-width: 1500px;
	margin: 0 auto;
	position: relative;
	padding: 5rem 0;
}
.youkou-area h3 {
	z-index: 3;
	max-width: 600px;
	width: 90%;
	margin: 0;
	background-color: #208960;
	color: #FFF;
	padding: 3rem 1rem 3rem 6rem;
	text-align: left;
	font-size: 1.625rem;
	position: relative;
	letter-spacing: 0.08em;
	font-weight: 500;
}
.youkou-area h3::before {
	width: 80px;
	height: 1px;
	background-color: #FFF;
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
}
.youkou-area .white-box {
	width: 90%;
	z-index: 2;
	padding: 8rem 1.5rem;
	margin: -4rem auto 0 auto;
	max-width: 1300px;
}
.oubo {
	max-width: 470px;
	width: 88%;
	margin: 3rem auto 0 auto;
}
.oubo .title {
	background-color: #208960;
	color: #FFF;
	font-weight: 700;
	font-size: 1.375rem;
	padding: .5rem 1rem;
	border-radius: 10px;
	margin: 0 auto 1rem auto;
}
.oubo .tel a {
	font-weight: 900;
	color: #208960;
	text-decoration: none;
	font-size: 3.25rem;
	line-height: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.oubo .tel a span {
	display: inline-block;
	margin-right: 1rem;
	position: relative;
	width: 56px;
	height: 56px;
}
.oubo .tel a span::before {
	width: 56px;
	height: 56px;
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	background-image: url(../images/icon-tel.png);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 100%;
}
.head-image.biz .inner .btn-c2 {
	position: relative;
	z-index: 3;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	max-width: 560px;
	counter-reset: number 0;
}
.head-image.biz .inner .btn-c2 li {
	width: 46%;
	margin: 0 4% 1.25rem 0;
	line-height: 1;
	font-size: 1.125rem;
}
.head-image.biz .inner .btn-c2 li a {
	position: relative;
	border: 1px solid #FFF;
	text-align: left;
	color: #FFF;
	text-decoration: none;
	display: block;
	padding: 1.25rem 1rem;
	transition: all .6s;
	font-weight: 500;
}
.head-image.biz .inner .btn-c2 li a::before {
	counter-increment: number 1;
	content: counter(number, decimal-leading-zero);
	font-family: 'Noto Serif JP', serif;
	font-size: 1.25rem;
	margin-right: 1.25rem;
	font-weight: 500;
}
.head-image.biz .inner .btn-c2 li a::after {
	position: absolute;
	content: '';
	z-index: 3;
	width: 8px;
	height: 8px;
	border-top: solid 2px #FFF;
	border-right: solid 2px #FFF;
	transform: rotate(135deg);
	top: 24px;
	right: 15px;
	transition: all .6s;
}
.head-image.biz .inner .btn-c2 li a:hover {
	color: #208960;
	background-color: #FFF;
	transition: all .6s;
	opacity: 1;
}
.head-image.biz .inner .btn-c2 li a:hover::after {
	border-top: solid 2px #208960;
	border-right: solid 2px #208960;
	transition: all .6s;
}
.business ul.column4 li p {
	line-height: 1.5;
	margin-top: .75rem;
}
.biz-head {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	position: relative;
	padding: 7rem 0 3rem 0;
}
.biz-head::before {
	position: absolute;
	left: 0;
	top: 0;
	content: '';
	width: 55%;
	height: 500px;
	background-color: #F7F7F7;
}
.biz-head .tx {
	width: 43%;
	margin-right: 4%;
	padding: 0 5%;
	position: relative;
	z-index: 3;
}
.biz-head .image {
	width: 53%;
	position: relative;
	z-index: 3;
}
.biz-head .tx .num {
	font-weight: 600;
	font-size: 6rem;
	color: #208960;
	font-family: 'Noto Serif JP', serif;
	font-style: oblique;
	line-height: 1;
}
.biz-head .tx h2 {
	font-size: 3rem;
	font-weight: 500;
	margin: 1rem 0;
}
.biz-head .tx p {
	font-size: 1.25rem;
}
.biz-head .image p {
	margin-top: 1rem;
}
.biz-head.rev {
	flex-flow: row-reverse;
}
.biz-head.rev::before {
	left: initial;
	right: 0;
}
.biz-head.rev .image {
	margin-left: 4%;
}
.biz-head.rev .tx {
	margin-right: 0;
}
.content.business .inner {
	padding: 5rem 0;
	max-width: inherit;
}
.business ul.column4 {
	margin-left: auto;
	margin-right: auto;
	max-width: 1700px;
}
.business ul.column4 li {
	padding: 1rem 1.75rem;
}
.content.business .wide {
	padding-top: 6rem;
}
.content.business .tx-top p {
	text-align: center;
	font-size: 1.125rem;
	line-height: 2.25;
}
.content.business .tx-top p .txbr {
	display: inline-block;
	width: 100%;
}
#biz01::before,#biz02::before,#biz03::before,#biz04::before {
   content: ' ';
    display: block;
    height: 80px;
    margin-top: -180px;
    vertical-align: top;
}
.google-maps {
    height: 0;
    margin: 0 auto;
    overflow: hidden;
    padding-bottom: 299px;
    position: relative;
}
.google-maps iframe {
    height: 100% !important;
    left: 0;
    position: absolute;
    top: 0;
    width: 100% !important;
}
.sub-map {
	margin-top: 1.25rem;
}
ul.c3-fit {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
}
ul.c3-fit li {
	width: calc(100% / 3);
	margin: 0;
	padding: 0;
}
@media screen and (min-width:787px){
	.csr ul.column2 li .image a::after, .csr ul.column4 li a::after,.business ul.column4 li a::after {
		display: none;
	}
	.csr ul.column2 li .image a , .csr ul.column4 li a ,.business ul.column4 li a {
		position: relative;
	}
	.csr ul.column2 li .image a:hover, .csr ul.column4 li a:hover,.business ul.column4 li a:hover {
		opacity: 1;
	}
	.csr ul.column2 li .image a:hover::after, .csr ul.column4 li a:hover::after,.business ul.column4 li a:hover::after {
		position: absolute;
		margin: auto;
		content: '';
		width: 28px;
		height: 28px;
		background-image: url(../images/zoom.png);
		background-position: top left;
		background-repeat: no-repeat;
		background-size: 100%;
		z-index: 2;
		pointer-events: none;
		right: 0;
		left: 0;
		top: 50%;
		display: block;
		bottom: initial;
	}
}
@media screen and (min-width:1025px){
	.head-image {
		padding: 0 50px;
		height: 520px;
	}
	.head-image.info {
		height: 950px;
	}
	#biz01::before,#biz02::before,#biz03::before,#biz04::before  {
	   height: 120px;
	   margin: -120px 0 0;
	}
	.head-image .inner {
		margin-bottom: 100px;
	}
}
@media screen and (min-width:1241px){
	.head-image {
		padding: 0 100px;
	}
}
@media screen and (max-width:1400px){
	.top-main .tx h2 {
		font-size: 2.25rem;
	}
}
@media screen and (max-width:1240px){
	.biz-area .biz-box .tx h4 {
		font-size: 2.5rem;
	}
	.biz-area .biz-box .image::before {
		font-size: 8rem;
		right: -50px;
		font-weight: 500;
	}
	.biz-area .biz-box:nth-of-type(2n) .image::before {
		left: -50px;
	}
	.biz-area .biz-box:last-of-type {
		padding-bottom: 7rem;
	}
	.btn.green a {
		margin-top: 2rem;
	}
	.top-business::before,.top-recruit::before {
		width: 55%;
		height: 100%;
	}
	.top-business .biz-area, .top-business .btn,.top-business h3 {
		position: relative;
		z-index: 5;
	}
	.top-recruit .inner .tx-box {
		width: 80%;
	}
	.top-main .tx h2 {
		font-size: 2rem;
	}
	.top-main .tx h2 .tx01, .top-main .tx h2 .tx02 {
		padding: .5rem;
		line-height: 1.3;
	}
	.wide.bg-green.greeting::before {
		width: 55%;
		height: 100%;
		top: -2px;
	}
	.wide.bg-green.csr::before {
		width: 23%;
		height: 100%;
	}
	.biz-head .tx .num {
		font-size: 4.5rem;
	}
	.biz-head .tx h2 {
		margin: .5rem 0;
		font-size: 2.5rem;
	}
}
@media screen and (max-width:1024px){
	.about {
		padding: 4rem 1rem;
	}
	.biz-area .biz-box .image {
		margin-top: -130px;
	}
	.biz-area .biz-box .tx h4 {
		font-size: 2rem;
		line-height: 1.5;
		margin-bottom: .75rem;
	}
	.biz-area .biz-box .image::before {
		font-size: 5rem;
		right: -30px;
	}
	.top-business {
		padding: 6rem 0;
	}
	.top-business h3 {
		font-size: 2.25rem;
		margin-bottom: 6rem;		
	}
	.biz-area .biz-box {
		padding: 4rem 5% 8rem 5%;
	}
	.biz-area .biz-box .tx p {
		line-height: 1.5;
	}
	.biz-area .biz-box:last-of-type {
		padding-bottom: 3rem;
	}
	.top-business .btn.green {
		margin-bottom: 4rem;
		max-width: 360px;
	}
	.top-business .btn.green a {
		padding: 1.5rem 1rem;
	}
	.top-recruit .inner .tx-box {
		width: 100%;
	}
	.head-image.recruit {
		padding-top: 10rem;
	}
	.head-image.info {
		padding-top: 25rem;
	}
	.head-image.info h1,.head-image.recruit h1 {
		padding: 0;
	}
	.head-image.info p.en ,.head-image.recruit p.en {
		font-size: 3rem;
	}
	.wide {
		padding: 5rem 1rem;
	}
	.greeting .inner .title, .greeting .inner .tx {
		width: 100%;
	}
	.greeting .inner {
		padding-top: 1rem;
	}
	.greeting .inner .title h2, .csr .inner h2 {
		margin-bottom: 2rem;
	}
	.greeting .inner .tx p.tx-r {
		margin-top: 0;
	}
	.inner.profile .title, .inner.profile .detail {
		width: 100%;
		margin: 0;
		padding: 0 1rem;
	}
	.inner.profile .title {
		margin-bottom: 2rem;
	}
	.csr ul.column2 li .image {
		max-width: 250px;
	}
	.csr ul.column4 li, .business ul.column4 li {
		padding: .5rem;
	}
	.head-image.biz .inner p.en {
		font-size: 4rem;
	}
	.head-image.biz .inner {
		padding: 2rem;
	}
	.tx-top {
		padding-bottom: 6rem;
	}
	.biz-head {
		padding-top: 5rem;
	}
	.biz-head .tx {
		margin-right: 3%;
	}
	.biz-head .image {
		margin-right: 1%;
	}
	.biz-head.rev .image {
		margin-left: 1%;
		width: 56%;
	}
	.business ul.column4 {
		padding: 0 1%;
	}
	.rec-top {
		padding-bottom: 5rem;
	}
	.eb-area {
		padding-bottom: 1rem;
	}
	.eb-area .white-box {
		width: 96%;
	}
	.youkou-area .white-box {
		padding-bottom: 3rem;
	}
	.eb-area {
		padding-top: 3rem;
	}
	.top-main .tx h2 {
		font-size: 1.5rem;
	}
	.top-main .tx h2 .tx02 {
		margin-top: 40px;
	}
}
@media screen and (max-width:768px){
	.about .inner .tx p.en {
		font-size: 2.5rem;
	}
	.about .inner .tx {
		width: 100%;
	}
	.about .inner .btn {
		width: 100%;
		margin: 1rem 0 0 0;
	}
	.about .inner .tx h3 {
		margin: 0 auto 1rem auto;
	}
	.top-business {
		padding-top: 5rem;
	}
	.biz-area .biz-box .tx, .biz-area .biz-box:nth-of-type(2n+1) .tx {
		width: 100%;
		margin: 2.5rem 0 0 0;
	}
	.biz-area .biz-box .image,.biz-area .biz-box:nth-of-type(2n+1) .image {
		width: 75%;
	}
	.top-recruit {
		padding: 5rem 0;
	}
	.content.business #biz04 .inner {
		padding-bottom: 0;
	}
	.content.business .tx-top p {
		font-size: 1rem;
		margin-bottom: 0;
	}
	.content.business .tx-top p .txbr02 {
		display: inline-block;
		width: 100%;
	}
	.content.business .wide {
		padding-top: 4rem;
	}
	.biz-head, .biz-head.rev {
		flex-flow: initial;
		flex-wrap: wrap;
		padding: 2rem;
	}
	.biz-head .tx, .biz-head.rev .tx {
		width: 100%;
		margin: 2.5rem 0 1.5rem 0;
		padding: 0;
		text-align: right;
	}
	.biz-head.rev .tx {
		text-align: left;
	}
	.biz-head .tx p,.biz-head .tx h2 {
		text-align: left;
	}
	.biz-head .image, .biz-head.rev .image {
		width: 90%;
		margin: 0 auto;
	}
	.biz-head::before {
		width: 100%;
		height: 400px;
	}
	.business ul.column4 {
		padding: 0 2%;
	}
	.biz-head .tx .num {
		font-size: 3.5rem;
	}
	.biz-head .tx h2 {
		line-height: 1.5;
		font-size: 2.25rem;
	}
	.business ul.column4 li p {
		margin: .5rem 0;
		font-size: .875rem;
		line-height: 1.25;
	}
	.eb-area .tx-top div {
		width: 100%;
		margin: 1rem auto 0 auto;
		text-align: center;
	}
	ul.other-c4 li {
		width: 44%;
		margin: 1rem 3%;
	}
	.kyuka-box {
		padding: 2rem 1rem;
	}
	.kyuka-box .image {
		width: 100%;
		margin: auto;
		order: 2;
	}
	.kyuka-box .tx {
		width: 100%;
		margin: auto;
		order: 1;
	}
	.youkou-area {
		padding-top: 2rem;
	}
	.wide.gray.youkou p.en {
		line-height: 1;
		font-size: 2.25rem;
	}
	.youkou-area h3 {
		padding: 2rem 1rem 2rem 6rem;
	}
	.oubo {
		margin: 3rem auto;
	}
	.eb-area .title p.en {
		line-height: 1;
		font-size: 2.25rem;
	}
	.top-main .tx h2 {
		font-size: 1.25rem;
	}
	.top-main .tx h2 .tx01, .top-main .tx h2 .tx02 {
		padding: .25rem;
		line-height: 1.5;
	}
}
@media screen and (max-width:640px){
	.top-business::before {
		background-position: right top;
	}
	.top-business {
		padding-top: 4rem;
	}
	.top-business h3 {
		font-size: 1.75rem;
		padding-bottom: 1.5rem;
	}
	.about {
		background-position: left center;
		padding: 2rem 1rem;
	}
	.about .inner .tx p.en {
		font-size: 1.75rem;
		margin-bottom: .25rem;
	}
	.about .inner .btn {
		margin: 0 0 1rem 0;
	}
	.about .inner .btn.bk a {
		max-width: 210px;
		padding: 1rem 2.5rem 1rem 2rem;
		font-weight: 500;
	}
	.biz-area .biz-box .image::before {
		font-size: 4rem;
	}
	.biz-area .biz-box .tx h4 {
		font-size: 1.75rem;
		line-height: 1.375;
	}
	.biz-area .biz-box {
		padding-bottom: 7rem;
	}
	.btn.green a {
		font-size: 1.25rem;
	}
	.top-recruit {
		padding: 4rem 0 5rem 0;
	}
	.top-recruit .inner {
		padding: 0 1.25rem;
	}
	.top-recruit .inner .tx-box {
		padding: 2.5rem;
	}
	.top-business .btn.green {
		margin-bottom: 2rem;
	}
	.top-recruit::before {
		left: 15px;
	}
	.wide {
		padding: 3rem 1rem;
	}
	.greeting .inner .title h2, .csr .inner h2 {
		font-size: 1.75rem;
		padding-bottom: 1rem;
	}
	table.type-line {
		border-width: 1px 0 0;
	}
	table.type-line tr {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
	}
	table.type-line tr th, table.type-line tr td {
		width: 100%;
		padding: .5rem;
	}
	table.type-line tr th {
		border-width: 0;
		padding-bottom: 0;
		font-weight: 500;
	}
	.acc {
		padding: 0;
	}
	.csr .inner h3 {
		font-size: 1rem;
		line-height: 1.125;
	}
	.csr ul.column2, .csr ul.column4, .business ul.column4 {
		padding: 1rem 0;
	}
	.csr ul.column4 li, .business ul.column4 li {
		width: calc(100% /2);
	}
	.csr .gal {
		padding-top: 3rem;
	}
	.tx-top {
		padding-bottom: 4.5rem;
	}
	.head-image.biz::before {
		width: 100%;
	}
	.head-image.biz .inner::before {
		display: none;
	}
	.head-image.biz .inner .btn-c2 li a {
		padding: 1rem 2rem 1rem .75rem;
		font-size: 1rem;
	}
	.head-image.biz .inner .btn-c2 li a::before {
		margin-right: .5rem;
		font-size: 1rem;
	}
	.head-image.biz .inner .btn-c2 li a::after {
		width: 6px;
		height: 6px;
		top: 20px;
		right: 10px;
	}
	.head-image.biz .inner p.en {
		font-size: 3rem;
		margin-bottom: 1rem;
	}
	.content.business .tx-top p {
		font-size: .85rem;
	}
	.biz-head .tx, .biz-head.rev .tx {
		margin-top: 0;
	}
	.biz-head .tx p {
		font-size: 1rem;
		margin: 0;
	}
	.biz-head .image p {
		margin-top: 1rem;
		margin: .25rem 0 0 0;
		line-height: 1.375;
	}
	.biz-head, .biz-head.rev {
		padding-bottom: 0;
	}
	.biz-head .tx h2 {
		font-size: 2rem;
	}
	.rec-top {
		padding: 0 1rem 3rem 1rem;
	}
	.rec-top p {
		font-size: 1rem;
	}
	.rec-top p .txbr {
		display: inline-block;
		width: 100%;
	}
	.eb-area .tx-top {
		font-size: 1rem;
		padding-bottom: 0;
	}
	ul.other-c4 li h4 {
		font-size: 1.125rem;
	}
	.oubo .tel a {
		font-size: 2.5rem;
		justify-content: center;
	}
	.oubo {
		margin-top: 0;
	}
	.top-main .tx h2 {
		font-size: 1rem;
	}
	.head-image.info {
		padding-top: 15rem;
	}
	.head-image.biz .inner {
		padding: 2rem 1rem;
	}
	.head-image.biz .inner .btn-c2 li {
		width: 48%;
		margin: 0 1% .5rem 1%;
	}
}
@media screen and (max-width:480px){
	.eb-area .tx-top div p {
		text-align: left;
	}
	.eb-area .tx-top div p br {
		display: none;
	}
	.kyuka-box .tx h3 {
		font-size: 1.375rem;
	}
	ul.other-c4 li {
		width: 94%;
	}
	.oubo .tel a {
		font-size: 2rem;
	}
	.oubo .tel a span,.oubo .tel a span::before {
		width: 30px;
		height: 30px;
	}
	.eb-area .title p.en,.eb-area .title h2 {
		font-size: 1.5rem;
	}
	.top-main .tx {
		-ms-writing-mode: initial;
		writing-mode: initial;
		position: static;
		transform: initial;
		padding: .25rem;
	}
	.top-main .tx h2 {
		text-align: center;
	}
	.top-main .tx h2 .tx02 {
		margin-top: 0;
	}
}
@media screen and (max-width:380px){
	.top-main .tx {
		position: static;
		display: flex;
		justify-content: center;
		text-align: center;
		padding: .25rem;
	}
	.top-main .tx h2 {
		font-size: 1.25rem;
		line-height: 1.25;
	}
	.top-main .tx h2 .tx01, .top-main .tx h2 .tx02 {
		padding: 0;
		line-height: 1.25;
		margin: 0;
	}
	.about .inner .btn {
		justify-content: center;
	}
	.top-recruit .inner .tx-box {
		padding: 2rem 1.5rem;
	}
	.csr ul.column2 li {
		width: 100%;
		margin-bottom: 2rem;
	}
	.csr ul.column2 li:last-child {
		margin-bottom: 0;
	}
	.rec-top p {
		font-size: .85rem;
	}
}