/*============================================
全体
===========================================*/
body {
	background-color: #f0f0e6;
}

body::before {
	content: "";
	width: 100%;
	max-width: 3.55rem;
	height: 2.09rem;
	background-color: #29abe2;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

/* 確認用ページ */
body.confirm::before {
	height: 1.26rem;
}

@media screen and (max-width: 599px) {
	body.confirm::before {
		content: none;
	}
}

@media screen and (max-width: 599px) {
	body::before {
		max-width: 1.90rem;
		height: 1.30rem;
	}
}

/*============================================
ヘッダー
===========================================*/
header {
	position: absolute;
	transform: translateY(1.50rem);
	top: -1.50rem;
	left: 0;
	z-index: 100;
	width: 100%;
	min-width: 1100px;
	transition: top 0.3s ease;
}

@media screen and (max-width: 599px) {
	header {
		min-width: 100%;
	}
}

header.fix {
	position: fixed;
	transform: translateY(0);
	top: 0;
	background-color: rgba(255, 255, 255, 0.95);
}

/*スクロール時*/
/*
header.animation {
	height: 1.2rem;
	z-index: 5;
	background: #fff;
}
@media screen and (max-width: 599px) {
	header.animation {
		height: 0.6rem;
	}
}
*/

/*
全体のボックス
*/
.header_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	height: 100%;
	position: relative;
}

/*
タイトル
*/
.header_box .logo {
	width: 100%;
	max-width: 3.55rem;
}

@media screen and (max-width: 599px) {
	.header_box .logo {
		width: 50%;
		z-index: 2;
		height: auto;
		background: initial;
	}

	.confirm .header_box .logo {
		width: 100%;
		text-align: center;
	}
}

/*SP用背景色*/
@media screen and (max-width: 599px) {
	.header_back {
		width: 50%;
		height: 1rem;
		background: #29abe2;
		position: absolute;
		left: 0;
		top: 0;
	}
	
	.confirm .header_back {
		width: 100%;
		height: 0.65rem;
		background: #29abe2;
		position: absolute;
		left: 0;
		top: 0;
	}
}


/*アニメーション*/
/*
header.animation .header_box .logo {
	height: 100%;
}
@media screen and (max-width: 599px) {
	header.animation .header_box .logo{
		background: #29abe2;
	}
}
*/


.header_box .logo img {
	max-width: 2.8rem;
	width: 100%;
	height: auto;
	padding: 0.20rem 0.40rem;
}

@media screen and (max-width: 599px) {
	.header_box .logo img {
		max-width: 1.50rem;
		padding: 0.10rem 0.20rem;
	}
}

/*
ナビゲーション
*/

/*ナビゲーション全体*/
header .wrap {
	margin-left: auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: calc(100% - 3.55rem);
}

@media screen and (max-width: 599px) {
	header .wrap {
		width: 100%;
		margin-top: -0.6rem;
	}
}

/* 確認用ページ */
.confirm header .wrap {
	background-color: #FFF;
}

/*ナビゲーション*/
header .wrap nav {
	/*
	padding-top: 0.5rem;
	width: 70%;
*/
}

@media screen and (max-width: 599px) {
	header .wrap nav {
		width: 100%;
		margin-left: auto;
		padding-top: 0.90rem;
		padding-bottom: 0.20rem;
		margin-right: 0;
		background: rgba(41, 171, 225, 1);
		position: absolute;
		top: 0;
		left: 0;
	}
}

/*スクロール時*/
/*
header.animation header nav {
	padding-top: 0.35rem;
}

@media screen and (max-width: 599px) {
	header.animation header nav {}
}
*/

/* メインナビゲーション */
header nav .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 100%
}

@media screen and (max-width: 1150px) {}

header nav .list .link {
	box-sizing: border-box;
	padding: 0 0.15rem;
}

@media screen and (max-width: 1150px) {
	header nav .list .link {
		padding: 0 0.13rem;
	}
}

@media screen and (max-width: 599px) {
	header nav .list .link {
		width: 100%;
		text-align: center;
		padding-bottom: 0.4rem;
	}
}

header nav .list .link a {
	text-decoration: none;
	font-size: 0.16rem;
	font-weight: 500;
	color: #000;
	letter-spacing: 0.075em;
}

@media screen and (max-width: 599px) {
	header nav .list .link a {
		font-size: 0.18rem;
		color: #fff;
	}
}

header nav .list .link a:hover {
	opacity: 0.7;
}


/*
コンタクト
*/
.header_contact {
	padding: 0.15rem 0.20rem;
	transition: .3s;
	max-width: 2.70rem;
	width: 100%;
}

/* TEL番号 */
.header_contact_tel {
	padding-bottom: 0.07rem;
}

.header_contact_tel .num {
	font-family: 'Poppins', sans-serif;
	font-size: 0.18rem;
	letter-spacing: 0.025em;
	line-height: 1.1;
	font-weight: 600;
}

.header_contact_tel .num span {
	font-size: 0.31rem;
	display: inline-block;
	padding-left: 0.03rem;
}

/* 番号の下 */
.header_contact_tel .tel_text_wrap {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	line-height: 1;
}

.header_contact_tel .tel_text_wrap .title {
	background-color: #111;
	color: #FFF;
	width: 0.80rem;
	text-align: center;
	box-sizing: border-box;
	padding: 0.04rem 0.08rem 0.05rem;
	border-radius: 0.30rem;
	font-size: 0.11rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	position: relative;
	top: 0.01rem;
}

.header_contact_tel .tel_text_wrap .text {
	font-size: 0.12rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	padding-left: 0.08rem;
}

/* お問い合わせとLINEボタン */
.header_contact .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.header_contact .list .detail {
	width: 48%;
	box-sizing: border-box;
}

.header_contact .list .detail a {
	display: block;
	line-height: 0;
	padding: 0.12rem 0 0.13rem;
	font-size: 0.14rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	color: #fff;
	text-align: center;
}

.header_contact .list .detail a span::before {
	content: '';
	display: inline-block;
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	margin-right: 0.04rem;
	position: relative;
}

/*お問い合わせ*/
.header_contact .list .detail.mail a {
	background: #f7931e;
}

/* アイコン */
.header_contact .list .detail.mail a span::before {
	width: 0.16rem;
	height: 0.10rem;
	background-image: url(../img/header_contact.svg);
}

/*LINE*/
.header_contact .list .detail.line a {
	background: #00b900;
	padding: 0.05rem 0 0.13rem;
}

/* アイコン */
.header_contact .list .detail.line a span::before {
	width: 0.18rem;
	height: 0.17rem;
	background-image: url(../img/header_line.svg);
	top: 0.04rem;
}


.header_contact li a:hover {
	opacity: 0.7;
}

/* ナビゲーション固定時 */
header.fix .header_box .logo {
	background-color: #29abe2;
	width: 2.10rem;
}

@media screen and (max-width: 599px) {
	header.fix .header_box .logo {
		width: 50%;
	}
}

header.fix .header_box .logo img {
	padding: 0.20rem;
	width: 1.70rem;
}

@media screen and (max-width: 599px) {
	header.fix .header_box .logo img {
		padding: 0.10rem 0.20rem;
	}
}

header.fix .wrap {
	width: calc(100% - 2.10rem);
}

header.fix nav .list {
	padding-bottom: 0.05rem;
}

header.fix .header_contact {
	max-width: 4.00rem;
	display: flex !important;
	justify-content: space-between;
	padding: 0;
	text-align: center;
	align-items: center;
	margin-right: 0.20rem;
}

@media screen and (max-width: 599px) {
	header.fix .header_contact {
		display: none !important;
	}
}

header.fix .header_contact .header_contact_tel {
	width: 2.00rem;
}

header.fix .header_contact .header_contact_tel .num span {
	font-size: 0.18rem;
}

header.fix .header_contact .header_contact_tel .tel_text_wrap {
	padding-top: 0.05rem;
}

header.fix .header_contact .header_contact_tel .tel_text_wrap .title {
	display: none;
}

header.fix .header_contact .list {
	width: 2.00rem
}

header.fix .header_contact .list .detail a {
	padding: 0.40rem 0 0.20rem;
	font-size: 0.12rem;
	position: relative;
}

header.fix .header_contact .list .detail a span::before {
	content: none;
}

header.fix .header_contact .list .detail.mail a::before {
	content: "";
	display: block;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/header_contact.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: 0.10rem;
	left: 50%;
	transform: translateX(-50%);
}

header.fix .header_contact .list .detail.line a::before {
	content: "";
	display: block;
	width: 0.20rem;
	height: 0.20rem;
	background-image: url(../img/header_line.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: 0.10rem;
	left: 50%;
	transform: translateX(-50%);
}

/*============================================
mv
===========================================*/
#mv {
	margin-top: 1.30rem;
	margin-bottom: 0.3rem;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 599px) {
	#mv {
		margin: 0.70rem 0.20rem 0.20rem;
	}
}

.mv_wrapper {
	width: calc(100% - 0.8rem);
	margin: 0 auto;
	background-color: #fff;
	background-image: url(../img/mv_back.jpg);
	background-repeat: no-repeat;
	background-position: 70% 0.20rem;
	background-size: auto 100%;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-radius: 20px;
	box-shadow: 0px 10px 0px -5px rgba(0, 0, 0, 0.3);
	height: 100vh;
	min-height: 4.00rem;
	max-height: 6.00rem;
}

@media screen and (max-width: 599px) {
	.mv_wrapper {
		width: 100%;
		height: auto;
		background-color: transparent;
		background-image: none;
		border-radius: 0;
		padding: 0;
		box-shadow: none;
		min-height: auto;
		max-height: auto;
	}
}

.mv_wrapper .in {
	max-width: 14.00rem;
}

@media screen and (max-width: 599px) {
	.mv_wrapper .in {
		padding: 0;
	}
}

.mv_text {
	max-width: 7.00rem;
}

/*============================================
イントロ
===========================================*/
#intro {
	padding-bottom: 1.2rem;
}

@media screen and (max-width: 599px) {
	#intro {
		padding-bottom: 0.5rem;
	}
}

.intro_lead {
	background: url(../img/intro_back.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
/*	background-size: cover;*/
}

@media screen and (max-width: 599px) {
	.intro_lead {
		background-image: url(../img/intro_back_sp.jpg);
		background-position: right center;
		background-size: 100%;
	}
}


/*写真で簡単お見積り*/
.intro_shasin {
	padding-bottom: 0.4rem;
	width: 100%;
}

@media screen and (max-width: 599px) {
	.intro_shasin {
		padding-bottom: 0.2rem;
	}
}


/*コロナ対策*/
.intro_corona {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: #fff;
	box-sizing: border-box;
	padding: 0.3rem;
	border-radius: 3px;
	box-shadow: 0px 6px 0px 0px rgba(0, 0, 0, 0.2);
	margin-bottom: 1.1rem;
}

@media screen and (max-width: 599px) {
	.intro_corona {
		margin-bottom: 0.3rem;
		padding: 0.20rem;
	}
}

.intro_corona_title {
	width: 40%;
	box-sizing: border-box;
	font-size: 0.26rem;
	font-weight: bold;
	color: #b9272d;
	line-height: 1.6;
	border-right: 1px solid #b3b3b3;
	background-image: url(../img/intro_mask.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: right 0.15rem center;
	%
}

@media screen and (max-width: 599px) {
	.intro_corona_title {
		width: 100%;
		border-right: 0;
		text-align: center;
		font-size: 0.18rem;
		margin-bottom: 0.10rem;
	}
}

.intro_corona_text {
	width: 60%;
	box-sizing: border-box;
	font-size: 0.16rem;
	line-height: 1.6;
	padding-left: 0.3rem;
}

@media screen and (max-width: 599px) {
	.intro_corona_text {
		width: 100%;
		font-size: 0.13rem;
		padding-left: 0;
	}
}

/*コンテンツ*/
.intro_choto {
	padding-bottom: 2rem;
	max-width: 9.30rem;
}

@media screen and (max-width: 599px) {
	.intro_choto {
		padding-bottom: 1.30rem;
	}
}


.intro_choto h2 {
	margin-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
	.intro_choto h2 {
		margin:0 auto 0.10rem;
		max-width: 3.00rem;
	}
}

.intro_choto p {
	font-size: 0.21rem;
	line-height: 2;
	letter-spacing: 0.10em;
}

@media screen and (max-width: 599px) {
	.intro_choto p {
		font-size: 0.14rem;
		width: calc(100% - 1.35rem);
		line-height: 1.85;
	}
}


/*こんな経験ありませんか？*/
.intro_nayami_top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border-radius: 10px;
	border: 3px solid #fff;
	margin-top: -1rem;
}

.intro_nayami_top_text {
	width: 50%;
	box-sizing: border-box;
	background: #206aab;
	text-align: center;
	border-radius: 10px 0 0 10px;
}

@media screen and (max-width: 599px) {
	.intro_nayami_top_text {
		width: 100%;
		padding-bottom: 0.20rem;
		border-radius: 10px 10px 0 0;
		position: relative;
	}

	.intro_nayami_top_text:before {
		content: "";
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid #206aab;
	}
}

.intro_nayami_top_text h3 {
	font-size: 0.26rem;
	font-weight: bold;
	color: #fcee21;
	border-bottom: 3px solid #fcee21;
	padding-bottom: 0.1rem;
	display: inline-block;
	padding-top: 0.3rem;
	margin-bottom: 0.3rem;
}

@media screen and (max-width: 599px) {
	.intro_nayami_top_text h3 {
		font-size: 0.2rem;
		margin-bottom: 0.20rem;
	}
}


.intro_nayami_top_text li {
	text-align: left;
	font-size: 0.20rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
	margin-bottom: 0.1rem;
	box-sizing: border-box;
	text-indent: -0.35rem;
	padding-left: 0.7rem;
	padding-right: 0.3rem;
}

@media screen and (max-width: 599px) {
	.intro_nayami_top_text li {
		font-size: 0.15rem;
		letter-spacing: 0;
		text-indent: -0.25rem;
		padding-left: 0.45rem;
		padding-right: 0.20rem;
	}
}

.intro_nayami_top_text li::before {
	content: '●';
	font-size: 0.21rem;
	color: rgba(0, 0, 0, 0, 5);
	padding-right: 0.1rem;
	opacity: 0.5;
}

@media screen and (max-width: 599px) {
	.intro_nayami_top_text li::before {
		font-size: 0.16rem;
		padding-right: 0.05rem;
	}
}

.intro_nayami_top_img {
	width: 50%;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	.intro_nayami_top_img {
		width: 100%;
	}
}


/*こんな悩みを解決して*/
.intro_nayami_kaiketsu {
	text-align: center;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
	.intro_nayami_kaiketsu {
		margin-top: 0.3rem;
		margin-bottom: 0.1rem;
	}
}


/*比較画像*/
.intro_nayami_flow {
	text-align: center;
}

/* モーダル調整 */
.lum-lightbox {
	z-index: 999;
}

@media (max-width: 460px) {

	.lum-lightbox-inner img {
		max-width: 150vw !important;
		/* 好きなサイズ感で */
		max-height: 88vh !important;
		/* 90vhだと数pxだけ上下にスクロールできてしまうためこのサイズ */
		/* display: block;  を追加すると max-height: 92vh くらいでも大丈夫 */
	}

	/* 矢印ナビが大きすぎると感じたら */
	.lum-gallery-button:after {
		width: 6vw;
		height: 6vw;
	}

	.lum-gallery-button {
		display: none !important;
	}
}

/*============================================
お見積り
===========================================*/
.mitsumori {
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	background: url(../img/mitsumori_back.png) no-repeat center;
	background-size: cover;
}

/*帯*/
.mitsumori_obi {
	text-align: left;
	margin-top: -12px;
	width: 0.37rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_obi {
		width: 0.2rem;
		padding-bottom: 0.2rem
	}
}

/*ボーダー*/
.mitsumori_border_top {
	border-top: 1px dotted #fff;
}

.mitsumori_border_bottom {
	border-top: 1px dotted #fff;
}

/*タイトル*/
.mitsumori_title {
	margin-bottom: 40px;
}

@media screen and (max-width: 599px) {
	.mitsumori_title {
		width: 70%;
		margin: auto;
		margin-bottom: 0.2rem;
	}
}

/*テキスト*/
.mitsumori_text {
	margin-bottom: 0.3rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_text {
		margin-bottom: 0.10rem;
	}
}

.mitsumori_text p {
	text-align: center;
	color: #fff;
	font-size: 0.16rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 599px) {
	.mitsumori_text p {
		font-size: 0.12rem;
	}
}

.mitsumori_text strong {
	display: block;
	font-size: 0.24rem;
	margin-bottom: 0.15rem;
	line-height: 1.6;
	letter-spacing: 0.10em;
	color: #fff;
}

@media screen and (max-width: 599px) {
	.mitsumori_text strong {
		display: block;
		font-size: 0.16rem;
	}
}

.mitsumori_chiki {
	position: relative;
	z-index: 1;
	top: 0.20rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_chiki {
		top: 0.10rem;
	}
}


.mitsumori_chiki p {
	text-align: center;
	font-size: 0.20rem;
	display: inline-block;
	background: #025fa1;
	border: 1px solid #fff;
	color: #fff;
	line-height: 0;
	box-sizing: border-box;
	padding: 0.19rem 0.20rem 0.21rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_chiki p {
		font-size: 0.13rem;
		padding: 0.06rem;
		line-height: 1.53;
		display: block;
		margin: 0 0.2rem;
		border-radius: 10px;
	}
}

.mitsumori_chiki p .bar {
	display: inline-block;
}

@media screen and (max-width: 599px) {
	.mitsumori_chiki p .bar {
		display: none;
	}
}


/*問い合わせ*/
.mitsumori_contact {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 0.35rem;
	background: #fff;
	box-sizing: border-box;
	padding: 0.50rem 0.60rem 0.20rem;
	border-radius: 10px;
}

@media screen and (min-width:700px) and (max-width:1024px) {
	.mitsumori_contact {
		width: 70%;
	}
}

@media screen and (max-width: 599px) {
	.mitsumori_contact {
		width: 100%;
		position: relative;
		z-index: 0;
		top: -0.2rem;
		padding: 0.4rem 0.2rem;
		margin-bottom: 0.1rem;
	}
}

.mitsumori_contact_title h3 {
	font-size: 0.18rem;
	border-bottom: 1px solid #333;
	width: 100%;
	margin: 0 auto;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

/*フォームから問い合わせ*/
.mitsumori_contact_form {
	width: 30%;
}

@media screen and (max-width: 599px) {
	.mitsumori_contact_form {
		width: 100%;
		margin-bottom: 0.5rem;
	}
}

/*lineで問い合わせ*/
.mitsumori_contact_line {
	width: 30%;
}

@media screen and (max-width: 599px) {

	/*lineで問い合わせ*/
	.mitsumori_contact_line {
		width: 100%;
		margin-bottom: 0.5rem;
	}
}

.mitsumori_contact_line_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.mitsumori_contact_line_box .id {
	width: 48%;
	text-align: center;
	padding-top: 0.15rem;
}

.mitsumori_contact_line_box .id a {
	display: block;
	text-decoration: none;
	color: #000;
	text-align: center;
}

.mitsumori_contact_line_box .id a strong {
	display: block;
	font-size: 0.18rem;
	padding-top: 0.05rem;
}

.mitsumori_contact_line_box .qrcode {
	width: 48%;
}

/*電話で問い合わせ*/
.mitsumori_contact_tel {
	width: 30%;
}

@media screen and (max-width: 599px) {
	.mitsumori_contact_tel {
		width: 100%;
	}
}

/*ホームページ*/
.mitsumori_contact_form_btn a {
	display: block;
	background: #ee5a24;
	color: #fff;
	font-size: 0.18rem;
	letter-spacing: 0.05em;
	line-height: 0;
	padding: 0.22rem 0 0.26rem;
	font-weight: 700;
	margin: 0 auto;
	text-decoration: none;
	border-radius: 5px;
	box-shadow: 0 3px 0px rgba(238, 90, 36, 0.3);
	margin-bottom: 0.14rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_contact_form_btn a {
		font-size: 0.16rem;
	}
}


.mitsumori_contact_form_btn a:hover {
	opacity: 0.8;
}

.mitsumori_contact_form_bottom p {
	color: #be272d;
	text-align: center;
	font-size: 0.16rem;
}

/*電話番号*/
.mitsumori_contact_tel_btn {
	line-height: 1;
	margin-bottom: 0.1rem;
}

.mitsumori_contact_tel_btn a {
	font-size: 0.45rem;
	color: #333;
	text-decoration: none;
}

.mitsumori_contact_tel_bottom p {
	text-align: center;
	font-size: 0.16rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_contact_tel_btn {
		line-height: 1;
		margin-bottom: 0.1rem;
	}

	.mitsumori_contact_tel_btn a {
		font-size: 0.18rem;
		color: #333;
		text-decoration: none;
	}

	.mitsumori_contact_tel_btn a {
		font-size: 0.4rem;
		/*
		display: block;
		background: #009fe8;
		color: #fff;
		font-size: 0.18rem;
		font-weight: bold;
		width: 3.2rem;
		margin: 0 auto;
		text-decoration: none;
		padding-top: 0.1rem;
		padding-bottom: 0.1rem;
		border-radius: 5px;
		box-shadow: 0 3px 0 rgba(0,159,232,0.3);
		margin-bottom: 0.1rem;
*/
	}
}

/*キャンペーン*/
.mitsumori_campaign_bottom {
	padding-bottom: 0.5rem;
}

.mitsumori_campaign_bottom p {
	text-align: center;
	font-size: 0.16rem;
	color: #fff;
	padding-top: 0.1rem;
}

@media screen and (max-width: 599px) {
	.mitsumori_campaign_bottom p {
		font-size: 0.12rem;
	}
}

/*============================================
施工料金
===========================================*/
#price {
	background: #fff;
	padding-top: 0.7rem;
	padding-bottom: 1.5rem;
}

@media screen and (max-width: 599px) {
	#price {
		padding-top: 0.5rem;
		padding-bottom: 1.1rem;
	}
}


/*タイトル*/
.title_common {
	text-align: center;
	font-size: 0.4rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.7rem;
}

@media screen and (max-width: 599px) {
	.title_common {
		font-size: 0.26rem;
		margin-bottom: 0.4rem;
	}
}


.title_common:before,
.title_common:after {
	border-top: 1px solid black;
	content: "";
	width: 1.4rem;
}

@media screen and (max-width: 599px) {

	.title_common:before,
	.title_common:after {
		width: 0.2rem;
	}
}

.title_common:before {
	margin-right: 0.2rem;
}

.title_common:after {
	margin-left: 0.2rem;
}

/*コンテンツボックス*/

.price_box_text {
	width: 50%;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
	.price_box_text {
		width: 100%;
		padding-top: 0.30rem;
		padding-bottom: 0.20rem;
	}
}

.price_box_text .lead {
	font-size: 0.16rem;
	text-align: center;
	display: block;
	line-height: 1.6;
	margin-bottom: 0.1rem;
}

.price_box_text h3 {
	font-size: 0.45rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 0.4rem;
}

@media screen and (max-width: 599px) {
	.price_box_text h3 {
		font-size: 0.3rem;
	}
}


.price_box_text .checklist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0.3rem;
}

@media screen and (max-width: 599px) {
	.price_box_text .checklist {
		margin-bottom: 0.1rem;
	}
}


.price_box_text .checklist li {
	width: 31%;
	box-sizing: border-box;
	font-size: 0.16rem;
	text-align: center;
	background: #feebbe;
	border: 1px solid #fff;
	border-radius: 5px;
	line-height: 1.6;
	padding: 0.2rem;
	position: relative;
}

@media screen and (max-width: 599px) {
	.price_box_text .checklist li {
		width: 100%;
		margin-bottom: 0.12rem;
		padding: 0.10rem 0 0.12rem;
	}
}


.price_box_text .checklist li::before {
	content: '';
	width: 0.4rem;
	height: 0.4rem;
	background: url(../img/price_icon_check.png) no-repeat;
	background-size: 100%;
	position: absolute;
	top: -0.1rem;
	left: -0.08rem;
}

/*料金表*/
.pricetable img {
	width: 100%;
}

/*注意点*/
.pricenote {
	margin-top: 0.1rem;
}

.pricenote li {
	font-size: 0.14rem;
	line-height: 1.6;
	padding-left: 0.14rem;
	text-indent: -0.14rem;
}

@media screen and (max-width: 599px) {
	.pricenote li {
		font-size: 0.12rem;
		line-height: 1.6;
		padding-left: 0.14rem;
		text-indent: -0.14rem;
	}
}


/*********************
ユニットバス
**********************/
.price_box:nth-child(even) {
	background: url(../img/price_back_01.png) no-repeat;
	background-size: 70% 100%;
	background-position: left;
	position: relative;
	margin-bottom: 1rem;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(even) {
		background: #f0f0e6;
	}
}



.price_box:nth-child(even) .price_box_text .lead {
	color: #009be4;
}

.price_box:nth-child(even) .price_box_img {
	position: absolute;
	right: 0;
	top: 0.5rem;
	width: 48%;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(even) .price_box_img {
		position: static;
		width: 100%;
		box-sizing: border-box;
		padding: 0 0.2rem 0.3rem;
	}
}


/*画像*/
.price_box:nth-child(even) .price_box_img img {
	object-fit: cover;
	width: 100%;
	height: 5.5rem;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(even) .price_box_img img {
		height: 2.5rem;
	}
}


/*********************
システムキッチン工事
**********************/
.price_box:nth-child(odd) {
	background: url(../img/price_back_02.png) no-repeat;
	background-size: 70% 100%;
	background-position: right;
	position: relative;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(odd) {
		background: #f0f0e6;
	}
}

.price_box:nth-child(odd) .price_box_text {
	margin-left: auto;
	right: 0;
}

.price_box:nth-child(odd) .price_box_text .lead {
	color: #00b900;
}

.price_box:nth-child(odd) .price_box_img {
	position: absolute;
	left: 0;
	top: 0.5rem;
	width: 48%;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(odd) .price_box_img {
		position: static;
		width: 100%;
	}
}


.price_box:nth-child(odd) .price_box_img img {
	object-fit: cover;
	width: 100%;
	height: 4.5rem;
}

@media screen and (max-width: 599px) {
	.price_box:nth-child(odd) .price_box_img img {
		width: 100%;
		height: 2.5rem;
		box-sizing: border-box;
		padding: 0 0.2rem 0.3rem;
	}
}


/*============================================
3つの特徴
===========================================*/
#tokucho {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#0071bc+0,29abe2+78,29abe2+78,29abe2+98 */
	background: #0071bc;
	/* Old browsers */
	background: -moz-linear-gradient(45deg, #0071bc 0%, #29abe2 78%, #29abe2 78%, #29abe2 98%);
	/* FF3.6-15 */
	background: -webkit-linear-gradient(45deg, #0071bc 0%, #29abe2 78%, #29abe2 78%, #29abe2 98%);
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg, #0071bc 0%, #29abe2 78%, #29abe2 78%, #29abe2 98%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0071bc', endColorstr='#29abe2', GradientType=1);
	/* IE6-9 fallback on horizontal gradient */
	padding-bottom: 1rem;
}

@media screen and (max-width: 599px) {
	#tokucho {
		padding-bottom: 0.1rem;
	}
}


#tokucho h2 {
	text-align: center;
	position: relative;
	top: -0.5rem;
	padding-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
	#tokucho h2 {
		top: -0.3rem;
		padding-bottom: 0;
	}
}


.tokucho_box {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0.4rem;
	background: #fff;
}

@media screen and (max-width: 599px) {
	.tokucho_box {
		flex-flow: column-reverse;
	}
}


.tokucho_box:nth-child(odd) {
	flex-flow: row-reverse;
}

@media screen and (max-width: 599px) {
	.tokucho_box:nth-child(odd) {
		flex-flow: column-reverse;
	}
}


.tokucho_box_text {
	width: 50%;
	box-sizing: border-box;
	padding: 0.3rem 0.5rem;
}

@media screen and (max-width: 599px) {
	.tokucho_box_text {
		width: 100%;
		padding: 0.20rem;
	}
}


.tokucho_box_text h3 {
	text-align: center;
	margin-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
	#tokucho01 .tokucho_box_text h3 {
		max-width: 2.22rem;
		margin: 0 auto 0.20rem;
	}	
	#tokucho02 .tokucho_box_text h3 {
		max-width: 2.71rem;
		margin: 0 auto 0.20rem;
	}	
	#tokucho03 .tokucho_box_text h3 {
		max-width: 2.82rem;
		margin: 0 auto 0.20rem;
	}
}

.tokucho_box_text p {
	font-size: 0.16rem;
	line-height: 2;
}

@media screen and (max-width: 599px) {
.tokucho_box_text p {
	font-size: 0.15rem;
	line-height: 1.8;
}
}

.tokucho_box_text .maker {
	margin-bottom: 0.2rem;
}

.tokucho_box_img {
	width: 50%;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	.tokucho_box_img {
		width: 100%;
	}
}

.tokucho_box_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*============================================
お約束
===========================================*/
#yakusoku {
	padding-bottom: 1.2rem;
	background: #fff;
}

@media screen and (max-width: 599px) {
	#yakusoku {
		padding-bottom: 0.2rem;
	}
}

#yakusoku h2 {
	text-align: center;
	font-size: 0.28rem;
	font-weight: bold;
	color: #fff;
	background: #29abe2;
	line-height: 1.6;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	margin-bottom: 0.7rem;
	text-shadow: 1px 2px 1px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 599px) {
	#yakusoku h2 {
		font-size: 0.16rem;
		padding: 0.20rem;
	}
}

#yakusoku ul {
	display: flex;
	flex-wrap: wrap;
	width: 80%;
	margin: 0 auto;
}

#yakusoku li {
	text-align: center;
	width: 50%;
}

@media screen and (max-width: 599px) {
	#yakusoku li {
		width: 100%;
		margin-bottom: 0.2rem;
	}
}


/*============================================
写真のループ
===========================================*/
#loop {
	margin-bottom:
}

/*============================================
リフォームの流れ
===========================================*/
/*タイトル青*/
.title_common.blue {
	color: #29abe2;
}

.title_common.blue:before,
.title_common.blue:after {
	border-top: 1px solid #29abe2;
	content: "";
	width: 1.4rem;
}

@media screen and (max-width: 599px) {

	.title_common.blue:before,
	.title_common.blue:after {
		width: 0.2rem;
	}
}




#flow {
	background: #f0f0e6;
	padding-top: 0.7rem;
	padding-bottom: 1rem;
}

.flow_cont {
	max-width: 8rem;
	width: 100%;
	margin: 0 auto;
}

.flow_box h3 {
	border-bottom: 1px solid #000;
	padding-bottom: 0.2rem;
	margin-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
	.flow_box h3 {
		padding-bottom: 0.1rem;
		text-align: center;
	}
	.flow_box h3 img {
		display: block;
		margin: 0 auto 0.10rem;	
	}
	#flow01.flow_box h3 img {
		max-width: 2.40rem;
	}	
	#flow02.flow_box h3 img {
		max-width: 2.36rem;
	}	
	#flow03.flow_box h3 img {
		max-width: 2.38rem;
	}	
	#flow04.flow_box h3 img {
		max-width: 2.45rem;
	}	
	#flow05.flow_box h3 img {
		max-width: 2.25rem;
	}
}

.flow_box p {
	font-size: 0.16rem;
	line-height: 2;
}

.flow_box p strong {
	background: linear-gradient(transparent 60%, #ffff66 60%);
}

/*矢印*/
.flow_box .next {
	text-align: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;

}


/*============================================
施工事例
===========================================*/
#sekoujirei {
	padding-top: 0.7rem;
	padding-bottom: 0.8rem;
	background: #fff;
}

/*タブ*/
#sekoujirei_tab_wrapper ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#sekoujirei_tab_wrapper li {
	width: 25%;
	background: #94d5f0;
	border-radius: 10px 10px 0 0;
	border-right: 1px solid #e5f6f8;
	box-sizing: border-box;
}

#sekoujirei_tab_wrapper li:last-child {
	border: none;
}

#sekoujirei_tab_wrapper li a {
	display: block;
	text-align: center;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	padding-top: 0.1rem;
	padding-bottom: 0.1rem;
	line-height: 1.6;
	font-size: 0.2rem;
}

@media screen and (max-width: 599px) {
	#sekoujirei_tab_wrapper li a {
		box-sizing: border-box;
		font-size: 0.12rem;
		padding-left: 0.05rem;
		padding-right: 0.05rem;
	}
}

#sekoujirei_tab_wrapper li a span {
	display: block;
	border-bottom: 1px solid #fff;
	width: 80%;
	margin: 0 auto;
	font-size: 0.14rem;
	margin-bottom: 0.06rem;
	padding-bottom: 0.04rem;
}

@media screen and (max-width: 599px) {
	#sekoujirei_tab_wrapper li a span {
		font-size: 0.12rem;
	}
}

#sekoujirei_tab_wrapper li.Now {
	background: #29abe2;
}

.sekoujirei_box {
	border: 3px solid #29abe2;
	background: #fff;
	padding: 0.4rem;
	box-sizing: border-box;
}

@media screen and (max-width: 599px) {
	.sekoujirei_box {
		padding: 0.20rem;
	}
}

/*タイトル*/
.sekoujirei_box_top {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0.1rem;
}

.sekoujirei_box_top_title {
	width: 65%;
}

.sekoujirei_box_top_maker {
	width: 35%;
	box-sizing: border-box;
	text-align: right;
}

.sekoujirei_box_top_title h3 {
	font-size: 0.38rem;
	line-height: 1.6;
}

@media screen and (max-width: 599px) {
.sekoujirei_box_top_title h3 {
	font-size: 0.20rem;
	text-align: center;
		padding-bottom: 0.06rem;
}
}

.sekoujirei_box_top_title h3 span {
	color: #29abe2;
	padding-right: 0.1rem;
	display: inline-block;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 0.36rem;
}

@media screen and (max-width: 599px) {
.sekoujirei_box_top_title h3 span {
	padding-right:0;
	display: block;
	font-size: 0.14rem;
}
}

.sekoujirei_box_top_maker img {
	border-left: 1px solid #333;
	box-sizing: border-box;
	padding-left: 0.2rem;
	padding-top: 0.1rem;
	padding-bottom: 0.1rem;
}

@media screen and (max-width: 599px) {
	.sekoujirei_box_top_title {
		width: 100%;
	}

	.sekoujirei_box_top_title h3 {
		font-size: 0.25rem;
		border-bottom: 1px solid #333;
	}

	.sekoujirei_box_top_maker {
		width: 100%;
		text-align: left;
	}

	.sekoujirei_box_top_maker img {
		border-left: none;
		padding-left: 0;
		padding-top: 0.1rem;
		padding-bottom: 0.1rem;
	}
}

/*テキスト*/
.sekoujirei_box_text {
	margin-bottom: 0.4rem;
}

.sekoujirei_box_text p {
	font-size: 0.16rem;
	line-height: 2;
}

/*before after*/
.sekoujirei_box_img {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
}

.sekoujirei_box_img p {
	text-align: center;
	color: #29abe2;
	margin-bottom: 0.1rem;
	font-size: 0.2rem;
	font-weight: bold;
}

.sekoujirei_box_img_before {
	width: 45%;
	text-align: center;
}

.sekoujirei_box_img_arrow {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.sekoujirei_box_img_after {
	width: 45%;
	text-align: center;
}

@media screen and (max-width: 599px) {
	.sekoujirei_box_img_before {
		width: 100%;
	}

	.sekoujirei_box_img_after {
		width: 100%;
	}

	.sekoujirei_box_img_arrow {
		width: 100%;
		text-align: center;
		padding-top: 0.3rem;
		padding-bottom: 0.3rem;
		position: static;
		transform: translate(0, 0);
	}
}

/*============================================
お客様の声
===========================================*/
#voice {
	padding-top: 0.8rem;
	padding-bottom: 0.7rem;
	background: #f0f0e6;
}

#voice .title_common {
	margin-bottom: 0.2rem;
}

/*リード*/
#voice .lead {
	font-size: 0.24rem;
	text-align: center;
	margin-bottom: 0.8rem;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 599px) {
	#voice .lead {
		font-size: 0.15rem;
		text-align: center;
		margin-bottom: 0.4rem;
	}
}


/*アイコン右寄せ*/
.voice_box01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 0.5rem;
}

.voice_box01_Img {
	width: 2rem;
	text-align: center;
}

.voice_box01_Img img {
	z-index: 0;
}

.voice_box01_Img p {
	text-align: center;
	position: relative;
	z-index: 10;
	padding-top: 0.1rem;
	font-size: 0.14rem;
	line-height: 1.3;
}

.voice_box01_Text {
	width: calc(100% - 2.5rem);
	background: #fff;
	box-sizing: border-box;
	padding: 0.30rem;
	border-radius: 10px;
	box-shadow: 0px 6px 0px -3px rgba(0, 0, 0, 0.2);
	position: relative;
}

@media screen and (max-width: 599px) {
.voice_box01_Text {
	padding: 0.20rem;
}
}

/*吹き出し▼*/
.voice_box01_Text:before {
	content: "";
	position: absolute;
	top: 30%;
	left: -30px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #fff;
}

@media screen and (max-width: 599px) {
	.voice_box01_Text:before {
		top: -10px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}
}


.voice_box01_Text h3 {
	font-size: 0.22rem;
	letter-spacing: 0.075em;
	font-weight: bold;
	padding-bottom: 0.1rem;
	line-height: 1.6;
	letter-spacing: 0.02rem;
	color: #29abe2
}

@media screen and (max-width: 599px) {
	.voice_box01_Text h3 {
		font-size: 0.17rem;
		line-height: 1.47;
	}
}


@media screen and (max-width: 599px) {
	.voice_box01_Img {
		width: 100%;
		text-align: center;
		margin-bottom: 0.2rem;
	}

	.voice_box01_Img p {
		text-align: center;
		margin-top: 0;
		position: relative;
		z-index: 100;
		margin-bottom: 0.2rem;
	}

	.voice_box01_Text {
		width: 100%;
	}
}

.voice_box01_Text p {
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.075em;
	text-align: justify;
}

@media screen and (max-width: 599px) {
.voice_box01_Text p {
	font-size: 0.15rem;
	line-height: 1.85;
	letter-spacing: 0.050em;
}
}

/*アイコン左寄せ*/
.voice_box02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	flex-flow: row-reverse;
	margin-bottom: 0.5rem;
}

.voice_box02_Img {
	width: 2rem;
	text-align: center;
}

.voice_box02_Img img {
	z-index: 0;
}

.voice_box02_Img p {
	text-align: center;
	position: relative;
	padding-top: 0.1rem;
	font-size: 0.14rem;
	line-height: 1.3;
}

.voice_box02_Text {
	width: calc(100% - 2.5rem);
	background: #fff;
	box-sizing: border-box;
	padding: 0.3rem 0.2rem;
	border-radius: 10px;
	box-shadow: 0px 6px 0px -3px rgba(0, 0, 0, 0.2);
	position: relative;
}

@media screen and (max-width: 599px) {
.voice_box02_Text {
	padding: 0.20rem;
}
}

/*吹き出し▼*/
.voice_box02_Text:before {
	content: "";
	position: absolute;
	top: 30%;
	left: 100%;
	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #fff;
}

@media screen and (max-width: 599px) {
	.voice_box02_Text:before {
		top: -10px;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}
}


.voice_box02_Text h3 {
	font-size: 0.22rem;
	font-weight: bold;
	padding-bottom: 0.1rem;
	line-height: 1.6;
	letter-spacing: 0.075em;
	color: #29abe2;
}

@media screen and (max-width: 599px) {
	.voice_box02_Text h3 {
		font-size: 0.17rem;
		line-height: 1.47;
	}
}

@media screen and (max-width: 599px) {
	.voice_box02 {
		flex-flow: column;
	}

	.voice_box02_Img {
		width: 100%;
		text-align: center;
		margin-bottom: 0.2rem;
	}

	.voice_box02_Img p {
		text-align: center;
		margin-top: 0;
		position: relative;
		z-index: 10;
		margin-bottom: 0.2rem;
	}

	.voice_box02_Text {
		width: 100%;
	}
}

.voice_box02_Text p {
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.075em;
	text-align: justify;
}

@media screen and (max-width: 599px) {
.voice_box02_Text p {
	font-size: 0.15rem;
	line-height: 1.85;
	letter-spacing: 0.050em;
}
}

/*区切り*/
.voice_circle {
	text-align: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

/*============================================
FAQ
===========================================*/
#faq {
	background-color: #fff;
	background-image: url(../img/faq_back.png);
	background-repeat: no-repeat;
	background-position: bottom right;
	padding-top: 0.8rem;
	padding-bottom: 0.5rem;
}

.faq_title {
	text-align: center;
	padding-top: 0.6rem;
	padding-bottom: 0.5rem;
}

.faq_box {
	background: #d4eef9;
	padding: 0.2rem;
	margin-bottom: 0.2rem;
	border-radius: 0.05rem;
	position: relative;
}

/* FAQのアイコン */
.faq_box::before {
	content: "";
	width: 0.20rem;
	height: 2px;
	background-color: #009fe8;
	position: absolute;
	right: 0.20rem;
	top: 0.35rem;
}

@media screen and (max-width: 599px) {
.faq_box::before {
	right: 0.10rem;
	top: 0.23rem;
}
}

.faq_box::after {
	content: "";
	width: 2px;
	height: 0.20rem;
	background-color: #009fe8;
	position: absolute;
	right: 0.29rem;
	top: 0.26rem;
	transition: all .3s;
}

@media screen and (max-width: 599px) {
.faq_box::after {
	right: 0.19rem;
	top: 0.14rem;
	transition: all .3s;
}
}

.faq_box.open::after {
	transform: rotate(270deg);
	opacity: 0.2;
}

@media screen and (max-width: 599px) {
	.faq_box {
		padding: 0.1rem;
	}
}

.faq_box_qa {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	cursor: pointer;
	position: relative;
}

.faq_box_title {
	width: 0.40rem;
	font-size: 0.24rem;
	position: relative;
	top: -0.03rem;
}

.faq_box_q .faq_box_title {
	color: #009fe8;
}

.faq_box_a .faq_box_title {
	color: #ee5a24;
	position: relative;
	top: 5px;
}

.faq_box_text {
	width: calc(100% - 0.8rem);
	font-size: 0.20rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
}


.faq_box_a .faq_box_text {
	font-size: 0.16rem;
	background: #fff;
	padding: 0.15rem;
	border-radius: 0.05rem;
	width: 100%;
	margin-top: 0.10rem;
}

@media screen and (max-width: 599px) {
	.faq_box_a .faq_box_text {
		width: 100%;
		font-size: 0.15rem;
		font-weight: 400;
	}
}


.faq_box_icon {
	width: 0.2rem;
	padding-top: 0.07rem;
}

@media screen and (max-width: 599px) {
	.faq_box_title {
		width: 0.3rem;
		font-size: 0.24rem;
	}

	.faq_box_text {
		width: calc(100% - 0.5rem);
		font-size: 0.16rem;
		box-sizing: border-box;
		padding-right: 0;
		font-weight: 500;
	}

	.faq_box_icon {
		width: 0.2rem;
		padding-top: 0.07rem;
	}
}

.rercuitVoiceBox_Right .readMoreBtn em {
	font-style: normal;
	display: none;
}

.faq_box_icon i {
	color: #009fe8;
	font-size: 0.18rem;
}

.faq_box_icon i.fa-times {
	display: none;
}

.faq_box_bottom {
	display: none;
	padding-top: 0.1rem;
}

/*============================================
全てのお客様に安心できる生活を・・・
===========================================*/
#greet {
	background-image: url(../img/greet_back.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

@media screen and (max-width: 599px) {
	#greet {
		background-image: url(../img/greet_back_sp.png);
		padding-top: 0.4rem;
		padding-bottom: 0.4rem;
	}
}


#greet h2 {
	font-size: 0.36rem;
	font-weight: bold;
	color: #206aab;
	padding-bottom: 0.5rem;
}

@media screen and (max-width: 599px) {
	#greet h2 {
		font-size: 0.22rem;
		text-align: center;
		line-height: 1.6;
		padding-bottom: 0.3rem;
	}
}


#greet p {
	font-size: 0.16rem;
	line-height: 2;
	margin-bottom: 0.5rem;
	letter-spacing: 0.05em;
}

#greet ul {
	display: flex;
	flex-wrap: wrap;
}

#greet li {
	font-size: 0.18rem;
	font-weight: bold;
	line-height: 1.6;
	margin-bottom: 0.3rem;
	box-sizing: border-box;
	padding-left: 0.35rem;
	background: url(../img/greet_check.png) no-repeat;
	background-position: left 0px top 2px;
	background-size: 0.3rem auto;
}


#greet li:nth-child(2n-1) {
	width: 40%;
}

#greet li:nth-child(2n) {
	width: 60%;
}

@media screen and (max-width: 599px) {
	#greet li:nth-child(2n-1) {
		width: 100%;
	}

	#greet li:nth-child(2n) {
		width: 100%;
	}
}



/*============================================
コンタクト
===========================================*/
#contact {}

#contact.confirm_wrapper,
#contact.finish_wrapper {
	margin-top: 1.60rem;
}

@media screen and (max-width: 599px) {

	#contact.confirm_wrapper,
	#contact.finish_wrapper {
		margin-top: 1.00rem;
	}
}

/*リード*/
#contact .contact_top {
	background: #fff;
	padding-top: 0.8rem;
	padding-bottom: 0.5rem;
}

#contact .contact_top .title_common {
	margin-bottom: 0.3rem;
}

#contact .contact_top .lead {
	text-align: center;
	font-size: 0.16rem;
	line-height: 2;
	margin-bottom: 0.3rem;
}

@media screen and (max-width: 599px) {
	#contact .contact_top .lead {
		text-align: left;
		margin-bottom: 0.5rem;
	}
}


.contact_top_box {
	display: flex;
	flex-wrap: wrap;
	width: 80%;
	margin: 0 auto;
}

@media screen and (max-width: 599px) {
	.contact_top_box {
		width: 100%;
	}
}

.contact_top_box_line {
	width: 40%;
	box-sizing: border-box;
	text-align: center;
}

@media screen and (max-width: 599px) {
	.contact_top_box_line {
		width: 100%;
		margin-bottom: 0.3rem;
	}
}


.contact_top_box_tel {
	width: 60%;
	box-sizing: border-box;
	text-align: center;
}

.contact_top_box_tel img {
	max-width: 4.07rem;
	display: block;
	margin: auto;
}

@media screen and (max-width: 599px) {
	.contact_top_box_tel {
		width: 100%;
	}
	.contact_top_box_tel img {
		width: 2.85rem;
	}
}

.contact_top_box_tel span {
	display: block;
	font-size: 0.14rem;
	text-align: center;
	padding-top: 0.2rem;
	line-height: 1.6;
}

/*バナー*/
.contact_top_bnr {
	text-align: center;
	margin-top: 0.2rem;
}

.contact_top_bnr .note {
	font-size: 0.16rem;
	padding-top: 0.2rem;
}

@media screen and (max-width: 599px) {
.contact_top_bnr .note {
	font-size: 0.13rem;
	padding-top: 0.10rem;
}
}

.contact_form {
	padding-top: 0.5rem;
}

@media screen and (max-width: 599px) {
.contact_form {
	padding-top: 0.20rem;
}
}

.contact_form dl {
	display: flex;
	flex-wrap: wrap;
}

.contact_form .form_wrap {
	border-radius: 10px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}

.contact_form dl:nth-child(even) {
	background-color: #fff;
}


.contact_form dl:nth-child(odd) {
	background-color: #f3f3f3;
}

@media screen and (max-width: 599px) {
	.contact_form dl:nth-child(odd) {
		background-color: #FFF;
	}
}

.contact_form .form_title {
	width: 32%;
	box-sizing: border-box;
	padding: 0.14rem;
	padding-left: 0.3rem;
	font-size: 0.18rem;
	line-height: 1.5;
	font-weight: 700;
	position: relative;
}

@media screen and (max-width: 599px) {
	.contact_form .form_title {
		width: 100%;
		padding: 0.14rem;
		background-color: #ebebeb;
		font-size: 0.15rem;
	}
}

.contact_form .form_title.required::after {
	content: "";
	width: 0.4rem;
	height: 0.2rem;
	position: absolute;
	top: 0.2rem;
	right: 0;
	background-image: url(../img/required_icon.png);
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (max-width: 599px) {
	.contact_form .form_title.required::after {
		content: "";
		width: 0.35rem;
		height: 0.20rem;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 0.14rem;
		background-image: url(../img/required_icon_sp.png);
		background-repeat: no-repeat;
		background-size: contain;
	}
}

.contact_form .form_input {
	width: 68%;
	box-sizing: border-box;
	padding: 0.14rem;
	font-size: 0.18rem;
	font-weight: 700;
	line-height: 1.5;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input {
		width: 100%;
		box-sizing: border-box;
		font-size: 0.15rem;
	}
}

.contact_form .form_input .w100 {
	border: 1px solid #929292;
	padding: 0.06rem;
	font-size: 0.16rem;
	box-sizing: border-box;
	width: 100%;
	border-radius: 0;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input .w100 {
		-webkit-appearance: none;
	}
}

.contact_form .form_input .w80 {
	border: 1px solid #929292;
	padding: 0.06rem;
	font-size: 0.16rem;
	box-sizing: border-box;
	width: 80%;
	border-radius: 0;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input .w80 {
		-webkit-appearance: none;
	}
}

.contact_form .form_input .w20 {
	border: 1px solid #929292;
	padding: 0.06rem;
	font-size: 0.16rem;
	box-sizing: border-box;
	width: 20%;
	border-radius: 0;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input .w20 {
		-webkit-appearance: none;
	}
}

.contact_form .form_input .hBorder {
	display: inline-block;
	padding-left: 0.1rem;
	padding-right: 0.1rem;
	font-weight: 300;
}

.contact_form .form_input textarea {
	border: 1px solid #929292;
	padding: 0.06rem;
	font-size: 0.16rem;
	box-sizing: border-box;
	width: 100%;
	min-height: 3rem;
	-webkit-appearance: none;
	border-radius: 0;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input textarea {
		min-height: 1.5rem;
		padding: 0.1rem;
	}
}

.contact_form .form_input .form_file_wrapper {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 0.1rem;
	border-top: 1px solid #CCC;
}

.contact_form .form_input .form_file_wrapper th {
	padding-bottom: 0.14rem;
	padding-top: 0.14rem;
	text-align: left;
	border-bottom: 1px solid #CCC;
}

.contact_form .form_input .form_file_wrapper td {
	padding-bottom: 0.14rem;
	padding-top: 0.14rem;
	border-bottom: 1px solid #CCC;
}

.contact_form .form_input .caption {
	font-size: 0.16rem;
	font-weight: 400;
	color: #ba272d;
	line-height: 1.6;
	padding-left: 0.16rem;
	text-indent: -0.18rem;
}

@media screen and (max-width: 599px) {
	.contact_form .form_input .caption {
		font-size: 0.13rem;
	}
}

/* エラー表示 */
.error {
	background-color: #f3d4d5;
	padding: 0.08rem 0.10rem 0.10rem;
	font-size: 0.14rem;
	color: #c1272d;
	font-weight: 700;
	margin-top: 0.08rem;
	border-radius: 3px;
	line-height: 1.6;
	box-sizing: border-box;
	width: 100%;
}

.error_header {
	margin-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
	.error_header {
		margin-bottom: 0.2rem;
	}
}

.error em {
	background-image: url(../img/error_icon.png);
	background-size: 0.16rem;
	background-repeat: no-repeat;
	background-position: 0 center;
	padding-left: 0.24rem;
}

/* 添付ファイル */
.file_view_box {
	margin-bottom: 0.10rem;
	font-size: 0.14rem;
}

.file_view_box img {
	display: inline-block;
	max-width: 3rem;
	border: 1px solid #CCC;
	margin-bottom: 0.1rem;
}

@media screen and (max-width: 599px) {
	.file_view_box img {
		max-width: 2rem;
	}
}

.file_view_box a {
	color: #c1272d;
	display: inline-block;
	background-image: url(../img/external_icon.png);
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain;
	line-height: 1.2;
	padding-right: 0.24rem;
}

.file-remove {
	display: block;
	padding-top: 0.1rem;
	font-weight: 700;
}

/* プライバシーポリシーの同意 */
.privacy_check {
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
	text-align: center;
}

@media screen and (max-width: 599px) {
	.privacy_check {
		padding-top: 0.2rem;
		padding-bottom: 0.2rem;
	}
}

.privacy_check label {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.privacy_check input {
	width: 0.24rem;
	height: 0.24rem;
	position: relative;
	top: -0.05rem;
	border-radius: 0;
}

@media screen and (max-width: 599px) {
	.privacy_check input {
		width: 0.20rem;
		height: 0.20rem;
		border: 2px solid #CCC;
		top: -0.03rem;
		background-color: #FFF;
	}
}

.privacy_check .text {
	font-size: 0.18rem;
	font-weight: 700;
	padding-left: 0.06rem;
}

@media screen and (max-width: 599px) {
	.privacy_check .text {
		font-size: 0.16rem;
		padding-left: 0.04rem;
	}
}

/* 送信ボタン */
.submit_btn_wrapper {
	display: flex;
	justify-content: center;
	margin-bottom: 0.6rem;
}

.submit_btn_wrapper.confirm_page {
	padding-top: 0.4rem;
}

.submit_btn_wrapper.confirm_page form {
	display: inline-block;
	margin-left: 0.1rem;
	margin-right: 0.1rem;
}

.submit_btn_wrapper .submit {
	font-size: 0.18rem;
	font-weight: 700;
	color: #FFF;
	background-color: #f15a24;
	display: inline-block;
	padding: 0.14rem;
	box-sizing: border-box;
	width: 3.2rem;
	border: 0;
	cursor: pointer;
	border-radius: 0;
	-webkit-appearance: none;
}

@media screen and (max-width: 599px) {
	.submit_btn_wrapper .submit {
		font-size: 0.16rem;
		max-width: 3.2rem;
		width: 94%;
		display: block;
	}
}

.submit_btn_wrapper .backbtn {
	font-size: 0.18rem;
	font-weight: 700;
	color: #FFF;
	background-color: #666;
	display: inline-block;
	padding: 0.14rem;
	box-sizing: border-box;
	width: 3.2rem;
	border: 0;
	cursor: pointer;
	border-radius: 0;
	-webkit-appearance: none;
}

@media screen and (max-width: 599px) {
	.submit_btn_wrapper .backbtn {
		font-size: 0.16rem;
		max-width: 3.2rem;
		width: 94%;
		margin-bottom: 0.20rem;
		display: block;
	}
}

/* 送信完了画面 */
.finish_box {
	text-align: center;
}

.finish_box .sub_title {
	font-size: 0.2rem;
	font-weight: 700;
	margin-bottom: 0.2rem;
}

.finish_box .text {
	line-height: 2;
	font-size: 0.16rem;
	margin-bottom: 0.3rem;
}

.finish_box .home_btn {
	margin-bottom: 0.6rem;
}

.finish_box .home_btn a {
	font-size: 0.18rem;
	font-weight: 700;
	color: #FFF;
	background-color: #0071bc;
	display: inline-block;
	padding: 0.14rem;
	box-sizing: border-box;
	width: 3.2rem;
	border: 0;
	cursor: pointer;
	border-radius: 0;
	-webkit-appearance: none;
	text-decoration: none;
}

@media screen and (max-width: 599px) {
	.finish_box .backbtn a {
		font-size: 0.16rem;
		max-width: 3.2rem;
		width: 94%;
	}
}

/*=============================
お問い合わせ確認画面
=============================*/
#confirm header {
	height: 1.2rem;
}
@media screen and (max-width: 499px) {
	#confirm header {
		height: 0.6rem;
		background: #29abe2;
	}
}

#confirm .header_box h1 {
	height: 100%;
}
@media screen and (max-width: 499px) {
	#confirm .header_box h1 {
		margin: 0 auto;
	}
}


#confirm .lead {
	font-size: 0.2rem;
	line-height: 1.6;
	text-align: center;
}


/*========================
スマホ時のフッターバナー
========================*/
#sp_footer_btn {
	position: fixed;
	bottom: 0.16rem;
	left: 0.16rem;
	width: calc(100% - 0.32rem);
	z-index: 100;
	transition: all 0.3s ease;
}

#sp_footer_btn.hide {
	transform: translateY(1rem);
}

#sp_footer_btn ul {
	display: flex;
	justify-content: space-between;
}

#sp_footer_btn li {
	width: 33.2%;
	box-sizing: border-box;
	text-align: center;
	position: relative;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.3);
}

#sp_footer_btn li a {
	display: block;
	font-size: 0.14rem;
	font-weight: 700;
	line-height: 1.45;
	padding: 0.08rem;
	padding-top: 0.12rem;
	padding-bottom: 0.12rem;
	text-decoration: none;
	color: #FFF;
	position: relative;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}

#sp_footer_btn li::before {
	content: "";
	position: absolute;
	width: 96%;
	height: 56%;
	top: 2px;
	left: 50%;
	transform: translateX(-50%);
	background-image: url(../img/header_btn_grad.png);
	background-position: bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	opacity: 0.3;
}

#sp_footer_btn li.tel_btn {
	background-color: #f0b31e;
	border-top-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

#sp_footer_btn li.tel_btn a {
	color: #222;
	text-shadow: 0 1px 4px rgba(255, 255, 255, 0.9);
}

#sp_footer_btn li.line_btn {
	background-color: #39ae4a;
}

#sp_footer_btn li.mail_btn {
	background-color: #e61c24;
	border-top-right-radius: 3px;
	border-bottom-right-radius: 3px;
}

/*========================
プライバシーポリシー
========================*/
.privacy_textbox {
	height: 2rem;
	overflow: scroll;
	overflow-x: hidden;
	padding: 0.2rem;
	border: 1px solid #DDD;
	margin-bottom: 0.2rem;
	margin-top: 0.2rem;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border-radius: 10px;
}

.privacy_textbox .policy_title {
	font-size: 0.2rem;
	font-weight: 700;
	margin-bottom: 0.2rem;
}

@media screen and (max-width: 599px) {
.privacy_textbox .policy_title {
	font-size: 0.18rem;
}
}

.privacy_textbox .text {
	margin-bottom: 0.1rem;
	font-size: 0.16rem;
	line-height: 1.75;
}

@media screen and (max-width: 599px) {
.privacy_textbox .text {
	font-size: 0.14rem;
}
}

.privacy_textbox ul {
	font-size: 0.16rem;
	line-height: 2;
	letter-spacing: 0.05em;
	list-style: disc;
	margin-left: 0.2rem;
}

@media screen and (max-width: 599px) {
	.privacy_textbox ul {
		line-height: 1.8;
		font-size: 0.14rem;
	}

	.privacy_textbox li {
		margin-bottom: 0.1rem;
	}
}

/*========================
フッター
========================*/
footer {
	background: #fff;
}

/*ナビゲーション*/
.footer_nav {
	width: 100%;
	margin: 0 auto;
	padding-top: 0.3rem;
	padding-bottom: 0.3rem;
}

@media screen and (max-width: 599px) {
	.footer_nav {
		width: 100%;
		padding-bottom: 0.05rem;
	}
}


.footer_nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	width: 100%;
	max-width: 8.00rem;
	margin: auto;
}

.footer_nav ul li {
	width: calc(100% / 6.01);
	text-align: center;
}

@media screen and (max-width: 599px) {
	.footer_nav ul li {
		width: 50%;
		box-sizing: border-box;
		margin-bottom: 0.25rem;
		text-align: left;
	}
}


.footer_nav ul li a {
	font-size: 0.16rem;
	text-decoration: none;
	color: #000;
}

@media screen and (max-width: 599px) {
	.footer_nav ul li a::before {
		content: '';
		width: 0.08rem;
		height: 0.11rem;
		background-image: url(../img/sp_footer_link_arrow.svg);
		background-position: left center;
		background-repeat: no-repeat;
		display: inline-block;
		padding-right: 0.1rem;
	}
}


/*ロゴ、電話番号*/
.footer_cont {
	background: #206aab;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 5px solid #29abe2;
}

@media screen and (max-width: 599px) {
.footer_cont {
	padding: 0.40rem 0;
}
}

.footer_cont_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.footer_cont_logo {
	max-width: 3.5rem;
	width: 100%;
}

@media screen and (max-width: 599px) {
	.footer_cont_logo {
		max-width: 2.40rem;
		margin: 0 auto;
		margin-bottom: 0.40rem;
	}
}

.footer_cont_tel p {
	font-size: 0.14rem;
	color: #fff;
	line-height: 1.6;
	padding-top: 0.10rem;
}

@media screen and (max-width: 599px) {
	.footer_cont_tel {
		width: 100%;
		text-align: center;
	}
	
	.footer_cont_tel img {
		display: block;
		max-width: 2.83rem;
		margin: auto;
	}

	.footer_cont_tel p {
		width: 100%;
		font-size: 0.12rem;
	}
}



/*=============================
コピーライト
=============================*/
#copyright {
	padding-top: 0.15rem;
	padding-bottom: 0.15rem;
}

.copyright_box {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.copyright_left ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.copyright_left li {
	padding-left: 0.15rem;
}

.copyright_left li a {
	color: #333;
	text-decoration: none;
	/*	border-right: 1px solid #333;*/
	padding-right: 0.15rem;
	font-size: 0.14rem;
}

.copyright_right p {
	font-size: 0.14rem;
}

@media screen and (max-width: 599px) {
	#copyright {
		margin-bottom: 0.8rem;
	}

	.copyright_box {
		display: block;
		margin-bottom: 0.15rem;
		font-size: 0.12rem;
	}

	.copyright_left ul {
		justify-content: center;
	}

	.copyright_right p {
		text-align: center;
		padding-top: 0.1rem;
	}
}

/*=============================
スマホ時のCTA
=============================*/
#sp_cta {
	position: fixed;
	z-index: 10;
	width: calc(100% - 0.20rem);
	left: 0.10rem;
	bottom: 0.20rem;
}

#sp_cta .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#sp_cta li {
	width: 33%;
	height: 0.60rem;
	box-sizing: border-box;
	position: relative;
	box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
}

#sp_cta li img {
	max-width: 0.30rem;
	max-height: 0.30rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* メール */
#sp_cta .list .mail {
	background-color: #f7931e;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

/* LINE */
#sp_cta .list .line {
	background-color: #00b900;
}

/* TEL*/
#sp_cta .list .tel {
	background-color: #206aab;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

/*=============================
お問い合わせ確認画面
=============================*/
body#confirm::before {
	height: 1.2rem;
}
@media screen and (max-width: 499px) {
	body#confirm::before {
		content: none;
	}
}

#confirm header {
	height: 1.2rem;
}
@media screen and (max-width: 499px) {
	#confirm header {
		height: 0.6rem;
		background: #29abe2;
	}
}

#confirm .header_box h1 {
	height: 100%;
}
@media screen and (max-width: 499px) {
	#confirm .header_box h1 {
		margin: 0 auto;
	}
}


#contact .lead {
	font-size: 0.2rem;
	line-height: 1.6;
	text-align: center;
}
