/* ----------------------------------------
recruit
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit {
	width: 98%;
	text-align: left;
	line-height: 24px;
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
}
.recruit h2 {
	width: 99%;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 10px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1 img {
	max-width: 100%;
	height: auto;
}
.recruit2 p {
	margin: 0;
}
.recruit2 ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2 ul li {
	margin: 10px auto 0px auto;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2 ul li img {
	max-width: 100%;
	height: auto;
}
.recruit3 {
	width: 100%;
	overflow: hidden;
	margin: 0px auto 10px auto;
	padding: 0px 0px 0px 0px;
	text-align: center;
}
.recruit3 img {
	max-width: 94%;
}
.recruit4 {
	width: 100%;
	float: left;
	margin: 0px auto 20px auto;
	padding: 0px;
}
.recruit4 p {
	margin: 0;
}
.recruit5 {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5 dt {
	width: 45%;
	display: block;
	clear: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5 dd {
	display: block;
	margin: 5px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	line-height: 25px;
	width: 100%;
}
/* ----------------------------------------
recruit(サイドバーあり)
/recruit/用cssのため消さないこと。
---------------------------------------- */
.recruit_side {
	width: 98%;
	text-align: left;
	line-height: 24px;
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
}
.recruit_side h2 {
	width: 99%;
	font-size: 16px;
	line-height: 51px;
	margin: 0px auto 10px auto;
	padding: 0px 0px 0px 0px;
	text-indent: 15px;
	background: #F0F0F0;
	border-top: solid 5px #CCC;
	border-bottom: solid 1px #CCC;
	border-left: solid 3px #666;
	display: block;
	clear: both;
}
.recruit_tb {
	font-weight: bold;
	font-size: 18px;
}
.recruit1_side img {
	max-width: 100%;
	height: auto;
}
.recruit2_side p {
	margin: 0;
}
.recruit2_side ul {
	margin: 20px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit2_side ul li {
	margin: 10px auto 0px auto;
	padding: 4px;
	border: solid 1px #CCC;
	float: left;
}
.recruit2_side ul li img {
	max-width: 100%;
	height: auto;
}
.recruit3_side {
	width: 100%;
	overflow: hidden;
	margin: 0px auto 10px auto;
	padding: 0px 0px 0px 0px;
	text-align: center;
}
.recruit3_side img {
	max-width: 94%;
}
.recruit4_side {
	width: 100%;
	float: left;
	margin: 0px auto 20px auto;
	padding: 0px;
}
.recruit4_side p {
	margin: 0;
}
.recruit5_side {
	line-height: 28px;
	margin: 0px 0px 20px 0px;
	padding: 0px 0px 0px 0px;
	overflow: hidden;
}
.recruit5_side dt {
	width: 45%;
	display: block;
	clear: left;
	background: #EEE;
	margin: 10px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	text-align: center;
	font-weight: bold;
	line-height: 35px;
}
.recruit5_side dd {
	display: block;
	margin: 5px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	line-height: 25px;
	width: 100%;
}
/* ----------------------------------------
sitemap
/sitemap/用cssのため消さないこと。
---------------------------------------- */
.sitemap_ti h2 {
	width: 90%;
	font-size: 24px;
	margin: 30px auto;
	font-weight: 500;
	line-height: 1;
	font-weight: bold;
	text-align: left;
	border-bottom: none !important;
}
.sitemap_wrap {
	width: 90%;
	margin: 0 auto 60px;
	background: #f8f8f8;
	padding: 30px 5%;
	box-sizing: border-box;
}
.sitemap_inner {
	margin-bottom: 30px;
}
.sitemap_inner:last-child {
	margin-bottom: 0;
}
.sitemap_inner h3 {
	font-size: 22px;
	margin: 0 0 10px;
	font-weight: 500;
	line-height: 1.7;
}
.sitemap_inner ul {
	background: #fff;
	padding: 15px 5%;
}
.sitemap_inner ul li a {
	font-size: 14px;
	color: #333;
	line-height: 1.7;
	position: relative;
	padding-left: 20px;
	margin-bottom: 5px;
	display: block;
}
.sitemap_inner ul li a::before {
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid #042455;
	border-right: 1px solid #042455;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: 8px;
}
.sitemap_group {
	padding-left: 10% !important;
}
.sitemap_group_ti {
	margin-left: -5%;
}
/* sitemap
---------------------------------------- */
/* ----------------------------------------
移管ページ基本CSS
---------------------------------------- */
.fadein {
	opacity: 0;
	transition: 1.5s;
	transform: translate(0, 0px);
}
.fadein.fade_in {
	opacity: 1;
	transform: translate(0px, 0);
}
html.transfer_wrap {
	font-size: 62.5%;
	font-size: 10px;
	line-height: 1em;
	color: #142850;
}
.transfer_wrap body {
	font-family: 'Sawarabi Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'sans-serif';
}
.transfer_page h1 {
	white-space: auto;
	overflow: visible;
}
.transfer_page {
	* {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		font-size: 1.4rem;
		line-height: 1.7em;
		color: #142850;
	}
	& img {
		width: 100%;
		height: auto;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.wrap {
		padding: 0 10px;
	}
	#container {
		padding: 60px 0px 0px;
	}
	& main {
		display: block;
	}
	#container {
		position: relative;
	}
	.flex {
		display: -webkit-flex;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		flex-wrap: wrap;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}
	.arrow,
	.arrow-white {
		position: relative;
		padding-left: 1em;
	}
	.arrow::after,
	.arrow-white::after {
		content: "";
		position: absolute;
		left: 0.5em;
		top: 50%;
		width: 0px;
		height: 0px;
		border: 4px solid transparent;
		border-left: 5px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.arrow-white::after {
		border: 4px solid transparent;
		border-left: 5px solid #fff;
	}
	.link-detail {
		position: relative;
		padding-left: 1em;
		display: inline-block;
		text-align: center;
		font-size: 1.2rem;
		line-height: 24px;
		color: #142850;
		white-space: nowrap;
		border: 1px solid #142850;
		padding: 0 1em 0 2em;
		-webkit-border-radius: 13px;
		border-radius: 13px;
	}
	.link-detail.white {
		border: 1px solid #fff;
		color: #fff;
	}
	.link-detail.reverse {
		border: 1px solid #fff;
		background: #fff;
	}
	.link-detail::after {
		content: "";
		position: absolute;
		left: 1.5em;
		top: 50%;
		width: 0px;
		height: 0px;
		border: 4px solid transparent;
		border-left: 5px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.link-detail.white::after {
		border-left: 5px solid #fff;
	}
	.link-index {
		position: relative;
		display: inline-block;
		width: 100%;
		max-width: 360px;
		text-align: center;
		font-size: 1.2rem;
		line-height: 38px;
		color: #142850;
		border: 1px solid #142850;
		padding: 0 1em 0 2em;
		-webkit-border-radius: 20px;
		border-radius: 20px;
	}
	.link-index span {
		padding-right: 1em;
	}
	.mincho {
		font-family: "Sawarabi Mincho";
		font-weight: normal;
	}
	& input,
	& textarea,
	& button,
	& select {
		font-family: 'Sawarabi Gothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'sans-serif';
	}
	.bold {
		font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'sans-serif';
		font-weight: bold;
	}
	.toggle-contents {
		display: none;
	}
	/*スライダー矢印*/
	.swiper-button-prev,
	.swiper-button-next {
		position: absolute;
		background: #142850;
		width: 40px;
		height: 160px;
		margin-top: 0px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.swiper-button-prev {
		left: 0px;
	}
	.swiper-button-prev::after {
		content: "";
		position: absolute;
		left: 12px;
		top: 50%;
		width: 20px;
		height: 20px;
		margin-top: -22px;
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: left bottom;
		transform-origin: left bottom;
	}
	.swiper-button-next {
		right: 0px;
	}
	.swiper-button-next::after {
		content: "";
		position: absolute;
		right: 12px;
		top: 50%;
		width: 20px;
		height: 20px;
		margin-top: -22px;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
		background: #fff;
		width: 14px;
		height: 14px;
		border: 2px solid #fff;
		margin: 0 8px;
		opacity: 1;
	}
	.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active {
		background: #193C7D;
	}
	/*パンくず*/
	.breadcrumb {
		position: relative;
		padding: 0.6em 0;
		letter-spacing: -0.4em;
		margin-bottom: 5px;
		padding: 0 10px;
		z-index: 2;
	}
	.breadcrumb li {
		position: relative;
		display: inline-block;
		letter-spacing: normal;
		margin-right: 2em;
		font-size: 1.0rem;
	}
	.breadcrumb li::after {
		position: absolute;
		top: 0px;
		right: -1.5em;
		content: "＞";
		width: 1em;
		height: 1em;
		color: #B9BECA;
	}
	.breadcrumb li:last-child::after {
		display: none;
	}
	.breadcrumb li a,
	.breadcrumb li span {
		font-size: 1.1rem;
		line-height: 1.2em;
		color: #B9BECA;
	}
	.breadcrumb li:last-child a {
		color: #B9BECA;
	}
	/*ページ*/
	.pager {
		position: relative;
		padding: 20px 0;
	}
	.pager.bottom {
		padding-bottom: 100px;
	}
	.pager li {
		margin: 0 3px;
		vertical-align: middle;
	}
	.pager span,
	.pager a {
		display: inline-block;
		padding: 0 5px;
		color: #142850;
		vertical-align: middle;
	}
	.pager span {
		font-weight: bold;
	}
	.pager .prev {
		margin-right: 10px;
	}
	.pager .next {
		margin-left: 10px;
	}
	.pager .prev a,
	.pager .prev span,
	.pager .next span {
		position: relative;
		width: 20px;
		height: 23px;
		overflow: hidden;
		text-indent: 200%;
		white-space: nowrap;
	}
	.pager .next a {
		position: relative;
		padding-left: 20px;
	}
	.pager .prev a::after {
		content: "";
		position: absolute;
		left: 50%;
		top: 50%;
		width: 0px;
		height: 0px;
		margin-top: 1px;
		border: 6px solid transparent;
		border-right: 8px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.pager .next a::after {
		content: "";
		position: absolute;
		left: 10px;
		top: 50%;
		width: 0px;
		height: 0px;
		margin-top: 1px;
		border: 6px solid transparent;
		border-left: 8px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.pager.history {
		margin-bottom: 40px;
	}
	.pager .forward {
		position: absolute;
		left: 0px;
		top: 0px;
	}
	.pager .back {
		position: absolute;
		right: 0px;
		top: 0px;
	}
	.pager .forward a,
	.pager .back a {
		position: relative;
		padding: 0 20px;
	}
	.pager .forward a::after {
		content: "";
		position: absolute;
		left: 0px;
		top: 50%;
		width: 0px;
		height: 0px;
		margin-top: 1px;
		border: 6px solid transparent;
		border-right: 8px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.pager .back a::after {
		content: "";
		position: absolute;
		right: -15px;
		top: 50%;
		width: 0px;
		height: 0px;
		margin-top: 1px;
		border: 6px solid transparent;
		border-left: 8px solid #142850;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	/*select-box*/
	.select-box {
		position: relative;
		display: inline-block;
		padding-left: 0px;
	}
	.select-box::after {
		content: "";
		position: absolute;
		left: 5px;
		top: 50%;
		width: 0px;
		height: 0px;
		margin-top: -5px;
		border: 6px solid transparent;
		border-top: 10px solid #142850;
		-webkit-user-select: none;
		user-select: none;
		-webkit-pointer-events: none;
		pointer-events: none;
	}
	.select-box select {
		background: #fff;
		width: auto;
		height: 36px;
		font-size: 1.4rem;
		line-height: 36px;
		font-weight: normal;
		border: none;
		padding: 0 10px 0 28px;
		color: #142850;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		-webkit-border-radius: 0px;
		border-radius: 0px;
	}
	/*■文字の設定*/
	.font10 {
		font-size: 1.0rem !important;
	}
	/*10px*/
	.font11 {
		font-size: 1.1rem !important;
	}
	/*11px*/
	.font12 {
		font-size: 1.2rem !important;
	}
	/*12px*/
	.font13 {
		font-size: 1.3rem !important;
	}
	/*13px*/
	.font14 {
		font-size: 1.4rem !important;
	}
	/*14px*/
	.font16 {
		font-size: 1.6rem !important;
	}
	/*16px*/
	.font18 {
		font-size: 1.8rem !important;
	}
	/*18px*/
	.font20 {
		font-size: 2.0rem !important;
	}
	/*20px*/
	.font22 {
		font-size: 2.2rem !important;
	}
	/*22px*/
	.font24 {
		font-size: 2.4rem !important;
	}
	/*24px*/
	.font26 {
		font-size: 2.6rem !important;
	}
	/*26px*/
	.font28 {
		font-size: 2.8rem !important;
	}
	/*28px*/
	.font30 {
		font-size: 3.0rem !important;
	}
	/*30px*/
	.font32 {
		font-size: 3.2rem !important;
	}
	/*32px*/
	.font38 {
		font-size: 3.8rem !important;
	}
	/*38px*/
	.line-h {
		line-height: 1em !important;
	}
	.line-h12 {
		line-height: 1.2em !important;
	}
	.line-h13 {
		line-height: 1.3em !important;
	}
	.line-h14 {
		line-height: 1.4em !important;
	}
	.line-h15 {
		line-height: 1.5em !important;
	}
	.line-h16 {
		line-height: 1.6em !important;
	}
	.line-h18 {
		line-height: 1.8em !important;
	}
	.line-h20 {
		line-height: 2.0em !important;
	}
	.fontN {
		font-weight: normal !important;
	}
	.fontB {
		font-weight: bold !important;
	}
	.clr-red {
		color: #ff1e1e;
	}
	.clr-key {
		color: #ec6e3c;
	}
	.clr-blue {
		color: #20209D;
	}
	.clr-blue--type2 {
		color: #1F1F9D;
	}
	.clr-yellow {
		color: #FFFF00;
	}
	.clr-green {
		color: #878787;
	}
	.clr-green--type2 {
		color: #444444;
	}
	.clr-green--type3 {
		color: #138A13;
	}
	.clr-white {
		color: #fff;
	}
	/*■配置の設定*/
	/*縦位置*/
	.vertical-t {
		vertical-align: top !important;
	}
	.vertical-m {
		vertical-align: middle !important;
	}
	.vertical-b {
		vertical-align: bottom !important;
	}
	/*横位置*/
	.align-r {
		text-align: right !important;
	}
	.align-l {
		text-align: left !important;
	}
	.align-c {
		text-align: center !important;
	}
}
/* 移管ページ基本CSS
---------------------------------------- */
/* ----------------------------------------
移管ページ共通CSS
---------------------------------------- */
.transfer_page {
	/*タイトル*/
	.headline {
		font-size: 2.8rem;
		font-size: 7.4vw;
		margin-bottom: 15px;
		font-weight: normal;
		font-family: "Sawarabi Mincho";
		color: #142850;
		text-align: center;
	}
	.headline.btm {
		margin-bottom: 1em;
	}
	/*メッセージ*/
	.head-message {
		font-size: 3.4vw;
		line-height: 2em;
		margin-bottom: 10vw;
		text-align: center;
	}
	/*categoryタイプ*/
	.type1 {
		border: 1px solid #FF3C3C !important;
		color: #FF3C3C !important;
	}
	.type1 .arrow::after {
		border-left: 5px solid #FF3C3C !important;
	}
	.type2 {
		border: 1px solid #78F03C !important;
		color: #78F03C !important;
	}
	.type2 .arrow::after {
		border-left: 5px solid #78F03C !important;
	}
	.type3 {
		border: 1px solid #FFBE3C !important;
		color: #FFBE3C !important;
	}
	.type3 .arrow::after {
		border-left: 5px solid #FFBE3C !important;
	}
	.type4 {
		border: 1px solid #8200FF !important;
		color: #8200FF !important;
	}
	.type4 .arrow::after {
		border-left: 5px solid #8200FF !important;
	}
	.type5 {
		border: 1px solid #32FFB4 !important;
		color: #32FFB4 !important;
	}
	.type5 .arrow::after {
		border-left: 5px solid #32FFB4 !important;
	}
	/*csr*/
	.type-csr1 {
		border: 1px solid #78F03C !important;
		color: #78F03C !important;
	}
	.type-csr1 .arrow::after {
		border-left: 5px solid #78F03C !important;
	}
	.type-csr2 {
		border: 1px solid #32FFB4 !important;
		color: #32FFB4 !important;
	}
	.type-csr2 .arrow::after {
		border-left: 5px solid #32FFB4 !important;
	}
	.type-csr3 {
		border: 1px solid #8200FF !important;
		color: #8200FF !important;
	}
	.type-csr3 .arrow::after {
		border-left: 5px solid #8200FF !important;
	}
	/*gallery*/
	.type-gallery1 {
		border: 1px solid #FF3C3C !important;
		color: #FF3C3C !important;
	}
	.type-gallery1 .arrow::after {
		border-left: 5px solid #FF3C3C !important;
	}
	.type-gallery2 {
		border: 1px solid #78F03C !important;
		color: #78F03C !important;
	}
	.type-gallery2 .arrow::after {
		border-left: 5px solid #78F03C !important;
	}
	.type-gallery3 {
		border: 1px solid #8200FF !important;
		color: #8200FF !important;
	}
	.type-gallery3 .arrow::after {
		border-left: 5px solid #8200FF !important;
	}
	.type-gallery4 {
		border: 1px solid #FFBE3C !important;
		color: #FFBE3C !important;
	}
	.type-gallery4 .arrow::after {
		border-left: 5px solid #FFBE3C !important;
	}
	.type-gallery5 {
		border: 1px solid #32FFB4 !important;
		color: #32FFB4 !important;
	}
	.type-gallery5 .arrow::after {
		border-left: 5px solid #32FFB4 !important;
	}
	/*相談*/
	.consult-box {
		padding: 30px 0;
		text-align: center;
	}
	.consult-box .mincho {
		font-size: 2.4rem;
		font-size: 6vw;
		font-weight: normal;
		color: #142850;
		line-height: 1em;
		margin: 0 0 15px -25px;
	}
	.consult-box .mincho img {
		width: 20px;
		margin-right: 5px;
	}
	.consult-box p {
		font-size: 1.4rem;
		font-size: 3.3vw;
		line-height: 1.4em;
		color: #142850;
	}
	.consult-box p.tel {
		margin: 15px 0 20px;
		color: #B49650;
	}
	.consult-box p.tel em,
	.consult-box p.tel a {
		font-size: 2.4rem;
		font-size: 5.8vw;
		font-weight: bold;
		color: #B49650;
	}
	.consult-box p.tel em img {
		width: 16px;
	}
	/*ナビ*/
	.lower-navi {
		padding-bottom: 35px;
	}
	.lower-navi li {
		margin: 0 4px 5px;
	}
	.lower-navi li a {
		font-size: 1.2rem;
		line-height: 24px;
		text-align: center;
		color: #142850;
		min-width: 100px;
		padding: 0 1em;
		border: 1px solid #142850;
		-webkit-border-radius: 13px;
		border-radius: 13px;
	}
	/*下層ビジュアル*/
	.lower-visual {
		position: relative;
		width: 100%;
		height: 220px;
		height: 50vw;
		margin-top: -30px;
	}
	.lower-visual .title {
		font-size: 2.8rem;
		font-size: 7.6vw;
		line-height: 1.333em;
		font-weight: normal;
		text-align: center;
	}
	/*ページャー*/
	.bottom-fixed {
		display: none;
		position: fixed;
		left: 0px;
		bottom: 60px;
		width: 100%;
		z-index: 9999;
		-webkit-transition: bottom .5s ease;
		transition: bottom .5s ease;
	}
	.pager.bottom {
		padding-bottom: 50px;
	}
	.bottom-nav {
		background: rgba(20, 40, 80, 0.8);
		padding-top: 5px;
	}
	.bottom-nav .wrap {
		padding: 0;
	}
	.bottom-nav span:nth-child(1) {
		display: none;
	}
	.bottom-nav a:nth-child(2) {
		width: 39.48%;
		padding-left: 1.3%;
	}
	.bottom-nav a:nth-child(3),
	.bottom-nav a:nth-child(4) {
		width: 30.26%;
	}
}
/* 移管ページ共通CSS
---------------------------------------- */
/* ----------------------------------------
architecture
---------------------------------------- */
#arc_wrap {
	& a {
		text-decoration: none !important;
		color: #000;
	}
	& ol, & ul {
		list-style: none;
	}
	& ol, & ul, & p, & h2, & h3, & h4, & figure, & img {
		margin: 0;
		padding: 0;
	}
	& table {
		border-collapse: collapse;
		border-spacing: 0;
	}
	/* コンテンツ共通スタイル */
	.font_mincho {
		font-family: 游明朝, 'Yu Mincho', 'YuMincho', 'Hiragino Mincho Pro', 'HGS明朝E', serif;
	}
	.font_sanserif {
		font-family: Century Gothic, CenturyGothic, AppleGothic, Futura, sans-serif;
	}
	.arc_title {
		margin: 0 0 10px 0;
		padding: 20px 0 10px 0;
		font-size: clamp(29px, 7.6vw, 32px);
		line-height: 1.35;
		letter-spacing: 0.1em;
		font-weight: bold;
		text-align: center;
		position: relative;
		&:before {
			content: "";
			width: 312px;
			height: 36px;
			margin: auto;
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center;
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
		}
	}
	.arc_btn {
		display: block;
		width: 280px;
		padding: 20px 0;
		font-size: clamp(16px, 4.3vw, 18px);
		line-height: 24px;
		font-weight: bold;
		letter-spacing: 0.16em;
		text-align: center;
	}
	.arc_btn_bl {
		background: #0a701b;
		color: #FFF;
	}
	.arc_btn_wh {
		background: #FFF;
		color: #0a701b;
	}
	>main {
		#arc_greet_wrap {
			margin: 0 0 50px 0;
			padding: 35px 0 45px 0;
			background-image: url(/img/architecture/greet_bg.webp);
			background-repeat: no-repeat;
			background-size: cover;
			>div {
				width: 90vw;
				margin: 0 auto;
				text-align: center;
				>h2 {
					margin: 0 0 20px 0;
					font-size: clamp(24px, 6.4vw, 27px);
					line-height: 1.35;
					color: #FFF;
					letter-spacing: 0.2em;
				}
				>p {
					margin: 0 0 40px 0;
					font-size: clamp(13px, 3.5vw, 15px);
					line-height: 1.5;
					color: #FFF;
					letter-spacing: 0.2em;
				}
				>iframe {
					width: 100%;
					height: 250px;
				}
			}
		}
		#arc_point_wrap {
			margin: 0 0 0 0;
			padding: 0 0 50px 0;
			position: relative;
			&:before {
				content: "";
				width: 40%;
				height: calc(100% - 820px);
				background: #fbfbfb;
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: -1;
			}
			>div {
				width: 90vw;
				margin: 0 auto;
				.arc_title {
					&:before {
						background-image: url(/img/architecture/point_en.webp);
					}
				}
				.arc_point_box {
					margin: 0 0 40px 0;
					>img {
						display: block;
						width: 70vw;
						margin: 0 auto 20px auto;
					}
					>ul {
						box-sizing: border-box;
						padding: 25px;
						background: #fbfbfb;
						border-radius: 10px;
						>li {
							.arc_point_box_num {
								flex-shrink: 0;
								width: 110px;
								margin: 0 0 15px 0;
								padding: 5px 0;
								border-radius: 27px;
								font-size: clamp(16px, 4.3vw, 18px);
								line-height: 1.3;
								color: #FFF;
								text-align: center;
								letter-spacing: 0.1em;
								>br {
									display: none;
								}
							}
							&:nth-child(1) {
								.arc_point_box_num {
									background: #029317;
								}
							}
							&:nth-child(2) {
								.arc_point_box_num {
									background: #5f9744;
								}
							}
							&:nth-child(3) {
								.arc_point_box_num {
									background: #8bc938;
								}
							}
							&:not(:last-child) {
								margin-bottom: 20px;
								padding-bottom: 20px;
								border-bottom: 2px solid #cfd3ee;
							}
							.arc_point_box_txt {
								font-size: clamp(19px, 5vw, 21px);
								line-height: 1.2;
								letter-spacing: 0.02em;
								>span {
									color: #0a701b;
								}
							}
						}
					}
				}
				#arc_point_part {
					&:not(:last-of-type) {
						margin: 0 0 60px 0;
					}
					.arc_point_pa_tl {
						display: flex;
						align-items: center;
						gap: 0 10px;
						margin: 0 0 20px 0;
						>p {
							flex-shrink: 0;
							width: 80px;
							height: 80px;
							box-sizing: border-box;
							padding: 20px 0 20px 0;
							border-radius: 50%;
							background: #025911;
							font-size: 18px;
							line-height: 20px;
							color: #FFF;
							letter-spacing: 0.1em;
							text-align: center;
						}
						>h2 {
							font-size: clamp(20px, 5.2vw, 22px);
							line-height: 1.2;
							letter-spacing: 0.1em;
							>span {
								color: #0a701b;
							}
						}
					}
					.arc_point_pa_box {
						position: relative;
						>ul {
							margin: 0 0 20px 0;
							>li:not(:last-child) {
								margin: 0 0 20px 0;
							}
							>li {
								>h3 {
									margin: 0 0 15px 0;
									>span {
										background: linear-gradient(transparent 60%, #dceecf 60%);
										font-size: clamp(20px, 5.2vw, 22px);
										line-height: 1.3;
																				letter-spacing: 0.1em;
									}
								}
								>p {
									font-size: clamp(13px, 3.5vw, 15px);
									line-height: 1.75;
									letter-spacing: 0.08em;
								}
							}
						}
					}
					&:nth-of-type(1), &:nth-of-type(2) {
						& img {
							width: 100%;
							height: 300px !important;
							object-fit: cover;
							object-position: 0px -50px;
						}
					}
				}
			}
		}
		#arc_inq_wrap {
			padding: 40px 0;
			background-image: url(/img/architecture/inq_bg.webp);
			background-repeat: no-repeat;
			background-position: center;
			background-size: cover;
			>h2 {
				margin: 0 0 20px 0;
				font-size: clamp(22px, 6vw, 25px);
				line-height: 1.5;
				color: #FFF;
				text-align: center;
			}
			>ul {
				width: 90vw;
				margin: 0 auto;
				>li {
					&:not(:last-child) {
						margin: 0 0 10px 0;
					}
					>div {
						display: block;
						padding: 20px 0 20px 0;
						background: rgba(255, 255, 255, 0.87);
						border-radius: 5px;
						text-align: center;
						.arc_tel_name {
							margin: 0 0 14px 0;
							font-size: clamp(20px, 5.2vw, 22px);
							line-height: 1;
							font-weight: bold;
						}
						.arc_tel_num {
							margin: 0 0 15px 0;
							font-size: clamp(33px, 8.6vw, 36px);
							line-height: 1;
							font-weight: bold;
						}
						.arc_tel_txt {
							font-size: clamp(13px, 3.5vw, 15px);
							line-height: 1;
						}
					}
					>a {
						display: block;
						padding: 30px 0 30px 0;
						background: #0a701b;
						border-radius: 5px;
						text-align: center;
						color: #FFF;
						text-decoration: none !important;
						.arc_inq_mail_name {
							margin: 0 0 18px 0;
							font-size: clamp(20px, 5.2vw, 22px);
							line-height: 1;
							font-weight: bold;
						}
					}
				}
			}
		}
		#arc_case_wrap {
			margin: 0 0 50px 0;
			padding: 50px 0 50px 0;
			background: #fbfbfb;
			>div {
				width: 90vw;
				margin: 0 auto;
				.arc_title {
					&:before {
						background-image: url(/img/architecture/case_en.webp);
					}
				}
				>iframe {
					width: 100%;
					height: 450px;
					margin: 0 0 15px 0;
				}
			}
			.arc_btn {
				margin: 0 auto;
			}
		}
		#arc_bay_wrap {
			width: 100%;
			margin: 0 0 60px 0;
			padding: 40px 0;
			background-image: url(/img/architecture/bay_bg.webp);
			background-size: cover;
			>div {
				width: 90vw;
				margin: 0 auto;
				>div {
					color: #FFF;
					>h2 {
						margin: 0 0 15px 0;
						font-size: clamp(29px, 7.6vw, 32px);
						line-height: 1.5;
						letter-spacing: 0.15em;
						position: relative;
						&:before {
							content: "";
							width: 320px;
							height: 32px;
							background-image: url(/img/architecture/bay_en.webp);
							background-size: contain;
							background-repeat: no-repeat;
							background-position: center;
							position: absolute;
							bottom: -5px;
							right: -10px;
						}
					}
					.arc_bay_catch {
						margin: 0 0 15px 0;
						font-size: clamp(20px, 5.2vw, 22px);
						line-height: 1.3;
						letter-spacing: 0.1em;
					}
					>ul {
						display: flex;
						gap: 0 10px;
						margin: 0 0 15px 0;
						>li {
							width: calc((100% - 10px)/2);
						}
					}
					.arc_bay_txt {
						margin: 0 0 15px 0;
						font-size: clamp(13px, 3.5vw, 15px);
						line-height: 1.75;
						letter-spacing: 0.08em;
					}
					.arc_btn {
						margin: 0 auto;
					}
				}
			}
		}
		#arc_vo_wrap {
			width: 90vw;
			margin: 0 auto 50px auto;
			.arc_title {
				&:before {
					background-image: url(/img/architecture/voice_en.webp);
				}
			}
			>iframe {
				width: 100%;
				height: 430px;
			}
			.arc_btn {
				margin: 0 auto;
			}
		}
		#arc_sys_wrap {
			margin: 0 0 60px 0;
			padding: 50px 0 20px 0;
			background: #fbfbfb;
			>div {
				width: 90vw;
				box-sizing: border-box;
				margin: 0 auto;
				.arc_title {
					&:before {
						background-image: url(/img/architecture/system_en.webp);
					}
				}
				>div {
					>img {
						margin: 0 0 15px 0;
					}
					>ul {
						>li {
							padding: 20px 10px 20px 10px;
							&:not(:last-child) {
								border-bottom: 2px solid #dceecf;
							}
							.arc_sys_title {
								display: flex;
								align-items: center;
								gap: 0 10px;
								margin: 0 0 10px 0;
								>p {
									width: 45px;
									padding: 5px 0;
									background: #000;
									border-radius: 20px;
									font-size: 16px;
									line-height: 1;
									color: #FFF;
									text-align: center;
								}
								>h3 {
									font-size: clamp(20px, 5.2vw, 22px);
									line-height: 1.2;
									font-weight: bold;
									letter-spacing: 0.1em;
								}
							}
							>p {
								font-size: clamp(13px, 3.5vw, 15px);
								line-height: 1.75;
								letter-spacing: 0.08em;
							}
							&:nth-child(1) {
								.arc_sys_title {
									>p {
										background: #0a701b;
									}
									>h3 {
										color: #0a701b;
									}
								}
							}
							&:nth-child(2) {
								.arc_sys_title {
									>p {
										background: #025911;
									}
									>h3 {
										color: #025911;
									}
								}
							}
							&:nth-child(3) {
								.arc_sys_title {
									>p {
										background: #029317;
									}
									>h3 {
										color: #029317;
									}
								}
							}
						}
					}
				}
			}
		}
		#arc_flow_wrap {
			width: 90vw;
			margin: 0 auto 80px auto;
			.arc_title {
				&:before {
					background-image: url(/img/architecture/flow_en.webp);
				}
			}
			.arc_flow_txt {
				margin: 0 0 30px 0;
				font-size: clamp(14px, 3.8vw, 16px);
				line-height: 1.5;
				color: #1e2866;
				text-align: center;
				letter-spacing: 0.1em;
			}
			>ul {
				>li {
					position: relative;
					&:not(:last-child) {
						padding: 0 0 40px 0;
					}
					.arc_flow_part_title {
						display: flex;
						align-items: center;
						gap: 0 10px;
						margin: 0 0 15px 0;
						>p {
							flex-shrink: 0;
							width: 90px;
							padding: 8px 0;
							background: #025911;
							border-radius: 30px;
							font-size: 16px;
							line-height: 18px;
							color: #FFF;
							font-weight: bold;
							text-align: center;
							letter-spacing: 0.1em;
						}
						>h3 {
							font-size: clamp(18px, 4.8vw, 20px);
							line-height: 1.2;
							letter-spacing: 0.1em;
						}
					}
					.arc_flow_part_box {
						>img {
							display: block;
							width: clamp(90px, 25vw, 105px);
							margin: 0 auto 15px auto;
						}
						>div {
							box-sizing: border-box;
							padding: 20px;
							background: #fbfbfb;
							border-radius: 10px;
							font-size: clamp(13px, 3.5vw, 15px);
							line-height: 1.75;
							letter-spacing: 0.08em;
						}
					}
				}
			}
		}
		#arc_qa_wrap {
			width: 90vw;
			margin: 0 auto 60px auto;
			.arc_title {
				&:before {
					background-image: url(/img/architecture/qa_en.webp);
				}
			}
			.arc_qa_inner {
				#accordion {
					>dl {
						margin: 0;
					}
					.qa_block {
						display: block;
						overflow: hidden;
						margin-bottom: 10px;
						cursor: pointer;
						background: #fbfbfb;
						&:last-of-type {
							margin-bottom: 0;
						}
						>dt {
							display: block;
							padding: 15px 15px;
							position: relative;
							overflow: hidden;
							.title {
								display: flex;
								align-items: flex-start;
								gap: 0 15px;
								&:before {
									content: "";
									width: 18px;
									height: 18px;
									background-image: url(/img/career/new_top/icon_q.webp);
									background-repeat: no-repeat;
									background-size: contain;
									flex-shrink: 0;
								}
								>p {
									width: calc(100% - 60px);
									font-size: clamp(13px, 3.6vw, 15px);
									line-height: 18px;
									color: #37474f;
									font-weight: bold;
									letter-spacing: 0.1em;
								}
							}
							.accordion_icon {
								margin: auto;
								position: absolute;
								right: 25px;
								top: 0;
								bottom: 0;
								>span {
									display: block;
									width: 3px;
									height: 16px;
									margin: auto;
									background: #025911;
									position: absolute;
									left: 0;
									right: 0;
									top: 0;
									bottom: 0;
									transition: all 0.2s;
								}
								>span:nth-child(2) {
									transform: rotate(90deg);
								}
							}
							.accordion_icon.active {
								>span:nth-child(1) {
									transform: rotate(90deg);
								}
							}
						}
						>dd {
							margin: 0;
							padding: 0 15px;
							background: #f1fbe8;
							>p {
								padding: 15px 0;
								font-size: clamp(12px, 3.2vw, 14px);
								line-height: 18px;
								color: #37474f;
								font-weight: bold;
								letter-spacing: 0.1em;
							}
						}
					}
				}
			}
		}
		#arc_service_wrap {
			margin: 0 auto 0 auto;
			padding: 50px 0 50px 0;
			background: #fbfbfb;
			>div {
				width: 90vw;
				margin: 0 auto;
				.arc_title {
					&:before {
						background-image: url(/img/architecture/service_en.webp);
					}
				}
				>p {
					margin: 0 0 20px 0;
					font-size: clamp(14px, 3.8vw, 16px);
					line-height: 1.5;
					text-align: center;
					letter-spacing: 0.1em;
				}
				>ul {
					>li {
						&:not(:last-child) {
							margin: 0 0 15px 0;
						}
						>a {
							display: flex;
							gap: 0 15px;
							padding: 15px;
							background: #FFF;
							border-radius: 10px;
							overflow: hidden;
							position: relative;
							&:after {
								content: "";
								width: 10px;
								height: 100%;
								position: absolute;
								right: 0;
								top: 0;
							}
							.arc_service_img {
								width: 141px;
								height: 119px;
								border-radius: 5px;
								overflow: hidden;
								>img {
									width: 100%;
									height: 100% !important;
									object-fit: cover;
									transition: all 0.2s;
								}
							}
							.arc_service_box {
								>p {
									font-weight: bold;
								}
								.arc_service_box_name {
									margin: 33px 0 0px 0;
									font-size: clamp(18px, 4.8vw, 20px);
									line-height: 1.25;
									letter-spacing: 0.16em;
								}
								.arc_service_box_txt {
									font-size: clamp(13px, 3.6vw, 15px);
									line-height: 1.45;
									letter-spacing: 0.06em;
								}
							}
						}
						&:nth-child(1) {
							>a {
								&:after {
									background-color: #0a701b;
								}
							}
						}
						&:nth-child(2) {
							>a {
								&:after {
									background-color: #029317;
								}
							}
						}
						&:nth-child(3) {
							>a {
								&:after {
									background-color: #5f9744;
								}
							}
						}
					}
				}
			}
		}
	}
}
ul.t_result_cms_w {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style-type: none;
	& li {
		width: calc((100% - 6px)/2);
		height: 120px;
		box-sizing: border-box;
		padding: 15px 0 0 0;
		background: #FFF;
		font-family: -apple-system, BlinkMacSystemFont, 'Arial', '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
		font-weight: 500;
		text-align: center;
		.t_result_name {
			margin: 0 0 5px 0;
			font-size: clamp(14px, 3.8vw, 16px);
			line-height: 20px;
			letter-spacing: 0.1em;
		}
		.t_result_num {
			display: flex;
			align-items: baseline;
			justify-content: center;
			gap: 0 5px;
			font-size: clamp(14px, 3.8vw, 16px);
			line-height: 20px;
			color: #09247b;
		}
		.t_result_caution {
			font-size: clamp(10px, 2.5vw, 12px);
			line-height: 14px;
		}
		span.t_result_cms {
			font-size: 40px;
			line-height: 36px;
			color: #09247b;
			letter-spacing: 0.03em;
		}
		span.t_result_cmsm {
			font-size: 40px;
			line-height: 36px;
			color: #0a701b;
			letter-spacing: 0.03em;
		}
	}
}
.arc_vo_slider {
	overflow: hidden;
}
.arc_vo_cms {
	display: flex;
	justify-content: space-between;
	margin: 0 0 20px 0;
	padding: 0;
	list-style: none;
	>li {
		width: 270px;
		>a {
			display: block;
			text-decoration: none;
			color: #333;
			.arc_vo_img {
				overflow: hidden;
				height: 240px;
				margin: 0 0 15px 0;
				border-radius: 10px;
				>img {
					width: 100%;
					height: 100% !important;
					object-fit: cover;
				}
			}
			>p {
				margin: 0 0 10px 0;
				>span {
					font-size: 16px;
					line-height: 1.3;
					font-weight: bold;
					letter-spacing: 0.05em;
				}
			}
			.arc_vo_tag {
				>p {
					display: flex;
					flex-wrap: wrap;
					gap: 5px 8px;
					.cms_topic_tag {
						min-width: 50px;
						box-sizing: border-box;
						padding: 4px 8px;
						background: #f1f5f7;
						font-size: 11px;
						line-height: 1;
						font-weight: bold;
						text-align: center;
					}
				}
			}
		}
	}
}
.arc_vo_slider_page {
	display: flex;
	justify-content: center;
	& span {
		width: 8px;
		height: 8px;
		background: #CCC;
		opacity: 1;
		&[class*="swiper-pagination-bullet-active"] {
			background: #2b438d;
		}
	}
}
.arc_case_slider {
	margin: 0 0 15px 0;
	overflow: hidden;
}
.arc_case_cms {
	margin: 0;
	padding: 0;
	margin: 0 0 15px 0;
	list-style: none;
	>li {
		width: 270px;
		>a {
			display: block;
			padding: 13px;
			background: #FFF;
			color: #333;
			position: relative;
			text-decoration: none;
			>p {
				width: 100px;
				padding: 7px 0;
				background: #09247b;
				font-size: 13px;
				line-height: 1;
				font-weight: bold;
				color: #FFF;
				letter-spacing: 0.1em;
				text-align: center;
				position: absolute;
				top: 23px;
				left: 0;
			}
			.arc_case_img {
				height: 200px;
				margin: 0 0 15px 0;
				overflow: hidden;
				>img {
					width: 100%;
					height: 100%;
					object-fit: cover;
				}
			}
			.arc_case_txt {
				display: flex;
				align-items: center;
				gap: 0 15px;
				margin: 0 0 12px 0;
				>p {
					line-height: 1;
					font-weight: bold;
					letter-spacing: 0.1em;
				}
				.arc_case_name {
					font-size: 18px;
					color: #09247b;
				}
				.arc_case_area {
					display: flex;
					align-items: flex-end;
					gap: 0 8px;
					font-size: 14px;
					&:before {
						content: "";
						width: 1px;
						height: 16px;
						background: #000;
						transform: rotate(25deg);
					}
				}
			}
			>ul {
				display: flex;
				flex-wrap: wrap;
				gap: 5px;
				margin: 0;
				padding: 0;
				list-style: none;
				>li {
					padding: 5px 8px;
					background: #e3e3e3;
					font-size: 13px;
					line-height: 1;
					font-weight: bold;
					letter-spacing: 0.1em;
				}
			}
		}
	}
}
.arc_case_slider_page {
	display: flex;
	justify-content: center;
	& span {
		width: 8px;
		height: 8px;
		background: #CCC;
		opacity: 1;
		&[class*="swiper-pagination-bullet-active"] {
			background: #2b438d;
		}
	}
}