@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
/* mainVisual */
.mainVisual {
	margin-bottom: -20rem;
	padding-top: 1.4rem;
	position: relative;
	z-index: 10;
	height: 72.328vw;
	min-height: 98.8rem;
	max-height: 145rem;
}
.mainVisual::after {
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	z-index: 1;
	content: "";
	clip-path: polygon(0 0, 100% 0, 100% 86.5%, 50% 100%, 0 86.5%);
	background: url(../img/index/main_img.jpg) no-repeat center top / cover;
}
.mainVisual .innerBox {
	padding: 0 2rem;
	margin: 0 auto;
	max-width: 113.5rem;
	position: relative;
	z-index: 2;
}
.mainVisual .innerBox .topBox .lTxt {
	font-size: 3rem;
	font-weight: 700;
	color: #005bac;
	width: 33rem;
	line-height: 1.47;
}
.mainVisual .innerBox .topBox .rTxt {
	text-align: right;
	color: #484747;
	font-size: 2.3rem;
	font-weight: 900;
	width: 44rem;
}
.mainVisual .innerBox .topBox .rTxt span {
	margin-top: 0.4rem;
	display: block;
	font-size: 1.9rem;
	font-weight: 500;
}
.mainVisual .subBox .linkArea {
	padding-bottom: 5rem;
	margin-bottom: 2rem;
	position: relative;
	z-index: 1;
	background: url(../img/common/icon01.png) no-repeat center bottom / 4.6rem;
}
.mainVisual .subBox .comLinkBox {
	margin: 0;
	position: absolute;
	z-index: 1;
	bottom: 2rem;
	left: -2.7rem;
	width: 28.3rem;
}
.mainVisual .subBox .comLinkBox a {
	padding: 1rem 1.3rem 1.3rem;
	align-items: flex-end;
}
.mainVisual .subBox .comLinkBox .phoBox {
	width: 8.2rem;
}
.mainVisual .subBox .comLinkBox .txtBox {
	margin-right: 0.8rem;
	font-size: 1.2rem;
	text-align: center;
}
.mainVisual .subBox .comLinkBox .txtBox .big {
	margin-top: 0.7rem;
	font-size: 2.6rem;
	line-height: 1.19;
}
.mainVisual .subBox {
	position: absolute;
	z-index: 2;
	left: 50%;
	transform: translateX(-50%);
	bottom: -0.4rem;
	width: 87.4rem;
}
.mainVisual .subBox .imgText {
	margin-left: calc(50% - 13.5rem);
	width: 50.9rem;
}
@media all and (max-width: 896px) {
	.mainVisual {
		padding-top: 4rem;
		margin-bottom: -10rem;
		min-height: 68rem;
	}
	.mainVisual::after {
		background-image: url(../img/index/main_img_sp.jpg);
		background-position: center bottom;
		clip-path: polygon(0 0, 100% 0, 100% 92%, 50% 100%, 0 92%);
	}
	.mainVisual .innerBox {
		padding: 0 1rem;
		max-width: 100%;
	}
	.mainVisual .innerBox .topBox {
		display: block;
	}
	.mainVisual .innerBox .topBox .lTxt {
		margin-bottom: 5rem;
		text-align: center;
		font-size: 1.8rem;
		width: auto;
	}
	.mainVisual .innerBox .topBox .rTxt {
		text-align: center;
		font-size: 1.8rem;
		width: auto;
	}
	.mainVisual .innerBox .topBox .rTxt span {
		margin-top: 0.4rem;
		font-size: 1.6rem;
	}
	.mainVisual .subBox .linkArea {
		padding-bottom: 3rem;
		margin-bottom: 1rem;
		background-size: 3rem auto;
	}
	.mainVisual .subBox .comLinkBox {
		position: static;
		margin: 0 auto;
		width: 24rem;
	}
	.mainVisual .subBox .comLinkBox a {
		padding: 0.5rem 1rem;
	}
	.mainVisual .subBox .comLinkBox .phoBox {
		width: 6rem;
	}
	.mainVisual .subBox .comLinkBox .txtBox {
		font-size: 1.2rem;
		text-align: left;
	}
	.mainVisual .subBox .comLinkBox .txtBox .big {
		font-size: 1.8rem;
	}
	.mainVisual .subBox {
		padding: 0 1.5rem;
		bottom: -18rem;
		width: 100%;
	}
	.mainVisual .subBox .imgText {
		width: 32rem;
		margin: 0 auto
	}
}
@media all and (min-width: 588px) and (max-width: 896px) {
	.mainVisual {
		min-height: 118vw;
	}
}
/* service */
#main .service {
	padding: 25rem 0 2.7rem;
	position: relative;
	z-index: 9;
}
#main .service::after {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "";
	background-color: #feecc1;
	clip-path: polygon(0 0, 100% 0, 100% 88.8%, 50% 100%, 0 88.8%);
}
#main .service .content {
	max-width: 89.5rem;
}
#main .service .headLine01::after {
	display: none;
}
#main .service .imgBox {
	margin-bottom: 4.4rem;
}
#main .service .imgBox .textBox {
	width: calc(50%);
}
#main .service .imgBox .textBox li:not(:last-child) {
	margin-bottom: 3rem;
}
#main .service .imgBox .textBox .ttl {
	margin-bottom: 0.7rem;
	padding: 1.1rem 0.7rem;
	width: fit-content;
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
	background-color: #0c335a;
}
#main .service .imgBox .textBox .txt {
	line-height: 1.875;
}
#main .service .imgBox .photoBox {
	width: 42.7rem;
}
#main .service .innerBox {
	align-items: center;
	border-radius: 1rem;
	overflow: hidden;
	background-color: #fff;
	border: 0.6rem solid #fff;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.16);
}
#main .service .innerBox .photoBox {
	width: 44.1rem;
}
#main .service .innerBox .textBox {
	margin-bottom: 2.7rem;
}
#main .service .innerBox .textBox p {
	margin-bottom: 3rem;
	font-size: 2rem;
	font-weight: 700;
}
#main .service .innerBox .textBox p:last-of-type {
	margin-bottom: 0;
}
@media all and (max-width: 896px) {
	#main .service {
		padding-top: 33rem;
	}
	#main .service::after {
		clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%);
	}
	#main .service .imgBox {
		margin-bottom: 4.4rem;
		display: block;
	}
	#main .service .imgBox .textBox {
		width: auto;
	}
	#main .service .imgBox .textBox li:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .service .imgBox .textBox .ttl {
		padding: 0.7rem;
		font-size: 1.6rem;
		width: auto;
	}
	#main .service .imgBox .photoBox {
		margin: 0 auto;
		width: 30rem;
	}
	#main .service .innerBox {
		display: block;
		border-width: 0.3rem;
	}
	#main .service .innerBox .photoBox {
		width: auto;
	}
	#main .service .innerBox .photoBox img {
		width: 100%;
	}
	#main .service .innerBox .textBox {
		padding: 2rem 1rem;
		margin-bottom: 0;
	}
	#main .service .innerBox .textBox p {
		margin-bottom: 1rem;
		font-size: 1.6rem;
	}
	#main .service .innerBox .textBox p:last-of-type {
		margin-bottom: 0;
	}
}
/* trouble */
#main .trouble {
	margin-bottom: -14rem;
	padding: 6rem 0 4.9rem;
	position: relative;
	z-index: 8;
	background-color: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 77.8%, 50% 100%, 0 77.8%);
}
#main .trouble .headLine01 {
	margin-bottom: 2.8rem;
}
#main .trouble .text {
	margin-bottom: 2.7rem;
	text-align: center;
	line-height: 1.875;
}
#main .trouble .troubleList {
	margin-bottom: 3.7rem;
}
#main .trouble .troubleList li {
	margin: 0 0.75rem;
	text-align: center;
	width: 16.8rem;
}
#main .trouble .troubleList p {
	margin-bottom: 0.8rem;
	padding: 1.1rem 0 1.4rem;
	position: relative;
	color: #fff;
	font-size: 1.4rem;
	background-color: #005bac;
	border-radius: 1rem;
}
#main .trouble .troubleList p::after {
	width: 2.2rem;
	height: 1.5rem;
	position: absolute;
	z-index: 1;
	top: 99.5%;
	left: 1.3rem;
	content: "";
	background: url(../img/common/icon03.png) no-repeat left top / 100%;
}
#main .trouble .troubleList img {
	height: 12.3rem;
}
@media all and (max-width: 896px) {
	#main .trouble {
		margin-bottom: -7rem;
		padding-top: 3rem;
		clip-path: polygon(0 0, 100% 0, 100% 94%, 50% 100%, 0 94%);
	}
	#main .trouble .text {
		margin-bottom: 2rem;
	}
	#main .trouble .troubleList {
		margin: -1rem 0 3.7rem;
		justify-content: space-between;
	}
	#main .trouble .troubleList li {
		margin: 1rem 0 0;
		width: 48%;
	}
	#main .trouble .troubleList p {
		margin: 0 auto 0.8rem;
		padding: 0.7rem 0;
	}
	#main .trouble .troubleList p::after {
		width: 2rem;
		z-index: 1;
		top: 99%;
	}
	#main .trouble .troubleList img {
		height: 10rem;
	}
}
/* choose */
#main .choose {
	margin-bottom: -14rem;
	padding: 20.2rem 0 6.8rem;
	position: relative;
	z-index: 7;
	background-color: #feecc1;
	clip-path: polygon(0 0, 100% 0, 100% 85%, 50% 100%, 0 85%);
}
#main .choose .headLine01 {
	margin-bottom: 3rem;
}
#main .choose .text {
	margin-bottom: 3.7rem;
	text-align: center;
}
#main .choose .chooseList {
	margin-bottom: 6.8rem;
}
#main .choose .chooseList li {
	margin: 0 1.85rem;
	width: 17.8rem;
	position: relative;
	text-align: center;
	background-color: #135bac;
	border-radius: 1rem;
	border: 0.4rem solid #135bac;
}
#main .choose .chooseList li::after {
	width: 3.2rem;
	height: 3.2rem;
	position: absolute;
	top: 33%;
	right: -2rem;
	content: "";
	background: url(../img/common/icon04.png) no-repeat left top / 100%;
}
#main .choose .chooseList li:last-child::after {
	display: none;
}
#main .choose .chooseList .pho {
	padding: 1.8rem 0 1.4rem;
	background-color: #fffbf0;
	border-radius: 0.7rem 0.7rem 0 0;
}
#main .choose .chooseList img {
	height: 9.2rem;
}
#main .choose .chooseList p {
	padding: 1rem 0;
	min-height: 6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.43;
	background-color: #135bac;
}
#main .choose .chooseList .li01 p {
	text-align: left;
}
@media all and (max-width: 896px) {
	#main .choose {
		margin-bottom: 0;
		padding: 10rem 0 8rem;
		clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%);
	}
	#main .choose .headLine01 {
		margin-bottom: 3rem;
	}
	#main .choose .text {
		margin-bottom: 2rem;
	}
	#main .choose .chooseList {
		margin: -2rem 0 3rem;
		display: block;
	}
	#main .choose .chooseList li {
		margin: 4rem 0 0;
		width: auto;
		border-radius: 0.5rem;
		border-width: 0.2rem;
	}
	#main .choose .chooseList li::after {
		width: 2.7rem;
		top: auto;
		bottom: -4rem;
		right: 0;
		left: 50%;
		transform: translateX(-50%);
		background-image: url(../img/common/icon04_sp.png);
	}
	#main .choose .chooseList .pho {
		padding: 1rem 0.5rem;
		border-radius: 0.2rem 0.2rem 0 0;
	}
	#main .choose .chooseList img {
		height: 6rem;
	}
	#main .choose .chooseList p {
		padding: 1rem 0;
		min-height: 100%;
	}
}
/* voice */
#main .voice {
	margin-bottom: -15rem;
	padding: 21.5rem 0 5rem;
	position: relative;
	z-index: 6;
	background-color: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 92.1%, 50% 100%, 0 92.1%);
}
#main .voice .text {
	margin-bottom: 5.5rem;
	text-align: center;
}
#main .voice .imgBox {
	margin: 0 auto 5.5rem;
	position: relative;
	max-width: 74.5rem;
}
#main .voice .imgBox .textBox {
	padding: 2.1rem 2.9rem;
	width: 59.3rem;
	min-height: 31.6rem;
	border-radius: 1rem;
	background-color: #fffbf0;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.16);
}
#main .voice .imgBox .textBox .sub {
	width: 32.4rem;
}
#main .voice .imgBox .textBox .ttl {
	margin-bottom: 1.7rem;
	min-height: 5rem;
	display: flex;
	align-items: center;
	color: #1eacd6;
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1.66;
}
#main .voice .imgBox .textBox .tag {
	margin-bottom: 1.7rem;
	padding: 0.4rem 0.2rem 0.2rem;
	width: 15.6rem;
	color: #fff;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 700;
	background-color: #005bac;
}
#main .voice .imgBox .textBox .txt {
	font-size: 1.2rem;
	line-height: 2.16;
}
#main .voice .imgBox .photoBox {
	width: 35.2rem;
	position: absolute;
	z-index: 2;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 1rem;
	box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.16);
}
#main .voice .imgBox .photoBox .pho {
	border-radius: 1rem;
	overflow: hidden;
}
#main .voice .imgBox .photoBox .imgtext {
	position: absolute;
	z-index: 1;
	bottom: -1.6rem;
	right: 1.2rem;
}
#main .voice .imgBox .photoBox .imgtext img {
	height: 7.3rem;
}
#main .voice .imgBox:nth-of-type(2n) .textBox {
	margin-left: auto;
}
#main .voice .imgBox:nth-of-type(2n) .textBox .sub {
	margin-left: auto;
}
#main .voice .imgBox:nth-of-type(2n) .photoBox {
	left: 0;
	right: auto;
}
#main .voice .imgBox:nth-of-type(2n) .photoBox .imgtext {
	right: auto;
	left: 2.2rem;
	bottom: -2.2rem;
}
#main .voice .imgBox01 .textBox .ttl {
	margin-bottom: 0.7rem;
}
#main .voice .imgBox01 .photoBox .imgtext {
	right: 1.7rem;
	bottom: -2.8rem;
}
@media all and (max-width: 896px) {
	#main .voice {
		margin-bottom: -10rem;
		padding: 3rem 0 8rem;
		clip-path: polygon(0 0, 100% 0, 100% 97%, 50% 100%, 0 97%);
	}
	#main .voice .text {
		margin-bottom: 3rem;
	}
	#main .voice .imgBox {
		padding: 1rem;
		margin: 0 auto 4rem;
		max-width: 100%;
		border-radius: 1rem;
		background-color: #fffbf0;
		box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.16);
	}
	#main .voice .imgBox .textBox {
		padding: 2.1rem 1rem;
		width: auto;
		min-height: 100%;
		border-radius: 0;
		background-color: transparent;
		box-shadow: none;
	}
	#main .voice .imgBox .textBox .sub {
		width: auto;
	}
	#main .voice .imgBox .textBox .ttl {
		min-height: 100%;
		display: block;
		font-size: 1.6rem;
	}
	#main .voice .imgBox .photoBox {
		margin-bottom: 1rem;
		width: auto;
		position: static;
		transform: translateY(0);
	}
	#main .voice .imgBox .photoBox .imgtext {
		left: auto !important;
		bottom: -1.6rem !important;
		right: 1.2rem !important;
	}
	#main .voice .imgBox .photoBox .pho img {
		width: 100%;
	}
}
/* achievements */
#main .achievements {
	margin-bottom: -14rem;
	padding: 21rem 0 4.8rem;
	position: relative;
	z-index: 5;
	background-color: #feecc1;
	clip-path: polygon(0 0, 100% 0, 100% 90.7%, 50% 100%, 0 90.7%);
}
#main .achievements .headLine01 {
	margin-bottom: 3.2rem;
}
#main .achievements .text {
	margin-bottom: 3.5rem;
	text-align: center;
}
#main .achievements .imgtext {
	margin: 0 auto 8.1rem;
	max-width: 94.7rem;
}
#main .achievements h3 {
	margin-bottom: 3.5rem;
	text-align: center;
	font-size: 4rem;
	font-weight: 900;
}
#main .achievements .achievementsList {
	margin-bottom: 7.2rem;
}
#main .achievements .achievementsList li {
	padding: 1px 0;
	margin: 0 1.1rem;
	width: 15rem;
	position: relative;
	text-align: center;
	background-color: #ff0;
	border-radius: 1rem;
	border: 0.4rem solid #135bac;
}
#main .achievements .achievementsList li::after {
	width: 3.2rem;
	height: 3.2rem;
	position: absolute;
	z-index: 1;
	top: 37%;
	right: -2rem;
	content: "";
	background: url(../img/common/icon04.png) no-repeat left top / 100%;
}
#main .achievements .achievementsList li:last-child::after {
	display: none;
}
#main .achievements .achievementsList .ttl {
	margin: -1.7rem auto 1.7rem;
	padding: 0.4rem 0;
	display: block;
	width: 9.8rem;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	background-color: #005bac;
	border-radius: 1rem;
}
#main .achievements .achievementsList img {
	margin-bottom: 1rem;
	width: 7.2rem;
}
#main .achievements .achievementsList .txt {
	margin: 0 auto -3rem;
	width: 9.8rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 7.4rem;
	color: #fff;
	background-color: #005bac;
	border-radius: 1rem;
}
@media all and (max-width: 896px) {
	#main .achievements {
		margin-bottom: -8rem;
		padding: 13rem 0 7rem;
		clip-path: polygon(0 0, 100% 0, 100% 96%, 50% 100%, 0 96%);
	}
	#main .achievements .imgtext {
		margin-bottom: 5rem;
		max-width: 34.5rem;
	}
	#main .achievements h3 {
		margin-bottom: 3.5rem;
		font-size: 3rem;
	}
	#main .achievements .achievementsList {
		margin: -4.5rem 0 5rem;
		display: block;
	}
	#main .achievements .achievementsList li {
		margin: 7.5rem auto 0;
		width: auto;
		border-radius: 0.5rem;
		border-width: 0.2rem;
	}
	#main .achievements .achievementsList li::after {
		width: 3rem;
		height: 3rem;
		top: auto;
		bottom: -5.8rem;
		left: 50%;
		transform: translateX(-50%);
		right: auto;
		background-image: url(../img/common/icon04_sp.png);
	}
	#main .achievements .achievementsList .ttl {
		width: 15rem;
		font-size: 1.4rem;
		border-radius: 1.5rem;
	}
	#main .achievements .achievementsList img {
		margin-bottom: 1rem;
		width: 5rem;
	}
	#main .achievements .achievementsList .txt {
		margin: 0 2rem -2rem;
		width: auto;
		min-height: 4rem;
	}
}
/* benefits*/
#main .benefits {
	margin-bottom: -14rem;
	padding: 18.3rem 0 6.4rem;
	position: relative;
	z-index: 4;
	background: url(../img/index/benefits_bg.jpg) no-repeat center bottom / 260rem auto;
	clip-path: polygon(0 0, 100% 0, 100% 90.3%, 50% 100%, 0 90.2%);
}
#main .benefits h2 {
	margin-bottom: 7.8rem;
	text-align: center;
	color: #0c335a;
	font-size: 4rem;
	font-weight: 900;
	line-height: 1.4;
}
#main .benefits .textList {
	margin-bottom: 8.6rem;
}
#main .benefits .textList li {
	margin: 0 1.5rem 2.4rem auto;
	padding: 6.5rem 5.5rem 6.3rem 6.3rem;
	width: 54.2rem;
	border-radius: 50%;
	background-color: #47acab;
}
#main .benefits .textList li:nth-child(2) {
	padding: 6.8rem 3.8rem 8.4rem;
	margin: 0 23.2rem 2.8rem auto;
	width: 42.1rem;
}
#main .benefits .textList li:nth-child(3) {
	padding: 6.3rem 1.8rem 5.7rem 4.2rem;
	margin-right: 0;
	width: 37.7rem;
}
#main .benefits .textList p {
	color: #fff;
	font-size: 2rem;
	line-height: 2;
}
@media all and (max-width: 896px) {
	#main .benefits {
		margin-bottom: -8rem;
		padding: 12rem 0 9rem;
		background: url(../img/index/benefits_bg.jpg) no-repeat left calc(50% + 7rem) bottom / auto 100%;
		clip-path: polygon(0 0, 100% 0, 100% 92%, 50% 100%, 0 92%);
	}
	#main .benefits h2 {
		margin-bottom: 4rem;
		font-size: 2.1rem;
	}
	#main .benefits .textList {
		margin: 0 auto 5rem;
		max-width: 50rem;
	}
	#main .benefits .textList li {
		margin: 0 -1rem 3rem auto;
		padding: 3rem 3rem;
		width: 25rem;
	}
	#main .benefits .textList li:nth-child(2) {
		padding: 3rem 2rem;
		margin-right: 3rem;
		width: 20rem;
	}
	#main .benefits .textList li:nth-child(3) {
		padding: 3rem 1.5rem;
		width: 17rem;
	}
	#main .benefits .textList p {
		font-size: 1.2rem;
		line-height: 1.5;
	}
}
/* faq */
#main .faq {
	padding: 19.3rem 0 4.7rem;
	position: relative;
	z-index: 3;
	background-color: #feecc1;
	clip-path: polygon(0 0, 100% 0, 100% 92.3%, 50% 100%, 0 92.3%);
}
#main .faq .content {
	max-width: 87.4rem;
}
#main .faq .headLine01 {
	margin-bottom: 4.6rem;
}
#main .faq .headLine01::after {
	display: none;
}
#main .faq dl {
	margin-bottom: 7rem;
}
#main .faq dl:last-of-type {
	margin-bottom: 9rem;
}
#main .faq dt {
	margin-bottom: 2.1rem;
	padding: 0 0.5rem;
	color: #222;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#main .faq dt .en {
	margin-right: 2rem;
	width: 4rem;
	display: inline-block;
}
#main .faq dt .txt {
	flex: 1;
}
#main .faq dd {
	padding: 1.3rem 1.8rem 3rem;
	border-top: 0.2rem solid #fc7f26;
	background-color: #fff;
}
#main .faq dd .ttl {
	margin-bottom: 1.3rem;
	color: #222;
	font-size: 2.6rem;
	letter-spacing: 0.05em;
}
#main .faq dd .txt {
	color: #222;
	line-height: 2.125;
	letter-spacing: 0.03em;
}
@media all and (max-width: 896px) {
	#main .faq {
		padding: 11rem 0 6rem;
		clip-path: polygon(0 0, 100% 0, 100% 97%, 50% 100%, 0 97%);
	}
	#main .faq .headLine01 {
		margin-bottom: 3rem;
	}
	#main .faq dl {
		margin-bottom: 3rem;
	}
	#main .faq dl:last-of-type {
		margin-bottom: 4rem;
	}
	#main .faq dt {
		margin-bottom: 2.1rem;
		font-size: 1.6rem;
	}
	#main .faq dt .en {
		margin-right: 0;
	}
	#main .faq dd {
		padding: 1.3rem 1.8rem 3rem;
	}
	#main .faq dd .ttl {
		margin-bottom: 0.5rem;
		font-size: 1.8rem;
	}
	#main .faq dd .txt {
		line-height: 1.8;
	}
}
/* contact */
#main .contact {
	padding: 5.1rem 0;
}
#main .contact .content {
	max-width: 90.9rem;
}
#main .contact .headLine01 {
	margin-bottom: 3.3rem;
}
#main .contact .headLine01::after {
	display: none;
}
#main .contact dl {
	margin-top: 1rem;
	padding: 0.9rem 0.95rem;
	min-height: 6rem;
	display: flex;
	word-break: break-all;
	background-color: #f2f2f2;
}
#main .contact dl:first-of-type {
	margin-top: 0;
}
#main .contact dt {
	padding: 0.2rem 0.5rem 0.2rem 3.5rem;
	width: 18.8%;
	position: relative;
	display: flex;
	align-items: center;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	color: #222;
	font-weight: 700;
}
#main .contact dt .must {
	padding-bottom: 0.1rem;
	width: 2.7rem;
	position: absolute;
	z-index: 1;
	top: 50%;
	transform: translateY(-50%);
	left: 0.3rem;
	text-align: center;
	color: #fff;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	background-color: #d53030;
}
#main .contact dd {
	flex: 1;
	display: flex;
	align-items: center;
}
#main .contact input[type="text"],
#main .contact input[type="email"], 
#main .contact input[type="tel"],
#main .contact textarea {
	padding: 1rem 1.7rem;
	width: 100%;
	height: 4.2rem;
	color: #222;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	border-radius: 0;
	border: 1px solid #fff;
	box-sizing: border-box;
	box-shadow: none;
	background-color: #fff;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
} 
#main .contact textarea {
	min-height: 16.1rem;
	resize: vertical;
}
#main .contact .notes {
	margin-top: 0.2rem;
	color: #222;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}
#main .mailForm input::-webkit-input-placeholder,
#main .mailForm textarea::-webkit-input-placeholder { 
	color: #d3d3d3;
	opacity: 1;
}
#main .mailForm input:-moz-placeholder,
#main .mailForm textarea:-moz-placeholder {
	color: #d3d3d3;
	opacity: 1;
}
#main .mailForm input::-moz-placeholder,
#main .mailForm textarea::-moz-placeholder {
	color: #d3d3d3;
	opacity: 1;
}
#main .mailForm input:-ms-input-placeholder,
#main .mailForm textarea:-ms-input-placeholder {
	color: #d3d3d3;
	opacity: 1;
}
#main .contact .checkList {
	margin: 0 2rem;
	display: flex;
	flex-wrap: wrap;
}
#main .contact .checkList li {
	margin-right: 3rem;
	width: fit-content;
}
#main .contact .checkList li:last-child {
	margin-right: 0;
}
#main .contact input[type="checkbox"] {
	display: none;
}
#main .contact label {
	cursor: pointer;
}
#main .contact dl input[type="checkbox"] ~ span {
	padding-left: 1.3rem;
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: #222;
	background: url(../img/common/check_img01.png) no-repeat left center / 1.2rem;
}
#main .contact dl input[type="checkbox"]:checked ~ span {
	background-image: url(../img/common/check_img01_on.png);
}
#main .contact .mailForm .text {
	margin: 2rem 0 5.5rem;
	color: #222;
	letter-spacing: 0.03em;
	line-height: 2.125;
}
#main .contact .mailForm .text a {
	text-decoration: underline;
	color: #0064FF;
}
#main .contact .mailForm .text a:hover {
	opacity: 0.7;
}
#main .contact .agreeText {
	margin-bottom: 2.5rem;
	text-align: center;
}
#main .contact .agreeText input[type="checkbox"] ~ span {
	padding-left: 4.4rem;
	display: inline-block;
	font-size: 2.4rem;
	font-weight: 500;
	color: #222;
	background: url(../img/common/check_img02.png) no-repeat left center / 3.4rem;
}
#main .contact .agreeText input[type="checkbox"]:checked ~ span {
	background-image: url(../img/common/check_img02_on.png);
}
#main .mailForm .submit li {
	margin: 0 2rem;
}
#main .mailForm .submit input {
    width: 35.4rem;
    padding: 1.3rem 0;
    text-align: center;
	color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
	font-family: YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background-color: #ff7f00;
	border-radius: 3rem;
	box-shadow: none;
	box-sizing: border-box;
	border: 0;
	cursor: pointer;
	appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
	transition: .3s;
}
#main .contact .errorMsg {
	margin-bottom: 1.5rem;
	color: #f00000;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

#main .mailForm .select {
  display: block;
	color: #222;
  position: relative;
	width: 100%;
}
#main .mailForm .select::before {
  content: "";
	position: absolute;
	top: 16px;
	right: 20px;
	border-bottom: 1px solid #222;
	border-right: 1px solid #222;
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
}
#main .mailForm .select select {
  appearance: none;
  border: none;
  outline: 0;
  padding: 8px 20px;
  padding-right: 3em;
	height: 4.2rem;
	width: 100%;
}
#main .mailForm .select select::-ms-expand {
  display: none;
}

@media all and (min-width: 897px) {
	#main .mailForm .submit input:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .contact {
		padding: 4rem 0;
	}
	#main .contact .headLine01 {
		margin-bottom: 2rem;
	}
	#main .contact dl {
		margin-top: 1rem;
		padding: 0.9rem 0.95rem;
		min-height: 6rem;
		display: block;
	}
	#main .contact dt {
		padding: 0.2rem 0.5rem 1rem 3.5rem;
		width: auto;
		display: block;
	}
	#main .contact dt .must {
		top: 0.7rem;
		transform: translateY(0);
	}
	#main .contact dd {
		display: block;
	}
	#main .contact .checkList {
		display: block;
	}
	#main .contact .checkList li {
		margin: 0 0 1rem;
		width: fit-content;
	}
	#main .contact .checkList li:last-child {
		margin-bottom: 0;
	}
	#main .contact input[type="text"], 
	#main .contact input[type="email"], 
	#main .contact input[type="tel"], 
	#main .contact textarea {
		padding: 0.5rem 1rem;
	}
	#main .contact dl input[type="checkbox"] ~ span {
		padding-left: 1.8rem;
	}
	#main .contact .mailForm .text {
		margin: 1rem 0 3rem;
	}
	#main .contact .agreeText {
		margin-bottom: 2.5rem;
	}
	#main .contact .agreeText input[type="checkbox"] ~ span {
		padding-left: 4rem;
		font-size: 1.8rem;
		background-size: 2.5rem auto;
	}
	#main .mailForm .submit {
		display: block;
	}
	#main .mailForm .submit li {
		margin: 0 0 2rem;
		text-align: center;
	}
	#main .mailForm .submit li:last-child {
		margin-bottom: 0;
	}
	#main .mailForm .submit input {
		width: 30rem;
	}
	#main .contact .dl02 input::placeholder {
		font-size: 1rem;
	}
	#main .contact .special dt {
		/* padding-left: 0.5rem; */
	}
}
/* privacy */
#main .privacy {
	padding: 6.7rem 0 5rem;
}
#main .privacy h2 {
	margin-bottom: 4.1rem;
	text-align: center;
	color: #484747;
	font-weight: 900;
	font-size: 2.8rem;
}
#main .privacy .textBox {
	margin-bottom: 3.1rem;
}
#main .privacy .textBox h3 {
	font-size: 1.9rem;
	font-weight: 700;
}
#main .privacy .textBox .text {
	font-weight: 400;
	line-height: 1.875;
}
@media all and (max-width: 896px) {
	#main .privacy {
		padding: 2rem 0;
	}
	#main .privacy h2 {
		margin-bottom: 3rem;
		font-size: 2.2rem;
	}
	#main .privacy .textBox {
		margin-bottom: 2rem;
	}
	#main .privacy .textBox h3 {
		font-size: 1.6rem;
	}
}
/* sns */
#main .sns {
	padding: 5rem 0 1.3rem;
}
#main .sns .headLine01 {
	margin-bottom: 1.8rem;
	padding-bottom: 0;
}
#main .sns .headLine01 .en {
	margin-bottom: 1.5rem;
}
#main .sns .headLine01 .jp {
	font-size: 2rem;
	font-weight: 900;
	color: #484747;
}
#main .sns .headLine01::after {
	display: none;
}
#main .sns .linkBox {
	margin: 0 auto 7.6rem;
	max-width: 48.1rem;
	position: relative;
	border: 1px solid #707070;
}
#main .sns .linkBox .tiktok-embed {
	margin: 0 auto;
	width: 100%;
	height: 100%;
}
#main .sns .comLinkBox {
	margin-bottom: 3.5rem;
}
@media all and (max-width: 896px) {
	#main .sns .headLine01 {
		margin-bottom: 2.5rem;
	}
	#main .sns .headLine01 .jp {
		font-size: 1.6rem;
	}
	#main .sns .linkBox {
		margin-bottom: 4rem;
		max-width: 100%;
	}
	#main .sns .comLinkBox {
		margin-bottom: 3.5rem;
	}
}
/* confirm */
#main .confirm {
	padding: 1.3rem 0 4.5rem;
}
#main .confirm h2 {
	margin-bottom: 6rem;
	text-align: center;
	color: #3e3a39;
	font-size: 2.2rem;
	font-size: 500;
	letter-spacing: 0.1em;
}
#main .confirm h2 span {
	margin-bottom: 1.7rem;
	display: block;
	font-size: 5.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#main .confirm dl {
	padding: 1.5rem 0.95rem;
}
#main .confirm .dlBox {
	margin-bottom: 7.6rem;
}
#main .confirm dd {
	padding: 0 2.5rem 0 1.5rem;
	color: #484747;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 2;
	letter-spacing: 0.05em;
}
#main .confirm .checkList {
	margin: 0;
}
#main .confirm .submit input {
	padding: 2rem;
	font-size: 2rem;
	font-weight: 500;
	font-family: "Noto Sans JP", sans-serif;
	border-radius: 3.6rem;
}
@media all and (max-width: 896px) {
	#main .confirm {
		padding: 1.3rem 0 4.5rem;
	}
	#main .confirm h2 {
		margin-bottom: 3rem;
		font-size: 1.8rem;
	}
	#main .confirm h2 span {
		margin-bottom: 1.7rem;
		font-size: 4rem;
	}
	#main .confirm dl {
		padding: 1.5rem 0.95rem;
	}
	#main .confirm .dlBox {
		margin-bottom: 4rem;
	}
	#main .confirm dt {
		padding: 0.2rem 0.5rem 1rem 1rem;
	}
	#main .confirm dd {
		padding: 0 1rem;
	}
}
/* thanksBox */
#main .thanksBox {
	padding: 1.3rem 0 3.6rem;
	min-height: calc(100vh - 21.7rem);
}
#main .thanksBox h2 {
	margin-bottom: 1.6rem;
	text-align: center;
	color: #3e3a39;
	font-size: 5.7rem;
	letter-spacing: 0.1em;
}
#main .thanksBox .txt {
	margin-bottom: 10.7rem;
	color: #3e3a39;
	text-align: center;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	line-height: 1.48;
}
#main .thanksBox .back {
	margin: 0 auto;
	width: 37.9rem;
}
#main .thanksBox .back a {
	padding: 2.1rem 0;
	display: block;
	border-radius: 3.6rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.1em;
	background-color: #ff7f00;
}
#main .thanksBox .back a:hover {
	opacity: 0.7;
}
@media all and (max-width: 896px) {
	#main .thanksBox {
		padding: 10rem 0;
		min-height: calc(100vh - 16.05rem);
	}
	#main .thanksBox h2 {
		margin-bottom: 1.6rem;
		font-size: 4rem;
	}
	#main .thanksBox .txt {
		margin-bottom: 7rem;
		font-size: 1.8rem;
	}
	#main .thanksBox .back {
		width: 30rem;
	}
}