@charset "UTF-8";

:root {
	--font-sans-serif:'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", 'メイリオ',  Meiryo, sans-serif;
	--btn-gradient: #7a722e;
	--color-black: #222;
	--color-pink: #FF0A78;
	--color-pale_pink: #E6D2DC;
	--color-gray: #d9d9d9;
	--color-pale_gray: #F0F0F0;
	--color-border_gray: #bababa;
	--bg-base_color: #f8f8f8;
}

*, *::before, *::after{
	box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

html {
	font-size: 62.5%;
	overflow: inherit!important;
}
body {
	font-family: var(--font-sans-serif);
	width: 100%;
	height: auto;
	background-color: var(--bg-base_color);
	position: relative;
	left: 0;
	top: 0;
	color: var(--color-black);
	font-size: 1.6rem;
	font-weight: 400;
	overflow: auto;
}

.heading {
	font-size: 4.6rem;
	font-weight: 700;
	line-height: 1.38;
}
h3 {
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.38;
}
p {
	margin: 0;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.886;
}

ul, ol, li {
	list-style: none;
}

a {
	outline: none;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
		 -moz-appearance: none;
					appearance: none;
}
a,button {
	text-decoration: none;
	-webkit-transition: opacity .4s ease , color .4s ease , background-color .4s ease;
	transition: opacity .4s ease , color .4s ease , background-color .4s ease;
	color: #333;
}
a:hover, button:hover {
	opacity: 0.56;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}


/**********
   common   
***********/
#body_inner {
    width: 100%;
    height: auto;
    min-width: 1280px;
    overflow-x: hidden;
}

.contents_wrapper {
	max-width: 1040px;
    width: 100%;
	padding: 0 20px;
    margin-right: auto;
    margin-left: auto;
}

.flex_base {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.sp_only {
	display: none;
}

@media screen and (min-width:769px) {
	body {
		margin-top: 100px;
	}
	.sp_only {
		display: none!important;
	}
}
@media screen and (max-width:769px) {
	html {
		font-size: 10px;
		font-size: clamp(8px,2.667vw,24px);
	}
	#body_inner {
		width: 100%;
		min-width: 0px;
		overflow-y: hidden;
	}

	.heading {
		font-size: 3.2rem;
	}
	p {
		font-size: 1.6rem;
	}

	img {
		width: 100%;
	}

    .sp_only {
        display: block;
    }
    
    .pc_only {
        display: none!important;
    }

	.contents_wrapper {
		width: 100%;
		padding:0 4.76vw;
	}

	.flex_base.sp_column {
		flex-direction: column;
	}
}

/***   parts style   ***/

.form_anker_btn {
	margin: 0.4rem auto;
}
.form_anker_btn a,
.submit_btn input {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1000px;
	border: none;
	outline: none;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1;
	padding-bottom: 1px;
	width: 100%;
	height: 100%;
	cursor: pointer;
	color: #fff;
	background: linear-gradient(95.02deg, #0066FF 0%, #FF006B 50%, #0066FF 100%);
	background-position: 0%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: background-position 0.56s ease;
}
.form_anker_btn a:hover,
.submit_btn input:hover {
	opacity: 0.92;
	background-position: 210%;
}

.color_pink {
	color: var(--color-pink);
}


/***   header   ***/
#header {
	width: 100%;
	height: 100px;
	background: #fff;
}

#header .header_inner {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: auto;
}

#header .header_inner .header_menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1;
}

#header .form_anker_btn {
	width: 260px;
	height: 50px;
	margin-right: 0;
}
#header .form_anker_btn a {
	box-shadow: 0px 4px 0px rgba(0, 0, 0, 0.2);
}


@media screen and (min-width:769px) {
	#header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9994;
		background: transparent;
		min-width: 1280px;
	}

	#header .header_inner {
		width: 1240px;
		height: 90px;
		margin: 20px auto 0;
		filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.08));
		background: #FFFFFF;
		border: 1px solid #D9D9D9;
		border-radius: 10px;
		padding: 20px;
	}
	#header .header_inner .logo {
		position: relative;
		top: 2px;
		margin-right: 52px;
	}
	#header .header_inner .header_link a {
		display: inline-block;
		padding: 4px;
		margin-right: 16px;
	}
}

@media screen and (max-width:769px) {
	#header {
		height: auto;
		position: relative;
		z-index: 9991;
	}

	#header .header_inner .logo {
		position: absolute;
		top: 1.6rem;
		left: 1.6rem;
	}
	#header .header_inner .logo {
		width: 28.2vw;
	}


	#header .fixed_link-sp {
		--item-height: 5rem;
		position: fixed;
		display: flex;
		align-items: center;
		justify-content: space-between;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 1rem;
		z-index: 9994;
	}

	#header .fixed_link-sp .form_anker_btn {
		width: 61.4vw;
		height: var(--item-height);
		margin: 0;
	}
	#header .fixed_link-sp .form_anker_btn a {
		box-shadow: 0px 4px 0px rgba(0, 0, 0, 0.2);
	}
	#header .fixed_link-sp a:hover {
		opacity: 1;
	}

	#header .fixed_link-sp .tel_btn a,
	#header .fixed_link-sp .hamburger_btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: var(--item-height);
		height: var(--item-height);
		background: #fff;
		border: 0.1rem solid #D9D9D9;
		border-radius: 0.5rem;
	}
	#header .fixed_link-sp .tel_btn a img {
		width: 70%;
	}

	#header .fixed_link-sp .hamburger_btn {
		position: relative;
		cursor: pointer;
	}
	#header .fixed_link-sp .hamburger_btn span,
	#header .fixed_link-sp .hamburger_btn::before,
	#header .fixed_link-sp .hamburger_btn::after {
		--color: var(--color-black);
		--position: 0;
		content: "";
		position: absolute;
		top: var(--position);
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		display: block;
		width: 52%;
		height: 0.3rem;
		background: var(--color);
		margin-top: 50%;
		transition: top 0.28s 0.28s, transform 0.28s,opacity 0.62s;
	}

	#header .fixed_link-sp .hamburger_btn span {
		--position: 0;
	}
	#header .fixed_link-sp .hamburger_btn::before {
		--position: -0.88rem;
	}
	#header .fixed_link-sp .hamburger_btn::after {
		--position: 0.88rem;
	}

	#header.hamburger-active .fixed_link-sp .hamburger_btn span {
		opacity: 0;
		transition: opacity 0s;
	}
	#header.hamburger-active .fixed_link-sp .hamburger_btn::before,
	#header.hamburger-active .fixed_link-sp .hamburger_btn::after {
		--position: 0;
		transition: top 0.28s, transform 0.28s 0.28s,opacity 0s;
	}
	#header.hamburger-active .fixed_link-sp .hamburger_btn::before {
		transform: translateY(-50%) translateX(-50%) rotate(45deg);
	}
	#header.hamburger-active .fixed_link-sp .hamburger_btn::after {
		transform: translateY(-50%) translateX(-50%) rotate(-45deg);
	}


	/*** hamburger_menu ***/
	#header .hamburger_menu-sp {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		padding: 6rem 3.8rem 10rem;
		flex-direction: column;
		background: #f0f0f0;
		z-index: 9992;
		overflow: auto;
		transform: translateY(96%) translateZ(0);
		opacity: 0;
		transition: 0.56s ease-in-out;
		pointer-events: none;
	}
	#header.hamburger-active .hamburger_menu-sp {
		opacity: 1;
		transform: translate(0);
		pointer-events: all;
	}
	#header .hamburger_menu-sp .header_link {
		width: 100%;
		margin-bottom: 3rem;
	}
	#header .hamburger_menu-sp .header_link a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		height: 14.94vw;
		text-align: left;
		line-height: 1;
		font-size: 1.6rem;
		border-bottom: 1px solid var(--color-border_gray);
	}
	#header .hamburger_menu-sp .hamburger_logo {
		position: relative;
		width: 41.7vw;
		margin: 0 auto 2rem;
	}
	#header .hamburger_menu-sp .contact {
		width: 100%;
	}
	#header .hamburger_menu-sp .huki {
		position: relative;
		font-weight: 700;
		text-align: center;
		padding: 0.86rem 0 1rem;
		margin: 0 auto 1.8rem;
		background: #fff;
		font-size: 1.2rem;
	}
	#header .hamburger_menu-sp .huki::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%) translateY(98%);
		border-top: 4.06vw solid #fff;
		border-right: 2.72vw solid transparent;
		border-left: 2.72vw solid transparent; 
	}
	#header .hamburger_menu-sp .contact .tel_box .sub {
		font-size: 1.2rem;
		margin-top: 0.66rem;
	}
	#header .hamburger_menu-sp .form_anker_btn {
		width: 69.34vw;
		min-height: 13.34vw;
		margin: 2.6rem auto 1rem;
	}
}


/***   footer   ***/
#footer {
	position: relative;
	margin: 0;
	padding: 12.8rem 0 11.6rem;
	background: var(--color-pale_gray);
}

#footer .heading {
	text-align: center;
	margin-bottom: 2.8rem;
}
#footer .lead {
	text-align: center;
	font-weight: 700;
	margin-bottom: 3.8rem;
}

#footer .contact_block {
	margin-top: 5.6rem;
}
#footer .contact_block .tit {
	text-align: center;
	line-height: 1;
	background: var(--color-pink);
	color: #fff;
	font-size: 1.8rem;
	padding-top: 1.54rem;
	padding-bottom: 1.66rem;
}


#footer .contact_block .info_box .sm {
	font-size: 1.4rem;
}
#footer .contact_block .info_box .huki {
	position: relative;
	font-weight: 700;
	text-align: center;
	padding: 1rem 0 1.2rem;
	margin: 2.4rem 0 2.6rem;
	background: #fff;
}
#footer .contact_block .info_box .huki::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) translateY(98%);
	border-top: 15.2px solid #fff;
	border-right: 10.2px solid transparent;
	border-left: 10.2px solid transparent; 
}
#footer .contact_block .info_box .sm {
	font-size: 1.4rem;
}

#footer .contact_block .info_box .tel_box,
#footer .contact_block .info_box .company_box {
	padding-bottom: 2.2rem;
	margin-bottom: 2.8rem;
	border-bottom: 1px solid var(--color-black);
}
#footer .contact_block .info_box .tel_box .tel,
#footer .contact_block .info_box .company_box .stamp {
	margin-bottom: 1rem;
}

#footer .contact_block .info_box .attention_text {
	font-size: 1.2rem;
}


#footer .contact_block .form_box {
	background: #fff;
}


#footer .return_top_btn {
	--size: 9rem;
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	width: var(--size);
	height: var(--size);
	padding-top: 1.92rem;
	border-radius: var(--size);
	border: 1.2px solid #222;
	text-align: center;
	font-size: 1.2rem;
	white-space: nowrap;
	line-height: 1;
}
#footer .return_top_btn::before {
	--size: 0.8rem;
	content: "";
	position: relative;
	display: block;
	width: var(--size);
	height: calc(var(--size) * (26/8));
	margin: 0 auto 0.6rem;
	background: url(./img/design/return_arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width:769px) {
	#footer .contact_block {
		position: relative;
		align-items: stretch;
	}
	#footer .contact_block .info_box {
		width: 320px;
	}
	#footer .contact_block .info_box .sm {
		font-size: 1.4rem;
	}
	#footer .contact_block .info_box .logo2 {
		position: absolute;
		bottom: 0;
		left: 0;
	}

	#footer .contact_block .form_box {
		width: 620px;
		min-height: 963px;
	}

}

@media screen and (max-width:769px) {
	#footer {
		padding-top: 7rem;
		padding-bottom: 19.6rem;
	}

	#footer .return_top_btn {
		bottom: 8.2rem;
	}

	#footer .heading {
		font-size: 2.32rem;
		white-space: nowrap;
		margin-bottom: 1.36rem;
	}
	#footer .lead {
		margin-bottom: 5.6rem;
	}

	#footer .contact_block {
		margin-top: 4rem;
		flex-direction: column-reverse;
	}

	#footer .contact_block .form_box {
		width: 100%;
		margin-bottom: 4rem;
	}

	#footer .contact_block .stamp {
		width: 16vw;
	}

	#footer .contact_block .info_box {
		width: 100%;
	}
	#footer .contact_block .info_box .logo2 {
		position: absolute;
		bottom: 8.4rem;
		left: 4.67vw;
		width: 48.2vw;
	}

}


/**********
   main
***********/
@media screen and (min-width:769px) {
	.dz_lp .main_contents {
		margin-top: -110px;
	}
}

/*****   animation   *****/
.fade_anime {
	opacity: 0;
	transform: translate3d(0,8.6rem,0);
	transition: all 0.62s ease-in-out;
}
.fade_anime.fade_in {
	opacity: 1;
	transform: translate3d(0,0,0);
}

.fade_anime_list .fade_anime_list_item {
	opacity: 0;
	transform: translate3d(0,5.6rem,0);
	transition: all 0.62s ease-in-out;
}
.fade_anime_list.fade_in  .fade_anime_list_item {
	opacity: 1;
	transform: translate3d(0,0,0);
}
.fade_anime_list.fade_in  .fade_anime_list_item:nth-of-type(2) {
	transition-delay: 0.32s;
}
.fade_anime_list.fade_in  .fade_anime_list_item:nth-of-type(3) {
	transition-delay: 0.64s;
}
.fade_anime_list.fade_in  .fade_anime_list_item:nth-of-type(4) {
	transition-delay: 0.96s;
}


/*****   slider    *****/
.slider {
	opacity: 0;
}
.slider.slick-initialized {
	opacity: 1;
}

.slider .slick-arrow {
	z-index: 10;
}


/* works_slider */
.works_slider {
	position: relative;
	z-index: 10;
}


.works_slider img {
	width: 92%;
	max-width: 440px;
	margin-right: auto;
	margin-left: auto;
}



/*****   fv   *****/
.fv {
	position: relative;
}

.fv .fv_lead {
	position: relative;
	z-index: 10;
}
.fv .fv_lead .tit{
	font-size: 5rem;
	font-weight: 700;
	line-height: 1.38;
	margin-bottom: 1.44rem;
}
.fv .fv_lead .lead {
	font-size: 2.1rem;
	margin: 0;
	line-height: 1.718;
}

.fv_slider .works_slider::before,
.works_slider::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	background: var(--color-pink);
}
.works_slider::after {
	height: 3.2%;
	background: var(--bg-base_color);
}




@media screen and (min-width:769px) {
	.fv .fv_inner {
		position: relative;
		left: 64px;
		width: 1140px;
		margin-right: auto;
		margin-left: auto;
		padding-top: 200px;
		margin: 0 auto 62px;
		z-index: 10;
	}
	.fv .fv_img {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 0;
	}
}


@media screen and (max-width:769px) {
	.fv .fv_img {
		width: 100%;
	}

	.fv .fv_lead {
		width: 100%;
		padding:0 4.76vw;
	}

	.fv .fv_lead .tit {
		margin-top: -0.1em;
		margin-bottom: 1.2rem;
		font-size: 3.6rem;
	}
	.fv .fv_lead .lead {
		font-size: 1.8rem;
		margin-bottom: 5.4rem;
	}

	.works_slider::after {
		height: 4.4%;
	}
	
}


/*****   special   *****/
.dz_lp .special {
	position: relative;
	margin-top: 14.6rem;
	margin-bottom: 13.2rem;
}
.dz_lp .special .contents_wrapper {
	position: relative;
	max-width: 3000px;
	width: calc(100% - 40px);
	padding: 0;
	margin: 0 auto;
}
.dz_lp .special .bg img {
	width: 100%;
}

.dz_lp .special .tit {
	position: absolute;
	top: -70px;
	right: 2px;
}

.dz_lp .special .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)
	translateY(-50%);
	color: #fff;
}
.dz_lp .special .inner h3 {
	text-align: center;
	margin-bottom: 2rem;
}
.dz_lp .special .inner p {
	text-align: center;
	margin-bottom: 3rem;
	white-space: nowrap;
}
.dz_lp .special .inner .form_anker_btn {
	width: 288px;
	height: 60px;
}
.dz_lp .special .small {
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.6;
}

@media screen and (min-width:769px) {
	.dz_lp .special .inner h3 {
		font-size: clamp(3.6rem,2.814vw,5.4rem);
	}
	.dz_lp .special .inner p {
		font-size: clamp(1.8rem,1.407vw,2.7rem);
	}
	.dz_lp .special .inner .form_anker_btn {
		width: clamp(288px,22.5vw,432px);
		height: clamp(60px,4.688vw,90px);
	}
	.dz_lp .special .inner .form_anker_btn a {
		font-size: clamp(1.6rem,1.254vw,2.4rem);
	}
}

@media screen and (max-width:769px) {
	.dz_lp .special {
		margin-top: 11.6rem;
		margin-bottom: 9.2rem;
	}
	.dz_lp .special .contents_wrapper {
		width: 100%;
	}
	.dz_lp .special .min {
		padding: 0 10px 0;
	}

	.dz_lp .special .tit {
		width: 76vw;
		top: -3.56rem;
		right: 0.44rem;
	}

	.dz_lp .special .inner .form_anker_btn {
		width: 74.66vw;
		height: 16vw;
	}
}


/*****   response_ad   *****/
.dz_lp .response_ad {
	position: relative;
	margin-bottom: 11.2rem;
}

.dz_lp .response_ad .heading {
	margin-bottom: 2.8rem;
}

.dz_lp .response_ad .contents_block {
	margin-bottom: 5.2rem;
}

.dz_lp .response_ad .visual img{
	width: 100%;
}

@media screen and (min-width:769px) {
	.dz_lp .response_ad .text_box {
		width: 480px;
		margin-right: 60px;
	}
}

@media screen and (max-width:769px) {
	.dz_lp .response_ad {
		margin-bottom: 5.2rem;
	}
	.dz_lp .response_ad .contents_block {
		flex-direction: column-reverse;
	}
	.dz_lp .response_ad .img_box {
		margin-bottom: 1.8rem;
	}
	.dz_lp .response_ad .text_box,.dz_lp .response_ad .img_box {
		width: 100%;
	}
}


/*****   recommend   *****/
.dz_lp .recommend {
	position: relative;
	margin-bottom: 10.4rem;
}
.dz_lp .recommend .contents_wrapper {
	position: relative;
}

.dz_lp .recommend .heading {
	margin-bottom: 2.8rem;
}

.dz_lp .recommend .list {
	margin-top: 2.8rem;
}
.dz_lp .recommend .list .item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 1.8rem;
	font-weight: 700;
}
.dz_lp .recommend .list .item:nth-of-type(n+2) {
	margin-top: 2.6rem;
}
.dz_lp .recommend .list .item::before {
	--size: 25px;
	content: "";
	position: relative;
	display: inline-block;
	background-image: url(./img/design/icon_check_pink.svg);
	background-repeat: no-repeat;
	background-size: contain;
	min-width: var(--size);
	min-height: var(--size);
	width: var(--size);
	height: var(--size);
	margin-right: 1rem;
	margin-top: 1px;
}


@media screen and (min-width:769px) {
	.dz_lp .recommend .text_box{
		width: 480px;
		margin-left: auto;
		margin-top: 32px;
	}
	.dz_lp .recommend .img_box {
		position: absolute;
		top: 0;
		left: 0;

	}
}
@media screen and (max-width:769px) {
	.dz_lp .recommend {
		margin-bottom: 8.8rem;
	}

	.dz_lp .recommend .heading {
		margin-bottom: 1.6rem;
	}

	.dz_lp .recommend .img_box {
		margin-bottom: 1.8rem;
	}

	.dz_lp .recommend .list {
		margin-top: 1.6rem;
	}

	.dz_lp .recommend .list .item {
		align-items: flex-start;
		line-height: 1.778;
	}
	.dz_lp .recommend .list .item:nth-of-type(n+2) {
		margin-top: 1.6rem;
	}
	.dz_lp .recommend .list .item::before {
		--size: 6.66vw;
		margin-top: 0.2em;
	}
}




/*****   performance   *****/
.dz_lp .performance {
	position: relative;
}

.dz_lp .performance .heading {
	text-align: center;
	margin-bottom: 1rem;
}
.dz_lp .performance .lead {
	text-align: center;
	margin-bottom: 2.8rem;
}

.dz_lp .performance .performance_block {
	background: var(--color-pale_gray);
	padding: 42px 40px 0;
}

.dz_lp .performance_inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	max-width: 2600px;
	margin-right: auto;
	margin-left: auto;
}

.dz_lp .performance .performance_box {
	position: relative;
	background: #fff;
}

.dz_lp .performance .performance_box .type {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	padding: 0;
	padding-bottom: 1px;
	margin: 0 auto;
	border-radius: 200px;
	background: var(--color-black);
	color: #fff;
	line-height: 1;
	margin-bottom: 0.72em;
}
.dz_lp .performance .performance_box .sub {
	font-size: 1.2rem;
	text-align: center;
	line-height: 1;
	margin-bottom: 0.54em;
}
.dz_lp .performance .performance_box .percent {
	text-align: center;
	line-height: 1;
}

.dz_lp .performance .performance_box figure {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.dz_lp .performance .performance_box figure {
	width: 204px;
}
.dz_lp .performance .performance_box figure img.graph {
	width: 100%;
}
.dz_lp .performance .performance_box figure .arrow {
	position: absolute;
	bottom: 50px;
	left: 0;
}

/* type_block */
.dz_lp .performance .type_block {
	padding-top: 12.8rem;
	background: var(--color-pale_gray);
}
.dz_lp .performance .type_block .contents_wrapper {
	position: relative;
	padding-bottom: 76px;
}
.dz_lp .performance .type_block .illust {
	position: absolute;
	bottom: 0;
	right: -7.6rem;
}

.dz_lp .performance .type_block .heading {
	text-align: left;
	margin-bottom: 2rem;
}
.dz_lp .performance .type_block .text {
	text-align: left;
	margin-bottom: 2.8rem;
}


.dz_lp .performance .type_list dl {
	margin-bottom: 0.5rem;
}

.dz_lp .performance .type_list .type_name {
	background: var(--color-black);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.dz_lp .performance .type_list .type_name .type_icon {
	display: inline-block;
	margin-right: 0.5rem;
	position: relative;
	top: 1px;
}
.dz_lp .performance .type_list .type_ex {
	background: #fff;
	padding-left: 1rem;
}





@media screen and (min-width:769px) {
	.dz_lp .performance .performance_box {
		width: 24.75%;
		height: 320px;
		height: clamp(320px,25vw,620px);
		padding: 20px 20px 0;
		padding: clamp(20px,1.562vw,40px);
		margin-bottom: 0.34%;
	}
	.dz_lp .performance .performance_box .type {
		font-size: clamp(1.6rem,1.25vw,3.2rem);
		height: clamp(40px,3.125vw,80px);
	}
	.dz_lp .performance .performance_box .sub {
		font-size: clamp(1.2rem,0.9375vw,2.4rem);
	}
	.dz_lp .performance .performance_box .percent img {
		width: auto;
		height: clamp(44px,3.437vw,88px);
	}
	.dz_lp .performance .performance_box figure {
		width: 15.938vw;
		width: clamp(204px,15.938vw,408px);
	}
	.dz_lp .performance .performance_box figure .arrow {
		width: 126px;
		width: clamp(126px,9.8437vw,252px);
		bottom: clamp(50px,3.906vw,100px);
	}

	/* type */
	.dz_lp .performance .type_block .type_list {
		width: 800px;
	}

	.dz_lp .performance .type_list dl {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
	}
	.dz_lp .performance .type_list .type_name {
		width: 180px;
	}
	.dz_lp .performance .type_list .type_ex {
		flex: 1;
		display: flex;
		align-items: center;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .performance {

	}
	.dz_lp .performance .heading {
		margin-bottom: 2.6rem;
	}
	.dz_lp .performance .lead {
		text-align: left;
		margin-bottom: 2.4rem;
	}

	.dz_lp .performance .performance_block {
		padding: 2rem 0.5rem 0;
	}

	.dz_lp .performance .performance_box {
		width: 49.32%;
		height: 85.3234vw;
		padding: 1rem 1rem 0;
		margin-bottom: 1.36%;
	}
	.dz_lp .performance .performance_box .type {
		font-size:1.8rem;
		width: 100%;
		height: 10.66vw;
	}
	.dz_lp .performance .performance_box .sub {
		font-size: 1.2rem;
	}
	.dz_lp .performance .performance_box .percent img {
		width: auto;
		height: 13.34vw;
	}
	.dz_lp .performance .performance_box figure {
		width: 43.74vw;
	}
	.dz_lp .performance .performance_box figure .arrow {
		width: 24.54vw;
		bottom: 18.66vw;
	}

	/* type */
	.dz_lp .performance .type_block {
		padding-top: 6.6rem;
		padding-bottom: 9.2rem;
	}

	.dz_lp .performance .type_block .contents_wrapper {
		padding-bottom: 0;
	}
	.dz_lp .performance .type_block .illust {
		position: absolute;
		bottom: 0;
		right: -8.2rem;
		width: 64.4vw;
	}

	.dz_lp .performance .type_block .type_list {
		position: relative;
		z-index: 10;
		width: 71.66%;
	}


	.dz_lp .performance .type_list .type_name {
		width: 100%;
		position: relative;
		cursor: pointer;
	}
	.dz_lp .performance .type_list .type_name .type_icon {
		width: 10.66vw;
	}
	.dz_lp .performance .type_list .type_ex {
		width: 100%;
		padding: 0.7rem 1rem;
		display: none;
	}
	.dz_lp .performance .type_list .type_name::before,
	.dz_lp .performance .type_list .type_name::after {
		--size: 5.34vw;
		content: "";
		position: absolute;
		top: 50%;
		right: 1rem;
		transform: translateY(-50%);
	}
	.dz_lp .performance .type_list .type_name::before {
		width: var(--size);
		height: var(--size);
		background: #fff;
		border-radius: var(--size);
	}
	.dz_lp .performance .type_list .type_name::after {
		right: calc(var(--size) * 0.5 + 1rem);
		transform: translateX(50%) translateY(-48%);
		transform-origin: center center;
		border-top: 1.816vw solid var(--color-black);
		border-right: 1.14vw solid transparent;
		border-left: 1.14vw solid transparent; 
		transition: 0.22s;
	}
	.dz_lp .performance .type_item.active .type_name::after {
		transform: translateX(50%) translateY(-52%) rotate(180deg);
	}
}




/*****   dz_service   *****/
.dz_lp .dz_service {
	margin-top: 16rem;
	margin-bottom: 21.6rem;
}

.dz_lp .dz_service .heading {
	margin-bottom: 2.8rem;
}
.dz_lp .dz_service .lead {
	margin-bottom: 7.6rem;
}
.dz_lp .dz_service .sub {
	margin-bottom: 2rem;
	font-weight: 700;
}

.dz_lp .dz_service .service_list {
	position: relative;
	width: 100%;
	flex-wrap: wrap;
	align-items: stretch;
}
.dz_lp .dz_service .service_item {
	position: relative;
	text-align: center;
	background: var(--color-pale_gray);
} 

.dz_lp .dz_service .service_item img {
	margin-bottom: 2rem;
}
.dz_lp .dz_service .service_item h3 {
	font-size: 1.8rem;
	line-height: 1.5;
	margin-bottom: 0.2rem;
}
.dz_lp .dz_service .service_item p {
	font-size: 1.4rem;
}

.dz_lp .dz_service .service_item.free::before {
	--size: 66px;
	--position: 1rem;
	content: "無料";
	position: absolute;
	top: var(--position);
	right: var(--position);
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--size);
	height: var(--size);
	padding-bottom: 0.28rem;
	background-image: url(./img/design/icon_gizahuki_bg.svg);
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
}
.dz_lp .dz_service .small {
	margin-top: 10px;
	font-size: 1.2rem;
}

@media screen and (min-width:769px) {
	.dz_lp .dz_service .service_item {
		width: 330px;
		padding: 4rem 0rem 3.4rem;
		margin-bottom: 5px;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .dz_service {
		margin-top: 8.6rem;
		margin-bottom: 7.6rem;
	}
	.dz_lp .dz_service .heading {
		margin-bottom: 1.6rem;
	}
	.dz_lp .dz_service .lead {
		margin-bottom: 3.2rem;
	}

	.dz_lp .dz_service .service_item {
		width: 49.25%;
		margin-bottom: 1.5%;
		height: 61.86vw;
		padding-top: 4rem;
	} 
	
	.dz_lp .dz_service .service_item img {
		width: 18.666vw;
		margin-bottom: 1.4rem;
	}
	.dz_lp .dz_service .service_item h3 {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.dz_lp .dz_service .service_item p {
		font-size: 1.2rem;
	}
	
	.dz_lp .dz_service .service_item.free::before {
		--size: 16.9vw;
		--position: 0.54rem;
		font-size: 1.7rem;
	}
	
}



/*****   dz_design   *****/
.dz_lp .dz_design {
	margin-bottom: 16rem;
}

.dz_lp .dz_design .tit {
	border-bottom: 1px solid var(--color-border_gray);
	line-height: 1;
	margin-bottom: 2.8rem;
	padding-bottom: 1.6rem;
	font-weight: 700;
}
.dz_lp .dz_design .design_block .heading {
	margin-bottom: 2.8rem;
}


.dz_lp .dz_design .design_slider {
	width: 100vw;
}

.dz_lp .dz_design .design_slider li {
	margin: 0 3.5rem;
}

.dz_lp .dz_design .design_slider .slick-arrow {
	--size: 3.44rem;
	width: 3.8rem;
	height: 5.4rem;
	right: auto;
	left: 0;
	transform: translateX(-100%);
}
.dz_lp .dz_design .design_slider .slick-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--size);
	height: var(--size);
	border-top: 1px solid var(--color-pink);
	border-left: 1px solid var(--color-pink);
	transform-origin: top left;
}
.dz_lp .dz_design .design_slider .slick-prev {
	left: 0;
	transform: translateX(-100%);
}
.dz_lp .dz_design .design_slider .slick-prev::before {
	transform: rotate(-45deg);
}
.dz_lp .dz_design .design_slider .slick-next {
	left: 450px;
	transform: translateX(100%);
}
.dz_lp .dz_design .design_slider .slick-next::before {
	left: auto;
	right: 0;
	transform: translateX(100%) rotate(135deg);
}

.dz_lp .dz_design .design_slider .slick-dots {
	width: fit-content;
}

.dz_lp .dz_design .design_slider .slick-dots li {
	--size: 1.6rem;
	width: var(--size);
	height: var(--size);
	margin: 0 0.6rem;
}
.dz_lp .dz_design .design_slider .slick-dots li button:before {
	content: "";
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	background: var(--color-gray);
	opacity: 1;
}
.dz_lp .dz_design .design_slider .slick-dots li.slick-active button::before {
	background: var(--color-pink);
	opacity: 1;
}


.dz_lp .dz_design .appeal {
	margin-top: 7.2rem;
	position: relative;
	padding-bottom: 3.4rem;
}
.dz_lp .dz_design .appeal::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 4000px;
	height: 1px;
	background-color: var(--color-border_gray);
}
.dz_lp .dz_design .appeal h3 {
	font-size: 2.4rem;
	line-height: 1.5;
	margin-bottom: 1.14rem;
}
.dz_lp .dz_design .appeal .name {
	line-height: 1.5;
	margin-bottom: 1.8rem;
	font-weight: 700;
}

@media screen and (min-width:769px) {
	.dz_lp .dz_design .design_block .text {
		width: 324px;
	}
	
	.dz_lp .dz_design .slider_box {
		width: 580px;
	}

	.dz_lp .dz_design .appeal .text {
		width: 800px;
	}
	.dz_lp .dz_design .appeal .illust {
		position: absolute;
		bottom: 3.4rem;
		right: 1rem;
	}

	.dz_lp .dz_design .design_slider {
		margin-top: -12.2rem;
	}
	.dz_lp .dz_design .design_slider .slick-dots {
		position: absolute;
		bottom: 14.4rem;
		left: -422px;
		width: fit-content;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .dz_design {
		margin-bottom: 13.2rem;
	}
	.dz_lp .dz_design .design_block .heading {
		margin-bottom: 1.4rem;
	}
	.dz_lp .dz_design .design_block .text {
		margin-bottom: 3.7rem;
	}

	.dz_lp .dz_design .slider_box {
		margin-left: 2.6rem;
	}
	
	.dz_lp .dz_design .design_block .slide {
		width: 70vw;
	}
	.dz_lp .dz_design .design_block .slide img {
		width: 70vw;
	}

	.dz_lp .dz_design .design_slider li {
		margin: 0;
		margin-right: 3.7rem;
		margin-left: 0.2rem;
	}

	.dz_lp .dz_design .design_slider .slick-next {
		left: 60vw;
	}

	.dz_lp .dz_design .design_slider .slick-dots {
		margin: 3.2rem auto 0;
		bottom: -3.8rem;
		left: calc(48vw - 4.76vw);
		transform: translateX(-56.9%);
	}
	

	.dz_lp .dz_design .appeal {
		margin-top: 10.4rem;
	}
	.dz_lp .dz_design .appeal h3 {
		font-size: 2rem;
	}
	.dz_lp .dz_design .appeal .name {
		font-size: 1.6rem;
	}

	.dz_lp .dz_design .appeal .illust {
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 26.56vw;
		margin-bottom: 1.8rem;
	}
}



/*****   dz_method   *****/
.dz_lp .dz_method {
	margin-bottom: 13.2rem;
}

.dz_lp .dz_method .tit {
	font-size: 2.4rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 120px;
	padding-bottom: 1px;
	background: var(--color-black);
	color: #fff;
	box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.2);
}
.dz_lp .dz_method .tit.fade_anime {
	transform: translate(0);
	opacity: 1;
	color: var(--color-black);
}
.dz_lp .dz_method .tit.fade_anime.fade_in {
	color:#fff;
}

.dz_lp .dz_method .outer {
	padding: 7rem 0 11.2rem;
	background: var(--color-black);
	background: url(./img/design/dz_method_bg.svg);
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
}

.dz_lp .dz_method .lead_block {
	margin: 10rem auto 11rem;
}
.dz_lp .dz_method .lead_block .box .sub_tit {
	font-weight: 700;
	margin-bottom: 1.8rem;
	line-height: 1;
}
.dz_lp .dz_method .lead_block .box .heading {
	margin-bottom: 3.6rem;
	line-height: 1;
}

.dz_lp .dz_method .method_block {
	margin-bottom: 4rem;
}
.dz_lp .dz_method .method_block h4 {
	font-size: 1.8rem;
	margin-bottom: 1.4rem;
	line-height: 1.8;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid var(--color-border_gray);
}
.dz_lp .dz_method .method_block .contents_block {
	max-width: 860px;
	margin-left: auto;
	margin-right: 0;
}
.dz_lp .dz_method .method_block .contents_block .text {
	margin-bottom: 3.2rem;
}

.dz_lp .dz_method .method1 .element_item h5 {
	font-size: 1.8rem;
	line-height: 1.92;
	padding: 0.7rem 2rem 0.82rem;
	margin-bottom: 1.14rem;
	background: rgba(255, 255, 255, 0.2);
}
.dz_lp .dz_method .method1 .element_item p {
	margin-bottom: 2.14rem;
	line-height: 1.9;
}

.dz_lp .dz_method .method2 .parts_list {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
}
.dz_lp .dz_method .method2 .part_item {
	text-align: center;
	background: var(--color-pink);
	color: #fff;
}
.dz_lp .dz_method .method2 .part_item h5 {
	font-size: 3.2rem;
	line-height: 1;
	margin-bottom: 1rem;
}
.dz_lp .dz_method .method2 .part_item p {
	font-size: 1.4rem;
}

.dz_lp .dz_method .method3 .step_list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
}
.dz_lp .dz_method .method3 .step_item h5 {
	font-size: 1.8rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
}
.dz_lp .dz_method .method3 .step_item p {
	line-height: 1.86;
}


@media screen and (min-width:769px) {
	.dz_lp .dz_method .lead_block {
		position: relative;
	}
	.dz_lp .dz_method .lead_block .box {
		width: 460px;
		margin-left: auto;
		margin-right: 0;
	}
	.dz_lp .dz_method .lead_block .img_box {
		position: absolute;
		top: 0;
		left: 0;
	}

	.dz_lp .dz_method .method2 .part_item {
		width: 206px;
		height: 120px;
		padding-top: 2.6rem;
	}

	.dz_lp .dz_method .method3 .step_item {
		width: 278px;
	}

	.dz_lp .dz_method .form_anker_btn {
		width: 400px;
		height: 80px;
		margin-top: 8rem;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .dz_method {
		margin-bottom: 7.6rem;
	}
	.dz_lp .dz_method .tit {
		height: 22.2vw;
	}

	.dz_lp .dz_method .outer {
		padding: 5.4rem 0 10.4rem;
	}

	.dz_lp .dz_method .lead_block {
		margin: 5.4rem 0;
	}
	.dz_lp .dz_method .lead_block .box .sub_tit {
		margin-bottom: 0.96rem;
	}
	.dz_lp .dz_method .lead_block .img_box {
		margin-bottom: 2rem;
	}
	.dz_lp .dz_method .method_block h4 {
		padding-left: 2.5rem;
		text-indent: -2.5rem;
		font-size: 1.6rem;
	}

	.dz_lp .dz_method .method_block .contents_block {
		width: 88.14%;
	}
	.dz_lp .dz_method .method_block .contents_block .text {
		margin-bottom: 3.4rem;
	}
	
	.dz_lp .dz_method .method1 .element_item h5 {
		font-size: 1.6rem;
		padding: 0.76rem 2rem 0.94rem;
	}

	.dz_lp .dz_method .method2 .parts_list {
		flex-wrap: wrap;
	}
	.dz_lp .dz_method .method2 .part_item {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		width: 48.74%;
		height: 22.2vw;
		margin-bottom: 2.6%;
	}
	.dz_lp .dz_method .method2 .part_item h5 {
		font-size: 2.4rem;
		margin-bottom: 1rem;
	}
	.dz_lp .dz_method .method2 .part_item p {
		font-size: 1rem;
		line-height: 1.5;
	}

	.dz_lp .dz_method .method3 .step_item {
		margin-bottom: 2.44rem;
	}
	.dz_lp .dz_method .method3 .step_item h5 {
		font-size: 1.6rem;
		margin-top: 1.6rem;
		margin-bottom: 0.8rem;
	}

	.dz_lp .dz_method .form_anker_btn {
		width: 74.69vw;
		height: 16vw;
		margin-top: 5rem;
	}
}


/*****   voice   *****/
.dz_lp .voice {
	position: relative;
	margin-bottom: 16.2rem;
}
.dz_lp .voice .tit {
	font-weight: 700;
	margin-bottom: 1.16rem;
	line-height: 1;
}
.dz_lp .voice .heading {
	margin-bottom: 4.9rem;
}

.dz_lp .voice .voice_slider {
	width: 100vw;
}
.dz_lp .voice .voice_slider .slick-arrow {
	--size: 50px;
	width: var(--size);
	height: var(--size);
	border-radius: var(--size);
	background: var(--color-pink);
	top: 50%;
	left: 0;
	right: auto;
	transform: translateX(-100%) translateY(-40%);
}
.dz_lp .voice .voice_slider .slick-arrow.slick-disabled {
	opacity: 0;
	pointer-events: none;
}

.dz_lp .voice .voice_slider .slick-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	transform: translateX(-50%) translateY(-50%);
	opacity: 1;
}
.dz_lp .voice .voice_slider .slick-prev {
	left: 0;
}
.dz_lp .voice .voice_slider .slick-next {
	left: 1040px;
}
.dz_lp .voice .voice_slider .slick-prev::before {
	left: 48%;
	border-right: 15.2px solid #fff;
	border-left: 0;
	border-top: 10.2px solid transparent;
	border-bottom: 10.2px solid transparent; 
}
.dz_lp .voice .voice_slider .slick-next::before {
	left: 52%;
	border-left: 15.2px solid #fff;
	border-right: 0;
	border-top: 10.2px solid transparent;
	border-bottom: 10.2px solid transparent; 
}

.dz_lp .voice .slide {
	margin-right: 2rem;
	background: #fff;
}
.dz_lp .voice .slide .text_box {
	padding: 3rem;
}
.dz_lp .voice .slide .tit {
	font-size: 1.8rem;
	line-height: 1.8;
	margin-bottom: 1.4rem;
}
.dz_lp .voice .slide p {
	font-size: 1.6rem;
	line-height: 1.8;
}

.dz_lp .voice .company_logo_list {
	flex-wrap: wrap;
	margin-top: 5.6rem;
	margin-bottom: 10.4rem;
}
.dz_lp .voice .company_logo_item {
	margin-bottom: 2.38rem;
}

.dz_lp .voice .appeal {
	position: relative;
	padding-bottom: 5.6rem;
}
.dz_lp .voice .appeal::before {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 3000px;
	height: 1px;
	background: var(--color-border_gray);
}
.dz_lp .voice .appeal .tit {
	font-size: 1.8rem;
	line-height: 1;
	margin-bottom: 1.8rem;
}
.dz_lp .voice .appeal .text {
	max-width: 800px;
}

@media screen and (min-width:769px) {
	.dz_lp .voice .appeal .illust {
		position: absolute;
		bottom: 7rem;
		right: 0.8rem;
	}

	.dz_lp .voice .voice_slider {
		min-width: 1200px;
	}
	.dz_lp .voice .slide {
		max-width: 490px;
	}

}
@media screen and (max-width:769px) {
	.dz_lp .voice {
		margin-bottom: 8.6rem;
	}

	.dz_lp .voice .slide img,.dz_lp .voice .slide .text_box {
		width: 87.4vw;
	}
	.dz_lp .voice .slide .text_box {
		padding: 3rem 2rem 2rem;
	}

	.dz_lp .voice .voice_slider .slick-arrow {
		--size: 8.2vw;
	}
	.dz_lp .voice .voice_slider .slick-prev {
		left: 4vw;
	}
	.dz_lp .voice .voice_slider .slick-next {
		left: 90vw;
	}
	.dz_lp .voice .voice_slider .slick-prev::before {
		left: 48%;
		border-right: 2.38vw solid #fff;
		border-left: 0;
		border-top: 1.5vw solid transparent;
		border-bottom: 1.5vw solid transparent; 
	}
	.dz_lp .voice .voice_slider .slick-next::before {
		left: 52%;
		border-left: 2.38vw solid #fff;
		border-right: 0;
		border-top: 1.5vw solid transparent;
		border-bottom: 1.5vw solid transparent; 
	}

	.dz_lp .voice .company_logo_list {
		flex-wrap: wrap;
		margin-top: 4.4rem;
		margin-bottom: 7.6rem;
	}
	.dz_lp .voice .company_logo_item {
		width: 42.2vw;
		margin-bottom: 1.7rem;
	}

	.dz_lp .voice .appeal {
		padding-bottom: 3.6rem;
	}
	.dz_lp .voice .appeal .tit {
		font-size: 1.6rem;
		margin-bottom: 1rem;
	}
	.dz_lp .voice .appeal .text {
		max-width: 800px;
	}
	.dz_lp .voice .appeal .illust {
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 26.56vw;
		margin-bottom: 1.8rem;
	}
}


/*****   flow   *****/
.dz_lp .flow {
	position: relative;
	margin-bottom: 11rem;
}
.dz_lp .flow .contents_wrapper{
	max-width: 1030px;
}

.dz_lp .flow .heading {
	margin-bottom: 4.92rem;
}

.dz_lp .flow .flow_block {
	align-items: stretch;
	flex-wrap: wrap;
	margin-bottom: 4.4rem;
}

.dz_lp .flow .flow_box {
	position: relative;
	border: 1px solid var(--color-border_gray);
	border-radius: 1px;
	padding: 1rem;
	padding-bottom: 1.8rem;
}

.dz_lp .flow .flow_box .num {
	position: absolute;
	top: 1rem;
	left: 1rem;
}

.dz_lp .flow .flow_box h3 {
	font-size: 1.8rem;
	padding: 0 1rem;
	margin-bottom: 0.69rem;
}
.dz_lp .flow .flow_box p {
	font-size: 1.4rem;
	padding: 0 1rem;
}

.dz_lp .flow .flow_box .huki {
	--size: 120px;
	position: absolute;
	top: -1.2rem;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--size);
	height: var(--size);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.22;
	text-align: center;
	color: #fff;
	background: url(./img/design/icon_gizahuki_bg.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width:769px) {
	.dz_lp .flow .flow_box {
		width: 480px;
		margin-bottom: 3rem;
	}
	.dz_lp .flow .flow_box img {
		margin-bottom: 2.44rem;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .flow {
		margin-bottom: 9.6rem;
	}
	.dz_lp .flow .heading {
		margin-bottom: 3.2rem;
	}

	.dz_lp .flow .flow_block {
		margin-bottom: 3.8rem;
	}
	.dz_lp .flow .flow_box {
		margin-bottom: 2rem;
	}
	

	.dz_lp .flow .flow_box .num {
		width: 4rem;
	}
	.dz_lp .flow .flow_box .huki {
		--size: 24.4vw;
		font-size: 1.4rem;
		right: -1rem;
	}

	.dz_lp .flow .flow_box img {
		margin-bottom: 1.7rem;
	}

	.dz_lp .flow .flow_box h3 {
		font-size: 1.6rem;
		padding: 0 0.8rem;
	}
	.dz_lp .flow .flow_box p {
		font-size: 1.38rem;
		padding: 0 0.8rem;
	}
}


/*****   qanda   *****/
.dz_lp .qanda {
	margin-bottom: 12rem;
}
.dz_lp .qanda .contents_wrapper {
	position: relative
}

.dz_lp .qanda .qanda_block {

}
.dz_lp .qanda .qanda_block dl {
	margin-bottom: 3.8rem;
}
.dz_lp .qanda .qanda_block dl:last-of-type {
	margin: 0;
}
.dz_lp .qanda .qanda_block dt {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-bottom: 1rem;
	margin-bottom: 1.4rem;
	border-bottom: 1px solid var(--color-border_gray);
	font-weight: 700;
	font-size: 1.8rem;
}
.dz_lp .qanda .qanda_block dt::before {
	--size: 30px;
	content: "";
	position: relative;
	top: 0.1rem;
	display: inline-block;
	background: url(./img/text/quwstion_q_pink.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: var(--size);
	height: var(--size);
	min-width: var(--size);
	min-height: var(--size);
	margin-right: 1rem;
}
.dz_lp .qanda .qanda_block dd {
	font-size: 1.8rem;
	line-height: 1.86;
}

.dz_lp .qanda .visual {
	position: absolute;
	bottom: 0;
	left: 0;
}

@media screen and (min-width:769px) {
	.dz_lp .qanda .qanda_block {
		width: 720px;
	}
}
@media screen and (max-width:769px) {
	.dz_lp .qanda {
		margin-bottom: 6.2rem;
	}
	.dz_lp .qanda .heading {
		margin-bottom: 5.4rem;
	}
	.dz_lp .qanda .qanda_block {
		position: relative;
		width: 68.2vw;
		margin-right: 0;
		margin-left: auto;
	}

	.dz_lp .qanda .qanda_block dl {
		margin-bottom: 1.8rem;
	}
	.dz_lp .qanda .qanda_block dt {
		align-items: flex-start;
		font-size: 1.6rem;
		line-height: 1.76;
		padding-bottom: 1rem;
		margin-bottom: 0.82rem;
	}
	.dz_lp .qanda .qanda_block dt::before {
		--size: 8vw;
		top: -0.1rem;
	}
	.dz_lp .qanda .qanda_block dd {
		font-size: 1.4rem;
	}

	.dz_lp .qanda .visual {
		width: 32.86vw;
		top: 0;
		left: auto;
		right: calc(100% + 0.2rem);
	}
}


/*****   about_dz   *****/
.dz_lp .about_dz {
	position: relative;
	padding: 11rem 0 12rem;
}
.dz_lp .about_dz .contents_wrapper {
	position: relative;
	z-index: 10;
}
.dz_lp .about_dz .bg {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}
.dz_lp .about_dz .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.dz_lp .about_dz .heading {
	margin-bottom: 1.8rem;
}
.dz_lp .about_dz .tit {
	font-size: 1.8rem;
	margin-bottom: 2.2rem;
}
.dz_lp .about_dz .text {
	margin-bottom: 3.2rem;
}
.dz_lp .about_dz .link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 60px;
	padding-bottom: 1px;
	background: #fff;
	border: 1.4px solid var(--color-pink);
	border-radius: 1px;
	color: var(--color-pink);
	font-weight: 700;
}
.dz_lp .about_dz .link:hover {
	opacity: 1;
	background: var(--color-pink);
	color: #fff;
}


@media screen and (min-width:769px) {
	
}
@media screen and (max-width:769px) {
	.dz_lp .about_dz {
		padding: 6.46rem 0 8.2rem;
	}
	.dz_lp .about_dz .link {
		width: 51.33vw;
		height: 15.2vw;
	}

	.dz_lp .about_dz .heading {
		margin-bottom: 2.6rem;
	}
	.dz_lp .about_dz .tit {
		font-size: 1.66rem;
		margin-bottom: 1.14rem;
	}
}



/**********
   contactForm
***********/
#contactForm {
	width: 100%;
	padding: 1.6rem 4rem 6rem;
	font-size: 1.4rem;
}

#contactForm .form-wrap {
	border-bottom: 1.2px solid var(--color-black);
}
#contactForm .form-wrap dd {
	flex: 1;
}

#contactForm .form-contents_title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
#contactForm .required .form-contents_title::after {
	content: "必須";
	position: relative;
	display: inline-block;
	padding: 0.2rem 0.3rem 0.3rem;
	border-radius: 3.2px;
	background: #f00;
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
}

#contactForm input[type="text"],#contactForm textarea {
	width: 100%;
	padding-left: 1rem;
	font-size: 1.4rem;
	font-weight: 500;
	font-family: var(--font-sans-serif);
	outline: none;
	border: 1px solid var(--color-border_gray);
	border-radius: 4px;
}

#contactForm textarea {
	height: 110px;
	padding-top: 1rem;
	line-height: 1.5;
}

#contactForm input[type="checkbox"] {
	transform: scale(1.1);
	transform-origin: center center;
	position: relative;
	top: 1px;
	margin-right: 0.6rem;
	cursor: pointer;
}

#contactForm .check_list > div:nth-of-type(n+2) {
	margin-top: 0.62rem;
} 
#contactForm .check_wrap .form-contents_title {
	height: auto;
}
#contactForm .form-contents_check {
	cursor: pointer;
}

#contactForm .privacy_check {
	margin: 1.8rem 0;
}
#contactForm .privacy_check>div {
	position: relative;
	margin: 1rem 0;
	padding-left: 2.92rem;
}
#contactForm .privacy_check input {
	position: absolute;
	top: 0.2rem;
	left: 0;
}

#contactForm .submit_btn input {
	margin: 3.2rem auto 0;
	filter: drop-shadow(0px 4px 0px rgba(0, 0, 0, 0.2));
	font-weight: 700;
	font-size: 1.82rem;
}
#contactForm .submit_btn {
	position: relative;
}
#contactForm .submit_btn a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 100;
}


#contactForm .formErrorContent {
	line-height: 1.88;
}
#contactForm .privacy_check .formErrorContent,
#contactForm .check_list .formErrorContent {
	margin-bottom: 0.4rem;
}
#contactForm .privacy_check .formErrorContent::after,
#contactForm .check_list .formErrorContent::after {
	display: none;
}


@media screen and (min-width:769px) {
	#contactForm .form-wrap {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 1.4rem 0;
	}

	#contactForm .form-contents_title {
		width: 182px;
		height: 34px;
		margin-right: 1.2rem;
	}

	#contactForm input[type="text"] {
		height: 34px;
	}

	#contactForm .submit_btn input {
		width: 340px;
		height: 60px;
	}
}
@media screen and (max-width:769px) {
	#contactForm {
		padding: 2.2rem 2rem 5.6rem;
	}
	#contactForm .form-wrap {
		display: block;
		padding: 1.2rem 0;
	}
	#contactForm .form-contents_title {
		align-items: flex-start;
		width: 100%;
		line-height: 1;
		margin-bottom: 1rem;
	}

	#contactForm input[type="text"] {
		height: auto;
		padding-top: 1.16rem;
		padding-bottom: 1.2rem;
	}

	#contactForm .check_wrap {
		padding-bottom: 1.6rem;
	}
	#contactForm .check_wrap .form-contents_title {
		margin-bottom: 1.4rem;
	}
	#contactForm .privacy_check>div {
		padding-left: 2.6rem;
	}
	#contactForm .privacy_check input {
		top: 0.56rem;
	}

	#contactForm .privacy_check .form-contents_check {
		line-height: 1.8;
	}

	#contactForm .submit_btn input {
		width: 100%;
		height: 20.22vw;
		margin-top: 2.2rem;
	}
	#contactForm .submit_btn {
		position: relative;
	}
	#contactForm .submit_btn::after {
		--size: 4vw;
		content: "";
		position: absolute;
		top: 50%;
		right: 3rem;
		transform: translateY(-50%);
		width: var(--size);
		height: calc(var(--size) * (12/15));
		background-image: url(./img/design/icon_submit.svg);
		background-repeat: no-repeat;
		background-size: contain;
		pointer-events: none;
	}
}

#contactForm .disclaimer{
	border: 1px solid #ccc;
	border-radius: 5px;
	padding: 10px 20px;
	height: 140px;
	overflow-y:scroll;
	width: 100%;
}
#contactForm .disclaimer p{
	font-size: 1.2rem;
}
#contactForm .disclaimer .disttl{
	font-size: 1.3rem;
	font-weight: bold;
	margin-top: 10px;
}


/**********
   thanks.page
***********/
.thanks_page {
	text-align: center;
	margin: 0;
	padding: 0;
}
.thanks_page .main_contents {
	margin: 0;
	padding: 0;
}
.thanks_page .main_contents .success img {
	margin-top: 7.6rem;
	margin-bottom: 1rem;
}

.thanks_page .success h1 {
	line-height: 1;
	margin-bottom: 2rem;
	font-size: 3.54rem;
	font-weight: 700;
}
.thanks_page .success p {
	margin-bottom: 2.8rem;
	font-weight: 700;
	font-size: 1.86rem;
}
.thanks_page .success .return {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 1px;
	width: 200px;
	height: 60px;
	margin: 1rem auto 0;
	border: 1.6px solid var(--color-black);
	background: transparent;
	color: var(--color-black);
	font-weight: 500;
	transition: 0.2s;
}
.thanks_page .success .return:hover {
	opacity: 0.98;
	background: var(--color-black);
	color: #fff;
}

.thanks_page #footer {
	background: inherit;
	margin: 13.2rem 0 5.6rem;
	padding: 0;
}
.thanks_page #footer .img {
	width: 162.2px;
	height: auto;
	margin-right: auto;
	margin-left: auto;
}


@media screen and (min-width:769px) {

}
@media screen and (max-width:769px) {
	.thanks_page .main_contents .success img {
		margin-top: 7.2rem;
		margin-bottom: 3.2rem;
	}
	.thanks_page .success h1 {
		font-size: 2.4rem;
	}
	.thanks_page .success p {
		font-size: 1.6rem;
		line-height: 1.8;
		margin-bottom: 3.8rem;
	}
	.thanks_page .success .return {
		width: 53.32vw;
		height: 16vw;
		font-size: 1.6rem;
	}
	.thanks_page #footer .img {
		width: 43.2vw;
	}
}