@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: 1000%;
}

.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?ver=3);
}

.path-frame {
	position: relative;
}

.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?ver=3);
	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;
}

.sp-block {
	display: none;
}

.br_sp {
	display: none;
}

/* -------------------- 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: 0 2vw;
	background: #EE7800;
	z-index: 1000;
	box-sizing: border-box;
}

.nav__img-wrapper {
	position: relative;
	flex: 1;
	display: flex;
	align-items: center;
	height: 100%;
	max-width: 400px;
	padding: 0 2vw 0 0;
}

.nav__img-wrapper::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 50vw;
	height: 100%;
	background: #CE6801;
	z-index: -1;
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 100%, 0 100%);
}

.nav__img {
	display: block;
	max-width: 100%;
	max-height: 100%;
}

.nav__img-responsive {
	display: none;
}

.nav__item {
	position: relative;
	margin: 0 1.6vw 0 0;
	font-size: 26px;
	text-align: center;
}

.line {
	margin: 0;
}

.nav__item_sp {
	display: none;
}

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

.nav__phone {
	padding: 0 2vw;
	border-right: 1px solid #fff;
}

.nav__phone a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
}

.nav__phone a::before {
	content: "";
	width: 1.2em;
	height: 1.2em; 
	margin: 0 .2em 0 0;
	background-image: url(../images/icon_phone.png?ver=3);
	background-size: 100%;
	background-color: #EE7800;
	background-repeat: no-repeat;
	background-position: center;
	border-radius: 50%;
}

.nav__subtxt {
	flex-direction: column;
	text-align: center;
	font-size: .6em;
	color: #fff;
	font-weight: bold;
}

.nav__subtxt::before,
.nav__subtxt::after {
	content: "/";
	display: inline-block;
	opacity: .6;
}

.nav__subtxt::before {
	
	transform: scaleX(-1);
}

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

.top {
	display: flex;
	background-color: #fff;
}

.top__bg,.top__txt {
	width: 50%;
}

.top__catch {
	position: relative;
}

/* .top__catch::before {
	content: "";
	position: absolute;
	top: 53%;
	left: -10%;
	display: block;
	width: 20%;
	height: 15%;
	background-image: url(../images/top_sub_img.png?ver=3);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
} */

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

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

.top__catch-img {
	width: 100%;
}

/* -------------------- warning -------------------- */
.warning {
	position: relative;
}

.warning::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5svw;
	width: 100%;
	height: 5vw;
	background-image: url(../images/warning_arrow.png?ver=3);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% 100%;
}

.warning__content {
	margin: auto;
	padding: 40px;
	max-width: 1200px;
	background-color: #3E3A39;
	color: #fff;
	text-align: center;
	border-radius: 20px;
}

.warning__heading {
	display: inline-block;
	font-size: 32px;
}

.warning__icon-container {
	position: relative;
}

.warning__icon-container::after,.warning__icon-container::before {
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	bottom: 0;
	background-image: url(../images/icon_warning.png?ver=3);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: contain;
}

.warning__icon-container::before {
	left: -15%;
}

.warning__icon-container::after {
	right: -15%;
}

.warning__list {
	display: flex;
	margin: 24px 0;
	gap: 16px;
	justify-content: space-between;
}

.warning__list-item {
	width: calc(25% - 12px); 
}

.warning__list-img {
	width: 100%;
	vertical-align: bottom;
}

.warning__list-txt {
	background-color: #008842;
	color: #fff;
	font-weight: bold;
}

.size {
	font-size: 40px;
}

.warning__txt-container {
	position: relative;
	padding: 20px 40px 58px;
	margin-bottom: 24px;
}

.warning__txt-container::before, .warning__txt-container::after {
	position: absolute;
	content: "";
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 80px solid transparent;
	border-left: 80px solid transparent;
	border-top: 20px solid #ffc78e;
	border-bottom: 0;
}

.warning__txt-container::after {
	bottom: 30px;
}

.warning__txt-container::before {
	bottom: 0;
}

.warning__txt {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.line-break {
	display: none;
}

.warning__txt-img {
	display: block;
	width: 70%;
	margin: auto;
}

.risk__txt-container {
	text-align: center;
	padding: 0 24px;
}

.risk__txt {
	font-size: 33px;
	font-weight: 600;
	line-height: 1.6em;
}

.risk__txt-block {
	background-color: #3E3A39;
	color: #fff;
	padding: 7px 36px;
	border-radius: 7px;
	font-size: 30px;
	font-weight: 700;
}

.risk__txt-main {
	display: inline-block;
	margin-top: 24px;
	background-color: #EE7800;
	color: #fff;
	padding: 8px 16px;
	font-size: clamp(0px, 2.8vw, 40px);
	font-weight: 700;
	line-height: 1.2em;
}

.risk__txt-red {
	color: #C70000;
}

.risk__txt-bold {
	font-size: 1.2em;
}

/* -------------------- top-banner -------------------- */
.top-banner {
	padding: 20px 4% !important;
	background-color: #fff;
	text-align: center;
}

.top-banner__img {
	width: 100%;
	max-width: 1200px;
}

/* -------------------- familiar -------------------- */
.familiar {
	background-color: #fff;
	text-align: center;
}

.familiar__txt {
	width: 80%;
	max-width: 600px;
	margin-bottom: 32px;
}

.familiar__list {
	display: flex;
	justify-content: space-around;
	gap: 24px;
	width: 100%;
	max-width: 1016px;
	margin: 0 auto;
}

.familiar__img {
	width: 50%;
	border-radius: 10px;
}

/* -------------------- 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 {
	padding: 80px 0 150px;
}

.solve__title-wrap {
	background-color: #FFEEDE;
}

.solve__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?ver=3);
	background-size: cover;
	background-position: center center;
	margin-bottom: 124px;
	padding: 9vw 80px 6vw;
}

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

.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 {
	margin-bottom: 16px;
	font-size: 40px;
	line-height: 1.6em;
}

.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;
}

/* -------------------- menu -------------------- */

.menu {
	position: relative;
	padding: 120px 40px 80px;
	background-color: #D5E4D8;
}

.menu::before {
	content: "";
	position: absolute;
	top: -80px;
	left: 50%;
	transform: translateX(-50%);
	width: 40%;
	height: 200px;
	background-image: url(../images/menu__title-sub.png?ver=3);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.menu__title {
	display: block;
	width: 80%;
	margin: 20px auto 0;
}

input {
	display: none;
}

.menu__content {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
	gap: 16px;
	margin: 80px 0 0;
}

.menu__list-title {
	position: relative;
	display: block;
	padding: 20px 60px 20px 20px;
	border-radius: 10px;
	background-color: #008842;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
}

.menu__list-title::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%) rotate(0deg);
	transition: 0.3s ease;
	border-style: solid;
	border-right: 11px solid transparent;
	border-left: 11px solid transparent;
	border-top: 12px solid #ffffff;
	border-bottom: 0;
}

.menu__list-container {
	display: flex;
	align-items: center;
}

.menu__list-img {
	margin: 0 16px 0 0;
	width: 100px;
	height: 75px;
}

.menu__txt,.menu__item-sub {
	font-size: 16px;
	font-weight: 400;
}

.menu__txt-size {
	font-size: 20px;
	font-weight: 400;
}

.menu__inner {
	padding: 0 24px;
	border-radius: 0 0 10px 10px;
	background-color: #fff;
	height: 0;
	overflow: hidden;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}

.menu__item-title {
	position: relative;
	padding: 8px;
	font-weight: bold;
	text-indent: 1em;
}

.menu__item-title::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 	18px;
	height: 18px;
	background-color: #008842;
}

.menu__list-item {
	padding-bottom: 16px;
}

.menu__annotation {
	margin: 24px 0 0;
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
}

input[id^="menu"]:checked + label + .menu__inner {
	height: auto;
	padding: 24px;
	opacity: 1;
}

input[id^="menu"]:checked + .menu__list-title {
	border-radius: 10px 10px 0 0;
}

input[id^="menu"]:checked + .menu__list-title::before {
	transform: translateY(-50%) rotate(180deg);
}

/* -------------------- voice -------------------- */
.voice {
	padding-bottom: 0;
}

.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::before {
	content: "";
	display: block;
	position: absolute;
	top: -30px;
	left: 50%;
	width: 50%;
	height: 90px;
	transform: translateX(-50%);
	background-image: url(../images/voice_txt.png?ver=3);
	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 {
	background-color: #008842;
	overflow: hidden;
}

.banner_1 {
	padding-top: 168px;
}

.banner .page__contents {
	overflow: visible;
}

.banner__headline {
	display: block;
	width: 60%;
	max-width: 890px;
	margin: calc(-6% - 24px) auto 40px;
}

.banner__title {
	position: relative;
	display: block;
	width: 80%;
	margin: 0 auto -30px;
}

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

.banner__inner::after,
.banner__inner::before {
	content: "";
	position: absolute;
	display: block;
	bottom: -30px;
	width: 20%;
	aspect-ratio: 3/ 4;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
	z-index: 1;
	pointer-events: none
}

.banner__inner::after{
	right: -10%;
	background-image: url(../images/banner__illustration_2.png?ver=3);
}

.banner__inner::before  {
	left: -10%;
	background-image: url(../images/banner__illustration_1.png?ver=3);
}

.banner__contents {
	display: grid;
	gap: 1em;
}

.banner__items {
	display: grid;
	place-content: center;
	place-items: center;
	padding: 64px 16px;
	background: #FFEEDE;
	justify-content: center;
	text-align: center;
}

.banner__items_1 {
	grid-row: 1 / 2;
	grid-column: 1 / 2;
}

.banner__items_2 {
	grid-row: 1 / 3;
	grid-column: 2 / 3;
}

.banner__items_3 {
	grid-row: 2 / 3;
	grid-column: 1 / 2;
}

.banner__txt {
	margin: 0 0 1em 0;
	font-weight: bold;
	line-height: 1.5;
}

.banner__items_2 .banner__txt .highlight {
	color: #43AE6A;
	font-weight: bold;
}

.banner__qr {
	width: 160px;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
}

.banner__tip {
	font-size: .8em;
	font-weight: bold;
	color: #EE7800;
}

.banner__tip::before,
.banner__tip::after {
	content: "/";
	display: inline-block;
	margin: 0 .5em;
}

.banner__tip::before {
	transform: scaleX(-1);
}

.banner__button {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
	padding: 0 1em;
	font-weight: bold;
	line-height: 3;
	border-radius: 3em;
	box-sizing: border-box;
	color: #fff;
	box-shadow: 5px 8px 0px 0px rgba(255, 199, 142, 1);
	background: linear-gradient(to right, #FFB625,#F47B00);
	font-size: 26px;	
}

.banner__button::after {
	content: "";
	width: 1em;
	aspect-ratio: 1 / 1;
	margin: 0 0 0 .2em;
	background-image: url(../images/arrow_text.png?ver=3);
	background-size: contain;
	background-repeat: no-repeat;
}

.banner__button_line {
	display: none;
}

.banner__tel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: #EF7B02;
	font-size: 36px;	
}

.banner__tel::before {
	content: "";
	width: 1em;
	aspect-ratio: 1 / 1;
	margin: 0 .2em 0 0;
	background-size: contain;
	background-image: url(../images/icon_phone_primary.png?ver=3);
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
}

.banner__button,
.banner__tel {
	max-width: 400px;
}

.banner__items_3 .banner__txt {
	position: relative;
	display: inline-block;
	padding: .5em 1em;
	background: #fff;
	border-radius: 3em;
}

.banner__items_3 .banner__txt::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 8px solid transparent;
	border-top: 8px solid #fff;

}


/* -------------------- 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;
	background-color: #fff;
}

.difference__title {
	display: block;
	width: 80%;
	margin: 0 auto;
	padding: 200px 0 80px;
}

.difference__contents {
	background: #fff;
	padding-bottom: 140px;
}

.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:last-child {
	margin-bottom: 0;
}

.difference__group:nth-child(4) {
	padding: 6vw 0 10vw;
	margin: 0;
	background-color: #008842;
	color: #fff;
}

.difference__group:nth-child(4) .text_highlight {
	display: inline;
	padding: .2em;
	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?ver=3);
	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?ver=3);
	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?ver=3);
	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?ver=3);
}

.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?ver=3);
	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?ver=3);
	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: 1240px) {
	.nav__item {
		font-size: 20px;
	}
}

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

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

	.br_pc {
		display: none;
	}

	.nav {
		padding: 1em 0 .5em;
		height: auto;
	}

	.nav__img-wrapper {
		position: absolute;
		bottom: calc(100% - .7em);
		height: auto;
		max-width: 500px;
		padding: 0;
	}

	.nav__img-wrapper::before {
		display: none;
	}

	.nav__img {
		display: none;
	}

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

	.top {
		height: auto;
	}

	.top__vs-img {
		width: 48%;
	}

	.familiar__txt {
		margin-bottom: 10px;
	}

	.familiar__list {
		flex-wrap: wrap;
		gap: 10px;
	}

	.familiar__img {
		width: 90%;
	}

	.warning__list {
		flex-wrap: wrap;
	}

	.warning__list-item {
		flex: calc(50% - 8px);
	}

	.intro {
		padding: 0 0 64px;
	}

	.intro__title-wrapper {
		top: 0;
		width: auto;
		margin: 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 {
		padding: 64px 0 100px;
	}

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

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

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

	.solve__pick-img {
		left: 0;
	}

	.menu {
		padding: 80px 0px 64px;
	}

	.menu__title {
		width: 100%;
	}

	.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__title {
		width: 100%;
	}

	.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;
	}

	.banner__inner::before,
	.banner__inner::after {
		width: 30%;
	}

	.banner__inner::before {
		left: -16%;
	}

	.banner__inner::after {
		right: -16%;
	}

	.banner__headline,
	.banner__title {
		width: 80%;
	}

	.banner__items {
		display: block;
		grid-row: auto;
		grid-column: auto;
		padding: 1.5em 2em 2em;
	}

	.banner__items_1 {
		padding-top: 2em;
	}

	.banner__items_2 .banner__txt {
		display: none;
	}

	.banner__qr {
		display: none;
	}


	.banner__button_line {
		display: flex;
		background: linear-gradient(to right, #06C755,#008842);
		box-shadow: 5px 8px 0px 0px rgba(199, 225, 204, 1);
	}

	.banner__tel {
		position: relative;
		width: 100%;
		margin: 0 auto  16px;
		font-weight: bold;
		line-height: 1;
		border-radius: 3em;
		box-sizing: border-box;
		color: #fff;
		box-shadow: 5px 8px 0px 0px rgba(158, 194, 210, 1);
		background: linear-gradient(to right, #22C6DE, #0068B7);
		font-size: 28px;
	}

	.banner__button,
	.banner__tel {
		padding: 0 1.5em;
		line-height: 3;
		font-size: 24px;
	}

	.banner__tel::before {
		background-image: url(../images/icon_phone.png?ver=3);
	}

	.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: 769px){
	a[href^="tel:"]{
	  pointer-events: none;
	}

	.banner__cta:hover {
		transform: scale(1.05);
	}
  }

@media screen and (max-width: 768px) {
	.result .path-frame__container {
		padding: 40px 64px;
	}

	.pc-block {
		display: none;
	}

	.sp-block {
		display: block;
	}

	.br_sp {
		display: block;
	}

	.nav__icon {
		padding: 0 1vw;
	}

	.nav__item {
		font-size: 20px;
	}

	.nav__item_pc {
		display: none;
	}

	.nav__item_sp {
		display: block;
		font-size: 12px;
		text-align: center;
		color: #fff;
		font-weight: bold;
	}

	.nav__item_sp::after {
		content: "";
		display: block;
		width: 48px;
		height: 48px;
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
	}

	.nav__item_sp.line::after {
		background-image: url(../images/icon_LINE.png?ver=3);
	}

	.nav__item_sp.web::after {
		background-image: url(../images/icon_Mail.png?ver=3);
	}

	.nav__phone {
		margin-right: 2vw;
		padding-right: 2vw;
	}

	.nav__phone a {
		border: 1px solid #fff;
		border-radius: 3em;
		padding: .2em .5em;
		line-height: 40px;
		font-size: 18px;
	}

	.top__txt {
		top: 10%;
	}

	.top__bg-item {
		width: 100%;
	}

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

	.risk__txt-container {
		padding: 0 16px 24px;
	}

	.warning__icon-container::after, .warning__icon-container::before {
		width: 25px;
		height: 25px;
	}

	.warning__heading {
		font-size: 20px;
	}

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

	.warning__txt {
		font-size: 24px;
	}

	.size {
		font-size: 32px;
	}

	.warning {
		padding: 64px 0 0;
	}

	.risk__txt-block {
		font-size: 4vw;
		padding: 7px 10px;
	}

	.risk__txt {
		font-size: 4.6vw;
	}

	.risk__txt-main {
		margin-top: 12px;
		font-size: 5vw;
	}

	.warning::after {
		bottom: -7vw;
		height: 7vw;
	}

	.warning__txt-container {
		margin-bottom: 16px;
		padding: 12px 16px 48px;
	}

	.intro {
		padding: 0 0 64px;
	}

	.intro__title-wrapper {
		margin: 40px 0 0;
	}

	.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;
	}

	.menu__content {
		grid-template-columns: none;
	}

	.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 .page__contents {
		padding: 0 24px;
	}

	.banner__inner {
		padding: 40px 5%;
	}

	.banner__inner::before,
	.banner__inner::after {
		width: 26%;
	}

	.banner__inner::before {
		left: -8%;
	}

	.banner__inner::after {
		right: -8%;
	}

	.difference__title {
		padding: 100px 0 40px;
	}

	.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%;
	}

	.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: 640px) {
	.nav {
		font-size: 16px;
		/* height: 72px; */
	}

	.nav__img-wrapper {
		width: 80%;
	}

	.warning__heading {
		font-size: 16px;
	}

	.size {
		font-size: 20px;
	}

	.warning__icon-container::after, .warning__icon-container::before {
		width: 20px;
		height: 20px;
	}

	.menu {
		padding: 70px 0px 64px;
	}

	.line-break {
		display: block;
	}

	.warning__txt {
		font-size: 20px;
	}

	.banner__items {
		padding-left: 1em;
		padding-right: 1em;
	}

}

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

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

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

	.nav__phone {
		font-size: 20px;
	}

	.top {
		display: block;
	}

	.top__txt {
		padding: 0;
		width: 100%;
	}

	.top__bg {
		width: 100%;
	}

	.top__bg-img {
		display: none;
	}

	.top__bg-item {
		padding-top: 0;
	}

	.top__catch::before {
		top: 53%;
		left: -2%;
		width: 16%;
		height: 13%;
	}

	.warning {
		padding: 40px 0 0!important;
	}

	.warning__content {
		padding: 24px;
	}

	.menu__content {
		margin: 40px 0;
	}

	.warning__list {
		padding: 0 24px;
	}

	.warning__list-item {
		flex: 100%;
	}

	.warning__txt-container::before, .warning__txt-container::after {
		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
		border-top: 15px solid #ffc78e;
	}
	
	.warning__txt-container::after {
		bottom: 25px;
	}

	.intro {
		padding: 0 0 40px!important;
	}

	.intro__title-wrapper {
		margin: 30px 0 0;
	}

	.solve {
		padding: 40px 0 60px!important;
	}

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

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

	.menu {
		padding: 70px 0 40px!important;
	}

	.menu::before {
		width: 60%;
	}

	.menu__title::before {
		border-right: 9px solid transparent;
		border-left: 9px solid transparent;
		border-top: 10px solid #ffffff;
	}

	.menu__txt {
		font-size: 12px;
	}

	.menu__txt-size {
		font-size: 14px;
	}

	.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;
	}

	.banner__headline {
		margin-bottom: 24px;
		margin: calc(-6% - 34px) auto 8px;
	}

	.banner__txt,
	.banner__subtxt {
		font-size: 12px;
	}

	.intro__title-wrapper {
		position: relative;
	}

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

	.intro__sub {
		font-size: 24px;
	}

	.solve__title {
		margin: 0 auto 32px;
	}

	.solve__caption {
		font-size: 24px;
	}

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

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

	.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__title {
		width: 100%;
		margin-bottom: -20px;

	}

	.banner__button,
	.banner__tel {
		font-size: 16px;
		max-width: 300px;
	}

	.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__group {
		margin: 0 auto 80px;
	}

	.solve__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: 14px;
	}

	.solve {
		padding: 40px 0 60px!important;
	}

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

	.menu {
		padding: 60px 0px 40px!important;
	}

	.menu__content {
		gap: 8px;
	}

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

	.banner__button,
	.banner__tel {
		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;
	}

}
