@charset "UTF-8";
/*
Theme Name: GL WORKS
*/
/*****
reset
*****/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul li, ol li {
  list-style-type: none;
}

textarea {
  resize: vertical;
}

button:focus {
  outline: 0;
}

a:focus, *:focus {
  outline: none;
}

.cf:before,
.cf:after {
  content: "";
  display: block;
  overflow: hidden;
}

.cf:after {
  clear: both;
}

.cf {
  zoom: 1;
}

@media (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/*****
breakpoint
*****/
/*1200px～*/
/*1025px～1199px*/
/*992px～1024px*/
/*768px～991px*/
/*576px～767px*/
/*～575px*/
/*****
layout
*****/
body .mt-50 {
  margin-top: 5rem !important;
}
body .mt-60 {
  margin-top: 6rem !important;
}
body .mt-70 {
  margin-top: 7rem !important;
}
body .mt-80 {
  margin-top: 8rem !important;
}
body .mt-90 {
  margin-top: 9rem !important;
}
body .mt-100 {
  margin-top: 10rem !important;
}
body .mt-110 {
  margin-top: 11rem !important;
}
body .mt-120 {
  margin-top: 12rem !important;
}
body .mt-130 {
  margin-top: 13rem !important;
}
body .mt-140 {
  margin-top: 14rem !important;
}
body .mt-150 {
  margin-top: 15rem !important;
}
body .mb-50 {
  margin-bottom: 5rem !important;
}
body .mb-60 {
  margin-bottom: 6rem !important;
}
body .mb-70 {
  margin-bottom: 7rem !important;
}
body .mb-80 {
  margin-bottom: 8rem !important;
}
body .mb-90 {
  margin-bottom: 9rem !important;
}
body .mb-100 {
  margin-bottom: 10rem !important;
}
body .mb-110 {
  margin-bottom: 11rem !important;
}
body .mb-120 {
  margin-bottom: 12rem !important;
}
body .mb-130 {
  margin-bottom: 13rem !important;
}
body .mb-140 {
  margin-bottom: 14rem !important;
}
body .mb-150 {
  margin-bottom: 15rem !important;
}
body .pt-50 {
  padding-top: 5rem !important;
}
body .pt-60 {
  padding-top: 6rem !important;
}
body .pt-70 {
  padding-top: 7rem !important;
}
body .pt-80 {
  padding-top: 8rem !important;
}
body .pt-90 {
  padding-top: 9rem !important;
}
body .pt-100 {
  padding-top: 10rem !important;
}
body .pt-110 {
  padding-top: 11rem !important;
}
body .pt-120 {
  padding-top: 12rem !important;
}
body .pt-130 {
  padding-top: 13rem !important;
}
body .pt-140 {
  padding-top: 14rem !important;
}
body .pt-150 {
  padding-top: 15rem !important;
}
body .pb-50 {
  padding-bottom: 5rem !important;
}
body .pb-60 {
  padding-bottom: 6rem !important;
}
body .pb-70 {
  padding-bottom: 7rem !important;
}
body .pb-80 {
  padding-bottom: 8rem !important;
}
body .pb-90 {
  padding-bottom: 9rem !important;
}
body .pb-100 {
  padding-bottom: 10rem !important;
}
body .pb-110 {
  padding-bottom: 11rem !important;
}
body .pb-120 {
  padding-bottom: 12rem !important;
}
body .pb-130 {
  padding-bottom: 13rem !important;
}
body .pb-140 {
  padding-bottom: 14rem !important;
}
body .pb-150 {
  padding-bottom: 15rem !important;
}
@media (max-width: 991px) {
  body .mt-50 {
    margin-top: calc(5rem / 1.2 ) !important;
  }
  body .mt-60 {
    margin-top: calc(6rem / 1.2 ) !important;
  }
  body .mt-70 {
    margin-top: calc(7rem / 1.2 ) !important;
  }
  body .mt-80 {
    margin-top: calc(8rem / 1.2 ) !important;
  }
  body .mt-90 {
    margin-top: calc(9rem / 1.2 ) !important;
  }
  body .mt-100 {
    margin-top: calc(10rem / 1.2 ) !important;
  }
  body .mt-110 {
    margin-top: calc(11rem / 1.2 ) !important;
  }
  body .mt-120 {
    margin-top: calc(12rem / 1.2 ) !important;
  }
  body .mt-130 {
    margin-top: calc(13rem / 1.2 ) !important;
  }
  body .mt-140 {
    margin-top: calc(14rem / 1.2 ) !important;
  }
  body .mt-150 {
    margin-top: calc(15rem / 1.2 ) !important;
  }
  body .mb-50 {
    margin-bottom: calc(5rem / 1.2 ) !important;
  }
  body .mb-60 {
    margin-bottom: calc(6rem / 1.2 ) !important;
  }
  body .mb-70 {
    margin-bottom: calc(7rem / 1.2 ) !important;
  }
  body .mb-80 {
    margin-bottom: calc(8rem / 1.2 ) !important;
  }
  body .mb-90 {
    margin-bottom: calc(9rem / 1.2 ) !important;
  }
  body .mb-100 {
    margin-bottom: calc(10rem / 1.2 ) !important;
  }
  body .mb-110 {
    margin-bottom: calc(11rem / 1.2 ) !important;
  }
  body .mb-120 {
    margin-bottom: calc(12rem / 1.2 ) !important;
  }
  body .mb-130 {
    margin-bottom: calc(13rem / 1.2 ) !important;
  }
  body .mb-140 {
    margin-bottom: calc(14rem / 1.2 ) !important;
  }
  body .mb-150 {
    margin-bottom: calc(15rem / 1.2 ) !important;
  }
  body .pt-50 {
    padding-top: calc(5rem / 1.2 ) !important;
  }
  body .pt-60 {
    padding-top: calc(6rem / 1.2 ) !important;
  }
  body .pt-70 {
    padding-top: calc(7rem / 1.2 ) !important;
  }
  body .pt-80 {
    padding-top: calc(8rem / 1.2 ) !important;
  }
  body .pt-90 {
    padding-top: calc(9rem / 1.2 ) !important;
  }
  body .pt-100 {
    padding-top: calc(10rem / 1.2 ) !important;
  }
  body .pt-110 {
    padding-top: calc(11rem / 1.2 ) !important;
  }
  body .pt-120 {
    padding-top: calc(12rem / 1.2 ) !important;
  }
  body .pt-130 {
    padding-top: calc(13rem / 1.2 ) !important;
  }
  body .pt-140 {
    padding-top: calc(14rem / 1.2 ) !important;
  }
  body .pt-150 {
    padding-top: calc(15rem / 1.2 ) !important;
  }
  body .pb-50 {
    padding-bottom: calc(5rem / 1.2 ) !important;
  }
  body .pb-60 {
    padding-bottom: calc(6rem / 1.2 ) !important;
  }
  body .pb-70 {
    padding-bottom: calc(7rem / 1.2 ) !important;
  }
  body .pb-80 {
    padding-bottom: calc(8rem / 1.2 ) !important;
  }
  body .pb-90 {
    padding-bottom: calc(9rem / 1.2 ) !important;
  }
  body .pb-100 {
    padding-bottom: calc(10rem / 1.2 ) !important;
  }
  body .pb-110 {
    padding-bottom: calc(11rem / 1.2 ) !important;
  }
  body .pb-120 {
    padding-bottom: calc(12rem / 1.2 ) !important;
  }
  body .pb-130 {
    padding-bottom: calc(13rem / 1.2 ) !important;
  }
  body .pb-140 {
    padding-bottom: calc(14rem / 1.2 ) !important;
  }
  body .pb-150 {
    padding-bottom: calc(15rem / 1.2 ) !important;
  }
}
@media (max-width: 767px) {
  body .mt-50 {
    margin-top: calc(5rem / 1.5 ) !important;
  }
  body .mt-60 {
    margin-top: calc(6rem / 1.5 ) !important;
  }
  body .mt-70 {
    margin-top: calc(7rem / 1.5 ) !important;
  }
  body .mt-80 {
    margin-top: calc(8rem / 1.5 ) !important;
  }
  body .mt-90 {
    margin-top: calc(9rem / 1.5 ) !important;
  }
  body .mt-100 {
    margin-top: calc(10rem / 1.5 ) !important;
  }
  body .mt-110 {
    margin-top: calc(11rem / 1.5 ) !important;
  }
  body .mt-120 {
    margin-top: calc(12rem / 1.5 ) !important;
  }
  body .mt-130 {
    margin-top: calc(13rem / 1.5 ) !important;
  }
  body .mt-140 {
    margin-top: calc(14rem / 1.5 ) !important;
  }
  body .mt-150 {
    margin-top: calc(15rem / 1.5 ) !important;
  }
  body .mb-50 {
    margin-bottom: calc(5rem / 1.5 ) !important;
  }
  body .mb-60 {
    margin-bottom: calc(6rem / 1.5 ) !important;
  }
  body .mb-70 {
    margin-bottom: calc(7rem / 1.5 ) !important;
  }
  body .mb-80 {
    margin-bottom: calc(8rem / 1.5 ) !important;
  }
  body .mb-90 {
    margin-bottom: calc(9rem / 1.5 ) !important;
  }
  body .mb-100 {
    margin-bottom: calc(10rem / 1.5 ) !important;
  }
  body .mb-110 {
    margin-bottom: calc(11rem / 1.5 ) !important;
  }
  body .mb-120 {
    margin-bottom: calc(12rem / 1.5 ) !important;
  }
  body .mb-130 {
    margin-bottom: calc(13rem / 1.5 ) !important;
  }
  body .mb-140 {
    margin-bottom: calc(14rem / 1.5 ) !important;
  }
  body .mb-150 {
    margin-bottom: calc(15rem / 1.5 ) !important;
  }
  body .pt-50 {
    padding-top: calc(5rem / 1.5 ) !important;
  }
  body .pt-60 {
    padding-top: calc(6rem / 1.5 ) !important;
  }
  body .pt-70 {
    padding-top: calc(7rem / 1.5 ) !important;
  }
  body .pt-80 {
    padding-top: calc(8rem / 1.5 ) !important;
  }
  body .pt-90 {
    padding-top: calc(9rem / 1.5 ) !important;
  }
  body .pt-100 {
    padding-top: calc(10rem / 1.5 ) !important;
  }
  body .pt-110 {
    padding-top: calc(11rem / 1.5 ) !important;
  }
  body .pt-120 {
    padding-top: calc(12rem / 1.5 ) !important;
  }
  body .pt-130 {
    padding-top: calc(13rem / 1.5 ) !important;
  }
  body .pt-140 {
    padding-top: calc(14rem / 1.5 ) !important;
  }
  body .pt-150 {
    padding-top: calc(15rem / 1.5 ) !important;
  }
  body .pb-50 {
    padding-bottom: calc(5rem / 1.5 ) !important;
  }
  body .pb-60 {
    padding-bottom: calc(6rem / 1.5 ) !important;
  }
  body .pb-70 {
    padding-bottom: calc(7rem / 1.5 ) !important;
  }
  body .pb-80 {
    padding-bottom: calc(8rem / 1.5 ) !important;
  }
  body .pb-90 {
    padding-bottom: calc(9rem / 1.5 ) !important;
  }
  body .pb-100 {
    padding-bottom: calc(10rem / 1.5 ) !important;
  }
  body .pb-110 {
    padding-bottom: calc(11rem / 1.5 ) !important;
  }
  body .pb-120 {
    padding-bottom: calc(12rem / 1.5 ) !important;
  }
  body .pb-130 {
    padding-bottom: calc(13rem / 1.5 ) !important;
  }
  body .pb-140 {
    padding-bottom: calc(14rem / 1.5 ) !important;
  }
  body .pb-150 {
    padding-bottom: calc(15rem / 1.5 ) !important;
  }
}

.container-1100 {
  width: 100%;
  max-width: 1130px;
  padding: 0 15px;
  margin: 0 auto;
}

.w-1100 {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

/*****
font
*****/
html {
  font-size: 62.5%;
}
@media (max-width: 991px) {
  html {
    font-size: 55%;
  }
}
@media (max-width: 767px) {
  html {
    font-size: 50%;
  }
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.6em;
  color: #333;
  line-height: 1.6em;
  letter-spacing: 0.05em;
}
body .fs-10 {
  font-size: 1.0rem;
}
body .fs-11 {
  font-size: 1.1rem;
}
body .fs-12 {
  font-size: 1.2rem;
}
body .fs-13 {
  font-size: 1.3rem;
}
body .fs-14 {
  font-size: 1.4rem;
}
body .fs-15 {
  font-size: 1.5rem;
}
body .fs-16 {
  font-size: 1.6rem;
}
body .fs-17 {
  font-size: 1.7rem;
}
body .fs-18 {
  font-size: 1.8rem;
}
body .fs-19 {
  font-size: 1.9rem;
}
body .fs-20 {
  font-size: 2.0rem;
}
body .fs-21 {
  font-size: 2.1rem;
}
body .fs-22 {
  font-size: 2.2rem;
}
body .fs-23 {
  font-size: 2.3rem;
}
body .fs-24 {
  font-size: 2.4rem;
}
body .fs-25 {
  font-size: 2.5rem;
}
body .fs-26 {
  font-size: 2.6rem;
}
body .fs-27 {
  font-size: 2.7rem;
}
body .fs-28 {
  font-size: 2.8rem;
}
body .fs-29 {
  font-size: 2.9rem;
}
body .fs-30 {
  font-size: 3.0rem;
}
body .fs-35 {
  font-size: 3.5rem;
}
body .fs-40 {
  font-size: 4.0rem;
}
body .fs-45 {
  font-size: 4.5rem;
}
body .fs-50 {
  font-size: 5.0rem;
}

body .lh-00 {
  line-height: 0 !important;
}
body .lh-15 {
  line-height: 1.5em !important;
}
body .lh-16 {
  line-height: 1.6em !important;
}
body .lh-17 {
  line-height: 1.7em !important;
}
body .lh-18 {
  line-height: 1.8em !important;
}
body .lh-19 {
  line-height: 1.9em !important;
}
body .lh-20 {
  line-height: 2.0em !important;
}

/*****
link
*****/
a {
  text-decoration: none;
  color: #333;
  transition: all 0.35s;
}
a:hover {
  text-decoration: none;
  color: #999;
}

/*****
color
*****/
/*****
header
*****/
#header {
  background: #f3f3f3;
  position: fixed;
  width: 100%;
  z-index: 2;
}
#header .logo {
  margin: 0 0 0 2rem;
}
@media (max-width: 991px) {
  #header .logo {
    margin: 1rem;
  }
}
@media (max-width: 767px) {
  #header .logo {
    margin: 1rem;
  }
  #header .logo img {
    width: 150px;
    height: auto;
  }
}

/*****
nav
*****/
.drawer-menu {
  display: flex;
  align-items: center;
}
.drawer-menu li {
  margin: 0 2rem;
}
.drawer-menu li.tel {
  /* display: none; */
  font-size: 1.5rem;
  color: #30315B;
  border-bottom: #fccf2d solid 1px;
  padding: 0 0 5px 0;
}
.drawer-menu li.tel a {
  font-size: 2.5rem;
  color: #30315B;
  font-weight: bold;
}
.drawer-menu li.tel a span {
  font-weight: normal;
  font-size: 1.5rem;
}
.drawer-menu li.magazine {
  margin: 0 0 0 2rem;
  position: absolute;
  right: 0;
  top: 110px;
}
.drawer-menu li.magazine a {
  display: flex;
  width: 161px;
  flex-direction: column;
  align-items: center;
  background: #fccf2d;
  padding: 2rem 3rem;
}
.drawer-menu li.magazine a img {
  margin: 0 0 1rem 0;
}
.drawer-menu li.magazine a:hover {
  color: #000;
  background: #ffe792;
}
.drawer-menu li.line {
  margin: 0 0 0 2rem;
  position: absolute;
  right: 0;
  top: 220px;
}
.drawer-menu li.line a {
  display: flex;
  width: 161px;
  flex-direction: column;
  align-items: center;
  background: #00B900;
  padding: 2rem 3rem;
  color: #FFF;
}
.drawer-menu li.line a img {
  margin: 0 0 1rem 0;
}
.drawer-menu li.line a:hover {
  color: #fff;
  background: #ffe792;
}
.drawer-menu li.mail {
  margin: 0;
}
.drawer-menu li.mail a {
  display: flex;
  width: 161px;
  flex-direction: column;
  align-items: center;
  background: #30315B;
  color: #fff;
  padding: 2rem 3rem;
}
.drawer-menu li.mail a img {
  margin: 0 0 1rem 0;
}
.drawer-menu li.mail a:hover {
  color: #fff;
  background: #6f708e;
}
.drawer-menu li.permit {
  display: none;
}
@media (max-width: 991px) {
  .drawer-menu {
    display: block;
    border-top: #494a6f solid 1px;
    width: 100%;
  }
  .drawer-menu li {
    margin: 0 2rem;
  }
  .drawer-menu li a {
    color: #fff;
    display: block;
    width: 100%;
    border-bottom: #494a6f solid 1px;
    padding: 2rem 0;
  }
  .drawer-menu li.tel {
    display: block;
    margin: 30px 15px 10px;
  }
  .drawer-menu li.tel a {
    display: flex;
    align-items: baseline;
    flex-direction: row;
    justify-content: center;
    background: #fff;
    color: #333;
    padding: 2rem 3rem;
    font-weight: 700;
    font-size: 2.6rem;
  }
  .drawer-menu li.tel a span {
    font-size: 1.8rem;
  }
  .drawer-menu li.magazine {
    margin: 0 15px 10px;
    position: static;
  }
  .drawer-menu li.magazine a {
    display: flex;
    width: auto;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    background: #fccf2d;
    padding: 2rem 3rem;
    color: #333;
  }
  .drawer-menu li.magazine a img {
    margin: 0 1rem 0 0;
  }
  .drawer-menu li.line {
    margin: 0 15px 10px;
    position: static;
    color: #FFF;
  }
  .drawer-menu li.line a {
    display: flex;
    width: auto;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    background: #00B900;
    padding: 2rem 3rem;
    color: #fff;
  }
  .drawer-menu li.line a img {
    margin: 0 1rem 0 0;
  }
  .drawer-menu li.mail {
    margin: 0 15px;
  }
  .drawer-menu li.mail a {
    display: flex;
    width: auto;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    background: #fff;
    color: #333;
    padding: 2rem 3rem;
  }
  .drawer-menu li.mail a img {
    margin: 0 1rem 0 0;
  }
  .drawer-menu li.permit {
    display: block;
    color: #fff;
    text-align: center;
    margin: 30px 0 0 0;
  }
}

@media (max-width: 991px) {
  .drawer--right .drawer-nav {
    right: -100vw;
  }
}

@media (max-width: 991px) {
  .drawer-nav {
    background: #30315B;
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.drawer-hamburger-icon:before {
  top: -8px;
}

.drawer-hamburger-icon:after {
  top: 8px;
}

.drawer-hamburger {
  padding-right: 2rem;
}
@media (max-width: 991px) {
  .drawer-hamburger {
    padding-top: 10px;
  }
}

.drawer--right.drawer-open .drawer-hamburger {
  right: 0;
}
.drawer--right.drawer-open .drawer-hamburger-icon:after,
.drawer--right.drawer-open .drawer-hamburger-icon:before {
  background-color: #fff;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  width: 25px;
}

/*****
main
*****/
#main {
  padding-top: 110px;
}
@media (max-width: 991px) {
  #main {
    padding-top: 59px;
  }
}
@media (max-width: 991px) {
  #main {
    padding-top: 42px;
  }
}

/*****
footer
*****/
#footer {
  background: #30315B;
  color: #fff;
  padding: 8rem 0;
}
#footer a {
  color: #fff;
}
#footer .footer-left {
  margin: 0 auto 0 0;
}
#footer .footer-left .logo {
  margin: 0 0 4rem 0;
}
#footer .policy {
  display: flex;
  margin: 4rem 0 0 0;
}
#footer .policy li a {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
}
#footer .policy li a::before {
  font-family: 'Material Icons';
  content: "\e315";
  vertical-align: bottom;
  line-height: 0;
}
#footer .policy li:first-child {
  margin: 0 2rem 0 0;
}
#footer .footer-nav {
  display: flex;
  font-size: 1.5rem;
}
#footer .footer-nav ul {
  margin-right: 2rem;
}
#footer .footer-nav ul:last-child {
  margin-right: unset;
}
#footer .footer-nav ul li {
  margin: 0 0 2rem 0;
}
#footer .footer-nav ul li.child {
  margin: 0;
  font-size: 1.3rem;
  line-height: 2.8rem;
  text-indent: -1em;
  padding-left: 1em;
}
#footer .footer-nav ul li.child:before {
  content: "-";
  margin-right: 1ex;
}
#footer .btnlist li {
  font-size: 1.5rem;
}
#footer .btnlist li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 0;
  color: #333;
}
#footer .btnlist li a img {
  margin: 0 1rem 0 0;
}
#footer .btnlist .magazine {
  margin: 0 0 2rem 0;
}
#footer .btnlist .magazine a {
  background: #fccf2d;
}
#footer .btnlist .mail {
  margin: 0 0 4.5rem 0;
}
#footer .btnlist .mail a {
  background: #fff;
}
#footer .copy {
  font-size: 1.2rem;
  text-align: right;
  margin: 4rem 0 0 auto;
}
@media (max-width: 991px) {
  #footer .footer-left {
    margin: 0;
  }
  #footer .address {
    font-size: 1.4rem;
  }
  #footer .address + ul {
    font-size: 1.4rem;
  }
  #footer .footer-nav ul:first-child {
    margin: 0 4rem 0 0;
  }
}
@media (max-width: 767px) {
  #footer {
    padding: 4rem 0 2rem;
  }
  #footer .footer-left {
    margin: 0 auto;
  }
  #footer .logo {
    margin: 0 0 2rem 0;
    text-align: center;
  }
  #footer .logo img {
    width: 180px;
    height: auto;
  }
  #footer .address {
    text-align: center;
    margin: 0 0 0.5rem 0;
  }
  #footer .address + ul {
    text-align: center;
    margin: 0 0 4rem 0;
  }
  #footer .address + ul li {
    margin: 0 0 0.5rem 0;
  }
  #footer .policy {
    display: flex;
    justify-content: center;
    margin: 3rem 0 6rem 0;
  }
  #footer .btnlist li {
    font-size: 1.5rem;
  }
  #footer .btnlist li a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5rem 0;
    color: #333;
  }
  #footer .btnlist li a img {
    margin: 0 1rem 0 0;
  }
  #footer .copy {
    text-align: center;
  }
}

#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 3.0rem;
}
#page-top a {
  background: #fccf2d;
  text-decoration: none;
  color: #000;
  width: 55px;
  height: 55px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
#page-top a:hover {
  text-decoration: none;
  background: #999;
}
@media (max-width: 991px) {
  #page-top {
    bottom: 10px;
    right: 10px;
    font-size: 2.0rem;
  }
  #page-top a {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 767px) {
  #page-top {
    font-size: 2.0rem;
  }
  #page-top a {
    width: 30px;
    height: 30px;
  }
}

/*****
toppage
*****/
.top-kv-section {
  position: relative;
  height: 970px;
  background: #f3f3f3;
  background: linear-gradient(180deg, #f3f3f3 0%, #f3f3f3 80%, #30315b 80%, #30315b 100%);
  overflow: hidden;
}
.top-kv-section .slider {
  position: absolute;
  top: 0;
  right: 0;
  width: 95%;
}
.top-kv-section .slider img {
  object-fit: cover;
  width: 100%;
  height: 970px;
}
.top-kv-section .block {
  position: absolute;
  bottom: 10%;
  left: 10%;
}
.top-kv-section .block h2 {
  font-size: 12.8rem;
  color: #fff;
  font-weight: 700;
  margin: 0 0 3rem 0;
}
.top-kv-section .block h3 {
  font-size: 2.8rem;
  color: #fff;
  font-weight: 700;
}
.top-kv-section .permit {
  position: absolute;
  left: 2%;
  top: 50%;
  transform: translateY(-50%);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media (max-width: 1024px) {
  .top-kv-section {
    height: 60vw;
  }
  .top-kv-section .slider img {
    height: 60vw;
  }
  .top-kv-section .block {
    bottom: 7%;
    left: 7%;
  }
  .top-kv-section .block h2 {
    font-size: 10rem;
    margin: 0 0 3rem 0;
  }
  .top-kv-section .block h3 {
    font-size: 2.0rem;
  }
  .top-kv-section .permit {
    left: 1%;
    top: 50%;
    transform: translateY(-60%);
    white-space: nowrap;
  }
}
@media (max-width: 991px) {
  .top-kv-section {
    height: 85vw;
  }
  .top-kv-section .slider {
    width: 100%;
  }
  .top-kv-section .slider img {
    height: 85vw;
  }
  .top-kv-section .block {
    bottom: 5%;
    left: 3%;
  }
  .top-kv-section .block h2 {
    font-size: 15vw;
    margin: 0 0 2rem 0;
  }
  .top-kv-section .block h3 {
    font-size: 4.25vw;
  }
  .top-kv-section .permit {
    display: none;
  }
}

.top-desc-section {
  background: #30315B;
  padding: 8rem 0 6rem 0;
}
.top-desc-section .block {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-desc-section .desc {
  color: #fff;
  font-size: 3.6rem;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.75em;
  text-align: center;
}
.top-desc-section .tel {
  font-size: 1.8rem;
  color: #fff;
  border-bottom: #fccf2d solid 1px;
  padding: 0 0 5px 0;
}
.top-desc-section .tel span {
  font-weight: 700;
  font-size: 3.0rem;
}
.top-desc-section .tel a {
  color: #fff;
}
@media (max-width: 1024px) {
  .top-desc-section .block {
    padding: 0 15px;
  }
}
@media (max-width: 991px) {
  .top-desc-section {
    padding: 6rem 0 4rem 0;
  }
  .top-desc-section .block {
    display: block;
  }
  .top-desc-section .desc {
    color: #fff;
    font-size: 3.19677vw;
    line-height: 1.75;
    margin: 0 0 3rem 0;
  }
  .top-desc-section .tel {
    border-bottom: none;
    padding: 0;
  }
  .top-desc-section .tel a {
    color: #000;
    display: block;
    background: #fff;
    text-align: center;
    padding: 1.5rem 0 1rem 0;
  }
}
@media (max-width: 767px) {
  .top-desc-section {
    padding: 3rem 0 2rem 0;
  }
}

/*****
layer
*****/
.layer-kv-section {
  position: relative;
  height: 466px;
  background: #f3f3f3;
  background: linear-gradient(180deg, #f3f3f3 0%, #f3f3f3 50%, #30315b 50%, #30315b 100%);
}
.layer-kv-section .img {
  position: absolute;
  top: 0;
  right: 0;
  width: 95%;
}
.layer-kv-section .img img {
  object-fit: cover;
  width: 100%;
  height: 466px;
}
.layer-kv-section .pagetitle {
  position: absolute;
  left: 10%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 7.0rem;
  color: #fff;
}
.layer-kv-section .pagetitle span {
  font-size: 4.0rem;
  margin: 0 0 0 2rem;
}
@media (max-width: 991px) {
  .layer-kv-section {
    height: 40vw;
  }
  .layer-kv-section .img {
    width: 100%;
  }
  .layer-kv-section .img img {
    height: 40vw;
  }
  .layer-kv-section .pagetitle {
    left: 15px;
    font-size: 5.0rem;
    transform: translateY(0);
  }
  .layer-kv-section .pagetitle span {
    font-size: 2.5rem;
  }
}
@media (max-width: 767px) {
  .layer-kv-section {
    height: 55vw;
  }
  .layer-kv-section .img {
    width: 100%;
  }
  .layer-kv-section .img img {
    height: 55vw;
  }
  .layer-kv-section .pagetitle {
    left: 15px;
    font-size: 2.8rem;
    transform: translateY(-50%);
  }
  .layer-kv-section .pagetitle span {
    font-size: 1.6rem;
    display: block;
    margin: 1rem 0 0 0;
  }
}

.layer-kv-section02 {
  background: #333;
}

.bread {
  background: #30315B;
  padding: 4rem 0 6rem 0;
}
.bread ul {
  width: 90%;
  margin: 0 auto;
}
.bread ul li {
  color: #fff;
  float: left;
}
.bread ul li a {
  color: #fff;
}
.bread ul li a::after {
  content: ">";
  margin: 0 0.5rem;
}
@media (max-width: 991px) {
  .bread {
    padding: 2rem 0;
  }
  .bread ul {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
  }
}
@media (max-width: 767px) {
  .bread {
    padding: 1rem 0;
  }
  .bread ul {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
  }
  .bread ul li {
    font-size: 1.3rem;
  }
}

.bread02 {
  background: none;
}
.bread02 ul li {
  color: #333;
}
.bread02 ul li a {
  color: #333;
}

.layer-main-article {
  padding: 5rem 0 15rem 0;
}

.submitbutton {
  display: inline-flex;
  justify-content: center;
  position: relative;
}
.submitbutton input {
  background: #30315B;
  color: #fff;
  font-size: 2.2rem;
  border: none;
  padding: 3rem 8rem;
}
.submitbutton::after {
  font-family: 'Material Icons';
  content: "\e315";
  color: #fff;
  font-size: 2.0rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}

.post-contents {
  margin: 0 0 8rem 0;
}
.post-contents p {
  margin: 0 0 2rem 0;
}

.post-nav {
  display: flex;
  justify-content: center;
  font-size: 1.4rem;
}
.post-nav .prevbtn a {
  display: block;
  background: #30315B;
  color: #fff;
  position: relative;
  padding: 1rem 5rem;
  line-height: 1;
  border: #30315B solid 1px;
}
.post-nav .prevbtn a::before {
  font-family: 'Material Icons';
  content: "\e408";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1rem;
}
.post-nav .listbtn {
  margin: 0 7rem;
}
.post-nav .listbtn a {
  display: block;
  border: #30315B solid 1px;
  padding: 1rem 3rem;
  line-height: 1;
}
.post-nav .nextbtn a {
  display: block;
  background: #30315B;
  color: #fff;
  position: relative;
  padding: 1rem 5rem;
  line-height: 1;
  border: #30315B solid 1px;
}
.post-nav .nextbtn a::after {
  font-family: 'Material Icons';
  content: "\e315";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
}
@media (max-width: 767px) {
  .post-nav {
    display: block;
  }
  .post-nav .prevbtn {
    width: 70%;
    margin: 0 auto;
  }
  .post-nav .prevbtn a {
    text-align: center;
  }
  .post-nav .listbtn {
    margin: 0;
    width: 70%;
    margin: 2rem auto;
  }
  .post-nav .listbtn a {
    text-align: center;
  }
  .post-nav .nextbtn {
    width: 70%;
    margin: 0 auto;
  }
  .post-nav .nextbtn a {
    text-align: center;
  }
}

.blog-main {
  background: #f6f6f6;
}

.ggmap {
  position: relative;
  padding-bottom: 45%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.category-icon {
  position: static;
  display: inline-block;
  top: 0;
  left: 0;
  font-size: 1.4rem;
  padding: 0.5rem 1.5rem;
}
.category-icon.roofing {
  color: #fff;
  background: #30315b;
}
.category-icon.outerwall {
  color: #fff;
  background: #5c5431;
}
.category-icon.repair {
  color: #333;
  background: #fccf2d;
}

.results-post img {
  max-width: 100%;
  height: auto;
}
.results-post p {
  margin: 0 0 2rem 0;
}

.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi .current {
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom: #000 solid 1px;
  margin: 0 0.75rem !important;
  padding: 0 3px !important;
}
.wp-pagenavi a {
  border-top: none !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom: #999 solid 1px;
  margin: 0 0.75rem !important;
  padding: 0 3px !important;
}
.wp-pagenavi a.nextpostslink {
  border-bottom: #fff solid 1px;
}
.wp-pagenavi a.previouspostslink {
  border-bottom: #fff solid 1px;
}

.ajax-loader {
  display: none !important;
}

.wpcf7-list-item {
  margin: 0 !important;
}

/*****
parts
*****/
/*
table
*/
.tbl01 {
  width: 100%;
  font-size: 1.7rem;
  border-bottom: #000 solid 1px;
}
.tbl01 tr th {
  border-top: #000 solid 1px;
  padding: 3rem 0;
  position: relative;
  min-width: 10em;
}
.tbl01 tr th.req::after {
  content: "必須";
  color: #fff;
  background: #bc0000;
  font-size: 1.4rem;
  padding: 0 0.5rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.tbl01 tr th.req.align-top::after {
  top: 3rem;
  transform: translateY(0);
}
.tbl01 tr td {
  border-top: #000 solid 1px;
  padding: 3rem 0 3rem 3rem;
}
.tbl01 tr td input {
  border: #757575 solid 1px;
  background: #efefef;
  padding: 1rem;
  width: 100%;
}
.tbl01 tr td input.half {
  width: 35%;
}
.tbl01 tr td textarea {
  width: 100%;
  border: #757575 solid 1px;
  background: #efefef;
  padding: 1rem;
  height: 200px;
  resize: vertical;
}
@media (max-width: 767px) {
  .tbl01 {
    width: 100%;
    display: block;
  }
  .tbl01 tbody {
    width: 100%;
    display: block;
  }
  .tbl01 tr {
    width: 100%;
    display: block;
  }
  .tbl01 tr th {
    border-top: #000 solid 1px;
    padding: 2rem 0 1rem 0;
    width: 100%;
    display: block;
  }
  .tbl01 tr th.req::after {
    padding: 0.25rem 0.5rem;
    position: static;
    margin: 0 0 0 1rem;
  }
  .tbl01 tr td {
    border-top: none;
    padding: 0 0 2rem 0;
    width: 100%;
    display: block;
  }
  .tbl01 tr td input.half {
    width: 50%;
  }
  .tbl01 tr td textarea {
    height: 100px;
  }
}

.tbl02 tr th {
  width: 25%;
}
.tbl02 tr td label {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  margin: 0 3rem 0 0;
}
.tbl02 tr td input[type="radio"] {
  width: auto;
  margin: 0 0.5rem 0 0;
}
@media (max-width: 767px) {
  .tbl02 tr th {
    width: 100%;
  }
  .tbl02 tr td label {
    margin: 1rem 2rem 0 0;
  }
}

.tbl03 {
  border-bottom: none;
  margin: 0 0 8rem 0;
}
.tbl03 tr th {
  white-space: nowrap;
  min-width: 150px;
  border-top: none;
  border-bottom: #000 solid 1px;
}
.tbl03 tr td {
  border-top: none;
  border-bottom: #000 solid 1px;
}
@media (max-width: 767px) {
  .tbl03 tr th {
    white-space: nowrap;
    min-width: inherit;
    border-bottom: none;
  }
  .tbl03 tr td {
    border-top: none;
    border-bottom: #000 solid 1px;
  }
}

/*
list
*/
.list01 {
  margin: 0 0 0 2.5rem;
}
.list01 li {
  list-style-type: decimal;
  margin: 0 0 0.5rem 0;
}

.list02 li {
  margin: 0 0 0.5rem 1.6rem;
}
.list02 li::before {
  content: "・";
  margin: 0 0 0 -1.6rem;
}

.list03 {
  display: flex;
  justify-content: center;
}
.list03 li {
  font-size: 3.2rem;
  font-weight: 700;
  margin: 0 2rem;
}
.list03 li span {
  font-size: 5.0rem;
  margin: 0 0 0 1rem;
}
@media (max-width: 991px) {
  .list03 li {
    font-size: 2.5rem;
  }
  .list03 li span {
    font-size: 4.5rem;
  }
}
@media (max-width: 767px) {
  .list03 {
    display: block;
  }
  .list03 li {
    margin: 0;
    font-size: 2.0rem;
    text-align: center;
  }
  .list03 li span {
    font-size: 3.5rem;
  }
  .list03 li:first-child {
    margin: 0 0 2rem 0;
  }
}

.list04 {
  display: flex;
  border-bottom: #000 solid 1px;
  padding: 3rem 0;
}
.list04 dt {
  margin: 0 3rem 0 0;
}
@media (max-width: 767px) {
  .list04 {
    display: block;
  }
  .list04 dt {
    margin: 0 0 1rem 0;
  }
}

.list05 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list05 li {
  width: 31%;
  margin: 0 0 3rem 0;
}
.list05 li img {
  width: 100%;
  height: 315px;
  object-fit: cover;
}
.list05::after {
  content: "";
  display: block;
  width: 31%;
}
@media (max-width: 991px) {
  .list05 li img {
    height: 220px;
  }
}
@media (max-width: 767px) {
  .list05 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .list05 li {
    width: 48%;
    margin: 0 0 1rem 0;
  }
  .list05 li img {
    width: 100%;
    height: 40vw;
    object-fit: cover;
  }
}

.list06 {
  display: flex;
  border-bottom: #787878 solid 1px;
  padding: 3rem 0;
}
.list06 dt {
  font-weight: normal;
  color: #979797;
  margin: 0 3rem 0 0;
}
@media (max-width: 767px) {
  .list06 {
    display: block;
    padding: 2rem 0;
  }
  .list06 dt {
    font-weight: normal;
    color: #979797;
    margin: 0 0 1rem 0;
  }
}

/*
button
*/
.btn01 {
  background: #30315B;
  color: #fff;
  display: inline-block;
  position: relative;
  padding: 2rem 9rem;
}
.btn01::after {
  font-family: 'Material Icons';
  content: "\e5cc";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.5rem;
  color: #fff;
  transition: all 0.35s;
}
.btn01:hover {
  color: #fff;
}
.btn01:hover::after {
  right: 0.5rem;
}
@media (max-width: 767px) {
  .btn01 {
    width: 80%;
    text-align: center;
  }
}

.btn02 {
  background: #30315B;
  color: #fff;
  display: inline-block;
  position: relative;
  padding: 0.75rem 5.5rem;
  font-size: 1.4rem;
}
.btn02::after {
  font-family: 'Material Icons';
  content: "\e5cc";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.5rem;
  color: #fff;
  transition: all 0.35s;
}
.btn02:hover {
  color: #fff;
}
.btn02:hover::after {
  right: 0.5rem;
}
@media (max-width: 767px) {
  .btn02 {
    padding: 2rem 9rem;
    font-size: 1.6rem;
    width: 80%;
    text-align: center;
  }
}

/*
background
*/
.bg-gray01 {
  background: #f3f3f3;
}

.bg-navy01 {
  background: #30315B;
}

/*
headline
*/
.headline01 {
  font-size: 2.1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
}
.headline01::before {
  content: "";
  display: block;
  width: 25px;
  height: 3px;
  background: #30315B;
  margin: 0 1rem 0 0;
}
@media (max-width: 767px) {
  .headline01::before {
    width: 15px;
    height: 2px;
  }
}

.headline02 {
  font-size: 1.9rem;
  font-weight: 700;
}

.headline03 {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 700;
}
@media (max-width: 767px) {
  .headline03 {
    font-size: 2.3rem;
  }
}

.headline04 {
  font-size: 3.6rem;
  font-weight: 700;
}

.headline05 {
  font-size: 3.6rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}
.headline05::before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -20px;
  display: inline-block;
  width: 45px;
  height: 4px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #9798ad;
}

.headline06 {
  font-size: 2.6rem;
  text-align: center;
  font-weight: 700;
  line-height: 1.6em;
}

.headline07 {
  font-size: 6.0rem;
  font-weight: 700;
  text-align: center;
}
.headline07 span {
  display: block;
  font-size: 3.6rem;
}
.headline07:first-letter {
  color: #fccf2d;
}
@media (max-width: 991px) {
  .headline07 {
    font-size: 4.6rem;
    line-height: 1.2em;
  }
  .headline07 span {
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .headline07 {
    font-size: 3.2rem;
    line-height: 1.2em;
  }
  .headline07 span {
    font-size: 1.8rem;
  }
}

.headline08 {
  color: #1f1f1f;
}
.headline08 .en {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 700;
  position: absolute;
  display: inline-block;
  left: -105px;
  top: -2.8rem;
  transform: rotate(90deg);
  transform-origin: left bottom;
  font-style: italic;
  color: #30315B;
  font-family: 'Roboto', sans-serif;
}
.headline08 .en::before {
  content: '';
  position: absolute;
  left: 0;
  top: -25px;
  display: inline-block;
  font-size: 2.8rem;
  width: 3em;
  height: 1px;
  background-color: #22244c;
}
.headline08 .en.consulting::before {
  width: 13.8em;
}
.headline08 .en.service::before {
  width: 4.1em;
}
.headline08 .en.feature::before {
  width: 6.7em;
}
.headline08 .ja {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
}
.headline08 .ja.proposal::before {
  content: '';
  position: absolute;
  display: inline-block;
  height: 84px;
  width: 2px;
  background-color: #22244c;
  margin: 0 auto;
  left: 0;
  right: 0;
  top: calc(-8rem - 42px);
}
@media (max-width: 991px) {
  .headline08 .ja.proposal::before {
    height: calc(8.4rem / 1.2);
    top: calc(-8rem / 1.2 - 4.2rem / 1.2);
  }
}
@media (max-width: 767px) {
  .headline08 .ja.proposal::before {
    height: calc(8.4rem / 1.5);
    top: calc(-8rem / 1.5 - 4.2rem / 1.5 );
  }
}
@media (max-width: 1322px) {
  .headline08 .en {
    position: relative;
    top: unset;
    left: unset;
    transform: unset;
    font-style: unset;
    font-size: 6.4rem;
    color: rgba(48, 49, 91, 0.1);
    margin-bottom: 1rem;
  }
  .headline08 .en::before {
    content: unset;
  }
}
@media (max-width: 991px) {
  .headline08 {
    margin: 0;
  }
  .headline08 .en {
    font-size: 4.0rem;
    text-align: center;
    font-weight: 700;
    position: relative;
    display: block;
    text-align: center;
  }
  .headline08 .ja {
    font-size: 2.0rem;
    text-align: center;
    margin-bottom: 2rem;
  }
}

.headline09 {
  color: #1f1f1f;
}
.headline09 .en {
  font-size: 2.8rem;
  text-align: center;
  font-weight: 700;
  position: absolute;
  display: inline-block;
  right: -130px;
  top: 2.8rem;
  transform: rotate(90deg);
  transform-origin: left bottom;
  font-style: italic;
  color: #30315B;
  font-family: 'Roboto', sans-serif;
}
.headline09 .en::before {
  content: '';
  position: absolute;
  left: 0;
  top: -25px;
  display: inline-block;
  font-size: 2.8rem;
  width: 3em;
  height: 1px;
  background-color: #22244c;
}
.headline09 .en.works::before {
  width: 3.6em;
}
.headline09 .ja {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
}
@media (max-width: 1322px) {
  .headline09 .en {
    position: relative;
    top: unset;
    right: unset;
    transform: unset;
    font-style: unset;
    font-size: 6.4rem;
    color: rgba(48, 49, 91, 0.1);
    margin-bottom: 1rem;
  }
  .headline09 .en::before {
    content: unset;
  }
}
@media (max-width: 991px) {
  .headline09 {
    margin: 0;
  }
  .headline09 .en {
    font-size: 4.0rem;
    text-align: center;
    font-weight: 700;
    position: relative;
    display: block;
    text-align: center;
  }
  .headline09 .ja {
    font-size: 2.0rem;
    text-align: center;
    margin-bottom: 2rem;
  }
}

.headline10 {
  color: #1f1f1f;
  margin: 0 3rem 0 0;
}
.headline10 .en {
  font-size: 6.4rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  display: inline-block;
  margin-bottom: 1rem;
  color: rgba(64, 68, 122, 0.1);
  font-family: 'Roboto', sans-serif;
}
.headline10 .ja {
  display: block;
  font-size: 3.2rem;
  font-weight: 700;
}
@media (max-width: 991px) {
  .headline10 {
    margin: 0;
  }
  .headline10 .en {
    font-size: 4.0rem;
    text-align: center;
    font-weight: 700;
    position: relative;
    display: block;
    text-align: center;
  }
  .headline10 .ja {
    font-size: 2.0rem;
    text-align: center;
    margin-bottom: 2rem;
  }
}

/*
contents
*/
.cnt01 {
  background: #f3f3f3;
}

.cnt02 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cnt02 .block {
  width: 31%;
  background: #fff;
  padding: 0 0 2rem 0;
  margin: 0 0 4rem 0;
}
.cnt02 .block .img {
  overflow: hidden;
  height: 210px;
}
.cnt02 .block .img img {
  width: 100%;
  object-fit: cover;
  height: 210px;
  transition: all 0.35s;
}
.cnt02 .block .img a:hover img {
  transform: scale(1.1);
}
.cnt02::after {
  content: "";
  display: block;
  width: 31%;
}
@media (max-width: 991px) {
  .cnt02 .block {
    width: 46%;
  }
  .cnt02 .block .img {
    height: 180px;
  }
  .cnt02 .block .img img {
    height: 180px;
  }
}
@media (max-width: 767px) {
  .cnt02 .block {
    width: 100%;
  }
  .cnt02 .block .img {
    height: 180px;
  }
  .cnt02 .block .img img {
    height: 180px;
  }
}

.cnt03 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cnt03 a {
  display: block;
  width: 31%;
  background: #f3f3f3;
  margin: 0 0 4rem 0;
}
.cnt03 a .img {
  overflow: hidden;
  height: 260px;
}
.cnt03 a .img img {
  max-width: 100%;
  height: auto;
  transition: all 0.35s;
}
.cnt03 a div {
  padding: 2rem;
}
.cnt03 a div h3 {
  font-size: 2.6rem;
  text-align: center;
  font-weight: 700;
  margin: 0 0 1rem 0;
}
.cnt03 a:hover .img img {
  transform: scale(1.1);
}
.cnt03::after {
  content: "";
  display: block;
  width: 31%;
}
@media (max-width: 991px) {
  .cnt03 a {
    width: 46%;
  }
  .cnt03 a .img {
    height: 180px;
  }
}
@media (max-width: 767px) {
  .cnt03 {
    display: block;
  }
  .cnt03 a {
    width: 100%;
  }
  .cnt03 a .img {
    height: 60vw;
  }
}

.cnt04 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cnt04 .block {
  width: 48%;
  margin: 0 0 5rem 0;
}
.cnt04 .block .img img {
  max-width: 100%;
  height: auto;
}
.cnt04 .block .txt {
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .cnt04 {
    display: block;
  }
  .cnt04 .block {
    width: 100%;
    margin: 0 0 5rem 0;
  }
  .cnt04 .block .img img {
    max-width: 100%;
    height: auto;
  }
  .cnt04 .block .txt {
    padding: 0 2rem;
  }
}

.cnt05 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cnt05::after {
  content: "";
  display: block;
  width: 31%;
}
.cnt05 .block {
  width: 31%;
  position: relative;
  margin: 0 0 5rem 0;
}
.cnt05 .block .img {
  overflow: hidden;
  height: 225px;
  margin: 0 0 2rem 0;
}
.cnt05 .block .img a img {
  width: 100%;
  height: 225px;
  object-fit: cover;
  transition: all 0.35s;
}
.cnt05 .block .img a:hover img {
  transform: scale(1.1);
}
.cnt05 .block .category {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4rem;
  padding: 0.5rem 1.5rem;
}
.cnt05 .block .category.roofing {
  color: #fff;
  background: #30315b;
}
.cnt05 .block .category.outerwall {
  color: #fff;
  background: #5c5431;
}
.cnt05 .block .category.repair {
  color: #333;
  background: #fccf2d;
}
@media (max-width: 991px) {
  .cnt05 .block .img {
    height: 180px;
  }
  .cnt05 .block .img a img {
    height: 180px;
  }
}
@media (max-width: 767px) {
  .cnt05 {
    display: block;
  }
  .cnt05 .block {
    width: 100%;
    margin: 0 0 5rem 0;
  }
  .cnt05 .block .img {
    height: 50vw;
  }
  .cnt05 .block .img a img {
    height: 50vw;
  }
  .cnt05 .block:last-child {
    margin: 0;
  }
}

.cnt06 {
  display: flex;
  align-items: center;
}
.cnt06 select {
  border: #000 solid 1px;
  background: #f3f3f3;
  padding: 0.75rem 1rem;
  width: 250px;
  margin: 0 2rem 0 0;
}
.cnt06 button {
  background: #000;
  color: #fff;
  padding: 0.75rem 1rem;
  border: #000 solid 1px;
}
.cnt06 .category {
  border-left: #000 solid 1px;
  padding: 0.75rem 0 0.75rem 2rem;
  margin: 0 0 0 2rem;
}
@media (max-width: 991px) {
  .cnt06 select {
    width: 200px;
  }
  .cnt06 .category {
    padding: 0.75rem 0 0.75rem 1rem;
    margin: 0 0 0 1rem;
  }
}
@media (max-width: 767px) {
  .cnt06 {
    display: block;
  }
  .cnt06 select {
    width: 100%;
    margin: 1.5rem 0;
  }
  .cnt06 button {
    width: 100%;
    margin: 0 0 2rem 0;
  }
  .cnt06 .category {
    border-left: none;
    padding: 0.75rem 0;
    margin: 0;
  }
}

.cnt07 {
  display: flex;
  justify-content: space-between;
}
.cnt07 .block {
  width: 31%;
  background: #fff;
}
.cnt07 .block .img {
  height: 220px;
  overflow: hidden;
}
.cnt07 .block .img a img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: all 0.35s;
}
.cnt07 .block .img a:hover img {
  transform: scale(1.1);
}
.cnt07 .block .date {
  color: #979797;
  padding: 2rem 2rem 1rem 2rem;
}
.cnt07 .block .blog-title {
  padding: 0 2rem 2rem 2rem;
}
@media (max-width: 991px) {
  .cnt07 .block .img {
    height: 180px;
  }
  .cnt07 .block .img a img {
    height: 180px;
  }
}
@media (max-width: 767px) {
  .cnt07 {
    display: block;
  }
  .cnt07 .block {
    width: 100%;
    margin: 0 0 3rem 0;
  }
  .cnt07 .block .img {
    height: 50vw;
  }
  .cnt07 .block .img a img {
    height: 50vw;
  }
  .cnt07 .block .img a:hover img {
    transform: scale(1.1);
  }
}

.cnt08 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cnt08:after {
  display: block;
  content: '';
  flex-basis: calc((100% - 9rem) / 4);
}
.cnt08 .block {
  width: 31%;
  background: url("assets/images/top-service-img01.png") no-repeat center center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 3rem 0;
}
.cnt08 .service-item {
  flex-basis: calc((100% - 9rem) / 4);
  display: block;
  position: relative;
  margin: 0 0 3rem 0;
}
.cnt08 .service-item .img {
  overflow: hidden;
  line-height: 0;
}
.cnt08 .service-item .img img {
  width: 100%;
  height: auto;
  transition: all 0.35s;
}
.cnt08 .service-item .servicename {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2.6rem;
  font-weight: 700;
  width: 100%;
  text-align: center;
}
.cnt08 a.service-item .img img {
  transition: all 0.35s;
}
.cnt08 a.service-item:hover .img img {
  transform: scale(1.1);
}
@media (max-width: 991px) {
  .cnt08 .block {
    background-size: contain;
  }
}
@media (max-width: 767px) {
  .cnt08:after {
    display: block;
    content: '';
    flex-basis: calc((100% - 6rem) / 3);
  }
  .cnt08 .service-item {
    flex-basis: calc((100% - 6rem) / 3);
    margin: 0 0 3rem 0;
  }
  .cnt08 .service-item .servicename {
    font-size: 2rem;
  }
}
@media (max-width: 575px) {
  .cnt08:after {
    display: block;
    content: '';
    flex-basis: calc((100% - 3rem) / 2);
  }
  .cnt08 .service-item {
    flex-basis: calc((100% - 3rem) / 2);
    margin: 0 0 3rem 0;
  }
  .cnt08 .service-item .servicename {
    font-size: 2rem;
  }
}

.cnt09 {
  color: #30315B;
}
.cnt09 .desc {
  text-align: left;
}
.cnt09 .tel-wrap {
  margin: 3rem 3rem 0 0;
}
.cnt09 .tel {
  color: #30315B;
  border-bottom: #fccf2d solid 1px;
  padding: 0 0 5px 0;
  font-size: min(4rem, calc(14.6341vw - 117.171px));
}
.cnt09 .tel a {
  font-size: 1em;
  color: #30315B;
  font-weight: bold;
}
.cnt09 .tel a span {
  font-weight: normal;
  font-size: 0.6em;
}
.cnt09 .mail {
  margin: 3rem 0 0;
  flex-basis: 210px;
  height: 60px;
}
.cnt09 .mail a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 210px;
  height: 60px;
  background: #30315B;
  color: #fff;
  font-size: 1.4rem;
}
.cnt09 .mail a img {
  margin: 0 2rem 0 0;
}
.cnt09 .mail a:hover {
  color: #fff;
  background: #6f708e;
}
.cnt09 .line {
  margin: 3rem 0 0 2rem;
  flex-basis: 210px;
  height: 60px;
}
.cnt09 .line a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 210px;
  height: 60px;
  background: #00B900;
  color: #FFF;
  font-size: 1.4rem;
}
.cnt09 .line a img {
  margin: 0 2rem 0 0;
}
.cnt09 .line a:hover {
  color: #fff;
  background: #ffe792;
}
@media (max-width: 991px) {
  .cnt09 .desc {
    text-align: center;
  }
  .cnt09 .tel {
    font-size: 4rem;
  }
}
@media (max-width: 767px) {
  .cnt09 .desc {
    text-align: center;
  }
  .cnt09 .tel-wrap {
    margin: 3rem auto 0;
    text-align: center;
  }
  .cnt09 .tel {
    font-size: min(10vw, 4rem);
  }
  .cnt09 .mail {
    margin: 3rem auto 0;
  }
  .cnt09 .mail a {
    width: 80%;
    margin: 0 auto;
    font-size: 100%;
  }
  .cnt09 .line {
    margin: 3rem auto 0;
    text-align: center;
  }
  .cnt09 .line a {
    width: 80%;
    margin: 0 auto;
    font-size: 100%;
  }
}

.cnt10 {
  color: #1f1f1f;
}
.cnt10 .head {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  color: #15a0ff;
}
.cnt10 .desc {
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 1.8rem;
}
.cnt10 .feature-item {
  background: #fff;
  padding: 4rem;
  margin-top: 1.8rem;
  display: flex;
}
.cnt10 .feature-item div:first-of-type {
  margin-right: 4rem;
}
.cnt10 .feature-item .text-block {
  flex-basis: calc(100% - 350px - 4rem);
}
.cnt10 .feature-item .text-block .no {
  color: #fccf2d;
  font-family: 'Roboto', sans-serif;
  font-size: 3.8rem;
}
.cnt10 .feature-item .text-block .title {
  font-weight: bold;
  font-size: 2.4rem;
  line-height: 1.5;
  margin: 2.4rem 0;
}
.cnt10 .feature-item .text-block .text {
  font-size: 1.6rem;
  line-height: 1.75;
}
.cnt10 .feature-item .img-block {
  flex-basis: 350px;
}
.cnt10 .feature-item .img-block img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .cnt10 .feature-item {
    flex-wrap: wrap;
  }
  .cnt10 .feature-item div:first-of-type {
    margin-right: unset;
  }
  .cnt10 .feature-item .text-block {
    order: 1;
    flex-basis: 100%;
  }
  .cnt10 .feature-item .img-block {
    order: 2;
    flex-basis: 100%;
  }
  .cnt10 .feature-item .img-block img {
    margin-top: 4rem;
  }
}

#service {
  padding-top: 110px;
  margin-top: -110px;
}
@media (max-width: 991px) {
  #service {
    padding-top: 43.5px;
    margin-top: -43.5px;
  }
}

.one-stop-text {
  color: #1f1f1f;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.75;
}

.cnt11 .proposal-items {
  display: flex;
  justify-content: center;
}
.cnt11 .proposal-items .proposal-group {
  margin-right: 1.8rem;
  display: flex;
  flex-basis: calc(160px * 2 + 1.8rem);
}
.cnt11 .proposal-items .proposal-group:last-child {
  margin-right: unset;
}
.cnt11 .proposal-items .proposal-group .proposal-item {
  flex-basis: 160px;
  height: 180px;
  background: #fff;
  margin-right: 1.8rem;
  text-align: center;
}
.cnt11 .proposal-items .proposal-group .proposal-item:last-child {
  margin-right: unset;
}
.cnt11 .proposal-items .proposal-group .proposal-item .no {
  font-size: 2.4rem;
  font-family: 'Roboto', Seif;
  color: #30315b;
  line-height: 5.4rem;
}
.cnt11 .proposal-items .proposal-group .proposal-item .text {
  font-size: 1.8rem;
  line-height: calc(2.4 / 1.8);
}
.cnt11 .proposal-items .proposal-group .proposal-item .icon {
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.6rem;
}
@media (max-width: 767px) {
  .cnt11 .proposal-items {
    flex-wrap: wrap;
  }
  .cnt11 .proposal-items .proposal-group {
    flex-basis: 100%;
    justify-content: center;
    margin-right: unset;
    margin-bottom: 1.8rem;
  }
}

@media (min-width: 1321px) {
  #consulting .headline08 {
    margin-right: auto;
  }
  #consulting .headline08 .ja {
    margin-top: 3.6rem;
    letter-spacing: -0.1rem;
  }
}
#consulting .consulting-text {
  color: #1f1f1f;
  font-size: 1.6rem;
  line-height: 1.75;
}
#consulting .consulting-img-block {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  #consulting .consulting-img-block {
    margin-top: 2.8rem;
    justify-content: center;
  }
}

.recaptcha_policy {
  padding: 0;
  margin: 1.8em 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important;
}

/* 非表示にするCSS */
.grecaptcha-badge {
  visibility: hidden;
}

/* Contact Form を送信後にフォームを非表示にする */
#formSent {
  display: none;
}

.sent .formInner {
  display: none;
}
.sent #formSent {
  display: block !important;
}
