@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
/* mainVisual */
#main .mainVisual {
	padding-bottom: 1px;
	background: url(../image/index/main_bg01.jpg) no-repeat left top / auto 100%,url(../image/index/main_bg02.jpg) no-repeat right top / auto 100%;
	box-shadow: 0rem 0.5rem 2.7rem 0rem rgba(0, 0, 0, 0.31);
	height: 69rem;
	position: relative;
}
#main .mainVisual .content {
	margin-bottom: -3.6rem;
	position: relative;
	display: flex;
	align-items:center;
	justify-content: space-between;
}
#main .mainVisual .textBox {
	padding-bottom: 2rem;
	flex: 1;
}
#main .mainVisual .posImage {
	position: absolute;
	width: 50rem;
	left: 14.5rem;
	bottom: -4.4rem;
	pointer-events: none;
}
#main .mainVisual h2 {
	margin-bottom: 2.8rem;
	width: 44.5rem;
}
#main .mainVisual .photo {
	margin: -2.7rem -15.8rem -1rem 0;
	width: 79.5rem;
	position: relative;
	z-index: 1;
}
@media (min-width: 1340px) and (max-width: 1530px) {
	#main .mainVisual {
		height: 45.098vw;
	}
	#main .mainVisual .content {
		width: 78.431vw;
	}
	#main .mainVisual .content {
		margin-bottom: -2.353vw;
	}
	#main .mainVisual .textBox {
		padding-bottom: 1.307vw;
	}
	#main .mainVisual .posImage {
		width: 32.68vw;
		left: 9.477vw;
		bottom: -2.876vw;
	}
	#main .mainVisual h2 {
		margin-bottom: 1.83vw;
		width: 29.085vw;
	}
	#main .mainVisual .photo {
		margin: -1.765vw -10.327vw -0.654vw 0;
		width: 51.961vw;
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	#main .mainVisual {
		height: 60.4rem;
	}
	#main .mainVisual .content {
		width: 105.2rem;
	}
	#main .mainVisual .content {
		margin-bottom: -3.2rem;
	}
	#main .mainVisual .textBox {
		padding-bottom: 1.8rem;
	}
	#main .mainVisual .posImage {
		width: 43.8rem;
		left: 12.6rem;
		bottom: -3.9rem;
	}
	#main .mainVisual h2 {
		margin-bottom: 2.5rem;
		width: 39rem;
	}
	#main .mainVisual .photo {
		margin: -2.3rem -13.8rem -0.9rem 0;
		width: 69.6rem;
	}
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		padding: 13.333vw 0 4.103vw;
		height: auto;
		background: url(../image/index/main_bg_sp.jpg) no-repeat center top / 100% 100%;
		box-shadow: none;
	}
	#main .mainVisual .content {
		margin: 0;
		display: block;
	}
	#main .mainVisual .mainImg {
		margin: 0 auto;
		max-width: 100vw;
	}
	#main .mainVisual .textBox {
		padding: 0 10vw;
	}
	#main .mainVisual h2 {
		margin: 0 0 4.103vw -1.538vw;
		width: 62.564vw;
	}
}
/* techsavy */
#main .techsavy {
	padding: 7.7rem 0 7.9rem;
	background: url(../image/index/bg01.png) no-repeat left -15.8rem top -22rem / 67.1rem;
	overflow: hidden;
}
#main .techsavy .content {
	padding: 8.1rem 9.6rem 7.3rem;
	border-radius: 2.5rem;
	background: #F4F4F4;
	position: relative;
	z-index: 1;
}
#main .techsavy .content::after {
	width: 73.4rem;
	height: 63.1rem;
	content: "";
	position: absolute;
	right: -25rem;
	pointer-events: none;
	bottom: -26rem;
	background: url(../image/index/bg02.png) no-repeat center top / 100%;
}
#main .techsavy .heading {
	margin-bottom: 2.9rem;
	font-size: 2.5rem;
	font-weight: 900;
	line-height: 1.2;
	color: #646464;
	letter-spacing: -0.02em;
}
#main .techsavy .heading span {
	font-size: 4.4rem;
	color: #386BBF;
	line-height: 1.2;
}
#main .techsavy p {
	line-height: 2;
	letter-spacing: -0.08em;
}
#main .techsavy .textBox {
	width: 77rem;
}
#main .techsavy .photoBox {
	width: 42.9rem;
	position: absolute;
	right: -5.6rem;
	top: -3.8rem;
}
@media (min-width: 1340px) and (max-width: 1530px) {
	#main .techsavy {
		padding-top: 5.033vw;
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	#main .techsavy {
		padding-top: 6.7rem;
	}
}
@media all and (max-width: 896px) {
	#main .techsavy {
		padding: 3rem 0 26.7rem;
		background: none;
	}
	#main .techsavy .photoBox {
		width: 36.1rem;
		top: calc(100% - 1.9rem);
		left: 0.3rem;
		z-index: 2;
	}
	#main .techsavy .content {
		padding: 2.7rem 2.5rem 3rem;
		border-radius: 0.9rem;
	}
	#main .techsavy .textBox {
		width: auto;
	}
	#main .techsavy .heading {
		margin: 0 -2rem 2.2rem;
		font-size: 1.8rem;
		text-align: center;
	}
	#main .techsavy .heading span {
		margin-top: 1.3rem;
		display: block;
		font-size: 2.7rem;
	}
	#main .techsavy p {
		margin-bottom: 2.1rem;
		line-height: 1.75;
	}
	#main .techsavy p:last-child {
		margin-bottom: 0;
	}
	#main .techsavy .content::after {
		width: 25.8rem;
		height: 17.9rem;
		left: -6.2rem;
		right: auto;
		bottom: -31.5rem;
		background-image: url(../image/index/bg10.png);
	}
}
/* work */
#main .work {
	padding: 11.7rem 0.7rem 15.7rem 0;
	background: #F7F7F7;
	position: relative;
	overflow: hidden;
}
#main .work .posPhoto01 {
	position: absolute;
	width: 32rem;
	left: calc(50% + 48rem);
	bottom: 0;
}
#main .work .innerBox01 {
	margin-bottom: 9.6rem;
	position: relative;
	z-index: 1;
	padding-bottom: 2rem;
}
#main .work .innerBox01::before {
	width: 72.7rem;
	height: 48.8rem;
	content: "";
	position: absolute;
	right: -24.5rem;
	top: -40.6rem;
	pointer-events: none;
	background: url(../image/index/bg03.png) no-repeat center top / 100%;
}
#main .work .innerBox01::after {
	width: 82.4rem;
	height: 95.4rem;
	content: "";
	position: absolute;
	left: -46.3rem;
	bottom: -34rem;
	z-index: -1;
	pointer-events: none;
	background: url(../image/index/bg04.png) no-repeat center top / 100%;
}
#main .work .list01 {
	margin-left: auto;
	width: 100.8rem;
	gap: 7.9rem 4.39rem;
}
#main .work .list01 li {
	padding: 6rem 3rem 4.3rem;
	width: calc((100% - 8.8rem) / 3);
	border-radius: 2rem;
	background: #fff;
	position: relative;
}
#main .work .list01 .icoBox {
	width: 10.2rem;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-50%);
}
#main .work .list01 p {
	font-size: 1.8rem;
	line-height: 1.667;
	font-weight: 500;
	color: #4D4D4D;
	letter-spacing: -0.05em;
}
#main .work .list01 .title {
	margin: 0 -2.5rem 1.2rem;
	font-size: 2.4rem;
	line-height: 1.25;
	text-align: center;
	font-weight: 900;
	color: #010101;
	letter-spacing: -0.05em;
}
#main .work .list01 .title02 {
	font-size: 2.2rem;
	letter-spacing: 0;
}
#main .work .posPhoto {
	width: 18.7rem;
	position: absolute;
	left: -7.5rem;
	bottom: 0;
}
#main .work .list02 li {
	display: flex;
	align-items: flex-start;
	position: relative;
	z-index: 2;
	gap: 2.8rem;
}
#main .work .list02 li + li {
	margin-top: 2.3rem;
}
#main .work .list02 .photoBox {
	width: 28.9rem;
}
#main .work .list02 .textBox {
	width: 78rem;
}
#main .work .list02 .heading {
	margin: 3.3rem 0 1.4rem;
	font-size: 3rem;
	line-height: 1.067;
	font-weight: 900;
}
#main .work .list02 .heading span {
	margin: 0 0.6rem;
	padding: 0 2.2rem;
	font-size: 1.9rem;
	color: #386BBF;
	line-height: 1.684;
	background: #FBEF6C;
	display: inline-block;
}
#main .work .list02 p {
	line-height: 1.895;
	letter-spacing: -0.03em;
}
@media (min-width: 897px) and (max-width: 1599px) {
	#main .work .posPhoto01 {
		width: 20.915vw;
		left: auto;
	 	right: -0.2rem;
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	#main .work .posPhoto01 {
		width: 28rem;
	}
}
@media all and (max-width: 896px) {
	#main .work {
		padding: 4.2rem 0 4.5rem;
	}
	#main .work .innerBox01::before {
		display: none;
	}
	#main .work .list01 {
		width: 100%;
		gap: 3rem 1rem;
	}
	#main .work .list01 li {
		padding: 3.8rem 1.8rem 2.9rem;
		width: calc(50% - 0.5rem);
		border-radius: 0.9rem;
	}
	#main .work .list01 .item {
		padding: 3.4rem 2.5rem 2.9rem;
		width: 68.2%;
	}
	#main .work .list01 li:last-child {
		width: 100%;
	}
	#main .work .list01 .title {
		margin-bottom: 1rem;
		font-size: 1.5rem;
		line-height: 1.4;
	}
	#main .work .list01 p {
		font-size: 1.4rem;
		line-height: 1.714;
	}
	#main .work .list01 .icoBox {
		width: 5.1rem;
	}
	#main .work .posPhoto {
		width: 8.2rem;
		right: 1rem;
		top: 0.5rem;
		left: auto;
		bottom: auto;
	}
	#main .work .innerBox01::after {
		width: 28rem;
		height: 46.8rem;
		left: auto;
		right: -2rem;
		bottom: auto;
		top: -4.1rem;
		background-image: url(../image/index/bg04_sp.png);
	}
	#main .work .list02 li {
		flex-wrap: wrap;
	}
	#main .work .list02 .textBox {
		width: auto;
	}
	#main .work .list02 .photoBox {
		width: 10.5rem;
		left: 0;
		top: 0;
		position: absolute;
	}
	#main .work .innerBox01 {
		margin-bottom: 1.8rem;
	}
	#main .work .list02 .heading {
		margin: 2.5rem -1rem 3.8rem 12.8rem;
		font-size: 1.5rem;
		display: flex;
		justify-content: flex-start;
		flex-direction: column-reverse;
	}
	#main .work .list02 .heading span {
		margin: 0 0 1.1rem;
		padding: 0.2rem 2.4rem;
		width: fit-content;
		font-size: 1.4rem;
	}
	#main .work .list02 p {
		line-height: 1.714;
		text-align: justify;
	}
	#main .work .list02 li + li {
		margin-top: 3rem;
	}
	#main .work .list02 .item02 .heading {
		margin-left: 12rem;
	}
	#main .work .list02 .item02 p {
		max-width: 70%;
	}
	#main .work .posPhoto01 {
		width: 9.7rem;
		left: auto;
		right: 0;
		bottom: -0.7rem;
	}
}
/* candidate */
#main .candidate {
	padding: 10.4rem 0 14.4rem;
	position: relative;
}
#main .candidate::before {
	width: 99.1rem;
	height: 64.6rem;
	content: "";
	position: absolute;
	left: calc(50% + 8.4rem);
	top: -15.5rem;
	pointer-events: none;
	background: url(../image/index/bg06.png) no-repeat center top / 100%;
}
#main .candidate::after {
	width: 99.1rem;
	height: 64.6rem;
	content: "";
	position: absolute;
	right: calc(50% + 28.2rem);
	bottom: -16.6rem;
	z-index: 1;
	pointer-events: none;
	background: url(../image/index/bg05.png) no-repeat center top / 100%;
}
#main .candidate .comTitleBox {
	margin-bottom: 4.5rem;
}
#main .candidate .innerBox p {
	line-height: 2.105;
	letter-spacing: -0.04em;
}
#main .candidate .innerBox p + .headLine02 {
	margin-bottom: 2.2rem;
	margin-top: 5.3rem;
}
#main .candidate .subBox h4{
	color: #386BBF;
	line-height: 1.895;
	background: #F0F0F0;
	border-radius: 1.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .candidate .textImgBox {
	margin-bottom: 1.9rem;
	padding: 2.6rem 0;
	border-bottom: 1px solid #acacac;
}
#main .candidate .textImgBox img {
	width: 80.9rem;
}
#main .candidate .innerBox {
	margin: 0 auto;
	width: 106.4rem;
	position: relative;
	z-index: 2;
}
@media all and (max-width: 896px) {
	#main .candidate {
		padding: 3rem 0 3.4rem;
	}
	#main .candidate::before {
		width: 30rem;
		height: 20rem;
		right: -8.3rem;
		left: auto;
		top: -4rem;
	}
	#main .candidate::after {
		width: 29.8rem;
		height: 20rem;
		left: -14.7rem;
		bottom: -5.1rem;
	}
	#main .candidate .innerBox {
		width: auto;
	}
	#main .candidate .comTitleBox {
		margin-bottom: 3.5rem;
	}
	#main .candidate .textImgBox {
		margin-bottom: 2rem;
		padding: 1.8rem 3.9rem 1.9rem 0;
	}
	#main .candidate .textImgBox img {
		width: 100%;
	}
	#main .candidate .innerBox p {
		margin-bottom: 1.7rem;
		line-height: 1.714;
	}
	#main .candidate .innerBox p + .headLine02 {
		margin-bottom: 1.2rem;
		margin-top: 5rem;
		padding-bottom: 0.7rem;
	}
}
/* flow */
#main .weekflow {
	padding: 15.4rem 0 16.4rem;
	background: #f7f7f7;
	position: relative;
}
#main .weekflow::after {
	width: 96.1rem;
	height: 86.9rem;
	content: "";
	position: absolute;
	left: calc(50% + 19.2rem);
	bottom: -14.5rem;
	background: url(../image/index/bg08.png) no-repeat center top / 100%;
}
#main .weekflow .headLine01 {
	margin-bottom: 3.9rem;
}
#main .weekflow .content {
	position: relative;
	z-index: 1;
}
#main .weekflow .posPhoto {
	width: 21.9rem;
	position: absolute;
	left: 24.5rem;
	bottom: calc(100% - 9.5rem);
}
#main .weekflow .imgList {
	margin-top: 7.6rem;
	gap: 2.39rem;
}
#main .weekflow .imgList li {
	width: calc((100% - 4.8rem) / 3);
}
@media all and (max-width: 896px) {
	#main .weekflow {
		padding: 4.4rem 0 4rem;
	}
	#main .weekflow::before {
		width: 100%;
		height: 68vw;
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		background: #fff;
	}
	#main .weekflow::after {
		width: 28rem;
		height: 25.9rem;
		bottom: -6.7rem;
		left: auto;
		right: -10.3rem;
	}
	#main .weekflow .headLine01 {
		margin-bottom: 0.7rem;
	}
	#main .weekflow .posPhoto {
		width: 8rem;
		left: 14.5rem;
		bottom: calc(100% - 3.9rem);
	}
	#main .weekflow .table {
		padding-bottom: 2.3rem;
		overflow-x: scroll;
	}
	#main .weekflow .table img {
		min-width: 72rem;
		width: 100%;
		max-width: inherit;
	}
	#main .weekflow .imgList {
		margin-top: 2.7rem;
		gap: 0.79rem;
	}
	#main .weekflow .imgList li {
		width: calc((100% - 1.6rem) / 3);
	}
}
/* onboarding */
#main .onboarding {
	padding: 9.3rem 0 5rem;
}
#main .onboarding .flowList {
	margin: 0 -1.1rem 0 -0.7rem;
	padding-top: 1px;
	gap: 4.59rem;
	align-items: flex-start;
}
#main .onboarding .flowList > li {
	padding: 3.5rem 3.4rem 6rem;
	width: calc((100% - 9.2rem) / 3);
	min-height: 43.4rem;
	border-radius: 2rem;
	background: #F4F4F4;
}
#main .onboarding .flowList p {
	margin-bottom: 2.7rem;
	padding-bottom: 3.1rem;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 0.05em;
	color: #386ABF;
	font-weight: 900;
	border-bottom: 1px solid #565656;
}
#main .onboarding .flowList .item01 {
	margin-top: -3.7rem;
	background: rgba(176, 213, 236, 0.75);
}
#main .onboarding .flowList .item02 {
	margin-top: -7.3rem;
	background: #99C9E6;
}
#main .onboarding .title {
	margin: 0 auto 3.1rem;
	padding: 0.5rem 1rem;
	width: fit-content;
	min-width: 30rem;
	min-height: 7.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 7rem;
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.01em;
	color: #565656;
	background: #fff;
}
#main .onboarding .subUl li {
	padding-left: 2.7rem;
	font-size: 1.7rem;
	line-height: 2.117;
	font-weight: 700;
	text-indent: -2.7rem;
	letter-spacing: 0.05em;
}
#main .onboarding .subUl li::before {
	margin: 0 0.8rem;
	content: "●";
	color: #386ABF;
	font-size: 1.2rem;
	vertical-align: 0.3rem;
}
#main .onboarding .subUl li span {
	margin-top: 1.1rem;
	text-indent: 0;
	font-size: 1.6rem;
	line-height: 1.75;
	font-weight: 400;
	display: inline-block;
}
@media all and (min-width: 897px) {
	#main .onboarding .comTitleBox p {
		margin-top: 2.3rem;
		color: #000;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	#main .onboarding .flowList .text {
		font-size: 2.4rem;
	}
	#main .onboarding .comTitleBox {
		margin-bottom: 7rem;
	}
}
@media all and (max-width: 896px) {
	#main .onboarding {
		padding: 0.5rem 0 4.4rem;
	}
	#main .onboarding .flowList {
		margin: 0;
		padding: 0;
		display: block;
	}
	#main .onboarding .flowList > li {
		padding: 2rem 1.8rem 2.6rem;
		width: 100%;
		border-radius: 0.75rem;
		min-height: inherit;
	}
	#main .onboarding .flowList > li + li {
		margin-top: 1.5rem !important;
	}
	#main .onboarding .comTitleBox {
		margin-bottom: 1.8rem;
	}
	#main .onboarding .title {
		margin-bottom: 1.4rem;
		font-size: 1.5rem;
		min-width: 15rem;
		min-height: 3.7rem;
	}
	#main .onboarding .flowList p {
		margin-bottom: 1.1rem;
		padding-bottom: 1.1rem;
		font-size: 1.5rem;
		line-height: 1.2;
	}
	#main .onboarding .subUl li {
		padding-left: 2.6rem;
		font-size: 1.4rem;
		line-height: 1.75;
	}
	#main .onboarding .subUl li + li {
		margin-top: 0.5rem;
	}
	#main .onboarding .subUl li::before {
		font-size: 0.8rem;
	}
	#main .onboarding .subUl li span {
		font-size: 1.2rem;
		line-height: 2;
		display: block;
		text-align: left;
	}
}
/* faqBox */
#main .faqBox {
	padding: 21.8rem 0 9.9rem;
	background: #F7F7F7;
}
#main .faqBox .content {
	position: relative;
	z-index: 2;
}
#main .faqBox .titleBox {
	margin-bottom: 9.8rem;
}
#main .faqBox .headLine01 {
	width: fit-content;
	position: relative;
}
#main .faqBox .headLine01 .textImg {
	width: 34.6rem;
	display: block;
	position: absolute;
	top: -17.8rem;
	left: calc(100% + 3.2rem);
}
#main .faqBox .linkList {
	gap: 3.8rem;
}
#main .faqBox .linkList a {
	padding: 1rem 5.8rem 1rem 0;
	font-size: 2rem;
	color: #376CC1;
	display: block;
	font-weight: 700;
	text-decoration: underline;
	background: url(../navi-img/arrow_icon04.png) no-repeat center right / 4.2rem;
}
#main .faqBox .innerBox {
	margin-bottom: 8.2rem;
}
#main .faqBox .heading {
	margin-bottom: 1.4rem;
	padding: 1.8rem 1.5rem;
	text-align: center;
	color: #376CC1;
	font-size: 3rem;
	letter-spacing: 0.15em;
	border-radius: 1.5rem;
	background: rgba(176, 213, 236, 0.75);
	position: relative;
}
#main .faqBox .heading .posIco {
	width: 10.5rem;
	position: absolute;
	right: calc(100% + 3.7rem);
	top: 50%;
	transform: translateY(-50%);
}
#main .faqBox dl .en {
	font-size: 5.5rem;
	display: block;
	line-height: 1;
	color: #376CC1;
	position: absolute;
	left: 3.8rem;
	top: 3rem;
	font-weight: 500;
}
#main .faqBox dt {
	padding: 4.4rem 7.5rem 4.4rem 10.8rem;
	font-size: 2rem;
	line-height: 1.8;
	cursor: pointer;
	border-bottom: 1px solid #ccc;
}
#main .faqBox dt::after {
	width: 4.2rem;
	height: 4.2rem;
	content: "";
	position: absolute;
	right: 2.9rem;
	top: 50%;
	transition: 0.3s;
	transform: translateY(-50%);
	background: url(../navi-img/arrow_icon04.png) no-repeat center top / 100%;
}
#main .faqBox dt.on::after {
	transform: translateY(-50%) rotate(180deg);
}
#main .faqBox dt {
	position: relative;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#main .faqBox dd .inner {
	position: relative;
	letter-spacing: 0.05em;
}
#main .faqBox dd {
	display: none;
}
#main .faqBox dd .en {
	color: #FF0000;
}
#main .faqBox dd .inner {
	padding: 4.1rem 6rem 3.5rem 11rem;
	font-size: 1.7rem;
	line-height: 2.117;
}
#main .faqBox .lineBox {
	margin: 9.1rem 0 0;
	padding: 2.9rem 2.9rem 1rem;
	display: flex;
	justify-content: space-between;
	background: #fff;
	gap: 2.6rem;
	border: 0.7rem solid #00BD00;
}
#main .faqBox .lineBox a {
	display: block;
}
#main .faqBox .lineBox .line {
	width: 28.5rem;
}
#main .faqBox .lineBox .textBox {
	flex: 1;
}
#main .faqBox .lineBox .qrBox {
	margin: -1.2rem -1.2rem 0 0;
	width: 14.9rem;
}
#main .faqBox .lineBox .head {
	margin-bottom: 1.5rem;
	letter-spacing: 0.05em;
	font-size: 4.45rem;
	line-height: 1;
}
#main .faqBox .lineBox .head .en {
	font-weight: 900;
	margin-left: 4rem;
}
#main .faqBox .lineBox p {
	line-height: 1.75;
	font-size: 1.8rem;
	font-weight: 500;
}
@media all and (min-width: 1025px) {
	#main .faqBox a:hover {
		opacity: 0.8;
	}
}
@media (min-width: 1340px) and (max-width: 1517px) {
	#main .faqBox .heading .posIco {
		width: min(6.922vw,3.92vw);
		right: calc(100% + 0.5vw);
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	#main .faqBox .heading .posIco {
		width: 5rem;
		right: calc(100% + 0.5rem);
	}
}
@media all and (max-width: 896px) {
	#main .faqBox {
		padding: 7.6rem 0 4rem;
	}
	#main .faqBox .titleBox {
		margin-bottom: 1.6rem;
		display: block;
	}
	#main .faqBox .headLine01 .textImg {
		width: 14.6rem;
		display: block;
		position: absolute;
		top: -6.4rem;
		left: calc(100% + 2.4rem);
	}
	#main .faqBox .headLine01 {
		margin-bottom: 2.6rem;
	}
	#main .faqBox .linkList {
		width: fit-content;
		margin: 0 auto;
		gap: 2.9rem;
	}
	#main .faqBox .linkList a {
		padding-right: 3.7rem;
		font-size: 1.35rem;
		background-size: 2.7rem;
	}
	#main .faqBox .heading {
		margin-bottom: 0.4rem;
		padding: 0.9rem 1rem;
		font-size: 1.5rem;
		border-radius: 0.75rem;
	}
	#main .faqBox .heading .posIco {
		display: none;
	}
	#main .faqBox dl .en {
		font-size: 2.9rem;
		left: 0.4rem;
		top: 1.5rem;
	}
	#main .faqBox dt {
		padding: 1.7rem 3rem 1.5rem 3.7rem;
		font-size: 1.4rem;
	}
	#main .faqBox dd .inner {
		padding: 1.9rem 1rem 2.2rem 3.5rem;
		font-size: 1.25rem;
		line-height: 1.75;
	}
	#main .faqBox dt::after {
		width: 2.7rem;
		height: 2.7rem;
		right: 0;
	}
	#main .faqBox .innerBox {
		margin-bottom: 4rem;
	}
	#main .faqBox .lineBox {
		margin-top: 4rem;
		padding: 1.5rem 1.4rem 1.6rem;
		border-width: 0.3rem;
		display: block;
		position: relative;
	}
	#main .faqBox .lineBox .line {
		width: 14rem;
		position: absolute;
		left: 1.5rem;
		top: 1.5rem;
	}
	#main .faqBox .lineBox .head {
		margin: 0 0 1.7rem auto;
		width: calc(100% - 15rem);
		min-height: 5.7rem;
		font-size: 2.228rem;
		line-height: 1.324;
	}
	#main .faqBox .lineBox .head  .en {
		margin: 0;
	}
	#main .faqBox .lineBox p {
		width: calc(100% - 11rem);
		font-size: 1.2rem;
		line-height: 1.75;
		position: relative;
		z-index: 1;
	}
	#main .faqBox .lineBox p + p {
		margin-top: 0.8rem;
	}
	#main .faqBox .lineBox .qrBox {
		margin: 0;
		width: 10.3rem;
		position: absolute;
		right: 1rem;
		bottom: 1rem;
	}
}

/*-------------------------------------------*/
/* contactSec */
#main .contactSec {
	position: relative;
	z-index: 1;
	padding: 8rem 0;
}
#main .contactSec .content {
	position: relative;
	width: 121rem;
}
#main .contactSec .content:after {
	width: 96rem;  
	aspect-ratio: 1920 / 1400;
	background: url(../image/index/contact_bg01.png) no-repeat;
	background-size: 100% auto;
	position: absolute;  
	top: -41.5rem;
	right: -54.7rem;
	z-index: -1;
	content: ""; 
}
#main .contactSec .ttlBox {
	margin-bottom: 3.6rem;
	align-items: flex-start;
}
#main .contactSec .ttlBox .rBox {
	width: 46.2rem;
	margin: -4rem 2rem 0 0;
	text-align: center;
}
#main .contactSec .ttlBox .rBox .photo {
	width: 25.5rem;
	margin: 0 auto -3.5rem;
}
#main .contactSec .ttlBox .rBox .comBtn {
	text-align: center;
	position: relative;
	z-index: 1;
}
#main .contactSec .ttlBox .rBox .comBtn a {
	margin: 0 auto;
	min-width: 46.2rem;
	font-size: 2.4rem;
	padding: 0 2rem;
	letter-spacing: 0.1em;
	height: 7rem;
	justify-content: center;
	box-shadow: 4px 4px 3px rgba(0, 0, 0, 0.1);
}
#main .contactSec .ttlBox .lBox {
	flex: 1;
}
#main .contactSec .ttlBox h2 {
	font-size: 4.2rem;
	color: #376CC1;
	line-height: 1.2;
	font-weight: 700;
	margin-bottom: 2.7rem;
}
#main .contactSec .ttlBox p {
	margin-bottom: 2.2rem;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.12;
}
#main .contactSec .ttlBox .list li {
	font-size: 1.7rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #FF0000;
	line-height: 2.12;
	text-indent: -1em;
	padding-left: 1em;
}
#main .mailForm {
	padding: 6rem 8.5rem 7.5rem;
	border-radius: 2rem;
	border: 3px solid #EEEEEE;
	background-color: #fff;
}
#main .contactDl {
	margin-bottom: 5.1rem;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 2.12;
	align-items: stretch;
}
#main .contactDl dt {
	padding: 2.7rem 2rem 2.7rem 2.5rem;
	width: 29.2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #E2E2E2;
}
#main .contactDl .dtStyle {
	align-items: flex-start;
	padding-top: 4rem;
}
#main .contactDl .cf7-step-confirm .dtStyle {
  padding-top: 2.7rem !important;
}

#main .contactDl dt .must {
	width: 4.6rem;
	margin-top: 0.5rem;
	text-align: center;
	line-height: 1.5;
	color: #fff;
	padding: 0.3rem;
	font-size: 1.4rem;
	font-weight: 500;
	background-color: #F10000;
}
#main .contactDl dd {
	padding: 2.7rem 3rem 2.7rem 2.4rem;
	width: calc(100% - 29.2rem);
	border-bottom: 1px solid #E2E2E2;
}
#main .contactDl textarea,
#main .contactDl input[type="email"],
#main .contactDl input[type="tel"],
#main .contactDl input[type="text"] {
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	border-radius: 0.6rem;
	height: 6rem;
	color: #000;
	border: 1px solid #333333;
	box-sizing: border-box;
	font-size: 1.7rem;
	padding: 0 1.0rem;
	width: 73%;
	background-color: #fff;
}
#main .contactDl textarea {
	height: 18rem;
	margin: 1rem 0 2rem;
	resize: vertical;
	padding: 1rem;
	width: 100%;
}
#main .radioUl {
	padding: 1.3rem 0 1.2rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0 3rem;
}
#main .contactDl input[type="radio"] {
	display: none;
}
#main .contactDl input[type="radio"] + span {
	background: url(../image/index/radio01.png) no-repeat left center;
	background-size: 2.8rem auto;
	border-radius: 0;
	display: inline-block;
	line-height: 2rem;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 0.4rem 0 0.4rem 3.8rem;
}
#main .contactDl input[type="radio"]:checked + span {
	background-image: url("../image/index/radio02.png");
}
#main .contactDl input[type="checkbox"] {
	display: none;
}
#main .contactDl input[type="checkbox"] + span {
	background: url(../image/index/check01.png) no-repeat left center;
	background-size: 2.7rem auto;
	border-radius: 0;
	display: inline-block;
	line-height: 2rem;
	letter-spacing: 0.05em;
	cursor: pointer;
	padding: 0.4rem 0 0.4rem 3.8rem;
}
#main .contactDl input[type="checkbox"]:checked + span {
	background-image: url("../image/index/check02.png");
}
#main .contactDl dd p {
	margin: 1.2rem 0.8rem 2rem;
	font-weight: normal;
}
#main .contactDl .privacyBox {
	margin: 3rem 0;
	border: 1px solid #333333;
	border-radius: 0.5rem;
	padding: 3.2rem 2.5rem 3.2rem 3.5rem;
	height: 40.9rem;
}
#main .contactDl .privacyBox .sub {
	height: 32rem;
	padding-right: 3rem;
	overflow-y: auto;
}
#main .contactDl .privacyBox .ttl {
	margin-top: 0;
	font-size: 2.4rem;
	color: #565656;
	font-weight: 700;
}
#main .contactDl .privacyBox p:last-child {
	margin-bottom: 0;
}
.submit {
	text-align: center;
}
.submit li {
	margin: 0 0.6rem;
	display: inline-block;
}
.submit li input,
.submit li button {
	appearance:none;
	-moz-appearance:none;
	-webkit-appearance:none;
	width: 41.4rem;
	height: 8.2rem;
	border-radius: 6rem;
	text-align: center;
	cursor: pointer;
	font-size: 2.4rem;
	font-weight: 700;
	color: #fff;
	border: none;
	padding-right: 2.5rem;
	transition: 0.3s;
	background: #376CC1 url("../navi-img/arrow_icon02.png") no-repeat right 3rem center;
	background-size: 3.8rem auto;
}

.submit li button.cf7-btn-back {
    background: #376CC1 url("../navi-img/arrow_icon02_left.png") no-repeat left 3rem center;
    background-size: 3.8rem auto;
    padding-left: 7rem;
    padding-right: 2.5rem;
}




@media all and (min-width: 1025px) {
	.submit li input:hover {
		opacity: 0.8;
	}
}
@media all and (max-width: 896px) {
	#main .contactSec {
		padding: 4.3rem 1.7rem;
	}
	#main .contactSec .content {
		margin: 0;
	}
	#main .contactSec .content::after { 
		top: -12.3rem;
		right: -13rem;
		width: 31.4rem;
		aspect-ratio: 628 / 457;
	}
	#main .contactSec .ttlBox {
		display: block;
		margin-bottom: 2.1rem;
	}
	#main .contactSec .ttlBox .rBox {
		width: auto;
		margin: 0;
	}
	#main .contactSec .ttlBox h2 {
		margin-bottom: 1.1rem;
		font-size: 2.7rem;
	}
	#main .contactSec .ttlBox p {
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		line-height: 1.75;
	}
	#main .contactSec .ttlBox .lBox {
		margin-bottom: -0.9rem;
	}
	#main .contactSec .ttlBox .rBox {
		margin-bottom: 2rem;
	}
	#main .contactSec .ttlBox .rBox .photo {
		width: 12.7rem;
		margin: 0 auto -1.7rem;
	}
	#main .contactSec .ttlBox .rBox .comBtn a {
		min-width: 34.9rem;
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		height: 4rem;
	}
	#main .contactSec .ttlBox .list li {
		font-size: 1.2rem;
		line-height: 1.75;
	}
	#main .mailForm {
		padding: 0.8rem 2.5rem 3.5rem;
		margin: 0 0.2rem;
		border-radius: 0.75rem;
		border-width: 2px;
	}
	#main .contactDl {
		margin-bottom: 2.2rem;
		display: block;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}
	#main .contactDl dt {
		border: none;
		padding: 1.5rem 0 0 !important;
		width: auto;
	}
	#main .contactDl dt .must {
		width: 3.5rem;
		font-size: 1.05rem;
		padding: 0.2rem 0.2rem;
	}
	#main .contactDl dd {
		width: auto;
		padding: 1.1rem 0 1.5rem;
	}
	#main .radioUl {
		gap: 0 1rem;
		margin-top: -1.1rem;
		padding: 0 0 0.3rem;
	}
	#main .contactDl input[type="radio"] + span {
		background-size: 1.4rem auto;
		padding-left: 1.8rem;
		letter-spacing: 0.05em;
		background-position: left top 0.8rem;
	}
	#main .contactDl textarea, 
	#main .contactDl input[type="email"], 
	#main .contactDl input[type="tel"], 
	#main .contactDl input[type="text"] {
		height: 3.5rem;
		font-size: 1.5rem;
		width: 100%;
	}
	#main .contactDl textarea {
		margin: 0;
		height: 10rem;
	}
	#main .contactDl dd p {
		margin: -0.5rem 0 1.5rem;
		font-size: 1.3rem;
		line-height: 1.85;
		font-feature-settings: "palt";
		letter-spacing: 0;
	}
	#main .contactDl input[type="checkbox"] + span {
		font-size: 1.4rem;
		letter-spacing: 0.05em;
		padding-left: 3rem;
		background-size: 2rem auto;
	}
	#main .contactDl .privacyBox {
		height: 25.6rem;
		margin: 1.6rem -0.2rem 0;
		padding: 1.9rem 1.8rem 1.8rem 2.5rem;
		border-radius: 0.25rem;
	}
	#main .contactDl .privacyBox .sub {
		height: 20rem;
		padding-right: 1.5rem;
	}
	#main .contactDl .privacyBox p {
		font-size: 1.2rem;
		line-height: 2;
		letter-spacing: 0;
	}
	#main .contactDl .privacyBox p:last-child {
		margin-bottom: 0;
	}
	#main .contactDl .privacyBox .ttl {
		font-size: 1.4rem;
		margin-bottom: 1.1rem;
	}
	#main .contactDl dd:last-child {
		border: none;
		padding-bottom: 0;
	}
	.submit {
		display: block;
	}
	.submit li {
		display: block;
		margin: 0 0 2rem;
	}
	.submit li:last-child {
		margin-bottom: 0;
	}
	/* 親の配置をリセット（PCの指定を打ち消す用） */
	  .submit {
		display: block;        /* PCでflexなら上書き */
		text-align: center;    /* 真ん中基準にしておく */
		padding: 0;
		margin: 0;
	  }

	  .submit li {
		list-style: none;
		text-align: center;    /* 念のため */
		margin: 0 0 1.5rem;
	  }

	  /* SP共通ベース：ボタン本体を中央へ */
	  .submit li input,
	  .submit li button {
		display: block;        /* blockにして… */
		width: 100%;
		max-width: 28.3rem;    /* 幅はここで制限 */
		height: 5rem;
		font-size: 1.8rem;
		margin: 0 auto;        /* margin:0 auto で中央寄せ */
		padding-right: 2.5rem;
		padding-left: 2.5rem;
		background-color: #376CC1;
	  }
	
	.submit li button.cf7-btn-confirm {
		background: #376CC1 url("../navi-img/arrow_icon02.png")
			no-repeat right 1.6rem center;
		background-size: 1.8rem auto;
		padding-right: 4.5rem;
	}

	  /* SP：送信する（右矢印） */
	  .submit li input[type="submit"] {
		background: #376CC1 url("../navi-img/arrow_icon02.png")
					no-repeat right 1.8rem center;
		background-size: 2.3rem auto;
		padding-right: 5rem;
	  }

	  /* SP：修正する（左矢印） */
	  .submit li button.cf7-btn-back {
		background: #376CC1 url("../navi-img/arrow_icon02_left.png")
					no-repeat left 1.8rem center;
		background-size: 2.3rem auto;
		padding-left: 5rem;
	  }

}

/* ===============================
   Contact Form 7 確認画面用 追加CSS
   =============================== */

/* ステップの初期状態（JS前提だが一応保険） */
#main .mailForm .wpcf7-step-input {
	display: block;
}
#main .mailForm .wpcf7-step-confirm {
	display: none;
}

/* 確認画面のボタン並び（「修正する」「送信する」） */
#main .mailForm .submit.submit-confirm {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.2rem;
}

/* 戻るボタンだけ見た目を変える（白抜きボタン） */
#main .mailForm .submit .btn-back {
	background: #fff;
	color: #376CC1;
	border: 2px solid #376CC1;
	padding-right: 0;               /* → 矢印分の右余白をなくす */
	background-image: none;         /* 背景の矢印アイコンなし */
}

/* 確認画面の値表示 */
#main .contactDl .confirm-value {
	display: block;
	min-height: 3.5rem;
	padding: 0.6rem 1rem;
	border-radius: 0.6rem;
	border: 1px solid #CCCCCC;
	background-color: #FAFAFA;
	font-weight: 400;
	line-height: 1.6;
	white-space: pre-wrap;  /* 改行をそのまま反映（自由欄など） */
}

/* エラー時の簡易装飾（必須漏れなど） */
/* 入力欄だけ赤枠にする */
input.has-error,
textarea.has-error {
	outline: 2px solid #F10000;
	outline-offset: 2px;
}

/* ラジオ・チェックボックスのエラーはラベル側に効かせる */
.wpcf7-form-control.wpcf7-radio.has-error + span,
.wpcf7-form-control.wpcf7-acceptance.has-error + span {
	outline: 2px solid #F10000;
	outline-offset: 2px;
}


/* CF7のエラーメッセージに赤枠を付けない */
.wpcf7-not-valid-tip {
	outline: none !important;
	border: none !important;
	box-shadow: none !important;
}

/* 見出し（入力内容の確認） */
.cf7-step-confirm .confirmMessage h3 {
  font-size: 2.2rem;          /* ← 少し大きめに */
  font-weight: 700;
  color: #386BBF; 
  margin-bottom: 1.2rem;
	padding-left: 2.5rem;
}

/* 本文（説明テキスト） */
.cf7-step-confirm .confirmMessage p {
  font-size: 1.7rem; 
  line-height: 1.8;           /* ← 行間 */
  color: #333;                /* 読みやすい標準カラー */
  margin-bottom: 2.5rem;
	padding-left: 2.5rem;
}



/* スマホ調整 */
@media all and (max-width: 896px) {

	#main .mailForm .submit.submit-confirm {
		display: block;
	}

	#main .mailForm .submit.submit-confirm li {
		margin-bottom: 1.4rem;
		font-size: 1.8rem;
	}
	
	#main .mailForm .submit li input[type="submit"] {
		font-size: 1.8rem;
		padding-right: 2rem;
	}
	#main .mailForm .submit li button.cf7-btn-back {
		padding-left: 3rem;
	}

	#main .mailForm .submit.submit-confirm li:last-child {
		margin-bottom: 0;
	}

	#main .contactDl .confirm-value {
		min-height: 2.8rem;
		font-size: 1.4rem;
	}

	  /* ▼ 見出し（入力内容の確認） */
	  .cf7-step-confirm .confirmMessage h3 {
		font-size: 1.9rem;      /* PCより少しだけ小さく */
		padding-left: 0;   /* SPは横幅が狭いので余白も控えめ */
		  margin-top: 2rem;
		margin-bottom: 1rem;
	  }

	  /* ▼ 本文（説明テキスト） */
	  .cf7-step-confirm .confirmMessage p {
		font-size: 1.5rem;      /* スマホでは1.7remは大きめ → 読みやすい最適値に */
		line-height: 1.7;       /* 行間は自然に調整 */
		padding-left: 0;
		margin-bottom: 2rem;
	  }
	
	
}



/* CF7 送信メッセージを必ず見えるようにする */
/* Contact Form 7 送信メッセージ（[response]） */
/*#main .mailForm .wpcf7-response-output {
  display: block !important;
  margin-top: 2rem !important;
  padding: 1.2rem 1.6rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid #376CC1 !important;
  background: #f0f6ff !important;
  color: #333 !important;
  font-size: 1.4rem !important;
  line-height: 1.6 !important;*/
}
.wpcf7-response-output {
  display: none !important;
}




/*-------------------------------------------*/
/* atmosphere */
#main .atmosphere {
	margin-top: 8.9rem;
	padding: 12.7rem 0 14rem;
	position: relative;
	background: #F7F7F7 url(../image/index/bg09.png) no-repeat left calc(50% - 75rem) top 39.1rem / 94.3rem;
}
#main .atmosphere .content {
	width: 121.6rem;
	position: relative;
	z-index: 1;
}
#main .atmosphere .image01 {
	width: 30.8rem;
	position: absolute;
	right: 4.4rem;
	top: -27.8rem;
}
#main .atmosphere h2 {
	margin-bottom: 7.2rem;
	font-size: 4.2rem;
	font-weight: 900;
	color: #376CC1;
}
#main .atmosphere .imgList {
	margin-bottom: 4.7rem;
	display: flex;
	flex-direction: column;
	gap: 4rem;
}
#main .atmosphere .imgList li {
	padding: 6rem 6.3rem 6.8rem;
	width: 100%;
	display: flex;
	justify-content: space-between;
	background: #fff;
	border-radius: 2rem;
}
#main .atmosphere .imgList li:nth-child(2n) {
	flex-direction: row-reverse;
}
#main .atmosphere .imgList li .photoBox {
	width: 45%;
	max-width: 48.2rem;
}
#main .atmosphere .imgList li .photoBox img {
	width: 100%;
}
#main .atmosphere .imgList li .textBox {
	margin-top: -1.5rem;
	width: 50.2%;
}
#main .atmosphere .imgList li h3 {
	margin-bottom: 4.9rem;
	width: fit-content;
	font-size: 4.2rem;
	font-weight: 900;
	color: #565656;
	line-height: 1;
	letter-spacing: 0.05em;
}
#main .atmosphere .imgList li:nth-child(2n-1) h3 {
	margin-left: auto;
}
#main .atmosphere .imgList li h3 .num {
	font-size: 6rem;
	display: inline-block;
	vertical-align: -0.3rem;
	color: #376cc1;
	line-height: 1;
}
#main .atmosphere .imgList li h3 .sm {
	font-size: 2.4rem;
}
#main .atmosphere .imgList li .subTtl {
	margin-bottom: 2.8rem;
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	color: #386abf;
}
#main .atmosphere .imgList li:nth-child(2n-1) .subTtl {
	text-align: right;
}
#main .atmosphere .imgList li .text {
	margin-bottom: 3.6rem;
	text-align: justify;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	line-height: 2.117;
	overflow-wrap: anywhere;
}
#main .atmosphere .imgList li .pcMb0 {
	margin-bottom: 0;
}
#main .atmosphere .imgList li p:last-child {
	margin-bottom: 0 !important;
}
#main .atmosphere .imgList .item02 {
	padding-bottom: 5.2rem;
}
#main .atmosphere .imgList .item02 .textBox {
	margin-top: -1.2rem;
}
#main .atmosphere .imgList .item02 h3 {
	margin-bottom: 3.5rem;
}
#main .atmosphere .imgList .item02 .subTtl {
	margin-bottom: 1.7rem;
}
#main .atmosphere .image02 {
	margin: 0 -10.7rem 7.2rem -6.8rem;
}
#main .atmosphere .imgList01 li {
	padding-top: 5.3rem;
	background: #376CC1;
	color: #fff;
}
#main .atmosphere .imgList01 li .textBox {
	margin-top: -0.8rem;
}
#main .atmosphere .imgList01 li h3 {
	margin-bottom: 3.5rem;
	color: #fff;
}
#main .atmosphere .imgList01 li h3 .num {
	margin-right: 2rem;
	color: #6dd3c5;
}
#main .atmosphere .imgList01 li .subTtl {
	margin-bottom: 1.5rem;
	color: #fff;
}
#main .atmosphere .imgList01 .item02 {
	padding-bottom: 5.8rem;
}
#main .atmosphere .imgList01 .item02 .textBox {
	margin-top: -0.5rem;
	width: 51.8%;
}
#main .atmosphere .imgList01 .item02 .photoBox {
	width: 41.2%;
	margin: 1rem -0.5rem 0 0;
}
@media (min-width: 897px) and (max-width: 1452px) {
	#main .atmosphere .image02 {
		margin: 0 -7.148vw 4.81vw -4.542vw;
		text-align: center;
	}
	#main .atmosphere .image02 img {
		max-width: 92.184vw;
	}
}
@media (min-width: 897px) and (max-width: 1340px) {
	#main .atmosphere .image02 img {
		max-width: 123.5rem;
	}
}
@media all and (max-width: 896px) {
	#main .atmosphere {
		margin-top: 0;
		padding: 4rem 0 5.4rem;
		background-color: #F4F4F4;
		background-image: url(../image/index/bg09_sp.png);
		background-position: left top 12rem;
		background-size: 27.9rem;
	}
	#main .atmosphere::after {
		width: 18.2rem;
		bottom: -13.2rem;
	}
	#main .atmosphere .content {
		width: auto;
	}
	#main .atmosphere .image01 {
		width: 13.3rem;
		right: 2rem;
		top: -13.7rem;
	}
	#main .atmosphere h2 {
		margin: 0 1rem 1.7rem;
		font-size: 2.7rem;
		letter-spacing: 0.025em;
	}
	#main .atmosphere .imgList {
		margin-bottom: 2.4rem;
		gap: 2rem;
	}
	#main .atmosphere .imgList li {
		padding: 4.5rem 2.9rem 2.6rem;
		display: block;
		border-radius: 0.8rem;
	}
	#main .atmosphere .imgList li .photoBox {
		width: 82.6% !important;
		margin: 0 auto 2.3rem;
	}
	#main .atmosphere .imgList li .textBox {
		margin-top: 0 !important;
		width: auto !important;
	}
	#main .atmosphere .imgList li h3 {
		margin-bottom: 1.4rem;
		font-size: 2.1rem;
	}
	#main .atmosphere .imgList li h3 .num {
		margin-right: 1rem;
		font-size: 3rem;
	}
	#main .atmosphere .imgList li h3 .sm {
		font-size: 1.2rem;
	}
	#main .atmosphere .imgList li .subTtl {
		margin-bottom: 2.4rem;
		font-size: 1.4rem;
	}
	#main .atmosphere .imgList li .text {
		margin-bottom: 1.4rem;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 1.714;
		letter-spacing: -0.06em;
	}
	#main .atmosphere .imgList li .pcMb0 {
		margin-bottom: 1.4rem;
	}
	#main .atmosphere .imgList .item02 {
		padding-top: 2.2rem;
		padding-bottom: 2.6rem;
	}
	#main .atmosphere .imgList .item02 h3 {
		margin-bottom: 0.8rem;
	}
	#main .atmosphere .imgList .item02 .subTtl {
		margin-bottom: 2.4rem;
	}
	#main .atmosphere .image02 {
		margin: 0 -1.5rem 2.3rem -1.3rem;
		text-align: center;
	}
	#main .atmosphere .imgList01 {
		gap: 1.5rem;
	}
	#main .atmosphere .imgList01 li {
		padding-top: 2.5rem;
		padding-bottom: 2rem;
	}
	#main .atmosphere .imgList01 li h3 {
		margin-bottom: 0.9rem;
	}
	#main .atmosphere .imgList01 li h3 .num {
		margin-right: 1rem;
	}
	#main .atmosphere .imgList01 li .subTtl {
		margin-bottom: 2.3rem;
	}
	#main .atmosphere .imgList01 li .photoBox {
		margin-bottom: 2rem;
	}
	#main .atmosphere .imgList01 .item02 {
		padding-top: 2.6rem;
	}
	#main .atmosphere .imgList01 .item02 .photoBox {
		margin: 0 auto 1.8rem;
		width: 77% !important;
	}
}
/* recruitBox */
#main .recruitBox {
	padding: 10.5rem 0;
	background-color: #fff;
	position: relative;
	z-index: 10;
}
#main .recruitBox::after {
	width: 99.1rem;
	height: 64.6rem;
	content: "";
	position: absolute;
	right: calc(50% + 28.2rem);
	bottom: -16.6rem;
	z-index: 1;
	pointer-events: none;
	background: url(../image/index/bg05.png) no-repeat center top / 100%;
}
#main .recruitBox .content {
	max-width: 121.6rem;
	width: 100%;
	position: relative;
}
#main .recruitBox .posPhoto {
	width: 18.1rem;
	position: absolute;
	top: -16.7rem;
	left: 23rem;
	z-index: 11;
}
#main .recruitBox .posImg {
	width: 73rem;
	position: absolute;
	top: -13.3rem;
	right: 0;
	z-index: 5;
}
#main .recruitBox .tableBox {
	padding: 8.6rem 9rem 8.1rem;
	border: 0.3rem solid #eeeeee;
	border-radius: 2rem;
	background-color: #fff;
	position: relative;
	z-index: 10;
}
#main .recruitBox .headLine01 {
	margin-bottom: 8.5rem;
}
#main .recruitBox table {
	width: 100%;
	border-collapse: collapse;
}
#main .recruitBox table th,
#main .recruitBox table td {
	padding: 2.1rem 0 4rem;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 2.11;
	text-align: left;
	vertical-align: middle;
	border-bottom: 0.1rem solid #e2e2e2;
	letter-spacing: 0.05em;
}
#main .recruitBox table th {
	width: 22.15%;
	padding-left: 2.4rem;
}
#main .recruitBox table td {
	font-weight: normal;
}
#main .recruitBox table tr:last-child th,
#main .recruitBox table tr:last-child td {
	border-bottom: none;
	padding-bottom: 0;
}
#main .recruitBox .txtUl li {
	padding-left: 1em;
	text-indent: -1em;
}
#main .recruitBox table .txtUl + p {
	margin-top: 3.7rem;
}
#main .recruitBox table a {
	color: #376cc1;
	text-decoration: underline;
}
@media all and (min-width: 1025px) {
	#main .recruitBox table a:hover {
		opacity: 0.8;
	}

}
@media all and (max-width: 896px) {
	#main .recruitBox .posImg {
		width: 18.2rem;
		top: -3.2rem;
		right: 0;
	}
	#main .recruitBox::after {
		width: 25rem;
		height: 20rem;
		left: -11.8rem;
		bottom: -8.3rem;
	}
	#main .recruitBox .posPhoto {
		width: 6.6rem;
		top: -5.7rem;
		left: 11.1rem;
	}
	#main .recruitBox .headLine01 {
		margin: 0 0.8rem 2.8rem;
		letter-spacing: 0.05em;
	}
	#main .recruitBox .tableBox {
		padding: 2.9rem 2.3rem;
		border: 0.2rem solid #eee;
		border-radius: 1rem;
		margin: 0 -0.1rem;
	}
	#main .recruitBox table th,
	#main .recruitBox table td {
		width: 100%;
		padding: 0;
		float: left;
		line-height: 1.75;
		font-size: 1.4rem;
	}
	#main .recruitBox table th {
		margin: 0 0.8rem 0.6rem;
		border: none;
		font-size: 1.5rem;
	}
	#main .recruitBox table td {
		margin: 0 0 2.4rem;
		padding: 0 0.8rem 1.8rem;
	}
	#main .recruitBox table tr:last-child td {
		margin-bottom: 0;
	}
	#main .recruitBox {
		padding: 4.1rem 0 3.2rem;
	}
}