@charset "utf-8";

/*	レイアウト
---------------------------------*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
	margin: 0;
	padding: 0px 0 0;
	width: 100%;
	line-height: 1.8;
	color: #251714;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

#wrapper {
	overflow: hidden;
}
.sponly {
    display: none;
}
.pconly {
    display: inline;
}


@media screen and (min-width: 960px) {
    a[href^="tel:"] {
        display: inline-block;
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}


#link01, #link02, #link03, #link04, #link05 {
    margin-top: -80px;
    padding-top: 80px;
}

@media screen and (max-width:959px) {
    body {
        padding: 0px 0 0;
    }
    #link01, #link02, #link03, #link04, #link05 {
        margin-top: -70px;
        padding-top: 70px;
    }
}

@media screen and (max-width:599px) {
    .sponly {
        display: inline;
    }
    .pconly {
        display: none;
    }
}

/*	ヘッダー
---------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(37,23,20,0.7);
	line-height: 1;
	z-index: 1010;
}
.hd-inr {
	position: relative;
	margin: 0 auto;
	padding: 0px 70px 0px 0px;
	width: 100%;
    height: 70px;
}
.hd-info {
	width: 100%;
    vertical-align: top;
}
.hd-menu {
	margin: 0 0px 0 0;
	padding: 0px 0 0;
}

@media screen and (max-width: 959px) {
	.hd-inr {
        padding: 0px 15px 0px 15px;
        height: 60px;
        background: rgba(255,255,255,1);
	}
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .hd-inr {
        padding: 0px 15px 0px 10px;
	}
}

@media screen and (max-width: 320px) {
}

/*	左メニュー
---------------------------------*/

.left-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 115px;
    height: 100vh;
	background: rgba(255,255,255,1);
    box-shadow: 0px 0px 20px rgba(0,0,0,0.3);
	line-height: 1;
	z-index: 1012;
}

.left-menu .left-menu-inr {
    position: relative;
    height: 100vh;
}

.left-menu .left-menu-logo {
	width: 100%;
	text-align: center;
    padding-top: 30px;
}
.left-menu.logomini .left-menu-logo {
    padding-top: 20px;
}
.left-menu .left-menu-logo img {
}
.left-menu.logomini .left-menu-logo img {
    height: 40vh;
    width: auto;
}
.left-menu .left-menu-logo img.logosp {
    display: none;
}
.left-menu .left-menu-logo img.logopc {
    display: inline;
}

.left-menu .left-menu-home {
    position: absolute;
    bottom: 212px;
    left: 0px;
    width: 100%;
    text-align: center;
}
.left-menu .left-menu-home a {
    display: inline-block;
    width: 30px;
    height: 30px;
	background: url("../img/cmn/icon_home.png") no-repeat center center;
	background-size: auto;
}

.left-menu .left-menu-tel {
    position: absolute;
    bottom: 95px;
    left: 0px;
    width: 100%;
}
.left-menu .left-menu-tel a {
    display: block;
    width: 100%;
    height: 95px;
    text-align: center;
	background: #004085 url("../img/cmn/icon_tel.png") no-repeat center 25px;
	background-size: auto;
}
.left-menu .left-menu-tel strong {
	display: inline-block;
    margin-top: 60px;
	font-size: 14px;
    line-height: 1.6;
	font-weight: 300;
	letter-spacing: 1.5px;
    color: #ffffff;
}

.left-menu .left-menu-mail {
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
}
.left-menu .left-menu-mail a {
    display: block;
    width: 100%;
    height: 95px;
    text-align: center;
	background: #000000 url("../img/cmn/icon_mail.png") no-repeat center 25px;
	background-size: auto;
}
.left-menu .left-menu-mail a span {
    display: inline-block;
    margin-top: 52px;
	font-size: 16px;
    line-height: 1.6;
	font-weight: 600;
	letter-spacing: 3px;
    color: #ffffff;
}

@media screen and (max-width:959px) {
    .left-menu {
        top: 0;
        left: 0;
        width: calc(100% - 60px);
        height: 60px;
        background: none;
        box-shadow: none;
    }
    .left-menu .left-menu-inr {
        height: 60px;
    }
    .left-menu .left-menu-logo {
        display: inline-block;
        vertical-align: top;
        width: auto;
        text-align: left;
        padding-left: 15px;
        padding-top: 7px;
    }
    .left-menu .left-menu-logo img {
        height: 46px;
        width: auto;
    }
    .left-menu .left-menu-logo img.logosp {
        display: inline;
    }
    .left-menu .left-menu-logo img.logopc {
        display: none;
    }
    .left-menu .left-menu-home {
        display: none;
    }
    .left-menu .left-menu-tel {
        margin-left: 25px;
        margin-top: 10px;
        position: static;
        width: 40px;
        display: inline-block;
        vertical-align: top;
    }
	.left-menu .left-menu-tel a {
		display: block;
		width: 40px;
		height: 40px;
        text-align: center;
        background: #004085 url("../img/cmn/icon_tel.png") no-repeat center center;
        background-size: auto;
	}
	.left-menu .left-menu-tel a strong {
		display: none;
	}
    .left-menu .left-menu-mail {
        margin-top: 10px;
        margin-left: 5px;
        position: static;
        width: 40px;
        display: inline-block;
        vertical-align: top;
    }
    .left-menu .left-menu-mail a {
        display: block;
        width: 40px;
        height: 40px;
        text-align: center;
        background: #000000 url("../img/cmn/icon_mail.png") no-repeat center center;
        background-size: auto;
    }
    .left-menu .left-menu-mail a span {
        display: none;
    }
}

@media screen and (max-width:599px) {
    .left-menu .left-menu-logo {
        padding-top: 15px;
        padding-left: 10px;
    }
    .left-menu .left-menu-logo img {
        height: 30px;
        width: auto;
    }
    .left-menu .left-menu-tel {
        margin-top: 15px;
        margin-left: 15px;
        width: 30px;
    }
	.left-menu .left-menu-tel a {
		width: 30px;
		height: 30px;
        background-size: 22px;
	}
    .left-menu .left-menu-mail {
        margin-top: 15px;
        margin-left: 6px;
        width: 30px;
    }
    .left-menu .left-menu-mail a {
        width: 30px;
        height: 30px;
        background-size: 22px;
    }
}

@media screen and (max-width:320px) {
    .left-menu .left-menu-logo {
        padding-top: 16px;
        padding-left: 5px;
    }
    .left-menu .left-menu-logo img {
        height: 28px;
        width: auto;
    }
    .left-menu .left-menu-tel {
        margin-left: 10px;
    }
}

/*	右側コンテンツ
---------------------------------*/

.right-contents {
    width: calc(100% - 115px);
    margin-left: 115px;
}

@media screen and (max-width:959px) {
    .right-contents {
        width: 100%;
        margin-left: 0;
    }
}

/*	フッター
---------------------------------*/
footer {
	background: url("../img/cmn/bg_ft.jpg") no-repeat center center;
    background-size: cover;
    padding-top: 70px;
    padding-bottom: 50px;
}
footer .contents-inr {
}

footer .ft-logo {
    margin: 0px 0 40px 0;
}

footer .ft-nav {
    width: calc(100% - 300px);
}
footer .ft-nav > ul {
    display: inline-block;
	margin: 0;
    font-size: 0;
    text-align: left;
}
footer .ft-nav > ul > li {
    display: inline-block;
    vertical-align: top;
	margin: 0px 40px 30px 0px;
}
footer .ft-nav > ul > li:last-of-type {
}
footer .ft-nav > ul > li > p {
	padding: 0 0px 3px 5px;
	font-size: 12px;
    font-weight: 300;
    letter-spacing: 1px;
    line-height: 1.6;
    color: #ffffff;
}
footer .ft-nav > ul > li > p.title {
	padding: 0 0px 10px 0px;
	font-size: 16px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.6;
    color: #ffffff;
}

footer .map-box {
    width: 300px;
    margin-bottom: 10px;
}
footer .map-box iframe {
    width: 100%;
    height: 170px;
}

footer .ft-logo02 {
    width: calc(100% - 670px);
    margin-top: 20px;
    padding-right: 30px;
}

footer .ft-address {
    margin-top: 20px;
    width: 670px;
	padding: 15px 0px 15px 0px;
    border-top: rgba(255,255,255,0.4) 1px solid;
    border-bottom: rgba(255,255,255,0.4) 1px solid;
}
footer .ft-address p {
	font-size: 14px;
    font-weight: 300;
    letter-spacing: 1.4px;
    line-height: 1.6;
    color: #ffffff;
}

.ft-copyright {
	padding: 20px 0px 0px 0px;
    font-weight: 300;
    letter-spacing: 1px;
	font-size: 10px;
    text-align: right;
    color: #ffffff;
}

@media screen and (max-width: 1920px) {
}

@media screen and (max-width: 1279px) {
}

@media screen and (max-width: 959px) {
    footer .ft-logo02 {
        width: 100%;
        padding-right: 0;
    }
    footer .ft-logo02 img {
        max-width: 50%;
    }
    footer .ft-address {
        margin-top: 30px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    footer .ft-address p {
        font-size: 13px;
        letter-spacing: 1px;
    }
}

@media screen and (max-width: 599px) {
    .btn-pagetop img {
        width: 30px;
        height: auto;
    }
    .ft-nav {
        display: none;
    }
    footer {
        padding-top: 50px;
        padding-bottom: 50px;
    }
    footer .ft-logo {
        margin: 0px 0 30px 0;
        text-align: center;
    }
    footer .map-box {
        width: 100%;
    }
    footer .map-box iframe {
        width: 100%;
        height: 230px;
    }
    footer .ft-address p {
        font-size: 12px;
        letter-spacing: 1px;
    }
}

/*	グローバナビ（PC用）
---------------------------------*/
.pc-nav {
	line-height: 1;
}
.pc-nav > ul {
	margin: 0px 0px 0 0px;
}
.pc-nav > ul > li {
	position: relative;
	margin: 0px 0px 0 55px;
	padding: 0px 0px 0px 0px;
}
.pc-nav > ul > li.first {
	margin: 0;
	padding: 0;
}
.pc-nav > ul > li > a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
	padding: 0px 0px 0px 0px;
	width: 100%;
	height: 100%;
	text-align: center;
	font-size: 16px;
    letter-spacing: 3px;
	font-weight: 600;
    color: #ffffff;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li > a span {
	position: relative;
}
.pc-nav > ul > li.current a,
.pc-nav > ul > li a:hover {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li a::before {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 0px;
	height: 2px;
	width: 100%;
    background: #00528e;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
    opacity: 0;
}
.pc-nav > ul > li.current a::before {
    opacity: 1;
}
.pc-nav > ul > li a:hover::before {
    opacity: 1;
}
.pc-nav > ul > li.parent div {
	position: absolute;
	top: 100%;
	left: calc(50% + 0px);
	transform: translateX(-50%);
	padding: 20px 10px 20px 10px;
	width: 120px;
	max-height: 0;
	background: rgba(0,0,0,0.9);
	text-align: center;
	z-index: 100;
	opacity: 0;
	overflow: hidden;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.pc-nav > ul > li.parent div ul {
	display: inline-block;
}
.pc-nav > ul > li.parent div li a {
	display: block;
	padding: 10px 0px 10px 0px;
	text-align: left;
	font-size: 15px;
	color: #fff;
}
.pc-nav > ul > li.parent div li:last-child a {
    border-bottom: none;
}
.pc-nav > ul > li.parent:hover div {
	max-height: 360px;
	opacity: 1;
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width:959px) {
	.pc-nav {
		display: none;
	}
	.pconly-nav {
		display: none;
	}
}

/*	グローバナビ（スマホ用）
---------------------------------*/
header .navToggle,
header nav.sp-nav {
	display:none;
}
@media screen and (max-width:959px) {
	header nav.sp-nav {
		display: block;
		position: fixed;
		left: 0;
		top: 60px;
		bottom: 0;
		margin: auto;
		padding: 10% 15%;
		width: 100%;
		height: calc(100% - 60px);
		background: rgba(1,64,133,0.9);
		font-size: 2.3rem;
		font-weight: 500;
		z-index: 1014;
		visibility: hidden;
		opacity: 0;
		transform: scale(0.9);
		transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
	}
	/* ナビゲーション アニメーション */
	header.open nav.sp-nav {
		visibility: visible;
		opacity: 1;
		transform: scale(1);
		transition: transform 0.4s, opacity 0.4s;
	}
	header nav.sp-nav a {
		color:#fff;
	}
	header nav.sp-nav a * {
		transition: 0s;
	}
	header nav.sp-nav > ul {
		display: block;
		position :absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		width: 100%;
	}
	header nav.sp-nav > ul > li {
		margin: 30px 0;
		overflow: hidden;
		text-align: center;
		line-height: 1;
		text-transform: uppercase;
	}

	header nav.sp-nav > ul > li.parent {
		margin: 25px 0;
	}
	header nav.sp-nav > ul > li.parent > a {
		text-decoration: none;
		border: none;
	}
	header nav.sp-nav > ul > li.parent div ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 5px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li {
		margin: 10px 0 0;
		font-size: 0.875em;
	}
	header nav.sp-nav > ul > li.parent div li a {
		display: inline-block;
		color: #ccc;
	}
	header nav.sp-nav > ul > li.parent div li a:hover {
		display: inline-block;
		border-bottom: none;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type {
		margin: 10px 0 0;
	}
	header nav.sp-nav > ul > li.parent div li::after {
		content: "/";
		display: inline;
		margin: 0 5px;
		color: #999;
	}
	header nav.sp-nav > ul > li.parent div li:last-of-type::after {
        display: none;
	}
	header nav.sp-nav ul li strong,
	header nav.sp-nav ul li br {
		display: none;
	}
	header nav.sp-nav ul li span span,
	header nav.sp-nav ul li br {
		display: none;
	}
	/*ハンバーガーボタン*/
	header .navToggle {
		display: block;
		position: absolute;
		right: 0px;
		top: 0px;
		margin: auto;
		width: 60px;
		height: 60px;
		background: #000000;
		cursor: pointer;
		z-index: 1016;
	}
	header .navToggle div {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		width: 25px;
		height: 16px;
	}
	header .navToggle span {
		display: block;
		position: absolute;
		height:2px;
		width:100%;
		background: #fff;
		left:0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	header .navToggle span:nth-child(1) {
		top: 0;
	}
	header .navToggle span:nth-child(2) {
		top: 7px;
	}
	header .navToggle span:nth-child(3) {
		top: 14px;
	}
	/* ハンバーガーボタン 切り替えアニメーション */
	header.open .navToggle span {
	}
	header.open .navToggle span:nth-child(1) {
		top: 7px;
		transform: rotate(315deg);
	}
	header.open .navToggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	header.open .navToggle span:nth-child(3) {
		top: 7px;
		transform: rotate(-315deg);
	}
}
@media screen and (max-width:599px) {
	header nav.sp-nav {
		font-size: 18px;
	}
	header .navToggle {
		right: 0px;
	}
}

/*	メインイメージ
---------------------------------*/
.main-img-otr {
	position: relative;
	width: 100%;
    height: 100vh;
    overflow: hidden;
}
.main-img-inr {
}
.main-img {
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
}
.main-img::after {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100vh;
background-color: rgba(0,0,0,0);
background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
background-size: 4px 4px;
background-position: 0 0, 2px 2px;
}
  
  
.main-img video{
width: 100%;
height: 100%;
object-fit:cover;
}

.main-img-cap {
	position: absolute;
	top: 20%;
	left: 0%;
    width: 100%;
	text-align: center;
	z-index: 1001;
}
.main-img-cap img {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
.main-img::after {
background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
background-size: 2px 2px;
background-position: 0 0, 1px 1px;
}
}

@media screen and (max-width: 599px) {
    .main-img-cap {
        top: 25%;
        left: 25%;
        width: 50%;
    }
}

/*	ページヘッダー
---------------------------------*/
.page-header {
	width: 100%;
	height: 45vw;
	max-height: 600px;
	background: no-repeat center center / cover;
    position: relative;
}
.page-header::before {
	content: "";
	display: block;
	position: absolute;
	top: 100%;
	right: 0;
	margin: 0;
	width: 55%;
	height: 15px;
	background: #2c2654;
	z-index: -1;
}
.page-header.page-header-company {
	background-image: url("../img/company/page-header.jpg");
}
.page-header.page-header-business {
	background-image: url("../img/business/page-header.jpg");
}
.page-header.page-header-business01 {
	background-image: url("../img/business/01/page-header.jpg");
}
.page-header.page-header-business02 {
	background-image: url("../img/business/02/page-header.jpg");
}
.page-header.page-header-business03 {
	background-image: url("../img/business/03/page-header.jpg");
}
.page-header.page-header-business04 {
	background-image: url("../img/business/04/page-header.jpg");
}
.page-header.page-header-csr {
	background-image: url("../img/csr/page-header.jpg");
}
.page-header.page-header-recruit {
	background-image: url("../img/recruit/page-header.jpg");
}
.page-header.page-header-contact {
	background-image: url("../img/contact/page-header.jpg");
}
.page-header.page-header-privacy {
	background-image: url("../img/privacy/page-header.jpg");
}

@media screen and (max-width: 959px) {
    .page-header {
        height: 55vw;
    }
}

@media screen and (max-width: 599px) {
    .page-header {
        height: 70vw;
    }
    .page-header::before {
        height: 10px;
    }
}

/*	ページタイトル・メニュー
---------------------------------*/
.page-title {
	padding-top: 80px;
	padding-bottom: 90px;
}
.page-title .contents-inr {
}

.page-title li a {
    width: 100%;
    height: 100%;
    padding-top: 7px;
    display: block;
	background: #ffffff;
    border: #003f7d 1px solid;
    text-align: center;
	font-size: 14px;
	line-height: 1.6;
    font-weight: 900;
	letter-spacing: 2px;
    color: #251714;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.page-title li.current a {
	background: #003f7d;
    color: #ffffff;
    font-weight: 700;
}
.page-title li a:hover {
	background: #003f7d;
    color: #ffffff;
    font-weight: 700;
    opacity: 1;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

.page-title .page-title-menu-company {
    position: absolute;
    top: 90px;
    left: 10px;
    width: 50%;
}
.page-title .page-title-menu-company li {
	margin: 0 5px 5px 0;
    width: 130px;
    height: 40px;
}
.page-title .page-title-menu-company li:last-of-type {
	margin: 0 0px 5px 0;
}

.page-title .page-title-menu-business {
    margin-top: 50px;
}
.page-title .page-title-menu-business li {
	margin: 0 5px 5px 0;
    width: 160px;
    height: 40px;
}
.page-title .page-title-menu-business li:last-of-type {
	margin: 0 0px 5px 0;
}

.page-title .page-title-menu-recruit {
    margin-top: 50px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.page-title .page-title-menu-recruit li {
	margin: 0 5px 5px 0;
    width: calc((100% - 15px) / 4);
    height: 40px;
}
.page-title .page-title-menu-recruit li:nth-of-type(4n) {
    margin: 0 0px 5px 0;
}
.page-title .page-title-menu-recruit li:last-of-type {
	margin: 0 0px 5px 0;
}

.page-title .page-title-menu-csr {
    position: absolute;
    top: 90px;
    left: 10px;
    width: 60%;
}
.page-title .page-title-menu-csr li {
	margin: 0 5px 5px 0;
    width: 240px;
    height: 40px;
}
.page-title .page-title-menu-csr li:last-of-type {
	margin: 0 0px 5px 0;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .page-title .page-title-menu-company {
        position: static;
        width: 70%;
        margin-top: 50px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-title .page-title-menu-company li {
        margin: 0 5px 5px 0;
        width: calc((100% - 5px) / 2);
    }
    .page-title .page-title-menu-company li:nth-of-type(2n) {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-company li:last-of-type {
        margin: 0 0px 5px 0;
    }
}

@media screen and (max-width: 959px) {
    .page-title .page-title-menu-business {
        width: 80%;
        margin-left: auto;
        margin-right: auto;
    }
    .page-title .page-title-menu-business li {
        margin: 0 5px 5px 0;
        width: calc((100% - 10px) / 3);
    }
    .page-title .page-title-menu-business li:nth-of-type(3n) {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-business li:last-of-type {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-recruit {
        width: 70%;
    }
    .page-title .page-title-menu-recruit li {
        margin: 0 5px 5px 0;
        width: calc((100% - 5px) / 2);
    }
    .page-title .page-title-menu-recruit li:nth-of-type(4n) {
        margin: 0 5px 5px 0;
    }
    .page-title .page-title-menu-recruit li:nth-of-type(2n) {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-recruit li:last-of-type {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-csr {
        position: static;
        width: 70%;
        margin-top: 50px;
        margin-left: auto;
        margin-right: auto;
    }
    .page-title .page-title-menu-csr li {
        margin: 0 5px 5px 0;
        width: calc((100% - 5px) / 2);
    }
    .page-title .page-title-menu-csr li:nth-of-type(2n) {
        margin: 0 0px 5px 0;
    }
    .page-title .page-title-menu-csr li:last-of-type {
        margin: 0 0px 5px 0;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .page-title {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .page-title li a {
        padding-top: 8px;
        font-size: 12px;
        letter-spacing: 1px;
    }
    .page-title .page-title-menu-company {
        width: 100%;
        margin-top: 40px;
    }
    .page-title .page-title-menu-business {
        width: 100%;
        margin-top: 40px;
    }
    .page-title .page-title-menu-recruit {
        width: 100%;
        margin-top: 40px;
    }
    .page-title .page-title-menu-csr {
        width: 100%;
        margin-top: 40px;
    }
}

@media screen and (max-width: 320px) {
    .page-title li a {
        letter-spacing: 0px;
    }
}


.page-title-contact {
}
.page-title-contact .contents-inr.large {
}
.page-title-contact .left-box {
    width: 48%;
	background: #003f82 url("../img/contact/bg_contact.jpg") no-repeat center top;
    background-size: 60%;
    text-align: center;
}
.page-title-contact .left-box .left-box-tel {
    margin-top: 350px;
	font-size: 38px;
    line-height: 1.2;
	font-weight: 400;
    font-style: italic;
	letter-spacing: 2px;
    color: #ffffff;
    font-family: 'Libre Baskerville', serif;
}
.page-title-contact .left-box .left-box-tel span {
	font-size: 38px;
    line-height: 1.2;
	font-weight: 400;
    font-style: normal;
	letter-spacing: 1px;
    color: #ffffff;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.page-title-contact .left-box .left-box-tel a {
	font-size: 38px;
    line-height: 1.2;
	font-weight: 400;
    font-style: italic;
	letter-spacing: 2px;
    color: #ffffff;
    font-family: 'Libre Baskerville', serif;
}
.page-title-contact .left-box .left-box-tel strong {
	font-size: 38px;
    line-height: 1.2;
	font-weight: 400;
    font-style: italic;
	letter-spacing: 2px;
    color: #ffffff;
    font-family: 'Libre Baskerville', serif;
}
.page-title-contact .left-box p {
    margin-top: 5px;
	font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0px;
    font-weight: 400;
    color: #ffffff;
    font-style: italic;
}
.page-title-contact .right-box {
    width: 52%;
	padding-top: 70px;
    padding-right: 50px;
    padding-left: 50px;
	padding-bottom: 20px;
}
.page-title-contact .right-box .ttl-cmn03 {
    margin-bottom: 40px;
}
.page-title-contact .right-box p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .page-title-contact .left-box {
        width: 100%;
        background-size: 200px;
        padding-bottom: 30px;
    }
    .page-title-contact .left-box .left-box-tel {
        margin-top: 100px;
    }
    .page-title-contact .right-box {
        width: 100%;
        padding-top: 50px;
        padding-bottom: 20px;
    }
    .page-title-contact .right-box .ttl-cmn03 {
        margin-bottom: 30px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .page-title-contact .left-box {
        background-size: 100px;
        padding-bottom: 20px;
    }
    .page-title-contact .left-box .left-box-tel {
        margin-top: 60px;
        font-size: 24px;
    }
    .page-title-contact .left-box .left-box-tel span {
        font-size: 24px;
    }
    .page-title-contact .left-box .left-box-tel a {
        font-size: 24px;
    }
    .page-title-contact .left-box .left-box-tel strong {
        font-size: 24px;
    }
    .page-title-contact .left-box p {
        margin-top: 5px;
        font-size: 12px;
        line-height: 1.6;
        letter-spacing: 0px;
    }
    .page-title-contact .right-box {
        width: 100%;
        padding-top: 30px;
        padding-right: 15px;
        padding-left: 15px;
        padding-bottom: 20px;
    }
    .page-title-contact .right-box .ttl-cmn03 {
        margin-bottom: 20px;
    }
    .page-title-contact .right-box p {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 1px;
        font-weight: 500;
    }
}

/*	基本レイアウト
---------------------------------*/
.contents-inr {
	position: relative;
	margin: 0 auto;
	padding-left: 50px;
	padding-right: 50px;
	max-width: 1400px;
}
.contents-inr.full {
	max-width: 100%;
	padding-left: 0px;
	padding-right: 0px;
}
.contents-inr.large {
	max-width: 1400px;
	padding-left: 0px;
	padding-right: 0px;
}

@media screen and (max-width: 599px) {
    .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/*	汎用タイトル
---------------------------------*/
.ttl-cmn01 {
    text-align: left;
}
.ttl-cmn01 .span01 {
    display: inline-block;
	font-size: 91px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 5px;
    font-family: 'Libre Baskerville', serif;
}
.ttl-cmn01 .span02 {
    display: inline-block;
    margin-left: 20px;
	font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #595757;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.ttl-cmn01 .span03 {
	font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
	letter-spacing: 1px;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.ttl-cmn02 {
    text-align: left;
    padding-bottom: 30px;
    border-bottom: rgba(255,255,255,0.5) 1px solid;
}
.ttl-cmn02 .span01 {
    display: inline-block;
	font-size: 91px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 3px;
    font-family: 'Libre Baskerville', serif;
    color: #ffffff;
}
.ttl-cmn02 .span02 {
    display: inline-block;
    margin-left: 20px;
	font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #ffffff;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.ttl-cmn02 .span03 {
    margin-top: -5px;
    margin-left: 5px;
    display: block;
	font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
	letter-spacing: 1px;
	font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    color: #ffffff;
}

.ttl-cmn03 {
    text-align: right;
}
.ttl-cmn03 .span01 {
    display: inline-block;
	font-size: 45px;
    font-weight: 700;
    line-height: 1.2;
	letter-spacing: 15px;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.ttl-cmn03 .span02 {
    display: inline-block;
	font-size: 91px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 8px;
    font-family: 'Libre Baskerville', serif;
}
.ttl-cmn03.ttl-cmn03-csr .span02 {
    line-height: 1.4;
}

.ttl-cmn04 {
    text-align: left;
    padding-left: 50px;
    position: relative;
}
.ttl-cmn04::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 14px;
	height: 150px;
	background: #1b5a96;
	z-index: -1;
}
.ttl-cmn04 .span01 {
    display: inline-block;
    margin-bottom: 5px;
	font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #1b5a96;
    font-style: italic;
    font-family: 'Josefin Sans', sans-serif;
}
.ttl-cmn04 .span02 {
    display: inline-block;
	font-size: 45px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 15px;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.ttl-cmn04 .span03 {
	font-size: 45px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 15px;
    color: #251714;
    font-family: 'Noto Serif JP', serif;
}

.ttl-cmn05 {
    text-align: left;
}
.ttl-cmn05 .span01 {
    display: inline-block;
    margin-bottom: 5px;
	font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #1b5a96;
    font-style: italic;
    font-family: 'Josefin Sans', sans-serif;
}
.ttl-cmn05 .span02 {
    display: inline-block;
	font-size: 45px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 15px;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}

.ttl-cmn06 {
    text-align: right;
    padding-right: 50px;
    position: relative;
}
.ttl-cmn06::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	width: 14px;
	height: 150px;
	background: #1b5a96;
	z-index: -1;
}
.ttl-cmn06 .span01 {
    display: inline-block;
    margin-bottom: 5px;
	font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #1b5a96;
    font-style: italic;
    font-family: 'Josefin Sans', sans-serif;
}
.ttl-cmn06 .span02 {
    margin-right: -15px;
    display: inline-block;
	font-size: 45px;
    font-weight: 700;
    line-height: 1;
	letter-spacing: 15px;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .ttl-cmn01 .span01 {
        font-size: 36px;
        letter-spacing: 2px;
    }
    .ttl-cmn01 .span02 {
        margin-left: 15px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .ttl-cmn01 .span03 {
        font-size: 18px;
        letter-spacing: 1px;
    }
    .ttl-cmn02 {
        padding-bottom: 15px;
    }
    .ttl-cmn02 .span01 {
        font-size: 36px;
        letter-spacing: 2px;
    }
    .ttl-cmn02 .span02 {
        margin-left: 15px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .ttl-cmn02 .span03 {
        font-size: 16px;
        letter-spacing: 1px;
        margin-top: 0px;
        margin-left: 2px;
    }
    .ttl-cmn03 .span01 {
        font-size: 22px;
        letter-spacing: 4px;
    }
    .ttl-cmn03 .span02 {
        font-size: 40px;
        letter-spacing: 3px;
    }
    .ttl-cmn04 {
        padding-left: 30px;
    }
    .ttl-cmn04::before {
        width: 10px;
        height: 100px;
    }
    .ttl-cmn04 .span01 {
        margin-bottom: 2px;
        font-size: 12px;
        letter-spacing: 0px;
    }
    .ttl-cmn04 .span02 {
        font-size: 26px;
        letter-spacing: 6px;
    }
    .ttl-cmn04 .span03 {
        font-size: 26px;
        letter-spacing: 6px;
    }
    .ttl-cmn05 .span01 {
        margin-bottom: 2px;
        font-size: 12px;
        letter-spacing: 0px;
    }
    .ttl-cmn05 .span02 {
        font-size: 26px;
        letter-spacing: 6px;
    }
    .ttl-cmn06 {
        padding-right: 30px;
    }
    .ttl-cmn06::before {
        width: 10px;
        height: 100px;
    }
    .ttl-cmn06 .span01 {
        margin-bottom: 2px;
        font-size: 12px;
        letter-spacing: 0px;
    }
    .ttl-cmn06 .span02 {
        margin-right: -5px;
        font-size: 26px;
        letter-spacing: 6px;
    }
}

/*	汎用ボタン
---------------------------------*/
.btn-cmn01 {
    text-align: center;
}
.btn-cmn01 a {
    width: 167px;
    height: 43px;
    display: inline-block;
	background: #000000;
    text-align: center;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn01 a:hover {
	background: #004085;
    opacity: 1;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn01 a span {
    margin-top: 13px;
    padding-right: 15px;
    display: inline-block;
	font-size: 13px;
	line-height: 1.6;
    font-weight: 700;
	letter-spacing: 1px;
	background: url("../img/cmn/icon_arw01.png") no-repeat right 2px;
    background-size: auto;
    color: #ffffff;
    font-family: 'Josefin Sans', sans-serif;
}

.btn-cmn02 {
    text-align: center;
}
.btn-cmn02 a {
    width: 167px;
    height: 43px;
    display: inline-block;
	background: #000000;
    text-align: center;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn02 a:hover {
	background: #004085;
    opacity: 1;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn02 a span {
    margin-top: 11px;
    padding-right: 15px;
    display: inline-block;
	font-size: 13px;
	line-height: 1.6;
    font-weight: 700;
	letter-spacing: 1px;
	background: url("../img/cmn/icon_arw01.png") no-repeat right 4px;
    background-size: auto;
    color: #ffffff;
}

.btn-cmn03 {
    text-align: right;
}
.btn-cmn03 a {
    width: 230px;
    height: 28px;
    display: inline-block;
	background: #000000;
    text-align: center;
    border-radius: 5px;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn03 a:hover {
	background: #004085;
    opacity: 1;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.btn-cmn03 a span {
    margin-top: 4px;
    padding-right: 32px;
    display: inline-block;
	font-size: 13px;
	line-height: 1.6;
    font-weight: 700;
	letter-spacing: 1px;
	background: url("../img/cmn/icon_arw07.png") no-repeat right 3px;
    background-size: auto;
    color: #ffffff;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
}

/*	トップページ
---------------------------------*/
/* WATABEの仕事 */
.top-about {
    padding-top: 75px;
    padding-bottom: 70px;
    position: relative;
}
.top-about::before {
	content: "";
	display: block;
	position: absolute;
	top: 115px;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100% - 115px);
	background: url("../img/top/bg_about.jpg") no-repeat center center;
    background-size: cover;
	z-index: -1;
}
.top-about .contents-inr.large {
}

.top-about .left-box {
    padding-right: 20px;
    width: calc(100% - 430px);
    padding-top: 95px;
}
.top-about .left-box img {
}
.top-about .left-box h4 {
    padding-bottom: 12px;
    margin-left: 100px;
    margin-right: 60px;
    margin-bottom: 18px;
    border-bottom: #515c96 1px solid;
}
.top-about .left-box h4 .span01 {
	font-size: 45px;
    line-height: 1;
    letter-spacing: 6px;
    font-weight: 700;
    font-family: 'Josefin Sans', sans-serif;
}
.top-about .left-box h4 .span02 {
    padding-left: 5px;
    padding-right: 5px;
	font-size: 37px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
}
.top-about .left-box h4 .span03 {
	font-size: 45px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: 700;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.top-about .left-box h5 {
    margin-left: 100px;
    margin-top: 40px;
	font-size: 41px;
    line-height: 1.7;
    letter-spacing: 4px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
}
.top-about .left-box p {
    margin-left: 100px;
    margin-bottom: 35px;
	font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 800;
    color: #595757;
}

.top-about .right-box {
    width: 430px;
}
.top-about .right-box .ttl-cmn01 {
    text-align: center;
}
.top-about .right-box p {
    margin: 35px 0 60px 20px;
    height: 482px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    writing-mode: vertical-rl;
}
.top-about .right-box .btn-cmn01 {
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1500px) {
    .top-about .left-box h4 {
        margin-left: 60px;
        margin-right: 40px;
    }
    .top-about .left-box h5 {
        margin-left: 60px;
    }
    .top-about .left-box p {
        margin-left: 60px;
    }
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-about .left-box {
        width: 100%;
        padding-right: 100px;
    }
    .top-about .left-box h4 {
        margin-left: 50px;
        margin-right: 20px;
    }
    .top-about .left-box h5 {
        margin-left: 50px;
        font-size: 36px;
        letter-spacing: 3px;
    }
    .top-about .left-box p {
        margin-left: 50px;
    }
    .top-about .right-box {
        padding: 40px 50px 0px 50px;
        width: 100%;
    }
    .top-about .right-box .ttl-cmn01 {
        text-align: right;
    }
    .top-about .right-box p {
        margin: 30px 0 40px 0px;
        height: auto;
        writing-mode: horizontal-tb;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-about {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .top-about::before {
        top: 30px;
        height: calc(100% - 30px);
    }
    .top-about .left-box {
        padding-right: 15px;
        padding-top: 0px;
    }
    .top-about .left-box h4 {
        padding-bottom: 10px;
        margin-left: 15px;
        margin-right: 10px;
        margin-bottom: 15px;
    }
    .top-about .left-box h4 .span01 {
        font-size: 32px;
        letter-spacing: 3px;
    }
    .top-about .left-box h4 .span02 {
        padding-left: 3px;
        padding-right: 3px;
        font-size: 24px;
        letter-spacing: 1px;
    }
    .top-about .left-box h4 .span03 {
        font-size: 32px;
        letter-spacing: 1px;
    }
    .top-about .left-box h5 {
        margin-left: 15px;
        margin-top: 20px;
        font-size: 22px;
        line-height: 1.6;
        letter-spacing: 1px;
    }
    .top-about .left-box p {
        margin-left: 15px;
        margin-bottom: 25px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .top-about .right-box {
        padding: 20px 15px 0px 15px;
    }
    .top-about .right-box p {
        margin: 15px 0 30px 0px;
        font-size: 16px;
        line-height: 1.8;
    }
}

/* 事業内容 */
.top-contents {
    padding-top: 80px;
    padding-bottom: 130px;
    position: relative;
}
.top-contents::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	width: 150px;
	height: 280px;
	background: url("../img/top/bg_contents_right.png") no-repeat right top;
    background-size: contain;
	z-index: -1;
}
.top-contents .contents-inr {
}

.top-contents .ttl-cmn01 {
    margin-bottom: 70px;
}

.top-contents .top-contents-box {
    margin-left: 100px;
    margin-bottom: 50px;
    border-left: #1b5a96 28px solid;
    position: relative;
}
.top-contents .top-contents-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: -1;
}
.top-contents .top-contents-box .left-box {
    width: 56%;
    padding: 30px 35px 30px 50px;
}
.top-contents .top-contents-box .left-box h4 {
    margin-bottom: 20px;
    position: relative;
}
.top-contents .top-contents-box .left-box h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin: 0;
	width: calc(100% + 50px);
	height: 1px;
	background: #1b5a96;
	z-index: -1;
}
.top-contents .top-contents-box .left-box h4 span {
    display: inline-block;
    padding-right: 20px;
	font-size: 42px;
    line-height: 1.2;
    letter-spacing: 1px;
    font-weight: 700;
    color: #1b5a96;
	background: #ffffff;
    font-family: 'Noto Serif JP', serif;
}
.top-contents .top-contents-box .left-box p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.top-contents .top-contents-box .right-box {
    width: 44%;
}
.top-contents .top-contents-box .right-box img {
}

.top-contents .txt01 {
    position: absolute;
    left: 55px;
    bottom: 200px;
}
.top-contents .txt01 span {
    height: 570px;
    display: inline-block;
	font-size: 41px;
    line-height: 1.2;
    letter-spacing: 6px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
    position: relative;
}
.top-contents .txt01 span::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -140px;
	left: 50%;
	margin: 0;
	width: 1px;
	height: 120px;
	background: #000000;
	z-index: -1;
}
.top-contents .txt02 {
    position: absolute;
    left: 55px;
    bottom: 0px;
	font-size: 41px;
    line-height: 1.2;
    letter-spacing: 6px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
}

.top-contents .btn-cmn01 {
    text-align: right;
    margin-top: 60px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-contents .top-contents-box {
        margin-left: 0px;
        border-left: #1b5a96 25px solid;
    }
    .top-contents .top-contents-box .left-box {
        width: 56%;
        padding: 20px 30px 20px 40px;
    }
    .top-contents .txt01 {
        position: static;
    }
    .top-contents .txt01 span {
        height: auto;
        font-size: 36px;
        line-height: 1.4;
        letter-spacing: 3px;
        writing-mode: horizontal-tb;
    }
    .top-contents .txt01 span::before {
        display: none;
    }
    .top-contents .txt02 {
        position: static;
        font-size: 36px;
        line-height: 1.4;
        letter-spacing: 3px;
    }
    .top-contents .btn-cmn01 {
        margin-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    .top-contents .top-contents-box .left-box {
        width: 100%;
        padding: 20px 20px 30px 40px;
    }
    .top-contents .top-contents-box .left-box h4::before {
        width: calc(100% - 10px);
    }
    .top-contents .top-contents-box .right-box {
        width: 100%;
        padding: 0px 20px 0px 40px;
    }
}

@media screen and (max-width: 599px) {
    .top-contents {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .top-contents::before {
        width: 75px;
    }
    .top-contents .ttl-cmn01 {
        margin-bottom: 50px;
    }
    .top-contents .top-contents-box {
        margin-bottom: 40px;
        border-left: #1b5a96 15px solid;
    }
    .top-contents .top-contents-box .left-box {
        padding: 10px 0px 20px 20px;
    }
    .top-contents .top-contents-box .left-box h4 span {
        padding-right: 10px;
        font-size: 24px;
        line-height: 1.4;
    }
    .top-contents .top-contents-box .left-box p {
        font-size: 16px;
        line-height: 1.8;
    }
    .top-contents .top-contents-box .right-box {
        padding: 0px 0px 0px 20px;
    }
    .top-contents .txt01 span {
        font-size: 22px;
        letter-spacing: 1px;
    }
    .top-contents .txt02 {
        font-size: 22px;
        letter-spacing: 1px;
    }
    .top-contents .btn-cmn01 {
        margin-top: 20px;
    }
}

/* 工事施工例 */
.top-works {
    padding-bottom: 90px;
    position: relative;
}
.top-works::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	width: 210px;
	height: 290px;
	background: url("../img/top/bg_works_left.png") no-repeat left bottom;
    background-size: contain;
	z-index: -1;
}
.top-works .contents-inr.large {
    padding-left: 50px;
}

.top-works .left-box {
    padding-right: 55px;
    width: 61%;
}
.top-works .left-box img {
}
.top-works .left-box .ttl-cmn01 {
    margin-bottom: 50px;
}
.top-works .left-box .ttl-cmn01 .span01 {
    position: relative;
}
.top-works .left-box .ttl-cmn01 .span01::before {
	content: "";
	display: block;
	position: absolute;
	top: 80%;
	left: calc(100% + 30px);
	margin: 0;
	width: 120%;
	height: 1px;
	background: #1b5a96;
	z-index: -1;
}
.top-works .left-box p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 30px;
}
.top-works .left-box .btn-cmn01 {
    text-align: right;
    margin-top: 40px;
}

.top-works .right-box {
    width: 39%;
    padding-top: 50px;
}
.top-works .right-box li {
	margin: 0 0 40px 0;
}
.top-works .right-box li:last-of-type {
	margin: 0 0 0px 0;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
    .top-works .contents-inr.large {
        padding-right: 50px;
    }
    .top-works .left-box {
        padding-right: 0px;
        width: 100%;
    }
    .top-works .left-box .ttl-cmn01 {
        overflow: hidden;
    }
    .top-works .right-box {
        width: 100%;
        padding-top: 50px;
    }
    .top-works .right-box li {
        margin: 0 3% 0px 0;
        width: 48.5%;
    }
    .top-works .right-box li:last-of-type {
        margin: 0 0 0px 0;
        width: 48.5%;
    }
}

@media screen and (max-width: 599px) {
    .top-works {
        padding-bottom: 60px;
    }
    .top-works::before {
        width: 105px;
    }
    .top-works .contents-inr.large {
        padding-left: 15px;
        padding-right: 15px;
    }
    .top-works .left-box .ttl-cmn01 .span01::before {
        top: 70%;
        left: calc(100% + 20px);
        width: 200%;
    }
    .top-works .left-box .ttl-cmn01 {
        margin-bottom: 30px;
    }
    .top-works .left-box p {
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 20px;
    }
    .top-works .left-box .btn-cmn01 {
        text-align: right;
        margin-top: 30px;
    }
    .top-works .right-box {
        padding-top: 40px;
    }
}

/* CSR */
.top-csr {
    padding-top: 60px;
    padding-bottom: 70px;
    position: relative;
}
.top-csr::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: url("../img/top/bg_csr.jpg") no-repeat center center;
    background-size: cover;
	z-index: -1;
}
.top-csr .contents-inr {
}

.top-csr .text-box {
    width: 66%;
    position: relative;
}
.top-csr .text-box .ttl-cmn02 {
    margin-bottom: 25px;
}
.top-csr .text-box img.img-icon {
    position: absolute;
    top: -90px;
    left: 95%;
    width: 56%;
    height: auto;
}
.top-csr .text-box h4 {
    margin-bottom: 20px;
    margin-left: -20px;
	font-size: 41px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
}
.top-csr .text-box p {
    margin-bottom: 30px;
    padding-right: 60px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    color: #ffffff;
}

.top-csr .img-box {
    width: 56%;
    position: relative;
}
.top-csr .img-box img {
}
.top-csr .img-box img.img-icon {
    position: absolute;
    top: 30px;
    left: 95%;
    width: 86%;
    height: auto;
}
.top-csr .img-box .btn-cmn01 {
    position: absolute;
    bottom: 0px;
    left: 126%;
}
.top-csr .img-box .btn-cmn01 a:hover {
	background: #000000;
    opacity: 0.6;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-csr .text-box {
        width: 100%;
    }
    .top-csr .text-box img.img-icon {
        top: -80px;
        left: 68%;
        width: 200px;
        height: auto;
    }
    .top-csr .img-box img.img-icon {
        top: 10px;
        left: 95%;
        width: 90%;
        height: auto;
    }
    .top-csr .img-box .btn-cmn01 {
        left: 120%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-csr {
        padding-bottom: 60px;
    }
    .top-csr .text-box img.img-icon {
        top: -80px;
        left: 68%;
        width: 120px;
        height: auto;
    }
    .top-csr .text-box h4 {
        margin-left: -10px;
        font-size: 24px;
    }
    .top-csr .text-box p {
        padding-right: 0px;
        font-size: 16px;
        line-height: 1.8;
    }
    .top-csr .img-box {
        width: 100%;
        text-align: center;
    }
    .top-csr .img-box img.img-icon {
        position: static;
        width: 80%;
        height: auto;
        margin-top: 5px;
    }
    .top-csr .img-box .btn-cmn01 {
        position: static;
        margin-top: 20px;
    }
}

/* 採用情報 */
.top-recruit {
    padding-top: 40px;
    padding-bottom: 140px;
    position: relative;
}
.top-recruit::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	margin: 0;
	width: 180px;
	height: 310px;
	background: url("../img/top/bg_recruit_right.png") no-repeat right bottom;
    background-size: contain;
	z-index: -1;
}
.top-recruit .contents-inr {
    padding-right: 50px;
}

.top-recruit .left-box {
    padding-right: 40px;
    width: 68%;
}
.top-recruit .left-box .ttl-cmn01 {
    margin-bottom: 30px;
    margin-left: 50px;
}
.top-recruit .left-box p {
    padding-right: 23%;
    margin-left: 50px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 30px;
}
.top-recruit .left-box .img-box {
    position: relative;
}
.top-recruit .left-box .img-box img {
}
.top-recruit .left-box .img-box img.img-icon {
    position: absolute;
    bottom: 80%;
    left: 88%;
    width: 50%;
    max-width: 400px;
    height: auto;
}

.top-recruit .right-box {
    width: 32%;
    padding-top: 80px;
}
.top-recruit .right-box h4 {
    margin-bottom: 30px;
    text-align: right;
    overflow: hidden;
}
.top-recruit .right-box h4 span {
    position: relative;
    text-align: left;
    height: 400px;
    display: inline-block;
	font-size: 38px;
    line-height: 1.4;
    letter-spacing: 6px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
}
.top-recruit .right-box h4 span::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 16%;
	right: calc(100% + 20px);
	margin: 0;
	width: 300%;
	height: 1px;
	background: #1b5a96;
	z-index: -1;
}
.top-recruit .right-box p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.top-recruit .right-box .btn-cmn01 {
    text-align: right;
    margin-top: 40px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .top-recruit .left-box {
        padding-right: 0px;
        width: 75%;
    }
    .top-recruit .left-box p {
        padding-right: 23%;
    }
    .top-recruit .right-box {
        width: 100%;
        padding-left: 50px;
        padding-top: 60px;
    }
    .top-recruit .right-box h4 {
        text-align: left;
    }
    .top-recruit .right-box h4 span {
        height: auto;
        writing-mode: horizontal-tb;
    }
    .top-recruit .right-box h4 span::before {
        display: none;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .top-recruit {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .top-recruit::before {
        width: 90px;
    }
    .top-recruit .contents-inr {
        padding-right: 15px;
    }
    .top-recruit .left-box {
        width: 90%;
    }
    .top-recruit .left-box .ttl-cmn01 {
        margin-bottom: 30px;
        margin-left: 15px;
    }
    .top-recruit .left-box p {
        padding-right: 0;
        margin-left: 15px;
        font-size: 16px;
        line-height: 1.8;
        margin-bottom: 60px;
    }
    .top-recruit .left-box .img-box img.img-icon {
        bottom: 60%;
        left: 62%;
        width: 50%;
        height: auto;
    }
    .top-recruit .right-box {
        padding-left: 15px;
        padding-top: 40px;
    }
    .top-recruit .right-box h4 {
        margin-bottom: 20px;
    }
    .top-recruit .right-box h4 span {
        font-size: 24px;
        line-height: 1.4;
        letter-spacing: 3px;
    }
    .top-recruit .right-box p {
        font-size: 16px;
        line-height: 1.8;
    }
}

/*	事業案内
---------------------------------*/
/* 安全性とコストを追求した最適なプラントを構築します。 */
.business-catch {
    padding-bottom: 90px;
}
.business-catch .contents-inr.large {
    padding-left: 50px;
}

.business-catch .text-box {
    margin-left: 25%;
    width: 75%;
}
.business-catch .text-box img {
}
.business-catch .text-box h3 {
    position: absolute;
    top: 0px;
    left: 9%;
    text-align: left;
    height: 660px;
    display: inline-block;
	font-size: 41px;
    line-height: 1.8;
    letter-spacing: 3px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
}
.business-catch .text-box p {
    padding-right: 50px;
    margin-top: 55px;
	font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 1px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .business-catch .text-box h3 {
        left: 5%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .business-catch {
        padding-bottom: 60px;
    }
    .business-catch .contents-inr.large {
        padding-left: 15px;
    }
    .business-catch .text-box {
        margin-left: 0;
        width: 100%;
    }
    .business-catch .text-box h3 {
        position: static;
        height: auto;
        margin-top: 20px;
        padding-right: 15px;
        font-size: 20px;
        line-height: 1.4;
        letter-spacing: 2px;
        font-weight: 700;
        writing-mode: horizontal-tb;
    }
    .business-catch .text-box p {
        padding-right: 15px;
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.8;
    }
}

/* 事業内容一覧 */
.business-contents {
    padding-top: 80px;
    padding-bottom: 50px;
    position: relative;
}
.business-contents::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e5e9ec;
	z-index: -1;
}
.business-contents::after {
	content: "";
	display: block;
	position: absolute;
	top: -128px;
	right: 0;
	margin: 0;
	width: 150px;
	height: 280px;
	background: url("../img/business/bg_business_right.png") no-repeat right top;
    background-size: contain;
	z-index: -1;
}
.business-contents .contents-inr {
}

.business-contents .business-contents-box {
    margin-bottom: 30px;
    padding: 35px 35px 35px 0px;
    border-left: #1b5a96 28px solid;
    position: relative;
}
.business-contents .business-contents-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	z-index: -1;
}
.business-contents .business-contents-box .left-box {
    width: 60%;
    padding: 10px 35px 0px 50px;
}
.business-contents .business-contents-box .left-box h4 {
    margin-bottom: 20px;
    position: relative;
}
.business-contents .business-contents-box .left-box h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	margin: 0;
	width: calc(100% + 50px);
	height: 1px;
	background: #1b5a96;
	z-index: -1;
}
.business-contents .business-contents-box .left-box h4 span {
    display: inline-block;
    padding-right: 20px;
	font-size: 42px;
    line-height: 1.2;
    letter-spacing: 1px;
    font-weight: 700;
    color: #1b5a96;
	background: #ffffff;
    font-family: 'Noto Serif JP', serif;
}
.business-contents .business-contents-box .left-box p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.business-contents .business-contents-box .left-box .btn-cmn01 {
    text-align: right;
    margin-top: 30px;
}
.business-contents .business-contents-box .right-box {
    width: 40%;
}
.business-contents .business-contents-box .right-box img {
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .business-contents .business-contents-box {
        border-left: #1b5a96 25px solid;
    }
    .business-contents .business-contents-box .left-box {
        padding: 10px 30px 0px 40px;
    }
}

@media screen and (max-width: 767px) {
    .business-contents .business-contents-box .left-box {
        width: 100%;
        padding: 10px 0px 30px 40px;
    }
    .business-contents .business-contents-box .left-box h4::before {
        width: calc(100% - 10px);
    }
    .business-contents .business-contents-box .right-box {
        width: 100%;
        padding: 0px 0px 0px 40px;
    }
}

@media screen and (max-width: 599px) {
    .business-contents {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .business-contents::after {
        top: -60px;
        width: 75px;
    }
    .business-contents .business-contents-box {
        margin-bottom: 20px;
        padding: 20px 20px 20px 0px;
        border-left: #1b5a96 15px solid;
    }
    .business-contents .business-contents-box .left-box {
        padding: 10px 0px 20px 20px;
    }
    .business-contents .business-contents-box .left-box h4 span {
        padding-right: 10px;
        font-size: 24px;
        line-height: 1.4;
    }
    .business-contents .business-contents-box .left-box p {
        font-size: 16px;
        line-height: 1.8;
    }
    .business-contents .business-contents-box .left-box .btn-cmn01 {
        margin-top: 20px;
    }
    .business-contents .business-contents-box .right-box {
        padding: 0px 0px 0px 20px;
    }
}

/* 工事施工例 */
.business-work {
    padding-top: 71px;
    padding-bottom: 120px;
}
.business-work .contents-inr.large {
    padding-left: 50px;
}
.business-work img {
}
.business-work .ttl-cmn04 {
    margin-bottom: 70px;
}
.business-work p {
    padding-right: 50px;
    margin-top: 35px;
	font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 1px;
}
.business-work .btn-cmn02 {
    margin-top: 50px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .business-work {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .business-work .contents-inr.large {
        padding-left: 15px;
    }
    .business-work .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .business-work p {
        padding-right: 15px;
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.8;
    }
    .business-work .btn-cmn02 {
        margin-top: 30px;
    }
}

/* Gallery */
.business-gallery {
    margin-bottom: 180px;
    padding-top: 71px;
    padding-bottom: 130px;
    position: relative;
}
.business-gallery::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
    background-color: #004087;
	background-image: url("../img/business/bg_gallery03.jpg"), url("../img/business/bg_gallery02.jpg"), url("../img/business/bg_gallery01.jpg");
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: right bottom, right top, left top;
    background-size: auto, auto, auto;
	z-index: -1;
}
.business-gallery .contents-inr {
}
.business-gallery .ttl-cmn04 {
    margin-bottom: 70px;
}
.business-gallery .ttl-cmn04 .span01 {
    color: #ffffff;
}
.business-gallery .ttl-cmn04 .span02 {
    color: #ffffff;
}
.business-gallery .ttl-cmn04::before {
	background: #ffffff;
}
.business-gallery .business-gallery__list {
}
.business-gallery .business-gallery__list li {
	margin: 0 25px 25px 0;
    width: calc((100% - 50px) / 3);
}
.business-gallery .business-gallery__list li:nth-of-type(3n) {
    margin: 0 0px 25px 0;
}
.business-gallery .business-gallery__list li:last-of-type {
	margin: 0 0px 25px 0;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .business-gallery {
        padding-top: 50px;
        padding-bottom: 60px;
        margin-bottom: 60px;
    }
    .business-gallery::before {
        background-size: 200px, 100px, 100px;
    }
    .business-gallery .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .business-gallery .business-gallery__list li {
        margin: 0 0px 20px 0;
        width: 100%;
    }
    .business-gallery .business-gallery__list li:nth-of-type(3n) {
        margin: 0 0px 20px 0;
    }
    .business-gallery .business-gallery__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
}

/* 共通box01 */
.business-box01 {
    padding-top: 75px;
    padding-bottom: 200px;
    position: relative;
}
.business-box01::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	width: 45%;
	height: 70%;
	background: #e5e9ec;
	z-index: -1;
}
.business-box01 .contents-inr.large {
    padding-right: 50px;
}
.business-box01 .ttl-cmn06 {
    position: absolute;
    top: 0px;
    right: 50px;
}
.business-box01 .img-box {
    margin-right: 230px;
    margin-bottom: 70px;
}
.business-box01 .img-box img {
}
.business-box01 .img-box02 {
    margin-right: 320px;
    margin-bottom: 70px;
}
.business-box01 .img-box02 img {
}
.business-box01 .text-box {
    margin-left: 100px;
    margin-bottom: 40px;
}
.business-box01 .text-box .no {
    width: 180px;
    position: relative;
}
.business-box01 .text-box .no::before {
	content: "";
	display: block;
	position: absolute;
	top: 70px;
	right: 100%;
	margin: 0;
	width: 1000px;
	height: 1px;
	background: #281519;
	z-index: -1;
}
.business-box01 .text-box p {
    margin-top: 26px;
    width: calc(100% - 180px);
	font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 1px;
}
.business-box01 .btn-cmn02 {
    margin-top: 100px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .business-box01 .text-box {
        margin-left: 60px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .business-box01 {
        padding-top: 40px;
        padding-bottom: 60px;
    }
    .business-box01::before {
        width: 60%;
        height: 70%;
    }
    .business-box01 .contents-inr.large {
        padding-right: 15px;
    }
    .business-box01 .ttl-cmn06 {
        top: 10px;
        right: 15px;
    }
    .business-box01 .img-box {
        margin-right: 130px;
        margin-bottom: 30px;
    }
    .business-box01 .img-box02 {
        margin-right: 170px;
        margin-bottom: 30px;
    }
    .business-box01 .text-box {
        margin-left: 20px;
        margin-bottom: 20px;
    }
    .business-box01 .text-box .no {
        width: 60px;
    }
    .business-box01 .text-box .no::before {
        top: 30px;
        right: 95%;
    }
    .business-box01 .text-box p {
        margin-top: 10px;
        padding-left: 10px;
        width: calc(100% - 60px);
        font-size: 16px;
        line-height: 1.8;
    }
    .business-box01 .btn-cmn02 {
        margin-top: 40px;
    }
}

/* 共通box02 */
.business-box02 {
    padding-top: 71px;
    padding-bottom: 120px;
    position: relative;
}
.business-box02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 56%;
	background: #e5e9ec;
	z-index: -1;
}
.business-box02 .contents-inr.large {
    padding-right: 50px;
}
.business-box02.business-box02-leftspace .contents-inr.large {
    padding-right: 0px;
}
.business-box02 .ttl-cmn04 {
    margin-left: 50px;
    margin-bottom: 80px;
}
.business-box02 .img-box {
    margin-right: 230px;
    margin-bottom: 70px;
}
.business-box02 .img-box img {
}
.business-box02 .img-box02 {
    margin-right: 320px;
    margin-bottom: 70px;
}
.business-box02 .img-box02 img {
}
.business-box02 .img-box03 {
    margin-left: 50px;
    margin-bottom: 70px;
}
.business-box02 .img-box03 img {
}
.business-box02 .text-box {
    margin-left: 100px;
    margin-bottom: 40px;
}
.business-box02.business-box02-leftspace .text-box {
    margin-right: 50px;
}
.business-box02 .text-box .no {
    width: 180px;
    position: relative;
}
.business-box02 .text-box .no::before {
	content: "";
	display: block;
	position: absolute;
	top: 70px;
	right: 100%;
	margin: 0;
	width: 1000px;
	height: 1px;
	background: #281519;
	z-index: -1;
}
.business-box02 .text-box p {
    margin-top: 26px;
    width: calc(100% - 180px);
	font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 1px;
}
.business-box02 .btn-cmn02 {
    margin-top: 100px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .business-box02 .text-box {
        margin-left: 60px;
    }
    .business-box02.business-box02-leftspace .text-box {
        margin-left: 60px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .business-box02 {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .business-box02 .contents-inr.large {
        padding-right: 15px;
    }
    .business-box02 .ttl-cmn04 {
        margin-left: 15px;
        margin-bottom: 30px;
    }
    .business-box02 .img-box {
        margin-right: 100px;
        margin-bottom: 30px;
    }
    .business-box02 .img-box02 {
        margin-right: 170px;
        margin-bottom: 30px;
    }
    .business-box02 .img-box03 {
        margin-left: 15px;
        margin-bottom: 30px;
    }
    .business-box02 .text-box {
        margin-left: 20px;
        margin-bottom: 20px;
    }
    .business-box02.business-box02-leftspace .text-box {
        margin-left: 20px;
        margin-bottom: 20px;
        margin-right: 15px;
    }
    .business-box02 .text-box .no {
        width: 60px;
    }
    .business-box02 .text-box .no::before {
        top: 30px;
        right: 95%;
    }
    .business-box02 .text-box p {
        margin-top: 10px;
        padding-left: 10px;
        width: calc(100% - 60px);
        font-size: 16px;
        line-height: 1.8;
    }
    .business-box02 .btn-cmn02 {
        margin-top: 40px;
    }
}

/* 共通box03 */
.business-box03 {
padding-top: 71px;
padding-bottom: 120px;
position: relative;
}
.business-box03::before {
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
margin: 0;
width: 100%;
height: 30%;
background: #e5e9ec;
z-index: -1;
}
.business-box03 .contents-inr {
}
.business-box03 .ttl-cmn04 {
margin-left: 50px;
margin-bottom: 80px;
}
.business-box03 .nen {
position: absolute;
top: 45px;
right: 100px;
font-size: 20px;
line-height: 1.8;
font-weight: 400;
letter-spacing: 1px;
}
.business-box03 .nen a{
display: inline-block;
padding-bottom: 3px;
border-bottom: 1px solid #1b5a96;
}
.business-box03 .btn-cmn02 {
margin-top: 100px;
}
.business-box03 table{
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
width:100%;
border-collapse:separate;
border-spacing:0px;
border: #1b5a96 1px solid;
}
.business-box03 table .cate{
vertical-align:middle;
padding: 15px 20px;
font-size:16px;
line-height:1.6;
letter-spacing: 2px;
font-weight: 700;
text-align: center;
background: #d2deea;
}
.business-box03 table .cate01{
background: #aec4d9;
}
.business-box03 table .cate02{
}
.business-box03 table .cate03{
border-left: #aec4d9 1px solid;
}
.business-box03 table td{
vertical-align:middle;
padding: 10px 20px;
font-size:16px;
line-height:1.6;
letter-spacing: 1px;
font-weight: 400;
text-align: left;
background: #ffffff;
border-bottom: #aec4d9 1px solid;
}
.business-box03 table tr:last-of-type td{
border-bottom: none;
}
.business-box03 table th{
padding: 15px 10px;
font-size:30px;
line-height:1;
letter-spacing: 1px;
font-weight: 400;
font-style: italic;
text-align: center;
color: #1b5a96;
background: #d2deea;
font-family: 'Libre Baskerville', serif;
border-bottom:1px solid #1b5a96;
}
.business-box03 table th span{
font-size:16px;
line-height:1;
font-family: 'Noto Serif JP', serif;
}
.business-box03 table td:nth-of-type(2){
}
.business-box03 table td:last-of-type{
border-left: #aec4d9 1px solid;
}

@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
.business-box03 .ttl-cmn04 {
margin-left: 0px;
margin-bottom: 20px;
}
.business-box03 .nen {
position: static;
text-align: right;
margin-bottom: 60px;
}
.business-box03 table th{
padding:5px 8px;
font-size:15px;
}
.business-box03 table th span{
font-size:12px;
}
.business-box03 table td{
padding:5px 8px;
font-size:14px;
}
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 599px) {
.business-box03 {
padding-top: 50px;
padding-bottom: 60px;
}
.business-box03 .ttl-cmn04 {
margin-bottom: 10px;
}
.business-box03 .nen {
margin-bottom: 20px;
font-size: 13px;
}
.business-box03 .btn-cmn02 {
margin-top: 40px;
}
.business-box03 table .cate{
font-size:13px;
padding: 5px;
letter-spacing: 2px;
}
.business-box03 table th{
padding:5px;
font-size:13px;
}
.business-box03 table td{
padding:5px;
font-size:13px;
letter-spacing: 0px;
}
}

/*	会社概要
---------------------------------*/
/* WATABEの仕事 */
.company-job {
    padding-bottom: 120px;
    position: relative;
}
.company-job::before {
	content: "";
	display: block;
	position: absolute;
	top: 195px;
	right: 0;
	margin: 0;
	width: 45%;
	height: 60%;
	background: #dedede;
	z-index: -1;
}
.company-job .contents-inr.large {
}

.company-job .left-box {
    width: 60%;
}
.company-job .left-box img {
}
.company-job .left-box h3 {
    padding-bottom: 12px;
    margin-left: 100px;
    margin-top: 80px;
    margin-bottom: 20px;
    border-bottom: #515c96 1px solid;
}
.company-job .left-box h3 .span01 {
	font-size: 45px;
    line-height: 1;
    letter-spacing: 6px;
    font-weight: 700;
    font-family: 'Josefin Sans', sans-serif;
}
.company-job .left-box h3 .span02 {
    padding-left: 5px;
    padding-right: 5px;
	font-size: 37px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
}
.company-job .left-box h3 .span03 {
	font-size: 45px;
    line-height: 1;
    letter-spacing: 3px;
    font-weight: 700;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.company-job .left-box h3 .span04 {
    float: right;
    display: inline-block;
    margin-top: 20px;
	font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #1b5a96;
    font-style: italic;
    font-family: 'Josefin Sans', sans-serif;
}
.company-job .left-box p {
    margin-left: 100px;
    margin-bottom: 35px;
	font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 800;
    color: #595757;
}

.company-job .right-box {
    width: 40%;
    padding-left: 10%;
}
.company-job .right-box p {
    margin: 0px 0 20px 0px;
    height: 500px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    writing-mode: vertical-rl;
text-orientation: upright;
}
.company-job .right-box p span{
}

.company-job .title {
    margin-left: 60px;
    padding: 40px 0 40px 120px;
    text-align: left;
	background: #004087 url("../img/company/bg_job.jpg") no-repeat left center;
    background-size: auto 100%;
    position: relative;
}
.company-job .title span {
	font-size: 22px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 500;
    color: #ffffff;
}
.company-job .title .img-icon {
    position: absolute;
    top: 25%;
    right: 15%;
}

.company-job .text-box {
    padding-top: 390px;
    padding-left: 100px;
    position: relative;
}
.company-job .text-box::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 10px;
	left: 8%;
	margin: 0;
	width: 56%;
	height: 260px;
    border-left: #1b5a96 1px solid;
    border-bottom: #1b5a96 1px solid;
	z-index: -1;
}
.company-job .text-box h5 {
    position: absolute;
    top: 75px;
    left: 13%;
    height: 570px;
	font-size: 41px;
    line-height: 1.8;
    letter-spacing: 3px;
    font-weight: 700;
    text-align: left;
    writing-mode: vertical-rl;
    font-family: 'Noto Serif JP', serif;
}
.company-job .text-box img {
    margin-left: 28%;
}
.company-job .text-box p {
    margin: 50px 50px 0px 12%;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}
.company-job .text-box .btn-cmn02 {
    margin-top: 90px;
    margin-right: 15%;
    text-align: right;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1500px) {
    .company-job .left-box h3 {
        margin-left: 60px;
    }
    .company-job .left-box p {
        margin-left: 60px;
    }
}

@media screen and (max-width:1279px) {
    .company-job .title {
        padding: 40px 0 40px 60px;
    }
    .company-job .title span {
        font-size: 20px;
    }
    .company-job .title .img-icon {
        top: 70%;
        right: 10%;
        width: 230px;
        height: auto;
    }
}

@media screen and (max-width: 959px) {
    .company-job .left-box {
        width: 100%;
        padding-right: 100px;
    }
    .company-job .left-box h3 {
        margin-left: 50px;
    }
    .company-job .left-box p {
        margin-left: 50px;
    }
    .company-job .right-box {
        padding: 0px 50px 0px 50px;
        width: 100%;
    }
    .company-job .right-box p {
        margin: 30px 0 40px 0px;
        height: auto;
        writing-mode: horizontal-tb;
    }
    .company-job .text-box::before {
        bottom: 10px;
        left: 5%;
        width: 50%;
        height: 260px;
    }
    .company-job .text-box h5 {
        left: 5%;
    }
    .company-job .text-box .btn-cmn02 {
        margin-right: 5%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-job {
        padding-bottom: 60px;
    }
    .company-job::before {
        top: 50px;
        height: 60%;
    }
    .company-job .left-box {
        padding-right: 15px;
    }
    .company-job .left-box h3 {
        margin-top: 30px;
        margin-left: 15px;
        margin-bottom: 15px;
    }
    .company-job .left-box h3 .span01 {
        font-size: 32px;
        letter-spacing: 3px;
    }
    .company-job .left-box h3 .span02 {
        padding-left: 3px;
        padding-right: 3px;
        font-size: 24px;
        letter-spacing: 1px;
    }
    .company-job .left-box h3 .span03 {
        font-size: 32px;
        letter-spacing: 1px;
    }
    .company-job .left-box h3 .span04 {
        margin-top: 5px;
    }
    .company-job .left-box p {
        margin-left: 15px;
        margin-bottom: 25px;
        font-size: 14px;
        letter-spacing: 1px;
    }
    .company-job .right-box {
        padding: 0px 15px 0px 15px;
    }
    .company-job .right-box p {
        margin: 0px 0 30px 0px;
        font-size: 16px;
        line-height: 1.8;
    }
    .company-job .text-box h5 {
        margin-bottom: 20px;
        position: static;
        height: auto;
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: 1px;
        font-weight: 700;
        writing-mode: horizontal-tb;
    }
    .company-job .title {
        margin-left: 15px;
        padding: 15px 10px 15px 20px;
    }
    .company-job .title span {
        font-size: 16px;
        line-height: 1.8;
    }
    .company-job .title .img-icon {
        top: 90%;
        right: 10%;
        width: 100px;
        height: auto;
    }
    .company-job .text-box {
        padding-top: 80px;
        padding-left: 15px;
    }
    .company-job .text-box::before {
        left: 10px;
        width: 32%;
    }
    .company-job .text-box img {
        margin-left: 20px;
    }
    .company-job .text-box p {
        margin: 30px 15px 0px 20px;
        font-size: 16px;
        line-height: 1.8;
    }
    .company-job .text-box .btn-cmn02 {
        margin-top: 30px;
        margin-right: 15px;
    }
}

/* 会社概要 */
.company-info {
    padding-top: 71px;
    padding-bottom: 90px;
    position: relative;
}
.company-info::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e5e9ec;
	z-index: -1;
}
.company-info .contents-inr {
}
.company-info .ttl-cmn04 {
    margin-bottom: 50px;
}

.company-info table
{
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
    width:90%;
    border-collapse:separate;
    border-spacing:0px;
}
.company-info table th
{
    width: 18%;
    vertical-align:top;
    padding:10px 30px 10px 30px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align:justify;
    text-align-last:justify;
    border-bottom: #aec4d9 1px solid;
}
.company-info table td
{
    vertical-align:top;
    padding:10px 0px 10px 20px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    border-bottom: #aec4d9 1px solid;
}
.company-info table tr:last-of-type th
{
    border-bottom: none;
}
.company-info table tr:last-of-type td
{
    border-bottom: none;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .company-info table
    {
        width:100%;
    }
    .company-info table th
    {
        width: 180px;
    }
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-info {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .company-info .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .company-info table th
    {
        width: 90px;
        padding:10px 10px 10px 10px;
        font-size:14px;
        letter-spacing: 0px;
    }
    .company-info table td
    {
        padding:10px 0px 10px 10px;
        font-size:14px;
        letter-spacing: 0px;
    }
}

/* 工場・機械設備 */
.company-info02 {
    padding-top: 90px;
    padding-bottom: 30px;
}
.company-info02 .contents-inr {
}

.company-info02 .left-box {
    width: 52%;
    margin-top: 35px;
    margin-bottom: 20px;
    padding: 0px 40px 0px 40px;
	background: url("../img/cmn/icon_arw05.png") repeat-y right top;
    background-size: auto;
}
.company-info02 .right-box {
    width: 48%;
    margin-top: 35px;
    margin-bottom: 20px;
    padding: 0px 40px 0px 40px;
}

.company-info02 .company-info02-box {
    margin-bottom: 50px;
    padding-bottom: 25px;
    border: #1c5a97 1px solid;
}
.company-info02 .company-info02-box h4 {
    background: #d5dee7;
    padding: 25px 50px 25px 50px;
}
.company-info02 .company-info02-box h4 span {
    font-size:25px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 500;
}

.company-info02 .company-info02-box table.tbl01
{
    margin: 30px 50px 0px 50px;
    padding: 0px 0px 0px 0px;
    width: calc(100% - 100px);
    border-collapse:separate;
    border-spacing:0px;
}
.company-info02 .company-info02-box table.tbl01 th
{
    width: 40%;
    vertical-align:top;
    padding:8px 20px 8px 30px;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    border-bottom: #aec4d9 1px solid;
}
.company-info02 .company-info02-box table.tbl01 td
{
    vertical-align:top;
    padding:8px 0px 8px 0px;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    border-bottom: #aec4d9 1px solid;
}
.company-info02 .company-info02-box table.tbl01 tr:last-of-type th
{
    border-bottom: none;
}
.company-info02 .company-info02-box table.tbl01 tr:last-of-type td
{
    border-bottom: none;
}

.company-info02 .company-info02-box table.tbl02
{
    margin: 0px 0px 25px 0px;
    padding: 0px 0px 0px 0px;
    width: 100%;
    border-collapse:separate;
    border-spacing:0px;
}
.company-info02 .company-info02-box table.tbl02 th
{
    width: 45%;
    vertical-align:top;
    padding:0px 0px 0px 0px;
    font-size:18px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}
.company-info02 .company-info02-box table.tbl02 th span
{
    font-size:18px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    padding-left: 15px;
	background: url("../img/cmn/icon_arw04.png") no-repeat left 10px;
    background-size: auto;
}
.company-info02 .company-info02-box table.tbl02 td
{
    vertical-align:top;
    padding:0px 0px 0px 0px;
    font-size:18px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: right;
}
.company-info02 .company-info02-box table.tbl02 td.td02
{
    width: 30%;
    vertical-align:top;
    padding:0px 0px 0px 0px;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: center;
    position: relative;
}
.company-info02 .company-info02-box table.tbl02 td.td02::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	margin: 0;
	width: 100%;
	height: 1px;
    background: #aec4d9;
    z-index: -1;
}
.company-info02 .company-info02-box table.tbl02 td.td02 span
{
    padding:0px 10px 0px 10px;
    font-size:18px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    background: #ffffff;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .company-info02 .left-box {
        padding: 0px 30px 0px 30px;
    }
    .company-info02 .right-box {
        padding: 0px 30px 0px 30px;
    }
}

@media screen and (max-width: 959px) {
    .company-info02 .left-box {
        width: 100%;
        margin-top: 35px;
        margin-bottom: 0px;
        padding: 0px 30px 0px 30px;
        background: none;
    }
    .company-info02 .right-box {
        width: 100%;
        margin-top: 35px;
        margin-bottom: 20px;
        padding: 0px 30px 0px 30px;
    }
    .company-info02 .company-info02-box table.tbl01
    {
        margin: 30px 30px 0px 30px;
        width: calc(100% - 60px);
    }
    .company-info02 .company-info02-box table.tbl01 th
    {
        width: 50%;
        padding:8px 15px 8px 15px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-info02 .company-info02-box {
        margin-bottom: 30px;
        padding-bottom: 20px;
    }
    .company-info02 .company-info02-box h4 {
        padding: 15px 20px 15px 20px;
    }
    .company-info02 .company-info02-box h4 span {
        font-size:18px;
        line-height:1.4;
        letter-spacing: 1px;
        font-weight: 500;
    }
    .company-info02 .company-info02-box table.tbl01
    {
        margin: 15px 15px 0px 15px;
        width: calc(100% - 30px);
    }
    .company-info02 .company-info02-box table.tbl01 th
    {
        width: 100%;
        vertical-align:top;
        display: block;
        padding:10px 15px 5px 15px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
        border-bottom: none;
    }
    .company-info02 .company-info02-box table.tbl01 td
    {
        width: 100%;
        vertical-align:top;
        display: block;
        padding:0px 15px 10px 15px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .company-info02 .company-info02-box table.tbl02
    {
        margin: 0px 0px 20px 0px;
    }
    .company-info02 .company-info02-box table.tbl02 th
    {
        width: 100%;
        vertical-align:top;
        display: block;
        padding:0px 0px 0px 0px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .company-info02 .company-info02-box table.tbl02 th span
    {
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
        padding-left: 15px;
        background: url("../img/cmn/icon_arw04.png") no-repeat left 6px;
        background-size: auto;
    }
    .company-info02 .company-info02-box table.tbl02 td
    {
        width: 100%;
        vertical-align:top;
        display: block;
        padding:0px 0px 0px 0px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .company-info02 .company-info02-box table.tbl02 td.td02
    {
        width: 100%;
        vertical-align:top;
        display: block;
        padding:0px 0px 0px 0px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .company-info02 .company-info02-box table.tbl02 td.td02::before {
        top: 50%;
    }
    .company-info02 .company-info02-box table.tbl02 td.td02 span
    {
        padding:0px 10px 0px 10px;
        font-size:14px;
        line-height:1.6;
        letter-spacing: 1px;
    }
}

/* アクセスマップ */
.company-map {
    padding-top: 71px;
    padding-bottom: 70px;
    position: relative;
}
.company-map::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e5e9ec;
	z-index: -1;
}
.company-map .contents-inr {
}

.company-map .company-map__list {
}
.company-map .company-map__list li {
	margin: 0 20px 20px 0;
    width: calc((100% - 20px) / 2);
}
.company-map .company-map__list li:nth-of-type(2n) {
    margin: 0 0px 20px 0;
}
.company-map .company-map__list li:last-of-type {
	margin: 0 0px 20px 0;
}

.company-map .company-map__list li .ttl-cmn04 {
    margin-bottom: 50px;
}
.company-map .company-map__list li p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

.company-map .company-map__list li.map {
    padding-top: 30px;
}
.company-map .company-map__list li.map iframe {
    width: 100%;
    height: 230px;
}

.company-map .company-map__list li h4 {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 5px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .company-map .company-map__list li {
        margin: 0 0px 30px 0;
        width: 100%;
    }
    .company-map .company-map__list li:nth-of-type(2n) {
        margin: 0 0px 30px 0;
    }
    .company-map .company-map__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .company-map .company-map__list li.map {
        padding-top: 0px;
    }
    .company-map .company-map__list li.map iframe {
        width: 100%;
        height: 300px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-map {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .company-map .company-map__list li .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .company-map .company-map__list li p {
        font-size: 16px;
        line-height: 1.8;
    }
    .company-map .company-map__list li h4 {
        font-size: 18px;
    }
}

/* ご挨拶 */
.company-message {
    padding-top: 71px;
    padding-bottom: 70px;
}
.company-message .contents-inr {
}

.company-message .ttl-cmn04 {
    margin-bottom: 50px;
}
.company-message h4 {
    position: absolute;
    top: 110px;
    right: 15%;
    height: 580px;
    display: inline-block;
	font-size: 38px;
    line-height: 1.6;
    letter-spacing: 6px;
    font-weight: 700;
    color: #000000;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
}
.company-message p {
    margin-top: 60px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    padding-left: 6%;
    padding-right: 7%;
}
.company-message p.name {
    text-align: right;
    margin-top: 50px;
	font-size: 22px;
    line-height: 1.6;
    letter-spacing: 8px;
    font-weight: 900;
    padding-left: 6%;
    padding-right: 8%;
    font-family: 'Noto Serif JP', serif;
}
.company-message p.name span {
    margin-right: 20px;
	font-size: 17px;
    line-height: 1.6;
    letter-spacing: 3px;
    font-weight: 900;
    font-family: 'Noto Serif JP', serif;
}
.company-message img {
    width: 60%;
    margin-left: 10%;
}
.company-message .btn-cmn02 {
    margin-left: 6%;
    margin-top: 60px;
    text-align: left;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .company-message h4 {
        position: static;
        height: auto;
        writing-mode: horizontal-tb;
        margin-top: 60px;
        margin-left: 6%;
    }
    .company-message img {
        width: 80%;
        margin-left: 10%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-message {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .company-message .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .company-message p {
        font-size: 16px;
        line-height: 1.8;
    }
    .company-message img {
        width: 100%;
        margin-left: 0%;
    }
    .company-message h4 {
        margin-top: 30px;
        margin-left: 0px;
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: 1px;
    }
    .company-message p {
        margin-top: 30px;
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 1px;
        padding-left: 0px;
        padding-right: 0px;
    }
    .company-message p.name {
        text-align: right;
        margin-top: 20px;
        font-size: 20px;
        line-height: 1.6;
        letter-spacing: 2px;
        font-weight: 900;
        padding-left: 0;
        padding-right: 0;
        font-family: 'Noto Serif JP', serif;
    }
    .company-message p.name span {
        margin-right: 15px;
        font-size: 14px;
        line-height: 1.6;
        letter-spacing: 2px;
        font-weight: 900;
        font-family: 'Noto Serif JP', serif;
    }
    .company-message .btn-cmn02 {
        margin-left: 0%;
        margin-top: 40px;
        text-align: left;
    }
}

/* 会社沿革 */
.company-history {
    padding-top: 71px;
    padding-bottom: 120px;
    position: relative;
}
.company-history::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e5e9ec;
	z-index: -1;
}
.company-history .contents-inr.large {
    padding-left: 50px;
}
.company-history .ttl-cmn04 {
    margin-bottom: 60px;
}
.company-history p {
    margin-bottom: 40px;
    margin-left: 50px;
    margin-right: 100px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.company-history img {
    margin-bottom: 70px;
}

.company-history table
{
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
    width:90%;
    border-collapse:separate;
    border-spacing:0px;
}
.company-history table th
{
    width: 18%;
    vertical-align:top;
    padding:10px 30px 10px 0px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}
.company-history table td
{
    vertical-align:top;
    padding:10px 0px 10px 0px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .company-history p {
        margin-left: 0px;
        margin-right: 50px;
    }
    .company-history table
    {
        width:100%;
    }
    .company-history table th
    {
        width: 180px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .company-history {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .company-history .contents-inr.large {
        padding-left: 15px;
    }
    .company-history .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .company-history p {
        margin-bottom: 30px;
        margin-right: 15px;
        font-size:16px;
        line-height:1.8;
    }
    .company-history img {
        margin-bottom: 30px;
    }
    .company-history table
    {
        width: calc(100% - 15px);
        margin-right: 15px;
    }
    .company-history table th
    {
        width: 120px;
        font-size:14px;
        letter-spacing: 0px;
        padding:10px 20px 10px 0px;
    }
    .company-history table td
    {
        font-size:14px;
        letter-spacing: 0px;
    }
}

/* グループ会社紹介 */
.company-oup {
    padding-top: 71px;
    padding-bottom: 150px;
    position: relative;
}
.company-oup::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	width: 180px;
	height: 630px;
    background: url("../img/company/bg_oup_right.png") no-repeat right top;
    background-size: contain;
	z-index: -1;
}
.company-oup .contents-inr {
}
.company-oup .ttl-cmn04 {
    margin-bottom: 80px;
}
.company-oup p {
    margin-bottom: 50px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.company-oup img {
    margin-bottom: 40px;
}

.company-oup .company-oup-box {
    margin-bottom: 60px;
    border: #8e8d8b 1px solid;
    position: relative;
}
.company-oup .company-oup-box h4 {
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
}
.company-oup .company-oup-box h4 span {
    padding: 0 20px 0 20px;
    display: inline-block;
    vertical-align: top;
    font-size:23px;
    margin-left: 60px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 700;
    background: #ffffff;
}
.company-oup .company-oup-box .text-box01 {
    margin-left: 5%;
    margin-right: 5%;
    padding: 40px 5% 40px 5%;
    position: relative;
}
.company-oup .company-oup-box .text-box01.line {
    margin-left: 5%;
    margin-right: 5%;
    padding: 40px 5% 40px 5%;
    border-bottom: #c6c6c6 1px solid;
}
.company-oup .company-oup-box .text-box01 h5 {
    margin-bottom: 10px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 700;
}
.company-oup .company-oup-box .text-box01 h5 span {
    margin-left: 5px;
    font-size:16px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 700;
    font-family: 'Josefin Sans', sans-serif;
}
.company-oup .company-oup-box .text-box01 p {
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 0px;
}
.company-oup .company-oup-box .text-box01 .btn-cmn03 {
    position: absolute;
    bottom: 40px;
    right: 5%;
}
.company-oup .company-oup-box .text-box02 {
    margin-left: 7%;
    margin-right: 7%;
    padding: 40px 0 40px 0;
    position: relative;
}
.company-oup .company-oup-box .text-box02 p {
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 0px;
}

.company-oup .ttl-cmn05 {
    margin-top: 100px;
    margin-left: 4%;
    margin-bottom: 50px;
}

.company-oup table
{
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
    width:90%;
    border-collapse:separate;
    border-spacing:0px;
}
.company-oup table th
{
    width: 18%;
    vertical-align:top;
    padding:10px 30px 10px 30px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align:justify;
    text-align-last:justify;
    border-bottom: #c7c5c6 1px solid;
}
.company-oup table td
{
    vertical-align:top;
    padding:10px 0px 10px 20px;
    font-size:20px;
    line-height:1.4;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    border-bottom: #c7c5c6 1px solid;
}
.company-oup table tr:last-of-type th
{
    border-bottom: none;
}
.company-oup table tr:last-of-type td
{
    border-bottom: none;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .company-oup table
    {
        width:100%;
    }
    .company-oup table th
    {
        width: 180px;
    }
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
    .company-oup .company-oup-box .text-box01 .btn-cmn03 {
        position: static;
        margin-top: 10px;
    }
}

@media screen and (max-width: 599px) {
    .company-oup {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .company-oup::before {
        width: 90px;
    }
    .company-oup .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .company-oup p {
        margin-bottom: 50px;
        font-size:16px;
        line-height:1.8;
    }
    .company-oup img {
        margin-bottom: 30px;
    }
    .company-oup table th
    {
        width: 90px;
        padding:10px 10px 10px 10px;
        font-size:14px;
        letter-spacing: 0px;
    }
    .company-oup table td
    {
        padding:10px 0px 10px 10px;
        font-size:14px;
        letter-spacing: 0px;
    }
    .company-oup .company-oup-box {
        margin-bottom: 40px;
    }
    .company-oup .company-oup-box h4 {
        top: -18px;
    }
    .company-oup .company-oup-box h4 span {
        padding: 0 10px 0 10px;
        font-size:18px;
        margin-left: 20px;
    }
    .company-oup .company-oup-box .text-box01 {
        margin-left: 10px;
        margin-right: 10px;
        padding: 30px 5px 30px 5px;
    }
    .company-oup .company-oup-box .text-box01.line {
        margin-left: 10px;
        margin-right: 10px;
        padding: 30px 5px 30px 5px;
    }
    .company-oup .company-oup-box .text-box01 h5 {
        font-size:18px;
    }
    .company-oup .company-oup-box .text-box01 h5 span {
        display: block;
        margin-left: 0px;
        font-size:12px;
    }
    .company-oup .company-oup-box .text-box01 p {
        font-size:14px;
    }
    .company-oup .company-oup-box .text-box02 {
        margin-left: 10px;
        margin-right: 10px;
        padding: 30px 0 30px 0;
    }
    .company-oup .company-oup-box .text-box02 p {
        font-size:14px;
    }
    .company-oup .ttl-cmn05 {
        margin-top: 60px;
        margin-bottom: 30px;
    }
}

/*	CSRについて
---------------------------------*/
/* CSR */
.csr-fc {
    padding-top: 55px;
    padding-bottom: 75px;
    position: relative;
}
.csr-fc::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: calc(100% + 80px);
	background: url("../img/csr/bg_csr.jpg") no-repeat center center;
    background-size: cover;
	z-index: -1;
}
.csr-fc .contents-inr {
}

.csr-fc .text-box01 {
    margin-bottom: 35px;
    width: 55%;
    text-align: center;
    position: relative;
}
.csr-fc .text-box01 img.img-icon {
    position: absolute;
    top: -110px;
    left: 95%;
    width: 85%;
    height: auto;
}

.csr-fc .text-box02 {
    padding: 70px 60px 60px 60px;
    position: relative;
}
.csr-fc .text-box02::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.8);
	z-index: -1;
}
.csr-fc .text-box02 h3 {
    margin-bottom: 25px;
    padding-bottom: 20px;
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    border-bottom: #2e598c 1px solid;
}
.csr-fc .text-box02 h3 .span01 {
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #2e598c;
    font-family: 'Noto Serif JP', serif;
}
.csr-fc .text-box02 h3 .span02 {
    margin-left: 30px;
	font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 700;
    font-style: italic;
    color: #1b5a96;
    font-family: 'Josefin Sans', sans-serif;
}
.csr-fc .text-box02 p {
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .csr-fc .text-box01 img.img-icon {
        top: -100px;
        left: 100%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .csr-fc {
        padding-bottom: 60px;
    }
    .csr-fc::before {
        height: 100%;
    }
    .csr-fc .text-box01 {
        width: 100%;
        margin-bottom: 30px;
    }
    .csr-fc .text-box01 img.img-icon {
        top: -100px;
        left: 68%;
        width: 120px;
        height: auto;
    }
    .csr-fc .text-box02 {
        padding: 30px 20px 20px 20px;
    }
    .csr-fc .text-box02 h3 {
        margin-bottom: 20px;
        padding-bottom: 15px;
        font-size: 28px;
    }
    .csr-fc .text-box02 h3 .span01 {
        font-size: 28px;
    }
    .csr-fc .text-box02 h3 .span02 {
        display: block;
        margin-top: 2px;
        margin-left: 2px;
        font-size: 12px;
    }
    .csr-fc .text-box02 p {
        font-size: 16px;
        line-height: 1.8;
    }
}

/* サッカーチーム */
.csr-sc {
    padding-bottom: 190px;
}
.csr-sc .contents-inr.large {
}

.csr-sc .left-box {
    padding: 170px 50px 50px 80px;
    width: 57%;
    position: relative;
}
.csr-sc .left-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 310px;
	left: 120px;
	margin: 0;
	width: 1px;
	height: calc(100% - 310px);
	background: #2e598c;
	z-index: -1;
}
.csr-sc .left-box h3 {
    margin-bottom: 40px;
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
}
.csr-sc .left-box h3 span {
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.csr-sc .left-box p {
    padding-left: 100px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

.csr-sc .right-box {
    width: 43%;
    padding-bottom: 30px;
}
.csr-sc .right-box img {
    margin-bottom: 20px;
}

.csr-sc .csr-sc_list {
    margin-left: 50px;
    margin-right: 50px;
}
.csr-sc .csr-sc_list li {
	margin: 0 15px 15px 0;
    width: calc((100% - 30px) / 3);
}
.csr-sc .csr-sc_list li:nth-of-type(3n) {
    margin: 0 0px 15px 0;
}
.csr-sc .csr-sc_list li:last-of-type {
	margin: 0 0px 15px 0;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .csr-sc .left-box::before {
        left: 100px;
    }
    .csr-sc .left-box {
        padding: 170px 50px 50px 50px;
        width: 100%;
    }
    .csr-sc .right-box {
        width: 100%;
        padding: 0px 0px 50px 50px;
    }
    .csr-sc .right-box img {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .csr-sc {
        padding-bottom: 60px;
    }
    .csr-sc .left-box::before {
        left: 20px;
    }
    .csr-sc .left-box {
        padding: 40px 15px 30px 15px;
    }
    .csr-sc .left-box h3 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .csr-sc .left-box h3 span {
        font-size: 28px;
    }
    .csr-sc .left-box p {
        padding-left: 30px;
        font-size: 16px;
        line-height: 1.8;
    }
    .csr-sc .right-box {
        padding: 0px 0px 15px 15px;
    }
    .csr-sc .right-box img {
        margin-bottom: 15px;
    }
    .csr-sc .csr-sc_list {
        margin-left: 15px;
        margin-right: 15px;
    }
    .csr-sc .csr-sc_list li {
        margin: 0 0px 15px 0;
        width: 100%;
    }
    .csr-sc .csr-sc_list li:nth-of-type(3n) {
        margin: 0 0px 15px 0;
    }
    .csr-sc .csr-sc_list li:last-of-type {
        margin: 0 0px 0px 0;
    }
}

/* 女子アイスホッケーチーム */
.csr-hc {
    padding-top: 100px;
    padding-bottom: 110px;
    position: relative;
}
.csr-hc::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #e8ecef;
	z-index: -1;
}
.csr-hc::after {
	content: "";
	display: block;
	position: absolute;
	top: -50px;
	right: 4%;
	margin: 0;
	width: 600px;
	height: 400px;
	background: url("../img/csr/icon_csr02_01.png") no-repeat center center;
    background-size: contain;
	z-index: -1;
}
.csr-hc .contents-inr.large {
}

.csr-hc .left-box {
    padding: 0px 50px 70px 80px;
    width: 57%;
    position: relative;
}
.csr-hc .left-box::before {
	content: "";
	display: block;
	position: absolute;
	top: 200px;
	left: 120px;
	margin: 0;
	width: 1px;
	height: calc(100% - 200px);
	background: #2e598c;
	z-index: -1;
}
.csr-hc .left-box h3 {
    margin-bottom: 40px;
	font-size: 45px;
    line-height: 1.6;
    letter-spacing: 1.5px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
}
.csr-hc .left-box h3 span {
	font-size: 45px;
    line-height: 1.6;
    letter-spacing: 1.5px;
    font-weight: 700;
    color: #1b5a96;
    font-family: 'Noto Serif JP', serif;
}
.csr-hc .left-box p {
    padding-left: 100px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.csr-hc .left-box .banner {
    margin-top: 100px;
    padding-left: 100px;
}
.csr-hc .left-box .banner a {
    padding-top: 12px;
    padding-bottom: 12px;
    display: block;
    background: #ffffff;
    text-align: center;
}

.csr-hc .right-box {
    width: 43%;
    padding-top: 180px;
    padding-bottom: 30px;
}
.csr-hc .right-box img {
    margin-bottom: 20px;
}

.csr-hc .csr-hc_list {
    margin-left: 50px;
    margin-right: 50px;
}
.csr-hc .csr-hc_list li {
	margin: 0 15px 15px 0;
    width: calc((100% - 30px) / 3);
}
.csr-hc .csr-hc_list li:nth-of-type(3n) {
    margin: 0 0px 15px 0;
}
.csr-hc .csr-hc_list li:last-of-type {
	margin: 0 0px 15px 0;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .csr-hc::after {
        top: -96px;
        width: 400px;
        background: url("../img/csr/icon_csr02_01.png") no-repeat right center;
        background-size: contain;
    }
    .csr-hc .left-box::before {
        left: 100px;
    }
    .csr-hc .left-box {
        padding: 0px 50px 50px 50px;
        width: 100%;
    }
    .csr-hc .right-box {
        width: 100%;
        padding: 0px 0px 50px 50px;
    }
    .csr-hc .right-box img {
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .csr-hc {
        padding-bottom: 60px;
    }
    .csr-hc::after {
        top: -10px;
        right: 2%;
        width: 200px;
        background: url("../img/csr/icon_csr02_01.png") no-repeat right top;
        background-size: contain;
    }
    .csr-hc .left-box::before {
        left: 20px;
    }
    .csr-hc .left-box {
        padding: 0px 15px 30px 15px;
    }
    .csr-hc .left-box h3 {
        margin-bottom: 20px;
        font-size: 28px;
    }
    .csr-hc .left-box h3 span {
        font-size: 28px;
    }
    .csr-hc .left-box p {
        padding-left: 30px;
        font-size: 16px;
        line-height: 1.8;
    }
    .csr-hc .left-box .banner {
        margin-top: 30px;
        padding-left: 30px;
    }
    .csr-hc .right-box {
        padding: 0px 0px 15px 15px;
    }
    .csr-hc .right-box img {
        margin-bottom: 15px;
    }
    .csr-hc .csr-hc_list {
        margin-left: 15px;
        margin-right: 15px;
    }
    .csr-hc .csr-hc_list li {
        margin: 0 0px 15px 0;
        width: 100%;
    }
    .csr-hc .csr-hc_list li:nth-of-type(3n) {
        margin: 0 0px 15px 0;
    }
    .csr-hc .csr-hc_list li:last-of-type {
        margin: 0 0px 0px 0;
    }
}

/* CSR 取り組み内容 */
.csr-effort {
    padding-top: 110px;
    padding-bottom: 620px;
    position: relative;
}
.csr-effort::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	width: 130px;
	height: 370px;
	background: url("../img/csr/bg_csr_right.png") no-repeat right top;
    background-size: contain;
	z-index: -1;
}
.csr-effort::after {
	content: "";
	display: block;
	position: absolute;
	top: 475px;
	left: 0;
	margin: 0;
	width: 100%;
	height: 370px;
	background: url("../img/csr/img_csr03.jpg") no-repeat center center;
    background-size: cover;
	z-index: -1;
}
.csr-effort .contents-inr {
}

.csr-effort .contents-inr h3 {
    position: absolute;
    top: 80px;
    left: 50px;
    height: 500px;
	font-size: 45px;
    line-height: 1.8;
    letter-spacing: 5px;
    font-weight: 700;
    text-align: left;
    writing-mode: vertical-rl;
    font-family: 'Noto Serif JP', serif;
}
.csr-effort h4 {
    margin-bottom: 40px;
    margin-left: 120px;
    position: relative;
}
.csr-effort h4::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0px;
	margin: 0;
	width: 100%;
	height: 1px;
	background: #2e598c;
	z-index: -1;
}
.csr-effort h4 span {
    padding-right: 50px;
    display: inline-block;
	font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
	letter-spacing: 1px;
    color: #1b5a96;
    background: #ffffff;
    font-style: italic;
    font-family: 'Josefin Sans', sans-serif;
}
.csr-effort p {
    padding-left: 120px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .csr-effort {
        padding-top: 50px;
        padding-bottom: 320px;
    }
    .csr-effort::before {
        width: 70px;
    }
    .csr-effort::after {
        top: 520px;
        height: 200px;
    }
    .csr-effort .contents-inr h3 {
        position: static;
        height: auto;
        font-size: 28px;
        line-height: 1.6;
        letter-spacing: 2px;
        writing-mode: horizontal-tb;
    }
    .csr-effort h4 {
        margin-bottom: 30px;
        margin-left: 0px;
    }
    .csr-effort h4 span {
        padding-right: 20px;
        font-size: 12px;
    }
    .csr-effort p {
        padding-left: 0px;
        font-size: 16px;
        line-height: 1.8;
    }
}

/*	採用情報
---------------------------------*/
/* 先輩のインタビュー */
.recruit-interview {
    padding-bottom: 120px;
    position: relative;
}
.recruit-interview::before {
	content: "";
	display: block;
	position: absolute;
	top: 190px;
	right: 0;
	margin: 0;
	width: 46%;
	height: 40%;
	background: #e8ecef;
	z-index: -1;
}
.recruit-interview .contents-inr.large {
}

.recruit-interview .left-box {
    width: 56%;
}
.recruit-interview .left-box img {
}
.recruit-interview .left-box .ttl-cmn04 {
    margin-top: 70px;
    margin-left: 50px;
}
.recruit-interview .left-box .ttl-cmn04 .span02 {
    letter-spacing: 5px;
}
.recruit-interview .left-box .ttl-cmn04 .span03 {
    letter-spacing: 5px;
}

.recruit-interview .right-box {
    width: 44%;
    padding-left: 4%;
}
.recruit-interview .right-box p {
    margin: 0px 0 30px 0px;
    height: 480px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
    writing-mode: vertical-rl;
}

.recruit-interview .interview-box {
    padding-left: 50px;
    margin-bottom: 90px;
    position: relative;
}
.recruit-interview .interview-box .title {
    padding: 38px 0 38px 25px;
    text-align: left;
	background: #053f7f url("../img/recruit/bg_recruit.jpg") no-repeat left center;
    background-size: auto 100%;
    position: relative;
}
.recruit-interview .interview-box .title img {
    margin-right: 110px;
    display: inline-block;
    vertical-align: middle;
}
.recruit-interview .interview-box .title h4 {
    display: inline-block;
    vertical-align: middle;
	font-size: 16px;
    line-height: 2;
    letter-spacing: 2px;
    font-weight: 500;
    color: #ffffff;
}
.recruit-interview .interview-box .img-interview {
    position: absolute;
    top: 70px;
    right: 8%;
    width: 28%;
    max-width: 330px;
}
.recruit-interview .interview-box .img-interview img {
}
.recruit-interview .interview-box h5 {
    width: 55%;
    margin-top: 45px;
    margin-left: 25px;
    margin-bottom: 25px;
    padding-bottom: 25px;
	font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 800;
    border-bottom: #c6c6c6 1px solid;
}
.recruit-interview .interview-box p {
    width: 55%;
    margin-left: 25px;
    padding-bottom: 25px;
	font-size: 16px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
    border-bottom: #c6c6c6 1px solid;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width:1200px) {
    .recruit-interview .left-box {
        width: 60%;
    }
    .recruit-interview .right-box {
        width: 40%;
    }
    .recruit-interview .right-box p {
        height: 600px;
    }
}

@media screen and (max-width: 959px) {
    .recruit-interview .left-box {
        width: 100%;
        padding-right: 100px;
    }
    .recruit-interview .right-box {
        padding: 0px 50px 0px 50px;
        width: 100%;
    }
    .recruit-interview .right-box p {
        margin: 60px 0 80px 0px;
        height: auto;
        writing-mode: horizontal-tb;
    }
    .recruit-interview .interview-box .img-interview {
        position: static;
        width: 40%;
        max-width: 100%;
        margin-top: 40px;
        margin-left: auto;
        margin-right: auto;
    }
    .recruit-interview .interview-box h5 {
        width: auto;
        margin-left: 0px;
        margin-right: 50px;
    }
    .recruit-interview .interview-box p {
        width: auto;
        margin-left: 0px;
        margin-right: 50px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .recruit-interview {
        padding-bottom: 20px;
    }
    .recruit-interview .left-box {
        padding-right: 15px;
    }
    .recruit-interview .left-box .ttl-cmn04 {
        margin-top: 40px;
        margin-left: 15px;
    }
    .recruit-interview .left-box .ttl-cmn04 .span02 {
        letter-spacing: 3px;
    }
    .recruit-interview .left-box .ttl-cmn04 .span03 {
        letter-spacing: 3px;
    }
    .recruit-interview .right-box {
        padding: 0px 15px 0px 15px;
    }
    .recruit-interview .right-box p {
        margin: 40px 0 60px 0px;
        font-size: 16px;
        line-height: 1.8;
    }
    .recruit-interview .interview-box {
        padding-left: 15px;
        margin-bottom: 60px;
    }
    .recruit-interview .interview-box .title {
        padding: 20px 0 20px 10px;
    }
    .recruit-interview .interview-box .title img {
        margin-right: 20px;
        width: 80px;
        height: auto;
    }
    .recruit-interview .interview-box .title h4 {
        font-size: 14px;
        line-height: 1.8;
        letter-spacing: 1px;
    }
    .recruit-interview .interview-box .img-interview {
        width: 60%;
        margin-top: 30px;
    }
    .recruit-interview .interview-box h5 {
        margin-right: 15px;
        margin-top: 30px;
        margin-bottom: 15px;
        padding-bottom: 15px;
        font-size: 16px;
        line-height: 1.6;
    }
    .recruit-interview .interview-box p {
        margin-right: 15px;
        padding-bottom: 15px;
        font-size: 14px;
        line-height: 1.8;
    }
}

/* 募集職種 */
.recruit-job {
    padding-top: 71px;
    padding-bottom: 150px;
    position: relative;
}
.recruit-job::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 50%;
	background: #e5e9ec;
	z-index: -1;
}
.recruit-job .contents-inr {
}
.recruit-job .ttl-cmn04 {
    margin-bottom: 45px;
}
.recruit-job .ttl-cmn04 .span02 {
    letter-spacing: 7px;
}
.recruit-job .ttl-cmn04 .span03 {
    letter-spacing: 7px;
}
.recruit-job p {
    margin-bottom: 130px;
    margin-left: 55px;
    margin-right: 55px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

.recruit-job .recruit-job__list {
    margin-left: 30px;
    margin-right: 30px;
    position: relative;
}
.recruit-job .recruit-job__list h4 {
    position: absolute;
    top: -50px;
    left: calc(50% - 28px);
    height: 680px;
    overflow: hidden;
}
.recruit-job .recruit-job__list h4 span {
	font-size: 41px;
    line-height: 1.2;
    letter-spacing: 6px;
    font-weight: 700;
    text-align: left;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
    position: relative;
}
.recruit-job .recruit-job__list h4 span::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% + 50px);
	left: calc(50% - 1px);
	margin: 0;
	width: 1px;
	height: 1000px;
	background: #1c5a97;
	z-index: -1;
}
.recruit-job .recruit-job__list li {
	margin: 0 90px 0px 0;
    width: calc((100% - 90px) / 2);
}
.recruit-job .recruit-job__list li:last-of-type {
	margin: 0 0px 0px 0;
}
.recruit-job .recruit-job__list li img {
}
.recruit-job .recruit-job__list li h5 {
    margin-top: 25px;
    margin-left: 10px;
    margin-right: 10px;
	font-size: 32px;
    line-height: 1.2;
    letter-spacing: 3px;
    font-weight: 700;
    color: #2e598c;
    font-family: 'Noto Serif JP', serif;
}
.recruit-job .recruit-job__list li p {
    margin-top: 25px;
    margin-bottom: 0px;
    margin-left: 20px;
    margin-right: 20px;
	font-size: 20px;
    line-height: 1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .recruit-job p {
        margin-left: 0px;
        margin-right: 0px;
    }
    .recruit-job .recruit-job__list {
        margin-left: 0px;
        margin-right: 0px;
    }
    .recruit-job .recruit-job__list h4 {
        top: -50px;
        left: calc(50% - 22px);
        height: 620px;
    }
    .recruit-job .recruit-job__list h4 span {
        font-size: 36px;
    }
    .recruit-job .recruit-job__list h4 span::before {
        top: calc(100% + 20px);
        height: 620px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .recruit-job {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .recruit-job .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .recruit-job p {
        margin-bottom: 30px;
        margin-left: 0px;
        margin-right: 0px;
        font-size:16px;
        line-height:1.8;
    }
    .recruit-job .recruit-job__list h4 {
        margin-bottom: 20px;
        position: static;
        height: auto;
    }
    .recruit-job .recruit-job__list h4 span {
        font-size: 26px;
        letter-spacing: 2px;
        writing-mode: horizontal-tb;
    }
    .recruit-job .recruit-job__list h4 span::before {
        display: none;
    }
    .recruit-job .recruit-job__list li {
        margin: 0 0px 40px 0;
        width: 100%;
    }
    .recruit-job .recruit-job__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .recruit-job .recruit-job__list li h5 {
        margin-top: 15px;
        margin-left: 0px;
        margin-right: 0px;
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: 2px;
    }
    .recruit-job .recruit-job__list li p {
        margin-top: 15px;
        margin-bottom: 0px;
        margin-left: 5px;
        margin-right: 5px;
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 1px;
    }
}

/* 募集要項 */
.recruit-description {
    padding-bottom: 140px;
}
.recruit-description .contents-inr.large {
    padding-left: 50px;
}
.recruit-description h3 {
    height: 170px;
    padding-left: 70px;
	background: #053f7f url("../img/recruit/bg_recruit.jpg") no-repeat left center;
    background-size: auto 100%;
}
.recruit-description h3 span {
    display: inline-block;
    margin-top: 55px;
	font-size: 41px;
    line-height: 1.2;
    letter-spacing: 6px;
    font-weight: 700;
    color: #ffffff;
    font-family: 'Noto Serif JP', serif;
}
.recruit-description h3 img {
    display: inline-block;
    margin-top: 52px;
    margin-right: 50px;
    float: right;
}

.recruit-description table
{
    margin: 30px auto 0px auto;
    padding: 0px 50px 0px 0px;
    width:90%;
    border-collapse:separate;
    border-spacing:0px;
}
.recruit-description table th
{
    width: 190px;
    vertical-align:middle;
    padding:25px 10px 25px 10px;
    font-size:20px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 400;
    text-align: left;
    border-bottom: #aec4d9 1px solid;
}
.recruit-description table td
{
    vertical-align:middle;
    padding:25px 0px 25px 0px;
    font-size:20px;
    letter-spacing: 1px;
    line-height:1.8;
    font-weight: 400;
    text-align: left;
    border-bottom: #aec4d9 1px solid;
}
.recruit-description table td .span01
{
    display: inline-block;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    width: 170px;
}

.recruit-description .btn-cmn02 {
    margin-top: 80px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .recruit-description h3 {
        padding-left: 30px;
    }
    .recruit-description h3 span {
        margin-top: 62px;
        font-size: 30px;
        letter-spacing: 2px;
    }
    .recruit-description h3 img {
        margin-top: 52px;
        margin-right: 30px;
    }
    .recruit-description table {
        width:100%;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .recruit-description {
        padding-bottom: 60px;
    }
    .recruit-description .contents-inr.large {
        padding-left: 15px;
    }
    .recruit-description h3 {
        height: 100px;
        padding-left: 20px;
        position: relative;
    }
    .recruit-description h3 span {
        margin-top: 25px;
        font-size: 20px;
        line-height: 1.2;
        letter-spacing: 2px;
    }
    .recruit-description h3 img {
        position: absolute;
        bottom: 10px;
        right: 10px;
        float: none;
        margin-top: 0px;
        margin-right: 0px;
        width: 30px;
        height: auto;
    }
    .recruit-description table
    {
        padding: 0px 15px 0px 0px;
        width:100%;
    }
    .recruit-description table th
    {
        width: 80px;
        padding:15px 0px 15px 5px;
        font-size:14px;
        letter-spacing: 0px;
    }
    .recruit-description table td
    {
        padding:15px 0px 15px 10px;
        font-size:14px;
        letter-spacing: 0px;
    }
    .recruit-description table td .span01
    {
        font-size:14px;
        letter-spacing: 0px;
        width: 100px;
    }
    .recruit-description .btn-cmn02 {
        margin-top: 30px;
    }
}

/* 1日の仕事の流れ */
.recruit-flow {
    padding-top: 71px;
    padding-bottom: 120px;
    position: relative;
}
.recruit-flow.recruit-flow02 {
    padding-top: 120px;
}
.recruit-flow::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 26%;
	background: #e5e9ec;
	z-index: -1;
}
.recruit-flow .contents-inr {
}
.recruit-flow .ttl-cmn04 {
    margin-bottom: 45px;
}
.recruit-flow .ttl-cmn04 .span02 {
    letter-spacing: 7px;
}
.recruit-flow .ttl-cmn04 .span03 {
    letter-spacing: 7px;
}
.recruit-flow p.p01 {
    margin-bottom: 90px;
    margin-left: 55px;
    margin-right: 55px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
}

.recruit-flow .time-box {
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    width: 550px;
    position: relative;
}
.recruit-flow .time-box h4 {
    position: absolute;
    top: -20px;
    left: 0px;
    height: 220px;
}
.recruit-flow .time-box h4 span {
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 8px;
    font-weight: 700;
    color: #2e598c;
    text-align: left;
    font-family: 'Noto Serif JP', serif;
    writing-mode: vertical-rl;
    position: relative;
}
.recruit-flow .time-box h4 span::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% + 50px);
	left: calc(50% - 8px);
	margin: 0;
	width: 17px;
	height: 610px;
	background: url("../img/cmn/icon_arw09.png") no-repeat center top;
    background-size: auto;
	z-index: -1;
}
.recruit-flow.recruit-flow01 .time-box h4 span::before {
	height: 606px;
}
.recruit-flow.recruit-flow02 .time-box h4 span::before {
	height: 638px;
}

.recruit-flow .time-box table {
    width:470px;
    border-collapse:separate;
    border-spacing:0px;
    border: #1b5a96 1px solid;
    margin: 0px 0px 0px 80px;
    padding: 0px 0px 0px 0px;
}
.recruit-flow .time-box table th {
    vertical-align:middle;
    padding:20px 20px 20px 20px;
    background: #f3f7fa;
    border-bottom: #97acbf 1px solid;
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
    color: #000000;
}
.recruit-flow .time-box table th span {
    display: inline-block;
    padding-left: 32px;
	background: url("../img/cmn/icon_arw11.png") no-repeat left center;
    background-size: auto;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
}
.recruit-flow .time-box table th.thtitle {
    width: auto;
    text-align: center;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 3px;
    font-weight: 700;
    padding:30px 15px 30px 15px;
    background: #d6dfe8;
    border-bottom: none;
    text-align: center;
}
.recruit-flow .time-box table td {
    vertical-align:middle;
    padding:20px 0px 20px 25px;
    border-bottom: #97acbf 1px solid;
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
    color: #000000;
    background: #ffffff;
}
.recruit-flow .time-box table th.thsp {
    width: 20px;
    padding:20px 0px 20px 0px;
    background: #f3f7fa;
    border-bottom: none;
}
.recruit-flow .time-box table td.tdsp {
    width: 20px;
    padding:20px 0px 20px 0px;
    border-bottom: none;
}
.recruit-flow .time-box table tr:last-of-type th {
    border-bottom: none;
}
.recruit-flow .time-box table tr:last-of-type td {
    border-bottom: none;
}

.recruit-flow .recruit-flow__list {
    margin-left: 50px;
    margin-right: 50px;
    position: relative;
}
.recruit-flow .recruit-flow__list img {
    position: absolute;
    top: 273px;
    left: calc(50% - 98px);
    width: 196px;
    height: auto;
}
.recruit-flow .recruit-flow__list h4 {
	font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 900;
    text-align: left;
    margin-bottom: 25px;
}
.recruit-flow .recruit-flow__list h4 span {
	font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 900;
    margin-left: 15px;
    margin-right: 10px;
}
.recruit-flow .recruit-flow__list li {
    height: 300px;
	margin: 0 25px 25px 0;
    width: calc((100% - 25px) / 2);
    background: #d6dfe8;
    padding: 40px 50px 0px 50px;
}
.recruit-flow .recruit-flow__list li:nth-of-type(2n) {
	margin: 0 0px 25px 0;
}
.recruit-flow .recruit-flow__list li:last-of-type {
	margin: 0 0px 25px 0;
}
.recruit-flow .recruit-flow__list li h5 {
    margin-bottom: 20px;
    padding-bottom: 25px;
	font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 700;
    border-bottom: #7b7c81 1px solid;
    text-align: left;
}
.recruit-flow .recruit-flow__list li:nth-of-type(2n) h5 {
    text-align: right;
}
.recruit-flow .recruit-flow__list li h5 span {
	font-size: 20px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 900;
}
.recruit-flow .recruit-flow__list li p {
	font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: 1px;
    text-align: left;
}

.recruit-flow .btn-cmn02 {
    margin-top: 30px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
    .recruit-flow .recruit-flow__list {
        margin-left: 0px;
        margin-right: 0px;
    }
    .recruit-flow .recruit-flow__list li {
        padding: 40px 30px 0px 30px;
    }
}

@media screen and (max-width: 959px) {
    .recruit-flow p.p01 {
        margin-left: 0px;
        margin-right: 0px;
    }
    .recruit-flow .recruit-flow__list {
        margin-left: 0px;
        margin-right: 0px;
    }
    .recruit-flow .recruit-flow__list img {
        margin-bottom: 20px;
        position: static;
        display: block;
        width: 300px;
        height: auto;
        margin-left: auto;
        margin-right: auto;
    }
    .recruit-flow .recruit-flow__list h4 {
        margin-bottom: 0px;
    }
    .recruit-flow .recruit-flow__list li {
        height: auto;
        margin: 0 0px 25px 0;
        width: 100%;
        padding: 30px 30px 30px 30px;
    }
    .recruit-flow .recruit-flow__list li:nth-of-type(2n) {
        margin: 0 0px 25px 0;
    }
    .recruit-flow .recruit-flow__list li:last-of-type {
        margin: 0 0px 0px 0;
    }
    .recruit-flow .recruit-flow__list li h5 {
        margin-bottom: 15px;
        padding-bottom: 20px;
    }
    .recruit-flow .recruit-flow__list li:nth-of-type(2n) h5 {
        text-align: left;
    }
    .recruit-flow .btn-cmn02 {
        margin-top: 60px;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .recruit-flow {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .recruit-flow.recruit-flow02 {
        padding-top: 50px;
    }
    .recruit-flow .ttl-cmn04 {
        margin-bottom: 30px;
    }
    .recruit-flow p.p01 {
        margin-bottom: 40px;
        margin-left: 0px;
        margin-right: 0px;
        font-size:16px;
        line-height:1.8;
    }
    .recruit-flow .time-box {
        width: 100%;
    }
    .recruit-flow .time-box h4 {
        position: static;
        height: auto;
        margin-bottom: 10px;
    }
    .recruit-flow .time-box h4 span {
        font-size: 24px;
        letter-spacing: 3px;
        writing-mode: horizontal-tb;
    }
    .recruit-flow .time-box h4 span::before {
        display: none;
    }

    .recruit-flow .time-box table {
        width:100%;
        margin: 0px 0px 0px 0px;
    }
    .recruit-flow .time-box table th {
        padding:15px 10px 15px 10px;
        font-size:16px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .recruit-flow .time-box table th span {
        padding-left: 32px;
        background: url("../img/cmn/icon_arw11.png") no-repeat left center;
        background-size: auto;
    }
    .recruit-flow .time-box table th.thtitle {
        width: auto;
        font-size:16px;
        line-height:1.6;
        letter-spacing: 1px;
        padding:20px 10px 20px 10px;
    }
    .recruit-flow .time-box table td {
        padding:15px 0px 15px 15px;
        font-size:16px;
        line-height:1.6;
        letter-spacing: 1px;
    }
    .recruit-flow .time-box table th.thsp {
        width: 10px;
        padding:15px 0px 15px 0px;
    }
    .recruit-flow .time-box table td.tdsp {
        width: 10px;
        padding:15px 0px 15px 0px;
    }
    .recruit-flow .recruit-flow__list img {
        margin-bottom: 20px;
        width: 200px;
    }
    .recruit-flow .recruit-flow__list h4 {
        font-size: 16px;
    }
    .recruit-flow .recruit-flow__list h4 span {
        font-size: 12px;
        margin-left: 10px;
        margin-right: 10px;
    }
    .recruit-flow .recruit-flow__list li {
        padding: 20px 15px 20px 15px;
    }
    .recruit-flow .recruit-flow__list li h5 {
        margin-bottom: 15px;
        padding-bottom: 15px;
        font-size: 16px;
    }
    .recruit-flow .recruit-flow__list li h5 span {
        font-size: 16px;
    }
    .recruit-flow .recruit-flow__list li p {
        font-size: 14px;
        line-height: 1.8;
    }
    .recruit-flow .btn-cmn02 {
        margin-top: 40px;
    }
}

/* スキルアップ */
.recruit-upskilling {
    padding-top: 80px;
    padding-bottom: 120px;
    position: relative;
}
.recruit-upskilling::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 31%;
	background: #e5e9ec;
	z-index: -1;
}
.recruit-upskilling .contents-inr.large {
    padding-left: 50px;
}

.recruit-upskilling h3 {
    margin-right: 100px;
    margin-bottom: 12px;
    padding-bottom: 15px;
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 3px;
    font-weight: 700;
    font-family: 'Noto Serif JP', serif;
    border-bottom: #2e598c 1px solid;
}
.recruit-upskilling h3 span {
	font-size: 45px;
    line-height: 1.2;
    letter-spacing: 3px;
    font-weight: 700;
    color: #2e598c;
    font-family: 'Noto Serif JP', serif;
}

.recruit-upskilling h4 {
    margin-bottom: 25px;
    margin-left: 10px;
	font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    font-weight: 700;
    font-style: italic;
    color: #1b5a96;
    font-family: 'Josefin Sans', sans-serif;
}

.recruit-upskilling p.p01 {
    margin-bottom: 60px;
    margin-left: 10px;
    margin-right: 100px;
    font-size:20px;
    line-height:1.8;
    letter-spacing: 1px;
    font-weight: 400;
}
.recruit-upskilling img {
    margin-bottom: 70px;
}

.recruit-upskilling .recruit-upskilling-box {
    margin-right: 50px;
}

.recruit-upskilling .recruit-upskilling-box .left-box {
    width: calc((100% - 35px) / 2);
    margin: 0 35px 0 0;
    background: #ffffff;
    border: #1b5a96 1px solid;
}
.recruit-upskilling .recruit-upskilling-box .left-box h5 {
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 3px;
    font-weight: 700;
    padding:20px 40px 20px 40px;
    background: #d6dfe8;
}
.recruit-upskilling .recruit-upskilling-box .left-box p {
    text-align: left;
    font-size:17px;
    line-height:2.3;
    letter-spacing: 1px;
    font-weight: 400;
    padding:20px 40px 20px 40px;
}
.recruit-upskilling .recruit-upskilling-box .left-box p.text-right {
    text-align: right;
    font-size:17px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    padding:0px 40px 30px 40px;
}
.recruit-upskilling .recruit-upskilling-box .left-box table {
    width: calc(100% - 80px);
    border-collapse:separate;
    border-spacing:0px;
    margin: 15px 40px 15px 40px;
    padding: 0px 0px 0px 0px;
}
.recruit-upskilling .recruit-upskilling-box .left-box table th {
    vertical-align:top;
    padding:10px 0px 10px 0px;
    border-bottom: #97acbf 1px solid;
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
}
.recruit-upskilling .recruit-upskilling-box .left-box table td {
    width: 60px;
    vertical-align:top;
    padding:10px 0px 10px 0px;
    border-bottom: #97acbf 1px solid;
    text-align: right;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
}
.recruit-upskilling .recruit-upskilling-box .left-box table tr:last-of-type th {
    border-bottom: none;
}
.recruit-upskilling .recruit-upskilling-box .left-box table tr:last-of-type td {
    border-bottom: none;
}

.recruit-upskilling .recruit-upskilling-box .right-box {
    width: calc((100% - 35px) / 2);
    margin: 0 0px 0 0;
    background: #ffffff;
    border: #1b5a96 1px solid;
}
.recruit-upskilling .recruit-upskilling-box .right-box h5 {
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 3px;
    font-weight: 700;
    padding:20px 40px 20px 40px;
    background: #d6dfe8;
}
.recruit-upskilling .recruit-upskilling-box .right-box p {
    text-align: left;
    font-size:17px;
    line-height:2.3;
    letter-spacing: 1px;
    font-weight: 400;
    padding:20px 40px 20px 40px;
}
.recruit-upskilling .recruit-upskilling-box .right-box p.text-right {
    text-align: right;
    font-size:17px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    padding:0px 40px 30px 40px;
}
.recruit-upskilling .recruit-upskilling-box .right-box table {
    width: calc(100% - 80px);
    border-collapse:separate;
    border-spacing:0px;
    margin: 15px 40px 15px 40px;
    padding: 0px 0px 0px 0px;
}
.recruit-upskilling .recruit-upskilling-box .right-box table th {
    vertical-align:top;
    padding:10px 0px 10px 0px;
    border-bottom: #97acbf 1px solid;
    text-align: left;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
}
.recruit-upskilling .recruit-upskilling-box .right-box table td {
    width: 60px;
    vertical-align:top;
    padding:10px 0px 10px 0px;
    border-bottom: #97acbf 1px solid;
    text-align: right;
    font-size:20px;
    line-height:1.6;
    letter-spacing: 2px;
    font-weight: 400;
}
.recruit-upskilling .recruit-upskilling-box .right-box table tr:last-of-type th {
    border-bottom: none;
}
.recruit-upskilling .recruit-upskilling-box .right-box table tr:last-of-type td {
    border-bottom: none;
}

.recruit-upskilling .btn-cmn02 {
    margin-top: 100px;
    margin-right: 50px;
}

@media screen and (max-width:1920px) {
}

@media screen and (max-width:1279px) {
}

@media screen and (max-width: 959px) {
    .recruit-upskilling h3 {
        margin-right: 50px;
    }
    .recruit-upskilling p.p01 {
        margin-left: 0px;
        margin-right: 50px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box {
        width: 100%;
        margin: 0 0px 60px 0;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box {
        width: 100%;
        margin: 0 0px 0 0;
    }
}

@media screen and (max-width: 767px) {
}

@media screen and (max-width: 599px) {
    .recruit-upskilling {
        padding-top: 50px;
        padding-bottom: 60px;
    }
    .recruit-upskilling .contents-inr.large {
        padding-left: 15px;
    }
    .recruit-upskilling h3 {
        margin-right: 15px;
        margin-bottom: 10px;
        padding-bottom: 12px;
        font-size: 28px;
        letter-spacing: 3px;
    }
    .recruit-upskilling h3 span {
        font-size: 28px;
        letter-spacing: 3px;
    }
    .recruit-upskilling h4 {
        margin-bottom: 20px;
        margin-left: 2px;
        font-size: 12px;
    }
    .recruit-upskilling p.p01 {
        margin-bottom: 30px;
        margin-right: 15px;
        font-size:16px;
        line-height:1.8;
    }
    .recruit-upskilling img {
        margin-bottom: 40px;
    }
    .recruit-upskilling .recruit-upskilling-box {
        margin-right: 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box {
        margin: 0 0px 40px 0;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box h5 {
        font-size:16px;
        letter-spacing: 2px;
        padding:10px 15px 10px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box p {
        font-size:15px;
        line-height:2;
        letter-spacing: 1px;
        padding:15px 15px 15px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box p.text-right {
        font-size:15px;
        letter-spacing: 1px;
        padding:0px 15px 15px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box table {
        width: calc(100% - 30px);
        margin: 5px 15px 5px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box table th {
        padding:10px 0px 10px 0px;
        font-size:16px;
        letter-spacing: 1px;
    }
    .recruit-upskilling .recruit-upskilling-box .left-box table td {
        width: 50px;
        padding:10px 0px 10px 0px;
        font-size:16px;
        letter-spacing: 1px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box h5 {
        font-size:16px;
        letter-spacing: 2px;
        padding:10px 15px 10px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box p {
        font-size:15px;
        line-height:2;
        letter-spacing: 1px;
        padding:15px 15px 15px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box p.text-right {
        font-size:15px;
        letter-spacing: 1px;
        padding:0px 15px 15px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box table {
        width: calc(100% - 30px);
        margin: 5px 15px 5px 15px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box table th {
        padding:10px 0px 10px 0px;
        font-size:16px;
        letter-spacing: 1px;
    }
    .recruit-upskilling .recruit-upskilling-box .right-box table td {
        width: 50px;
        padding:10px 0px 10px 0px;
        font-size:16px;
        letter-spacing: 1px;
    }
    .recruit-upskilling .btn-cmn02 {
        margin-top: 40px;
        margin-right: 15px;
    }
}

/*	お問合せ
---------------------------------*/
.contact-catch {
    padding-top: 80px;
    padding-bottom: 80px;
}
.contact-catch .contents-inr {
}
.contact-catch p {
    font-size:16px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: center;
}

.contact-form {
    padding-top: 120px;
    padding-bottom: 150px;
    position: relative;
}
.contact-form::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	background: #d9d9d9;
	z-index: -1;
}
.contact-form .contents-inr {
    padding-left: 100px;
    padding-right: 100px;
}

.contact-form table
{
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    width:100%;
    border-collapse:separate;
    border-spacing:0px;
}
.contact-form table th
{
    width: 100%;
    vertical-align:top;
    display: block;
    padding:0px 0px 10px 0px;
    font-size:16px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 800;
    text-align: left;
}
.contact-form table td
{
    width: 100%;
    vertical-align:top;
    display: block;
    padding:0px 0px 40px 0px;
    font-size:16px;
    line-height:1.6;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: left;
}

.contact-form label
{
    letter-spacing: 1px;
    font-weight: 400;
    font-size:16px;
    line-height:1.6;
}
.contact-form input
{
    width: 40%;
    border:#000000 1px solid;
    background: #ffffff;
    padding: 12px 20px 12px 20px;
    letter-spacing: 1px;
    font-weight: 400;
    font-size:16px;
    line-height:1.6;
}
.contact-form input.inputkoumoku
{
	width:auto;
	border:none;
	padding: 0px;
	line-height:1;
    letter-spacing: 1px;
    font-weight: 400;
    font-size:16px;
	display: inline-block;
	vertical-align:middle;
	margin-top: -3px;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.contact-form input.inputkamoku
{
    width:auto;
    border:none;
    padding: 0px;
    line-height:1;
    letter-spacing: 1px;
    font-weight: 400;
    font-size:16px;
    display: inline-block;
    vertical-align:middle;
    margin-top: -1px;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.contact-form textarea
{
    width: 100%;
    border:#000000 1px solid;
    background: #ffffff;
    padding: 12px 20px 12px 20px;
    letter-spacing: 1px;
    font-weight: 400;
    font-size:16px;
    line-height:1.6;
}

.contact-form .formbtn
{
    margin-top: 50px;
    width: 200px;
    text-align: center;
    padding: 14px 0px 12px 0px;
    font-size: 13px;
    letter-spacing: 1px;
    font-weight: 700;
    color: #ffffff;
    cursor : pointer;
	background: #000000 url("../img/cmn/icon_arw01.png") no-repeat 90% center;
    background-size: auto;
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}
.contact-form .formbtn:hover
{
	background: #004085 url("../img/cmn/icon_arw01.png") no-repeat 90% center;
    background-size: auto;
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

/* ▼IE10・IE11用 */
:-ms-input-placeholder {
    color: #90bbd5;
}
/* ▼Chrome・Safari・Opera用(※1：Edgeでも有効) */
::-webkit-input-placeholder {
    color: #90bbd5;
}
/* ▼Firefox18以前用(※2) */
:-moz-placeholder {
    color: #90bbd5;
}
/* ▼Firefox19以上用(※3) */
::-moz-placeholder {
    color: #90bbd5; opacity: 1;
}
/* ▼CSS4標準(予定)の記述 */
::placeholder {
    color: #90bbd5;
}

@media screen and (max-width: 959px) {
    .contact-form .contents-inr {
        padding-left: 50px;
        padding-right: 50px;
    }
}

@media screen and (max-width: 599px) {
    .contact-form {
        padding-top: 60px;
        padding-bottom: 80px;
    }
    .contact-form .contents-inr {
        padding-left: 15px;
        padding-right: 15px;
    }
    .contact-catch {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .contact-catch p {
        font-size:14px;
        line-height:1.6;
        text-align: left;
    }

    .contact-form input
    {
        width: 100%;
        padding: 10px 15px 10px 15px;
    }
    .contact-form textarea
    {
        padding: 10px 15px 10px 15px;
    }
    .contact-form .formbtn
    {
        margin-top: 20px;
    }
}

/*	プライバシーポリシー
---------------------------------*/
.privacy-policy {
    padding-bottom: 120px;
}
.privacy-policy .contents-inr {
}
.ttl-cmn03.ttl-cmn03-privacy .span01 {
	font-size: 40px;
	letter-spacing: 10px;
}
.privacy-policy h3 {
    margin-bottom: 20px;
    margin-top: 40px;
    padding-bottom: 10px;
	font-size: 22px;
    line-height: 1.4;
    letter-spacing: 1px;
    font-weight: 700;
    color: #2e598c;
    border-bottom: #2e598c 1px solid;
    font-family: 'Noto Serif JP', serif;
}
.privacy-policy p {
    font-size:16px;
    line-height:1.8;
    font-weight: 400;
    letter-spacing: 1px;
}
.privacy-policy ol {
font-size: 16px;
counter-reset: item;
list-style-type: none;
padding-left: 0;
}
.privacy-policy ol ol{
  padding-left: 1em;
}
.privacy-policy li{
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.privacy-policy li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
  padding-right: .5em;
  font-weight: bold;
  color: #2e598c;
}
.privacy-policy .end{
text-align: right;
}

@media screen and (max-width:1920px) {
}
@media screen and (max-width:1279px) {
}
@media screen and (max-width: 959px) {
}
@media screen and (max-width: 767px) {
    .ttl-cmn03.ttl-cmn03-privacy .span01 {
        font-size: 36px;
    }
}

@media screen and (max-width: 599px) {
    .privacy-policy {
        padding-bottom: 40px;
    }
    .ttl-cmn03.ttl-cmn03-privacy .span01 {
        font-size: 22px;
        letter-spacing: 4px;
    }
    .privacy-policy h3 {
        font-size: 18px;
        line-height: 1.6;
    }
    .privacy-policy p {
        font-size:14px;
        line-height:1.8;
    }
}

