body {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  color: #333;
}

body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
form,
fieldset,
legend {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
body {
  font-family: Helvetica, Lucida Grande, Verdana, Arial, "繝｡繧､繝ｪ繧ｪ", Meiryo,
    "繝偵Λ繧ｮ繝手ｧ偵ざPro W3", "Hiragino Kaku Gothic Pro", "�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け",
    sans-serif;
  font-size: 16px;
  line-height: 1.2;
}

.wrapper {
  width: 90%;
  max-width: 1230px;
  margin: auto;
  position: relative;
}

.page {
  padding-top: 1px;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  border: 0;
  font-size: 0;
  line-height: 0;
}
li {
  list-style-type: none;
}
p {
  line-height: 1.9;
  font-size: 16px;
}
a {
  color: #f7931e;
  text-decoration: none;
}
a:hover {
  color: #f4b97d;
  text-decoration: underline;
}
a:hover img {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  opacity: 0.8;
}
/* RESET HTML5 */
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%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

header {
  position: relative;
  height: 115px;
  width: 92%;
  margin: 0 auto;
  padding-left: 4%;
  padding-right: 4%;
}
header h1 {
  color: #a0a0a0;
  font-size: 14px;
  font-weight: normal;
  position: absolute;
  right: 58%;
  top: 0;
  margin: 37px -170px 0 0;
  text-align: right;
}
header h2 {
  width: 240px;
  z-index: 2;
  position: absolute;
  left: 50%;
  top: 0;
  margin: 30px 0 0 -600px;
}
header h2 img {
  width: 100%;
  height: auto;
}
header h3 {
  font-size: 19px;
  font-weight: normal;
  position: absolute;
  right: 50%;
  top: 0;
  margin: 15px -600px 0 0;
  text-align: right;
  font-family: "Lato", sans-serif;
}
header h3 strong {
  font-size: 30px;
  font-weight: normal;
}
header h3 span {
  font-size: 18px;
  display: inline-block;
  margin-left: 15px;
  vertical-align: 2px;
}
header nav {
  position: absolute;
  left: auto;
  right: 0;
  top: 0;
  margin: 60px 0px;
  width: 42%;
  height: 55px;
  z-index: 2;
}
header nav ul {
  overflow: hidden;
  zoom: 1;
  display: flex;
  justify-content: space-between;
  padding-right: 8%;
}
header nav ul li {
  width: 33%;
  font-size: 15px;
  text-align: center;
}
header nav ul li#nav-home {
  display: none;
}
header nav ul li#nav-contact {
}
header nav ul li a {
  padding-top: 18px;
  height: 55px;
  display: inline-block;
  color: #323232;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}
header nav ul li#nav-contact a {
  display: block;
  color: #333;
}
header nav ul li a:hover {
  border-bottom: 3px solid #323232;
  text-decoration: none;
}

header nav ul li ul {
  display: none;
  position: absolute;
  top: 0px;
  margin-top: 54px;
  padding-top: 1px;
  z-index: 20;
}
header nav ul li ul li {
  float: none;
  width: auto;
  font-size: 16px;
  text-align: left;
  min-width: 150px;
  overflow: hidden;
  zoom: 1;
}
header nav ul li ul li a {
  background-color: #f2f2f2;
  padding: 13px 20px 13px 15px;
  color: #323232;
  height: auto;
  display: block;
  border-bottom: 1px solid #ccc;
  position: relative;
  z-index: 5;
}
header nav ul li ul li a:hover {
  background-color: #323232;
  color: #eaeaea;
  border-bottom: 1px solid #ccc;
}
.services-heading {
  text-align: center;
  line-height: 1.3;
}
.services-heading span {
  font-size: 22px;
  color: #c8c8c8;
  font-weight: normal;
  font-family: "Lato", sans-serif;
  display: block;
}
.services-heading strong {
  font-size: 28px;
  font-weight: bold;
  display: inline-block;
  padding-top: 12px;
  text-align: left;
}
@media screen and (max-width: 1280px) {
  header h1 {
    display: none;
    margin-right: 0;
  }
  header h2 {
    left: 5%;
    margin-left: 0;
  }
  header h3 {
    right: 30px;
    margin-right: 0;
  }
  header nav {
    left: auto;
    right: 0;
    margin-left: 0;
    max-width: 100%;
    width: 42%;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
  }
}
@media screen and (max-width: 1080px) {
  header h1 {
    display: none;
  }
}
@media screen and (max-width: 900px) {
  header {
    height: 70px;
  }
  header h2 {
    margin-top: 15px;
    width: 160px;
  }
  header h3 {
    display: none;
  }
  header nav {
    position: fixed;
    width: 230px;
    height: 100%;
    background-color: #323232;
    right: -230px;
    margin: 0;
    z-index: 20;
    padding-left: 0;
  }
  header nav ul li {
    float: none;
    width: auto;
  }
  header nav ul li#nav-home {
    display: block;
  }
  header nav ul li#nav-contact {
    width: auto;
    text-align: left;
  }
  header nav ul li a {
    padding: 18px 15px 18px 20px;
    border-bottom: 1px solid #545454;
    height: auto;
    display: block;
    color: #fff;
  }
  header nav ul li#nav-contact a {
    background-color: none;
  }
  header nav ul li a:hover {
    color: #323232;
    border-bottom: 1px solid #545454;
    background-color: #f5f1ed;
  }
  header nav ul li#nav-contact a:hover {
    color: #323232;
    border-bottom: 1px solid #545454;
    background-color: #f5f1ed;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }
  header nav ul li ul {
    position: absolute;
    margin-top: -1000px;
  }
  .m_navi {
    width: 25px;
    height: 24px;
    top: 25px;
    position: absolute;
    right: 30px;
    cursor: pointer;
    z-index: 50;
  }
  .m_navi:hover {
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
  }
  .navi1 {
    width: 30px;
    height: 4px;
    background-color: #3c3c3c;
    position: absolute;
    top: 0px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
  }
  .navi2 {
    width: 30px;
    height: 4px;
    background-color: #3c3c3c;
    position: absolute;
    top: 10px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
  }
  .navi3 {
    width: 30px;
    height: 4px;
    background-color: #3c3c3c;
    position: absolute;
    top: 20px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
  }
  .navi1,
  .navi2,
  .navi3 {
    transition: all 0.5s ease-out;
    -o-transition: all 0.5s ease-out; /* opera */
    -moz-transition: all 0.5s ease-out; /* firefox */
    -webkit-transition: all 0.5s ease-out; /* chrome, safari */
    -ms-transition: all 0.5s ease-out; /* ie */
  }
  .services-heading span {
    font-size: 18px;
  }
  .services-heading strong {
    font-size: 20px;
    padding-top: 10px;
  }
}
@media screen and (max-width: 450px) {
}

* {
  box-sizing: border-box;
  word-break: normal;
  line-height: 1.9em;
  background-repeat: no-repeat;
}

table.company-info-table {
  border-spacing: 5px;
}

table.company-info-table th,
table.company-info-table td {
  vertical-align: top;
}

table.company-info-table th {
  background-color: #c39f75;
  text-align: center;
  font-weight: 700;
  color: #fff;
  padding: 10px 0;
  border-top: 1px solid #c39f75;
}

table.company-info-table th p {
  white-space: nowrap;
  line-height: 1.6;
}

@media screen and (max-width: 568px) {
  table.company-info-table th {
    border-top: none;
    padding: 5px 0;
  }
}

table.company-info-table td {
  padding: 10px;
  border-top: 1px solid #8f6d51;
}

table.company-info-table td p {
  word-break: break-all;
  line-height: 1.6;
}

table.company-info-table td p a {
  text-decoration: underline;
  word-break: break-all;
}

@media screen and (max-width: 568px) {
  table.company-info-table td {
    border-top: none;
  }
}

@media screen and (max-width: 568px) {
  table.company-info-table {
    display: block;
  }

  table.company-info-table tbody,
  table.company-info-table tr,
  table.company-info-table th,
  table.company-info-table td {
    display: block;
    width: 100%;
  }
}

.company-info-wrapper {
  background-color: #fff;
  border-radius: 10px;
  max-width: 1030px;
  padding: 40px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .company-info-wrapper {
    padding: 30px 25px;
  }
}

@media screen and (max-width: 568px) {
  .company-info-wrapper {
    padding: 20px 15px;
  }
}

/* ===== 縺雁撫縺�粋繧上○繧ｨ繝ｪ繧｢ ===== */
.contact-section {
  padding: 60px 50px;
  text-align: center;
  border-radius: 10px;
  color: #fff;
}

.contact-section h2 {
  font-size: 22px;
  margin-bottom: 20px;
}

.contact-section p {
  font-size: 16px;
  margin-bottom: 30px;
  line-height: 1.6;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.contact-button a {
  display: inline-block;
  background: #fff;
  color: #333;
  font-weight: 600;
  padding: 12px 25px;
  border-radius: 5px;
  text-decoration: none;
  transition: 0.3s;
}

.contact-button a:hover {
  opacity: 0.8;
}

.contact-phone-block a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.contact-phone-block img {
  width: 200px;
  height: auto;
}

.contact-phone-block p {
  font-size: 13px;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .contact-section {
    padding: 50px 30px;
  }
  .contact-actions {
    flex-direction: column;
    align-items: center;
  }
}

@media screen and (max-width: 768px) {
  .contact-section {
    padding: 80px 0 0;
  }
}

/* ===== SNS繧ｨ繝ｪ繧｢ ===== */
.sns-section {
  background-color: #f7f4ef;
  padding: 50px 0;
  text-align: center;
}

.sns-section h2 {
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}

.sns-icon-list {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.sns-icon-list img {
  width: 50px;
  height: 50px;
  transition: 0.3s;
}

.sns-icon-list a:hover img {
  opacity: 0.7;
}

@media screen and (max-width: 568px) {
  .sns-icon-list img {
    width: 40px;
    height: 40px;
  }
}

/* ===== 繝輔ャ繧ｿ繝ｼ繧ｨ繝ｪ繧｢ ===== */
.site-footer {
  color: #fff;
  text-align: center;
}

.footer-top {
  background: #fff;
  color: #333;
  padding: 35px 20px;
}

.footer-top-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.footer-top-inner img {
  width: 180px;
}

.footer-top-inner p {
  font-size: 12px;
  line-height: 1.6;
  max-width: 600px;
}

.footer-bottom {
  background: #2f2222;
  padding: 50px 0 60px;
}

.footer-logo img {
  width: 262px;
  margin-bottom: 20px;
}

.footer-nav ul {
  list-style: none;
  margin: 30px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 25px;
}

.footer-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.footer-copy {
  font-size: 12px;
  color: #ccc;
}

@media screen and (max-width: 768px) {
  .footer-top-inner {
    flex-direction: column;
  }
  .footer-top-inner img {
    width: 160px;
  }
}

.text-center {
  text-align: center;
}

.section-title-style {
  margin-bottom: 20px;
}

.section-subtitle-style {
  margin-bottom: 40px;
}

.company-section {
  padding-top: 50px;
  padding-bottom: 50px;
}
.company-section-bg {
  background-image: url(../images/room.jpg);
  background-position: top center;
  background-size: 100% 345px;
  margin-top: 130px;
}

.company-section-bg .company-heading,
.company-section-bg .company-lead-text {
  color: #fff;
}

.company-section-bg .company-lead-text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .company-section-bg .company-lead-text {
    font-size: 15px;
  }
}

@media screen and (max-width: 568px) {
  .company-section-bg .company-lead-text {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .company-section-bg {
    background-size: 100% 240px;
    margin-top: 50px;
  }
}

.company-section-bg .company-lead-text {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .company-section-bg .company-lead-text {
    font-size: 15px;
  }
}

@media screen and (max-width: 568px) {
  .company-section-bg .company-lead-text {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .company-section-bg {
    background-size: 100% 240px;
    margin-top: 50px;
  }
}
@media screen and (max-width: 900px) {
  header nav ul {
    display: block;
    padding-right: 0;
  }
  header nav ul li#nav-home a {
    color: #323232;
    border-bottom: 1px solid #545454;
    background-color: #f5f1ed;
  }
}
header {
  height: auto;
}
#slide {
  width: 92%;
  margin: 0 auto;
  padding: 115px 4% 0 4%;
  height: 720px;
  position: relative;
  z-index: 1;
}
#slide li {
  height: 720px;
  display: block;
  overflow: hidden;
  zoom: 1;
  width: 100%;
}
#slide li h2 {
  font-size: 120px;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  position: absolute;
}
#slide li h2 strong {
  font-size: 20px;
  font-family: Helvetica, Lucida Grande, Verdana, Arial, "繝｡繧､繝ｪ繧ｪ", Meiryo,
    "繝偵Λ繧ｮ繝手ｧ偵ざPro W3", "Hiragino Kaku Gothic Pro", "�ｭ�ｳ �ｰ繧ｴ繧ｷ繝�け",
    sans-serif;
  font-weight: bold;
  display: block;
  padding-top: 5px;
}
#slide li h2 img {
  display: inline-block;
  vertical-align: -10px;
  padding-right: 20px;
}
#slide-renovation {
  background: url(../images/slide2.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
#slide-shop {
  background: url(../images/slide1.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
#slide-apartment {
  background: url(../images/slide4.jpg) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
#slide li#slide-renovation h2 {
  left: 110px;
  bottom: 170px;
}
#slide li#slide-shop h2 {
  left: 110px;
  top: 180px;
}
#slide li#c100 h2 {
  left: 110px;
  top: 140px;
}
#slide li#slide-apartment h2 {
  left: 110px;
  top: 190px;
}
#services-section {
  overflow: hidden;
  zoom: 1;
  padding: 50px 40px 90px 40px;
}
#services-section img {
  display: block;
  box-sizing: unset;
}
#services-section p {
  max-width: 800px;
  margin: 25px auto 0 auto;
}
#services-section ul:nth-of-type(1) {
  max-width: 1400px;
  margin: 40px auto 0 auto;
  overflow: hidden;
  zoom: 1;
}
#services-section ul:nth-of-type(1) li {
  float: left;
  width: 23%;
  padding: 0 1%;
  box-sizing: unset;
}
#services-section ul:nth-of-type(1) li img {
  width: 100%;
  height: auto;
}
#services-section ul:nth-of-type(1) li h3 {
  font-size: 20px;
  color: #fff;
  background-color: #323232;
  display: inline-block;
  padding: 6px 12px 4px 12px;
  margin-top: -15px;
  position: absolute;
}
#services-section ul:nth-of-type(1) li p {
  max-width: auto;
  font-size: 14px;
  color: #999999;
  line-height: 1.5;
  margin: 28px 0 0 0;
}
#services-section h3 {
  font-size: 24px;
  text-align: center;
  margin-top: 50px;
}
#services-section ul:nth-of-type(2) {
  overflow: hidden;
  zoom: 1;
  padding: 10px 10px 0 10px;
  max-width: 1380px;
  margin: 0 auto;
}
#services-section ul:nth-of-type(2) li {
  float: left;
  width: 25%;
  border-right: 10px solid #fff;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  margin-top: 10px;
  min-height: 90px;
  padding: 0 15px 0 95px;
}
#services-section ul:nth-of-type(2) li:nth-of-type(4n) {
  border-right: 0;
}
#services-section ul:nth-of-type(2) li:nth-of-type(1) {
  background: url(../images/icon1.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(2) {
  background: url(../images/icon2.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(3) {
  background: url(../images/icon3.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(4) {
  background: url(../images/icon4.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(5) {
  background: url(../images/icon5.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(6) {
  background: url(../images/icon6.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(7) {
  background: url(../images/icon7.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li:nth-of-type(8) {
  background: url(../images/icon8.png) no-repeat left top;
  -webkit-background-size: 90px 90px;
  background-size: 90px 90px;
  background-color: #f5f1ed;
}
#services-section ul:nth-of-type(2) li h4 {
  font-size: 18px;
  font-weight: normal;
  line-height: 1.3;
  padding: 15px 0 0 5px;
}
#services-section ul:nth-of-type(2) li p {
  font-size: 14px;
  line-height: 1.3;
  padding: 5px 0 5px 0;
  color: #999999;
  max-width: auto;
  margin: 0;
}
@media screen and (max-width: 1280px) {
  #slide {
    width: 94%;
    padding: 115px 3% 0 3%;
  }
  #services-section {
    padding: 50px 4% 60px 4%;
  }
}
@media screen and (max-width: 900px) {
  header {
    height: auto;
  }
  #slide {
    width: 100%;
    padding: 70px 0 0 0;
    height: 460px;
  }
  #slide li {
    height: 460px;
  }
  #slide li h2 {
    font-size: 60px;
  }
  #slide li h2 strong {
    font-size: 15px;
    padding-top: 3px;
  }
  #slide li h2 img {
    width: 64px;
    vertical-align: -8px;
    padding-right: 10px;
  }
  #slide li#slide-renovation h2 {
    left: 7%;
    bottom: 130px;
  }
  #slide li#slide-shop h2 {
    left: 7%;
    top: 120px;
  }
  #slide li#c100 h2 {
    left: 7%;
    top: 100px;
  }
  #slide li#slide-apartment h2 {
    left: 7%;
    top: 140px;
  }
  #services-section {
    padding: 30px 4% 50px 4%;
  }
  #services-section p {
    margin-top: 15px;
    font-size: 15px;
    line-height: 1.6;
  }
  #services-section ul:nth-of-type(1) {
    margin: 0;
  }
  #services-section ul:nth-of-type(1) li {
    width: 47%;
    margin-top: 30px;
    padding: 0 2% 0 1%;
  }
  #services-section ul:nth-of-type(1) li:nth-of-type(2),
  #services-section ul:nth-of-type(1) li:nth-of-type(4) {
    padding: 0 1% 0 2%;
  }
  #services-section ul:nth-of-type(1) li:nth-of-type(3) {
    clear: both;
  }
  #services-section ul:nth-of-type(1) li h3 {
    font-size: 17px;
    padding: 6px 9px 4px 9px;
    margin-top: -12px;
  }
  #services-section ul:nth-of-type(1) li p {
    line-height: 1.4;
    margin: 24px 0 0 0;
  }
  #services-section h3 {
    font-size: 20px;
    margin-top: 40px;
  }
  #services-section ul:nth-of-type(2) {
    padding: 10px 1% 0 1%;
  }
  #services-section ul:nth-of-type(2) li {
    width: 50%;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(2n) {
    border-right: 0;
  }
}
@media screen and (max-width: 450px) {
  #slide {
    height: 320px;
  }
  #slide li {
    height: 320px;
  }
  #slide li h2 {
    font-size: 40px;
  }
  #slide li h2 strong {
    font-weight: normal;
    font-size: 13px;
    padding-top: 0;
  }
  #slide li h2 img {
    width: 44px;
    vertical-align: -4px;
    padding-right: 5px;
  }
  #slide li#slide-renovation h2 {
    left: 7%;
    bottom: 85px;
  }
  #slide li#slide-shop h2 {
    left: 7%;
    top: 85px;
  }
  #slide li#c100 h2 {
    left: 7%;
    top: 60px;
  }
  #slide li#slide-apartment h2 {
    left: 7%;
    top: 100px;
  }
  #services-section ul:nth-of-type(2) li {
    min-height: 60px;
    padding: 0 10px 0 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(1) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(2) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(3) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(4) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(5) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(6) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(7) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li:nth-of-type(8) {
    -webkit-background-size: 60px 60px;
    background-size: 60px 60px;
  }
  #services-section ul:nth-of-type(2) li h4 {
    font-size: 16px;
    padding: 10px 0 0 4px;
  }
  #services-section ul:nth-of-type(2) li p {
    font-size: 13px;
    padding: 4px 0 5px 0;
  }
}

table.company-info-table {
  border-spacing: 5px;
}

table.company-info-table th,
table.company-info-table td {
  vertical-align: top;
}

table.company-info-table th {
  background-color: #c39f75;
  text-align: center;
  font-weight: 700;
  color: #fff;
  padding: 10px 0;
  border-top: 1px solid #c39f75;
}

table.company-info-table th p {
  white-space: nowrap;
  line-height: 1.6;
}

@media screen and (max-width: 568px) {
  table.company-info-table th {
    border-top: none;
    padding: 5px 0;
  }
}

table.company-info-table td {
  padding: 10px;
  border-top: 1px solid #8f6d51;
}

table.company-info-table td p {
  word-break: break-all;
  line-height: 1.6;
}

table.company-info-table td p a {
  text-decoration: underline;
  word-break: break-all;
}

@media screen and (max-width: 568px) {
  table.company-info-table td {
    border-top: none;
  }
}

@media screen and (max-width: 568px) {
  table.company-info-table {
    display: block;
  }

  table.company-info-table tbody,
  table.company-info-table tr,
  table.company-info-table th,
  table.company-info-table td {
    display: block;
    width: 100%;
  }
}

.company-info-wrapper {
  background-color: #fff;
  border-radius: 10px;
  max-width: 1030px;
  padding: 40px;
}

@media screen and (max-width: 768px) {
  .company-info-wrapper {
    padding: 30px 25px;
  }
}

@media screen and (max-width: 568px) {
  .company-info-wrapper {
    padding: 20px 15px;
  }
}

@media screen and (min-width: 569px) {
}

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

@media screen and (min-width: 569px) {
}

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

.company-info-wrapper {
  background-color: #fff;
  border-radius: 10px;
  max-width: 1030px;
  padding: 40px;
}

@media screen and (max-width: 768px) {
  .company-info-wrapper {
    padding: 30px 25px;
  }
}

@media screen and (max-width: 568px) {
  .company-info-wrapper {
    padding: 20px 15px;
  }
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

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

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

picture {
  display: block;
}

br {
  line-height: inherit;
}

hr {
  height: 1px;
  clear: both;
  border: none;
  border-top: #ccc 1px solid;
  color: #fff;
}

.wrapper,
footer .c046 .c047,
footer section.c096,
footer section.c031,
div.c024,
div.c087 div.c053,
div.c007,
div.c048 p.c049,
div.c048 p.c023,
div.c048 div.c038,
div.c048 div.c002 div.c035,
div.c035 .c057,
div.c037,
div.c037 .c036,
div.c037 .c109,
div.c037 .c057,
.c079 .company-section .c034,
.c089,
.c006,
.c085,
nav.c078 > ul,
div.c033,
div.c033 br {
  zoom: 1;
}

.wrapper:after,
footer .c046 .c047:after,
footer section.c096:after,
footer section.c031:after,
div.c024:after,
div.c087 div.c053:after,
div.c007:after,
div.c048 p.c049:after,
div.c048 p.c023:after,
div.c048 div.c038:after,
div.c048 div.c002 div.c035:after,
div.c035 .c057:after,
div.c037:after,
div.c037 .c036:after,
div.c037 .c109:after,
div.c037 .c057:after,
.c079 .company-section .c034:after,
.c089:after,
.c006:after,
.c085:after,
nav.c078 > ul:after,
div.c033:after,
div.c033 br:after {
  display: block;
  content: "";
  clear: both;
}

.contact-section {
  padding: 100px 0 0;
  color: #fff;
  background-color: #f7f4ef;
}

@media screen and (max-width: 768px) {
  .contact-section {
    padding: 80px 0 0;
  }
}

.contact-section h2.ttl {
  color: #fff;
}

.contact-section h2.ttl strong {
  color: rgba(255, 255, 255, 0.4);
}

@media screen and (min-width: 769px) {
  .contact-section h2.ttl {
    color: #fff;
  }

  .contact-section h2.ttl strong {
    display: inline-block;
    font-size: 90px;
  }
}

.contact-section .cta_box {
  background-image: url(../images/bg_contact_pc.jpg);
  background-size: cover;
  background-position: top center;
  padding: 60px 50px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .contact-section .cta_box {
    padding: 60px 30px;
    background-image: url(../images/bg_contact_sp.jpg);
  }
}

@media screen and (max-width: 568px) {
  .contact-section .cta_box {
    padding: 50px 20px;
    background-image: url(../images/bg_contact_sp.jpg);
  }
}

.contact-section .lead_cta {
  font-size: 18px;
  margin-bottom: 30px;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  .contact-section .lead_cta {
    font-size: 16px;
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 568px) {
  .contact-section .lead_cta {
    font-size: 14px;
  }
}

.contact-section .cv_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media screen and (max-width: 568px) {
  .contact-section .cv_flex {
    display: block;
  }
}

.contact-section .cv_item {
  width: 31.5%;
}

@media screen and (max-width: 768px) {
  .contact-section .cv_item {
    width: 48%;
  }
}

@media screen and (max-width: 568px) {
  .contact-section .cv_item {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .contact-section .link_phone {
    width: 100%;
    margin-bottom: 30px;
    text-align: center;
  }

  .contact-section .link_phone .link_box {
    display: inline-block;
  }

  .contact-section .link_phone .phone_no {
    margin: 0 auto;
  }
}

@media screen and (max-width: 568px) {
  .contact-section .link_phone {
    margin-bottom: 20px;
  }
}

.contact-section .link_phone .phone_no {
  max-width: 100%;
}

@media screen and (max-width: 568px) {
  .contact-section .link_phone .phone_no {
    max-width: 280px;
  }
}

@media screen and (max-width: 414px) {
  .contact-section .link_phone .phone_no {
    max-width: 252px;
  }
}

.contact-section .link_phone .open_time {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

@media screen and (max-width: 1260px) {
  .contact-section .link_phone .open_time {
    font-size: 13px;
  }
}

@media screen and (max-width: 768px) {
  .page {
    padding-top: 1px;
  }
  .contact-section .link_phone .open_time {
    font-size: 17px;
  }
}

@media screen and (max-width: 568px) {
  .contact-section .link_phone .open_time {
    font-size: 13px;
  }
}

@media screen and (max-width: 414px) {
  .contact-section .link_phone .open_time {
    font-size: 11px;
  }
}

.contact-section .btn_document a {
  background-color: #fff;
  background-image: url(../images/arrow_btn_right.svg);
}

.contact-section .btn_document a:hover {
  background-image: url(../images/arrow_btn_right_w.svg);
}

.contact-section .btn_consul a {
  background-image: url(../images/arrow_btn_right_w.svg);
}

@media screen and (max-width: 568px) {
  .contact-section .btn_consul {
    margin-top: 20px;
  }
}

.contact-section .btn_document a,
.contact-section .btn_consul a {
  font-size: 21px;
  padding: 24px 55px 24px 35px;
  border-radius: 5px;
  background-size: 17px auto;
  background-position: right 45px center;
}

.contact-section .btn_document a span,
.contact-section .btn_consul a span {
  padding-left: 40px;
  background-size: 24px auto;
}

@media screen and (max-width: 768px) {
  .contact-section .btn_document a,
  .contact-section .btn_consul a {
    font-size: 17px;
    padding: 20px 50px 20px 25px;
    background-size: 14px auto;
    background-position: right 30px center;
  }

  .contact-section .btn_document a span,
  .contact-section .btn_consul a span {
    padding-left: 25px;
    background-size: 15px auto;
  }
}

#spbg {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 10;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  opacity: 0.5;
  display: none;
}

/* 蜈ｨ菴薙Λ繝�ヱ繝ｼ�亥ｹ��譛ｬ繧ｵ繧､繝医↓蜷医ｏ縺帙※隱ｿ謨ｴ�� */
.contact-section {
  background: #f7f7f7;
  padding: 120px 15px 60px;
}

.contact-inner {
  max-width: 1080px;
  margin: 0 auto;
  background: #fff;
  padding: 40px 30px;
  box-sizing: border-box;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont,
    "Helvetica Neue", Arial, "YuGothic", "Yu Gothic", "Meiryo", sans-serif;
}

.contact-title {
  font-size: 1.6rem;
  margin: 0 0 10px;
  text-align: center;
  letter-spacing: 0.05em;
}

.contact-lead {
  text-align: center;
  margin: 0 0 30px;
  font-size: 0.95rem;
  color: #555;
}

/* 繝輔か繝ｼ繝�陦後Ξ繧､繧｢繧ｦ繝� */
.contact-form {
  width: 100%;
}

.contact-row {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #e5e5e5;
  padding: 18px 0;
}

.contact-row:last-child {
  border-bottom: 1px solid #e5e5e5;
}

/* 繝ｩ繝吶Ν蛛ｴ */
.contact-label {
  width: 28%;
  box-sizing: border-box;
  padding-right: 15px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.contact-label-text {
  font-weight: 600;
  font-size: 0.95rem;
}

/* 蠢��医ヰ繝�ず */
.contact-required {
  display: inline-block;
  font-size: 0.7rem;
  background: #c00;
  color: #fff;
  padding: 2px 6px;
  border-radius: 2px;
}

/* 蜈･蜉帛� */
.contact-field {
  width: 72%;
  box-sizing: border-box;
}

/* 繧､繝ｳ繝励ャ繝亥�騾� */
.contact-input,
.contact-textarea {
  width: 100%;
  font-size: 0.95rem;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.contact-input:focus,
.contact-textarea:focus {
  border-color: #f0a000;
  box-shadow: 0 0 0 2px rgba(240, 160, 0, 0.15);
}

/* 繝�く繧ｹ繝医お繝ｪ繧｢ */
.contact-textarea {
  resize: vertical;
  min-height: 150px;
}

/* 繝ｩ繧ｸ繧ｪ繝懊ち繝ｳ */
.contact-radio {
  display: inline-flex;
  align-items: center;
  margin-right: 20px;
  font-size: 0.95rem;
  cursor: pointer;
}

.contact-radio input {
  margin-right: 6px;
}

/* 陬懆ｶｳ繝�く繧ｹ繝� */
.contact-note {
  margin-top: 6px;
  font-size: 0.8rem;
  color: #888;
}

/* 騾∽ｿ｡繝懊ち繝ｳ陦� */
.contact-row-submit {
  border-bottom: none;
  padding-top: 26px;
}

.contact-submit {
  display: inline-block;
  min-width: 220px;
  padding: 12px 30px;
  border: none;
  border-radius: 30px;
  background: #f0a000; /* 縺雁･ｽ縺ｿ縺ｧ繧ｵ繧､繝医�繧｢繧ｯ繧ｻ繝ｳ繝医き繝ｩ繝ｼ縺ｫ螟画峩 */
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  text-align: center;
  transition: opacity 0.2s, transform 0.1s;
}

.contact-submit:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.contact-submit:active {
  transform: translateY(0);
}

/* 繧ｹ繝槭�蟇ｾ蠢� */
@media (max-width: 768px) {
  .contact-inner {
    padding: 30px 15px;
  }

  .contact-row {
    display: block;
  }

  .contact-label,
  .contact-field {
    width: 100%;
  }

  .contact-label {
    margin-bottom: 6px;
    padding-right: 0;
  }

  .contact-row-submit {
    text-align: center;
  }
}

.bx-wrapper {
  position: relative;
  margin: 0 auto 0px;
  padding: 0;
  *zoom: 1;
}
.bx-wrapper img {
  max-width: 100%;
  display: block;
}
.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: 60px;
  width: 100%;
}
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(../img/home/bx_loader.gif) center center no-repeat #fff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
}
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: 0.85em;
  font-family: Arial;
  font-weight: bold;
  color: #fff;
  z-index: 20;
}
.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  outline: 0;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #323232;
}
