@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap');

.button-toTop {
	position: fixed;
	display: block;
	border: #fff solid 4px;
	overflow: hidden;
	background-color: #000;
	border-radius: 50%;
}
.button-toTop:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	-webkit-clip-path: polygon( 50% 35%, 70% 55%, 30% 55%, 50% 35% );
	clip-path: polygon( 50% 35%, 70% 55%, 30% 55%, 50% 35% );
}

/* ================================================================ */
/* ============================== PC ============================== */
/* ================================================================ */


@media screen and (min-width: 1024px) {

body {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 300;
	font-size: 22px;
}

/* === ヘッダー === */
header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

header .band {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	height: 160px;
	width: 100%;
	background: #fff;
}

header .logo_set {
	order: 1;
	margin: 20px auto 20px 20px ;
}

header .logo1 {
	color: #000;
	font-weight: 300;
	font-size: 34px;
	line-height: 35px;
}

header .logo2 {
	color: #333;
	font-weight: 200;
	font-size: 20px;
}

header .txt_tel {
	order: 2;
	color: #333;
	font-size: 20px;
	margin-right: 20px;
}

.btn_group {
	order: 3;
	display: flex;
}
	
.btn_tel {
	display: inline-block;
	margin-right: 10px;
	width: 158px;
	height: 60px;
	border-radius: 30px;
	background: #666;
	color: #fff;
	text-align: center;
	line-height:60px;
}

.btn_line {
	display: inline-block;
	margin-right: 10px;
	width: 158px;
	height: 60px;
	border-radius: 30px;
	background: #00b733;
	color: #fff;
	text-align: center;
 	line-height:60px;
}

.btn_menu {
	display: none;
}
	
.menu_area {
	order: 4;
	width: 100%;
	height: 60px;
	color: #fff;
	font-weight: 300;
	text-align: center;
	line-height: 60px;
	background-color: #ef79a5;
}
	
.menu_under {
}

.menu_under a {
	margin: 10px;
}

header button {
		display: none;
	}
	
	
/* === キービジュアル === */
#top {
	margin-top: 160px;
}

#top img {
	
}
.top_img_sp {
	display: none;
}
.top_img_pc {
	background-image: url("../image/kv_pc.jpg");
	background-position: center;
	background-repeat: no-repeat;
	height: 700px;
}
	
	
/* === はじめての方へ（あなたのお悩みお聞かせください）=== */

#message h2 {
	color: #ef79a5;
	font-size: 36px;
	font-weight:600;
	text-align: center;
	margin-top: 100px;
	margin-bottom: 100px;
}

#message .message_1 {
	margin: 0 80px ;
	line-height:40px;
}
.message_1b {
	margin-top: 40px;
}


#message .message_2 {
	font-size: 26px;
	text-align: center;
	margin-top: 100px;
	line-height:40px;
}
	

/* ===  共通タイトル === */

.contents_title {
	color: #fff;
	font-size: 36px;
	font-weight:600;
	text-align: center;
	background: #ef79a5;
	padding: 15px;
	margin: 100px 0;
}

.contents_title2 {
	color: #fff;
	font-size: 36px;
	font-weight:600;
	text-align: center;
	background: #ef79a5;
	padding: 15px;
	margin: 100px 0 0;
}
	
	
/* === 調査メニュー === */
	
.investigation_area {
	padding: 0 80px ;
}
	
.investigation_area ul {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
}

.investigation_box {
	display: flex;
	margin: 0 0.7% 10px;
	width: 31.9%;
	height: 140px;
	border-radius: 3px;
	border: 1px solid #ddd;
}

.investigation_box p {
	margin:auto;
	text-align: center;
}

	
.btn_next{
	margin-top: 90px;
	}
.btn_area {
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto 0 ;
	width: 58%;
	height: 80px;
	border-radius: 40px;
	background: #666;
	color: #fff;
	line-height:80px;
	text-align: center;
}

.btn_circle_left {
	margin: 29px ;
	width: 22px ;
	height: 22px;
	background: #fff;
	border-radius: 50% ;
	float: left;
}

.btn_circle_right {
	margin: 29px ;
	width: 22px ;
	height: 22px;
	background: #fff;
	border-radius: 50% ;
	float: right ;
}


/* === 料金 === */

#price_area {
	padding: 0 80px;
	display: flex;
	flex-wrap: wrap;
}

.price_subtitle {
	padding: 0 0 20px ;
	border-bottom: solid 1px;
	font-size: 30px;
	font-weight:600;
	width: 100%;
}

.price_box {
	width: 44%;
	margin-top: 30px;
	padding: 20px 30px ;
	border: solid 1px #ddd;
}

.price_txt1 {
	color: #ef79a5 ;
	font-weight:600;
	line-height:44px;
}

.price_txt1b {
	margin: 0 0 0 0;
	line-height:44px;
	padding-bottom: 15px;
	border-bottom: solid 1px #ddd;
}

.price_txt2 {
	margin: 15px 0 0 0;
	line-height:44px;
}

.price_box2 {
	width: 56%;
	margin-top: 30px;
	padding: 20px 30px ;
}
		
.price_txt3 {
	line-height:44px;
}

.price_txt4 {
	margin-top: 42px;
	line-height:44px;
}

	
/* === ご依頼からの流れ === */	
.flow_box {
	padding: 0 80px;
	display: flex;
	flex-wrap: wrap;
}
	
.flow_txt1 {
	width: 30%;
	height: 130px;
	font-weight:600;
	border: solid 1px #ddd;
	text-align: center;
	line-height: 130px;
}

.flow_txt2 {
	width: 66%;
	margin: auto 0 auto 30px;
	line-height: 44px;
}

.flow_arrow {
	width: 30%;
	margin: 30px 0;
	text-align: center;
}
	
#flow img{
	width: 80px;
	height: 30px;
}

	
/* よくあるご質問 */
#qa_area {
	padding: 100px 80px ;
	background-color: #eee ;
}

#qa .qa_box {
}

#qa table {
	width: 100%;
}

.qa_txt_q {
	line-height:44px;
	font-weight:600;
	padding: 10px 10px 10px 20px ;
}

.qa_txt_q2 {
	line-height:44px;
	padding: 10px 20px 10px 0 ;
}

.qa_txt_a {
	line-height:44px;
	font-weight:600;
	padding: 30px 10px 30px 20px ;
}

.qa_txt_a2 {
	line-height:44px;
	padding: 30px 10px 30px 0 ;
}


.qa_box_q {
	color: #ef79a5 ;
	background-color: #fff ;
}
	
.btn_next2 {
	margin-top: 60px;
}
	

/* === footer === */
footer {
	color: #fff;
	background: #666;
	padding: 100px 80px ;
}

footer .ft_name {
	width: 100%;
	font-size: 36px;
	font-weight:600;
	text-align: center;
	padding-bottom: 60px;
	border-bottom: solid 1px #fff;
}
	
footer .ft_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	

.ft_address {
	margin-top: 60px;
	line-height: 44px;
	font-size: 18px;
}
.ft_address_name {
	margin-top: 10px;
}

footer nav{
	margin: 60px 0 0 40px ;
	line-height: 44px;
}
	
footer ul {
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	width: 390px
}

footer li {
	font-size: 18px;
} 

.ft_li1 {
	text-align: center;
	width: 180px;
	margin: 0 15px 15px 0 ;
	border-bottom: dashed 1px;
}

.ft_li2 {
	text-align: center;
	width: 180px;
	margin: 0 15px 15px 0 ;
	border-bottom: dashed 1px;
}

footer .ft_btns{
	margin-top: 20px;
	width: 100%;
	text-align: center;
}

footer .btn_tel {
	margin-right: 20px;
	width: 158px;
	height: 60px;
	border-radius: 30px;
	background: #fff;
	color: #333;
	text-align: center;
	line-height:60px;
}

footer .btn_line {
	margin-right: 0px;
	width: 158px;
	height: 60px;
	border-radius: 30px;
	background: #00b733;
	color: #fff;
	text-align: center;
 	line-height: 60px;
}

	
footer .copy {
	clear: both;
	margin: 60px auto 0 ;
	font-size: 20px;
	text-align: center;
}
	

/* ================ 階層2 ================ */

.layer2{
	margin-top: 140px;
	padding: 0 80px ;
}

.layer2 h2 {
	display: inline-block;
	width:  100%;
	margin: 100px 0 30px 0;
	padding: 0 0 20px ;
	border-bottom: solid 1px;
	font-size: 30px;
	font-weight:600;
	text-align: center;	
}

.inv2_box {
	margin: 30px 0;
	padding: 30px ;
	border: solid 1px #ddd;
}

.inv2_txt1 {
	color: #ef79a5 ;
	font-weight: 600;
	padding-bottom: 30px;
	border-bottom: solid 1px #ddd;
	margin-bottom: 15px;
}

.inv2_txt2 {
	line-height: 44px;
}

.inv2_box ul {
	line-height: 44px;
}
.inv2_box ul li {
	margin-left: 1em;
	text-indent: -1em;
}
.inv2_box2 {
	margin: 30px 0 100px 0 ;
	padding: 30px;
	color: #fff;
	line-height: 44px;
	background-color: #000;
}

	
#layer2_qa {
	padding: 100px 80px ;
	background-color: #eee ;
}
	
#layer2_qa h2 {
	display: inline-block;
	width:  100%;
	margin: 140px 0 60px 0 ;
	padding: 0 0 20px ;
	border-bottom: solid 1px;
	font-size: 30px;
	font-weight:600;
	text-align: center;	
}

.button-toTop {
	right: 100px;
	bottom: 30px;
	width: 80px;
	height: 80px;
}

}/* === PC @media screen ---end === */





/* ================================================================ */
/* ============================== SP ============================== */
/* ================================================================ */


@media screen and (max-width: 1023px) {


body {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 300;
	font-size: 14px;
}

/* ヘッダー */
header {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

header .band {
	display: flex;
	flex-wrap: wrap;
	align-items:center;
	height: 70px;
	width: 100%;
	background: #fff;
}

header .logo_set {
	margin: 10px auto 10px 10px ;
}
	
header .logo1 {
	color: #000;
	font-weight: 300;
	font-size: 17px;
	line-height: 20px;
}

header .logo2 {
	color: #333;
	font-weight: 200;
	font-size: 10px;
}

.btn_group {
	display: flex;
}
	
.btn_tel {
	display: inline-block;
	margin-right: 10px;
	width: 70px;
	height: 30px;
	border-radius: 15px;
	background: #666;
	color: #fff;
	font-size: 11px;
	text-align: center;
	line-height:30px;
}

.btn_line {
	display: inline-block;
	margin-right: 10px;
	width: 70px;
	height: 30px;
	border-radius: 15px;
	background: #00b733;
	color: #fff;
	font-size: 11px;
	text-align: center;
 	line-height:30px;
}

.btn_menu {
	margin-right: 10px;
}

.btn_menu_size {
	width: 30px;
	height: 30px ;
}

	
header .txt_tel {
	width: 100%;
	height: 20px;
	background: #ef79a5;
	color: #fff;
	font-size: 12px;
	text-align: center;
	line-height:20px;
}

/* === ナビゲーション === */
header nav {
  font-size: 0;
  text-align: center;
}

header nav a {
  margin: 20px 20px 0;
  padding-bottom: 8px;
  border-bottom: 1px dashed #333;
  display: inline-block;
  font-size: 12px;
  text-align: center;
}

header nav {
    z-index: 1000;
}

header nav button {
	display: none;
    width: 30px;
    height: 24px;
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 99999;
}

header nav button span {
    width: 100%;
    height: 100%;
    display: block;
}

header nav button span:before {
    content: '';
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    top: 0;
    background: #000;
}

header nav button span:after {
    content: '';
    width: 100%;
    height: 3px;
    margin: auto;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    background: #000;
}

header nav button:after {
    content: '';
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 0;
    background: #000;
}

header nav div {
    display: none;
}

header nav.js-on {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

header nav.js-on:before {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: #000;
    opacity: .8;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    position: fixed;
    top: 0;
    z-index: 100;
}

header nav.js-on button {
	display: block;
}

header nav.js-on button span:before {
    top: 50%;
    transform: rotate(45deg);
}

header nav.js-on button span:after {
    display: none;
}

header nav.js-on button:after {
    top: 50%;
    transform: rotate(-45deg);
}

header nav.js-on div {
    padding: 50px 0;
    position: relative;
    z-index: 9999;
    display: block;
    background: #fff;
}

header nav.js-on div a {
	width: auto;
	height: auto;
	margin-top: 30px;
	display: block;
	text-align: center;
}



/*  ===キービジュアル === */
#top {
	margin-top: 70px;
}

#top img {
	width: 100%;
}
.top_img_pc {
	display: none;
}
	
/* === はじめての方へ（あなたのお悩みお聞かせください）=== */

#message h2 {
	color: #ef79a5;
	font-size: 18px;
	font-weight:600;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}

#message .message_1 {
	margin: 0 20px ;
	line-height:24px;
}
.message_1b {
	margin-top: 24px;
}


#message .message_2 {
	font-size: 15px;
	text-align: center;
	margin-top: 30px;
	line-height:24px;
}

/* ===  共通タイトル === */

.contents_title {
	color: #fff;
	font-size: 18px;
	font-weight:600;
	text-align: center;
	background: #ef79a5;
	padding: 15px;
	margin: 30px 0;
}

.contents_title2 {
	color: #fff;
	font-size: 18px;
	font-weight:600;
	text-align: center;
	background: #ef79a5;
	padding: 15px;
	margin: 30px 0 0;
}



/* === 調査メニュー === */
.investigation_area {
	padding: 0 0 0 4%;
	text-align: center;
}


.investigation_box {
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	margin: 0 1% 10px 1%;
	width: 30%;
	height: 70px;
	border-radius: 3px;
	border: 1px solid #ddd;
	font-size: 14px;
	float: left;
}

.investigation_box p {
	margin:auto;
}

.btn_next {
	margin-top: 290px; 
	}
.btn_area {
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	clear: both;
	width: 58%;
	height: 40px;
	border-radius: 20px;
	background: #666;
	color: #fff;
	line-height:40px;
	text-align: center;
	margin: 0 auto 0 ;
}

.btn_circle_left {
	margin: 10px ;
	width: 20px ;
	height: 20px;
	background: #fff;
	border-radius: 50% ;
	float: left;
}

.btn_circle_right {
	margin: 10px ;
	width: 20px ;
	height: 20px;
	background: #fff;
	border-radius: 50% ;
	float: right ;
}
	

	
/* === 料金 === */

#price_area {
	padding: 0 20px;
}

.price_subtitle {
	padding: 0 0 5px ;
	border-bottom: solid 1px;
	font-size: 15px;
	font-weight:600;
}

.price_box {
	margin: 15px 0;
	padding: 15px ;
	border: solid 1px #ddd;
}

.price_txt1 {
	color: #ef79a5 ;
	font-weight:600;
	line-height:24px;
}
	
.price_txt1b {
	line-height:24px;
	padding-bottom: 15px;
	border-bottom: solid 1px #ddd;
}

.price_txt2 {
	margin: 15px 0 0 0;
	line-height:24px;
}

.price_txt3 {
	margin: 15px 0 0 0;
	line-height:24px;
}

.price_txt4 {
	margin: 15px 0 0 0;
	line-height:24px;
}


/* === ご依頼からの流れ === */
.flow_txt1 {
	margin: 0 20px 15px ;
	height: 40px;
	font-weight:600;
	border: solid 1px #ddd;
	text-align: center;
	line-height: 40px;
}

.flow_txt2 {
	margin: 0 20px ;
	line-height: 24px;
}

.flow_arrow {
	margin: 15px ;
	text-align: center;
}
	
#flow img{
	width: 40px;
	height: 15px;
}


/* よくあるご質問 */
#qa_area {
	padding: 30px 20px ;
	background-color: #eee ;
}

#qa .qa_box {
}

#qa table {
	width: 100%;
}

.qa_txt_q {
	line-height:24px;
	font-weight:600;
	padding: 10px 5px 10px 10px ;
}

.qa_txt_q2 {
	line-height:24px;
	padding: 10px 10px 10px 0 ;
}

.qa_txt_a {
	line-height:24px;
	font-weight:600;
	padding: 15px 5px 15px 10px ;
}

.qa_txt_a2 {
	line-height:24px;
	padding: 15px 10px 15px 0 ;
}


.qa_box_q {
	color: #ef79a5 ;
	background-color: #fff ;
}

.btn_next2 {
	margin-top: 10px;
}




/* === footer === */
footer {
	color: #fff;
	background: #666;
	padding: 30px 20px ;
}

footer .ft_name {
	font-size: 18px;
	font-weight:600;
	text-align: center;
	padding-bottom: 30px;
	border-bottom: solid 1px #fff;
}

.ft_address {
	margin: 30px 0 ;
	line-height: 24px;
	font-size: 12px;
}
.ft_address_name {
	margin-top: 10px;
}	
.ft_add_img {
width: 170px;
}
	
footer ul {
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
	margin: 15px 0 ;
}

footer li {
	font-size: 12px;
} 

.ft_li1 {
	text-align: center;
	width: 30%;
	padding: 0 0 10px ;
	border-bottom: dashed 1px;
}

.ft_li2 {
	text-align: center;
	width: 30%;
	margin-top: 20px;
	padding: 0 0 10px ;
	border-bottom: dashed 1px;
}

footer .ft_btns{
	padding: 20px 0 ;
}

footer .btn_tel {
	width: 48%;
	height: 40px;
	border-radius: 20px;
	background: #fff;
	color: #333;
	font-size: 15px;
	text-align: center;
	line-height:40px;
}

footer .btn_line {
	margin: 0 ;
	width: 48%;
	height: 40px;
	border-radius: 20px;
	background: #00b733;
	color: #fff;
	font-size: 15px;
	text-align: center;
 	line-height:40px;
	float: right;
}

footer .copy {
	clear: both;
	margin: 60px 0 0 ;
	font-size: 10px;
	text-align: center;
}
	
	
/* ================ 階層2 ================ */

.layer2{
	margin-top: 70px;
	padding: 0 20px ;
}

.layer2 h2 {
	display: inline-block;
	width:  100%;
	margin: 30px 0 15px 0 ;
	padding: 0 0 5px ;
	border-bottom: solid 1px;
	font-size: 15px;
	font-weight:600;
	text-align: center;	
}

.inv2_box {
	margin: 15px 0;
	padding: 15px ;
	border: solid 1px #ddd;
}

.inv2_txt1 {
	color: #ef79a5 ;
	font-weight: 600;
	line-height: 24px;
	padding-bottom: 15px;
	border-bottom: solid 1px #ddd;
	margin-bottom: 15px;
}

.inv2_txt2 {
	line-height: 24px;
}

.inv2_box ul {
	line-height: 24px;
}
.inv2_box ul li {
	margin-left: 1em;
	text-indent: -1em;
}
.inv2_box2 {
	margin: 20px 0 30px 0 ;
	padding: 15px;
	color: #fff;
	line-height: 24px;
	background-color: #000;
}
	


#layer2_qa {
	padding: 70px 20px 10px ;
	background-color: #eee ;
}
	
#layer2_qa h2 {
	display: inline-block;
	width:  100%;
	margin: 30px 0 30px 0 ;
	padding: 0 0 5px ;
	border-bottom: solid 1px;
	font-size: 15px;
	font-weight:600;
	text-align: center;	
}

.button-toTop {
	right: 2vw;
	bottom: 8vw;
	width: 10vw;
	height: 10vw;
}

}/* === SP @media screen ---end === */
