@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main > .bgBox {
	padding: 6rem 0 20rem;
	background-color: #fff;
	border-radius: 0 0 3.5rem 3.5rem;
	/* box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.2); */
}
.mainVisual {
	padding: 11.65rem 0 2rem;
	position: relative;
	overflow: hidden;
	min-height: 71.1rem;
	z-index: 1;
	border-radius: 0 0 3.4rem 3.4rem;
	box-shadow: 3px 5px 4px rgba(0, 0, 0, 0.1);
	background: url(../img/index/bg02.webp) no-repeat center;
	background-size: cover;
}
.mainVisual::after {
	position: absolute;
	bottom: 0;
	height: 15.7rem;
	width: 100%;
	content: "";
	z-index: -1;
	border-radius: 0 0 3.4rem 3.4rem;
	background: url("../img/index/bg03.webp") no-repeat top center;
	background-size: 100% auto;
}
.mainVisual .content {
	position: relative;
}
.mainVisual .img01 {
	position: absolute;
	bottom: -5.4rem;
	left: -1.7rem;
}
.mainVisual .img01 img {
	width: 20.1rem;
}
.mainVisual .img02 img {
	width: 19.5rem;
}
.mainVisual .img02 {
	position: absolute;
	bottom: -2.6rem;
	right: -2rem;
}
.mainVisual .inner {
	margin: 0 auto;
	max-width: 120.2rem;
}
.mainVisual .inner .lBox {
	width: calc(50% - 4.85rem);
	position: relative;
	z-index: 3;
}
.mainVisual .inner .lBox .pho01 {
	margin-bottom: 1.8rem;
	display: inline-block;
}
.mainVisual .inner .lBox .pho02 {
	margin: 0 -2.2rem 0 -0.2rem;
}
.mainVisual .inner .phoBox {
	margin: -8rem -12.5rem 0 -16rem;
  	width: calc(50% + 24.5rem);
	z-index: 2;
	position: relative;
}
.mainVisual h2 {
	margin-bottom: 8rem;
	text-align: center;
	padding-top: 1.3rem;
}
.mainVisual h2 img {
	width: 98.4rem;
}
.mainVisual ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.mainVisual li {
	margin: 0 0.4rem;
	width: 36.3rem;
}
#main .sec01 {
	padding-bottom: 2rem;
	margin: 0 -0.2rem 4rem;
	position: relative;
	border-radius: 0 0 1.6rem 1.6rem;
	z-index: 3;
	background: url("../img/index/sec01_bg02.webp") no-repeat top center / cover;
}
#main .sec01 .box01 {
	margin: 0 0.2rem -1rem;
	padding: 2.9rem 0 7.5rem;
	text-align: center;
	background: url("../img/index/bg05.webp") no-repeat top center / 100%;
	z-index: 3;
	position: relative;
}
#main .sec01 .box01 .h2Ttl {
	margin: 0.5rem 0 2.1rem;
	font-size: 5.4rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-align: center;
	display: inline-block;
	color: #fff;
	position: relative;
}
#main .sec01 .box01 .h2Ttl::before ,
#main .sec01 .box01 .h2Ttl::after {
	position: absolute;
	top: -6.2rem;
    left: -17.4rem;
	width: 16.7rem;
	height: 23.4rem;
	content: "";
	background: url("../img/index/sec01_img02.webp") no-repeat center left / 100%;
}
#main .sec01 .box01 .h2Ttl::after {
	left: auto;
	right: -15.5rem;
    width: 15.9rem;
    height: 21.6rem;
    top: -5.7rem;
	background-image: url("../img/index/sec01_img01.webp");
	background-position: center right;
}
#main .sec01 .box01 .h2Ttl span {
	font-size: 3.4rem;
	font-weight: 700;
	display: block;
}
#main .sec01 .box01 .h2Ttl .sml {
	font-size: 4.1rem;
	font-weight: 900;
	display: inline-block;
}
#main .sec01 .box01 .box01Ul {
	margin: -3rem auto 0;
	max-width: 114rem;
	position: relative;
	z-index: 2;
}
#main .sec01 .box01 .box01Ul li {
	margin: 3rem 1.0rem 0;
	padding: 3.5rem 1rem 1rem;
	width: calc(33.333% - 2rem);
	box-sizing: border-box;
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.25;
	box-sizing: border-box;
	min-height: 15rem;
	background-color: #fff;
	border-radius: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
#main .sec01 .box01 .box01Ul li .red {
	color: #c81e14;
}
#main .sec01 .box01 .box01Ul li::before {
	position: absolute;
	top: -1.5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 5rem;
	height: 5rem;
	content: "";
	background: url("../img/common/icon08.png") no-repeat top center / 100%;
}
#main .sec01 .box01 .box01Ul li:nth-child(7n) {
	margin-right: 0;
}
#main .sec01 .box01 .box01Ul li .col {
	color: #6428b4;
}
#main .sec01 .box01 .box01Ul li .sml {
	font-size: 1.6rem;
}
#main .sec01 .box02 {
	margin: 0 auto;
	max-width: 112rem;
	padding: 2.3rem 0 1.9rem;
	text-align: center;
}
#main .sec01 .box02 .h3Ttl {
	margin-bottom: 1.4rem;
	font-size: 4.1rem;
	line-height: 1.25;
	letter-spacing: 0.04em;
	display: inline-block;
	position: relative;
}
#main .sec01 .box02 .h3Ttl::before ,
#main .sec01 .box02 .h3Ttl::after {
	position: absolute;
	top: -8.7rem;
    left: -15.8rem;
	width: 13.5rem;
	height: 28.1rem;
	content: "";
	background: url("../img/index/sec01_img03.png") no-repeat center left / 100%;
	z-index: 4;
}
#main .sec01 .box02 .h3Ttl::after {
	left: auto;
    right: -20.9rem;
    width: 20.6rem;
    height: 20.6rem;
    top: -5.7rem;
	background-image: url("../img/index/sec01_img04.png");
	background-position: center right;
	z-index: 2;
}
#main .sec01 .box02 .h3Ttl .col {
	color: #c81e14;
}
#main .sec01 .box02 .h3Ttl .sml {
	font-size: 3.25rem;
}
#main .sec01 .box02 .box02Ul {
	margin-top: -2rem;
	position: relative;
	z-index: 4;
}
#main .sec01 .box02 .box02Ul li {
	margin: 2rem 2rem 0 0;
	padding: 0.5rem;
	width: calc((100% - 2rem)/2);
	box-sizing: border-box;
	display: flex;
	border-radius: 1rem;
	background-color: #fff;
	box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
}
#main .sec01 .box02 .box02Ul li:nth-child(2n) {
	margin-right: 0;
}
#main .sec01 .box02 .box02Ul li .pho {
	width: 44.5%;
	border-radius: 1rem 0 0 1rem;
	overflow: hidden;
}
#main .sec01 .box02 .box02Ul li .textBox {
	padding: 2rem 2.4rem;
	width: 55.5%;
	box-sizing: border-box;
	text-align: left;
	letter-spacing: 0.04em;
}
#main .sec01 .box02 .box02Ul li .textBox h4 {
	margin-bottom: 0.9rem;
	font-size: 2.8rem;
	line-height: 1.32;
	letter-spacing: 0.04em;
}
#main .sec01 .box02 .box02Ul li .textBox h4 .col {
	color: #c81e14;
}
#main .sec01 .box03 {
	padding: 4.1rem 2rem 2.1rem;
  	margin: 0rem 0.2rem 0;
	border-radius: 0 0 2rem 1.6rem;
	background: url("../img/index/sec01_bg03.webp") no-repeat top center / cover;
}
#main .sec01 .box03 .lBox {
	width: 25.6%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .sec01 .box03 .lBox h3 {
	margin-bottom: 0.4rem;
	font-size: 3.4rem;
	font-weight: 700;
}
#main .sec01 .box03 .lBox p {
	font-size: 1.6rem;
	line-height: 1.65;
  	letter-spacing: 0.1em;
}
#main .sec01 .box03 .rBox {
	width: 74.1%;
}
#main .sec01 .box03 .rBox .box03Ul {
	margin-top: -1rem;
}
#main .sec01 .box03 .rBox .box03Ul li {
	margin: 1rem 1.1rem 0 0;
	width: calc((100% - 3.3rem) / 4);
	background-color: #fff;
	border-radius: 0.6rem;
	overflow: hidden;
	display: flex;
	box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.3);
}
#main .sec01 .box03 .rBox .box03Ul li:nth-child(4n) {
	margin-right: 0;
}
#main .sec01 .box03 .rBox .box03Ul li .pho {
	width: 43.3%;
}
#main .sec01 .box03 .rBox .box03Ul li .textBox {
	padding: 0.8rem 0.5rem 0.5rem 1.5rem;
	width: 56.7%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
}
#main .sec01 .box03 .rBox .box03Ul01 {
	margin-top: 0;
}
#main .sec01 .box03 .rBox .box03Ul01 li {
	width: calc((100% - 2.2rem)/3);
}
#main .sec01 .box03 .rBox .box03Ul01 li .pho {
	width: 32%;
}
#main .sec01 .box03 .rBox .box03Ul01 li .textBox {
	width: 68%;
}
#main .sec01 .box03 .rBox .box03Ul01 li:nth-child(4n) {
	margin-right: 1rem;
}
#main .sec01 .box03 .rBox .box03Ul01 li:nth-child(3n) {
	margin-right: 0;
}
#main .sec02 {
	margin-bottom: 8rem;
	padding: 14.6rem 0 0;
}
#main .sec02 .h2Ttl {
	margin-bottom: 1.4rem;
	font-size: 6.2rem;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: 0.04em;
	text-align: center;
}
#main .sec02 .h2Ttl .col {
	color: #c81e14;
}
#main .sec02 .h2Ttl .sml {
	margin-bottom: 0.7rem;
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	display: block;
}
#main .sec02 .h2Ttl .sml01 {
	font-size: 1.7rem;
}
#main .sec02 .imgUl {
	border-radius: 1.6rem;
	overflow: hidden;
	position: relative;
}
#main .sec02 .imgUl::after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 18.6rem;
	height: 18.6rem;
	content: "";
	background: url("../img/index/sec02_img05.png") no-repeat top center / 100%;	
}
#main .sec02 .imgUl li {
	padding: 1rem 2rem;
	width: 50%;
	min-height: 25rem;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	background-color: #00b4b4;
}
#main .sec02 .imgUl li:nth-child(2n) {
	flex-direction: row-reverse;
}
#main .sec02 .imgUl li .pho {
	margin-right: 1.5rem;
	width: 25%;
}
#main .sec02 .imgUl li:nth-child(2n) .pho {
	margin: 0 0 0 0.3rem;
}
#main .sec02 .imgUl li .textBox {
	padding-top: 0.5rem;
	width: 60%;
	color: #fff;
}
#main .sec02 .imgUl .red {
	background-color: #e65050;
}
#main .sec02 .imgUl .yellow {
	background-color: #ff9600;
}
#main .sec02 .imgUl .green {
	background-color: #50b450;
}
#main .sec02 .imgUl li h3 {
	margin-bottom: 0.4rem;
	font-size: 2.6rem;
	line-height: 1.31;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
}
#main .sec02 .imgUl li p {
	line-height: 1.5;
	letter-spacing: 0.04em;
}
#main .sec03 {
	padding: 6.6rem 0;
	border-radius: 3.3rem;
	background-color: #fff;
	box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
}
#main .sec03 .text {
	margin-bottom: 2rem;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.04em;
	line-height: 1.75;
}
#main .sec03 .inner {
	margin-bottom: 2.4rem;
	padding-bottom: 1.3rem;
	overflow: hidden;
	border-radius: 1.5rem;
	border: 1px solid #c81e14;
}
#main .sec03 .inner h3 {
	padding: 0.6rem 1rem 0.7rem;
	font-size: 2.4rem;
	text-align: center;
	color: #fff;
	background-color: #c81e14;
}
#main .sec03 .inner .bgTxt {
	padding: 1.2rem 1rem 1.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
	background-color: #fcdcdc;
}
/*-- 注釈--*/
#main .sec03 .inner .bgTxt .col-s {
    font-size: 1.2rem;
}
/*-- /注釈--*/
#main .sec03 .inner .bgTxt .col {
	color: #c81e14;
}
#main .sec03 .inner .price {
	text-align: center;
	
	font-weight: 700;
}
#main .sec03 .inner .price .ttl {
	margin-top: 1.2rem;
	display: block;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
#main .sec03 .inner .price .num {
	font-size: 4.3rem;
	font-weight: 900;
}
#main .sec03 .inner .price .big {
	margin-right: 0.8rem;
	font-size: 8.4rem;
	line-height: 0.86;
	color: #c81e14;
	letter-spacing: -0.08em;
	vertical-align: -0.4rem;
}
#main .sec03 .comBox {
	margin: 3.2rem auto -15.3rem;
}
#main .sec04 {
	padding: 15.5rem 0 8rem;
}
#main .sec04 .flowUl {
	margin-top: -1.4rem;
}
#main .sec04 .flowUl li {
	padding: 2rem 0.5rem 1.6rem;
	margin: 2rem 2.5rem 0 0;
	width: calc((100% - 12.5rem)/6);
	background-color: #fff;
	text-align: center;
	box-sizing: border-box;
	border-radius: 1rem;
	box-shadow: 1.414px 1.414px 2px 0px rgba(0, 0, 0, 0.3);
	position: relative;
}
#main .sec04 .flowUl li::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -2.1rem;
	width: 2.1rem;
	height: 3.6rem;
	content: '';
	background: url("../img/common/icon04.png") no-repeat top right / 100%;	
}
#main .sec04 .flowUl li:nth-child(6n) {
	margin-right: 0;
}
#main .sec04 .flowUl li:nth-child(6n)::after {
	display: none;
}
#main .sec04 .flowUl li .bgNum {
	margin: 0 auto 0.7rem;
	font-size: 2.1rem;
	font-weight: 700;
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	background-color: #00b4b4;
	color: #fff;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
#main .sec04 .flowUl li:nth-child(2) .bgNum {
	background-color: #e65050;
}
#main .sec04 .flowUl li:nth-child(3) .bgNum {
	background-color: #ff9600;
}
#main .sec04 .flowUl li:nth-child(4) .bgNum {
	background-color: #50b450;
}
#main .sec04 .flowUl li:nth-child(5) .bgNum {
	background-color: #3c8cd2;
}
#main .sec04 .flowUl li:nth-child(6) .bgNum {
	background-color: #785a32;
}
#main .sec04 .flowUl li .bgNum .num {
	display: block;
	font-size: 5.6rem;
	line-height: 0.8;
	font-weight: 900;
}
#main .sec04 .flowUl li p {
	font-size: 2.4rem;
	font-weight: 900;
}
#main .sec05 {
	padding: 7rem 0 0;
	position: relative;
}
#main .sec05::after {
	position: absolute;
	top: 0;
	bottom: 14.5rem;
	width: 100%;
	content: '';
	border-radius: 3.4rem;
	background: url("../img/index/sec05_bg.jpg") no-repeat top center / 100%;
}
#main .sec05 .headLine01 {
	margin-bottom: 2.6rem;
}
#main .sec05 .content {
	position: relative;
	z-index: 2;
}
#main .sec05 .headLine01 {
	color: #fff;
}
#main .sec05 .headLine01::after {
	bottom: -0.7rem;
	background-color: #fff;
}
#main .sec05 .slideUl li {
	padding: 0.5rem 0.5rem 2.7rem;
	margin: 1rem 1.5rem 0 0;
	background-color: #fff;
	border-radius: 1rem;
	box-sizing: border-box;
	box-shadow: 1.414px 1.414px 2px 0px rgba(0, 0, 0, 0.3);
}
#main .sec05 .slideUl li:nth-child(3n) {
	margin-right: 0;
}
#main .sec05 .slideUl li .pho {
	border-radius: 1rem 1rem 0 0;
	overflow: hidden;
}
#main .sec05 .slideUl li .textBox {
	padding: 2rem 2rem 0;
}
#main .sec05 .slideUl li .ttl {
	margin-bottom: 0.2rem;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	color: #c81e14;
}
#main .sec05 .slideUl li .ttl .num {
	margin-left: 0.4rem;
	font-size: 2.1rem;
	line-height: 1;
	font-weight: 900;
	vertical-align: -0.2rem;
}
#main .sec05 .slideUl li h3 {
	margin-bottom: 0.3rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
#main .sec05 .slideUl li  p {
	font-size: 1.3rem;
	line-height: 1.61;
}
#main .sec06 {
	margin-bottom: 8rem;
	padding: 6.7rem 0 0;
}
#main .sec06 .headLine01 {
	margin-bottom: 3.8rem;
}
#main .sec06 .headLine01::after {
    bottom: -0.7rem;
}
#main .sec06 dl {
	margin-bottom: 1.5rem;
	border-radius: 1rem;
	background-color: #fff;
	overflow: hidden;
	box-shadow: 1.414px 1.414px 2px 0px rgba(0, 0, 0, 0.3);
}
#main .sec06 dl dt {
	font-size: 2.1rem;
	font-weight: 700;
	display: flex;
	border-bottom: 1px solid #e6e6e6;
}
#main .sec06 dl dt .en {
	font-size: 3.4rem;
	width: 5rem;
	color: #fff;
	background-color: #c81e14;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main .sec06 dl dt .txt {
	padding: 0.9rem 1.9rem 0.5rem;
	width: calc(100% - 5rem);
	letter-spacing: 0.04em;
	box-sizing: border-box;
}
#main .sec06 dl dd {
	padding: 1.3rem 2rem 1.8rem 7rem;
	position: relative;
	letter-spacing: 0.04em;
}
#main .sec06 dl dd span {
	position: absolute;
	top: 1rem;
	left: 3rem;
	font-size: 2.1rem;
	font-weight: 900;
	color: #c81e14;
}
#main .sec07 {
	padding: 6.6rem 0 8rem;
	border-radius: 3.5rem 3.5rem 0 0;
	background-color: #fff;
	box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.1);
}
#main .sec07 .headLine01 {
	margin-bottom: 3.8rem;
}
#main .sec07 .headLine01::after {
	bottom: -0.7rem;
}
#main .sec07 .mailFrom {
	margin: 0 auto;
	max-width: 84rem;
}
#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: 4.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-top: 1rem;
	text-align: center;
	color: #fff;
	display: block;
	font-size: 3.1rem;
	font-weight: 700;
	border: none;
	width: 30rem;
	height: 6rem;
	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: url("../img/index/bg.webp") repeat-x center top / 0.5rem;
}
@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: 1.4rem 0 20rem;
		border-radius: 0 0 3.5rem 3.5rem;
	}
	.mainVisual {
		padding: 11.9rem 0 1.4rem;
		min-height: 58.0rem;
		border-radius: 0 0 1.2rem 1.2rem;
		box-shadow: 3px 2px 2px rgba(0, 0, 0, 0.1);
		background-image: url(../img/index/bg02_sp.webp);
	}
	.mainVisual::after {
		bottom: 0;
		height: 25.5rem;
		border-radius: 0 0 1.2rem 1.2rem;
		background-size: 100% 100%;
		background-image: url("../img/index/bg03_sp.webp");
	}
	.mainVisual h2 {
		margin-bottom: 4.3rem;
		padding: 0.6rem 0.6rem 0 1rem;
	}
	.mainVisual .img01 {
		width: 5.9rem;
		bottom: auto;
		left: 1.1rem;
		top: -4.2rem;
	}
	.mainVisual .img02 {
		width: 13.6rem;
		bottom: auto;
		top: -4rem;
		right: 1rem;
	}
	.mainVisual ul {
		display: block;
		margin: 0 -1.5rem;
		position: relative;
		z-index: 1;
	}
	.mainVisual li {
		width: auto;
		max-width: 36rem;
		margin: 0 auto 0.5rem;
	}
	.mainVisual li img {
		width: 100%;
	}
	.mainVisual li:last-child {
		margin-bottom: 0;
	}
	.mainVisual .inner {
		max-width: inherit;
		display: block;
	}
	.mainVisual .inner .lBox {
		margin: 0 auto;
		width: 90.2%;
	}
	.mainVisual .inner .lBox .pho01 {
		margin-bottom: 0.9rem;
		width: 100%;
	}
	.mainVisual .inner .lBox .pho02 {
		margin: 0 2.1rem 0 -0.8rem;
	}
	.mainVisual .inner .phoBox {
		margin: -8.4rem 0 0;
		width: auto;
	}
	.mainVisual .inner .lBox .pho01 img,
	.mainVisual .inner .lBox .pho02 img,
	.mainVisual .inner .phoBox img   {
		width: 100%;
	}
	#main .sec01 {
		margin: 0 -0.2rem 4rem;
		background: url("../img/index/sec01_bg02_sp.webp");
		background-size: 100% 100%;
		border-radius: 1.5rem;
	}
	#main .sec01 .box01 {
		margin-bottom: 0.8rem;
		padding: 1.1rem 1.5rem 3rem;
		border-radius: 1.5rem 1.5rem 0 0;
		background-image: url("../img/index/bg05_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.4rem;
        height: 11.4rem;
        top: -2.1rem;
		background-image: url("../img/index/sec01_img01_sp.webp");
	}
	#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 3rem;
		width: 100%;
		font-size: 1.7rem;
		line-height: 1.2;
		min-height: 5rem;
		border-radius: 0.5rem;
	}
	#main .sec01 .box01 .box01Ul li::before {
		top: 50%;
		left: -1rem;
		transform: translateY(-50%);
		width: 4rem;
		height: 4rem;
		background-image: url("../img/common/icon08_sp.png");
	}
	#main .sec01 .box01 .box01Ul li .sml {
		font-size: 1.3rem;
	}
	#main .sec01 .box02 {
		max-width: inherit;
		padding: 1.2rem 0 0;
	}
	#main .sec01 .box02 .h3Ttl {
		margin-bottom: 1.2rem;
		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: -7rem;
		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;
	}
}
/*------------------------------------------------------------
	banner
------------------------------------------------------------*/
#main .banner {
    position: fixed;
    right: 2rem;
    bottom: 5rem;
    width: 30rem;
    height: 18.5rem;
    z-index: 9000;
}
#main .banner a img {
    width: 100%;
}
#main .banner .close {
    position: absolute;
    top: -1rem;
    right: -1.8rem;
    margin: 0;
    z-index: 9002;
    cursor: pointer;
}
#main .banner .close img {
    width: 100%;
}
.fixdBox {
	padding: 2rem 0;
	display: none;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 200;
	background: url("../img/index/bg03.webp") no-repeat top center;
	background-size: cover;
}
.fixdBox ul {
	display: flex;
	justify-content: center;
}
.fixdBox li {
	margin: 0 0.4rem;
	width: 36.3rem;
}
@media all and (min-width: 897px) {
    #main .banner .close:hover {
        opacity: 0.7;
    }
}
@media all and (max-width: 896px) {
    #main .banner {
        width: 26.5rem;
    }
    #main .banner .close { 
        top: -0.6rem;
        right: -1.1rem;
    }
	.fixdBox {
		padding: 1rem 0;
	}
}
@media all and (max-width: 410px) and (min-width: 320px) {
    #main .banner .close { 
        top: -0.9rem;
        right: -1.4rem;
    }
}