@charset "UTF-8";

body {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-size: 20px;
	color: #3E3A39;
	line-height: 1.8;
	letter-spacing: .05em;
	background: #FFEEDE;
}

/* -------------------- common -------------------- */

.text_highlight {
	color: #EE7800;
	font-weight: bold;
}

.text_primary {
	color: #FFEEDE;
}

.text_replace {
	position: absolute;
	right: 200%;
}

.title {
	display: block;
	margin: 0 auto 80px;
	max-width: 100%;
	max-height: 64px;
}

.frame {
	position: relative;
	background: #fff;
	z-index: 1;
}

.frame::before {
	content: "";
	position: absolute;
	display: block;
}

.frame::before {
	top: 0;
	left: 0;
	border-top: 2em solid;
	border-right: 2em solid;
}

.icon::before {
	content: "";
	display: inline-block;
	margin: 0 .3em 0 0;
	width: 1em;
	height: 1em;
	background-size: cover;
}

.icon_sp::before {
	background-image: url("../images/icon_sp.png");
}

.path-frame {
	position: relative;
}

/* .path-frame::before,
.path-frame::after,
.path-frame__container,
.topics__info,
.solve__img,
.banner__frame,
.topics__img {
	clip-path: polygon(0 2em, 2em 0, 100% 0, 100% calc(100% - 2em), calc(100% - 2em) 100%, 0 100%);
} */

.path-frame::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.path-frame::after {
	content: "";
	position: absolute;
	top: 8px;
	left: 8px;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .2);
	z-index: 0;
}

.path-frame__container {
	position: relative;
	z-index: 1;
} 

.check-list {
	display: inline-block;
	padding: 40px;
	text-align: left;
	font-weight: bold;
}

.check-list__item {
	padding: .4em 0 .4em 1.6em;
	position: relative;
	text-indent: -1.6em;
}

.check-list__item::before {
	content: "";
	display: inline-block;
	/* position: absolute; */
	top: .7em;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	margin: 0 .4em 0 0;
	background-image: url("../images/check_gray.png");
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: text-bottom;
}

.slide-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 64px;
	cursor: pointer;
	z-index: 999;
	border-radius: 50%;
	background: #FFEEDE;
}

.slide-arrow_prev {
	left: -32px;
	transform: translateY(-50%) rotate(180deg);
}

.slide-arrow_next {
	right: -32px;
}

.slick-slide img {
	display: block !important;
}

.hover:hover {
	opacity: .8;
	transition: .1s ease;
}

.page__section {
	padding: 80px 0;
}

.page__contents {
	position: relative;
	padding: 0 80px;
	max-width: 1280px;
	margin: 0 auto;
	overflow: hidden;
}

/* -------------------- animation -------------------- */
.fadeUp {
	opacity:0;
}

.Up {
	animation-name: fadeUpAnime;
	animation-duration: .8s;
	animation-fill-mode: forwards;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(50px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fadeIn {
	opacity: 0;
}

.In {
	animation-name: fadeInAnime;
	animation-duration: .8s;
	animation-fill-mode: forwards;
}

@keyframes fadeInAnime {
	from {
		opacity: 0;
		transform: translateX(-50px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* -------------------- nav -------------------- */

.nav {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	padding: 8px 24px;
	background: #EE7800;
	z-index: 1000;
	font-size: 24px;
	box-sizing: border-box;
}

.nav__img-wrapper {
	flex: 1;
	max-width: 400px;
	margin: 0 8px 36px 0;
}

.nav__img {
	display: block;
	width: 100%;
}

.nav__img-responsive {
	display: none;
}

.nav__button {
	display: flex;
	align-items: center;
	max-width: 560px;
	justify-content: center;
	height: 56px;
	padding: 8px 40px;
	border-radius: 50px;
	background: #fff;
	color: #EE7800;
	font-weight: bold;
}


/* -------------------- top -------------------- */

.top {
	position: relative;
	background: linear-gradient(0deg,rgba(255, 238, 222, 1) 0%, rgba(255, 255, 255, 1) 50%);
	z-index: -2;
}

.top__bg {
	width: 50%;
}

.top__txt {
	position: absolute;
	width: 47%;
	top: 30px;
	right: 20px;
	overflow: hidden;
}

.top__bg-item {
	position: relative;
	padding-top: 123%;
}

.top__bg-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}


.top__catch-img {
	width: 100%;
}

.top__catch-img-sp {
	display: none;
}

.top__sub-catch {
	position: relative;
	top: -40px;
	z-index: -1;
}


.top__sub-img {
	display: block;
	width: 100%;
	margin: auto;
}

.top__vs-img {
	display: block;
	position: absolute;
	width: 52%;
	max-width: 2000px;
	bottom: 0;
	right: 0;
}

/* -------------------- intro -------------------- */

.intro {
	position: relative;
}

.intro__title-wrapper {
	position: sticky;
	width: 46%;
	margin: 260px 0 0;
	top: 50%;
	transform: translateY(-50%);
	text-align: center;
	background: #FFEEDE;
	z-index: 999;
}

.intro__title-wrapper::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 40px 0 40px 60px;
	border-color: transparent transparent transparent #FFEEDE;
}

.intro__title {
	width: 64%;
}

.intro__img {
	width: 100%;
	max-width: 228px;
}

.intro__item {
	margin: 0 0 160px;
	color: #3E3A39;
}

.intro__caption {
	font-size: 18px;
	font-weight: bold;
}

.intro__sub {
	color: #fff;
	font-size: 32px;
	font-weight: bold;
}

.intro__sub span {
	position: relative;
}

.intro__sub span::before {
	content: "";
	position: absolute;
	width: 100%;
	bottom: -4px;
	left: 0;
	height: 4px;
	background: #FFEEDE;
}

.intro__contents {
	width: 54%;
	margin: 400px 0 0 auto;
	background: #fff;
	text-align: center;
	padding: 160px 40px 80px;
	box-sizing: border-box;
}

.intro__frame {
	display: inline-block;
	max-width: 800px;
	margin: 40px auto;
}

.intro .path-frame::before {
	background: #c3c3c3;
}

.intro .path-frame__container {
	margin: 2px;
	background: #fff;
} 

.intro .check-list__item {
	border-bottom: 1px solid #c3c3c3;
}

.intro .check-list__item:last-child {
	border-bottom: none
}


/* -------------------- solve -------------------- */

.solve__title {
	display: block;
	width: 80%;
	margin: 200px auto 80px;
}

.solve__group {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 0 80px;
	padding: 40px;
	border-radius: 20px;
	background: #EE7800;
	color: #fff;
	list-style-type: none;
	counter-increment: cnt;
}

.solve__group:last-child {
	margin: 0 auto;
}

.solve__group::before {
	content:  "0" counter(cnt) "";
	position: absolute;
	right: 0;
	bottom: -50px;
	font-size: 110px;
	font-weight: bold;
	color: #ffffff50;
}

.solve__img {
	display: block;
	width: 40%;
	min-width: 320px;
	margin: 0 24px 0 0;
	object-fit: cover;
}

.solve__info {
	position: relative;
	flex: 1;
}

.solve__caption {
	font-size: 40px;
}

.solve__pick-img {
	position: absolute;
	top: -80px;
	left: -80px;
	width: 300px;
}

.solve__caption span {
	display: inline-block;
	padding: 0 8px;
	line-height: 1.4;
	background: #fff;
	color: #EE7800;
	text-indent: .07em;
}

/* -------------------- voice -------------------- */

.voice .page__contents {
	padding: 0;
    margin: auto;
    max-width: 100%;
}

.voice__headline {
	display: block;
	width: 90%;
	max-width: 1000px;
	margin: auto;
}

.voice__trust {
	display: flex;
	align-items: center;
	padding: 40px 80px;
    max-width: 1280px;
    margin: 0 auto 80px;
}

.voice__trust-txt {
	padding: 40px;
	margin:  0 10px 10px 0;
	background: #fff;
	border-radius: 10px;
	border: 5px solid #FFDBB7;
	box-shadow: 10px 10px 0px 0px rgba(255, 219, 183, 1);
}

.voice__trust-img {
	width: 100%;
	max-width: 550px;
}

.voice__slider {
	/* position: relative; */
}

.voice__slider::before {
	content: "";
    display: block;
    position: absolute;
    top: -30px;
    left: 50%;
    width: 50%;
    height: 90px;
    transform: translateX(-50%);
    background-image: url(../images/voice_txt.png);
    background-repeat: no-repeat;
	background-position: center;
    background-size: contain;
    z-index: 1;
}
.voice .slide-arrow_next {
	right: 11%;
}

.voice .slide-arrow_prev {
	left: 11%;
}

.voice__slider-content {
	width: 100%;
	padding: 60px 40px 40px;
	box-sizing: border-box;
	background: #fff;
	border: 5px solid #FFDBB7;
	border-radius: 20px;
	box-shadow: 10px 10px 0px 0px rgba(255, 219, 183, 1);
}
.voice__slider-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 8px 0;
	margin: 0 0 16px 0;
	border-bottom: 2px solid #FFDBB7;
}

.voice__slider .slick-track {
	display: flex;
	gap: 40px;
	padding: 20px 0;
}

.voice__slider .slick-slide {
	float: none;
}

.slider-title {
	font-size: 36px;
	font-weight: bold;
}

.voice__img {
	width: 15%;
}

/* -------------------- banner -------------------- */

.banner {
	position: relative;
	background-color: #008842;
}

.banner__inner::after,
.banner__inner::before {
	content: "";
	display: block;
	position: absolute;
	width: 12em;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
	pointer-events: none
}

.banner__inner::before {
	bottom: -20px;
	left: -80px;
	height: 12em;
	background-image: url(../images/banner__illustration_1.png);
	background-position: left bottom;
}

.banner__inner::after {
	bottom: 0;
	right: -80px;
	height: 13em;
	background-image: url(../images/banner__illustration_2.png);
	background-position: right bottom;
}

.banner .page__contents {
	padding-top: 56px;
}

.banner__headline {
	display: block;
	width: 100%;
	max-width: 890px;
	margin: calc(-4% - 20px) auto 0;
}

.banner__title {
	margin: 32px 0 24px;
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
}

.banner__prefecture {
	padding: 4px 8px;
	margin-right: 2px;
	color: #fff;
	background-color: #008842;
	font-size: 40px;
}

.banner__size {
	font-size: 40px;
}

.banner__inner {
	position: relative;
	margin: 0 auto;
	padding: 40px 40px 80px 40px;
	text-align: center;
	background: #fff;
	border-radius: 16px;
}

.banner__items {
	display: flex;
	margin: 0 -20px;
}

.banner__frame {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 20px;
	padding: 40px 8px;
	background: #FFEEDE;
	color: #3E3A39;
}

.banner__frame_column {
	flex-direction: column;
}

.banner__frame-title {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	font-weight: bold;
	line-height: 1;
}

.banner__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 14em;
	margin: 16px auto 0;
	padding: 24px 40px;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
}

.web {
	color: #fff;
	background: #EE7800;
	border-radius: 1.5em;
	box-shadow: 5px 8px 0px 0px rgba(255, 199, 142, 1);
}

.phone {
	color: #EE7800;
}

.banner__button_line {
	display: none;
	background: #06c755;
	color: #fff;
}

.banner__button span {
	flex: 1;
}

.web::after,
.phone::before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-position: center;
}

.web::after {
	width: 1em;
	height: 1em;
	margin: 0 0 0 .2em;
	background-image: url("../images/arrow_text.png");
	background-size: contain;
	background-color: #fff;
	border-radius: 50%;
}

.phone::before {
	width: 1.2em;
	height: 1.2em;
	margin: 0 .2em 0 0;
	background-image: url("../images/icon_phone.png");
	background-size: 60%;
	background-color: #EE7800;
	border-radius: 50%;
}

.banner__qr {
	display: block;
	width: 120px;
	margin: 0 0 0 24px;
}

.banner__contents {
	display: flex;
	justify-content: center;
	margin: 40px 0 0 0;
}

.banner__contents .banner__frame-title {
	margin: 0 40px 0 0;
}

.banner__contents .text_highlight {
	font-weight: bold;
	font-size: 40px;
	letter-spacing: .1em;
	text-indent: .1em;
	line-height: 1;
	pointer-events: none;
}

/* -------------------- notice -------------------- */

.notice {
	padding: 0 0 80px;
}

.notice__title {
	position: relative;
	margin: 0 0 16px;
	text-align: center;
}

.heading__title {
	padding: 0 10px;
	background: #FFEEDE;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}

.notice__title::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	width: 100%;
	border-bottom: 1px solid #2c2b20;
	z-index: -1;
}

.notice__txt {
	padding: 0 24px;
}

/* -------------------- difference -------------------- */

.difference {
	padding: 0 !important;
}

.difference__title-wrap {
	background-color: #008842;
}

.difference__title {
	clip-path: polygon(0px 0, 50% 6vw, 100% 0, 100% calc(100% - 6vw), 50% 100%, 0 calc(100% - 6vw));
	background-image: url("../images/difference_bg.jpg");
	background-size: cover;
	background-position: center center;
	padding: 9vw 80px 6vw;
}

.difference__title-img {
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}

.difference__contents {
	background: #fff;
	margin: -6vw 0 0;
	padding: 120px 0 40px;
}

.difference__group:nth-child(1) .difference__img,
.difference__group:nth-child(3) .difference__img,
.difference__group:nth-child(4) .difference__img {
	right: 0;
}

.difference__group:nth-child(2) .difference__info {
	margin: 0 0 0 auto;
}

.difference__group {
	position: relative;
	align-items: center;
	justify-content: space-between;
	margin: 80px 0 14%;
}

.difference__group:nth-child(4) {
	padding: 40px 0;
	background-color: #008842;
	color: #fff;
}

.difference__group:nth-child(4) .text_highlight {
	display: inline-block;
	padding: 0 8px;
	line-height: 1.2;
	background-color: #fff;
}
.difference__group:nth-child(4)::before {
	content: "04";
	position: absolute;
	top: -120px;
	left: 0;
	font-size: 96px;
	font-weight: bold;
	color: #008842;
}

.difference__img {
	display: block;
	position: absolute;
	width: 45%;
	top: 50%;
	transform: translateY(-50%);
}

.difference__group:nth-child(4) .difference__img {
	width: 55%;
}

.difference__img-responsive {
	display: none;
}

.difference__info {
	position: relative;
	width: 50%;
	padding: 0 4%;
	overflow: hidden;
	z-index: 1;
}

.difference__caption {
	display: block;
	width: 100%;
	margin: 0 0 64px;
}

.difference__text {
	font-size: 24px;
}

.difference__sliders {
	background-image: url("../images/difference_text_bg.png");
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: left -20% center;
}

.slide .difference__caption {
	width: 60%;
	margin: 4% auto;
}

.difference .slick-slide {
	margin: 0 .3% 0 0;
}

/* -------------------- post -------------------- */

.post {
	background: #fff;
	position: relative;
	padding: 80px 0 0 !important;
}

.post__inner {
	width: 100%;
	max-width: 880px;
	margin: 0 auto -160px;
	background-image: url("../images/post_bg.png");
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top 0;
}

.post__headline {
	display: flex;
	align-items: center;
	flex-direction: column-reverse;
	text-align: center;
}

.post__title {
	width: 200px;
	margin: 80px 0 32px;
	padding: 8px 0;
	color: #008842;
	border: 3px solid #008842;
	border-radius: 8px;
	font-size: 20px;
	letter-spacing: .1em;
	text-indent: .1em;
}

.post__text {
	padding: 20% 0 0;
	font-size: 32px;
	font-weight: bold;
}

.post__list {
	font-weight: bold;
	padding: 0 40px 240px;
	max-width: 580px;
	margin: 0 auto;
}

.post__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
	border-bottom: 3px dotted #008842;
}

.post__feature {
	position: relative;
	padding: 180px 80px;
	background-image: url(../images/feature__bg.jpg);
	background-size: cover;
}

.post__feature::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, 1));
	background-repeat: no-repeat;
}

.feature__text {
	position: relative;
	width: fit-content;
	line-height: 1.5;
	margin-left: auto;
	font-size: 50px;
	font-weight: bold;
	color: #fff;
	text-shadow: 0px 0px 10px rgba(62, 58, 57, 1);
	z-index: 1;
}

.feature__text span {
	padding: 8px 6px;
	background: #fff;
	color: #008842;
	font-size: 56px;
	text-shadow: none
  }

  .feature__text span:last-of-type {
	margin-right: 4px;
  }

/* -------------------- carousel -------------------- */

.carousel__item {
	overflow: hidden;
}

.carousel__img {
	width: 40%;
	float: left;
}

.carousel__info {
	float: left;
	width: calc(60% - 24px);
	margin: 0 0 0 24px;
}

.carousel__caption {
	font-size: 24px;
	margin: 0 0 8px 0;
}

.carousel__tag {
	margin: 0 0 16px;
	color: #fff;
	line-height: 1;
	font-size: 16px;
}

/* -------------------- risk -------------------- */

.risk {
	position: relative;
	padding: 0 !important;
	background: #fff;
	z-index: -1;
}

.risk__inner {
	position: relative;
	padding: 0 40px;
	text-align: center;
	clip-path: polygon(0px 0, 100% 0, 100% calc(100% - 6vw), 50% 100%, 0 calc(100% - 6vw));
	background: #FFEEDE;
}

.risk__container {
	padding: 200px 0;
	background: #FFEEDE;
}

.risk__container::before {
	position: absolute;
	top: 1px;
	bottom: 6vw;
	left: 0;
	width: 100%;
	background: repeating-linear-gradient(135deg, #FFEEDE, #FFEEDE 20px, #2c2b20 20px, #2c2b20 40px);
	content: '';
	z-index: -1;
}

.risk__container::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 6vw;
	left: 0;
	width: 100%;
	background: linear-gradient(#FFEEDE 0%, transparent 20%, transparent 80%, #FFEEDE 100%);
	z-index: -1;
}

.risk__title {
	display: block;
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
}

.risk__title_main {
	animation-delay: .8s;
}

.risk__text {
	margin: 24px 0 0;
	font-size: 24px;
	font-weight: bold;
}

.risk__caption {
	font-size: 18px;
	font-weight: bold;
}

.risk__text::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 32px solid;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	margin: 24px auto 16px;
}

.risk__text span {
	display: inline-block;
	color: #fff;
	background: #2c2b20;
	line-height: 1;
	margin: 0 8px;
	padding: 4px 8px;
}

.risk__list {
	display: flex;
	justify-content: center;
}

.risk__item {
	margin: 0 16px;
}

.risk__img {
	display: block;
	width: 200px;
	margin: 0 auto;
}

.risk__bg {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 40%;
}

/* -------------------- result-------------------- */

.result {
	position: relative;
	padding: 80px 0 0 !important;
	background: #fff;
	text-align: center;
}

.result::before {
	/* content: ""; */
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.result__title {
	position: relative;
	display: block;
	width: 60%;
	margin: -100px auto 0;
}

.result__list {
	position: relative;
	display: inline-block;
	margin: 80px 0;
	font-size: 32px;
	font-weight: bold;
	text-align: left;
}

.result .check-list__item {
	animation-delay: .5s;
	padding: .4em 0 .4em 2em;
}

.result .check-list__item::before {
	top: .5em;
	width: 1.6em;
	height: 1.6em;
	background-image: url("../images/result_check.png");
}

.result__img {
	display: block;
	width: 100%;
	margin: -200px 0 0;
	z-index: -1;
}

.result__main-text-wrapper {
	position: absolute;
	bottom: -10%;
	left: 0;
	right: 0;
	width: calc(100% - 80px);
	max-width: 1004px;
	margin: 0 auto;
}

.result__main-text {
	display: block;
	width: 100%;
}

.result .path-frame::before {
	background: #006bb5;
}

.result .path-frame__container {
	margin: 8px;
	padding: 64px 100px;
	background: #fff;
	overflow: hidden;
}

/* -------------------- work -------------------- */

.work {
	padding: 100px 80px;
	background-color: #fff;
}

.work__list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
}

.works__switch {
	position: relative;
	margin: 0 auto;
	text-align: center;
	z-index: 0;
	pointer-events: auto;
  }
  
  /* inputは非表示 */
  .works__switch input {
	display: none;
  }
  
  /* 画像の重ね表示 */
  .works__image {
	position: relative;
	width: 100%;
	height: 400px;
	overflow: hidden;
	z-index: 0;
  }
  
  .works__image .img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 1;
	pointer-events: none;
  }
  
  /* inputがチェックされた時の表示切替 */
  input[id^="before"]:checked ~ .works__image .before,
  input[id^="after"]:checked ~ .works__image .after {
	opacity: 1;
  }
  
  /* ボタンの見た目 */
  .works__buttons {
	display: flex;
	justify-content: center;
	margin-top: 16px;
	position: relative;
	z-index: 5;
  }
  
  .btn {
	display: inline-block;
	padding: 8px 24px;
	width: 100px;
	font-size: 20px;
	font-weight: bold;
	border: 2px solid #008842;
	cursor: pointer;
	position: relative;
	pointer-events: auto;
	z-index: 10;
  }
  
  /* Beforeボタン */
  .btn.before {
	background: #fff;
	color: #333;
  }
  
  /* Afterボタン */
  .btn.after {
	background: #008842;
	color: #fff;
  }
  
  /* チェック時のボタン状態 */
  input[id^="before"]:checked ~ .works__buttons .before,
  input[id^="after"]:checked ~ .works__buttons .after {
	background: #008842;
	color: #fff;
  }

  input[id^="after"]:checked ~ .works__buttons .before,
  input[id^="before"]:checked ~ .works__buttons .after {
	background: #fff;
	color: #333;
  }

.work__comparison {
	display: flex;
	max-width: 1200px;
	margin: auto;
	justify-content: space-between;
	flex-wrap: wrap;
}

.work__content {
	width: calc((100% - 40px) / 2);
	margin: 0 0 40px 0;
}
  
.work__item-title {
	padding: 8px 0;
	background-color: #EFEFEF;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}
.work__item-txt {
	font-size: 24px;
	font-weight: 300;
}

/* -------------------- topics -------------------- */

.topics {
	position: relative;
	padding: 120px 0 180px;
}

.topics::before {
	content: "TOPICS";
	position: absolute;
	top: 320px;
	left: -25vw;
	font-size: 15vw;
	color: #FFC78E;
	font-weight: bold;
	transform: rotateZ(90deg);
}

.topics__carousel {
	max-width: 1200px;
	margin: auto;
}

.topics__item {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	background-color: #fff;
}

.topics__carousel .slick-track {
	display: flex;
	gap: 16px;
	padding: 20px 0;
}

.topics__carousel .slick-slide {
	float: none;
}

.topics .slide-arrow_next {
	right: -2%;
}

.topics .slide-arrow_prev {
	left: -2%;
}

.topics .slick-list {
	overflow: visible;
}

.topics__img {
	width: 100%;
}

.topics__info {
	padding: 40px ;
	background: #fff;
}

/* -------------------- step -------------------- */

.step__list {
	display: flex;
	justify-content: space-between;
	align-self: stretch;
    gap: 40px;
}

.step__item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: calc((100% - 80px) / 3);
	margin: 0 0 3em;
	list-style-type: none;
	counter-increment: cnt;
	box-sizing: border-box;
}

.step__item::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -1.5em;
	transform: translateY(-50%);
	width: 3em;
	height: 3em;
	background-image: url(../images/arrow.png);
	background-size: contain;
	background-color: #FFEEDE;
	border-radius: 50%;
	border: none !important;
	z-index: 1;
}

.step__info::before {
	content: "0" counter(cnt) "";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 34px;
	font-weight: bold;
	line-height: 1;
	color: #EE7800;
}

.step__item:last-child::after {
	content: none;
}

.step__info {
	flex: 1;
	padding: 24px 40px 0 80px;
}

.step__caption {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}

.step__img {
	display: block;
	margin-top: auto;
	position: relative;
	width: calc(100% - 80px);
	padding: 16px 0 0 80px;
	z-index: 1;
}

.step .frame::before {
	border-top: 80px solid #FFEEDE;
	border-right: 80px solid transparent;
}

.step__result {
	position: relative;
	display: flex;
	padding: 3px 3px 3px 40px;
	align-items: center;
	justify-content: space-between;
	max-width: 1000px;
	margin: 80px auto 0;
	color: #fff;
	background-color: #FFAC57;
	border-radius: 10px;
	box-sizing: border-box;
}

.step__result::before {
	content: "";
	display: block;
	position: absolute;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
	border-style: solid;
	border-right: 125px solid transparent;
	border-left: 125px solid transparent;
	border-top: 40px solid #ffac57;
	border-bottom: 0;
}

.result__info {
	padding: 16px 40px 16px 0;
	flex: 1;
}

.result__caption {
	margin: 0 0 12px;
	font-size: 36px;
	font-weight: bold;
	line-height: 1.2;
}

.step__result-img {
	display: block;
	position: relative;
	width: 320px;
	height: auto;
	z-index: 1;
	border-radius: 0 10px 10px 0;
	border: 5px solid #FFAC57;
	object-fit: cover;
}

/* -------------------- flow -------------------- */

.flow__item {
	display: flex;
	align-items: center;
	height: 200px;
	margin: 0 0 3em;
	list-style-type: none;
	counter-increment: cnt;
	box-sizing: border-box;
}

.flow__item::after {
	content: "";
	position: absolute;
	bottom: -1.5em;
	left: 50%;
	transform: translateX(-50%) rotate(90deg);
	width: 3em;
	height: 3em;
	background-image: url(../images/arrow.png);
	background-size: contain;
	background-color: #FFEEDE;
	border-radius: 50%;
	border: none !important;
}

.flow__info::before {
	content: "0" counter(cnt) "";
	position: absolute;
	top: 0;
	left: 0;
	font-size: 34px;
	font-weight: bold;
	line-height: 1;
	color: #EE7800;
}

.flow__item:last-child::after {
	content: none;
}



.flow__info {
	flex: 1;
	padding: 0 40px 0 80px;
}

.flow__caption {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}

.flow__img {
	display: block;
	position: relative;
	height: 100%;
	z-index: 1;
}

.flow .frame::before {
	border-top: 80px solid #FFEEDE;
	border-right: 80px solid transparent;
}

/* -------------------- qa -------------------- */

.qa {
	position: relative;
	background: #fff;
}

.qa__inner {
	position: relative;
	z-index: 1;
}

.qa__list {
	text-align: center;
	margin: 0 -12px;
	font-size: 18px;
	overflow: hidden;
}

.qa__item {
	float: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(50% - 24px);
	height: 240px;
	color: #fff;
	background: #008842;
	border-radius: 16px;
	padding: 0 24px;
	margin: 0 12px 24px;
	box-sizing: border-box;
}

.qa__list dt {
	font-weight: bold;
	margin: 0 0 16px;
}

.qa__text {
	display: inline-block;
	text-align: left;
}

.footer {
	padding: 40px 0 180px;
	background: #eaeaea;
}

.footer__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 16px;
}

.footer__logo {
	display: block;
	width: 350px;
}

.footer__info {
	margin: 0 0 0 40px
}

.footer__info a {
	color: #3E3A39;
	pointer-events: none;
}

.footer address {
	font-style: normal;
}

.footer small {
	display: block;
	margin: 24px 0 0 0;
	padding: 16px 16px 0;
	border-top: 1px solid #c3c3c3;
	text-align: center;
	line-height: 1.4;
}

@media screen and (max-width: 1024px) {
	
	.page__section {
		padding: 64px 0;
	}

	.page__contents {
		padding: 0 80px;
		max-width: 720px;
	}

	.nav {
		font-size: 30px;
		align-items: center;
	}

	.top {
		height: auto;
	}

	.top__txt {
		width: 42%;
		top: 20px;
	}

	.top__catch {
		width: 100%;
	}

	.top__bg {
		width: 54%;
	}

	.top__bg-item {
		padding-top: 100%;
	}

	.top__vs-img {
		width: 48%;
	}

	.intro__title-wrapper {
		top: 0;
		width: auto;
		margin: 80px 0 0;
		padding: 40px;
		transform: none;
	}

	.intro__title {
		width: 100%;
		max-width: 400px;
	}

	.intro__title-wrapper::before {
		top: 100%;
		left: 50%;
		transform: translate(-50%, 0);
		border-width: 24px 20px 0;
		border-color: #FFEEDE transparent transparent;
	}

	.intro__contents {
		width: auto;
		margin: 0 0 56px 0;
	}

	.intro__item {
		margin: 0 0 80px;
	}

	.intro__frame {
		margin-bottom: -48px;
	}

	.voice__trust {
		display: block;
	}

	.voice__trust-img {
		display: block;
		margin: auto;
	}

	.solve__info {
		margin: 24px 0 0 0;
	}

	.solve__title {
		width: 100%;
		margin: 0 auto 80px;
	}

	.solve__group {
		display: block;
		max-width: 500px;
		margin: 0 auto 40px;
	}

	.solve__img {
		width: 100%;
		min-width: auto;
	}

	.solve__pick-img {
		left: 0;
	}

	.banner__items,
	.banner__contents {
		display: block;
		max-width: 560px;
		margin: 0 auto;
	}

	.banner__frame {
		display: block;
		margin: 0 0 24px 0;
	}

	.banner__contents .banner__frame-title {
		margin: 0;
	}

	.banner__contents .text_highlight {
		display: block;
		margin: 16px 0 8px;
		text-decoration: underline;
		pointer-events: auto;
	}

	.banner__qr {
		display: none;
	}

	.banner__prefecture {
		font-size: 32px;
	}
	
	.banner__size {
		font-size: 32px;
	}

	.banner__button_line {
		display: flex;
	}

	.difference__group {
		max-width: 720px;
		margin:0 auto 120px;
	}

	.difference__group:nth-child(4) {
		max-width: 100%;
		padding: 40px 120px;
	}

	.difference__group:nth-child(4)::before {
		left: 120px;
	}

	.difference__info {
		width: auto;
		padding: 0 40px 40px;
		min-width: auto;
	}

	.difference__img {
		position: static;
		width: 100%;
		transform: none;
	}

	.difference__group:nth-child(4) .difference__img {
		display: none;
	}

	.difference__img-responsive {
		display: block;
		width: 100%;
	}

	.slide .difference__caption {
		width: calc(100% - 80px);
		max-width: 600px;
	}

	.post__inner {
		max-width: none;
		background-size: 124%;
		margin: 0 auto;
	}

	.post__carousel {
		background: #FFEEDE;
	}

	.carousel__container {
		top: -80px;
		max-width: 680px;
		overflow: hidden;
	}

	.carousel__item {
		overflow: visible;
	}

	.carousel__img {
		float: none;
		width: 100%;
	}

	.carousel__info {
		float: none;
		width: auto;
		margin: 16px 0 0 0;
	}

	.slide-arrow_prev {
		top: 190px;
		left: 12px;
		transform: translateY(0) rotate(180deg);
	}
	.slide-arrow_next {
		top: 190px;
		right: 12px;
		transform: translateY(0);
	}

	.post__list {
		padding: 0 40px 160px;
	}

	.post__feature {
		padding: 100px 40px;
	}

	.feature__text {
		font-size: 32px;
	}

	.feature__text span {
		font-size: 40px;
	}

	.risk__bg {
		display: none;
	}

	.risk {
		z-index: 0;
	}

	.risk__container {
		padding: 120px 0 200px;
	}

	.risk__item {
		margin: 0 0 24px 0;
	}

	.result__title {
		width: calc(100% - 80px);
	}

	.result__main-text {
		bottom: -80px;
	}

	.work {
		padding: 80px;
	}

	.work__content {
		width: calc((100% - 24px) / 2);
	}

	.works__image {
		height: 300px;
	}

	.topics {
		padding: 120px 0;
	}

	.topics .page__contents {
		max-width: 900px;
	}

	.topics__info {
		padding: 24px;
	}

	.topics__info .topics__caption {
		font-size: 20px;
	}

	.topics__title {
		position: static;
	}

	.topics__item {
		box-sizing: border-box;
		overflow: visible;
	}

	.topics__caption {
		text-align: center;
	}

	.step__list,
	.flow__list {
		display: block;
		max-width: 500px;
		margin: 0 auto;
	}

	.step__caption,
	.flow__caption {
		text-align: center;
	}

	.step__info,
	.flow__info {
		padding: 0 24px;
	}

	.step__item,
	.flow__item {
		display: block;
		width: 100%;
		height: auto;
		padding: 1.5em 16px;
	}

	.step__img,
	.flow__img {
		margin: 16px 0 8px;
		padding: 0;
		width: 100%;
		height: auto;
	}

	.step__item::after {
		top: auto;
		right: 50%;
		transform:rotate(90deg)translateY(-50%);
	}

	.step__result {
		margin: 120px 0 0;
	}

	.qa__list {
		margin: 0;
	}

	.qa__item {
		float: none;
		width: auto;
		margin: 0 0 24px;
		height: auto;
		padding: 24px;
	}

	.notice {
		padding: 0 0 64px;
	}

}

@media(min-width: 768px){
	a[href^="tel:"]{
	  pointer-events: none;
	}
  }

@media screen and (max-width: 768px) {
	.result .path-frame__container {
		padding: 40px 64px;
	}
	
	.nav {
		display: block;
		height: auto;
		padding: 16px;
	}

	.nav__img {
		display: none;
	}

	.nav__img-responsive {
		display: block;
		width: 100%;
	}
	
	.nav__img-wrapper {
		margin: -24px auto 8px;
	}
	
	.nav__button {
		margin: 0 auto;
	}

	.top__txt {
		top: 10%;
	}

	.top__bg-item {
		width: 100%;
	}

	.top__bg::after {
		height: 40px;
	}

	.top__vs-img {
		position: relative;
        top: -40px;
        margin: auto;
		width: 100%;
		z-index: 1;
	}

	.top__sub-img {
		margin: 0 14% 0 auto;
	}

	.top__sub-catch {
		position: relative;
		top: -20px;
	}

	.voice__slider::before {
        top: -60px;
        width: 40%;
    }

	.voice .slide-arrow_next {
		right: 20px;
	}

	.voice .slide-arrow_prev {
		left: 20px;
	}

	.slider-title {
		font-size: 30px;
	}

	.solve__group {
		margin: 0 auto 24px;
	}

	.solve__caption {
		font-size: 36px;
	}

	.post__feature {
		padding: 240px 0 24px;
	}

	.post__feature::before {
		background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 40%, rgba(0, 0, 0, 1));
	}

	.feature__text {
		margin: auto;
		font-size: 30px;
	}

	.feature__text span {
		font-size: 36px;
	}

	.banner__inner {
		padding: 24px;
	}

	.banner__inner::before {
		height: 7.5em;
	}

	.banner__inner::after {
		height: 5.5em;
	}

	.phone {
		color: #fff;
		background: #EE7800;
		border-radius: 1.5em;
		box-shadow: 5px 8px 0px 0px rgba(255, 199, 142, 1);
	}

	.phone::before {
		background-size: contain;
		background-color: none;
		border-radius: 0;
	}

	.difference__group:nth-child(4) {
        padding: 40px;
    }

	.difference__group:nth-child(4)::before {
        left: 80px;
    }

	.risk__list {
		display: block;
	}

	.result__list {
		font-size: 24px;
		margin: 80px 0 140px;
		padding: 0 16px;
	}

	.result__info {
		padding: 16px 0;
	}

	.hide {
		display: block;
		text-indent: 100%;
		overflow: hidden;
		line-height: 1;
		margin-top: -1em;
	}

	.mascot::before {
		width: 250px;
		height: 320px;
	}

	.mascot::after {
		top: 240px;
		width: 250px;
		height: calc(100% - 240px);
	}

	.topics__carousel {
		display: block;
	}

	.topics__carousel .slick-list {
		overflow: visible;
	}

	.topics__info .topics__caption {
		font-size: 16px;
	}

	.topics .slide-arrow_next {
		right: -10%;
	}
	
	.topics .slide-arrow_prev {
		left: -10%;
	}

	.step__result {
		display: block;
        width: 100%;
        height: auto;
        padding: 1.5em 16px;
	}

	.step__result-img {
		margin: 16px 0 0;
        padding: 0;
        width: 100%;
        height: auto;
		border-radius: 0;
		border: none;
	}

	.work__comparison {
		display: block;
	}

	.work__content {
		width: 100%;
	}

	/* .topics .slick-arrow {
		display: none;
	} */

	.footer {
		padding: 40px 0 200px;
	}

	.footer__inner {
		flex-direction: column;
		text-align: center;
	}

	
	.footer__info {
		margin: 16px 0 0 0;
	}

	.footer__info a {
		pointer-events: auto;
		border-bottom: 1px solid #3E3A39;
	}

	.notice {
		padding: 0 0 40px;
	}

}

@media screen and (max-width: 520px) {
	body {
		font-size: 16px;
	}

	.title {
		max-height: 40px;
		margin: 0 auto 40px;
	}

	.check-list {
		padding: 24px 16px;
	}

	.nav {
		font-size: 24px;
	}

	.nav__button {
		height: 40px;
	}

	.top {
		background: linear-gradient(0deg, rgba(255, 238, 222, 1) 0%, rgba(255, 255, 255, 1) 10%);
	}

	.top__txt {
		position: static;
		padding: 0;
		width: 90%;
		margin: -15% auto -40px;
	}

	.top__catch {
		width: 100%;
	}

	.top__catch-img {
		display: none;
	}

	.top__catch-img-sp {
		display: block;
		width: 100%;
	}

	.top__bg {
		clip-path: none;
		width: auto;
		z-index: -1;
	}


	.top__sub-catch {
        position: relative;
        top: -20px;
    }

	.top__vs-img {
		margin: auto;
		width: 100%;
		top: 75%;
	}

	.voice__slider .slick-track {
		gap: 24px;
	}

	.voice__slider-content {
		padding: 40px 24px 24px;
	}

	.result .path-frame__container {
		margin: 4px;
		padding: 20px 32px;
	}

	.slide-arrow {
		top: 50%;
		width: 40px;
	}

	.voice .slide-arrow_next {
		right: 8px;
	}
	
	.voice .slide-arrow_prev {
		left: 8px;
	}

	.page__section {
		padding: 40px 0;
	}

	.page__contents {
		padding: 0 16px;
	}

	.intro__title-wrapper {
		position: relative;
	}

	.intro__contents {
		margin: 0;
		padding: 80px 16px 40px;
	}

	.intro__sub {
		font-size: 24px;
	}

	.solve__title {
		margin: 0 auto 24px;
	}

	.solve__caption {
		font-size: 24px;
	}

	.solve__group {
		margin: 0 0 40px;
		padding: 24px 24px 40px;
	}

	.solve__pick-img {
		top: -60px;
		width: 200px;
	}

	.solve__banner {
		margin: 80px auto 0;
	}

	.voice__trust {
		padding: 24px 0;
	}
	.voice__trust-txt {
		padding: 24px;
		margin: 0 16px;
	}

	.slider-title {
		font-size: 20px;
	}

	.voice__slider::before {
		top: -30px;
		width: 40%;
	}

	.banner .page__contents {
		padding-top: 24px;
	}

	
	.banner__headline {
		margin: -40px auto 0;
	}

	.banner__title {
		margin: 24px 0;
		font-size: 20px;
	}

	.banner__frame {
		padding: 16px;
	}

	.banner__prefecture {
		font-size: 24px;
	}
	
	.banner__size {
		font-size: 24px;
	}

	.banner__frame::before {
		border-top: 24px solid #fff;
		border-right: 24px solid transparent;
	}
	
	.banner__frame::after {
		border-bottom: 24px solid #fff;
		border-left: 24px solid transparent;
	}

	.banner__frame-title {
		font-size: 18px;
	}

	.banner__contents .text_highlight {
		font-size: 30px;
	}

	.banner__button {
		padding: 16px 24px;
		font-size: 16px;
	}

	.banner__inner::before {
		left: -10px;
	}

	.banner__inner::after {
		right: -15px;
	}

	.post__feature {
        padding: 160px 0 0;
		text-align: center;
    }

	.feature__text {
        font-size: 24px;
        padding: 16px 8px;
        margin: 0;
		text-align: start;
		display: inline-block;
        box-sizing: border-box;
    }
	.feature__text span {
		padding: 4px 6px;
		font-size: 24px;
		line-height: 1.8;
	}


	.difference__contents {
		padding: 64px 0;
	}

	.difference__group {
		margin: 0 auto 80px;
	}

	.difference__title {
		padding: 15vw 40px 15vw;
	}

	.difference__caption {
		margin: 0 0 24px;
	}
	
	.difference__text {
		font-size: 18px;
	}

	.difference__info {
		padding: 0 16px 16px;
	}

	.slide .difference__caption {
		width: calc(100% - 32px);
		margin: 8% auto;
	}

	.difference__group:nth-child(4) {
		padding: 24px 16px;
		margin: 120px auto 0;
	}

	.difference__group:nth-child(4)::before {
		font-size: 74px;
		top: -90px;
		left: 0;
	}

	

	.work {
		padding: 80px 16px 40px;
	}

	.work__item-title {
		font-size: 24px;
	}

	.work__item-txt {
		font-size: 16px;
	}

	.post__inner {
		margin: 20px 0 0;
	}

	.post__title {
		margin: 24% 0 32px;
	}

	.post__text {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0;
		font-size: 20px;
	}

	.post__list {
		padding: 0 40px 80px;
	}

	.post__item {
		display: block;
		text-align: center;
	}

	.post__carousel {
		padding: 0 16px;
	}

	.carousel__container {
		padding: 0;
	}

	.carousel__caption {
		font-size: 18px;
	}


	.carousel__tag li {
		font-size: 14px;
	}

	.carousel__captions {
		position: absolute;
		bottom: 100%;
	}

	.carousel__info {
		position: relative;
		padding: 0 16px 16px;
		margin: 0;
	}

	.carousel__info::before {
		content: "";
		position: absolute;
		bottom: 100%;
		left: 0;
		width: 100%;
		height: 80px;
		background: linear-gradient(transparent, #fff);
	}

	.risk__container {
		padding: 64px 0;
	}

	.risk__inner {
		padding: 0 24px;
	}

	.risk__text {
		font-size: 18px;
	}

	.result__title {
		width: calc(100% - 32px);
	}

	.result__list {
		font-size: 18px;
		margin: 40px 0 140px;
	}

	.result__main-text-wrapper {
		width: calc(100% - 32px);
	}

	.topics {
		padding: 80px 0 40px;
	}

	.topics::before {
		top: 240px;
	}

	.topics .page__contents {
		padding: 0;
	}

	.topics__info {
		padding: 16px;
	}

	.topics .slide-arrow_next {
		right: 8px;
	}
	
	.topics .slide-arrow_prev {
		left: 8px;
	}

	.flow__caption {
		font-size: 20px;
	}

	.mascot::before {
		width: 200px;
		height: 256px;
	}

	.mascot::after {
		top: 176px;
		width: 200px;
		height: calc(100% - 176px);
	}

	.footer {
		padding: 40px 0 160px;
	}

	.notice {
		padding: 0 0 40px;
	}

	.notice__txt {
		padding: 0 8px;
	}

}

@media screen and (max-width: 375px) {
	.nav {
		font-size: 20px;
	}

	.solve__group {
		padding: 24px 24px 80px;
	}

	.voice__slider::before {
        top: -40px;
        width: 60%;
    }

	.banner__button {
		font-size: 14px;
	}

	.banner__inner::after {
        right: -20px;
    }

	.banner__inner::before {
        left: -15px;
    }

	.post__feature {
        padding: 160px 0 24px;
    }

	.carousel__tag {
		margin: 4px 0 8px;
	}

	.carousel__tag li {
		font-size: 12px;
		margin-right: 0;
	}

	.footer__logo {
		width: 300px;
	}

}
