@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;700&display=swap");
/* ------------------------------
    mixin
------------------------------ */
/* ------------------------------
    reset
------------------------------ */
html {
	font-size: 62.5%;
	overflow-y: scroll;
}
@media screen and (max-width: 1400px) and (min-width: 767px) {
	html {
		font-size: 0.71429vw;
	}
}
@media screen and (max-width: 767px) {
	html {
		font-size: 2vw;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
time,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form,
input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: "Noto Sans JP", メイリオ, Meiryo, "Hiragino Kaku Gothic Pro",
		"ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

input,
button,
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 0;
	resize: none;
	outline: none;
	background: none;
}

select::-ms-expand {
	display: none;
}

button:hover {
	cursor: pointer;
}

a {
	color: #32393c;
	text-decoration: none;
	transition: opacity 0.3s ease;
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a img {
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:hover {
	opacity: 0.6;
	cursor: pointer;
}

img,
object {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}

/* IE用追記 */
.ie,
.edge {
	overflow-x: hidden;
}
@media screen and (max-width: 767px) {
	.ie,
	.edge {
		overflow-x: inherit;
	}
}

/* ------------------------------
    base
------------------------------ */
body {
	color: #32393c;
	font-size: 1rem;
	text-align: left;
}

section {
	position: relative;
}

main {
	display: block;
	padding-top: 76px;
}

.wrap {
	max-width: 1200px;
	width: 90%;
	padding: 0;
	margin: 0 auto;
	position: relative;
}

.inner_m {
	margin: 0 2rem;
}

/*.inner_s {
 margin: 0 8rem; }*/

p,
th,
td,
dt,
dd,
li,
input,
button,
textarea {
	font-size: 1.6rem;
	line-height: 1.8;
}

p.txt {
	font-size: 1.6rem;
	line-height: 1.8;
}

p.txt + .txt_list {
	margin-top: 1.7rem;
}
.txt_list li {
	position: relative;
	font-size: 1.6rem;
	line-height: 1.8;
	padding-left: 1.5rem;
	box-sizing: border-box;
}
.txt_list li:before {
	position: absolute;
	left: 0;
	top: 0;
	display: inline-block;
	vertical-align: middle;
	content: "・";
	color: #b0142d;
}
.txt_bold {
	font-weight: bold;
}
.fade {
	transition: opacity 0.3s ease;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.fade img {
	outline: 1px solid transparent;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.fade:hover {
	opacity: 0.6;
	cursor: pointer;
}

.h-center {
	position: absolute;
	left: 50%;
	transform: translateX(-50%) translateZ(0);
}

.v-center {
	position: absolute;
	top: 50%;
	transform: translateY(-50%) translateZ(0);
}

.hv-center {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateZ(0);
}

.flex {
	display: flex;
	justify-content: space-between;
}

.bold {
	font-weight: bold;
}

.tal {
	text-align: left;
}

.tar {
	text-align: right;
}

.tac {
	text-align: center;
}

.left {
	float: left;
}

.right {
	float: right;
}

.center {
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.fixed {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.preload *,
.preload *::before,
.preload *::after {
	transition: none !important;
}

.sawarabi {
	/* font-family: 'Noto Serif', serif; */
}

.serif {
	/* font-family: 'Noto Serif', serif; */
}

.bg-gray {
	background: rgba(58, 71, 79, 0.1);
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}
	.wrap {
		width: 90%;
		padding: 0;
	}
	.inner_m {
		margin: 0;
	}
	/* .inner_s {
  margin: 0 3rem; }*/
	main {
		padding-top: 60px;
	}
	p,
	th,
	td,
	dt,
	dd,
	li {
		font-size: 1.6rem;
	}
	input,
	textarea,
	select,
	.select {
		font-size: 16px !important;
	}
	p.txt {
		font-size: 1.6rem;
		line-height: 1.8;
	}
}

#cookie-notice.cookie-notice-visible.cn-effect-fade,
#cookie-notice.cookie-revoke-visible.cn-effect-fade {
	animation-delay: 1s;
}

/* ------------------------------
    loader
------------------------------ */
.loader {
	position: fixed;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	z-index: 9999;
	top: 0;
	left: 0;
	display: block;
}

/* ------------------------------
    header
------------------------------ */
#header {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 76px;
	z-index: 1000;
	transition: height 0.5s ease;
}
#header .wrap {
	background: #fff;
	width: 100%;
	height: 76px;
	max-width: inherit;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0 3rem;
	transition: background-color 0.5s ease;
}
#header .logo_wrap {
	flex: 0 0 auto;
}
#header .logo {
	display: flex;
	align-items: center;
	height: 4rem;
	width: 40rem;
}
#header .logo img {
	width: 100%;
	height: auto;
	max-height: 100%;
}
#header .others {
	flex: 0 0 auto;
	display: flex;
}
#header .others .item {
	margin-left: 3rem;
	height: 76px;
	line-height: 76px;
}
#header .others .item.language {
	position: relative;
}
#header .others .item .ico {
	display: flex;
	align-content: center;
	justify-content: center;
	height: 100%;
	position: relative;
}
#header .others .item .ico svg {
	fill: #3a474f;
	width: 3rem;
	height: auto;
	vertical-align: middle;
}
#header .others .item .ico::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -1%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 5px 10px 5px;
	border-color: transparent transparent #0e6c36 transparent;
	display: none;
}
#header .others .item #language_button,
#header .others .item #search_button {
	display: none;
}
#header .others .item .detail {
	transition: max-height 0.5s ease;
	background: rgba(165, 20, 45, 0.95);
	position: absolute;
	top: 76px;
	z-index: 1000;
	max-height: 0;
	overflow: hidden;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}
#header .others .item .detail.language_detail {
	left: 50%;
	color: #fff;
	width: 16rem;
	transform: translateX(-50%);
}
#header .others .item .detail.language_detail ul {
	padding: 1.5rem 0;
}
#header .others .item .detail.language_detail a {
	display: block;
	color: #fff;
	padding: 0.5em 3em 0.5em 1em;
	position: relative;
}
#header .others .item .detail.language_detail a::before {
	position: absolute;
	top: 50%;
	right: 1.5rem;
	transform: translateY(-50%);
	margin: auto;
	display: block;
	content: "";
	background: url("../ico_arrow_slide.svg") no-repeat center center;
	background-size: 100% auto !important;
	width: 1.2rem;
	height: 1.3rem;
	transition: right 0.3s ease;
}
#header .others .item .detail.language_detail a:hover {
	opacity: 1;
}
#header .others .item .detail.language_detail a:hover::before {
	right: 0.5em;
}
#header .others .item .detail.search_detail {
	left: 0;
	width: 100%;
}
#header .others .item .detail.search_detail form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 3rem 0;
}
#header .others .item .detail.search_detail form .search_keyword {
	height: 2.5em;
	line-height: 2.5em;
	background: #fff;
	font-size: 2rem;
	flex: 1 1 auto;
	padding: 0 2em;
}
#header .others .item .detail.search_detail form .search_keyword::placeholder {
	color: #aaa;
}
#header .others .item .detail.search_detail form .search_keyword:not(.active) {
	background: #fff url(../common/ico_search_g.svg) no-repeat left 2em
		center/1.2em auto;
	padding-left: 3.5em;
}
#header
	.others
	.item
	.detail.search_detail
	form
	.search_keyword.active::placeholder {
	color: #fff;
}
#header .others .item .detail.search_detail form .search_submit {
	flex: 0 0 auto;
	margin-left: 2rem;
	width: 19rem;
	height: 2.5em;
	line-height: 2.5em;
	font-size: 1.6rem;
	text-align: center;
	background: #bdbdbd url(../common/ico_search_w.svg) no-repeat left 0.8em
		center/auto 50%;
	color: #fff;
	pointer-events: none;
}
#header .others .item .detail.search_detail form .search_submit.active {
	background-color: #fff;
	background-image: url(../common/ico_search.svg);
	color: #0e6c36;
	cursor: pointer;
	pointer-events: auto;
}
#header .others .item .detail.search_detail form .search_submit.active:hover {
	filter: brightness(150%);
}
@media screen and (min-width: 768px) {
	#header .others .item:hover .ico {
		position: relative;
	}
	#header .others .item:hover .ico svg {
		fill: #0e6c36;
	}
	#header .others .item:hover .ico::before {
		display: block;
	}
	#header .others .item:hover .detail {
		max-height: 20rem;
	}
}
#header .red {
	display: none;
}
#header nav {
	flex: 1 1 auto;
}
#header nav .gnavi {
	display: flex;
	justify-content: flex-end;
	margin: 0 2rem;
}
#header nav .gnavi > li > p,
#header nav .gnavi > li > a {
	/* font-family: 'Noto Serif', serif; */
	color: #3a474f;
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 76px;
	padding: 0 1em;
	position: relative;
	cursor: pointer;
}
@media screen and (min-width: 1467px) {
	#header nav .gnavi > li > p,
	#header nav .gnavi > li > a {
		font-size: 1.7rem;
		padding: 0 1.5em;
	}
}

#header nav .gnavi > li > a svg {
	fill: #3a474f;
}
@media screen and (min-width: 768px) {
	#header nav .gnavi > li > p:hover,
	#header nav .gnavi > li > p > a:hover {
		color: #0e6c36;
		font-weight: bold;
		opacity: 1;
	}
}
@media screen and (min-width: 768px) {
	#header nav .gnavi > li > a:hover {
		color: #0e6c36;
		opacity: 0.7;
	}
	#header nav .gnavi > li > a:hover svg {
		fill: #0e6c36;
	}
	#header nav .gnavi > li > a:hover ::after {
		display: none;
	}
}
@media screen and (min-width: 768px) {
	#header nav .gnavi .mega_menu {
		position: absolute;
		left: 0;
		top: 76px;
		width: 100%;
		height: 45rem;
		display: flex !important;
		align-items: center;
		justify-content: center;
		transition: max-height 0.3s ease;
		visibility: hidden;
	}
	#header nav .gnavi .mega_menu.active {
		visibility: visible;
		z-index: 1;
	}
	#header nav .gnavi .mega_menu .inner {
		height: 29rem;
		/*  width: 96rem;*/
		width: 102rem;
		display: flex;
	}
	#header nav .gnavi .mega_menu .ttl {
		flex: 0 0 auto;
		width: 35rem;
		font-size: 1.6rem;
		padding-top: 3rem;
		color: #fff;
		/* font-family: 'Noto Serif', serif; */
	}
	#header nav .gnavi .mega_menu .ttl .en {
		display: block;
		font-size: 4.3rem;
		line-height: 1;
		margin-bottom: 0.1em;
	}
	#header nav .gnavi .mega_menu .ttl .en img {
		height: 1em;
		width: auto;
	}
	#header nav .gnavi .mega_menu .ttl .en.line img {
		height: 2.2em;
	}
	#header nav .gnavi .mega_menu .snavi_wrap {
		flex: 1 1 auto;
		width: 100%;
		padding: 3rem 0 3rem 9rem;
	}
	#header nav .gnavi .mega_menu .sttl a {
		font-size: 3rem;
		line-height: 1.2;
		position: relative;
		color: #fff;
	}
	#header nav .gnavi .mega_menu .sttl a:hover {
		opacity: 1;
		text-decoration: underline;
	}
	#header nav .gnavi .mega_menu .snavi {
		display: flex;
		flex-wrap: wrap;
		margin-top: 1rem;
	}
	#header nav .gnavi .mega_menu .snavi > li {
		font-size: 1.6rem;
		line-height: 1;
		/*  width: 25rem;*/
		width: 29rem;
		margin: 0.8em 0;
	}
	#header nav .gnavi .mega_menu .snavi > li a {
		color: #fff;
	}
	#header nav .gnavi .mega_menu .snavi > li > a::before {
		content: "";
		background: url(../common/ico_nav_black.svg) no-repeat center/contain;
		width: 0.6em;
		height: 0.6em;
		display: inline-block;
		vertical-align: 0.1em;
		margin-right: 0.5em;
		display: none;
	}
	#header nav .gnavi .mega_menu .snavi > li > a:hover {
		opacity: 1;
		border-bottom: 1px solid #fff;
	}
}
@media screen and (max-width: 767px) {
	#header nav .gnavi .mega_menu {
		display: none;
	}
}
#header #overlay {
	display: block;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #0e6c36;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 997;
}
#header #overlay.active {
	opacity: 1;
	pointer-events: auto;
}
@media screen and (min-width: 768px) {
	#header.active {
		background: rgba(165, 20, 45, 0.95);
		height: calc(100px + 46rem);
		box-shadow: 0 0 10px #000;
	}
	#header.active .wrap {
		background: #fff;
		border-bottom-color: #c87372;
	}
	#header.active .white {
		display: none;
	}
	#header.active .red {
		display: block;
	}
	#header.active .others .ico svg {
		fill: #3a474f;
	}
	#header.active .gnavi > li > a,
	#header.active .gnavi > li > p {
		color: #3a474f;
	}
	#header.active .gnavi > li > a svg {
		fill: #3a474f;
	}
}

@media screen and (max-width: 767px) {
	#header,
	#header .wrap,
	#header .logo_wrap {
		width: 100%;
		height: 60px;
	}
	#header {
		background-color: transparent;
		position: fixed;
		top: 0;
		left: 0;
		padding: 0;
		margin: 0;
		z-index: 999;
		overflow: inherit;
	}
	#header .wrap {
		padding: 0;
		display: block;
		position: relative;
		min-width: inherit;
	}
	#header .logo_wrap {
		position: relative;
		background: #fff;
		z-index: 999;
		padding: 0;
	}
	#header .logo {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		height: auto;
		width: 26rem;
	}
	#header .logo a {
		display: block;
		height: 100%;
	}
	#header .others {
		position: absolute;
		right: 0;
		top: 0;
	}
	#header .others .item {
		height: 60px;
		width: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#header .others .item .ico {
		position: relative;
		z-index: 999;
		width: 100%;
	}
	#header .others .item .ico svg {
		width: 26px;
		height: auto;
		fill: #3a474f;
	}
	#header .others .item .detail.language_detail {
		background: #b0142d;
		width: 100%;
		height: 100%;
		opacity: 0;
		padding: 8vw 0;
		position: fixed;
		left: 0;
		top: 60px;
		overflow-x: hidden;
		overflow-y: auto;
		max-height: calc(100% - 60px);
		transform: translateY(-100%);
		transition: transform 0.3s, opacity 1s;
		pointer-events: none;
		z-index: 998;
	}
	#header .others .item .detail.language_detail ul li {
		display: block;
		height: auto;
		padding: 0 5vw;
	}
	#header .others .item .detail.language_detail ul li:first-child > p,
	#header .others .item .detail.language_detail ul li:first-child > a {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}
	#header .others .item .detail.language_detail ul li p,
	#header .others .item .detail.language_detail ul li a {
		color: #fff;
		background: transparent;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 18vw;
		font-size: 5vw;
		padding: 0 5vw;
		position: relative;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	#header .others .item .detail.language_detail ul li p::before,
	#header .others .item .detail.language_detail ul li a::before {
		position: absolute;
		top: 50%;
		right: 2rem;
		transform: translateY(-50%);
		margin: auto;
		display: block;
		content: "";
		background: url("../ico_arrow_slide.svg") no-repeat center center;
		background-size: 100% auto !important;
		width: 1.2rem;
		height: 1.3rem;
		transition: right 0.3s ease;
	}
	#header .others .item #language_button:checked + .ico {
		background: #b0142d;
	}
	#header .others .item #language_button:checked + .ico svg {
		fill: #fff;
	}
	#header .others .item #language_button:checked + .ico::before {
		display: none;
	}
	#header .others .item #language_button:checked + .ico + .language_detail {
		opacity: 1;
		transform: translateY(0);
		transition: transform 0.3s, opacity 0s;
		pointer-events: auto;
	}
	#header .menu-trigger {
		display: flex;
		position: fixed;
		left: 0;
		top: 0;
		width: 60px;
		height: 60px;
		z-index: 999;
		background: #af142d;
	}
	#header .menu-trigger .ico {
		width: 20px;
		height: 20px;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
	}
	#header .menu-trigger .ico span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
	}
	#header .menu-trigger .ico span:nth-of-type(1) {
		top: 20%;
	}
	#header .menu-trigger .ico span:nth-of-type(2) {
		top: 45%;
	}
	#header .menu-trigger .ico span:nth-of-type(3) {
		bottom: 20%;
	}
	#header nav {
		background: #b0142d;
		width: 100%;
		height: 100%;
		opacity: 0;
		padding: 0;
		position: fixed;
		left: 0;
		top: 60px;
		overflow-x: hidden;
		overflow-y: auto;
		max-height: calc(100% - 60px);
		transform: translateY(-100%);
		transition: transform 0.3s, opacity 1s;
		z-index: 998;
	}
	#header nav .nav_wrap {
		top: 0;
		left: 0;
		width: 200vw;
		height: 100%;
		position: relative;
		margin: 0;
		padding: 8vw 0;
		transition: transform 0.3s;
	}
	#header nav .nav_wrap.active {
		transform: translateX(-100vw);
	}
	#header nav .nav_wrap .sp_search {
		padding: 0 5vw;
		margin-bottom: 8vw;
		width: 100vw;
	}
	#header nav .nav_wrap .sp_search input {
		width: 100%;
		height: 2.5em;
		line-height: 2.5em;
		background: #fff;
		padding: 0 1em;
		border-radius: 100px;
	}
	#header nav .nav_wrap .sp_search input::placeholder {
		color: #aaa;
		background: url(../common/ico_search_g.svg) no-repeat left center/1.2em auto;
		padding-left: 1.5em;
	}
	#header nav .nav_wrap .gnavi {
		margin: 0;
		padding: 0;
		display: block;
	}
	#header nav .nav_wrap .gnavi li {
		display: block;
		height: auto;
		padding: 0 5vw;
		width: 100vw;
		overflow: hidden;
	}
	#header nav .nav_wrap .gnavi li:first-child > p,
	#header nav .nav_wrap .gnavi li:first-child > a {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
	}
	#header nav .nav_wrap .gnavi li p {
		color: #fff;
		background: transparent;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 18vw;
		font-size: 5vw;
		padding: 0 5vw;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	#header nav .nav_wrap .gnavi li a {
		color: #fff;
		background: transparent;
		display: block;
		width: 100%;
		font-size: 5vw;
		position: relative;
	}
	#header nav .nav_wrap .gnavi li a::before {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		margin: auto;
		display: block;
		content: "";
		background: url("../ico_arrow_slide.svg") no-repeat center center;
		background-size: 100% auto !important;
		width: 1.2rem;
		height: 1.3rem;
		transition: right 0.3s ease;
	}
	#header nav .nav_wrap .gnavi li p[target="_blank"]::before,
	#header nav .nav_wrap .gnavi li p[target="_blank"]::after,
	#header nav .nav_wrap .gnavi li a[target="_blank"]::before,
	#header nav .nav_wrap .gnavi li a[target="_blank"]::after {
		display: none;
	}
	#header nav .nav_wrap .gnavi li p[target="_blank"] i,
	#header nav .nav_wrap .gnavi li a[target="_blank"] i {
		position: absolute;
		right: 5vw;
		top: 50%;
		transform: translateY(-50%);
	}
	#header nav .nav_wrap .gnavi li p[target="_blank"] i svg,
	#header nav .nav_wrap .gnavi li a[target="_blank"] i svg {
		fill: #fff;
	}
	#header nav .nav_wrap .gnavi li .mega_menu {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		padding: 8vw 0;
		transform: translateX(100vw);
		visibility: hidden;
	}
	#header nav .nav_wrap .gnavi li .mega_menu.active {
		visibility: visible;
	}
	#header nav .nav_wrap .gnavi li .mega_menu .ttl {
		display: none;
	}
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li p,
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li a {
		font-size: 4.5vw;
	}
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li.mega_menu-close > p,
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li.mega_menu-close > a {
		/* font-family: 'Noto Serif', serif; */
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		background: #8a0b0a;
		padding-left: 3em;
		font-size: 5vw;
	}
	#header
		nav
		.nav_wrap
		.gnavi
		li
		.mega_menu
		.snavi
		li.mega_menu-close
		> p::before,
	#header
		nav
		.nav_wrap
		.gnavi
		li
		.mega_menu
		.snavi
		li.mega_menu-close
		> a::before {
		left: 5vw;
		transform: translateY(-50%) scale(-1, 1);
	}
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li.sp p,
	#header nav .nav_wrap .gnavi li .mega_menu .snavi li.sp a {
		font-weight: bold;
	}
	#header.navOpen .menu-trigger {
		background: #b0142d;
	}
	#header.navOpen .menu-trigger span {
		background: #fff;
	}
	#header.navOpen .menu-trigger span:nth-of-type(1) {
		top: 50%;
		transform: translateY(-50%) rotate(-45deg);
	}
	#header.navOpen .menu-trigger span:nth-of-type(2) {
		bottom: 50%;
		transform: translateY(50%) rotate(45deg);
	}
	#header.navOpen .menu-trigger span:nth-of-type(3) {
		display: none;
	}
	#header.navOpen nav {
		opacity: 1;
		transform: translateY(0);
		transition: transform 0.3s, opacity 0s;
	}
}

/* ------------------------------
    footer
------------------------------ */
#footer {
	background: #3a474f;
	color: #fff;
	position: relative;
}

@media screen and (min-width: 768px) {
	#footer .pagetop {
		position: absolute;
		right: 3rem;
		z-index: 999;
	}
	#footer .pagetop a {
		display: block;
		padding: 2rem;
		background: #fff;
		border-radius: 100%;
	}
}
@media screen and (max-width: 767px) {
	#footer .pagetop {
		background: url(../common/footer_bg.png);
		text-align: center;
		padding: 3rem 0;
		position: static !important;
	}
	#footer .pagetop img {
		width: 4rem;
	}
}
#footer .menu_bg {
	padding: 7rem 0 5rem;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg {
		padding: 4rem 0;
	}
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .flex {
		display: block;
	}
}
#footer .menu_bg {
	flex: 0 0 auto;
	width: 100%;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg {
		width: 100%;
		text-align: center;
		display: flex;
		padding-bottom: 0;
	}
	#footer .menu_bg > * {
		flex: 1;
	}
}
#footer .menu_bg .logo {
	position: absolute;
	right: 0;
	bottom: 0;
}
#footer .menu_bg .logo img {
	width: 26rem;
}
#footer .menu_bg .logo.en-logo img {
	width: 15.2rem;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .logo {
		position: relative;
		text-align: center;
		margin: 0 auto 7.1875rem auto;
	}
	#footer .menu_bg .logo img,
	#footer .menu_bg .logo.en-logo img {
		width: 14rem;
	}
}

#footer .menu_bg .sns {
	margin-top: 1rem;
	padding-left: 1rem;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .sns {
		padding-left: 0;
	}
}
#footer .menu_bg .sns a {
	font-size: 1.8rem;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .sns a {
		justify-content: center;
	}
}
#footer .menu_bg .sns img {
	width: 3rem;
	margin-right: 0.5em;
}
#footer .menu_bg {
	flex: 1 1 auto;
}
#footer .menu_bg .menu_wrap {
	display: flex;
	justify-content: flex-start;
}
#footer .menu_bg .menu_wrap hr {
	margin: 5rem 0;
	flex: 1 1 auto;
	width: 100%;
	border: none;
	border-bottom: 1px solid #aaa;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .menu_wrap {
		flex-wrap: wrap;
		width: 90%;
		margin: 0 auto;
	}
	#footer .menu_bg .menu_wrap hr {
		border-bottom-color: #fff;
	}
}
#footer .menu_bg .menu_wrap .box {
	margin-right: -1px;
	width: calc(98% / 5);
}

@media screen and (max-width: 767px) {
	#footer .menu_bg .menu_wrap .box {
		width: 50%;
		margin-left: 0;
	}
}
#footer .menu_bg .menu_wrap .box .ttl {
	font-size: 1.6rem;
	line-height: 1.2;
	margin-bottom: 1em;
	font-weight: bold;
}
@media screen and (min-width: 768px) {
	#footer .menu_bg .menu_wrap .box .ttl.ja {
		font-size: 1.6rem;
	}
}
#footer .menu_bg .menu_wrap .box .ttl a {
	color: #fff;
}
#footer .menu_bg .menu_wrap .box .ttl i {
	vertical-align: 0.2em;
	margin-left: 0.3em;
}
#footer .menu_bg .menu_wrap .box .ttl i img {
	width: 0.8em;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .menu_wrap .box .ttl {
		font-size: 2.2rem;
		position: relative;
		text-align: left;
		margin-bottom: 0.8em;
	}

	#footer .menu_bg .menu_wrap .box .ttl + .menu {
		text-align: left;
	}
	#footer .menu_bg .menu_wrap .box .ttl.recruit {
		padding-left: 0;
	}
	#footer .menu_bg .menu_wrap .box .ttl.recruit::before {
		display: none;
	}
}
#footer .menu_bg .menu_wrap .box .menu li {
	text-align: left;
	font-size: 1.1rem;
	line-height: 1.4;
}
#footer .menu_bg .menu_wrap .box .menu li + li {
	margin-top: 0.6em;
}
@media screen and (max-width: 767px) {
	#footer .menu_bg .menu_wrap .box .menu li + li {
		margin-top: 1em;
	}
}
#footer .menu_bg .menu_wrap .box .menu li a {
	color: #fff;
}
#footer .menu_bg .menu_wrap .box .menu li a::before {
	content: "";
	background: url(../common/ico_nav.svg) no-repeat center/contain;
	width: 0.6em;
	height: 0.6em;
	display: inline-block;
	vertical-align: 0.1em;
	margin-right: 0.5em;
	display: none;
}
#footer .menu_bg .menu_wrap .box .menu li a i {
	vertical-align: 0.2em;
	margin-left: 0.3em;
}
#footer .menu_bg .menu_wrap .box .menu li a i img {
	width: 0.8em;
}
#footer .menu_bg .menu_wrap + .menu_wrap {
	margin-top: 4rem;
	padding-top: 4rem;
	border-top: 1px solid #555;
}
#footer .copy_bg {
	background: url(../common/footer_bg2.png);
	text-align: center;
}
#footer .copy_bg .menu {
	padding: 2rem 0;
}
@media screen and (max-width: 767px) {
	#footer .copy_bg .menu {
		padding: 1rem 0;
	}
}
#footer .copy_bg .menu li {
	display: inline-block;
	font-size: 1.5rem;
	line-height: 1;
	position: relative;
}
@media screen and (max-width: 767px) {
	#footer .copy_bg .menu li {
		margin: 0.5em 0;
	}
}
#footer .copy_bg .menu li + li {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #fff;
}
@media screen and (max-width: 767px) {
	#footer .copy_bg .menu li + li {
		padding-left: 0;
		border-left: none;
	}
}
#footer .copy_bg .menu li a {
	color: #fff;
}
#footer .copy_bg .menu li a::before {
	content: "";
	background: url(../common/ico_nav.svg) no-repeat center/contain;
	width: 0.6em;
	height: 0.6em;
	display: inline-block;
	vertical-align: 0.1em;
	margin-right: 0.5em;
	display: none;
}
#footer .copy_bg .copy {
	border-top: 1px solid #333;
}
#footer .copy_bg .copy p {
	padding: 1rem 0;
	font-size: 1.2rem;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
	#footer .copy_bg {
		background: #3a474f;
		padding: 0 0 3.5rem 0;
		box-sizing: border-box;
	}
	#footer .copy_bg .copy {
		border: none;
	}
}
/* ------------------------------
		column
------------------------------ */
@media (min-width: 769px) {
	.col {
		display: flex;
		justify-content: space-between;
	}
	.col:first-child {
		margin-top: 0;
	}
	.col > * {
		margin: 0 -1px 0 3rem;
		flex: 1;
	}
	.col:not(.reverse) > *:first-child {
		margin-left: 0 !important;
	}
	.col > * > *:first-child {
		margin-top: 0;
	}
	.col.reverse > *:first-child {
		order: 2;
	}
	.col.reverse > *:last-child {
		margin-left: 0 !important;
	}
	.imgCol {
		display: flex;
		justify-content: space-between;
	}
	.imgCol:first-child {
		margin-top: 0;
	}
	.imgCol_i {
		flex: 0 0 auto;
	}
	.imgCol_t {
		flex: 1;
	}
	.imgCol > * {
		margin: 0 -1px 0 3rem;
	}
	.imgCol:not(.reverse) > *:first-child {
		margin-left: 0 !important;
	}
	.imgCol > * > *:first-child {
		margin-top: 0;
	}
	.imgCol.reverse > *:first-child {
		order: 2;
	}
	.imgCol.reverse > *:last-child {
		margin-left: 0 !important;
	}
	.col_border > * + * {
		padding-left: 3rem;
		border-left: 1px dotted #000;
	}
}
.col.workstyle > dt {
	flex: inherit;
	width: 10.3rem;
	text-align: center;
}
.col.workstyle > dd {
	flex: inherit;
	width: calc(100% - 10.3rem);
}

@media (max-width: 768px) {
	.col > *,
	.imgCol > * {
		margin-top: 5vw;
	}
	.col:first-child > *:first-child,
	.imgCol:first-child > *:first-child {
		margin-top: 0;
	}
	.col_sp {
		display: flex;
		justify-content: space-between;
	}
	.col_sp:first-child {
		margin-top: 0;
	}
	.col_sp > * {
		margin-top: 0;
		margin-left: 3vw;
		flex: 1;
	}
	.col_sp > *:first-child {
		margin-left: 0 !important;
	}
	.col_sp > * > *:first-child {
		margin-top: 0;
	}
	.imgCol_sp {
		display: flex;
		justify-content: space-between;
	}
	.imgCol_sp:first-child {
		margin-top: 0;
	}
	.imgCol_i {
		flex: 0 0 auto;
	}
	.imgCol_t {
		flex: 1;
	}
	.imgCol_sp > * {
		margin-top: 0;
		margin-left: 3vw;
	}
	.imgCol_sp > *:first-child {
		margin-left: 0 !important;
	}
	.imgCol_sp > * > *:first-child {
		margin-top: 0;
	}
	.col_border > * + * {
		padding-top: 3rem;
		border-top: 1px dotted #000;
	}
	.col.workstyle > dt {
		flex: inherit;
		width: 100%;
		text-align: left;
	}
	.col.workstyle > dd {
		width: 100%;
	}
}

@media (min-width: 769px) {
	.grid_2,
	.grid_3,
	.grid_4,
	.grid_5 {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.grid_2:first-child,
	.grid_3:first-child,
	.grid_4:first-child,
	.grid_5:first-child {
		margin-top: 0;
	}
	.grid_2 > *,
	.grid_3 > *,
	.grid_4 > *,
	.grid_5 > * {
		margin: 0 -1px 0 3rem;
	}
	.grid_2 > * {
		width: calc((100% - 3rem) / 2);
	}
	.grid_3 > * {
		width: calc((100% - 3rem * 2) / 3);
	}
	.grid_4 > * {
		width: calc((100% - 3rem * 3) / 4);
	}
	.grid_5 > * {
		width: calc((100% - 3rem * 4) / 5);
	}
	.grid_2 > *:nth-child(2n + 1),
	.grid_3 > *:nth-child(3n + 1),
	.grid_4 > *:nth-child(4n + 1),
	.grid_5 > *:nth-child(5n + 1) {
		margin-left: 0 !important;
		border-left: none !important;
	}
	.grid_2 > *:nth-child(n + 3),
	.grid_3 > *:nth-child(n + 4),
	.grid_4 > *:nth-child(n + 5),
	.grid_5 > *:nth-child(n + 6) {
		margin-top: 3rem;
	}
	.grid_2 > * > *:first-child,
	.grid_3 > * > *:first-child,
	.grid_4 > * > *:first-child,
	.grid_5 > * > *:first-child {
		margin-top: 0;
	}
	.grid_border {
		margin-left: -3rem;
	}
	.grid_border > * {
		padding-left: 3rem;
		border-left: 1px dotted #000;
	}
}

@media (max-width: 768px) {
	.grid_2 > *,
	.grid_3 > *,
	.grid_4 > *,
	.grid_5 > * {
		margin-top: 5vw;
	}
	.grid_2:first-child > *:first-child,
	.grid_3:first-child > *:first-child,
	.grid_4:first-child > *:first-child,
	.grid_5:first-child > *:first-child {
		margin-top: 0;
	}
	.grid_sp_2,
	.grid_sp_3,
	.grid_sp_4 {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.grid_2:first-child,
	.grid_3:first-child,
	.grid_4:first-child {
		margin-top: 0;
	}
	.grid_sp_2 > *,
	.grid_sp_3 > *,
	.grid_sp_4 > * {
		margin-left: 3vw;
		margin-top: 0;
	}
	.grid_sp_2 > * {
		width: calc((100% - 3vw) / 2);
	}
	.grid_sp_3 > * {
		width: calc((100% - 3vw * 2) / 3);
	}
	.grid_sp_4 > * {
		width: calc((100% - 3vw * 3) / 4);
	}
	.grid_sp_2 > *:nth-child(2n + 1),
	.grid_sp_3 > *:nth-child(3n + 1),
	.grid_sp_4 > *:nth-child(4n + 1) {
		margin-left: 0 !important;
	}
	.grid_sp_2 > *:nth-child(n + 3),
	.grid_sp_3 > *:nth-child(n + 4),
	.grid_sp_4 > *:nth-child(n + 5) {
		margin-top: 5vw;
	}
	.grid_border > * + * {
		padding-top: 3rem;
		border-top: 1px dotted #000;
	}
}

/* ------------------------------
    common
------------------------------ */
/* font-size */
.fz10 {
	font-size: 1rem;
}

.fz12 {
	font-size: 1.2rem;
}

.fz14 {
	font-size: 1.4rem;
}

.fz15 {
	font-size: 1.5rem;
}

.fz16 {
	font-size: 1.6rem;
}

.fz18 {
	font-size: 1.8rem;
}

.fz20 {
	font-size: 2rem;
}

@media screen and (max-width: 767px) {
	.fz_sp_10 {
		font-size: 1rem;
	}
	.fz_sp_12 {
		font-size: 1.2rem;
	}
	.fz_sp_14 {
		font-size: 1.4rem;
	}
	.fz_sp_15 {
		font-size: 1.5rem;
	}
	.fz_sp_16 {
		font-size: 1.6rem;
	}
	.fz_sp_18 {
		font-size: 1.8rem;
	}
	.fz_sp_20 {
		font-size: 2rem;
	}
}

/* margin-top */
.mt10 {
	margin-top: 1rem;
}

.mt20 {
	margin-top: 2rem;
}

.mt30 {
	margin-top: 3rem;
}

.mt40 {
	margin-top: 4rem;
}

.mt50 {
	margin-top: 5rem;
}
.mt60 {
	margin-top: 6rem;
}

.mt80 {
	margin-top: 8rem;
}

.mt100 {
	margin-top: 10rem;
}

.mt120 {
	margin-top: 12rem;
}

.mt140 {
	margin-top: 14rem;
}

.mt160 {
	margin-top: 16rem;
}

@media screen and (max-width: 767px) {
	.mt_sp_10 {
		margin-top: 1rem;
	}
	.mt_sp_20 {
		margin-top: 2rem;
	}
	.mt_sp_30 {
		margin-top: 3rem;
	}
	.mt_sp_40 {
		margin-top: 4rem;
	}
	.mt_sp_50 {
		margin-top: 5rem;
	}
	.mt_sp_60 {
		margin-top: 6rem;
	}
	.mt_sp_80 {
		margin-top: 8rem;
	}
	.mt_sp_100 {
		margin-top: 10rem;
	}
	.mt_sp_120 {
		margin-top: 12rem;
	}
	.mt_sp_140 {
		margin-top: 14rem;
	}
}
.mt160 {
	margin-top: 10rem;
}

/* bg */
.bg_logo {
	padding-bottom: 25em;
	position: relative;
}
@media screen and (max-width: 767px) {
	.bg_logo {
		padding-bottom: 6.25rem;
	}
}

/* breadcrumbs */
#breadcrumbs {
	background: #b0142d;
	position: relative;
	overflow: hidden;
	margin-bottom: 7rem;
}

#breadcrumbs ul {
	padding: 1em 0;
}
#breadcrumbs ul li {
	/* font-family: 'Noto Serif', serif; */
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.4;
	display: inline-block;
	position: relative;
}
#breadcrumbs ul li + li {
	margin-left: 2em;
}
#breadcrumbs ul li + li::before {
	content: ">";
	position: absolute;
	left: -1.3em;
	top: 50%;
	transform: translateY(-50%);
}
#breadcrumbs ul li a {
	color: #fff;
}

/* ttl */
.ttl_index {
	position: relative;
	/* font-family: 'Noto Serif', serif; */
	font-size: 1.6rem;
	line-height: 1.4;
	margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
	.ttl_index {
		font-size: 1.8rem;
	}
}
.ttl_index span {
	font-size: 5rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #3a474f;
	display: inline-block;
	padding-right: 1em;
	position: relative;
}
.ttl_index span::before {
	display: block;
	content: "";
	background: url(../index_ttl.svg) no-repeat center/contain;
	width: 0.925em;
	height: 0.3em;
	position: relative;
	margin-bottom: 0.6rem;
}
.ttl_index::after {
	display: block;
	content: "";
	background: url(../index_ttl02.svg) repeat-x left center/contain;
	width: 100%;
	height: 8.8rem;
	position: absolute;
	left: 0;
	bottom: 0;
}
@media screen and (max-width: 767px) {
	.ttl_index span {
		font-size: 3.125rem;
	}
	.ttl_index::after {
		background: url(../index_ttl02.svg) repeat-x left center/auto 100%;
		width: 100%;
		height: 4.5rem;
	}
}

.ttl_index span img {
	margin-bottom: 0.2em;
	height: 4.5rem;
}
@media screen and (max-width: 767px) {
	.ttl_index span img {
		height: 4rem;
		width: auto;
	}
}

.ttl_index + .txt {
	font-weight: bold;
}
.ttl_index + .txt_normal {
	font-weight: normal;
}

.page_ttl {
	margin-bottom: 8.5rem;
}
.page_ttl span {
	/* font-size: 5.0rem;*/
	font-size: 4rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: #3a474f;
	display: inline-block;
	padding-right: 1em;
	position: relative;
}
.page_ttl span::before {
	display: block;
	content: "";
	background: url(../index_ttl.svg) no-repeat center/contain;
	width: 0.925em;
	height: 0.3em;
	position: relative;
	margin-bottom: 0.6rem;
}
@media screen and (max-width: 767px) {
	.page_ttl {
		margin-bottom: 5rem;
	}
	.page_ttl span {
		font-size: 3.125rem;
	}
}

.ttl_l {
	/* font-family: 'Noto Serif', serif; */
	margin: 1em 0 4.5rem 0;
	position: relative;
	display: inline-block;
	font-size: 3.4rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
	font-weight: bold;
	color: #0e6c36;
	padding-left: 3rem;
	box-sizing: border-box;
}
.ttl_l:before,
.ttl_l:after {
	position: absolute;
	left: 0;
	display: block;
	content: "";
	width: 7px;
	margin-top: 0.2rem;
}
.ttl_l:before {
	top: 0;
	height: 100%;
	background: #0e6c36;
	z-index: 1;
}
.ttl_l:after {
	top: 50%;
	height: 50%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.ttl_l:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.ttl_l {
		font-size: 2.5rem;
		padding-left: 1.6rem;
		margin-bottom: 3rem;
	}
	.ttl_l:before,
	.ttl_l:after {
		width: 0.7rem;
		margin-top: 0.2rem;
	}
}

.ttl_m {
	line-height: 1.4;
	font-weight: bold;
	margin: 0 0 3.5rem 0;
	position: relative;
	font-size: 2.5rem;
	letter-spacing: 0.04em;
}
.ttl_m:first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.ttl_m {
		margin: 0 0 2.5rem 0;
		font-size: 2.2rem;
	}
}
.ttl_s {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 1em 0;
}
.ttl_s:first-child {
	margin-top: 0;
}

.hr {
	display: block;
	margin: 5rem 0;
	border: none;
	border-top: 1px dotted #ccc;
}

.red {
	color: #0e6c36;
}

/* button */
.ico_arrow {
	position: relative;
	padding-right: 3em;
}
.ico_arrow::before {
	content: "";
	background: url(../common/ico_arrow.svg) no-repeat center/contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 3em;
	height: 2em;
}
@media screen and (min-width: 768px) {
	.ico_arrow::before {
		transition: right 0.3s ease;
	}
}
.ico_arrow.white::before {
	background-image: url(../common/ico_arrow_w.svg);
}
@media screen and (min-width: 768px) {
	.ico_arrow:hover::before {
		right: -0.5em;
	}
}
.ico_arrow.hover-white:hover::before {
	background-image: url(../common/ico_arrow_w.svg);
}
.ico_arrow.hover-red:hover::before {
	background-image: url(../common/ico_arrow.svg);
}

.btn_arrow {
	text-align: center;
}
.btn_arrow > * {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: #fff;
	color: #8a0b0a;
	border: 1px solid #8a0b0a;
	padding: 0.5em 1em 0.5em 3em;
	font-size: 2rem;
	transition: color 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
	.btn_arrow > * {
		width: 80vw;
		max-width: 100%;
	}
}
.btn_arrow > * span {
	display: inline-block;
	padding-right: 3em;
	position: relative;
}
.btn_arrow > * span img {
	height: 0.8em;
	width: auto;
	vertical-align: -0.02em;
}
.btn_arrow > * span::before {
	content: "";
	background: url(../common/ico_arrow.svg) no-repeat center/contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2em;
	height: 2em;
}
@media screen and (min-width: 768px) {
	.btn_arrow > * span::before {
		transition: right 0.3s ease;
	}
}
.btn_arrow > *:hover {
	opacity: 1;
	color: #fff;
	background: #8a0b0a;
}
.btn_arrow > *:hover span img {
	fill: #fff;
}
.btn_arrow > *:hover span img svg {
	fill: #fff;
}
.btn_arrow > *:hover span::before {
	background-image: url(../common/ico_arrow_w.svg);
}
@media screen and (min-width: 768px) {
	.btn_arrow > *:hover span::before {
		right: -0.5em;
	}
}
.btn_arrow.long > * {
	display: flex;
}
.btn_arrow.reverse > * {
	padding-left: 1em;
	padding-right: 3em;
}
.btn_arrow.reverse > * span {
	padding-right: 0;
	padding-left: 3em;
}
.btn_arrow.reverse > * span::before {
	left: 0;
	transition: left 0.3s ease;
	transform: translateY(-50%) scale(-1, 1);
}
.btn_arrow.reverse > *:hover span::before,
.btn_arrow.reverse > *:hover span::after {
	left: -0.5em;
}
.btn_arrow.reverse > *:hover span::after {
	border-color: transparent #fff transparent transparent;
}
.btn_arrow.red > * {
	color: #fff;
	background: #0e6c36;
	border-color: #0e6c36;
}
.btn_arrow.red > * span::before {
	background-image: url(../common/ico_arrow_w.svg);
}
.btn_arrow.red > *:hover {
	opacity: 1;
	background: #bb3130;
}
.btn_arrow.white_border > * {
	color: #fff;
	background: transparent;
	border-color: #fff;
}
.btn_arrow.white_border > * span::before {
	background-image: url(../common/ico_arrow_w.svg);
}
.btn_arrow.tal {
	text-align: left;
}
@media screen and (max-width: 767px) {
	.btn_arrow.tal {
		text-align: center;
	}
}
.btn_arrow.tar {
	text-align: right;
}
@media screen and (max-width: 767px) {
	.btn_arrow.tar {
		text-align: center;
	}
}

.btn_arrow .btn {
	color: #3a474f;
	text-align: center;
}
.btn_arrow .btn:hover {
	opacity: 0.6;
	background: transparent;
}
.btn_arrow .btn span::before {
	content: none;
}
.btn_arrow .btn span {
	padding-right: 0;
}

.btn_arrow02 > * {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: #fff;
	color: #b0142d;
	border: 1px solid #b0142d;
	padding: 0.85em 3.2em 0.85em 3.2em;
	font-size: 1.6rem;
	font-weight: bold;
	transition: color 0.3s ease, background-color 0.3s ease;
	border-radius: 0.8rem;
	box-sizing: border-box;
}
.btn_arrow02 a:after {
	position: absolute;
	right: 2.2rem;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	background: url(../common/ico_arrow02.svg) no-repeat center/contain;
	width: 0.9em;
	height: 1em;
	display: inline-block;
	vertical-align: 0.1em;
	transition: right 0.3s ease;
}
@media screen and (max-width: 767px) {
	.btn_arrow02 a:after {
		right: 2rem;
		width: 0.8em;
		height: 0.9em;
	}
}
.btn_arrow02 a:hover {
	opacity: 1;
	background: #b0142d;
	color: #fff;
}
.btn_arrow02 a:hover:after {
	background: url(../common/ico_arrow02_w.svg) no-repeat center/contain;
	right: 1.2rem;
}
@media screen and (min-width: 768px) {
	.btn_arrow02 a:after {
		transition: right 0.3s ease;
	}
}
a.arrow {
	color: #0e6c36;
	display: inline-block;
	border-bottom: 1px solid transparent;
}
a.arrow::before {
	content: "";
	background: url(../common/ico_link.svg) no-repeat center/contain;
	width: 0.6em;
	height: 0.6em;
	display: inline-block;
	vertical-align: 0.1em;
	margin-right: 0.5em;
}
a.arrow.-no_icn::before {
	display: none;
}
a.arrow:hover {
	opacity: 1;
	border-bottom-color: #0e6c36;
}
a.arrow[target="_blank"]::after {
	content: "";
	background: url(../common/ico_blank.svg) no-repeat center/contain;
	display: inline-block;
	width: 1em;
	height: 0.8em;
	margin-left: 0.3em;
}
a.btn {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: calc(34 / 16);
	padding: 1.2rem 3.5rem;
	box-sizing: border-box;
	text-align: center;
	border: 1px solid #3a474f;
	border-radius: 0.4rem;
}
a.btn::after {
	content: "";
	background: url(../common/ico_blank_g.svg) no-repeat center/contain;
	display: inline-block;
	width: 1em;
	height: 0.8em;
	margin-left: 0.3em;
}
a.pdf::after,
a.pdf[target="_blank"]::after {
	content: "";
	background: url(../common/ico_pdf.svg) no-repeat center/contain;
	display: inline-block;
	width: 2em;
	height: 1em;
	vertical-align: -0.1em;
	margin-left: 0.3em;
}
a.link {
	display: block;
	width: 100%;
	position: relative;
	padding-left: 1em;
}
a.link::before {
	content: "";
	background: url(../common/ico_arrow02.svg) no-repeat center/contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	margin-top: 0.1rem;
	width: 1.1rem;
	height: 1.3rem;
	transition: margin 0.3s ease;
}

@media screen and (max-width: 767px) {
	a.link {
		padding-left: 1.2rem;
	}
	a.link::before {
		width: 1rem;
		height: 1rem;
		margin-top: 0;
	}
}
a.red {
	border-bottom: 1px solid transparent;
}
a.red:hover {
	opacity: 1;
	border-bottom-color: #0e6c36;
}

.btn_red,
.btn_white {
	margin: 1em 0;
}
@media screen and (max-width: 767px) {
	.btn_red,
	.btn_white {
		text-align: center;
	}
}
.btn_red > *,
.btn_white > * {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 19rem;
	padding: 0.8em 3em;
	border: 1px solid #0e6c36;
	background: #0e6c36;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
	transition: background-color 0.3s ease;
}
@media screen and (max-width: 767px) {
	.btn_red > *,
	.btn_white > * {
		font-size: 2rem;
		width: 80vw;
		max-width: 100%;
	}
}
.btn_red > *:hover,
.btn_white > *:hover {
	opacity: 1;
	background: #bb3130;
}
.btn_red.blank > *,
.btn_white.blank > * {
	padding-right: 4em;
	position: relative;
}
.btn_red.blank > *::after,
.btn_white.blank > *::after {
	content: "";
	background: url(../common/ico_blank_w.svg) no-repeat center/contain;
	width: 1em;
	height: 0.8em;
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
}

.btn_white > * {
	background: #fff;
	color: #0e6c36;
}
.btn_white > *:hover {
	background: #0e6c36;
	color: #fff;
}

/* pager */
.pager {
	margin: 6rem auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.pager li {
	font-size: 1.5rem;
	line-height: 1.4;
	margin: 0.2em;
}
@media screen and (max-width: 767px) {
	.pager li {
		font-size: 2rem;
	}
}
.pager li * {
	width: 2em;
	height: 2em;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pager li a:hover {
	background: #8a0b0a;
	color: #fff;
	opacity: 1;
}
.pager li span {
	background: #32393c;
	color: #fff;
}
.pager .prev,
.pager .next {
	margin: 0.2em 0.5em;
}
.pager .prev a,
.pager .next a {
	display: block;
	overflow: hidden;
	text-indent: -1000px;
	background: url(../news/list/pager_arrow.svg) no-repeat center/contain;
	width: 1em;
	height: 2em;
}
.pager .prev a:hover,
.pager .next a:hover {
	background: url(../news/list/pager_arrow.svg) no-repeat center/contain;
	opacity: 0.6;
}
.pager .prev a {
	transform: scale(-1, 1);
}

/* ul,ol */
.ul,
.ol {
	margin: 3rem 0;
	counter-reset: item;
}
.ul li,
.ol li {
	line-height: 1.6;
	padding-left: 1.5em;
	position: relative;
	margin: 0.5em 0;
}

.ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.5em;
	width: 0.5em;
	height: 0.5em;
	border-radius: 100%;
	background: #666;
}

.ol li::before {
	counter-increment: item;
	content: counter(item) ".";
	position: absolute;
	left: 0;
	top: 0;
	color: #000;
}

/* tab */
.tabs {
	display: flex;
	flex-wrap: wrap;
}
.tabs .tab_item {
	flex: 1;
	max-width: calc((100% - 4.5%) / 4);
	background-color: #eeeeee;
	border: 1px solid #eeeeee;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: center;
	color: #b2142d;
	font-weight: bold;
	padding: 1.5em 1em;
	margin-right: 1.5%;
	transition: all 0.3s ease;
}
.tabs .tab_item:last-of-type {
	margin-right: 0;
}
.tabs .tab_item:hover {
	background: #fff;
	border-color: #b2142d;
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.tabs .tab_item {
		max-width: 25%;
		margin: 0;
		font-size: 1.4rem;
		background: #fff;
		border-color: #b2142d;
		cursor: pointer;
	}
	.tabs .tab_item:nth-child(n + 3) {
		border-left: none;
	}
}
.tabs input[name="tab_item"] {
	display: none;
}
.tabs input[name="tab_item"]:checked + .tab_item {
	background-color: #b2142d;
	color: #fff;
	border-color: #b2142d;
}
.tabs .tab_content {
	border-top: 4px solid #b2142d;
	background: rgba(255, 255, 255, 0.7);
	flex-basis: 100%;
	display: none;
	margin-top: -1px;
	padding: 6rem 0;
	clear: both;
	overflow: hidden;
}
.tabs #tab01:checked ~ #tab01_content,
.tabs #tab02:checked ~ #tab02_content,
.tabs #tab03:checked ~ #tab03_content,
.tabs #tab04:checked ~ #tab04_content,
.tabs #tab05:checked ~ #tab05_content {
	display: block;
}

/* table */
.table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 1rem 0;
	margin: 3rem 0;
}
.table > tbody > tr > th,
.table > tbody > tr > td,
.table > thead > tr > th,
.table > thead > tr > td {
	padding: 3rem;
	font-size: 1.6rem;
	line-height: 1.8;
	border-bottom: 1px solid #3a474f;
}
.table > tbody > tr > th,
.table > thead > tr > th {
	font-weight: bold;
	border-bottom-color: #0e6c36;
	text-align: center;
	vertical-align: top;
}
.table > tbody > tr .none-padding,
.table > thead > tr .none-padding {
	padding: 0;
}
.table > thead > tr > th,
.table > thead > tr > td {
	text-align: center;
	vertical-align: middle;
}
.table > tbody > tr > th {
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	.table {
		border-collapse: collapse;
		border-spacing: 0 0;
		border-top: 1px solid #0e6c36;
	}
	.table > tbody,
	.table > thead {
		display: block;
	}
	.table > tbody > tr,
	.table > thead > tr {
		display: block;
	}
	.table > tbody > tr > th,
	.table > tbody > tr > td,
	.table > thead > tr > th,
	.table > thead > tr > td {
		width: 100% !important;
		display: block;
		padding: 1em;
	}
	.table > tbody > tr > th,
	.table > thead > tr > th {
		border-bottom: none;
		padding-bottom: 0;
		font-size: 2rem;
	}
	.table > tbody > tr > th {
		width: 100%;
		text-align: left;

		padding-left: 1em;
	}
	.table dt {
		font-weight: bold;
	}
}

table.sp-block > tbody,
table.sp-block > thead {
	display: block;
}
table.sp-block > tbody > tr,
table.sp-block > thead > tr {
	display: block;
}
table.sp-block > tbody > tr > th,
table.sp-block > tbody > tr > td,
table.sp-block > thead > tr > th,
table.sp-block > thead > tr > td {
	display: block;
}

.table2 {
	width: 100%;
	border-collapse: collapse;
}
.table2 > tbody > tr > th,
.table2 > tbody > tr > td,
.table2 > thead > tr > th,
.table2 > thead > tr > td {
	padding: 3rem;
	font-size: 1.6rem;
	line-height: 1.8;
	border-bottom: 1px solid #ccc;
}
.table2 > tbody > tr > th,
.table2 > thead > tr > th {
	padding-right: 0;
	white-space: nowrap;
	text-align: left;
	vertical-align: top;
}
.table2 > tbody > tr:last-child > th,
.table2 > tbody > tr:last-child > td,
.table2 > thead > tr:last-child > th,
.table2 > thead > tr:last-child > td {
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	.table2 > tbody > tr > th,
	.table2 > tbody > tr > td,
	.table2 > thead > tr > th,
	.table2 > thead > tr > td {
		border-bottom: none;
		padding-bottom: 0;
	}
	.table2 > tbody > tr:last-child > th,
	.table2 > tbody > tr:last-child > td,
	.table2 > thead > tr:last-child > th,
	.table2 > thead > tr:last-child > td {
		padding-bottom: 3rem;
	}
}

/* accordion */
.acd_btn,
.acd_btn02 {
	background: #3a474f;
	color: #fff;
	font-size: 3rem;
	letter-spacing: 0.02em;
	line-height: 1.4;
	font-weight: bold;
	padding: 0.8rem 1rem 1.4rem 3.5rem;
	margin-top: 3rem;
	border-radius: 0.8rem;
	position: relative;
}
.acd_btn::before {
	content: "";
	background: url(../common/acd_btn.svg) no-repeat center/contain;
	position: absolute;
	right: 2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.4rem;
	height: 1.4rem;
}
.acd_btn:hover,
.acd_btn.acd-open {
	background: #3d4549;
	cursor: pointer;
}
.acd_btn.acd-open::before {
	transform: translateY(-50%) scale(1, -1);
}
.acd_btn .small {
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
	.acd_btn,
	.acd_btn02 {
		font-size: 2.4rem;
		padding: 0.8rem 4em 1rem 1em;
	}
	.acd_btn::before {
		right: 1em;
	}
}

.acd_box {
	background: #fff;
	padding: 4rem 3.5rem;
}
.acd_box.noclose {
	display: block !important;
}
.acd_box .ttl_m {
	margin-bottom: 1rem;
}

.acd_box .grid_border {
	margin-left: 0;
}
.acd_box .grid_border > * {
	padding-left: 7rem;
}
.acd_box .grid_2 > *:nth-child(2n + 1) {
	padding-left: 0;
}
.acd_box a.arrow:before {
	display: none;
}

@media screen and (max-width: 767px) {
	.acd_box {
		padding: 2rem;
	}
	.acd_box .grid_border > * {
		padding-left: 0;
	}
}

/* form */
.form dl {
	display: flex;
	flex-wrap: wrap;
}
.form dl dt,
.form dl dd {
	font-size: 1.6rem;
	font-weight: bold;
	position: relative;
}
.form dl dt {
	width: 35%;
	padding: 2.2rem 0;
}
.form dl dt.required::after {
	content: "必須";
	background: #ff0000;
	color: #fff;
	line-height: 1;
	padding: 0.4em 1em;
	position: absolute;
	right: 3rem;
	top: 2.2rem;
}
@media screen and (max-width: 767px) {
	.form dl dt {
		padding-bottom: 0;
	}
	.form dl dt.required::after {
		right: 0;
	}
}
.form dl dd {
	width: 65%;
	padding: 1.5rem 0;
}
@media screen and (max-width: 767px) {
	.form dl {
		display: block;
	}
	.form dl dt,
	.form dl dd {
		width: 100%;
		font-size: 2rem;
	}
}

.form *::placeholder {
	color: #a6a6a6;
}

.form label {
	display: inline-block;
	margin: 0.2em 0;
}

.form input:not([type="submit"]):not([type="reset"]),
.form textarea,
.form select {
	font-size: 1.6rem;
	padding: 0 2em;
	background: #fff;
	border: 1px solid #ccc;
}
.form input:not([type="submit"]):not([type="reset"]):focus,
.form input:not([type="submit"]):not([type="reset"]):hover,
.form textarea:focus,
.form textarea:hover,
.form select:focus,
.form select:hover {
	border-color: #000;
}
@media screen and (max-width: 767px) {
	.form input:not([type="submit"]):not([type="reset"]),
	.form textarea,
	.form select {
		padding: 0 0.5em;
	}
}

.form textarea {
	line-height: 1.8em;
	padding: 1em;
	width: 100%;
}

.form input:not([type="submit"]):not([type="reset"]),
.form select {
	line-height: 3em;
	height: 3em;
}

.form input:not([type="submit"]):not([type="reset"]) {
	width: 100%;
}
.form input:not([type="submit"]):not([type="reset"]).error {
	border-color: #0e6c36;
	background: rgba(142, 20, 19, 0.2);
}
.form input:not([type="submit"]):not([type="reset"]).error + span {
	font-size: 1.2rem;
	color: #0e6c36;
}

.form .select {
	display: inline-block;
	position: relative;
}
.form .select::after {
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 5px 0 5px;
	border-color: #000 transparent transparent transparent;
}
.form .select select {
	padding-right: 2.5em;
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.form .select {
		margin-left: 3rem;
	}
}

.form input[type="radio"],
.form input[type="checkbox"] {
	display: none;
}
.form input[type="radio"] + label,
.form input[type="checkbox"] + label {
	position: relative;
	padding-left: 1.8em;
}
.form input[type="radio"] + label:hover::after,
.form input[type="checkbox"] + label:hover::after {
	background: black;
}
.form input[type="radio"] + label::before,
.form input[type="radio"] + label::after,
.form input[type="checkbox"] + label::before,
.form input[type="checkbox"] + label::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 1.4em;
	height: 1.4em;
	border-radius: 100%;
	border: 1px solid #ccc;
	background: #fff;
	margin-right: 0.3em;
}
.form input[type="radio"] + label::after,
.form input[type="checkbox"] + label::after {
	width: 0.8em;
	height: 0.8em;
	margin: 0.3em 0 0 0.3em;
	background: #ccc;
	border: none;
}
.form input[type="radio"]:checked + label::after,
.form input[type="checkbox"]:checked + label::after {
	background: #0e6c36;
}

.form input[type="checkbox"] + label::before {
	border-radius: 0;
}

.form input[type="checkbox"]:checked + label::after {
	width: 1em;
	height: 0.6em;
	margin: 0.2em 0 0 0.2em;
	border-bottom: 3px solid #000;
	border-left: 3px solid #000;
	transform: rotate(-45deg);
	border-radius: 0;
	background: transparent;
}

.form .submit input {
	background: #0e6c36 url(../common/ico_arrow_w.svg) no-repeat right 1em
		center/1.5em auto;
	cursor: pointer;
}
@media screen and (min-width: 768px) {
	.form .submit input {
		transition: background-position 0.3s ease;
	}
}
.form .submit input:hover {
	background-position: right 0.5em center;
}

/* page_nav */
.page_nav {
	margin-top: 4.5rem;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
#page_ir .page_nav {
	margin-top: 5rem;
}

@media screen and (max-width: 767px) {
	.page_nav {
		display: block;
	}
}
.page_nav .item {
	width: calc((100% - 3rem) / 3);
	margin-left: 1.5rem;
}
.page_nav .item:nth-child(3n + 1) {
	margin-left: 0;
}
.page_nav .item:nth-child(n + 4) {
	margin-top: 1rem;
}
.page_nav .item a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 100%;
	min-height: 10.3rem;
	background: #fff;
	border: 1px solid #0e6c36;
	position: relative;
	transition: 0.4s;
	padding: 1rem 4.5rem;
	box-sizing: border-box;
}
.page_nav .item a:before {
	content: "";
	background: url(../common/ico_arrow02.svg) no-repeat center/contain;
	position: absolute;
	right: 2.7rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2.2rem;
	transition: margin 0.3s ease;
}

.page_nav .item.-purpose_vision a {
	padding: 1rem 4.5rem 1rem 1.5rem;
}

.page_nav .item.-purpose_vision a .ttl {
	font-size: 1.9rem;
}

@media screen and (max-width: 767px) {
	.page_nav .item a:before {
		right: 2rem;
		width: 1.7rem;
		height: 1.8rem;
	}
	.page_nav .item a,
	.page_nav .item.-purpose_vision a {
		padding: 1rem 2.5rem;
	}
	.page_nav .item.-purpose_vision a .ttl {
		font-size: 2.2rem;
	}
}
.page_nav .item a:hover {
	opacity: 1;
	color: #fff;
	background: #b0142d;
}
.page_nav .item a:hover .ttl {
	color: #fff;
}
.page_nav .item a:hover:before {
	margin-right: -1rem;
	background: url(../common/ico_arrow02_w.svg) no-repeat center/contain;
}

.page_nav .item a > * {
	padding: 0 6rem;
}
@media screen and (max-width: 767px) {
	.page_nav .item a > * {
		padding: 0 2rem;
	}
}
.page_nav .item a .ttl {
	/* font-family: 'Noto Serif', serif; */
}
.page_nav .item a .ttl {
	text-align: center;
	color: #3a474f;
	font-size: 2.1rem;
	line-height: 1.4;
	font-weight: bold;
	position: relative;
}

.page_nav .item.-small a .ttl {
	font-size: 1.9rem;
}

@media screen and (max-width: 767px) {
	.page_nav .item a .ttl {
		font-size: 2.4rem;
	}
	.page_nav .item.-small a .ttl {
		font-size: 2.3rem;
	}
}
.page_nav .item a .txt {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.4;
	margin-top: 1.4rem;
	position: relative;
	padding: 0 6rem;
	box-sizing: border-box;
}

@media screen and (max-width: 767px) {
	.page_nav .item {
		width: 100%;
		margin-left: 0;
	}
	.page_nav .item:nth-child(n + 2) {
		margin-top: 3rem;
	}
	.page_nav .item a .txt {
		padding: 0 4rem;
	}
}

/* ------------------------------
    responsive
------------------------------ */
@media screen and (min-width: 960px) {
	.pc-none {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
	.tb {
		display: none !important;
	}
}

@media screen and (min-width: 768px) and (max-width: 959px) {
	.tb-none {
		display: none !important;
	}
	.sp {
		display: none !important;
	}
	.pc {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	.sp-none {
		display: none !important;
	}
	.pc {
		display: none !important;
	}
	.tb {
		display: none !important;
	}
}

/* ------------------------------
    clearfix
------------------------------ */
.cf {
	zoom: 1;
}
.cf::after {
	content: " ";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
	/* 隙間対応 */
	font-size: 0.1em;
	/* 隙間対応 */
	line-height: 0;
	/* 隙間対応 */
}

/* ------------------------------
    cokkie-notice
------------------------------ */
#cookie-notice {
	font-size: 1.6rem;
	line-height: 1.8;
	background: rgba(0, 0, 0, 0.7) !important;
}
#cookie-notice .cookie-notice-container {
	max-width: 1020px;
	width: 75%;
	margin: auto;
	padding-left: 0;
	padding-right: 0;
}
#cookie-notice .cn-text-container {
	text-align: left;
}
#cookie-notice .cn-button.bootstrap {
	width: 25rem;
	margin-left: 0;
	font-size: 1.6rem;
	color: #0e6c36;
	background-color: #fff;
}
#cookie-notice .cn-button.bootstrap + .cn-button.bootstrap {
	margin-left: 15rem;
}
#cookie-notice .cn-close-icon {
	top: 25px;
	right: 50px;
	width: 30px;
	height: 30px;
	opacity: 1;
}
#cookie-notice .cn-close-icon:after,
#cookie-notice .cn-close-icon:before {
	height: 30px;
	width: 5px;
}
#cookie-notice .cookie-notice-container .cn-text-container a {
	text-decoration: underline;
	font-weight: bold;
	color: #fff;
}
@media screen and (max-width: 767px) {
	#cookie-notice .cn-button.bootstrap {
		width: 16rem;
	}
	#cookie-notice .cn-button.bootstrap + .cn-button.bootstrap {
		margin-left: 3rem;
	}
	#cookie-notice .cn-close-icon {
		right: 5%;
		width: 20px;
		height: 20px;
	}
	#cookie-notice .cn-close-icon:after,
	#cookie-notice .cn-close-icon:before {
		height: 20px;
		width: 3px;
	}
}

/* 20200821 cokkie-notice modi */

/* 20240130 error */
.error_wrap {
	margin: 140px auto 120px auto;
}

.error_wrap .btn_wrap {
	margin: 50px auto 0 0;
}
@media screen and (max-width: 767px) {
	.error_wrap {
		margin: 7rem auto 12rem auto;
	}
	.error_wrap .btn_wrap {
		margin: 7rem auto 0 0;
	}
}

.error_wrap .btn_wrap .top-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 32rem;
	height: 100%;
	min-height: 8rem;
	font-size: 1.6rem;
	line-height: 1.8;
	background: #fff;
	border: 1px solid #0e6c36;
	position: relative;
	transition: 0.4s;
	padding: 1rem 4.5rem;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.error_wrap .btn_wrap .top-button {
		width: 100%;
	}
}

.error_wrap .btn_wrap .top-button:before {
	content: "";
	background: url(../common/ico_arrow02.svg) no-repeat center/contain;
	position: absolute;
	right: 2.7rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2.2rem;
	transition: margin 0.3s ease;
}
@media screen and (max-width: 767px) {
	.error_wrap .btn_wrap .top-button:before {
		right: 2rem;
		width: 1.7rem;
		height: 1.8rem;
	}
	.error_wrap .btn_wrap .top-button {
		padding: 1rem 2.5rem;
	}
}

.error_wrap .btn_wrap .top-button:hover {
	opacity: 1;
	color: #fff;
	background: #0e6c36;
}
.error_wrap .btn_wrap .top-button:hover:before {
	margin-right: -1rem;
	background: url(../common/ico_arrow02_w.svg) no-repeat center/contain;
}

.error_wrap .btn_wrap .top-button > * {
	padding: 0 6rem;
}
@media screen and (max-width: 767px) {
	.error_wrap .btn_wrap .top-button a > * {
		padding: 0 2rem;
	}
}

/* パーパス・事業ビジョン・バリュー */
.value_wrap {
	margin: 30px auto 0 0;
}
.value_wrap .value-img {
	position: relative;
	display: block;
	width: 59%;
}
.value_wrap .value-img img {
	position: relative;
	z-index: 1;
}
.value_wrap .value-img .zoom_ico {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 40px;
	height: 40px;
	z-index: 2;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
	top: -10px;
}
img.mfp-img {
	padding: 25px 0 5px !important;
}

@media screen and (max-width: 767px) {
	.value_wrap {
		margin: 3rem auto 0 0;
	}
	.value_wrap .value-img {
		width: 100%;
	}
	.value_wrap .value-img .zoom_ico {
		width: 4rem;
		height: 4rem;
	}
	.mfp-image-holder .mfp-close,
	.mfp-iframe-holder .mfp-close {
		right: -6px !important;
	}
	img.mfp-img {
		padding: 20px 0 20px !important;
	}
}
