@charset "UTF-8";

/*   
Theme Name: SAITAMA GENERAL
Description: SAITAMA GENERAL
Version: 2026.01
Author: YH
*/


/*** clearfix ***/
.clearfix:after {
 content: ".";
 display: block;
 clear: both;
 height: 0;
 visibility: hidden;
}


/* ===========================================================================================

	Common

=========================================================================================== */

.b-m-footerBottom{
	display: block;
}
.b-a-textLink_anchor {
	text-decoration: none !important;
}
#mainArea {
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	overflow: hidden;
	color: #1D1D1D;
	-webkit-text-size-adjust: none;
	height: auto !important;
}
.f_min {
	font-family: "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;
}
.f_en {
	font-family: "europa", sans-serif;
}
#mainArea p {
	color: inherit;
	font-size: 16px;
	line-height: 1.8em;
}
#mainArea a,
#mainArea a img {
	text-decoration: none;
	color: #000;
	transition: color 0.3s ease, background 0.3s ease, opacity 0.3s ease;
	outline: none;
}
#mainArea a:hover {
	opacity: 0.75;
}

#mainArea img { display: block; max-width: 100%; height: auto; }
#mainArea .non_pc { display: none !important; }

#mainArea button {
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	background: none;
	border: none;
	padding: 0;
	line-height: 1em;
	color: #000;
}
/** Common **********************/

#mainArea .img {
	position: relative;
}
#mainArea .img .caption {
	position: absolute;
	left: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 12px;
	text-shadow: 0 0 3px #000;
	line-height: 1em;
}
#mainArea .img .caption.r {
	left: auto;
	right: 10px;
}
#mainArea .img .caption.b {
	color: #000;
	text-shadow: 0 0 3px #fff;
}
#mainArea .img .caption.out {position: relative;left: auto;bottom: auto;margin: 0 0 0 9px;color: #707070;}
#mainArea .site_header {
	position: relative;
	background: #fff;
	z-index: 1;
}
#mainArea .site_header > .inner {
	display: flex;
	align-items: center;
	padding: 0 40px 0 40px;
	box-sizing: border-box;
	height: 80px;
}
#mainArea .site_header .title {
	font-size: 16px;
	margin-left: 60px;
}
#mainArea .site_header .btbox {
	display: flex;
	margin: 0 0 0 auto;
}
#mainArea .site_header .btbox a {
	font-size: 14px;
	background: #1D1D1D;
	color: #fff;
	height: 38px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 20px;
	border-radius: 4px;
	letter-spacing: 0.05em;
}
#mainArea .site_header .btbox .bt_request {
	margin-left: 10px;
	background: #E0E0E0;
	color: #1D1D1D;
	border-radius: 0;
}
#mainArea .site_header .btbox .bt_contact::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(135deg);
	margin: -4px 0 0 12px;
}
#mainArea .site_header .btbox .bt_request::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background: url(../images/icon_arrow.png) no-repeat center center / 8px;
	margin-left: 7px;
}
#mainArea .site_header.nav {
	position: fixed;
	top: 0;
	left: 50%;
	width: 100%;
	z-index: 9;
	max-width: 1920px;
	transform: translate(-50%, 0);
}
#mainArea .site_header.nav > .inner {height: 66px;}
#mainArea .site_header.nav ul {
	display: flex;
	align-items: center;
	gap: 30px;
}
.pc_view #mainArea .site_header.nav ul {
	opacity: 1 !important;
	display: flex !important;
}
#mainArea .site_header.nav ul li {
	
}
#mainArea .site_header.nav ul li a {
	font-size: 16px;
}


#mainArea .breadlist {
	background: #F0F0F0;
	border-top: 1px solid #D0D0D0;
}
#mainArea .breadlist > .inner {
	padding: 20px 0;
	width: 1156px;
	margin: 0 auto;
	font-size: 13px;
	text-align: center;
}
#mainArea .breadlist a,
#mainArea .breadlist span {
	display: inline-block;
	letter-spacing: 0;
}
#mainArea .breadlist span {
	color: #707070;
}
#mainArea .bt_more {display: block;background: #202020;border-radius: 6px;}
#mainArea .bt_more > span {
	display: flex;
	padding: 0 0 0 20px;
	color: #fff;
	font-weight: bold;
	position: relative;
	height: 40px;
	align-items: center;
}
#mainArea .bt_more > span::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	height: 40px;
	width: 40px;
	border-left: 1px solid #707070;
}
#mainArea .bt_more > span::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translate(0, -50%);
	background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
}
#mainArea .bt_top {
	position: fixed;
	right: 0;
	bottom: 0;
	background: #1d1d1d99;
	border-radius: 4px 0 0 0;
	z-index: 8;
}
#mainArea .bt_top span {
	display: flex;
	flex-direction: column;
	width: 76px;
	height: 75px;
	justify-content: start;
	text-align: center;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	box-sizing: border-box;
	padding-top: 16px;
}
#mainArea .bt_top span::before,
#mainArea .bt_top span::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: translate(-50%, 0) rotate(-45deg);
  margin: 0;
  position: absolute;
  bottom: 7px;
  left: 50%;
}
#mainArea .bt_top span::after {bottom: 12px;}

/** Sec, Contact **********************/
#mainArea .sec {
	padding: 90px 0;
}
#mainArea .sec > .inner {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea .sec .hbox {
	border-bottom: 1px solid #ccc;
	padding-bottom: 80px;
	/* margin-bottom: 70px; */
}
#mainArea .sec .hbox h2 {
	text-align: center;
	font-size: 38px;
	letter-spacing: 0.07em;
	font-weight: 300;
}
#mainArea .sec .hbox .lead {
	text-align: center;
	margin-top: 16px;
	font-size: 18px;
}
#mainArea .sec .hbox .text {
	font-size: 16px;
	color: #707070;
	text-align: center;
	margin-top: 10px;
}
#mainArea .contact {
	background: #F0F0F0;
	padding-bottom: 110px;
}

#mainArea .contact .mapbox {
	position: relative;
	padding: 80px 0 75px 0;
	border-bottom: 1px solid #ccc;
}
#mainArea .contact .mapbox .map {max-width: 480px;position: relative;margin: 0 auto;}
#mainArea .contact .mapbox .map img {position: absolute;left: 0;top: 0;width: 100%;display: none;}
#mainArea .contact .mapbox .map img.map0 {position: relative;left: auto;top: auto;display: block;}
#mainArea .contact .mapbox .info {
  position: absolute;
  width: 480px;
  margin: 0 auto;
  z-index: 1;
  height: 265px;
  left: 50%;
  transform: translate(-50%, 0);
}
#mainArea .contact .mapbox .text {
	font-size: 17px;
	line-height: 1.7em;
}
#mainArea .contact .mapbox .text br {
	display: none;
}
#mainArea .contact .mapbox .btbox {position: relative;}
#mainArea .contact .mapbox .btbox button {padding: 0;border: none;background: #fff;text-align: left;box-sizing: border-box;position: absolute;border-radius: 1000px;border: 1px solid #000;display: block;font-size: 16px;font-weight: bold;cursor: pointer;padding: 9px 14px 9px 0;box-sizing: border-box;text-align: center;}
#mainArea .contact .mapbox .btbox button::before {
	content: "";
	display: block;
	padding: initial;
	width: 1px;
	height: 117px;
	background: #000;
	position: absolute;
	top: 100%;
	left: 157px;
	transform-origin: 0 0;
}
#mainArea .contact .mapbox .btbox button:nth-child(1) {
  top: 33px;
  left: 209px;
  width: 205px;
}
#mainArea .contact .mapbox .btbox button:nth-child(1)::before {
	top: 100%;
}

#mainArea .contact .mapbox .btbox button:nth-child(2) {
  left: -2px;
  top: 168px;
  width: 220px;
}
#mainArea .contact .mapbox .btbox button:nth-child(2)::before {top: 50%;left: auto;right: -1px;height: 91px;transform: rotate(-90deg);}
#mainArea .contact .mapbox .btbox button:nth-child(3) {
  right: 5px;
  top: -24px;
  width: 220px;
}
#mainArea .contact .mapbox .btbox button:nth-child(3)::before {
	top: 100%;
	height: 189px;
	left: 179px;
}

#mainArea .contact .mapbox .btbox button:nth-child(4) {
  right: 0;
  top: 273px;
  width: 220px;
}
#mainArea .contact .mapbox .btbox button:nth-child(4)::before {top: auto;bottom: 100%;height: 65px;left: 120px;}

#mainArea .contact .mapbox .btbox button::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: translate(-50%, -50%) rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
}
#mainArea .contact .mapbox .btbox button.active {
	background: #000;
	color: #fff;
}
#mainArea .contact .mapbox .btbox button.active::after {border-color: #fff;}
#mainArea .contact .mapbox .detailbox {
	position: relative;
}
#mainArea .contact .mapbox .detailbox .detail {
	position: absolute;
	width: 330px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 4px;
	padding: 15px 20px 20px 20px;
	display: none;
}
#mainArea .contact .mapbox .detailbox .detail.map1 {left: -340px;top: -46px;}
#mainArea .contact .mapbox .detailbox .detail.map2 {left: -340px;top: 46px;}
#mainArea .contact .mapbox .detailbox .detail.map3 {left: 490px;top: -46px;}
#mainArea .contact .mapbox .detailbox .detail.map4 {top: 88px;left: 490px;}
#mainArea .contact .mapbox .detailbox .detail .title {
	font-size: 17px;
	font-weight: bold;
}
#mainArea .contact .mapbox .detailbox .detail .title + p {
	font-size: 13px;
	line-height: 1.6em;
	margin-top: 7px;
}
#mainArea .contact .mapbox .detailbox .detail .fbox {
	display: flex;
	gap: 10px;
	margin: 15px 0 10px 0;
}
#mainArea .contact .mapbox .detailbox .detail .fbox a {
	width: 50%;
	font-size: 14px;
}
#mainArea .contact .mapbox .detailbox .detail .fbox .bt_map span {
	padding-left: 35px;
}
#mainArea .contact .mapbox .detailbox .detail .fbox .bt_contact span {
	padding-left: 8px;
}
#mainArea .contact .mapbox .detailbox .detail .fbox .bt_contact span::after {width: 30px;height: 30px;background: url(../images/icon_mail_w.png) no-repeat center center / 30px;right: 5px;}
#mainArea .contact .mapbox .detailbox .detail .bt_tel {
	background: #F0F0F0;
}
#mainArea .contact .mapbox .detailbox .detail .bt_tel span {font-size: 20px;font-weight: normal;padding-left: 36px;color: #000;}
#mainArea .contact .mapbox .detailbox .detail .bt_tel span::before {
	border-left-color: #E0E0E0;
}
#mainArea .contact .mapbox .detailbox .detail .bt_tel span::after {width: 30px;height: 30px;background: url(../images/icon_tel.png) no-repeat center center / 30px;right: 5px;}
#mainArea .contact .list {
	display: flex;
	flex-wrap: wrap;
	gap: 100px 60px;
	margin-top: 80px;
}
#mainArea .contact .list .box {
	width: calc((100% - 120px) / 3);
}
#mainArea .contact .list .box .city {
	min-height: 115px;
}
#mainArea .contact .list .box:nth-child(4) .city,
#mainArea .contact .list .box:nth-child(5) .city,
#mainArea .contact .list .box:nth-child(6) .city {
	min-height: 57px;
}
#mainArea .contact .list .box .city .label {
	font-weight: bold;
}
#mainArea .contact .list .box .city .text {
	font-size: 14px;
	margin-top: 10px;
}
#mainArea .contact .list .box > .bt_more {margin-top: 19px;}
#mainArea .contact .list .box .address {color: #707070;margin-top: 22px;min-height: 103px;}
#mainArea .contact .list .box .address .label {border-bottom: 1px solid #D0D0D0;padding-bottom: 7px;}
#mainArea .contact .list .box .address .text {margin-top: 9px;}
#mainArea .contact .list .box .btbox {margin-top: 22px;}
#mainArea .contact .list .box .btbox a {background: #707070;}
#mainArea .contact .list .box .btbox a > span {height: 60px;}
#mainArea .contact .list .box .btbox a > span::before {width: 60px;height: 60px;border-color: #909090;}
#mainArea .contact .list .box .btbox a > span::after {background: url(../images/icon_mail_w.png) no-repeat center center / 30px;width: 30px;height: 30px;right: 15px;}
#mainArea .contact .list .box .btbox .bt_tel {background: #fff;margin-top: 10px;}
#mainArea .contact .list .box .btbox .bt_tel > span {
	color: #1D1D1D;
	font-size: 14px;
	font-weight: normal;
}
#mainArea .contact .list .box .btbox .bt_tel > span::before {border-color: #E0E0E0;}
#mainArea .contact .list .box .btbox .bt_tel > span::after {background-image: url(../images/icon_tel.png);}
#mainArea .contact .list .box .btbox .bt_tel > span span {font-size: 20px;font-weight: 400;letter-spacing: 0.05em;margin-right: 5px;display: inline-block;}

#mainArea .event_list {display: flex;flex-wrap: wrap;gap: 80px 35px;}
#mainArea .event_list .box {width: calc((100% - 70px) / 3);position: relative;}
#mainArea .event_list .box > a {
	display: block;
}
#mainArea .event_list .box .img {
}
#mainArea .event_list .box .img img {object-fit: contain;width: 100%;aspect-ratio: 360 / 248;background: #fff;height: 248px;}
#mainArea .event_list .box .category {display: flex;gap: 10px;margin-top: 30px;}
#mainArea .event_list .box .category span {font-size: 12px;display: block;border: 1px solid #fff;border-radius: 3px;line-height: 1em;padding: 7px;}
#mainArea .event_list .box .title {font-size: 18px;font-weight: bold;line-height: 1.8em;margin-top: 16px;}
#mainArea .event_list .box .title br {display: none;}
#mainArea .event_list .box .date {font-size: 14px;color: #707070;line-height: 1.6em;margin-top: 11px;}
#mainArea .event_list .box .venue {font-size: 14px;color: #707070;line-height: 1.6em;}
#mainArea .event_list .box .bt_reservation {
	display: block;
	position: absolute;
	right: 0;
	top: 273px;
}
#mainArea .event_list .box .bt_reservation a {
	display: block;
	background: #1D1D1D;
	position: relative;
	overflow: hidden;
	border-radius: 6px;
	width: 48px;
	height: 42px;
	transition: all ease 0.3s;
}
.pc_view #mainArea .event_list .box .bt_reservation a:hover {
	width: 174px;
	opacity: 1;
	background: #661106;
}
#mainArea .event_list .box .bt_reservation a::after {
	content: "";
	display: block;
	width: 48px;
	height: 42px;
	position: absolute;
	right: 0;
	top: 0;
	background: url(../images/icon_check.png) no-repeat center center / 35px;
}
#mainArea .event_list .box .bt_reservation a span {
	display: block;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 42px;
	margin: 0 30px 0 15px;
	height: 42px;
	overflow: hidden;
	transition: all ease 0.3s;
	opacity: 0;
}
.pc_view #mainArea .event_list .box .bt_reservation a:hover span {
	opacity: 1;
}


.remodal-overlay {
	background: #00000094;
	z-index: 1000000;
}
.remodal-wrapper {
	z-index: 1000001;
	padding: 20px;
}
.remodal {
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	padding: 0;
	width: 100%;
	max-width: none;
	position: relative;
	background: no-repeat;
	max-width: 1360px;
	min-width: 1120px;
	padding: 60px 4%;
	box-sizing: border-box;
	background: #D0D0D0;
	margin: 0 auto;
}
.remodal > .inner {
}
.remodal > .inner .fbox {
}
.remodal > .inner .map {max-width: 470px;position: absolute;width: calc(100% - 810px);left: 50%;transform: translate(-50%, -60%);top: 50%;}
.remodal > .inner .map img {position: absolute;left: 0;top: 0;width: 100%;display: none;}
.remodal > .inner .map img.map0 {position: relative;left: auto;top: auto;display: block;}
.remodal > .inner .info {}
.remodal > .inner .text {
	font-size: 17px;
	line-height: 1.7em;
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.remodal > .inner .text br {
	display: none;
}
.remodal > .inner .btbox {display: flex;flex-wrap: wrap;gap: 10px;flex-direction: column;height: 360px;align-items: start;justify-content: start;position: relative;max-width: 1190px;margin: 34px auto 0 auto;width: 100%;}
.remodal > .inner .btbox button {padding: 0;border: none;background: #fff;width: 350px;/* height: 142px; */justify-content: start;text-align: left;box-sizing: border-box;padding: 19px 20px 21px 40px;position: absolute;border-radius: 4px;}
.remodal > .inner .btbox button:nth-child(1) {
  top: 0;
  left: 0;
}
.remodal > .inner .btbox button:nth-child(2) {
  left: 0;
  top: 190px;
}
.remodal > .inner .btbox button:nth-child(3) {
  right: 0;
  top: 0;
}
.remodal > .inner .btbox button:nth-child(4) {
  right: 0;
  top: 165px;
}
.remodal > .inner .btbox button::before {
	content: "";
	display: block;
	position: absolute;
	left: 15px;
	top: 34px;
	transform: translate(0, -50%);
	border: #909090 1px solid;
	background: #fff;
	border-radius: 20px;
	width: 15px;
	height: 15px;
}
.remodal > .inner .btbox button::after {
	content: "";
	display: block;
	position: absolute;
	top: 34px;
	left: 19px;
	border-top: 1px solid #909090;
	border-right: 1px solid #909090;
	border: none;
	width: 7px;
	height: 8px;
	background: #F0F0F0;
	border-radius: 10px;
	transform: translate(0, -50%);
}
.remodal > .inner .btbox button.active {
	background: #909090;
	color: #fff;
}
.remodal > .inner .btbox button.active::after {
	background: #000;
}
.remodal > .inner .btbox button p {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.7em;
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.remodal > .inner .btbox button p.title {font-size: 17px;margin-bottom: 5px;}

@media screen and (max-width: 1400px) {
	/*
	.remodal > .inner .text {
		font-size: 16px;
		font-size: 1.14vw;
	}
	.remodal > .inner .btbox {
	gap: 0.7vw;
	}
	.remodal > .inner .btbox button {
		padding: 16px 16px 16px 40px;
		*//* padding: 1vw 1vw 1vw 2.8vw; *//*
	}
	.remodal > .inner .btbox button p {
		font-size: 15px;
		font-size: 1.05vw;
	}
	*/
}
.remodal > .inner .bt_more {
	text-decoration: none;
   display: block;
   background: #202020;
   border-radius: 6px;
   width: 294px;
   margin: 10px auto 0 auto;
   font-size: 20px;
   font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}
.remodal > .inner .bt_more[href="#"] {
	pointer-events: none;
	opacity: 0.3;
}
.remodal > .inner .bt_more > span {
	display: flex;
	padding: 0px 0 0 28px;
	color: #fff;
	font-weight: bold;
	position: relative;
	height: 44px;
	align-items: center;
}
.remodal > .inner .bt_more > span::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	height: 44px;
	width: 44px;
	border-left: 1px solid #707070;
}
.remodal > .inner .bt_more > span::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translate(0, -50%);
	background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
}
.remodal-close {
	right: 20px;
	bottom: 20px;
	left: auto;
	top: auto;
	width: 96px;
	height: 38px;
	border-radius: 3px;
	border: 2px solid #000;
}
.remodal-close span {font-size: 13px;color: #1D1D1D;font-weight: bold;padding-left: 15px;display: block;text-align: left;}
.remodal-close::before {
	display: none;	
}

.remodal-close::before,
.remodal-close::after {
	display: block;
	position: absolute;
	content: "";
	width: 18px;
	height: 1px;
	background: #000;
	right: 12px;
	top: 50%;
	transform: rotate(-45deg);
	left: auto;
}
.remodal-close::after {
	transform: rotate(45deg);
}

/** Index **********************/
#mainArea.index .visual {
	
}
#mainArea.index .visual .slider {
	
}
#mainArea.index .visual .slider .slide {
	
}
#mainArea.index .visual .slider .slide a {
	display: block;
	position: relative;
}
#mainArea.index .visual .slider .slide a .img {
	
}
#mainArea.index .visual .slider .slide a .img img {width: 100%;height: auto;object-fit: cover;}
#mainArea.index .visual .slider .slide a .info {position: absolute;left: 10%;top: 50%;transform: translate(0, -50%);color: #fff;text-shadow: 0 0 6px #000;}
#mainArea.index .visual .slider .slide a .info .title {font-size: 22px;}
#mainArea.index .visual .slider .slide a .info .place {font-size: 14px;font-weight: bold;margin-top: 56px;}
#mainArea.index .visual .slider .slide a .info .f_en {font-size: 12px;letter-spacing: 0.1em;margin-top: 12px;}

#mainArea.index .visual .slider .slick-dots {left: 0;display: flex;justify-content: center;position: relative;bottom: auto;margin: 20px 0 20px;gap: 17px;}
#mainArea.index .visual .slider .slick-dots li {width: auto;height: auto;margin: 0;}
#mainArea.index .visual .slider .slick-dots li button {padding: 5px;height: auto;width: auto;opacity: 1;}
#mainArea.index .visual .slider .slick-dots li button::before {display: block;width: 6px;height: 6px;background: #D0D0D0;position: relative;opacity: 1;text-indent: -9999px;overflow: hidden;border-radius: 10px;}
#mainArea.index .visual .slider .slick-dots li.slick-active button::before {background: #202020; }
#mainArea.index .visual .slider .slick-prev,
#mainArea.index .visual .slider .slick-next {
	top: auto;
	bottom: 0;
	left: 110px;
	right: auto;
	background: url(../images/icon_arrow2.png) no-repeat center center / 13px auto;
	text-indent: -9999px;
	overflow: hidden;
	transform: rotate(180deg);
	z-index: 100;
}
#mainArea.index .visual .slider .slick-next {left: 178px;transform: rotate(0deg);}

#mainArea.index .intro {
	margin-top: 110px;
}
#mainArea.index .intro .fbox {
	display: flex;
}
#mainArea.index .intro .fbox .img {
	width: calc(100% - 590px);
}
#mainArea.index .intro .fbox .img img {
	width: 100%;
	height: 646px;
	object-fit: cover;
}
#mainArea.index .intro .fbox .info {
	width: 590px;
	box-sizing: border-box;
	padding: 54px 0 0 100px;
}
#mainArea.index .intro .fbox .info h1 {
	font-size: 46px;
	line-height: 1.65em;
}
#mainArea.index .intro .fbox .info .text {
	font-size: 20px;
	margin-top: 40px;
}

#mainArea.index .event {
	background: #F0F0F0;
}
#mainArea.index .event > .inner {
	
}
#mainArea.index .event .hbox {border-color: #fff;}
#mainArea.index .event .fbox {
	display: flex;
	gap: 100px;
	margin-top: 90px;
}
#mainArea.index .event .fbox .box {
	width: calc((100% - 100px) / 2);
}
#mainArea.index .event .fbox .box a {
	display: flex;
	flex-direction: column;
	gap: 50px;
}
#mainArea.index .event .fbox .box + .box a {
	flex-direction: column-reverse;
}
#mainArea.index .event .fbox .box a > .img {
	position: relative;
	left: -100px;
}
#mainArea.index .event .fbox .box + .box a > .img {
	left: auto
}
#mainArea.index .event .fbox .box a > .img img {position: relative;width: calc(100% + 100px);max-width: none;right: 0;aspect-ratio: 630 / 360;object-fit: cover;}
#mainArea.index .event .fbox .box a .infobox {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
#mainArea.index .event .fbox .box + .box a .infobox {flex-direction: row;}
#mainArea.index .event .fbox .box a .infobox .img {
	width: 185px;
}
#mainArea.index .event .fbox .box a .infobox .info {
	width: calc(100% - 220px);
}
#mainArea.index .event .fbox .box a .infobox .info .title {
	font-size: 24px;
	font-weight: bold;
	line-height: 1em;
	position: relative;
	width: 154px;
}
#mainArea.index .event .fbox .box + .box a .infobox .info .title {width: 227px;}
#mainArea.index .event .fbox .box a .infobox .info .title::before {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	height: 20px;
	width: 20px;
	background: #000;
	border-radius: 4px;
	transform: translate(0, -50%);
}
#mainArea.index .event .fbox .box a .infobox .info .title::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translate(0, -50%);
	background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
}
#mainArea.index .event .fbox .box a .infobox .info .text {
	color: #707070;
	margin-top: 26px;
}
#mainArea.index .event .insec {margin-top: 100px;}
#mainArea.index .event .insec > .inner {
}
#mainArea.index .event .insec h3 {font-size: 18px;border-bottom: 2px solid #fff;margin-bottom: 40px;padding: 16px 0;}
#mainArea.index .event .insec .event_list {
}
#mainArea.index .event .insec .event_list .box {display: none;}
#mainArea.index .event .insec .event_list .box:nth-child(-n+3) {display: block;}
#mainArea.index .event .insec .bt_more {
	width: 105px;
	font-size: 12px;
	margin: 60px auto 0 auto;
}
#mainArea.index .event .insec .bt_more span {padding-left: 15px;}
#mainArea.index .solution {
	padding-bottom: 0;
}
#mainArea.index .solution > .inner {
	
}
#mainArea.index .solution .insec {
	margin-top: 60px;
}
#mainArea.index .solution .insec .label {
	font-size: 36px;
	display: flex;
	justify-content: center;
	gap: 50px;
	position: relative;
}
#mainArea.index .solution .insec .label span {
	display: block;
	position: relative;
}
#mainArea.index .solution .insec .label span + span {
	
}
#mainArea.index .solution .insec .label span + span::before {
	content: "";
	display: block;
	position: absolute;
	left: -39px;
	top: 50%;
	width: 26px;
	height: 1px;
	background: #202020;
}
#mainArea.index .solution .insec .fbox {
	display: flex;
	justify-content: space-between;
	margin-top: 69px;
	align-items: center;
}
#mainArea.index .solution .insec:nth-child(even) .fbox {flex-direction: row-reverse;}
#mainArea.index .solution .insec .fbox .img {
	width: 770px;
}
#mainArea.index .solution .insec .fbox .img img {
	
}
#mainArea.index .solution .insec .fbox .info {
	width: calc(100% - 840px);
}
#mainArea.index .solution .insec .fbox .info a {
	display: block;
}
#mainArea.index .solution .insec .fbox .info a h3 {
	font-size: 24px;
}
#mainArea.index .solution .insec .fbox .info a .text {
	color: #707070;
	margin-top: 25px;
}
#mainArea.index .solution .insec .fbox .info .bt_more {
	width: 139px;
	margin-top: 30px;
}
#mainArea.index .solution .insec .fbox .info .bt_more span {font-size: 12px;}

#mainArea.index .solution .insec.company {position: relative;padding: 90px 0;margin-top: 90px;}
#mainArea.index .solution .insec.company::before {
	content: "";
	display: block;
	background: #707070;
	position: absolute;
	left: 50%;
	top: 0;
	width: 100vw;
	height: 100%;
	transform: translate(-50%, 0);
}
#mainArea.index .solution .insec.company .fbox {
	position: relative;
	margin-top: 0;
}
#mainArea.index .solution .insec.company .fbox .img {width: 100%;}

#mainArea.index .solution .insec.company .fbox .info {
	width: calc(100% - 840px);
	position: absolute;
	right: 0;
	top: 50%;
	background: #707070;
	transform: translate(0, -50%);
	padding: 70px 0px 70px 65px;
	box-sizing: border-box;
	color: #fff;
	width: 400px;
}
#mainArea.index .solution .insec.company .fbox .info a {color: #fff;}
#mainArea.index .solution .insec.company .fbox .info a .text {
	color: #E0E0E0;
}
#mainArea.index .works {
	
}
#mainArea.index .works .fbox {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
	margin-top: 89px;
}
#mainArea.index .works .fbox .box {
	width: calc(50% - 15px);
}	
#mainArea.index .works .fbox .box a {
	display: block;
}
#mainArea.index .works .fbox .box a .img {
	
}
#mainArea.index .works .fbox .box a .info {
	margin-top: 23px;
}
#mainArea.index .works .fbox .box a .info .text {
	font-size: 18px;
}
#mainArea.index .works .fbox .box a .info .place {
	font-size: 14px;
	color: #707070;
	margin-top: 11px;
}

/** Inner **********************/
#mainArea.inner .inner_sec {
	padding: 90px 0;
}
#mainArea.inner .inner_sec > .inner {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea.inner .apply {
	padding: 90px 0;
}
#mainArea.inner .apply .text {color: #707070;width: 560px;margin: 0 auto;background: url(../images/img_fukidashi.png) no-repeat center bottom / 560px auto;padding-bottom: 34px;}
#mainArea.inner .apply .bt_more {
	width: 500px;
	margin: 40px auto 0 auto;
}
#mainArea.inner .apply .bt_more span {
	height: 60px;
	font-size: 20px;
	letter-spacing: 0.1em;
	font-weight: normal;
	padding-left: 46px;
}
#mainArea.inner .apply .bt_more span::before {
	width: 60px;
	height: 60px;
}
#mainArea.inner .apply .bt_more span::after {
	background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
	width: 30px;
	height: 30px;
	right: 15px;
}
#mainArea.inner .visual {
	padding-bottom: 80px;
} 
#mainArea.inner .visual .lead {
	text-align: center;
	font-size: 36px;
	margin-top: 72px;
}
#mainArea.inner .visual .text {
	text-align: center;
	color: #707070;
	margin-top: 27px;
}

/** API page **/
#mainArea.inner.api .bg {
	background: #F0F0F0;
	margin: 0 40px;
	padding: 60px;
}
#mainArea.inner.api .visual {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#mainArea.inner.api .visual h1 {font-size: 36px;line-height: 1.5em;font-weight: bold;}
#mainArea.inner.api .linkbox {display: flex;border: 2px solid #fff;border-radius: 100px;align-items: center;}
#mainArea.inner.api .linkbox a {font-size: 16px;font-weight: bold;height: 40px;display: flex;align-items: center;padding: 0 25px;}
#mainArea.inner.api .linkbox a::after {content: "";background: url(../images/icon_arrow.png) no-repeat center center / 8px;width: 8px;height: 8px;margin: 0 0 0 5px;}
#mainArea.inner.api .linkbox a span {
}
#mainArea.inner.api .linkbox .bt_back {border-left: 1px solid #fff;font-size: 12px;padding: 0 25px 0 23px;}
#mainArea.inner.api .linkbox_wrap {
	display: flex;
	justify-content: center;
	margin-top: 60px;
}
#mainArea.inner.api .linkbox_wrap .linkbox {
  border-color: #E0E0E0;
}
#mainArea.inner.api .linkbox_wrap .linkbox .bt_back {
  border-color: #E0E0E0;
}
#mainArea.inner.api .filter {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea.inner.api .filter .box + .box {
	margin-top: 20px;
}
#mainArea.inner.api .filter .box .title {
	font-size: 15px;
	color: #1D1D1D;
}
#mainArea.inner.api .filter .box > .inner {
	display: flex;
	margin-top: 10px;
}
#mainArea.inner.api .filter .box .selector {
	display: flex;
	gap: 5px;
	flex-wrap: wrap;
}
#mainArea.inner.api .filter .box button {
	display: block;
	background: #fff;
	border: none;
	padding: 10px 30px 10px 10px;
	line-height: 1em;
	font-weight: bold;
	position: relative;
	text-align: left;
}
#mainArea.inner.api .filter .box button.active {
	background: #202020;
	color: #fff;
}
#mainArea.inner.api .filter .box button[data-area=all],
#mainArea.inner.api .filter .box button[data-date=all] {width: 139px;}
#mainArea.inner.api .filter .box button::before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translate(0, -50%);
	border: 1px solid;
	border: #909090 1px solid;
	border-radius: 2px;
}
#mainArea.inner.api .filter .box button.active::before {border-color: #fff;}
#mainArea.inner.api .filter .box button[data-area=all]::before,
#mainArea.inner.api .filter .box button[data-date=all]::before,
#mainArea.inner.api .filter .box .type button::before {
	background: #fff;
	border-radius: 20px;
	width: 14px;
	height: 14px;
}
#mainArea.inner.api .filter .box button[data-area=all].active::before,
#mainArea.inner.api .filter .box button[data-date=all].active::before,
#mainArea.inner.api .filter .box .type button.active::before {
	border: none;
}
#mainArea.inner.api .filter .box button::after {
	content: "";
	display: block;
	width: 10px;
	height: 4px;
	position: absolute;
	right: 11px;
	top: 50%;
	transform: translate(0, calc(-50% - 2px)) rotate(135deg);
	border-top: 1px solid #909090;
	border-right: 1px solid #909090;
}
#mainArea.inner.api .filter .box button.active::after {border-color: #fff;}
#mainArea.inner.api .filter .box button[data-area=all]::after,
#mainArea.inner.api .filter .box button[data-date=all]::after ,
#mainArea.inner.api .filter .box .type button::after {
	border: none;
	width: 8px;
	height: 8px;
	background: #202020;
	border-radius: 10px;
	transform: translate(0, -50%);
	right: 13px;
	opacity: 0;
}
#mainArea.inner.api .filter .box button[data-area=all].active::after,
#mainArea.inner.api .filter .box button[data-date=all].active::after,
#mainArea.inner.api .filter .box .type button.active::after {
	opacity: 1;
}
#mainArea.inner.api .filter .box button span {
	
}
#mainArea.inner.api .filter .box button .place {display: block;position: absolute;left: 50%;bottom: calc(100% + 10px);font-size: 11px;font-weight: normal;background: #e0e0e0;line-height: 1.5em;padding: 14px;width: 220px;transform: translate(-50%, 0);display: none;color: #000;}
.pc_view #mainArea.inner.api .filter .box button:hover .place {
	display: block;
}

#mainArea.inner.api .filter .box button .place::after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  transform: translate(-50%, 0) scale(1, 1) rotate(45deg);
  background: #E0E0E0;
  position: absolute;
  left: 50%;
  bottom: -3px;
}
#mainArea.inner.api .filter .box .type {
	background: #E0E0E0;
	display: flex;
	align-items: center;
	padding: 0 5px;
	margin-left: 22px;
	position: relative;
}
#mainArea.inner.api .filter .box .type::before {
	content: "";
	display: block;
	width: 27px;
	height: 27px;
	transform: translate(0, -50%) scale(0.6, 1) rotate(45deg);
	background: #E0E0E0;
	position: absolute;
	left: -13px;
	top: 50%;
}
#mainArea.inner.api .filter .box .type button {background: no-repeat;}
#mainArea.inner.api .filter .box .type button.active {
	background: none;
	color: #202020
}
#mainArea.inner.api .filter .box .type button::before {
	border: none;
}
#mainArea.inner.api .navi {
	margin-bottom: 60px;
}
#mainArea.inner.api .navi.hide {
	display: none;
}
#mainArea.inner.api .navi.bottom {margin: 80px 0 0 0;}
#mainArea.inner.api .navi .total {
	display: flex;
	justify-content: center;
	border-bottom: 2px solid #fff;
}
#mainArea.inner.api .navi .total span {
	display: block;
	font-size: 20px;
	background: #fff;
	line-height: 1em;
	padding: 9px 0;
	width: 100px;
	text-align: center;
}
#mainArea.inner.api .navi .pagenation {
	margin-top: 18px;
	position: relative;
}
#mainArea.inner.api .navi .pagenation .num {
	display: flex;
	justify-content: center;
	gap: 3px;
}
#mainArea.inner.api .navi .pagenation .num button {
	display: block;
	background: no-repeat;
	border: none;
	font-size: 15px;
	color: #707070;
	padding: 5px;
}
#mainArea.inner.api .navi .pagenation .num button.active {
	color: #661106;
}
#mainArea.inner.api .navi .pagenation .arrow {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	font-size: 15px;
	gap: 30px;
}
#mainArea.inner.api .navi.bottom .pagenation {
	display: flex;
	justify-content: center;
	gap: 60px;
}
#mainArea.inner.api .navi.bottom .pagenation .arrow {position: relative;}
#mainArea.inner.api .navi .pagenation .arrow::before {
	content: "";
	display: block;
	width: 1px;
	height: 14px;
	top: 50%;
	transform: translate(0, -50%);
	position: absolute;
	left: 50%;
	background: #1D1D1D;
}
#mainArea.inner.api .navi .pagenation .arrow.none::before {
	opacity: 0.2;
}
#mainArea.inner.api .navi .pagenation .arrow button {
	display: block;
	background: none;
	border: none;
	padding: 5px;
}
#mainArea.inner.api .navi .pagenation .arrow button.disabled {
	opacity: 0.2
}
#mainArea.inner.api .bg .detail {
	max-width: 1160px;
	margin: 90px auto 0 auto;
	opacity: 0;
	transition: 0.6s ease all;
}
#mainArea.inner.api .bg .detail.show {
	opacity: 1;
}
#mainArea.inner.api .event_list .box{display:none;}
#mainArea.inner.api .event_list .box.show.active{ display:block; }
#mainArea.inner.api .event_list .box.show{ display:none; }
#mainArea.inner.api .nohit {
	margin: 0 0 100px 0;
}

#mainArea.inner.api .related {padding: 110px 0;margin-top: 40px;}
#mainArea.inner.api .related > .inner {
  max-width: 1160px;
  margin: 0 auto 0 auto;
}
#mainArea.inner.api .related h2 {font-size: 18px;border-bottom: 2px solid #E0E0E0;line-height: 1.5em;padding: 10px 0;}
#mainArea.inner.api .related .fbox {display: flex;flex-wrap: wrap;margin-top: 38px;justify-content: space-between;gap: 74px 54px;}
#mainArea.inner.api .related .fbox .box {width: calc(50% - 27px);}
#mainArea.inner.api .related .fbox .box a {display: block;}
#mainArea.inner.api .related .fbox .box a .img {
}
#mainArea.inner.api .related .fbox .box a .info {display: flex;justify-content: space-between;align-items: center;margin-top: 20px;}
#mainArea.inner.api .related .fbox .box a .info .title {font-size: 20px;display: flex;}
#mainArea.inner.api .related .fbox .box a .info .title span {display: block;margin-left: 30px;position: relative;}
#mainArea.inner.api .related .fbox .box a .info .title span::before {
	content: "";
	position: absolute;
	left: -24px;
	width: 17px;
	height: 1px;
	background: #202020;
	top: 50%;
}
#mainArea.inner.api .related .fbox .box a .info .bt_more {
  margin-left: auto;
}
#mainArea.inner.api .related .fbox .box a .info .bt_more span {font-size: 14px;padding-right: 58px;}

/** Step **/
#mainArea.inner.step .inner_sec {
	background: #F0F0F0;
}
#mainArea.inner.step .inner_sec .hbox .label {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	background: url(../step/images/icon_step1.png) no-repeat center top / 122.5px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 80px auto;
	padding: 102px 0 3px 0;
	letter-spacing: 0.03em;
}
#mainArea.inner.step .inner_sec.step2 {
	background: #fff;
}
#mainArea.inner.step .inner_sec.step2 .hbox .label {
	background: url(../step/images/icon_step2.png) no-repeat center top / 133px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 80px auto;
	padding-top: 138px;
}
#mainArea.inner.step .inner_sec.step3 .hbox .label {
	background: url(../step/images/icon_step3.png) no-repeat center top / 75px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 80px auto;
	padding-top: 141px;
}
#mainArea.inner.step .inner_sec .hbox {
	margin-bottom: 70px;
}
#mainArea.inner.step .inner_sec .hbox h2 {
	text-align: center;
	font-size: 34px;
	letter-spacing: 0.07em;
	font-weight: 300;
	margin-top: 18px;
}
#mainArea.inner.step .inner_sec .hbox .text {
	text-align: center;
	margin-top: 38px;
	line-height: 2em;
	font-size: 18px;
}
#mainArea.inner.step .inner_sec.step1 .fbox {
	display: flex;
	justify-content: space-between;
}
#mainArea.inner.step .inner_sec.step1 .fbox .box1 {
	width: calc(100% - 434px);
}
#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img {
}
#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img img {max-width: none;width: 830px;height: 759px;object-fit: cover;position: relative;left: -104px;}
#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img .caption {left: -90px;}
#mainArea.inner.step .inner_sec.step1 .fbox .box2 {
	width: 360px;
}
#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox + .inbox {
	margin-top: 46px;
}
#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox .text {
	color: #707070;
}
#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox .img {
	margin-top: 26px;
}
#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox + .inbox .img {
	width: 105.5%;
	margin: 12px 0 0 -10px;
}
#mainArea.inner.step .inner_sec.step2 .fbox {
	display: flex;
	justify-content: space-between;
}
#mainArea.inner.step .inner_sec.step2 .fbox .box {
	width: calc((100% - 60px) / 2);
}
#mainArea.inner.step .inner_sec.step2 .fbox .box .text {
  color: #707070;
  margin-bottom: 26px;
}
#mainArea.inner.step .inner_sec.step2 .fbox .box .note {font-size: 12px;color: #707070;margin-top: 28px;}

#mainArea.inner.step .inner_sec.step3 .fbox {
	width: 700px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	flex-direction: row-reverse;
	align-items: center;
}
#mainArea.inner.step .inner_sec.step3 .fbox .img {
	width: 368px;
}
#mainArea.inner.step .inner_sec.step3 .fbox .text {
  color: #707070;
  margin-bottom: 26px;
  width: calc(100% - 400px);
}

/** Land **/
#mainArea.inner.land .example {
	
}
#mainArea.inner.land .example > .inner {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea.inner.land .example .box {
	position: relative;
}
#mainArea.inner.land .example .box + .box {
	margin-top: 30px;
}
#mainArea.inner.land .example .box .img {
	border-radius: 10px;
	overflow: hidden;
}
#mainArea.inner.land .example .box > .title {
	position: absolute;
	left: 18.3%;
	top: 38.3%;
	background: url(../land/images/bg_example1_2.png) no-repeat center center / contain;
	width: 413px;
	height: 271px;
	box-sizing: border-box;
	font-size: 18px;
	line-height: 1.8em;
	color: #fff;
	padding: 34px 0 0 59px;
}
#mainArea.inner.land .example .box2 > .title {
	background-image: url(../land/images/bg_example2_2.png);
}
#mainArea.inner.land .example .box3 > .title {
	background-image: url(../land/images/bg_example3_2.png);
}
#mainArea.inner.land .example .box4 > .title {
	background-image: url(../land/images/bg_example4_2.png);
}
#mainArea.inner.land .example .box .info {
	position: absolute;
	left: 52.8%;
	top: 50%;
	transform: translate(0, -50%);
	width: 25.5%;
	text-align: center;
}
#mainArea.inner.land .example .box .info .label {color: #740000;font-weight: bold;}
#mainArea.inner.land .example .box .info .inbox {
	margin-top: 30px;
}
#mainArea.inner.land .example .box .info .inbox .title {
	color: #740000;
	font-size: 20px;
	border: 1px solid #740000;
}
#mainArea.inner.land .example .box .info .inbox .text {
	color: #707070;
	margin-top: 18px;
	font-size: 15px;
}
#mainArea.inner.land .way {
	padding: 90px 0;
}
#mainArea.inner.land .way > .inner {
	max-width: 1160px;
	margin: 0 auto;
} 
#mainArea.inner.land .way h2 {
	text-align: center;
	font-size: 36px;
} 
#mainArea.inner.land .way .lead {
	text-align: center;
	color: #707070;
	margin-top: 30px;
} 
#mainArea.inner.land .way .fbox {
	display: flex;
	justify-content: space-between;
	margin-top: 85px;
} 
#mainArea.inner.land .way .insec {
	width: 540px;
} 
#mainArea.inner.land .way .insec h3 {
	text-align: center;
	background: #F8F8F8;
	padding: 15px 10px;
	box-shadow: 0 3px 6px #ccc;
	font-size: 20px;
	color: #740000;
	margin-bottom: 35px;
} 
#mainArea.inner.land .way .insec .text {
	color: #707070;
} 
#mainArea.inner.land .way .insec .text sup {display: inline-block;top: 5px;font-size: 60%;margin: 0 2px;}
#mainArea.inner.land .way .insec .note {
	color: #707070;
	font-size: 12px;
	line-height: 1.7em;
	margin-top: 18px;
} 
#mainArea.inner.land .way .insec .img {
	margin: 20px 0px;
} 
#mainArea.inner.land .way .insec2 .img {
	margin: 20px 40px 0 40px;
} 
#mainArea.inner.land .way2 {padding-top: 0;}
#mainArea.inner.land .way2 .fbox {justify-content: center;}
#mainArea.inner.land .bg {
	background: #707070;
	padding: 100px 0 80px 0;
} 
#mainArea.inner.land .bg .insec {width: 830px;margin: 0 auto;color: #fff;} 
#mainArea.inner.land .bg .insec h2 {text-align: center;font-size: 20px;} 
#mainArea.inner.land .bg .insec.support {position: relative;}
#mainArea.inner.land .bg .insec.support > .img {margin-top: 90px;}
#mainArea.inner.land .bg .insec.support .info {position: absolute;bottom: 74px;height: 490px;width: 405px;background: #707070;right: -170px;box-sizing: border-box;padding: 66px 0 0 65px;}
#mainArea.inner.land .bg .insec.support .info .title {font-size: 20px;width: 110%;}
#mainArea.inner.land .bg .insec.support .info .text {color: #E0E0E0;margin-top: 24px;}
#mainArea.inner.land .bg .insec.support .info .img {margin-top: 43px;}
#mainArea.inner.land .bg .insec.contact {
	margin-top: 90px;
	background: none;
	padding: 0;
}
#mainArea.inner.land .bg .insec.contact ul {
	background: url(../land/images/img_contact.jpg) no-repeat center center / cover;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: center;
	gap: 32px;
	padding: 121px 0;
	margin-top: 45px;
}
#mainArea.inner.land .bg .insec.contact ul li {
	width: 42%;
	text-align: center;
	border: 1px solid #fff;
	padding: 27px 0;
}
#mainArea.inner.land .bg .insec.contact .bt_more {
	width: 350px;
	margin: -30px auto 0 auto;
}
#mainArea.inner.land .bg .insec.contact .bt_more span {
	height: 60px;
	font-size: 20px;
	padding-left: 50px;
	letter-spacing: 0.1em;
	font-weight: normal;
}
#mainArea.inner.land .bg .insec.contact .bt_more span::before {
	width: 60px;
	height: 60px;
}
#mainArea.inner.land .bg .insec.contact .bt_more span::after {
	background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
	width: 30px;
	height: 30px;
	right: 15px;
}
#mainArea.inner.land .bg .insec.contact .note {
	text-align: center;
	margin-top: 30px;
	font-size: 14px;
	color: #E3E3E3;
}

/** Income **/
#mainArea.inner.income .inner_sec {
	padding: 0;
}
#mainArea.inner.income .inner_sec + .inner_sec {margin-top: 100px;}
#mainArea.inner.income .inner_sec h2 {
	text-align: center;
	font-size: 20px;
	line-height: 2em;
}
#mainArea.inner.income .inner_sec .lead {
	text-align: center;
	width: 580px;
	margin: 30px auto 0 auto;
	color: #707070;
}
#mainArea.inner.income .inner_sec.proposal .fbox {display: flex;flex-wrap: wrap;margin-top: 50px;}
#mainArea.inner.income .inner_sec.proposal .fbox .img {width: 100%;margin-bottom: 25px;}
#mainArea.inner.income .inner_sec.proposal .fbox .info {width: 50%;text-align: center;}
#mainArea.inner.income .inner_sec.proposal .fbox .info .title {font-size: 20px;}
#mainArea.inner.income .inner_sec.proposal .fbox .info .text {font-size: 15px;color: #707070;margin-top: 7px;}
#mainArea.inner.income .inner_sec.analysis .img {width: 513px;margin: 55px auto 0 auto;}
#mainArea.inner.income .inner_sec.analysis .text {text-align: center;color: #707070;margin-top: 40px;}
#mainArea.inner.income .inner_sec.analysis .img2 {margin-top: 37px;}
#mainArea.inner.income .inner_sec.good {
	
}
#mainArea.inner.income .inner_sec.good .fbox {
	display: flex;
	justify-content: space-between;
	margin-top: 90px;
}
#mainArea.inner.income .inner_sec.good .fbox .img {width: calc(100% - 485px);}
#mainArea.inner.income .inner_sec.good .fbox .img img {
	max-width: none;
	width: 775px;
	position: relative;
	left: -100px;
}
#mainArea.inner.income .inner_sec.good .fbox .info {
	width: 380px;
	padding-top: 50px;
}
#mainArea.inner.income .inner_sec.good .fbox .info .text {color: #707070;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p {margin-top: 70px;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p .title {font-weight: bold;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl {display: flex;flex-wrap: wrap;font-size: 18px;gap: 20px 0;color: #707070;margin-top: 31px;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dt {width: 190px;position: relative;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dt::after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	width: 35px;
	height: 1px;
	background: #707070;
}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dd {width: calc(100% - 190px);letter-spacing: 0.1em;}
#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dd span {color: #740000;}
#mainArea.inner.income .bg {
	background: #E3E3E3;
	padding: 100px 0;
	margin-bottom: 2px;
	margin-top: 90px;
}
#mainArea.inner.income .bg .bt_more {
	width: 500px;
	margin: 0px auto 0 auto;
}
#mainArea.inner.income .bg .bt_more span {
	height: 60px;
	font-size: 20px;
	padding-left: 74px;
	font-weight: normal;
}
#mainArea.inner.income .bg .bt_more span::before {
	width: 60px;
	height: 60px;
}
#mainArea.inner.income .bg .bt_more span::after {
	background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
	width: 30px;
	height: 30px;
	right: 15px;
}
/** Company **/
#mainArea.inner.company .visual {background: #606060;color: #fff;}
#mainArea.inner.company .visual .text {color: #fff;}
#mainArea.inner.company .list1 {
	padding: 0;
	background: #606060;
	padding-bottom: 90px;
}
#mainArea.inner.company .list1 > .inner {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 74px 60px;
}
#mainArea.inner.company .list1 .box {width: calc((100% - 60px) / 2);}
#mainArea.inner.company .list1 .box .img {border-radius: 8px;overflow: hidden;}
#mainArea.inner.company .list1 .box .info {color: #fff;text-align: center;margin-top: 31px;}
#mainArea.inner.company .list1 .box .info .title {font-size: 20px;}
#mainArea.inner.company .list1 .box .info .text {width: 400px;margin: 6px auto 0 auto;font-size: 15px;color: #E0E0E0;}
#mainArea.inner.company .list2 {
	padding: 0;
	background: #6f6f6f;
	padding: 90px 0 20px 0;
}
#mainArea.inner.company .list2 > .inner {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea.inner.company .list2 h2 {font-size: 20px;text-align: center;color: #fff;}
#mainArea.inner.company .list2 ul {display: flex;gap: 30px;margin-top: 60px;}
#mainArea.inner.company .list2 ul li {
}
#mainArea.inner.company .list2 ul li .img {
}
#mainArea.inner.company .list2 ul li .title {text-align: center;color: #fff;margin-top: 13px;color: #E0E0E0;font-size: 14px;}
#mainArea.inner.company .pickup {
	padding: 0;
	background: #6f6f6f;
	padding: 90px 0;
}
#mainArea.inner.company .pickup > .inner {
	max-width: 1160px;
	margin: 0 auto;
	background: #E0E0E0;
	box-sizing: border-box;
	padding: 80px 60px;
}
#mainArea.inner.company .pickup h2 {
	text-align: center;
	font-size: 20px;
	display: flex;
	justify-content: center;
} 
#mainArea.inner.company .pickup h2 > span {
  border-bottom: 1px solid;
  padding: 10px 0;
} 
#mainArea.inner.company .pickup h2 > span span {
  font-size: 16px;
  font-weight: bold;
  display: inline-block;
  margin: 0 21px 0 0;
} 
#mainArea.inner.company .pickup .lead {
	text-align: center;
	font-size: 20px;
	margin-top: 55px;
} 
#mainArea.inner.company .pickup .lead + .img {
	width: 340px;
	margin: 16px auto 0 auto;
} 
#mainArea.inner.company .pickup .fbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 90px;
} 
#mainArea.inner.company .pickup .fbox .text {
	color: #707070;
	width: calc(100% - 620px);
} 
#mainArea.inner.company .pickup .fbox .img {
	width: 574px;
	display: flex;
	justify-content: space-between;
} 
#mainArea.inner.company .pickup .fbox .img img {
	width: calc(50% - 7px);
} 
#mainArea.inner.company .pickup .video {
	margin-top: 80px;
} 
#mainArea.inner.company .pickup .video .title {
	font-size: 20px;
	text-align: center;
} 
#mainArea.inner.company .pickup .video .inner {
	width: 600px;
	position: relative;
	aspect-ratio: 16/9;
	margin: 40px auto 0 auto;
}
#mainArea.inner.company .apply .bt_more {
	width: 370px;
}
#mainArea.inner.company .apply .bt_more span {
	letter-spacing: 0.05em;
	padding-left: 32px;
}
/** work **/
#mainArea.inner.work .visual {
	
}
#mainArea.inner.work .visual .work_title {
	font-size: 14px;
	padding: 18px 50px;
}
#mainArea.inner.work .visual .img {
	
}
#mainArea.inner.work .visual .img img {
	width: 100%;
}
#mainArea.inner.work .visual .label {
	width: 770px;
	box-sizing: border-box;
	margin: 70px auto 0 auto;
	font-size: 38px;
	font-weight: 300;
	letter-spacing: 0.1em;
	padding: 0 84px;
}
#mainArea.inner.work .visual h1 {
	font-size: 28px;
	width: 770px;
	margin: 18px auto 0 auto;
	line-height: 1.7em;
	padding: 0 84px;
}
#mainArea.inner.work .insec {
	padding: 66px 84px;
	width: 770px;
	margin: 0 auto 0 auto;
}
#mainArea.inner.work .insec.bg {
	background: #F0F0F0;
}
#mainArea.inner.work .insec h2 {
	display: flex;
}
#mainArea.inner.work .insec h2 span {
	display: block;
	border-bottom: 2px solid #000;
	line-height: 1.8em;
}
#mainArea.inner.work .insec.bg h2 span {
	border-bottom: 2px solid #740000;
	color: #740000;
}
#mainArea.inner.work .insec .text {
	text-align: left;
	font-size: 16px;
	margin-top: 30px;
}
#mainArea.inner.work .visual .insec .spec {
	margin-top: 28px;
}
#mainArea.inner.work .visual .insec .spec h3 {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.8em;
	letter-spacing: 0.05em;
}
#mainArea.inner.work .visual .insec .spec dl {
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	line-height: 1.5em;
	color: #707070;
	margin-top: 8px;
}
#mainArea.inner.work .visual .insec .spec dl dt {
	width: 68px;
	position: relative;
}
#mainArea.inner.work .visual .insec .spec dl dt::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 4px;
	height: calc(100% - 8px);
	background: #707070;
	width: 1px;
}
#mainArea.inner.work .visual .insec .spec dl dd {
	width: calc(50% - 68px - 15px);
}
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(1) { order: 1; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(1) + dd { order: 2; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(3) { order: 7; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(3) + dd { order: 8; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(5) { order: 3; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(5) + dd { order: 4; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(7) { order: 9; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(7) + dd { order: 10; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(9) { order: 5; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(9) + dd { order: 6; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(11) { order: 11; }
#mainArea.inner.work .visual .insec .spec dl dt:nth-child(11) + dd { order: 12; }

#mainArea.inner.work .pbNestedWrapper > .detail {
	
}
#mainArea.inner.work .pbNestedWrapper > .detail > .inner {
	max-width: 1160px;
	margin: 0 auto;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box:nth-child(1) {
	margin-top: 0;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box {
	margin: 45px 0;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box .img {
	
}
#mainArea.inner.work .pbNestedWrapper > .detail .box .info {
	margin-top: 36px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box .info .title {
	font-size: 20px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box .info .text {
	font-size: 16px;
	color: #707070;
	width: 525px;
	margin-top: 10px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box.tr {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .img {
	width: calc(50% + 100px);
}
#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .info {
	width: calc(50% - 150px);
	margin: 0;
}
#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .info .text {
	width: auto;
}
#mainArea.inner.work .pbNestedWrapper > .detail .insec.result {
	margin-top: 80px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .bt_more {
	width: 470px;
	margin: 75px auto 0 auto;
}
#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span {
	height: 60px;
	font-size: 20px;
	letter-spacing: 0.1em;
	font-weight: normal;
	padding-left: 46px;
	letter-spacing: 0.05em;
	padding-left: 41px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span::before {
	width: 60px;
	height: 60px;
}
#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span::after {
	background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
	width: 30px;
	height: 30px;
	right: 15px;
}
#mainArea.inner.work .other {
	background: #505050;
	margin-top: 85px;
	padding: 90px 0;
}
#mainArea.inner.work .other h2 {
	color: #fff;
	text-align: center;
	font-size: 20px;
}
#mainArea.inner.work .other .fbox {
	display: flex;
	justify-content: center;
	gap: 33px;
	margin-top: 90px;
}
#mainArea.inner.work .other .fbox .box {
	width: 264px;
}
#mainArea.inner.work .other .fbox .box.current {
	opacity: 0.5;
}
#mainArea.inner.work .other .fbox .box a {
	display: block;
	color: #fff;
}
#mainArea.inner.work .other .fbox .box a .img {
	
}
#mainArea.inner.work .other .fbox .box a .text {
	font-size: 14px;
	color: #E0E0E0;
	margin-top: 16px;
}
#mainArea.inner.work .other .bt_more {width: 163px;margin: 80px auto 0 auto;}
#mainArea.inner.work .other .bt_more span {font-size: 12px;font-weight: normal;padding-left: 13px;}


/**************************************************************/
/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
	#mainArea a:hover {
		opacity: 1;
	}
	.b-o-footer_content {
		padding-bottom: 1px;
	}
	#mainArea .non_pc { display: block !important; }
	#mainArea .non_sp { display: none !important; }
	
	/** Common **********************/
	#mainArea .img .caption {
		position: absolute;
		left: 8px;
		bottom: 8px;
		color: #fff;
		font-size: 10px;
		text-shadow: 0 0 3px #000;
		line-height: 1em;
	}
	#mainArea .img .caption.r {
		left: auto;
		right: 8px;
	}
	#mainArea .site_header {
		position: relative;
		background: #fff;
		z-index: 1;
	}
	#mainArea .site_header > .inner {
		display: block;
		align-items: center;
		padding: 12px 5% 0 5%;
		box-sizing: border-box;
		height: 100px;
	}
	#mainArea .site_header .title {
		font-size: 14px;
		margin-left: 0;
	}
	#mainArea .site_header .btbox {
		display: flex;
		margin: 8px 0 0 0;
	}
	#mainArea .site_header .btbox a {
		font-size: 12px;
		background: #1D1D1D;
		color: #fff;
		height: 38px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0;
		border-radius: 4px;
		letter-spacing: 0.05em;
		box-sizing: border-box;
		width: calc(70% - 5px);
	}
	#mainArea .site_header .btbox .bt_request {
		margin-left: 10px;
		background: #E0E0E0;
		color: #1D1D1D;
		border-radius: 0;
		width: calc(30% - 5px);
	}
	#mainArea .site_header.nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9;
		transform: none;
	}
	#mainArea .site_header.nav > .inner {height: 66px;display: flex;padding-top: 0;}
	#mainArea .site_header.nav > .inner .btbox {
	margin-top: 0;
	width: calc(100% - 48px);
	}
	#mainArea .site_header .btbox .bt_contact::after {
		width: 6px;
		height: 6px;
	}
	#mainArea .site_header.nav .bt_menu {
	display: block;
	width: 30px;
	height: 40px;
	font-size: 12px;
	text-align: center;
	box-sizing: border-box;
	z-index: 1000;
	overflow: hidden;
	position: relative;
	margin-left: auto;
	border: none;
	border-radius: 4px;
	background: no-repeat;
	}

	#mainArea .site_header.nav .bt_menu::before, #mainArea .site_header.nav .bt_menu::after, #mainArea .site_header.nav .bt_menu span::before {
	display: block;
	position: absolute;
	content: "";
	width: 16px;
	height: 2px;
	background: #1d1d1d;
	top: 50%;
	left: 8px;
	transition: all 0.3s ease;
	margin-top: 5px;
	}

	#mainArea .site_header.nav .bt_menu::after {
	margin-top: -7px;
	}
	#mainArea .site_header.nav .bt_menu span::before {
	margin-top: -1px;
	}  
	#mainArea .site_header.nav .bt_menu span {
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	height: 100%;
	}

	#mainArea .site_header.nav .bt_menu.open::before {
	margin-top: -1px;
	transform: rotate(-135deg);
	}
	#mainArea .site_header.nav .bt_menu.open::after {
	margin-top: -1px;
	transform: rotate(135deg);
	}
	#mainArea .site_header.nav .bt_menu.open span::before {
	opacity: 0;
	}  
	
	#mainArea .site_header.nav ul {
		display: none;
		position: absolute;
		top: 66px;
		background: #fff;
		right: 0;
		width: 200px;
		box-sizing: border-box;
		padding: 17px 0 30px 7%;
	}
	#mainArea .site_header.nav ul li {}
	#mainArea .site_header.nav ul li a {
		font-size: 15px;
		display: block;
		padding: 15px 0px;
	}


	#mainArea .breadlist {
		background: #F0F0F0;
		border-top: 1px solid #D0D0D0;
	}
	#mainArea .breadlist > .inner {
		padding: 20px 0;
		width: 1156px;
		margin: 0 auto;
		font-size: 13px;
		text-align: center;
	}
	#mainArea .breadlist a,
	#mainArea .breadlist span {
		display: inline-block;
		letter-spacing: 0;
	}
	#mainArea .breadlist span {
		color: #707070;
	}
	#mainArea .bt_more {display: block;background: #202020;border-radius: 6px;}
	#mainArea .bt_more > span {
		display: flex;
		padding: 0 0 0 20px;
		color: #fff;
		font-weight: bold;
		position: relative;
		height: 40px;
		align-items: center;
	}
	#mainArea .bt_more > span::before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		height: 40px;
		width: 40px;
		border-left: 1px solid #707070;
	}
	#mainArea .bt_more > span::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translate(0, -50%);
		background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
	}

	/** Sec, Contact **********************/
	#mainArea .sec {
		padding: 60px 0;
	}
	#mainArea .sec > .inner {
		max-width: 90%;
		margin: 0 auto;
	}
	#mainArea .sec .hbox {
		border-bottom: 1px solid #ccc;
		padding-bottom: 40px;
		margin-bottom: 0;
	}
	#mainArea .sec .hbox h2 {
		text-align: center;
		font-size: 30px;
		letter-spacing: 0.07em;
		font-weight: 300;
	}
	#mainArea .sec .hbox .lead {
		text-align: center;
		margin-top: 16px;
		font-size: 15px;
	}
	#mainArea .sec .hbox .text {
		font-size: 13px;
		color: #707070;
		text-align: center;
		margin-top: 8px;
	}
	#mainArea .contact {
		background: #F0F0F0;
		padding-bottom: 60px;
	}
	#mainArea .contact .mapbox {
		position: relative;
		padding: 70px 0 70px 0;
		border-bottom: 1px solid #ccc;
		width: 355px;
		left: 50%;
		transform: translate(-50%, 0);
		margin-bottom: 44px;
	}
	#mainArea .contact .mapbox.active {
		padding-bottom: 350px;
	}
	#mainArea .contact .mapbox .map {max-width: 480px;position: relative;margin: 0 auto;}
	#mainArea .contact .mapbox .map img {position: absolute;left: 0;top: 0;width: 100%;display: none;}
	#mainArea .contact .mapbox .map img.map0 {position: relative;left: auto;top: auto;display: block;}
	#mainArea .contact .mapbox .info {
	  position: absolute;
	  width: 100%;
	  margin: 0 auto;
	  z-index: 1;
	  height: 197px;
	  left: 50%;
	  transform: translate(-50%, 0);
	}
	#mainArea .contact .mapbox .text {
		font-size: 17px;
		line-height: 1.7em;
	}
	#mainArea .contact .mapbox .text br {
		display: none;
	}
	#mainArea .contact .mapbox .btbox {position: relative;}
	#mainArea .contact .mapbox .btbox button {padding: 0;border: none;background: #fff;text-align: left;box-sizing: border-box;position: absolute;border-radius: 1000px;border: 1px solid #000;display: block;font-size: 13px;font-weight: bold;cursor: pointer;padding: 7px 10px 7px 0;text-align: center;}
	#mainArea .contact .mapbox .btbox button::before {
		content: "";
		display: block;
		padding: initial;
		width: 1px;
		height: 84px;
		background: #000;
		position: absolute;
		top: 100%;
		left: 127px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(1) {
	  top: 26px;
	  left: 142px;
	  width: 169px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(1)::before {
		top: 100%;
	}
	
	#mainArea .contact .mapbox .btbox button:nth-child(2) {
	  left: -2px;
	  top: 125px;
	  width: 180px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(2)::before {top: 50%;left: auto;right: -1px;height: 49px;}
	#mainArea .contact .mapbox .btbox button:nth-child(3) {
	  right: 0;
	  top: -24px;
	  width: 180px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(3)::before {
		top: 100%;
		height: 144px;
		left: 145px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(4) {
	  right: 0;
	  top: 201px;
	  width: 180px;
	}
	#mainArea .contact .mapbox .btbox button:nth-child(4)::before {top: auto;bottom: 100%;height: 47px;left: 105px;}

	#mainArea .contact .mapbox .btbox button::after {
	  content: "";
	  display: block;
	  width: 7px;
	  height: 7px;
	  border-top: 1px solid #000;
	  border-right: 1px solid #000;
	  transform: translate(-50%, -50%) rotate(45deg);
	  position: absolute;
	  right: 8px;
	  top: 50%;
	}
	#mainArea .contact .mapbox .btbox button.active {
		background: #000;
		color: #fff;
	}
	#mainArea .contact .mapbox .btbox button.active::after {border-color: #fff;}
	#mainArea .contact .mapbox .detailbox {
		position: relative;
	}
	#mainArea .contact .mapbox .detailbox .detail {
		position: absolute;
		width: 330px;
		box-sizing: border-box;
		background: #fff;
		border-radius: 4px;
		padding: 15px 20px 20px 20px;
		display: none;
		left: 50% !important;
		top: 260px !important;
		transform: translate(-50%, 0);
	}
	#mainArea .contact .mapbox .detailbox .detail .title {
		font-size: 16px;
		font-weight: bold;
	}
	#mainArea .contact .mapbox .detailbox .detail .title + p {
		font-size: 13px;
		line-height: 1.6em;
		margin: 2px 0 13px 0;
	}
	#mainArea .contact .mapbox .detailbox .detail .fbox {
		display: flex;
		gap: 10px;
		margin: 9px 0 10px 0;
	}
	#mainArea .contact .mapbox .detailbox .detail .fbox a {
		width: 50%;
		font-size: 14px;
	}
	#mainArea .contact .mapbox .detailbox .detail .fbox .bt_map span {
		padding-left: 35px;
	}
	#mainArea .contact .mapbox .detailbox .detail .fbox .bt_contact span {
		padding-left: 8px;
	}
	#mainArea .contact .mapbox .detailbox .detail .fbox .bt_contact span::after {width: 30px;height: 30px;background: url(../images/icon_mail_w.png) no-repeat center center / 30px;right: 5px;}
	#mainArea .contact .mapbox .detailbox .detail .bt_tel {
		background: #F0F0F0;
	}
	#mainArea .contact .mapbox .detailbox .detail .bt_tel span {font-size: 20px;font-weight: normal;padding-left: 36px;color: #000;}
	#mainArea .contact .mapbox .detailbox .detail .bt_tel span::before {
		border-left-color: #E0E0E0;
	}
	#mainArea .contact .mapbox .detailbox .detail .bt_tel span::after {width: 30px;height: 30px;background: url(../images/icon_tel.png) no-repeat center center / 30px;right: 5px;}

	#mainArea .contact .list {
		display: flex;
		flex-wrap: wrap;
		gap: 60px;
		margin-top: 0;
		flex-direction: column;
	}
	#mainArea .contact .list .box {
		width: auto;
	}
	#mainArea .contact .list .box .city {
		min-height: 0;
	}
	#mainArea .contact .list .box .city .label {
		font-weight: bold;
	}
	#mainArea .contact .list .box .city .text {
		font-size: 14px;
		margin-top: 10px;
	}
	#mainArea .contact .list .box > .bt_more {margin-top: 15px;}
	#mainArea .contact .list .box .address {color: #707070;margin-top: 17px;min-height: 0;}
	#mainArea .contact .list .box .address .label {border-bottom: 1px solid #D0D0D0;padding-bottom: 7px;font-size: 14px;}
	#mainArea .contact .list .box .address .text {margin-top: 9px;font-size: 14px;}
	#mainArea .contact .list .box .btbox {margin-top: 16px;}
	#mainArea .contact .list .box .btbox a {background: #707070;}
	#mainArea .contact .list .box .btbox a > span {height: 60px;}
	#mainArea .contact .list .box .btbox a > span::before {width: 60px;height: 60px;border-color: #909090;}
	#mainArea .contact .list .box .btbox a > span::after {background: url(../images/icon_mail_w.png) no-repeat center center / 30px;width: 30px;height: 30px;right: 15px;}
	#mainArea .contact .list .box .btbox .bt_tel {background: #fff;margin-top: 10px;}
	#mainArea .contact .list .box .btbox .bt_tel > span {
		color: #1D1D1D;
		font-size: 14px;
		font-weight: normal;
	}
	#mainArea .contact .list .box .btbox .bt_tel > span::before {border-color: #E0E0E0;}
	#mainArea .contact .list .box .btbox .bt_tel > span::after {background-image: url(../images/icon_tel.png);}
	#mainArea .contact .list .box .btbox .bt_tel > span span {font-size: 20px;font-weight: 400;letter-spacing: 0.05em;margin-right: 5px;display: inline-block;}

	#mainArea .event_list {display: flex;flex-wrap: wrap;gap: 50px 35px;}
	#mainArea .event_list .box {width: 100%;position: relative;}
	#mainArea .event_list .box > a {
		display: block;
	}
	#mainArea .event_list .box .img {
	}
	#mainArea .event_list .box .img img {object-fit: contain;width: 100%;aspect-ratio: 360 / 248;background: #fff;height: 226px;}
	#mainArea .event_list .box .category {display: flex;gap: 10px;margin-top: 20px;}
	#mainArea .event_list .box .category span {font-size: 12px;display: block;border: 1px solid #fff;border-radius: 3px;line-height: 1em;padding: 7px;}
	#mainArea .event_list .box .title {font-size: 18px;font-weight: bold;line-height: 1.8em;margin-top: 14px;}
	#mainArea .event_list .box .title br {display: none;}
	#mainArea .event_list .box .date {font-size: 14px;color: #707070;line-height: 1.6em;margin-top: 6px;}
	#mainArea .event_list .box .venue {font-size: 14px;color: #707070;line-height: 1.6em;}
	#mainArea .event_list .box .bt_reservation {
		display: block;
		position: absolute;
		right: 0;
		top: 239px;
	}
	#mainArea .event_list .box .bt_reservation a {
		display: block;
		background: #1D1D1D;
		position: relative;
		overflow: hidden;
		border-radius: 6px;
		width: 48px;
		height: 42px;
		transition: all ease 0.3s;
	}
	#mainArea .event_list .box .bt_reservation a {
		width: 160px;
		opacity: 1;
	}
	#mainArea .event_list .box .bt_reservation a::after {
		content: "";
		display: block;
		width: 48px;
		height: 42px;
		position: absolute;
		right: 0;
		top: 0;
		background: url(../images/icon_check.png) no-repeat center center / 35px;
	}
	#mainArea .event_list .box .bt_reservation a span {
		display: block;
		color: #fff;
		font-size: 12px;
		font-weight: bold;
		line-height: 42px;
		margin: 0 30px 0 15px;
		height: 42px;
		overflow: hidden;
		transition: all ease 0.3s;
		opacity: 0;
	}
	#mainArea .event_list .box .bt_reservation a span {
		opacity: 1;
	}

	.remodal-overlay {
		background: #00000094;
		z-index: 1000000;
	}
	.remodal-wrapper {
		z-index: 1000001;
		padding: 10px;
	}
	.remodal {
		font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
		padding: 0;
		width: 100%;
		max-width: none;
		position: relative;
		background: no-repeat;
		max-width: 1160px;
		min-width: 0;
		padding: 40px 15px 100px 15px;
		box-sizing: border-box;
		background: #D0D0D0;
		margin: 0 auto;
	}
	.remodal > .inner {
	}
	.remodal > .inner .map {width: 90%;position: relative;transform: none;left: auto;top: auto;margin: 0 auto;}
	.remodal > .inner .map img {position: absolute;left: 0;top: 0;width: 100%;}
	.remodal > .inner .map img.map0 {position: relative;left: auto;top: auto;}
	.remodal > .inner .info {width: 100%;margin-top: 26px;}
	.remodal > .inner {
	flex-direction: column-reverse;
	display: flex;
	}
	.remodal > .inner .btbox button:nth-child(1) {
	  top: auto;
	  left: auto;
	}
	.remodal > .inner .btbox button:nth-child(2) {
	  left: auto;
	  top: auto;
	}
	.remodal > .inner .btbox button:nth-child(3) {
	  right: auto;
	  top: auto;
	}
	.remodal > .inner .btbox button:nth-child(4) {
	  right: auto;
	  top: auto;
	}
	.remodal > .inner .text {
		font-size: 14px;
		/* text-align: left; */
	}
	.remodal > .inner .text br {
		display: block;
	}
	.remodal > .inner .btbox {display: flex;flex-wrap: wrap;gap: 10px;margin-top: 30px;height: auto;}
	.remodal > .inner .btbox button {/* display: flex; */padding: 0;border: none;background: #fff;width: 100%;height: auto;justify-content: start;text-align: left;box-sizing: border-box;padding: 15px 16px 14px 40px;position: relative;}
	
	.remodal > .inner .btbox button::before {
		content: "";
		display: block;
		position: absolute;
		left: 13px;
		top: 27px;
		transform: translate(0, -50%);
		border: #909090 1px solid;
		background: #fff;
		border-radius: 20px;
		width: 15px;
		height: 15px;
	}
	.remodal > .inner .btbox button::after {
		content: "";
		display: block;
		position: absolute;
		top: 27px;
		left: 17px;
		border-top: 1px solid #909090;
		border-right: 1px solid #909090;
		border: none;
		width: 7px;
		height: 8px;
		background: #F0F0F0;
		border-radius: 10px;
		transform: translate(0, -50%);
	}
	.remodal > .inner .btbox button.active {
		background: #909090;
		color: #fff;
	}
	.remodal > .inner .btbox button.active::after {
		background: #000;
	}
	.remodal > .inner .btbox button p {
		font-size: 13px;
		font-weight: bold;
		line-height: 1.6em;
		font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	}
	.remodal > .inner .btbox button p.title {font-size: 15px;margin-bottom: 3px;}

	.remodal > .inner .bt_more {display: block;background: #202020;border-radius: 6px;width: 240px;margin: 24px auto 0 auto;font-size: 15px;}
	.remodal > .inner .bt_more > span {
		display: flex;
		padding: 0 0 0 20px;
		color: #fff;
		font-weight: bold;
		position: relative;
		height: 40px;
		align-items: center;
	}
	.remodal > .inner .bt_more > span::before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		height: 40px;
		width: 40px;
		border-left: 1px solid #707070;
	}
	.remodal > .inner .bt_more > span::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translate(0, -50%);
		background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
	}
	.remodal > .inner .list {display: flex;flex-wrap: wrap;gap: 10px;height: auto;}
	.remodal.area_modal > .inner .list .box {border: none;background: #fff;width: 100%;height: auto;text-align: left;box-sizing: border-box;padding: 14px 16px 14px 16px;position: relative;}
	.remodal.area_modal > .inner .list .box p {
		font-size: 11px;
		line-height: 1.6em;
		font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	}
	.remodal.area_modal > .inner .list .box p.title {
	font-weight: bold;
	font-size: 13px;
	}
	
	.remodal-close {
		right: auto;
		bottom: 30px;
		left: 50%;
		top: auto;
		width: 96px;
		height: 38px;
		border-radius: 3px;
		border: 2px solid #000;
		transform: translate(-50%, 0);
	}
	.remodal-close span {font-size: 13px;color: #1D1D1D;font-weight: bold;padding-left: 15px;display: block;text-align: left;}
	.remodal-close::before {
		display: none;	
	}
	
	.remodal-close::before,
	.remodal-close::after {
		display: block;
		position: absolute;
		content: "";
		width: 18px;
		height: 1px;
		background: #000;
		right: 12px;
		top: 50%;
		transform: rotate(-45deg);
		left: auto;
	}
	.remodal-close::after {
		transform: rotate(45deg);
	}

	/** Index **********************/
	#mainArea.index .visual {

	}
	#mainArea.index .visual .slider {

	}
	#mainArea.index .visual .slider .slide {

	}
	#mainArea.index .visual .slider .slide a {
		display: block;
		position: relative;
	}
	#mainArea.index .visual .slider .slide a .img {

	}
	#mainArea.index .visual .slider .slide a .img img {width: 100%;height: 280px;object-fit: cover;}
	#mainArea.index .visual .slider .slide a .info {position: absolute;left: 9%;top: 50%;transform: translate(0, -50%);color: #fff;text-shadow: 0 0 6px #000;}
	#mainArea.index .visual .slider .slide a .info .title {font-size: 17px;}
	#mainArea.index .visual .slider .slide a .info .place {font-size: 12px;font-weight: bold;margin-top: 16px;}
	#mainArea.index .visual .slider .slide a .info .f_en {font-size: 10px;letter-spacing: 0.1em;margin-top: 9px;}

	#mainArea.index .visual .slider .slick-dots {left: 0;display: flex;justify-content: center;position: relative;bottom: auto;margin: 20px 0 20px;gap: 17px;}
	#mainArea.index .visual .slider .slick-dots li {width: auto;height: auto;margin: 0;}
	#mainArea.index .visual .slider .slick-dots li button {padding: 5px;height: auto;width: auto;opacity: 1;}
	#mainArea.index .visual .slider .slick-dots li button::before {display: block;width: 6px;height: 6px;background: #D0D0D0;position: relative;opacity: 1;text-indent: -9999px;overflow: hidden;border-radius: 10px;}
	#mainArea.index .visual .slider .slick-dots li.slick-active button::before {background: #202020; }
	#mainArea.index .visual .slider .slick-prev,
	#mainArea.index .visual .slider .slick-next {
		top: auto;
		bottom: -1px;
		left: 20px;
		right: auto;
		background: url(../images/icon_arrow2.png) no-repeat center center / 13px auto;
		text-indent: -9999px;
		overflow: hidden;
		transform: rotate(180deg);
		z-index: 8;
	}
	#mainArea.index .visual .slider .slick-next {left: auto;right: 20px;transform: rotate(0deg);}

	#mainArea.index .intro {
		margin-top: 60px;
	}
	#mainArea.index .intro .fbox {
		display: block;
	}
	#mainArea.index .intro .fbox .img {
		width: auto;
	}
	#mainArea.index .intro .fbox .img img {
		width: 100%;
		height: 300px;
		object-fit: cover;
	}
	#mainArea.index .intro .fbox .info {
		width: auto;
		box-sizing: border-box;
		padding: 50px 0 70px 30px;
		background: #fff;
		margin: -58px auto 0 auto;
		/* z-index: 100; */
		position: relative;
		width: 90%;
	}
	#mainArea.index .intro .fbox .info h1 {
		font-size: 26px;
		line-height: 1.65em;
	}
	#mainArea.index .intro .fbox .info .text {
		font-size: 15px;
		margin-top: 27px;
	}

	#mainArea.index .event {
		background: #F0F0F0;
	}
	#mainArea.index .event > .inner {

	}
	#mainArea.index .event .hbox {border-color: #fff;}
	#mainArea.index .event .fbox {
		display: flex;
		gap: 50px;
		margin-top: 50px;
		flex-direction: column;
	}
	#mainArea.index .event .fbox .box {
		width: auto;
		display: flex;
		flex-direction: column;
		gap: 36px;
	}
	#mainArea.index .event .fbox .box a {
		
	}
	#mainArea.index .event .fbox .box + .box a {
		flex-direction: column;
	}
	#mainArea.index .event .fbox .box a > .img {
		position: relative;
		left: -5vw;
	}
	#mainArea.index .event .fbox .box + .box a > .img {
		left: auto
	}
	#mainArea.index .event .fbox .box a > .img img {position: relative;width: 95vw;max-width: none;right: 0;}
	#mainArea.index .event .fbox .box a .infobox {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
	#mainArea.index .event .fbox .box a .infobox .img {
		width: 131px;
	}
	#mainArea.index .event .fbox .box a .infobox .info {
		width: calc(100% - 150px);
	}
	#mainArea.index .event .fbox .box a .infobox .info .title {
		font-size: 20px;
		font-weight: bold;
		line-height: 1em;
		position: relative;
		width: 132px;
	}
	#mainArea.index .event .fbox .box + .box a .infobox .info .title {width: 192px;}
	#mainArea.index .event .fbox .box a .infobox .info .title::before {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 50%;
		height: 20px;
		width: 20px;
		background: #000;
		border-radius: 4px;
		transform: translate(0, -50%);
	}
	#mainArea.index .event .fbox .box a .infobox .info .title::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		position: absolute;
		right: 6px;
		top: 50%;
		transform: translate(0, -50%);
		background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
	}
	#mainArea.index .event .fbox .box a .infobox .info .text {
		color: #707070;
		margin-top: 16px;
		font-size: 14px;
	}
	#mainArea.index .event .insec {margin-top: 50px;}
	#mainArea.index .event .insec > .inner {
	}
	#mainArea.index .event .insec h3 {font-size: 18px;border-bottom: 2px solid #fff;margin-bottom: 20px;padding: 16px 0;}
	#mainArea.index .event .insec .event_list {
	}
	#mainArea.index .event .insec .event_list .box {display: none;}
	#mainArea.index .event .insec .event_list .box:nth-child(-n+3) {display: block;}
	#mainArea.index .event .insec .bt_more {
		margin-top: 40px;
	}
	#mainArea.index .solution {
		padding-bottom: 0;
	}
	#mainArea.index .solution > .inner {

	}
	#mainArea.index .solution .insec {
		margin-top: 50px;
	}
	#mainArea.index .solution .insec .label {
		font-size: 22px;
		display: flex;
		justify-content: center;
		gap: 40px;
		position: relative;
	}
	#mainArea.index .solution .insec .label span {
		display: block;
		position: relative;
	}
	#mainArea.index .solution .insec .label span + span {

	}
	#mainArea.index .solution .insec .label span + span::before {
		content: "";
		display: block;
		position: absolute;
		left: -32px;
		top: 50%;
		width: 20px;
		height: 1px;
		background: #202020;
	}
	#mainArea.index .solution .insec .fbox {
		display: flex;
		justify-content: space-between;
		margin-top: 25px;
		align-items: center;
		flex-direction: column !important;
	}
	#mainArea.index .solution .insec:nth-child(even) .fbox {}
	#mainArea.index .solution .insec .fbox .img {
		width: 100%;
	}
	#mainArea.index .solution .insec .fbox .img img {

	}
	#mainArea.index .solution .insec .fbox .info {
		width: auto;
		margin-top: 30px;
	}
	#mainArea.index .solution .insec .fbox .info a {
		display: block;
	}
	#mainArea.index .solution .insec .fbox .info a h3 {
		font-size: 20px;
	}
	#mainArea.index .solution .insec .fbox .info a .text {
		color: #707070;
		margin-top: 17px;
		font-size: 14px;
	}
	#mainArea.index .solution .insec .fbox .info .bt_more {
		width: 139px;
		margin-top: 20px;
	}
	#mainArea.index .solution .insec .fbox .info .bt_more span {font-size: 12px;}

	#mainArea.index .solution .insec.company {position: relative;padding: 60px 0;margin-top: 60px;}
	#mainArea.index .solution .insec.company::before {
		content: "";
		display: block;
		background: #707070;
		position: absolute;
		left: 50%;
		top: 0;
		width: 100vw;
		height: 100%;
		transform: translate(-50%, 0);
	}
	#mainArea.index .solution .insec.company .fbox {
		position: relative;
		margin-top: 0;
	}
	#mainArea.index .solution .insec.company .fbox .img {width: 100%;}

	#mainArea.index .solution .insec.company .fbox .info {
		width: auto;
		position: relative;
		right: auto;
		top: auto;
		background: #707070;
		transform: none;
		padding: 0;
		box-sizing: border-box;
		color: #fff;
	}
	#mainArea.index .solution .insec.company .fbox .info a {color: #fff;}
	#mainArea.index .solution .insec.company .fbox .info a .text {
		color: #E0E0E0;
	}
	#mainArea.index .works {
		
	}
	#mainArea.index .works .fbox {
		display: flex;
		gap: 50px;
		flex-wrap: wrap;
		margin-top: 0;
	}
	#mainArea.index .works .fbox .box {
		width: 100%;
	}	
	#mainArea.index .works .fbox .box a {
		display: block;
	}
	#mainArea.index .works .fbox .box a .img {
		
	}
	#mainArea.index .works .fbox .box a .info {
		margin-top: 17px;
	}
	#mainArea.index .works .fbox .box a .info .text {
		font-size: 18px;
	}
	#mainArea.index .works .fbox .box a .info .place {
		font-size: 14px;
		color: #707070;
		margin-top: 7px;
	}
		
	/** Inner **********************/
	#mainArea.inner .inner_sec {
		padding: 60px 0;
	}
	#mainArea.inner .inner_sec > .inner {
		max-width: 90%;
		margin: 0 auto;
	}
	#mainArea.inner .apply {
		padding: 60px 5%;
	}
	#mainArea.inner .apply .text {color: #707070;width: auto;margin: 0 auto;background: url(../images/img_fukidashi.png) no-repeat center bottom / 400px auto;padding-bottom: 34px;font-size: 15px;}
	#mainArea.inner .apply .bt_more {
		width: 350px;
		margin: 20px auto 0 auto;
	}
	#mainArea.inner .apply .bt_more span {
		height: 60px;
		font-size: 15px;
		letter-spacing: 0;
		font-weight: normal;
		padding-left: 26px;
	}
	#mainArea.inner .apply .bt_more span::before {
		width: 60px;
		height: 60px;
	}
	#mainArea.inner .apply .bt_more span::after {
		background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
		width: 30px;
		height: 30px;
		right: 15px;
	}
	#mainArea.inner .visual {
		padding-bottom: 47px;
	} 
	#mainArea.inner .visual .lead {
		text-align: center;
		font-size: 20px;
		margin-top: 42px;
	}
	#mainArea.inner .visual .text {
		text-align: left;
		color: #707070;
		margin-top: 17px;
		font-size: 15px;
		padding: 0 5%;
	}
	
	/** API page **/
	#mainArea.inner.api .bg {
		background: #F0F0F0;
		margin: 0;
		padding: 18px 5% 50px 5%;
	}
	#mainArea.inner.api .visual {
		max-width: 1160px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: start;
		flex-direction: column-reverse;
		padding-bottom: 0;
	}
	#mainArea.inner.api .visual h1 {font-size: 24px;line-height: 1.5em;font-weight: bold;}
	#mainArea.inner.api .linkbox {display: flex;border: 2px solid #fff;border-radius: 100px;margin: 0 auto 20px auto;}
	#mainArea.inner.api .linkbox a {font-size: 12px;font-weight: bold;height: 30px;display: flex;align-items: center;padding: 0 10px;}
	#mainArea.inner.api .linkbox a::after {content: "";background: url(../images/icon_arrow.png) no-repeat center center / 8px;width: 8px;height: 8px;margin: 0 0 0 5px;}
	#mainArea.inner.api .linkbox a span {
	}
	#mainArea.inner.api .linkbox .bt_back {border-left: 1px solid #fff;font-size: 10px;padding: 0 12px 0 10px;}
	#mainArea.inner.api .linkbox_wrap {
		display: flex;
		justify-content: center;
		margin-top: 40px;
	}
	#mainArea.inner.api .linkbox_wrap .linkbox {
	  border-color: #E0E0E0;
	}
	#mainArea.inner.api .linkbox_wrap .linkbox .bt_back {
	  border-color: #E0E0E0;
	}
	#mainArea.inner.api .filter {
		max-width: 1160px;
		margin: 30px auto 0 auto;
	}
	#mainArea.inner.api .filter .box {
		position: relative;
	}
	#mainArea.inner.api .filter .box + .box {
		margin-top: 29px;
		position: relative;
	}
	#mainArea.inner.api .filter .box .title {
		font-size: 14px;
		color: #1D1D1D;
	}
	#mainArea.inner.api .filter .box .bt_area {font-size: 12px;/* font-weight: bold; */height: 21px;display: flex;align-items: center;padding: 0;position: absolute;right: 0;top: 3px;border-bottom: 1px solid #000;}
	#mainArea.inner.api .filter .box .bt_area::after {content: "";background: url(../images/icon_arrow.png) no-repeat center center / 8px;width: 8px;height: 8px;margin: 0 0 0 5px;}

	#mainArea.inner.api .filter .box > .inner {
		display: flex;
		margin-top: 17px;
	}
	#mainArea.inner.api .filter .box .selector {
		display: flex;
		gap: 6px;
	}
	#mainArea.inner.api .filter .box button {
		display: block;
		background: #fff;
		border: none;
		padding: 10px 30px 10px 10px;
		line-height: 1em;
		font-weight: bold;
		position: relative;
		text-align: left;
		width: calc(50% - 3px) !important;
		font-size: 14px;
	}
	#mainArea.inner.api .filter .box button.active {
		background: #202020;
		color: #fff;
	}
	#mainArea.inner.api .filter .box button[data-area=all],
	#mainArea.inner.api .filter .box button[data-date=all] {width: 139px;}
	#mainArea.inner.api .filter .box button::before {
		content: "";
		display: block;
		width: 12px;
		height: 12px;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translate(0, -50%);
		border: 1px solid;
		border: #909090 1px solid;
		border-radius: 2px;
	}
	#mainArea.inner.api .filter .box button.active::before {border-color: #fff;}
	#mainArea.inner.api .filter .box button[data-area=all]::before,
	#mainArea.inner.api .filter .box button[data-date=all]::before,
	#mainArea.inner.api .filter .box .type button::before {
		background: #fff;
		border-radius: 20px;
		width: 14px;
		height: 14px;
	}
	#mainArea.inner.api .filter .box button[data-area=all].active::before,
	#mainArea.inner.api .filter .box button[data-date=all].active::before,
	#mainArea.inner.api .filter .box .type button.active::before {
		border: none;
	}
	#mainArea.inner.api .filter .box button::after {
		content: "";
		display: block;
		width: 10px;
		height: 4px;
		position: absolute;
		right: 11px;
		top: 50%;
		transform: translate(0, calc(-50% - 2px)) rotate(135deg);
		border-top: 1px solid #909090;
		border-right: 1px solid #909090;
	}
	#mainArea.inner.api .filter .box button.active::after {border-color: #fff;}
	#mainArea.inner.api .filter .box button[data-area=all]::after,
	#mainArea.inner.api .filter .box button[data-date=all]::after ,
	#mainArea.inner.api .filter .box .type button::after {
		border: none;
		width: 8px;
		height: 8px;
		background: #202020;
		border-radius: 10px;
		transform: translate(0, -50%);
		right: 13px;
		opacity: 0;
	}
	#mainArea.inner.api .filter .box button[data-area=all].active::after,
	#mainArea.inner.api .filter .box button[data-date=all].active::after,
	#mainArea.inner.api .filter .box .type button.active::after {
		opacity: 1;
	}
	#mainArea.inner.api .filter .box button span {
		
	}
	#mainArea.inner.api .filter .box .type {
		background: #E0E0E0;
		display: flex;
		align-items: center;
		padding: 0 0px 0 3px;
		margin-left: 0;
		position: relative;
		position: absolute;
		right: 0;
		top: -3px;
	}
	#mainArea.inner.api .filter .box .type::before {
		content: "";
		display: block;
		width: 24px;
		height: 24px;
		transform: translate(0, -50%) scale(0.6, 1) rotate(45deg);
		background: #E0E0E0;
		position: absolute;
		left: -11px;
		top: 50%;
	}
	#mainArea.inner.api .filter .box .type button {background: no-repeat;width: auto !important;padding: 9px 30px 9px 5px;font-size: 14px;}
	#mainArea.inner.api .filter .box .type button.active {
		background: none;
		color: #202020
	}
	#mainArea.inner.api .filter .box .type button::before {
		border: none;
	}
	#mainArea.inner.api .navi {
		margin-bottom: 30px;
	}
	#mainArea.inner.api .navi.hide {
		display: none;
	}
	#mainArea.inner.api .navi.bottom {margin: 50px 0 0 0;}
	#mainArea.inner.api .navi .total {
		display: flex;
		justify-content: center;
		border-bottom: 2px solid #fff;
	}
	#mainArea.inner.api .navi .total span {
		display: block;
		font-size: 18px;
		background: #fff;
		line-height: 1em;
		padding: 8px 0;
		width: 80px;
		text-align: center;
	}
	#mainArea.inner.api .navi .pagenation {
		margin-top: 18px;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#mainArea.inner.api .navi .pagenation .num {
		display: flex;
		justify-content: center;
		gap: 3px;
	}
	#mainArea.inner.api .navi .pagenation .num button {
		display: block;
		background: no-repeat;
		border: none;
		font-size: 15px;
		color: #707070;
		padding: 5px;
	}
	#mainArea.inner.api .navi .pagenation .num button.active {
		color: #661106;
	}
	#mainArea.inner.api .navi .pagenation .arrow {
		position: relative;
		right: auto;
		top: auto;
		display: flex;
		font-size: 15px;
		gap: 15px;
	}
	#mainArea.inner.api .navi.bottom .pagenation {
		display: flex;
		justify-content: space-between;
		gap: 0;
		margin: 0;
	}
	#mainArea.inner.api .navi.bottom .pagenation .arrow {position: relative;}
	#mainArea.inner.api .navi .pagenation .arrow::before {
		content: "";
		display: block;
		width: 1px;
		height: 11px;
		top: 50%;
		transform: translate(0, -50%);
		position: absolute;
		left: 50%;
		background: #1D1D1D;
	}
	#mainArea.inner.api .navi .pagenation .arrow.none::before {
		opacity: 0.2;
	}
	#mainArea.inner.api .navi .pagenation .arrow button {
		display: block;
		background: none;
		border: none;
		padding: 5px;
		font-size: 12px;
	}
	#mainArea.inner.api .navi .pagenation .arrow button.disabled {
		opacity: 0.2
	}
	#mainArea.inner.api .bg .detail {
		max-width: 1160px;
		margin: 60px auto 0 auto;
		opacity: 0;
		transition: 0.6s ease all;
	}
	#mainArea.inner.api .bg .detail.show {
		opacity: 1;
	}
	#mainArea.inner.api .event_list .box{display:none;}
	#mainArea.inner.api .event_list .box.show.active{ display:block; }
	#mainArea.inner.api .event_list .box.show{ display:none; }
	#mainArea.inner.api .nohit {
		margin: 30px 0 50px 0;
		font-size: 15px;
		text-align: center;
	}
	
	#mainArea.inner.api .related {padding: 60px 0;margin-top: 0;}
	#mainArea.inner.api .related > .inner {
	  max-width: 90%;
	  margin: 0 auto 0 auto;
	}
	#mainArea.inner.api .related h2 {font-size: 16px;border-bottom: 2px solid #E0E0E0;line-height: 1.5em;padding: 8px 0;}
	#mainArea.inner.api .related .fbox {display: flex;flex-wrap: wrap;margin-top: 25px;justify-content: space-between;gap: 50px;}
	#mainArea.inner.api .related .fbox .box {width: 100%;}
	#mainArea.inner.api .related .fbox .box a {display: block;}
	#mainArea.inner.api .related .fbox .box a .img {
	}
	#mainArea.inner.api .related .fbox .box a .info {display: flex;justify-content: space-between;margin-top: 14px;flex-direction: column;}
	#mainArea.inner.api .related .fbox .box a .info .title {font-size: 18px;display: flex;}
	#mainArea.inner.api .related .fbox .box a .info .title span {display: block;margin-left: 30px;position: relative;}
	#mainArea.inner.api .related .fbox .box a .info .title span::before {
		content: "";
		position: absolute;
		left: -24px;
		width: 17px;
		height: 1px;
		background: #202020;
		top: 50%;
	}
	#mainArea.inner.api .related .fbox .box a .info .bt_more {
	  margin-left: auto;
	  width: 100%;
	  margin-top: 13px;
	}
	#mainArea.inner.api .related .fbox .box a .info .bt_more span {font-size: 14px;padding-right: 58px;}

	/** Step **/
	#mainArea.inner.step .inner_sec {
		background: #F0F0F0;
	}
	#mainArea.inner.step .inner_sec .hbox .label {
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		background: url(../step/images/icon_step1.png) no-repeat center top / 92.5px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 62px auto;
		padding: 76px 0 2px 0;
		letter-spacing: 0.03em;
	}
	#mainArea.inner.step .inner_sec.step2 {
		background: #fff;
	}
	#mainArea.inner.step .inner_sec.step2 .hbox .label {
		background: url(../step/images/icon_step2.png) no-repeat center top / 105px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 62px auto;
		padding-top: 110px;
	}
	#mainArea.inner.step .inner_sec.step3 .hbox .label {
		background: url(../step/images/icon_step3.png) no-repeat center top / 64px auto, url(../step/images/bg_fukidashi.png) no-repeat center bottom / 62px auto;
		padding-top: 113px;
	}
	#mainArea.inner.step .inner_sec .hbox {
		margin-bottom: 40px;
	}
	#mainArea.inner.step .inner_sec .hbox h2 {
		text-align: center;
		font-size: 23px;
		letter-spacing: 0;
		font-weight: 300;
		margin-top: 12px;
	}
	#mainArea.inner.step .inner_sec .hbox .text {
		text-align: left;
		margin: 28px 0 0 0;
		line-height: 1.8em;
		font-size: 15px;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox {
		display: block;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box1 {
		width: auto;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img {
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img img {max-width: none;width: 100%;height: 64vw;object-fit: cover;position: relative;left: auto;}
	#mainArea.inner.step .inner_sec.step1 .fbox .box1 .img .caption {
		left: 8px;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box2 {
		width: auto;
		margin-top: 50px;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox + .inbox {
		margin-top: 46px;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox .text {
		color: #707070;
		font-size: 14px;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox .img {
		margin: 29px auto 0 auto;
		width: 85%;
	}
	#mainArea.inner.step .inner_sec.step1 .fbox .box2 .inbox + .inbox .img {
		margin: 21px auto 0 auto;
		width: 89%;
	}
	#mainArea.inner.step .inner_sec.step2 .fbox {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		gap: 40px;
	}
	#mainArea.inner.step .inner_sec.step2 .fbox .box {
		width: auto;
	}
	#mainArea.inner.step .inner_sec.step2 .fbox .box .text {
	  color: #707070;
	  margin-bottom: 20px;
	  font-size: 14px;
	}
	#mainArea.inner.step .inner_sec.step2 .fbox .box1 .img img {
		object-fit: cover;
		width: 100%;
		max-width: none;
		height: 80vw;
	} 
	#mainArea.inner.step .inner_sec.step2 .fbox .box .note {font-size: 11px;color: #707070;margin-top: 19px;}
	
	#mainArea.inner.step .inner_sec.step3 .fbox {
		width: auto;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
		flex-direction: column;
		align-items: center;
	}
	#mainArea.inner.step .inner_sec.step3 .fbox .img {
		width: 80%;
	}
	#mainArea.inner.step .inner_sec.step3 .fbox .text {
	  color: #707070;
	  margin: 21px 0 0 0;
	  width: auto;
	  font-size: 14px;
	}
	
	/** Land **/
	#mainArea.inner.land .example {
		
	}
	#mainArea.inner.land .example > .inner {
		max-width: 100%;
		margin: 0 auto;
	}
	#mainArea.inner.land .example .box {
		position: relative;
	}
	#mainArea.inner.land .example .box + .box {
		margin-top: 50px;
	}
	#mainArea.inner.land .example .box .img {
		border-radius: 0;
		overflow: hidden;
	}
	#mainArea.inner.land .example .box .img img {
	height: 80vw;
	object-fit: cover;
	}
	#mainArea.inner.land .example .box > .title {
		position: absolute;
		left: 8.7%;
		top: 38.3%;
		background: url(../land/images/bg_example1_2.png) no-repeat center center / contain;
		width: 46vw;
		height: 30.3vw;
		box-sizing: border-box;
		font-size: 2vw;
		line-height: 1.8em;
		color: #fff;
		padding: 4.2vw 0 0 6.6vw;
	}
	#mainArea.inner.land .example .box2 > .title {
		background-image: url(../land/images/bg_example2_2.png);
	}
	#mainArea.inner.land .example .box3 > .title {
		background-image: url(../land/images/bg_example3_2.png);
	}
	#mainArea.inner.land .example .box4 > .title {
		background-image: url(../land/images/bg_example4_2.png);
	}
	#mainArea.inner.land .example .box .info {
		position: absolute;
		left: 52.8%;
		top: 50%;
		transform: translate(0, -50%);
		width: 37vw;
		text-align: center;
	}
	#mainArea.inner.land .example .box .info .label {color: #740000;font-weight: bold;font-size: 2vw;}
	#mainArea.inner.land .example .box .info .inbox {
		margin-top: 4vw;
	}
	#mainArea.inner.land .example .box .info .inbox .title {
		color: #740000;
		font-size: 2.4vw;
		border: 0.5px solid #740000;
	}
	#mainArea.inner.land .example .box .info .inbox .text {
		color: #707070;
		margin-top: 2vw;
		font-size: 1.75vw;
	}
	#mainArea.inner.land .way {
		padding: 60px 0;
	}
	#mainArea.inner.land .way > .inner {
		max-width: 90%;
		margin: 0 auto;
	} 
	#mainArea.inner.land .way h2 {
		text-align: center;
		font-size: 20px;
		line-height: 1.8em;
	} 
	#mainArea.inner.land .way .lead {
		text-align: center;
		color: #707070;
		margin-top: 16px;
	} 
	#mainArea.inner.land .way .fbox {
		display: block;
		margin-top: 45px;
	} 
	#mainArea.inner.land .way .insec {
		width: auto;
	} 
	#mainArea.inner.land .way .insec2 {
	margin-top: 40px;
	}
	#mainArea.inner.land .way .insec h3 {
		text-align: center;
		background: #F8F8F8;
		padding: 12px 10px;
		box-shadow: 0 3px 6px #ccc;
		font-size: 16px;
		color: #740000;
		margin-bottom: 21px;
	} 
	#mainArea.inner.land .way .insec .text {
		color: #707070;
		font-size: 14px;
	} 
	#mainArea.inner.land .way .insec .note {
		color: #707070;
		font-size: 10px;
		line-height: 1.7em;
		margin-top: 10px;
	}
	#mainArea.inner.land .way .insec .img {
		margin: 20px 0px;
	} 
	#mainArea.inner.land .way .insec2 .img {
		margin: 20px 5% 0 5%;
	} 
	#mainArea.inner.land .way2 {padding-top: 0;}
	#mainArea.inner.land .way2 .fbox {justify-content: center;}
	#mainArea.inner.land .bg {
		background: #707070;
		padding: 60px 0 60px 0;
	} 
	#mainArea.inner.land .bg .insec {width: 90%;margin: 0 auto;color: #fff;} 
	#mainArea.inner.land .bg .insec h2 {text-align: center;font-size: 16px;line-height: 1.8em;} 
	#mainArea.inner.land .bg .insec.support {position: relative;}
	#mainArea.inner.land .bg .insec.support > .img {margin-top: 40px;}
	#mainArea.inner.land .bg .insec.support .info {position: relative;bottom: auto;height: auto;width: auto;background: #707070;right: auto;box-sizing: border-box;padding: 0;margin-top: 30px;}
	#mainArea.inner.land .bg .insec.support .info .title {font-size: 18px;width: 110%;}
	#mainArea.inner.land .bg .insec.support .info .text {color: #E0E0E0;margin-top: 16px;font-size: 14px;}
	#mainArea.inner.land .bg .insec.support .info .img {margin-top: 27px;}
	#mainArea.inner.land .bg .insec.contact {
		margin-top: 90px;
		background: none;
		padding: 0;
	}
	#mainArea.inner.land .bg .insec.contact ul {
		background: url(../land/images/img_contact.jpg) no-repeat center center / cover;
		display: flex;
		flex-wrap: wrap;
		align-items: start;
		justify-content: center;
		gap: 18px;
		padding: 60px 20px;
		margin-top: 45px;
	}
	#mainArea.inner.land .bg .insec.contact ul li {
		width: 100%;
		text-align: center;
		border: 1px solid #fff;
		padding: 15px 0;
	}
	#mainArea.inner.land .bg .insec.contact .bt_more {
		width: 280px;
		margin: -30px auto 0 auto;
	}
	#mainArea.inner.land .bg .insec.contact .bt_more span {
		height: 60px;
		font-size: 16px;
		padding-left: 38px;
		letter-spacing: 0;
		font-weight: normal;
	}
	#mainArea.inner.land .bg .insec.contact .bt_more span::before {
		width: 60px;
		height: 60px;
	}
	#mainArea.inner.land .bg .insec.contact .bt_more span::after {
		background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
		width: 30px;
		height: 30px;
		right: 15px;
	}
	#mainArea.inner.land .bg .insec.contact .note {
		text-align: center;
		margin-top: 25px;
		font-size: 12px;
		color: #E3E3E3;
	}
	
	/** Income **/
	#mainArea.inner.income .inner_sec {
		padding: 0;
	}
	#mainArea.inner.income .inner_sec + .inner_sec {margin-top: 60px;}
	#mainArea.inner.income .inner_sec h2 {
		text-align: center;
		font-size: 16px;
		line-height: 2em;
	}
	#mainArea.inner.income .inner_sec .lead {
		text-align: left;
		width: auto;
		margin: 15px auto 0 auto;
		color: #707070;
		font-size: 14px;
	}
	#mainArea.inner.income .inner_sec.proposal .fbox {display: flex;flex-wrap: wrap;margin-top: 29px;}
	#mainArea.inner.income .inner_sec.proposal .fbox .img {width: 100%;margin-bottom: 15px;}
	#mainArea.inner.income .inner_sec.proposal .fbox .info {width: 50%;text-align: center;}
	#mainArea.inner.income .inner_sec.proposal .fbox .info .title {font-size: 16px;}
	#mainArea.inner.income .inner_sec.proposal .fbox .info .text {font-size: 12px;color: #707070;margin-top: 3px;}
	#mainArea.inner.income .inner_sec.analysis .img {width: 95%;margin: 35px auto 0 auto;}
	#mainArea.inner.income .inner_sec.analysis .text {text-align: center;color: #707070;margin-top: 40px;font-size: 14px;}
	#mainArea.inner.income .inner_sec.analysis .img2 {margin-top: 25px;}
	#mainArea.inner.income .inner_sec.good {
		
	}
	#mainArea.inner.income .inner_sec.good .fbox {
		display: block;
		margin-top: 40px;
	}
	#mainArea.inner.income .inner_sec.good .fbox .img {width: auto;}
	#mainArea.inner.income .inner_sec.good .fbox .img img {
		max-width: 100%;
		width: auto;
		position: relative;
		left: auto;
	}
	#mainArea.inner.income .inner_sec.good .fbox .info {
		width: auto;
		padding-top: 30px;
	}
	#mainArea.inner.income .inner_sec.good .fbox .info .text {color: #707070;font-size: 14px;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p {margin-top: 50px;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p .title {font-weight: bold;font-size: 15px;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl {display: flex;flex-wrap: wrap;font-size: 16px;gap: 18px 0;color: #707070;margin-top: 28px;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dt {width: 164px;position: relative;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dt::after {
		content: "";
		position: absolute;
		right: 20px;
		top: 50%;
		width: 30px;
		height: 1px;
		background: #707070;
	}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dd {width: calc(100% - 190px);letter-spacing: 0.1em;}
	#mainArea.inner.income .inner_sec.good .fbox .info .four_p dl dd span {color: #740000;}
	#mainArea.inner.income .bg {
		background: #E3E3E3;
		padding: 60px 0;
		margin-bottom: 2px;
		margin-top: 60px;
	}
	#mainArea.inner.income .bg .bt_more {
		width: 350px;
		margin: 0px auto 0 auto;
	}
	#mainArea.inner.income .bg .bt_more span {
		height: 60px;
		font-size: 16px;
		padding-left: 28px;
		font-weight: normal;
	}
	#mainArea.inner.income .bg .bt_more span::before {
		width: 60px;
		height: 60px;
	}
	#mainArea.inner.income .bg .bt_more span::after {
		background: url(../images/icon_mail_w.png) no-repeat center center / 30px;
		width: 30px;
		height: 30px;
		right: 15px;
	}
	/** Company **/
	#mainArea.inner.company .visual {background: #606060;color: #fff;}
	#mainArea.inner.company .visual .text {color: #fff;}
	#mainArea.inner.company .list1 {
		padding: 0;
		background: #606060;
		padding-bottom: 60px;
	}
	#mainArea.inner.company .list1 > .inner {
		max-width: 90%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		gap: 50px;
	}
	#mainArea.inner.company .list1 .box {width: 100%;}
	#mainArea.inner.company .list1 .box .img {border-radius: 8px;overflow: hidden;}
	#mainArea.inner.company .list1 .box .info {color: #fff;text-align: center;margin-top: 23px;}
	#mainArea.inner.company .list1 .box .info .title {font-size: 18px;}
	#mainArea.inner.company .list1 .box .info .text {width: auto;margin: 6px auto 0 auto;font-size: 14px;color: #E0E0E0;}
	#mainArea.inner.company .list2 {
		padding: 0;
		background: #6f6f6f;
		padding: 60px 0 20px 0;
	}
	#mainArea.inner.company .list2 > .inner {
		max-width: 90%;
		margin: 0 auto;
	}
	#mainArea.inner.company .list2 h2 {font-size: 16px;text-align: center;color: #fff;line-height: 1.8em;}
	#mainArea.inner.company .list2 ul {display: flex;gap: 30px 20px;margin-top: 40px;flex-wrap: wrap;}
	#mainArea.inner.company .list2 ul li {
	width: calc(50% - 10px);
	}
	#mainArea.inner.company .list2 ul li .img {
	}
	#mainArea.inner.company .list2 ul li .title {text-align: center;color: #fff;margin-top: 12px;color: #E0E0E0;font-size: 12px;line-height: 1.6em;}
	#mainArea.inner.company .pickup {
		padding: 0;
		background: #6f6f6f;
		padding: 30px 0 60px 0;
	}
	#mainArea.inner.company .pickup > .inner {
		max-width: 90%;
		margin: 0 auto;
		background: #E0E0E0;
		box-sizing: border-box;
		padding: 45px 20px 55px 20px;
	}
	#mainArea.inner.company .pickup h2 {
		text-align: center;
		font-size: 16px;
		display: flex;
		justify-content: center;
	} 
	#mainArea.inner.company .pickup h2 > span {
	  border-bottom: 1px solid;
	  padding: 10px 0;
	} 
	#mainArea.inner.company .pickup h2 > span span {
	  font-size: 14px;
	  font-weight: bold;
	  display: inline-block;
	  margin: 0 16px 0 0;
	} 
	#mainArea.inner.company .pickup .lead {
		text-align: center;
		font-size: 16px;
		margin-top: 35px;
	} 
	#mainArea.inner.company .pickup .lead + .img {
		width: 300px;
		margin: 16px auto 0 auto;
	} 
	#mainArea.inner.company .pickup .fbox {
		display: block;
		justify-content: space-between;
		align-items: center;
		margin-top: 50px;
	} 
	#mainArea.inner.company .pickup .fbox .text {
		color: #707070;
		width: auto;
		font-size: 14px;
	} 
	#mainArea.inner.company .pickup .fbox .img {
		width: auto;
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
	} 
	#mainArea.inner.company .pickup .fbox .img img {
		width: calc(50% - 7px);
	} 
	#mainArea.inner.company .pickup .video {
		margin-top: 50px;
	} 
	#mainArea.inner.company .pickup .video .title {
		font-size: 16px;
		text-align: center;
	} 
	#mainArea.inner.company .pickup .video .inner {
	width: 100%;
	margin-top: 20px;
	}
	#mainArea.inner.company .apply .bt_more {
		width: 306px;
	}
	#mainArea.inner.company .apply .bt_more span {
		letter-spacing: 0.05em;
		padding-left: 32px;
	}
	/** work **/
	#mainArea.inner.work .visual {
		padding-bottom: 60px;
	}
	#mainArea.inner.work .visual .work_title {
		font-size: 13px;
		padding: 13px 5%;
		line-height: 1.5em;
	}
	#mainArea.inner.work .visual .img {
		
	}
	#mainArea.inner.work .visual .img img {
		width: 100%;
	}
	#mainArea.inner.work .visual .label {
		width: 90%;
		box-sizing: border-box;
		margin: 45px auto 0 auto;
		font-size: 28px;
		font-weight: 300;
		letter-spacing: 0.1em;
		padding: 0 5%;
	}
	#mainArea.inner.work .visual h1 {
		font-size: 20px;
		width: 90%;
		margin: 12px auto 0px auto;
		line-height: 1.8em;
		padding: 0 5%;
	}
	#mainArea.inner.work .insec {
		padding: 40px 5%;
		width: 90%;
		margin: 0 auto 0 auto;
	}
	#mainArea.inner.work .insec.bg {
		background: #F0F0F0;
		padding: 40px 5%;
	}
	#mainArea.inner.work .insec h2 {
		display: flex;
		font-size: 14px;
	}
	#mainArea.inner.work .insec h2 span {
		display: block;
		border-bottom: 2px solid #000;
		line-height: 1.8em;
	}
	#mainArea.inner.work .insec.bg h2 span {
		border-bottom: 2px solid #740000;
		color: #740000;
	}
	#mainArea.inner.work .insec .text {
		text-align: left;
		font-size: 14px;
		margin-top: 18px;
		padding: 0;
	}
	#mainArea.inner.work .visual .insec .spec {
		margin-top: 28px;
	}
	#mainArea.inner.work .visual .insec .spec h3 {
		font-size: 13px;
		font-weight: bold;
		line-height: 1.8em;
		letter-spacing: 0.05em;
	}
	#mainArea.inner.work .visual .insec .spec dl {
		font-size: 13px;
		display: flex;
		flex-wrap: wrap;
		gap: 6px 10px;
		line-height: 1.5em;
		color: #707070;
		margin-top: 8px;
	}
	#mainArea.inner.work .visual .insec .spec dl dt {
		width: 68px;
		position: relative;
	}
	#mainArea.inner.work .visual .insec .spec dl dt::after {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 4px;
		height: calc(100% - 8px);
		background: #707070;
		width: 1px;
	}
	#mainArea.inner.work .visual .insec .spec dl dd {
		width: calc(100% - 68px - 10px);
	}
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(1) { order: 1; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(1) + dd { order: 2; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(3) { order: 7; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(3) + dd { order: 8; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(5) { order: 3; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(5) + dd { order: 4; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(7) { order: 9; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(7) + dd { order: 10; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(9) { order: 5; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(9) + dd { order: 6; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(11) { order: 11; }
	#mainArea.inner.work .visual .insec .spec dl dt:nth-child(11) + dd { order: 12; }
	
	#mainArea.inner.work .pbNestedWrapper > .detail {
		
	}
	#mainArea.inner.work .pbNestedWrapper > .detail > .inner {
		max-width: 1160px;
		margin: 0 auto;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box:nth-child(1) {
		margin-top: 0;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box {
		margin: 45px 0;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box .img {
		
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box .info {
		margin-top: 25px;
		padding: 0 5%;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box .info .title {
		font-size: 16px;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box .info .text {
		font-size: 13px;
		color: #707070;
		width: auto;
		margin-top: 7px;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box.tr {
		display: block;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .img {
		width: auto;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .info {
		width: auto;
		margin: 25px 0 0 0;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .box.tr .info .text {
		width: auto;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .insec.result {
		margin-top: 60px;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .bt_more {
		width: 470px;
		margin: 75px auto 0 auto;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span {
		height: 60px;
		font-size: 20px;
		letter-spacing: 0.1em;
		font-weight: normal;
		padding-left: 46px;
		letter-spacing: 0.05em;
		padding-left: 41px;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span::before {
		width: 60px;
		height: 60px;
	}
	#mainArea.inner.work .pbNestedWrapper > .detail .bt_more span::after {
		background: url(../images/icon_arrow_w.png) no-repeat center center / 8px;
		width: 30px;
		height: 30px;
		right: 15px;
	}
	#mainArea.inner.work .other {
		background: #505050;
		margin-top: 85px;
		padding: 90px 0;
	}
	#mainArea.inner.work .other h2 {
		color: #fff;
		text-align: center;
		font-size: 20px;
	}
	#mainArea.inner.work .other .fbox {
		display: flex;
		justify-content: center;
		gap: 33px;
		margin-top: 90px;
	}
	#mainArea.inner.work .other .fbox .box {
		width: 264px;
	}
	#mainArea.inner.work .other .fbox .box.current {
		opacity: 0.5;
	}
	#mainArea.inner.work .other .fbox .box a {
		display: block;
		color: #fff;
	}
	#mainArea.inner.work .other .fbox .box a .img {
		
	}
	#mainArea.inner.work .other .fbox .box a .text {
		font-size: 14px;
		color: #E0E0E0;
		margin-top: 16px;
	}
	#mainArea.inner.work .other .bt_more {width: 163px;margin: 80px auto 0 auto;}
	#mainArea.inner.work .other .bt_more span {font-size: 12px;font-weight: normal;padding-left: 13px;}


}