@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/* =========================================
  base  PC
========================================= */
body { /* fontはcmn-txtに合わせる */
  width: 100%;
  min-width: 1220px;
  margin: auto;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@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: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  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: #1f1f1f;
  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: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  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: #f3c023;
  }
  .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: #1f1f1f;
  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: #1f1f1f;
}

/* =========================================
  タグテンプレート
========================================= */
.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 #1f1f1f;
  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: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  border: none;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #1f1f1f;
  cursor: pointer;
  border-radius: 0;
  background: none;
  color: #1f1f1f;
  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: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  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 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@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: 340px;
  height: 80px;
  margin: auto;
  text-align: center;
  border-radius: 999px;
  background: url(../img/top/com-btn-arw.png) no-repeat calc(100% - 20px) center #f3c023;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .com-btn {
    font-size: 1.5rem;
  }
}
.com-btn {
  letter-spacing: 0;
  line-height: 80px;
}

#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: 340px;
  height: 80px;
  margin: auto;
  text-align: center;
  border-radius: 999px;
  background: url(../img/top/com-btn-arw.png) no-repeat calc(100% - 20px) center #f3c023;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #contact .contact-submits-btn {
    font-size: 1.5rem;
  }
}
#contact .contact-submits-btn {
  letter-spacing: 0;
  line-height: 80px;
}
#contact .contact-submits-btn.mt30 {
  margin-top: 30px !important;
}

/*	com-table  PC
------------------------------------ */
.com-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
}
.com-table th, .com-table td {
  padding: 23px 48px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@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;
  vertical-align: middle;
  line-height: 1.5;
}
.com-table th {
  width: 380px;
  border-radius: 8px 0 0 8px;
  background: #9ddd15;
  text-align: center;
  color: #fff;
}
.com-table td {
  background: #efefef;
  border-radius: 0 8px 8px 0;
  white-space: pre-line;
}
.com-table-note {
  display: block;
}
.com-table-note img {
  vertical-align: middle;
}

/*	heading  PC
------------------------------------ */
.com-ttl01 {
  padding-top: 37px;
  background: url(../img/top/worries-ttl.png) no-repeat center top;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.4rem;
}
@media screen and (max-width: 768px) {
  .com-ttl01 {
    font-size: 2.2rem;
  }
}
.com-ttl01 {
  letter-spacing: 0;
  line-height: 1.2;
}
.com-ttl01 .md {
  color: #727272;
}
.com-ttl02 {
  padding-bottom: 10px;
  border-bottom: 2px solid #9ddd15;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .com-ttl02 {
    font-size: 1.75rem;
  }
}
.com-ttl02 {
  letter-spacing: 0;
  line-height: 1.5;
}

/*	sidebar  PC
------------------------------------ */
.sidebar {
  position: fixed;
  bottom: 18px;
  right: 18px;
  z-index: 100;
}
.sidebar-line {
  animation: floatY 3s ease infinite;
}

@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: 13px;
  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: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.breadcrumb ul li:last-child::after {
  content: none;
}
.breadcrumb li, .breadcrumb a {
  color: #1f1f1f;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .breadcrumb li, .breadcrumb a {
    font-size: 1.5rem;
  }
}
.breadcrumb li, .breadcrumb a {
  letter-spacing: 0.03em;
  line-height: 1;
}
.breadcrumb li::after {
  content: ">";
  display: inline-block;
  padding: 0 15px;
  color: #1f1f1f;
}
.breadcrumb a {
  color: #1f1f1f;
}

/*	pagenation  PC
------------------------------------ */
.pagenation {
  display: flex;
  margin: 50px auto 0;
  justify-content: center;
  align-items: center;
}
.pagenation li {
  display: inline-block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .pagenation li {
    font-size: 1.5rem;
  }
}
.pagenation li {
  letter-spacing: 0;
  color: #1f1f1f;
}
.pagenation li:nth-of-type(n+2) {
  margin-left: 20px;
}
.pagenation a, .pagenation span {
  display: block;
}
.pagenation a {
  color: #1f1f1f;
}
.pagenation .current {
  color: #f3c023;
  pointer-events: none;
  opacity: 0.5;
}
.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 {
  margin: auto;
  position: relative;
  display: inline-block;
  width: 11.8px;
  height: 19.6px;
}

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

.arrow-right {
  margin: auto;
  position: relative;
  display: inline-block;
  width: 11.8px;
  height: 19.6px;
}

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

/*	detail pagenation  PC
------------------------------------ */
.pagenation-inner {
  width: 100%;
  margin: 28px auto 0;
  padding-top: 20px;
  border-top: 1px dotted #9ddd15;
  text-align: center;
}

.data-nav {
  position: relative;
  text-align: center;
}
.data-nav a {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  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: #1f1f1f;
  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 #1f1f1f;
  border-right: 1px solid #1f1f1f;
}

.back-btn {
  display: flex;
  align-items: center;
  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 #1f1f1f;
  border-left: 0;
}

.next-btn {
  display: flex;
  align-items: center;
  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 #1f1f1f;
  border-right: 0;
}

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

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

/* =========================================
  header  PC
========================================= */
#header {
  padding-top: 124px;
}

/*	headline  PC
------------------------------------ */
.headline {
  width: 100%;
  height: 124px;
  margin: auto;
  padding: 0 30px;
  background: #fff;
  border-radius: 0 0 8px 8px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}
.headline-info li:nth-of-type(n+2) {
  margin-left: 10px;
}
.headline-info li:nth-of-type(n+3) {
  margin-left: 30px;
}

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

/*	gnav  PC
------------------------------------ */
.gnav {
  margin-top: 22px;
  line-height: 1;
}
.gnav-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.gnav-list-item:nth-of-type(n+2) {
  margin-left: 47px;
}
.gnav-list-link {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .gnav-list-link {
    font-size: 1.5rem;
  }
}
.gnav-list-link {
  letter-spacing: 0;
  transition: none;
  position: relative;
}
.gnav-list-link::after {
  content: "";
  width: 100%;
  height: 6px;
  margin: auto;
  background: #e5f6c1;
  position: absolute;
  bottom: -11px;
  left: 0;
  right: 0;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: all 0.4s ease;
}
.gnav-list-link:hover {
  opacity: 1;
}
.gnav-list-link:hover::after {
  transform: scale(1, 1);
}
.gnav-list-link.current::after {
  transform: scale(1, 1);
}

/*	mv  PC
------------------------------------ */
.mv {
  padding: 0 30px;
  position: relative;
}
.mv::before {
  content: "";
  width: 100%;
  height: 110px;
  margin: auto;
  background: url(../img/top/mv_bg.png) no-repeat center top/cover;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 500;
}
.mv img {
  width: 100%;
}
.mv-catch {
  width: 38.5%;
  margin: auto;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 35%;
  z-index: 100;
}

/* =========================================
  footer  PC
========================================= */
#footer .foo-bg {
  background: #f4f4f4;
}
#footer .foo-inner {
  padding: 100px 0 15px;
}
#footer .foo-address {
  margin-top: 40px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  #footer .foo-address {
    font-size: 1.5rem;
  }
}
#footer .foo-address {
  letter-spacing: 0;
  line-height: 1.5;
}
#footer .foo-box {
  display: inline-block;
  margin-top: 24px;
  padding: 27px 30px 30px;
  background: #fff;
  text-align: center;
  border-radius: 24px;
}
#footer .foo-worktime {
  display: inline-block;
  margin: 5px auto 0;
}

.fnav {
  display: flex;
  line-height: 1;
  justify-content: flex-end;
  align-items: flex-start;
}
.fnav ul:nth-of-type(n+2) {
  margin-left: 97px;
}
.fnav-list li:nth-of-type(n+2) {
  margin-top: 44px;
}
.fnav-list-link {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .fnav-list-link {
    font-size: 1.5rem;
  }
}
.fnav-list-link {
  letter-spacing: 0;
}
.fnav-list-link::before {
  content: "ー  ";
  color: #9ddd15;
}
.fnav-list-link.current {
  color: #9ddd15;
}

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

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

  sub layout  PC

========================================= */
/*	sub mv  PC
------------------------------------ */
.sv {
  height: 500px;
  border-radius: 194px 194px 0 0;
  text-align: center;
  position: relative;
}
.sv-catch {
  margin: auto;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .sv-catch {
    font-size: 2.5rem;
  }
}
.sv-catch {
  letter-spacing: 0;
  line-height: 1;
  color: #9ddd15;
  text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.87565px 0.989616px 0px, rgb(255, 255, 255) 3.51033px 1.9177px 0px, rgb(255, 255, 255) 2.92676px 2.72656px 0px, rgb(255, 255, 255) 2.16121px 3.36588px 0px, rgb(255, 255, 255) 1.26129px 3.79594px 0px, rgb(255, 255, 255) 0.282949px 3.98998px 0px, rgb(255, 255, 255) -0.712984px 3.93594px 0px, rgb(255, 255, 255) -1.66459px 3.63719px 0px, rgb(255, 255, 255) -2.51269px 3.11229px 0px, rgb(255, 255, 255) -3.20457px 2.39389px 0px, rgb(255, 255, 255) -3.69721px 1.52664px 0px, rgb(255, 255, 255) -3.95997px 0.56448px 0px, rgb(255, 255, 255) -3.97652px -0.432781px 0px, rgb(255, 255, 255) -3.74583px -1.40313px 0px, rgb(255, 255, 255) -3.28224px -2.28625px 0px, rgb(255, 255, 255) -2.61457px -3.02721px 0px, rgb(255, 255, 255) -1.78435px -3.57996px 0px, rgb(255, 255, 255) -0.843183px -3.91012px 0px, rgb(255, 255, 255) 0.150409px -3.99717px 0px, rgb(255, 255, 255) 1.13465px -3.8357px 0px, rgb(255, 255, 255) 2.04834px -3.43574px 0px, rgb(255, 255, 255) 2.83468px -2.82216px 0px, rgb(255, 255, 255) 3.44477px -2.03312px 0px, rgb(255, 255, 255) 3.84068px -1.11766px 0px, rgb(255, 255, 255) 3.9978px -0.132717px 0px, 0px 0px 18.04px rgba(255, 255, 255, 0.4);
  position: absolute;
  top: 200px;
  left: 0;
  right: 0;
}
.sv-about {
  background: url(../img/sub/about.jpg) no-repeat center/cover;
}
.sv-service {
  background: url(../img/sub/service.jpg) no-repeat center/cover;
}
.sv-works {
  background: url(../img/sub/works.jpg) no-repeat center/cover;
}
.sv-company {
  background: url(../img/sub/company.jpg) no-repeat center/cover;
}
.sv-news {
  background: url(../img/sub/news.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 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: #f5fae9;
  color: #1f1f1f;
  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(31, 31, 31, 0.2);
}
#site .site-link {
  display: block;
  padding: 15px 30px;
  color: #1f1f1f;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 767px) {
  #site .site-link {
    padding: 12px 25px;
  }
}
#site .site-link::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: auto;
  border-top: 1px solid #1f1f1f;
  border-right: 1px solid #1f1f1f;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 5px;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  #site .site-link:hover::before {
    left: 10px;
  }
}

/*	e404  PCSP
------------------------------------ */
@media screen and (min-width: 768px) {
  #e404 .sec-inner {
    padding: 100px 0;
  }
}
#e404 .sec-inner {
  box-sizing: border-box;
  color: #1f1f1f;
}
#e404 .top {
  display: inline-block;
  color: #1f1f1f;
  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 {
    max-width: 280px;
    height: 60px;
    line-height: 60px;
    background-size: 20px;
  }
  /*	com-table  SP
  ------------------------------------ */
  .com-table th, .com-table td {
    padding: 10px;
  }
  .com-table th {
    width: 140px;
  }
  /*	heading  SP
  ------------------------------------ */
  .com-ttl01 {
    padding-top: 25px;
    background-size: 30px;
    font-size: 2.5rem;
  }
  .com-ttl02 {
    font-size: 1.9rem;
  }
  /*	sidebar  SP
  ------------------------------------ */
  .sidebar {
    bottom: 15px;
    right: 15px;
  }
  /*	pagenation  SP
  ------------------------------------ */
  /* =========================================
  header  SP
  ========================================= */
  #header {
    padding-top: 80px;
  }
  /*	headline  SP
  ------------------------------------ */
  .headline {
    height: 80px;
    padding: 0 15px 0;
  }
  .headline-info {
    text-align: center;
  }
  .headline-info li:nth-of-type(n+2) {
    margin: 5px auto 0;
  }
  .headline-info li:nth-of-type(n+3) {
    margin-top: 25px;
  }
  .logo, .drawer-logo, .foo-logo {
    width: 163px !important;
  }
  /*	mv  SP
  ------------------------------------ */
  .mv {
    padding: 0 15px;
  }
  .mv::before {
    height: 0;
    padding-top: 5.7%;
  }
  .mv li {
    width: 100%;
    height: 0;
    padding-top: 75%;
    position: relative;
  }
  .mv li img {
    width: 100%;
    height: 100%;
    border-radius: 30px 30px 0 0;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  .mv-catch {
    width: 80%;
  }
  /*	gnav  SP
  ------------------------------------ */
  .sp-menu-btn-wrp {
    background: #9ddd15;
    border-radius: 5px;
    top: 10px;
  }
  .sp-menu-btn-wrp .sp-menu-btn-txt {
    display: block;
    font-size: 1rem;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    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: 15px 15px 30px;
    background-color: #fff;
  }
  #drawer-nav.active {
    z-index: 1000;
  }
  #drawer-nav .drawer-logo {
    max-width: none;
    margin-bottom: 0;
  }
  #drawer-nav .drawer-logo-wrap {
    margin-bottom: 15px;
    justify-content: center;
  }
  #drawer-nav .drawer-logo img {
    vertical-align: middle;
  }
  #drawer-nav .drawer-info {
    padding: 0 15px 0;
  }
  #drawer-nav #nav {
    padding: 0 15px;
  }
  #drawer-nav #nav .drawer-link {
    display: block;
    padding: 12px 0 12px;
    border: #9ddd15;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 500;
    font-style: normal;
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0;
  }
  #drawer-nav #nav .drawer-link.current {
    color: #9ddd15;
  }
  #drawer-nav #nav .drawer-dropdown span::before, #drawer-nav #nav .drawer-dropdown span::after {
    background-color: #fff;
  }
  #drawer-nav .drawer-nav__link {
    display: block;
    padding: 12px 12px 12px;
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #1f1f1f;
    text-align: left;
    border-color: #9ddd15;
    font-size: 1.7rem;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }
  #drawer-nav .drawer-nav__link.current {
    color: #f3c023;
  }
  .drawer-info {
    margin: 30px auto 0;
    text-align: center;
  }
  /*	ggmap  SP
  ------------------------------------ */
  .ggmap {
    margin-top: 5px;
    padding-top: 250px;
  }
  /* =========================================
  footer  SP
  ========================================= */
  #footer .foo-inner {
    padding: 50px 15px 50px;
  }
  #footer .foo-flx {
    flex-direction: column;
    align-items: center;
  }
  #footer .foo-left {
    text-align: center;
  }
  #footer .foo-address {
    margin-top: 20px;
  }
  #footer .foo-box {
    padding: 20px;
  }
  #footer .foo-worktime {
    margin-top: 10px;
  }
  #footer .foo-right {
    width: 100%;
  }
  .fnav {
    display: block;
    margin-top: 30px;
  }
  .fnav ul:nth-of-type(n+2) {
    margin: 25px 0 0;
  }
  .fnav-list {
    display: block;
    text-align: left;
  }
  .fnav-list li:nth-of-type(n+2) {
    margin: 25px 0 0;
  }
  .fnav-list-link::before {
    margin-right: 9px;
  }
  .copy {
    margin-top: 20px;
    text-align: center;
  }
  .copy-txt, .copy-link {
    font-size: 1rem;
  }
  /* =========================================

    sub  SP

  ========================================= */
  /*	sub headline  SP
  ------------------------------------ */
  /* sub mv  SP
  ------------------------------------ */
  .sv {
    height: 0;
    padding-top: 50%;
    border-radius: 40px 40px 0 0;
  }
  .sv-catch {
    top: 43%;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px, 0px 0px 18.04px rgba(255, 255, 255, 0.4);
  }
  /*	------- */
}
/*	------- */
/* =========================================
  breakpoint
========================================= *//*# sourceMappingURL=common.css.map */