@charset "utf-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);

/* =================================================
 * reset
 * ================================================*/

html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, img,
dl, dt, dd, ol, ul, li, form, label, table, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	margin: 0px;
	padding: 0px;
	border: 0px;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	outline: none;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ul, ol {
	list-style: none;
}

/*リスト系共通設定------------------------------*/
.ullist{
	line-height:1.3;
	text-align:justify;
	width:80%;
	margin:10px auto;
	max-width:900px;
	padding:10px 10px;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	font-size:120%;
}
	.ullist li{
		list-style: inside;
		margin:0.5rem 0;
	}
table {
	border-spacing: 0px;
	empty-cells: show;
}

/* =================================================
 * common
 * ================================================*/

body {
	font-family: "Noto Sans Japanese", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 13px;
	line-height: 160%;
	color: #434343;
	background-color: #FFFFFF;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

*::selection {
	background: #f39800 none repeat scroll 0 0;
	color: #FFFFFF;
}

*::-moz-selection {
	background: #f39800 none repeat scroll 0 0;
	color: #FFFFFF;
}

.clearfix:after {
  content: " ";
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}
a {
	text-decoration: none;
	color: inherit;
	transition:all ease-in-out 0.15s;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

/* =================================================
 * all display
 * ================================================*/

.top_bar{
	background-color: #B5B5B5;
	color: #FFFFFF;
	font-size: 105%;
}

.top_txt{
	text-align: left;
	padding-left: 3%;
	position: fixed;
	padding-top: 4px;
}

.tel-bar {
	text-align: right;
	padding: 4px 30px;
}

.tel-bar dt, .tel-bar dd {
	display: inline-block;
}

.tel-bar dt {
	margin-left: 1em;
}

.tel-bar dd {
	font-weight: bold;
	margin-left: 0.5em;
}


header {
	background-color: #FFFFFF;
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0px;
	z-index: 100;
	border-bottom: 1px solid #B5B5B5;
}
header #masthead {
	display: flex;
	justify-content: space-between;
	
}
header #masthead #logo{
	width: 20%;
	max-width: 200px;
	padding: 16px 0px 0px 6%;
}
header #masthead .estimate_wrap {
  display:flex;
  justify-content: space-between;
  width: 24%;
}
@media screen and (max-width: 1366px) { 
  header #masthead .estimate_wrap {
    width: 40%;
  }
}
header #masthead .estimate{
    width: 50%;
	max-width: 324px;
    margin-right: 10px;
}
header #global_2 {
    display: none;
}

header #global {
    max-width: 1000px;
    margin: 0px auto;
	width: 62%;
	align-items: center;
    display: flex;
}
header .estimate a {
	display: block;
	background-color: #2d98df;
	border-radius: 10px;
    margin: 5px;
    box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.3);
	color: #FFFFFF;
	line-height: 54px;
	text-align: center;
	font-size: 115%;
	font-weight: bold;
}
@media screen and (min-width: 768px) and (max-width: 1500px) { 
	header #global {
		display: none;
	}
	header #global_2 {
		display: block;
	}
	header #global_2 ul:not(.global-level) {
		margin: 0px auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 80%;
	}
	header #global_2 ul li:first-child {
		width: 16.28%;
	}
	header #global_2 ul li {
		width: 14.28%;
		text-align: center;
	}
  header #global_2 ul.global-level li {
		width: 100%;
	}

/*	header #global_2 li:nth-child(4) {
		width: 12.28%;
	}*/
	header #global_2 ul li a {
		line-height: 300%;
		background-size: 19px;
		white-space:nowrap;
	}
  #global_2 ul:not(.global-level) li {
    position: relative;
  }
  #global_2 ul.global-level {
    position: absolute;
    top: 45px;
    left: -18px;
    display: block;
    width: 180px;
    transition: .2s;
    visibility: hidden;
    opacity: 0;
    background: #fff;
    border: 2px solid #d1d1d1;
    padding: 0;
    text-align: center;
  }
  #global_2 ul.global-level a {
    display: block;
    line-height: 1;
  }

  #global_2 ul.clearfix .global-library::before {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    margin: auto;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #f39800;
    opacity: 1;
    visibility: visible;
    transition: .3s;
    top: 22px;
    left: 0;
    right: 0;
  }
  #global_2 li:hover ul.global-level  {
    visibility: visible;
    opacity: 1;
    display: block;
  }
  #global_2 ul.global-level li {
    margin: 0;
    width: 100%;
    display: block;
    border-bottom: 1px solid #ddd;
    background: none;
    font-size: 13px;
    transition: .2s;
  }  
}
@media screen and (min-width: 931px) and (max-width: 1500px) { 
	header #global_2 li a {
		padding: 10px;
	}
	header #global_2 li a:hover {
		background: #f1f1f1;
	}
}
@media screen and (min-width: 768px) and (max-width: 930px) { 
	header #global_2 li a {
		line-height: 100%;
		background-size: 19px;
		white-space:normal;
	}
	header #global_2 li {
		width: 12%;
		text-align: center;
	}
	
}




/*---半額キャンペーン---*/

header.estimate {
	float: right;
	width: 270px;
	box-sizing: border-box;
}

header .estimate a {
	width: 100%;
}

.topcam {
	position: relative;
    float: right;
	width: 210px;
	margin: 5px 10px 0 0;
    padding: 3px 5px 4px;
    background-color: #F9D0D1;
    border-radius: 4px;
    border: 1px solid #e63462;
    text-align: center;
    line-height: 1.5;
    font-weight: bold;
    color: #e63462;
	animation: topcam 3s infinite;
	-webkit-animation: topcam 3s infinite;
}

@keyframes topcam {
	0% {margin-top: 5px}
	50% {margin-top: 1px}
	100% {margin-top: 5px}	
}

.topcam:after {
    content: "";
    position: absolute;
    top: 15px;
    right: -12px;
    border: 5px solid transparent;
    border-left: 6px solid #e63462;
    z-index: 1;
}

.topcam span {
    letter-spacing: .05rem;
}

@media screen and (max-width: 767px) { 
	.topcam {display: none;}
}

/*---/半額キャンペーンここまで---*/


#menu {
	width: 9.37%;
	max-width: 40px;
	padding: 10px 6.25% 10px 0px;
	cursor: pointer;
}

footer {
  width: 100%;
  background: #7E7E7E;  
	margin-top: 0;
}
	#fb-like_pc{
		display: block !important;
		margin: 0 auto !important;
		text-align: center !important;
	}
	#fb-like_mobile{
		display: none !important;
	}
@media (max-width: 767px) {
	#fb-like_pc{
		display: none !important;			
	}
	#fb-like_mobile{
		display: block !important;
		margin: 0 auto !important;
		text-align: center !important;
	}

}

footer .inner {
  display: flex;
  justify-content: space-between;
	padding: 0px;
	width: 87.5%;	
	margin: 20px auto 0 auto;
  color: #fff;
}
footer .footer-logo {
  background: #fff;
}
footer .footer-logo .inner {
  padding: 20px 0;
}
.footer-company {
  width: 25%;
}
.footer-company p {
  margin: 10px 0;
}
footer .inner p.footer-nav-title {
  margin-bottom: 10px;
  font-size: 15px;
  line-height: 2;
  border-bottom: 1px solid #fff;
}
.footer-logo-image {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.footer-logo-image img {
  width: 50px;
  height: auto;
  margin: 0 10px;
}
.footer-logo-image img.footer-logo-image-jpx {
  width: 50px;
  height: 54px;
}
.footer-company-sns {
  font-size: 24px;
  transform: translatex(10px);
}
.footer-company-sns img {
  transition: .2s;
  width: 25px;
  height: auto;
}

.footer-nav {
  display: flex;
  justify-content: space-between;
  width: 68%;
}
.footer-nav li {
  width: 29%;
}
.footer-nav-link {
  width: 100%;
}
.footer-nav-link li {
  width: 100%;
  margin: 5px 0 15px;
}
footer #copyright .inner {
	width: inherit;	
  padding: 0;
}

footer #rakus {
	display: inline-block;
	vertical-align: top;
	width: 16%;
}

footer .inner p {
	display: inline-block;
	vertical-align: top;
	width: 63%;
	box-sizing: border-box;
	padding: 0px 3%;
	font-size: 80%;
	line-height: 130%;
	text-align: justify;
}

footer #privacy {
	display: inline-block;
	vertical-align: top;
	width: 18%;
}

#pagetop {
	width: 30px;
	position: fixed;
	right: 3%;
	bottom: 2.5%;
	cursor: pointer;
	z-index: 20;
	display: none;
}

#copyright {
	background-color: #7E7E7E;
	color: #FFFFFF;
	text-align: center;
	margin-top: 15px;
	padding: 12px 0px;
}

#copyright li {
	display: inline-block;
	font-size: 98%;
	padding: 0px 10px;
}

#copyright small {
	font-size: 85%;
	margin-top: 4px;
}

h2 {
	background-color: #B5B5B5;
	text-align: center;
	padding: 0.5em 0px;
	font-size: 140%;
	color: #FFFFFF;
	margin-top: 28px;
}

#topic-path p {
	max-width: 1000px;
	margin: 0px auto;
	padding: 10px 20px;
}

#topic-path a:hover {
	text-decoration: underline;
}
.gray {
	background-color: #f5f5f5;
}
#inquiry.gray {
	height: 93.5vh;
	background-color: #f5f5f5;

}
.sub h1 {
	font-size: 160%;
	font-weight: bold;
	text-align: center;
	line-height: 110%;
	letter-spacing: 2px;
}

.sub h1 span {
	font-size: 50%;
	font-weight: normal;
}

.sub h1:after {
	content: "";
	display: block;
	width: 60px;
	height: 2px;
	margin: 6px auto 0px;
	background-color: #F39800;
}

.sub .lead {
	margin-top: 16px;
}
	.sub .lead a{
		color:#2e81a7;
	}
		.sub .lead a:hover{
			color:#00a2ee;
			text-decoration:underline;
		}

.sub h2 {
	margin-top: 0px;
}

/* =================================================
 * smartphone
 * ================================================*/

@media (max-width: 767px) {

body {
	font-size: 12px;
}

.pc-only {
	display: none;
}

.tel-bar, header .estimate a {
	display: none;
}

#masthead {
	z-index: 100;
	position: relative;
	background-color: #FFFFFF;
}

header #global {
	display: none;
	z-index: 100;
	position: relative;
	background-color: #FFFFFF;
}
header #masthead #logo {
    width: 40%;
    max-width: 200px;
    padding: 16px 0px 0px 6%;
}
header #masthead #logo.nomenu {
    padding: 16px 0px 16px 6%;
}
header #masthead .estimate {
	display: none;
}
header #masthead .estimate_wrap {
  display: none;
} 
header #global ul{
	display: none;
}

header #global_2 ul {
	border-top: 1px solid #BABABA;
}
header #global_2 li {
	background: #fff;
}
header #global_2 li a {
	display: block;
	border-bottom: 1px solid #BABABA;
	padding-left: 6%;
	line-height: 300%;
	background: url(/img/common/arrow.png) 92.5% center no-repeat;
	background-size: 19px;
}
header #global_2 li .trigger {
	display: block;
	border-bottom: 1px solid #BABABA;
	padding-left: 6%;
	line-height: 300%;
	background: none;
	background-size: 19px;
}
#global_2 li.global-library {
  position: relative;
}
header #global_2 li.global-library a {
  background: none;
}
#global_2 li.global-library .trigger::after {
  position: absolute;
  content: '';
  top: 17px;
  right: 28px;
  border-top: 6px solid #f39800;
  border-right: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid transparent;
}
#global_2 li.global-library .trigger.act::after {
  transform: rotate(-180deg) translateY(8px);
}
#global_2 .global-level {
  display: none !important;
  position: relative;
}
#global_2 .global-level.act {
  display: block !important;
}
#global_2 .global-level.act li {
  background-color: #ececec;
}
header #global_2 .estimate {
	background: #fff;
	padding: 18px 0;
}
header #global_2 .estimate a {
	display: block;
	float: none;
	width: 90%;
	max-width: none;
	line-height: 300%;
	margin: 0 auto;
  box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.3);
}

header #global_2 .tel-sp {
	background-color: #B5B5B5;
	color: #FFFFFF;
}

header #global_2 .tel-sp dt, header #global_2 .tel-sp dd {
	font-size: 95%;
	display: inline-block;
}

header #global_2 .tel-sp {
	text-align: center;
	padding: 8px 0px;
	line-height: 240%;
}

header #global_2 .tel-sp dt:nth-of-type(even) {
	margin-left: 2em;
}

header #global_2 .tel-sp dd {
	font-weight: bold;
	margin-left: 0.5em;
}

header #global_2 .tel-sp dt:nth-of-type(3) {
	clear: both;
}

#overlay {
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: -100;
	display: none;
}

#topic-path {
	display: none;
}
#inquiry.gray {
  height: auto;
}
.ullist{
	font-size:100%;
}
	
	._51m- _2pir _51mw{display: none;}

}

/* =================================================
 * pc
 * ================================================*/

@media (min-width: 768px) {

.sp-only {
	display: none;
}

#logo {
	max-width: 215px;
	padding: 8px 0px 0px 3%;
}

#menu, header #global .estimate, header #global .tel-sp {
	display: none;
}

#global ul {
	margin: 0px auto;
	display: flex;
	justify-content: space-between;
	width: 95%;
}

#global li {
  position: relative;
	width: 12.28%;
}

#global li:first-child {
	width: 18.28%;
}

#global li:nth-child(4) {
	width: 12.28%;
}

#global li a {
	display: block;
	text-align: center;
	background-color: #FFFFFF;
	-webkit-transition: background-color 0.3s ease-out;
	transition: background-color 0.3s ease-out;
	padding: 10px 0;
}

#global li a:hover {
	background-color: #F1F1F1;
}

#global .active a {
	color: #FFFFFF;
	background-color: #000000;
}

#global .active a:hover {
	background-color: #000000;
}
header #global_2 .tel-sp,header #global_2 .estimate {
	display: none;
}
/* 20191001add */
#global ul.global-level {
  position: absolute;
  top: 65px;
  left: -26px;
  display: block;
  width: 180px;
  transition: .2s;
  visibility: hidden;
  opacity: 0;
  background: #fff;
  border: 2px solid #d1d1d1;
  padding: 0;
  text-align: center;
}  
#global li:hover ul.global-level  {
  visibility: visible;
  opacity: 1;
  display: block;
}

#global ul.global-level li {
  margin: 0;
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
  background: none;
  font-size: 13px;
  transition: .2s;
}
#global ul.clearfix .global-library::before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  margin: auto;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #f39800;
  opacity: 1;
  visibility: visible;
  transition: .3s;
  top: 36px;
  left: 0;
  right: 0;
}

/* end-20191001add */
  
  
/*footer {
	margin-top: 40px;
}
*/
#rakusfb{
	display:block !important;
	max-width:85%;
	text-align:center !important;
	margin:0 auto 40px auto;
	}

#rakusfb:after{
	display:block;
	clear:both !important;
	margin:0 auto 20px auto !important;
	}
	


footer .inner {
  padding: 30px 0 0;
  width: auto;
  max-width: 1000px;
  margin: 0 auto;
}

#pagetop {
	width: 60px;
	right: 30px;
	bottom: 70px;
}

footer #rakus {
	display: inline-block;
	vertical-align: middle;
	width: 7%;
}

footer .inner p {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	font-size: 90%;
	line-height: 160%;
}

footer #privacy {
	display: inline-block;
	vertical-align: middle;
	width: 8%;
}

#copyright {
	margin-top: 20px;
	padding: 8px 0px;
}
#copyright.formcopy {
  position: fixed;
  bottom: 0;
  width: 100%;
	margin-top: 0;
	padding: 8px 0px;
}
.md99foot #copyright.formcopy {
  position: relative;
	margin-top: 60px;
}
#copyright ul {
	width: 50%;
	float: right;
	text-align: right;
}

#copyright li {
	display: inline-block;
	font-size: 100%;
	padding: 0px 10px;
}

#copyright small {
	width: 50%;
	font-size: 100%;
	margin: 0 auto;
	text-align: center;
}

h2 {
	padding: 0.8em 0px;
	font-size: 180%;
	font-weight: bold;
	letter-spacing: 1px;
}

.sub h1 {
	font-size: 300%;
	line-height: 110%;
	letter-spacing: 4px;
}

.sub h1 span {
	font-size: 40%;
	font-weight: normal;
	letter-spacing: 2px;
}

.sub h1:after {
	width: 120px;
	height: 4px;
	margin: 20px auto 0px;
}

.sub .lead {
	margin-top: 24px;
	text-align: center;
	font-size: 110%;
	line-height: 180%;
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	font-variant-ligatures: no-common-ligatures;
  padding: 0 75px;
}

.sub .form-lead {
  font-size: 1.2rem;
  line-height: 180%;
}
  
.sub .form-lead a {
  font-size: 1.2rem;
  line-height: 180%;  
}
  
#price .lead {
	font-size: 130%;
}


}



@media (max-width: 767px) {
  .footer-company {
    width: 100%;
  }
  .footer-company img:first-of-type{
    max-width: 150px;
  }
  .footer-company-image img {
    width: 50px;
    height: auto;
  }
  footer .inner p {
    font-size: 100%;
    width: 100%;
  }
  footer .inner {
    flex-direction: column;
    margin: 0 auto;
    padding: 30px 0 0;
  }
  .footer-nav {
    display: flex;
    margin-top: 10px;
    width: 100%;
    flex-direction: column;
  }
  .footer-nav li {
    width: 100%;
  }
  footer .inner p.footer-nav-title {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 14px;
    padding: 0;
    line-height: 2;
    border-bottom: 1px solid #fff;
  }
  #copyright {
    background-color: #7E7E7E;
    color: #FFFFFF;
    text-align: center;
    margin-top: 0;
    padding: 0 0 12px 0px;
  }
}
