@charset "UTF-8";
main {
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
}
img {
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	display: inline-block;
}

body { background-color: #fff; }


.u-pc-hidden { display: none; }
@media screen and (max-width:767px) {
	.u-pc-hidden { display: block; }
}

/* レスポンシブデザイン */
@media screen and (min-width:768px) {
	body { width: 100%; margin: 0 auto; }
	.pcview { display: block; }
	.spview { display: none; }
	#fixedBnr img { width: 100%; max-width: 130px; }
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
	a img {
		transition: 1s;
	}
	a img:hover {
		opacity: 0.8;
		transform: translateY(-5px);
	}
	
}
@media screen and (max-width:767px) {
	.spview { display: block; }
	.pcview { display: none; }
	footer p span { display: block; }
	#fixedBnr img { width: 100%; max-width: 75px; }
}

/* アニメーション */
.fadein {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fadein.show {
	opacity: 1;
	transform: translateY(0);
}

/* header */
@media screen and (min-width:768px) {
	header h1 img {
		position: absolute;
		left: 17px;
		top: 10px;
		max-width: 139px;
		width: 30%;
	}
}
@media screen and (max-width:767px) {
	header h1 img {
		position: absolute;
		left: 8px;
		top: 12px;
		max-width: 200px;
		width: 52%;
	}
}
header {
	max-width: 1400px;
	margin: 0 auto;
	position: relative;
	z-index: 100;
}

/* fv */
.fv {
	padding-block: 26px 92px;
	background: url(../images/fv-bg.png) no-repeat center top;
}
@media screen and (max-width:767px) {
	.fv {
		padding-block: 0 53px;
		background: url(../images/fv-bg_sp.png) no-repeat center top / cover
		;
	}
}
.fv__content {
	position: relative;
	width: 100%;
}
.fv__content-main {
	position: relative;
	width: calc(1314 / 1440 * 100%);
	margin: 0 auto;
	transform: translateX(11px);
}
@media screen and (max-width:767px) {
	.fv__content-main {
		width: 168.5%;
		margin-left: -30.5%;
		margin-top: -25%;
		transform: translateX(0);
		z-index: 2;
	}
}
.fv__content-people01 {
	position: absolute;
	top: 50%;
	left: -10.8%;
	transform: translateY(calc(-50% + 10px));
	width: calc(627 / 1440 * 100%);
	z-index: 1;
}
@media screen and (max-width:767px) {
	.fv__content-people01 {
		display: none;
	}
}
.fv__content-people02 {
	position: absolute;
	top: 50%;
	right: -8.8%;
	transform: translateY(calc(-50% + 6px));
	width: calc(576 / 1440 * 100%);
	z-index: 1;
}
@media screen and (max-width:767px) {
	.fv__content-people02 {
		display: none;
	}
}
@keyframes bounce {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}
.fv__content-text01 {
	position: absolute;
	top: 11.5%;
	left: 28.5%;
	width: calc(223 / 1440 * 100%);
	animation: bounce 1.5s ease-in-out infinite;
}
.fv__content-text01,
.fv__content-text02 {
	z-index: 3;
}
@media screen and (max-width:767px) {
	.fv__content-text01 {
		top: 27%;
		left: 27.5%;
		width: calc(96 / 375 * 100%);
	}
}
.fv__content-text02 {
	position: absolute;
	top: 9%;
	right: 30%;
	width: calc(290 / 1440 * 100%);
	animation: bounce 1.5s ease-in-out infinite;
	animation-delay: 0.75s;
}
@media screen and (max-width:767px) {
	.fv__content-text02 {
		top: 75%;
		right: 29%;
		width: calc(112 / 375 * 100%);
	}
}
.fv__present {
	margin-top: 10px;
	width: min(calc(960px + 20px * 2), calc(100% - 20px * 2));
	padding: 0 20px;
	margin-inline: auto;
}
@media screen and (max-width:767px) {
	.fv__present {
		width: 100%;
		padding: 0;
		margin-top: -5px;
	}
}
.fv__present-text {
	font-size: 19.2px;
	line-height: 1.7;
	letter-spacing: 0;
	&::first-line {
		font-size: 16px;
		display: inline-block;
	}
	.--dot {
		font-size: 19.2px;
    line-height: 1.7;
    letter-spacing: 0;
		display: inline-block;
		background-image: radial-gradient(circle at center, #000 20%, transparent 20%);
		background-position: top right;
		background-repeat: repeat-x;
		background-size: 1em 0.3em;
		padding-top: .2em; /* 縦方向の位置調整 */

	}
}
@media screen and (max-width:767px) {
	.fv__present-text {
		font-size: 17px;
		line-height: 1.9;
		letter-spacing: 0;
	}
	.fv__present-text--lage {
		font-size: 20px;
		letter-spacing: 0;
		line-height: 1.7;
		font-feature-settings: "palt" 1;
	}
}
.fv__present-present-img {

	margin: 26px auto 0;

}
@media screen and (max-width:767px) {
	.fv__present-present-img {
		width: min(calc(960px + 20px * 2), calc(100% - 10px * 2));
		margin-top: 21px;
		padding: 0 10px;
	}
}
.fv__lead {
	font-size: 20px;
	line-height: 1.75;
	margin-top: 50px;
}
@media screen and (max-width:767px) {
	.fv__lead {
		font-size: 17px;
		line-height: 1.9;
		letter-spacing: -0.01em;
		margin-top: 33px;
	}
}
.fv__lead-point {
	display: inline-block;
	font-size: 26px;
	line-height: 1.2;
	margin-right: 0.3em;
	padding: 2px 6px;
	background-color: #fff;
	border-radius: 4px;
}
@media screen and (max-width:767px) {
	.fv__lead-point {
		font-size: 20px;
		line-height: 1.2;
		margin-right: 0.3em;
		padding: 2px 6px;
		border-radius: 4px;
	}
}
.fv__lead-point-gas {
	color: #44af35;
}
.fv__lead-point-oil {
	color: #2ca6e0;
}
.fv__lead-point-electricity {
	margin-right: 0;
	color: #ed7700;
}
img.fv_main {
	position: relative;
	z-index: 1;
}

/* fv animation */
@media screen and (min-width:768px) {
	.spver { display: none; }
	p.fv_flower_1 {
	max-width: 53px;
	width: 3.6%;
	position: absolute;
	left: 2%;
    top: 17%;
	}
	p.fv_flower_2 {
		max-width: 100px;
		width: 6.9%;
		position: absolute;
		left: 10%;
		top: 4.5%;
	}
	p.fv_flower_3 {
		max-width: 117px;
		width: 8.1%;
		position: absolute;
		left: 12%;
		top: 26%;
	}
	p.fv_flower_4 {
		max-width: 69px;
		width: 4.79%;
		position: absolute;
		left: 24.5%;
		top: 16%;
	}
	p.fv_flower_5 {
		max-width: 132px;
		width: 9.6%;
		position: absolute;
		right: 21%;
		top: 1%;
	}
	p.fv_flower_6 {
		max-width: 60px;
		width: 4.16%;
		position: absolute;
		right: 18%;
		top: 22%;
	}
	p.fv_flower_7 {
		max-width: 48px;
		width: 3.33%;
		position: absolute;
		right: 15%;
		top: 6%;
	}
	p.fv_flower_8 {
		max-width: 85px;
		width: 5.9%;
		position: absolute;
		right: 3%;
		top: 4%;
	}
	p.fv_flower_9 {
		max-width: 139px;
		width: 9.65%;
		position: absolute;
		left: 1.5%;
		bottom: 1%;
		z-index: 2;
	}
	p.fv_flower_10 {
		max-width: 62px;
		width: 4.3%;
		position: absolute;
		left: 18%;
		bottom: 5%;
	}
	p.fv_flower_11 {
		max-width: 106px;
		width: 10.1%;
		position: absolute;
		left: 23%;
		bottom: 13%;
	}
	p.fv_flower_12 {
		max-width: 105px;
		width: 10.1%;
		position: absolute;
		right: 22%;
		bottom: 4%;
	}
	p.fv_flower_13 {
		max-width: 93px;
		width: 6.45%;
		position: absolute;
		right: 16%;
		bottom: 17.5%;
		z-index: 2;
	}
	p.fv_flower_14 {
		max-width: 52px;
		width: 3.61%;
		position: absolute;
		right: 12%;
		bottom: 8%;
	}
	p.fv_flower_15 {
		max-width: 117px;
		width: 8.12%;
		position: absolute;
		right: 2%;
		bottom: 10%;
	}
}
@media screen and (max-width:767px) {
	.pcver { display: none; }
	p.fv_flower_3 {
		max-width: 158px;
		width: 21%;
		position: absolute;
		left: -2%;
        top: 27%;
        z-index: 0;
	}
	p.fv_flower_16 {
		max-width: 71px;
		width: 9.46%;
		position: absolute;
		left: 13%;
        top: 20%;
        z-index: 0;
	}
	p.fv_flower_8 {
		max-width: 115px;
		width: 15.33%;
		position: absolute;
		left: 27%;
        top: 20%;
        z-index: 0;
	}
	p.fv_flower_7 {
		max-width: 64px;
		width: 8.53%;
		position: absolute;
		right: 40%;
        top: 21%;
        z-index: 0;
	}
	p.fv_flower_11 {
		max-width: 143px;
		width: 19%;
		position: absolute;
		left: -7%;
        bottom: 19%;
        z-index: 0;
	}
	p.fv_flower_6 {
		max-width: 81px;
		width: 10.8%;
		position: absolute;
		left: 48%;
        bottom: 2%;
        z-index: 0;
	}
	p.fv_flower_13 {
		max-width: 123px;
		width: 16.4%;
		position: absolute;
		right: 24%;
        bottom: 6.5%;
        z-index: 1;
	}
	p.fv_leaf {
		max-width: 61px;
		width: 8.1%;
		position: absolute;
		right: 30%;
        bottom: 4%;
		z-index: 0;
	}
	p.fv_flower_12 {
		max-width: 141px;
		width: 18.8%;
		position: absolute;
		right: 2.5%;
        bottom: 2%;
        z-index: 0;
	}
	p.fv_flower_14 {
		max-width: 70px;
		width: 9.33%;
		position: absolute;
		right: 9%;
        bottom: 15%;
        z-index: 0;
	}
}
p.flower_lotate {
	animation-name: floweranimation;
	animation-duration: 8s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
@keyframes floweranimation {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* question */
.question {
	position: relative;
	background-color: #FF8DAB;
	padding-block: 79px 98px;

}
@media screen and (max-width:767px) {
	.question {
		padding-block: 0;
		background-color: #FF8DAB;
	}
}
.question__inner {
	position: relative;
	width: min(calc(1050px + 50px * 2), calc(100% - 50px * 2));
	margin: 0 auto;
	padding-inline: 50px;
}
@media screen and (max-width:767px) {
	.question__inner {
		width: 100%;
		padding: 15vw 0 26vw;
	}
}
.question__icon01 {
	width: calc(245 / 1440 * 100%);
	position: absolute;
	top: -29px;
	left: 15%;
}
@media screen and (max-width:767px) {
	.question__icon01 {
		width: calc(240 / 375 * 100%);
		top: auto;
		bottom: -24px;
		left: 50%;
		translate: calc(-50% + 13px) 0;
	}
}
.question__icon02 {
	width: calc(198 / 1440 * 100%);
	position: absolute;
	top: -21px;
	right: 16%;
}
@media screen and (max-width:767px) {
	.question__icon02 {
		width: calc(194 / 375 * 100%);
		top: -42px;
		right: 50%;
		translate: calc(50% + 5px) 0;
	}
}
.question__title {
	width: calc(576 / 1440 * 100%);
	margin: 0 auto;
	translate: 6px 0;
}
@media screen and (max-width:767px) {
	.question__title {
		width: 90%;
		translate: 0 0;
	}
}
.question__content {
	margin-top: 53px;
}
@media screen and (max-width:767px) {
	.question__content {
		margin-top: 21px;
	}
}
.question__content-img {
	width: min(987.5px, 100%);
	margin: 0 auto;
	translate: -30px 0;
}
@media screen and (max-width:767px) {
	.question__content-img {
		width: 91%;
		translate: 0 0;
	}
}
.question__icon {
	position: relative;
	left: 50%;
	width: 106vw;
	translate: -50% -31px;
	aspect-ratio: 3056 / 297;
}
@media screen and (max-width:767px) {
	.question__icon {
		width: 214%;
		translate: calc(-50% + 63px) -11px;
		aspect-ratio: 3204 / 311;
	}
}
.question__content-text {
	margin-top: 1.5vw;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.15em;
	text-align: center;
}
@media screen and (max-width:767px) {
	.question__content-text {
		margin-top: 6vw;
		font-size: 23px;
		line-height: 1.6;
		letter-spacing: 0;
	}
}

/* contact */
.contact {
	padding-block: 100px 94px;
	background-color: #d2cbdb;
}
@media screen and (max-width:767px) {
	.contact {
		padding-block: 50px 37px;
	}
}
.contact__inner {
	width: min(1000px, calc(100% - 20px * 2));
	margin: 0 auto;
	padding-inline: 20px;
}
@media screen and (max-width:767px) {
	.contact__inner {
		width: calc(100% - 14px);
		padding: 7px;
	}
}
.contact__content-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px;
}
@media screen and (max-width:767px) {
	.contact__content-row {
		flex-direction: column;
		align-items: center;
		gap: 10px;
		margin-top: 3px;
	}
}
.contact__content-row-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 1;
	padding: 30px 25px 27px;
	background-color: #fff;
	border-radius: 20px;
	border: 3px solid #422156;
}
@media screen and (max-width:767px) {
	.contact__content-row-item {
		padding: 25px 13px 15px;
		border-radius: 10px;
		border: 2px solid #422156;
	}
}
.contact__content-row-item-text {
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	margin-top: 5px;
}
@media screen and (max-width:767px) {
	.contact__content-row-item-text {
		margin-top: 10px;
	}
}
.contact__content-tel {
	width: 71%;
	margin-inline: auto;
}
@media screen and (max-width:767px) {
	.contact__content-tel {
		width: 80%;
	}
}
.contact__notice {
	margin-top: 38px;
	text-align: left;
}
@media screen and (max-width:767px) {
	.contact__notice {
		margin-top: 23px;
	}
}
.contact__notice-title {
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0;
}
@media screen and (max-width:767px) {
	.contact__notice-title {
		font-size: 14px;
		line-height: 2;
		letter-spacing: 0;
		text-align: center;
	}
}
.contact__notice-list-item {
	position: relative;
	font-size: 16px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}
@media screen and (max-width:767px) {
	.contact__notice-list-item {
		font-size: 13px;
		line-height: 1.69;
	}
}
.contact__notice-list-item::before {
	content: '●';
	width: 100%;
	height: 100%;
}
.contact__notice-list-item-link {
	color: #0000ff;
	text-decoration: underline;
	transition: opacity 0.3s;
}

@media (hover: hover) {
	.contact__notice-list-item-link:hover {
		color: #0000ff;
		opacity: 0.7;
	}
}

/* recommend */
.recommend {
	position: relative;
	background-color: #f7b856;
	padding-block: 100px;
}
@media screen and (max-width:767px) {
	.recommend {
		padding-block: 50px;
	}
}
.recommend__inner {
	width: min(1000px, calc(100% - 20px * 2));
	margin: 0 auto;
	padding-inline: 20px;
}
@media screen and (max-width:767px) {
	.recommend__inner {
		width: 100%;
		padding: 0;
	}
}
@media screen and (max-width:767px) {
	.recommend__content-img {
		width: 94%;
		margin-inline: auto;
	}
}
.recommend__content-lead {
	margin-top: 65px;
	width: min(810px, 100%);
	margin-inline: auto;
}
@media screen and (max-width:767px) {
	.recommend__content-lead {
		margin-top: 16px;
		width: 94%;
		margin-inline: auto;
	}
}
.recommend__button-wrap {
	margin-top: 72px;
}
@media screen and (max-width:767px) {
	.recommend__button-wrap {
		margin-top: 43px;
	}
}
.recommend__button-text {
	width: min(467px, 100%);
	margin-inline: auto;
}
@media screen and (max-width:767px) {
	.recommend__button-text {
		width: 64%;
		margin-inline: auto;
	}
}
.recommend__button {
	width: min(352px, 100%);
	margin-inline: auto;
	margin-top: 21px;
}
@media screen and (max-width:767px) {
	.recommend__button {
		width: 72%;
		margin-inline: auto;
		margin-top: 18px;
	}
}

/* footer */
@media screen and (min-width:1000px) {
	footer .content .main {
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 40px 0;
	}
}
@media screen and (max-width:999px) {
	footer .content .main {
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 40px 20px;
	}
}
@media screen and (min-width:768px) {
	footer .content .main > div.logo {
		width: 65%;
		text-align: left;
	}
	footer .content .main > div.sns {
		border: 2px solid rgba(62,58,57,.3);
		border-radius: 10px;
		padding: 40px 0;
		width: 30%;
	}
	div.sns ul li {
		margin: 0 2%;
	}
	footer .links {
		padding: 40px;
	}
	footer .links ul li a {
		font-size: 0.875rem;
		padding: 0 20px;
	}
	footer .copyright {
		background-color: #14A83B;
		padding: 40px;
		margin: 0 auto;
		color: #fff;
		font-size: 0.75rem;
	}
	#fixedBnr {
		position:fixed;
		bottom: 135px;
		right: 40px;
		text-align: right;
		z-index: 5;
	}
}
@media screen and (max-width:767px) {
	footer .content .main > div.logo {
		width: 100%;
		text-align: center;
	}
	footer .content .main > div.logo p a.tel_footer_sp {
		display: block;
		margin: 20px auto 0;
	}
	footer .content .main > div.sns {
		border: 2px solid rgba(62,58,57,.3);
		border-radius: 10px;
		padding: 20px 0;
		width: 75%;
		max-width: 410px;
		margin: 40px auto 0;
	}
	div.sns ul li {
		margin: 0 4%;
	}
	footer .links {
		padding: 20px 5px;
	}
	footer .links ul li a {
		font-size: 0.75rem;
		padding: 0 5px;
	}
	footer .copyright {
		background-color: #14A83B;
		padding: 20px 5px 70px;
		margin: 0 auto;
		color: #fff;
		font-size: 0.5rem;
	}
	#fixedBnr {
		position:fixed;
		bottom: 15px;
		right: 5px;
		text-align: right;
		z-index: 5;
	}
}

footer {
	margin: 0 auto;
	overflow: hidden;
	text-align: center;
	clear: both;
}
footer .content .main .logo p {
	font-size: .75rem;
}
div.sns ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
div.sns ul li a img {
	height: 60px;
}
div.sns p {
	margin: 20px auto 0;
}
img.logo_footer {
	max-width: 400px;
	width: 80%;
	margin-bottom: 10px;
}
img.tel_footer {
	max-width: 470px;
	width: 80%;
	margin-top: 30px;
}
footer .links {
	background-color: #F2F2F2;
	margin: 0 auto;
}
footer .links ul li {
	border-left: 1px solid #000;
	display: inline-block;
	line-height: 1;
}
footer .links ul li:last-child {
	border-right: 1px solid #000;
}

/* Animation Question */
@media screen and (min-width:768px) {
	.question__content .question_par {
		position: relative;
		height: 520px;
	}
	.question_par .question_image_1 {
		max-width: 390px;
		width: 37.1%;
		position: absolute;
		left: 12.5%;
	}
	.question_par .question_image_2 {
		max-width: 350px;
		width: 33.3%;
		position: absolute;
		left: 34%;
		top: 22%;
	}
	.question_par .question_image_3 {
		max-width: 302px;
		width: 28.7%;
		position: absolute;
		right: 13%;
		top: 4%;
	}
	.question_par .question_image_4 {
		max-width: 398px;
		width: 37.9%;
		position: absolute;
		left: 4.5%;
		top: 32.5%;
	}
	.question_par .question_image_5 {
		max-width: 370px;
		width: 35.2%;
		position: absolute;
		right: 10.5%;
		top: 28%;
	}
	.question_par .question_image_6 {
		max-width: 274px;
		width: 26.1%;
		position: absolute;
		left: 30%;
		top: 55%;
	}
	.question_par .question_image_7 {
		max-width: 349.5px;
		width: 33.28%;
		position: absolute;
		right: 21%;
		top: 71%;
	}
	.question_par .question_image_2.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
		transition-delay: 1.5s;
	}
	.question_par .question_image_3.fadein {
		transition: opacity 1.2s ease-out, transform 1.2s ease-out;
		transition-delay: 1s;
	}
	.question_par .question_image_4.fadein {
		transition: opacity 1.2s ease-out, transform 1.2s ease-out;
		transition-delay: 1.5s;
	}
	.question_par .question_image_5.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
		transition-delay: 2s;
	}
	.question_par .question_image_6.fadein {
		transition: opacity 1.2s ease-out, transform 1.2s ease-out;
		transition-delay: 2s;
	}
	.question_par .question_image_7.fadein {
		transition: opacity 1.2s ease-out, transform 1.2s ease-out;
		transition-delay: 2.5s;
	}
}
@media screen and (max-width:767px) {
	.question__content .question_par {
		position: relative;
		height: min(1320 / 768 * 100vw, 1320px);;
	}
	.question_par .question_image_1 {
		max-width: 581px;
		width: 77.7%;
		position: absolute;
		left: 8.3%;
	}
	.question_par .question_image_2 {
		max-width: 481px;
		width: 66.8%;
		position: absolute;
		right: 8.3%;
		top: 15.6%;
		transition-delay: 1s;
	}
	.question_par .question_image_3 {
		max-width: 500px;
		width: 69.4%;
		position: absolute;
		right: 5.5%;
		top: 25%;
		transition-delay: 1s;
	}
	.question_par .question_image_4 {
		max-width: 481px;
        width: 66.8%;
        position: absolute;
        left: 5.5%;
        top: 43.4%;
		transition-delay: 1s;
	}
	.question_par .question_image_5 {
		max-width: 529px;
		width: 73.4%;
		position: absolute;
		right: 5.4%;
		top: 55%;
		transition-delay: 1s;
	}
	.question_par .question_image_6 {
		max-width: 379px;
		width: 52.6%;
		position: absolute;
		left: 8.3%;
		top: 74%;
		transition-delay: 1s;
	}
	.question_par .question_image_7 {
		max-width: 481px;
		width: 66.8%;
		position: absolute;
		right: 5.5%;
		top: 88%;
		transition-delay: 1s;
	}
	.question_par .question_image_2.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
	.question_par .question_image_3.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
	.question_par .question_image_4.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
	.question_par .question_image_5.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
	.question_par .question_image_6.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
	.question_par .question_image_7.fadein {
		transition: opacity 1.6s ease-out, transform 1.6s ease-out;
	}
}