@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;600;700&display=swap');

html {
	font-size: 62.5%;
	-ms-overflow-style: scrollbar;
}

body {
	max-width: 1920px;
	margin: 0 auto;
	padding: 0;
	background: #fff;
	color: #171d1a;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	font-size: 1.5rem;
	-webkit-text-size-adjust: 100%;
}

* {
	box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul {
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

li {
	list-style: none;
}

a {
	color: inherit;
	text-decoration: none;
	transition: opacity .2s, background-color .2s, color .2s;
}

a:hover {
	color: inherit;
	text-decoration: none;
}

a:focus,
button:focus {
	outline: none;
}

a:focus-visible,
button:focus-visible {
	outline: 2px solid #ef8500;
	outline-offset: 2px;
}

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

.br10 img {
	border-radius: 10px;
}

.br20 img {
	border-radius: 20px;
}

.br30 img {
	border-radius: 30px;
}

img.br10 {
	border-radius: 10px;
}

img.br20 {
	border-radius: 20px;
}

img.br30 {
	border-radius: 30px;
}

a.underline {
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
	filter: alpha(opacity=70);
	-moz-opacity: 0.70;
	opacity: 0.70;
}

.pos {
	position: relative;
}

@media (max-width: 767px) {
	.flex_b {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}

	.reverse_sp {
		flex-direction: column-reverse !important;
	}
}

@media (min-width: 768px) {
	.flex_b {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
}

@media (max-width: 767px) {
	.flex_c {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

@media (min-width: 768px) {
	.flex_c {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.flex_s {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
}

@media (min-width: 768px) {
	.flex_s {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.flex_e {
		display: flex;
		flex-direction: column;
	}
}

@media (min-width: 768px) {
	.flex_e {
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
	}
}

@media (min-width: 1921px) {
	.bg_top04 .flex_e,.bg_top02 .flex_e {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}
}

.stretch {
	align-items: stretch;
}

.center {
	align-items: center;
}

.start {
	align-items: flex-start;
}

.end {
	align-items: flex-end;
}

.baseline {
	align-items: baseline;
}

.wrap {
	flex-wrap: wrap;
}

.dg {
	display: grid;
}

.inner_body {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
}

.container_wide {
	width: 90%;
	max-width: 1480px;
	margin: 0 auto;
}

.en {
	font-family: "Source Sans 3", Arial, sans-serif;
}

h2.top {
	text-align: center;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.42;
	letter-spacing: .02em;
}

h2.top span {
	display: block;
	margin-bottom: 2px;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 2.2;
	letter-spacing: .22em;
}

p.btn_text a {
	display: inline-flex;
	align-items: center;
	min-width: 220px;
	padding: 5px 0 10px;
	border-bottom: 1px solid currentColor;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .05em;
}

p.btn_text a span {
	margin-left: auto;
	padding-left: 35px;
}

/* header
=========================================================================== */

header {
	position: relative;
	z-index: 1000;
	width: 100%;
	height: 106px;
	background: #fff;
}

.inner_header {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

h1.logo_h {
	flex: 0 0 340px;
	width: 340px;
	margin-left: 58px;
}

h1.logo_h a {
	display: block;
}

.mark_80 {
	width: 142px;
	height: 77px;
	margin-left: 24px;
}

.mark_80 .since {
	position: absolute;
	top: 0;
	left: 20px;
	font-size: 1rem;
	line-height: 1;
	letter-spacing: .08em;
}

.mark_80 .number {
	position: absolute;
	top: 10px;
	left: 20px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 5rem;
	font-style: italic;
	line-height: 1;
	letter-spacing: -.08em;
}

.mark_80 .unit {
	position: absolute;
	top: 48px;
	left: 66px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.4rem;
	font-style: italic;
	line-height: 1;
}

.drawer {
	flex: 1;
	height: 100%;
}

.drawer_bg,
.drawer_inner {
	height: 100%;
}

.drawer_inner {
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
}

.header_right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-right: 30px;
}

.info_h {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 50px;
	padding: 5px 30px 0 15px;
}

.sns_h {
	display: flex;
	align-items: center;
	margin-right: 22px;
}

.sns_h li + li {
	margin-left: 14px;
}

.sns_h img {
	width: 22px;
	height: 22px;
	object-fit: contain;
}

.text_tel_h {
	margin-right: 16px;
	color: #758078;
	font-size: 1.2rem;
	line-height: 1.8;
}

.tel_h span {
	color: #171d1a;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .02em;
}

.gnav_items {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 56px;
}

.gnav_item {
	position: relative;
	height: 100%;
}

.gnav_item > a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 10px 23px;
	color: #171d1a;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.8;
	white-space: nowrap;
}

.menu_btn > a {
	padding-right: 47px;
}

.gnav_item > a:hover,
.gnav_item.active > a {
	color: #035f1d;
}

.btn_drop {
	position: absolute;
	top: 50%;
	right: 14px;
	z-index: 2;
	width: 28px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #171d1a;
	cursor: pointer;
	transform: translateY(-50%);
}

.icon_drop {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translate(-50%, -70%) rotate(45deg);
	transition: transform .2s;
}

.menu_btn.is-open .btn_drop {
	color: #035f1d;
}

.menu_btn.is-open .icon_drop {
	transform: translate(-50%, -20%) rotate(225deg);
}

.inner_drop {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 10;
	display: none;
	overflow-y: auto;
	width: 280px;
	max-width: 90vw;
	max-height: 70vh;
	border-top: 3px solid #035f1d;
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 46, 23, .16);
	transform: translateX(-50%);
}

.menu_products .inner_drop {
	width: 330px;
}

.menu_btn.is-open .inner_drop {
	display: block;
}

.inner_drop li {
	border-bottom: 1px solid #e5e9e6;
}

.inner_drop li:last-child {
	border-bottom: 0;
}

.inner_drop a {
	position: relative;
	display: block;
	padding: 13px 38px 13px 20px;
	color: #171d1a;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.inner_drop a::after {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 7px;
	height: 7px;
	border-top: 1px solid #035f1d;
	border-right: 1px solid #035f1d;
	content: "";
	transform: translateY(-50%) rotate(45deg);
}

.inner_drop a:hover,
.inner_drop a:focus {
	background: #f1f6f2;
	color: #035f1d;
	opacity: 1;
}

p.btn_contact_h {
	flex: 0 0 152px;
	width: 152px;
	height: 106px;
}

p.btn_contact_h a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #035f1d;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .05em;
}

p.btn_contact_h img {
	width: 25px;
	height: 20px;
	margin-bottom: 7px;
	object-fit: contain;
}

.drawer_btn {
	display: none;
}

.drawer__overlay {
	display: none;
}

header.h_fixed {
	position: fixed;
	top: 0;
	left: 50%;
	z-index: 1000;
	max-width: 1920px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
	transform: translateX(-50%);
}

@media (max-width: 1500px) {
	h1.logo_h {
		flex-basis: 280px;
		width: 280px;
		margin-left: 30px;
	}

	.mark_80 {
		margin-left: 20px;
	}

	.info_h {
		padding-right: 20px;
	}

	.gnav_item > a {
		padding-right: 14px;
		padding-left: 14px;
	}

	.menu_btn > a {
		padding-right: 42px;
	}

	.btn_drop {
		right: 10px;
	}
}

@media (max-width: 1400px) {
	h1.logo_h {
		flex-basis: 260px;
		width: 260px;
		margin-left: 25px;
	}

	.mark_80 {
		margin-left: 15px;
	}

	.sns_h {
		margin-right: 18px;
	}

	.tel_h span {
		font-size: 2rem;
	}

	.gnav_item > a {
		padding-right: 12px;
		padding-left: 12px;
	}

	.menu_btn > a {
		padding-right: 39px;
	}

	.btn_drop {
		right: 8px;
	}
}


@media (max-width: 1199px) {
	.text_tel_h {
		display: none;
	}

	h1.logo_h {
		flex-basis: 250px;
		width: 250px;
		margin-left: 25px;
	}

	.mark_80 {
		flex-basis: 120px;
		width: 120px;
		margin-left: 5px;
		padding-left: 5px;
		margin-top: 20px;
	}

	.mark_80 .since,
	.mark_80 .number {
		left: 15px;
	}

	.mark_80 .unit {
		left: 59px;
	}

	.gnav_item > a {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 1.4rem;
	}

	.menu_btn > a {
		padding-right: 36px;
	}

	.btn_drop {
		right: 5px;
	}

	p.btn_contact_h {
		flex-basis: 125px;
		width: 125px;
	}
}

@media (max-width: 991px) {
	header {
		height: 80px;
	}

	h1.logo_h {
		flex-basis: 240px;
		width: 240px;
		margin-left: 25px;
	}

	.mark_80 {
		flex-basis: 120px;
		width: 120px;
		margin-left: 5px;
		padding-left: 5px;
		margin-top: 20px;
	}

	.drawer {
		position: static;
	}

	.header_right {
		margin-right: 0;
	}

	.drawer_btn {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 1002;
		display: block;
		width: 80px;
		height: 80px;
		padding: 0;
		border: 0;
		background: #035f1d;
	}

	.btn_line {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 32px;
		height: 2px;
		margin: auto;
		background: #fff;
		transition: .4s;
	}

	.btn_line:nth-child(1) {
		transform: translateY(-10px);
	}

	.btn_line:nth-child(3) {
		transform: translateY(10px);
	}

	.is-drawer-open .btn_line:nth-child(1) {
		transform: rotate(45deg);
	}

	.is-drawer-open .btn_line:nth-child(2) {
		opacity: 0;
	}

	.is-drawer-open .btn_line:nth-child(3) {
		transform: rotate(-45deg);
	}

	.drawer_bg {
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 1000;
		overflow-y: auto;
		width: 78%;
		height: 100vh;
		background: #024014;
		transition: transform .45s;
	}

	.is-drawer-open .drawer_bg {
		transform: translateX(-100%);
	}

	.drawer_inner {
		display: block;
		height: auto;
		min-height: 100%;
		padding: 100px 35px 50px;
	}

	.header_right {
		display: flex;
		flex-direction: column-reverse;
	}

	.info_h {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		height: auto;
		padding: 30px 10px 0;
	}

	.sns_h {
		margin-bottom: 15px;
	}

	.tel_h span {
		color: #fff;
		font-size: 2rem;
	}

	.gnav_items {
		display: block;
		height: auto;
	}

	.gnav_item {
		height: auto;
		border-bottom: 1px solid rgba(255, 255, 255, .2);
	}

	.gnav_item > a {
		display: block;
		height: auto;
		padding: 10px 10px;
		color: #fff;
		font-size: 1.6rem;
	}

	.menu_btn > a {
		padding-right: 60px;
	}

	.gnav_item > a:hover,
	.gnav_item.active > a {
		color: #fff;
		opacity: .7;
	}

	.btn_drop {
		top: 0px;
		right: 0;
		width: 48px;
		height: 48px;
		border-left: 1px solid rgba(255, 255, 255, .2);
		color: #fff;
		transform: none;
	}

	.menu_btn.is-open .btn_drop {
		color: #fff;
	}

	.inner_drop,
	.menu_products .inner_drop {
		position: static;
		width: 100%;
		max-width: none;
		max-height: 45vh;
		border-top: 1px solid rgba(255, 255, 255, .2);
		background: rgba(0, 35, 12, .55);
		box-shadow: none;
		transform: none;
	}

	.inner_drop li {
		border-bottom: 1px solid rgba(255, 255, 255, .12);
	}

	.inner_drop a {
		padding: 13px 42px 13px 25px;
		color: #fff;
		font-size: 1.5rem;
	}

	.inner_drop a::after {
		right: 20px;
		border-color: #fff;
	}

	.inner_drop a:hover,
	.inner_drop a:focus {
		background: rgba(255, 255, 255, .08);
		color: #fff;
	}

	p.btn_contact_h {
		width: 100%;
		height: 60px;
		margin-top: 20px;
	}

	p.btn_contact_h a {
		flex-direction: row;
		border: 1px solid rgba(255, 255, 255, .5);

	}

	p.btn_contact_h img {
		margin: 0 12px 0 0;
	}

	.drawer__overlay {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		display: block;
		visibility: hidden;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, .35);
		opacity: 0;
		transition: opacity .45s, visibility .45s;
	}

	.is-drawer-open .drawer__overlay {
		visibility: visible;
		opacity: 1;
	}
}

@media (max-width: 767px) {
	header {
		height: 60px;
	}

	h1.logo_h {
		flex-basis: 205px;
		width: 205px;
		margin-left: 15px;
	}

		.mark_80 {
		flex-basis: 70px;
		width: 70px;
		margin-left: 5px;
		padding-left: 5px;
		margin-top: 40px;
	}

	.drawer_btn {
		width: 60px;
		height: 60px;
	}

	.drawer_bg {
		width: 90%;
	}

	.drawer_inner {
		padding: 85px 20px 40px;
	}
}

@media (max-width: 380px) {
		.mark_80 {
		flex-basis: 50px;
		width: 50px;
		margin-left: 5px;
		padding-left: 0;
		margin-top: 50px;
	}
}

@media (max-width: 350px) {
.mark_80 {
	display: none;
}
}
/* mainimg
=========================================================================== */

.bg_mainimg,
.inner_mainimg,
.swiper-container {
	position: relative;
	width: 100%;
	height: 460px;
}

.swiper-wrapper,
.swiper-slide,
.slide-img {
	width: 100%;
	height: 100%;
}

.swiper-slide {
	overflow: hidden;
}

.slide-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.04);
	transform-origin: center center;
	will-change: transform;
}

.swiper-slide.is-mainimg-zooming .slide-img img {
	animation: mainimg-zoom-out 6.8s ease-out forwards;
}

.swiper-slide.is-mainimg-end .slide-img img {
	transform: scale(1.01);
}

@keyframes mainimg-zoom-out {
	from {
		transform: scale(1.04);
	}

	to {
		transform: scale(1.01);
	}
}

.inner_catch {
	position: absolute;
	top: 70px;
	left: 11.45%;
	z-index: 5;
	width: 860px;
	color: #fff;
}

.en_mainimg {
	margin-bottom: 10px;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: .28em;
}

.catch_mainimg {
	font-size: 5rem;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: .045em;
}

.sub_mainimg {
	margin: 10px 0 10px 0;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .08em;
}

.lead_mainimg {
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.65;
	letter-spacing: .045em;
	margin-bottom: 5px;
}

.text_mainimg {
	font-size: 2rem;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: .06em;
}

.hero-index {
	position: absolute;
	top: 160px;
	right: 35px;
	z-index: 6;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.hero-index button {
	display: flex;
	align-items: center;
	margin-bottom: 18px;
	padding: 0;
	border: 0;
	background: none;
	color: #035f1d;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.2rem;
	letter-spacing: .1em;
}

.hero-index .bar {
	display: block;
	width: 25px;
	height: 1px;
	margin-left: 12px;
	background: #035f1d;
	transition: width .4s;
}

.hero-index button.on .bar {
	width: 60px;
}

.scroll-guide {
	position: absolute;
	bottom: 54px;
	left: 3%;
	z-index: 6;
	display: flex;
	align-items: center;
	color: #fff;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: .9rem;
	letter-spacing: .28em;
	writing-mode: vertical-rl;
}

.scroll-guide i {
	position: relative;
	display: block;
	overflow: hidden;
	width: 1px;
	height: 62px;
	margin-top: 13px;
	background: rgba(255, 255, 255, .55);
}

.scroll-guide i:after {
	position: absolute;
	top: -100%;
	left: 0;
	width: 1px;
	height: 100%;
	background: #fff;
	content: "";
	animation: scroll-line 2.2s infinite;
}

@keyframes scroll-line {
	to {
		transform: translateY(200%);
	}
}

@media (max-width: 1199px) {
	.inner_catch {
		left: 7%;
	}
}

@media (max-width: 991px) {
	.bg_mainimg,
	.inner_mainimg,
	.swiper-container {
		height: 520px;
	}

	.inner_catch {
		top: 130px;
		width: 80%;
	}

	.catch_mainimg {
		font-size: 4.5rem;
	}

	.lead_mainimg {
		font-size: 2.3rem;
	}

	.hero-index,
	.scroll-guide {
		display: none;
	}
}

@media (max-width: 767px) {
	.bg_mainimg,
	.inner_mainimg,
	.swiper-container {
		height: 500px;
	}

	.inner_catch {
		top: 35%;
		left: 7%;
		width: 86%;
	}

	.en_mainimg {
		margin-bottom: 12px;
		font-size: .9rem;
		letter-spacing: .18em;
	}

	.catch_mainimg {
		font-size: 3rem;
		line-height: 1.45;
		letter-spacing: .02em;
	}

	.sub_mainimg {
		margin: 0 0 12px;
		font-size: 1.7rem;
	}

	.lead_mainimg {
		font-size: 2.2rem;
		line-height: 1.65;
	}

	.text_mainimg {
		margin-top: 8px;
		font-size: 1.5rem;
	}
}

@media (max-width: 420px) {
	.catch_mainimg {
		font-size: 2.4rem;
	}

	.lead_mainimg {
		font-size: 1.4rem;
	}
}

/* index.html
=========================================================================== */

.bg_top01 {
	position: relative;
	z-index: 10;
	height: 545px;
	background: #fff;
}

.inner_top01 {
	position: absolute;
	top: -52px;
	left: 50%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	width: 100%;
	max-width: 1820px;
	height: 560px;
	background: #fff;
	box-shadow: 0 35px 55px rgba(18, 48, 31, .14);
	transform: translateX(-50%);
	padding: 0 15px 0 15px;
}

p.pic_top01 {
	width: 43%;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	background: #fffef5;
	padding-top: 40px;
}

p.pic_top01 img {
	width: 100%;
	max-width: 760px;
}

.cont_top01 {
	width: 53%;
	flex-shrink: 0;
	padding: 35px 0;
	background: #fff;
}

.head_top01 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
}

.head_top01 .en {
	color: #035f1d;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: .22em;
}

.head_top01 h2 {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
}

.link_top01 a {
	display: inline-flex;
	align-items: center;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.8;
}

.link_top01 a span {
	margin-left: 20px;
	color: #035f1d;
}

.tab_top01 {
	display: flex;
	flex-wrap: wrap;
	padding-top: 10px;
	border-bottom: 2px solid #035f1d;
	margin-bottom: 30px;
}

.tab_top01 li {
	flex: 1;
	margin-right: 3px;
	margin-bottom: 3px;
	background: #035f1d;
}

.tab_top01 li:last-child {
	margin-right: 0;
}

.tab_top01 a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	border-radius: 4px 4px 0 0;
	background: inherit;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	transition: box-shadow .2s ease, transform .2s ease;
}

.tab_top01.nav-tabs > li > a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0;
	padding: 0 8px;
	border: 0;
	background: inherit;
	color: #fff;
	line-height: 1.25;
}

.tab_top01.nav-tabs > li.active {
	background: #035f1d;
}

.tab_top01.nav-tabs > li.active > a {
	border: 0;
	background: inherit;
	box-shadow: 0 10px 15px rgba(18, 48, 31, .28);
	color: #fff;
	transform: translateY(-5px);
}

.tab_top01.nav-tabs > li.cat02 > a {
	background: inherit;
}

.tab_top01.nav-tabs > li.cat03 > a {
	background: inherit;
}

.tab_top01.nav-tabs > li.cat04 > a {
	background: inherit;
}

.tab_top01 .cat05 {
	flex: 1.5;
}

.tab_top01.nav-tabs > li.cat05 > a {
	background: inherit;
}

.tab_top01 .cat06 {
	flex: 1.3;
}

.tab_top01.nav-tabs > li.cat06 > a {
	background: inherit;
}

.tab-content_top01 {
	height: 301px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

@media (prefers-reduced-motion: reduce) {
	.tab_top01 a {
		transition: none;
	}
}

.list_top01 {
	border-right: 1px dotted #d7d1bf;
	border-bottom: 1px dotted #d7d1bf;
	border-left: 1px dotted #d7d1bf;
}

.list_top01 > li {
	display: flex;
	align-items: center;
	min-height: 100px;
	padding: 15px 20px;
	border-bottom: 1px dotted #d7d1bf;
}

.list_top01 > li:last-child {
	border-bottom: 0;
}

.date_top01 {
	flex: 0 0 165px;
	padding-right: 20px;
}

.date_top01 time {
	display: block;
	margin-bottom: 5px;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.8;
}

.date_top01 p.icon_new {
	display: inline-flex;
	color: #fff;
	font-size: 1.1rem;
	background-color: #d60808;
	font-weight: 600;
	padding: 0.08em 0.5em;
}

.date_top01 span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	background: #526d62;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 700;
}

.date_top01 span.cat02 {
	background: #9a7b42;
	padding: 0.3em;
}

.list_top01 p.text {
	flex: 1;
	padding: 0 25px;
	border-left: 1px dotted #d7d1bf;
	font-size: 1.6rem;
	line-height: 1.8;
}

p.btn_detail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px;
	height: 43px;
	border-radius: 4px;
	background: #035f1d;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}

p.btn_detail span {
	margin-left: 15px;
}

@media (max-width: 1500px) {
	.cont_top01 {
		padding-right: 25px;
		padding-left: 25px;
	}

	.tab_top01 a {
		font-size: 1.1rem;
	}

	.date_top01 {
		flex-basis: 150px;
	}

	.list_top01 p.text {
		padding-right: 15px;
		padding-left: 15px;
	}
}

@media (max-width: 1199px) {
	.inner_top01 {
		width: 100%;
	}

	p.pic_top01 {
		flex-basis: 50%;
	}
		p.pic_top01 img {
		max-width: inherit;
		width: 100%;
	}

	.cont_top01 {
		padding-right: 20px;
		padding-left: 20px;
	}

	.tab_top01 .cat05 {
		flex: 1.3;
	}

	.tab_top01 .cat06 {
		flex: 1.1;
	}

	.date_top01 {
		flex-basis: 135px;
	}

	.date_top01 span {
		width: 120px;
	}

	.list_top01 p.text {
		font-size: 1.4rem;
	}
}

@media (max-width: 1080px) {
	.bg_top01 {
		height: auto;
		padding: 60px 0 80px;
	}

	.inner_top01 {
		position: static;
		display: block;
		height: auto;
		transform: none;
	}

	p.pic_top01 {
		width: 100%;
		flex-basis: auto;
		padding: 0 0;
	}

	p.pic_top01 img {
		max-width: inherit;
		width: 100%;
	}

	.cont_top01 {
		width: 100%;
		padding: 35px 25px;
	}
}

@media (max-width: 767px) {
	.bg_top01 {
		padding: 35px 0 0;
	}

	.inner_top01 {
		width: 100%;
	}

	p.pic_top01 img {
		width: 100%;
		max-width: inherit;
	}

	.cont_top01 {
		padding: 30px 0 30px;
	}

	.head_top01 {
		margin-bottom: 15px;
	}

	.head_top01 h2 {
		font-size: 2.5rem;
	}

	.link_top01 {
		display: none;
	}

	/* .tab_top01 {
		overflow-x: auto;
	} */

	.tab_top01 li {
		flex: 0 0 110px;
	}

	.list_top01 > li {
		position: relative;
		display: block;
		padding: 30px 10px 30px;
	}

	.date_top01 {
		display: flex;
		align-items: center;
		padding-right: 0;
	}

	.date_top01 > .flex_b {
		flex-direction: row;
	}

	.date_top01 p.icon_new {
	display: inline-flex;
	color: #fff;
	font-size: 1.1rem;
	background-color: #d60808;
	font-weight: 600;
	padding: 0.08em 0.5em;
	margin-right: 15px;
}

	.date_top01 time {
		margin: 0 15px 0 0;
	}

	.date_top01 span {
		width: inherit;
	}

	.list_top01 p.text {
		margin-top: 10px;
		padding: 0;
		border-left: 0;
		font-size: 1.5rem;
	}

	p.btn_detail a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	border-radius: 4px;
	background: #035f1d;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
	position: relative;
	margin-top: 20px;
}
}

.bg_top02 {
	padding-top: 85px;
	padding-bottom: 100px;
	background: #045e1e;
	color: #fff;
}

.bg_top02 h2.top {
	margin-bottom: 35px;
	color: #fff;
}

.bg_top02 h2.top span {
	color: #b8e0c4;
}

.list_top02 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 24px;
}

.list_top02 li {
	height: 310px;
}

.list_top02 a {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	height: 100%;
	color: #fff;
}

.list_top02 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s;
}

.list_top02 a:hover img {
	transform: scale(1.04);
}

.cover_top02 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 35%, rgba(0, 28, 10, .78) 100%);
}

.cont_top02 {
	position: absolute;
	right: 28px;
	bottom: 20px;
	left: 28px;
	display: block;
}

.cont_top02 small,
.cont_top02 strong,
.cont_top02 > span {
	display: block;
}

.cont_top02 small {
	margin-bottom: 2px;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .18em;
}

.cont_top02 strong {
	margin-bottom: 2px;
	font-size: 2.7rem;
	line-height: 1.35;
}

.cont_top02 > span {
	font-size: 1.3rem;
	line-height: 1.6;
}

.bg_top02 p.btn_text {
	margin-top: 0;
	text-align: center;
}

.bg_top02 p.btn_text a {
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 310px;
	border: 1px solid #fff;
	font-size: 2rem;
	padding-top: 40px;
}

.bg_top02 p.btn_text a span {
	margin: 0 auto 0;
	padding-left: 0;
	font-size: 3rem;
}

@media (max-width: 1199px) {
	.bg_top02 {
		height: auto;
		padding: 75px 0 80px;
	}

	.cont_top02 {
		right: 20px;
		left: 20px;
	}

	.cont_top02 strong {
		font-size: 2.4rem;
	}
}

@media (max-width: 991px) {
	.list_top02 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.bg_top02 {
		padding: 55px 0 60px;
	}

	.bg_top02 h2.top {
		margin-bottom: 25px;
		font-size: 2.4rem;
	}

	.bg_top02 h2.top span {
		font-size: 1.2rem;
		margin-bottom: 0;
		line-height: 1.2;
	}

	.list_top02 {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.list_top02 li {
		height: 270px;
	}

	.bg_top02 p.btn_text {
		margin-top: 35px;
	}

	p.btn_text a {
		font-size: 1.4rem;
	}

	.bg_top02 p.btn_text {
	margin-top: 0;
	text-align: center;
}

.bg_top02 p.btn_text a {
	color: #fff;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	height: 50px;
	border: 1px solid #fff;
	font-size: 1.4rem;
	max-width: 200px;
	margin: 20px auto 0;
	padding: inherit;
}

.bg_top02 p.btn_text a span {
	padding-left: 0;
	font-size: 1.4rem;
	margin: 0;
	margin-left: 10px;
}

.list_top02 li:last-child {
	height: inherit;
}
}

.bg_top03 {
	height: 1337px;
	padding-top: 120px;
	background: #fff url(../images/bg_top03.jpg) center bottom / 1920px 725px no-repeat;
}

.inner_top03 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.cont_top03 {
	width: 65%;
	max-width: 957px;
}

.cont_top03 > .en {
	margin-bottom: 18px;
	color: #57635b;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2.2;
	letter-spacing: .22em;
}

.lead_top03 {
	margin-bottom: 30px;
	color: #035f1d;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.9;
}

.cont_top03 p.text {
	margin-bottom: 35px;
	color: #57635b;
	font-size: 1.7rem;
	line-height: 2.15;
}

.pic_cycle {
	position: relative;
	width: 430px;
	height: 290px;
}

.cycle_inner {
	position: absolute;
	top: 68px;
	left: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 155px;
	border: 4px solid #035f1d;
	border-radius: 80px;
	background: rgba(255, 255, 255, .9);
	color: #27312c;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.65;
	text-align: center;
}

.pic_cycle > span {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border: 5px solid #fff;
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
	color: #fff;
	font-size: 2.9rem;
}

.node_top {
	top: 30px;
	left: 179px;
	background: #ef8500;
}

.node_left {
	top: 109px;
	left: 25px;
	background: #2d9ddd;
}

.node_right {
	top: 109px;
	right: 25px;
	background: #6dbb00;
}

.node_bottom {
	bottom: 30px;
	left: 179px;
	background: #ed3b78;
}

.list_cert {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	gap: 70px;
	margin-top: 65px;
}

.list_cert li {
	width: 350px;
	padding: 18px 18px 20px;
	background: #fff;
	box-shadow: 0 8px 30px rgba(46, 74, 58, .12);
	text-align: center;
}

.list_cert img {
	width: 314px;
	height: 455px;
	margin: 0 auto;
	object-fit: contain;
}

.list_cert p {
	margin-top: 10px;
	color: #035f1d;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: .05em;
}

p.btn_solid {
	margin-top: 55px;
	text-align: center;
}

p.btn_solid a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 330px;
	height: 65px;
	background: #035f1d;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.8;
}

p.btn_solid a span {
	margin-left: 45px;
}

@media (max-width: 1199px) {
	.bg_top03 {
		height: auto;
		padding: 100px 0 110px;
	}

	.cont_top03 {
		width: 62%;
	}

	.pic_cycle {
		transform: scale(.9);
	}

		.node_right {
	top: 109px;
	right: 10px;
	background: #6dbb00;
}
}

@media (max-width: 991px) {
	.inner_top03 {
		display: block;
	}

	.cont_top03 {
		width: 100%;
		max-width: none;
	}

	.pic_cycle {
		margin: 50px auto 0;
		transform: none;
	}

	.node_right {
	top: 109px;
	right: 35px;
	background: #6dbb00;
}
}

@media (max-width: 767px) {
	.bg_top03 {
		padding: 60px 0 80px;
		background-size: auto 520px;
	}

	.lead_top03 {
		font-size: 1.7rem;
		line-height: 1.8;
		margin-bottom: 20px;
	}

	.cont_top03 p.text {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.cont_top03 > .en {
	margin-bottom: 10px;
	color: #57635b;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2.2;
	letter-spacing: .22em;
}

	.pic_cycle {
		width: 330px;
		height: 240px;
		transform: scale(.8);
		transform-origin: center top;
		margin-top: 20px;
	}

.cycle_inner {
	position: absolute;
	top: 68px;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 330px;
	height: 155px;
	border: 4px solid #035f1d;
	border-radius: 80px;
	background: rgba(255, 255, 255, .9);
	color: #27312c;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.65;
	text-align: center;
}

.pic_cycle > span {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border: 5px solid #fff;
	border-radius: 50%;
	box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
	color: #fff;
	font-size: 2.4rem;
}

.node_top {
	top: 30px;
	left: 130px;
	background: #ef8500;
}

.node_left {
	top: 109px;
	left: -25px;
	background: #2d9ddd;
}

.node_right {
	top: 109px;
	right: -25px;
	background: #6dbb00;
}

.node_bottom {
	bottom: -10px;
	left: 130px;
	background: #ed3b78;
}


	.list_cert {
		display: block;
		margin-top: 20px;
	}

	.list_cert li {
		width: 90%;
		max-width: 350px;
		margin: 0 auto 30px;
	}

	p.btn_solid {
		margin-top: 30px;
	}

	p.btn_solid a {
		width: 100%;
		max-width: 240px;
	}
}

.bg_top04 {
	padding-top: 85px;
	background: #f5f7f4;
	padding-bottom: 85px;
}

.bg_top04 h2.top {
	margin-bottom: 65px;
}

.bg_top04 h2.top span {
	color: #59655d;
}

.list_top04 {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 38px 27px;
}

.list_top04 li {
	height: 315px;
	border: 1px solid #e2e6e2;
	background: #fff;
}

.list_top04 a {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.list_top04 img {
	width: 100%;
	height: 262px;
	object-fit: contain;
}

.list_top04 a > span {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	background: #035f1d;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .04em;
}

.list_top04 li.more_top04 {
	border: 1px dashed #8db99a;
	background: #eef4ef;
}

.list_top04 .more_top04 a {
	align-items: center;
	justify-content: center;
	color: #035f1d;
	font-size: 1.8rem;
	font-weight: 700;
}

.list_top04 .more_top04 strong {
	margin-bottom: 25px;
}

.list_top04 .more_top04 span {
	width: 46px;
	height: 46px;
	border-radius: 50%;
}

@media (max-width: 1199px) {
	.bg_top04 {
		height: auto;
		padding: 75px 0 90px;
	}
}

@media (max-width: 991px) {
	.list_top04 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.bg_top04 {
		padding: 55px 0 65px;
	}

	.bg_top04 h2.top {
		margin-bottom: 25px;
		font-size: 2.4rem;
	}

	h2.top span {
		font-size: 1.2rem;
		margin-bottom: 0;
		line-height: 1.2;
	}

	.list_top04 {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.list_top04 li.more_top04 {
		height: 170px;
	}

	.list_top04 a > span {
		height: 46px;
		font-size: 1.6rem;
	}
}

.bg_top05 {
	display: flex;
	width: 100%;
	height: 607px;
	background: #045e1e;
}

p.pic_top05 {
	width: 50%;
	height: 100%;
}

p.pic_top05 img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.cont_top05 {
	position: relative;
	display: flex;
	align-items: center;
	width: 50%;
	height: 100%;
	padding-left: 85px;
	background: #045e1e;
	color: #fff;
}

.cont_top05:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -85px;
	width: 170px;
	background: #045e1e;
	content: "";
	transform: skewX(-8deg);
}

.cont_top05 > div {
	position: relative;
	z-index: 1;
	width: 730px;
}

.cont_top05 .en {
	margin-bottom: 5px;
	color: #96cda8;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.cont_top05 h2 {
	margin-bottom: 30px;
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.cont_top05 p.text {
	margin-bottom: 25px;
	font-size: 1.6rem;
	line-height: 2;
}

.cont_top05 p.btn_text a {
	color: #fff;
}

@media (max-width: 1500px) {
	.cont_top05 {
		padding: 50px 5% 50px 3%;
	}

	.cont_top05 h2 {
		font-size: 3.6rem;
	}
}

@media (max-width: 991px) {
	.bg_top05 {
		display: block;
		height: auto;
	}

	p.pic_top05,
	.cont_top05 {
		width: 100%;
	}

	p.pic_top05 {
		height: 480px;
	}

	.cont_top05 {
		padding: 70px 8%;
	}

	.cont_top05:before {
		display: none;
	}

	.cont_top05 > div {
		width: 100%;
	}
}

@media (max-width: 767px) {
	p.pic_top05 {
		height: 350px;
	}

	.cont_top05 {
		padding: 55px 6%;
	}

	.cont_top05 h2 {
		font-size: 2.4rem;
	}

	.cont_top05 p.text {
		font-size: 1.5rem;
	}
}

.bg_top06 {
	padding: 90px 0 85px;
	background: #fff;
}

.ttl_insta {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 72px;
	margin-bottom: 0;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.8;
}

.ttl_insta img {
	width: 40px;
	height: 40px;
	margin-right: 15px;
	object-fit: contain;
}

.list_insta {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 10px;
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}

.list_insta li {
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #dadddb;
}

.list_insta img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s;
}

.list_insta li:hover img {
	transform: scale(1.03);
}

.tagcolle-more1 {
	display: inline-flex!important;
	align-items: center!important;
	justify-content: center!important;
	width: 240px!important;
	height: 50px!important;
	border: 1px solid #035f1d!important;
	color: #035f1d!important;
	font-family: "Source Sans 3", Arial, sans-serif!important;
	font-size: 1.4rem!important;
	font-weight: 600!important;
	letter-spacing: .05em!important;
	background-color: transparent!important;
	box-shadow: none!important;
	margin-top: 25px!important;
}

@media (max-width: 1199px) {
	.bg_top06 {
		height: auto;
		padding: 80px 0 90px;
	}
}

@media (max-width: 991px) {
	.list_insta {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.bg_top06 {
		padding: 55px 0 65px;
	}

	.ttl_insta {
		height: auto;
		margin-bottom: 0;
		font-size: 2.3rem;
	}

	.ttl_insta img {
		width: 32px;
		height: 32px;
		margin-right: 10px;
	}

	.list_insta {
		grid-template-columns: 1fr 1fr;
		gap: 6px;
		width: 94%;
	}

.tagcolle-more1 {
	display: inline-flex!important;
	align-items: center!important;
	justify-content: center!important;
	width: 180px!important;
	height: 44px!important;
	border: 1px solid #035f1d!important;
	color: #035f1d!important;
	font-family: "Source Sans 3", Arial, sans-serif!important;
	font-size: 1.4rem!important;
	font-weight: 600!important;
	letter-spacing: .05em!important;
	background-color: transparent!important;
	box-shadow: none!important;
	margin-top: 25px!important;
}
}

.bg_contact_f {
	height: 504px;
	background: #045e1e;
	color: #fff;
}

.inner_contact_f {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.cont_contact_f {
	width: 44%;
}

.cont_contact_f .en {
	margin-bottom: 10px;
	color: #b8e0c4;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: .22em;
}

.cont_contact_f h2 {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.45;
}

.box_contact_f {
	width: 51.15%;
	height: 289px;
	border-top: 1px solid rgba(255, 255, 255, .35);
	border-left: 1px solid rgba(255, 255, 255, .35);
}

.info_contact_f {
	display: flex;
	height: 198px;
}

.info_contact_f > div {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 50%;
	padding: 25px 30px;
	border-right: 1px solid rgba(255, 255, 255, .35);
	border-bottom: 1px solid rgba(255, 255, 255, .35);
}

.info_contact_f span.tel_link {
	display: block;
}

.info_contact_f b {
	display: block;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1;
	letter-spacing: .1em;
	text-align: left;
	margin-left: -0.5em;
}

.info_contact_f strong {
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.2;
}

.info_contact_f small {
	margin-top: 5px;
	font-size: 1.2rem;
	line-height: 1.8;
}

.mail_contact_f {
	height: 90px;
}

.mail_contact_f a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0 30px;
	border-right: 1px solid rgba(255, 255, 255, .35);
	border-bottom: 1px solid rgba(255, 255, 255, .35);
}

.mail_contact_f img {
	width: 30px;
	height: 24px;
	margin-right: 20px;
	object-fit: contain;
}

.mail_contact_f strong {
	font-size: 2.1rem;
	line-height: 1.8;
}

.mail_contact_f span {
	margin-left: auto;
	font-size: 2rem;
}

@media (max-width: 1499px) {
	.info_contact_f strong {
		font-size: 3.5rem;
	}

	.cont_contact_f h2 {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.45;
}
}

@media (max-width: 1199px) {
	.bg_contact_f {
		height: auto;
		padding: 90px 0;
	}

	.cont_contact_f h2 {
		font-size: 3rem;
	}

	.info_contact_f strong {
		font-size: 3rem;
	}
}

@media (max-width: 991px) {
	.inner_contact_f {
		display: block;
	}

	.cont_contact_f,
	.box_contact_f {
		width: 100%;
	}

	.cont_contact_f {
		margin-bottom: 30px;
	}
}

@media (max-width: 767px) {
	.bg_contact_f {
		padding: 40px 0;
	}

	.cont_contact_f h2 {
		font-size: 2rem;
	}

	.box_contact_f {
		height: auto;
	}

	.info_contact_f {
		display: block;
		height: auto;
	}

	.info_contact_f > div {
		width: 100%;
		min-height: 100px;
	}

	.info_contact_f strong {
		font-size: 3rem;
	}

	.mail_contact_f img {
		width: 24px;
		margin-right: 10px;
	}

	.mail_contact_f strong {
		font-size: 1.8rem;
	}
}

.bg_relation {
	padding: 55px 0 65px;
	background: #f6f6f4;
}

.ttl_relation {
	margin-bottom: 32px;
	color: #768178;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: .18em;
	text-align: center;
}

.list_relation {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 10px;
	padding: 0;
	list-style: none;
}

.list_relation li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70px;
	border: 1px solid #e2e2e2;
	background: #fff;
}

.list_relation a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 70px;
	padding: 8px 10px;
}

.list_relation img {
	display: block;
	width: 100%;
	max-width: 180px;
	height: 48px;
	object-fit: contain;
}

@media (max-width: 1199px) {
	.bg_relation {
		padding: 50px 0 60px;
	}

	.list_relation {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 767px) {
	.bg_relation {
		padding: 35px 0 45px;
	}

	.list_relation {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.list_relation li,
	.list_relation a {
		min-height: 62px;
	}

	.list_relation img {
		height: 40px;
	}
}

/* footer
=========================================================================== */

footer {
	height: 489px;
	background: #023f14;
	color: #fff;
}

.inner_footer {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	height: 100%;
	padding-top: 115px;
}

.footer_l {
	width: 37%;
}

p.logo_f {
	width: 350px;
	margin-bottom: 30px;
	margin-top: 20px;
}

p.text_f {
	color: rgba(255, 255, 255, .72);
	font-size: 1.6rem;
	line-height: 2;
}

.footer_c {
	width: 28%;
	padding-top: 15px;
}

ul.fnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px 45px;
}

ul.fnav a {
	font-size: 1.6rem;
	line-height: 1.8;
}

.footer_r {
	width: 29.4%;
	min-height: 210px;
	padding: 10px 0 0 36px;
	border-left: 1px solid rgba(255, 255, 255, .2);
}

.footer_r .en {
	margin-bottom: 5px;
	color: #82c69a;
	font-size: 1rem;
	line-height: 1.8;
	letter-spacing: .18em;
}

.footer_r h2 {
	margin-bottom: 2px;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.8;
}

.footer_r p.text {
	margin-bottom: 12px;
	font-size: 1.4rem;
	line-height: 1.8;
}

.btn_remote a {
	display: flex;
	align-items: center;
	width: 260px;
	height: 78px;
	padding: 0 20px;
	border: 1px solid rgba(255, 255, 255, .55);
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
}

.btn_remote span {
	margin-left: auto;
}

p.copyright {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 86px;
	padding-top: 38px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: 1.1rem;
	line-height: 1.8;
	text-align: center;
}

p.btn_consult_fixed {
	display: none;
}

p.btn_consult_fixed a {
	position: fixed;
	left: 35px;
	bottom: 35px;
	z-index: 899;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 250px;
	height: 58px;
	padding: 0 22px;
	border-radius: 30px;
	background: #d95f18;
	box-shadow: 0 5px 18px rgba(0, 0, 0, .18);
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
}

p.btn_consult_fixed a:hover {
	background: #bd4e0f;
}

p.btn_consult_fixed i {
	margin-right: 8px;
	font-size: 2rem;
}

p.btn_consult_fixed em {
	font-style: normal;
}

p.btn_consult_fixed span {
	margin-left: auto;
}

p.pagetop a {
	position: fixed;
	right: 35px;
	bottom: 35px;
	z-index: 900;
	display: block;
	width: 50px;
	height: 50px;
}

p.pagetop a img {
	width: 50px;
	height: 50px;
}

@media (max-width: 1199px) {
	footer {
		height: auto;
	}

	.inner_footer {
		min-height: 500px;
		padding-top: 95px;
		padding-bottom: 110px;
	}

	p.logo_f {
		width: 300px;
	}

	.btn_remote a {
		width: 100%;
	}
}

@media (max-width: 991px) {
	.inner_footer {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 50px;
	}

	.footer_l,
	.footer_c,
	.footer_r {
		width: 100%;
	}

	.footer_r {
		padding-left: 0;
		border-left: 0;
	}
}

@media (max-width: 767px) {
	.inner_footer {
		display: block;
		padding-top: 30px;
		padding-bottom: 15px;
	}

	.footer_l,
	.footer_c {
		margin-bottom: 20px;
	}

	p.logo_f {
		width: 260px;
	}

	p.text_f {
		font-size: 1.4rem;
	}

	ul.fnav {
		gap: 10px 10px;
	}

	ul.fnav a {
		font-size: 1.4rem;
	}

	.footer_r {
		height: inherit;
	}

	.footer_r h2 {
		font-size: 2rem;
	}

	.btn_remote a {
		font-size: 1.4rem;
		height: 70px;
	}

	p.copyright {
		height: inherit;
		padding-bottom: 60px;
		border-top: none;
		position: relative;
		padding-top: 0;
	}

	p.btn_consult_fixed a {
		right: 60px;
		bottom: 15px;
		left: 15px;
		width: auto;
		height: 46px;
		padding: 0 18px;
		font-size: 1.5rem;
	}

	p.pagetop a {
		right: 15px;
		bottom: 15px;
		width: 30px;
		height: 30px;
	}

	p.pagetop a img {
		width: 30px;
		height: 30px;
	}
}











/*　下層ページメインビジュアル
=========================================================================== */

.bg_sub {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 300px;
	padding: 70px 0;
	background: #035f1d;
	color: #fff;
}

.bg_sub:before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0, 43, 14, .54);
	content: "";
}

.bg_sub_business {
	background: #035f1d url(../images/bg_business.jpg) center center / cover no-repeat;
}

.inner_sub {
	position: relative;
	z-index: 1;
	width: 90%;
	max-width: 1170px;
	margin: 0 auto;
}

.inner_sub .en {
	margin-bottom: 5px;
	color: #bce2c7;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .24em;
}

h2.sub {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .05em;
}

@media (max-width: 1199px) {
	.bg_sub {
		min-height: 270px;
		padding: 60px 0;
	}

	
	h2.sub {
		font-size: 3.2rem;
	}
}

@media (max-width: 767px) {
	.bg_sub {
		min-height: 160px;
		padding: 30px 0;
	}

	.inner_sub {
		width: 88%;
	}

	.inner_sub .en {
		font-size: 1.2rem;
		line-height: 1;
	}

	h2.sub {
		font-size: 2.4rem;
	}
}




/* news.html　お知らせ詳細
=========================================================================== */

.bg_sub_news {
	background: #123521 url(../images/h2-news.jpg) center center / cover no-repeat;
}

.container_news {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}

.bg_news01 {
	padding: 110px 0 130px;
	background: #fff;
}

.article_news {
	padding-top: 42px;
	border-top: 4px solid #035f1d;
}

.head_news {
	margin-bottom: 50px;
	padding-bottom: 32px;
	border-bottom: 1px solid #d6ddd8;
}

.ttl_news {
	margin-bottom: 24px;
	color: #26332b;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .03em;
	overflow-wrap: anywhere;
}

.meta_news {
	display: flex;
	align-items: center;
	gap: 20px;
}

.meta_news time {
	color: #657068;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .08em;
}

.meta_news span.cat02 {
	color: #fff;
	padding: 0.3em;
	font-size: 1.3rem;
}

.category_news {
	display: inline-block;
	padding: 6px 18px;
	background: #dcece1;
	color: #035f1d;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.5;
}

.list_pic_news {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	margin-bottom: 45px;
}

.pic_news {
	margin: 0;
}

.pic_news a {
	position: relative;
	display: block;
	overflow: hidden;
	background: #f6f6f6;
}

.pic_news img {
	display: block;
	width: 100%;
	/* aspect-ratio: 8 / 5;
	object-fit: cover; */
	transition: transform .35s, opacity .35s;
}

.photo-ofi {
	height: 0;
	display: block;
	padding-bottom: 80%;
	background-color: transparent;
	overflow: hidden;
	position: relative;
}

.photo-ofi img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}

.pic_news a:hover img {
	transform: scale(1.025);
	opacity: .9;
}

.pic_news span.kakudai {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 9px 14px;
	background: rgba(3, 95, 29, .9);
	color: #fff;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .05em;
}

.cont_news p.text {
	color: #465149;
	font-size: 1.7rem;
	line-height: 2.1;
	letter-spacing: .02em;
	overflow-wrap: anywhere;
}

.files_news {
	margin-top: 70px;
}

.ttl_files_news {
	margin-bottom: 18px;
	color: #26332b;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.6;
}

.list_file_news {
	border-top: 1px solid #d6ddd8;
}

.list_file_news li {
	border-bottom: 1px solid #d6ddd8;
}

.list_file_news a {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 20px 22px;
	background: #f3f6f4;
	color: #354139;
	font-size: 1.5rem;
	line-height: 1.7;
	transition: background .25s;
}

.list_file_news a:hover {
	background: #e8f0ea;
}

.icon_file_news {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	min-height: 32px;
	background: #b84a38;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .04em;
}

.list_file_news b {
	margin-left: auto;
	color: #708078;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: .13em;
}

.btn_back_news {
	margin-top: 80px;
	text-align: center;
}

.btn_back_news a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 340px;
	min-height: 62px;
	padding: 14px 30px;
	border: 1px solid #035f1d;
	background: #035f1d;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .06em;
	transition: background .25s, color .25s;
}

.btn_back_news a span {
	margin-left: 18px;
}

.btn_back_news a:hover {
	background: #fff;
	color: #035f1d;
}

body.is_lightbox_open {
	overflow: hidden;
}

.lightbox_news {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 70px 90px;
	background: rgba(4, 14, 8, .92);
}

.lightbox_news.is_open {
	display: flex;
}

.inner_lightbox_news {
	width: 100%;
	max-width: 1500px;
	max-height: 88vh;
}

.inner_lightbox_news img {
	display: block;
	width: 100%;
	max-width: 100%;
	max-height: 88vh;
	margin: 0 auto;
}

.close_lightbox_news,
.prev_lightbox_news,
.next_lightbox_news {
	position: absolute;
	border: 0;
	background: transparent;
	color: #fff;
	font-family: Arial, sans-serif;
	cursor: pointer;
}

.close_lightbox_news {
	top: 18px;
	right: 25px;
	font-size: 4rem;
	line-height: 1;
}

.prev_lightbox_news,
.next_lightbox_news {
	top: 50%;
	width: 60px;
	font-size: 6rem;
	line-height: 1;
	transform: translateY(-50%);
}

.prev_lightbox_news {
	left: 20px;
}

.next_lightbox_news {
	right: 20px;
}

@media (max-width: 1199px) {
	.bg_news01 {
		padding: 90px 0 105px;
	}

	.ttl_news {
		font-size: 2.9rem;
	}
}

@media (max-width: 767px) {
	.bg_sub_news {
		background-position: 60% center;
	}

	.container_news {
		width: 88%;
	}

	.bg_news01 {
		padding: 65px 0 80px;
	}

	.article_news {
		padding-top: 30px;
	}

	.head_news {
		margin-bottom: 35px;
		padding-bottom: 25px;
	}

	.ttl_news {
		margin-bottom: 20px;
		font-size: 2rem;
		line-height: 1.55;
	}

	.meta_news {
		gap: 12px;
	}

	.category_news {
		padding: 5px 12px;
		font-size: 1.2rem;
	}

	.list_pic_news {
		grid-template-columns: 1fr;
		gap: 20px;
		margin-bottom: 35px;
	}

	.cont_news p.text {
		font-size: 1.5rem;
		line-height: 2;
	}

	.files_news {
		margin-top: 50px;
	}

	.ttl_files_news {
		font-size: 1.8rem;
	}

	.list_file_news a {
		gap: 13px;
		padding: 17px 15px;
		font-size: 1.4rem;
	}

	.list_file_news b {
		display: none;
	}

	.btn_back_news {
		margin-top: 60px;
	}

	.btn_back_news a {
		max-width: 100%;
		min-height: 58px;
	}

	.lightbox_news {
		padding: 65px 50px;
	}

	.prev_lightbox_news,
	.next_lightbox_news {
		width: 42px;
		font-size: 4.8rem;
	}

	.prev_lightbox_news {
		left: 3px;
	}

	.next_lightbox_news {
		right: 3px;
	}
}

/* business.html　事業内容
=========================================================================== */

.bg_business01 {
	padding: 90px 0 100px;
	background: #ebf4ed;
}

.nav_business {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 25px;
}

@media (min-width: 992px) {
	.nav_business {
		grid-template-columns: repeat(6, 1fr);
	}

	.nav_business li {
		grid-column: auto / span 2;
	}

	.nav_business li:nth-last-child(2):nth-child(3n + 1) {
		grid-column: 2 / span 2;
	}
}

.nav_business a {
	display: block;
	border: 1px solid #d8e0da;
	background: #fff;
}

.pic_nav_business {
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 1.55;
}

.pic_nav_business img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s;
}

.nav_business a:hover .pic_nav_business img {
	transform: scale(1.03);
}

.cont_nav_business {
	display: flex;
	align-items: center;
	padding: 18px 22px;
	color: #035f1d;
}

.cont_nav_business small {
	margin-right: 16px;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: .15em;
}

.cont_nav_business strong {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.cont_nav_business span {
	margin-left: auto;
	font-size: 1.8rem;
}

.bg_business_strengths {
	padding: 95px 0 105px;
	background: #f6f3e9;
}

.head_business_strengths {
	margin-bottom: 55px;
	text-align: center;
}

.head_business_strengths .en {
	margin-bottom: 6px;
	color: #67816e;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.head_business_strengths h3 {
	color: #051b3a;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.35;
}

.list_business_strengths {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	padding: 0;
	list-style: none;
}

.list_business_strengths li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 34px 16px 26px;
	border: 2px solid #cdd7d1;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
	text-align: center;
}

.num_strengths {
	position: absolute;
	top: -24px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #de772d;
	color: #fff;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1;
	transform: translateX(-50%);
}

.icon_strengths {
	display: block;
	width: 130px;
	margin: 12px auto 20px;
	line-height: 0;
}

.icon_strengths img {
	display: block;
	width: 100%;
	height: auto;
}

.list_business_strengths strong {
	color: #051b3a;
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1.6;
}

.list_business_strengths small {
	display: block;
	margin-top: 6px;
	color: #051b3a;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: .08em;
}

.bg_business_service {
	position: relative;
	padding: 110px 0 120px;
	background: #fff;
}

.bg_business_service.is_gray {
	background: #f5f7f4;
}

.anchor_business {
	position: absolute;
	top: -120px;
	left: 0;
}

.head_business {
	margin-bottom: 50px;
	text-align: center;
}

.head_business .en {
	margin-bottom: 2px;
	color: #67816e;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.head_business h3 {
	color: #035f1d;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
}

	.head_business h3 span {
		font-size: 3rem;
	}

.pic_business_wide {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 45px;
}

.pic_business_wide img {
	width: 100%;
}

.inner_business {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 70px;
}

.inner_business.reverse_business {
	flex-direction: row-reverse;
}

.pic_business {
	flex: 0 0 43%;
	width: 43%;
}

.pic_business img {
	width: 100%;
}

.cont_business {
	width: 100%;
	max-width: 930px;
	margin: 0 auto;
}

.inner_business .cont_business {
	flex: 1;
	width: auto;
	max-width: none;
	margin: 0;
}

.bg_business_service p.lead {
	margin-bottom: 18px;
	color: #035f1d;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.75;
}

.bg_business_service p.text {
	color: #39443e;
	font-size: 1.7rem;
	line-height: 2.05;
}

.media_business_pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	max-width: 1080px;
	margin: 0 auto 45px;
}

.media_business_pair img {
	display: block;
	width: 100%;
}

.movies_business_pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 25px;
	max-width: 1080px;
	margin: 55px auto 0;
}

.movies_business_pair iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid #dfe5e0;
	background: #fff;
}

.movies_business_stack {
	display: block;
	max-width: 820px;
	margin: 55px auto 0;
}

.movies_business_stack iframe + iframe {
	margin-top: 25px;
}

.movie_business {
	width: 100%;
	max-width: 820px;
	margin: 55px auto 0;
	border: 1px solid #dfe5e0;
	background: #fff;
}

.movie_business iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

@media (max-width: 1199px) {
	.bg_business_strengths {
		padding: 70px 0 70px;
	}

	.head_business_strengths h3 {
		font-size: 3.6rem;
	}

	.list_business_strengths {
		grid-template-columns: repeat(4, 1fr);
		gap: 22px;
	}

	.list_business_strengths strong {
		font-size: 1.8rem;
	}

	.list_business_strengths li {
		margin-bottom: 20px;
	}

	.bg_business01 {
		padding: 75px 0 85px;
	}

	.bg_business_service {
		padding: 90px 0 100px;
	}

	.inner_business {
		gap: 50px;
	}

	.head_business h3 {
		font-size: 3.4rem;
	}

	.head_business h3 span {
		font-size: 2rem;
	}
}

@media (max-width: 991px) {
	.list_business_strengths {
		grid-template-columns: 1fr 1fr;
	}


	.nav_business {
		grid-template-columns: 1fr 1fr;
	}

	.inner_business,
	.inner_business.reverse_business {
		display: block;
	}

	.pic_business {
		width: 72%;
		margin: 0 auto 40px;
	}

	.inner_business .cont_business {
		width: 100%;
		max-width: 760px;
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.bg_business_strengths {
		padding: 50px 0 35px;
	}

	.head_business_strengths {
		margin-bottom: 38px;
	}

	.head_business_strengths h3 {
		font-size: 2rem;
	}

	.list_business_strengths {
		gap: 14px;
	}

	.list_business_strengths li {
		padding: 25px 12px 15px;
		border-radius: 6px;
		margin-bottom: 20px;
	}

	.num_strengths {
		top: -22px;
		width: 40px;
		height: 40px;
		font-size: 2.2rem;
	}

	.icon_strengths {
		width: 82px;
		margin: 8px auto 14px;
	}

	.list_business_strengths strong {
		font-size: 1.45rem;
	}

	.media_business_pair,
	.movies_business_pair {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.media_business_pair {
		margin-bottom: 30px;
	}

	.movies_business_pair {
		margin-top: 40px;
	}

	.bg_business01 {
		padding: 55px 0 65px;
	}

	.nav_business {
		grid-template-columns: repeat(2,1fr);
		gap: 15px;
	}

	.pic_nav_business {
		aspect-ratio: 2 / 1;
	}

	.cont_nav_business {
		padding: 5px 10px;
	}

	.cont_nav_business {
		display: flex;
		flex-direction: column!important;
		align-items: center;
	}

		.cont_nav_business small {
			margin-right: inherit;
			font-size: 1rem;
		}

	.cont_nav_business strong {
		font-size: 1.6rem;
	}

	.cont_nav_business span {
		margin-right: auto;
		font-size: 1.2rem;
		transform: rotate(90deg);
		margin-top: 3px;
	}

	.bg_business_service {
		padding: 65px 0 75px;
	}

	.anchor_business {
		top: -70px;
	}

	.head_business {
		margin-bottom: 25px;
	}

	.head_business h3 {
		font-size: 2.4rem;
	}

		.head_business h3 span {
		font-size: 1.7rem;
	}

	.pic_business_wide {
		margin-bottom: 30px;
	}

	.pic_business {
		width: 100%;
		margin-bottom: 30px;
	}

	.bg_business_service p.lead {
		font-size: 1.9rem;
		line-height: 1.7;
	}

	.bg_business_service p.text {
		font-size: 1.5rem;
		line-height: 1.95;
	}

	.movie_business {
		margin-top: 40px;
	}
}




/* products.html　取扱商品
=========================================================================== */

.photo-ofi {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: 80%;
	overflow: hidden;
	background-color: transparent;
}

.photo-ofi img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: inherit;
	max-height: inherit;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
}

.bg_sub_products {
	background: #123521 url(../images/bg_products.jpg) 70% center / cover no-repeat;
}

.container_products {
	width: 90%;
	max-width: 1170px;
	margin: 0 auto;
}

.bg_products01 {
	padding: 75px 0 85px;
	background: #f5f2ec;
}

h3.ttl_products {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-bottom: 25px;
}

h3.ttl_products::before,
h3.ttl_products::after {
	content: "";
	width: 25px;
	height: 2px;
	background: #678f35;
	flex: 0 0 auto;
}

.list_nav_products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 60px;
}

.list_nav_products > li {
	min-width: 0;
}

.nav_products_group {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 20px;
	border: 1px solid #9cad9f;
	background: #fff;
	transition: border-color .25s, background .25s;
}

.nav_products_group:hover {
	border-color: #035f1d;
	background: #fbfdfb;
}

.ttl_nav_products {
	margin-bottom: 10px;
	color: #26332b;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
	text-align: center;
}

.pic_nav_products {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: 15px;
	aspect-ratio: 4 / 3;
}

.pic_nav_products img {
	max-width: 180px;
	max-height: 125px;
}

.tag_nav_products {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
}

.tag_nav_products li {
	width: 100%;
	padding: 5px 10px;
	border-radius: 4px;
	background: #678f35;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .02em;
	text-align: center;
}

.list_category_products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 15px 20px;
	margin-top: 20px;
}

.list_category_products a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px 15px;
	border: 1px solid #9cad9f;
	background: #fff;
	color: #035f1d;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
	transition: background .25s, color .25s, border-color .25s;
}

.list_category_products a:hover {
	border-color: #035f1d;
	background: #035f1d;
	color: #fff;
}

.bg_products03 {
	padding: 95px 0 115px;
	background: #fff;
}

.head_products_list {
	margin-bottom: 55px;
	text-align: center;
}

.head_products_list h3 {
	color: #035f1d;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.block_products {
	display: flex;
	align-items: flex-start;
	gap: 50px;
}

.side_products {
	flex: 0 0 215px;
	width: 215px;
}

.list_subcategory_products {
	border-top: 1px solid #cfd8d2;
	border-right: 1px solid #cfd8d2;
	border-left: 1px solid #cfd8d2;
}

.list_subcategory_products li {
	border-bottom: 1px solid #cfd8d2;
}

.list_subcategory_products a {
	position: relative;
	display: block;
	padding: 16px 35px 16px 18px;
	background: #eef2ef;
	color: #26332b;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.7;
	transition: background .25s, color .25s;
}

.list_subcategory_products a:after {
	position: absolute;
	top: 50%;
	right: 16px;
	color: #d56e2a;
	content: "→";
	transform: translateY(-50%);
}

.list_subcategory_products a:hover {
	background: #dde9df;
	color: #035f1d;
}

.main_products {
	flex: 1;
	min-width: 0;
}

.list_products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px 20px;
}

.list_products > li {
	min-width: 0;
}

.box_products {
	display: flex;
	flex-direction: column;
	border: 1px solid #d5ddd7;
	background: #fff;
}

.pic_products {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	border-bottom: 1px solid #e2e6e2;
	background: #fff;
	aspect-ratio: 4 / 3;
}

.pic_products img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.cont_products {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 25px 20px 20px;
}

/* 文字が枠外にはみ出るのを解消 */
.cont_products01,
.cont_products02 {
	min-width: 0;
	overflow-wrap: anywhere;
}

.cont_products01 *,
.cont_products02 * {
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.cont_products01 table,
.cont_products02 table {
	width: 100% !important;
	table-layout: fixed;
}

.cont_products01 th,
.cont_products01 td,
.cont_products02 th,
.cont_products02 td {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.cont_products01 img,
.cont_products02 img {
	max-width: 100% !important;
	height: auto !important;
}



.cont_products h4 {
	margin-bottom: 15px;
	color: #26332b;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.65;
}

.link_maker_products {
	margin-top: auto;
	margin-bottom: 15px;
}

.link_maker_products a {
	color: #167347;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.link_maker_products a:hover {
	color: #d56e2a;
}

.btn_products {
	margin-top: 20px;
}

.btn_products a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 18px;
	background: #035f1d;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
}

.btn_products a:hover {
	background: #d56e2a;
}

.btn_products a span {
	margin-left: 20px;
}

.paging_products {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin-top: 65px;
}

.paging_products > span {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
}

.paging_products a,
.paging_products > span.current,
.paging_products > span.active,
.paging_products > span[aria-current="page"],
.paging_products > span.disabled,
.paging_products > span.ellipsis {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	min-height: 38px;
	padding: 8px 5px;
	border: 1px solid #cbd6ce;
	background: #fff;
	color: #035f1d;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.5;
}

.paging_products a:hover,
.paging_products > span.current,
.paging_products > span.active,
.paging_products > span[aria-current="page"] {
	border-color: #035f1d;
	background: #035f1d;
	color: #fff;
}

@media (max-width: 1199px) {
	.block_products {
		gap: 35px;
	}

	.side_products {
		flex-basis: 200px;
		width: 200px;
	}
}

@media (max-width: 991px) {
	.bg_products01 {
		padding: 65px 0 75px;
	}

	.list_nav_products,
	.list_category_products {
		grid-template-columns: repeat(2, 1fr);
	}

	.bg_products03 {
		padding: 80px 0 90px;
	}

	.block_products {
		display: block;
	}

	.side_products {
		width: 100%;
		margin-bottom: 45px;
	}

	.list_subcategory_products {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}

	.list_subcategory_products li {
		border-right: 1px solid #cfd8d2;
	}

	.list_products {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.container_products {
		width: 88%;
	}

	.bg_products01,
	.bg_products03 {
		padding-top: 50px;
		padding-bottom: 55px;
	}

	h3.ttl_products {
		gap: 10px;
		font-size: 1.9rem;
		margin-bottom: 20px;
	}

	h3.ttl_products::before,
	h3.ttl_products::after {
		width: 20px;
	}

	.list_nav_products {
		grid-template-columns: repeat(2, 1fr);
		gap: 15px;
	}

	.nav_products_group {
		padding: 20px 15px;
	}

	.ttl_nav_products {
		font-size: 1.9rem;
	}

	.pic_nav_products {
		aspect-ratio: 16 / 7;
	}

	.pic_nav_products img {
		width: 120px;
	}

	.tag_nav_products li {
		font-size: 1.2rem;
	}

	.list_category_products {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		margin-top: 15px;
	}

	.list_category_products a {
		padding: 13px 8px;
		font-size: 1.4rem;
	}

	.head_products_list {
		margin-bottom: 25px;
	}

	.head_products_list h3 {
		font-size: 2.8rem;
	}

	.list_subcategory_products {
		grid-template-columns: 1fr;
	}

	.list_products {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.box_products {
		max-width: 430px;
		margin: 0 auto;
	}

	.paging_products {
		margin-top: 45px;
	}
}

@media (max-width: 420px) {
	.list_category_products {
		grid-template-columns: repeat(2, 1fr);
	}
}

.photo-view {
	height: 0;
	display: block;
	padding-bottom: 72%;
	background-color: transparent;
	overflow: hidden;
	position: relative;
}

.photo-view img {
	max-width: inherit;
	max-height: inherit;
	width: 100%;
	height: 100%;
	object-fit: scale-down;
	font-family: 'object-fit: scale-down;';
	position: absolute;
	left: 0;
	top: 0;
}





/* products_view.html　取扱商品詳細
=========================================================================== */

.container_products_view {
	width: 90%;
	max-width: 1170px;
	margin: 0 auto;
}

.bg_products_view01 {
	padding: 45px 0 50px;
	background: #fff;
}

.top_products_view {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}

.label_products_view {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.label_products_view li {
	padding: 10px 24px;
	border: 1px solid #035f1d;
	background: #fff;
	color: #035f1d;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
}

.label_products_view li + li {
	border-color: #ccd7ce;
	background: #e5ece7;
	color: #34483a;
}

.breadcrumb_products_view {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px 12px;
	max-width: 62%;
	color: #7a8490;
	font-size: 1.2rem;
	line-height: 1.8;
	text-align: right;
}

.breadcrumb_products_view li + li:before {
	margin-right: 12px;
	color: #b5bcc4;
	content: ">";
}

.breadcrumb_products_view a {
	color: #374a61;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.head_products_view {
	margin-top: 40px;
	margin-bottom: 40px;
}

.head_products_view h3 {
	color: #17243c;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .04em;
}

.bg_products_view02 {
	padding: 0 0 115px;
	background: #fff;
}

.block_detail_products_view {
	display: grid;
	grid-template-columns: 40% 1fr;
	gap: 40px;
	align-items: stretch;
}

.gallery_products_view {
	min-width: 0;
}

.pic_products_view {
	margin: 0;
	border: 1px solid #d5dadd;
	background: #fff;
}

.pic_products_view a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.pic_products_view img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .3s;
}

.pic_products_view a:hover img {
	transform: scale(1.03);
}

.pic_products_view_main a {
	aspect-ratio: 4 / 3;
}

.thumb_products_view {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-top: 10px;
}

.cont_products_view {
	display: flex;
	flex-direction: column;
	padding: 45px 45px 40px;
	border: 1px solid #e0e4e1;
	background: #f5f6f5;
}

.cont_products_view p.text {
	color: #39433d;
	font-size: 1.7rem;
	line-height: 2;
}

.btn_maker_products_view {
	margin-top: auto;
	padding-top: 35px;
}

.btn_maker_products_view a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 330px;
	padding: 15px 20px;
	background: #035f1d;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.6;
}

.btn_maker_products_view a:hover {
	background: #d56e2a;
}

.btn_maker_products_view a span {
	margin-left: 20px;
}

.cont_view {
	margin: 45px 0 35px;
	padding: 0;
	background: transparent;
}

.cont_view p.text {
	font-size: 1.7rem;
	line-height: 2;
}

.cont_view a {
	color: #1c59b4;
}

a.underline {
	text-decoration: underline;
}

.list_file_products_view {
	margin-bottom: 70px;
}

.list_file_products_view li + li {
	margin-top: 10px;
}

.list_file_products_view a {
	display: grid;
	grid-template-columns: 58px 1fr auto;
	align-items: center;
	gap: 18px;
	padding: 16px 22px;
	border: 1px solid #e0e4e9;
	background: #f1f2f1;
	color: #34455a;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.6;
	transition: background .25s, border-color .25s;
}

.list_file_products_view a:hover {
	border-color: #b7c3d0;
	background: #e8ece9;
}

.icon_file_products_view {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px 5px;
	background: #b83434;
	color: #fff;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}

.list_file_products_view b {
	color: #d56e2a;
	font-size: 1.7rem;
}

.btn_back_products_view {
	text-align: center;
}

.btn_back_products_view a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 280px;
	padding: 17px 25px;
	background: #035f1d;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	margin-top: 30px;
}

.btn_back_products_view a:hover {
	background: #d56e2a;
}

.lightbox_products_view {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 60px 90px;
	background: rgba(7, 15, 25, .92);
}

.lightbox_products_view.is_open {
	display: flex;
}

.inner_lightbox_products_view {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1200px;
	max-height: 90vh;
}

.inner_lightbox_products_view img {
	display: block;
	max-width: 100%;
	max-height: 88vh;
	object-fit: contain;
}

.close_lightbox_products_view,
.prev_lightbox_products_view,
.next_lightbox_products_view {
	position: absolute;
	border: 0;
	background: transparent;
	color: #fff;
	font-family: Arial, sans-serif;
	line-height: 1;
	cursor: pointer;
}

.close_lightbox_products_view {
	top: 25px;
	right: 30px;
	font-size: 4rem;
}

.prev_lightbox_products_view,
.next_lightbox_products_view {
	top: 50%;
	font-size: 5rem;
	transform: translateY(-50%);
}

.prev_lightbox_products_view {
	left: 30px;
}

.next_lightbox_products_view {
	right: 30px;
}

@media (max-width: 1199px) {
	.head_products_view h3 {
		font-size: 3.2rem;
	}

	.block_detail_products_view {
		gap: 30px;
	}

	.cont_products_view {
		padding: 35px;
	}
}

@media (max-width: 991px) {
	.top_products_view {
		display: block;
	}

	.breadcrumb_products_view {
		justify-content: flex-start;
		max-width: none;
		margin-top: 25px;
		text-align: left;
	}

	.block_detail_products_view {
		grid-template-columns: 43% 1fr;
		gap: 25px;
	}

	.cont_products_view {
		padding: 30px;
	}
}

@media (max-width: 767px) {
	.container_products_view {
		width: 88%;
	}

	.bg_products_view01 {
		padding: 35px 0 40px;
	}

	.label_products_view li {
		padding: 8px 15px;
		font-size: 1.3rem;
	}

	.breadcrumb_products_view {
		gap: 5px 8px;
		font-size: 1.1rem;
	}

	.breadcrumb_products_view li + li:before {
		margin-right: 8px;
	}

	.head_products_view {
		margin-top: 30px;
	}

	.head_products_view h3 {
		font-size: 2.5rem;
	}

	.bg_products_view02 {
		padding-bottom: 75px;
	}

	.block_detail_products_view {
		display: block;
	}

	.cont_products_view {
		margin-top: 20px;
		padding: 30px 20px;
	}

	.btn_maker_products_view {
		padding-top: 30px;
	}

	.btn_maker_products_view a {
		max-width: none;
	}

	.cont_view {
		margin-top: 35px;
		padding: 20px;
	}

	.cont_view p.text {
		font-size: 1.5rem;
	}

	.list_file_products_view {
		margin-bottom: 50px;
	}

	.list_file_products_view a {
		grid-template-columns: 48px 1fr auto;
		gap: 12px;
		padding: 14px;
		font-size: 1.4rem;
	}

	.btn_back_products_view a {
		width: 180px;
	}

	.lightbox_products_view {
		padding: 55px 20px;
	}

	.prev_lightbox_products_view,
	.next_lightbox_products_view {
		font-size: 4rem;
	}

	.prev_lightbox_products_view {
		left: 10px;
	}

	.next_lightbox_products_view {
		right: 10px;
	}
}

@media (max-width: 420px) {
	.head_products_view h3 {
		font-size: 2.1rem;
	}

	.breadcrumb_products_view li:last-child {
		width: 100%;
	}
}


/* recruit.html　採用情報
=========================================================================== */

.bg_sub_recruit {
	background: #035f1d url(../images/bg_recruit.jpg) center center / cover no-repeat;
}

.container_recruit {
	width: 90%;
	max-width: 1170px;
	margin: 0 auto;
}

.bg_recruit01 {
	position: relative;
	padding: 145px 0 155px;
	background:
		linear-gradient(90deg, rgba(3, 95, 29, 0) 0%, rgba(3, 95, 29, 0) 43%, rgba(2, 52, 30, .14) 70%, rgba(2, 39, 25, .34) 100%),
		url(../images/bg_recruit01.jpg) 38% center / cover no-repeat;
}

.bg_recruit01 .container_recruit {
	max-width: 1360px;
}

.cont_intro_recruit {
	width: 46%;
	margin-left: auto;
	padding-left: 35px;
	border-left: 3px solid rgba(255, 255, 255, .78);
}

.label_intro_recruit {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, .88);
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: .24em;
	text-shadow: 0 2px 10px rgba(0, 28, 18, .25);
}

.label_intro_recruit::before {
	display: block;
	width: 48px;
	border-top: 3px solid #e87826;
	content: "";
}

.ttl_recruit01 {
	position: relative;
	margin-bottom: 28px;
	padding-bottom: 24px;
	color: #fff;
	font-size: 4.5rem;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .035em;
	text-align: left;
	text-shadow: 0 3px 18px rgba(0, 34, 20, .28);
}

.bg_recruit01 p.text {
	margin: 0;
	color: #fff;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 2.05;
	letter-spacing: .02em;
	text-align: left;
	text-shadow: 0 2px 12px rgba(0, 35, 22, .28);
}

.head_recruit {
	margin-bottom: 50px;
	text-align: center;
}

.head_recruit .en {
	margin-bottom: 4px;
	color: #67816e;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.head_recruit h3 {
	color: #26332b;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.bg_recruit02 {
	padding: 115px 0 0;
	background: #fff;
}


.list_staff_interview {
	max-width: 1080px;
	margin: 0 auto;
	border-top: 1px solid #d9e1dc;
}

.block_staff_interview {
	display: grid;
	grid-template-columns: 230px 1fr;
	gap: 55px;
	align-items: start;
	padding: 55px 0 60px;
	border-bottom: 1px solid #d9e1dc;
}

.profile_staff_interview {
	text-align: center;
}

.pic_staff_interview {
	width: 200px;
	margin: 0 auto 22px;
	overflow: hidden;
	border-radius: 50%;
	background: #f2f6f3;
}

.pic_staff_interview img {
	display: block;
	width: 100%;
	height: auto;
}

.name_staff_interview {
	margin-bottom: 7px;
	color: #26332b;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.job_staff_interview {
	color: #67816e;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: .08em;
}

.list_qa_staff {
	margin: 0;
	padding: 0;
	list-style: none;
}

.list_qa_staff li {
	margin-bottom: 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid #e0e6e2;
}

.list_qa_staff li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.q_staff,
.a_staff {
	display: grid;
	grid-template-columns: 30px 1fr;
	gap: 12px;
	align-items: start;
}

.q_staff {
	margin-bottom: 12px;
}

.q_staff span,
.a_staff span {
	font-family: Arial, sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.8;
	text-align: center;
}

.q_staff span {
	color: #035f1d;
}

.a_staff span {
	color: #c99d38;
}

.q_staff p,
.a_staff p {
	margin: 0;
	color: #39443e;
	font-size: 1.7rem;
	line-height: 1.9;
}

.q_staff p {
	color: #26332b;
	font-weight: 700;
}

.staff_recruit {
	position: relative;
	padding: 55px 55px 60px;
	background: #f5f8f6;
	border-left: 3px solid #035f1d;
}

.staff_recruit + .staff_recruit {
	margin-top: 90px;
}

.block_interview {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 65px;
}

.block_interview + .block_interview {
	margin-top: 65px;
	padding-top: 65px;
	border-top: 1px solid #ced9d1;
}

.block_interview.reverse_interview {
	flex-direction: row-reverse;
}

.pic_interview {
	position: relative;
	flex: 0 0 36%;
	width: 36%;
	margin: 0;
	background: #e1e5e2;
	border: 1px solid #cbd7ce;
}

.pic_interview::after {
	position: absolute;
	right: -14px;
	bottom: -14px;
	z-index: 0;
	width: 48%;
	height: 48%;
	background: #dbe8df;
	content: "";
}

.reverse_interview .pic_interview::after {
	right: auto;
	left: -14px;
}

.pic_interview img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.pic_interview01 img,
.pic_interview03 img {
	object-position: 66% center;
}

.pic_interview02 img,
.pic_interview04 img {
	object-position: 58% center;
}

.cont_interview {
	position: relative;
	flex: 1;
	padding: 40px 45px;
	background: #fff;
	border-top: 1px solid #9db4a4;
	border-bottom: 1px solid #d5dfd8;
}

.cont_interview::before {
	position: absolute;
	top: -1px;
	left: 0;
	width: 85px;
	border-top: 2px solid #035f1d;
	content: "";
}

.reverse_interview .cont_interview::before {
	left: auto;
	right: 0;
}

.name_interview {
	margin-bottom: 25px;
	padding-bottom: 18px;
	border-bottom: 1px solid #d1dcd4;
	color: #26332b;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .03em;
}

.name_interview span {
	margin-left: 18px;
	color: #67816e;
	font-size: 1.7rem;
	font-weight: 500;
}

.bg_recruit02 p.text {
	color: #39443e;
	font-size: 1.7rem;
	line-height: 2.05;
}

.bg_recruit03 {
	padding: 110px 0 120px;
	background: #edf4ef;
}

.lead_flow {
	max-width: 930px;
	margin: -20px auto 60px;
	font-size: 1.6rem;
	line-height: 2;
	text-align: center;
	word-break: break-all;
}

.list_flow {
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.list_flow li {
	position: relative;
	display: grid;
	grid-template-columns: 31% 1fr;
	gap: 22px;
	align-items: stretch;
	margin-bottom: 48px;
}

.list_flow li:last-child {
	margin-bottom: 0;
}

.pic_flow {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 3;
	background: #d6dad7;
	color: #59645d;
	font-size: 1.4rem;
	letter-spacing: .04em;
}

.cont_flow {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 30px 35px;
	background: #fff;
}

.time_flow {
	margin-bottom: 22px;
	color: #26332b;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
}

.time_flow span {
	margin-right: 18px;
	font-family: "Source Sans 3", Arial, sans-serif;
	letter-spacing: .04em;
}

.bg_recruit03 p.text {
	color: #4b5650;
	font-size: 1.5rem;
	line-height: 1.9;
	word-break: break-all;
}

.arrow_flow {
	position: absolute;
	bottom: -35px;
	left: 50%;
	width: 0;
	height: 0;
	border-top: 18px solid #aab9ae;
	border-right: 30px solid transparent;
	border-left: 30px solid transparent;
	transform: translateX(-50%);
}


.bg_recruit04 {
	padding: 110px 0 130px;
	background: #fff;
}

.box_detail_recruit {
	max-width: 760px;
	margin: 0 auto;
	padding: 50px 40px;
	border: 1px solid #d5ddd7;
	background: #f5f8f6;
	text-align: center;
}

.text_detail_recruit {
	margin-bottom: 28px;
	color: #39443e;
	font-size: 1.7rem;
	line-height: 2;
}

.btn_detail_recruit a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 400px;
	height: 62px;
	padding: 0 32px;
	border-radius: 10px;
	background: #10a13b;
	box-shadow: 0 5px 18px rgba(0, 0, 0, .14);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;
	margin-bottom: 15px;
}

.btn_detail_recruit a:hover {
	background: rgb(9, 124, 44);
}

.btn_detail_recruit i {
	margin-right: 12px;
	font-size: 1.8rem;
}


@media (max-width: 1199px) {
	.bg_recruit01 {
		padding: 120px 0 130px;
		background-position: 34% center;
	}

	.cont_intro_recruit {
		width: 48%;
		padding-left: 30px;
	}

	.ttl_recruit01 {
		font-size: 4rem;
	}

	.bg_recruit02,
	.bg_recruit03,
	.bg_recruit04 {
		padding-top: 90px;
		padding-bottom: 100px;
	}

		.bg_recruit02 {
		padding-bottom: 0;
	}

	.staff_recruit {
		padding: 50px;
	}

	.block_interview {
		gap: 50px;
	}

	.cont_interview {
		padding: 35px 40px;
	}

	.head_recruit h3 {
		font-size: 3.4rem;
	}

	.block_staff_interview {
		grid-template-columns: 210px 1fr;
		gap: 45px;
	}

	.pic_staff_interview {
		width: 180px;
	}
}

@media (max-width: 991px) {
	.bg_recruit01 {
		padding: 105px 0 115px;
		background-position: 28% center;
	}

	.bg_recruit01 .container_recruit {
		width: 92%;
	}

	.cont_intro_recruit {
		width: 52%;
		padding-left: 25px;
	}

	.ttl_recruit01 {
		font-size: 3.4rem;
	}

	.bg_recruit01 p.text {
		font-size: 1.55rem;
		line-height: 1.95;
	}

	.staff_recruit {
		padding: 45px 40px 50px;
	}

	.block_interview {
		gap: 40px;
	}

	.pic_interview {
		flex-basis: 40%;
		width: 40%;
	}

	.cont_interview {
		padding: 30px 32px;
	}

	.block_staff_interview {
		grid-template-columns: 185px 1fr;
		gap: 35px;
		padding: 45px 0 50px;
	}

	.pic_staff_interview {
		width: 160px;
	}

	.name_staff_interview {
		font-size: 2.2rem;
	}

	.q_staff p,
	.a_staff p {
		font-size: 1.6rem;
	}
}

@media (max-width: 767px) {
	.bg_sub_recruit {
		background-position: 55% center;
	}

	.container_recruit {
		width: 88%;
	}

	.bg_recruit01 {
		padding: 50px 0 50px;
		background:
			linear-gradient(180deg, rgba(0, 43, 28, .5) 0%, rgba(0, 43, 28, .5) 44%, rgba(0, 35, 22, .75) 100%),
			url(../images/bg_recruit01.jpg) 27% center / cover no-repeat;
	}

	.bg_recruit01 .container_recruit {
		width: 88%;
	}

	.cont_intro_recruit {
		width: 100%;
		margin-top: 0;
		padding-left: 18px;
		border-left-width: 2px;
	}

	.label_intro_recruit {
		margin-bottom: 14px;
		font-size: 1.1rem;
		letter-spacing: .16em;
	}

	.label_intro_recruit::before {
		width: 32px;
		border-top-width: 2px;
	}

	.ttl_recruit01 {
		margin-bottom: 15px;
		padding-bottom: 16px;
		font-size: 2.4rem;
		line-height: 1.5;
	}

	.ttl_recruit01::after {
		width: 58px;
		border-bottom-width: 2px;
	}

	.bg_recruit01 p.text {
		font-size: 1.5rem;
		line-height: 1.95;
	}

	.bg_recruit02,
	.bg_recruit03,
	.bg_recruit04 {
		padding: 65px 0 75px;
	}

	.bg_recruit02 {
		padding-bottom: 0;
	}

	.head_recruit {
		margin-bottom: 25px;
	}

	.head_recruit .en {
		font-size: 1.1rem;
		letter-spacing: .16em;
	}

	.head_recruit h3 {
		font-size: 2.4rem;
	}

	.staff_recruit {
		padding: 35px 20px 40px;
		border-left-width: 2px;
	}

	.staff_recruit::before {
		width: 65px;
		border-top-width: 3px;
	}

	.staff_recruit + .staff_recruit {
		margin-top: 55px;
	}

	.block_interview,
	.block_interview.reverse_interview {
		display: block;
	}

	.block_interview + .block_interview {
		margin-top: 45px;
		padding-top: 45px;
	}

	.pic_interview {
		width: 100%;
		margin-bottom: 28px;
	}

	.pic_interview::after {
		right: -8px;
		bottom: -8px;
	}

	.reverse_interview .pic_interview::after {
		left: -8px;
	}

	.pic_interview img {
		aspect-ratio: 4 / 3;
	}

	.cont_interview {
		padding: 28px 22px;
	}

	.name_interview {
		margin-bottom: 20px;
		padding-bottom: 15px;
		font-size: 2rem;
	}

	.name_interview span {
		display: inline-block;
		margin-left: 10px;
		font-size: 1.5rem;
	}

	.bg_recruit02 p.text {
		font-size: 1.5rem;
		line-height: 1.95;
	}

	.list_staff_interview {
		border-top: none;
	}

	.block_staff_interview {
		display: block;
		padding: 35px 0 40px;
	}

	.block_staff_interview:first-child {
		padding-top: 10px;
	}

	.profile_staff_interview {
		display: flex;
		align-items: center;
		gap: 18px;
		margin-bottom: 28px;
		text-align: left;
	}

	.pic_staff_interview {
		flex: 0 0 105px;
		width: 105px;
		margin: 0;
	}

	.name_staff_interview {
		margin-bottom: 5px;
		font-size: 2rem;
	}

	.job_staff_interview {
		font-size: 1.4rem;
	}

	.list_qa_staff li {
		margin-bottom: 22px;
		padding-bottom: 22px;
	}

	.q_staff,
	.a_staff {
		grid-template-columns: 25px 1fr;
		gap: 9px;
	}

	.q_staff span,
	.a_staff span {
		font-size: 1.6rem;
	}

	.q_staff p,
	.a_staff p {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.lead_flow {
		margin-top: -10px;
		margin-bottom: 40px;
		font-size: 1.4rem;
		text-align: left;
	}

	.list_flow li {
		display: block;
		margin-bottom: 58px;
	}

	.pic_flow {
		margin-bottom: 12px;
		aspect-ratio: 16 / 9;
	}

	.cont_flow {
		padding: 25px 22px;
	}

	.time_flow {
		margin-bottom: 15px;
		font-size: 1.8rem;
	}

	.time_flow span {
		margin-right: 10px;
	}

	.bg_recruit03 p.text {
		font-size: 1.4rem;
	}

	.arrow_flow {
		bottom: -40px;
		left: 50%;
		border-top-width: 15px;
		border-right-width: 24px;
		border-left-width: 24px;
		transform: translateX(-50%);
	}


	.box_detail_recruit {
		padding: 0;
		background-color: #fff;
		border: none;
	}

	.text_detail_recruit {
		margin-bottom: 20px;
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.btn_detail_recruit a {
		min-width: 100%;
		height: 56px;
		padding: 0 20px;
		font-size: 1.5rem;
	}

	.btn_detail_recruit i {
		margin-right: 10px;
		font-size: 1.6rem;
	}

}



/* company.html　会社案内
=========================================================================== */

.bg_sub_company {
	background: #035f1d url(../images/bg_company.jpg) center center / cover no-repeat;
}

.container_company {
	width: 90%;
	max-width: 1170px;
	margin: 0 auto;
}

.head_company {
	margin-bottom: 65px;
	text-align: center;
}

.head_company .en {
	margin-bottom: 5px;
	color: #67816e;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.head_company h3 {
	color: #26332b;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.bg_company01 {
	padding: 110px 0 120px;
	background: #fff;
}

.inner_outline {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 65px;
}

.cont_outline {
	flex: 1;
}

.pic_outline {
	overflow: hidden;
	flex: 0 0 33%;
	width: 33%;
	aspect-ratio: 1 / 1;
	background: #e1e5e2;
}

.pic_outline img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.table_company table,
.table_office_company table {
	width: 100%;
	border-collapse: collapse;
}

.table_company th,
.table_company td {
	padding: 22px 20px;
	border-top: 1px solid #d6ddd8;
	font-size: 1.6rem;
	line-height: 1.9;
	text-align: left;
	vertical-align: top;
}

.table_company tr:last-child th,
.table_company tr:last-child td {
	border-bottom: 1px solid #d6ddd8;
}

.table_company th {
	width: 25%;
	color: #035f1d;
	font-weight: 700;
}

.bg_company02 {
	padding: 110px 0 120px;
	background: #edf4ef;
}

.inner_access {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 55px;
}

.map_company {
	overflow: hidden;
	flex: 1;
	aspect-ratio: 16 / 10;
	background: #dbe2dd;
}

.map_company iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.cont_access {
	flex: 0 0 30%;
	width: 30%;
}

.item_access + .item_access {
	margin-top: 30px;
}

.item_access h4 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 18px;
	color: #26332b;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.6;
}

.item_access h4:before {
	position: absolute;
	top: .35em;
	bottom: .35em;
	left: 0;
	width: 3px;
	background: #22814b;
	content: "";
}

.item_access p.text {
	color: #4b5650;
	font-size: 1.5rem;
	line-height: 1.9;
}

.bg_company03 {
	padding: 110px 0 130px;
	background: #fff;
}

.office_company {
	padding-top: 65px;
	border-top: 1px solid #cfd8d2;
}

.office_company + .office_company {
	margin-top: 110px;
}

.head_office_company {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 65px;
}

.reverse_office_company .head_office_company {
	flex-direction: row-reverse;
}

.cont_office_company {
	flex: 1;
}

.cont_office_company > h4,
.box_office_company > h4 {
	margin-bottom: 28px;
	color: #26332b;
	font-size: 2.3rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .03em;
}

.pic_office_company {
	overflow: hidden;
	flex: 0 0 36%;
	width: 36%;
	aspect-ratio: 3 / 2;
	background: #e1e5e2;
}

.pic_office_company img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.table_office_company th,
.table_office_company td {
	padding: 18px 16px;
	border-top: 1px solid #d6ddd8;
	font-size: 1.55rem;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
}

.table_office_company tr:last-child th,
.table_office_company tr:last-child td {
	border-bottom: 1px solid #d6ddd8;
}

.table_office_company th {
	width: 24%;
	color: #035f1d;
	font-weight: 700;
}

.office_access_company {
	margin-top: 50px;
	padding: 45px;
	background: #f3f7f4;
}

.office_access_company .map_company {
	aspect-ratio: 16 / 9;
}

.minor_offices_company {
	margin-top: 110px;
}

.box_office_company {
	width: 100%;
	padding-top: 65px;
	border-top: 1px solid #cfd8d2;
	background: #fff;
}

.box_office_company + .box_office_company {
	margin-top: 110px;
}

@media (max-width: 1199px) {
	.bg_company01,
	.bg_company02,
	.bg_company03 {
		padding-top: 90px;
		padding-bottom: 100px;
	}

	.head_company {
		margin-bottom: 55px;
	}

	.head_company h3 {
		font-size: 3.4rem;
	}

	.inner_outline,
	.head_office_company {
		gap: 45px;
	}

	.office_access_company {
		padding: 35px;
	}
}

@media (max-width: 991px) {
	.inner_outline {
		display: block;
	}

	.pic_outline {
		width: 62%;
		margin: 45px auto 0;
	}

	.inner_access {
		gap: 35px;
	}

	.cont_access {
		flex-basis: 34%;
		width: 34%;
	}

	.head_office_company,
	.reverse_office_company .head_office_company {
		display: block;
	}

	.pic_office_company {
		width: 68%;
		margin: 40px auto 0;
	}

	.office_company + .office_company,
	.minor_offices_company {
		margin-top: 85px;
	}

	.box_office_company + .box_office_company {
		margin-top: 85px;
	}
}

@media (max-width: 767px) {
	.bg_sub_company {
		background-position: 58% center;
	}

	.container_company {
		width: 100%;
	}

	.bg_company01,
	.bg_company02,
	.bg_company03 {
		padding: 50px 15px 50px;
	}

	.head_company {
		margin-bottom: 25px;
	}

	.head_company .en {
		font-size: 1.1rem;
		letter-spacing: .16em;
		margin-bottom: 0;
	}

	.head_company h3 {
		font-size: 2.4rem;
	}

	.table_company table,
	.table_company tbody,
	.table_company tr,
	.table_company th,
	.table_company td,
	.table_office_company table,
	.table_office_company tbody,
	.table_office_company tr,
	.table_office_company th,
	.table_office_company td {
		display: block;
		width: 100%;
	}

	.table_company tr,
	.table_office_company tr {
		border-top: 1px solid #d6ddd8;
	}

	.table_company tr:last-child,
	.table_office_company tr:last-child {
		border-bottom: 1px solid #d6ddd8;
	}

	.table_company th,
	.table_company td,
	.table_office_company th,
	.table_office_company td {
		border: 0;
	}

	.table_company th,
	.table_office_company th {
		padding: 10px 15px 4px;
		font-size: 1.5rem;
	}

	.table_company td,
	.table_office_company td {
		padding: 0 15px 10px;
		font-size: 1.5rem;
	}

	.table_office_company tr:last-child th {
		border-bottom: none;
	}

	.pic_outline,
	.pic_office_company {
		width: 100%;
		margin-top: 35px;
	}

	.inner_access {
		display: block;
	}

	.map_company {
		width: 100%;
		margin-bottom: 35px;
		aspect-ratio: 4 / 3;
	}

	.cont_access {
		width: 100%;
	}

	.item_access + .item_access {
		margin-top: 25px;
	}

	.item_access h4 {
		font-size: 1.6rem;
		margin-bottom: 5px;
	}

	.item_access p.text {
		font-size: 1.4rem;
	}

	.office_company {
		padding-top: 0;
		border-top: none;
	}

	.office_company + .office_company,
	.minor_offices_company {
		margin-top: 30px;
	}

	.box_office_company {
		padding-top: 30px;
		border-top: none;
	}

	.box_office_company + .box_office_company {
		margin-top: 30px;
	}

	.cont_office_company > h4,
	.box_office_company > h4 {
		margin-bottom: 10px;
		font-size: 2rem;
		text-align: center;
	}

	.office_access_company {
		margin-top: 35px;
		padding: 0;
		background:transparent;
	}

	.office_access_company .map_company {
		aspect-ratio: 4 / 3;
	}
}



/* contact.html　お問い合わせ
=========================================================================== */
.bg_sub_contact {
	background: #035f1d url(../images/bg_contact.jpg) center center / cover no-repeat;
}

.container_contact {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}

.head_contact {
	margin-bottom: 55px;
	text-align: center;
}

.head_contact .en {
	margin-bottom: 5px;
	color: #67816e;
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: .22em;
}

.head_contact h3 {
	color: #26332b;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}

.bg_contact01 {
	padding: 105px 0 115px;
	background: #edf4ef;
}

.lead_contact {
	margin: 0 auto 55px;
	text-align: center;
}

.lead_contact p.text,
.intro_form_contact p.text {
	color: #465149;
	font-size: 1.6rem;
	line-height: 2;
}

.list_tel_contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.list_tel_contact > li {
	padding: 28px 30px 30px;
	border-top: 4px solid #035f1d;
	background: #fff;
}

.office_contact {
	margin-bottom: 20px;
	color: #26332b;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.numbers_contact {
	display: flex;
	justify-content: space-between;
	gap: 22px;
}

.numbers_contact p {
	flex: 1;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.7;
}

.label_contact {
	display: block;
	margin-bottom: 0;
	line-height: 1;
	color: #67816e;
	font-family: "Source Sans 3", Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .15em;
}

.bg_contact02 {
	padding: 110px 0 130px;
	background: #fff;
}

.intro_form_contact {
	margin-bottom: 40px;
	padding: 30px 35px;
	border-left: 3px solid #035f1d;
	background: #f3f7f4;
}

.notice_sales_contact {
	margin-bottom: 45px;
	padding: 27px 32px;
	background: #fbf3f1;
}

.ttl_notice_contact {
	margin-bottom: 8px;
	color: #8e3427;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.6;
}

.notice_sales_contact p.text {
	color: #553e3a;
	font-size: 1.5rem;
	line-height: 1.7;
}

.note_required_contact {
	margin-bottom: 18px;
	color: #59635d;
	font-size: 1.4rem;
	line-height: 1.7;
}

.required_contact {
	display: inline-block;
	margin-left: 7px;
	padding: 2px 7px;
	background: #b84a38;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 600;
	line-height: 1.5;
	vertical-align: .1em;
}

.note_required_contact .required_contact {
	margin: 0 6px 0 0;
}

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

.table_form_contact tr {
	border-top: 1px solid #d6ddd8;
}

.table_form_contact tr:last-child {
	border-bottom: 1px solid #d6ddd8;
}

.table_form_contact th,
.table_form_contact td {
	padding: 25px 22px;
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
	vertical-align: top;
}

.table_form_contact th {
	width: 29%;
	color: #26332b;
	font-weight: 700;
}

.table_form_contact input[type="text"],
.table_form_contact input[type="email"],
.table_form_contact input[type="tel"],
.table_form_contact select,
.table_form_contact textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #bfc9c2;
	border-radius: 0;
	background: #fff;
	color: #26332b;
	font-family: inherit;
	font-size: 1.6rem;
	line-height: 1.6;
}

.table_form_contact textarea {
	resize: vertical;
}

.table_form_contact input:focus,
.table_form_contact select:focus,
.table_form_contact textarea:focus {
	border-color: #22814b;
	outline: 2px solid rgba(34, 129, 75, .12);
	outline-offset: 0;
}

.table_form_contact input::placeholder,
.table_form_contact textarea::placeholder {
	color: #98a09b;
}

.table_form_contact .form_s_contact {
	max-width: 220px;
}

.table_form_contact .form_m_contact {
	max-width: 430px;
}

.postal_contact {
	display: flex;
	align-items: center;
	gap: 10px;
}

.postal_contact > span {
	color: #465149;
	font-size: 1.6rem;
}

.choice_contact {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	padding-top: 9px;
}

.choice_contact label,
.agree_contact label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	cursor: pointer;
}

.choice_contact input,
.agree_contact input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #035f1d;
}

.choice_contact span {
	font-size: 1.6rem;
}

.privacy_contact {
	margin-top: 70px;
	border: 1px solid #cfd8d2;
}

.ttl_privacy_contact {
	padding: 20px 25px;
	background: #035f1d;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
}

.scroll_privacy_contact {
	overflow-y: auto;
	max-height: 340px;
	padding: 32px 35px 38px;
	background: #f8faf8;
}

.scroll_privacy_contact p.text,
.scroll_privacy_contact li {
	color: #465149;
	font-size: 1.4rem;
	line-height: 1.9;
}

.scroll_privacy_contact h4 {
	margin: 30px 0 10px;
	padding-left: 14px;
	border-left: 3px solid #22814b;
	color: #26332b;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.7;
}

.scroll_privacy_contact ol {
	margin: 0;
	padding-left: 1.7em;
	list-style: decimal;
}

.scroll_privacy_contact li + li {
	margin-top: 7px;
}

.company_privacy_contact {
	margin-top: 25px;
	color: #26332b;
	font-size: 1.5rem;
	font-weight: 700;
	text-align: right;
}

.agree_contact {
	margin: 35px 0 45px;
	text-align: center;
}

.agree_contact label {
	justify-content: center;
	font-size: 1.6rem;
	font-weight: 600;
}

.btn_submit_contact {
	text-align: center;
}

.btn_submit_contact button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 420px;
	min-height: 64px;
	padding: 15px 40px;
	border: 1px solid #035f1d;
	background: #035f1d;
	color: #fff;
	font-family: inherit;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	transition: background .25s, color .25s;
}

.btn_submit_contact button:hover {
	background: #fff;
	color: #035f1d;
}

.btn_actions_contact {
	display: flex;
	gap: 20px;
	width: 100%;
	max-width: 680px;
	margin: 24px auto 0;
}

.btn_actions_contact button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50%;
	min-height: 60px;
	padding: 14px 30px;
	border: 1px solid #035f1d;
	font-family: inherit;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
	transition: background .25s, color .25s;
}

.btn_back_contact {
	background: #fff;
	color: #035f1d;
}

.btn_back_contact:hover {
	background: #eef4f0;
}

.btn_send_contact {
	background: #035f1d;
	color: #fff;
}

.btn_send_contact:hover {
	background: #fff;
	color: #035f1d;
}

@media (max-width: 1199px) {
	.bg_contact01,
	.bg_contact02 {
		padding-top: 90px;
		padding-bottom: 100px;
	}

	.head_contact {
		margin-bottom: 50px;
	}

	.head_contact h3 {
		font-size: 3.4rem;
	}
}

@media (max-width: 991px) {
	.numbers_contact {
		display: block;
	}

	.numbers_contact p + p {
		margin-top: 13px;
	}

	.table_form_contact th {
		width: 31%;
	}
}

@media (max-width: 767px) {
	.bg_sub_contact {
		background-position: 52% center;
	}

	.container_contact {
		width: 100%;
		padding: 0 15px;
	}

	.bg_contact01,
	.bg_contact02 {
		padding: 50px 0 50px;
	}

	.head_contact {
		margin-bottom: 25px;
	}

	.head_contact .en {
		font-size: 1.1rem;
		letter-spacing: .16em;
	}

	.head_contact h3 {
		font-size: 2rem;
	}

	.lead_contact {
		margin-bottom: 40px;
		text-align: left;
	}

	.lead_contact p.text,
	.intro_form_contact p.text {
		font-size: 1.5rem;
		line-height: 1.7;
	}

	.list_tel_contact {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.list_tel_contact > li {
		padding: 20px 20px 20px;
	}

	.office_contact {
		font-size: 1.7rem;
	}

	.numbers_contact {
		display: flex;
		gap: 10px;
	}

	.numbers_contact p + p {
		margin-top: 0;
	}

	.numbers_contact p {
		font-size: 1.6rem;
	}

	.intro_form_contact,
	.notice_sales_contact {
		padding: 24px 22px;
	}

	.notice_sales_contact {
		margin-bottom: 35px;
	}

	.ttl_notice_contact {
		font-size: 1.7rem;
	}

	.notice_sales_contact p.text {
		font-size: 1.4rem;
	}

	.note_required_contact {
		font-size: 1.3rem;
		text-align: left;
	}

	.table_form_contact table,
	.table_form_contact tbody,
	.table_form_contact tr,
	.table_form_contact th,
	.table_form_contact td {
		display: block;
		width: 100%;
	}

	.table_form_contact th,
	.table_form_contact td {
		border: 0;
	}

	.table_form_contact th {
		padding: 20px 5px 8px;
		font-size: 1.5rem;
	}

	.table_form_contact td {
		padding: 0 5px 22px;
	}

	.table_form_contact input[type="text"],
	.table_form_contact input[type="email"],
	.table_form_contact input[type="tel"],
	.table_form_contact select,
	.table_form_contact textarea {
		padding: 13px 14px;
		font-size: 1.6rem;
	}

	.table_form_contact .form_s_contact,
	.table_form_contact .form_m_contact {
		max-width: none;
	}

	.choice_contact {
		gap: 14px 22px;
		padding-top: 4px;
	}

	.privacy_contact {
		margin-top: 50px;
	}

	.ttl_privacy_contact {
		padding: 17px 18px;
		font-size: 1.6rem;
	}

	.scroll_privacy_contact {
		max-height: 300px;
		padding: 25px 20px 30px;
	}

	.scroll_privacy_contact p.text,
	.scroll_privacy_contact li {
		font-size: 1.35rem;
	}

	.scroll_privacy_contact h4 {
		font-size: 1.5rem;
	}

	.agree_contact {
		margin: 28px 0 35px;
		text-align: left;
	}

	.agree_contact label {
		align-items: flex-start;
		justify-content: flex-start;
		font-size: 1.5rem;
	}

	.agree_contact input {
		flex: 0 0 18px;
		margin-top: 3px;
	}

	.btn_submit_contact button {
		min-height: 58px;
		padding: 14px 20px;
		font-size: 1.6rem;
	}

	.btn_actions_contact {
		gap: 10px;
		margin-top: 18px;
	}

	.btn_actions_contact button {
		min-height: 54px;
		padding: 12px 10px;
		font-size: 1.5rem;
	}
}

@media (max-width: 374px) {
	.numbers_contact {
		display: block;
	}

	.numbers_contact p + p {
		margin-top: 12px;
	}
}
