@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/* =========================================
  base  PC
========================================= */
body { /* fontはcmn-txtに合わせる */
  width: 100%;
  min-width: 1280px;
  margin: auto;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}
body {
  letter-spacing: 0;
  line-height: 2.1;
}

.disable-auto-tel a {
  color: inherit;
  text-decoration: none;
}

a[href^="tel:"] {
  pointer-events: none;
}

a[href^=fax] {
  -webkit-tap-highlight-color: transparent !important;
  pointer-events: none !important;
  -webkit-touch-callout: none !important;
  -webkit-user-select: none !important;
  text-decoration: none !important;
}

.com-inner,
.bread-inner {
  width: 100%;
  max-width: 1080px;
  margin: auto;
}

.com-inner-lg {
  width: 100%;
  max-width: 1800px;
  margin: auto;
}

.sec-inner-md {
  width: 1280px;
}

.sp-only, .xs-only {
  display: none !important;
}

/*==================================================
お問い合わせフォーム
================================================== */
.contact-form-table {
  width: 100%;
  max-width: 1080px;
  background: none;
}
.contact-form-table tr {
  border: none;
}
.contact-form-table th, .contact-form-table td {
  padding: 15px 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .contact-form-table th, .contact-form-table td {
    font-size: 1.5rem;
  }
}
.contact-form-table th, .contact-form-table td {
  letter-spacing: 0.05em;
  vertical-align: top;
  line-height: 1.6;
}
.contact-form-table th {
  width: 370px;
}
.contact-form-table a {
  color: #1a1a1a;
  text-decoration: underline;
}
.contact-form-table textarea {
  resize: none;
}
.contact-form-table select, .contact-form-table textarea, .contact-form-table input[type=tel], .contact-form-table input[type=text], .contact-form-table input[type=email], .contact-form-table input[type=url] {
  background: #fff;
  border-radius: 0;
}
.contact-form-table .required-mark {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  height: 30px;
  line-height: 25px;
}
@media screen and (max-width: 767px) {
  .contact-form-table th, .contact-form-table td {
    padding: 9px;
    font-size: 1.6rem;
  }
  .contact-form-table th {
    border: none;
  }
  .contact-form-table td {
    border-color: #dc2a05;
  }
  .contact-form-table label[for=agree] {
    margin: auto;
    font-size: 1.6rem;
  }
}
.contact-form-table .date-list {
  padding-left: 0;
}

.error-text {
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .error-text {
    font-size: 1.5rem;
  }
}

.privacy-wrap {
  display: flex;
  max-width: 334px;
  margin: auto;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.privacy-wrap .error-text {
  font-size: 14px;
  font-size: 1.4rem;
}
.privacy-wrap a {
  color: #1a1a1a;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .privacy-wrap .inline-privacy-policy-txt, .privacy-wrap a {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

input[type=radio] + label, input[type=checkbox] + label {
  color: #1a1a1a;
}

/* =========================================
  タグテンプレート
========================================= */
.tag-select-box {
  position: relative;
  width: 40%;
  margin: 20px 0 20px auto;
  max-width: 230px;
}
.tag-select-box::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  right: 0.8em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #1a1a1a;
  pointer-events: none;
}
.tag-select-box #tag-select {
  width: 100%;
  padding: 5% 20% 5% 5%;
  box-sizing: border-box;
  font-size: 1.2rem;
  margin-left: auto;
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  border: none;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #1a1a1a;
  cursor: pointer;
  border-radius: 0;
  background: none;
  color: #1a1a1a;
  font-weight: 700;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.tag-select-box #tag-select option {
  padding: 10px;
  cursor: pointer;
  box-sizing: border-box;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  color: #006;
}

/*	parts  PC
------------------------------------ */
a {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  a {
    transition: all 0.3s ease;
  }
  a:hover {
    opacity: 0.7;
  }
}

.br {
  display: inline-block;
}

.over {
  overflow: hidden;
}

.com-txt,
#privacy .txt-box {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .com-txt,
  #privacy .txt-box {
    font-size: 1.5rem;
  }
}
.com-txt,
#privacy .txt-box {
  letter-spacing: 0;
  line-height: 2.1;
}

.fit {
  width: 100%;
  height: 100%;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: all 0.3s ease;
}

/*	com-btn  PC
------------------------------------ */
.com-btn {
  display: block;
  width: 100%;
  max-width: 448px;
  height: 60px;
  background: url(../img/top/com-btn-awr.png) no-repeat calc(100% - 30px) center #dc2a05;
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .com-btn {
    font-size: 1.5rem;
  }
}
.com-btn {
  letter-spacing: 0;
  line-height: 60px;
}
@media screen and (min-width: 768px) {
  .com-btn:hover {
    background-position-x: calc(100% - 25px);
    opacity: 1;
  }
}

#contact .contact-submits-wrap {
  text-align: center;
}
#contact .contact-submits-btn {
  /*必須*/
  margin: auto;
  padding: 0;
  border: none;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  /*追加*/
  display: block;
  width: 100%;
  max-width: 448px;
  height: 60px;
  background: url(../img/top/com-btn-awr.png) no-repeat calc(100% - 30px) center #dc2a05;
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #contact .contact-submits-btn {
    font-size: 1.5rem;
  }
}
#contact .contact-submits-btn {
  letter-spacing: 0;
  line-height: 60px;
}
@media screen and (min-width: 768px) {
  #contact .contact-submits-btn:hover {
    background-position-x: calc(100% - 25px);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  #contact .contact-submits-btn {
    background-position-x: calc(100% - 20px);
    background-size: 12px;
  }
}
#contact .contact-submits-btn.mt30 {
  margin-top: 30px !important;
}

/*	com-table  PC
------------------------------------ */
.com-table {
  width: 100%;
}
.com-table tr:nth-of-type(n+2) {
  border-top: 1px solid #a9a9a9;
}
.com-table th, .com-table td {
  padding: 15px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .com-table th, .com-table td {
    font-size: 1.5rem;
  }
}
.com-table th, .com-table td {
  letter-spacing: 0;
  line-height: 1.5;
  vertical-align: middle;
}
.com-table th {
  width: 205px;
  padding-left: 74px;
  color: #dc2a05;
}
.com-table td {
  white-space: pre-line;
}
.com-table-note {
  display: block;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .com-table-note {
    font-size: 1.5rem;
  }
}
.com-table-note {
  line-height: 1;
}
.com-table-note img {
  vertical-align: middle;
}

/*	heading  PC
------------------------------------ */
.com-ttl01 {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 5.8rem;
}
@media screen and (max-width: 768px) {
  .com-ttl01 {
    font-size: 2.9rem;
  }
}
.com-ttl01 {
  letter-spacing: 0;
  font-style: italic;
  line-height: 1.6;
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px, 0px 9px 2px rgba(0, 0, 0, 0.17);
}
.com-ttl01::after {
  content: "";
  display: block;
  width: 106px;
  height: 4px;
  margin: 20px auto 0;
  background: linear-gradient(90deg, #dc2a05 0%, #dc2a05 50%, #1519aa 50%, #1519aa 100%);
}
.com-ttl02 {
  padding-bottom: 9px;
  border-bottom: 2px solid #dc2a05;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .com-ttl02 {
    font-size: 1.5rem;
  }
}
.com-ttl02 {
  letter-spacing: 0;
  line-height: 1.6;
}

/*	sidebar  PC
------------------------------------ */
.sidebar {
  position: fixed;
  bottom: 20px;
  right: 0;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .sidebar-list {
    width: 101px;
  }
}
.sidebar-list-item:nth-of-type(n+2) {
  margin: 20px 0 0;
  text-align: center;
}
.sidebar-tel {
  display: block;
  padding: 14px;
  background: #DC2A05;
  background: linear-gradient(90deg, rgb(220, 42, 5) 0%, rgb(171, 29, 0) 100%);
  writing-mode: vertical-rl;
  position: relative;
}
.sidebar-tel::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  margin: auto;
  background: url(../img/top/side-icon.png) no-repeat center/contain;
  position: absolute;
  left: 0;
  right: 0;
  top: -54px;
}
.sidebar-tel-txt {
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0;
}
.sidebar-tel-txt .lg {
  font-size: 1.7rem;
}
.sidebar-tel-num {
  margin-right: 10px;
  padding-top: 21px;
  background: url(../img/top/side-tel.png) no-repeat center top;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .sidebar-tel-num {
    font-size: 1.5rem;
  }
}
.sidebar-tel-num {
  letter-spacing: -0.06em;
  line-height: 1.1;
  color: #fff;
}

@keyframes floatY {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
  100% {
    transform: translateY(0);
  }
}
/*	breadcrumb  PC
------------------------------------ */
.breadcrumb {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 10;
}
.breadcrumb .bread-inner {
  width: 100%;
  max-width: 1080px;
  padding-right: 20px;
  margin: auto;
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  z-index: 1;
}
.breadcrumb ul {
  display: flex;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breadcrumb ul li {
  display: inline;
}
.breadcrumb ul li:nth-of-type(3) {
  display: inline;
  max-width: 70%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.breadcrumb ul li:last-child::after {
  content: none;
}
.breadcrumb li, .breadcrumb a {
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .breadcrumb li, .breadcrumb a {
    font-size: 1.5rem;
  }
}
.breadcrumb li, .breadcrumb a {
  letter-spacing: 0;
  line-height: 1;
}
.breadcrumb li::after {
  content: ">";
  display: inline-block;
  padding: 0 16px;
  color: #1a1a1a;
}
.breadcrumb a {
  color: #1a1a1a;
}

/*	pagenation  PC
------------------------------------ */
.pagenation {
  display: flex;
  margin: 50px auto 0;
  justify-content: center;
  align-items: center;
}
.pagenation li {
  display: inline-block;
  width: 40px;
  height: 40px;
  outline: 1px solid #e9e9e9;
  background-color: #fff;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .pagenation li {
    font-size: 1.5rem;
  }
}
.pagenation li {
  letter-spacing: 0.05em;
  color: #e9e9e9;
  line-height: 40px;
}
.pagenation li:nth-of-type(n+2) {
  margin-left: 10px;
}
.pagenation a, .pagenation span {
  display: block;
}
.pagenation a {
  color: #1a1a1a;
}
.pagenation .current {
  background: #dc2a05;
  color: #fff;
  pointer-events: none;
}
.pagenation .next-li, .pagenation .back-li {
  background: none;
  border: none;
}
.pagenation .back-arrow, .pagenation .next-arrow {
  display: block;
  height: 100%;
}
.pagenation-arrow {
  width: 100%;
  height: 100%;
}
.pagenation-arrow::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.arrow-left {
  width: 100%;
  height: 100%;
  margin: auto;
  border: none;
  background: none;
  position: relative;
  display: inline-block;
}

.arrow-left::before {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-right: 9px solid #1a1a1a;
  border-left: 0;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

.arrow-right {
  width: 100%;
  height: 100%;
  margin: auto;
  border: none;
  background: none;
  position: relative;
  display: inline-block;
}

.arrow-right::before {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 9px solid #1a1a1a;
  border-right: 0;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

/*	detail pagenation  PC
------------------------------------ */
.pagenation-inner {
  width: 100%;
  margin: 28px auto 0;
  height: 25px;
  text-align: center;
}

.data-nav {
  position: relative;
  text-align: center;
}
.data-nav a {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .data-nav a {
    font-size: 1.5rem;
  }
}
.data-nav a {
  letter-spacing: 0.04em;
  color: #1a1a1a;
  line-height: 1;
  transition: all 0.3s ease;
}
.data-nav a:hover {
  opacity: 0.7;
}
.data-nav .next a, .data-nav .back a {
  background: none !important;
}

.to-works-btn {
  display: inline-block;
  padding: 0 9px;
  border-left: 1px solid #1a1a1a;
  border-right: 1px solid #1a1a1a;
}

.back-btn {
  display: flex;
  align-items: flex-end;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.back-btn::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-right: 14px;
  border-style: solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 8.25px solid #1a1a1a;
  border-left: 0;
  transform: translateY(-50%);
}

.next-btn {
  display: flex;
  align-items: flex-end;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.next-btn::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin-left: 14px;
  border-style: solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 8.25px solid #1a1a1a;
  border-right: 0;
  transform: translateY(-50%);
}

/*	ggmap  PC
------------------------------------ */
.ggmap {
  width: 100%;
  height: 0;
  padding-top: 500px;
  position: relative;
}

.ggmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
}

/* =========================================
  header  PC
========================================= */
/*	headline  PC
------------------------------------ */
.headline {
  width: 100%;
  padding: 13px 40px;
}
.headline-tel-read {
  padding: 2px;
  background: #e3e3e3;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1;
}
.headline-tel-read .lg {
  font-size: 1.7rem;
}
.headline-tel-link {
  margin-top: 5px;
  padding-left: 26px;
  background: url(../img/top/info-tel.png) no-repeat left center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .headline-tel-link {
    font-size: 2rem;
  }
}
.headline-tel-link {
  letter-spacing: 0;
  line-height: 1;
}

.logo {
  display: inline-block;
}
.logo a, .logo img {
  display: block;
}
.logo img {
  width: 100%;
}

/*	gnav  PC
------------------------------------ */
.gnav {
  border-top: 2px solid #dc2a05;
  background: linear-gradient(180deg, #f4f4f4 0%, #f4f4f4 58%, #e8e8e8 58%, #e8e8e8 100%);
  line-height: 1;
}
.gnav-list {
  display: flex;
  justify-content: center;
}
.gnav-list-item {
  width: 204px;
  border-left: 1px solid #a9a9a9;
}
.gnav-list-item:last-of-type {
  border-right: 1px solid #a9a9a9;
}
.gnav-list-link {
  display: block;
  padding: 16px 0;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .gnav-list-link {
    font-size: 1.5rem;
  }
}
.gnav-list-link {
  letter-spacing: 0.08em;
}
.gnav-list-link.current {
  color: #dc2a05;
}

/* mv  PC
------------------------------------ */
.mv {
  width: 100%;
  height: 0;
  padding-top: 42.1%;
  background: url(../img/top/mv.jpg) no-repeat center top/cover;
  position: relative;
}
.mv-catch {
  width: 50%;
  position: absolute;
  left: 5.6%;
  top: 4.8%;
  z-index: 10;
}
.mv-catch img {
  width: 100%;
}

/* =========================================
  footer  PC
========================================= */
#footer {
  border-top: 2px solid #dc2a05;
}
#footer .foo-inner {
  padding: 70px 0;
  text-align: center;
}
#footer .foo-info {
  margin: 39px auto 0;
}
#footer .foo-info-btn {
  max-width: 326px;
  margin-left: 35px;
}

.fnav {
  margin: 30px auto 0;
  padding-top: 24px;
  border-top: 1px solid #a9a9a9;
  line-height: 1;
}
.fnav-list {
  display: flex;
  justify-content: center;
}
.fnav-list:nth-of-type(n+2) {
  margin: 15px auto 0;
}
.fnav-list > li:nth-of-type(n+2) {
  margin-left: 35px;
}
.fnav-list-link {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 1.7rem;
}
@media screen and (max-width: 768px) {
  .fnav-list-link {
    font-size: 1.5rem;
  }
}
.fnav-list-link {
  letter-spacing: 0.08em;
  color: #1a1a1a;
}
.fnav-list-link.current {
  color: #dc2a05;
}

.copy-txt {
  display: block;
  margin: 40px auto 0;
  text-align: center;
}
.copy-txt, .copy-link {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0;
}

/* =========================================

  sub layout  PC

========================================= */
/*	sub mv  PC
------------------------------------ */
.sv {
  padding: 202px 0;
}
.sv-catch {
  width: 100%;
  max-width: 1080px;
  height: 116px;
  margin: auto;
  text-align: center;
  background: url(../img/sv-catch.png) no-repeat center/cover;
  border-radius: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
  font-size: 5.6rem;
}
@media screen and (max-width: 768px) {
  .sv-catch {
    font-size: 2.8rem;
  }
}
.sv-catch {
  letter-spacing: 0;
  color: #fff;
  line-height: 116px;
  font-style: italic;
  text-shadow: 0px 9px 2px rgba(0, 0, 0, 0.17);
}
.sv-guide {
  background: url(../img/sub/guide.jpg) no-repeat center/cover;
}
.sv-service {
  background: url(../img/sub/service.jpg) no-repeat center/cover;
}
.sv-faq {
  background: url(../img/sub/faq.jpg) no-repeat center/cover;
}
.sv-company {
  background: url(../img/sub/company.jpg) no-repeat center/cover;
}
.sv-blog {
  background: url(../img/sub/blog.jpg) no-repeat center/cover;
}
.sv-contact {
  background: url(../img/sub/contact.jpg) no-repeat center/cover;
}
.sv-complete {
  background: url(../img/sub/complete.jpg) no-repeat center/cover;
}
.sv-privacy {
  background: url(../img/sub/privacy.jpg) no-repeat center/cover;
}
.sv-site {
  background: url(../img/sub/site.jpg) no-repeat center/cover;
}
.sv-notfound {
  background: url(../img/sub/notfound.jpg) no-repeat center/cover;
}

/*	news  PCSP
------------------------------------ */
#news .com-news {
  margin: 60px auto 0;
}
#news .com-news-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #news .com-news-item:nth-of-type(n+2) {
    margin-top: 80px;
  }
}
#news .com-news-link {
  display: block;
  width: 100%;
}
#news .com-news-img {
  width: 250px;
  height: 200px;
  margin-right: 30px;
  position: relative;
  flex-shrink: 0;
}
#news .com-news-con {
  width: 100%;
}
#news .com-news-ttl {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  #news .com-news-ttl {
    font-size: 1.5rem;
  }
}
#news .com-news-txt {
  margin-top: 10px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #news .com-news-txt {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #news .com-news {
    margin-top: 30px;
  }
  #news .com-news-item:nth-of-type(n+2) {
    margin: 40px auto 0;
  }
  #news .com-news-box {
    display: block;
  }
  #news .com-news-img {
    margin: 0 auto 15px;
  }
  #news .com-news-ttl {
    font-size: 1.8rem;
  }
  #news .com-news-txt {
    line-height: 1.8;
  }
}
#news .detail-flx {
  margin: 20px auto 0;
}
#news .detail-txt {
  margin: 20px auto 0;
}
@media screen and (max-width: 767px) {
  #news .detail-txt {
    margin-top: 10px;
  }
}

/*	contact  PC
------------------------------------ */
#contact .contact-note {
  margin: 50px auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #contact .contact-note {
    margin-top: 25px;
  }
}
#contact .complete-box {
  text-align: center;
}
#contact .complete-link {
  margin: 30px auto 0;
  color: inherit;
  text-decoration: underline;
}

/*	privacy  PC
------------------------------------ */
#privacy .privacy-box {
  margin: 50px auto 0;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #privacy .privacy-box {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #privacy .privacy-box {
    margin-top: 20px;
  }
}
#privacy .privacy-box-mt-none {
  margin-top: 0;
}
#privacy .privacy-box p {
  margin: 10px auto 0;
  line-height: 2;
}
#privacy .privacy-box ul {
  margin-top: 15px;
  padding-left: 20px;
}
#privacy .privacy-box li {
  list-style: disc;
}
#privacy .privacy-box-ttl_default {
  background-color: #e9e9e9;
  color: #1a1a1a;
  padding: 10px 15px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #privacy .privacy-box p {
    line-height: 1.7;
  }
}

/*	site  PCSP
------------------------------------ */
#site .site-box {
  max-width: 960px;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  #site .site-box {
    margin-top: 20px;
  }
}
#site .site-ul {
  width: 100%;
  max-width: 880px;
  margin: auto;
}
#site .site-li:nth-of-type(n+2) {
  border-top: 1px solid rgba(26, 26, 26, 0.2);
}
#site a.site-link::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #1a1a1a;
  border-right: 1px solid #1a1a1a;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  transition: all 0.3s ease;
}
#site .site-link {
  display: block;
  padding: 15px 30px;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 767px) {
  #site .site-link {
    padding: 12px 25px;
  }
}
@media screen and (min-width: 768px) {
  #site .site-link:hover::before {
    left: 10px;
  }
}
#site .dropdown-menu__list {
  margin-left: 30px;
  padding-bottom: 20px;
}
#site .dropdown-menu__list li:nth-of-type(n+2) {
  margin-top: 15px;
}
#site .dropdown-menu__link {
  padding-left: 30px;
  color: #1a1a1a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  box-sizing: border-box;
  position: relative;
}
#site .dropdown-menu__link::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #1a1a1a;
  border-right: 1px solid #1a1a1a;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  transition: all 0.3s ease;
}

/*	e404  PCSP
------------------------------------ */
@media screen and (min-width: 768px) {
  #e404 .sec-inner {
    padding: 100px 0;
  }
}
#e404 .sec-inner {
  box-sizing: border-box;
  color: #1a1a1a;
}
#e404 .top {
  display: inline-block;
  color: #1a1a1a;
  text-decoration: underline;
  transition: all 0.3s ease;
}
#e404 .top:hover {
  opacity: 0.7;
}
#e404 .section-content {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #e404 .section-content {
    margin-top: 0;
  }
}

/* =========================================

  sub layout  SP

========================================= */
@media screen and (max-width: 767px) {
  /* =========================================
    base  SP
  ========================================= */
  body {
    width: 100%;
    margin: auto;
    min-width: 350px;
    line-height: 2;
  }
  body.active { /* スクロール禁止 */
    overflow: hidden;
  }
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: inherit !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 480px) {
  .xs-only {
    display: inherit !important;
  }
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
  .ib {
    display: inline-block;
  }
}
@media screen and (max-width: 767px) {
  /*	parts  SP
  ------------------------------------ */
  .com-inner,
  .bread-inner,
  .middle-inner,
  .lg-inner .com-inner.md {
    width: 100% !important;
  }
  .com-txt, #privacy .txt-box {
    line-height: 1.8;
  }
  /*	com-btn  SP
  ------------------------------------ */
  .com-btn {
    background-position-x: calc(100% - 20px);
    background-size: 12px;
  }
  /*	com-table  SP
  ------------------------------------ */
  .com-table th, .com-table td {
    display: block;
    width: 100%;
    font-size: 1.5rem;
    padding: 10px;
  }
  .com-table th {
    padding-bottom: 0;
  }
  .com-table td {
    padding-top: 0;
  }
  /*	heading  SP
  ------------------------------------ */
  .com-ttl01::after {
    width: 49px;
    height: 2px;
  }
  .com-ttl02 {
    font-size: 2rem;
  }
  /*	sidebar  SP
  ------------------------------------ */
  .sidebar-tel {
    width: 90px;
  }
  .sidebar-tel::before {
    width: 35px;
    height: 34px;
    top: -34px;
  }
  .sidebar-tel-txt {
    padding: 5px 0;
  }
  .sidebar-tel-num {
    font-size: 1.6rem;
  }
  /*	pagenation  SP
  ------------------------------------ */
  .pagenation-inner {
    margin-top: 30px;
  }
  .pagenation li {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
  .pagenation li:nth-of-type(n+2) {
    margin-left: 15px;
  }
  /* =========================================
  header  SP
  ========================================= */
  /*	headline  SP
  ------------------------------------ */
  .headline {
    height: 80px;
    padding: 0 15px;
  }
  .headline-tel-link {
    font-size: 2.8rem;
  }
  .logo, .drawer-logo, .foo-logo {
    width: 152px !important;
  }
  .logo {
    z-index: 10;
  }
  /*	mv  SP
  ------------------------------------ */
  .mv {
    padding-top: 120%;
    background: url(../img/top/mv-sp-illu.png) no-repeat center 110%/65%, url(../img/top/mv-sp.jpg) no-repeat center bottom/cover;
  }
  .mv-catch {
    width: 80%;
    margin: auto;
    left: 0;
    right: 0;
  }
  /*	gnav  SP
  ------------------------------------ */
  .sp-menu-btn-wrp {
    background: #1a1a1a;
    border-radius: 5px;
    top: 11px;
  }
  .sp-menu-btn-wrp .sp-menu-btn-txt {
    display: block;
    font-size: 1rem;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    color: #fff;
  }
  .sp-menu-btn-wrp .sp-menu-btn span {
    height: 2px;
    background: #fff;
  }
  .sp-menu-btn-wrp .sp-menu-btn .bottom {
    top: 29px;
  }
  .sp-menu-btn.active .bottom {
    top: 30px;
  }
  /*	gnav-add  SP
  ------------------------------------ */
  #drawer-nav {
    padding: 23px 15px 30px;
    background: #fff;
  }
  #drawer-nav.active {
    z-index: 1000;
  }
  #drawer-nav .drawer-logo {
    max-width: none;
    margin-bottom: 0;
  }
  #drawer-nav .drawer-logo-wrap {
    justify-content: center;
  }
  #drawer-nav .drawer-logo img {
    vertical-align: middle;
  }
  #drawer-nav #nav {
    padding: 0 15px;
  }
  #drawer-nav #nav .drawer-list > li:nth-of-type(3) .drawer-dropdown__list li:nth-of-type(1) {
    display: none;
  }
  #drawer-nav #nav .drawer-link {
    display: block;
    padding: 12px 0 12px;
    border-color: #1a1a1a;
    color: #1a1a1a;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 0;
  }
  #drawer-nav #nav .drawer-link.current {
    opacity: 0.5;
  }
  #drawer-nav #nav .drawer-dropdown span::before, #drawer-nav #nav .drawer-dropdown span::after {
    background-color: #dc2a05;
  }
  #drawer-nav .drawer-nav__link {
    display: block;
    padding: 12px 12px 12px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
    color: #1a1a1a;
    text-align: left;
    border-color: #a9a9a9;
    font-size: 1.7rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
  #drawer-nav .drawer-nav__link.current {
    color: #dc2a05;
  }
  .drawer-info {
    margin: 30px auto 0;
    text-align: center;
  }
  /*	ggmap  SP
  ------------------------------------ */
  .ggmap {
    padding-top: 250px;
  }
  /* =========================================
  footer  SP
  ========================================= */
  #footer .foo-inner {
    padding: 35px 15px;
  }
  #footer .foo-info {
    margin-top: 35px;
    flex-direction: column;
    align-items: center;
  }
  #footer .foo-info-btn {
    max-width: 250px;
    margin: 25px auto 0;
  }
  .fnav {
    display: block;
    width: 100%;
    margin: 25px auto 0;
  }
  .fnav-list {
    display: block;
    text-align: left;
  }
  .fnav-list:nth-of-type(n+2) {
    margin-top: 30px;
  }
  .fnav-list li:nth-of-type(n+2) {
    margin: 30px 0 0;
  }
  .fnav-list-link {
    font-size: 1.5rem;
  }
  .copy-txt {
    margin: 25px auto 0;
  }
  .copy-txt, .copy-link {
    font-size: 1rem;
  }
  .copy-wrap {
    margin-top: 30px;
    text-align: left;
  }
  /* =========================================

    sub  SP

  ========================================= */
  /*	sub headline  SP
  ------------------------------------ */
  /* sub mv  SP
  ------------------------------------ */
  .sv {
    padding: 50px 15px;
  }
  .sv-catch {
    height: 60px;
    line-height: 60px;
  }
  /*	------- */
}
/*	------- */
/* =========================================
  breakpoint
========================================= *//*# sourceMappingURL=common.css.map */