@charset "utf-8";
/*------------------------------------------------------------
	top
------------------------------------------------------------*/
#top {
	margin-bottom: -10rem;
}
#top .mainVisual {
	margin-bottom: 5rem;
}
#top .mainVisual .lBox {
	padding: 2rem 4rem 10rem 5rem;
	width: 31.2%;
	display: flex;
	align-items: flex-end;
	background-color: #831019;
	border-bottom-right-radius: 3rem;
	min-height: 73.7rem;
}
#top .mainVisual .textBox {
	position: relative;
}
#top .mainVisual .textBox .title {
	margin-bottom: 3rem;
	color: #fefefe;
	font-size: 2rem;
	letter-spacing: 0.05em;
}
#top .mainVisual .textBox .text {
	margin-bottom: 3rem;
	color: #fefefe;
	font-size: 1.4rem;
	line-height: 1.8;
}
#top .mainVisual .textBox .comBtnUl li {
	width: 12rem;
}
#top .mainVisual .textBox .comBtnUl a {
	font-size: 1.2rem;
	border: 1px solid #fefefe;
	letter-spacing: 0;
}
#top .mainVisual .textBox .banner {
	padding: 2.5rem 0.5rem 1rem;
	position: absolute;
	bottom: -8rem;
	right: -7rem;
	width: 15rem;
	height: 15rem;
	background-color: #f6f2f2;
	border-radius: 50%;
	text-align: center;
	font-size: 1.4rem;
	color: #831019;
	letter-spacing: 0.05em;
}
#top .mainVisual .textBox .banner .info {
	margin-top: 0.5rem;
	display: block;
}
#top .mainVisual .textBox .banner .num {
	font-size: 6rem;
	font-weight: 400;
	line-height: 1;
	vertical-align: -0.2rem;
}
#top .mainVisual .textBox .banner .time {
	display: block;
	font-size: 1.2rem;
	letter-spacing: 0;
}
#top .mainBox .sliderBox {
	margin: 15rem 5rem 0;
	position: relative;
	width: calc(68.8% - 10rem);
}
#top .mainBox .sliderBox .prev,
#top .mainBox .sliderBox .next {
	position: absolute;
	top: 32.7%;
	z-index: 1;
	width: 3rem;
	cursor: pointer;
	transition: .3s;
}
#top .mainBox .sliderBox .prev {
	left: -2rem;
}
#top .mainBox .sliderBox .next {
	right: -2rem;
}
#top .mainBox .sliderBox .pick {
	position: absolute;
	top: 2rem;
	left: 2rem;
	z-index: 1;
	width: fit-content;
	text-align: center;
	font-size: 1.1rem;
	background-color: #f6f2f2;
	border-radius: 1.5rem;
}
#top .mainBox .sliderBox .pick a {
	padding: 0.6rem 2.2rem;
	color: #831019;
	display: block;
}
#top .mainBox .sliderBox .pick a:hover {
	opacity: 0.7;
}
#top .mainBox .sliderBox .pick span {
	padding-left: 1.7rem;
	background: url(../img/common/icon03.png) no-repeat left center / 1rem;
}
#top .mainBox .sliderBox .photo {
	margin-bottom: 1.6rem;
	border-radius: 1rem;
	overflow: hidden;
/*	aspect-ratio: 890/501;*/
 aspect-ratio: 1010 / 401;
}
#top .mainBox .sliderBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#top .mainBox .sliderBox .textBox {
	margin: 0 1.5rem;
}
#top .mainBox .sliderBox .textBox .topBox {
	margin-bottom: 1rem;
	font-size: 1.4rem;
	color: #fefefe;
}
#top .mainBox .sliderBox .textBox .topBox span {
	margin-right: 1rem;
	display: inline-block;
	padding-right: 2rem;
	background: url(../img/common/line01.png) no-repeat right center / 0.9rem;
}
#top .mainBox .sliderBox .textBox .news {
	color: #fefefe;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	line-height: 1.45;
}
#top .slider {
	overflow:hidden;
}
#top .infiniteslide {
	display:flex;
}
#top .infiniteslide li {
	margin-right: 3rem;
	width: 20rem;
	border-radius: 1rem;
	overflow: hidden;
}
#top .infiniteslide02 {
	margin: 3rem 0 5rem;
}
#top .comwhiteBg {
	margin-bottom: 3rem;
	padding: 5rem 2rem 4.5rem;
}
#top .content {
	max-width: 128rem;
}
#top .news {
	position: relative;
}
#top .news .topBox {
	align-items: flex-start;
}
#top .news .comBtnUl {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}
#top .news .comBtnUl li {
	width: 12rem;
}
#top .news .comBtnUl a {
	font-size: 1.2rem;
	letter-spacing: 0;
}
#top .news .headLine02 {
	margin-bottom: 3.5rem;
	width: 15.9rem;
}
#top .pageList {
	gap: 2rem 0;
}
#top .pageList li {
	width: 33.8%;
}
#top .pageList li:nth-child(3n) {
	width: 32.4%;
}
#top .pageList a {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#top .pageList .photo {
	margin-right: 3rem;
	width: 13.5rem;
	aspect-ratio: 1/1;
	border-radius: 1rem;
	overflow: hidden;
}
#top .pageList .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}
#top .pageList .headLine02 {
	margin-top: 1rem;
	flex: 1;
}
#top .pageList .headLine02 .en {
	padding-bottom: 0;
	display: block;
}
#top .pageList .headLine02 .jp {
	padding-left: 0;
}
#top .comwhiteBg01 {
	margin-bottom: 8rem;
	padding: 5rem 2rem;
}
#top .btnBox {
	padding: 5rem 0 6.8rem;
	background-color: #690d14;
}
#top .btnBox .content {
	max-width: 138rem;
}
#top .btnBox ul {
	gap: 2rem calc(4.46% / 3);
}
#top .btnBox li {
	width: 23.885%;
}
#top .btnBox a {
	display: block;
	border-radius: 1rem;
	overflow: hidden;
}
#top .btnBox img {
	width: 100%;
	transition: transform .6s ease;
}
@media all and (min-width: 897px) {
	#top .mainBox .sliderBox .textBox .news {
		white-space: nowrap;
		overflow: hidden; 
		text-overflow: ellipsis;
	}
	#top .mainVisual .sliderBox .prev:hover,
	#top .mainVisual .sliderBox .next:hover {
		opacity: 0.7;
	}
	#top .news .comAchorUl {
		flex: 1;
		margin: 0.5rem 0 0 2rem;
		padding: 0 13rem 0 2.5rem;
		background: url(../img/common/line02.png) no-repeat left top calc(50% - 0.1rem) / 0.9rem;
	}
	#top .pageList a:hover .photo img {
		transform: scale(1.2)
	}
	#top .btnBox a:hover img {
		transform: scale(1.2)
	}
}
@media all and (min-width: 1441px) {
	#top .mainVisual {
		margin-bottom: 7.5rem;
	}
	#top .mainVisual .lBox {
		padding: 2rem 2.2% 10rem 2.5%;
		margin-bottom: 0.5rem;
		width: 28.6%;
	}
	#top .mainBox .sliderBox {
		width: calc(71.4% - 10rem);
	}
	#top .mainBox .sliderBox .photo {
		margin-bottom: 1.5rem;
	}
	#top .mainBox .textBox .title {
		font-size: 2.8rem;
	}
	#top .mainBox .textBox .banner {
		bottom: -13rem;
	}
	#top .comwhiteBg {
		padding: 5rem 8rem;
		max-width: 100%;
	}
	#top .comwhiteBg::after {
		left: 5rem;
		right: 5rem;
	}
	#top .content {
		max-width: 100%;
	}
	#top .comNewsUl {
		gap: 2.8rem calc(6.8% / 3);
	}
	#top .comNewsUl li {
		width: 23.3%;
	}
	#top .pageList li {
		width: 34.3%;
	}
	#top .pageList li:nth-child(3n) {
		width: 31.4%;
	}
}
@media all and (min-width: 1441px) and (max-width: 1800px) {
	#top .mainBox .textBox .title {
		font-size: 1.5vw;
	}
}
@media all and (max-width: 896px) {
	#top {
		margin-bottom: -8rem;
	}
	#top .mainVisual {
		margin-bottom: 5rem;
		position: relative;
		display: block;
	}
	#top .mainVisual::after {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
		height: 10rem;
		content: "";
		background: linear-gradient(rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0) 100%);
		pointer-events: none;
	}
	#top .mainVisual .lBox {
		margin: 0 5rem 5rem 0;
		padding: 2rem 2rem 3rem;
		width: auto;
		border-bottom-right-radius: 2rem;
		min-height: 29.9rem;
	}
	#top .mainVisual .textBox {
		width: 100%;
	}
	#top .mainVisual .textBox .title {
		margin-bottom: 3rem;
	}
	#top .mainVisual .textBox .banner {
		padding: 2rem 0.5rem 1rem;
		bottom: -6rem;
		right: -5rem;
		width: 11rem;
		height: 11rem;
		font-size: 1rem;
	}
	#top .mainVisual .textBox .banner .info {
		margin-top: 0.7rem;
	}
	#top .mainVisual .textBox .banner .num {
		padding-right: 0.3rem;
		font-weight: 100;
		font-size: 4rem;
		line-height: 0.8;
	}
	#top .mainVisual .textBox .banner .time {
		font-size: 1rem;
	}
	#top .mainBox .sliderBox {
		margin: 0 1rem;
		width: auto;
	}
	#top .mainBox .sliderBox .pick {
		top: 1rem;
		left: 1rem;
		font-size: 1rem;
		border-radius: 1rem;
	}
	#top .mainBox .sliderBox .pick a {
		padding: 0.3rem 1.5rem;
	}
	#top .mainBox .sliderBox .pick span {
		padding-left: 1.5rem;
	}
	#top .mainBox .sliderBox .photo {
		margin-bottom: 1rem;
		aspect-ratio: 370/230;
	}
	#top .mainBox .sliderBox .textBox {
		margin: 0 1rem;
	}
	#top .mainBox .sliderBox .textBox .topBox {
		margin-bottom: 0.5rem;
	}
	#top .mainBox .sliderBox .textBox .topBox span {
		margin-right: 0.5rem;
		padding-right: 1.5rem;
	}
	#top .mainBox .sliderBox .textBox .news {
		font-size: 1.8rem;
	}
	#top .infiniteslide li {
		margin-right: 1.5rem;
		width: 14rem;
		border-radius: 0.5rem;
	}
	#top .infiniteslide02 {
		margin: 1.5rem 0 3rem;
	}
	#top .comwhiteBg {
		padding: 3rem 2rem;
	}
	#top .news .topBox {
		display: block;
	}
	#top .news .comBtnUl li {
		width: 9rem;
	}
	#top .news .comBtnUl a {
		min-height: 3rem;
		padding: 0.5rem 2rem 0.5rem 1rem;
		font-size: 1rem;
	}
	#top .news .comBtnUl a .ico {
		top: 0.7rem;
		right: 0.8rem;
	}
	#top .news .headLine02 {
		padding-left: 2rem;
		margin: 0 10rem 2rem 0;
		width: auto;
	}
	#top .news .headLine02 .en {
		font-size: 1.8rem;
	}
	#top .news .headLine02 .jp {
		padding-left: 0.5rem;
		font-size: 1rem;
	}
	#top .comwhiteBg01 {
		margin-bottom: 3rem;
		border: 0;
		padding: 0;
	}
	#top .comwhiteBg01::after {
		display: none;
	}
	#top .pageList {
		display: block;
	}
	#top .pageList li {
		margin-bottom: 1rem;
		width: auto !important;
	}
	#top .pageList li:last-child {
		margin-bottom: 0;
	}
	#top .pageList a {
		padding: 1rem;
		background-color: #f6f2f2;
		border-radius: 1rem;
	}
	#top .pageList .photo {
		margin-right: 1.5rem;
		width: 8rem;
	}
	#top .pageList .headLine02 {
		margin-top: 1rem;
		padding-left: 2rem;
	}
	#top .pageList .headLine02 .en {
		margin-bottom: -0.5rem;
		font-size: 1.8rem;
	}
	#top .pageList .headLine02 .jp {
		font-size: 1rem;
	}
	#top .btnBox {
		padding: 3rem 0 6rem;
	}
	#top .btnBox ul {
		justify-content: space-between;
		gap: 1rem;
	}
	#top .btnBox li {
		width: calc((100% - 1rem) / 2);
	}
}
/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#about .vision {
	margin-bottom: 5rem;
}
#about .vision .title {
	margin-bottom: 2.5rem;
	text-align: center;
	font-size: 3rem;
	letter-spacing: 0.05em;
	color: #831019;
}
#about .vision .imgBox {
	flex-direction: row-reverse;
}
#about .vision .imgBox .photoUl {
	width: 27rem;
}
#about .vision .photoUl li {
	margin-bottom: 1rem;
	border-radius: 1rem;
	overflow: hidden;
}
#about .vision .photoUl li:last-child {
	margin-bottom: 0;
}
#about .vision .photoUl img {
	width: 100%;
}
#about .vision .imgBox .textBox {
	margin-right: 2rem;
	flex: 1;
}
#about .vision .imgBox .textBox .text {
	margin-bottom: 4.5rem;
	line-height: 1.8;
}
#about .vision .comBtnUl {
	gap: 1rem;
}
#about .vision .comBtnUl li {
	min-width: 14.7rem;
	width: fit-content;
}
#about .vision .comBtnUl a {
	padding-left: 4rem;
}
#about .vision .comBtnUl .li01 a {
	padding-right: 4rem;
}
#about .future {
	margin: 0 -2rem 5rem;
}
#about .future .futureBox {
	padding: 4.5rem;
	gap: 2rem;
	border-radius: 20rem;
	border: 1px dotted #831019;
}
#about .future .futureBox .textBox {
	padding: 3rem 2rem;
	width: 30rem;
	min-height: 30rem;
	background-color: #fefefe;
	border-radius: 15rem;
}
#about .future .futureBox .sub {
	position: relative;
}
#about .future .futureBox .line {
	position: absolute;
	left: -3.5rem;
	top: 50%;
	width: 5rem;
	height: 1px;
	content: "";
	z-index: 1;
	background: url(../img/common/line03.png) repeat-x left top / 2.4rem auto;
}
#about .future .futureBox .line01 {
	left: auto;
	right: -3.5rem;
}
#about .future .futureBox .textBox01 {
	width: 40rem;
}
#about .future .futureBox .textBox .h_title {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 500;
	color: #831019;
	letter-spacing: 0.05em;
}
#about .future .futureBox .textBox .h_title span {
	margin-top: 0.5rem;
	letter-spacing: 0.05em;
	display: block;
	font-size: 1rem;
	color: #101b36;
}
#about .future .futureBox .textBox .text {
	margin-bottom: 1.5rem;
	font-size: 1.4rem;
	color: #831019;
	text-align: center;
	letter-spacing: 0.05em;
}
#about .future .futureBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#about .future .futureBox .textBox .photo {
	margin: 1.5rem auto 0;
	width: 8rem;
}
#about .merit {
	margin-bottom: 5rem;
}
#about .system .systemUl {
	position: relative;
}
#about .system .systemUl::after {
	position: absolute;
	top: 0;
	left: 5rem;
	width: 1px;
	content: "";
	z-index: 1;
	height: 81%;
	background-color: #707070;
}
#about .system .systemUl > li {
	position: relative;
	z-index: 2;
}
#about .system .systemUl > li:not(:last-child) {
	margin-bottom: 2rem;
}
#about .system .systemUl > li:not(:first-child) {
	margin-left: 10rem;
}
#about .system .systemUl > li:not(:first-child)::after {
	width: 5rem;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 100%;
	z-index: 1;
	content: "";
	background-color: #707070;
}
#about .system .systemUl .textBox {
	display: flex;
	flex-wrap: wrap;
	border-radius: 1rem;
	overflow: hidden;
}
#about .system .systemUl .textBox .title {
	width: 15rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.05em;
	color: #fefefe;
	background-color: #831019;
}
#about .system .systemUl .textBox .sub {
	padding: 2rem;
	flex: 1;
	line-height: 1.8;
	background-color: #fefefe;
}
#about .system .systemUl .textBox .text {
	margin-bottom: 0.5rem;
}
#about .system .systemUl .textBox .text:last-child {
	margin-bottom: 0;
}
#about .system .systemUl ul li {
	width: 49%;
}
@media all and (max-width: 896px) {
	#about .vision .title {
		margin-bottom: 2rem;
		font-size: 2rem;
		text-align: left;
	}
	#about .vision .imgBox {
		display: block;
	}
	#about .vision .imgBox .photoUl {
		margin: 0 0 2rem;
		width: auto;
	}
	#about .vision .imgBox .textBox {
		margin-right: 0;
	}
	#about .vision .comBtnUl {
		display: block;
	}
	#about .vision .comBtnUl li {
		margin-bottom: 1rem;
	}
	#about .vision .comBtnUl li:last-child {
		margin-bottom: 0;
	}
	#about .future .futureBox {
		padding: 1.5rem;
		display: block;
		border-radius: 1rem;
	}
	#about .future .futureBox .textBox {
		padding: 3rem 1rem;
		margin-bottom: 3rem;
		width: auto;
		border-radius: 2rem;
		min-height: fit-content;
	}
	#about .future .futureBox .textBox:last-child {
		margin-bottom: 0;
	}
	#about .future .futureBox .textBox01 {
		width: auto;
	}
	#about .future .futureBox .textBox .text {
		font-size: 1.3rem;
	}
	#about .future .futureBox .textBox .photo {
		margin: 1.5rem auto 0;
		width: 8rem;
	}
	#about .system .systemUl {
		position: relative;
	}
	#about .system .systemUl::after {
		display: none;
	}
	#about .system .systemUl > li:not(:first-child) {
		margin-left: 0;
	}
	#about .system .systemUl > li:not(:first-child)::after {
		display: none;
	}
	#about .system .systemUl .textBox {
		display: block;
	}
	#about .system .systemUl .textBox .title {
		padding: 1rem 0.5rem;
		width: auto;
	}
	#about .system .systemUl .textBox .sub {
		padding: 1.8rem 1rem;
	}
}
/*------------------------------------------------------------
	nacessity
------------------------------------------------------------*/
#nacessity .comwhiteBg {
	overflow: visible;
}
#nacessity .diversity {
	margin-bottom: 5rem;
}
#nacessity .diversity .innerBox {
	padding: 5rem;
	border: 1px solid #831019;
	border-radius: 20rem;
	position: relative;
}
#nacessity .diversity .innerBox .textBox {
	padding: 3rem 2rem;
	width: 49%;
	background-color: #fefefe;
	border-radius: 15rem;
}
#nacessity .diversity .innerBox .textBox .h_title {
	margin-bottom: 3rem;
	text-align: center;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#nacessity .diversity .innerBox .image {
	margin-bottom: 1rem;
	text-align: center;
}
#nacessity .diversity .innerBox .image img {
	height: 8rem;
}
#nacessity .diversity .innerBox .title {
	margin-bottom: 1rem;
	text-align: center;
	color: #831019;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#nacessity .diversity .innerBox .text {
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#nacessity .diversity .innerBox .textBox01 {
	background-color: #831019;
}
#nacessity .diversity .innerBox .textBox01 .h_title,
#nacessity .diversity .innerBox .textBox01 .title,
#nacessity .diversity .innerBox .textBox01 .text {
	color: #fefefe;
}
#nacessity .diversity .innerBox .textBox01 .h_title {
	margin-bottom: 2rem;
}
#nacessity .diversity .innerBox .textBox01 .image {
	margin-bottom: 2rem;
}
#nacessity .diversity .innerBox .line {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 50%;
	width: 5rem;
	height: 1px;
	content: "";
	z-index: 1;
	background: url(../img/common/line03.png) repeat-x left top / 2.4rem auto;
}
#nacessity .current {
	margin-bottom: 5rem;
}
#nacessity .stickyBox {
	margin-bottom: 5rem;
	position: relative;
}
#nacessity .stickyBox:last-of-type {
	margin-bottom: 0;
}
#nacessity .stickyBox .fixedBox {
	width: 55rem;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}
#nacessity .stickyBox .textBox {
	position: sticky;
	top: 14rem;
	left: 0;
}
#nacessity .stickyBox .textBox .title {
	margin-bottom: 1.5rem;
	font-size: 2.2rem;
	font-weight: 700;
	color: #831019;
}
#nacessity .stickyBox .textBox .text {
	margin-bottom: 1.5rem;
	line-height: 1.8;
}
#nacessity .stickyBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#nacessity .stickyBox .textBox .sub_title {
	margin: 3rem 0 1.5rem;
	color: #831019;
	font-weight: 700;
}
#nacessity .stickyBox .textBox .sub_title.thin {
	margin-bottom: 1rem;
	letter-spacing: 0.05em;
	font-weight: 500;
}
#nacessity .stickyBox .textBox .tableBox table {
	width: 100%;
	border-collapse: collapse;
}
#nacessity .stickyBox .textBox .tableBox thead th {
	padding: 1.5rem 0.5rem;
	color: #fefefe;
	background-color: #831019;
	text-align: center;
	font-size: 1.4rem;
	width: calc(100% / 3);
	font-weight: 500;
	border-right: 1px solid #888;
}
#nacessity .stickyBox .textBox .tableBox thead th:first-child {
	border-top-left-radius: 0.5rem;
}
#nacessity .stickyBox .textBox .tableBox thead th:last-child {
	border-top-right-radius: 0.5rem;
	border-right: 0;
}
#nacessity .stickyBox .textBox .tableBox tbody th,
#nacessity .stickyBox .textBox .tableBox tbody td {
	padding: 1.5rem 0.5rem;
	text-align: center;
	border-right: 1px solid #888;
	vertical-align: top;
	font-size: 1.4rem;
	font-weight: 500;
	word-break: break-all;
	background-color: #fff;
}
#nacessity .stickyBox .textBox .tableBox tbody th {
	font-weight: 700;
}
#nacessity .stickyBox .textBox .tableBox tbody td:last-child {
	border-right: 0;
}
#nacessity .stickyBox .textBox .tableBox tbody tr:last-child th {
	border-bottom-left-radius: 0.5rem;
}
#nacessity .stickyBox .textBox .tableBox tbody tr:last-child td {
	border-bottom-right-radius: 0.5rem;
}
#nacessity .stickyBox .textBox .tableBox tbody tr:not(:last-of-type) th,
#nacessity .stickyBox .textBox .tableBox tbody tr:not(:last-of-type) td {
	background: #fff url(../img/common/line05.png) repeat-x left bottom / 1.2rem auto;
}
#nacessity .stickyBox .textBox .tableBox tbody td.red {
	color: #690d14;
	font-weight: 700;
}
#nacessity .stickyBox .textBox .notesUl {
	margin-top: 1.5rem;
}
#nacessity .stickyBox .textBox .notesUl li {
	text-align: right;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#nacessity .stickyBox .textBox .comDotUl {
	margin-left: 1rem;
}
#nacessity .stickyBox .textBox .comDotUl li {
	margin-bottom: 0.5rem;
}
#nacessity .stickyBox .popUl {
	margin-left: auto;
	width: 55rem;
}
#nacessity .stickyBox .popUl > li {
	position: relative;
	margin-bottom: 2rem;
	padding: 3rem;
	background-color: #fefefe;
	border-radius: 3rem;
}
#nacessity .stickyBox .popUl > li:last-child {
	margin-bottom: 0;
}
#nacessity .stickyBox .popUl a {
	width: 4rem;
	position: absolute;
	top: 2rem;
	right: 2rem;
	z-index: 1;
}
#nacessity .stickyBox .popUl a:hover {
	opacity: 0.5;
}
#nacessity .stickyBox .popUl .h_title {
	padding-right: 4rem;
	margin-bottom: 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	color: #831019;
	letter-spacing: 0.05em;
}
#nacessity .stickyBox .popUl .h_title.big {
	margin-bottom: 1.5rem;
	font-size: 1.8rem;
	letter-spacing: 0;
}
#nacessity .stickyBox .popUl .photo {
	margin: 0 auto 2rem;
	width: 48.8rem;
}
#nacessity .stickyBox .popUl .photo img {
	width: 100%;
}
#nacessity .stickyBox .popUl .photo01 {
	margin-top: -3rem;
}
#nacessity .stickyBox .popUl .text {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#nacessity .stickyBox .popUl .text .sml {
	font-size: 1.2rem;
}
#nacessity .stickyBox .popUl .textUl {
	margin-bottom: 1.5rem;
}
#nacessity .stickyBox .popUl .textUl li {
	margin-bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#nacessity .stickyBox .popUl .textUl li:last-child {
	margin-bottom: 0;
}
#nacessity .stickyBox .popUl .textUl .lText {
	flex: 1;
	font-weight: 700;
}
#nacessity .stickyBox .popUl .textUl .lText .notes {
	padding-left: 1.5rem;
	text-indent: -1.5rem;
	margin-top: 1rem;
	display: block;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#nacessity .stickyBox .popUl .textUl .rText {
	margin-left: 1rem;
	width: 10.2rem;
	font-weight: 700;
	color: #831019;
}
body.popFix {
	overflow: auto;
}
.mfp-bg {
	background-color: #000 !important;
	opacity: 0.5 !important;
}
.mfp-wrap {
	overflow-y: auto;
}
.mfp-container {
	position: fixed;
	overflow: auto;
}
.popupBox {
	margin: 2rem auto;
	max-width: 85rem;
}
.popupBox .innerBox {
	position: relative;
	padding: 5rem;
	background-color: #fefefe;
	border-radius: 3rem;
}
.popupBox .innerBox .icon {
	position: absolute;
	top: 3rem;
	right: 3rem;
	width: 4rem;
	transition: .3s;
}
.popupBox .innerBox .h_title {
	padding-right: 3rem;
	margin-bottom: 3rem;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	color: #831019;
}
.popupBox .innerBox .photo {
	margin-bottom: 2rem;
}
.popupBox .innerBox .photo img {
	width: 100%;
}
.popupBox .innerBox .text {
	text-align: center;
	letter-spacing: 0.05em;
}
@media all and (min-width: 897px) {
	.popupBox .innerBox .icon:hover {
		opacity: 0.5;
	}
}
@media all and (max-width: 896px) {
	#nacessity .comwhiteBg {
		overflow: hidden;
	}
	#nacessity .diversity .innerBox {
		padding: 1.5rem;
		border-radius: 1rem;
		display: block;
	}
	#nacessity .diversity .innerBox .textBox {
		margin-bottom: 2rem;
		padding: 2rem 1rem;
		width: auto;
		border-radius: 2rem;
	}
	#nacessity .diversity .innerBox .textBox:last-child {
		margin-bottom: 0;
	}
	#nacessity .diversity .innerBox .textBox .h_title {
		margin-bottom: 3rem;
	}
	#nacessity .stickyBox {
		margin-bottom: 5rem;
		position: relative;
	}
	#nacessity .stickyBox .fixedBox {
		margin-bottom: 3rem;
		width: auto;
		position: static;
		height: fit-content;
	}
	#nacessity .stickyBox .textBox {
		position: static;
	}
	#nacessity .stickyBox .textBox .title {
		font-size: 1.8rem;
	}
	#nacessity .stickyBox .textBox .sub_title {
		margin: 3rem 0 1.5rem;
	}
	#nacessity .stickyBox .textBox .tableBox thead th {
		font-size: 1.2rem;
	}
	#nacessity .stickyBox .textBox .tableBox tbody th,
	#nacessity .stickyBox .textBox .tableBox tbody td {
		padding: 1.5rem 0;
		font-size: 1.1rem;
	}
	#nacessity .stickyBox .textBox .notesUl li {
		font-size: 1.2rem;
	}
	#nacessity .stickyBox .textBox .comDotUl {
		margin-left: 0;
	}
	#nacessity .stickyBox .popUl {
		width: auto;
	}
	#nacessity .stickyBox .popUl > li {
		padding: 2rem;
	}
	#nacessity .stickyBox .popUl a {
		width: 3rem;
	}
	#nacessity .stickyBox .popUl .photo {
		width: auto;
	}
	#nacessity .stickyBox .popUl .text {
		font-size: 1.3rem;
	}
	#nacessity .stickyBox .popUl .textUl {
		font-size: 1.4rem;
	}
	#nacessity .stickyBox .popUl .textUl .lText .notes {
		padding-left: 1.2rem;
		text-indent: -1.2rem;
		font-size: 1.1rem;
	}
	#nacessity .stickyBox .popUl .textUl .rText {
		width: 7.5rem;
	}
	.popupBox .innerBox {
		margin: 0 2rem;
		padding: 3rem 2rem;
		border-radius: 1.5rem;
	}
	.popupBox .innerBox .icon {
		top: 3rem;
		right: 2rem;
		width: 3rem;
	}
	.popupBox .innerBox .h_title {
		padding-right: 4rem;
		margin-bottom: 2rem;
	}
}
/*------------------------------------------------------------
	message
------------------------------------------------------------*/
#message .comwhiteBg .h_title {
	margin-bottom: 2.7rem;
	color: #831019;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#message .comwhiteBg .imgBox {
	align-items: flex-start;
	flex-direction: row-reverse;
}
#message .comwhiteBg .imgBox .textBox {
	flex: 1;
}
#message .comwhiteBg .imgBox .textBox .text,
#message .comwhiteBg .imgBox .textBox .textUl {
	margin-bottom: 1.5rem;
	line-height: 1.8;
}
#message .comwhiteBg .imgBox .textBox .text:last-child {
	margin-bottom: 0;
}
#message .comwhiteBg .imgBox .textBox .textUl li {
	padding-left: 1.4rem;
	text-indent: -1.4rem;
}
#message .comwhiteBg .imgBox .photoBox {
	margin: 0.2rem 0 0 4rem;
	width: 20rem;
}
#message .comwhiteBg .imgBox .photoBox .photo {
	margin-bottom: 1.4rem;
	border-radius: 1rem;
	overflow: hidden;
}
#message .comwhiteBg .imgBox .photoBox .photo img {
	width: 100%;
}
#message .comwhiteBg .imgBox .photoBox p {
	font-size: 1.4rem;
	text-align: right;
	line-height: 1.71;
}
#message .comwhiteBg .imgBox .photoBox p .big {
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
}
@media all and (max-width: 896px) {
	#message .comwhiteBg .h_title {
		font-size: 2rem;
	}
	#message .comwhiteBg .imgBox {
		display: block;
	}
	#message .comwhiteBg .imgBox .photoBox {
		margin: 0 0 2rem;
		width: auto;
	}
}
/*------------------------------------------------------------
	case
------------------------------------------------------------*/
#case .pageTitle {
	padding-bottom: 1.3rem;
}
/*------------------------------------------------------------
	case_info
------------------------------------------------------------*/
#case_info .date {
	margin-bottom: 4.9rem;
	padding: 4.9rem 5rem 5rem;
	border-radius: 3rem;
	background-color: #fefefe;
}
#case_info .date .imgBox {
	align-items: flex-start;
}
#case_info .date .imgBox .title {
	margin-bottom: 1.9rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.49;
}
#case_info .date .imgBox .textBox {
	margin-right: 2rem;
	flex: 1;
}
#case_info .date .imgBox dt {
	float: left;
	width: 9rem;
	letter-spacing: 0.05em;
	color: #831019;
}
#case_info .date .imgBox dd {
	margin-bottom: 1rem;
	padding-left: 10rem;
	letter-spacing: 0.05em;
}
#case_info .date .imgBox dd:last-of-type {
	margin-bottom: 0;
}
#case_info .date .imgBox .photoBox {
	width: 34.6%;
	border-radius: 1rem;
	overflow: hidden;
}
#case_info .date .imgBox .photoBox img {
	width: 100%;
}
#case_info .date .imgBox dd a {
	color: #831019;
	text-decoration: underline;
}
#case_info .initiatives {
	margin-bottom: 4.9rem;
}
#case_info .initiatives .imgBox {
	align-items: flex-start;
}
#case_info .initiatives .imgBox .textBox {
	margin-right: 3rem;
	flex: 1;
}
#case_info .initiatives .imgBox .textBox .title {
	margin-bottom: 1.2rem;
	font-size: 3rem;
	color: #831019;
	letter-spacing: 0.05em;
}
#case_info .initiatives .imgBox .textBox .text {
	line-height: 1.8;
}
#case_info .initiatives .imgBox .photoBox {
	margin-top: 5.9rem;
	width: 31.6%;
	overflow: hidden;
	border-radius: 1rem;
}
#case_info .initiatives .imgBox .photoBox img {
	width: 100%;
}
#case_info .thoughts {
	margin-bottom: 5rem;
}
#case_info .thoughts .text {
	margin-bottom: 2rem;
	line-height: 1.8;
}
#case_info .thoughts .imgBox {
	justify-content: right;
	align-items: flex-end;
}
#case_info .thoughts .imgBox .photo {
	width: 12rem;
	margin-left: 2rem;
	border-radius: 1rem;
	overflow: hidden;
}
#case_info .thoughts .imgBox .photo img {
	width: 100%;
}
#case_info .thoughts .imgBox p {
	font-weight: 500;
	letter-spacing: 0.05em;
	text-align: right;
}
#case_info .thoughts .imgBox p span {
	margin-top: 0.5rem;
	display: block;
	font-size: 1.8rem;
	font-weight: 700;
}
#case_info .voice {
	margin-bottom: 6.5rem;
}
#case_info .voice .imgBox {
	align-items: flex-start;
}
#case_info .voice .imgBox .textBox {
	margin-right: 3rem;
	flex: 1;
}
#case_info .voice .imgBox .textBox .text {
	line-height: 1.8;
}
#case_info .voice .imgBox .textBox .right {
	margin: 1.5rem 0 2.5rem;
	text-align: right;
	line-height: 1.8;
}
#case_info .voice .imgBox .textBox .right:last-of-type {
	margin-bottom: 0;
}
#case_info .voice .imgBox .photoBox {
	width: 31.55%;
	border-radius: 1rem;
	overflow: hidden;
}
#case_info .voice .imgBox .photoBox img {
	width: 100%;
}
#case_info .strengths {
	padding: 4.9rem 5rem 5rem;
	background-color: #fefefe;
	border-radius: 3rem;
}
#case_info .strengths .textUl {
	margin-left: 2rem;
}
#case_info .strengths .textUl li {
	margin-bottom: 2rem;
	padding-left: 2.5rem;
	letter-spacing: 0.05em;
	color: #831019;
	background: url(../img/common/icon03.png) no-repeat left top 0.5rem / 1.5rem;
}
#case_info .strengths .textUl li:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	#case_info .date .imgBox dd a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	#case_info .date {
		margin-bottom: 2.9rem;
		padding: 1.9rem 2rem 2rem;
		border-radius: 2rem;
	}
	#case_info .date .imgBox {
		display: block;
	}
	#case_info .date .imgBox .title {
		margin-bottom: 2.3rem;
		font-size: 1.8rem;
		line-height: 1;
	}
	#case_info .date .imgBox .textBox {
		margin: 0 0 1.5rem;
	}
	#case_info .date .imgBox dt {
		margin-bottom: 0.5rem;
		float: none;
		width: auto;
	}
	#case_info .date .imgBox dd {
		margin-bottom: 1.5rem;
		padding-left: 0;
	}
	#case_info .date .imgBox .photoBox {
		width: auto;
	}
	#case_info .initiatives {
		margin-bottom: 3rem;
	}
	#case_info .initiatives .imgBox {
		display: block;
	}
	#case_info .initiatives .imgBox .textBox {
		margin: 0 0 2rem;
	}
	#case_info .initiatives .imgBox .textBox .title {
		margin-bottom: 1.2rem;
		font-size: 2rem;
	}
	#case_info .initiatives .imgBox .photoBox {
		margin-top: 0;
		width: auto;
	}
	#case_info .thoughts {
		margin-bottom: 2.7rem;
	}
	#case_info .thoughts .text {
		margin-bottom: 1.2rem;
	}
	#case_info .voice {
		margin-bottom: 3rem;
	}
	#case_info .voice .imgBox {
		display: block;
	}
	#case_info .voice .imgBox .textBox {
		margin: 0 0 1.8rem;
	}
	#case_info .voice .imgBox .textBox .right {
		margin: 1rem 0 1.5rem;
	}
	#case_info .voice .imgBox .photoBox {
		width: auto;
	}
	#case_info .strengths {
		padding: 1.9rem 2rem 1.6rem;
		border-radius: 2rem;
	}
	#case_info .strengths .textUl {
		margin-left: 1rem;
	}
	#case_info .strengths .textUl li {
		margin-bottom: 1rem;
		line-height: 1.8;
		background-position: left top 0.7rem;
	}
}
/*------------------------------------------------------------
	efforts
------------------------------------------------------------*/
#efforts .pageTitle {
	padding-bottom: 4.4rem;
}
#efforts .h_title {
	margin-bottom: 2.7rem;
	color: #831019;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#efforts .imgBox {
	margin-bottom: 4.5rem;
	align-items: flex-start;
}
#efforts .imgBox .photoBox {
	margin: 0.2rem 0 0 3rem;
	width: 55rem;
	border-radius: 1rem;
	overflow: hidden;
}
#efforts .imgBox .photoBox img {
	width: 100%;
}
#efforts .imgBox .textBox {
	flex: 1;
}
#efforts .imgBox .textBox .text {
	margin-bottom: 1.5rem;
	line-height: 1.8;
}
#efforts .imgBox .textBox .text:last-of-type {
	margin-bottom: 0;
}
#efforts .tabPanel .tabUl {
	margin: 0 auto 2.8rem;
	padding: 0.9rem;
	width: fit-content;
	border: 1px solid #831019;
	border-radius: 1rem;
}
#efforts .tabPanel .tabUl a {
	width: 29rem;
	min-height: 6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	color: #888;
	background-color: transparent;
	border-radius: 0.5rem;
}
#efforts .tabPanel .tabUl li.on a {
	background-color: #831019;
	color: #fefefe;
}
#efforts .tabPanel .tabBox .text {
	margin-bottom: 2.8rem;
	line-height: 1.8;
}
#efforts .tabPanel .textUl {
	justify-content: space-between;
	gap: 40px 0;
}
#efforts .tabPanel .textUl > li {
	padding: 3rem 2.8rem 2.7rem 3.1rem;
	background-color: #fff;
	border-radius: 1rem;
	width: 48.28%;
}
#efforts .tabPanel .textUl .title {
	margin-bottom: 1.9rem;
	padding-bottom: 1.5rem;
	color: #831019;
	font-weight: 700;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #831019;
}
#efforts .tabPanel .textUl .image {
	margin-bottom: 1.7rem;
	text-align: center;
}
#efforts .tabPanel .textUl .image img {
	height: 10rem;
}
#efforts .tabPanel .textUl .comDotUl {
	margin: 0 0 1.7rem 1rem;
}
#efforts .tabPanel .textUl .comBtnUl {
	margin-bottom: 1.8rem;
}
#efforts .tabPanel .textUl .comBtnUl li {
	margin:  0 auto;
}
#efforts .tabPanel .textUl .comBtnUl a {
	padding-left: 3rem;
	justify-content: center;
}
#efforts .tabPanel .textUl .text {
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	#efforts .tabPanel .tabUl a:hover {
		background-color: #831019;
		color: #fefefe;
	}
}
@media all and (max-width: 896px) {
	#efforts .pageTitle {
		padding-bottom: 2rem;
	}
	#efforts .h_title {
		font-size: 2rem;
	}
	#efforts .imgBox {
		display: block;
	}
	#efforts .imgBox .photoBox {
		margin: 0 0 2rem;
		width: auto;
	}
	#efforts .imgBox .textBox {
		margin-bottom: 1rem;
	}
	#efforts .tabPanel .tabUl {
		width: auto;
		display: block;
	}
	#efforts .tabPanel .tabUl a {
		width: auto;
		min-height: 5rem;
		font-size: 1.5rem;
	}
	#efforts .tabPanel .textUl {
		display: block;
	}
	#efforts .tabPanel .textUl > li {
		margin-bottom: 2rem;
		padding: 2rem;
		width: auto;
	}
	#efforts .tabPanel .textUl > li:last-child {
		margin-bottom: 0;
	}
}
/*------------------------------------------------------------
	recruitment
------------------------------------------------------------*/
#recruitment .h_title {
	margin-bottom: 2.9rem;
	text-align: center;
	font-size: 3rem;
	font-weight: 500;
	color: #831019;
	letter-spacing: 0.05em;
}
#recruitment .photo {
	margin-bottom: 4.9rem;
	border-radius: 1rem;
	overflow: hidden;
}
#recruitment .photo img {
	width: 100%;
}
#recruitment .info {
	margin-bottom: 2.7rem;
	line-height: 1.8;
}
#recruitment .title {
	margin-bottom: 0.8rem;
	color: #831019;
	letter-spacing: 0.05em;
}
#recruitment .comTextUl {
	margin-bottom: 3rem;
}
#recruitment .textUl {
	margin-bottom: 3rem;
}
#recruitment .textUl li {
	margin-bottom: 1rem;
	position: relative;
	padding-left: 3.5rem;
}
#recruitment .textUl li:last-child {
	margin-bottom: 0;
}
#recruitment .textUl li::after {
	position: absolute;
	top: 0.5rem;
	left: 1rem;
	z-index: 1;
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background: url(../img/common/icon03.png) no-repeat left top / 100%;
}
#recruitment .comBtnUl {
	margin-bottom: 3rem;
}
#recruitment .comBtnUl li {
 width: 50rem;
}
#recruitment .comBtnUl a{
	padding-left: 3rem;
	justify-content: center;
}
#recruitment .comBtnUl02 li a{
 padding: 2rem 3rem 2rem 3rem;
 background-color: #101b36;
 border-radius: 3rem;
 font-size: 1.6rem;
}
#recruitment .comBtnUl01 {
	gap: 1rem;
}
#recruitment .comBtnUl01 li {
	width: 50rem;
}
#recruitment .subBox {
	background-color: #fefefe;
	align-items: center;
	border-radius: 3rem;
}
#recruitment .subBox .photoBox {
	width: 50rem;
}
#recruitment .subBox .textBox {
	padding: 2rem 4.2rem;
	flex: 1;
}
#recruitment .subBox .textBox li {
	margin-bottom: 1.8rem;
	display: flex;
	flex-wrap: wrap;
}
#recruitment .subBox .textBox li:last-child {
	margin-bottom: 0;
}
#recruitment .subBox .textBox .lText {
	padding-right: 2rem;
	width: 8rem;
	text-align: right;
	color: #831019;
	font-size: 1.8rem;
	font-weight: 700;
}
#recruitment .subBox .textBox .rText {
	line-height: 1.8;
}
#recruitment .subBox .textBox .rText a:hover {
	opacity: 0.5;
}
@media all and (max-width: 896px) {
	#recruitment .headLine01 .en {
		font-size: 2.5rem;
	}
	#recruitment .h_title {
		font-size: 2.5rem;
		text-align: left;
	}
	#recruitment .photo {
		margin-bottom: 2rem;
	}
	#recruitment .comTextUl {
		margin-bottom: 3rem;
	}
	#recruitment .comBtnUl {
		display: block;
	}
	#recruitment .comBtnUl01 {
		gap: 1rem;
	}
	#recruitment .comBtnUl01 li {
		margin-bottom: 1rem;
		width: auto;
	}
	#recruitment .subBox {
		display: block;
		border-radius: 1rem;
	}
	#recruitment .subBox .photoBox {
		width: auto;
	}
	#recruitment .subBox .photoBox img {
		width: 100%;
	}
	#recruitment .subBox .textBox {
		padding: 2rem 2rem;
	}
	#recruitment .subBox .textBox li {
		display: block;
	}
	#recruitment .subBox .textBox .lText {
		padding-right: 0;
		width: auto;
		text-align: left;
	}
	#recruitment .subBox .textBox .rText {
		flex: 1;
	}
 #recruitment .comBtnUl li{
  width: 100%;
 }
}
/*------------------------------------------------------------
	companylist
------------------------------------------------------------*/
#companylist .search {
	margin-bottom: 3rem;
	padding: 5rem 5rem;
	background-color: #fefefe;
	border-radius: 3rem;
}
#companylist .search .headLine02 {
	margin-bottom: 4rem;
}
#companylist .search .searchUl {
	margin-bottom: 2rem;
}
#companylist .search .searchUl > li {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#companylist .search .searchUl > li:not(:last-child) {
	margin-bottom: 2rem;
}
#companylist .search .searchUl .lText {
	margin: 0 2rem 0 -1.5rem;
	width: 10rem;
	color: #831019;
	letter-spacing: 0.05em;
	text-align: right;
}
#companylist .search .searchUl01 li {
	align-items: center;
}
#companylist .search .searchUl .rText {
	margin-right: -2rem;
	flex: 1
}
#companylist .search .searchUl input {
	padding: 0.5rem 1rem;
	width: 52%;
	display: block;
	height: 4rem;
	color: #222;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	border-radius: 0.5rem;
	border: 1px solid #888;
	box-sizing: border-box;
	box-shadow: none;
	background-color: #fff;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}
#companylist .search input::placeholder,
#companylist .search input::-webkit-input-placeholder,
#companylist .search input::-moz-placeholder,
#main .mailForm input:-ms-input-placeholder {
	color: #888;
	opacity: 1;
}
#companylist .search .searchUl .checkUl {
	gap: 1rem 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#companylist .search .searchUl .checkUl li {
	width: fit-content;
}
#companylist .search input[type="checkbox"] {
	display: none;
}
#companylist .search input[type="checkbox"] ~ span {
	padding-left: 3.5rem;
	letter-spacing: 0.05em;
	display: inline-block;
	background: url(../img/common/check_img01.png) no-repeat left center / 2.4rem;
}
#companylist .search input[type="checkbox"]:checked ~ span {
	background-image: url(../img/common/check_img02.png);
}
#companylist .search label {
	cursor: pointer;
}
#companylist .search .btn {
	margin-bottom: 3rem;
	text-align: center;
	color: #888;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
#companylist .search .btn .sub {
	padding: 0 2rem;
	margin: 0 auto;
	width: fit-content;
	background-color: #fff;
	cursor: pointer;
}
#companylist .search .btn::after {
	width: 999rem;
	height: 0.2rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
	content: "";
	background: url(../img/common/line05.png) repeat-x left top / 1.2rem;
}
#companylist .search .btn span {
	padding: 0.3rem 3.5rem 0.3rem 0;
	background: url(../img/common/btn_img01.png) no-repeat right center / 2.4rem;
	transition: .3s;
 font-size: 1.8rem;
 color: #831019;
}
#companylist .search .btn.on span {
	background-image: url(../img/common/btn_img02.png);
}
#companylist .search .openBox {
	display: none;
}
#companylist .search .openBox .searchUl {
	margin-bottom: 3rem;
}
#companylist .search .comBtnUl li {
	margin: 0 auto;
}
#companylist .search .comBtnUl a,
#companylist .search .comBtnUl button{
 width: 100%;
	padding-left: 3rem;
	justify-content: center;
}
#companylist .quantity .topText {
	margin-bottom: 5rem;
	text-align: center;
	letter-spacing: 0.05em;
}
#companylist .quantity .textUl {
	gap: 1.5rem 1.25%;
}
#companylist .quantity .textUl li {
	padding: 2rem 2rem 2rem 2rem;
	width: 32.5%;
	background-color: #fefefe;
	border-radius: 1rem;
}
/* #companylist .quantity .textUl .style01 {
	padding-right: 9rem;
} */
#companylist .quantity .textUl .title {
	margin-bottom: 1rem;
	font-weight: 700;
	position: relative;
	letter-spacing: 0.05em;
	width: fit-content;
}
#companylist .quantity .textUl .style02 .title {
	white-space: nowrap;
	overflow: hidden; 
	text-overflow: ellipsis;
	width: auto;
}
#companylist .quantity .textUl .title a {
	max-width: 25.5rem;
	display: block;
}
#companylist .quantity .textUl .style02 a {
	max-width: 100%;
}
#companylist .quantity .textUl .title .info{
	display: initial;
	color: #831019;
}
#companylist .quantity .textUl .title a .info{
 text-decoration: underline;
}
#companylist .quantity .textUl .title .ico {
	position: absolute;
	top: 0;
	right: -7rem;
	z-index: 1;
	padding: 0.4rem 2.5rem 0.3rem 1rem;
	width: fit-content;
	display: inline-block;
	font-weight: 500;
	color: #fefefe;
	background: #831019 url(../img/common/icon07.png) no-repeat right 1rem center/ 1rem;
	font-size: 1.2rem;
	letter-spacing: 0;
	border-radius: 1.2rem;
	vertical-align: middle;
}
#companylist .quantity .textUl .text {
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
#companylist .quantity .textUl .text span {
	margin-right: .5rem;
	padding-right: 1.5rem;
	display: inline-block;
	background: url(../img/common/line04.png) no-repeat right center / 0.9rem;
}
@media all and (min-width: 897px) {
	#companylist .quantity .textUl .title a:hover .info {
		text-decoration: none;
	}
	#companylist .search .btn span:hover {
		opacity: 0.5;
	}
}
@media all and (max-width: 896px) {
	#companylist .search {
		padding: 3rem 2rem;
		border-radius: 3rem;
	}
	#companylist .search .headLine02 {
		margin-bottom: 2rem;
	}
	#companylist .search .searchUl > li {
		display: block;
	}
	#companylist .search .searchUl .lText {
		margin: 0 0 1rem;
		width: auto;
		text-align: left;
	}
	#companylist .search .searchUl .rText {
		margin-right: 0;
	}
	#companylist .search .searchUl input {
		width: 100%;
	}
	#companylist .search .searchUl .checkUl {
		gap: 1rem 0;
	}
	#companylist .search .searchUl .checkUl li {
		width: 50%;
	}
	#companylist .search .btn span {
		background-size: 2.2rem auto;
	}
	#companylist .quantity .textUl {
		display: block;
	}
	#companylist .quantity .textUl li {
		margin-bottom: 1rem;
		width: auto;
	}
	#companylist .quantity .textUl li:last-child {
		margin-bottom: 0;
	}
	/* #companylist .quantity .textUl .style01 {
		padding-right: 9rem;
	} */
	#companylist .quantity .textUl .title {
		width: auto;
	}
	#companylist .quantity .textUl .title a {
		max-width: 100%;
	}
	#companylist .quantity .textUl .title .ico {
		right: -7rem;
	}
}
/*------------------------------------------------------------
	recruitment_form
------------------------------------------------------------*/
#recruitment_form .h_title {
	margin-bottom: 3rem;
	text-align: center;
	font-weight: 500;
	font-size: 3rem;
	letter-spacing: 0.05em;
	color: #831019;
}
#recruitment_form .text {
	margin-bottom: 8rem;
	text-align: center;
}
#recruitment_form .mailForm {
	margin: 0 auto;
	max-width: 94rem;
}
#recruitment_form .mailForm th {
	color: #831019;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#recruitment_form .mailForm th .must {
	margin-left: 1rem;
	padding: 0.3rem 1rem;
	display: inline-block;
	width: fit-content;
	background-color: #831019;
	text-align: center;
	color: #fefefe;
	font-size: 1.2rem;
	border-radius: 0.5rem;
	letter-spacing: 0;
	vertical-align: 0.1rem;
}
#recruitment_form .mailForm table {
	width: 100%;
	border-collapse: collapse;
}
#recruitment_form .mailForm table th,
#recruitment_form .mailForm table td {
	width: 100%;
	display: block;
	text-align: left;
	vertical-align: top;
	word-break: break-all;
}
#recruitment_form .mailForm table input[type="text"],
#recruitment_form .mailForm table input[type="email"], 
#recruitment_form .mailForm table input[type="tel"],
#recruitment_form .mailForm table select, 
#recruitment_form .mailForm table textarea {
	padding: 0.5rem 1rem;
	width: 100%;
	display: block;
	height: 4rem;
	color: #222;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	border-radius: 0.5rem;
	border: 1px solid #888;
	box-sizing: border-box;
	box-shadow: none;
	background-color: #fff;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}
#recruitment_form .mailForm table th {
	margin-bottom: 1rem;
}
#recruitment_form .mailForm table tr:not(:last-child) td {
	margin-bottom: 2rem;
}
#recruitment_form .mailForm input::placeholder {
	color: #888;
	opacity: 1;
}
#recruitment_form .mailForm select {
	background: #fff url(../img/common/icon08.png) no-repeat right 1.7rem center / 1.5rem;
}
#recruitment_form .mailForm .inputUl li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#recruitment_form .mailForm .inputUl span {
	margin-right: 1rem;
	display: inline-block;
	letter-spacing: 0.05em;
}
#recruitment_form .mailForm .inputUl01 li {
	width: 29.8%;
}
#recruitment_form .mailForm .inputUl02 li {
	margin-bottom: 1rem;
}
#recruitment_form .mailForm .inputUl02 li:last-child {
	margin-bottom: 0;
}
#recruitment_form .mailForm .inputUl02 li > p{
 width: 100%;
}
#recruitment_form .mailForm .inputUl02 span {
	margin-right: 0;
	width: 7.6rem;
}
#recruitment_form .mailForm .inputUl02 li > p span.wpcf7-form-control-wrap{
 width: calc(100% - 7.6rem);
}
#recruitment_form .mailForm .inputUl03 li {
	width: 33%;
}
#recruitment_form .mailForm table input.wid01 {
	width: 15rem;
}
#recruitment_form .mailForm table input.wid02 {
	width: 20rem;
}
#recruitment_form .mailForm table input.wid03 {
	width: calc(100% - 7.6rem);
}
#recruitment_form .mailForm table input.wid04 {
	width: 25rem;
}
#recruitment_form .mailForm .title {
	margin: 5rem 0 2rem;
	text-align: center;
	color: #831019;
	font-size: 2.2rem;
	font-weight: 700;
}
#recruitment_form .mailForm .radioList {
	margin-bottom: 1rem;
}
#recruitment_form .mailForm .radioList li {
	width: 26.3%;
}
#recruitment_form .mailForm .radioList span.wpcf7-form-control-wrap{
 width: 100%;
}
#recruitment_form .mailForm .radioList span.wpcf7-form-control-wrap span.wpcf7-radio{
 display: flex;
 flex-wrap: wrap;
 width: 100%;
}
#recruitment_form .mailForm .radioList span.wpcf7-form-control-wrap span.wpcf7-radio .wpcf7-list-item{
 width: 26.3%;
}
#recruitment_form .mailForm input[type="radio"] {
	display: none;
}
#recruitment_form .mailForm input[type="radio"] ~ span {
	padding-left: 3.5rem;
	display: inline-block;
	letter-spacing: 0.05em;
	background: url(../img/common/radio_img01.png) no-repeat left center / 2.4rem;
}
#recruitment_form .mailForm input[type="radio"]:checked ~ span {
	background-image: url(../img/common/radio_img02.png);
}
#recruitment_form .mailForm .agreeText {
	margin: 3rem 0 5rem;
	text-align: center;
}
#recruitment_form .mailForm .agreeText a {
	text-decoration: underline;
}
#recruitment_form .mailForm input[type="checkbox"] {
	display: none;
}
#recruitment_form .mailForm input[type="checkbox"] ~ span {
	padding-left: 3.5rem;
	letter-spacing: 0.05em;
	display: inline-block;
	background: url(../img/common/check_img01.png) no-repeat left center / 2.4rem;
}
#recruitment_form .mailForm input[type="checkbox"]:checked ~ span {
	background-image: url(../img/common/check_img02.png);
}
#recruitment_form .mailForm label {
	cursor: pointer;
}
#recruitment_form .mailForm .submit li {
	position: relative;
	width: fit-content;
}
#recruitment_form .mailForm .submit input {
	min-height: 6rem;
    width: 20rem;
    padding: 0.5rem 3rem;
    text-align: left;
	color: #fefefe;
    font-size: 1.6rem;
    font-weight: 500;
	display: flex;
	align-items: center;
    background-color: #831019;
	border-radius: 3rem;
	letter-spacing: 0.05em;
	box-shadow: none;
	box-sizing: border-box;
    border: 0;
	cursor: pointer;
	appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
 text-align: center;
}
#recruitment_form .mailForm .submit .ico {
	position: absolute;
    top: calc(50% - 0.6rem);
    right: 2rem;
    width: 1.5rem;
    height: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
#recruitment_form .mailForm .submit .ico img {
	width: 1.5rem;
    transition: 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media all and (min-width: 897px) {
	#recruitment_form .mailForm .agreeText a:hover {
		text-decoration: none;
	}
	#recruitment_form .mailForm .submit li:hover .ico img {
		transform: rotate(90deg);
	}
}
@media all and (max-width: 896px) {
	#recruitment_form .headLine01 .en {
		font-size: 2.9rem;
	}
	#recruitment_form .h_title {
		text-align: left;
		font-size: 2.5rem;
	}
	#recruitment_form .text {
		margin-bottom: 2rem;
		text-align: left;
	}
	#recruitment_form .mailForm {
		max-width: 100%;
	}
	#recruitment_form .mailForm th .must {
		padding-top: 0.2rem;
	}
	#recruitment_form .mailForm .inputUl {
		display: block;
	}
	#recruitment_form .mailForm .inputUl li {
		margin-bottom: 1rem;
		display: block;
	}
	#recruitment_form .mailForm .inputUl li:last-child {
		margin-bottom: 0;
	}
	#recruitment_form .mailForm .inputUl span {
		margin: 0 0 1rem;
		display: block;
	}
	#recruitment_form .mailForm .inputUl01 li {
		width: auto;
	}
	#recruitment_form .mailForm .inputUl02 span {
		margin-right: 0;
		width: auto;
	}
	#recruitment_form .mailForm .inputUl03 li {
		width: auto;
	}
	#recruitment_form .mailForm table input.wid01 {
		width: 100%;
	}
	#recruitment_form .mailForm table input.wid02 {
		width: 100%;
	}
	#recruitment_form .mailForm table input.wid03 {
		width: 100%;
	}
	#recruitment_form .mailForm table input.wid04 {
		width: 100%;
	}
	#recruitment_form .mailForm .radioList {
		display: block;
	}
	#recruitment_form .mailForm .radioList li {
		margin-bottom: 1rem;
		width: auto;
	}
	#recruitment_form .mailForm .radioList li:last-child {
		margin-bottom: 0;
	}
	#recruitment_form .mailForm .submit {
		display: block;
	}
	#recruitment_form .mailForm .submit li {
		margin: 0 auto 1rem;
		width: fit-content;
	}
	#recruitment_form .mailForm .submit li:last-child {
		margin-bottom: 0;
	}
	#recruitment_form .mailForm .submit input {
		min-height: 5rem;
	}
	#recruitment_form .mailForm .submit .ico img {
		width: 1.2rem;
	}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
#news .comAchorUl {
	margin-bottom: 3rem;
	gap: 1rem;
}
#news .comAchorUl a {
	padding: 0 2rem;
	font-size: 1.8rem;
	min-height: 4.5rem;
	border-radius: 2.25rem;
}
#news .comNewsUl {
	margin-bottom: 5rem;
}
#news .pagenavi {
	gap: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#news .pagenavi .extend {
	padding-bottom: 0.9rem;
	display: inline-block;
	display: none;
}
#news .pagenavi a {
	padding: 0.7rem 1.5rem 0.5rem;
	width: 5.5rem;
	background-color: #fefefe;
	min-height: 4.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #831019;
	font-size: 1.8rem;
	border-radius: 2.25rem;
}
#news .pagenavi .current {
	color: #fefefe;
	background-color: #831019;
}
#news .pagenavi .previouspostslink,
#news .pagenavi .nextpostslink {
	position: relative;
	width: 9rem;
	background-color: #831019;
	color: #fefefe;
	font-size: 1.4rem;
	justify-content: right;
 padding: 0.7rem 1.5rem 0.5rem;
 min-height: 4.5rem;
 display: flex;
 border-radius: 2.25rem;
 align-items: center;
}
#news .pagenavi .previouspostslink .ico,
#news .pagenavi .nextpostslink .ico {
	position: absolute;
	top: calc(50% - 0.7rem);
	left: 1.3rem;
	width: 1.5rem;
	height: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#news .pagenavi .nextpostslink {
	justify-content: left;
}
#news .pagenavi .nextpostslink .ico {
	left: auto;
	right: 1.3rem;
}
#news .pagenavi .previouspostslink .ico img,
#news .pagenavi .nextpostslink .ico img {
    width: 1rem;
    transition: 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}
@media all and (min-width: 897px) {
	#news .pagenavi a:hover .ico img {
		transform: rotate(90deg);
	}
	#news .pagenavi .page:hover {
		background-color: #831019;
		color: #fefefe;
	}
}
@media all and (max-width: 896px) {
	#news .pagenavi {
		margin: 0 -1.5rem;
		gap: 0.5rem;
	}
	#news .pagenavi a {
		padding: 0.5rem;
		width: 3.5rem;
		min-height: 3.5rem;
		font-size: 1.4rem;
	}
	#news .pagenavi .previouspostslink,
	#news .pagenavi .nextpostslink {
		width: 5.5rem;
	}
	#news .pagenavi .previouspostslink .ico,
	#news .pagenavi .nextpostslink .ico {
		left: 0.5rem;
	}
	#news .pagenavi .nextpostslink .ico {
		left: auto;
		right: 0.5rem;
	}
}
/*------------------------------------------------------------
	news_info
------------------------------------------------------------*/
#news_info h3 {
	margin-bottom: 2.5rem;
	padding-bottom: 2rem;
	font-size: 3rem;
	color: #831019;
	letter-spacing: 0.05em;
	background: url(../img/common/line03.png) repeat-x left bottom / 2.4rem auto;
}
#news_info p {
	margin-bottom: 2.5rem;
	line-height: 1.8;
	word-break: break-all;
}
#news_info p a {
	margin-left: 1.5rem;
	color: #831019;
	text-decoration: underline;
	letter-spacing: 0.05em;
}
#news_info .time {
	margin-bottom: 4.5rem;
	text-align: right;
	color: #831019;
	font-size: 1.4rem;
}
#news_info .time span {
	margin-right: 1rem;
	padding-right: 2rem;
	display: inline-block;
	background: url(../img/common/line02.png) no-repeat right center / 0.9rem;
}
#news_info .videoBox {
	width: 50rem;
	aspect-ratio: 500/281;
	background-color: #888;
}
#news_info .videoBox iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#news_info .is-type-video > div{
 width: 50rem;
 aspect-ratio: 500/281;
	background-color: #888;
}
#news_info .is-type-video > div iframe{
 width: 100%;
 height: 100%;
 object-fit: cover;
}
@media all and (min-width: 897px) {
	#news_info p a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	#news_info h3 {
		font-size: 2rem;
	}
	#news_info p a {
		margin-left: 0;
	}
	#news_info .time {
		margin-bottom: 1rem;
	}
	#news_info .videoBox{
		width: auto;
	}
 #news_info .is-type-video > div{
  width: auto;
 }
}
