/* parts.css */

/* 99. モジュール */
/* フェード */
.fnFade {
	transition: opacity 0.3s !important;

}

.fnFade:hover {
	opacity: 0.7;
}

/* ローディング1 */
.sLoading01 {
	width: 100%;
	height: 300px;
	background: url(/jutaku/common/images/rn03/ajax_loader.gif) center center no-repeat;
}

/* メインビジュアル1 */
.visual01 {
	position: relative;
	margin: 0 0 150px;
}

.visual01-busy {
	margin-bottom: 50px;
}

.visual01_movie {
	width: 100%;
	z-index: 1;
}

.visual01_movie-pc {
	display: block !important;
}

.visual01_movie-smp {
	display: none !important;
}

.visual01_img {
	width: 100%;
	max-width: none;
}

.visual01_front {
	position: absolute;
	top: 50%;
	min-width: 290px;
	padding: 50px 40px;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.visual01-themeG .visual01_front {
	background-color: rgba(123, 128, 128, 1);
}

.visual01-themeI .visual01_front {
	background-color: rgba(117, 181, 209, 1);
}

.visual01_front-r {
	right: 10%;
}

.visual01_front-l {
	left: 10%;
}

.visual01_logo {
	display: inline-block;
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 45px;
	overflow: hidden;
}

.visual01_logo-w1 {
	width: 100%;
	max-width: 222px;
}

.visual01_logo-w2 {
	width: 100%;
	max-width: 129px;
}

.visual01_logo-w3 {
	width: 100%;
	max-width: 226px;
}

.visual01_logo-w4 {
	width: 100%;
	max-width: 200px;
}

.visual01_logo-w5 {
	width: 100%;
	max-width: 190px;
}

.visual01_logo-w6 {
	width: 100%;
	max-width: 190px;
}

.visual01_logo-txt {
	line-height: 1.38;
	font-size: 36px;
	color: #000;
}

.visual01_logo-w7 {
	width: 100%;
	max-width: 250px;
}

.visual01_logo:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 3px;
}

.visual01_tit {
	position: relative;
	line-height: 1.3;
	margin: 0 0 30px;
	padding: 28px 0 0;
	font-size: 38px;
}

.visual01_tit:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 58px;
	height: 3px;
}

.visual01_txt {
	line-height: 1.38;
	font-size: 36px;
}

.visual01_stxt {
	line-height: 1.4;
	font-size: 24px;
}

.visual01_btn {
	margin: 55px 0 0 0;
	font-size: 16px;
	letter-spacing: -0.5em;
}

.visual01_btn li {
	display: inline-block;
	margin: 0 10px;
	letter-spacing: normal;
	vertical-align: top;
}

.visual01_btn li:first-child {
	margin-left: 0;
}

.visual01 .visual01_btn a,
.visual01 a.visual01_btn {
	display: block;
	position: relative;
	line-height: 1.5;
	border-radius: 4px;
	padding: 9px 37px 12px 15px;
	text-decoration: none;
	transition: opacity 0.3s !important;

	box-shadow: 0 0 0 #fff;
}

.visual01 .visual01_btn2 {
	display: inline-block;
	position: absolute;
	right: 50px;
	bottom: 40px;
	line-height: 1.5;
	border-radius: 4px;
	padding: 9px 57px 12px 35px;
	font-size: 16px;
	text-decoration: none;
	z-index: 1;
	overflow: hidden;
	transition: opacity 0.3s !important;

}

.visual01 .visual01_btn2:hover {
	opacity: 0.7;
}

.dEdge .visual01 .visual01_btn a,
.dSafari .visual01 .visual01_btn a,
.dEdge .visual01 a.visual01_btn,
.dSafari .visual01 a.visual01_btn,
.dEdge .visual01 .visual01_btn2,
.dSafari .visual01 .visual01_btn2 {
	transition: none !important;
}

.visual01 a.visual01_btn {
	display: inline-block;
	padding-right: 58px;
	padding-left: 35px;
	letter-spacing: normal;
}

.visual01 .visual01_btn a:hover,
.visual01 a.visual01_btn:hover {
	opacity: 0.7;
}

.visual01_btn a:after,
a.visual01_btn:after,
.visual01_btn2:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.visual01-themeA .visual01_logo:after,
.visual01-themeA .visual01_tit:before {
	background-color: #000;
}

.visual01-themeB .visual01_logo:after,
.visual01-themeB .visual01_tit:before {
	background-color: #afa477;
}

.visual01-themeC .visual01_logo:after,
.visual01-themeC .visual01_tit:before {
	background-color: #00693E;
}

.visual01-themeD .visual01_logo:after,
.visual01-themeD .visual01_tit:before {
	background-color: #8ca2bd;
}

.visual01-themeE .visual01_logo:after,
.visual01-themeE .visual01_tit:before {
	background-color: #869999;
}

.visual01-themeF .visual01_logo:after,
.visual01-themeF .visual01_tit:before {
	background-color: #7b8080;
}

.visual01-themeG .visual01_logo:after,
.visual01-themeG .visual01_tit:before {
	background-color: #fff;
}

.visual01-themeG .visual01_logo-w5 {
	margin-bottom: 20px;
}

.visual01-themeG .visual01_sublogo,
.visual01-themeI .visual01_sublogo {
	margin-bottom: 40px;
}

.visual01-themeH .visual01_logo:after,
.visual01-themeH .visual01_tit:before {
	background-color: #75b5d1;
}

.visual01-themeI .visual01_logo:after,
.visual01-themeI .visual01_tit:before {
	background-color: #fff;
}

.visual01-themeA .visual01_tit,
.visual01-themeA .visual01_txt,
.visual01-themeA .visual01_stxt {
	color: #000;
}

.visual01-themeB .visual01_tit,
.visual01-themeB .visual01_txt,
.visual01-themeB .visual01_stxt {
	color: #afa477;
}

.visual01-themeC .visual01_tit,
.visual01-themeC .visual01_txt,
.visual01-themeC .visual01_stxt {
	color: #00693E;
}

.visual01-themeD .visual01_tit,
.visual01-themeD .visual01_txt,
.visual01-themeD .visual01_stxt {
	color: #8ca2bd;
}

.visual01-themeE .visual01_tit,
.visual01-themeE .visual01_txt,
.visual01-themeE .visual01_stxt {
	color: #869999;
}

.visual01-themeF .visual01_tit,
.visual01-themeF .visual01_txt,
.visual01-themeF .visual01_stxt {
	color: #7b8080;
}

.visual01-themeG .visual01_tit,
.visual01-themeG .visual01_txt,
.visual01-themeG .visual01_stxt {
	color: #fff;
}

.visual01-themeG .visual01_tit {
	margin-bottom: 0;
}

.visual01-themeH .visual01_tit,
.visual01-themeH .visual01_txt,
.visual01-themeH .visual01_stxt {
	color: #75b5d1;
}

.visual01-themeI .visual01_tit,
.visual01-themeI .visual01_txt,
.visual01-themeI .visual01_stxt {
	color: #fff;
}

.visual01-themeA .visual01_btn a,
.visual01-themeA a.visual01_btn {
	background-color: #fa0046;
	color: #fff;
}

.visual01-themeB .visual01_btn a,
.visual01-themeB a.visual01_btn {
	background-color: #afa477;
	color: #fff;
}

.visual01-themeB a.visual01_btn2 {
	border: 1px solid #fff;
	background-color: #000;
	background-color: rgba(0, 0, 0, 0.4);
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
}

.visual01-themeC .visual01_btn a,
.visual01-themeC a.visual01_btn {
	background-color: #00693E;
	color: #fff;
}

.visual01-themeD .visual01_btn a,
.visual01-themeD a.visual01_btn {
	background-color: #8ca2bd;
	color: #fff;
}

.visual01-themeE .visual01_btn a,
.visual01-themeE a.visual01_btn {
	background-color: #869999;
	color: #fff;
}

.visual01-themeF .visual01_btn a,
.visual01-themeF a.visual01_btn {
	background-color: #7b8080;
	color: #fff;
}

.visual01-themeH .visual01_btn a,
.visual01-themeH a.visual01_btn {
	background-color: #75b5d1;
	color: #fff;
}

@media only screen and (max-width: 1440px) {
	.visual01 {
		margin-bottom: 10.416vw;
	}

	.visual01-busy {
		margin-bottom: 3.472vw;
	}

	.visual01_front {
		min-width: 20.138vw;
		padding: 3.472vw 2.777vw;
	}

	.visual01_logo {
		margin-bottom: 2.083vw;
		padding-bottom: 3.125vw;
	}

	.visual01_logo:after {
		width: 5.555vw;
		height: 0.208vw;
	}

	.visual01_logo-txt {
		font-size: 2.5vw;
	}

	.visual01_tit {
		margin-bottom: 2.083vw;
		padding-top: 1.944vw;
		font-size: 2.638vw;
	}

	.visual01_tit:before {
		width: 4.027vw;
		height: 0.208vw;
	}

	.visual01_txt {
		font-size: 2.5vw;
	}

	.visual01_stxt {
		font-size: 1.666vw;
	}

	.visual01_btn,
	.visual01 .visual01_btn2 {
		margin-top: 3.819vw;
		font-size: 1.111vw;
	}

	.visual01_btn li {
		margin-right: 0.694vw;
		margin-left: 0.694vw;
	}

	.visual01 .visual01_btn a,
	.visual01 a.visual01_btn,
	.visual01 .visual01_btn2 {
		border-radius: 0.277vw;
		padding: 0.625vw 2.569vw 0.833vw 1.041vw;
	}

	.visual01 a.visual01_btn,
	.visual01 .visual01_btn2 {
		padding-right: 4.027vw;
		padding-left: 2.43vw;
	}

	.visual01_btn a:after,
	a.visual01_btn:after,
	.visual01_btn2:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.347vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 1340px) {
	.visual01_logo img {
		width: 90%;
	}
}

@media only screen and (max-width: 1240px) {
	.visual01_logo img {
		width: 80%;
	}
}

@media only screen and (max-width: 1140px) {
	.visual01_logo img {
		width: 70%;
	}
}

@media only screen and (max-width: 970px) {
	.visual01 {
		margin-bottom: 98px;
	}

	.visual01-busy {
		margin-bottom: 32px;
	}

	.visual01_front {
		min-width: 191px;
		padding: 32px 26px
	}

	.visual01_logo {
		margin-bottom: 19px;
		padding-bottom: 29px;
	}

	.visual01_logo:after {
		width: 52px;
		height: 1px;
	}

	.visual01_logo-txt {
		font-size: 20px;
	}

	.visual01_tit {
		margin-bottom: 19px;
		padding-top: 18px;
		font-size: 25px;
	}

	.visual01_tit:before {
		width: 38px;
		height: 1px;
	}

	.visual01_txt {
		font-size: 23px;
	}

	.visual01_stxt {
		font-size: 15px;
	}

	.visual01_btn,
	.visual01 .visual01_btn2 {
		margin-top: 36px;
		font-size: 10px;
	}

	.visual01_btn li {
		margin-right: 6px;
		margin-left: 6px;
	}

	.visual01 .visual01_btn a,
	.visual01 a.visual01_btn,
	.visual01 .visual01_btn2 {
		border-radius: 2px;
		padding: 5px 24px 7px 9px;
	}

	.visual01 a.visual01_btn,
	.visual01 .visual01_btn2 {
		padding-right: 38px;
		padding-left: 23px;
	}

	.visual01_btn a:after,
	a.visual01_btn:after,
	.visual01_btn2:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* メインビジュアル2 */
.visual02 {
	position: relative;
	max-width: 1308px;
	margin: 0 auto;
	border-width: 0 0 0 12px;
	border-style: solid;
}

.visual02_front {
	position: absolute;
	top: 50%;
	right: 130px;
	padding: 50px 20px 50px 40px;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.visual02_logo {
	display: inline-block;
	position: relative;
	margin: 0 0 35px;
	padding: 0 0 45px;
}

.visual02_logo-w1 {
	width: 100%;
	max-width: 222px;
}

.visual02_logo:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	height: 3px;
}

.visual02_txt {
	line-height: 1.38;
	font-size: 36px;
}

.visual02_btn {
	display: inline-block;
	position: relative;
	line-height: 1.5;
	margin: 50px 0 0 0;
	padding: 9px 58px 12px 35px;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .visual02_btn,
.dSafari .visual02_btn {
	transition: none;
}

.visual02_btn:hover {
	opacity: 0.7;
}

.visual02_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.visual02-themeB {
	border-color: #afa477;
}

.visual02-themeB .visual02_logo:after {
	background-color: #afa477;
}

.visual02-themeB .visual02_txt {
	color: #afa477;
}

.visual02-themeB .visual02_btn {
	background-color: #afa477;
	color: #fff;
}

@media only screen and (max-width: 1440px) {
	.visual02 {
		margin-right: 60px;
		margin-left: 60px;
	}

	.visual02_front {
		right: 9.027vw;
		padding: 3.472vw 1.388vw 3.472vw 2.777vw;
	}

	.visual02_logo {
		margin-bottom: 2.43vw;
		padding-bottom: 3.125vw;
	}

	.visual02_logo:after {
		width: 5.555vw;
		height: 0.208vw;
	}

	.visual02_txt {
		font-size: 2.5vw;
	}

	.visual02_btn {
		margin-top: 3.472vw;
		padding: 0.625vw 4.027vw 0.833vw 2.43vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.visual02_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 1340px) {
	.visual02_logo img {
		width: 90%;
	}
}

@media only screen and (max-width: 1240px) {
	.visual02_logo img {
		width: 80%;
	}
}

@media only screen and (max-width: 1140px) {
	.visual02_logo img {
		width: 70%;
	}
}

@media only screen and (max-width: 970px) {
	.visual02_front {
		right: 85px;
		padding: 32px 13px 32px 26px;
	}

	.visual02_logo {
		margin-bottom: 23px;
		padding-bottom: 29px;
	}

	.visual02_logo:after {
		width: 52px;
		height: 1px;
	}

	.visual02_txt {
		font-size: 23px;
	}

	.visual02_btn {
		margin-top: 32px;
		padding: 5px 38px 7px 23px;
		border-radius: 2px;
		font-size: 10px;
	}

	.visual02_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* メインビジュアル3 */
.visual03 {
	position: relative;
	margin: 0 0 150px;
}

.visual03_img {
	width: 100%;
	max-width: none;
}

.visual03_front {
	position: absolute;
	top: 50%;
	min-width: 290px;
	padding: 50px 40px;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	box-sizing: border-box;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.visual03_front-r {
	right: 10%;
}

.visual03_front-l {
	left: 10%;
}

.visual03_tit {
	position: relative;
	line-height: 1.3;
	margin: 0 0 30px;
	padding: 28px 0 0;
	font-size: 38px;
}

.visual03_tit:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 58px;
	height: 3px;
}

.visual03_tit-small {
	display: block;
	font-size: 24px;
}

.visual03_txt {
	line-height: 1.4;
	font-size: 24px;
}

.visual03_stxt {
	line-height: 1.7;
	font-size: 15px;
}

.visual03-themeA .visual03_tit:before {
	background-color: #000;
}

.visual03-themeB .visual03_tit:before {
	background-color: #afa477;
}

.visual03-themeC .visual03_tit:before {
	background-color: #00693E;
}

.visual03-themeD .visual03_tit:before {
	background-color: #8ca2bd;
}

.visual03-themeE .visual03_tit:before {
	background-color: #869999;
}

.visual03-themeF .visual03_tit:before {
	background-color: #7b8080;
}

.visual03-themeA .visual03_tit,
.visual03-themeA .visual03_txt,
.visual03-themeA .visual03_stxt {
	color: #000;
}

.visual03-themeB .visual03_tit,
.visual03-themeB .visual03_txt,
.visual03-themeB .visual03_stxt {
	color: #afa477;
}

.visual03-themeC .visual03_tit,
.visual03-themeC .visual03_txt,
.visual03-themeC .visual03_stxt {
	color: #00693E;
}

.visual03-themeD .visual03_tit,
.visual03-themeD .visual03_txt,
.visual03-themeD .visual03_stxt {
	color: #8ca2bd;
}

.visual03-themeE .visual03_tit,
.visual03-themeE .visual03_txt,
.visual03-themeE .visual03_stxt {
	color: #869999;
}

.visual03-themeF .visual03_tit,
.visual03-themeF .visual03_txt,
.visual03-themeF .visual03_stxt {
	color: #7b8080;
}

@media only screen and (max-width: 1440px) {
	.visual03 {
		margin-bottom: 10.416vw;
	}

	.visual03_front {
		min-width: 20.138vw;
		padding: 3.472vw 2.777vw;
	}

	.visual03_tit {
		margin-bottom: 2.083vw;
		padding-top: 1.944vw;
		font-size: 2.638vw;
	}

	.visual03_tit-small {
		font-size: 1.666vw;
	}

	.visual03_tit:before {
		width: 4.027vw;
		height: 0.208vw;
	}

	.visual03_txt {
		font-size: 1.666vw;
	}

	.visual03_stxt {
		font-size: 1.041vw;
	}
}

@media only screen and (max-width: 970px) {
	.visual03 {
		margin-bottom: 98px;
	}

	.visual03_front {
		min-width: 191px;
		padding: 32px 26px;
	}

	.visual03_tit {
		margin-bottom: 19px;
		padding-top: 18px;
		font-size: 25px;
	}

	.visual03_tit-small {
		font-size: 15px;
	}

	.visual03_tit:before {
		width: 38px;
		height: 1px;
	}

	.visual03_txt {
		font-size: 15px;
	}

	.visual03_stxt {
		font-size: 9px;
	}
}

/* リード1 */
.sLead01 {
	max-width: 1320px;
	line-height: 1.8;
	margin: 90px auto;
	text-align: center;
}

.sLead01_txt {
	font-size: 24px;
}

.sLead01_txt-bd {
	position: relative;
	margin: 45px 0 0;
	padding: 45px 0 0;
}

.sLead01_txt-bd:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 60px;
	height: 3px;
	margin: 0 0 0 -30px;
}

.sLead01-themeB {
	color: #afa477;
}

.sLead01-themeB .sLead01_txt-bd:before {
	background-color: #afa477;
}

@media only screen and (max-width: 1440px) {
	.sLead01 {
		margin-right: 60px;
		margin-left: 60px;
	}
}

@media only screen and (max-width: 1440px) {
	.sLead01 {
		margin-top: 6.25vw;
		margin-bottom: 6.25vw;
	}

	.sLead01_txt {
		font-size: 1.666vw;
	}

	.sLead01_txt-bd {
		margin-top: 3.125vw;
		padding-top: 3.125vw;
	}

	.sLead01_txt-bd:before {
		width: 4.166vw;
		height: 0.208vw;
		margin: 0 0 0 -2.083vw;
	}
}

@media only screen and (max-width: 970px) {
	.sLead01 {
		margin-top: 59px;
		margin-bottom: 59px;
	}

	.sLead01_txt {
		font-size: 15px;
	}

	.sLead01_txt-bd {
		margin-top: 29px;
		padding-top: 29px;
	}

	.sLead01_txt-bd:before {
		width: 39px;
		height: 1px;
		margin: 0 0 0 -19px;
	}
}

/* レンガ */
.sBrick {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.oldIE .sBrick {
	display: table;
	width: 100%;
}

.sBrick-reverse {
	-ms-flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.sBlock-sBrick-reverse .sBrick:nth-child(even) {
	-ms-flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.sBrick_item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	width: 50%;
}

.oldIE .sBrick_item {
	display: table-cell;
	vertical-align: middle;
}

.sBrick_item a,
.sBrick_item img {
	display: block;
	width: 100%;
}

.sBrick_in a,
.sBrick_in img {
	display: inline;
	width: auto;
}

.sBrick_in .sBrick_btn {
	display: inline-block;
}

.sBrick .sBrick_in {
	max-width: 505px;
	margin: 0 auto;
	text-align: right;
}

.sBrick .sBrick_in-wide {
	max-width: 540px;
}

.sBrick .sBrick_in-wide2 {
	max-width: 610px;
}

.sBrick-reverse .sBrick_in,
.oldIE .sBrick_in {
	text-align: left;
}

.sBlock-sBrick-reverse .sBrick:nth-child(even) .sBrick_in {
	text-align: left;
}

.sBrick_ico {
	display: inline-block;
	width: 42px;
}

.sBrick_lead {
	line-height: 1.75;
	margin: 32px 0 0;
	font-size: 18px;
}

.sBrick_lead:first-child {
	margin-top: 0;
}

.sBrick_head {
	line-height: 1.38;
	margin: 40px 0 27px;
	font-size: 42px;
}

.sBrick_head-fl {
	font-size: 52px;
}

.sBrick_head-fs {
	line-height: 1.5;
	font-size: 33px;
}

.sBrick_head-busy {
	margin-right: -20px;
	margin-left: -31px;
}

.sBrick_head:first-child {
	margin-top: 0;
}

.sBrick_shead {
	line-height: 1.5;
	margin: 0 0 27px;
	font-size: 24px;
}

.sBrick_fs {
	display: inline-block;
	font-size: 24px;
}

.sBrick_fs2 {
	display: block;
	margin: 4px 0 0;
	font-size: 14px;
}

.sBrick_tit {
	display: inline-block;
	position: relative;
	line-height: 1.38;
	margin: 0 0 20px;
	padding: 15px 0 0;
	text-align: left;
	font-size: 24px;
}

.sBrick_tit-fs {
	display: block;
	margin: 0 0 0 5px;
	font-size: 12px;
}

.sBrick_tit:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 60px;
	height: 3px;
	margin: 0 0 0 -30px;
}

.sBrick_sub {
	position: relative;
	margin: 40px 0 11px;
	padding: 13px 0 0;
	font-size: 22px;
}

.sBrick_sub:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 62px;
	height: 2px;
}

.sBrick_txt {
	line-height: 1.75;
	margin: 0 0 40px;
	font-size: 16px;
}

.sBrick_ico+.sBrick_txt {
	margin-top: 40px;
}

.sBrick_txt:last-child {
	margin-bottom: 0;
}

.sBrick_txt-fsA,
.sBrick_txt-fsB {
	font-size: 24px;
}

.sBrick_txt-fs {
	font-size: 12px;
}

.sBrick_btn {
	display: inline-block;
	position: relative;
	line-height: 1.5;
	padding: 9px 58px 12px 35px;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sBrick_btn {
	transition: none;
}

.sBrick_btn:hover {
	opacity: 0.7;
}

.sBrick_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sBrick_note {
	line-height: 1.6666666;
	width: 50%;
	padding: 25px 57px 0 57px;
	font-size: 12px;
	box-sizing: border-box;
}

.sBrick-typeA .sBrick_item,
.sBrick-typeD .sBrick_item,
.sBrick-typeE .sBrick_item,
.sBrick-typeH .sBrick_item,
.sBrick-typeI .sBrick_item {
	background-color: #f4f4f4;
}

.sBrick-typeB .sBrick_item,
.sBrick-typeG .sBrick_item:nth-child(2) {
	background: rgb(175, 164, 119);
	background: -moz-linear-gradient(-45deg, rgba(175, 164, 119, 1) 0%, rgba(217, 205, 155, 1) 100%);
	background: -webkit-linear-gradient(-45deg, rgba(175, 164, 119, 1) 0%, rgba(217, 205, 155, 1) 100%);
	background: linear-gradient(135deg, rgba(175, 164, 119, 1) 0%, rgba(217, 205, 155, 1) 100%);
}

.sBrick-typeC .sBrick_item {
	background-color: #869999;
}

.sBrick-typeF .sBrick_item {
	background-color: #314648;
}

.sBrick-typeG .sBrick_item:nth-child(1) {
	background-color: #f8f8f8;
}

.sBrick-typeK .sBrick_item:nth-child(1) {
	background-color: #f4f4f4;
}

.sBrick-typeJ .sBrick_item {
	background-color: #f0f0f0;
}

.sBrick-typeK .sBrick_item {
	background-color: #7d8484;
}

.sBrick-typeL .sBrick_item {
	background-color: #efefef;
}

.sBrick-typeM .sBrick_item {
	background-color: #75b5d1;
}

.sBrick-typeK.ver2 .sBrick_item {
	padding: 100px 0;
}

.sBrick-typeA .sBrick_lead,
.sBrick-typeA .sBrick_head,
.sBrick-typeA .sBrick_shead,
.sBrick-typeE .sBrick_lead,
.sBrick-typeE .sBrick_head,
.sBrick-typeE .sBrick_shead .sBrick-typeA .sBrick_sub,
.sBrick-typeE .sBrick_sub,
.sBrick-typeG .sBrick_item:nth-child(1) .sBrick_tit {
	color: #afa477;
}

.sBrick-typeB .sBrick_lead,
.sBrick-typeF .sBrick_lead,
.sBrick-typeB .sBrick_head,
.sBrick-typeB .sBrick_shead,
.sBrick-typeF .sBrick_head,
.sBrick-typeF .sBrick_shead,
.sBrick-typeB .sBrick_sub,
.sBrick-typeF .sBrick_sub,
.sBrick-typeK .sBrick_head,
.sBrick-typeK .sBrick_shead,
.sBrick-typeK .sBrick_sub,
.sBrick-typeM .sBrick_head {
	color: #fff;
}

.sBrick-typeC .sBrick_lead,
.sBrick-typeC .sBrick_head,
.sBrick-typeC .sBrick_shead,
.sBrick-typeC .sBrick_sub {
	color: #869999;
}

.sBrick-typeD .sBrick_lead,
.sBrick-typeD .sBrick_head,
.sBrick-typeD .sBrick_shead,
.sBrick-typeD .sBrick_sub {
	color: #000;
}

.sBrick-typeH .sBrick_lead,
.sBrick-typeH .sBrick_head,
.sBrick-typeH .sBrick_shead,
.sBrick-typeH .sBrick_sub {
	color: #00693E;
}

.sBrick-typeI .sBrick_lead,
.sBrick-typeI .sBrick_head,
.sBrick-typeI .sBrick_shead {
	color: #8ca2bd;
}

.sBrick-typeJ .sBrick_lead,
.sBrick-typeJ .sBrick_head,
.sBrick-typeJ .sBrick_shead {
	color: #7b8080;
}

.sBrick-typeL .sBrick_lead,
.sBrick-typeL .sBrick_head,
.sBrick-typeL .sBrick_shead {
	color: #75b5d1;
}

.sBrick-typeG .sBrick_item:nth-child(1) .sBrick_tit:before {
	background-color: #afa477;
}

.sBrick-typeK .sBrick_item:nth-child(1) .sBrick_tit:before {
	background-color: #7e8787;
}

.sBrick-typeA .sBrick_sub:before,
.sBrick-typeD .sBrick_sub:before {
	background-color: #727272;
}

.sBrick-typeB .sBrick_sub:before,
.sBrick-typeF .sBrick_sub:before {
	background-color: #fff;
}

.sBrick-typeC .sBrick_sub:before {
	background-color: #869999;
}

.sBrick-typeE .sBrick_sub:before {
	background-color: #afa477;
}

.sBrick-typeH .sBrick_sub:before {
	background-color: #00693E;
}

.sBrick-typeI .sBrick_sub:before {
	background-color: #8ca2bd;
}

.sBrick-typeA .sBrick_txt,
.sBrick-typeD .sBrick_txt,
.sBrick-typeH .sBrick_txt,
.sBrick-typeI .sBrick_txt,
.sBrick-typeG .sBrick_item:nth-child(1) {
	color: #727272;
}

.sBrick-typeB .sBrick_txt,
.sBrick-typeF .sBrick_txt,
.sBrick-typeG .sBrick_item:nth-child(2),
.sBrick-typeK .sBrick_txt,
.sBrick-typeM .sBrick_txt {
	color: #fff;
}

.sBrick-typeC .sBrick_txt {
	color: #869999;
}

.sBrick-typeE .sBrick_txt {
	color: #afa477;
}

.sBrick-typeK .sBrick_item:nth-child(1) .sBrick_txt {
	color: #7f8b8b;
}

.sBrick-typeJ .sBrick_txt {
	position: relative;
	margin: 26px 0 7px;
	padding: 15px 0 0;
}

.sBrick-typeJ .sBrick_txt:first-of-type {
	padding-top: 0;
}

.sBrick-typeJ .sBrick_txt:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 50px;
	height: 2px;
	background-color: #7f8585;
}

.sBrick-typeJ .sBrick_txt:first-of-type:before {
	background-color: #f0f0f0;
}

.sBrick-typeA .sBrick_btn,
.sBrick-typeE .sBrick_btn {
	background-color: #afa477;
	color: #fff;
}

.sBrick-typeB .sBrick_btn,
.sBrick-typeF .sBrick_btn {
	background-color: #fff;
	color: #c6ba8a;
}

.sBrick-typeC .sBrick_btn {
	background-color: #869999;
	color: #fff;
}

.sBrick-typeD .sBrick_btn {
	background-color: #fa0046;
	color: #fff;
}

.sBrick-typeH .sBrick_btn {
	background-color: #00693E;
	color: #fff;
}

.sBrick-typeI .sBrick_btn {
	background-color: #8ca2bd;
	color: #fff;
}

.sBrick-typeJ .sBrick_btn {
	background-color: #7b8080;
	color: #fff;
}

.sBrick-typeK .sBrick_btn {
	background-color: #fff;
	color: #7b8080;
}

.sBrick-typeL .sBrick_btn {
	background-color: #75b5d1;
	color: #fff;
}

.sBrick-typeM .sBrick_btn {
	background-color: #fff;
	color: #75b5d1;
}

.sBrick_in:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sBrick_in {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sBrick .sBrick_in {
		max-width: 34.93vw;
		padding: 0 1.388vw;
	}

	.sBrick .sBrick_in-wide {
		max-width: 37.5vw;
	}

	.sBrick .sBrick_in-wide2 {
		max-width: 42.083vw;
	}

	.sBrick_ico {
		width: 2.916vw;
	}

	.sBrick_lead {
		margin: 2.222vw 0 0;
		font-size: 1.25vw;
	}

	.sBrick_head {
		margin: 2.777vw 0 1.875vw;
		font-size: 2.916vw;
	}

	.sBrick_head-fl {
		font-size: 3.611vw;
	}

	.sBrick_head-fs {
		font-size: 2.291vw;
	}

	.sBrick_head-busy {
		margin-right: -1.388vw;
		margin-left: -2.152vw;
	}

	.sBrick_shead {
		margin: 0 0 1.875vw;
		font-size: 1.666vw;
	}

	.sBrick_fs {
		font-size: 1.666vw;
	}

	.sBrick_fs2 {
		margin-top: 0.277vw;
		font-size: 0.972vw;
	}

	.sBrick_tit {
		margin: 0 0 1.388vw;
		padding: 1.041vw 0 0;
		font-size: 1.666vw;
	}

	.sBrick_tit-fs {
		margin: 0 0 0 0.347vw;
		font-size: 0.833vw;
	}

	.sBrick_tit:before {
		width: 4.166vw;
		height: 0.208vw;
		margin: 0 0 0 -2.083vw;
	}

	.sBrick_sub {
		margin: 2.777vw 0 0.763vw;
		padding: 0.902vw 0 0;
		font-size: 1.527vw;
	}

	.sBrick_sub:before {
		width: 4.305vw;
		height: 0.138vw;
	}

	.sBrick_txt {
		margin: 0 0 2.777vw;
		font-size: 1.111vw;
	}

	.sBrick_ico+.sBrick_txt {
		margin-top: 2.777vw;
	}

	.sBrick_txt-fsA,
	.sBrick_txt-fsB {
		font-size: 1.666vw;
	}

	.sBrick_txt-fs {
		font-size: 0.833vw;
	}

	.sBrick_btn {
		padding: 0.625vw 4.027vw 0.833vw 2.43vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sBrick_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}

	.sBrick_note {
		padding: 1.736vw 3.958vw 0 3.958vw;
		font-size: 0.833vw;
	}
}

@media only screen and (max-width: 970px) {
	.sBrick .sBrick_in {
		max-width: 331px;
		padding: 0 13px;
	}

	.sBrick .sBrick_in-wide {
		max-width: 356px;
	}

	.sBrick .sBrick_in-wide2 {
		max-width: 399px;
	}

	.sBrick_ico {
		width: 27px;
	}

	.sBrick_lead {
		margin: 21px 0 0;
		font-size: 11px;
	}

	.sBrick_head {
		margin: 26px 0 17px;
		font-size: 27px;
	}

	.sBrick_head-fl {
		font-size: 34px;
	}

	.sBrick_head-fs {
		font-size: 21px;
	}

	.sBrick_head-busy {
		margin-right: -13px;
		margin-left: -20px;
	}

	.sBrick_shead {
		margin: 0 0 17px;
		font-size: 15px;
	}

	.sBrick_fs {
		font-size: 13px;
	}

	.sBrick_fs2 {
		margin-top: 2px;
		font-size: 9px;
	}

	.sBrick_tit {
		margin: 0 0 13px;
		padding: 9px 0 0;
		font-size: 15px;
	}

	.sBrick_tit-fs {
		margin: 0 0 0 3px;
		font-size: 7px;
	}

	.sBrick_tit:before {
		width: 39px;
		height: 1px;
		margin: 0 0 0 -19px;
	}

	.sBrick_sub {
		margin: 26px 0 7px;
		padding: 8px 0 0;
		font-size: 14px;
	}

	.sBrick_sub:before {
		width: 40px;
		height: 1px;
	}

	.sBrick_txt {
		margin: 0 0 26px;
		font-size: 10px;
	}

	.sBrick_ico+.sBrick_txt {
		margin-top: 26px;
	}

	.sBrick_txt-fsA,
	.sBrick_txt-fsB {
		font-size: 15px;
	}

	.sBrick_txt-fs {
		font-size: 7px;
	}

	.sBrick_btn {
		padding: 5px 38px 7px 23px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sBrick_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}

	.sBrick_note {
		padding: 16px 37px 0 37px;
		font-size: 7px;
	}
}

/* セクション */
.sBlock {
	margin: 250px 0;
}

.sBlock-busy {
	margin-top: 140px;
	margin-bottom: 140px;
}

.sBlock:first-child {
	margin-top: 0;
}

.sBlock:last-child {
	margin-bottom: 0;
}

@media only screen and (max-width: 1440px) {
	.sBlock {
		margin: 17.361vw 0;
	}

	.sBlock-busy {
		margin-top: 9.722vw;
		margin-bottom: 9.722vw;
	}
}

@media only screen and (max-width: 970px) {
	.sBlock {
		margin: 164px 0;
	}

	.sBlock-busy {
		margin-top: 92px;
		margin-bottom: 92px;
	}
}

/* 区切り */
.sSeparate {
	position: relative;
	width: 90px;
	height: 3px;
	margin: 150px auto;
}

.sSeparate-themeA {
	background-color: #000;
}

.sSeparate-themeB {
	background-color: #afa477;
}

.sSeparate-themeC {
	background-color: #00693E;
}

.sSeparate-themeD {
	background-color: #8ca2bd;
}

.sSeparate-themeE {
	background-color: #869999;
}

.sSeparate-themeF {
	background-color: #7b8080;
}

.sSeparate-themeG {
	background-color: #75b5d1;
}

@media only screen and (max-width: 1440px) {
	.sSeparate {
		width: 6.25vw;
		height: 0.208vw;
		margin: 10.416vw auto;
	}
}

@media only screen and (max-width: 970px) {
	.sSeparate {
		width: 59px;
		height: 1px;
		margin: 98px auto;
	}
}

/* 見出し1 */
.sHeading01 {
	position: relative;
	max-width: 1320px;
	line-height: 1.5;
	margin: 0 auto 70px;
	padding: 40px 0 0;
	font-size: 40px;
	text-align: center;
}

.sHeading01:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 90px;
	height: 3px;
	margin: 0 0 0 -45px;
}

.sHeading01_sub {
	margin: 10px 0 0;
	font-size: 24px;
}

.sHeading01_txt {
	margin: 44px 0 0;
	color: #666;
	font-size: 18px;
}

.sHeading01-themeA {
	color: #000;
}

.sHeading01-themeB {
	color: #afa477;
}

.sHeading01-themeC {
	color: #00693E;
}

.sHeading01-themeD {
	color: #8ca2bd;
}

.sHeading01-themeE {
	color: #869999;
}

.sHeading01-themeF {
	color: #7b8080;
}

.sHeading01-themeG {
	color: #75b5d1;
}

.sHeading01-themeA:before {
	background-color: #000;
}

.sHeading01-themeB:before {
	background-color: #afa477;
}

.sHeading01-themeC:before {
	background-color: #00693E;
}

.sHeading01-themeD:before {
	background-color: #8ca2bd;
}

.sHeading01-themeE:before {
	background-color: #869999;
}

.sHeading01-themeF:before {
	background-color: #7b8080;
}

.sHeading01-themeG:before {
	background-color: #75b5d1;
}

@media only screen and (max-width: 1440px) {
	.sHeading01 {
		margin: 0 auto 4.791vw;
		padding: 2.847vw 0 0;
		font-size: 2.777vw;
	}

	.sHeading01:before {
		width: 6.25vw;
		height: 0.208vw;
		margin: 0 0 0 -3.125vw;
	}

	.sHeading01_sub {
		margin: 0.694vw 0 0;
		font-size: 1.666vw;
	}

	.sHeading01_txt {
		margin: 2.986vw 0 0;
		font-size: 1.25vw;
	}
}

@media only screen and (max-width: 970px) {
	.sHeading01 {
		margin: 0 auto 45px;
		padding: 27px 0 0;
		font-size: 26px;
	}

	.sHeading01:before {
		width: 59px;
		height: 1px;
		margin: 0 0 0 -29px;
	}

	.sHeading01_sub {
		margin: 6px 0 0;
		font-size: 15px;
	}

	.sHeading01_txt {
		margin: 28px 0 0;
		font-size: 11px;
	}
}

/* カラム1 */
.sCol01 {
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 1320px;
	margin: 40px auto 0;
	box-sizing: border-box;
}

.sCol01_img,
.sCol01_info {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

.sCol01_in {
	padding: 0 112px;
	text-align: center;
}

.sCol01_tit {
	line-height: 1.3;
	margin: 0 0 28px;
	font-size: 33px;
}

.sCol01_txt {
	line-height: 1.75;
	margin: 24px 0 0;
	font-size: 16px;
}

.sCol01_btn {
	display: inline-block;
	position: relative;
	height: 100%;
	line-height: 1.5;
	margin: 34px 0 0;
	padding: 7px 56px 10px 33px;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sCol01_btn {
	transition: none;
}

.sCol01_btn:hover {
	opacity: 0.7;
}

.sCol01_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sCol01-typeA .sCol01_info {
	background-color: #f4f4f4;
}

.sCol01-typeB .sCol01_info {
	background-color: #f4f4f4;
}

.sCol01-typeC .sCol01_info {
	background-color: #c5ba89;
}

.sCol01-typeD .sCol01_info {
	background-color: #f4f4f4;
}

.sCol01-typeE .sCol01_info {
	background-color: #f4f4f4;
}

.sCol01-typeF .sCol01_info {
	background-color: #f2f2f2;
}

.sCol01-typeG .sCol01_info {
	background-color: #ededed;
}

.sCol01-typeA .sCol01_tit {
	color: #000;
}

.sCol01-typeB .sCol01_tit {
	color: #afa477;
}

.sCol01-typeC .sCol01_tit {
	color: #fff;
}

.sCol01-typeD .sCol01_tit {
	color: #00693E;
}

.sCol01-typeE .sCol01_tit {
	color: #8ca2bd;
}

.sCol01-typeF .sCol01_tit {
	color: #000;
}

.sCol01-typeG .sCol01_tit {
	color: #75b4d1;
}

.sCol01-typeA .sCol01_txt {
	color: #727272;
}

.sCol01-typeB .sCol01_txt {
	color: #727272;
}

.sCol01-typeC .sCol01_txt {
	color: #fff;
}

.sCol01-typeD .sCol01_txt {
	color: #727272;
}

.sCol01-typeE .sCol01_txt {
	color: #727272;
}

.sCol01-typeF .sCol01_txt {
	color: #000;
}

.sCol01-typeA .sCol01_btn {
	border-color: #fa0046;
	color: #fa0046;
}

.sCol01-typeB .sCol01_btn {
	border-color: #afa477;
	color: #afa477;
}

.sCol01-typeC .sCol01_btn {
	border-color: #fff;
	color: #fff;
}

.sCol01-typeD .sCol01_btn {
	border-color: #00693E;
	color: #00693E;
}

.sCol01-typeE .sCol01_btn {
	border-color: #8ca2bd;
	color: #8ca2bd;
}

.sCol01-typeF .sCol01_btn {
	border-color: #7b8080;
	color: #7b8080;
}

.sCol01-typeG .sCol01_btn {
	border-color: #75b4d1;
	color: #75b4d1;
}

@media only screen and (max-width: 1440px) {
	.sCol01 {
		max-width: 1440px;
		padding-right: 60px;
		padding-left: 60px;
		margin: 2.777vw auto 0;
	}

	.sCol01_in {
		padding: 0 7.777vw;
	}

	.sCol01_tit {
		margin: 0 0 1.944vw;
		font-size: 2.291vw;
	}

	.sCol01_txt {
		margin: 1.666vw 0 0;
		font-size: 1.111vw;
	}

	.sCol01_btn {
		margin: 2.361vw 0 0;
		padding: 0.486vw 3.888vw 0.694vw 2.291vw;
		border-width: 0.138vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sCol01_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 970px) {
	.sCol01 {
		margin: 26px auto 0;
	}

	.sCol01_in {
		padding: 0 73px;
	}

	.sCol01_tit {
		margin: 0 0 18px;
		font-size: 21px;
	}

	.sCol01_txt {
		margin: 15px 0 0;
		font-size: 10px;
	}

	.sCol01_btn {
		margin: 22px 0 0;
		padding: 4px 36px 6px 21px;
		border-width: 1px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sCol01_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* カラム2 */
.sCol02 {
	position: relative;
	max-width: 1320px;
	margin: 30px auto 0;
	font-size: 100%;
	z-index: 1;
}

.sCol02_item {
	float: left;
	width: 30.76%;
	max-width: 406px;
	margin: 40px 3.86% 0 0;
}

.sCol02_item:nth-child(3n) {
	margin-right: 0;
}

.sCol02_item:nth-child(1),
.sCol02_item:nth-child(2),
.sCol02_item:nth-child(3) {
	margin-top: 0;
}

.sCol02_in {
	padding: 50px 64px 70px;
	text-align: center;
}

.sCol02_in-wide {
	padding: 50px 26px;
}

.sCol02_ico {
	display: inline-block;
	margin: 0 0 30px;
}

.sCol02_ico img {
	width: 34px;
}

.sCol02_tit {
	line-height: 1.2121212;
	font-size: 33px;
}

.sCol02_tit-fs {
	line-height: 1.3333333;
	font-size: 24px;
}

.sCol02_tit-table {
	display: table;
	width: 100%;
	height: 100%;
}

.sCol02_tit-bd {
	position: relative;
	padding: 0 0 24px;
}

.sCol02_tit-bd:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 54px;
	height: 3px;
	margin: 0 0 0 -27px;
}

.sCol02_fs {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
}

.sCol02_cell {
	display: table-cell;
	vertical-align: middle;
}

.sCol02_txt {
	line-height: 1.75;
	margin: 20px 0 0;
	font-size: 16px;
}

.sCol02_btns {
	text-align: center;
	letter-spacing: -1em;
}

.sCol02_btns li {
	display: inline-block;
	margin: 0 7px;
	letter-spacing: normal;
	vertical-align: top;
}

.sCol02_btn {
	display: inline-block;
	position: relative;
	height: 100%;
	line-height: 1.5;
	margin: 50px 0 0;
	padding: 7px 56px 10px 33px;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;
}

.dEdge .sCol02_btn {
	transition: none;
}

.sCol02_btn:hover {
	opacity: 0.7;
}

.sCol02_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sCol02_note {
	line-height: 1.6;
	margin: 15px 0 0;
	font-size: 10px;
	text-align: center;
}

.sCol02-typeA .sCol02_in {
	background-color: #f4f4f4;
}

.sCol02-typeB .sCol02_in {
	background-color: #314648;
}

.sCol02-typeC .sCol02_in {
	background-color: #8996a0;
}

.sCol02-typeD .sCol02_in {
	background-color: #f4f4f4;
}

.sCol02-typeE .sCol02_in {
	background-color: #f4f4f4;
}

.sCol02-typeF .sCol02_in {
	background-color: #f4f4f4;
}

.sCol02-typeG .sCol02_in {
	background-color: #7b8080;
}

.sCol02-typeL .sCol02_in {
	background-color: #75b5d1;
}

.sCol02-typeA .sCol02_tit {
	color: #000;
}

.sCol02-typeB .sCol02_tit {
	color: #afa477;
}

.sCol02-typeC .sCol02_tit {
	color: #fff;
}

.sCol02-typeD .sCol02_tit {
	color: #000;
}

.sCol02-typeE .sCol02_tit {
	color: #afa477;
}

.sCol02-typeF .sCol02_tit {
	color: #afa477;
}

.sCol02-typeG .sCol02_tit {
	color: #fff;
}

.sCol02-typeL .sCol02_tit {
	color: #fff;
}

.sCol02-typeA .sCol02_tit-bd:after {
	background-color: #000;
}

.sCol02-typeB .sCol02_tit-bd:after {
	background-color: #afa477;
}

.sCol02-typeC .sCol02_tit-bd:after {
	background-color: #fff;
}

.sCol02-typeD .sCol02_tit-bd:after {
	background-color: #000;
}

.sCol02-typeE .sCol02_tit-bd:after {
	background-color: #afa477;
}

.sCol02-typeF .sCol02_tit-bd:after {
	background-color: #afa477;
}

.sCol02-typeG .sCol02_tit-bd:after {
	background-color: #fff;
}

.sCol02-typeA .sCol02_txt {
	color: #727272;
}

.sCol02-typeB .sCol02_txt {
	color: #afa477;
}

.sCol02-typeC .sCol02_txt {
	color: #fff;
}

.sCol02-typeD .sCol02_txt {
	color: #727272;
}

.sCol02-typeE .sCol02_txt {
	color: #727272;
}

.sCol02-typeF .sCol02_txt {
	color: #727272;
}

.sCol02-typeG .sCol02_txt {
	color: #fff;
	text-align: left;
}

.sCol02-typeL .sCol02_txt {
	position: relative;
	margin: 0;
	padding: 20px 0 0 0;
	color: #fff;
	text-align: left;
}

.sCol02-typeL .sCol02_txt:after {
	background-color: #fff;
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 60px;
	height: 3px;
	margin: 0 0 0 -30px;
}

.sCol02-typeA .sCol02_btn {
	border-color: #fa0046;
	color: #fa0046;
}

.sCol02-typeB .sCol02_btn {
	border-color: #fa0046;
	color: #fa0046;
}

.sCol02-typeC .sCol02_btn {
	border-color: #fff;
	color: #fff;
}

.sCol02-typeD .sCol02_btn {
	border-color: #fa0046;
	color: #fa0046;
}

.sCol02-typeE .sCol02_btn {
	border-color: #afa477;
	color: #afa477;
}

.sCol02-typeF .sCol02_btn {
	border-color: #afa477;
	background-color: #afa477;
	color: #fff;
}

.sCol02-typeG .sCol02_btn {
	border-color: #fff;
	background-color: #fff;
	color: #7b8080;
}

.sCol02-typeB .sCol02_note {
	color: #afa477;
}

.sCol02 .sCol02_btn-typeA {
	border-color: #fa0046;
	background-color: #fa0046;
	color: #fff;
}

.sCol02:after,
.sCol02_in:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sCol02,
*:first-child+html .sCol02_in {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sCol02 {
		margin-right: 60px;
		margin-left: 60px;
	}

	.sCol02_item {
		margin-top: 2.777vw;
	}

	.sCol02_in {
		padding: 3.472vw 4.444vw 4.861vw;
	}

	.sCol02_in-wide {
		padding: 3.472vw 1.805vw;
	}

	.sCol02_ico {
		margin: 0 0 2.083vw;
	}

	.sCol02_ico img {
		width: 2.361vw;
	}

	.sCol02_tit {
		font-size: 2.291vw;
	}

	.sCol02_tit-fs {
		font-size: 1.666vw;
	}

	.sCol02_tit-bd {
		padding: 0 0 1.666vw;
	}

	.sCol02_tit-bd:after {
		width: 3.75vw;
		height: 0.208vw;
		margin: 0 0 0 -1.875vw;
	}

	.sCol02_fs {
		margin-bottom: 0.347vw;
		font-size: 0.972vw
	}

	.sCol02_txt {
		margin: 1.388vw 0 0;
		font-size: 1.111vw;
	}

	.sCol02_btns li {
		margin: 0 0.486vw;
	}

	.sCol02_btn {
		margin: 3.472vw 0 0;
		padding: 0.486vw 3.888vw 0.694vw 2.291vw;
		border-width: 0.138vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sCol02_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}

	.sCol02_note {
		margin: 1.041vw 0 0;
		font-size: 0.694vw;
	}
}

@media only screen and (max-width: 970px) {
	.sCol02_item {
		margin-top: 26px;
	}

	.sCol02_in {
		padding: 32px 42px 46px;
	}

	.sCol02_in-wide {
		padding: 26px 17px;
	}

	.sCol02_ico {
		margin: 0 0 19px;
	}

	.sCol02_ico img {
		width: 22px;
	}

	.sCol02_tit {
		font-size: 21px;
	}

	.sCol02_tit-fs {
		font-size: 15px;
	}

	.sCol02_tit-bd {
		padding: 0 0 15px;
	}

	.sCol02_tit-bd:after {
		width: 35px;
		height: 1px;
		margin: 0 0 0 -17px;
	}

	.sCol02_fs {
		margin-bottom: 3px;
		font-size: 9px;
	}

	.sCol02_txt {
		margin: 13px 0 0;
		font-size: 10px;
	}

	.sCol02_btns li {
		margin: 0 4px;
	}

	.sCol02_btn {
		margin: 32px 0 0;
		padding: 4px 36px 6px 21px;
		border-width: 1px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sCol02_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}

	.sCol02_note {
		margin: 9px 0 0;
		font-size: 6px;
	}
}

/* カラム3 */
.sCol03 {
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 1320px;
	margin: 40px auto 0;
	box-sizing: border-box;
}

.sCol03-mt {
	margin-top: 150px;
	margin-bottom: 150px;
}

.sCol03_wrap {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.sCol03_item {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

.sCol03_in {
	padding: 0 112px;
	text-align: center;
}

.sCol03_in-wide {
	padding-right: 70px;
	padding-left: 70px;
}

.sCol03_tit {
	line-height: 1.3;
	margin: 0 0 28px;
	font-size: 33px;
}

.sCol03_fs {
	display: inline-block;
	line-height: 1.4;
	margin-bottom: 8px;
	font-size: 18px;
}

.sCol03_sub {
	position: relative;
	margin: 20px 0 18px;
	padding: 24px 0 0;
	line-height: 1.5;
	font-size: 20px;
}

.sCol03_sub:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	width: 50px;
	height: 3px;
	margin: 0 0 0 -25px;
}

.sCol03_txt {
	margin: 24px 0 0;
	font-size: 16px;
}

.sCol03_stxt {
	margin: 15px 0 0;
	font-size: 12px;
}

.sCol03_btn {
	display: inline-block;
	position: relative;
	height: 100%;
	line-height: 1.5;
	margin: 34px 0 0;
	padding: 7px 56px 10px 33px;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sCol03_btn {
	transition: none;
}

.sCol03_btn:hover {
	opacity: 0.7;
}

.sCol03_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sCol03_note {
	width: 50%;
	line-height: 1.6666666;
	margin: 25px 0 0 0;
	font-size: 12px;
}

.sCol03-typeA .sCol03_item {
	background-color: #f4f4f4;
}

.sCol03-typeB .sCol03_item {
	background-color: #f4f4f4;
}

.sCol03-typeC .sCol03_item {
	background-color: #c5ba89;
}

.sCol03-typeD .sCol03_item {
	background-color: #f4f4f4;
}

.sCol03-typeE .sCol03_item {
	background-color: #f4f4f4;
}

.sCol03-typeF .sCol03_item {
	background-color: #f0f0f0;
}

.sCol03-typeG .sCol03_item {
	background-color: #7f8585;
}

.sCol03-typeH .sCol03_item {
	background-color: #fff;
}

.sCol03-typeI .sCol03_item {
	background-color: #eee;
}

.sCol03-typeJ .sCol03_item {
	background-color: #efefef;
}

.sCol03-typeK .sCol03_item {
	background-color: #fff;
}

.sCol03-typeA .sCol03_tit {
	color: #000;
}

.sCol03-typeB .sCol03_tit {
	color: #afa477;
}

.sCol03-typeC .sCol03_tit {
	color: #fff;
}

.sCol03-typeD .sCol03_tit {
	color: #00693E;
}

.sCol03-typeE .sCol03_tit {
	color: #8ca2bd;
}

.sCol03-typeF .sCol03_tit {
	position: relative;
	color: #7b8080;
	padding-bottom: 2.083vw;
}

.sCol03-typeG .sCol03_tit {
	color: #fff;
}

.sCol03-typeH .sCol03_tit {
	position: relative;
	color: #000;
	padding-bottom: 2.083vw;
}

.sCol03-typeI .sCol03_tit,
.sCol03-typeK .sCol03_tit {
	position: relative;
	color: #75b5d1;
	padding-bottom: 2.083vw;
}

.sCol03-typeJ .sCol03_tit {
	color: #75b5d1;
}

.sCol03-typeF .sCol03_tit:after,
.sCol03-typeH .sCol03_tit:after {
	background-color: #7b8080;
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 60px;
	height: 3px;
	margin: 0 0 0 -30px;
}

.sCol03-typeI .sCol03_tit:after,
.sCol03-typeK .sCol03_tit:after {
	background-color: #75b5d1;
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 60px;
	height: 3px;
	margin: 0 0 0 -30px;
}

.sCol03-typeA .sCol03_sub {
	color: #000;
}

.sCol03-typeB .sCol03_sub {
	color: #afa477;
}

.sCol03-typeC .sCol03_sub {
	color: #fff;
}

.sCol03-typeD .sCol03_sub {
	color: #00693E;
}

.sCol03-typeE .sCol03_sub {
	color: #8ca2bd;
}

.sCol03-typeF .sCol03_sub {
	color: #7b8080;
}

.sCol03-typeH .sCol03_sub {
	color: #000;
}

.sCol03-typeA .sCol03_sub:before {
	background-color: #000;
}

.sCol03-typeB .sCol03_sub:before {
	background-color: #afa477;
}

.sCol03-typeC .sCol03_sub:before {
	background-color: #fff;
}

.sCol03-typeD .sCol03_sub:before {
	background-color: #00693E;
}

.sCol03-typeE .sCol03_sub:before {
	background-color: #8ca2bd;
}

.sCol03-typeG .sCol03_sub:before {
	background-color: #fff;
}

.sCol03-typeH .sCol03_sub:before {
	background-color: #7b8080;
}

.sCol03-typeA .sCol03_txt,
.sCol03-typeA .sCol03_stxt {
	color: #727272;
}

.sCol03-typeB .sCol03_txt,
.sCol03-typeB .sCol03_stxt {
	color: #727272;
}

.sCol03-typeC .sCol03_txt,
.sCol03-typeC .sCol03_stxt {
	color: #fff;
}

.sCol03-typeD .sCol03_txt,
.sCol03-typeD .sCol03_stxt {
	color: #727272;
}

.sCol03-typeE .sCol03_txt,
.sCol03-typeE .sCol03_stxt {
	color: #727272;
}

.sCol03-typeF .sCol03_txt,
.sCol03-typeF .sCol03_stxt {
	color: #7b8080;
}

.sCol03-typeG .sCol03_txt,
.sCol03-typeG .sCol03_stxt {
	color: #fff;
}

.sCol03-typeH .sCol03_txt,
.sCol03-typeH .sCol03_stxt {
	color: #000;
}

.sCol03-typeA .sCol03_btn {
	border-color: #fa0046;
	color: #fa0046;
}

.sCol03-typeB .sCol03_btn {
	border-color: #afa477;
	color: #afa477;
}

.sCol03-typeC .sCol03_btn {
	border-color: #fff;
	color: #fff;
}

.sCol03-typeD .sCol03_btn {
	border-color: #00693E;
	color: #00693E;
}

.sCol03-typeE .sCol03_btn {
	border-color: #8ca2bd;
	color: #8ca2bd;
}

.sCol03-typeF .sCol03_btn {
	background-color: #7b8080;
	border-color: #7b8080;
	color: #fff;
}

.sCol03-typeG .sCol03_btn {
	border-color: #fff;
	color: #fff;
}

.sCol03-typeI .sCol03_btn {
	border-color: #75b5d1;
	background-color: #75b5d1;
	color: #fff;
}

.sCol03-typeJ .sCol03_btn {
	border-color: #75b5d1;
	color: #75b5d1;
}

.sCol03-typeA .sCol03_btn:after {
	border-color: #fa0046;
}

.sCol03-typeB .sCol03_btn:after {
	border-color: #afa477;
}

.sCol03-typeC .sCol03_btn:after {
	border-color: #fff;
}

.sCol03-typeD .sCol03_btn:after {
	border-color: #00693E;
}

.sCol03-typeE .sCol03_btn:after {
	border-color: #8ca2bd;
}

.sCol03-typeF .sCol03_btn:after {
	border-color: #fff;
}

.sCol03-typeG .sCol03_btn:after {
	border-color: #fff;
}

.sCol03_in:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sCol03_in {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sCol03 {
		max-width: 1440px;
		padding-right: 60px;
		padding-left: 60px;
		margin: 2.777vw auto 0;
	}

	.sCol03-mt {
		margin-top: 10.416vw;
		margin-bottom: 10.416vw;
	}

	.sCol03_in {
		padding: 0 7.777vw;
	}

	.sCol03_in-wide {
		padding-right: 4.861vw;
		padding-left: 4.861vw;
	}

	.sCol03_tit {
		margin: 0 0 1.944vw;
		font-size: 2.291vw;
	}

	.sCol03_fs {
		margin-bottom: 0.555vw;
		font-size: 1.25vw;
	}

	.sCol03_sub {
		margin: 1.388vw 0 1.25vw;
		padding: 1.666vw 0 0;
		font-size: 1.388vw;
	}

	.sCol03_sub:before {
		width: 3.472vw;
		height: 0.208vw;
		margin: 0 0 0 -1.736vw;
	}

	.sCol03_txt {
		margin: 1.666vw 0 0;
		font-size: 1.111vw;
	}

	.sCol03_stxt {
		margin: 1.041vw 0 0;
		font-size: 0.833vw;
	}

	.sCol03_btn {
		margin: 2.361vw 0 0;
		padding: 0.486vw 3.888vw 0.694vw 2.291vw;
		border-width: 0.138vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sCol03_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}

	.sCol03_note {
		margin: 1.736vw 0 0 0;
		font-size: 0.833vw;
	}

	.sCol03-typeF .sCol03_tit:after,
	.sCol03-typeH .sCol03_tit:after,
	.sCol03-typeI .sCol03_tit:after {
		width: 4.166vw;
		height: 0.208vw;
		margin: 0 0 0 -2.083vw;
	}
}

@media only screen and (max-width: 970px) {
	.sCol03 {
		margin: 26px auto 0;
	}

	.sCol03-mt {
		margin-top: 98px;
		margin-bottom: 98px;
	}

	.sCol03_in {
		padding: 0 73px;
	}

	.sCol03_in-wide {
		padding-right: 46px;
		padding-left: 46px;
	}

	.sCol03_tit {
		margin: 0 0 18px;
		font-size: 21px;
	}

	.sCol03_fs {
		margin-bottom: 5px;
		font-size: 11px;
	}

	.sCol03_sub {
		margin: 13px 0 11px;
		padding: 15px 0 0;
		font-size: 13px;
	}

	.sCol03_sub:before {
		width: 32px;
		height: 1px;
		margin: 0 0 0 -16px;
	}

	.sCol03_txt {
		margin: 15px 0 0;
		font-size: 10px;
	}

	.sCol03_stxt {
		margin: 9px 0 0;
		font-size: 7px;
	}

	.sCol03_btn {
		margin: 22px 0 0;
		padding: 4px 36px 6px 21px;
		border-width: 1px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sCol03_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}

	.sCol03_note {
		margin: 16px 0 0 0;
		font-size: 7px;
	}

	.sCol03-typeF .sCol03_tit:after,
	.sCol03-typeH .sCol03_tit:after {
		width: 39px;
		height: 1px;
		margin: 0 0 0 -19px;
	}
}

/* カラム4 */
.sCol04 {
	max-width: 1320px;
	margin: 0 auto;
}

.sCol04_item {
	float: right;
	width: 48.11%;
	max-width: 635px;
	margin: 40px 0 0;
	background-color: #f4f4f4;
}

.sCol04_item:nth-child(1),
.sCol04_item:nth-child(2) {
	margin-top: 0;
}

.sCol04_item:nth-child(2n-1) {
	float: left;
}

.sCol04_wrap {
	display: table;
	position: relative;
	width: 100%;
	height: 100%;
}

.sCol04_in {
	display: block;
	padding: 16px 42px;
	vertical-align: middle;
}

.sCol04_wrap .sCol04_in {
	display: table-cell;
	padding-right: 210px;
}

.sCol04_tit {
	line-height: 1.4444444;
	color: #000;
	font-size: 18px;
}

.sCol04_txt {
	line-height: 1.75;
	margin: 11px 0 0;
	font-size: 16px;
}

.sCol04_btn {
	display: block;
	position: absolute;
	top: 50%;
	right: 30px;
	width: 126px;
	line-height: 1.5;
	border-radius: 3px;
	margin: -23px 0 0;
	padding: 9px 14px 12px 0;
	font-size: 16px;
	font-weight: 400;
	text-decoration: none;
	text-align: center;
	transition: opacity 0.3s;

}

.dEdge .sCol04_btn {
	transition: none;
}

.sCol04_btn:hover {
	opacity: 0.7;
}

.sCol04_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sCol04-typeA .sCol04_btn {
	background-color: #afa477;
	color: #fff;
}

.sCol04-typeB .sCol04_btn {
	background-color: #fa0046;
	color: #fff;
}

.sCol04-typeD .sCol04_btn {
	background-color: #8ca2bd;
	color: #fff;
}

.sCol04-typeE .sCol04_item {
	background-color: #75b4d1;
}

.sCol04-typeE .sCol04_item p {
	color: #fff;
}

.sCol04:after,
.sCol04_in:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sCol04,
*:first-child+html .sCol04_in {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sCol04 {
		margin-right: 60px;
		margin-left: 60px;
	}

	.sCol04_item {
		margin: 2.777vw 0 0;
	}

	.sCol04_in {
		padding: 1.111vw 2.916vw;
	}

	.sCol04_wrap .sCol04_in {
		padding-right: 14.583vw;
	}

	.sCol04_tit {
		font-size: 1.25vw;
	}

	.sCol04_txt {
		margin: 0.763vw 0 0;
		font-size: 1.111vw;
	}

	.sCol04_btn {
		right: 2.083vw;
		width: 8.75vw;
		border-radius: 0.208vw;
		margin: -1.597vw 0 0;
		padding: 0.625vw 0.972vw 0.833vw 0;
		font-size: 1.111vw;
	}

	.sCol04_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 970px) {
	.sCol04_item {
		margin: 26px 0 0;
	}

	.sCol04_in {
		padding: 10px 27px;
	}

	.sCol04_wrap .sCol04_in {
		padding-right: 138px;
	}

	.sCol04_tit {
		font-size: 11px;
	}

	.sCol04_txt {
		margin: 7px 0 0;
		font-size: 10px;
	}

	.sCol04_btn {
		right: 19px;
		width: 83px;
		border-radius: 1px;
		margin: -15px 0 0;
		padding: 5px 9px 7px 0;
		font-size: 10px;
	}

	.sCol04_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* カラム5 */
.sCol05 {
	display: block;
	max-width: 1320px;
	margin: 40px auto 0;
}

.sCol05-expand {
	max-width: none;
}

.sCol05_in {
	max-width: 1320px;
	margin: 0 auto;
}

@media only screen and (max-width: 1440px) {
	.sCol05 {
		margin-top: 2.777vw;
		margin-right: 60px;
		margin-left: 60px;
	}

	.sCol05-expand {
		margin-right: 0;
		margin-left: 0;
	}

	.sCol05_in {
		margin-right: 60px;
		margin-left: 60px;
	}
}

@media only screen and (max-width: 970px) {
	.sCol05 {
		margin-top: 26px;
	}
}

/* カラム6 */
.sCol06 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin: 40px 0;
}

.oldIE .sCol06 {
	display: table;
	width: 100%;
}

.sCol06-reverse {
	-ms-flex-direction: row-reverse;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.sCol06_w,
.sCol06_n {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	width: 50%;
}

.sCol06_w {
	width: 57.9%
}

.sCol06_n {
	width: 42.1%;
}

.oldIE .sCol06_w,
.oldIE .sCol06_n {
	display: table-cell;
	vertical-align: middle;
}

.sCol06_n a,
.sCol06_n img {
	display: block;
	width: 100%;
}

.sCol06_in a,
.sCol06_in img {
	display: inline;
	width: auto;
}

.sCol06 .sCol06_in {
	max-width: 540px;
	margin: 0 auto;
}

.sCol06 .sCol06_in-wide {
	max-width: 640px;
}

.sCol06_logo {
	display: inline-block;
}

.sCol06_logo-w1 {
	width: 100%;
	max-width: 178px;
}

.sCol06_head {
	line-height: 1.3;
	margin: 40px 0 27px;
	font-size: 42px;
}

.sCol06_tit {
	position: relative;
	line-height: 1.3;
	margin: 0 0 30px;
	padding: 0 0 30px;
	font-size: 24px;
}

.sCol06_tit:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 2px;
}

.sCol06_txt {
	line-height: 1.75;
	margin: 0 0 40px;
	font-size: 16px;
}

.sCol06_txt:last-child {
	margin-bottom: 0;
}

.sCol06-typeA .sCol06_w {
	background-color: #314648;
	color: #fff;
}

.sCol06-typeA .sCol06_tit {
	color: #afa477;
}

.sCol06-typeA .sCol06_tit:before {
	background-color: #afa477;
}

@media only screen and (max-width: 1440px) {
	.sCol06 {
		margin: 2.777vw 0;
	}

	.sCol06 .sCol06_in {
		max-width: 37.5vw;
	}

	.sCol06 .sCol06_in-wide {
		max-width: 44.444vw;
	}

	.sCol06_head {
		margin: 2.777vw 0 1.875vw;
		font-size: 2.916vw;
	}

	.sCol06_tit {
		margin: 0 0 2.083vw;
		padding: 0 0 2.083vw;
		font-size: 1.666vw;
	}

	.sCol06_tit:before {
		width: 3.472vw;
		height: 0.138vw;
	}

	.sCol06_txt {
		margin: 0 0 2.777vw;
		font-size: 1.111vw;
	}
}

@media only screen and (max-width: 1340px) {
	.sCol06_logo img {
		width: 90%;
	}
}

@media only screen and (max-width: 1240px) {
	.sCol06_logo img {
		width: 80%;
	}
}

@media only screen and (max-width: 1140px) {
	.sCol06_logo img {
		width: 70%;
	}
}

@media only screen and (max-width: 970px) {
	.sCol06 {
		margin: 26px 0;
	}

	.sCol06 .sCol06_in {
		max-width: 356px;
	}

	.sCol06 .sCol06_in-wide {
		max-width: 422px;
	}

	.sCol06_head {
		margin: 26px 0 17px;
		font-size: 27px;
	}

	.sCol06_tit {
		margin: 0 0 19px;
		padding: 0 0 19px;
		font-size: 15px;
	}

	.sCol06_tit:before {
		width: 32px;
		height: 1px;
	}

	.sCol06_txt {
		margin: 0 0 26px;
		font-size: 10px;
	}
}

/* バナー1 */
.sBnr01 {
	display: table;
	table-layout: fixed;
	width: 100%;
	max-width: 1320px;
	margin: 150px auto;
	box-sizing: border-box;
	overflow: hidden;
}

.sBnr01+.sBnr01 {
	margin-top: -110px;
}

.sBnr01_img,
.sBnr01_info {
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

.sBnr01_info {
	padding: 0 50px;
	text-align: right;
	box-sizing: border-box;
}

.sBnr01_tit {
	line-height: 1.3;
	margin: 0 0 6px;
	font-size: 33px;
	text-align: left;
}

.sBnr01_txt {
	margin: 6px 0 0;
	font-size: 16px;
	text-align: left;
}

.sBnr01_btn {
	display: inline-block;
	position: relative;
	height: 100%;
	line-height: 1.5;
	margin: 13px 0 0;
	padding: 9px 20px;
	color: #000;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sBnr01_btn {
	transition: none;
}

.sBnr01_btn:hover {
	opacity: 0.7;
}

.sBnr01_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 2px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sBnr01-typeA .sBnr01_info {
	background-color: #f4f4f4;
}

.sBnr01-typeA .sBnr01_tit {
	color: #000;
}

.sBnr01-typeA .sBnr01_txt {
	color: #727272;
}

@media only screen and (max-width: 1440px) {
	.sBnr01 {
		max-width: 1440px;
		margin: 10.416vw auto;
		padding-left: 60px;
		padding-right: 60px;
	}

	.sBnr01+.sBnr01 {
		margin-top: -7.638vw;
	}

	.sBnr01_info {
		padding: 0 3.472vw;
	}

	.sBnr01_tit {
		margin: 0 0 0.416vw;
		font-size: 2.291vw;
	}

	.sBnr01_txt {
		margin: 0.416vw 0 0;
		font-size: 1.111vw;
	}

	.sBnr01_btn {
		margin: 1.041vw 0 0;
		padding: 0.625vw 1.388vw;
		font-size: 1.111vw;
	}

	.sBnr01_btn:after {
		right: 0.138vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.277vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 970px) {
	.sBnr01 {
		margin: 98px auto;
	}

	.sBnr01+.sBnr01 {
		margin-top: -72px;
	}

	.sBnr01_info {
		padding: 0 32px;
	}

	.sBnr01_tit {
		margin: 0 0 3px;
		font-size: 21px;
	}

	.sBnr01_txt {
		margin: 3px 0 0;
		font-size: 10px;
	}

	.sBnr01_btn {
		margin: 8px 0 0;
		padding: 5px 13px;
		font-size: 10px;
	}

	.sBnr01_btn:after {
		right: 1px;
		width: 5px;
		height: 5px;
		margin-top: -2px;
		border-width: 1px 1px 0 0;
	}
}

/* お問い合わせ */
.sContact {
	max-width: 1320px;
	margin: 0 auto;
	font-size: 100%;
}

.sContact_item {
	display: block;
	float: left;
	width: 22.75%;
	max-width: 406px;
	margin: 0 3% 0 0;
	padding: 45px;
	background-color: #f4f4f4;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none;
}

.sContact_item:nth-child(4n) {
	margin-right: 0;
}

.sContact_head {
	line-height: 1.2121212;
	margin: 0 0 34px;
	font-size: 33px;
}

.sContact_head-fs {
	font-size: 26px;
}

.sContact_head-table {
	display: table;
	width: 100%;
}

.sContact_cell {
	display: table-cell;
	vertical-align: middle;
}

.sContact_txt {
	line-height: 1.75;
	color: #727272;
	font-size: 16px;
}

.sContact_img {
	display: block;
	margin: 34px auto 0;
}

.sContact_btn {
	display: inline-block;
	position: relative;
	height: 100%;
	line-height: 1.5;
	margin: 44px 0 0;
	padding: 7px 56px 10px 33px;
	border-width: 2px;
	border-style: solid;
	border-radius: 4px;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sContact_btn {
	transition: none;
}

.sContact_btn:hover {
	opacity: 0.7;
}

.sContact_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sContact-themeA .sContact_item,
.sContact-themeA .sContact_head {
	color: #000;
}

.sContact-themeB .sContact_item,
.sContact-themeB .sContact_head {
	color: #afa477;
}

.sContact-themeC .sContact_item,
.sContact-themeC .sContact_head {
	color: #00693E;
}

.sContact-themeD .sContact_item,
.sContact-themeD .sContact_head {
	color: #8ca2bd;
}

.sContact-themeE .sContact_item,
.sContact-themeE .sContact_head {
	color: #869999;
}

.sContact-themeF .sContact_item,
.sContact-themeF .sContact_head {
	color: #7b8080;
}

.sContact-themeG .sContact_item,
.sContact-themeG .sContact_head {
	color: #75b5d1;
}

.sContact-themeA .sContact_btn {
	color: #fa0046;
}

.sContact-themeB .sContact_btn {
	color: #afa477;
}

.sContact-themeC .sContact_btn {
	color: #00693E;
}

.sContact-themeD .sContact_btn {
	color: #8ca2bd;
}

.sContact-themeE .sContact_btn {
	color: #869999;
}

.sContact-themeF .sContact_btn {
	color: #7b8080;
}

.sContact-themeG .sContact_btn {
	color: #75b5d1;
}

.sContact:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sContact {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sContact {
		margin-right: 60px;
		margin-left: 60px;
	}

	.sContact_item {

		padding: 3.055vw;
	}

	.sContact_head {
		margin: 0 0 2.361vw;
		font-size: 2.291vw;
	}

	.sContact_head-fs {
		font-size: 1.805vw;
	}

	.sContact_txt {
		font-size: 1.111vw;
	}

	.sContact_img {
		margin: 2.361vw auto 0;
	}

	.sContact_btn {
		margin: 3.055vw 0 0;
		padding: 0.486vw 3.888vw 0.694vw 2.291vw;
		border-width: 0.138vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sContact_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 1340px) {
	.sContact_img {
		width: 135px;
	}
}

@media only screen and (max-width: 1240px) {
	.sContact_img {
		width: 120px;
	}
}

@media only screen and (max-width: 1140px) {
	.sContact_img {
		width: 105px;
	}
}

@media only screen and (max-width: 970px) {
	.sContact_item {
		padding: 36px;
	}

	.sContact_head {
		margin: 0 0 22px;
		font-size: 21px;
	}

	.sContact_head-fs {
		font-size: 16px;
	}

	.sContact_txt {
		font-size: 10px;
	}

	.sContact_img {
		margin: 22px auto 0;
	}

	.sContact_btn {
		margin: 29px 0 0;
		padding: 4px 36px 6px 21px;
		border-width: 1px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sContact_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* 3つのクオリティ */
.sBg01 {
	position: relative;
	margin: 240px 0 0;
	padding: 90px 0 100px;
	background-position: left top;
	background-repeat: repeat;
}

.sBg01-typeA {
	padding-bottom: 0;
	background-image: url(/jutaku/common/images/rn03/bg01.png);
}

.sBg01-typeB {
	background-color: #f4f4f4;
}

.sBg01-typeC {
	background-color: #e9e9e9;
}

.sBg01-typeA:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 400px;
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

.sQuality {
	position: relative;
	max-width: 1144px;
	margin: 0 auto 100px;
	padding: 60px 95px;
	background-color: #fff;
	box-sizing: border-box;
	z-index: 1;
}

.sQuality_in {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.sQuality_n {
	display: table-cell;
	padding: 0 1% 0 0;
	vertical-align: middle;
}

.sQuality_w {
	display: table-cell;
	width: 56.5%;
}

.sQuality_tit {
	position: relative;
	margin: 0 0 36px;
	padding: 0 0 26px;
}

.sQuality_tit-fixB {
	margin-right: -48px;
}

.sQuality_tit:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 54px;
	height: 3px;
	background-color: #afa477;
}

.sQuality_txt {
	line-height: 1.75;
	margin: 24px 0 0;
	color: #afa477;
	font-size: 16px;
}

.sQuality_btn {
	display: inline-block;
	position: relative;
	line-height: 1.5;
	margin: 48px 0 0;
	padding: 9px 52px 12px 32px;
	border: 2px solid #afa477;
	border-radius: 4px;
	background-color: #afa477;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	transition: opacity 0.3s;

}

.dEdge .sQuality_btn {
	transition: none;
}

.sQuality_btn:hover {
	opacity: 0.7;
}

.sQuality_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media only screen and (max-width: 1440px) {
	.sBg01 {
		margin: 16.666vw 0 0;
		padding: 6.25vw 0 6.944vw;
	}

	.sQuality {
		margin: 0 auto 6.944vw;
		padding: 4.166vw 6.597vw;
	}

	.sQuality_tit {
		margin: 0 0 2.5vw;
		padding: 0 0 1.805vw;
	}

	.sQuality_tit-fixB {
		margin-right: -3.333vw;
	}

	.sQuality_tit:after {
		width: 3.75vw;
		height: 0.208vw;
	}

	.sQuality_txt {
		margin: 1.666vw 0 0;
		font-size: 1.111vw;
	}

	.sQuality_btn {
		margin: 3.333vw 0 0;
		padding: 0.625vw 3.611vw 0.833vw 2.222vw;
		border: 0.138vw solid #afa477;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sQuality_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 1360px) {
	.sQuality {
		margin-right: 108px;
		margin-left: 108px;
	}
}

@media only screen and (max-width: 970px) {
	.sBg01 {
		margin: 158px 0 0;
		padding: 59px 0 65px;
	}

	.sQuality {
		margin-bottom: 65px;
		padding: 39px 62px;
	}

	.sQuality_tit {
		margin: 0 0 23px;
		padding: 0 0 17px;
	}

	.sQuality_tit-fixB {
		margin-right: -31px;
	}

	.sQuality_tit:after {
		width: 35px;
		height: 1px;
	}

	.sQuality_txt {
		margin: 15px 0 0;
		font-size: 10px;
	}

	.sQuality_btn {
		margin: 31px 0 0;
		padding: 5px 34px 7px 21px;
		border: 1px solid #afa477;
		border-radius: 2px;
		font-size: 10px;
	}

	.sQuality_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* ラインアップ */
.sLineup {
	position: relative;
	max-width: 1308px;
	margin: 60px auto 0;
	border-style: solid;
	border-width: 0 12px 0 0;
	background-color: #f4f4f4;
	transition: opacity 0.3s ease-in;
	text-align: right;

}

.sLineup-hide {
	opacity: 0;
}

.sLineup-show {
	opacity: 1;
}

.sLineup-bdl {
	border-width: 0 0 0 12px;
	text-align: left;
}

.sLineup_img {
	display: block;
	float: left;
	width: 66%;
}

.sLineup_info {
	float: right;
	width: 34%;
	padding: 40px 36px;
	box-sizing: border-box;
}

.sLineup-bdl .sLineup_img {
	float: right;
}

.sLineup-bdl .sLineup_info {
	float: left;
}

.sLineup_head {
	display: inline-block;
	margin: 0 0 34px;
}

.sLineup_head-w1 {
	width: 100%;
	max-width: 253px;
}

.sLineup_head-w2 {
	width: 100%;
	max-width: 152px;
}

.sLineup_head-w3 {
	width: 100%;
	max-width: 265px;
}

.sLineup_head-w4 {
	width: 100%;
	max-width: 235px;
}

.sLineup_head-w5 {
	width: 100%;
	max-width: 250px;
}

.sLineup_head-w6 {
	width: 100%;
	max-width: 270px;
}

.sLineup_head-w7 {
	width: 100%;
	max-width: 184px;
}

.sLineup_head-w8 {
	width: 100%;
	max-width: 185px;
}

.sLineup_head-w9 {
	width: 100%;
	max-width: 188px;
}

.sLineup_head-w10 {
	width: 100%;
	max-width: 192px;
}

.sLineup_head-w11 {
	width: 100%;
	max-width: 156px;
}

.sLineup_head-w12 {
	width: 100%;
	max-width: 184px;
}

.sLineup_head-w13 {
	width: 100%;
	max-width: 113px;
	margin: 0 0 25px;
}

.sLineup_head-smile {
	width: 100%;
	max-width: 300px;
}

.sLineup_sub {
	margin: -30px 0 25px;
	color: #000;
	font-size: 14px;
	clear: both;
}

.sLineup_catch {
	line-height: 1.555;
	margin: 0 0 10px;
	color: #000;
	font-size: 18px;
	clear: both;
}

.sLineup_spec {
	margin: 10px 0 0;
	font-size: 13px;
	letter-spacing: -0.1em;
}

.sLineup_spec li {
	display: inline-block;
	line-height: 24px;
	margin: 5px 0 0 3px;
	padding: 0 11px 2px;
	background-color: #e3e3e3;
	letter-spacing: normal;
}

.sLineup_btn {
	display: inline-block;
	position: absolute;
	line-height: 1.5;
	margin: 40px auto 0;
	padding: 9px 58px 12px 35px;
	border-radius: 4px;
	color: #fff;
	font-size: 16px;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s ease-in;

}

.dEdge .sLineup_btn {
	transition: none;
}

.sLineup_btn:hover {
	opacity: 0.7;
}

.sLineup-bdr .sLineup_btn {
	right: 36px;
	bottom: 40px;
}

.sLineup-bdl .sLineup_btn {
	right: auto;
	left: 36px;
	bottom: 40px;
}

.sLineup_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sLineup_nodata {
	display: none !important;
	font-size: 24px;
	text-align: center;
}

.sLineup_nodata-show {
	display: block !important;
}

.sLineup-themeB {
	border-color: #afa477;
}

.sLineup-themeC {
	border-color: #00693E;
}

.sLineup-themeD {
	border-color: #8ca2bd;
}

.sLineup-themeE {
	border-color: #869999;
}

.sLineup-themeG {
	border-color: #75b5d1;
}

.sLineup-themeH {
	border-color: #b38967;
}

.sLineup-themeI {
	border-color: #000;
}

.sLineup-themeB .sLineup_btn {
	background-color: #afa477;
}

.sLineup-themeC .sLineup_btn {
	background-color: #00693E;
}

.sLineup-themeD .sLineup_btn {
	background-color: #8ca2bd;
}

.sLineup-themeE .sLineup_btn {
	background-color: #869999;
}

.sLineup-themeF .sLineup_btn {
	background-color: #7b8080;
}

.sLineup-themeG .sLineup_btn {
	background-color: #75b5d1;
}

.sLineup-themeH .sLineup_btn {
	background-color: #b38967;
}

.sLineup-themeI .sLineup_btn {
	background-color: #000;
}

.sLineup:after,
.sLineup_info:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .sLineup,
*:first-child+html .sLineup_info {
	zoom: 1;
}

/* ie7 */
@media only screen and (max-width: 1440px) {
	.sLineup {
		margin-top: 4.166vw;
		margin-right: 60px;
		margin-left: 60px;
	}

	.sLineup {
		border-width: 0 0.833vw 0 0;
	}

	.sLineup-bdl {
		border-width: 0 0 0 0.833vw;
	}

	.sLineup_info {
		padding: 2.777vw 2.5vw;
	}

	.sLineup_head {
		margin-bottom: 2.361vw;
	}

	.sLineup_head-w13 {
		margin-bottom: 1.736vw;
	}

	.sLineup_sub {
		margin: -2.083vw 0 1.736vw;
		font-size: 0.972vw;
	}

	.sLineup_catch {
		margin-bottom: 0.694vw;
		font-size: 1.25vw;
	}

	.sLineup_spec {
		margin-top: 0.694vw;
		font-size: 0.902vw;
	}

	.sLineup_spec li {
		line-height: 1.666vw;
		margin-top: 0.347vw;
		margin-left: 0.208vw;
		padding-right: 0.763vw;
		padding-bottom: 0.138vw;
		padding-left: 0.763vw;
	}

	.sLineup_btn {
		margin-top: 2.777vw;
		padding: 0.625vw 4.027vw 0.833vw 2.43vw;
		border-radius: 0.277vw;
		font-size: 1.111vw;
	}

	.sLineup-bdr .sLineup_btn {
		right: 2.5vw;
		bottom: 2.777vw;
	}

	.sLineup-bdl .sLineup_btn {
		left: 2.5vw;
		bottom: 2.777vw;
	}

	.sLineup_btn:after {
		right: 0.972vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}

	.sLineup_nodata {
		font-size: 1.666vw;
	}
}

@media only screen and (max-width: 1280px) {
	.sLineup_head img {
		width: 80%;
	}

	.sLineup_catch br {
		display: none;
	}
}

@media only screen and (max-width: 1100px) {
	.sLineup_head img {
		width: 60%;
	}

	.sLineup_head-w6 img {
		width: 74%;
	}

	.sLineup_head-smile img {
		width: 80%;
	}
}

@media only screen and (max-width: 970px) {
	.sLineup {
		margin-top: 39px;
	}

	.sLineup {
		border-width: 0 7px 0 0;
	}

	.sLineup-bdl {
		border-width: 0 0 0 7px;
	}

	.sLineup_info {
		padding: 26px 23px;
	}

	.sLineup_head {
		margin-bottom: 22px;
	}

	.sLineup_head-w13 {
		margin-bottom: 16px;
	}

	.sLineup_sub {
		margin: -19px 0 16px;
		font-size: 9px;
	}

	.sLineup_catch {
		margin-bottom: 6px;
		font-size: 11px;
	}

	.sLineup_spec {
		margin-top: 6px;
		font-size: 8px;
	}

	.sLineup_spec li {
		line-height: 15px;
		margin-top: 3px;
		margin-left: 1px;
		padding-right: 7px;
		padding-bottom: 1px;
		padding-left: 7px;
	}

	.sLineup_btn {
		margin-top: 26px;
		padding: 5px 38px 7px 23px;
		border-radius: 2px;
		font-size: 10px;
	}

	.sLineup-bdr .sLineup_btn {
		right: 23px;
		bottom: 26px;
	}

	.sLineup-bdl .sLineup_btn {
		left: 23px;
		bottom: 26px;
	}

	.sLineup_btn:after {
		right: 9px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}

	.sLineup_nodata {
		font-size: 15px;
	}
}

/* ナビ1 */
.sNav01 {
	text-align: center;
	letter-spacing: -0.5em;
	font-size: 24px;
}

.sNav01_item {
	display: inline-block;
	margin: 0 1px;
	letter-spacing: normal;
}

.sNav01_item a {
	display: block;
	line-height: 54px;
	padding: 0 35px 2px;
	background-color: #e3e3e3;
	color: #fff;
	text-decoration: none;
}

.sNav01_item:first-child a {
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

.sNav01_item:last-child a {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

.sNav01-themeB .sNav01_item-current a,
.sNav01-themeB .sNav01_item a:hover {
	background-color: #afa477;
}

.sNav01-themeD .sNav01_item-current a,
.sNav01-themeD .sNav01_item a:hover {
	background-color: #8ca2bd;
}

@media only screen and (max-width: 1440px) {
	.sNav01 {
		font-size: 1.666vw;
	}

	.sNav01_item a {
		line-height: 3.75vw;
		padding: 0 2.43vw 0.138vw;
	}

	.sNav01_item:first-child a {
		border-top-left-radius: 0.277vw;
		border-bottom-left-radius: 0.277vw;
	}

	.sNav01_item:last-child a {
		border-top-right-radius: 0.277vw;
		border-bottom-right-radius: 0.277vw;
	}
}

@media only screen and (max-width: 970px) {
	.sNav01 {
		font-size: 15px;
	}

	.sNav01_item a {
		line-height: 35px;
		padding: 0 23px 1px;
	}

	.sNav01_item:first-child a {
		border-top-left-radius: 2px;
		border-bottom-left-radius: 2px;
	}

	.sNav01_item:last-child a {
		border-top-right-radius: 2px;
		border-bottom-right-radius: 2px;
	}
}

/* 間取り1 */
.sPlan01 {
	padding: 100px 0 150px;
	text-align: center;
}

.sPlan01-bg {
	background-color: #f4f4f4;
}

.sPlan01_img {
	display: block;
	max-width: 1150px;
	margin: 90px auto;
}

.sPlan01_img:first-child {
	margin-top: 0;
}

.sPlan01_data {
	display: inline-block;
	max-width: 738px;
	line-height: 1.6666666;
	margin: 0 auto 140px;
	padding: 22px 45px;
	border-width: 2px;
	border-style: solid;
	font-size: 18px;
}

.sPlan01_data-min {
	margin-top: 50px;
	padding: 15px 20px;
	font-size: 14px;
}

.sPlan01_data-fs {
	font-size: 12px;
}

.sPlan01-themeB .sPlan01_data {
	border-color: #afa477;
	color: #afa477;
}

.sPlan01-themeC .sPlan01_data {
	border-color: #7b8181;
	color: #7b8181;
}

@media only screen and (max-width: 1440px) {
	.sPlan01 {
		padding-top: 6.944vw;
		padding-bottom: 10.416vw;
	}

	.sPlan01_img {
		margin-top: 6.25vw;
	}

	.sPlan01_data {
		margin-top: 6.25vw;
		margin-bottom: 9.722vw;
		padding: 1.527vw 3.125vw;
		border-width: 0.138vw;
		font-size: 1.25vw;
	}

	.sPlan01_data-min {
		margin-top: 3.472vw;
		padding: 1.041vw 1.388vw;
		font-size: 0.972vw;
	}

	.sPlan01_data-fs {
		font-size: 0.833vw;
	}
}

@media only screen and (max-width: 1270px) {
	.sPlan01_img {
		margin-right: 60px;
		margin-left: 60px;
	}
}

@media only screen and (max-width: 970px) {
	.sPlan01 {
		padding-top: 65px;
		padding-bottom: 98px;
	}

	.sPlan01_img {
		margin-top: 59px;
	}

	.sPlan01_data {
		margin-top: 59px;
		margin-bottom: 92px;
		padding: 14px 29px;
		border-width: 1px;
		font-size: 11px;
	}

	.sPlan01_data-min {
		margin-top: 32px;
		padding: 9px 13px;
		font-size: 9px;
	}

	.sPlan01_data-fs {
		font-size: 7px;
	}
}

/* ボタン1 */
.sBtn01 {
	display: block;
	margin: 150px 0 0;
	text-align: center;
}

.sBtn01-busy {
	margin-top: 100px;
}

.sBtn01 a {
	position: relative;
	display: inline-block;
	line-height: 1.5;
	padding: 11px 60px 13px 35px;
	border-radius: 4px;
	border-width: 2px;
	border-style: solid;
	font-size: 18px;
	text-decoration: none;
	transition: opacity 0.3s ease;

}

.dEdge .sBtn01 a {
	transition: none;
}

.sBtn01 a:hover {
	opacity: 0.7;
}

.sBtn01 a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 16px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sBtn01-themeA a {
	border-color: #fa0046;
	background-color: #fa0046;
	color: #fff;
}

.sBtn01-themeB a {
	border-color: #afa477;
	background-color: #afa477;
	color: #fff;
}

.sBtn01-themeF a {
	border-color: #7e8787;
	background-color: #7e8787;
	color: #fff;
}

.sBtn01-themeA a:after,
.sBtn01-themeB a:after {
	border-color: #fff;
}

.sBtn01-themeF a:after {
	border-color: #fff;
}

@media only screen and (max-width: 1440px) {
	.sBtn01 {
		margin-top: 10.416vw;
	}

	.sBtn01-busy {
		margin-top: 6.944vw;
	}

	.sBtn01 a {
		padding: 0.763vw 4.166vw 0.902vw 2.43vw;
		border-radius: 0.277vw;
		border-width: 0.138vw;
		font-size: 1.25vw;
	}

	.sBtn01 a:after {
		right: 1.111vw;
		width: 0.555vw;
		height: 0.555vw;
		margin-top: -0.416vw;
		border-width: 0.138vw 0.138vw 0 0;
	}
}

@media only screen and (max-width: 970px) {
	.sBtn01 {
		margin-top: 98px;
	}

	.sBtn01-busy {
		margin-top: 65px;
	}

	.sBtn01 a {
		padding: 7px 39px 8px 23px;
		border-radius: 2px;
		border-width: 1px;
		font-size: 11px;
	}

	.sBtn01 a:after {
		right: 10px;
		width: 5px;
		height: 5px;
		margin-top: -3px;
		border-width: 1px 1px 0 0;
	}
}

/* ギャラリー */
body .sGallery {
	margin: 0 0 150px;
	position: relative;
}

.sGallery_tit01 {
	position: absolute;
	bottom: 20px;
	margin-bottom: 135px;
	left: 20px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	z-index: 1;
	text-shadow:
		1px 1px 5px rgba(85, 85, 85, 0.4),
		-1px 1px 5px rgba(85, 85, 85, 0.4),
		1px -1px 5px rgba(85, 85, 85, 0.4),
		-1px -1px 5px rgba(85, 85, 85, 0.4);
}

.sGallery .sp-bottom-thumbnails {
	margin-top: 8px;
}

.sGallery .sp-thumbnails .sp-thumbnail-container {
	margin-right: 5px;
	margin-left: 5px;
}

.sGallery .sp-thumbnail-container:after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-width: 0;
	border-style: solid;
	box-sizing: border-box;
	border-color: transparent;
	transition: border 0.3s ease;
}

.sGallery .sp-selected-thumbnail:after {
	border-width: 4px;
	border-color: #99A4A6;
}

.sGallery .slider_btn {
	display: block;
	position: absolute;
	right: 50px;
	bottom: 40px;
	line-height: 1.5;
	margin-bottom: 135px;
	border-radius: 3px;
	padding: 9px 57px 12px 35px;
	font-size: 16px;
	text-decoration: none;
	z-index: 1;
	overflow: hidden;
	transition: opacity 0.3s !important;

}

.dEdge .sGallery .slider_btn {
	transition: none;
}

.sGallery .slider_btn:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.3s;

}

.sGallery .slider_btn:hover:before {
	opacity: 0.3;
}

.sGallery .slider_btn:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	margin-top: -6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sGallery-themeA .sp-next-arrow:after,
.sGallery-themeA .sp-next-arrow:before,
.sGallery-themeA .sp-previous-arrow:after,
.sGallery-themeA .sp-previous-arrow:before,
.sGallery02-themeA .sp-next-arrow:after,
.sGallery02-themeA .sp-next-arrow:before,
.sGallery02-themeA .sp-previous-arrow:after,
.sGallery02-themeA .sp-previous-arrow:before {
	background-color: #fa0046;
}

.sGallery-themeB .sp-next-arrow:after,
.sGallery-themeB .sp-next-arrow:before,
.sGallery-themeB .sp-previous-arrow:after,
.sGallery-themeB .sp-previous-arrow:before {
	background-color: #afa477;
}

.sGallery-themeC .sp-next-arrow:after,
.sGallery-themeC .sp-next-arrow:before,
.sGallery-themeC .sp-previous-arrow:after,
.sGallery-themeC .sp-previous-arrow:before {
	background-color: #00693E;
}

.sGallery-themeD .sp-next-arrow:after,
.sGallery-themeD .sp-next-arrow:before,
.sGallery-themeD .sp-previous-arrow:after,
.sGallery-themeD .sp-previous-arrow:before {
	background-color: #7b8080;
}

.sGallery-themeB .slider_btn {
	background-color: #fff;
	color: #afa477;
}

.sGallery-themeC .slider_btn {
	background-color: #fff;
	color: #00693E;
}

.sGallery-themeD .slider_btn {
	background-color: #fff;
	color: #7b8080;
}

@media only screen and (max-width: 1440px) {
	body .sGallery {
		margin-bottom: 10.4166666666667vw;
	}
}

@media only screen and (max-width: 967px) {
	body .sGallery {
		margin-bottom: 98px;
	}
}

/* 共通ナビ */
.cmnNav01 {
	margin: 0 0 0;
	padding: 100px 0 60px;
	background-color: #fff;
	color: #000;
	text-align: center;
}

.cmnNav01_list {
	max-width: 1000px;
	margin: 0 auto;
	font-size: 14px;
	letter-spacing: -0.5em;
}

.cmnNav01_item {
	display: inline-block;
	border-right: 1px solid #000;
	letter-spacing: normal;
}

.cmnNav01_item:last-child {
	border-right: none;
}

.cmnNav01_item a {
	display: block;
	line-height: 30px;
	padding: 0 58px;
	color: #000;
	text-decoration: none;
}

@media only screen and (max-width: 1200px) {
	.cmnNav01_item a {
		padding: 0 50px;
	}
}

/* 家づくりナビ */
.cmnNav02 {
	padding: 92px 40px 0;
	background-color: #fff;
	color: #000;
}

.cmnNav02_in {
	max-width: 1000px;
	margin: 0 auto;
}

.cmnNav02_tit {
	line-height: 1.461;
	margin: 0 0 48px;
	font-family: 'Noto Serif JP', serif;
	font-size: 209%;
	font-weight: 500;
	text-align: center;
}

.cmnNav02_txt {
	line-height: 1.6875;
	margin: 0;
	color: #727272;
	font-size: 134%;
	font-weight: 400;
	text-align: center;
}

.cmnNav02_menu {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
	margin: 54px 0 0;
	text-align: center;
}

.cmnNav02_item {
	width: 30.7%;
	padding: 17px 27px 20px;
	border-radius: 4px;
	background-color: #f0f0f0;
	box-sizing: border-box;
}

.cmnNav02_stit {
	line-height: 1.5;
	margin: 0;
	font-size: 150%;
	font-weight: 700;
}

.cmnNav02_stit::before {
	content: "";
	display: block;
	max-width: 40px;
	height: 40px;
	margin: 0 auto 6px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.cmnNav02_stit-t1::before {
	background-image: url(/jutaku/images/rn03/nav_bg01.png);
}

.cmnNav02_stit-t2::before {
	background-image: url(/jutaku/images/rn03/nav_bg02.png);
}

.cmnNav02_stit-t3::before {
	background-image: url(/jutaku/images/rn03/nav_bg03.png);
}

.cmnNav02_list {
	line-height: 1.285;
	margin: 16px 0 0;
	font-size: 117%;
}

.cmnNav02_list li {
	margin: 15px 0 0;
}

.cmnNav02_list li:first-child {
	margin-top: 0;
}

.cmnNav02_list a {
	display: -webkit-box;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 50px;
	padding: 12px 0 14px;
	border-radius: 4px;
	background-color: #fff;
	color: #000;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

.cmnNav02_list a::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 7px;
	height: 7px;
	margin: -5px 0 0;
	border-width: 1px 1px 0 0;
	border-style: solid;
	transform: rotate(45deg);
}

.cmnNav02_list span {
	display: block;
	line-height: 1;
	margin: 0 0 3px;
	line-height: 1.3;
	font-size: 71%;
}

/* 追従ナビ */
.cmnSide01 {
	position: fixed;
	top: 50%;
	right: 0;
	width: 140px;
	margin: -50px 0 0;
	z-index: 110;
}

.cmnSide01_nav {
	line-height: 1;
	font-size: 12px;
	font-weight: 400;
}

.cmnSide01_nav li {
	margin: 1px 0 0;
}

.cmnSide01_nav a {
	display: block;
	position: relative;
	line-height: 30px;
	padding: 0 0 2px 45px;
	background-color: #000;
	color: #fff;
	text-decoration: none;
	transition: color .3s;
}

.cmnSide01_nav a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
	width: 26px;
	height: 26px;
	margin: -13px 0 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.cmnSide01_t1 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico01.png);
}

.cmnSide01_t2 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico02.png);
}

.cmnSide01_t3 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico03.png);
}

.cmnSide01_t4 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico04.png);
}

.cmnSide01_t5 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico05.png);
}

.cmnSide01_t7 a::before {
	background-image: url(/jutaku/common/images/rn03/side_ico07.png);
}

.d_hover .cmnSide01_nav a:hover {
	color: #ccc;
}

.cmnSide02 {
	position: fixed;
	top: 50%;
	right: 0;
	width: 44px;
	transform: translate(0, -50%);
	z-index: 100;
}

.cmnSide02_nav {
	line-height: 1;
	font-size: 12px;
	font-weight: 400;
}

.cmnSide02_nav li {
	margin: 2px 0 0;
}

.cmnSide02_nav a {
	display: block;
	position: relative;
	min-height: 170px;
	line-height: 1.166;
	padding: 44px 0 0;
	background-color: #000;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: color .3s;
	box-sizing: border-box;
}

.cmnSide02_nav a::before {
	content: "";
	display: block;
	position: absolute;
	top: 9px;
	right: 0;
	left: 0;
	width: 26px;
	height: 26px;
	margin: 0 auto;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.cmnSide02_t1 a::before {
	background-image: url(/jutaku/common/images/rn03/svg/side_ico01.svg);
}

.cmnSide02_t2 a::before {
	background-image: url(/jutaku/common/images/rn03/svg/side_ico02.svg);
}

.cmnSide02_t3 a::before {
	background-image: url(/jutaku/common/images/rn03/svg/side_ico03.svg);
}

.cmnSide02_nav span {
	display: inline-block;
	width: 1em;
	vertical-align: top;
}

.d_hover .cmnSide02_nav a:hover {
	color: #ccc;
}

/* News & Topics */
.cmnNews01 {
	padding: 92px 40px 100px;
	background-color: #f4f4f4;
	color: #000;
}

.cmnNews01-bg1 {
	padding-top: 30px;
	padding-bottom: 100px;
	background: #fff;
}

.cmnNews01_in {
	max-width: 1000px;
	margin: 0 auto;
}

.cmnNews01_tit {
	line-height: 1.461;
	margin: 0 0 48px;
	font-family: 'Noto Serif JP', serif;
	font-size: 209%;
	font-weight: 500;
	text-align: center;
}

.cmnNews01_txt {
	line-height: 1.6875;
	margin: 0;
	color: #727272;
	font-size: 134%;
	font-weight: 400;
	text-align: center;
}

.cmnNews02 {
	position: relative;
	margin: 54px 0 0;
}

.cmnNews02_in {
	transition: opacity .5s;
	opacity: 0;
}

.cmnNews02 img {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: optimizequality;
}

.cmnNews02_in.sw_initialized {
	opacity: 1;
}

.cmnNews02-n1 {
	max-width: 750px;
	margin-right: auto;
	margin-left: auto;
}

.cmnNews02-n1 .cmnNews02_item {
	width: 750px;
}

.cmnNews02-n2 .cmnNews02_item {
	width: 585px;
}

.cmnNews02-n3 .cmnNews02_item {
	width: 400px;
}

.cmnNews02 .fnSlider_bar.swiper-scrollbar {
	position: static;
	width: auto;
	height: 8px;
}

/* 検索画面 */
#search_result_main {
	max-width: 950px;
	margin: 0 auto;
	padding: 80px 0;
}

#search_result_main h1 {
	line-height: 1.5;
	margin: 0 0 20px;
	padding: 0 0 7px;
	border-bottom: 1px solid #999;
	background: none;
	color: #333;
	font-size: 184%;
	font-weight: bold;
}

#search_result_main .search_link {
	line-height: 1.7;
	font-size: 117%;
}

/* カタログモーダル */
.catalogModalOpen .mfp-content {
	background-color: #fff;
	max-width: 455px;
	margin: 0 auto;
	padding: 30px;
	text-align: center;
	color: #000;
}

.catalogModalOpen .sCatalog_img {
	margin-bottom: 20px;
}

.catalogModalOpen .sCatalog_tit {
	font-size: 18px;
	margin-bottom: 10px;
}

.catalogModalOpen .sCatalog_txt {
	font-size: 14px;
	text-align: left;
	margin-bottom: 20px;
}

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

.catalogModalOpen .sCatalog_btn {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #000;
	border-radius: 4px;
	color: #fff;
	width: calc(50% - 25px);
	text-decoration: none;
	padding: 5px 15px 5px 5px;
	font-size: 14px;
}

.catalogModalOpen .sCatalog_btn::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
}

.catalogModalOpen .sCatalog_btn-01::before {
	background: url(/jutaku/common/images/rn03/catalog_ico01.png) no-repeat 0 0;
}

.catalogModalOpen .sCatalog_btn-02::before {
	background: url(/jutaku/common/images/rn03/catalog_ico02.png) no-repeat 0 0;
}

.catalogModalOpen .sCatalog_btn:hover {
	opacity: 0.7;
}

/* 99. 汎用スタイル */
/* 回り込み解除 */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
	height: 0;
}

*:first-child+html .clearfix {
	zoom: 1;
}

/* ie7 */
/* 文字サイズ調整 */
.fs10 {
	font-size: 10px;
}

.fs12 {
	font-size: 12px;
}

.fs14 {
	font-size: 14px;
}

.fs16 {
	font-size: 16px;
}

.fs18 {
	font-size: 18px;
}

@media only screen and (max-width: 1440px) {
	.fs10 {
		font-size: 0.694vw;
	}

	.fs12 {
		font-size: 0.833vw;
	}

	.fs14 {
		font-size: 0.972vw;
	}

	.fs16 {
		font-size: 1.111vw;
	}

	.fs18 {
		font-size: 1.25vw;
	}
}

@media only screen and (max-width: 967px) {
	.fs10 {
		font-size: 6px;
	}

	.fs12 {
		font-size: 7px;
	}

	.fs14 {
		font-size: 9px;
	}

	.fs16 {
		font-size: 10px;
	}

	.fs18 {
		font-size: 11px;
	}
}

/* 余白調整 */
.mt00 {
	margin-top: 0 !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mr00 {
	margin-right: 0 !important;
}

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb00 {
	margin-bottom: 0 !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.ml00 {
	margin-left: 0 !important;
}

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.pt00 {
	padding-top: 0 !important;
}

.pt05 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pr00 {
	padding-right: 0 !important;
}

.pr05 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pb00 {
	padding-bottom: 0 !important;
}

.pb05 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl00 {
	padding-left: 0 !important;
}

.pl05 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

/* 幅調整 */
.w00 {
	width: 0 !important;
}

.w05p {
	width: 5% !important;
}

.w10p {
	width: 10% !important;
}

.w15p {
	width: 15% !important;
}

.w20p {
	width: 20% !important;
}

.w25p {
	width: 25% !important;
}

.w30p {
	width: 30% !important;
}

.w35p {
	width: 35% !important;
}

.w40p {
	width: 40% !important;
}

.w45p {
	width: 45% !important;
}

.w50p {
	width: 50% !important;
}

.w55p {
	width: 55% !important;
}

.w60p {
	width: 60% !important;
}

.w65p {
	width: 65% !important;
}

.w70p {
	width: 70% !important;
}

.w75p {
	width: 75% !important;
}

.w80p {
	width: 80% !important;
}

.w85p {
	width: 85% !important;
}

.w90p {
	width: 90% !important;
}

.w95p {
	width: 95% !important;
}

.w100p {
	width: 100% !important;
}

/* 位置調整 */
.aCenter {
	text-align: center !important;
}

.aRight {
	text-align: right !important;
}

.aLeft {
	text-align: left !important;
}

.vTop {
	vertical-align: top !important;
}

.vMiddle {
	vertical-align: middle !important;
}

.vBottom {
	vertical-align: bottom !important;
}

.aCenter th,
.aCenter td {
	text-align: center !important;
}

.aRight th,
.aRight td {
	text-align: right !important;
}

.vTop th,
.vTop td {
	vertical-align: top !important;
}

.vMiddle th,
.vMiddle td {
	vertical-align: middle !important;
}

/* 99. プラグイン */
/*!
*  - v1.4.0
* Homepage: http://bqworks.com/slider-pro/
* Author: bqworks
* Author URL: http://bqworks.com/
*/
.slider-pro {
	position: relative;
	margin: 0 auto;
	-moz-box-sizing: content-box;
	box-sizing: content-box
}

.sp-slides-container {
	position: relative
}

.sp-mask {
	position: relative;
	overflow: hidden
}

.sp-slides {
	position: relative;

	-webkit-perspective: 1000
}

.sp-slide {
	position: absolute
}

.sp-image-container {
	overflow: hidden
}

.sp-image {
	position: relative;
	display: block;
	border: none
}

.sp-no-js {
	overflow: hidden;
	max-width: 100%
}

.sp-thumbnails-container {
	position: relative;
	overflow: hidden;
	direction: ltr
}

.sp-bottom-thumbnails, .sp-top-thumbnails {
	left: 0;
	margin: 0 auto
}

.sp-top-thumbnails {
	position: absolute;
	top: 0;
	margin-bottom: 4px
}

.sp-bottom-thumbnails {
	margin-top: 4px
}

.sp-left-thumbnails, .sp-right-thumbnails {
	position: absolute;
	top: 0
}

.sp-right-thumbnails {
	right: 0;
	margin-left: 4px
}

.sp-left-thumbnails {
	left: 0;
	margin-right: 4px
}

.sp-thumbnails {
	position: relative
}

.sp-thumbnail {
	border: none
}

.sp-thumbnail-container {
	position: relative;
	display: block;
	overflow: hidden;
	float: left;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

.sp-rtl .sp-thumbnail-container {
	float: right
}

.sp-bottom-thumbnails .sp-thumbnail-container, .sp-top-thumbnails .sp-thumbnail-container {
	margin-left: 2px;
	margin-right: 2px
}

.sp-bottom-thumbnails .sp-thumbnail-container:first-child, .sp-top-thumbnails .sp-thumbnail-container:first-child {
	margin-left: 0
}

.sp-bottom-thumbnails .sp-thumbnail-container:last-child, .sp-top-thumbnails .sp-thumbnail-container:last-child {
	margin-right: 0
}

.sp-left-thumbnails .sp-thumbnail-container, .sp-right-thumbnails .sp-thumbnail-container {
	margin-top: 2px;
	margin-bottom: 2px
}

.sp-left-thumbnails .sp-thumbnail-container:first-child, .sp-right-thumbnails .sp-thumbnail-container:first-child {
	margin-top: 0
}

.sp-left-thumbnails .sp-thumbnail-container:last-child, .sp-right-thumbnails .sp-thumbnail-container:last-child {
	margin-bottom: 0
}

.sp-right-thumbnails.sp-has-pointer {
	margin-left: -13px
}

.sp-right-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	left: 18px;
	margin-left: 0 !important
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: 5px solid red;
	left: 0;
	top: 0;
	margin-left: 13px
}

.sp-right-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 0;
	top: 50%;
	margin-top: -8px;
	border-right: 13px solid red;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent
}

.sp-left-thumbnails.sp-has-pointer {
	margin-right: -13px
}

.sp-left-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	right: 18px
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: 5px solid red;
	right: 0;
	top: 0;
	margin-right: 13px
}

.sp-left-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	right: 0;
	top: 50%;
	margin-top: -8px;
	border-left: 13px solid red;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent
}

.sp-bottom-thumbnails.sp-has-pointer {
	margin-top: -13px
}

.sp-bottom-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	top: 18px;
	margin-top: 0 !important
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	width: 100%;
	border-bottom: 5px solid red;
	top: 0;
	margin-top: 13px
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	top: 0;
	margin-left: -8px;
	border-bottom: 13px solid red;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent
}

.sp-top-thumbnails.sp-has-pointer {
	margin-bottom: -13px
}

.sp-top-thumbnails.sp-has-pointer .sp-thumbnail {
	position: absolute;
	bottom: 18px
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:before {
	content: '';
	position: absolute;
	width: 100%;
	border-bottom: 5px solid red;
	bottom: 0;
	margin-bottom: 13px
}

.sp-top-thumbnails.sp-has-pointer .sp-selected-thumbnail:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	left: 50%;
	bottom: 0;
	margin-left: -8px;
	border-top: 13px solid red;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent
}

.sp-layer {
	position: absolute;
	margin: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-backface-visibility: hidden
}

.sp-black {
	color: #FFF;
	background: #000;
	background: rgba(0, 0, 0, .7)
}

.sp-white {
	color: #000;
	background: #fff;
	background: rgba(255, 255, 255, .7)
}

.sp-rounded {
	border-radius: 10px
}

.sp-padding {
	padding: 10px
}

.sp-selectable {
	cursor: default
}

.sp-caption-container {
	text-align: center;
	margin-top: 10px
}

.sp-full-screen {
	margin: 0 !important;
	background-color: #000
}

.sp-full-screen-button {
	position: absolute;
	top: 5px;
	right: 10px;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg)
}

.sp-full-screen-button:before {
	content: '\2195'
}

.sp-fade-full-screen {
	opacity: 0;
	-webkit-transition: opacity .5s;
	transition: opacity .5s
}

.slider-pro:hover .sp-fade-full-screen {
	opacity: 1
}

.sp-buttons {
	position: relative;
	width: 100%;
	text-align: center;
	padding-top: 10px
}

.sp-rtl .sp-buttons {
	direction: rtl
}

.sp-full-screen .sp-buttons {
	display: none
}

.sp-button {
	width: 10px;
	height: 10px;
	border: 2px solid #000;
	border-radius: 50%;
	margin: 4px;
	display: inline-block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer
}

.sp-selected-button {
	background-color: #000
}

@media only screen and (min-width:768px) and (max-width:1024px) {
	.sp-button {
		width: 14px;
		height: 14px
	}
}

@media only screen and (min-width:568px) and (max-width:768px) {
	.sp-button {
		width: 16px;
		height: 16px
	}
}

@media only screen and (min-width:320px) and (max-width:568px) {
	.sp-button {
		width: 18px;
		height: 18px
	}
}

.sp-arrows {
	position: absolute
}

.sp-fade-arrows {
	opacity: 0;
	-webkit-transition: opacity .5s;
	transition: opacity .5s
}

.sp-slides-container:hover .sp-fade-arrows {
	opacity: 1
}

.sp-horizontal .sp-arrows {
	width: 100%;
	left: 0;
	top: 50%;
	margin-top: -15px
}

.sp-vertical .sp-arrows {
	height: 100%;
	left: 50%;
	top: 0;
	margin-left: -10px
}

.sp-arrow {
	position: absolute;
	display: block;
	width: 20px;
	height: 30px;
	cursor: pointer
}

.sp-vertical .sp-arrow {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg)
}

.sp-horizontal .sp-previous-arrow {
	left: 20px;
	right: auto
}

.sp-horizontal .sp-next-arrow, .sp-horizontal.sp-rtl .sp-previous-arrow {
	right: 20px;
	left: auto
}

.sp-horizontal.sp-rtl .sp-next-arrow {
	left: 20px;
	right: auto
}

.sp-vertical .sp-previous-arrow {
	top: 20px
}

.sp-vertical .sp-next-arrow {
	bottom: 20px;
	-webkit-transform: rotate(270deg);
	-ms-transform: rotate(270deg);
	transform: rotate(270deg)
}

.sp-next-arrow:after, .sp-next-arrow:before, .sp-previous-arrow:after, .sp-previous-arrow:before {
	content: '';
	position: absolute;
	width: 50%;
	height: 50%;
	background-color: #FFF
}

.sp-arrow:before {
	left: 30%;
	top: 0;
	-webkit-transform: skew(145deg, 0deg);
	-ms-transform: skew(145deg, 0deg);
	transform: skew(145deg, 0deg)
}

.sp-arrow:after {
	left: 30%;
	top: 50%;
	-webkit-transform: skew(-145deg, 0deg);
	-ms-transform: skew(-145deg, 0deg);
	transform: skew(-145deg, 0deg)
}

.sp-horizontal.sp-rtl .sp-previous-arrow, .sp-next-arrow {
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg)
}

.sp-horizontal.sp-rtl .sp-next-arrow {
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg)
}

.ie7 .sp-arrow, .ie8 .sp-arrow {
	width: 0;
	height: 0
}

.ie7 .sp-arrow:after, .ie7 .sp-arrow:before, .ie8 .sp-arrow:after, .ie8 .sp-arrow:before {
	content: none
}

.ie7.sp-horizontal .sp-previous-arrow, .ie8.sp-horizontal .sp-previous-arrow {
	border-right: 20px solid #FFF;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent
}

.ie7.sp-horizontal .sp-next-arrow, .ie8.sp-horizontal .sp-next-arrow {
	border-left: 20px solid #FFF;
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent
}

.ie7.sp-vertical .sp-previous-arrow, .ie8.sp-vertical .sp-previous-arrow {
	border-bottom: 20px solid #FFF;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent
}

.ie7.sp-vertical .sp-next-arrow, .ie8.sp-vertical .sp-next-arrow {
	border-top: 20px solid #FFF;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent
}

.sp-thumbnail-arrows {
	position: absolute
}

.sp-fade-thumbnail-arrows {
	opacity: 0;
	-webkit-transition: opacity .5s;
	transition: opacity .5s
}

.sp-thumbnails-container:hover .sp-fade-thumbnail-arrows {
	opacity: 1
}

.sp-bottom-thumbnails .sp-thumbnail-arrows, .sp-top-thumbnails .sp-thumbnail-arrows {
	width: 100%;
	top: 50%;
	left: 0;
	margin-top: -12px
}

.sp-left-thumbnails .sp-thumbnail-arrows, .sp-right-thumbnails .sp-thumbnail-arrows {
	height: 100%;
	top: 0;
	left: 50%;
	margin-left: -7px
}

.sp-thumbnail-arrow {
	position: absolute;
	display: block;
	width: 15px;
	height: 25px;
	cursor: pointer
}

.sp-left-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow, .sp-right-thumbnails .sp-thumbnail-arrows .sp-thumbnail-arrow {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg)
}

.sp-bottom-thumbnails .sp-previous-thumbnail-arrow, .sp-top-thumbnails .sp-previous-thumbnail-arrow {
	left: 0
}

.sp-bottom-thumbnails .sp-next-thumbnail-arrow, .sp-top-thumbnails .sp-next-thumbnail-arrow {
	right: 0
}

.sp-left-thumbnails .sp-previous-thumbnail-arrow, .sp-right-thumbnails .sp-previous-thumbnail-arrow {
	top: 0
}

.sp-left-thumbnails .sp-next-thumbnail-arrow, .sp-right-thumbnails .sp-next-thumbnail-arrow {
	bottom: 0
}

.sp-next-thumbnail-arrow:after, .sp-next-thumbnail-arrow:before, .sp-previous-thumbnail-arrow:after, .sp-previous-thumbnail-arrow:before {
	content: '';
	position: absolute;
	width: 50%;
	height: 50%;
	background-color: #FFF
}

.sp-previous-thumbnail-arrow:before {
	left: 30%;
	top: 0;
	-webkit-transform: skew(145deg, 0deg);
	-ms-transform: skew(145deg, 0deg);
	transform: skew(145deg, 0deg)
}

.sp-previous-thumbnail-arrow:after {
	left: 30%;
	top: 50%;
	-webkit-transform: skew(-145deg, 0deg);
	-ms-transform: skew(-145deg, 0deg);
	transform: skew(-145deg, 0deg)
}

.sp-next-thumbnail-arrow:before {
	right: 30%;
	top: 0;
	-webkit-transform: skew(35deg, 0deg);
	-ms-transform: skew(35deg, 0deg);
	transform: skew(35deg, 0deg)
}

.sp-next-thumbnail-arrow:after {
	right: 30%;
	top: 50%;
	-webkit-transform: skew(-35deg, 0deg);
	-ms-transform: skew(-35deg, 0deg);
	transform: skew(-35deg, 0deg)
}

.ie7 .sp-thumbnail-arrow, .ie8 .sp-thumbnail-arrow {
	width: 0;
	height: 0
}

.ie7 .sp-thumbnail-arrow:after, .ie7 .sp-thumbnail-arrow:before, .ie8 .sp-thumbnail-arrow:after, .ie8 .sp-thumbnail-arrow:before {
	content: none
}

.ie7 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow, .ie7 .sp-top-thumbnails .sp-previous-thumbnail-arrow, .ie8 .sp-bottom-thumbnails .sp-previous-thumbnail-arrow, .ie8 .sp-top-thumbnails .sp-previous-thumbnail-arrow {
	border-right: 12px solid #FFF;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent
}

.ie7 .sp-bottom-thumbnails .sp-next-thumbnail-arrow, .ie7 .sp-top-thumbnails .sp-next-thumbnail-arrow, .ie8 .sp-bottom-thumbnails .sp-next-thumbnail-arrow, .ie8 .sp-top-thumbnails .sp-next-thumbnail-arrow {
	border-left: 12px solid #FFF;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent
}

.ie7 .sp-left-thumbnails .sp-previous-thumbnail-arrow, .ie7 .sp-right-thumbnails .sp-previous-thumbnail-arrow, .ie8 .sp-left-thumbnails .sp-previous-thumbnail-arrow, .ie8 .sp-right-thumbnails .sp-previous-thumbnail-arrow {
	border-bottom: 12px solid #FFF;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent
}

.ie7 .sp-left-thumbnails .sp-next-thumbnail-arrow, .ie7 .sp-right-thumbnails .sp-next-thumbnail-arrow, .ie8 .sp-left-thumbnails .sp-next-thumbnail-arrow, .ie8 .sp-right-thumbnails .sp-next-thumbnail-arrow {
	border-top: 12px solid #FFF;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent
}

a.sp-video {
	text-decoration: none
}

a.sp-video img {

	border: none
}

a.sp-video:after {
	content: '\25B6';
	position: absolute;
	width: 45px;
	padding-left: 5px;
	height: 50px;
	border: 2px solid #FFF;
	text-align: center;
	font-size: 30px;
	border-radius: 30px;
	top: 0;
	color: #FFF;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, .2);
	margin: auto;
	line-height: 52px
}

.slider-pro img.sp-image, .slider-pro img.sp-thumbnail {
	max-width: none;
	max-height: none;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	-webkit-box-shadow: none !important;
	-mox-box-shadow: none !important;
	box-shadow: none !important;
	transition: none;
	-moz-transition: none;
	-webkit-transition: none;
	-o-transition: none
}

.slider-pro a {
	position: static;
	transition: none !important;
	-moz-transition: none !important;
	-webkit-transition: none !important;
	-o-transition: none !important
}

.slider-pro canvas, .slider-pro embed, .slider-pro iframe, .slider-pro object, .slider-pro video {
	max-width: none;
	max-height: none
}

.slider-pro p.sp-layer {
	font-size: 14px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h1.sp-layer {
	font-size: 32px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h2.sp-layer {
	font-size: 24px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h3.sp-layer {
	font-size: 19px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h4.sp-layer {
	font-size: 16px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h5.sp-layer {
	font-size: 13px;
	line-height: 1.4;
	margin: 0
}

.slider-pro h6.sp-layer {
	font-size: 11px;
	line-height: 1.4;
	margin: 0
}

.slider-pro img.sp-layer {
	border: none
}

.slider-pro {
	display: none !important;
}

.slider-pro-show {
	display: block !important;
}

.sp-buttons {
	top: -40px;
	margin-top: -10px;
	padding-top: 0;
	font-size: 0;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.sp-button {
	width: 10px;
	height: 10px;
	border: none;
	border-radius: 50%;
	margin: 0 4px;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.6);
}

.sp-selected-button {
	background: #fff;
}

.sp-arrow {
	width: 50px;
	height: 92px;
	background-color: #fff;
	background-color: rgba(255, 255, 255, 0.9);
	transition: opacity 0.3s;

}

.sp-arrow:hover {
	opacity: 0.7;
}

.sp-horizontal .sp-previous-arrow {
	left: 0;
}

.sp-horizontal .sp-next-arrow {
	right: 0;
}

.sp-horizontal .sp-arrows {
	margin-top: -46px;
}

.sp-next-arrow:after,
.sp-next-arrow:before,
.sp-previous-arrow:after,
.sp-previous-arrow:before {
	left: 44%;
	width: 4px;
	height: 22px;
}

.sp-next-arrow:before,
.sp-previous-arrow:before {
	top: 50%;
	margin-top: -22px;
}

/* Magnific Popup CSS */
.mfp-wrap .mfp-iframe-holder .mfp-content {
	max-width: 99%;
	width: 7in;
	height: 390px;
	border: 1px solid #959593;
	padding: 0
}

.mfp-wrap .mfp-iframe-scaler iframe {
	box-shadow: none;
	background: #fff
}

.mfp-bg {
	z-index: 1;
	overflow: hidden;
	background: #0b0b0b;
	opacity: .8;
	filter: alpha(opacity=80)
}

.mfp-bg, .mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: fixed
}

.mfp-wrap {
	z-index: 2;
	outline: 0 !important;
	/*-webkit-backface-visibility:hidden*/
}

.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

.mfp-container:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle
}

.mfp-align-top .mfp-container:before {
	display: none
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 4
}

.mfp-ajax-holder .mfp-content, .mfp-inline-holder .mfp-content {
	width: 100%;
	cursor: auto
}

.mfp-ajax-cur {
	cursor: progress
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: -moz-zoom-out;
	cursor: -webkit-zoom-out;
	cursor: zoom-out
}

.mfp-zoom {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
	cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
	cursor: auto
}

.mfp-arrow, .mfp-close, .mfp-counter, .mfp-preloader {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.mfp-loading.mfp-figure {
	display: none
}

.mfp-hide {
	display: none !important
}

.mfp-preloader {
	color: #ccc;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 3
}

.mfp-preloader a {
	color: #ccc
}

.mfp-preloader a:hover {
	color: #fff
}

.mfp-s-error .mfp-content, .mfp-s-ready .mfp-preloader {
	display: none
}

button.mfp-arrow, button.mfp-close {
	overflow: visible;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: 0;
	padding: 0;
	z-index: 5;
	-webkit-box-shadow: none;
	box-shadow: none
}

button::-moz-focus-inner {
	padding: 0;
	border: 0
}

.mfp-close {
	width: 44px;
	height: 44px;
	line-height: 44px;
	position: absolute;
	right: 0;
	top: 0;
	text-decoration: none;
	text-align: center;
	opacity: .65;
	filter: alpha(opacity=65);
	padding: 0 0 18px 10px;
	color: #fff;
	font-style: normal;
	font-size: 28px;
	font-family: Arial, Baskerville, monospace
}

.mfp-close:focus, .mfp-close:hover {
	opacity: 1;
	filter: alpha(opacity=100)
}

.mfp-close:active {
	top: 1px
}

.mfp-close-btn-in .mfp-close {
	color: #333
}

.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #ccc;
	font-size: 9pt;
	line-height: 18px;
	white-space: nowrap
}

.mfp-arrow {
	position: absolute;
	opacity: .65;
	filter: alpha(opacity=65);
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.mfp-arrow:active {
	margin-top: -54px
}

.mfp-arrow:focus, .mfp-arrow:hover {
	opacity: 1;
	filter: alpha(opacity=100)
}

.mfp-arrow .mfp-a, .mfp-arrow .mfp-b, .mfp-arrow:after, .mfp-arrow:before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent
}

.mfp-arrow .mfp-a, .mfp-arrow:after {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px
}

.mfp-arrow .mfp-b, .mfp-arrow:before {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7
}

.mfp-arrow-left {
	left: 0
}

.mfp-arrow-left .mfp-a, .mfp-arrow-left:after {
	border-right: 17px solid #fff;
	margin-left: 31px
}

.mfp-arrow-left .mfp-b, .mfp-arrow-left:before {
	margin-left: 25px;
	border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
	right: 0
}

.mfp-arrow-right .mfp-a, .mfp-arrow-right:after {
	border-left: 17px solid #fff;
	margin-left: 39px
}

.mfp-arrow-right .mfp-b, .mfp-arrow-right:before {
	border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
	padding-top: 40px;
	padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px
}

.mfp-iframe-holder .mfp-close {
	top: -40px
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #000
}

img.mfp-img {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px 0;
	margin: 0 auto
}

.mfp-figure, img.mfp-img {
	line-height: 0
}

.mfp-figure:after {
	content: '';
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #444
}

.mfp-figure small {
	color: #bdbdbd;
	display: block;
	font-size: 9pt;
	line-height: 14px
}

.mfp-figure figure {
	margin: 0
}

.mfp-bottom-bar {
	margin-top: -36px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: #f3f3f3;
	word-wrap: break-word;
	padding-right: 36px
}

.mfp-image-holder .mfp-content {
	max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer
}

@media screen and (max-height:300px), screen and (max-width:800px) and (orientation:landscape) {
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0
	}
}

@media all and (max-width:900px) {
	.mfp-arrow {
		-webkit-transform: scale(0.75);
		transform: scale(0.75)
	}

	.mfp-arrow-left {
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0
	}

	.mfp-arrow-right {
		-webkit-transform-origin: 100%;
		transform-origin: 100%
	}

	.mfp-container {
		padding-left: 6px;
		padding-right: 6px
	}
}

.mfp-ie7 .mfp-img {
	padding: 0
}

.mfp-ie7 .mfp-bottom-bar {
	width: 600px;
	left: 50%;
	margin-left: -300px;
	margin-top: 5px;
	padding-bottom: 5px
}

.mfp-ie7 .mfp-container {
	padding: 0
}

.mfp-ie7 .mfp-content {
	padding-top: 44px
}

.mfp-ie7 .mfp-close {
	top: 0;
	right: 0;
	padding-top: 0
}

.mfp-bg, .mfp-wrap {
	z-index: 101 !important
}

.mfp-content {
	margin: 5px 0 0;
	padding: 50px 0 0
}

button.mfp-close {
	right: 0;
	background: url(/jutaku/common/images/rn03/btn01.png)right top no-repeat;
	opacity: 1;
	filter: alpha(opacity=100);
	padding: 0;
	font-size: 0;
	text-indent: -9999px;
	overflow: hidden
}

.mfp-iframe-holder .mfp-close {
	top: -54px;
	right: 0;
	padding-right: 0
}

.mfp-iframe-holder .mfp-close:active {
	top: -53px
}

.slider-pro-init .sp-bottom-thumbnails .sp-thumbnail-container:last-child {
	margin-right: -30px;
}

/* style_mydaiwahouse.css */

/* 01. ヘッダー */
.r3Header .r3Header_utility {
	right: 230px;
}

.loginMDH .r3Header .r3Header_utility,
.r3Header.loginMDH .r3Header_utility {
	right: 190px;
}

/* 各事業位置調整
注文住宅 #nHeader
分譲住宅 #header.bjHeader
分譲マンション #header.msHeader
※識別子として、「bjHeader」「msHeader」を追加
*/

/* 注文住宅 調整 */
#nHeaderWrap_wrap {
	overflow: visible;
}

.nHeader_search {
	right: 270px;
}

.loginMDH #nHeaderWrap .nHeader_search,
#nHeaderWrap.loginMDH .nHeader_search {
	right: 230px;
}

#nHeaderWrap_wrap .hdrMyDaiwaHouse {
	top: 12px;
	right: 190px;
}

/* 分譲マンション 調整 */
#header.msHeader {
	z-index: 10010;
}

#header.msHeader .inner {
	position: relative;
}

#header.msHeader .hdrMyDaiwaHouse {
	top: 40px;
	right: 190px;
}

/* 分譲住宅 調整 */
#header.bjHeader {
	position: relative;
}

#header.bjHeader .hdrMyDaiwaHouse {
	top: 35px;
	right: 190px;
}

/* 基本 */
.hdrMyDaiwaHouse {
	position: absolute;
	top: 18px;
	right: 145px;

	z-index: calc(infinity);
}

.hdrMyDaiwaHouse img {
	max-width: 100%;
	height: auto;
}

/* ログイン前 */
.hdrMyDaiwaHouse .hdrMDH_btn_login {
	width: 68px;
	height: 24px;
	background-color: #5B79A8;
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: opacity .3s;
}

.hdrMyDaiwaHouse .hdrMDH_btn_login:hover {
	opacity: 0.6;
}

.hdrMyDaiwaHouse.hdrMDH_active .hdrMDH_btn_login {
	opacity: 0.6;
}

/* ログイン中 */
.hdrMyDaiwaHouse .hdrMDH_btn_login span {
	font-size: 11px;
	font-weight: 500;
	color: #FFF;
	cursor: pointer;
}

.hdrMyDaiwaHouse .hdrMDH_btn_login_thumb {
	width: 28px;
	height: 28px;
	border: 1px solid #F2F2F2;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	position: relative;
	top: -3px;
	cursor: pointer;
	transition: opacity .3s;
	background: #368BB1;
	color: #FFF;
	font-size: 112%;
}

.hdrMyDaiwaHouse .hdrMDH_btn_login_thumb:hover {
	opacity: 0.6;
}

.hdrMyDaiwaHouse.hdrMDH_active .hdrMDH_btn_login_thumb {
	opacity: 0.6;
}

/* パネル */
.hdrMyDaiwaHouse .hdrMDH_block {
	width: 335px;
	padding: 24px;
	background-color: #FFF;
	border-radius: 16px;
	box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.24);
	box-sizing: border-box;
	position: absolute;
	top: 35px;
	right: -135px;
	display: none;
}

/* ×（閉じるボタン） */
.hdrMyDaiwaHouse .hdrMDH_btn_close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 12px;
	height: 12px;
	cursor: pointer;
}

.hdrMyDaiwaHouse .hdrMDH_btn_close::before {
	content: "";
	width: 12px;
	height: 12px;
	background: url(/common/images/mydaiwahouse/ico_close.svg) left top no-repeat;
	background-size: 12px auto;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
}

/* ログイン前 */
.hdrMDH_item~.hdrMDH_item {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #CCC;
}

.hdrMDH_item .hdrMDH_item_txt01 {
	margin-bottom: 7px;
	font-size: 125%;
	line-height: 1.4;
	color: #1E1E1E;
}

.hdrMDH_item .hdrMDH_item_txt01 em {
	color: #1E1E1E;
	font-weight: 600;
}

.hdrMDH_item .hdrMDH_item_txt02 {
	font-size: 100%;
	line-height: 1.6;
	color: #1E1E1E;
}

.hdrMDH_item .hdrMDH_item_btn01,
.hdrMDH_item .hdrMDH_item_btn02 {
	margin-top: 16px;
	font-size: 117%;
}

.hdrMDH_item .hdrMDH_item_btn01 a {
	min-height: 44px;
	background-color: #5B79A8;
	border-radius: 6px;
	color: #FFF;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .3s;
}

.hdrMDH_item .hdrMDH_item_btn01 a:hover {
	opacity: 0.6;
}

.hdrMDH_item .hdrMDH_item_btn02 a {
	min-height: 44px;
	border: 1px solid #A3A3A3;
	border-radius: 6px;
	color: #1E1E1E;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .3s;
}

.hdrMDH_item .hdrMDH_item_btn02 a:hover {
	opacity: 0.6;
}

/* ログイン中 */
.hdrMDH_name {
	display: flex;
	gap: 0 16px;
}

.hdrMDH_name .hdrMDH_name_thumb {
	width: 48px;
	height: 48px;
	border: 2px solid #F2F2F2;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background: #368BB1;
	color: #FFF;
	font-size: 200%;
}

.hdrMDH_name .hdrMDH_name_txt .hdrMDH_name_txt01 {
	font-size: 108%;
	line-height: 1.4;
	color: #1E1E1E;
	font-weight: 500;
}

.hdrMDH_name .hdrMDH_name_txt .hdrMDH_name_txt02 {
	font-size: 167%;
	line-height: 1.4;
	color: #1E1E1E;
}

.hdrMDH_name .hdrMDH_name_txt .hdrMDH_name_txt02 span.name {
	font-weight: 600;
}

.hdrMDH_name .hdrMDH_name_txt .hdrMDH_name_txt02 span.sama {
	margin-left: 0.5em;
	font-size: 80%;
	font-weight: 500;
	display: inline-block;
}

.hdrMDH_AccountSettings_btn {
	margin-top: 16px;
	font-size: 117%;
}

.hdrMDH_AccountSettings_btn a {
	min-height: 44px;
	border: 1px solid #A3A3A3;
	border-radius: 6px;
	color: #1E1E1E;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity .3s;
}

.hdrMDH_AccountSettings_btn a:hover {
	opacity: 0.6;
}

.hdrMDH_service {
	margin-top: 24px;
}

.hdrMDH_service .hdrMDH_service_hdTxt {
	margin-bottom: 16px;
	font-size: 108%;
	line-height: 1.4;
	color: #666;
	font-weight: 400;
}

.hdrMDH_service ul {
	font-size: 100%;
}

.hdrMDH_service_item {
	margin-bottom: 16px;
	display: flex;
	gap: 0 16px;
}

.hdrMDH_service_item a {
	text-decoration: none;
	display: flex;
	gap: 0 16px;
	transition: opacity .3s;
}

.hdrMDH_service_item a:hover {
	opacity: 0.6;
}

.hdrMDH_service_item .hdrMDH_service_thumb {
	width: 48px;
	height: 48px;
	border: 2px solid #F2F2F2;
	border-radius: 48px;
	box-sizing: border-box;
	overflow: hidden;
}

.hdrMDH_service_item .hdrMDH_service_docs {
	width: calc(100% - 64px);
}

.hdrMDH_service_item .hdrMDH_service_txt01 {
	margin-bottom: 5px;
	font-size: 125%;
	line-height: 1.4;
	color: #1E1E1E;
	font-weight: 600;
}

.hdrMDH_service_item .hdrMDH_service_txt02 {
	font-size: 100%;
	line-height: 1.6;
	color: #1E1E1E;
	font-weight: 400;
}

.hdrMDH_btn {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #CCC;
}

.hdrMDH_btn .hdrMDH_btn_logout {
	width: 84px;
	font-size: 100%;
	line-height: 1.2;
	color: #1E1E1E;
	font-weight: 500;
	cursor: pointer;
	transition: opacity .3s;
}

.hdrMDH_btn .hdrMDH_btn_logout:hover {
	opacity: 0.6;
}

.hdrMDH_btn .hdrMDH_btn_logout span {
	height: 32px;
	background-color: #EBEBEB;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	align-items: center;
}

/* 02. サブフッター */
.r3SubFooter .r3SubFooter_in {
	position: relative;
}

.ftrMyDaiwaHouse .ftrMDH_btn01 {
	position: absolute;
	top: 8px;
	right: 0;
}

.ftrMyDaiwaHouse .ftrMDH_btn01 a {
	min-height: 44px;
	padding: 6px 16px;
	background-color: #FFF;
	border-radius: 6px;
	color: #1E1E1E;
	font-weight: 500;
	text-decoration: none;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 8px;
	transition: opacity .3s;
}

.ftrMyDaiwaHouse .ftrMDH_btn01 a:hover {
	opacity: 0.6;
}

.ftrMyDaiwaHouse .ftrMDH_btn01 .ftrMDH_btn01_txt {
	font-size: 117%;
}

.ftrMyDaiwaHouse .ftrMDH_btn01 .ftrMDH_btn01_thumb {
	width: 32px;
	height: 32px;
	border: 1px solid #F2F2F2;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background: #368BB1;
	color: #FFF;
	font-size: 128%;
}

/* pc.css */

/* 99. 汎用スタイル */
/* 画像置換 */
.fnImgChangePc {
	display: none !important;
}

/* アンカー調整 */
.fnAnchorT {
	margin-top: -110px;
	padding-top: 110px;
}

/* index.css (css2 inlined) */
/* latin-ext */
@font-face {
	font-family: 'Gilda Display';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/gildadisplay/v20/t5tmIRoYMoaYG0WEOh7HwMeR3TDPr6OH.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
	font-family: 'Gilda Display';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/gildadisplay/v20/t5tmIRoYMoaYG0WEOh7HwMeR3T7Prw.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 01. フォント */
@font-face {
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSerifJP-Regular.woff2") format("woff2");
	font-family: "Noto Serif JP";
	font-display: swap;
}

/* 02. バリアブル */
.main {
	--res-color-white01: #fff;
	--res-color-black01: #404040;
	--res-color-lightGray01: #F2F1EF;
	--res-color-gray01: #C9C6C2;
	--res-color-gold01: #C0B19C;
	--res-color-darkBrown01: #9C8F7E;
	--res-space-unit: 4px;
	--res-fontfamily-yu-gothic: "Noto Serif JP", "Yu Mincho", YuMincho, "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--res-fontfamily-noto-serif: "Noto Serif JP", "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--res-fontfamily-inter: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--res-fontfamily-gilda-display: "Gilda Display", Georgia, "Times New Roman", serif;
	--res-sp-contents-maxWidth: 500px;
}

/* 03. ベース */
html.is-modalOpen {
	overflow: hidden;
}

html.is-modalOpen body::after {
	visibility: visible;
	clip-path: inset(0% 0 0 0);
	pointer-events: auto;
	transition: clip-path 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s;
}

body::after {
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(15px);
	background-color: rgba(64, 64, 64, 0.95);
	content: "";
	-webkit-backdrop-filter: blur(15px);
	z-index: 9999;
	clip-path: inset(100% 0 0 0);
	pointer-events: none;
	transition: clip-path 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s 0.3s;
}

#container {
	margin-top: 0;
	padding-bottom: 0;
}

.main {
	display: block;
	position: relative;
	color: #333;
	font-weight: 500;
	line-height: 1.2;
	font-family: var(--res-fontfamily-yu-gothic);
	font-feature-settings: "palt"1;
}

.main ul, .main ol, .main dl, .main p {
	font-size: 100%;
}

.main button {
	padding: 0;
	border: none;
	background-color: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.main * {
	box-sizing: border-box;
}

/* 04. Swiper */
.main .sw {
	position: relative;
	overflow: hidden;
}

.main .sw_wrapper {
	box-sizing: content-box;
	display: flex;
}

.main .sw_slide {
	flex-shrink: 0;
	width: 100%;
}

.main .sw_button_wrapper {
	display: flex;
}

.main .sw_button_wrapper>*:not(:first-child) {
	margin-left: 8px;
}

.main .sw_button_prev,
.main .sw_button_next {
	z-index: 10;
	width: calc(var(--res-space-unit) * 6.5);
	height: calc(var(--res-space-unit) * 4.5);
	-webkit-user-select: none;
	-moz-user-select: none;
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	border-radius: calc(var(--res-space-unit) * 0.5);
	background-color: var(--res-color-white01);
	cursor: pointer;
	transition: opacity 0.3s ease-out;
	transition: background-color 0.3s ease-out;
	user-select: none;
}

.main .sw_button_prev::after,
.main .sw_button_next::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	margin: auto;
	background-color: var(--res-color-black01);
	content: "";
	-webkit-mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
	left: 2px;
	mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
}

.d_hover .main .sw_button_prev:hover,
.d_hover .main .sw_button_next:hover {
	background-color: #E6E6E6;
}

.d_hover .main .sw_button_prev:hover::after,
.d_hover .main .sw_button_next:hover::after {
	animation: res-kf-scaleUpBack 0.6s ease-out forwards;
}

.main .sw_button_prev {
	transform: scaleX(-1);
}

.main .swiper-button-disabled {
	cursor: default;
	opacity: 0.3;
	pointer-events: none;
}

.main .swiper-button-disabled.swiper-button-lock {
	display: none;
}

.main .sw_pagination {
	display: flex;
	align-items: center;
	height: calc(var(--res-space-unit) * 1.5);
}

.main .swiper-pagination-bullet {
	display: inline-block;
	width: var(--res-space-unit);
	height: var(--res-space-unit);
	border-radius: 999em;
	background-color: var(--res-color-gray01);
	cursor: pointer;
	opacity: 0.5;
	transition: opacity 0.3s ease-out, width 0.3s ease-out, height 0.3s ease-out, background-color 0.3s ease-out;
}

.main .swiper-pagination-bullet:not(:first-child) {
	margin-left: calc(var(--res-space-unit) * 1.5);
}

.main .swiper-pagination-bullet-active {
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	border-radius: 1px;
	background-color: var(--res-color-white01);
	opacity: 1;
}

/* 05. ローディング */
.resLoading01 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: calc(var(--res-space-unit) * 20);
	height: calc(var(--res-space-unit) * 20);
	margin: auto;
	background: url(../images/daiwa/loading_ico01.svg) center center/contain no-repeat;
}

/* 06.アイコン */
.main .icon {
	display: inline-block;
	position: relative;
	width: calc(var(--res-space-unit) * 5.5);
	height: calc(var(--res-space-unit) * 3.5);
	border-radius: 2px;
	background-color: var(--res-color-black01);
	vertical-align: -0.2em;
	transition: background-color 0.3s ease-out;
}

.main .icon::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	margin: auto;
	background-color: var(--res-color-white01);
	content: "";
}

.main .resIcon01--verticalLr {
	width: calc(var(--res-space-unit) * 3.5);
	height: calc(var(--res-space-unit) * 5.5);
	vertical-align: -0.1em;
}

.main .icon_white {
	background-color: var(--res-color-white01);
}

.main .icon_white::after {
	background-color: var(--res-color-black01);
}

.main .resIcon01--gold {
	background-color: var(--res-color-gold01);
}

.main .icon_arrow::after {
	-webkit-mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
	left: 2px;
	mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
}

.main .icon_more::after {
	-webkit-mask: url(../images/daiwa/ico_plus01.svg) no-repeat center center/contain;
	mask: url(../images/daiwa/ico_plus01.svg) no-repeat center center/contain;
}

.main .res_icon02 {
	display: inline-block;
	position: relative;
	width: calc(var(--res-space-unit) * 7.5);
	height: 7px;
}

.main .res_icon02::after {
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	background-color: var(--res-color-black01);
	content: "";
	-webkit-mask: url(../images/daiwa/ico_arrow01_l.svg) no-repeat center center/contain;
	position: absolute;
	top: 0;
	left: 0;
	mask: url(../images/daiwa/ico_arrow01_l.svg) no-repeat center center/contain;
}

.main .res_icon02>span {
	position: absolute;
	top: calc(50% - 0.5px);
	right: 0;
	width: 16px;
	height: 1px;
}

.main .res_icon02>span::before, .main .res_icon02>span::after {
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	content: "";
}

.main .res_icon02>span::before {
	width: 100%;
	border-top: 1px dotted var(--res-color-black01);
	opacity: 0.5;
}

.main .res_icon02>span::after {
	width: 0;
	border-top: 1px solid var(--res-color-black01);
	transition: width 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.main .res_icon02_white::after {
	background-color: var(--res-color-white01);
}

.main .res_icon02_white>span::before {
	border-color: var(--res-color-white01);
}

.main .res_icon02_white>span::after {
	border-color: var(--res-color-white01);
}

.main .res_icon02_arrow_r {
	transform: scaleX(-1);
}

.main .res_icon03 {
	display: inline-block;
	position: relative;
}

.main .res_icon03::after {
	background-color: var(--res-color-black01);
	content: "";
}

.main .res_icon03_white::after {
	background-color: var(--res-color-white01);
}

.main .res_icon03_minus {
	width: 7.5px;
	height: 7.5px;
}

.main .res_icon03_minus::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	margin: auto;
}

/* 07. ボタン */
.main .btn_x2 {
	display: inline-flex;
	position: relative;
	align-items: center;
	padding: 0 0 calc(var(--res-space-unit) * 2);
	border: none;
	border-width: 0 0 1px;
	background-color: transparent;
	color: var(--res-color-black01);
	font-size: 100%;
	line-height: 1;
	font-family: var(--res-fontfamily-inter);
	text-decoration: none;
	cursor: pointer;
}

.main .btn_x2::before, .main .btn_x2::after {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
}

.main .btn_x2::before {
	width: 100%;
	background-color: rgba(192, 177, 156, 0.2);
}

.main .btn_x2:after {
	width: 0;
	background-color: var(--res-color-black01);
	transition: width 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.main .btn_txt {
	font-weight: 400;
	font-size: 100%;
}

.main .btn_ico {
	margin: 0 0 0 calc(var(--res-space-unit) * 3);
}

.main .resBtn01--white {
	border-color: rgba(255, 255, 255, 0.6);
	color: var(--res-color-white01);
}

.main .resBtn01--white::before {
	background-color: rgba(255, 255, 255, 0.3);
}

.main .resBtn01--white::after {
	background-color: var(--res-color-white01);
}

.main .resBtn01--gold::before {
	background-color: var(--res-color-gray01);
}

.main .resBtn01--gold:after {
	background-color: #877C6E;
}

.main .resBtn01--verticalLr {
	padding: 0 0 0 calc(var(--res-space-unit) * 2);
	border-width: 0 0 0 1px;
}

.main .resBtn01--verticalLr::before, .main .resBtn01--verticalLr::after {
	top: 0;
	bottom: auto;
	width: 1px;
}

.main .resBtn01--verticalLr::before {
	height: 100%;
}

.main .resBtn01--verticalLr:after {
	width: 1px;
	height: 0;
	transition: height 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.main .resBtn01--verticalLr .btn_ico {
	margin: calc(var(--res-space-unit) * 3) 0 0;
}

.main .resBtn01--noUnderline::before, .main .resBtn01--noUnderline::after {
	display: none;
}

.d_hover .main .btn_x2:not(span):hover:not(.resBtn01--verticalLr):not(.resMadeforyouCard01_btn)::after {
	width: 100%;
}

.d_hover .main .btn_x2:not(span):hover.resBtn01--verticalLr::after {
	height: 100%;
}

.d_hover .main .btn_x2:not(span):hover .icon_arrow {
	background-color: rgba(64, 64, 64, 0.8);
}

.d_hover .main .btn_x2:not(span):hover .icon_arrow::after {
	animation: res-kf-scaleUpBack 0.6s ease-out forwards;
}

.d_hover .main .btn_x2:not(span):hover .icon_more {
	background-color: #ADA08D;
}

.d_hover .main .btn_x2:not(span):hover .icon_more::after {
	animation: res-kf-scaleUpBack 0.6s ease-out forwards;
}

.d_hover .main .btn_x2:not(span):hover .icon_white {
	background-color: rgba(255, 255, 255, 0.8);
}

.main .res_btn02 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--res-space-unit) * 34);
	min-height: 49px;
	border-radius: 999em;
	backdrop-filter: blur(20px);
	background-color: rgba(255, 255, 255, 0.05);
	cursor: pointer;
	-webkit-backdrop-filter: blur(20px);
	transition: background-color 0.3s ease-out;
}

.main .res_btn02.is-disabled {
	cursor: default;
	opacity: 0.2;
}

.main .res_btn02_txt {
	font-weight: 400;
	font-size: 100%;
	font-family: var(--res-fontfamily-inter);
}

.main .res_btn02_ico {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 calc(var(--res-space-unit) * 4);
}

.main .res_btn02_white {
	color: var(--res-color-white01);
}

.main .res_btn02_ico_left {
	flex-direction: row-reverse;
}

.main .res_btn02_ico_left .res_btn02_ico {
	margin: 0 calc(var(--res-space-unit) * 4) 0 0;
}

.d_hover .main .res_btn02:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

.d_hover .main .res_btn02:hover .res_icon03_minus::after {
	animation: res-kf-scaleUpBack 0.6s ease-out forwards;
}

.d_hover .main .res_btn02:hover .res_icon02::after {
	animation: res-kf-scaleUpBack 0.6s ease-out forwards;
}

.d_hover .main .res_btn02:hover .res_icon02>span::after {
	width: 100%;
}

/* 08. インナー */
.main .inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 calc(var(--res-space-unit) * 8);
}

/* 09. タイトル */
.main .sec_tit {
	font-weight: 400;
	font-size: 267%;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.16em;
	text-align: center;
}

/* SP：「誠実な取引を、いつも。」が1行に収まるサイズに縮小し、いつも。の後で改行 */
@media (max-width: 600px) {
	.main .sec_tit {
		font-size: clamp(20px, 6.4vw, 30px);
		letter-spacing: 0.06em;
	}

	.main .sec_tit br.u_smp {
		display: inline;
	}
}

/* 10. リード文 */
.main .sec_lead {
	margin: calc(var(--res-space-unit) * 9) 0 0;
	font-size: 134%;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: center;
}

/* 11. カルーセル */
.main .resCarousel01 {
	overflow: hidden;
	border-radius: var(--res-space-unit);
}

.main .resCarousel01_slide {
	height: 553px;
}

.main .resCarousel01_img {
	width: 100%;
	height: 100%;
}

.main .resCarousel01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	border-radius: var(--res-space-unit);
}

.main .resCarousel01_btnWrap {
	align-items: flex-end;
	justify-content: flex-end;
	height: calc(var(--res-space-unit) * 9.5);
}

.main .resCarousel01Thumb_in {
	position: relative;
}

.main .resCarousel01Thumb_in::before {
	display: block;
	padding-top: 66.5%;
	content: "";
}

.main .resCarousel01Thumb_item {
	visibility: hidden;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.main .resCarousel01Thumb_item.is-prev, .main .resCarousel01Thumb_item.is-active {
	visibility: visible;
	opacity: 1;
}

.main .resCarousel01Thumb_item.is-active {
	z-index: 2;
}

.main .resCarousel01Thumb_item.is-prev {
	z-index: 1;
}

.main .resCarousel01Thumb_img {
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--res-space-unit);
}

.main .resCarousel01Thumb_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.main .resCarousel01Thumb .resLoading01 {
	width: calc(var(--res-space-unit) * 12);
	height: calc(var(--res-space-unit) * 12);
}

.main .carousel_03 {
	width: 100%;
	height: 100%;
	border-radius: var(--res-space-unit);
}

.main .carousel_03_wrap {
	width: 100%;
	height: 100%;
}

.main .carousel_03_slide {
	position: relative;
	width: 100%;
	height: 100%;
}

.main .resCarousel03_item {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--res-space-unit);
}

.main .carousel_03_btn_wrap {
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateX(calc(100% + var(--res-space-unit) * 8));
}

.main .carousel_03_pagination {
	position: absolute;
	bottom: calc(var(--res-space-unit) * -6.5);
	justify-content: flex-end;
	width: 100%;
}

.main .carousel_03_card01 {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.main .carousel_03_card01::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(148.47deg, rgba(0, 0, 0, 0) 69.14%, rgba(0, 0, 0, 0.25) 86.54%);
	content: "";
	opacity: 0.5;
}

.main .carousel_03_card01_img {
	width: 100%;
	height: 100%;
}

.main .carousel_03_card01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.main .carousel_03_card01_caption {
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	padding: 0 calc(var(--res-space-unit) * 6) calc(var(--res-space-unit) * 6);
	font-size: 109%;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: right;
}

.main .carousel_03_thumb {
	position: relative;
	margin: calc(var(--res-space-unit) * 8) 0 0;
}

.main .carousel_03_thumb_in {
	position: relative;
	width: 73.6%;
}

.main .carousel_03_thumb_in::before {
	display: block;
	padding-top: 66.5%;
	content: "";
}

.main .carousel_03_thumb_item {
	visibility: hidden;
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.main .carousel_03_thumb_item.is-prev, .main .carousel_03_thumb_item.is-active {
	visibility: visible;
	opacity: 1;
}

.main .carousel_03_thumb_item.is-active {
	z-index: 2;
}

.main .carousel_03_thumb_item.is-prev {
	z-index: 1;
}

.main .carousel_03_thumb_img {
	width: 100%;
	height: 100%;
	overflow: hidden;
	border-radius: var(--res-space-unit);
}

.main .carousel_03_thumb_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.main .carousel_03_thumb .resLoading01 {
	width: calc(var(--res-space-unit) * 12);
	height: calc(var(--res-space-unit) * 12);
}

.main .carousel_04 {
	height: 100%;
}

.main .carousel_04_wrap {
	height: 100%;
}

.main .carousel_04_slide {
	height: 100%;
}

/* 12. KV */
.main .mv_old_01 {
	--resVisual01-body-backdropfilter: 10px;
	--resVisual01-bg-bottom: 0%;
	--gnav-nHeader-height: 50px;
	--gnav-utility-height: 40px;
	height: calc(100vh - var(--gnav-utility-height) - var(--gnav-nHeader-height));
	height: calc(100dvh - var(--gnav-utility-height) - var(--gnav-nHeader-height));
}

.main .mv_old_01_in {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	color: var(--res-color-white01);
}

.main .mv_old_01_body {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(var(--resVisual01-body-backdropfilter));
	text-align: center;
	-webkit-backdrop-filter: blur(var(--resVisual01-backdropfilter));
}

.main .mv_old_01_tit_wrap {
	display: flex;
	visibility: hidden;
	position: absolute;
	right: 0;
	bottom: 50%;
	left: 0;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
	transform: translateY(50%);
	opacity: 0;
}

.main .mv_old_01_lead {
	position: relative;
}

.main .mv_old_01_lead p, .main .mv_old_01_lead span {
	font-weight: 400;
	font-size: 167%;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.16em;
}

.main .mv_old_01_lead p {
	color: rgba(255, 255, 255, 0.3);
}

.main .mv_old_01_lead span {
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.75;
	clip-path: inset(0 100% 0 0);
}

.main .mv_old_01_tit {
	position: relative;
}

.main .mv_old_01_tit h1, .main .mv_old_01_tit span {
	margin: calc(var(--res-space-unit) * 1) 0 0;
	padding-bottom: calc(var(--res-space-unit) * 2);
	font-weight: 700;
	font-size: 400%;
	font-family: var(--res-fontfamily-inter);
}

.main .mv_old_01_tit h1 {
	color: rgba(255, 255, 255, 0.3);
}

.main .mv_old_01_tit span {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	clip-path: inset(0 100% 0 0);
}

.main .mv_old_01_bg {
	visibility: hidden;
	z-index: 1;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
}

.main .mv_old_01_bg::after {
	z-index: 3;
	position: absolute;
	bottom: var(--resVisual01-bg-bottom);
	left: 0;
	width: 100%;
	height: 200%;
	background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 50%, rgb(0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%);
	content: "";
	opacity: 0.4;
}

.main .mv_old_blc01 {
	width: 100%;
	height: 100%;
}

.main .mv_old_blc01_column {
	display: grid;
	grid-template-rows: 50.5% 1fr;
	grid-template-columns: repeat(2, 1fr);
	width: 100%;
	height: 100%;
}

.main .mv_old_blc01_item:nth-of-type(1) {
	grid-row: span 2;
}

.main .mv_old_blc01_img {
	display: block;
	width: 100%;
	height: 100%;
}

.main .mv_old_blc01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

/* 13. フィソロフィー */
.main .resPhilosophy01 {
	margin: calc(var(--res-space-unit) * 18) 0 0;
}

.main .resPhilosophy01_column {
	display: grid;
	grid-template-columns: 1fr 30px 238px;
}

.main .resPhilosophy01_item {
	position: relative;
}

.main .resPhilosophy01_item:nth-of-type(1) {
	margin-right: 41px;
}

.main .resPhilosophy01_sec {
	padding: calc(var(--res-space-unit) * 40) 0 0;
}

.main .resPhilosophy01_sec+.resPhilosophy01_sec {
	margin: calc(var(--res-space-unit) * 16) 0 0;
}

.main .resPhilosophy01_sec .resPhilosophyCard02:not(:first-of-type) {
	margin: calc(var(--res-space-unit) * 24) 0 0;
}

.main .resPhilosophy01_blc {
	padding: 0 0 calc(var(--res-space-unit) * 39);
	background: linear-gradient(180deg, rgba(242, 241, 239, 0) 0%, #F2F1EF 1.68%, #F2F1EF 97.6%, rgba(242, 241, 239, 0) 100%);
}

.main .resPhilosophyBlc01 {
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	left: 0;
	padding: calc(var(--res-space-unit) * 20) 0 0;
}

.main .resPhilosophyBlc01::before {
	position: absolute;
	top: calc(var(--res-space-unit) * 20);
	left: 0;
	width: 1px;
	height: 643px;
	background: linear-gradient(0deg, rgba(201, 198, 194, 0) 0%, rgb(201, 198, 194) 33%, rgb(201, 198, 194) 66%, rgba(201, 198, 194, 0) 100%);
	content: "";
}

.main .resPhilosophyBlc01_column {
	position: relative;
}

.main .resPhilosophyBlc01_item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.main .resPhilosophyScrollspy01 {
	display: flex;
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	left: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100vh;
}

.main .resPhilosophyScrollspy01_bullet {
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 auto;
	border-radius: 999em;
	background-color: var(--res-color-gray01);
	opacity: 0.5;
	transition: all 0.3s ease-out;
}

.main .resPhilosophyScrollspy01_bullet:not(:first-child) {
	margin: var(--res-space-unit) 0 0;
}

.main .resPhilosophyScrollspy01_bullet.is-current {
	width: 6px;
	height: 6px;
	border-radius: 1px;
	background-color: var(--res-color-gold01);
	opacity: 1;
}

.main .resPhilosophyCard01 {
	padding: calc(var(--res-space-unit) * 9) 0 0 calc(var(--res-space-unit) * 6);
}

.main .resPhilosophyCard01_head {
	display: flex;
	z-index: 0;
	position: relative;
	flex-direction: row-reverse;
	align-items: flex-start;
}

.main .resPhilosophyCard01_num {
	display: block;
	z-index: -1;
	position: absolute;
	top: calc(var(--res-space-unit) * -10);
	right: 0;
	color: var(--res-color-gold01);
	font-weight: 400;
	font-size: 533%;
	line-height: 1;
	font-family: var(--res-fontfamily-gilda-display);
	opacity: 0.3;
}

.main .resPhilosophyCard01_lead {
	padding: 0 calc(var(--res-space-unit) * 8) 0 0;
	font-weight: 400;
	font-size: 150%;
	line-height: 1.5;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.08em;
	writing-mode: vertical-rl;
}

.main .resPhilosophyCard01_titWrap {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	writing-mode: vertical-rl;
}

.main .resPhilosophyCard01_tit {
	margin: 0 calc(var(--res-space-unit) * 9.5) 0 0;
	font-weight: 400;
	font-size: 400%;
	line-height: 1;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.08em;
}

.main .resPhilosophyCard01_tit span {
	margin: 0.08em 0;
	text-align: center;
	text-combine-upright: all;
}

.main .resPhilosophyCard01_subTit {
	margin: 0 calc(var(--res-space-unit) * 3) 0 0;
	color: var(--res-color-gold01);
	font-weight: 400;
	font-size: 100%;
	font-family: var(--res-fontfamily-inter);
}

.main .resPhilosophyCard01_txt {
	margin: calc(var(--res-space-unit) * 12) 0 0;
	font-size: 109%;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: justify;
}

.main .resPhilosophyCard01_label {
	display: block;
	margin: calc(var(--res-space-unit) * 24) 0 0;
	color: var(--res-color-gold01);
	color: var(--res-color-gold01);
	font-weight: 700;
	font-size: 100%;
	opacity: 0.5;
}

.main .resPhilosophyCard02_column {
	display: grid;
	grid-template-columns: 1fr 206px;
	gap: 0 calc(var(--res-space-unit) * 8);
}

.main .resPhilosophyCard02_item:nth-of-type(1) {
	order: 2;
	min-width: 0;
}

.main .resPhilosophyCard02_item:nth-of-type(2) {
	order: 1;
	min-width: 0;
}

.main .resPhilosophyCard02_side {
	display: grid;
	grid-template-rows: 1fr auto;
	height: 100%;
	gap: calc(var(--res-space-unit) * 11);
}

.main .resPhilosophyCard02_head {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: flex-end;
	writing-mode: vertical-rl;
}

.main .resPhilosophyCard02_subTit {
	display: inline-block;
	position: relative;
	width: 9px;
	padding: calc(var(--res-space-unit) * 3.5) 0 0;
	color: var(--res-color-darkBrown01);
	font-size: 100%;
	line-height: 1;
	font-family: var(--res-fontfamily-inter);
}

.main .resPhilosophyCard02_subTit::before {
	position: absolute;
	top: 0;
	left: 1px;
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	border-radius: 1px;
	background-color: var(--res-color-darkBrown01);
	content: "";
}

.main .resPhilosophyCard02_tit {
	margin: 0 calc(var(--res-space-unit) * 5) 0 calc(var(--res-space-unit) * 10);
	font-weight: 400;
	font-size: 234%;
	line-height: 1.5;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.08em;
}

.main .resPhilosophyCard02_tit span {
	margin: 0.08em 0;
	text-align: center;
	text-combine-upright: all;
}

.main .resPhilosophyCard02_btnWrap {
	text-align: right;
}

.main .resPhilosophyCard02_blc {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
}

.main .resPhilosophyCard02_column--reverse {
	grid-template-columns: 206px 1fr;
}

.main .resPhilosophyCard02_column--reverse .resPhilosophyCard02_item:nth-of-type(1) {
	order: 1;
}

.main .resPhilosophyCard02_column--reverse .resPhilosophyCard02_item:nth-of-type(2) {
	order: 2;
}

.main .resPhilosophyCard02_column--reverse .resPhilosophyCard02_head {
	justify-content: flex-start;
}

.main .resPhilosophyCard02_column--reverse .resCarousel01_btnWrap {
	justify-content: flex-start;
}

/* 15. テクノロジー */
.main .trust_01 {
	z-index: 1;
	position: relative;
	margin: calc(var(--res-space-unit) * 30) 0 0;
	padding: calc(var(--res-space-unit) * 30) 0;
	background-color: var(--res-color-lightGray01);
}

.main .trust_blc01 {
	margin: calc(var(--res-space-unit) * 18) 0 0;
}

.main .trust_blc01_column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--res-space-unit);
}

/* SP/タブレットは1カラム */
@media (max-width: 1024px) {
	.main .trust_blc01_column {
		grid-template-columns: 1fr;
	}

	/* カード内部：説明と画像も縦1カラム＋画像は中央（詳細度をベース定義より高く） */
	.main .trust_card01 .trust_card01_column {
		grid-template-columns: 1fr;
		gap: calc(var(--res-space-unit) * 5);
	}

	.main .trust_card01 .trust_card01_column .trust_card01_item:last-child {
		display: flex;
		justify-content: center;
	}

	.main .trust_card01 .trust_card01_img {
		width: min(300px, 80%);
	}

	.main .trust_card01 .trust_card01_img img {
		width: 100%;
		height: auto;
	}
}

.main .trust_card01 {
	height: 100%;
	padding: calc(var(--res-space-unit) * 8) calc(var(--res-space-unit) * 8) calc(var(--res-space-unit) * 8) calc(var(--res-space-unit) * 12);
	border-radius: calc(var(--res-space-unit) * 2);
	background-color: var(--res-color-white01);
}

.main .trust_card01_tit {
	position: relative;
	font-weight: bold;
	font-size: 167%;
	line-height: 1.6;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.16em;
}

.main .trust_card01_tit::before, .main .trust_card01_tit::after {
	content: none;
	display: none;
}

.main .trust_card01_tit::before {
	left: 0;
}

.main .trust_card01_tit::after {
	left: calc(var(--res-space-unit) * 1.5);
}

.main .trust_card01_column {
	display: grid;
	grid-template-columns: 1fr 24.8%;
	gap: calc(var(--res-space-unit) * 12);
}

.main .trust_card01_txt {
	margin: calc(var(--res-space-unit) * 5) 0 0;
	font-size: 117%;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.main .trust_card01_img img {
	border-radius: var(--res-space-unit);
}

.main .trust_card01_btn_wrap {
	margin: calc(var(--res-space-unit) * 6) 0 0;
}

.main .trust_card01_caption {
	position: relative;
	top: calc(var(--res-space-unit) * 3);
	margin: calc(var(--res-space-unit) * 2) 0 0;
	font-size: 92%;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: right;
	opacity: 0.7;
}

.main .trust_blc02 {
	margin: calc(var(--res-space-unit) * 20) 0 0;
}

.main .trust_blc02_in {
	max-width: 1186px;
	margin: 0 auto;
}

.main .trust_blc02_column {
	display: grid;
	grid-template-columns: 1fr 39.6%;
	gap: calc(var(--res-space-unit) * 30);
}

.main .trust_blc02_list>li:not(:first-child) {
	margin-top: calc(var(--res-space-unit) * 8);
}

.main .trust_blc02_notes>li {
	position: relative;
	padding: 0 0 0 2.727em;
	font-size: 92%;
	line-height: 1.6;
	letter-spacing: 0.04em;
}

.main .trust_blc02_notes>li:not(:first-child) {
	margin-top: calc(var(--res-space-unit) * 1.5);
}

.main .trust_blc02_notes>li>.num {
	position: absolute;
	top: 0;
	left: 0;
}

.main .trust_blc02_btn {
	padding: 0 0 calc(var(--res-space-unit) * 3);
	font-family: var(--res-fontfamily-yu-gothic);
}

.main .trust_blc02_btn::before {
	background-color: rgba(64, 64, 64, 0.3);
}

.main .trust_blc02_btn .btn_txt {
	font-size: 117%;
}

.main .trust_blc02_btn .btn_ico {
	margin: 0 0 0 calc(var(--res-space-unit) * 6);
}

/* 16. お問い合わせ */
.main .resContact01 {
	color: var(--res-color-white01);
	--resContact01-height: 100vh;
	--resContact01-height: 100dvh;
	--resContact01-body-offset: calc(var(--resContact01-height) * 0.95);
	overflow-x: clip;
}

.main .resContact01_track {
	position: relative;
	height: calc(var(--resContact01-height) * 2 + var(--resContact01-body-offset));
}

.main .resContact01_pin {
	position: sticky;
	top: calc((100vh - var(--resContact01-height)) / 2);
	top: calc((100dvh - var(--resContact01-height)) / 2);
	left: 0;
	width: 100%;
	height: var(--resContact01-height);
	pointer-events: none;
}

.main .resContact01_body {
	display: flex;
	z-index: 2;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: var(--resContact01-height);
	margin-top: var(--resContact01-body-offset);
}

.main .resContactBlc01 {
	display: grid;
	position: relative;
	height: 100%;
	gap: calc(var(--res-space-unit) * 0.5);
}

.main .resContactBlc01_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	opacity: 0;
}

.main .resContactBlc01_track {
	width: 100%;
	height: 100%;
}

.main .resContactBlc01_body {
	display: flex;
	height: 100%;
}

.main .resContactBlc01_body--01 {
	--resContactBlc01-loop-duration: 60s;
	width: calc(200% + var(--res-space-unit) * 0.5);
}

.main .resContactBlc01_body--02 {
	transform: translateX(-50%);
	--resContactBlc01-loop-duration: 60s;
	width: calc(266.6666666667% + var(--res-space-unit) * 0.5 * 2);
}

.main .resContactBlc01_column {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 100%;
	height: 100%;
	gap: calc(var(--res-space-unit) * 0.5);
}

.main .resContactBlc01_column:not(:first-child) {
	margin-left: calc(var(--res-space-unit) * 0.5);
}

.main .resContactBlc01_column--02 {
	position: relative;
	left: -6.25%;
	grid-template-columns: repeat(4, 1fr);
	width: calc(100% + 33.3333333333% + var(--res-space-unit) * 0.5);
}

.main .resContactBlc01_img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
}

.main .resContactBlc01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.main .resContactBlc01_img--01 img {
	-o-object-position: bottom center;
	object-position: bottom center;
}

.main .resContactBlc01_img--02 img {
	-o-object-position: bottom center;
	object-position: bottom center;
}

.main .resContactBlc01_img--03 img {
	-o-object-position: bottom center;
	object-position: bottom center;
}

.main .resContactBlc01_img--04 img {
	-o-object-position: top right;
	object-position: top right;
}

.main .resContactBlc01_img--05 img {
	-o-object-position: top center;
	object-position: top center;
}

.main .resContactBlc01_img--06 img {
	-o-object-position: top center;
	object-position: top center;
}

.main .resContactBlc01_img--07 img {
	-o-object-position: top left;
	object-position: top left;
}

.main .resContactBlc02 {
	width: 100%;
}

.main .resContactBlc02_tit {
	font-weight: 400;
	font-size: 234%;
	line-height: 1.6;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.16em;
	text-align: center;
}

.main .resContactBlc02_lead {
	margin: calc(var(--res-space-unit) * 8) 0 0;
	font-size: 134%;
	line-height: 1.8;
	letter-spacing: 0.04em;
	text-align: center;
}

.main .resContactBlc02_list {
	display: flex;
	justify-content: center;
	margin: calc(var(--res-space-unit) * 22) 0 0;
}

.main .resContactBlc02_list>li {
	width: 100%;
	max-width: calc(var(--res-space-unit) * 130);
}

.main .resContactBlc02_list>li:not(:first-child) {
	margin-left: calc(var(--res-space-unit) * 6);
}

.main .resContactCard01 {
	display: inline-flex;
	align-items: center;
	min-height: calc(var(--res-space-unit) * 23.5);
	backdrop-filter: blur(calc(var(--res-space-unit) * 2));
	background-color: rgba(255, 255, 255, 0.8);
	-webkit-backdrop-filter: blur(calc(var(--res-space-unit) * 2));
	position: relative;
	width: 100%;
	padding: calc(var(--res-space-unit) * 2);
	border-radius: 999em;
	color: var(--res-color-black01);
	text-decoration: none;
	transition: background-color 0.3s ease-out;
}

.main .resContactCard01::before, .main .resContactCard01::after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
}

.main .resContactCard01::before {
	right: calc(var(--res-space-unit) * 26);
	width: 1px;
	height: calc(var(--res-space-unit) * 12);
	background: linear-gradient(0deg, rgba(201, 198, 194, 0) 0%, rgb(201, 198, 194) 33%, rgb(201, 198, 194) 67%, rgba(201, 198, 194, 0) 100%);
}

.main .resContactCard01::after {
	right: calc(var(--res-space-unit) * 12);
	width: 8px;
	height: 9px;
	background-color: var(--res-color-black01);
	-webkit-mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
	mask: url(../images/daiwa/ico_arrow01.svg) no-repeat center center/contain;
}

.main .resContactCard01_img {
	display: block;
	width: 111px;
	height: 100%;
	overflow: hidden;
	border-radius: 999em;
}

.main .resContactCard01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease-out;
}

.main .resContactCard01_txt {
	width: calc(100% - 111px);
	padding: 0 calc(var(--res-space-unit) * 26) 0 calc(var(--res-space-unit) * 6);
	font-size: 134%;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.d_hover .main .resContactCard01:hover {
	background-color: rgba(255, 255, 255, 0.95);
}

.d_hover .main .resContactCard01:hover .resContactCard01_img img {
	transform: scale(1.01);
}

/* 17. 固定フッター */
.main .resFixedFooter01 {
	z-index: 1000;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
}

.main .resFixedFooter01_in {
	padding: 0 calc(var(--res-space-unit) * 6) calc(var(--res-space-unit) * 6 + env(safe-area-inset-bottom, 0px));
}

.main .resFixedFooter01_list {
	display: flex;
	justify-content: center;
}

.main .resFixedFooter01_list>li:not(:first-child) {
	margin-left: calc(var(--res-space-unit) * 3);
}

.main .resFixedFooter01_item {
	transform: translateY(150%);
}

.main .resFixedFooterCard01 {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	backdrop-filter: blur(calc(var(--res-space-unit) * 5));
	background-color: rgba(0, 0, 0, 0.4);
	-webkit-backdrop-filter: blur(calc(var(--res-space-unit) * 5));
	width: 177px;
	padding: var(--res-space-unit);
	border-radius: 999em;
	color: var(--res-color-white01);
	text-decoration: none;
	pointer-events: auto;
	transition: background-color 0.3s ease-out;
}

.main .resFixedFooterCard01_txt {
	width: calc(100% - var(--res-space-unit) * 16);
	padding: 0 0 0 var(--res-space-unit);
	font-size: 100%;
	letter-spacing: 0.08em;
	text-align: center;
}

.main .resFixedFooterCard01_img {
	width: calc(var(--res-space-unit) * 16);
	height: 100%;
	overflow: hidden;
	border-radius: 999em;
}

.main .resFixedFooterCard01_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease-out;
}

.d_hover .main .resFixedFooterCard01:hover {
	background-color: rgba(0, 0, 0, 0.5);
}

.d_hover .main .resFixedFooterCard01:hover .resFixedFooterCard01_img img {
	transform: scale(1.01);
}

/* 18. モーダル */
.main .modal {
	visibility: hidden;
	z-index: 10000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateY(5%);
	clip-path: inset(100% 0 0 0);
	transition: clip-path 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s 0.3s;
	--resModal01-content-height: 687px;
}

.main .modal.is-open {
	visibility: visible;
	transform: translateY(0);
	clip-path: inset(0% 0 0 0);
	transition: clip-path 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s;
}

.main .modal_wrap {
	display: grid;
	position: relative;
	place-items: center;
	width: 100%;
	height: 100%;
	padding: 45px calc(var(--res-space-unit) * 8) 0;
	overflow: auto;
}

.main .modal_body {
	width: 100%;
	min-width: calc(950px - var(--res-space-unit) * 8 * 2);
	max-width: calc(1440px - var(--res-space-unit) * 8 * 2);
	min-height: calc(740px - var(--res-space-unit) * 8 - var(--res-space-unit) * 5);
	/*比率的には594px*/
	margin: 0 auto;
	color: var(--res-color-white01);
}

.main .modal_column {
	display: grid;
	grid-template-rows: 1fr auto;
	padding: 0 0 calc(var(--res-space-unit) * 10 + env(safe-area-inset-bottom, 0px));
	gap: calc(var(--res-space-unit) * 14.5);
}

.main .modal_main {
	display: grid;
	grid-template-columns: 1fr calc(var(--res-space-unit) * 78);
	height: var(--resModal01-content-height);
	gap: calc(var(--res-space-unit) * 8);
}

.main .modal_photo {
	position: relative;
	min-width: 0;
}

.main .modal_footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	min-height: calc(var(--res-space-unit) * 17.5);
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.main .modal_info {
	display: grid;
	position: relative;
	grid-template-rows: 1fr auto;
	height: var(--resModal01-content-height);
	padding: calc(var(--res-space-unit) * 12.5) calc(var(--res-space-unit) * 8) calc(var(--res-space-unit) * 10.5) 0;
	gap: calc(var(--res-space-unit) * 8);
}

.main .modal_info_head {
	text-orientation: mixed;
	writing-mode: vertical-rl;
}

.main .modal_info_category {
	position: absolute;
	top: calc(var(--res-space-unit) * 8);
	right: 0;
	color: var(--res-color-gold01);
	font-weight: 400;
	font-size: 400%;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.08em;
	opacity: 0.2;
}

.main .modal_info_category span {
	text-orientation: upright;
	text-combine-upright: all;
}

.main .modal_info_num {
	position: relative;
	width: 9px;
	margin: calc(var(--res-space-unit) * 1) 0 0;
	padding: 14px 0 0;
	font-weight: 400;
	font-size: 100%;
	line-height: 1;
	font-family: var(--res-fontfamily-inter);
}

.main .modal_info_num::before {
	position: absolute;
	top: 0;
	left: -0.03em;
	width: calc(var(--res-space-unit) * 1.5);
	height: calc(var(--res-space-unit) * 1.5);
	border-radius: 1px;
	background-color: var(--res-color-white01);
	content: "";
}

.main .modal_info_tit {
	margin: 0 calc(var(--res-space-unit) * 8) 0 0;
	font-weight: 400;
	font-size: 200%;
	line-height: 1.6;
	font-family: var(--res-fontfamily-noto-serif);
	letter-spacing: 0.08em;
}

.main .modal_info_tit span {
	text-combine-upright: all;
}

.main .modal_info_txt {
	font-size: 117%;
	line-height: 1.6;
	letter-spacing: 0.04em;
	text-align: justify;
}

/* 19. SNS */
.main .footer_social {
	margin: calc(var(--res-space-unit) * 10) 0 calc(var(--res-space-unit) * 5);
	padding: 0 50px;
}

.main .footer_social_list {
	display: flex;
	justify-content: flex-end;
}

.main .footer_social_item:not(:first-child) {
	margin-left: calc(var(--res-space-unit) * 3.5);
}

/* 20. ファンクション */
.main .fnCarousel01 {
	position: relative;
	height: 100%;
}

.main .fnCarousel01 .resLoading01 {
	transform: translateY(-1.584em);
}

.main .fnCarousel01 .sw {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.main .fnCarousel01.is-loaded .sw {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.main .resCarousel01Thumb_in[data-carousel01-thumb] {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.main .resCarousel01Thumb_in[data-carousel01-thumb].is-loaded {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.main .fnCarousel02 {
	position: absolute;
	top: 0;
	left: 0;
	width: 113.7%;
	height: 100%;
	margin: calc(var(--res-space-unit) * -8) 0 0 -19.3%;
}

.main .fnCarousel02 .sw {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.main .fnCarousel02 .resCarousel02_wrap {
	gap: 0;
}

.main .fnCarousel02.is-loaded .sw {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.main .js_fade_in01 {
	visibility: hidden;
	transform: translateY(15px);
	filter: blur(10px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-out, transform 0.3s ease-out, filter 0.3s ease-out;
}

.main .js_fade_in01.is-inview {
	visibility: visible;
	transform: translateY(0);
	filter: blur(0);
	opacity: 1;
	pointer-events: auto;
}

/* 21. キーフレームアニメーション */
@keyframes res-kf-scaleUpBack {
	0% {
		transform: scale(1);
	}

	35% {
		transform: scale(1.25);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes res-kf-lineLoop {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(50%);
	}
}

@keyframes res-kf-imgLoop {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@keyframes res-kf-imgLoop--reverse {
	0% {
		transform: translateX(-50%);
	}

	100% {
		transform: translateX(0);
	}
}

/* nestria.css */

/* 株式会社ネストリア  ヘッダー / フッター（daiwahouseミラーに合わせた追加スタイル） 参照サイトの色調（warm neutral / gold / charcoal）に合わせたオリジナル。 */
:root {
	--ne-ink: #333;
	--ne-ink2: #6f675f;
	--ne-gold: #b8923a;
	/* アクセント（ゴールド系）：見出し・CTA・ロゴを1つのゴールドに統一 */
	--ne-gold-d: #9a7a2e;
	--ne-line: #e4ded4;
	--ne-cream: #f4f1ea;
	/* 温かみのあるオフホワイト */
	--ne-dark: #33302c;
	/* フッター背景 */
	--ne-dark2: #2b2825;
	--ne-serif: "Noto Serif JP", "Yu Mincho", serif;
	--ne-sans: "Noto Serif JP", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}

/* ---------- ヘッダー ---------- */
/* 固定ヘッダー分、アンカー移動時のオフセット */
html {
	scroll-padding-top: 76px;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: rgba(249, 247, 243, .9);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	backdrop-filter: saturate(160%) blur(12px);
	border-bottom: 1px solid var(--ne-line);
	font-family: var(--ne-sans);
}

.header_in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(18px, 3vw, 40px);
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.header_brand {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.header_brand_mark {
	width: 34px;
	height: 34px;
	flex: none;
}

.header_brand_txt {
	line-height: 1.15;
}

.header_brand_en {
	font-family: var(--ne-serif);
	font-weight: 700;
	font-size: 20px;
	letter-spacing: .16em;
	color: var(--ne-ink);
}

.header_brand_ja {
	display: block;
	font-size: 10px;
	letter-spacing: .28em;
	color: var(--ne-ink2);
	margin-top: 3px;
}

/* 正式ロゴ（ヘッダー：明るい背景） */
.header_logo {
	display: block;
	height: 38px;
	width: auto;
}

/* 正式ロゴ（フッター：暗い背景なので白のチップに載せる） */
.footer_logo {
	display: block;
	height: 38px;
	width: auto;
	background: #fff;
	padding: 9px 14px;
	border-radius: 8px;
}

.header_nav {
	display: flex;
	align-items: center;
	gap: 34px;
}

.header_nav_list {
	display: flex;
	align-items: center;
	gap: 34px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.header_nav_link {
	position: relative;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--ne-ink);
	text-decoration: none;
	padding: 6px 0;
}

.header_nav_link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1.5px;
	background: var(--ne-gold);
	transition: width .3s cubic-bezier(.22, .61, .36, 1);
}

.header_nav_link:hover {
	color: var(--ne-gold-d);
}

.header_nav_link:hover::after {
	width: 100%;
}

.header_nav_cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff;
	background: var(--ne-gold);
	padding: 12px 24px;
	border-radius: 2px;
	text-decoration: none;
	transition: background .3s;
}

.header_nav_cta:hover {
	background: var(--ne-gold-d);
}

.header_nav_cta svg {
	width: 16px;
	height: 16px;
}

/* ハンバーガーボタン（SPのみ表示） */
.header_burger {
	display: none;
	width: 44px;
	height: 44px;
	margin-right: -8px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	z-index: 2;
}

.header_burger span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--ne-ink);
	border-radius: 2px;
	transition: transform .3s ease, opacity .2s ease;
}

.header.is-nav-open .header_burger span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.header.is-nav-open .header_burger span:nth-child(2) {
	opacity: 0;
}

.header.is-nav-open .header_burger span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

@media(max-width:900px) {
	.header_in {
		height: 64px;
	}

	.header_burger {
		display: flex;
	}

	/* ナビをドロップダウンパネル化 */
	.header_nav {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		background: rgba(249, 247, 243, .98);
		-webkit-backdrop-filter: saturate(160%) blur(12px);
		backdrop-filter: saturate(160%) blur(12px);
		border-bottom: 1px solid var(--ne-line);
		padding: 6px 7vw 26px;
		max-height: calc(100vh - 64px);
		overflow-y: auto;
		transform: translateY(-14px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity .3s ease, transform .3s ease, visibility .3s;
	}

	.header.is-nav-open .header_nav {
		opacity: 1;
		visibility: visible;
		transform: none;
		pointer-events: auto;
	}

	.header_nav_list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		width: 100%;
	}

	.header_nav_list li {
		border-bottom: 1px solid var(--ne-line);
	}

	.header_nav_link {
		display: block;
		box-sizing: border-box;
		width: 100%;
		max-width: 500px;
		margin: 0 auto;
		padding: 16px 4px;
		font-size: 15px;
	}

	.header_nav_link::after {
		display: none;
	}

	.header_nav_cta {
		display: flex;
		box-sizing: border-box;
		justify-content: center;
		width: 100%;
		max-width: 500px;
		margin: 18px auto 0;
		padding: 15px;
		font-size: 15px;
	}
}

/* ---------- フッター ---------- */
.footer {
	font-family: var(--ne-sans);
	color: #d9d2c7;
	background: var(--ne-dark);
}

.btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 16px 40px;
	border-radius: 2px;
	font-size: 14.5px;
	font-weight: 700;
	letter-spacing: .06em;
	text-decoration: none;
	transition: all .3s;
	border: 1.5px solid var(--ne-gold);
}

.btn svg {
	width: 18px;
	height: 18px;
}

.btn_fill {
	background: var(--ne-gold);
	color: #fff;
}

.btn_fill:hover {
	background: var(--ne-gold-d);
	border-color: var(--ne-gold-d);
}

.btn_line {
	background: transparent;
	color: var(--ne-gold-d);
}

.btn_line:hover {
	background: var(--ne-gold);
	color: #fff;
}

/* フッター本体 */
.footer_main {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(56px, 7vw, 84px) clamp(18px, 4vw, 40px) 0;
}

.footer_top {
	display: grid;
	grid-template-columns: 1.6fr 1fr 1.2fr;
	gap: clamp(30px, 5vw, 64px);
	padding-bottom: 48px;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.footer_brand .header_brand_en {
	color: #fff;
}

.footer_brand .header_brand_ja {
	color: #a99f90;
}

.footer_about {
	margin-top: 20px;
	font-size: 15px;
	line-height: 2;
	color: #fff;
	max-width: 340px;
}

.footer_col_ttl {
	font-family: var(--ne-serif);
	font-size: 15px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ne-gold);
	margin-bottom: 16px;
}

.footer_col a {
	display: block;
	padding: 8px 0;
	color: #fff;
	font-size: 15px;
	text-decoration: none;
	transition: .25s;
}

.footer_col a:hover {
	color: #fff;
	padding-left: 5px;
}

.footer_info dl {
	margin: 0;
}

.footer_info dt {
	font-size: 15px;
	letter-spacing: .1em;
	color: var(--ne-gold);
	margin-top: 14px;
}

.footer_info dd {
	margin: 3px 0 0;
	font-size: 15px;
	color: #fff;
	line-height: 1.8;
}

.footer_info .todo {
	color: #c9b48a;
}

.footer_bottom {
	max-width: 1200px;
	margin: 0 auto;
	padding: 26px clamp(18px, 4vw, 40px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.footer_copy {
	font-family: var(--ne-serif);
	font-size: 13px;
	letter-spacing: .08em;
	color: #fff;
}

@media(max-width:820px) {
	.footer_top {
		grid-template-columns: 1fr;
		gap: 34px;
	}
}

/* custom (was inline <style>) */

body {
	overflow-x: clip
}

#container, #container.container-pt, #container.container-pt2, #container.container-pt3 {
	min-width: 0
}

/* ヘッダー・フッターを明朝体に */
.header, .header *, .footer, .footer * {
	font-family: var(--ne-serif)
}

/* 事業紹介セクションの見出し（neBiz2 で使用） */
.service_head {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 6vw;
	text-align: center
}

.service_ttl {
	font-family: var(--res-fontfamily-noto-serif);
	font-weight: 700;
	color: #173863;
	font-size: clamp(26px, 4vw, 46px);
	letter-spacing: .06em;
	margin-top: 16px;
	line-height: 1.45
}

.service_lead {
	font-family: var(--ne-sans);
	color: #333;
	font-size: clamp(15px, 1.3vw, 18px) !important;
	line-height: 1.95;
	margin-top: 20px
}

/* --- 事業紹介：左テキスト（見出し縦書き＋説明横書き）／右に大きな4:3画像＋サムネイル横並び --- */
.service {
	position: relative;
	z-index: 1;
	background: #fff;
	padding: clamp(64px, 9vw, 140px) 0;
	overflow: hidden
}

.service_list {
	max-width: 1240px;
	margin: clamp(48px, 6vw, 96px) auto 0;
	padding: 0 5vw;
	display: flex;
	flex-direction: column;
	gap: clamp(60px, 8vw, 120px)
}

.service_item {
	display: grid;
	grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(28px, 4vw, 68px);
	align-items: center;
	min-width: 0
}

@media (min-width:768px) {
	.service_item:nth-child(even) {
		grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr)
	}

	.service_item:nth-child(even) .service_item_gallery {
		order: -1
	}
}

.service_item>* {
	min-width: 0
}

.service_svg {
	max-width: 100%
}

.service_item_gallery {
	min-width: 0
}

.service_item_text {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(18px, 2.5vw, 40px);
	align-items: start;
	position: relative;
	min-width: 0
}

.service_item_head {
	position: relative;
	min-width: clamp(72px, 8vw, 128px);
	display: flex;
	justify-content: center
}

.service_item_num {
	position: absolute;
	top: -.45em;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
	font-family: var(--res-fontfamily-gilda-display);
	font-size: clamp(66px, 8vw, 128px);
	line-height: 1;
	color: #b8923a;
	opacity: .13;
	pointer-events: none
}

.service_item_vwrap {
	position: relative;
	writing-mode: vertical-rl;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: clamp(14px, 1.6vw, 26px);
	padding-top: clamp(24px, 3vw, 52px)
}

.service_item_case {
	font-family: var(--res-fontfamily-inter);
	color: #a9822f;
	letter-spacing: .14em;
	font-size: 12px;
	font-weight: 600;
	position: relative;
	padding-top: 16px
}

.service_item_case::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 6px;
	height: 6px;
	border-radius: 1px;
	background: #a9822f
}

.service_item_tit {
	font-family: var(--res-fontfamily-noto-serif);
	color: #173863;
	font-weight: 500;
	font-size: clamp(22px, 2.6vw, 22px);
	letter-spacing: .14em;
	line-height: 1.5
}

/* 縦書きの中黒「・」をコラム内で左右中央に */
.service_item_tit .nakaguro {
	text-orientation: upright;
	text-combine-upright: none;
}

.service_item_body {
	padding-top: clamp(6px, 1vw, 16px);
	min-width: 0;
	overflow-wrap: anywhere
}

.service_item_en {
	display: block;
	font-family: var(--res-fontfamily-inter);
	color: #b8923a;
	font-size: clamp(11px, 1vw, 13px);
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 600
}

.service_item_lead {
	font-family: var(--res-fontfamily-noto-serif);
	color: #173863;
	font-size: clamp(17px, 1.9vw, 26px) !important;
	letter-spacing: .06em;
	line-height: 1.6;
	margin-top: 14px
}

.service_item_txt {
	font-family: var(--ne-sans);
	color: #333;
	line-height: 2.05;
	font-size: clamp(15px, 1.1vw, 16px) !important;
	margin-top: 18px
}

.biz2__more {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin-top: 26px;
	font-family: var(--res-fontfamily-inter);
	color: #173863;
	font-size: 13px;
	letter-spacing: .14em;
	font-weight: 600;
	text-decoration: none
}

.biz2__more i {
	position: relative;
	width: 40px;
	height: 40px;
	border: 1px solid #cbb892;
	border-radius: 3px;
	flex: none;
	transition: .3s
}

.biz2__more i::before, .biz2__more i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #a9822f;
	transition: .3s
}

.biz2__more i::before {
	width: 12px;
	height: 1px
}

.biz2__more i::after {
	width: 1px;
	height: 12px
}

.biz2__more:hover i {
	background: #b8923a;
	border-color: #b8923a
}

.biz2__more:hover i::before, .biz2__more:hover i::after {
	background: #fff
}

.service_item_main {
	aspect-ratio: 4/3;
	border-radius: 14px;
	overflow: hidden;
	background: #f6f4ee;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(16px, 3vw, 48px)
}

.service_item_main img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block
}

/* 事業イラスト：インラインSVGをレイヤー別にアニメーション */
.service_svg {
	width: 100%;
	height: 100%;
	overflow: visible;
	display: block
}

.service_svg * {
	transform-box: view-box
}

.service_svg .card, .service_svg .body {
	fill: #fff;
	stroke: #33475b;
	stroke-width: 3.2;
	stroke-linejoin: round
}

.service_svg .ac_b {
	fill: #c6d2df;
	stroke: #33475b;
	stroke-width: 2.2;
	stroke-linejoin: round
}

.service_svg .ac-y {
	fill: #e7d4a9;
	stroke: #33475b;
	stroke-width: 2.2;
	stroke-linejoin: round
}

.service_svg .ac_g {
	fill: #d9b36a;
	stroke: #33475b;
	stroke-width: 2.2;
	stroke-linejoin: round
}

.service_svg .ac-d {
	fill: #33475b
}

.service_svg .ln {
	fill: none;
	stroke: #33475b;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round
}

.service_svg .service_spk {
	fill: #d9b36a;
	transform-box: fill-box;
	transform-origin: center;
	animation: twk 2.6s ease-in-out infinite;
	animation-delay: var(--d, 0s)
}

/* 事業イラスト：個別PNGをポジション配置＋レイヤー別アニメーション */
.service_scene {
	position: relative;
	width: 100%;
	height: 100%
}

.service_scene .service_part {
	position: absolute;
	display: block;
	height: auto;
	filter: drop-shadow(0 8px 14px rgba(23, 56, 99, .12))
}

.service_scene .service_spk {
	position: absolute;
	color: #d9b36a;
	font-style: normal;
	line-height: 1;
	transform-origin: center;
	animation: spkTw 2.6s ease-in-out infinite
}

@keyframes spkTw {
	0%, 100% {
		opacity: .35;
		transform: scale(.6)
	}

	50% {
		opacity: 1;
		transform: scale(1)
	}
}

/* ===== 事業画像 インタラクション：各パーツ単体をバウンド／回転（既存の浮遊アニメは終了後に復帰） ===== */
.service_item_main.is-fx {
	overflow: visible
}

.service_scene .service_part.fx-pop {
	animation: partPop .7s cubic-bezier(.34, 1.7, .5, 1) !important
}

.service_scene .service_part.fx-twist {
	animation: partTwist .8s cubic-bezier(.5, .05, .25, 1) !important
}

@keyframes partPop {
	0% {
		transform: translateY(0) scale(1) rotate(0)
	}

	30% {
		transform: translateY(-16px) scale(1.14) rotate(7deg)
	}

	55% {
		transform: translateY(0) scale(.92) rotate(-5deg)
	}

	75% {
		transform: translateY(-6px) scale(1.05) rotate(2deg)
	}

	100% {
		transform: translateY(0) scale(1) rotate(0)
	}
}

@keyframes partTwist {
	0% {
		transform: perspective(700px) rotateY(0) scale(1)
	}

	50% {
		transform: perspective(700px) rotateY(180deg) scale(.9)
	}

	100% {
		transform: perspective(700px) rotateY(360deg) scale(1)
	}
}

@media (prefers-reduced-motion: reduce) {

	.service_scene .service_part.fx-pop,
	.service_scene .service_part.fx-twist {
		animation: none !important
	}
}

@keyframes floatY {
	0%, 100% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-8px)
	}
}

@keyframes floatTilt {
	0%, 100% {
		transform: translateY(0) rotate(-3deg)
	}

	50% {
		transform: translateY(-9px) rotate(3deg)
	}
}

@keyframes breathe {
	0%, 100% {
		transform: scale(1)
	}

	50% {
		transform: scale(1.02)
	}
}

@keyframes leanSway {
	0%, 100% {
		transform: rotate(-3.2deg)
	}

	50% {
		transform: rotate(1.6deg)
	}
}

@keyframes camBob {
	0%, 100% {
		transform: translateY(0) rotate(-1deg)
	}

	50% {
		transform: translateY(-4px) rotate(1deg)
	}
}

@keyframes beckon {
	0%, 100% {
		transform: rotate(-4.5deg)
	}

	50% {
		transform: rotate(4.5deg)
	}
}

@keyframes watchBob {
	0%, 100% {
		transform: translateY(0) rotate(-2deg)
	}

	50% {
		transform: translateY(-5px) rotate(2deg)
	}
}

.service_card .service_part_cardl {
	width: 33%;
	left: 15%;
	bottom: 15%;
	z-index: 2;
	transform-origin: bottom center;
	animation: swayCL 4.6s ease-in-out infinite
}

.service_card .service_part_cardr {
	width: 33%;
	left: 50%;
	bottom: 15%;
	z-index: 1;
	transform-origin: bottom center;
	animation: swayCR 5s ease-in-out infinite
}

.service_card .service_part_cardc {
	width: 35%;
	left: 33%;
	bottom: 19%;
	z-index: 3;
	transform-origin: bottom center;
	animation: swayCC 4.2s ease-in-out infinite
}

@keyframes swayCL {
	0%, 100% {
		transform: rotate(-17deg)
	}

	50% {
		transform: rotate(-11deg)
	}
}

@keyframes swayCR {
	0%, 100% {
		transform: rotate(11deg)
	}

	50% {
		transform: rotate(17deg)
	}
}

@keyframes swayCC {
	0%, 100% {
		transform: rotate(-3deg) translateY(0)
	}

	50% {
		transform: rotate(3deg) translateY(-5px)
	}
}

.service_card .service_spk1 {
	top: 15%;
	left: 19%;
	font-size: 24px;
	animation-delay: 0s
}

.service_card .service_spk2 {
	top: 9%;
	right: 20%;
	font-size: 17px;
	animation-delay: .8s
}

.service_card .service_spk3 {
	top: 42%;
	right: 12%;
	font-size: 14px;
	animation-delay: 1.5s
}

.service_game .service_part_console {
	width: 55%;
	left: 24%;
	bottom: 16%;
	z-index: 1;
	transform-origin: bottom center;
	animation: breathe 4.5s ease-in-out infinite
}

.service_game .service_part_cases {
	width: 27%;
	left: 5%;
	bottom: 19%;
	z-index: 2;
	transform-origin: bottom center;
	animation: leanSway 5.4s ease-in-out infinite
}

.service_game .service_part_controller {
	width: 37%;
	right: 3%;
	top: 11%;
	z-index: 3;
	animation: floatTilt 4s ease-in-out infinite .3s
}

@keyframes swayG {
	0%, 100% {
		transform: rotate(-3deg)
	}

	50% {
		transform: rotate(2deg)
	}
}

.service_camera .service_part_cambody {
	width: 55%;
	left: 7%;
	bottom: 19%;
	z-index: 2;
	transform-origin: bottom center;
	animation: camBob 5s ease-in-out infinite
}

.service_camera .service_part_lens {
	width: 31%;
	right: 7%;
	bottom: 23%;
	z-index: 1;
	animation: floatY 4.4s ease-in-out infinite .5s
}

.service_goods .service_part_lantern {
	width: 25%;
	left: 6%;
	top: 12%;
	z-index: 1;
	transform-origin: top center;
	animation: swayHang 3.4s ease-in-out infinite
}

.service_goods .service_part_cat {
	width: 40%;
	right: 4%;
	bottom: 10%;
	z-index: 2;
	transform-origin: bottom center;
	animation: beckon 2.4s ease-in-out infinite
}

.service_goods .service_part_watch {
	width: 29%;
	left: 26%;
	bottom: 12%;
	z-index: 3;
	animation: watchBob 4.2s ease-in-out infinite .4s
}

@keyframes swayHang {
	0%, 100% {
		transform: rotate(-5deg)
	}

	50% {
		transform: rotate(5deg)
	}
}

@media (prefers-reduced-motion:reduce) {
	.service_scene .service_part, .service_scene .service_spk {
		animation: none
	}
}

.cardsSvg .card2 {
	transform-origin: 200px 292px;
	animation: swayL 4.4s ease-in-out infinite;
	animation-delay: var(--d, 0s)
}

.gameSvg .ctrl {
	animation: floatL 4s ease-in-out infinite
}

.gameSvg .case1 {
	transform-origin: 137px 236px;
	animation: swayL 5s ease-in-out infinite
}

.gameSvg .case2 {
	transform-origin: 175px 236px;
	animation: swayL 5s ease-in-out infinite .8s
}

.gameSvg .pwr {
	transform-box: fill-box;
	transform-origin: center;
	animation: twk 1.8s ease-in-out infinite
}

.camSvg .lensspin {
	transform-origin: 185px 200px;
	animation: spin 12s linear infinite
}

.camSvg .lens2 {
	animation: floatL 4.2s ease-in-out infinite
}

.camSvg .flash {
	transform-box: fill-box;
	transform-origin: center;
	animation: twk 2.2s ease-in-out infinite
}

.goodsSvg .arm {
	transform-origin: 298px 150px;
	animation: waveL 2.6s ease-in-out infinite
}

.goodsSvg .flame {
	transform-box: fill-box;
	transform-origin: center bottom;
	animation: flick 1.4s ease-in-out infinite
}

.goodsSvg .sec {
	transform-origin: 200px 210px;
	animation: spin 6s linear infinite
}

@keyframes swayL {
	0%, 100% {
		transform: rotate(-1.6deg)
	}

	50% {
		transform: rotate(1.6deg)
	}
}

@keyframes floatL {
	0%, 100% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-8px)
	}
}

@keyframes twk {
	0%, 100% {
		transform: scale(.55);
		opacity: .4
	}

	50% {
		transform: scale(1);
		opacity: 1
	}
}

@keyframes waveL {
	0%, 100% {
		transform: rotate(3deg)
	}

	50% {
		transform: rotate(-22deg)
	}
}

@keyframes flick {
	0%, 100% {
		opacity: .55;
		transform: scaleY(.9)
	}

	50% {
		opacity: 1;
		transform: scaleY(1.08)
	}
}

@keyframes spin {
	to {
		transform: rotate(360deg)
	}
}

@media (prefers-reduced-motion:reduce) {
	.service_svg * {
		animation: none !important
	}
}

@media (max-width:767px) {
	/* head を左に、右側は「上：画像／下：説明」で縦並び */
	.service_item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"head gallery"
			"head body";
		column-gap: 16px;
		row-gap: 16px;
		align-items: start
	}

	.service_item_text {
		display: contents
	}

	.service_item_head {
		grid-area: head;
		align-self: start
	}

	.service_item_gallery {
		grid-area: gallery
	}

	.service_item_body {
		grid-area: body
	}

	.service_item_main {
		width: 100%
	}

	.service_item_txt, .service_item_lead {
		overflow-wrap: anywhere;
		word-break: break-word
	}
}

/* --- 共通セクション見出し --- */
.sec_head {
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 6vw
}

.sec_ttl {
	font-family: var(--ne-serif);
	font-weight: 700;
	color: #173863;
	font-size: clamp(26px, 4vw, 46px);
	letter-spacing: .06em;
	margin-top: 14px
}

.neSec__lead {
	font-family: var(--ne-serif);
	color: #333;
	font-size: clamp(15px, 1.4vw, 18px) !important;
	line-height: 1.95;
	margin-top: 20px
}

/* --- 会社概要 --- */
.company {
	background: #faf8f4;
	padding: clamp(70px, 10vw, 150px) 0
}

.company_cols {
	max-width: 1340px;
	margin: clamp(48px, 6vw, 90px) auto 0;
	padding: 0 clamp(24px, 3.4vw, 56px);
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: clamp(40px, 5vw, 84px);
	align-items: start
}

/* 未入力（差し替え予定）を赤太字で明示 */
.fill_todo {
	color: #d0021b;
	font-weight: 700
}

.company_greet {
	display: block
}

.company_greet_body {
	text-align: left
}

.neGreet__photo {
	aspect-ratio: 3/4;
	border-radius: 8px;
	overflow: hidden;
	background: #e9e4da;
	box-shadow: 0 24px 54px rgba(23, 56, 99, .16)
}

.neGreet__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.company_greet_label {
	font-family: var(--res-fontfamily-inter);
	color: #b8923a;
	letter-spacing: .2em;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600
}

.company_greet_ttl {
	font-family: var(--ne-serif);
	color: #173863;
	font-weight: 700;
	font-size: clamp(22px, 2.6vw, 34px);
	letter-spacing: .06em;
	margin-top: 10px
}

.company_greet_txt {
	font-family: var(--ne-serif);
	color: #333;
	line-height: 2.15;
	font-size: clamp(15px, 1.15vw, 17px) !important;
	margin-top: 24px
}

.company_greet_sign {
	font-family: var(--ne-serif);
	color: #173863;
	margin-top: 26px;
	letter-spacing: .08em;
	font-size: clamp(15px, 1.2vw, 17px) !important;
	text-align: right
}

.company_profile {
	padding-top: 6px
}

.company_profile_list {
	border-top: 1px solid #e0d9cc
}

.company_profile_row {
	display: grid;
	grid-template-columns: max-content 1fr;
	border-bottom: 1px solid #e0d9cc
}

.company_profile_row dt {
	font-family: var(--ne-serif);
	color: #173863;
	font-weight: 700;
	white-space: nowrap;
	padding: clamp(16px, 2vw, 24px) clamp(14px, 1.6vw, 22px) clamp(16px, 2vw, 24px) 0;
	font-size: clamp(15px, 1.1vw, 16px);
	letter-spacing: .06em
}

.company_profile_row dd {
	color: #333;
	padding: clamp(16px, 2vw, 24px) clamp(10px, 2vw, 20px);
	font-size: clamp(15px, 1.1vw, 16px);
	line-height: 1.85
}

/* --- お問い合わせ --- */
.contact {
	background: #faf8f4;
	padding: clamp(70px, 10vw, 150px) 0
}

.contact_in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 6vw;
	display: grid;
	grid-template-columns: 0.68fr 1.32fr;
	gap: clamp(36px, 5vw, 80px);
	align-items: start
}

.contact_ttl {
	font-family: var(--ne-serif);
	font-weight: 700;
	color: #173863;
	font-size: clamp(28px, 4vw, 44px);
	letter-spacing: .05em;
	margin-top: 12px
}

.contact_desc {
	font-family: var(--ne-serif);
	color: #333;
	font-size: clamp(15px, 1.4vw, 18px) !important;
	line-height: 1.95;
	margin-top: 20px
}

.contact_svg {
	display: block;
	width: 100%;
	max-width: 330px;
	height: auto;
	margin: clamp(18px, 3vw, 32px) auto 0
}

.contact_svg .contact_bub {
	animation: floatL 4s ease-in-out infinite;
	animation-delay: var(--d, 0s)
}

.contact_form {
	background: #fff;
	border: 1px solid #ece7db;
	border-radius: 14px;
	padding: clamp(24px, 3vw, 44px);
	box-shadow: 0 22px 50px rgba(23, 56, 99, .08)
}

.contact_form_req {
	color: #333;
	font-size: 14px;
	margin-bottom: 6px
}

.contact_req {
	color: #c0553e;
	font-style: normal
}

.contact_form_row {
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 6px 20px;
	align-items: start;
	padding: 14px 0;
	border-bottom: 1px solid #f0ece3
}

.contact_form_lbl {
	font-family: var(--ne-serif);
	color: #173863;
	font-weight: 700;
	font-size: 15px;
	padding-top: 12px
}

.contact_form input, .contact_form textarea {
	width: 100%;
	border: 1px solid #d9d2c6;
	border-radius: 7px;
	padding: 11px 13px;
	font-family: var(--ne-sans);
	font-size: 15px;
	color: #173863;
	background: #fff
}

.contact_form input::placeholder, .contact_form textarea::placeholder {
	color: #b3b0a8
}

.contact_form input:focus, .contact_form textarea:focus {
	outline: none;
	border-color: #b8923a;
	box-shadow: 0 0 0 3px rgba(184, 146, 58, .14)
}

.contact_form textarea {
	resize: vertical;
	line-height: 1.7
}

.contact_form_radios {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	padding-top: 8px
}

.contact_radio {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	color: #333;
	cursor: pointer
}

.contact_radio input {
	width: auto;
	accent-color: #b8923a
}

.contact_radio_check {
	align-items: flex-start
}

.contact_form_submit {
	text-align: center;
	margin-top: 26px
}

/* #trust の本文も15px以上を担保 */
#trust .sec_lead {
	font-size: clamp(15px, 1.7vw, 20px) !important
}

#trust .trust_card01_txt, #trust .resTechnologyCard01_lead {
	font-size: clamp(15px, 1.15vw, 17px) !important;
	line-height: 1.9
}

@media (max-width:760px) {
	.company_cols {
		grid-template-columns: 1fr;
		gap: 32px
	}

	.neGreet__photo {
		width: min(300px, 72%)
	}

	.company_profile_row {
		grid-template-columns: 1fr
	}

	.company_profile_row dt {
		padding-bottom: 0
	}

	.company_profile_row dd {
		padding-top: 4px
	}

	.contact_in {
		grid-template-columns: 1fr;
		gap: 30px
	}

	.contact_form_row {
		grid-template-columns: 1fr;
		gap: 8px
	}

	.contact_form_lbl {
		padding-top: 0
	}
}

/* ヒーロー：スクロールで固定しMV→introをその場でクロスフェード */
.hero_stage {
	position: relative;
	left: 50%;
	margin-left: -50vw;
	width: 100vw;
	z-index: 0
}

.hero_pin {
	position: relative;
	width: 100%
}

/* trust：MV直後に続くセクション（スクロールで各要素がフェードイン） */
.hero_stage .hero_trust {
	position: relative;
	z-index: 1;
	margin-top: 0
}

/* GSAP有効時：MVをオーバーレイ化して固定クロスフェード（見出し+リード+カードを含む先頭画面へ） */
/* full-bleed(-50vw)はGSAPのpin-spacerと干渉しうるため、全幅は width:100% で確保 */
.hero_stage.is-cf {
	left: auto;
	margin-left: 0;
	width: 100%
}

.hero_stage.is-cf .hero_pin {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100svh;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
	will-change: opacity, transform
}

.hero_stage.is-cf .mv {
	height: 100%;
	min-height: 0
}

.hero_stage.is-cf .hero_trust {
	position: relative;
	z-index: 1;
	margin-top: 0;
	min-height: 100vh;
	min-height: 100svh
}

.mv {
	position: relative;
	width: 100%;
	height: 100vh;
	height: 100svh;
	min-height: 600px;
	overflow: hidden;
	background: #ffffff;
	isolation: isolate;
	font-family: var(--ne-serif);
	will-change: opacity, transform
}

.mv * {
	box-sizing: border-box
}

/* --- 背景画像は右側に縮小配置（アニメーションは維持） --- */
.mv_bg {
	position: absolute;
	top: 15%;
	right: 0;
	height: 70%;
	width: 66%;
	z-index: 1;
	overflow: hidden;
	background: #a9c6dd url("../assets/images/mv/parts/part_bg-scene.png") center center/cover no-repeat;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 32%), linear-gradient(180deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0%, #000 32%), linear-gradient(180deg, transparent 0%, #000 15%, #000 85%, transparent 100%);
	mask-composite: intersect
}

.mv__layer {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%
}

.mv__layer img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.mv_globe {
	position: absolute;
	z-index: 2;
	mix-blend-mode: screen;
	width: 26%;
	aspect-ratio: 1/1;
	right: 1%;
	bottom: 1%;
	opacity: 0;
	animation: mvFade 1.8s ease .5s forwards;
	pointer-events: none;
	display: block
}

/* --- 左側を白でなじませる横グラデ（画像の左境界をぼかす） --- */
.mv_wash {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(90deg, #ffffff 0%, #ffffff 22%, rgba(255, 255, 255, 0) 50%);
	opacity: 0;
	animation: mvScrimIn 2.4s cubic-bezier(.2, .7, .2, 1) .1s forwards
}

@keyframes mvScrimIn {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

/* --- ブランド表記：左へゆっくり流れるループマーキー --- */
.mv_marquee {
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	bottom: 20%;
	height: 1.32em;
	pointer-events: none;
	overflow: hidden;
	font-family: var(--ne-serif);
	font-weight: 600;
	white-space: nowrap;
	letter-spacing: .14em;
	font-size: clamp(18px, 4vw, 62px);
	line-height: 1.32;
	opacity: 0;
	animation: mvScrimIn 2.6s ease 1.1s forwards
}

.mv_marquee_layer {
	position: absolute;
	inset: 0;
	overflow: hidden
}

.mv_marquee_track {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	width: max-content;
	will-change: transform;
	animation: mvMarquee 46s linear infinite
}

.mv_marquee_unit {
	padding-right: .7em;
	white-space: nowrap
}

/* 白背景（左）上：濃紺で表示 */
.mv_marquee_navy {
	color: #173863;
	-webkit-mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 46%);
	mask-image: linear-gradient(90deg, #000 0%, #000 30%, transparent 46%)
}

/* 画像（右）上：白で透過表示 */
.mv_marquee_ghost {
	color: rgba(255, 255, 255, .66);
	text-shadow: 0 1px 3px rgba(30, 55, 90, .28), 0 2px 22px rgba(255, 255, 255, .32);
	-webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 46%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 30%, #000 46%, #000 100%)
}

@keyframes mvMarquee {
	from {
		transform: translateX(0)
	}

	to {
		transform: translateX(-50%)
	}
}

.mv_copy {
	position: absolute;
	z-index: 5;
	left: 5%;
	top: 15%;
	width: min(66%, 900px)
}

.mv__eyebrow {
	display: flex;
	align-items: center;
	gap: 16px;
	font-family: var(--ne-sans);
	font-weight: 600;
	font-size: clamp(10px, 1.05vw, 15px);
	letter-spacing: .34em;
	color: #b8923a;
	margin-bottom: clamp(12px, 1.6vw, 26px);
	opacity: 0;
	transform: translateY(16px);
	animation: mvUp .9s cubic-bezier(.2, .7, .2, 1) .6s forwards
}

.mv__eyebrow i {
	display: block;
	width: clamp(28px, 3vw, 56px);
	height: 1.5px;
	background: #b8923a
}

.mv_br {
	display: none;
}

.mv_title {
	font-family: var(--ne-serif);
	font-weight: 700;
	color: #173863;
	letter-spacing: .04em;
	line-height: 1.46;
	font-size: clamp(24px, 4.4vw, 64px);
	white-space: nowrap;
	opacity: 0;
	transform: translateY(26px);
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) .75s forwards
}

/* 見出し：文字色は変えず、光がきらっと横切る（1文字ずつ順に・ゆっくり） */
.mv_ch {
	display: inline-block;
	color: #173863;
	background: linear-gradient(105deg, #173863 0%, #173863 43%, #8aabd8 47.5%, #dcebff 50%, #8aabd8 52.5%, #173863 57%, #173863 100%);
	background-size: 300% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	will-change: background-position, transform;
	animation: mvGlint 6.4s ease-in-out infinite;
	animation-delay: calc(1.6s + var(--i, 0) * .3s)
}

@keyframes mvGlint {
	0% {
		background-position: 100% 0;
		transform: scale(1)
	}

	9% {
		transform: scale(1.05)
	}

	22% {
		background-position: 0% 0
	}

	30% {
		transform: scale(1)
	}

	100% {
		background-position: 0% 0;
		transform: scale(1)
	}
}

.main .mv_sub {
	margin-top: clamp(12px, 2.2vw, 34px);
	font-family: var(--ne-serif);
	font-weight: 600;
	font-size: clamp(15px, 1.5vw, 24px);
	line-height: 1.9;
	color: #333;
	opacity: 0;
	transform: translateY(20px);
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) 1.15s forwards
}

.mv_logo {
	margin-top: clamp(14px, 2.4vw, 40px);
	display: flex;
	align-items: center;
	gap: clamp(8px, 1vw, 16px);
	opacity: 0;
	transform: translateY(16px);
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) 1.4s forwards
}

.mv_logo svg {
	width: clamp(30px, 3.6vw, 64px);
	height: clamp(30px, 3.6vw, 64px);
	flex: none
}

/* 正式ロゴ（MVヒーロー） */
.mv_logo_img {
	display: block;
	height: clamp(42px, 6vw, 74px);
	width: auto
}

.mv_logo .txt {
	line-height: 1.1
}

.mv_logo .ja {
	font-size: clamp(8px, .85vw, 15px);
	letter-spacing: .22em;
	color: #173863;
	display: block
}

.mv_logo .en {
	font-family: var(--ne-serif);
	font-weight: 700;
	font-size: clamp(16px, 1.9vw, 34px);
	letter-spacing: .12em;
	color: #173863;
	margin-top: .15em;
	display: block
}

.mv__biz {
	position: absolute;
	z-index: 6;
	left: 4%;
	bottom: 5%;
	width: min(56%, 700px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px
}

.mv__biz figure {
	position: relative;
	aspect-ratio: 1/1;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 12px 34px rgba(15, 30, 60, .22);
	background: #fff;
	margin: 0;
	opacity: 0;
	transform: translateY(34px)
}

.mv__biz img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.mv__biz figure:nth-child(1) {
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) 1.55s forwards
}

.mv__biz figure:nth-child(2) {
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) 1.72s forwards
}

.mv__biz figure:nth-child(3) {
	animation: mvUp 1s cubic-bezier(.2, .7, .2, 1) 1.89s forwards
}

@keyframes mvFade {
	to {
		opacity: 1
	}
}

@keyframes mvUp {
	to {
		opacity: 1;
		transform: none
	}
}

/* --- 海のさざ波（背景の海部分だけをSVG乱流でリップル） --- */
.mv_sea {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: url("../assets/images/mv/parts/part_bg-scene.png") center center/cover no-repeat;
	-webkit-mask-image: linear-gradient(to bottom, transparent 66%, #000 78%);
	mask-image: linear-gradient(to bottom, transparent 66%, #000 78%);
	filter: url(#waterRipple)
}

/* --- 空を横断する飛行機（白グラデの上をフルワイドで横断） --- */
.mv_plane {
	position: absolute;
	z-index: 4;
	top: 22%;
	left: 0;
	width: clamp(115px, 14vw, 190px);
	pointer-events: none;
	will-change: transform;
	opacity: 0;
	filter: drop-shadow(0 8px 14px rgba(30, 50, 80, .16));
	animation: mvFadeIn 2s ease .3s forwards, mvPlane 42s linear 1s infinite
}

@keyframes mvFadeIn {
	to {
		opacity: 1
	}
}

@keyframes mvPlane {
	0% {
		transform: translate(118vw, 0)
	}

	100% {
		transform: translate(-16vw, -3.5vh)
	}
}

/* タブレット・スマホ（768px以下）：固定演出OFF・文字はMVに重ねる */
@media (max-width:768px) {

	/* ピン留め無効：通常スクロール */
	.hero_stage {
		left: auto;
		margin-left: 0;
		margin-top: 0;
		width: auto;
		height: auto
	}

	.hero_pin {
		position: static;
		height: auto
	}

	.hero_stage .hero_trust {
		position: static;
		margin-top: 0;
		margin-bottom: 0
	}

	.mv {
		position: relative;
		inset: auto;
		height: 100svh;
		min-height: 560px;
		background: #a9c6dd
	}


	/* 背景：シーン画像を全面に */
	.mv_bg {
		position: absolute;
		inset: 0;
		top: 0;
		width: 100%;
		height: 100%;
		-webkit-mask-image: none;
		mask-image: none
	}

	/* 可読性：上部を白くするグラデ（文字が重なる領域） */
	.mv_wash {
		display: block;
		background: linear-gradient(180deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .64) 27%, rgba(255, 255, 255, .1) 54%, rgba(255, 255, 255, 0) 74%)
	}

	/* 文字・ロゴ：少し下げてMVに重ねる */
	.mv_copy {
		position: absolute;
		left: 6%;
		right: 6%;
		top: 15%;
		transform: none;
		width: auto;
		z-index: 5
	}

	.mv_title {
		font-size: clamp(27px, 7.4vw, 46px);
		line-height: 1.42;
		white-space: normal
	}

	.mv_br {
		display: inline
	}

	.main .mv_sub {
		font-size: clamp(15px, 3.6vw, 17px)
	}

	.mv_logo .en {
		font-size: clamp(26px, 8vw, 40px)
	}

	.mv_logo .ja {
		font-size: clamp(10px, 2.8vw, 14px)
	}

	/* 海のさざ波・地球・飛行機 */
	.mv_sea {
		display: block
	}

	.mv_globe {
		display: block;
		width: 34%;
		right: 2%;
		bottom: 6%
	}

	.mv_plane {
		display: block;
		top: auto;
		bottom: 40%;
		width: clamp(84px, 21vw, 130px)
	}

	/* マーキー：海の上（英語を大きめに） */
	.mv_marquee {
		top: auto;
		bottom: 8%;
		height: 1.4em;
		font-size: clamp(22px, 6vw, 32px)
	}

	.mv_marquee_navy {
		display: none
	}

	.mv_marquee_ghost {
		-webkit-mask-image: none;
		mask-image: none
	}
}

/* reduced-motion：固定演出を無効化し通常スクロール（intro が隠れないように） */
@media (prefers-reduced-motion:reduce) {
	.hero_stage {
		height: auto
	}

	.hero_pin {
		position: static;
		height: auto
	}

	.hero_stage .hero_trust {
		position: static;
		margin-top: 0;
		margin-bottom: 0
	}

	.mv {
		position: relative;
		inset: auto;
		height: 100vh;
		min-height: 560px
	}


	.mv * {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important
	}

	.mv_sea {
		filter: none !important
	}
}

/* 旧・大和ハウスのカルーセルMVは非表示（現行の.mvヒーローを採用） */
.mv_old_01, .js_main_visual01 {
	display: none !important
}

/* 各セクションのスクロールフェードアップ（r-equal recruit 参考）／既存.fnFadeIn01を上質化 */
.main .js_fade_in01 {
	transform: translateY(38px);
	filter: none;
	transition: opacity .95s cubic-bezier(.22, .61, .36, 1), transform 1.05s cubic-bezier(.22, .61, .36, 1)
}

.main .js_fade_in01.is-inview {
	filter: none
}

/* reduce-motion（iOS低電力モード含む）時は、動き（移動・拡大・ぼかし）は止めつつ、
   不透明度のフェードイン自体は残す（opacityフェードはmotionではないため許容） */
@media (prefers-reduced-motion:reduce) {
	.main .js_fade_in01 {
		transform: none !important;
		filter: none !important;
		transition: opacity .8s ease !important
	}
}

/* new_ac.css */
html .sug_list {
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute !important;
	background-color: #FFFFFF;
	word-break: break-all;
	color: #000000 !important;
	z-index: 9999;
	opacity: 0.9;
}

html .sug_element {
	border-bottom: 1px solid #C8C8C8;
	border-left: 1px solid #C8C8C8;
	border-right: 1px solid #C8C8C8;
	padding: 2px;
	cursor: pointer;

	padding: 5px;
}

html .sug_element a {
	text-decoration: none;
	color: #000000 !important;
}

html .sug_element:hover, .current_element {
	color: #000000 !important;
	background-color: #ECF5FA;
	font-weight: bold;
}

/* セクション別 背景色 + 背景アニメーション（グラデ移動・光線） */
.hasbg {
	position: relative;
	overflow: hidden;
	isolation: isolate
}

.hasbg> :not(.sec_bg) {
	position: relative;
	z-index: 1
}

.sec_bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden
}

.sec_bg::before {
	content: "";
	position: absolute;
	inset: -28%;
	background:
		radial-gradient(42% 42% at 26% 24%, var(--g1, rgba(23, 56, 99, .06)), transparent 72%),
		radial-gradient(36% 36% at 76% 66%, var(--g2, rgba(184, 146, 58, .05)), transparent 72%),
		radial-gradient(30% 30% at 58% 12%, var(--g3, rgba(23, 56, 99, .04)), transparent 72%);
	animation: secGlow 26s ease-in-out infinite alternate;
	will-change: transform
}

.sec_bg::after {
	content: "";
	position: absolute;
	inset: -15%;
	background: repeating-linear-gradient(115deg, transparent 0 54px, var(--ln, rgba(23, 56, 99, .55)) 54px 55px, transparent 55px 112px);
	opacity: var(--ln-op, .05);
	-webkit-mask-image: radial-gradient(78% 78% at 50% 42%, #000 38%, transparent 86%);
	mask-image: radial-gradient(78% 78% at 50% 42%, #000 38%, transparent 86%);
	animation: secLines 30s linear infinite;
	will-change: background-position
}

@keyframes secGlow {
	0% {
		transform: translate3d(0, 0, 0) scale(1)
	}

	50% {
		transform: translate3d(2.5%, -2%, 0) scale(1.07)
	}

	100% {
		transform: translate3d(-2%, 2.5%, 0) scale(1.02)
	}
}

@keyframes secLines {
	0% {
		background-position: 0 0
	}

	100% {
		background-position: 220px 0
	}
}

@media (prefers-reduced-motion:reduce) {
	.sec_bg::before, .sec_bg::after {
		animation: none
	}
}

/* per-section palette — 明確に異なる色でリズム（白→寒色→暖色→寒色→暖ニュートラル） */

.service.hasbg {
	background: #ffffff;
	--g1: rgba(184, 146, 58, .05);
	--g2: rgba(23, 56, 99, .045);
	--g3: rgba(184, 146, 58, .035);
	--ln: rgba(23, 56, 99, .35);
	--ln-op: .03
}

.trust_01.hasbg {
	background: #f8f2e8;
	--g1: rgba(184, 146, 58, .12);
	--g2: rgba(23, 56, 99, .05);
	--g3: rgba(184, 146, 58, .07);
	--ln: rgba(120, 90, 30, .55);
	--ln-op: .06
}

.company.hasbg {
	background: #f8f2e8;
	--g1: rgba(184, 146, 58, .10);
	--g2: rgba(23, 56, 99, .045);
	--g3: rgba(184, 146, 58, .06);
	--ln: rgba(120, 90, 30, .5);
	--ln-op: .05
}

.contact.hasbg {
	background: #ffffff;
	--g1: rgba(184, 146, 58, .05);
	--g2: rgba(23, 56, 99, .045);
	--g3: rgba(184, 146, 58, .035);
	--ln: rgba(23, 56, 99, .35);
	--ln-op: .03
}