@charset "UTF-8";
/* CSS Document */
.f-In {
	transition-duration: 0.5s;
}
#main-wrap {
  font-family: 'YakuHanMP','Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-style: normal;
	background-color: #fcf8eb;
}
#main-wrap a {
	color: #000;
}
#main-wrap a:hover {
	text-decoration: none;
}

#main {}
#main {
	position: relative;
	width: 100%;
	height: 100vh;
}
#main > img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	
}
#main .h1Box {
	position: absolute;
	left: 50%;
	bottom: 55%;
	width: 65%;
	max-width: 800px;
	transform: translateX(-50%);
	
}
#main .h1Box img {
	filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 1)) drop-shadow(0px 0px 30px rgba(255, 255, 255, 1));
}
#main .name {
	position: absolute;
	left: 5%;
	top: 3vh;
	width: 15%;
	width: 200px;
}

.qrWrap {
	background: #06C755;
background: linear-gradient(90deg, rgba(6, 199, 85, 1) 0%, rgba(0, 163, 163, 1) 100%);
	padding: 6% 0;
}
.qrWrap .flex {
	width: 80%;
	max-width: 420px;
	margin: 0 auto;
	align-items: center;
}
.qrWrap .flex .qr,
.qrWrap .flex a {
	width: 45.5%;
	max-width: 190px;
}
.qrWrap .flex a p {
	color: #fff;
	padding-top: 1em;
}

#sec01 {
	padding: 6% 0 0;
}

#sec01 .lead {
	max-width: 900px;
	font-size: 24px;
	margin: 0 auto;
	padding: 2em 0;
	line-height: 2;
}
#sec01 .lead span {
	color: #00937d;
}
#sec01 a.btn,
footer a.btn {
	background-color: #00937d;
	color: #fff;
	font-size: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 14em;
	height: 3.4em;
	border-radius: 999px;
	margin: 0 auto;
}
#sec01 a.btn:hover,
footer a.btn:hover,
footer .btWrap .flex a:hover {
	text-decoration: none;
	opacity: 0.7;
	transition: 0.3s;
}

.h2-01 {
	width: auto;
	display: inline-block;
	margin: 0 auto;
	font-size: 42px;
	line-height: 1.2;
	position: relative;
	padding: 20px 0;
	
}
.h2-01 span {
	display: block;
	color: #00937d;
	font-size: 72%;
	padding-bottom: 0.6em;
}
.h2-01 i {
	font-style: normal;
	background-color: #00937d;
	color: #fff;
	display: inline-block;
	padding: 0 0.5em;
	border-radius: 10px;
}
.h2-01::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 8px;
	border-radius: 10px;
	background-color: #00937d;
}

#sec02 {
	padding: 6% 0 0;
}
#sec02 .flex {
	padding: 3% 0 0;
}
#sec02 .flex dl {
	width: 32%;
	background-color: #fff;
	border-radius: 20px;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
	container-type: inline-size;
}
#sec02 .flex dt {
	background-color: #00937d;
	color: #fff;
	line-height: 1.2;
	padding: 0.5em 0;
position: relative;
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	font-size: 6.2cqw;
	padding-left: 0.8em;
}
#sec02 .flex dt::before {
	content: "";
	position: absolute;
	width: 15%;
	height: 200%;
	left: 4%;
	top: -7%;
	background-image: url("../images/merit-01.svg");
	background-size: 100%;
	background-position: left top;
	background-repeat: no-repeat;
	filter: drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.4));
}
#sec02 .flex .dl02 dt::before {
	background-image: url("../images/merit-02.svg");
}
#sec02 .flex .dl03 dt::before {
	background-image: url("../images/merit-03.svg");
}
#sec02 .flex dt::after {
	content: "";
	position: absolute;
	width: 10%;
	height: 120%;
	right: 5%;
	top: -7%;
	background-image: url("../images/ico-01.svg");
	background-size: 100%;
	background-position: center center;
	background-repeat: no-repeat;
}
#sec02 .flex .dl02 dt::after {
	background-image: url("../images/ico-02.svg");
}
#sec02 .flex .dl03 dt::after {
	background-image: url("../images/ico-03.svg");
}
#sec02 .flex dd {
	display: flex;
justify-content: center;
align-items: center;

}
#sec02 .flex dd p {
	padding: 2em 1em ;
	font-size: 5.2cqw;
	line-height: 1.6;
}
#sec02 .flex .dl03 dd p {
	line-height: 1.3;
}
#sec02 .flex dd span {
	color: #00937d;
}

#sec03 {
	padding: 6% 0;
}
#sec03 .flex {
	padding: 5% 0 0;
}
#sec03 .flex dl {
	width: 32%;
	background-color: #fff;
	border-radius: 20px;
	padding: 20px 0;
	border: #cccccc solid 1px;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
	container-type: inline-size;
	position: relative;
}
#sec03 .flex dl::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0%;
	width: 50cqw;
	transform: translate(-50%,-50%);
	height: 14cqw;
	background-image: url("../images/point-01.svg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100%;
}
#sec03 .flex dl.dl02::after {
	background-image: url("../images/point-02.svg");
}
#sec03 .flex dl.dl03::after {
	background-image: url("../images/point-03.svg");
}
#sec03 .flex dt {
	color: #00937d;
	font-size: 7cqw;
	font-weight: 700;
	padding: 0.3em;
}
#sec03 .flex dd {
	max-width: 320px;
	margin: 0 auto;
	
}
#sec03 .flex dd p {
	font-size: 5cqw;
	line-height: 1.3;
	padding-top: 0.8em;
}
#sec03 .flex dd p span {
	font-size: 70%;
	display: block;
	padding-top: 0.6em;
}



footer {
	padding: 6% 0 3%;
}
footer .addBox {
	padding: 3% 0;
}
footer .addBox h3 {
	font-size: 30px;
	line-height: 1.4;
}
footer .addBox .tel {
	font-size: 30px;
	font-weight: 200;
}
footer .addBox .tel::before {
	content: "　";
	font-size: 120%;
	background-image: url("../images/ico-fdial.svg");
	background-repeat: no-repeat;
	background-position: center center;
	position: relative;
	margin-right: 0.2em;
	top: 0.15em;
}
footer .addBox .date {
	font-size: 21px;
	font-weight: 200;
}
footer .btWrap {}
footer .btWrap a.btn {
	color: #fff!important;
	background: #30496A;
background: linear-gradient(90deg, rgba(48, 73, 106, 1) 0%, rgba(0, 157, 191, 1) 100%);
}
footer .btWrap .flex {
	max-width: 700px;
	padding: 3% 0;
	margin: 0 auto;
	container-type: inline-size;
}
footer .btWrap .flex a {
	display: block;
	width: 33%;
	background-color: #30496a;
	color: #fff!important;
	font-size: 21px;
	font-size: 3.0cqw;
	line-height: 1;
	display: flex;
justify-content: center;
align-items: center;
	height: 3em;
}
footer .btWrap .flex a span {
	display: inline-block;
	width: 1.4em;
	margin-right: 0.3em;
}
footer .flex02 {
	justify-content: center;
	padding-top: 3%;
}
footer .flex02 a {
	font-size: 15px;
	font-weight: 200;
	display: inline-block;
	padding: 0 1em;
	position: relative;
	line-height: 1.2;
	margin-top: 0.5em;
	transition: 0.3s;
}
footer .flex02 a:hover {
	opacity: 0.5;
}
footer .flex02 a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 1px;
	background-color: #000;
}
footer .flex02 a::after {
	content: "";
	position: absolute;
	right: -1px;
	top: 0;
	height: 100%;
	width: 1px;
	background-color: #000;
}
/*footer .flex02 a:last-child::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 1px;
	background-color: #000;
}*/

@media screen and (max-width: 959px){
	#sec01 .lead {
    font-size: clamp(18px, 2.7vw, 22px);
	}
	#sec02 .flex,#sec03 .flex {
		max-width: 400px;
		margin: 0 auto;
		gap:30px 0;
		padding-top: 5%;
	}
	#sec02 .flex dl,#sec03 .flex dl {
		width: 100%;
		margin-top: 15px;
	}
	footer .addBox .date {
    font-size: clamp(16px, 2.2vw, 18px);
	}
	#sec01 a.btn, footer a.btn {
		font-size: clamp(22px, 3.0vw, 24px);
	}
	footer .flex02 a {
	font-size: clamp(13px, 1.9vw, 15px);
	}
	footer .logoBox {
		padding: 5% 0;
	}
}
@media screen and (max-width: 599px){
	#main .name {
    left: 2vh;
    top: 2vh;
    width: 150px;
}
	#main .h1Box {
    width: 95%;
	}
	.qrWrap .flex {
		width: 80%;
		max-width: 200px;
		padding: 5% 0;
	}
	.qrWrap .flex .qr,
	.qrWrap .flex a {
		width: 100%;
		max-width: 200px;
		padding: 10px 0;
	}
	.h2-01 {
    font-size: clamp(23px, 6.4vw, 25px);
		font-size: 7.7vw;
	}
	.h2-01::after {
     height: 4px;
	}
	#sec01 .lead {
		font-size: clamp(15px, 4.6vw, 20px);
		width: 85%;
	}
	#sec01 .lead br {
		display: none;
	}
	#sec01 .lead br.brSp {
		display: inline;
	}
	    #sec02 .flex dl {
        margin-top: 0px;
    }
	#sec03 .h2-01 {
		letter-spacing: -0.05em;
	}
	footer .addBox h3 {
    font-size: clamp(21px, 5.9vw, 23px);
}
	    footer .addBox .date {
        font-size: clamp(13px, 3.7vw, 15px);
    }
	#sec01 a.btn, footer a.btn {
       font-size: clamp(19px, 5.3vw, 21px);
    }
	footer {
		padding-bottom: 30px;
	}
	footer .btWrap {
		padding-top: 30px;
	}
	footer .btWrap .flex {
		padding: 20px; 0;
		gap:10px 0;
		width: 80%;
		max-width: 280px;
	}
	footer .btWrap .flex a {
		width: 100%;
		font-size: 8.0cqw;
	}
	footer .logoBox {
		width: 80%;
		max-width: 240px;
		margin: 0 auto;
	}
	footer .flex02 a {
	font-size: clamp(12px, 3.5vw, 14px);
	}

	
}


	