@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .pink {
	color: #d47070;
}
/* mainVisual */
.mainVisual {
	padding-bottom: 8rem;
	position: relative;
	z-index: 1;
}
.mainVisual .bg {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	background-color: #fff;
	max-width: 172rem;
	width: 100%;
	height: 100%;
	content: "";
}
.mainVisual::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 43.2%;
	content: "";
	background-color: #F2F2F2;
	z-index: -1;
}
.mainVisual .imgBox {
	padding-left: 2rem;
	margin-left: auto;
	position: relative;
	z-index: 2;
	max-width: calc(50% + 72rem);
}
.mainVisual .imgBox .textBox {
	padding-bottom: 5.5rem;
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.mainVisual .imgBox .textBox h2 {
	margin: 0 0 9rem -2.7rem;
	width: 62.5rem;
}
.mainVisual .imgBox .textBox .imgtext {
	width: 59.4rem;
}
.mainVisual .imgBox .photoBox {
	position: relative;
	margin-left: auto;
	width: 73.5%;
}
.mainVisual .imgBox .photoBox img {
	width: 100%;
}
.mainVisual .imgBox .photoBox ul {
	position: absolute;
	bottom: 5rem;
	left: 0;
	right: 25.2rem;
	z-index: 1;
	gap: 2rem 2.8rem;
}
.mainVisual .imgBox .photoBox li {
	width: 19.9rem;
}
@media all and (max-width: 896px) {
	.mainVisual {
		padding: 2rem 0 0;
	}
	.mainVisual .bg {
		width: calc(100% - 4rem);
	}
	.mainVisual::after {
		height: 43.2%;
	}
	.mainVisual .imgBox {
		display: block;
		padding: 0;
		width: auto;
	}
	.mainVisual .imgBox .textBox {
		margin-bottom: 3rem;
		padding-bottom: 0;
		position: static;
		transform: translateY(0);
	}
	.mainVisual .imgBox .textBox h2 {
		margin: 0 auto 2rem;
		width: 22rem;
	}
	.mainVisual .imgBox .textBox .imgtext {
		margin: 0 auto;
		width: 25rem;
	}
	.mainVisual .imgBox .photoBox {
		margin-left: auto;
		width: auto;
	}
	.mainVisual .imgBox .photoBox ul {
		bottom: 1rem;
		right: 0;
		gap: 2rem 1%;
	}
	.mainVisual .imgBox .photoBox li {
		width: 20%;
	}
}
/* trouble */
#main .trouble {
	padding: 6rem 0;
	background-color: #F2F2F2;
}
#main .trouble .content {
	max-width: 148rem;
}
#main .trouble .h_title {
	position: relative;
	padding-bottom: 0.3rem;
	margin: 0 auto 6.7rem;
	width: fit-content;
	font-size: 4.8rem;
	font-weight: 400;
	color: #261a18;
	letter-spacing: -0.1em;
}
#main .trouble .h_title::after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 1.1rem;
	background: url(../img/index/features_line.png) no-repeat center top / auto 1.1rem;
	content: "";
	z-index: 1;
}
#main .trouble .h_title .pink {
	font-size: 6rem;
}
#main .trouble .outBox {
	padding-bottom: 10rem;
	position: relative;
	background: url(../img/index/trouble_icon01.png) no-repeat center bottom / 21.4rem;
}
#main .trouble .image {
	position: absolute;
	top: 50%;
	transform: translateY(-64%);
	z-index: 1;
}
#main .trouble .image01 {
	left: 0;
	width: 36.2rem;
}
#main .trouble .image02 {
	width: 29.2rem;
	right: 0;
	transform: translateY(-69.9%);
}
#main .trouble ul {
	position: relative;
	z-index: 2;
	margin: 0 auto;
	max-width: 91rem;
	gap: 2.1rem 0;
}
#main .trouble ul li {
	width: 51.4%;
}
#main .trouble ul li:nth-child(2n) {
	margin-right: -5.5rem;
	width: calc(48.6% + 5.5rem);
}
#main .trouble ul .text {
	position: relative;
	padding: 1.4rem 1.7rem 1.5rem 4rem; 
	display: inline-block;
	background-color: #fff;
	border-radius: 3rem;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#main .trouble ul .text::after {
	position: absolute;
	top: -0.6rem;
	left: 0.3rem;
	width: 2.5rem;
	height: 2.8rem;
	content: "";
	background: url(../img/index/trouble_icon02.png) no-repeat left top / 100%;
	z-index: 1;
}
@media all and (max-width: 896px) {
	#main .trouble {
		padding: 4rem 0 8rem;
	}
	#main .trouble .h_title {
		margin-bottom: 4rem;
		font-size: 2.2rem;
	}
	#main .trouble .h_title .pink {
		font-size: 3.2rem;
	}
	#main .trouble .outBox {
		padding-bottom: 5rem;
		background-size: 7rem auto;
	}
	#main .trouble .image {
		top: auto;
		transform: translateY(0) !important;
		bottom: -8rem;
	}
	#main .trouble .image01 {
		width: 8rem;
	}
	#main .trouble .image02 {
		width: 7rem;
	}
	#main .trouble ul {
		max-width: 100%;
		display: block;
	}
	#main .trouble ul li {
		margin-bottom: 1rem;
		width: auto !important;
	}
	#main .trouble ul li:last-child {
		margin-bottom: 0;
	}
	#main .trouble ul li:nth-child(2n) {
		margin-right: 0;
	}
	#main .trouble ul .text {
		padding-right: 1rem; 
		font-size: 1.5rem;
		display: block;
	}
}
/* features */
#main .features {
	overflow: hidden;
	padding: 11rem 0 13rem;
	position: relative;
	background: #F2F2F2 url(../img/index/features_bg01.png) no-repeat left top / 100% auto;
}
#main .features::after {
	position: absolute;
	top: 80.2rem;
	left: 0;
	width: 100%;
	bottom: 0;
	content: "";
	z-index: 1;
	mix-blend-mode: multiply;
	background-color: rgba(255, 255, 255, 0.46);
}
#main .features .content {
	position: relative;
	z-index: 2;
	max-width: 176rem;
}
#main .features .headline01 {
	padding-bottom: 2.5rem;
	position: relative;
}
#main .features .headline01::after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 1.1rem;
	background: url(../img/index/features_line.png) no-repeat top center / auto 1.1rem;
	content: "";
	z-index: 1;
}
#main .features .featuresUl {
	margin: 0 auto 17.5rem;
	max-width: 120rem;
	gap: 4rem 2.45%;
}
#main .features .featuresUl li {
	position: relative;
	padding: 0 0.5rem 3.5rem;
	width: 31.7%;
	background-color: #fff;
	box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.02);
	font-family: "Zen Old Mincho", serif;
}
#main .features .featuresUl .num {
	padding-bottom: 0.5rem;
	width: fit-content;
	position: absolute;
	top: -4.5rem;
	left: 1.3rem;
	z-index: 1;
	font-size: 5.2rem;
	color: #d47070;
	background: url(../img/index/features_icon01.png) no-repeat center bottom / 1.2rem;
}
#main .features .featuresUl .image {
	margin:  3rem auto 0.5rem;
	width: 11.5rem;
}
#main .features .featuresUl .text {
	text-align: center;
	font-size: 3rem;
	color: #d47070;
	line-height: 1.2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
}
#main .features .featuresUl .text .sml {
	display: block;
	font-size: 1.8rem;
}
#main .features .featuresUl .text .big {
	font-weight: 700;
	font-size: 3.6rem;
}
#main .features .featuresUl .text .big01 {
	font-size: 4.8rem;
}
#main .features .featuresUl .li01 .image {
	margin-bottom: 2.3rem;
}
#main .features .imgBox {
	margin-bottom: 29.7rem;
	max-width: 158rem;
	align-items: flex-start;
	gap: 6rem;
}
#main .features .imgBox:last-of-type {
	margin-bottom: 0;
}
#main .features .imgBox .photoBox {
	position: relative;
	z-index: 2;
	width: 54.37%;
}
#main .features .imgBox .photo {
	position: relative;
}
#main .features .imgBox .photoBox img {
	width: 100%;
}
#main .features .imgBox .photo .img01 {
	position: absolute;
	width: 41.4rem;
	right: 8.5rem;
	bottom: 0;
	z-index: 1;
}
#main .features .imgBox .name {
	position: absolute;
	top: -9.1rem;
	right: 28.5rem;
	width: 31.4rem;
}
#main .features .imgBox .en {
	position: absolute;
	bottom: -7.8rem;
	right: 2.7rem;
	z-index: 1;
	width: 3.2rem;
}
#main .features .imgBox .textBox {
	position: relative;
	z-index: 1;
	flex: 1;
}
#main .features .imgBox .textBox .sub {
	max-width: 56rem;
}
#main .features .imgBox .textBox .title {
	margin-bottom: 7.5rem;
	color: #d47070;
	font-weight: 400;
	font-size: 4.8rem;
	line-height: 1.2;
	max-width: 63rem;
}
#main .features .imgBox .textBox .outBox {
	padding-right: 2rem;
	position: relative;
	z-index: 1;
}
#main .features .imgBox .textBox .outBox::before {
	position: absolute;
	top: -5rem;
	bottom: -5.2rem;
	right: 0;
	width: 132rem;
	background-color: #fff;
	content: "";
	z-index: -1;
	box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.01);
}
#main .features .imgBox .textBox .text {
	position: relative;
	padding-bottom: 3.2rem;
	margin-bottom: 3rem;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 2;
}
#main .features .imgBox .textBox .text::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 5rem;
	height: 1px;
	background-color: #999999;
	content: "";
	z-index: 1;
}
#main .features .imgBox .textBox .infoBox {
	gap: 4rem;
}
#main .features .imgBox .textBox .infoBox .lBox {
	width: 21.3rem;
}
#main .features .imgBox .textBox .infoBox .rBox {
	flex: 1;
}
#main .features .imgBox .textBox .infoBox p {
	line-height: 1.8;
	letter-spacing: 0.1em;
}
#main .features .imgBox .textBox .infoBox li {
	padding-left: 4.1em;
	text-indent: -4.1em;
	line-height: 1.8;
	letter-spacing: 0.1em;
} 
#main .features .imgBox.reverse {
	margin-left: auto;
	flex-direction: row-reverse;
}
#main .features .imgBox.reverse .name {
	left: 6rem;
	right: auto;
}
#main .features .imgBox.reverse .photo .img01 {
	right: auto;
	left: 16rem;
	width: 32.1rem;
}
#main .features .imgBox.reverse .en {
	right: auto;
	left: 2.5rem;
	bottom: -18rem;
	width: 3.9rem;
}
#main .features .imgBox.reverse .textBox .title {
	margin: 0 -2rem 7.5rem auto;
	max-width: 56rem;
}
#main .features .imgBox.reverse .textBox .sub {
	margin: 0 -2rem 0 auto;
}
#main .features .imgBox.reverse .textBox .outBox {
	padding: 0 0 0 2rem;
}
#main .features .imgBox.reverse .textBox .outBox::before {
	right: auto;
	left: 0;
}
#main .features .innerBox {
	position: relative;
	background: url(../img/index/features_bg02.png) no-repeat right top calc(50% + 13.3rem) / 68.7% auto;
}
@media all and (max-width: 896px) {
	#main .features {
		padding: 4rem 0;
	}
	#main .features::after {
		top: 0;
	}
	#main .features .headline01 {
		padding-bottom: 1rem;
		border-bottom: 0;
	}
	#main .features .featuresUl {
		margin-bottom: 10vw;
		max-width: 100%;
		display: block;
	}
	#main .features .featuresUl li {
		margin-bottom: 3rem;
		padding: 1px 0.5rem 3.5rem;
		width: auto;
	}
	#main .features .featuresUl li:last-child {
		margin-bottom: 0;
	}
	#main .features .featuresUl .num {
		padding-bottom: 1rem;
		top: -3.2rem;
		font-size: 3.5rem;
	}
	#main .features .featuresUl .image {
		width: 8rem;
	}
	#main .features .featuresUl .text {
		font-size: 2rem;
	}
	#main .features .featuresUl .text .sml {
		font-size: 1.6rem;
	}
	#main .features .featuresUl .text .big {
		font-size: 2.5rem;
	}
	#main .features .featuresUl .text .big01 {
		font-size: 2.5rem;
	}
	#main .features .imgBox {
		margin-bottom: 10vw;
		max-width: 100%;
		display: block;
	}
	#main .features .imgBox .photoBox {
		margin-bottom: 2rem;
		width: auto;
	}
	#main .features .imgBox .photo .img01 {
		width: 40vw;
		right: 22.667vw;
	}
	#main .features .imgBox .name {
		top: -5.333vw;
		left: 5.333vw;
		right: auto;
		width: 45.333vw;
	}
	#main .features .imgBox .en {
		top: 2.667vw;
		bottom: auto;
		right: 2.667vw;
		width: 4vw;
	}
	#main .features .imgBox .textBox {
		padding: 2rem 1.5rem;
		background-color: #fff;
		box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.02);
	}
	#main .features .imgBox .textBox .sub {
		max-width: 100%;
	}
	#main .features .imgBox .textBox .title {
		margin: 0 0 2rem !important;
		font-size: 2.2rem;
		max-width: 100% !important;
	}
	#main .features .imgBox .textBox .outBox {
		padding-right: 0;
	}
	#main .features .imgBox .textBox .outBox::before {
		display: none;
	}
	#main .features .imgBox .textBox .text {
		padding-bottom: 1.5rem;
		margin-bottom: 1.5rem;
		font-size: 1.4rem;
	}
	#main .features .imgBox .textBox .infoBox {
		display: block;
	}
	#main .features .imgBox .textBox .infoBox .lBox {
		width: auto;
		margin-bottom: 2rem;
	}
	#main .features .imgBox.reverse .name {
		left: 10.667vw;
		right: auto;
	}
	#main .features .imgBox.reverse .photo .img01 {
		right: auto;
		left: 42.667vw;
		width: 37.333vw;
	}
	#main .features .imgBox.reverse .en {
		right: auto;
		left: 2.667vw;
		bottom: auto;
		top: 5.333vw;
		width: 5.333vw;
	}
	#main .features .imgBox.reverse .textBox .sub {
		margin: 0;
	}
	#main .features .imgBox.reverse .textBox .outBox {
		padding: 0;
	}
	#main .features .imgBox.reverse .textBox .outBox::before {
		right: auto;
		left: 0;
	}
	#main .features .innerBox {
		background-size: 90% 80%;
	}
}
/* case */
#main .comBg {
	padding-bottom: 5.5rem;
	background: url(../img/index/case_bg.jpg) repeat-y left top / 100% 236.8rem;
}
#main .case {
	padding: 7.3rem 0;
	margin-top: 8rem;
	background: url(../img/index/case_photo01.jpg) no-repeat left top / 100% auto;
}
#main .case .content {
	max-width: 148rem;
}
#main .case .headline01 {
	margin-bottom: 5.7rem;
	letter-spacing: 0.05em;
}
#main .case .headline01 .jp {
	text-shadow: 0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1),0 0 1.5rem rgba(255, 255, 255, 1);
}
#main .case .innerBox {
	padding: 7.7rem 2rem 6rem;
	background-color: #fff;
	box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.02);
}
#main .case .caseBox {
	position: relative;
	margin: 0 auto 4.8rem;
	max-width: 100rem;
	border: 0.4rem solid #E2A0A0;
}
#main .case .caseBox:last-of-type {
	margin-bottom: 0;
}
#main .case .caseBox .num {
	padding: 0.5rem 0.5rem;
	position: absolute;
	top: -2.2rem;
	left: 1.5rem;
	width: 14.2rem;
	background-color: #E2A0A0;
	text-align: center;
	color: #fff;
	border-radius: 1.8rem;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
#main .case .caseBox > .title {
	padding: 2.7rem 4.5rem 0;
	cursor: pointer;
	background: url(../img/index/case_img01.png) no-repeat right 0.6rem center / 3.3rem;
}
#main .case .caseBox.on > .title {
	background-image: url(../img/index/case_img02.png);
}
#main .case .caseBox > .title span {
	padding-bottom: 2.7rem;
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
}	
#main .case .caseBox .sub {
	padding-bottom: 6rem;
	margin: 0 4.5rem;
	display: none;
}
#main .case .caseBox .sub p {
	letter-spacing: 0.1em;
	line-height: 1.7;
}
#main .case .caseBox .sub > p {
	padding-top: 0.5rem;
	margin-bottom: 2.8rem;
	border-top: 1px solid #999999;
}
#main .case .caseBox .sub .title {
	font-weight: 700;
	color: #d47070;
}
#main .case .caseBox .sub li:not(:last-child) {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	border-bottom: 1px solid #D9D9D9;
}
@media all and (max-width: 896px) {
	#main .comBg {
		padding-bottom: 4rem;
	}
	#main .case {
		padding: 3rem 0;
		margin-top: 4rem;
	}
	#main .case .headline01 {
		margin-bottom: 4rem;
	}
	#main .case .innerBox {
		padding: 4rem 2rem;
	}
	#main .case .caseBox {
		max-width: 100%;
		border-width: 0.2rem;
	}
	#main .case .caseBox .num {
		top: -1.7rem;
		width: 10rem;
		font-size: 1.4rem;
	}
	#main .case .caseBox > .title {
		padding: 2rem 3rem 0 2rem;
		background-size: 2rem auto;
	}
	#main .case .caseBox > .title span {
		padding-bottom: 2rem;
		display: block;
		font-size: 1.6rem;
	}	
	#main .case .caseBox .sub {
		padding-bottom: 3rem;
		margin: 0 2rem;
	}
	#main .case .caseBox .sub > p {
		margin-bottom: 1rem;
	}
}
/* faq */
#main .faq .content {
	max-width: 104rem;
}
#main .faq .headline02 {
	margin-bottom: 6.5rem;
}
#main .faq dl {
	margin-bottom: 2.5rem;
}
#main .faq dl:last-of-type {
	margin-bottom: 0;
}
#main .faq dt {
	padding: 0 4rem 3rem 6rem;
	cursor: pointer;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	border-bottom: 0.2rem dotted #d47070;
	position: relative;
	background: url(../img/index/faq_img01.png) no-repeat right 1.1rem top 0.4rem / 3.3rem;
}
#main .faq dl.on dt {
	background-image: url(../img/index/faq_img02.png);
}
#main .faq dt::after {
	position: absolute;
	top: -2.1rem;
	left: 0;
	content: "Q";
	font-family: "Zen Old Mincho", serif;
	color: #d47070;
	font-size: 4.4rem;
}
#main .faq dd {
	padding-top: 2.3rem;
	display: none;
}
#main .faq dd .out {
	position: relative;
	padding: 1rem 3.5rem 2.2rem 8rem;
	background-color: #fff;
	font-size: 1.6rem;
	letter-spacing: 0.16em;
	line-height: 1.8;
}
#main .faq dd .out::after {
	position: absolute;
	top: -0.5rem;
	left: 2.8rem;
	content: "A";
	font-family: "Zen Old Mincho", serif;
	color: #d47070;
	font-size: 4.4rem;
}
#main .faq dd .out::before {
	position: absolute;
	bottom: calc(100% - 0.3rem);
	left: 2rem;
	content: "";
	width: 2.6rem;
	height: 1.4rem;
	background: url(../img/index/faq_icon01.png) no-repeat left bottom / 100%;
	z-index: 1;
}
#main .faq dd p.text01 {
	margin-bottom: 2.8rem;
}
#main .faq dd .out div {
	margin-bottom: 2.8rem;
}
#main .faq dd li {
	padding-left: 0.7em;
	text-indent: -0.7em;
	line-height: 1.72;
}
@media all and (max-width: 896px) {
	#main .faq dl {
		margin-bottom: 1.5rem;
	}
	#main .faq dt {
		padding: 0 4rem 1rem 3.5rem;
		font-size: 1.6rem;
		background-size: 2rem auto;
	}
	#main .faq dt::after {
		top: -1rem;
		font-size: 2.5rem;
	}
	#main .faq dd {
		padding-top: 1.5rem;
	}
	#main .faq dd .out {
		padding: 1rem 2rem 2.2rem 4.5rem;
		font-size: 1.4rem;
	}
	#main .faq dd .out::after {
		top: 0;
		left: 1.5rem;
		font-size: 2.5rem;
	}
	#main .faq dd p.text01 {
		margin-bottom: 2rem;
	}
	#main .faq dd .out div {
		margin-bottom: 2rem;
	}
}
/* flow */
#main .flow {
	position: relative;
	padding: 7rem 0 6rem;
	background: url(../img/index/flow_bg.jpg) no-repeat left top / cover;
}
#main .flow::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 25rem;
	background-color: #E2A0A0;
	z-index: 1;
	content: "";
	pointer-events: none;
}
#main .flow .content {
	position: relative;
	z-index: 2;
	max-width: 148rem;
}
#main .flow .headline02 {
	position: relative;
	z-index: 2;
	margin-bottom: -3.2rem;
}
#main .flow .innerBox {
	padding: 1px 12.2rem 9.2rem;
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 0.5rem 0.5rem rgba(0, 0, 0, 0.02);
}
#main .flow .innerBox .image {
	position: absolute;
	top: -14rem;
	left: -4.7rem;
	width: 29rem;
	z-index: 1;
}
#main .flow .innerBox > p {
	margin: 5.5rem 0 2rem;
	text-align: center;
	letter-spacing: 0.1em;
	line-height: 1.7;
}
#main .flow .flowUl {
	gap: 2rem calc(6.08% / 3);
}
#main .flow .flowUl li {
	width: 23.48%;
}
#main .flow .flowUl .textBox {
	padding: 3.5rem 2rem;
	background-color: #D47070;
	border-radius: 1rem;
	text-align: center;
}
#main .flow .flowUl .en {
	margin-left: 1.5rem;
	color: #D47070;
	font-weight: 900;
	font-size: 3rem;
	font-family: "Zen Old Mincho", serif;
	letter-spacing: 0.05em;
}
#main .flow .flowUl .en span {
	display: inline-block;
	font-size: 5.6rem;
	vertical-align: 0rem;
}
#main .flow .flowUl .textBox .text {
	margin-bottom: 2rem;
	position: relative;
	color: #fff;
	font-family: "Zen Old Mincho", serif;
	font-size: 3rem;
	font-weight: 900;
	line-height: 1.45;
	display: flex;
	align-items: end;
	justify-content: center;
}
#main .flow .flowUl .textBox .text .sml {
	display: block;
	font-weight: 400;
	font-size: 1.8rem;
}
#main .flow .flowUl .textBox .text .else {
	font-size: 2.4rem;
}
#main .flow .flowUl .textBox .text img {
	width: 7.2rem;
	position: absolute;
	top: -5.5rem;
	right: -0rem;
	z-index: 1;
}
#main .flow .flowUl .textBox .photo {
	display: flex;
	align-items: center;
	justify-content: center;
}
@media all and (max-width: 896px) {
	#main .flow {
		padding: 4rem 0;
	}
	#main .flow .innerBox {
		padding: 1px 2rem 2rem;
	}
	#main .flow .innerBox .image {
		top: -4rem;
		left: 1rem;
		width: 10rem;
	}
	#main .flow .innerBox > p {
		line-height: 1.7;
	}
	#main .flow .flowUl {
		display: block;
	}
	#main .flow .flowUl li {
		margin-bottom: 1rem;
		width: auto;
	}
	#main .flow .flowUl li:last-child {
		margin-bottom: 0;
	}
	#main .flow .flowUl .textBox {
		padding: 2rem;
	}
	#main .flow .flowUl .en {
		font-size: 2.5rem;
	}
	#main .flow .flowUl .en span {
		font-size: 3.3rem;
	}
	#main .flow .flowUl .textBox .text {
		font-size: 2rem;
	}
	#main .flow .flowUl .textBox .text .sml {
		display: block;
		font-weight: 400;
		font-size: 1.8rem;
	}
	#main .flow .flowUl .textBox .text .else {
		font-size: 1.8rem;
	}
}
/* fees */
#main .fees {
	padding: 7.4rem 0 16rem;
	background: #f2f2f2;
}
#main .fees .tableBox {
	padding: 7.9rem 10rem 5rem;
	background: #fafafa;
}
#main .fees .tableBox table {
	margin-bottom: 2.5rem;
	width: 100%;
	border-collapse: collapse;
}
#main .fees .tableBox th,
#main .fees .tableBox td {
	padding: 1.9rem 0.9rem 2.3rem;
	border-top: 1px solid #252c40;
	line-height: 1.75;
	text-align: left;
	vertical-align: top;
	box-sizing: border-box;
	word-break: break-all;
	letter-spacing: 0.1em;
}
#main .fees .tableBox th {
	width: 22%;
	color: #bf788b;
	font-size: 2rem;
	font-weight: 700;
}
#main .fees .tableBox td {
	padding-top: 2.3rem;
	font-size: 1.8rem;
}
#main .fees .tableBox tr:last-child th,
#main .fees .tableBox tr:last-child td {
	border-bottom: 1px solid #252c40;
}
#main .fees .tableBox .textList {
	margin: -0.3rem 0 0.1rem;
}
#main .fees .tableBox .textList li {
	margin-bottom: 1.3rem;
	padding-bottom: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	border-bottom: 1px dotted #252c40;
}
#main .fees .tableBox .textList li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#main .fees .tableBox .textList li .lText {
	width: 9rem;
	font-weight: 500;
}
#main .fees .tableBox .textList .rBox {
	flex: 1;
}
#main .fees .tableBox .noteUl {
	margin: 0 -0.2rem;
}
#main .fees .tableBox .noteUl li {
	margin-bottom: 0.7rem;
	padding-left: 1.1em;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	text-indent: -1.1em;
}
@media all and (max-width: 896px) {
	#main .fees {
		padding: 5rem 0;
	}
	#main .fees .tableBox {
		padding: 3rem 2rem;
	}
	#main .fees .tableBox table {
		margin-bottom: 2rem;
	}
	#main .fees .tableBox th,
	#main .fees .tableBox td {
		padding: 1.5rem 0.9rem 1rem;
		display: block;
		width: 100% !important;
	}
	#main .fees .tableBox th {
		font-size: 1.4rem;
		border-bottom: none;
	}
	#main .fees .tableBox td {
		padding: 0 0.9rem 1.5rem;
		font-size: 1.4rem;
		border-top: none;
	}
	#main .fees .tableBox tr:last-child th,
	#main .fees .tableBox tr:last-child td {
		border-bottom: none;
	}
	#main .fees .tableBox tr:last-child td {
		border-bottom: 1px solid #252c40;
	}
	#main .fees .tableBox .textList {
		margin: 0;
	}
	#main .fees .tableBox .textList li {
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		display: block;
	}
	#main .fees .tableBox .textList li .lText {
		margin-bottom: 0.5rem;
		width: auto;
	}
	#main .fees .tableBox .noteUl li {
		margin-bottom: 0.5rem;
		font-size: 1.2rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1800px) {
	.mainVisual .bg {
		max-width: 100%;
		width: calc(100% - 4rem);
	}
	.mainVisual .imgBox .textBox h2 {
		margin-bottom: 4rem;
		width: 53rem;
	}
	.mainVisual .imgBox .textBox .imgtext {
		width: 50rem;
	}
	.mainVisual .imgBox .photoBox ul {
		bottom: 2rem;
	}
	.mainVisual .imgBox .photoBox li {
		width: 17rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1600px) {
	#main .features .imgBox .textBox .title {
		font-size: 4rem;
	}
	#main .flow .innerBox .image {
		left: 0;
	}
	#main .features .imgBox.reverse .name {
		left: 2rem;
	}
	#main .features .imgBox.reverse .photo .img01 {
		width: 28rem;
	}
}
@media all and (min-width: 897px) and (max-width: 1480px) {
	.mainVisual .imgBox .textBox{
		left: 3rem;
	}
	#main .trouble .image01 {
		width: 27rem;
	}
	#main .trouble .image02 {
		width: 22rem;
	}
	#main .features .imgBox .textBox .title {
		font-size: 3.5rem;
	}
	#main .features .imgBox .textBox .text {
		font-size: 1.6rem;
	}
	#main .features .imgBox .textBox .infoBox {
		gap: 1rem;
	}
	#main .features .imgBox .textBox .infoBox p,
	#main .features .imgBox .textBox .infoBox li {
		font-size: 1.4rem;
	}
	#main .flow .flowUl .textBox .text {
		font-size: 2.8rem;
	}
	#main .flow .flowUl .textBox .text img {
		right: -1rem;
	}
	.comCatBox .image01 {
		width: 25.5rem;
	}
}