@charset "utf-8";

/*---------------------------------------------
	body
---------------------------------------------*/
html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}

.sp_wrap{
display:none !important;
}


body {
	width: 100%;
	font-size: 1.7rem;
	color: #000;
	line-height: 2;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	font-family: "Noto Serif JP", serif;
	overflow: hidden;
	font-weight: 500;
	-webkit-font-smoothing: antialiased;
	background: #fff;
	position: relative;
	z-index: 0;
	box-sizing: border-box;
}

body * {
	box-sizing: border-box;
}

.overlay {
	opacity: 0;
	transition: all 2s;
}

.overlay.loaded {
	opacity: 1;
}

.sans {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
}

.eigo {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 800;
	font-style: normal;
}

img {
	width: 100%;
	height: auto;
	border-style: none;
}

*:focus {
	outline: none;
}

.red {
	color: #ff0033;
}

/*---------------------------------------------
	Anchor
---------------------------------------------*/
a {
	outline: none;
}

a:link {
	color: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
	text-decoration: none;
}

a:hover {
	color: #024072;
	text-decoration: none;
}

a:active {
	color: #024072;
	text-decoration: none;
}

a {
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}

p {
	margin-bottom: 1em;
}

.only_pc_none {
	display: none;
}

.only_sp_none {
	display: block;
}

.sp_br {
	display: none;
}

.br_480 {
	display: none;
}

.br_420 {
	display: none;
}

.br_480_over {
	display: inline;
}

.sp_480_over {
	display: block;
}

.sp_480_under {
	display: none;
}

.sp_contact {
	display: none;
}

#anc_concept,
#anc_location,
#anc_map,
#anc_detail {
	padding-top: 80px;
	margin-top: -90px;
	pointer-events: none;
	display: block;
}

/*---------------------------------------------
 ** ON OFF hover
---------------------------------------------*/
.hover {
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	-o-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

.hover:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha( opacity=60 )";
}

/*---------------------------------------------
 ** 共通
---------------------------------------------*/
.mx-img{
max-width:100% !important;
height:auto !important;
}

.scroll-up.done,
.scroll-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.load-fade {
	opacity: 0;
	transition: all 4s /*処理にかかる時間*/;
}

.load-up {
	opacity: 0;
	transform: translateY(30px) /*スクロールアップする距離*/;
	transition: all 4s /*処理にかかる時間*/;
}

.load-up.done,
.load-fade.done {
	opacity: 1;
	transform: translate(0, 0);
}

.btn {
	text-align: center;
}

.btn a {
	width: 80%;
	max-width: 250px;
	display: block;
	margin: 3% auto;
	background: #075799;
	color: #fff;
	position: relative;
	border-radius: 50px;
	padding: 10px 22px 10px 15px;
}

.btn a:hover {
	background: #1f6cab;
}

.btn_w a {
	color: #075799;
	background: #fff;
}

.btn_w a:hover {
	background: #c5ddf1;
}
.btn_g a {
	background: #008041;
}
.btn_g a:hover {
	background: #1ba05d;
}

.btn a::after {
	content: "";
	width: 10px;
	height: 15px;
	display: block;
	background: url(../img/arrow_w.png) no-repeat center center;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	right: 25px;
	bottom: 0;
	margin: auto 0;
	transition: all 0.5s;
}

.btn_w a::after {
	background: url(../img/arrow_b.png) no-repeat center center;
	background-size: 100% auto;
}

.btn a:hover::after {
	right: 15px;
}
.btn_g a {
	padding: 13px 22px 13px 15px;
}

#side_btn {
	width: 58px;
	position: absolute;
	right: 18px;
	top: 170px;
	z-index: 3;
	line-height: 1.4;
	z-index: 99;
	transition: all 0.5s;
}

.header_fixed #side_btn {
	position: fixed;
}

#side_btn a:nth-of-type(1) {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: center;
	letter-spacing: 0.5rem;
	display: block;
	padding: 35px 20px;
	font-size: 160%;
	transition: all 0.5s;
	background: #ffa6dc !important;
	margin-bottom: 20px;
	color: #000;
}

#side_btn a:nth-of-type(2) {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	text-align: center;
	letter-spacing: 0.5rem;
	display: block;
	padding: 35px 20px;
	font-size: 160%;
	transition: all 0.5s;
	background: #69cdff;
	color: #000;
}

#side_btn a:nth-of-type(1):hover,
#side_btn a:nth-of-type(2):hover {
	padding: 60px 20px;
	opacity: 0.9;
	color: #000;
}

@media screen and (max-width: 1200px) {
	#side_btn {
		width: 50px;
		right: 11px;
	}

	#side_btn a:nth-of-type(1),
	#side_btn a:nth-of-type(2) {
		padding: 30px 15px;
		font-size: 140%;
	}

	#side_btn a:nth-of-type(1):hover,
	#side_btn a:nth-of-type(2):hover {
		padding: 60px 15px;
	}
}

.white_slide {
	width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
}

.white_slide img {
	opacity: 0;
}
.white_slide h3,
.white_slide ul {
	opacity: 0;
}

.white_slide.white_slide_on img {
	width: 100%;
	height: auto;
	object-fit: cover;
	z-index: -1;
	opacity: 0;
	animation: apper_img 2s forwards;
	animation-delay: 0;
}

.white_slide.white_slide_on::before {
	animation: apper_left 2s forwards;
	background: #fff;
	bottom: 0;
	content: "";
	pointer-events: none;
	position: absolute;
	left: 0px;
	right: 0;
	top: 0;
	z-index: 1;
	animation-delay: 0;
	transform: translateX(100%);
}

.model_img .white_slide.white_slide_on::before {
	background: #bac9d1;
}

@keyframes apper_img {
	0% {
		opacity: 0;
	}

	40% {
		opacity: 0;
	}

	45% {
		opacity: 1;
	}

	100% {
		opacity: 1;
	}
}

@keyframes apper_right {
	40% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
}

@keyframes apper_left {
	40% {
		transform: translateX(0);
	}

	50% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(100%);
	}
}

/* ジャンプする動き */
.jump {
	opacity: 0;
}

.jump_on {
	animation: poyoyon 1s ease-in-out 1 forwards;
	animation-delay: 0;
}

@keyframes poyoyon {
	0% {
		transform: scale(0.5, 0.5) translate(0, 0);
	}

	15% {
		transform: scale(0.7, 0.7) translate(0, 8px);
	}

	30% {
		transform: scale(1.02, 1) translate(0, 12px);
	}

	50% {
		transform: scale(0.98, 1.05) translate(0, -12px);
	}

	70% {
		transform: scale(1, 0.9) translate(0, 8px);
	}

	100% {
		transform: scale(1, 1) translate(0, 0);
	}

	0%,
	100% {
		opacity: 1;
	}
}

/* テキスト1文字ずつフェードイン */

.textup_anime {
	margin-bottom: 0;
	background: none !important;
	line-height: 1.3;
	letter-spacing: 0.2rem;
}

.textup_anime > div {
	opacity: 0;
}

.textup_anime_on > div {
	opacity: 1;
}

.textup_anime div p {
	display: inline-block;
	transform-origin: center center;
	transform: translate3d(0, 100px, 0);
	margin-bottom: 0 !important;
}

.textup_anime div p span {
	transform-origin: center center;
	transform: scale3d(0.1, 0.1, 1);
	opacity: 0;
	font-size: 100% !important;
}

.textup_anime_on p:nth-child(1) {
	transition: transform 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(1) span {
	transition:
		transform 0.8s ease 0.1s,
		opacity 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(2) {
	transition: transform 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(2) span {
	transition:
		transform 0.8s ease 0.2s,
		opacity 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(3) {
	transition: transform 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(3) span {
	transition:
		transform 0.8s ease 0.3s,
		opacity 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(4) {
	transition: transform 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(4) span {
	transition:
		transform 0.8s ease 0.4s,
		opacity 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(5) {
	transition: transform 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(5) span {
	transition:
		transform 0.8s ease 0.5s,
		opacity 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(6) {
	transition: transform 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(6) span {
	transition:
		transform 0.8s ease 0.6s,
		opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(7) {
	transition: transform 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(7) span {
	transition:
		transform 0.8s ease 0.7s,
		opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(8) {
	transition: transform 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(8) span {
	transition:
		transform 0.8s ease 0.8s,
		opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(9) {
	transition: transform 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(9) span {
	transition:
		transform 0.8s ease 0.9s,
		opacity 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(10) {
	transition: transform 0.8s ease 1s;
}

.textup_anime_on p:nth-child(10) span {
	transition:
		transform 0.8s ease 1s,
		opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(11) {
	transition: transform 0.8s ease 1.1s;
}

.textup_anime_on p:nth-child(11) span {
	transition:
		transform 0.8s ease 1.1s,
		opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(12) {
	transition: transform 0.8s ease 1.2s;
}

.textup_anime_on p:nth-child(12) span {
	transition:
		transform 0.8s ease 1.2s,
		opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(13) {
	transition: transform 0.8s ease 1.3s;
}

.textup_anime_on p:nth-child(13) span {
	transition:
		transform 0.8s ease 1.3s,
		opacity 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(14) {
	transition: transform 0.8s ease 1.5s;
}

.textup_anime_on p:nth-child(14) span {
	transition:
		transform 0.8s ease 1.5s,
		opacity 0.8s ease 1s;
}

.textup_anime_on p {
	transform: translate3d(0, 0, 0) !important;
}

.textup_anime_on p span {
	display: block !important;
	transform: scale3d(1, 1, 1) !important;
	opacity: 1 !important;
}

.textup_anime p {
	display: inline-block;
	transform-origin: center center;
	transform: translate3d(0, 40px, 0);
	margin-bottom: 0 !important;
}

.textup_anime p span {
	transform-origin: center center;
	transform: scale3d(0.1, 0.1, 1);
	opacity: 0;
	font-size: 100% !important;
}

.textup_anime_on p:nth-child(1) {
	transition: transform 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(1) span {
	transition:
		transform 0.8s ease 0.1s,
		opacity 0.8s ease 0.1s;
}

.textup_anime_on p:nth-child(2) {
	transition: transform 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(2) span {
	transition:
		transform 0.8s ease 0.2s,
		opacity 0.8s ease 0.2s;
}

.textup_anime_on p:nth-child(3) {
	transition: transform 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(3) span {
	transition:
		transform 0.8s ease 0.3s,
		opacity 0.8s ease 0.3s;
}

.textup_anime_on p:nth-child(4) {
	transition: transform 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(4) span {
	transition:
		transform 0.8s ease 0.4s,
		opacity 0.8s ease 0.4s;
}

.textup_anime_on p:nth-child(5) {
	transition: transform 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(5) span {
	transition:
		transform 0.8s ease 0.5s,
		opacity 0.8s ease 0.5s;
}

.textup_anime_on p:nth-child(6) {
	transition: transform 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(6) span {
	transition:
		transform 0.8s ease 0.6s,
		opacity 0.8s ease 0.6s;
}

.textup_anime_on p:nth-child(7) {
	transition: transform 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(7) span {
	transition:
		transform 0.8s ease 0.7s,
		opacity 0.8s ease 0.7s;
}

.textup_anime_on p:nth-child(8) {
	transition: transform 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(8) span {
	transition:
		transform 0.8s ease 0.8s,
		opacity 0.8s ease 0.8s;
}

.textup_anime_on p:nth-child(9) {
	transition: transform 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(9) span {
	transition:
		transform 0.8s ease 0.9s,
		opacity 0.8s ease 0.9s;
}

.textup_anime_on p:nth-child(10) {
	transition: transform 0.8s ease 1s;
}

.textup_anime_on p:nth-child(10) span {
	transition:
		transform 0.8s ease 1s,
		opacity 0.8s ease 1s;
}

.textup_anime_on p:nth-child(11) {
	transition: transform 0.8s ease 1.1s;
}

.textup_anime_on p:nth-child(11) span {
	transition:
		transform 0.8s ease 1.1s,
		opacity 0.8s ease 1.1s;
}

.textup_anime_on > p {
	transform: translate3d(0, 0, 0) !important;
}

.textup_anime_on > p span {
	display: block !important;
	transform: scale3d(1, 1, 1) !important;
	opacity: 1 !important;
}

header {
	width: 100%;
	z-index: 3;
	position: absolute;
	top: 0;
	transition: all 0.5s;
}

.header_fixed {
	height: 86px;
	position: fixed;
	background: #fff;
	animation-name: header-animation;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	box-shadow: 0 0px 5px #bbb;
}

@keyframes header-animation {
	from {
		opacity: 0;
		transform: translateY(-200px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.hover-header #header {
	height: 86px;
	position: fixed;
	background: #fff;
	box-shadow: 0 0px 5px #bbb;
}

#header_in {
	width: 85%;
	height: 140px;
	max-width: 2500px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	transition: all 0.3s;
}

#header_in_sp {
	display: none;
}

#header_in h1 {
	width: 260px;
	padding-top: 5px;
}

#header_in h1 a img.logo_w {
	display: none;
}

#home #header_in h1 a img.logo_w,
#solution #header_in h1 a img.logo_w,
#coating #header_in h1 a img.logo_w,
#heat #header_in h1 a img.logo_w,
#base #header_in h1 a img.logo_w,
#quality #header_in h1 a img.logo_w,
#recruit #header_in h1 a img.logo_w,
#strength #header_in h1 a img.logo_w {
	display: block;
}

#home #header_in h1 a img.logo_color,
#solution #header_in h1 a img.logo_color,
#coating #header_in h1 a img.logo_color,
#heat #header_in h1 a img.logo_color,
#base #header_in h1 a img.logo_color,
#quality #header_in h1 a img.logo_color,
#recruit #header_in h1 a img.logo_color,
#strength #header_in h1 a img.logo_color {
	display: none;
}

.header_fixed #header_in {
	height: 110px;
}

#home .header_fixed #header_in h1 a img.logo_w,
#solution .header_fixed #header_in h1 a img.logo_w,
#coating .header_fixed #header_in h1 a img.logo_w,
#heat .header_fixed #header_in h1 a img.logo_w,
#base .header_fixed #header_in h1 a img.logo_w,
#quality .header_fixed #header_in h1 a img.logo_w,
#recruit .header_fixed #header_in h1 a img.logo_w,
#strength .header_fixed #header_in h1 a img.logo_w {
	display: none;
}

#home .header_fixed #header_in h1 a img.logo_color,
#solution .header_fixed #header_in h1 a img.logo_color,
#coating .header_fixed #header_in h1 a img.logo_color,
#heat .header_fixed #header_in h1 a img.logo_color,
#base .header_fixed #header_in h1 a img.logo_color,
#quality .header_fixed #header_in h1 a img.logo_color,
#recruit .header_fixed #header_in h1 a img.logo_color,
#strength .header_fixed #header_in h1 a img.logo_color {
	display: block;
}
.hover-header #header #header_in h1 a img.logo_w {
	display: none;
}

.hover-header #header #header_in h1 a img.logo_color {
	display: block;
}

header #nav {
	width: 650px;
	margin: 0 auto;
	position: absolute;
	top: 22px;
	right: 130px;
	font-size: 110%;
}

header #nav > div {
	display: flex;
	box-sizing: border-box;
	align-items: flex-start;
	justify-content: space-around;
	position: relative;
}

header #nav > div > ul {
	display: flex;
	box-sizing: border-box;
	padding: 0;
	margin-bottom: 10px;
	position: relative;
	justify-content: space-between;
}

header #nav > div > ul > li {
	position: relative;
	display: block;
	text-align: center;
}

header #nav > div > ul > li > a {
	width: 170px;
	padding: 5px 35px 22px;
	box-sizing: border-box;
	display: block;
	white-space: nowrap;
	position: relative;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.1rem;
	font-size: 110%;
}

#nav #global_nav ul {
	width: 100%;
	padding: 15px 0;
	background: #000000d0;
	display: flex;
	position: fixed;
	top: 86px;
	left: 0;
	justify-content: center;
}

#nav #global_nav ul > li {
	min-width: 140px;
}
#nav #global_nav ul > li a {
	color: #fff;
	display: inline-block;
	padding: 15px 30px;
}
#nav #global_nav ul > li a:hover,
#nav #global_nav ul > li a:active {
	color: #a4a4a4 !important;
}
#nav #global_nav ul > li a span {
	font-size: 50%;
	display: inline-block;
	vertical-align: 3px;
	padding-right: 5px;
}

header #nav div div {
	width: 220px;
	color: #fff !important;
	box-sizing: border-box;
	padding: 8px 0;
	text-align: center;
	display: block;
	margin-top: 18px;
	position: absolute;
	top: -50px;
	right: 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#nav li {
	position: relative;
}

#home header:not(.header_fixed) #global_nav > li > a,
#solution header:not(.header_fixed) #global_nav > li > a,
#coating header:not(.header_fixed) #global_nav > li > a,
#heat header:not(.header_fixed) #global_nav > li > a,
#base header:not(.header_fixed) #global_nav > li > a,
#quality header:not(.header_fixed) #global_nav > li > a,
#recruit header:not(.header_fixed) #global_nav > li > a,
#strength header:not(.header_fixed) #global_nav > li > a {
	color: #fff !important;
}
#home.hover-header #header #global_nav > li > a,
#solution.hover-header #header #global_nav > li > a,
#coating.hover-header #header #global_nav > li > a,
#heat.hover-header #header #global_nav > li > a,
#base.hover-header #header #global_nav > li > a,
#quality.hover-header #header #global_nav > li > a,
#recruit.hover-header #header #global_nav > li > a,
#strength.hover-header #header #global_nav > li > a {
	color: #000 !important;
}

header #global_nav > li > a:hover {
	color: #211815 !important;
}

header #nav div div a::after {
	content: "";
	display: inline-block;
	left: 3px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #211815;
	border-right: 1px solid #211815;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	margin: auto 0 auto auto;
}

header #nav > div > div > a:hover::after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

#header_in > img {
	width: 260px;
	position: absolute;
	top: 12px;
	right: 190px;
}

.slide-line {
	position: absolute;
	width: 0;
	bottom: 5px;
	left: 0;
	right: 0;
	margin: 0 auto;
	height: 3px;
	background-color: #000000;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	pointer-events: none;
	display: block;
}

#home header:not(.header_fixed) .slide-line,
#solution header:not(.header_fixed) .slide-line,
#coating header:not(.header_fixed) .slide-line,
#heat header:not(.header_fixed) .slide-line,
#base header:not(.header_fixed) .slide-line,
#quality header:not(.header_fixed) .slide-line,
#recruit header:not(.header_fixed) .slide-line,
#strength header:not(.header_fixed) .slide-line {
	background-color: #fff;
}
#home.hover-header #header .slide-line,
#solution.hover-header #header .slide-line,
#coating.hover-header #header .slide-line,
#heat.hover-header #header .slide-line,
#base.hover-header #header .slide-line,
#quality.hover-header #header .slide-line,
#recruit.hover-header #header .slide-line,
#strength.hover-header #header .slide-line {
	background-color: #000;
}

header #nav > div > ul > li a::before {
	content: "";
	position: absolute;
	bottom: 0;
	width: 0;
	right: 0;
	left: 0;
	height: 4px;
	background-color: #a12d3a;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	pointer-events: none;
}

#sub_nav {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	justify-content: right;
	align-items: flex-start;
	flex-wrap: wrap;
}

#sub_nav li {
	margin-left: 1px;
}

#sub_nav li a {
	width: 140px;
	display: inline-block;
	position: relative;
	line-height: 1;
	color: #fff;
	padding: 35px 10px;
	text-align: center;
}

#sub_nav li:nth-child(1) a {
	background: #008041;
}

#sub_nav li:nth-child(2) a {
	background: #0f7cce;
}

#sub_nav li:nth-child(1) a:hover {
	background: #14b163;
}

#sub_nav li:nth-child(2) a:hover {
	background: #2a95e7;
}

.mm-page {
	width: 100%;
	/*  overflow: hidden;*/
}

@media screen and (max-width: 2400px) {
	#header_in {
		margin-left: 3%;
	}
}

@media screen and (max-width: 1400px) {
	#header_in h1 {
		width: 200px;
		padding-top: 12px;
	}

	header #nav > div > ul > li > a {
		padding: 5px 20px 5px;
	}
	.slide-line {
		bottom: -8px;
	}
}

@media screen and (max-width: 1300px) {
	#header_in {
		margin-left: 1%;
	}

	header #nav {
		width: 550px;
		margin: 0 0;
		position: absolute;
		top: 20px;
		right: 0;
		font-size: 100%;
	}

	header #nav > div > ul > li > a {
		width: 120px;
		padding: 5px 22px 5px;
	}
	.slide-line {
		bottom: -10px;
	}
	#sub_nav {
		width: 140px;
		font-size: 90%;
	}

	#sub_nav li a {
		padding: 14px 10px;
	}
}

@media screen and (max-width: 1000px) {
	#header_in {
		width: 88%;
	}

	#header_in h1 {
		width: 180px;
	}

	header #nav > div > ul > li a {
		font-size: 90%;
		padding: 5px 10px 5px;
	}
}

/*---------------------------------------------
 ** トップページ
---------------------------------------------*/

#main {
	z-index: 2;
	position: relative;
}

#main .slide {
	width: 100%;
}
.slide .item {
	overflow: hidden;
}
.slide img {
	width: 100%;
	max-height: 100vh;
	object-fit: cover;
	transform: scale(1.15);
	transition: transform 9s linear;
}

.slick-active img {
	transform: scale(1);
}
#first_slide {
	animation: zoomOut 9s linear forwards;
}
@keyframes zoomOut {
	0% {
		transform: scale(1.15);
	}
	72% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.01);
	}
}

#main_valu {
	width: 65%;
	max-width: 700px;
	position: absolute;
	top: 45%;
	right: 0;
	left: 0;
	margin: 0 auto;
	opacity: 0.7;
	z-index: 3;
}

path {
	fill: white;
	fill-opacity: 0;
	stroke: white;
	stroke-width: 2;

	stroke-dasharray: 1000;
	stroke-dashoffset: 1000;

	/* 全部同時に開始 */
	animation:
		draw 2s cubic-bezier(0.65, 0, 0.35, 1) forwards 1s,
		fillFade 1.2s ease forwards 2.2s;
}

@keyframes draw {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes fillFade {
	from {
		fill-opacity: 0;
	}

	to {
		fill-opacity: 1;
	}
}

#main_catch {
	width: 65px;
	position: absolute;
	top: 25%;
	left: 10%;
	z-index: 3;
}

#main_catch .catch_sp {
	display: none;
}

#main_news {
	width: 50%;
	max-width: 1000px;
	position: absolute;
	bottom: 3%;
	right: 5%;
	padding: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #fff;
	line-height: 1.7;
}

#main_news dt {
	width: 80px;
	text-align: center;
	padding: 5px;
	color: #fff;
	background: #075799;
	margin-right: 10px;
}

#main_news dd {
	width: calc(100% - 90px);
}

#main_news dd a {
	display: block;
	padding: 5px 10px;
}

#main_news dd a:hover {
	background: #bcd6ea;
}

#main_news dd a span {
	display: inline-block;
	margin-right: 3%;
}

@media screen and (max-width: 1600px) {
	#main_catch {
		width: 50px;
	}
}

@media screen and (max-width: 1400px) {
	#main_catch {
		left: 5%;
	}

	#main_news {
		width: 80%;
		right: 0;
		left: 0;
		margin: 0 auto;
	}
}

@media screen and (max-width: 1200px) {
	#main_catch {
		width: 4%;
	}
}

#top_business {
	padding: 8% 0 0;
}

#home h2 {
	font-size: 320%;
	text-align: center;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.4rem;
	margin-bottom: 3%;
}
#foot_contact h2 {
	font-size: 320%;
	text-align: center;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.4rem;
	margin-bottom: 3%;
}

#home h2 span {
	display: block;
	font-size: 40%;
	margin-top: 15px;
	letter-spacing: 0rem;
}
#foot_contact h2 span {
	display: block;
	font-size: 40%;
	margin-top: 15px;
	letter-spacing: 0rem;
}

@media screen and (max-width: 1600px) {
	#home h2 {
		font-size: 250%;
	}
	#foot_contact h2 {
		font-size: 250%;
	}

	#home h2 span {
		font-size: 50%;
	}
	#foot_contact h2 span {
		font-size: 50%;
	}
}

#top_business h2 + p {
	text-align: center;
	font-size: 140%;
}

.top_business_data {
	margin-top: 8%;
}

.top_business_data > div {
	width: calc(60% + 550px);
	margin-left: calc(40% - 550px);
	position: relative;
	color: #fff;
	padding: 3% 0;
	margin-bottom: 8%;
}

.top_business_data > div:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #035c9cb9;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

.top_business_data > div:nth-child(1) {
	background: url(../img/top_bg01.jpg) no-repeat top 50% center;
	background-size: cover;
}

.top_business_data > div:nth-child(2) {
	background: url(../img/top_bg01.jpg) no-repeat top 75% right;
	background-size: cover;
}

.top_business_data > div:nth-child(3) {
	background: url(../img/top_bg01.jpg) no-repeat top 30% center;
	background-size: cover;
}

.top_business_data > div:nth-child(2n) {
	margin-left: 0;
}

.top_business_data_text {
	width: 65%;
	padding-left: 30%;
	z-index: 2;
	position: relative;
}

.top_business_data > div:nth-child(2n) .top_business_data_text {
	width: 67%;
	padding-left: 35%;
}

.top_business_data_text h3 {
	font-size: 180%;
	line-height: 1.4;
	text-align: center;
	font-weight: 600;
	margin-bottom: 25px;
	letter-spacing: 0.3rem;
}

.top_business_data_text h3 span {
	display: block;
	font-size: 60%;
	margin-top: 10px;
	letter-spacing: 0rem;
}

.top_business_data_text p {
	margin-bottom: 5%;
}

.top_business_data_img {
	width: 80%;
	max-width: 600px;
	position: absolute;
	top: -80px;
	left: -120px;
	z-index: 3;
}

.top_business_data > div:nth-child(2n) .top_business_data_img {
	left: auto;
	right: -120px;
}

@media screen and (max-width: 2200px) {
	.top_business_data_text {
		width: 75%;
		padding-left: 40%;
	}

	.top_business_data > div:nth-child(2n) .top_business_data_text {
		width: 60%;
		padding-left: 25%;
	}
}

@media screen and (max-width: 1800px) {
	.top_business_data_img {
		left: -5%;
	}

	.top_business_data > div:nth-child(2n) .top_business_data_img {
		right: -5%;
	}
}

@media screen and (max-width: 1600px) {
	.top_business_data > div {
		width: 90%;
		margin-left: 10%;
	}

	.top_business_data_img {
		max-width: 500px;
		left: -5%;
	}

	.top_business_data > div:nth-child(2n) .top_business_data_img {
		right: -5%;
	}
}

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

	.top_business_data > div:nth-child(2n) .top_business_data_text {
		padding-left: 10%;
	}

	.top_business_data_img {
		top: -50px;
	}
}

@media screen and (max-width: 1300px) {
	.top_business_data > div {
		padding: 70px 0 50px;
	}

	.top_business_data > div:nth-child(1) {
		background: url(../img/top_bg01.jpg) no-repeat bottom 0% left;
		background-size: cover;
	}

	.top_business_data > div:nth-child(2) {
		background: url(../img/top_bg01.jpg) no-repeat top 55% right;
		background-size: 150% auto;
	}

	.top_business_data {
		margin-top: 5%;
	}

	.top_business_data > div {
		margin: 0 auto 3%;
	}

	.top_business_data > div:nth-child(2n) {
		margin-left: auto;
	}

	.top_business_data_text {
		padding: 0;
		margin: 0 auto;
		text-align: center;
	}

	.top_business_data > div:nth-child(2n) .top_business_data_text {
		width: 90%;
		padding-left: 0;
	}

	.top_business_data_text p {
		margin-bottom: 3%;
	}

	.top_business_data_img {
		position: relative;
		left: auto;
		top: auto;
		margin: 0 auto;
	}

	.top_business_data > div:nth-child(2n) .top_business_data_img {
		right: auto;
	}

	.top_business_data_img::before {
		content: "";
		width: 100%;
		height: 100%;
		display: block;
		background: #00447b;
		position: absolute;
		right: -10px;
		bottom: -10px;
	}
}

@media screen and (max-width: 1260px) {
	.top_business_data_text p {
		max-width: 680px;
		text-align: left;
		margin: 0 auto 30px;
	}
}

#top_value {
	padding: 0 0 5%;
	position: relative;
}

.top_value_on::before {
	content: "";
	width: 380px;
	height: 450px;
	display: block;
	background: url(../img/logo_img.png) no-repeat top left;
	background-size: 100% auto;
	position: absolute;
	left: 15%;
	top: 10%;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
}

@keyframes fadeInScale {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}

	100% {
		opacity: 1;
		transform: scale(1);
	}
}

#top_value > div {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

#top_value > div > div {
	width: calc(90% - 400px);
	text-align: center;
	padding-left: 180px;
	padding-top: 60px;
}

#top_value > div > div p {
	max-width: 600px;
	text-align: left;
	margin: 10px auto 40px;
}

#top_value > div > img {
	width: 400px;
}

@media screen and (max-width: 2200px) {
	.top_value_on::before {
		left: 5%;
		top: 15%;
	}
}

@media screen and (max-width: 1800px) {
	.top_value_on::before {
		left: -50px;
	}
}

@media screen and (max-width: 1500px) {
	.top_value_on::before {
		width: 300px;
		height: 360px;
		left: -70px;
	}
}

@media screen and (max-width: 1200px) {
	#top_value > div > div {
		width: calc(95% - 400px);
		padding-left: 200px;
	}
}

@media screen and (max-width: 1200px) {
	.top_value_on::before {
		width: 220px;
		height: 280px;
		left: -50px;
		top: 10%;
	}

	#top_value > div > div {
		width: calc(95% - 400px);
		padding-left: 150px;
	}
}

@media screen and (max-width: 1000px) {
	#top_value > div > div {
		width: calc(95% - 350px);
	}

	#top_value > div > img {
		width: 350px;
	}
}

#top_news {
	padding: 6% 0 2%;
	background: url(../img/top_bg02.jpg) no-repeat left center;
	background-size: cover;
}

#top_news .top_news_data {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	background: #ffffffee;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding: 4% 2% 4% 1%;
}

#top_news .top_news_data h2 {
	width: 240px;
	font-size: 250%;
	text-align: center;
}

#top_news .top_news_data > div {
	width: calc(100% - 240px);
	text-align: center;
}

#top_news .top_news_data > div > dl a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	padding: 15px 10px;
	border-bottom: 1px dotted #333;
	text-align: left;
	line-height: 1.6;
}

#top_news .top_news_data > div > dl a:hover {
	background: #c5ddf1;
}

#top_news .top_news_data > div > dl a dt {
	width: 100px;
}

#top_news .top_news_data > div > dl a dd {
	width: calc(100% - 110px);
}

#top_news .top_news_data > div > dl:last-child a {
	border-bottom: none;
}

@media screen and (max-width: 1600px) {
	#top_news .top_news_data h2 {
		font-size: 220%;
	}
}

@media screen and (max-width: 1200px) {
	#top_news .top_news_data {
		padding: 4% 5% 4% 5%;
	}

	#top_news .top_news_data h2 {
		width: 100%;
		font-size: 250%;
		text-align: center;
	}

	#top_news .top_news_data > div {
		width: 100%;
		text-align: center;
	}
}

#top_recruit {
	padding: 5% 0;
	background: url(../img/top_bg03.jpg) no-repeat left center;
	background-size: cover;
	position: relative;
}

#top_recruit:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #035c9cb9;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

#top_recruit > div {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row-reverse;
	position: relative;
	z-index: 2;
}

#top_recruit .top_recruit_data {
	width: 47%;
	color: #fff;
}

#top_recruit .top_recruit_data p {
	padding: 20px 0;
}

#top_recruit .white_slide {
	width: 45%;
}

#top_history {
	padding: 5% 0;
	background: url(../img/top_bg04.jpg) no-repeat center bottom;
	background-size: cover;
	position: relative;
}

#top_history > div {
	width: 90%;
	max-width: 530px;
	background: #075799df;
	color: #fff;
	padding: 3% 3%;
	margin: 0 0 0 55%;
	opacity: 0;
}

.top_history_on {
	transform: translateY(50px);
	animation: fadeUp 1.5s ease forwards 0.5s;
}

@keyframes fadeUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#top_history > div h2 {
	letter-spacing: 0.6rem;
}

#top_history > div p {
	padding: 20px 0;
}

@media screen and (max-width: 1200px) {
	#top_history > div {
		width: 90%;
		max-width: 650px;
		margin: 0 auto 200px;
		padding: 4% 5% 3%;
	}
}

#foot_contact {
	padding: 5% 0;
	position: relative;
	background: url(../img/top_bg05.jpg) no-repeat center bottom 30%;
	background-size: cover;
	z-index: 0;
}

#foot_contact:after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #035c9cb9;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
}

#foot_contact > div {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	z-index: 2;
	color: #fff;
	position: relative;
	text-align: center;
}

#foot_contact > div h2 {
	font-size: 250%;
}

#foot_contact > div ul {
	max-width: 820px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: 2% auto 0;
}

#foot_contact > div ul > li {
	width: 45%;
	display: block;
	line-height: 1.4;
}

#foot_contact > div ul > li .tel_link {
	display: block;
	font-size: 250%;
	font-weight: 600;
	color: #fff !important;
}

#foot_contact > div ul > li .btn a {
	width: 100%;
	max-width: 400px;
	font-weight: 700;
	padding: 20px;
	font-size: 120%;
}

@media screen and (max-width: 1600px) {
	#foot_contact > div h2 {
		font-size: 220%;
	}
}

#foot_ban {
	width: 90%;
	max-width: 1200px;
	padding: 60px 0;
	margin: 0 auto;
}

#foot_ban ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#foot_ban ul li {
	width: 24%;
	display: block;
}

#foot_ban ul li a img {
	transition: all 0.5s;
}

@media (hover: hover) {
	#foot_ban ul li a:hover img {
		transform: scale(1.07);
		opacity: 0.8;
	}
}

@media screen and (max-width: 1200px) {
	#foot_ban {
		max-width: 700px;
	}

	#foot_ban ul li {
		width: 48.5%;
		margin: 1.5% 0;
	}
}

#pageTop {
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 5;
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.4s ease,
		transform 0.4s ease;
	pointer-events: none; /* 非表示時はクリック無効 */
}

#pageTop.show {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

#footer {
	position: relative;
	background: #eee;
	padding: 2% 0 0;
}

#footer > div {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#foot01 {
	width: 360px;
}

#foot01 > img {
	width: 240px;
	margin-bottom: 15px;
}

#foot01 > p {
	margin-bottom: 0;
	line-height: 1.6;
	letter-spacing: 0.1rem;
}

#foot01 > p span {
	padding-right: 20px;
	display: inline-block;
}

#foot01 > ul {
	display: flex;
	align-items: center;
	margin: 10px 0;
}

#foot01 > ul li {
	display: inline-block;
	margin-right: 12px;
}

#foot01 > ul li a {
	display: block;
}

#foot01 > ul li a img {
	width: auto;
	height: 28px;
	object-fit: cover;
	transition: all 0.5s;
}

@media (hover: hover) {
	#foot01 > ul li a:hover img {
		height: 33px;
	}
}

#foot02 {
	width: 650px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

#foot02 > ul {
	display: inline-block;
	margin-left: 20px;
	margin-top: 20px;
	font-size: 100%;
	color:#666;
}

#foot02 > ul li a {
	color: #666 !important;
}

#foot02 > ul li a:hover {
	color: #a8a8a8 !important;
}

#foot02 .foot_nav {
	margin-bottom: -3px;
}

#foot02 .foot_nav_sub {
	font-size: 85%;
	line-height: 1.8;
}

#footer > p {
	margin-bottom: 0;
	padding: 5px 0;
	border-top: 1px solid #a9a9a9;
	font-size: 90%;
	text-align: center;
	color: #666;
}

@media screen and (max-width: 1150px) {
	#footer {
		padding-top: 50px;
	}

	#foot01 {
		width: 100%;
		text-align: center;
	}

	#foot01 > ul {
		justify-content: center;
	}

	#foot02 {
		width: 100%;
		max-width: 680px;
		margin: 20px auto 20px;
	}
}

#pageTop a {
	display: block;
	width: 70px !important;
	height: 70px !important;
	background: url(../img/page_top.png) no-repeat;
	background-size: 100%;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

@media (hover: hover) {
	#pageTop a:hover {
		opacity: 0.5;
	}
}

/* モーダル背景 */
.modal {
	display: none;
	/* 初期状態では非表示 */
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
}

/* モーダルコンテンツ */
.modal-content {
	position: relative;
	width: 95%;
	max-width: 960px;
	box-shadow: 0 0 12px rgba(0, 0, 0, 0.6);
	background: #000;
}

/* 動画の埋め込みをレスポンシブ対応させる */
.video-container {
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.video-container iframe {
	width: 100%;
	height: 100%;
}

/* 閉じるボタン */
.close {
	position: absolute;
	top: -6rem;
	right: 0rem;
	font-size: 4rem;
	color: #fff;
	cursor: pointer;
}

/*---------------------------------------------
 ** 下層ページ
---------------------------------------------*/

/* 下層共通 */
#main_w {
	padding: 13% 0 10%;
	text-align: center;
}

#main_w h2 {
	font-size: 200%;
	letter-spacing: 2rem;
	position: relative;
	padding-bottom: 30px;
	padding-left: 15px;
}
#main_w h2::after {
	content: "";
	width: 30%;
	max-width: 140px;
	height: 2px;
	display: block;
	background: #008041;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#main_img > img {
	width: 100%;
	height: 450px;
	object-fit: cover;
	filter: brightness(60%);
	margin-bottom: 30px;
}
#main_img h2.main_h2 {
	font-size: 200%;
	letter-spacing: 2rem;
	position: relative;
	padding-top: 100px;
	padding-bottom: 30px;
	padding-left: 15px;
	text-align: center;
	margin-bottom: 70px;
}
#main_img h2.main_h2::after {
	content: "";
	width: 30%;
	max-width: 140px;
	height: 2px;
	display: block;
	background: #008041;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#main_img > h2.business_p {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 20px;
	font-size: 400%;
	letter-spacing: 1rem;
}
.business_ttl {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 7%;
	position: relative;
	z-index: 1;
}
.business_ttl h2 {
	font-size: 220%;
	letter-spacing: 1rem;
	margin-bottom: 40px;
	line-height: 1.8;
}
.business_ttl h2 span {
	font-size: 20px;
	letter-spacing: 0;
	color: #008041;
	display: block;
	margin-bottom: 10px;
}

/* 歴史・沿革 */

.history_data {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
	position: relative;
	z-index: 0;
}
#history .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -190px;
	top: -185px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

.history_data dl {
	border-bottom: 1px solid #808080;
	padding: 0 3% 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.history_data dl dt {
	width: 270px;
	padding: 2% 0;
}
.history_data dl dd {
	width: calc(100% - 270px);
	font-weight: 400;
	padding: 2% 0;
}
.history_data dl dd p {
	margin-bottom: 5px;
	line-height: 1.6;
	display: inline-block;
	margin-right: 25px;
}

.history_timeline {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
	position: relative;
	z-index: 0;
}

.subpage_btn {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
}
.subpage_btn ul {
	display: flex;
	flex-wrap: wrap;
}
.subpage_btn ul li {
	width: 50%;
}
.subpage_btn ul li a {
	padding: 10% 5%;
	text-align: center;
	color: #fff;
	display: block;
	line-height: 1.6;
}
.subpage_btn ul li.s_btn_philosophy a {
	background: #008041;
}
.subpage_btn ul li.s_btn_company a {
	background: #008ccf;
}
.subpage_btn ul li.s_btn_history a {
	background: #172a88;
}

.subpage_btn ul li.s_btn_philosophy a:hover {
	background: #14b163;
}
.subpage_btn ul li.s_btn_company a:hover {
	background: #2a95e7;
}
.subpage_btn ul li.s_btn_history a:hover {
	background: #4155ba;
}
.subpage_btn ul li a b {
	font-size: 160%;
	letter-spacing: 5rem;
	padding-left: 4.5rem;
	display: block;
	font-weight: 400;
	margin-bottom: 20px;
}
.subpage_btn ul li.s_btn_history a b {
	letter-spacing: 0.8rem;
	padding-left: 5px;
}
.subpage_btn ul li a span {
	font-size: 80%;
	display: inline-block;
	border: 1px solid #fff;
	padding: 10px 40px 10px 25px;
	position: relative;
	border-radius: 50px;
}
.subpage_btn ul li a span::after {
	content: "";
	width: 7px;
	height: 12px;
	display: block;
	background: url(../img/arrow_w.png) no-repeat center right;
	background-size: 100% auto;
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	transition: all 0.5s;
}
.subpage_btn ul li a:hover span::after {
	right: 15px;
}

@media screen and (max-width: 1380px) {
	.history_data::after {
		right: -50px;
		width: 35%;
		top: -165px;
	}
}
@media screen and (max-width: 1000px) {
	.history_data::after {
		right: -45px;
		width: 26%;
		top: -80px;
	}
}

/* ソリューション事業 */
#solution .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	bottom: -120px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}
#solution_data {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 7%;
}

#solution_data > div {
	margin-bottom: 7%;
}

#solution_data > div h3 {
	border-top: 1px solid #808080;
	position: relative;
	font-size: 120%;
	letter-spacing: 0.5rem;
	margin-bottom: 50px;
	padding-top: 20px;
	font-weight: 400;
}
#solution_data > div h3::before {
	content: "";
	width: 72px;
	height: 10px;
	display: block;
	background: #008041;
	position: absolute;
	top: 0;
	left: 0;
}
.data_img_col {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.data_img_col .col_data {
	width: 450px;
	margin-bottom: 3%;
}
.data_img_col .col_data h4 {
	font-size: 170%;
	margin-bottom: 30px;
	letter-spacing: 0.3rem;
	line-height: 1.7;
}
.data_img_col .col_img {
	width: calc(95% - 450px);
}
.data_img_col .col_img p {
	margin: 5px 0 0 0;
	font-size: 80%;
	font-weight: 400;
	line-height: 1.6;
}

@media screen and (max-width: 1300px) {
	#solution .icon_plus_on::after {
		right: -40px;
	}
}
@media screen and (max-width: 1000px) {
	#solution .icon_plus_on::after {
		bottom: -40px;
	}
}

/* 会社概要 */

.company_data {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
	position: relative;
	z-index: 0;
}
#company .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -180px;
	top: 200px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

.company_data dl {
	border-bottom: 1px solid #808080;
	padding: 0 5% 0 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.company_data dl dt {
	width: 200px;
	padding: 2% 0;
	font-weight: 400;
}
.company_data dl dd {
	width: calc(100% - 200px);
	font-weight: 400;
	padding: 2% 0;
}
.company_data dl dd p {
	margin-bottom: 12px;
	line-height: 1.8;
}
.company_data dl dd p:last-child {
	margin-bottom: 0;
}
.company_add {
	text-indent: -1.8rem;
	margin-left: 1.8rm;
	padding-left: 1.8rem;
}
.company_data dl dd ul {
	margin-bottom: 12px;
	max-width: 600px;
}
.company_data dl dd ul li {
	display: inline-block;
	margin-right: 5px;
}
.company_data dl dd ul li::after {
	content: "/";
	display: inline-block;
	padding-left: 5px;
}

#company_map {
	padding-bottom: 5%;
	text-align: center;
}
#company_map iframe {
	width: 90%;
	max-width: 1000px;
	height: 600px;
	margin: 0 auto 4%;
}

@media screen and (max-width: 1400px) {
	#company .icon_plus_on::after {
		right: -90px;
		top: 180px;
	}
}
@media screen and (max-width: 1200px) {
	#company .icon_plus_on::after {
		width: 35%;
		right: -30px;
		top: 180px;
	}
}

/* 金属加工表面処理 */
#coating .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	top: -263px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

#sec_coat01 {
	max-width: 1400px;
	padding-top: 650px;
	margin: 0 auto 10%;
	position: relative;
	z-index: 0;
}
#sec_coat01::before,
#sec_coat01::after {
	content: "";
	width: 54%;
	height: 500px;
	display: block;
	position: absolute;
}
#sec_coat01::before {
	background: url(../img/coating/coat_img01.jpg) no-repeat center center;
	background-size: cover;
	top: 70px;
	left: 0;
	z-index: 2;
}
#sec_coat01::after {
	background: url(../img/coating/coat_img02.jpg) no-repeat center center;
	background-size: cover;
	top: 170px;
	right: 0;
	z-index: 1;
}
#sec_coat01 > h3 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 170%;
	letter-spacing: 0.5rem;
	line-height: 1.6;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

#sec_coat01_01 {
	width: 100%;
	max-width: 1250px;
	position: absolute;
	top: 620px;
	left: 0;
	right: 0;
	margin: 0 auto;
	padding-left: 5%;
	z-index: 3;
}
#sec_coat01_01 > div {
	width: 90%;
	max-width: 800px;
	padding: 5%;
	background: #fff;
}
#sec_coat01_01 h3 {
	font-size: 170%;
	letter-spacing: 0.4rem;
	line-height: 1.6;
	margin-bottom: 20px;
}
#sec_coat01_01 ul li {
	color: #008041;
	font-size: 90%;
	line-height: 1.6;
	margin-bottom: 5px;
	text-indent: 1rem;
	margin-left: -1.5rem;
	font-weight: 400;
	letter-spacing: 0.2rem;
}
#sec_coat01_01 ul li::before {
	content: "□";
	display: inline-block;
	padding-right: 3px;
}
#sec_coat01_02 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
#sec_coat01_02 > div {
	width: 95%;
	margin-left: 5%;
	background: #e5e5e5;
	padding: 450px 0 5% 5%;
}
#sec_coat01_02 h3 {
	width: 95%;
	font-size: 140%;
	letter-spacing: 0.5rem;
	line-height: 1.6;
	margin-bottom: 40px;
}
#sec_coat01_02 dl {
	font-weight: 400;
}
#sec_coat01_02 dl dt {
	border-bottom: 1px solid #008041;
	margin-bottom: 5px;
	line-height: 1.6;
}
#sec_coat01_02 dl dt span {
	padding: 1px 18px;
	background: #008041;
	color: #fff;
	display: inline-block;
	font-size: 115%;
}
#sec_coat01_02 dl dd {
	color: #008041;
	font-size: 110%;
	padding: 10px 15px 10px 0;
	line-height: 1.6;
	margin-bottom: 40px;
	letter-spacing: 0.2rem;
}

#sec_coat02 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 10%;
}
#sec_coat02 h3 {
	font-size: 140%;
	letter-spacing: 0.2rem;
	margin-bottom: 30px;
}

#sec_coat03 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 10%;
}
#sec_coat03 h3 {
	font-size: 140%;
	letter-spacing: 0.2rem;
	margin-bottom: 30px;
}
#sec_coat03 > div.sans {
	font-weight: 400;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}

#sec_coat03 > div.sans > div {
width:30%;
}


/* #sec_coat03 > div.sans > div {
	width: 680px;
	position: relative;
	margin-bottom: 5%;
}
#sec_coat03 > div.sans > div:nth-child(2n) {
	margin-left: calc(100% - 680px);
}
#sec_coat03 > div.sans > div p {
	width: 80px;
	display: inline-block;
	font-size: 90%;
	position: absolute;
	bottom: 0;
	right: -100px;
	margin-bottom: 0;
	text-align: left;
}
#sec_coat03 > div.sans > div:nth-child(2n) p {
	right: auto;
	left: -100px;
	text-align: right;
	} */


@media screen and (max-width: 1300px) {
	#coating .icon_plus_on::after {
		right: -40px;
	}
}
@media screen and (max-width: 1000px) {
	#coating .icon_plus_on::after {
		top: -200px;
	}
}

/* 拠点 */
#base .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	top: -210px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

.base_slide {
	width: 90%;
	max-width: 965px;
	margin: 0 auto 5%;
	padding-top: 50px;
	padding-left: 35px;
	position: relative;
}
.base_slide h3 {
	text-align: center;
	display: inline-block;
	line-height: 1;
	padding: 40px 40px 50px 10px;
	font-size: 160%;
	letter-spacing: 0.8rem;
	color: #008041;
	background: #fff;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.base_slide img {
	height: auto !important;
	width: 100%;
	transition: none;
}
.base_slide .slick-slide {
	height: auto !important;
}
.base_slide .thumbnail-img {
	padding: 10px 5px;
	position: relative;
	z-index: 3;
}
.base_slide .thumbnail-img::before {
	content: "";
	width: calc(100% - 10px);
	height: calc(100% - 20px);
	display: block;
	background: #00000071;
	position: absolute;
	top: 10px;
	right: 5px;
	z-index: 2;
	pointer-events: none;
}
.base_slide .thumbnail-img.slick-current::before {
	background: none;
}
@media screen and (min-width: 481px) {
	.base_slide .slick-track {
		transform: translate3d(0, 0, 0) !important;
	}
}
.base_equipment {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 10%;
}
.base_equipment h3 {
	font-size: 150%;
	letter-spacing: 0.5rem;
	color: #008041;
	margin-bottom: 20px;
}
.base_equipment > div {
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	padding: 30px 0;
}
.base_equipment > div > ul {
	display: inline-block;
	margin-right: 5%;
}

@media screen and (max-width: 1250px) {
	#base .icon_plus_on::after {
		right: -40px;
		top: -50px;
	}
}

/* 金属熱処理加工 */
#heat .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	bottom: -340px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}
#heat_data01 {
	margin-bottom: 8%;
	margin-top: -3%;
}
#heat_data01 h2 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
#heat_data01 h2 span {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	font-size: 200%;
	letter-spacing: 0.3rem;
	line-height: 1.7;
	color: #008041;
	padding: 0 0 5% 5%;
}
#heat_data01 > div {
	width: calc(50% + 520px);
	margin-left: calc(50% - 520px);
	margin-bottom: 5%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
#heat_data01 > div:nth-of-type(2n) {
	margin-left: 0;
	margin-right: calc(50% - 520px);
	flex-direction: row-reverse;
}
#heat_data01 > div > div {
	width: 520px;
	border-top: 1px solid #808080;
	position: relative;
	margin-top: 30px;
	padding: 30px 0;
}

#heat_data01 > div > div:before {
	content: "";
	width: 50px;
	height: 5px;
	display: block;
	background: #008041;
	position: absolute;
	top: 0;
	left: 0;
}
#heat_data01 > div > div h3 {
	font-size: 160%;
	line-height: 1.7;
	letter-spacing: 0.3rem;
	margin-bottom: 30px;
}
#heat_data01 > div > img {
	width: calc(93% - 500px);
	border-radius: 60px 0 0 60px;
}
#heat_data01 > div:nth-of-type(2n) > img {
	border-radius: 0 60px 60px 0;
}

#heat_data02 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

#heat_data02 > div {
	width: 47%;
	margin-bottom: 7%;
}

#heat_data02 > div > h3 {
	color: #008041;
	font-size: 140%;
	letter-spacing: 0.3rem;
	border-bottom: 1px solid #008041;
	padding-bottom: 5px;
	margin-bottom: 25px;
}
#heat_data02 > div > p {
	margin-bottom: 30px;
	font-weight: 400;
	font-size: 95%;
}



#heat_data03,
#heat_data04 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
}

#heat_data03 h3,
#heat_data04 h3{
	color: #008041;
	font-size: 140%;
	letter-spacing: 0.3rem;
	border-bottom: 1px solid #008041;
	padding-bottom: 5px;
	margin-bottom: 25px;
}

#heat_data03 .tech_wrap{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}

#heat_data03 .tech_wrap li{
letter-spacing:0.1em !important;
}


#heat_data04 .shikaku_wrap dl{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom:8px;
	font-size:110%;
}

#heat_data04 .shikaku_wrap dt{
width:6em;
}

#heat_data04 .shikaku_wrap dd{
width: calc(100% - 6em);
}


@media screen and (max-width: 1300px) {
	#heat .business_ttl p br.br_none {
		display: none;
	}
	#heat .icon_plus_on::after {
		bottom: -500px;
		right: 0px;
	}
}
@media screen and (max-width: 1200px) {
	#heat_data01 > div {
		width: 100%;
		justify-content: left;
		margin-left: 0;
	}
	#heat_data01 > div > div {
		width: 90%;
		margin: 0 auto;
	}
	#heat_data01 > div:nth-of-type(2) > div {
		margin-left: 5%;
	}
	#heat_data01 > div > div h3 br {
		display: none;
	}
	#heat_data01 > div > img {
		width: 80%;
		margin-left: 20%;
	}
	#heat_data01 > div:nth-of-type(2n) > img {
		margin-left: 0;
	}
}

/* 検査・品質 */
#quality .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	top: -421px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}
#sec_quality01 {
	width: calc(50% + 500px);
	margin-left: calc(50% - 500px);
	margin-top: -4%;
	margin-bottom: 5%;
}
#sec_quality01 > div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#sec_quality01 > div > p {
	width: 450px;
	margin-right: 70px;
	margin-bottom: 50px;
}
#sec_quality01 > div > img {
	width: calc(100% - 520px);
	max-width: 700px;
}
#sec_quality02 {
	background: #f1f1f1;
}
#sec_quality02,
#sec_quality03 {
	padding: 50px 0 70px;
}
#sec_quality02 > div,
#sec_quality03 > div {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
#sec_quality02 > div > h3,
#sec_quality03 > div > h3 {
	font-size: 160%;
	letter-spacing: 0.5rem;
	color: #008041;
	position: relative;
	padding-left: 25px;
}
#sec_quality02 > div > h3::before,
#sec_quality03 > div > h3::before {
	content: "";
	width: 1px;
	height: 140px;
	display: block;
	background: #008041;
	position: absolute;
	bottom: 0;
	left: 0;
}

.quality_device {
	width: 90%;
	margin: 50px auto 3%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.quality_device > dl {
	width: 28%;
}
.quality_device > dl dd {
	text-align: center;
	display: block;
	font-weight: 400;
	padding: 10px 0 50px;
	font-size: 90%;
}

.quality_other h4 {
	font-size: 140%;
	letter-spacing: 0.5rem;
	margin-bottom: 30px;
}
.quality_other > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.quality_other > div > ul {
	width: 28%;
}
.quality_other > div > ul > li {
	font-size: 90%;
	display: block;
	border-bottom: 1px solid #1f1513;
	padding-bottom: 10px;
	margin-bottom: 15px;
	letter-spacing: 0.2rem;
}

#sec_quality03 > div {
	text-align: center;
}
#sec_quality03 > div h3 {
	text-align: left;
}
#sec_quality03 > div > h3::before {
	height: 105px;
}
#sec_quality03 > div > div {
	display: inline-block;
	margin: 50px auto 0;
	text-align: left;
}

#sec_quality03 > div > div img {
	width: 100%;
	max-width: 450px;
	margin-bottom: 10px;
	margin-left: 0;
}

#sec_quality03 .awd_ul li {
	line-height: 1.6;
	margin-bottom: 10px;
	font-size: 90%;
	text-align: left;
	letter-spacing: 0.2rem;
	list-style-type:disc !important;
	margin-left:2em;
}

/* #sec_quality03 > div > div li span {
	display: inline-block;
	margin-right: 20px;
	} */


#sec_quality03 .awd_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom:70px;
}

.awd_wrap .awd{
text-align:center;
max-width:47%;
}

.awd_wrap .awd span{
display:block;
}

#sec_quality03 .awd_div{
text-align:left !important;
margin:0 0 40px 0!important;
padding:0 !important;
}

#sec_quality03 .awd_div dt{
max-width:300px;
margin-bottom:10px;
}

#sec_quality03 .awd_div dt img{
border:solid 1px #999;
}

#sec_quality04 {
	background: #f1f1f1;
	padding: 60px 0 70px;
}
#sec_quality04 > div {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 3%;
	font-size: 90%;
}

#sec_quality04 > div h3 {
	font-size: 150%;
	letter-spacing: 0.3rem;
	color: #008041;
	margin-bottom: 2%;
}
#sec_quality04 > div ol {
	margin: 30px 0;
}

#sec_quality04 > div ol > li {
	margin-bottom: 10px;
	margin-left: -1rem;
}

#sec_quality04 > div ol ul li {
	margin-left: 0;
}
@media screen and (max-width: 1300px) {
	#quality .icon_plus_on::after {
		right: -80px;
		top: -450px;
	}
}
@media screen and (max-width: 1130px) {
	#quality .icon_plus_on::after {
		right: -40px;
		top: -500px;
	}
	#sec_quality01 {
		width: 95%;
		margin-left: 5%;
		margin-top: -4%;
		margin-bottom: 7%;
	}
}
@media screen and (max-width: 1030px) {
	.quality_other > div > ul {
		width: 31%;
	}
}

/* 採用情報 */
.recruit_ttl {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 5%;
}
.recruit_ttl h2 {
	font-size: 130%;
	line-height: 1.6;
	letter-spacing: 0.3rem;
	position: relative;
	padding-left: 30px;
	border-left: 1px solid #008041;
	margin-bottom: 60px;
}
.recruit_ttl h2 span {
	font-size: 170%;
	letter-spacing: 0rem;
	color: #008041;
	display: block;
}
.recruit_ttl h3 {
	font-size: 200%;
	line-height: 1.6;
	letter-spacing: 1rem;
}

#recruit01 {
	width: 90%;
	max-width: 1600px;
	margin: 0 auto 100px;
	position: relative;
	background: url(../img/recruit/president_img.jpg) no-repeat bottom left;
	background-size: 95% auto;
	padding-bottom: 10%;
}
#recruit01 > div > div {
	width: 40%;
	min-height: 740px;
	margin-left: 60%;
	background: #fff;
	padding: 0 5% 3%;
}
#recruit01 > div h4 {
	font-size: 120%;
	letter-spacing: 0.5rem;
	margin-bottom: 15px;
}
#recruit01 > div h4 span {
	display: inline-block;
	margin-left: 2rem;
	font-size: 130%;
}
#recruit01 > div p {
	max-width: 500px;
	line-height: 2.4;
	font-size: 90%;
	letter-spacing: 0.1rem;
}

#recruit .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -120px;
	bottom: -550px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

#recruit02 {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 150px;
}
#recruit02 h3 {
	font-size: 130%;
	line-height: 1.6;
	letter-spacing: 0.3rem;
	position: relative;
	padding-left: 30px;
	border-left: 1px solid #008041;
	margin-bottom: 60px;
}
#recruit02 h3 span {
	font-size: 170%;
	letter-spacing: 0rem;
	color: #008041;
	display: block;
}

.rec_staff {
	margin-bottom: 5%;
}
.rec_staff h4 {
	font-size: 160%;
	letter-spacing: 0.1rem;
	margin-bottom: 20px;
	color: #008041;
	line-height: 1.6;
}
.rec_staff h4 + p {
	letter-spacing: 0.3rem;
	font-size: 90%;
	margin-bottom: 25px;
}
.rec_staff h4 + p span {
	font-size: 110%;
	display: inline-block;
	margin-right: 20px;
}

.rec_staff > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
#recruit02 > div > .rec_staff:nth-of-type(2n-1) > div {
	flex-direction: row-reverse;
}
.rec_staff > div > div {
	width: calc(96% - 550px);
}
.rec_staff > div > div > dl {
	margin-bottom: 20px;
	font-size: 90%;
}
.rec_staff > div > div > dl > dt {
	color: #008041;
}

.rec_staff > div > ul {
	width: 550px;
}
.rec_staff > div > ul > li {
	margin-bottom: 20px;
}

.rec_model h4 {
	font-size: 140%;
	letter-spacing: 0.3rem;
	margin-bottom: 20px;
	color: #008041;
	line-height: 1.6;
}
.rec_model h4 + p {
	font-size: 90%;
	margin-bottom: 25px;
}

.rec_model img {
max-width:100% !important;
height:auto !important;
}

#recruit03 {
	background: #f1f1f1;
	padding: 80px 0 50px;
	position: relative;
}
#recruit03 h3 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 180%;
	letter-spacing: 0.4rem;
	color: #008041;
	text-align: left;
	position: absolute;
	top: -35px;
	left: 0;
	right: 0;
}
#recruit03 > div {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	border-top: 1px solid #008041;
}
#recruit03 > div > div > dl {
	border-bottom: 1px solid #008041;
	padding: 50px 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
#recruit03 > div > div > dl > dt {
	width: 180px;
	font-size: 700%;
	color: #008041;
	line-height: 1;
	font-family: "Noto Serif Display", serif;
	letter-spacing: 0.2rem;
	font-weight: 400;
}
#recruit03 > div > div > dl > dd {
	width: calc(95% - 180px);
	font-size: 90%;
}
#recruit03 > div > div > dl > dd p {
	width: 95%;
	max-width: 650px;
	letter-spacing: 0.2rem;
	line-height: 2.2;
}
#recruit03 > div > div > dl > dd span {
	font-size: 180%;
	margin-bottom: 40px;
	display: block;
}

#recruit04 {
	width: 90%;
	margin: 0 auto;
	text-align: center;
	padding: 100px 0;
}
#recruit04 a {
	width: 80%;
	max-width: 380px;
	display: block;
	margin: 0 auto;
}
#recruit04 a:hover {
	transform: scale(1.15);
	opacity: 0.7;
}

@media screen and (max-width: 1700px) {
	#recruit01 {
		width: 95%;
		margin-left: 0;
	}
	#recruit01 > div > div {
		padding-right: 0;
	}
	#recruit .icon_plus_on::after {
		right: 20px;
		bottom: -480px;
	}
}
@media screen and (max-width: 1300px) {
	#recruit01 {
		background: url(../img/recruit/president_img.jpg) no-repeat bottom left;
		background-size: 80% auto;
	}
	#recruit01 > div > div {
		width: 50%;
		min-height: unset;
		margin-left: 50%;
	}
	#recruit01 > div p {
		max-width: unset;
	}
}
@media screen and (max-width: 1200px) {
	.rec_staff {
		margin-bottom: 80px;
	}
	.rec_staff > div > div {
		width: 100%;
	}
	.rec_staff > div > ul {
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.rec_staff > div > ul li {
		width: 48%;
	}
}
@media screen and (max-width: 1100px) {
	#recruit01 {
		background: url(../img/recruit/president_img.jpg) no-repeat bottom left;
		background-size: 100% auto;
	}
	#recruit01 > div > div {
		width: 100%;
		margin-left: 0;
		margin-bottom: 480px;
		padding: 0 0 3% 5%;
	}
	#recruit .icon_plus_on::after {
		right: -20px;
		bottom: -800px;
	}
}

/* 松徳の強み */
#sec_str {
	margin-bottom: 150px;
}
#sec_str h3 {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 50px;
	font-size: 180%;
	letter-spacing: 0.5rem;
}

#sec_str h3 span {
	display: inline-block;
	font-size: 400%;
	color: #008041;
	line-height: 1;
	font-family: "Noto Serif Display", serif;
	letter-spacing: 0.2rem;
	font-weight: 400;
	margin-right: 30px;
	vertical-align: -7px;
}

#sec_str > div > div {
	width: 90%;
	max-width: 1400px;
	min-height: 580px;
	margin: 0 auto 8%;
}

#strength01 {
	background: url(../img/strength/str_img01.jpg?2026) no-repeat top left;
	background-size: 70% auto;
	padding-left: 800px;
}
#strength02 {
	background: url(../img/strength/str_img02.jpg) no-repeat top right;
	background-size: 70% auto;
	padding-left: 0;
	position: relative;
}
#strength03 {
	background: url(../img/strength/str_img03.jpg?2026) no-repeat top left;
	background-size: 70% auto;
	padding-left: 800px;
}
#sec_str > div > div > div > div {
	width: 500px;
	background: #fff;
	min-height: 400px;
	padding: 0 0 5% 8%;
	letter-spacing: 0.1rem;
	line-height: 2;
}
#strength02 > div > div {
	padding: 0 5% 5% 0 !important;
	position: relative;
	margin-left: 100px;
}

#sec_str > div > div h4 {
	font-size: 160%;
	letter-spacing: 0.3rem;
	margin-bottom: 30px;
	line-height: 1.6;
}
#sec_str > div > div p {
	font-size: 90%;
	line-height: 2.2;
}
#sec_str > div > div ul {
	font-size: 80%;
	line-height: 1.6;
}
#strength02 > div > div > img {
	width: 65px;
	position: absolute;
	right: 8%;
	bottom: 8%;
}

#strength .icon_plus_on::after {
	content: "";
	width: 65%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -60px;
	bottom: -550px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}
#strength02 .btn_g a {
	width: 220px;
	padding: 13px 18px 13px 12px;
	font-size: 90%;
	position: absolute;
	bottom: -80px;
	left: 0;
}

@media screen and (max-width: 1500px) {
	#sec_str > div > div {
		width: 95%;
		max-width: unset;
		margin-left: 0;
	}
	#strength02 {
		margin-left: 5% !important;
	}
	#strength02 > div > div {
		margin-left: 5%;
	}
	#strength .icon_plus_on::after {
		width: 55%;
		right: -50px;
		bottom: -550px;
	}
}
@media screen and (max-width: 1380px) {
	#strength .icon_plus_on::after {
		width: 60%;
		right: -40px;
		bottom: -500px;
	}
	#strength01,
	#strength03 {
		padding-left: 50%;
	}
	#sec_str > div > div > div > div {
		width: 100%;
	}
	#strength02 > div {
		width: 45%;
	}
}
@media screen and (max-width: 1100px) {
	#strength .icon_plus_on::after {
		width: 40%;
		right: -20px;
		bottom: -690px;
	}
	#strength01,
	#strength03 {
		padding-left: 10%;
		padding-bottom: 400px;
	}
	#strength01 {
		background: url(../img/strength/str_img01.jpg?2026) no-repeat bottom left;
		background-size: 80% auto;
	}
	#strength02 {
		background: url(../img/strength/str_img02.jpg) no-repeat bottom right;
		background-size: 80% auto;
		padding-bottom: 400px;
	}
	#strength03 {
		background: url(../img/strength/str_img03.jpg?2026) no-repeat bottom left;
		background-size: 80% auto;
	}
	#strength02 > div {
		width: 85%;
	}

	#sec_str > div > div > div > div {
		min-height: unset;
		padding-left: 5%;
	}
	#strength02 > div > div {
		padding-bottom: 120px !important;
	}
	#strength02 .btn_g a {
		bottom: 0;
	}
	#strength02 > div > div > img {
		right: 5%;
	}
}

/* 理念 */
#philosophy h2 + p {
	font-size: 180%;
	letter-spacing: 1rem;
	margin: 40px auto;
	padding-left: 15px;
}

#sec_phil01 {
	width: 90%;
	max-width: 1000px;
	margin: -5% auto 5%;
	text-align: center;
}
#sec_phil01 dl {
	margin-bottom: 30px;
	padding-top: 30px;
	padding-bottom: 20px;
	position: relative;
}
#sec_phil01 dl::before {
	content: "";
	width: 18px;
	height: 18px;
	display: block;
	background: #008041;
	position: absolute;
	top: -8px;
	right: 0;
	left: 0;
	margin: 0 auto;
}
#sec_phil01 dl dt {
	font-size: 190%;
	color: #008041;
	letter-spacing: 1rem;
	line-height: 1.6;
	margin-bottom: 10px;
	padding-left: 15px;
}
#sec_phil01 dl dd {
	letter-spacing: 0.05em;
}

#sec_phil02 {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 8%;
}

#sec_phil02 > div {
	margin-bottom: 5%;
	position: relative;
}
#sec_phil02 > div > h3 {
	font-size: 130%;
	color: #008041;
	margin-bottom: 30px;
	border-left: 1px solid #008041;
	padding-top: 40px;
	padding-left: 15px;
}
#sec_phil02 > div > div {
	margin-bottom: 5%;
}
#sec_phil02 > div > div h4 {
	font-size: 120%;
	margin-bottom: 15px;
}
#sec_phil02 > div > div h4 span {
	color: #008041;
	font-size: 90%;
	letter-spacing: 1.2rem;
	margin-left: -5px;
	display: block;
}
#sec_phil02 > div > div ul li {
	text-indent: -1.2rem;
	margin-left: 1.2rem;
	line-height: 1.6;
	margin-bottom: 5px;
	font-size: 90%;
}

#philosophy .icon_plus_on::after {
	content: "";
	width: 38%;
	max-width: 450px;
	height: 450px;
	background: url(../img/icon_plus.png) no-repeat top right;
	background-size: 100% auto;
	pointer-events: none;
	position: absolute;
	right: -80px;
	top: -90px;
	z-index: 2;
	opacity: 0;
	transform: scale(0.8);
	animation: fadeInScale 1.2s ease forwards 1.5s;
	mix-blend-mode: multiply;
}

@media screen and (max-width: 1200px) {
	#philosophy .icon_plus_on::after {
		right: -30px;
		top: -90px;
	}
	#sec_phil02 > div > h3 {
		margin-bottom: 20px;
		padding-top: 20px;
	}
}



/*---------------------------------------------
NEWS
---------------------------------------------*/
.content_wrap{
max-width:1140px;
margin:0 auto 100px;
padding-left:40px;
padding-right:40px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.content_area{
width:68%;
}

.news-side{
width:25%;
}

.news-ttl-area h3{
font-weight:500;
font-size:2.5rem;
border-bottom:solid 1px #ccc;
line-height:1.5;
padding-bottom:8px;
margin-bottom:30px;
}

.side-link-list{
padding-bottom:20px;
border-bottom:dotted 1px #ccc;
margin-bottom:20px;
}

.side-link-list li {
margin-left:1.5rem;
font-size:1.4rem;
line-height:1.5;
list-style-type:disc;
margin-bottom:10px;
}

.side-link-list02 li {
margin-left:1.5rem;
font-size:1.5rem;
line-height:1.5;
list-style-type:disc;
margin-bottom:10px;
}

/* 投稿本文の基本リセット */
.content_in *,
.content_in *::before,
.content_in *::after {
  box-sizing: border-box;
}

.content_in h1,
.content_in h2,
.content_in h3,
.content_in h4,
.content_in h5,
.content_in h6,
.content_in p,
.content_in ul,
.content_in ol,
.content_in li,
.content_in dl,
.content_in dt,
.content_in dd,
.content_in blockquote,
.content_in figure {
  margin: 0;
  padding: 0;
}

.content_in ul,
.content_in ol {
  padding-left: 1.5em;
}

.content_in img {
  max-width: 100%;
  height: auto;
  display: block;
}

.content_in table {
  border-collapse: collapse;
  width: 100%;
}

.content_in{
font-family: "Noto Sans JP", sans-serif;
font-feature-settings: "palt";
color:#444;
margin-bottom:80px;
}

.content_in p{
margin-bottom:1.0em;
font-size:1.6rem;
}

.content_in img{
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain;
}

.content_in a{
text-decoration:underline;
color:#183587 !important;
}

.content_in a:hover{
opacity:0.6;
}

.content_in ul li{
list-style-type:disc !important;
margin-left:0.5em;
}


.content_in table{
border:solid 1px #444;
font-size:1.5rem;
}

.content_in table td,
.content_in table th{
border:solid 1px #444;
padding:8px 12px;
}

.content_in h1{font-size:3.0rem;font-weight:700;}
.content_in h2{font-size:2.5rem;font-weight:700;}
.content_in h3{font-size:2.0rem;font-weight:700;}
.content_in h4{font-size:1.7rem;font-weight:700;}
.content_in h5{font-size:1.5rem;font-weight:700;}



.news_list a {
display:block;
}

.news_list a:hover{
background:#eaf4f9;
}


.news_list dl {
border-bottom:solid 1px #ccc;
}

.news_list dl{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	padding:15px 10px;
	line-height:1.7;
}

.news_list dt{
width:7em;
}

.news_list dd{
width: calc(100% - 7em);
}

.h-news{
margin-bottom:20px;
display:inline-block;
height:40px;
line-height:40px;
padding:0 1em;
background:#172a88;
color:#fff;
font-weight:500;
}

.pager{
  margin:60px auto 0;
  text-align:center;
}

.pager .page-numbers{
  font-size:1.4rem;
  display:inline-block;
  padding:5px 15px;
  margin:0 5px;
  border:1px solid #ccc;
}

.pager .current{
  background:#000;
  color:#fff;
  border-color:#000;
}


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

.content_wrap{
max-width:1140px;
margin:0 auto 50px;
padding-left:4vw;
padding-right:4vw;
}


.content_area{
width:100%;
margin-bottom:60px;
}

.news-side{
width:100%;
}

.content_in{
margin-bottom:40px;
}

.news-ttl-area h3{
font-size:1.9rem;
padding-bottom:10px;
margin-bottom:20px;
}

.content_in p{
margin-bottom:1.0em;
font-size:1.3rem;
}

.content_in table{
font-size:1.3rem;
}

.side-link-list li {
margin-left:2.5rem;
font-size:1.4rem;
}

.side-link-list02 li {
margin-left:2.5rem;
font-size:1.4rem;
}

.side-link-ttl{
font-size:1.5rem;
}

.news_list dt{
width:100%;
}

.news_list dd{
width: 100%;
font-size:1.4rem;
}


}

/*---------------------------------------------
NOT FOUND
---------------------------------------------*/

h2.notfound{
letter-spacing:0 !important;
}

.notfound_wrap{
max-width:740px;
margin:0 auto 80px;
}

/* hide reCAPTCHA v3 badge */
.grecaptcha-badge {
    visibility: hidden;
}


