@charset "utf-8";

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .sec07 {
	padding: 6.6rem 0 8rem;
	border-radius: 3.5rem 3.5rem 0 0;
}

.content {
	margin: 0 auto;
	max-width: 120rem;
}

.headLine01::after {
	position: absolute;
	bottom: -1.1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 10rem;
	height: 0.3rem;
	content: "";
	background: #c81e14;
}

#main .sec07 .headLine01 {
	margin-bottom: 3.8rem;
}

.headLine01 {
	font-size: 2.6rem;
	letter-spacing: 0.04em;
	font-weight: 900;
	text-align: center;
	position: relative;
}

#main .sec07 .headLine01::after {
	bottom: -0.7rem;
}

#main .sec07 .mailFrom {
	margin: 0 auto;
	max-width: 84rem;
	padding: 0 10%;
}

#main .sec07 .mailFrom table {
	width: 100%;
	border-collapse: collapse;
}

#main .sec07 .mailFrom table td {
	padding: 0.8rem 1rem;
	border-top: 2px solid #e6e6e6;
	border-bottom: 2px solid #e6e6e6;
	text-align: left;
	vertical-align: middle;
	word-break: break-all;
	box-sizing: border-box;
}

#main .sec07 .mailFrom td:first-child {
	/* font-size: 1.6rem; */
	font-weight: 700;
	/* width: 27.4%; */
}

#main .sec07 .mailFrom table td>div {
	margin-bottom: 0.5rem;
}

#main .sec07 .mailFrom td input[type="text"] {
	height: 2.6rem;
	width: 100%;
	color: #111;
	border-radius: 0.4rem;
	padding: 0 2rem;
	border: 1px solid #dce4e8;
	background-color: #ebf0f3;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.6rem;
}

#main .sec07 .mailFrom table td table td {
	border: none;
	font-weight: 500 !important;
	/* font-size: 1.4rem !important; */
	display: block;
	width: 100% !important;
}

#main .sec07 .mailFrom td textarea {
	padding: 1rem 2rem;
	height: 11.5rem;
	width: 100%;
	border: 1px solid #dce4e8;
	background-color: #ebf0f3;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 1.6rem;
	resize: vertical;
}

#main .sec07 .mailFrom input[type="submit"] {
	margin: 4rem auto 0;
	padding: 10px 1rem;
	text-align: center;
	color: #fff;
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	border: none;
	width: 15rem;
	border-radius: 6rem;
	text-shadow: 1.414px 1.414px 18px rgba(0, 0, 0, 0.2);
	/* box-shadow: inset 0px 0px 20px 0px rgba(0, 0, 0, 0.3); */
	cursor: pointer;
	background: #c6251b;
}

@media all and (min-width: 897px) {
	#main .sec07 .mailFrom input[type="submit"]:hover {
		opacity: 0.7;
	}

	#main .sec05 .slideUl {
		display: flex;
		flex-wrap: wrap;
	}

	#main .sec05 .slideUl li {
		width: calc((100% - 3rem)/3);
	}
}

@media all and (max-width: 896px) {
	#main>.bgBox {
		padding-bottom: 20rem;
		border-radius: 0 0 3.5rem 3.5rem;
	}

	#main .mainVisual {
		padding: 11.9rem 0 11.5rem;
	}

	#main .mainVisual::after {
		border-radius: 0;
		bottom: 0;
		background-size: 100% 100%;
		background-image: url("../img/index/mv_bg_sp.webp");
	}

	#main .mainVisual .inner {
		max-width: inherit;
		display: block;
	}

	#main .mainVisual .inner .lBox {
		margin: 0 auto;
		width: 90.2%;
	}

	#main .mainVisual .inner .lBox .pho01 {
		margin-bottom: 0.9rem;
		width: 100%;
	}

	#main .mainVisual .inner .lBox .pho02 {
		margin: 0 2.1rem 0 -0.8rem;
	}

	#main .mainVisual .inner .phoBox {
		margin: -8.4rem 0 0;
		width: auto;
	}

	#main .mainVisual .inner .lBox .pho01 img,
	#main .mainVisual .inner .lBox .pho02 img,
	#main .mainVisual .inner .phoBox img {
		width: 100%;
	}

	#main .sec01 {
		margin: -13.4rem -0.2rem 4rem;
		background: url("../img/index/sec01_bg02_sp.jpg");
		background-size: 100% 100%;
		border-radius: 1.5rem 1.5rem 0 0;
	}

	#main .sec01 .box01 {
		padding: 1.1rem 1.5rem 2.6rem;
		border-radius: 1.5rem 1.5rem 0 0;
		background-image: url("../img/index/sec01_bg01_sp.webp");
		background-position: bottom center;
	}

	#main .sec01 .box01 .h2Ttl {
		margin-bottom: 0.7rem;
		font-size: 2.7rem;
	}

	#main .sec01 .box01 .h2Ttl::before,
	#main .sec01 .box01 .h2Ttl::after {
		top: -3.5rem;
		left: -7.4rem;
		width: 7.6rem;
		height: 14.9rem;
		background-image: url("../img/index/sec01_img02_sp.png");
	}

	#main .sec01 .box01 .h2Ttl::after {
		left: auto;
		right: -7.2rem;
		width: 8.3rem;
		height: 11.3rem;
		top: -2.1rem;
		background-image: url("../img/index/sec01_img01_sp.png");
	}

	#main .sec01 .box01 .h2Ttl span {
		font-size: 2.1rem;
		font-weight: 700;
	}

	#main .sec01 .box01 .h2Ttl .sml {
		font-size: 2.2rem;
	}

	#main .sec01 .box01 .box01Ul {
		margin: 0 auto;
		max-width: inherit;
		display: block;
	}

	#main .sec01 .box01 .box01Ul li {
		margin: 0 0 0.5rem 0;
		padding: 0.6rem 1rem 0.5rem;
		width: 100%;
		font-size: 1.6rem;
		line-height: 1.2;
		min-height: inherit;
		border-radius: 0.5rem;
		display: block;
	}

	#main .sec01 .box01 .box01Ul li::before {
		top: 50%;
		left: -1rem;
		transform: translateY(-50%);
		width: 4rem;
		height: 4rem;
		background-image: url("../img/common/icon03_sp.png");
	}

	#main .sec01 .box01 .box01Ul li .sml {
		font-size: 1.3rem;
	}

	#main .sec01 .box02 {
		max-width: inherit;
		padding: 1.2rem 0 0.5rem;
	}

	#main .sec01 .box02 .h3Ttl {
		margin-bottom: 1.5rem;
		font-size: 2.6rem;
		line-height: 1.2;
	}

	#main .sec01 .box02 .h3Ttl .txt01 {
		margin-bottom: 0.1rem;
		font-size: 1.6rem;
		display: block;
		letter-spacing: 0;
	}

	#main .sec01 .box02 .h3Ttl .txt01 .sml {
		font-size: 1.3rem;
	}

	#main .sec01 .box02 .h3Ttl::before,
	#main .sec01 .box02 .h3Ttl::after {
		top: -6.1rem;
		left: -3.5rem;
		width: 6.2rem;
		height: 28.1rem;
		z-index: -1;
	}

	#main .sec01 .box02 .h3Ttl::after {
		left: auto;
		right: -3.7rem;
		width: 13rem;
		height: 20.6rem;
		top: -6.3rem;
		z-index: -1;
	}

	#main .sec01 .box02 .h3Ttl .sml {
		font-size: 2.1rem;
	}

	#main .sec01 .box02 .box02Ul {
		margin: 0 1.2rem;
		display: block;
	}

	#main .sec01 .box02 .box02Ul li {
		margin: 0 0 1.1rem 0;
		width: 100%;
		display: block;
	}

	#main .sec01 .box02 .box02Ul li .pho {
		width: 100%;
		border-radius: 1rem 1rem 0 0;
	}

	#main .sec01 .box02 .box02Ul li .pho img {
		width: 100%;
	}

	#main .sec01 .box02 .box02Ul li .textBox {
		padding: 1.4rem 1.5rem 0.9rem;
		width: 100%;
		letter-spacing: 0;
	}

	#main .sec01 .box02 .box02Ul li .textBox h4 {
		margin-bottom: 0.5rem;
		font-size: 2.4rem;
		line-height: 1.2;
	}

	#main .sec01 .box03 {
		padding: 3.9rem 1rem 1rem;
		margin: 0rem 0.2rem 0;
		border-radius: 0 0 1.5rem 1.5rem;
		background-image: url("../img/index/sec01_bg03_sp.webp");
		display: block;
	}

	#main .sec01 .box03 .lBox {
		width: 100%;
		display: block;
	}

	#main .sec01 .box03 .lBox h3 {
		margin-bottom: 0;
		letter-spacing: 0.04em;
		font-size: 2.6rem;
		text-align: center;
		text-shadow: 1.414px 1.414px 8px rgba(0, 0, 0, 0.2);
	}

	#main .sec01 .box03 .lBox p {
		margin-bottom: 1rem;
		font-size: 1.4rem;
		line-height: 1.5;
		text-align: center;
		letter-spacing: 0;
	}

	#main .sec01 .box03 .rBox {
		width: 100%;
	}

	#main .sec01 .box03 .rBox .box03Ul {
		margin-top: -0.5rem;
	}

	#main .sec01 .box03 .rBox .box03Ul li {
		margin: 0.5rem 0.5rem 0 0;
		width: calc((100% - 0.6rem) /2);
		border-radius: 0.6rem;
	}

	#main .sec01 .box03 .rBox .box03Ul li:nth-child(2n) {
		margin-right: 0;
	}

	#main .sec01 .box03 .rBox .box03Ul li .pho {
		width: 40.4%;
	}

	#main .sec01 .box03 .rBox .box03Ul li .pho img {
		width: 100%;
	}

	#main .sec01 .box03 .rBox .box03Ul li .textBox {
		padding: 0.8rem 0.5rem 0.9rem 1.1rem;
		width: 59.6%;
		font-size: 1.6rem;
	}

	#main .sec01 .box03 .rBox .box03Ul01 {
		margin-top: 0;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li {
		width: calc((100% - 1rem)/3);
		display: block;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li .pho {
		width: 100%;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li .pho img {
		width: 100%;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li .textBox {
		padding: 0.8rem 0.5rem 1rem 1.1rem;
		width: 100%;
		display: block;
		text-align: center;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li:nth-child(2n) {
		margin-right: 0.5rem;
	}

	#main .sec01 .box03 .rBox .box03Ul01 li:nth-child(3n) {
		margin-right: 0;
	}

	#main .sec02 {
		margin-bottom: 2.5rem;
		padding: 9.6rem 0 0;
	}

	#main .sec02 .h2Ttl {
		margin-bottom: 2.1rem;
		font-size: 4.1rem;
		line-height: 1.1;
	}

	#main .sec02 .h2Ttl .sml {
		margin-bottom: 0.3rem;
		font-size: 1.7rem;
	}

	#main .sec02 .imgUl {
		display: block;
		overflow: inherit;
		border-radius: 0;
	}

	#main .sec02 .imgUl::after {
		display: none;
	}

	#main .sec02 .imgUl li {
		padding: 1rem 2rem 1.9rem;
		margin-bottom: 2rem;
		width: 100%;
		min-height: inherit;
		display: block;
		border-radius: 1.3rem;
		position: relative;
		box-shadow: 1.414px 1.414px 8px 0px rgba(0, 0, 0, 0.2);
	}

	#main .sec02 .imgUl li:last-child {
		margin-bottom: 0;
	}

	#main .sec02 .imgUl li .pho {
		margin: -2.5rem auto 0.7rem !important;
		width: 46%;
	}

	#main .sec02 .imgUl li .pho img {
		width: 100%;
	}

	#main .sec02 .imgUl li .textBox {
		width: 100%;
	}

	#main .sec02 .imgUl li h3 {
		margin-bottom: 0.7rem;
		font-size: 2.1rem;
		line-height: 1.2;
		text-align: center;
	}

	#main .sec02 .imgUl li p {
		line-height: 1.45;
		letter-spacing: 0;
	}

	#main .sec02 .imgUl li .num {
		font-weight: 900;
		position: absolute;
		top: 0.5rem;
		right: 1.5rem;
		font-size: 9.1rem;
		color: rgba(255, 255, 255, 0.302);
		line-height: 1.1;
	}

	#main .sec02 .h2Ttl .sml01 {
		font-size: 1.4rem;
	}

	#main .sec03 {
		padding: 1.8rem 0;
		border-radius: 1.3rem;
	}

	#main .sec03 .headLine01 {
		margin-bottom: 1.6rem;
	}

	.headLine01::after {
		bottom: -0.4rem;
	}

	#main .sec03 .text {
		margin-bottom: 1.4rem;
		font-size: 1.4rem;
		line-height: 1.65;
	}

	#main .sec03 .inner {
		margin-bottom: 1.3rem;
		padding-bottom: 0.4rem;
		border-radius: 1rem;
	}

	#main .sec03 .inner h3 {
		padding: 0.9rem 0.3rem 1.4rem;
		font-size: 1.8rem;
		line-height: 1.3;
	}

	#main .sec03 .inner .bgTxt {
		padding: 0.7rem 1rem 1.2rem;
		font-size: 1.3rem;
		line-height: 1.4;
		letter-spacing: 0;
	}

	/*-- 注釈--*/
	#main .sec03 .inner .bgTxt .col-s {
		font-size: 1rem;
	}

	/*-- /注釈--*/
	#main .sec03 .inner .bgTxt .col {
		display: block;
	}

	#main .sec03 .inner .price .ttl {
		font-size: 1.8rem;
		font-weight: 700;
	}

	#main .sec03 .comBox {
		margin: 3.3rem -1.5rem -15.3rem;
	}

	#main .sec04 {
		padding: 13.7rem 0 1.6rem;
	}

	#main .sec04 .headLine01 {
		margin-bottom: 2.3rem;
	}

	#main .sec04 .flowUl {
		margin-top: 0;
	}

	#main .sec04 .flowUl li {
		padding: 1.1rem 1rem 1rem;
		margin: 0 0 1rem;
		width: 100%;
		display: flex;
		align-items: center;
		border-radius: 0.6rem;
	}

	#main .sec04 .flowUl li::after {
		top: auto;
		bottom: -1.6rem;
		transform: translateX(-50%);
		left: 50%;
		right: auto;
		width: 3.1rem;
		height: 1.6rem;
		background-image: url("../img/common/icon05.png");
		z-index: 2;
	}

	#main .sec04 .flowUl li:nth-child(6n)::after {
		display: block;
	}

	#main .sec04 .flowUl li:last-child:after {
		display: none;
	}

	#main .sec04 .flowUl li .bgNum {
		padding-bottom: 0.2rem;
		margin: 0;
		font-size: 1.6rem;
		width: 7rem;
		height: 7rem;
	}

	#main .sec04 .flowUl li .bgNum .num {
		font-size: 3.6rem;
	}

	#main .sec04 .flowUl li p {
		padding: 0.5rem 0 0 1.4rem;
		font-size: 2.4rem;
		width: calc(100% - 7rem);
		text-align: left;
		box-sizing: border-box;
	}

	#main .sec05 {
		padding: 2rem 0 0;
	}

	#main .sec05::after {
		bottom: -4.1rem;
		border-radius: 1.2rem;
		background-image: url("../img/index/sec05_bg_sp.jpg");
		background-size: 100% 100%;
	}

	#main .sec05 .headLine01 {
		margin-bottom: 1.4rem;
	}

	#main .sec05 .headLine01::after {
		bottom: -0.5rem;
	}

	#main .sec05 .slideUl {
		margin: 0 -1.5rem;
		z-index: 2;
		position: relative;
	}

	#main .sec05 .slideUl>li {
		padding: 0.5rem 0.5rem 2.8rem;
		margin: 1rem 1rem 0 0;
	}

	#main .sec05 .slideUl li .textBox {
		padding: 1.2rem 1rem 0;
	}

	#main .sec05 .slideUl li .ttl {
		margin-bottom: 0.1rem;
		font-size: 1.2rem;
	}

	#main .sec05 .slideUl li h3 {
		margin-bottom: 0.4rem;
		font-size: 2.1rem;
	}

	#main .sec05 .slideUl li p {
		line-height: 1.45;
	}

	.slick-initialized .slick-slide {
		margin: 0 0.7rem;
	}

	#main .sec05 .sideUl li:nth-child(3n) {
		margin-right: 0;
	}

	#main .sec05 .slideUl .slick-prev,
	#main .sec05 .slideUl .slick-next {
		position: absolute;
		left: 0;
		top: 27.8rem;
		font-size: 0;
		width: 4.5rem;
		height: 9rem;
		border: none;
		z-index: 4;
		background: url("../img/common/icon06.png") no-repeat center center / 4.5rem;
	}

	#main .sec05 .slideUl .slick-next {
		left: auto;
		right: 0;
		background: url("../img/common/icon07.png") no-repeat center center / 4.5rem;
	}

	#main .sec05 .slideUl .slick-dots {
		margin-top: 0.4rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
	}

	#main .sec05 .slideUl .slick-dots li {
		padding: 0;
		margin: 0 1.3rem;
		height: 0;
		width: 0;
		background-color: transparent;
	}

	#main .sec05 .slideUl .slick-dots .slick-active button {
		background-color: rgba(255, 255, 255, 0.5);
		border-color: transparent;
	}

	#main .sec05 .slideUl .slick-dots li button {
		margin: 0;
		padding: 0;
		font-size: 0;
		border: 1px solid #fff;
		border-radius: 50%;
		width: 1rem;
		height: 1rem;
		cursor: pointer;
	}

	#main .sec06 {
		margin-bottom: 1.4rem;
		padding: 5.6rem 0 0;
	}

	#main .sec06 .headLine01 {
		margin-bottom: 2.5rem;
	}

	#main .sec06 .headLine01::after {
		bottom: -0.5rem;
	}

	#main .sec06 dl {
		margin-bottom: 1.1rem;
		border-radius: 1rem;
	}

	#main .sec06 dl dt {
		font-size: 1.8rem;
	}

	#main .sec06 dl dt .en {
		font-size: 2.7rem;
		width: 3.5rem;
		align-items: flex-start;
	}

	#main .sec06 dl dt .txt {
		padding: 1rem 0.5rem 1.1rem 1rem;
		width: calc(100% - 3.5rem);
		line-height: 1.2;
	}

	#main .sec06 dl dd {
		padding: 0.9rem 1rem 1.3rem 4.7rem;
		line-height: 1.4;
		letter-spacing: 0;
	}

	#main .sec06 dl dd span {
		top: 0.7rem;
		left: 1.5rem;
	}

	#main .sec07 {
		padding: 1.8rem 0 2.5rem;
		border-radius: 1.3rem 1.3rem 0 0;
	}

	#main .sec07 .headLine01 {
		margin-bottom: 2.4rem;
	}

	#main .sec07 .headLine01::after {
		bottom: -0.4rem;
	}

	#main .sec07 .mailFrom {
		max-width: inherit;
	}

	#main .sec07 .mailFrom table td:first-of-type {
		border-top: 1px solid #e6e6e6;
	}

	#main .sec07 .mailFrom table th,
	#main .sec07 .mailFrom table td {
		display: block;
		width: 100% !important;
	}

	#main .sec07 .mailFrom table td {
		padding: 0.8rem 0;
		border-top: none;
		border-bottom: none;
	}

	#main .sec07 .mailFrom td:first-child {
		font-size: 1.4rem;
		padding-bottom: 0.1rem;
	}

	#main .sec07 .mailFrom form>table {
		border-bottom: 1px solid #e6e6e6;
	}

	#main .sec07 .mailFrom table div+table td:first-of-type {
		border-top: none;
	}

	#main .sec07 .mailFrom td input[type="text"] {
		height: 3.6rem;
		padding: 0 1rem;
		font-size: 1.4rem;
	}

	#main .sec07 .mailFrom td textarea {
		height: 11.5rem;
		font-size: 1.4rem;
	}

	#main .sec07 .mailFrom input[type="submit"] {
		margin: 4rem auto 0;
		font-size: 2.1rem;
		width: 100%;
		max-width: 30rem;
		height: 6rem;
	}
}

@media (max-width: 896px) and (min-width: 695px) {
	#main .sec05 .slideUl li .textBox {
		padding: 1.2rem 2rem 0;
	}
}