@charset "utf-8";

/* reset -------------------------------------------
	layout-base.css
*/


/* サイト別基本設定 ------------------------------------- */
html {
	cursor: auto;
	font-size: 62.5%;
}

body {
	min-width: 320px;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	font-size: 1.6rem;
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: lighter;
	letter-spacing: 0.1em;
}
a {
	color: #00f;
}
a img {
	text-decoration: none;
}
a:active {
}
a:hover {
	text-decoration: underline;
}
a img {
	transition: all 500ms ease;
}
a img:hover {
	opacity: .9;
}



/* module --------------------------------------- */
.pc_show {
	display: none;
}
span.small {
	font-size: 75%;
}
.mt2em {
	margin-top: 2em;
}



/* header --------------------------------------- */
header .logo {
	width: 100vw;
	padding: 10px 25px;
}
header .logo h1 {
	margin: 0;
}
header .logo h1 a {
	display: flex;
	justify-content: center;
	align-items: center;
}
header .logo h1 img {
	display: block;
}
header .logo h1 img:nth-of-type(1) {
	width: 62px;
	height: auto;
}
header .logo h1 img:nth-of-type(2) {
	width: 120px;
	height: auto;
	margin-left: 15px;
}

header .contact {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	padding: 0 25px 20px;
	font-size: 1.4rem;
}
header .contact .tel span {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 2.6rem;
}
header .contact .tel span::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background: url(../../../img/lp/ico_tel.png) center center / contain no-repeat;
}


/* footer --------------------------------------- */
footer {
	margin-top: 100px;
	margin-bottom: 300px;
}
footer .top .inner {
	position: relative;
}
footer .top {
	padding-bottom: 80px;
	background: #e9f9e8;
}
footer .left {
	padding: 20px 25px;
}
footer .logo {
	width: 100%;
	padding: 10px 25px;
}
footer .logo {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .logo img {
	display: block;
}
footer .logo img:nth-of-type(1) {
	width: 62px;
	height: auto;
}
footer .logo img:nth-of-type(2) {
	width: 120px;
	height: auto;
	margin-left: 15px;
}

footer .contact {
	display: flex;
	justify-content: center;
	align-content: center;
	flex-wrap: wrap;
	padding: 0 25px;
	font-size: 1.4rem;
}
footer .contact .tel span {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	font-size: 2.6rem;
}
footer .contact .tel span::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background: url(../../../img/lp/ico_tel2.png) center center / contain no-repeat;
}
footer .map {
	width: 100%;
	max-width: 480px;
	height: 320px;
	margin: 0 auto;
	padding: 0 25px;
}
footer .map > img,
footer .map > iframe {
	width: 100%;
	height: 320px;
}

footer .pop {
	position: absolute;
}
footer .pop img {
	width: 100%;
	height: auto;
}
footer .pop1 {
	position: absolute;
	top: -60px;
	right: 10px;
	width: 190px;
}
footer .pop2 {
	position: absolute;
	top: -23px;
	left: 30px;
	width: 30px;
	height: 43px;
}
footer .pop3 {
	position: absolute;
	bottom: -75px;
	left: 10px;
	width: 50px;
}
footer .pop4 {
	position: absolute;
	bottom: -85px;
	right: 10px;
	width: 60px;
}

footer .copy {
	text-align: center;
	line-height: 38px;
	font-size: 1.1rem;
	letter-spacing: 0;
}



/* main ----------------------------------------- */
h2 {
	margin: 0;
	padding: 0;
	text-align: center;
}




.sec01 {
	background: #fce7be;
}
.sec01 .inner {
	padding: 25px 10px 20px;
}
.sec01 h2 {
	margin-bottom: 15px;
	padding: 0 15px;
}
.sec01 h2 img {
	width: 100%;
	max-width: 480px;
	height: auto;
}
.sec01 .main_img {
	position: relative;
	text-align: center;
	margin-bottom: 120px;
}
.sec01 .main_img > img {
	width: 100%;
	max-width: 480px;
}
.sec01 .pop1 {
	position: absolute;
	top: calc(100% - 60px);
	right: 0;
	width: 180px;
	height: 180px;
}
.sec01 .pop1 img {
	width: 100%;
	height: auto;
}
.sec01 .text {
	padding: 0 0 0;
	text-align: center;
	line-height: 1.5;
}
.sec01 .text p {
	display: inline-block;
	width: 100%;
	max-width: 480px;
	padding: 0 15px 0;
	font-size: 1.4rem;
	text-align: left;
}
.sec01 .frame1 {
	text-align: center;
}
.sec01 .frame1 img {
	width: 100%;
	max-width: 480px;
	height: auto;
}




.sec02 {
	background: url(../../img/lp/sec02_bg.jpg) center center / cover no-repeat;
}
.sec02 .inner {
	padding: 20px 10px 40px;
}
.sec02 h2 {
	padding: 0 15px;
}
.sec02 h2 img {
	width: 100%;
	max-width: 480px;
	height: auto;
}

.sec02 .consultation_box {
	padding: 0 25px 0;
}
.sec02 .consultation_box > div {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
.sec02 .consultation_box h3 {
	text-align: center;
}
.sec02 .consultation_box > div > .img {
}
.sec02 .consultation_box > div > .img img {
	width: 100%;
	height: auto;
}
.sec02 .points {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 20px;
}
.sec02 .points .img {
	width: calc((100% - 20px) / 3);
	margin-bottom: 10px;
}
.sec02 .points .img img {
	width: 100%;
	height: auto;
}

.sec02 .text {
	margin-bottom: 85px;
	font-size: 1.4rem;
	line-height: 1.75;
	text-align: center;
}
.sec02 .frame1 {
	position: relative;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 20px 0 20px;
	background: #fff;
	border-radius: 15px;
}
.sec02 .frame1 .label {
	margin-bottom: 15px;
	text-align: center;
}
.sec02 .frame1 > p {
	font-size: 1.4rem;
	text-align: center;
}
.sec02 .frame1 .tel span {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.6rem;
	letter-spacing: 0.15em;
}
.sec02 .frame1 .tel span::before {
	content: "";
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background: url(../../img/lp/ico_tel2.png) center center / contain no-repeat;
}
.sec02 .frame1 .pop1 {
	position: absolute;
	bottom: calc(100% - 10px);
	right: 0;
	width: 80px;
	height: 93px;
}
.sec02 .frame1 .pop1 img {
	width: 100%;
	height: auto;
}



.sec03 {
}
.sec03 .inner {
	padding: 0 25px 20px;
}
.sec03 h2 {
	padding: 0 15px;
}
.sec03 h2 img {
	width: 100%;
	max-width: 480px;
	height: auto;
}
.sec03 .inner > .img {
	width: 100%;
	max-width: 380px;
	margin: 0 auto 0;
}
.sec03 .inner > .img img {
	width: 100%;
	height: auto;
}
.sec03 .inner > .img img + img {
	margin-top: 30px;
}





















