@charset "UTF-8";
/*
Theme Name: marukasa 2020
Version: 1.0
Description: 2020 marukasa's theme.
Author: kanaya
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* 共通部分
-----------------------------------------*/
html{
	font-size: 16px;
}
body{
	font-family: "Yu Gothic Medium", "游ゴシック Medium",YuGothic,"游ゴシック体","ヒラギノ角ゴ Pro W3",sans-serif;
	line-height: 1.7;
	color: #000;
	max-width: 100vw;
	margin: 0 auto;
}
a{
	text-decoration: none;
}
a:hover {
	opacity: 0.65;
	transition: 0.2s;
}
img{
	max-width: 100%;
	height: auto;
}
li {
	list-style: none;
}

.contents-wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.non-header {
	margin-top: 60px;
}

.post-author {
	margin-right: 15px;
}
/* 404エラー
----------------------------------------*/
.not-found {
	margin: 100px auto;
	text-align: center;
}
.not-found h1 {
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 40px;
}
.not-found p {
	margin-bottom: 40px;
}
/* ポップアップ
----------------------------------------*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  max-width: 100%;
  padding: 50px;
  background-color: rgba(0,0,0,.7);
  z-index: 2;
}
.popup-inner img {
  width: 100%;
}
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
}
.close-btn i {
  font-size: 20px;
  color: #fff;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.3);
  z-index: 1;
  cursor: pointer;
}

/* フェイスブック
----------------------------------------*/
.my-facebook,
.my-facebook iframe {
	max-width: 214px;
	min-width: 214px;
	width: auto;
	height: 367px;
}

/* post-item
-----------------------------------------*/
.example-date {
	font-size: 14px;
}

/* Flex Box
-----------------------------------------*/
.flex-box {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-content: space-between;
}
@media screen and (max-width: 1080px) {
  .flex-box {
  	justify-content: space-around;
  	align-content: flex-start;
  }
}
/*　PC時非表示*/
#sp-blog-btn, .blog-content,
.sp-banner,.sp-nav,.sp_top_header_btn,.about-acd-label,.sp-top-example-post {
	display: none;
}

/*=========================================
			トップページ HOME
===========================================*/

/* header
----------------------------------------*/
#header {
	background-image: url(images/header-bg.png);
	background-repeat: repeat-x;
	position: relative;
	z-index: 99;
	padding-bottom: 8px;
}
.header {
	padding-top: 20px;
}
.header .header-logo {
	margin-top: -6px;
}
.header h3 {
	font-size: 13px;
	margin-right: 40px;
}

/* sticky-nav
----------------------------------------*/
.sticky-bg {
	background-image: url(images/header-bg.png);
	background-repeat: repeat-x;
	position: fixed;
	top: 0;
	z-index: 98;
	width: 100%;
	height: 46px;
	opacity: 0.9;
	box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.175);
}
.sticky-nav {
	position: sticky;
	top: 6px;
	margin-top: -42px;
	z-index: 100;
	margin-bottom: 8px;
}
/* header nav
----------------------------------------*/
.flex-nav {
	display: flex;
	justify-content: flex-end;
	align-items: baseline;
	padding: 5px 0 0;
}
.flex-nav li {
	margin-left: 35px;
}
.flex-nav li a {
	color: #000;
	font-weight: bold;
}
.home-icon {
	margin-right: 10px;
}

/* video
------------------------------------------*/
.cover-video {
	position: relative;
}
.cover-video-img {
	position: absolute;
	width: 655px;
	height: 210px;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50%,50%);
	-webkit-backface-visibility: hidden;
}
.back-color {
	background-image: url(images/box.png);
	background-repeat: repeat;
	opacity: 0.5;
	background-color: rgba(0,0,0,0.8);
	position: absolute;
	z-index: 1;
	width: 100vw;
	height: 100%;
}
.video-wrap {
	overflow: hidden;
	background-color: #000;
	background-size: cover;
	background-position: center center;
	background-image: url(images/top_bg_img.png);
	background-repeat: no-repeat;
    position: relative;
    width: 100%;
    height: 617px;
}
#video {
	min-height: 617px;
	height: auto;
	width: 100vw;
	position: relative;
	background-color: #000;
}
/* top-header-btn 
----------------------------------------*/
.top_header_btn {
	display: flex;
	justify-content: center;
	position: absolute;
	z-index: 3;
	bottom: -400px;
	left: 50%;
	transform: translate(-50%,100%);
	width: 100%;
	margin-left: 50px;
}
.top_header_btn img {
	margin: 0 6.5px;
}
.top_header_btn img.no1,
.top_header_btn img.no3,
.top_header_btn img.no4 {
	width: 182px;
	height: 43px;
}
.top_header_btn img.no2 {
	width: 202px;
	height: 43px;
}

/* top-header-bottom
----------------------------------------*/
.top-header-bottom-wrap {
	background-image: url(images/header-bg_bottom.png);
	background-repeat: repeat-x;
	height: 270px;
}
.top-header-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

/* header-post
----------------------------------------*/
.header-post {
	position: absolute;
	z-index: 5;
	background-color: #fff;
	max-width: 800px;
	width: 100%;
	height: 82px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	bottom: -500px;
	left: 50%;
	transform: translate(-50%,100%);
	margin-left: 150px;
}
.header-post p {
	white-space: nowrap;
	margin-left: 25px;
}
.header-post a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 577px;
	width: 100%;
	color: #000;
}

.header-post-date {
	margin: 0 13px 0 40px;
}

/* top-about
----------------------------------------*/
.top-about {
	margin: 77px 0 100px;
}
/* left */
.left-wrap {
	width: 660px;
}
.left-wrap h1 {
	font-size: 40px;
	margin-top: 5px;
}
.left-wrap h2 {
	font-size: 24px;
	margin: 2px 0 13px;
}
.left-wrap p {
	line-height: 1.7;
	margin-bottom: 60px;
}
.top-about-img {
	margin-top: 140px;
}
/* right */
.right-wrap {
	width: 380px;
}
.top-about-right-title {
	display: block;
	margin: 0 auto; 
}
.right-wrap h4 {
	text-align: center;
	border: solid 3px rgb(15,36,55);
	color: rgb(15,36,55);
	font-size: 22px;
	margin-top: 26px;
}
.right-wrap p {
	font-size: 15px;
	margin: 5px 0 10px;
    line-height: 1.5;
}
.right-wrap h5 {
	margin-left: 50px;
	font-weight: normal;
	margin-top: -5px;
}
h4.keiyaku {
	color: #fff;
	background: rgb(15,36,55);
}
.orange {
	color: #f36a48;
}
/* example
-----------------------------------------*/
.example-item{
	width: 258px;
	height: 373px;
	border: solid 1px #000;
	margin-bottom: 33px;
}

.example-item a img,
.blog-item a img {
	width: 258px;
	height: 180px;
	object-fit: cover;
}

.example-inner {
	width: 227px;
	height: 157px;
	margin: 15px auto;
}
.ex-cat-wrap {
	height: 63px;
	margin-bottom: 7px;
}
.example-cat {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: -2px 0px 7px;
}
.example-cat a {
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	width: 110.5px;
	background: rgb(12,95,163);
	border-radius: 5px;
	margin-bottom: 5px;
	text-align: center;
}

.example-title {
	line-height: 22px;
}
.example-title a {
	font-size: 18px;
	color: #000;
}
/* example header
-----------------------------------------*/
.example-header, .company-header {
	background-color: rgb(15,36,55);
	color: #fff;
	font-size: 27px;
	margin-bottom: 35px;
}
.example-hd-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 185px;
}
.example-hd-left, .example-hd-right {
	align-items: center;
}
.example-hd-right {
	padding: 0 85px 0 15px;
}
.example-hd-left h2::before {
	display: block;
	width: 54px;
	height: 54px;
	content: '';
	background-image: url(images/kawara.png);
	background-repeat: no-repeat;
	margin-bottom: 10px;
}
.example-hd-left h2::after
 {
	display: block;
	width: 130px;
	height: 1px;
	content: '';
	background-color: #fff;
	margin-top: 10px;
}

.category-list {
	margin: 55px auto;
}
.category-list li {
	width: 253px;
	height: 43px;background-color: #fff;
	border: solid 3.5px rgb(15,36,55);
	border-radius: 10px;
	margin-top: 16px;
}
.category-list a{
	display: inline-block;
	width: 240px;
	font-size: 23px;
	font-weight: bold;
	color: rgb(15,36,55);
	white-space: nowrap;
	text-align: center;
	padding: 3px 10px 13px 5px;
}
.category-list .arrow_cat {
	display: block;
	width: 19px;
	height: 19px;
	background-image: url(images/arrow_cat.png);
	background-repeat: no-repeat;
	margin: -30px 5px 0 auto;
}
.category-list li:hover {
	opacity: 0.7;
	transition: 0.3s;
}

.top-btn {
	width: 418px;
	margin: 15px auto 0px;
}

/* voice
----------------------------------------*/
#top-voice {
	color: #fff;
	background: #106ACD;
	padding-bottom: 25px;
	margin-top: 73px;
}
.top-voice-wrap {
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-size: 27px;
	position: relative;
	top: -30px;
}
.top-voice-wrap h2 {
	position: relative;
	top: 5px;
	left: 30px;
}
.top-voice-wrap h2::before {
	display: block;
	width: 62px;
	height: 62px;
	content: '';
	background-image: url(images/makimono.png);
	background-repeat: no-repeat;
	margin-bottom: 10px;
}
.top-voice-wrap h2::after {
	display: block;
	width: 130px;
	height: 1px;
	content: '';
	background-color: #fff;
	margin-top: 10px;
}

.top-voice-wrap h3 {
	position: relative;
	top: 50px;
	left: 50px;
}

.top-voice-wrap img {
	position: relative;
	left: 5px;
}

#top-voice p {
	padding: 0px 50px 20px;
	margin-top: -20px;
}
#top-voice a {
	width: 418px;
	display: block;
	margin: 0 auto;
}

/* voice
----------------------------------------*/
.voice-wrap {
	display: flex;
	justify-content: flex-start;
	border-bottom: dotted 1px #000;
	padding: 15px 0;
}
.voice-title {
	padding-bottom: 7px;
}
.voice-item p {
	color: #f36a48;
	padding-left: 14px;
	line-height: 1.2;
	margin-bottom: 6px; 
}

/* blog
----------------------------------------*/
.blog-bg {
	background-image: url(images/blog_bg.png);
	background-repeat: repeat-x;
	height: 515px;
	margin-top: 80px;
}
.top-blog-title {
	font-size: 27px;
	font-weight: bold;
	color: #000;
	text-align: center;
	margin-bottom: 30px;
	padding-top: 40px;
}
.blog-item {
	width: 258px;
	height: 335px;
	margin-bottom: 33px;
	background-color: #fff;
}
.blog-content {
	margin-top: 6px;
	line-height: 1.3;
}
/*.blog-date {
	padding-bottom: 20px;
}*/

/* Slick スライド */
.slick-list {
  margin-right: -20px;  /* ガター分ネガティブマージン */
}
.slick-slide {
  margin-right: 22px;  /* ガター */
}
.slick-prev {
    left: -65px;
    top: 120px;
}
.slick-prev::before {
    content: '';
    background-image: url(images/blog-prev.png);
    background-repeat: no-repeat;
    display: inline-block;
    width: 45px;
    height: 45px;
}
.slick-next {
    right: -40px;
    top: 120px;
}
.slick-next::before {
    content: '';
    background-image: url(images/blog-next.png);
    background-repeat: no-repeat;
    display: inline-block;
    width: 45px;
    height: 45px;
}

/* company 
----------------------------------------*/
.company-header {
	margin-bottom: 30px;
}
.company-header .company-hd-left h2::before {
	display: block;
	width: 97px;
	height: 50px;
	content: '';
	background-image: url(images/yane.png);
	background-repeat: no-repeat;
	margin-bottom: 10px;
}
.company-wrap h2 {
	font-size: 27px;
	text-align: center;
	padding: 60px 0 35px;
}
.top-btn-company {
	width: 418px;
	margin: 70px auto 90px;
}

/* banner / promise 
----------------------------------------*/
.banner {
	background-image: url(images/banner_bg.png);
	background-repeat: repeat-x;
	margin-bottom: 50px;
}
.banner-wrap {
	max-width: 1050px;
	padding: 105px 0 60px;
}
.banner-wrap h2 {
	font-size: 27px;
	margin: 80px 0 40px;
}
.banner-wrap h2::after {
	display: block;
	width: 130px;
	height: 1px;
	content: '';
	background-color: #000;
	margin-top: 10px;
}
.promise-wrap {
	width: 326px;
	border: solid 3px #112943;
	background: #fff;
}
.promise-header {
	background-color: #112943;
	padding: 7px 5px;
	align-items: center;
}
.promise-header h3 {
	width: 210px;
	color: #fff;
	font-size: 29px;
	text-align: center;
	line-height: 1.4;
}
.promise-wrap p {
	padding: 5px 16px 24px;
	line-height: 1.75;
}

/* contact
----------------------------------------*/
.top-contact {
	background-color: #63717D;
}
.top-contact-wrap {
	padding: 70px 0 56px;
}
.top-contact-left {
	background-color: #fff;
	background-image: url(images/top_contact_bg.png);
	max-height: 367px;
}
.top-contact-left h2 {
	font-size: 27px;
	padding: 30px 237px 0px 40px;
}
.top-contact-left h2::after {
	display: block;
	width: 130px;
	height: 1px;
	content: '';
	background-color: #000;
	margin-top: 10px;
}
.top-contact-left-item-right {
	padding: 87px 32px 0px 0px;
}
.top-contact-left-item-right h4 {
	font-size: 18px;
}
.top-contact-tel {
	margin: 10px 0;
}
/* fixed footer 
----------------------------------------*/
#fixed_footer {
	background-color: rgb(15,36,55);
	position: fixed;
	bottom: 0px;
	width: 100vw;
}
.fixed-footer-wrap {
	padding: 20px 0 12px;
}
.fixed-footer-left {
	background-color: #fff;
	align-items: center;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 90px;
	padding: 0 16px;
}
.fixed-footer-left h4 {
/*	font-size: 17px;*/
	font-size: 16px;
	line-height: 1.4;
	padding: 0 16px;
}
.fixed-footer-left a img {
	display: block;
}
.fixed-footer-right::before {
	content: '\f00d';
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    position: absolute;
    top: 12px;
    left: 23px;
}

/* footer
----------------------------------------*/
/* map */
.google-map {
	width: 100vw;
	height: 370px;
}

/* nav */
.footer-nav {
	background-color: rgb(15,36,55);
}
.footer-nav-wrap {
	padding: 30px 0;
}
.white-home {
	margin-left: 30px;
}
.footer-nav span {
	color: #106ACD;
}
.footer-nav a {
	color: #fff;
}
.footer-nav-list {
	font-size: 14px;
	line-height: 1.75;
}
.footer-nav-list-title,
.footer-nav-list h2 {
	font-size: 16px;
	margin-bottom: 8px;
	white-space: nowrap;
}
.footer-nav-list-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer-nav-list-title .side-line,
.footer-nav-list-title .side-line2 {
	display: block;
	width: 216px;
	height: 1px;
	background: #fff;
}
.footer-nav-list-title .side-line2 {
	width: 113px;
}
.footer-nav-list .second {
	margin-left: 14px;
}
.footer-nav-list li {
	margin-left: 14px;
}

/* nav footer */
.footer-nav-footer {
	padding: 23px 0;
	border-top: solid 1px #fff;
	font-size: 14px;
}
.footer-nav-footer span {
	color: #fff;
}

/* text */
.footer-text p {
	margin-bottom: 40px;
}
.footer-text img {
	display: block;
	margin: 25px auto;
}

/* copyrught */
.copyright {
	background-color: rgb(15,36,55);
	color: #fff;
	text-align: center;
	padding: 12px 0;
}
/* page top button */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10%;
  bottom: 15%;
  z-index: 105;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  background-image: url(./images/page_top.png);
  opacity: 0.9;
}
#page_top:hover{
	opacity: 0.7;
	transition: 0.5s;
}

/* grand open
----------------------------------------*/
.go_bnr{
	background-color: #f7f1e4;
	padding: 35px 0;
}
.go_bnr .go_in{
	width: 95%;
	max-width: 780px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
.go_bnr .go_in .in_l{
	width: 43%;
	margin-right: 5%;
	position: relative;
}
.go_bnr .go_in .in_l .img{
	position: relative;
}
.go_bnr .go_in .in_l .img img{
	width: 100%;
}
.go_bnr .go_in .in_l .txt{
	position: absolute;
	bottom: 18px;
	right: -12px;
	display: inline-block;
	padding: 10px 15px;
	color: #fff;
	background-color: #f2bc36;
	text-align: justify;
	letter-spacing: 0.15em;
	line-height: 1.7;
	font-size: 0.9em;
}
.go_bnr .go_in .in_l .txt span{
	font-size: 1.2em;
	display: block;
	text-align: justify;
	letter-spacing: 0.02em;
	line-height: 1.2;
}
.go_bnr .go_in .in_r{
	width: 52%;
}
.go_ttl{
	font-size: 1.4em;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}
.go_ttl span{
	font-size: 0.8em;
	display: block;
}
.go_info{
	font-size: 0.82em;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 15px;
}
.go_info dt{
	text-align: justify;
	text-align-last: justify;
	width: 60px;
	margin-right: 3%;
}
.go_info dd{
	width: calc(97% - 60px);
}
.go_map a{
	display: inline-block;
	padding: 5px 45px;
	letter-spacing: 0.05em;
	color: #fff;
	transition: all .3s;
	border-radius: 25px;
	background-color: #293745;
	font-size: 0.9em;
}
/*=========================================
			屋根工事　ABOT
		( page-about.php )
===========================================*/
.about-page-header {
	margin-bottom: 55px;
}
.about-page-header .about-page-hd-wrap {
	background-image: url(images/about_hd_bg.png);
	background-position: top;
}
.about-page-hd-wrap .about-hd-title h1::before {
	background-image: url(images/kawara_top.png);
	width: 66px;
	height: 66px;
}
.about-page-hd-wrap nav {
	margin-top: -60px;
}
.about-hd-nav {
	display: flex;
	background-color: #106ACD;
	margin-bottom: 60px;
}
.about-hd-nav li {
	padding: 30px 0px 30px 25px;
}
.about-hd-nav a {
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	background-color: #106ACD;
	border-radius: 7px;
	padding: 10px 20px 10px 10px;
}
.about-hd-nav a::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url(images/nav_btn.png);
	background-repeat: no-repeat;
	padding-right: 10px;
}
.about-hd-nav a:hover {
	color: #106ACD;
	opacity: 1;
	background-position: -100% 0;
}

.hover-action {
	background-image: linear-gradient(to right, rgba(0,0,0,0) 50%, #fff 50%);
	background-position: 0 0;
	background-size: 200% auto;
	transition: all .0s ease 0s;
	text-decoration: none;
}
a.on-page {
	background-color: #fff;
	color: #106ACD;
}

.about-header-subtitle,
.about-item-wrap {
	max-width: 950px;
	margin: 0 auto;
}
.about-header-subtitle .subtitle-box {
	background-color: #fff;
	border: solid 2px #112943;
	color: #112943;
	text-align: center;
	padding: 22px 0;
}
.about-header-subtitle h2 {
	font-size: 36px;
	line-height: 1.5;
}
.about-header-subtitle h3 {
	font-size: 22px;
}
.about-header-subtitle p {
	font-size: 16px;
	padding: 30px 0 60px;
}

/* about-item
----------------------------------------*/
.about-item-wrap {
	margin-bottom: 95px;
}
.about-item-wrap h2 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 27px;
	color: #fff;
	background: #112943;
	padding: 13.5px 22px;
	margin-bottom: 12px;
}
.about-item-wrap h2 span {
	display: block;
	position: relative;
	margin-right: 22px;
	width: 6px;
	height: 42px;
	background: #106ACD;
}
.about-item-wrap h3 {
	font-size: 27px;
	color: #112943;
	border: solid 2px #112943;
	padding: 11px 18px;
	margin-bottom: 22px;
}
.about-item {
	align-items: flex-start;
}
.about-item p {
	max-width: 531px;
	margin-bottom: 34px;
}
.about-item img {
	display: block;
}
.about-item-btn {
	display: block;
}
.about-item-btn a {
    display: block;
    font-size: 23px;
    font-weight: bold;
    color: #112943;
    text-align: center;
    border: solid 3.5px #112943;
    border-radius: 7px;
    width: 224px;
    padding-top: 2px;
    padding-right: 20px;
    height: 42px;
}
.about-item-btn span {
    display: block;
    position: relative;
    content: '';
    width: 19px;
    height: 19px;
    background-image: url(images/arrow_cat.png);
    background-repeat: no-repeat;
    right: -215px;
    top: -30px;
}
/* バナー */
.about-banner {
	margin-top: 80px;
	margin-bottom: 0;
}
.about-banner-wrap {
	padding: 80px 0;
}

/*=========================================
			施工事例　EXAMPLE	
	( archive-example.php & example-header )
===========================================*/

/* 施工事例　ヘッダー
----------------------------------------*/
.example-page-header {
	background-color: #F9F8F7;
	background-image: url(images/banner_bg.png);
}
.example-page-hd-wrap {
	background-image: url(images/example_page_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	color: #112943;
}
.example-hd-title {
	display: block;
	width: 528px;
	text-align: center;
	padding: 60px 0 145px;
}
.example-hd-title h1 {
	width: 100%;
	font-size: 62px;
	line-height: 1.55;
}
.example-hd-title h1::before {
	display: block;
	content: '';
	background-image: url(images/kawara_navy.png);
	background-repeat: no-repeat;
	width: 60px;
	height: 59px;
	position: relative;
	top: 79px;
	left: 55px;
}
.example-hd-title h2 {
	font-size: 24px;
	padding-top: 15px;
	border-top: solid 1px #112943;
}

.example-page-header .category-list {
	padding: 20px 0 45px;
    margin: 0 auto 50px;
}
.example-page-header .category-list li {
	height: 48px;
	margin-top: 12px;
}
.example-page-header .category-list a{
	padding: 5px 10px 15px 5px;
}
.example-page-header .category-list .arrow_cat {
    height: 22px;
    margin: -30px 5px 0 auto;
}
/* 記事 
----------------------------------------*/
.example-article-wrap {
	max-width: 816px;
	width: 816px;
}
a.prev {
	color: #000;
}
a.prev::before {
	content: '';
	width: 7px;
	height: 14px;
	display: inline-block;
	background-image: url(images/prev_archive.png);
	background-repeat: no-repeat;
	background-position: center center;
	padding-right: 15px;
}
.example-article-wrap .article-title {
	margin-top: 15px;
	border-bottom: solid 1px #112943;
}
.example-article-wrap .article-title h1 {
	font-size: 29px;
	max-width: 740px;
}
.new-post {
	font-size: 18px;
	color: #fff;
	background-color: #E76848;
	padding: 5px 10px 3px;
	border-radius: 5px;
	line-height: 1;
	margin-bottom: 10px;
}

.pv-count {
	font-size: 18px;
	text-align: right;
	margin-bottom: 10px;
}
.pv-count::before {
	content: '';
	display: inline-block;
	background-image: url(images/pv_icon.png);
	width: 33px;
	height: 23px;
	position: relative;
	right: 12px;
	top: 4px;
}

.article-meta {
	display: flex;
	justify-content: flex-end;
	font-size: 14px;
	padding: 10px 0 70px;
}

p.post-category.example-article-cat {
	padding: 28px 0;
	border-top: solid 1px #112943;
	border-bottom: solid 1px #112943;
	margin: 80px 0;
}
p.post-category.example-article-cat img {
	vertical-align: middle;
	margin-left: 25px;
	margin-top: -3px;
}
p.post-category.example-article-cat a {
	color: #000;
	margin: 0 10px;
}

/* 関連記事 */
.relation {
	clear: both;
}
.example-article-wrap .relation h2 {
	font-size: 27px;
	padding-left: 20px;
	border-left: solid 6px #106ACD;
	margin: 40px 0;
}
.relation-item .blog-item {
	width: 190px;
	height: 265px;
	margin-bottom: 0px;
}
.relation-item .example-inner {
    width: 187px;
    height: 120px;
    margin: 8px auto;
}
.relation-item .post-date {
    margin-left: 0px;
    padding-bottom: 0px;
}

/* SNSシェアボタン */
.sns {
    margin: 50px 0;
}

.sns-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.sns-item {
    margin: 0 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sns-item i {
    font-size: 40px;
    line-height: 1;
}

.sns-item:hover {
    
}

.sns-item.twitter a {
    color: #1DA1F2;
}

.sns-item.facebook a {
    color: #3C5A99;
}

.sns-item.line a {
    color: #00B900;
}

/* 一覧へ戻るボタン */
a.back-archive-btn {
	display: block;
	margin: 0 auto 107px;
	width: 418px;
}

/* ページャーCSS
---------------------------------------- */
.article-pagination {
	display: block;
	margin: 0 auto;
}
.screen-reader-text {
	display: none;
}
.page-numbers,
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0 80px;
    position: relative;
    font-size: 13px;
}
.page-numbers {
	margin: 0;
}
.pagination span, .pagination a {
    display: block;
    width: auto;
    margin: 4px;
    padding: 9px 12px;
    color: #000;
    border: 1px solid #bbb;
    background-color: #f5f5f5;
    text-decoration: none;
    text-align: center;
    line-height: 16px;
}

/* ページ番号 */
.pagination .pager{
    width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current  {
    color: #fff;
    border-color: #333;
    background-color: #333;
}

/* 前へ */
.pagination a.prev {
    margin-right: 4px;
}
/* 次へ */
.pagination a.next {
    margin-left: 4px;
}
/* 最初へ */
.pagination a.first {}
/* 最後へ */
.pagination a.last {}

/* Page x / y */
.pagination span.page_num {
    display: none;
}

/* サイドバー
----------------------------------------*/
.example-sidebar-wrap {
	max-width: 250px;
	width: 250px;
}
.sidebar-cat,
.sidebar-tag {
	margin-bottom: 70px;
}
.sidebar-cat h3,
.sidebar-tag h3 {
	font-size: 24px;
	margin-bottom: 25px;
	line-height: 1;
}
.sidebar-cat h3::before,
.sidebar-tag h3::before {
	content: '';
	display: inline-block;
	width: 25px;
	height: 5px;
	background-color: #106ACD;
	margin: 0 10px 5px 0px;
}
.sidebar-tag h3::before {
	background-color: #E76848;
}
.sidebar-cat-list a {
	font-size: 18px;
	color: #000;
}
.sidebar-cat-list a:hover {
	color: #106ACD;
	opacity: 0.8;
}
.sidebar-cat-list li {
	border-top: solid 1px #112943;
	line-height: 2.45;
}
/* タグ */
.sidebar-tag-list a {
	display: block;
	color: #000;
	width: 120px;
	text-align: center;
	padding: 1px 0 2px;
}
.sidebar-tag-list a:hover {
	color: #E76848;
	opacity: 1;
}
.sidebar-tag-list li {
	width: 120px;
	height: 30px;
	border: solid 1px #000;
	border-radius: 5px;
	margin-bottom: 7px;
}

/* 最近の投稿 */
.sidebar-new {
	margin-bottom: 80px;
}
.sidebar-new h3 {
	font-size: 20px;
	padding: 34px 0 17px;
	border-bottom: solid 1px #112943;
}
.sidebar-newpost {
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: center;
	padding: 17.3px 0px;
	border-bottom: solid 1px #112943;
}
.sidebar-newpost .title {
	line-height: 1.3;
}
.sidebar-newpost .title a {
	color: #000;
	font-weight: normal;
	white-space: normal;
	line-height: 1.2;
}
.sidebar-newpost img {
	min-width: 100px;
	width: 100px;
	height: 70px;
	object-fit: cover;
}
/*=========================================
			お客様の声　VOICE
		( archive-voice.php )
===========================================*/
#voice-page-hd-wrap {
	background: unset;
}
.voice-hd-bg {
	background-image: url(images/voice_hd_bg.png);
	background-position: right bottom;
	background-repeat: no-repeat;
}
div.voice-side-banner {
	margin-top: 0;
} 
.voice-hd-bg .voice-hd-title h1 {
	margin-left: 20px;
}
.voice-hd-bg .voice-hd-title h1::before {
	display: block;
	content: '';
	background-image: url(images/voice_icon.png);
	background-repeat: no-repeat;
	width: 68px;
	height: 69px;
	position: relative;
	top: 90px;
	left: 4px;
}

/*=========================================
			会社案内　COMPANY
			( page-company )
===========================================*/
.company-page-header .company-page-hd-wrap {
	background-image: url(images/company_hd_bg.png);
	background-position: top;
}
.company-page-hd-wrap .company-hd-title h1::before {
	background-image: url(images/yane_company.png);
	width: 92px;
	height: 48px;
	top: 75px;
	left: 30px;
}

.company-item-wrap {
	max-width: 958px;
	margin: 0 auto;
}
.company-item-wrap p {
	line-height: 1.75;
}
.rinen,
.rinen-pic {
	text-align: center;
}
.rinen {
	color: #112943;
}
.rinen .img {
	padding: 10px 0 5px;
}
.rinen h2 {
	font-size: 27px;
}
.rinen .border {
	padding: 20px 0 25px;
}
.rinen h3 {
	font-size: 36px;
}
.rinen h3 small {
	font-size: 0.8em;
}
.rinen p {
	font-size: 22px;
	font-weight: bold;
	margin: 20px 0 50px;
}
.rinen-pic {
	margin-top: 70px;
}
.company-aisatsu-wrap {
	max-width: 924px;
	padding: 50px 0 125px;
}
.aisatsu-wrap {
	padding-top: 10px;
}
.aisatsu-wrap p {
	padding-top: 35px;
	line-height: 1.75;
}
.shachou img {
	display: block;
}
.shachou-name {
	display: flex;
	justify-content: space-evenly;
	align-items: flex-end;
	margin-top: 10px;
}
.shachou-name p {
	line-height: 1.1;
}

.gaiyou .img {
	margin-top: 90px;
	padding: 10px 0 10px;
}
.gaiyou .border {
	padding: 20px 0 40px;
}

.table {
	margin: 0 auto 140px;
}
.td, .th {
	border: 1px solid #595959;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.34;
}
.tbody {
	display: block;
}

.th {
	vertical-align: middle;
	padding: 20px;
	width: 258px;
	background: #CFD4D9;
}
.td {
	text-align: start;
	padding: 20px 40px;
	width: 673px;
}

/* 現場調査について 
----------------------------------------*/
.subtitle-box h2 span,
.inspection-price p span {
	color: #E76848;
}
.feature-wrap {
	margin-top: 30px;
	margin-bottom: 100px;
}
.feature {
	margin-top: 30px;
	color: #112943;
}
.feature h3 {
	font-size: 36px;
	display: inline-block;
	padding: 0 7px;
}
.feature .yellow {
	background: linear-gradient(transparent 60%, yellow 60%);
	line-height: 1.2;
}
.feature p {
	font-weight: bold;
	margin: 20px 0 40px;
}

.inspection-price-wrap {
	background-color: #F3F4F5;
	border-top: solid 0.3px #112943; 
	border-bottom: solid 0.3px #112943;
}
.inspection-price-title {
	padding: 80px 0 85px;
	background-image: url(images/helmet.png);
	background-repeat: no-repeat;
	background-position: 90% 0%;
}
.inspection-price {
	text-align: center;
	color: #112943;
	margin-top: 30px;
}
.inspection-price p {
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 40px;
	line-height: 1.75;
}
.inspection-price p.small {
	font-size: 16px;
	margin-bottom: 50px;
}
.inspection-price .price {
	background-color: #fff;
	border: solid 4px #001464;
	width: 600px;
	height: 97px;
	margin: 0 auto;
}
.inspection-price h3 {
	font-size: 20px;
	color: #001464;
}
.inspection-price h3 span {
	color: #FF6217;
	font-size: 22px;
}
.inspection-price h3 span::before {
	content: '';
	display: inline-block;
	background-image: url(images/inspection_price.png);
	background-repeat: no-repeat;
	width: 110px;
	height: 30px;
	margin: 20px 0 -7px 20px;
}
.inspection-price p.small-red {
	margin-top: 10px;
	font-size: 15px;
	color: #B62213;
}
/* ドローン
----------------------------------------*/
.drone {
	color: #112943;
}
.drone .img {
	padding: 100px 0 20px;
}
.drone .border {
	padding: 20px 0;
}
.drone .table {
	margin: 25px auto 75px;
}
.drone p {
	font-size: 16px;
	margin: 10px 0 80px;
}
.merit h3, .demerit h3 {
	font-size: 27px;
}
/* テーブル */
.drone .td, .merit .th, .demerit .th {
	border: solid 2px #112943;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.7;
}
.merit .th {
	background-color: #E76848;
}
.demerit .th {
	background-color: #106ACD;
}
.drone .th {
	vertical-align: middle;
	padding: 0;
	width: 90px;
}
.drone .td {
	text-align: start;
	padding: 15px 35px;
	width: 868px;
}
.num {
	background-repeat: no-repeat;
	background-position: center center;
}
.drone .no-1 {
	background-image: url(images/drone_1.png);
}
.drone .no-2 {
	background-image: url(images/drone_2.png);
}
.drone .no-3 {
	background-image: url(images/drone_3.png);
}
.drone .no-4 {
	background-image: url(images/drone_4.png);
}
.drone .no-5 {
	background-image: url(images/drone_5.png);
}
/* お客様にとって最適なプランを提案
----------------------------------------*/
.plan .border {
	padding: 20px 0 25px;
}

.plan .text p {
	width: 600px;
	margin: 0 auto;
	font-size: 16px;
	font-weight: normal;
	text-align: left;
	line-height: 1.74;
	margin-bottom: 70px;
}
.plan .text {
	margin-bottom: 65px;
}

/* 屋根の応急処置
----------------------------------------*/
.first-aid p.notes {
	margin-bottom: 40px;
}
.first-aid .table {
	margin: 62px auto 25px;
}
.first-aid .td, .th {
	border: 1px solid #112943;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.34;
}
.first-aid .tbody,
.first-aid .thead {
	display: block;
}
.first-aid .thead th {
	font-size: 23px;
	font-weight: bold;
	border-bottom: none;
	background-color: #112943;
	color: #fff;
	padding: 13px;
}
.first-aid .thead th.c-1 {
	vertical-align: middle;
	border-right: 1px solid #fff;
	padding: 13px 20px;
	max-width: 435px;
	min-width: 435px;
}
.first-aid .tbody th.c-1 {
	vertical-align: middle;
	padding: 27.5px 30px;
	max-width: 415px;
	min-width: 415px;
}
.first-aid .thead th.c-2 {
	border-right: 1px solid #fff;
}
.first-aid .tbody .th {
	vertical-align: middle;
	text-align: left;
	padding: 20px;
	max-width: 237px;
	background: #F3F4F5;
	font-size: 28px;
	font-weight: bold;
	color: #112943;
}
.first-aid .tbody .th span {
	font-size: 20px;
	font-weight: normal;
	color: #112943;
}
.first-aid .tbody .th p {
	font-size: 16px;
	font-weight: normal;
	color: #112943;
	line-height: 1.5;
}
.first-aid .tbody .td {
	font-size: 28px;
	font-weight: bold;
	color: #E76848;
	letter-spacing: -0.02em;
	text-align: start;
	vertical-align: middle;
	padding: 10px;
}
.first-aid .tbody .th p.no-1 {
	margin-top: 20px;
}
.first-aid .tbody th.perapera {
	line-height: 2;
}
.first-aid .tbody .td p.price-mid {
	text-align: center;
}
.first-aid .tbody .td p.price {
	text-align: right;
}
.first-aid .tbody .td p.price-inline {
	display: inline-block;
}
.first-aid .tbody .td p.text {
	font-size: 19px;
	font-weight: normal;
	color: #000;
}
.first-aid .tbody .td p span.yen {
	font-size: 21px;
	vertical-align: middle;
	padding: 0 0 5px 3px;
}
.first-aid .tbody .td p.text span {
	font-size: 16px;
}
.first-aid .tbody .dot-bottom {
	border-bottom: dotted 1px #000;
	padding-bottom: 9px;
}
.first-aid .tbody .dot-top {
	border-top: none;
}
.first-aid .tbody .td span.floor {
	font-size: 21px;
	font-weight: normal;
	color: #fff;
	padding: 6px 12px;
	background-color: #112943;
	border-radius: 17px;
	margin-right: 12px;
}
.first-aid .tbody .td span.f3 {
	padding: 6px 22px;
}
.first-aid .tbody .td span.f1-3 {
	padding: 6px 6px;
}
.first-aid .tbody .th p.meter {
	font-size: 28px;
}
.first-aid .tbody .th .center {
	text-align: center;
	margin-top: 20px;
}

/* 10年保証
---------------------------------------- */
.ten-yr-wrap {
	margin-bottom: 70px;
}
p.center {
	text-align: center;
	margin-bottom: 90px;
}

.ten-yr h3 {
	font-size: 27px;
	color: #112943;
}
/* テーブル */
.ten-yr .table {
	margin: 10px auto 35px;
}
.ten-yr .tbody th.th,
.ten-yr .tbody td.td {
	font-size: 20px;
	text-align: center;
	width: 470px;
	padding: 18px;
	border: solid 2px #112943;
}
.ten-yr .tbody th.th {
	font-weight: bold;
}
.ten-yr p {
	margin: 80px 0 130px;
}


/*=========================================
			まるかさブログ　BLOG
			( archive-blog.php )
===========================================*/
/* ブログ一覧ページ */
.blog-page-hd-wrap {
	background-image: url(images/blog_hd_bg.png);
	margin-bottom: 70px;
}
.blog-hd-title {
	padding: 55px 0 140px;
}
.blog-hd-title h1 {
	margin-left: 40px;
}
.blog-hd-title h1::before {
	display: block;
	content: '';
	background-image: url(images/nezi.png);
	background-repeat: no-repeat;
	width: 68px;
	height: 69px;
	position: relative;
	top: 85px;
	left: -30px;
}
.blog-archive-item {
	align-items: center;
	padding: 22px 0;
	border-bottom: solid 1px #112943;
}
.blog-archive-item .inner {
	max-width: 505px;
	width: 505px;
}
.blog-archive-item .inner .title a {
	font-size: 22px;
	color: #000;
}
.blog-archive-item .inner p {
	font-size: 14px;
	color: #888;
	line-height: 1.4;
	margin: 10px 0 20px;
}

.blog-archive-item .inner .blog-archive-meta .new-post {
	margin-left: 10px;
}

/* サイドバーバナー */
.blog-side-banner {
	margin-top: 120px;
}
.blog-side-banner a img {
	margin-bottom: 10px;
}

/*=========================================
			お問い合わせ　CONTACT
			( page-contact.php )
===========================================*/
.contact-wrap {
	margin-bottom: 70px;
}
.contact-page-hd-wrap {
	background-image: url(images/contact_hd_bg.png);
}
.contact-hd-title h1::before {
	display: block;
	content: '';
	background-image: url(images/contact_icon.png);
	background-repeat: no-repeat;
	width: 60px;
	height: 59px;
	position: relative;
	top: 76px;
	left: 17px;
}
.contact-hd-bottom {
 	color: #000;
}
.contact-hd-bottom p {
	font-size: 16px;
	padding: 80px 0 80px;
}
.center, .contact-hd-bottom h3 {
	text-align: center;
}
.contact-hd-bottom h3 {
	font-size: 20px;
	margin-top: 5px;
	padding-bottom: 105px;
}

/* 問い合わせフォーム
----------------------------------------*/
.contact-msg {
    margin: 40px auto;
    text-align: center;
    color: #000;
}
.contact-msg h3 {
	font-size: 24px;
	padding: 20px 0 25px;
}
.mw_wp_form,
.mw_wp_form_input {
	max-width: 876px;
	display: block;
	position: relative;
	margin: 0 auto;
}

.mw_wp_form div {
	display: flex;
}

.mw_wp_form input {
	display: block;
}

.mw_wp_form p {
	display: block;
	font-size: 15px;
	font-weight: bold;
	color: #000;
	white-space: nowrap;
}

.mwform-checkbox-field input,
.mwform-radio-field label input {
	display: inline-block;
	margin: 0;
}
/*==必須項目CSS==*/
.name .form-item::after,
.ruby .form-item::after,
.email .form-item::after {
	font-size: 13px;
	display: inline-block;
	content: "※必須";
	color: #fff;
	font-weight: bold;
	padding: 1.5px 5px;
	background: #106ACD;
	border-radius: 5px;
	position: relative;
	right: 0px;
	white-space: nowrap;
}

.name .form-item,
.ruby .form-item,
.email .form-item {
	width: 175px;
	border-top: solid 0.3px #000;
	margin-right: 26px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.name p,
.ruby p,
.email p {
	width: 675px; 
	padding: 16px 0;
	border-top: solid 0.3px #000;
}

.name input,
.ruby input,
.email input {
	width: 292px;
	padding: 7.5px 0;
}

/*==郵便番号、住所、電話CSS==*/

.postal-code .form-item,
.address .form-item,
.tel .form-item,
.message .form-item{
	width: 175px;
	/*padding: 27px 0;*/
	border-top: solid 0.3px #000;
	margin-right: 26px;
}

.postal-code p,
.address p,
.tel p {
	width: 675px; 
	padding: 16px 0;
	border-top: solid 0.3px #000;
}

.postal-code input,
.tel input {
	width: 222px;
	padding: 7.5px 0;
}
.address input {
	width: 585px;
	padding: 7.5px 0;
}

/*======= 問い合わせ内容 & エントリー内容CSS =======*/
#entry {
	margin-bottom: 65px;
}
.mw_wp_form .message {
	align-items: flex-start;
}
.message .form-item{
	width: 175px;
	padding: 23px 0 0;
	border-top: solid 0.3px #000;
	border-bottom: none;
	margin-right: 26px;
	line-height: 1.7;
}
.message2 .form-item{
	width: 175px;
	padding: 23px 0 152px;
	border-top: solid 0.3px #000;
	border-bottom: solid 0.3px #000;
	margin-right: 26px;
	line-height: 1.7;
}
.message p {
	width: 675px;
	padding-top: 18px;
	border-top: solid 0.3px #000;
}
.message2 p {
	width: 675px;
	padding-top: 18px;
	border-top: none;
}
.message textarea {
	width: 559px;
	height: 206px;
}

/*===確認・送信ボタン===*/
input.c-button{
	-webkit-appearance: none;
	display: block;
	position: relative;
	margin: 60px auto 20px;
	font-size: 20px;
	font-weight: bold;
	padding: 26px 105px;
	background: #106ACD;
	color: #fff;
}
a.privacy-btn {
	max-width: 315px;
	display: block;
	margin: 0 auto 100px;
}

/*=========================================
			採用情報　RECRUIT
			( page-recruit.php )
===========================================*/
.recruit {
	background-color: #F9F8F7;
	background-image: url(images/banner_bg.png);
}
.recruit-hd-title {
	margin: 0 auto;
	padding-bottom: 100px;
}
.recruit-inner {
	text-align: center;
}
.recruit-inner a img {
	padding: 75px 0 50px;
}
.bottom-img {
	padding: 80px 0 70px;
}

/*=========================================
			個人情報　PRIVACY
			( page-privacy.php )
===========================================*/
.privacy {
	margin-bottom: 100px;
}
.privacy-hd-title h1::before {
	background-image: unset;
}
.privacy-hd-title {
	padding-bottom: 40px;
}
.privacy-item-wrap {
    margin-bottom: 60px;
}
.privacy-item-wrap h2 {
	margin-bottom: 40px;
}

/*====================================================================
-------------------レスポンシブCSS---------------------
====================================================================*/
.sticky {
    display: none;
}
input, select {
    vertical-align: middle;
    display: none;
}
#drawer-checkbox {
	display: none;
}
/*ハンバーガーCSS*/
#drawer-icon {
	cursor: pointer;
	padding: 10px 15px;
	display: block;
	position: relative;
	top: 0px;
	height: 28px;
	width: 34px;
	z-index: 100;
	text-align: center;
}
#drawer-icon span,
#drawer-icon span::before,
#drawer-icon span::after {
	-webkit-transform: rotate(0);
	content: "";
	background:  #112943;
	display: block;
	height: 4px;
	width: 31px;
	position: relative;
	transition: all 0.3s ease-in-out;
	border: solid 1.5px #112943;
	border-radius: 3px;
}
#drawer-icon span::before {
	margin-top: 8.5px;
	margin-left: -1.5px;
}
#drawer-icon span::after {
	margin-top: 3px;
	margin-left: -1.5px;
}
/*チェック時のCSS*/
#drawer-checkbox:checked ~ #drawer-icon span {
	background: rgba(0, 0, 0, 0);
	border-color: rgba(0, 0, 0, 0);
}
#drawer-checkbox:checked ~ #drawer-icon span::before,
#drawer-checkbox:checked ~ #drawer-icon span::after {
	content: "";
	display: block;
	background: #fff;
	cursor: pointer;
	z-index: 41;
	transition: 0.15s;
	border: solid 1.5px #fff;
}
#drawer-checkbox:checked ~ #drawer-icon span::before {
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	margin-bottom: -10px;
}
#drawer-checkbox:checked ~ #drawer-icon span::after {
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
	margin-bottom: -10px;
}
#drawer-checkbox:checked ~ #drawer-icon{

}
/*ハンバーガーチェック時に出てくるメニューCSS*/
#drawer-content {
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 40;
	width: 240px;
	max-width: 90%;
	height: 100%;
	background: #fff;
	transition: all 0.38s cubic-bezier(1, 0, 0, 1) 0s;
	transform: translateX(100%);
}
#drawer-checkbox:checked ~ #drawer-content {
	transform: translateX(0);
}
#g_menu ul{
	display: block;
	list-style: none;
}
#g_menu li {
	font-size: 0.88rem;
	display: block;
}
#g_menu li a:hover{
	background: #1A4069;
	color: #fff;
	opacity: 0.7;
}
#g_menu h2 {
	padding: 0.9rem 0.5rem;
	color: #fff;
	font-size: 0.7rem;
	background: #1A4069;
}
#g_menu li a {
	color: #fff;
	padding: 14px 10px;
	display: block;
	border-bottom: 1px solid #112943;
}
#g_menu {
	height: 100%;
	width: 240px;
	background: #1A4069;
	transition: right 0.15s;
	position: fixed;
	top: 0;
}
/*アコーディオンCSS*/
.acd-check{
	display: none;
}
.acd-label{
    color: #fff;
    font-size: 0.88rem;
    display: flex;
    justify-content: space-between;
    padding: 14px 8px;
    border-bottom: 1px solid #112943;
}
.acd-label a {
	color: #fff;
}
.acd-label::after{
	content: '\f0fe';
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	padding-right: 15px;
}
.acd-label:hover{
	background: #b0c4de;
	color: #fff;
	opacity: 0.7;
	cursor: pointer;
}
.acd-content{
	height: 0;
	opacity: 0;
	transition: .15s;
	visibility: hidden;
}
.acd-check:checked + .acd-label + .acd-content{
	height: 105px;
	opacity: 1;
	visibility: visible;
}
.acd-check:checked + .acd-label::after{
	content: '\f146';
}

/*タブレット*/
@media screen and (max-width: 1024px){
	/*
	*	ひとまず現時点で
	*	大きな崩れを治すためのCSS
	*/
	.sticky-bg {
		max-width: 100vw;
	}
	.flex-nav {
		max-width: 97vw;
	}
	.flex-nav li {
    margin-left: 25px;
	}
	/*.cover-video {
		max-width: 90vw;
	}*/
	.header-post,
	.top_header_btn {
		margin-left: 6%;
	}
	.header-post a img {
		min-width: 50px;
	}
	.slick-list {
		margin-right: 0px;
	}
	.fixed-footer-right {
		display: none;
	}
	.contents-wrap {
		width: calc( 100vw - 40px );
	}
	.right-wrap {
	    width: 300px;
	}
	.left-wrap {
	    width: 580px;
	}
	.promise-wrap {
		width: 316px;
	}
	.top-contact-left {
		display: block;
		background-size: 80%;
		background-repeat: no-repeat;
		background-position-y: bottom;
	}
	.top-contact-left-item-right {
	    padding: 27px 40px 0px 280px;
	}
	.example-sidebar-wrap {
	    max-width: calc(100vw - 40px);
	    width: calc(100vw - 40px);
	    display: flex;
	    justify-content: space-around;
	    white-space: nowrap;
	}
	.sidebar-cat,
	.sidebar-tag,
	.sidebar-new {
		width: 250px;
	}
	.sidebar-new h3 {
		padding-top: 0;
	}
	.blog-side-banner {
	    margin-top: 0px;
	    width: 250px;
	    display: flex;
		flex-direction: column;
	}
	div.voice-side-banner {
	    width: calc( 100vw - 40px );
	    max-width: calc( 100vw - 40px );
	    display: flex;
	    justify-content: space-between;
	    flex-direction: row;
	    align-items: center;
	    height: 100%;
	}
	.banner {
		background-repeat: repeat;
	}
}

/*スマホ横*/
@media screen and (max-width: 896px) {
	.company-item-wrap,
	.example-article-wrap,
	.contents-wrap,
	.about-header-subtitle, .about-item-wrap {
	    width: calc( 100vw - 80px );
	}
	#header {
		padding-bottom: 36px;
	}
	.header .header-logo {
	    margin-top: -6px;
	    width: 15%;
	    min-width: 100px;
	}
	.header h3 {
	    font-size: 10px;
	    margin-right: 0px;
	}
	.header-tel {
		width: 30%;
		min-width: 200px;
	}
	.cover-video-img,
	.top_header_btn,
	.header-post {
		width: 80%;
		height: auto;
		margin-left: 0;
	}
	
	.top_header_btn img.no1,
	.top_header_btn img.no2,
	.top_header_btn img.no3,
	.top_header_btn img.no4 {
		width: 90%;
		height: auto;
	}
	.sticky-nav {
		margin-top: -40px;
	}
	.flex-nav {
		justify-content: center;
	}
	.flex-nav li {
		font-size: 14px;
		margin-left: 20px;
	}
	.left-wrap a {
		margin: 0 auto;
		display: block;
		width: 418px;
	}
	.top-about-img {
	    margin-top: 60px;
	}
	.right-wrap {
		margin-top: 0px;
	    width: calc(100vw - 120px);
	}
	.right-wrap p {
	    font-size: 16px;
	    margin: 10px 20px 20px;
	    line-height: 1.5;
	}
	.right-wrap img {
		display: block;
		margin: 0 auto;
	}
	.right-wrap h5 {
		margin-left: 0;
		text-align: center;
	}
	.example-hd-left h2,
	.example-hd-right h2 {
		font-size: 23px;
	}
	.example-hd-right {
	    padding: 0;
	}

	.example-item {
	    width: 200px;
	    height: 320px;
	}
	.example-item a img, .blog-item a img {
		height: 140px;
	}
	.example-inner {
    	width: 190px;
    }
    .example-title a {
    	font-size: 16px;
    }
    .ex-cat-wrap {
    	margin-bottom: 0;
    }
	.example-cat {
		margin-top: -7px;
	}
	.example-cat a {
		font-size: 12px;
		width: 90px;
	}

	.top-voice-wrap {
		font-size: 21px;
	}
	#top-voice {
		padding-top: 30px;
	}
	.top-voice-wrap h3 {
		top: 11px;
		left: 31px;
	}
	.top-voice-wrap img {
		width: 30%;
	}
	.banner-wrap>.flex-box {
		flex-direction: column;
	}
	.promise-header img {
		width: 70px;
	}
	.promise-header h3 {
		font-size: 21px;
	}
	.promise-wrap {
		width: auto;
		margin-bottom: 40px;
	}
	.promise-wrap .responsive {
		display: flex;
	}
	.promise-wrap .responsive img {
		flex-shrink: 0;
	}
	.top-contact-left {
		display: block;
		background-size: 80%;
		background-repeat: no-repeat;
		background-position-y: bottom;
	}
	.top-contact-left h2 {
		padding-right: 180px;
	}
	.top-contact-left-item-right {
	    padding: 27px 0px 0px 40px;
	}
	.top-contact-left-item-right h4 {
		font-size: 16px;
	}
	.top-contact-left-item-right img {
		width: 300px;
	}
	.about-item p {
		max-width: 100%;
	}
	.about-item-btn {
	    display: block;
	    margin: 0 auto 40px;
	    width: 250px;
	}
	.about-header-subtitle h3 {
		padding: 0 20px;
	}
	.voice-hd-bg {
		background-size: 60%;
	}
	.shachou {
		margin-top: 60px;
	}
	.inspection-price-title {
		background-size: 320px;
	}
	.blog-hd-title {
	    padding: 30px 0 80px;
	}
	.blog-page-hd-wrap {
		background-image: url(images/blog_hd_bg_responsive.png);
		background-size: cover;
		background-position-x: 75%; 
	}
	.blog-archive-item .inner {
		max-width: 440px;
	}
	a.blog-thumbnail img {
		width: 220px;
		height: auto;
	} 
	.contact-page-hd-wrap {
		background-position-x: 70%; 
	}
	.contact-wrap input,
	.contact-wrap textarea {
		width: auto;
	}
	.postal-code .form-item, .address .form-item, .tel .form-item, .message .form-item,
	.name .form-item, .ruby .form-item, .email .form-item {
    	width: 220px;
    }
    #video {
		object-fit: cover;
	}
}

/*微妙なサイズの時対策*/
@media screen and (max-width: 750px){
	#header {
		padding-bottom: 40px;
	}
	.flex-nav li {
		font-size: 12px;
	}
	.go_ttl{
		font-size: 1.3em;
	}
}

@media screen and (max-width: 700px){
	.header h3 {
		display: none;
	}
}

/*スマホ縦*/
@media screen and (max-width: 680px){
	.acd-label:hover {
	    background-color: #1A4069;
	    opacity: 1;
	}
	.cover-video-img {
		width: 90%;
		transform: translate(-50%,25vw);
	}
	.top-btn-company,
	.company-item-wrap, .example-article-wrap,
	.contents-wrap, .about-header-subtitle,
	.about-item-wrap, .left-wrap {
	    width: calc( 100vw - 40px );
	}
	.header h3,
	.sticky-nav {
		display: none;
	}
	.sticky-bg {
		z-index: 99;
	}
	.sticky{
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: calc(100vw - 15px);
		position: fixed;
		top: 0;
		padding: 0 0 0 15px;
		opacity: 0.9;
		z-index: 110;
	}
	.sticky h2{
		font-size: 10px;
		line-height: 1.35;
	}
	.video-wrap {
		height: auto;
		min-height: auto;
		line-height: 0.8;
	}
	#video {
		min-height: 100vw;
		object-fit: cover;
	}
	#header {
		background-repeat: repeat;
		padding-bottom: 0px;
	}
	.header {
		align-items: center;
	    padding-top: 60px;
	}
	.header .header-logo {
		min-width: 120px;
		margin: 0 0 10px;
	}
	.header-post {
		width: 90%;
		height: 50px;
		bottom: 0;
		top: 63vw;
	}
	.header-post p {
		display: block;
		position: absolute;
		top: 12px;
		font-size: 9px;
		margin-left: 15px;
	}
	.header-post-date {
		margin-left: 10px;
	}
	.header-post a {
		font-size: 12px;
		margin-left: 15px;
	}
	.header-post a span {
		margin-top: 12px;
	}
	.header-post a img {
	    min-width: 20px;
	    height: 52px;
	    object-fit: contain;
	}
	.top-about-img,
	.top_header_btn,
	.top-header-bottom-wrap,
	.top-example-wrap p {
		display: none;
	}
	.top-about {
		margin: 5px 0 40px;
	}
	.sp-banner {
		display: grid;
		gap: 10px;
		grid-template-columns: repeat(2,1fr);
		margin-top: 20px;
		margin-bottom: 45px;
	}
	.left-wrap h1 {
	    font-size: 27px;
	}
	.left-wrap h2 {
	    font-size: 18px;
	}
	.right-wrap, #top-voice a {
	    width: calc(100vw - 80px);
	}
	.left-wrap a,
	a.back-archive-btn {
		width: auto;
	}
	.left-wrap a,
	.top-btn,
	.top-btn-company {
		text-align: center;
	}
	.example-hd-wrap {
		height: 140px;
	}
	.example-hd-left h2 {
		width: 150px;
		font-size: 18px;
		line-height: 1.4;
	}
	.example-hd-right {
		padding-left: 30px;
	}
	.example-hd-right h2 {
		font-size: 16px;
		line-height: 1.4;
	}
	.example-hd-left h2::before {
		background-size: contain;
		max-width: 40px;
		height: 40px;
		margin-bottom: 5px;
		background-image: url(images/sp_kawara.png);
	}
	.example-hd-left h2::after {
		background-color: #102436;
	}
	.company-hd-left h2::before {
		max-width: 60px;
		height: 40px;
	}
	.company-wrap h2 {
		font-size: 20px;
		line-height: 1.4;
		padding: 30px 0;
	}
	.promise-wrap .responsive,
	.top-voice-wrap {
		flex-direction: column;
		align-items: flex-start;
	}
	.top-voice-wrap :nth-child(2) {
		order: 3;
	}
	.top-voice-wrap h2 {
	    position: relative;
	    top: 20px;
	    left: 20px;
	}
	.top-voice-wrap h3 {
	    top: -43px;
	    left: 15px;
	}
	.top-voice-wrap img {
		width: 50%;
	    position: relative;
	    left: 50%;
	    top: -92px;
	}
	#top-voice p {
	    padding: 0px 30px 20px;
	}
	.banner-wrap {
		padding: 40px 0;
	}
	.banner-wrap h2 {
		font-size: 23px;
		margin: 35px 0;
	}
	.promise-wrap .responsive img {
	    height: 100%;
	}
	.top-contact-left h2 {
		padding: 20px;
	}
	.top-contact-left-item-right {
	    padding: 0px 20px 20px;
	}
	.my-facebook {
		margin-top: 40px;
	}
	.my-facebook,
	.my-facebook iframe {
		max-width: calc(100vw - 40px);
		min-width: calc(100vw - 40px);
		width: auto;
	}
	.google-map {
		height: 200px;
	}
	.footer-text p {
		font-size: 14px;
	}
	.copyright p {
		font-size: 11px;
	}
	.fixed-footer-left {
		height: 40px;
	}
	.fixed-footer-left h4 {
		font-size: 10px;
		white-space: nowrap;
	}
	.fixed-footer-left h4::after {
		content: '\f057';
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		font-size: 16px;
		position: absolute;
		top: 12px;
		right: 23px;
	}
	.fixed-contact {
		display: none;
	}
	#page_top {
		right: 3%;
		bottom: 10%;
	}
	#page_top a {
		width: 40px;
		height: 40px;
		background-size: contain;
	}
	/* 屋根工事 */
	.about-page-header .about-page-hd-wrap {
		background-size: 160%;
		background-position-x: 50%;
	}
	.example-page-hd-wrap {
		background-size: 150%;
		background-position-x: 50%;
	}
	.contact-page-hd-wrap {
		background-image: url(images/sp_contact_hd_bg.png);
		background-size: 130%;
		background-position-x: 100%;
	}
	.blog-page-hd-wrap {
		background-image: url(images/kasamaru.png);
		background-repeat: no-repeat;
		background-size: 90px;
		background-position-x: 95%;
		background-position-y: 4%;
	}
	.example-hd-title {
		width: 55%;
		padding: 20px 0;
		text-align: left;
	}
	.sp-blog-hd {
		width: 100%;
	}
	.contact-hd-title {
		width: 75%;
	}
	.voice-hd-bg .voice-hd-title h1,
	.example-hd-title h1 {
		font-size: 32px;
		margin-left: 45px;
	}

	.blog-page-hd-wrap .sp-blog-hd h1 {
		letter-spacing: -0.12em;
		margin-left: 38px;
		width: auto;
	}
	.contact-hd-title h1 {
		margin-left: 38px;
	}
	.about-page-hd-wrap .about-hd-title h1::before,
	.example-hd-title h1::before,
	.voice-hd-bg .voice-hd-title h1::before {
		position: absolute;
		width: 35px;
		height: 35px;
		background-size: contain;
		background-position: center center;
		top: 265px;
		left: 20px;
	}
	.company-page-hd-wrap .company-hd-title h1::before {
		top: 268px;
		width: 40px;
	}
	.example-hd-title h2 {
		font-size: 15px;
		padding: 5px 0;
		line-height: 1.4;
	}
	.voice-hd-title h2 {

	}
	.sp-blog-hd h2 {
		text-align: center;
	}
	.sp-blog-hd::after {
		content: '';
		display: block;
		background-image: url(images/mamoritai.png);
		background-size: contain;
		width: 90vw;
		height: 30vw;
		background-repeat: no-repeat;
		margin: 0 auto;
	}
	.voice-hd-bg {
		background: unset;
	}
	#voice-page-hd-wrap {
		background-image: url(images/sp_voice_hd_bg.png);
		background-size: 47%;
		background-position: right bottom;
		background-position-x: right;
		background-repeat: no-repeat;
	}
	.about-page-hd-wrap nav {
	    margin-top: 5px;
	}
	.about-hd-nav {
		flex-direction: column;
		padding-top: 5px;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.about-hd-nav li {
	    padding: 5px 10px;
	    line-height: 1;
	}
	.about-hd-nav a::before {
		width: 16px;
		height: 16px;
		background-size: contain;
		margin-bottom: -1px;
	}
	.about-hd-nav a {
		font-size: 16px;
		padding: 7px 13px 7px 10px;
	}
	.about-header-subtitle h2 {
		font-size: 24px;
	}
	.about-header-subtitle h3 {
		font-size: 16px;
	}
	.about-item-wrap h2 {
		font-size: 20px;
	}
	.about-item-wrap h2 span {
		width: 5px;
		height: 32px;
	}
	.about-item-wrap h3 {
		font-size: 18px;
		line-height: 1.4;
	}
	.first-aid .table {
		margin-top: 20px;
	}
	.first-aid .thead th,
	.first-aid .tbody .th p,
	.first-aid .tbody .td p.text,
	.first-aid .tbody .td p.text span {
	    font-size: 14px;
	}
	.first-aid .thead th.c-1,
	.first-aid .tbody th.c-1 {
		min-width: calc((100vw - 40px) / 3);
		padding: 25px 20px;
		width: calc((100vw - 40px) / 3);
	}
	.first-aid .tbody .th,
	.first-aid .tbody .td {
	    font-size: 18px;
	    max-width: calc((100vw - 40px) / 3);
		width: calc((100vw - 40px) / 3);
	}
	.first-aid .tbody .th span,
	.first-aid .tbody .td p span.yen {
	    font-size: 16px;
	}
	.first-aid .tbody .td span.floor {
	    font-size: 12px;
	}
	.first-aid .tbody .td span.f3 {
	    padding: 6px 16px;
	}
	.first-aid .tbody .td p.price,
	.first-aid .tbody .td p.price-mid,
	.first-aid .tbody .td p.price-inline {
		padding-top: 5px;
		line-height: 1.2;
	}
	.example-article-wrap {
		margin: 0 auto;
	}
	.example-sidebar-wrap,
	.voice-wrap {
		flex-direction: column;
		align-items: center;
	}
	.example-item {
		width: 100%;
		height: auto;
	}
	.example-item a img, .blog-item a img {
		width: 100%;
		height: 180px;
	}
	.example-inner {
	    width: 90%;
	}
	.example-cat a {
	    font-size: 16px;
	    width: 48%;
	}
	.pagination span, .pagination a {
		margin: 3px;
		padding: 7px 10px;
	}
	p.post-category.example-article-cat {
		font-size: 12px;
	}
	.relation-item {
		display: grid;
		grid-template-columns: repeat(2,minmax(100px,160px));
		gap: 20px;
	}
	.relation-item .blog-item,
	.relation-item .example-inner {
	    width: auto;
	    height: auto;
	}
	.blog-wrap {
		margin-top: -60px;
	}
	.blog-archive-item .inner,
	a.blog-thumbnail img {
	    max-width: calc((100vw - 40px) / 2);
	}
	.blog-archive-item .inner .title a {
		font-size: 18px;
	}
	.blog-archive-item .inner p,
	.blog-archive-meta,
	.pv-count {
    	font-size: 11px;
    	margin: 5px 0;
    }
    .blog-archive-meta {
    	/*margin: 5px 0 5px -18px;*/
    	margin: 5px 0 5px -4px;
    	max-width: calc((100vw - 40px) / 2);
    }
    .blog-archive-meta .post-author {
    	display: none;
    }
    .blog-archive-meta .post-date {
    	margin-left: 0;
    }
    .new-pv {
    	display: flex;
    }
    .new-post {
    	margin: 5px 10px 10px 0px;
		font-size: 11px;
    }
    .blog-archive-item .inner .blog-archive-meta .new-post {
	    margin-left: 5px;
	    font-size: 8px;
	    padding: 2px 4px;
	}
    .pv-count::before {
    	margin-left: 10px;
    	width: 13px;
    	height: 13px;
    	background-repeat: no-repeat;
    	background-size: contain;
    }
    .voice-article-wrap {
    	margin-top: -40px;
    }
    .voice-wrap {
    	padding: 0;
		margin: 20px auto;
    }
    div.voice-side-banner {
    	flex-direction: column;
    }
    .example-article-wrap .article-title {
    	justify-content: flex-start;
    	flex-direction: column;
    }
    .rinen p {
    	font-size: 18px;
    	line-height: 1.4;
    }
   .ten-yr .tbody th.th {
		font-size: 16px;
   }
   .ten-yr .tbody td.td {
		font-size: 14px;
   }
   .feature h3 {
	    font-size: 28px;
	}
   .inspection-price {
		width: calc(100vw - 40px);
		margin: 0 auto;
   }
   table {
		max-width: calc(100vw - 40px);
		word-break: break-all;
   }
   .inspection-price .price,
   .plan .text p {
		width: calc(100vw - 40px);
   }
   .drone .th {
		width: 200px;
		background-size: 70%;
   }
   .sidebar-cat, .sidebar-tag, .sidebar-new {
	    width: calc(100vw - 40px);
	}
	.mw_wp_form div {
		flex-direction: column;
	}
	.name p, .ruby p, .email p,
	.postal-code p, .address p, .tel p,
	.message p {
		width: auto;
		padding: 8px 0 0;
		border-top: none;
	}
	.postal-code .form-item,
	.address .form-item, .tel .form-item,
	.message .form-item, .name .form-item,
	.ruby .form-item, .email .form-item {
	    width: auto;
	    border-top: none;
	}
	.top-btn, 
	textarea.message {
		max-width: calc(100vw - 40px);
		width: auto;
	}
	.left-wrap p {
		margin-bottom: 40px;
	}
	.sp-nav {
		display: block;
		border-top: solid 0.5px rgba(15,36,55,0.5);
		border-bottom: solid 0.5px rgba(15,36,55,0.5);
	}
	.sp-nav-wrap {
		max-width: calc(100vw - 30px);
		justify-content: space-around;
		margin: 0 auto;
	}
	.sp-nav2 {
		border-top: none;
	}
	.sp-nav li a {
		text-align: center;
		font-size: 1.05rem;
		font-weight: bold;
		color: #000;
	}
	.sp-nav li {
		padding: 10px 0;
	}
	.sp-nav li:nth-child(odd) {
		max-width: 30vw;
		width: 30vw;
		text-align: center;
		white-space: nowrap;
	}
	.sp-nav li:nth-child(even) {
		border-left: solid 0.5px rgba(15,36,55,0.5);
	}
	.sp_top_header_btn {
		display: block;
		position: absolute;
		z-index: 3;
		top: 60vw;
		width: 100vw;
	}
	.sp_top_header_btn-wrap {
		display: flex;
		justify-content: center;
		max-width: calc(100vw - 40px);
		margin: 0 auto;
		flex-wrap: nowrap;
	}
	.sp_top_header_btn-wrap a {
		margin: 0 3px;
	}
	/*aboutアコーディオンCSS*/
	.about-acd-check{
		display: none;
	}
	.about-acd-label{
	    display: block;
	    width: auto;
	    margin: -40px 0 30px;
	}
	.about-acd-label::after{
		content: '';
	}
	.about-acd-label:hover{
		opacity: 0.7;
		transition: 0.3s;
		cursor: pointer;
	}
	.about-acd-content{
		height: 0;
		opacity: 0;
		transition: 0.7s;
		visibility: hidden;
	}
	.about-acd-check:checked + .about-acd-label + .about-acd-content{
		height: auto;
		opacity: 1;
		transition: 0.7s;
		visibility: visible;
	}
	.about-acd-check:checked + .about-acd-label::after{
		content: '';
	}
	.example-header {
		background-color: #fff;
		color: #102436;
		background-image: url(images/blog_bg.png);
		background-repeat: repeat;
		margin-bottom: 0;
	}
	#about01,
	#rinen,
	.company-item-wrap {
		margin-top: 40px;
	}
	.about-header-subtitle p {
		padding-bottom: 40px;
	}
	.sp-example-wrap {
		background-image: url(images/blog_bg.png);
		background-repeat: repeat;
		padding-bottom: 25px;
	}
	.example-page-header .top-example-wrap {
		margin: 20px auto;
	}
	.example-page-header .top-example-wrap,
	.top-example-wrap {
		width: calc(100vw - 10px);
	}
	.example-page-header .category-list,
	.category-list {
		background-color: #1A6DCA;
		margin: 0;
		padding: 8px 10px 13px;
		border-radius: 8px;
	}
	.category-list::before {
		content: '屋根工事カテゴリー';
		font-size: 16px;
		display: block;
		text-align: center;
		width: calc(100vw - 10px);
		color: #fff;
		font-weight: bold;
	}
	.example-page-header .category-list li,
	.category-list li {
		width: 43vw;
		height: 7vw;
		margin-top: 5px;
		display: flex;
		justify-content: center;
		border: none;
		border-radius: 5px;
	}
	.example-page-header .category-list a,
	.category-list a {
		width: calc(42vw - 30px);
		font-size: 16px;
		padding: 0 0 0px;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.category-list a::before {
		content: '';
		display: block;
	}
	.example-page-header .category-list .arrow_cat,
	.category-list .arrow_cat {
		margin: 0;
		width: 15px;
		height: 15px;
		background-size: contain;
	}
	.company-hd-left h2::after {
		background-color: #fff;
	}
	.top-example-wrap {
		margin-bottom: 40px;
	}
	.top-example-post .example-item {
		width: 43vw;
	}
	.sp-top-example-post .example-item {
		width: 43vw;
		margin: 0 calc(100vw - (100vw - 40px));/*合わせるslick調整*/
		background-color: #fff;
	}
	.example-title {
	    padding: 0 10px;
	}
	.slick-slide {
	    margin-right: 0;
	}
	.slick-dots {
		position: relative;
		bottom: -18px;
	}
	.slick-dots::before {
		content: '\f104';
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
		font-size: 23px;
		position: absolute;
		top: 1px;
		left: 35px;
	}
	.slick-dots::after {
		content: '\f105';
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
		font-size: 23px;
		position: absolute;
		top: 1px;
		right: 35px;
	}
	.slick-dots li {
		margin: 0 2px;
	}
	.slick-dots li button::before {
		font-size: 12px;
	}
	.slick-dots li.slick-active button::before {
		color: #E76848;
	}
	.fixed-footer-left a img {
	    max-width: 40vw;
	}
	.top-blog-title {
		margin-bottom: 20px;
		padding-top: 30px;
	}
	.top-blog-title::before {
		content: '';
		display: block;
		background-image: url(images/nezi.png);
		background-repeat: no-repeat;
		background-size: contain;
		width: 38px;
		height: 38px;
		position: relative;
		top: 35px;
		left: 45px;
		margin-top: -38px;
	}
	.example-article-wrap .article-title h1 {
		line-height: 1.4;
	}
	.blog-bg {
		height: auto;
		background-repeat: repeat;
		padding-bottom: 35px;
	}
	#sp-blog-btn {
		display: block;
	}
	#top-voice {
		margin-top: 50px;
	}
	.relation-item .example-title,
	.relation-item .post-date {
		padding-left: 10px;
	}
	.blog-content,
	.post-date {
		margin-left: 20px;
	}
	.contact-hd-bottom p {
		padding: 30px 0;
	}
	.contact-hd-bottom h3 {
		padding-bottom: 25px;
	}
	.recruit-hd-title {
		margin: 0;
	}
	.recruit-inner a img {
		padding: 40px 0;
	}
	.bottom-img {
		padding: 30px 0;
	}
	.name .form-item, .ruby .form-item, .email .form-item,
	.postal-code .form-item, .address .form-item, .tel .form-item, .message .form-item, .name .form-item, .ruby .form-item, .email .form-item,
	.contact-wrap input, .contact-wrap textarea {
		max-width: calc(100vw - 40px);
	}
	.name .form-item, .ruby .form-item, .email .form-item {
		margin-right: 0;
	}
	.fixed-footer-wrap {
		padding: 12px 0 12px;
	}
	/* ポップアップ
	----------------------------------------*/
	.popup-inner {
		width: 100%;
		max-width: calc(100vw - 40px);
		padding: 35px;
	}
	.privacy {
	    margin-bottom: 40px;
	}
	.privacy-hd-title {
		width: 90%;
	}
	.privacy-hd-title h1 {
	    margin-left: 0px;
	}
	.go_bnr .go_in .in_l{
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.go_bnr .go_in .in_r{
		width: 100%;
	}
}

@media screen and (max-width: 480px){
	.fixed-footer-left a img {
	    max-width: 100%;
	}
	.blog-item {
	    width: calc(100vw - 20px);
	}
	/* トップ施工事例 */
	.top-example-post {
		display: none;
	}
	.top-example-wrap {
	    margin-bottom: 30px;
	}
	.sp-top-example-post {
		display: block;
		padding: 0 calc(100vw - (100vw - 40px));/*合わせるslick調整*/
	}
	.slick-slide {
		margin: 0;
	}
}
@media screen and (max-width: 440px){
	.sp-top-example-post .example-item {
		margin: 0 20px;
	}
	.sp-top-example-post {
		padding: 0 20px;
	}
}
/*スマホ縦小さめ*/
@media screen and (max-width: 380px){
	.sp-nav li a {
		font-size: 1rem;
	}
	.example-page-header .category-list a,
	.category-list a {
		width: calc(42vw - 10px);
		font-size: 14px;
	}
	.example-page-header .category-list .arrow_cat,
	.category-list .arrow_cat {
		width: 12px;
		height: 12px;
	}
	.example-cat a {
		font-size: 14px;
		line-height: 1.7;
	}
	.sp-top-example-post .example-item {
		margin: 0 10px;
	}
	.sp-top-example-post {
		padding: 0 10px;
	}
}
@media screen and (max-width: 360px){
	.sp-nav li a {
		font-size: 0.9rem;
	}
	.about-page-hd-wrap .about-hd-title h1::before,
	.example-hd-title h1::before,
	.voice-hd-bg .voice-hd-title h1::before {
		top: 267px;
	}
}

/* ==============================================
				よくある質問
================================================= */
.question-page-header {
	margin-bottom: 100px;
}
.question-hd-title {
	width: 556px;
	padding-bottom: 100px;
}
.company-page-hd-wrap .question-hd-title h1::before {
    background-image: url(images/voice_icon.png);
    width: 92px;
    height: 57px;
    top: 78px;
    left: 17px;
}
/* pc表示 */
.q-title {
	display: flex;
	align-items: center;
	font-size: 27px;
	color: #112943;
}
.q-title::before {
	content: '';
	background-image: url(images/q_mark.png);
	background-repeat: no-repeat;
	display: inline-block;
	width: 57px;
	height: 57px;
	margin-right: 30px;
}
.question-archive-item {
	padding-top: 0;
	margin-bottom: 48px;
}
.question-archive-item .inner {
    max-width: 812px;
    width: 812px;
}
.question-archive-item .inner p {
    font-size: 16px;
    color: #000;
    line-height: 1.7;
    margin: 10px 0 20px 26px;
    max-width: 790px;
}
.question-archive-item .inner a {
	color: #036eb8;
}
.q-footer {
	margin: 50px auto 60px;
}

@media screen and (max-width: 560px){
	.question-page-header .about-page-hd-wrap {
		background-size: 175%;
		background-position-x: 40%;
	}
	.question-hd-title {
		width: 72%;
		padding-bottom: 20px;
	}
	.company-page-hd-wrap .question-hd-title h1::before {
		top: 255px;
		width: 40px;
	}
	.q-title {
		font-size: 20px;
		line-height: 1.4;
	}
	.q-title::before {
		background-image: url(images/q_mark@2x.png);
		margin-right: 10px;
		background-size: 42px;
		width: 69px;
		height: 42px;
	}
	.question-archive-item .inner p {
		margin: 10px 11px 20px;
	}
}