@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
@font-face {
  font-family: "ZenKakuGothicNew-Regular";
  src: url("../fonts/ZenKakuGothicNew-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenKakuGothicNew-Medium";
  src: url("../fonts/ZenKakuGothicNew-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Regular";
  src: url("../fonts/ZenMaruGothic-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Medium";
  src: url("../fonts/ZenMaruGothic-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "ZenMaruGothic-Bold";
  src: url("../fonts/ZenMaruGothic-Bold.ttf");
  font-display: swap;
}
@font-face {
  font-family: "Outfit-Regular";
  src: url("../fonts/Outfit-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "Outfit-Medium";
  src: url("../fonts/Outfit-Medium.ttf");
  font-display: swap;
}
@font-face {
  font-family: "Poppins-Regular";
  src: url("../fonts/Poppins-Regular.ttf");
  font-display: swap;
}
@font-face {
  font-family: "NotoSansCJKjp-Medium";
  src: url("../fonts/NotoSansCJKjp-Medium.otf");
  font-display: swap;
}
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/* =========================================
  base  PC
========================================= */
body { /* fontはcmn-txtに合わせる */
  width: 100%;
  min-width: 1300px;
  margin: auto;
  color: #023859;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}

/* safariの自動CSSを打ち消す */
* {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.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%;
  margin: 60px auto 0 !important;
  background: #fff;
  border-top: 1px solid #cecece;
  border-right: 1px solid #cecece;
  border-bottom: 1px solid #cecece;
}
.contact-form-table tr:nth-of-type(n+2) th {
  border-top: 1px solid white;
}
@media screen and (min-width: 768px) {
  .contact-form-table tr:nth-of-type(n+2) td {
    border-top: 1px solid #cecece;
  }
}
.contact-form-table th, .contact-form-table td {
  padding: 15px 18px;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.6rem;
  color: #000;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .contact-form-table th, .contact-form-table td {
    font-size: 1.5rem;
  }
}
.contact-form-table th {
  width: 330px;
  background: #01579b;
  color: #fff;
  font-family: "ZenMaruGothic-Medium", sans-serif;
}
.contact-form-table a {
  color: #023859;
  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: #f0f0f0;
  border: none;
  border-radius: 0;
  box-shadow: none;
}
.contact-form-table .required-mark {
  font-family: "ZenMaruGothic-Medium", sans-serif;
  height: 30px;
  line-height: 25px;
}
@media screen and (max-width: 767px) {
  .contact-form-table .required-mark {
    margin-top: -3px;
  }
}
@media screen and (max-width: 767px) {
  .contact-form-table {
    margin-top: 30px !important;
  }
  .contact-form-table th, .contact-form-table td {
    padding: 9px 15px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .contact-form-table label[for=agree] {
    margin: auto;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.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: #023859;
  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: #000;
}

/* =========================================
  タグテンプレート（未使用）
========================================= */
.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 #023859;
  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: "ZenMaruGothic-Medium", sans-serif;
  border: none;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 2px solid #023859;
  cursor: pointer;
  border-radius: 0;
  background: none;
  color: #023859;
  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: "ZenMaruGothic-Medium", sans-serif;
  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: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .com-txt,
  #privacy .txt-box {
    font-size: 1.5rem;
  }
}

.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: 360px;
  border-radius: 30px;
  padding: 17px 35px;
  background: url(../img/top//com-btn-arw.png) no-repeat calc(100% - 20px) center #01579b;
  text-align: center;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  color: #fff;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .com-btn {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .com-btn:hover {
    background-position-x: calc(100% - 15px);
  }
}

#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: 360px;
  border-radius: 30px;
  padding: 17px 35px;
  background: url(../img/top//com-btn-arw.png) no-repeat calc(100% - 20px) center #01579b;
  text-align: center;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  color: #fff;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #contact .contact-submits-btn {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #contact .contact-submits-btn:hover {
    background-position-x: calc(100% - 15px);
  }
}
#contact .contact-submits-btn.mt30 {
  margin-top: 30px !important;
}

/*	com-table  PC
------------------------------------ */
.com-table {
  width: 100%;
  border-radius: 30px;
}
.com-table tr:nth-of-type(n+2) {
  border-top: 1px solid #cecece;
}
.com-table tr:nth-of-type(1) th {
  border-radius: 30px 0 0 0;
}
.com-table tr:nth-of-type(1) td {
  border-radius: 0 30px 0 0;
}
.com-table tr:last-of-type th {
  border-radius: 0 0 0 30px;
}
.com-table tr:last-of-type td {
  border-radius: 0 0 30px 0;
}
.com-table th, .com-table td {
  padding: 20px 30px;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .com-table th, .com-table td {
    font-size: 1.5rem;
  }
}
.com-table th {
  width: 250px;
  text-align: center;
  background: #86b6e0;
  color: #fff;
}
.com-table td {
  background: #fff;
  white-space: pre-line;
}
.com-table-note {
  margin-left: 15px;
  line-height: 1.1;
}
.com-table-note img {
  vertical-align: middle;
}
/*	heading  PC
------------------------------------ */
.com-ttl01 {
  text-align: center;
}
.com-ttl01::after {
  content: "";
  display: block;
  width: 61px;
  height: 8px;
  margin: 18px auto 0;
  background: url(../img/top/com-dot.png) no-repeat center bottom/contain;
}
.com-ttl01 .fuki {
  display: inline-block;
  padding: 0 36px;
  background: url(../img/top/ttl-fuki-l.png) no-repeat left calc(100% - 5px), url(../img/top/ttl-fuki-r.png) no-repeat right calc(100% - 5px);
  font-family: "ZenMaruGothic-Bold", sans-serif;
  font-size: 4.2rem;
  letter-spacing: 0.05em;
  color: #ff7800;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .com-ttl01 .fuki {
    font-size: 2.1rem;
  }
}
.com-ttl01 .ja {
  display: block;
  margin: 10px auto 0;
  font-family: "ZenMaruGothic-Bold", sans-serif;
  font-size: 6rem;
  letter-spacing: 0.05em;
  color: #01579b;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .com-ttl01 .ja {
    font-size: 3rem;
  }
}
.com-ttl01 .ja .ac {
  color: #ffab40;
}
.com-ttl02 {
  padding: 2px;
  text-align: center;
  background: url(../img/ptn/ptn02.jpg);
  border-radius: 20px;
  font-family: "ZenMaruGothic-Bold", sans-serif;
  font-size: 3.5rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .com-ttl02 {
    font-size: 1.75rem;
  }
}
.com-ttl03 {
  font-family: "ZenMaruGothic-Bold", sans-serif;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  color: #01579b;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .com-ttl03 {
    font-size: 1.5rem;
  }
}

.sub .com-ttl01 .ja {
  font-size: 4.8rem;
  text-shadow: rgb(255, 255, 255) 8px 0px 0px, rgb(255, 255, 255) 7.93758px 0.997398px 0px, rgb(255, 255, 255) 7.7513px 1.97923px 0px, rgb(255, 255, 255) 7.44406px 2.93018px 0px, rgb(255, 255, 255) 7.02066px 3.8354px 0px, rgb(255, 255, 255) 6.4877px 4.68078px 0px, rgb(255, 255, 255) 5.85351px 5.45311px 0px, rgb(255, 255, 255) 5.12797px 6.14035px 0px, rgb(255, 255, 255) 4.32242px 6.73177px 0px, rgb(255, 255, 255) 3.44941px 7.21814px 0px, rgb(255, 255, 255) 2.52258px 7.59188px 0px, rgb(255, 255, 255) 1.55638px 7.84714px 0px, rgb(255, 255, 255) 0.565898px 7.97996px 0px, rgb(255, 255, 255) -0.433417px 7.98825px 0px, rgb(255, 255, 255) -1.42597px 7.87189px 0px, rgb(255, 255, 255) -2.39627px 7.63269px 0px, rgb(255, 255, 255) -3.32917px 7.27438px 0px, rgb(255, 255, 255) -4.21013px 6.80256px 0px, rgb(255, 255, 255) -5.02539px 6.22459px 0px, rgb(255, 255, 255) -5.76223px 5.54948px 0px, rgb(255, 255, 255) -6.40915px 4.78778px 0px, rgb(255, 255, 255) -6.95606px 3.95136px 0px, rgb(255, 255, 255) -7.39442px 3.05329px 0px, rgb(255, 255, 255) -7.71739px 2.10757px 0px, rgb(255, 255, 255) -7.91994px 1.12896px 0px, rgb(255, 255, 255) -7.9989px 0.132735px 0px, rgb(255, 255, 255) -7.95304px -0.865561px 0px, rgb(255, 255, 255) -7.78307px -1.85035px 0px, rgb(255, 255, 255) -7.49165px -2.80627px 0px, rgb(255, 255, 255) -7.08333px -3.71839px 0px, rgb(255, 255, 255) -6.56448px -4.57249px 0px, rgb(255, 255, 255) -5.94318px -5.35524px 0px, rgb(255, 255, 255) -5.22915px -6.05442px 0px, rgb(255, 255, 255) -4.43352px -6.65912px 0px, rgb(255, 255, 255) -3.5687px -7.15991px 0px, rgb(255, 255, 255) -2.6482px -7.54898px 0px, rgb(255, 255, 255) -1.68637px -7.82024px 0px, rgb(255, 255, 255) -0.698222px -7.96947px 0px, rgb(255, 255, 255) 0.300817px -7.99434px 0px, rgb(255, 255, 255) 1.29516px -7.89446px 0px, rgb(255, 255, 255) 2.2693px -7.67139px 0px, rgb(255, 255, 255) 3.20802px -7.32862px 0px, rgb(255, 255, 255) 4.09668px -6.87148px 0px, rgb(255, 255, 255) 4.92142px -6.30711px 0px, rgb(255, 255, 255) 5.66936px -5.64432px 0px, rgb(255, 255, 255) 6.32883px -4.89346px 0px, rgb(255, 255, 255) 6.88954px -4.06623px 0px, rgb(255, 255, 255) 7.34274px -3.17555px 0px, rgb(255, 255, 255) 7.68136px -2.23532px 0px, rgb(255, 255, 255) 7.90012px -1.26021px 0px, rgb(255, 255, 255) 7.9956px -0.265434px 0px;
}
@media screen and (max-width: 768px) {
  .sub .com-ttl01 .ja {
    font-size: 2.4rem;
  }
}
.sub .com-ttl01 .ja.none {
  text-shadow: none;
}

/*	sidebar  PC
------------------------------------ */
.sidebar {
  position: fixed;
  bottom: 20px;
  right: 10px;
  z-index: 100;
  text-align: right;
}

/*	breadcrumb  PC
------------------------------------ */
.breadcrumb {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 10;
}
.breadcrumb .bread-inner {
  width: 100%;
  max-width: 1080px;
  height: 50px;
  padding-right: 20px;
  margin: auto;
  position: absolute;
  top: 19px;
  left: 0;
  right: 0;
}
.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: "ZenMaruGothic-Medium", sans-serif;
}
.breadcrumb ul li:last-child::after {
  content: none;
}
.breadcrumb li, .breadcrumb a {
  color: #023859;
  font-family: "ZenKakuGothicNew-Medium", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .breadcrumb li, .breadcrumb a {
    font-size: 1.5rem;
  }
}
.breadcrumb li::after {
  content: ">";
  display: inline-block;
  padding: 0 15px;
  color: #023859;
}
.breadcrumb a {
  color: #023859;
}

/*	pagenation  PC
------------------------------------ */
.pagenation {
  display: flex;
  margin: 50px auto 0;
  justify-content: center;
  align-items: center;
}
.pagenation li {
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  background-color: #01579b;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.06em;
  border: 2px solid #01579b;
  border-radius: 5px;
  color: #fff;
  line-height: 36px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pagenation li {
    font-size: 1.5rem;
  }
}
.pagenation li.bg-none {
  background: none;
  border: none;
}
.pagenation li:nth-of-type(n+2) {
  margin-left: 10px;
}
.pagenation a, .pagenation span {
  display: block;
}
.pagenation a {
  color: #fff;
}
.pagenation .current {
  background: #fff;
  color: #023859;
  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 {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: inline-block;
  width: 11.8px;
  height: 19.6px;
}

.arrow-left::before,
.arrow-left::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  width: 15px;
  height: 4px;
  background-color: #01579b;
  transform-origin: 2px 50%;
}

.arrow-left::before {
  transform: rotate(45deg);
}

.arrow-left::after {
  transform: rotate(-45deg);
}

.arrow-right {
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: inline-block;
  width: 11.8px;
  height: 19.6px;
}

.arrow-right::before,
.arrow-right::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 15px;
  height: 4px;
  background-color: #01579b;
  transform-origin: calc(100% - 2px) 50%;
}

.arrow-right::before {
  transform: rotate(45deg);
}

.arrow-right::after {
  transform: rotate(-45deg);
}

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

.data-nav {
  position: relative;
  text-align: center;
}
.data-nav a {
  display: inline-block;
  height: 50px;
  line-height: 50px;
  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 20px;
  border-radius: 10px;
  background: #01579b;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .to-works-btn {
    font-size: 1.5rem;
  }
}

.arrow-btn {
  width: 50px;
  position: absolute;
  bottom: 0;
}
.arrow-btn::before {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  margin: auto;
  color: #fff;
  font-size: 1.4rem;
  background: #01579b;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 768px) {
  .arrow-btn::before {
    font-size: 1.5rem;
  }
}

.back-btn {
  right: auto;
}

.next-btn {
  left: auto;
}

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

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

/* =========================================
  header  PC
========================================= */
/*	headline  PC
------------------------------------ */
#header {
  background: url(../img/top/mv-bg.png) no-repeat center top/cover;
}

.sub #header {
  background: url(../img/sub/sv.png) no-repeat calc(50% + 188px) top;
}
@media screen and (min-width: 1921px) {
  .sub #header {
    background-position: right top;
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  .sub #header {
    background-position: right top;
    background-size: cover;
  }
}

.headline {
  margin: auto;
  padding: 0 30px 18px;
}
@media screen and (max-width: 1302px) {
  .headline {
    padding: 0 20px 18px;
  }
}
.headline-btn {
  display: flex;
  height: 60px;
  padding: 0 28px;
  background: #01579b;
  border-radius: 0 0 30px 30px;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  color: #fff;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .headline-btn {
    font-size: 1.5rem;
  }
}
.headline-btn::before {
  content: "";
  width: 29px;
  height: 21px;
  margin-right: 15px;
  background: url(../img/top/info-contact.png) no-repeat center/contain;
}
.headline-btn-wrap {
  margin-left: 20px;
}
.headline-btn-wrap li:nth-of-type(n+2) {
  margin-left: 7px;
}
.headline-btn-line::before {
  width: 30px;
  height: 30px;
  background-image: url(../img/top/info-line.png);
}

.logo {
  display: inline-block;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .logo {
    margin-top: 33px;
  }
}
.logo:hover {
  opacity: 0.7;
}
.logo a, .logo img {
  display: block;
}
.logo img {
  width: 100%;
}

/*	gnav  PC
------------------------------------ */
.gnav {
  margin-top: 19px;
  line-height: 1;
}
.gnav-list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.gnav-list-item:nth-of-type(n+2) {
  margin-left: 50px;
  position: relative;
}
.gnav-list-item:nth-of-type(n+2)::before {
  content: "|";
  margin: auto;
  position: absolute;
  left: -25px;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 1302px) {
  .gnav-list-item:nth-of-type(n+2) {
    margin-left: 25px;
  }
  .gnav-list-item:nth-of-type(n+2)::before {
    left: -12.5px;
  }
}
.gnav-list-link {
  font-family: "ZenKakuGothicNew-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .gnav-list-link {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .gnav-list-link:hover {
    color: #ff7800;
    opacity: 1;
  }
}
.gnav-list-link.current {
  color: #ff7800;
}

/*	mv  PC
------------------------------------ */
.mv {
  width: 94.8%;
  height: 0;
  margin: auto;
  padding-top: 42.8%;
  position: relative;
}
.mv-img {
  border-radius: 60px;
}
.mv-catch {
  width: 49.2%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

/* =========================================
  footer  PC
========================================= */
#footer .foo-bg {
  background: url(../img/top/f-bg.png) no-repeat center top/cover;
}
#footer .foo-inner {
  padding: 148px 0;
}
#footer .foo-address {
  margin-top: 24px;
  font-family: "ZenMaruGothic-Regular", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.12em;
  color: #023859;
  line-height: 1.375;
  white-space: pre-line;
}
@media screen and (max-width: 768px) {
  #footer .foo-address {
    font-size: 1.5rem;
  }
}
#footer .foo-dl {
  margin-top: 15px;
}
#footer .foo-dl div {
  display: flex;
  align-items: center;
}
#footer .foo-dl div:nth-of-type(n+2) {
  margin-top: 4px;
}
#footer .foo-dl dt {
  width: 80px;
  height: 24px;
  margin-right: 8px;
  background: #023859;
  text-align: center;
  line-height: 24px;
  color: #fff;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #footer .foo-dl dt {
    font-size: 1.5rem;
  }
}
#footer .foo-dl dd {
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  color: #023859;
}
@media screen and (max-width: 768px) {
  #footer .foo-dl dd {
    font-size: 1.5rem;
  }
}
#footer .foo-sns {
  margin-top: 24px;
}
#footer .foo-sns li:nth-of-type(n+2) {
  margin-left: 23px;
}
#footer .foo-official {
  padding-right: 35px;
  padding-bottom: 10px;
  background: url(../img/top/f-target.png) no-repeat right top;
  border-bottom: 1px solid #a9bfcd;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  color: #023859;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #footer .foo-official {
    font-size: 1.5rem;
  }
}

.fnav {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .fnav ul:nth-of-type(n+2) {
    margin-left: 40px;
  }
}
.fnav-list li:nth-of-type(n+2) {
  margin-top: 34px;
}
.fnav-list-link {
  padding-left: 16px;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  color: #023859;
  position: relative;
}
@media screen and (max-width: 768px) {
  .fnav-list-link {
    font-size: 1.5rem;
  }
}
.fnav-list-link::before {
  content: "";
  width: 8px;
  height: 8px;
  margin: auto;
  background: #023859;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}
.fnav-list-link.current {
  color: #ff7800;
}

.copy {
  margin: 13px auto 0;
}
.copy-txt, .copy-link {
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
}

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

  sub layout  PC

========================================= */
/*	sub mv  PC
------------------------------------ */
.sv {
  width: 94.8%;
  height: 450px;
  margin: auto;
  padding-top: 186px;
  border-radius: 60px;
  text-align: center;
}
.sv-catch {
  display: inline-block;
  padding: 13px 37px;
  border-radius: 20px;
  background: url(../img/ptn/ptn02.jpg);
  font-family: "ZenMaruGothic-Bold", sans-serif;
  font-size: 5.2rem;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .sv-catch {
    font-size: 2.6rem;
  }
}
.sv-reboha {
  background: url(../img/sub/reboha.jpg) no-repeat center;
}
.sv-price {
  background: url(../img/sub/price.jpg) no-repeat center;
}
.sv-flow {
  background: url(../img/sub/flow.jpg) no-repeat center;
}
.sv-staff {
  background: url(../img/sub/staff.jpg) no-repeat center;
}
.sv-information {
  background: url(../img/sub/information.jpg) no-repeat center;
}
.sv-news {
  background: url(../img/sub/news.jpg) no-repeat center;
}
.sv-contact {
  background: url(../img/sub/contact.jpg) no-repeat center;
}
.sv-complete {
  background: url(../img/sub/complete.jpg) no-repeat center;
}
.sv-privacy {
  background: url(../img/sub/privacy.jpg) no-repeat center;
}
.sv-site {
  background: url(../img/sub/site.jpg) no-repeat center;
}
.sv-notfound {
  background: url(../img/sub/notfound.jpg) no-repeat center;
}

/*	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: 50px;
  }
}
#news .com-news-link {
  display: flex;
  width: 100%;
  padding: 40px;
}
#news .com-news-img {
  width: 40%;
  height: 0;
  padding-top: 28%;
  position: relative;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  #news .com-news-img {
    width: 250px;
    padding-top: 200px;
  }
}
#news .com-news-img-none {
  display: none;
  filter: grayscale(100%);
}
#news .com-news-con {
  width: 100%;
  margin-left: 5.8%;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  font-size: 1.7rem;
  letter-spacing: 0;
  color: #023859;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #news .com-news-con {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #news .com-news-con {
    margin-left: 2%;
  }
}
#news .com-news-con-none {
  margin-left: 0;
}
#news .com-news-flx {
  margin-top: 2%;
}
#news .com-news-tag {
  display: flex;
  margin-left: 7px;
  padding-left: 7px;
  border-left: 1px solid #adadad;
  line-height: 1.4;
  flex-wrap: wrap;
}
#news .com-news-tag li:nth-of-type(n+2)::before {
  content: ",";
  padding: 0 2px;
}
#news .com-news-tag-txt {
  letter-spacing: 0;
}
#news .com-news-time {
  flex-shrink: 0;
  line-height: 1.4;
}
#news .com-news-txt {
  margin-top: 2%;
}
@media screen and (max-width: 767px) {
  #news .com-news {
    margin-top: 30px;
    flex-direction: column;
    align-items: center;
  }
  #news .com-news-item:nth-of-type(n+2) {
    margin: 30px auto 0;
  }
  #news .com-news-link {
    padding: 3%;
    align-items: flex-start;
  }
  #news .com-news-ttl {
    font-size: 3.3vw;
  }
  #news .com-news-txt-index {
    font-size: 3.4vw;
    line-height: 1.5;
  }
  #news .com-news-flx {
    margin: 15px auto 0;
  }
  #news .com-news-time, #news .com-news-tag-txt {
    font-size: 1.3rem;
  }
}
#news .detail .news-box {
  padding: 40px;
}
@media screen and (max-width: 767px) {
  #news .detail .news-box {
    padding: 25px 15px;
  }
}
#news .detail .news-post-flx {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(2, 56, 89, 0.1);
}
#news .detail .com-news-flx {
  margin: 15px auto 0;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  #news .detail .com-news-flx {
    margin: 10px auto 0;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
#news .detail .com-news-ttl {
  padding: 5px 10px;
  font-size: 2.5rem;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #news .detail .com-news-ttl {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  #news .detail .com-news-tag-txt {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  #news .news-index-tag-txt {
    font-size: 3.3vw;
  }
}

/*	contact  PC
------------------------------------ */
#contact .contact-txt {
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  #contact .contact-txt {
    margin-top: 20px;
  }
}
#contact .contact-box {
  max-width: 600px;
  margin: 50px auto 0;
  padding: 40px 15px;
  border: 1px solid #023859;
  text-align: center;
}
#contact .contact-dl {
  margin: 15px auto 0;
}
#contact .contact-dl-item {
  display: flex;
  justify-content: center;
}
#contact .contact-dl-item:nth-of-type(n+2) {
  margin: 10px auto 0;
}
#contact .contact-dl-item dt, #contact .contact-dl-item dd {
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  #contact .contact-dl-item dt, #contact .contact-dl-item dd {
    font-size: 1.5rem;
  }
}
#contact .contact-dl-item dd {
  margin-left: 5px;
  padding-left: 5px;
  border-left: 1px solid #023859;
}
#contact .complete-box {
  text-align: center;
}
#contact .complete-link {
  margin: 30px auto 0;
  color: inherit;
  text-decoration: underline;
}

/*	privacy  PC
------------------------------------ */
@media screen and (min-width: 768px) {
  #privacy .sec-inner {
    padding: 130px 0 140px;
  }
}
#privacy .box01 .privacy-box:nth-of-type(1) {
  margin-top: 0;
}
#privacy .privacy-box {
  max-width: 1280px;
  margin: 50px auto 0;
}
@media screen and (max-width: 767px) {
  #privacy .privacy-box {
    margin-top: 20px;
  }
}
#privacy .privacy-box p {
  margin: 10px auto 0;
}
#privacy .privacy-box ul {
  padding-left: 20px;
}
#privacy .privacy-box li {
  list-style: disc;
}
#privacy .ttl05 {
  background-color: #e1f1ff;
  color: #fff;
  padding: 10px 15px;
  line-height: 1.6;
}

/*	site  PCSP
------------------------------------ */
@media screen and (max-width: 767px) {
  #site .com-bg-sub {
    background-size: auto;
  }
}
@media screen and (min-width: 768px) {
  #site .sec-inner {
    padding: 130px 0 140px;
  }
}
#site .site-box {
  max-width: 960px;
  margin: 0 auto 0;
  padding: 20px 50px;
}
@media screen and (max-width: 767px) {
  #site .site-box {
    padding: 5px 15px;
  }
}
#site .site-ul {
  width: 100%;
  max-width: 880px;
  margin: auto;
}
#site .site-li:nth-of-type(n+2) {
  border-top: 1px solid rgba(2, 56, 89, 0.2);
}
#site .site-link {
  display: block;
  padding: 15px 30px;
  color: #023859;
  font-family: "ZenMaruGothic-Medium", sans-serif;
  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 #023859;
  border-right: 1px solid #023859;
  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
------------------------------------ */
#e404 .sec-inner {
  box-sizing: border-box;
  color: #00140f;
}
@media screen and (min-width: 768px) {
  #e404 .sec-inner {
    padding: 100px 0;
  }
}
#e404 .top {
  display: inline-block;
  color: #00140f;
  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: 1.7;
  }
  body.active { /* スクロール禁止 */
    overflow: hidden;
  }
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: inherit !important;
  }
  /*	parts  SP
  ------------------------------------ */
  /*	com-btn  SP
  ------------------------------------ */
  /*	com-table  SP
  ------------------------------------ */
  /*	heading  SP
  ------------------------------------ */
  /*	sidebar  SP
  ------------------------------------ */
  /*	pagenation  SP
  ------------------------------------ */
  /* =========================================
  header  SP
  ========================================= */
  /*	headline  SP
  ------------------------------------ */
  /*	mv  SP
  ------------------------------------ */
  /*	gnav  SP
  ------------------------------------ */
  /*	gnav-add  SP
  ------------------------------------ */
  /*	ggmap  SP
  ------------------------------------ */
  /* =========================================
  footer  SP
  ========================================= */
  /* =========================================

    sub  SP

  ========================================= */
  /*	sub headline  SP
  ------------------------------------ */
  /* sub mv  SP
  ------------------------------------ */
  /*	------- */
}
@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;
  }
  .com-inner,
  .bread-inner,
  .middle-inner,
  .lg-inner .com-inner.md {
    width: 100% !important;
  }
  .com-txt, #privacy .txt-box {
    line-height: 1.8;
  }
  .com-table tr:nth-of-type(1) th {
    border-radius: 15px 0 0 0;
  }
  .com-table tr:nth-of-type(1) td {
    border-radius: 0 15px 0 0;
  }
  .com-table tr:last-of-type th {
    border-radius: 0 0 0 15px;
  }
  .com-table tr:last-of-type td {
    border-radius: 0 0 15px 0;
  }
  .com-table th, .com-table td {
    padding: 10px 15px;
    font-size: 1.4rem;
  }
  .com-table th {
    width: 100px;
    padding-left: 0;
    padding-right: 0;
  }
  .com-table td {
    padding: 10px;
  }
  .com-table-note {
    display: block;
    margin: 0;
  }
  .com-table-note img {
    height: 13px;
  }
  .com-ttl01::after {
    width: 47px;
    height: 6px;
    margin: 15px auto 0;
  }
  .com-ttl01 .ja {
    font-size: 2.2rem;
  }
  .com-ttl01 .fuki {
    padding: 0 20px;
    font-size: 1.8rem;
    background-size: 15px;
  }
  .com-ttl01 .ja {
    margin-top: 5px;
  }
  .com-ttl02 {
    border-radius: 15px;
    background-size: 4px;
    padding: 10px 0;
  }
  .sub .com-ttl01 .ja {
    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;
  }
  .pagenation {
    margin-top: 50px;
  }
  .pagenation li {
    width: 40px;
    height: 40px;
    line-height: 38px;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .pagenation li:nth-of-type(n+2) {
    margin-left: 15px;
  }
  .data-nav a {
    height: 50px;
    line-height: 50px;
  }
  .arrow-btn::before {
    width: 50px;
    height: 50px;
  }
  .headline {
    height: 80px;
    padding: 15px;
  }
  .headline-btn {
    max-width: 280px;
    margin: auto;
    border-radius: 20px;
  }
  .headline-btn::before {
    width: 22px;
    height: 16px;
    margin-right: 10px;
  }
  .headline-btn-wrap {
    margin: 25px auto 0;
  }
  .headline-btn-wrap li:nth-of-type(n+2) {
    margin: 25px auto 0;
  }
  .headline-btn-line::before {
    width: 25px;
    height: 25px;
  }
  .logo, .drawer-logo, .foo-logo {
    width: 135px !important;
  }
  .mv {
    width: 100%;
    height: auto;
    padding-top: 0;
  }
  .mv-img {
    border-radius: 30px;
    position: static;
  }
  .mv-catch {
    width: 98%;
    margin: -20% auto 0;
    position: static;
    transform: none;
  }
  .sp-menu-btn-wrp {
    background: #01579b;
    top: 10px;
  }
  .sp-menu-btn-wrp .sp-menu-btn-txt {
    display: block;
    font-size: 1rem;
    font-family: "ZenMaruGothic-Medium", sans-serif;
    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;
  }
  #drawer-nav {
    padding: 0 0 30px;
    background: #e1f1ff;
  }
  #drawer-nav.active {
    z-index: 1000;
  }
  #drawer-nav .drawer-logo {
    max-width: none;
    margin-bottom: 0;
  }
  #drawer-nav .drawer-logo-wrap {
    margin-bottom: 15px;
    padding: 20px 15px 0;
    justify-content: center;
  }
  #drawer-nav .drawer-logo img {
    vertical-align: middle;
  }
  #drawer-nav .drawer-link.active span::after {
    transform: rotate(90deg);
  }
  #drawer-nav #nav {
    padding: 0 15px;
  }
  #drawer-nav #nav .drawer-link {
    display: block;
    padding: 12px 0 12px;
    font-family: "ZenMaruGothic-Medium", sans-serif;
    color: #333;
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 0;
  }
  #drawer-nav #nav .drawer-link.current {
    opacity: 0.5;
  }
  .drawer-info {
    margin: 30px auto 0;
    text-align: center;
  }
  .ggmap {
    padding-top: 250px;
  }
  #footer .foo-inner {
    padding: 50px 15px;
  }
  #footer .foo-dl {
    margin-top: 20px;
  }
  #footer .foo-flx-right {
    width: 100%;
    margin: 30px auto 0;
  }
  .fnav {
    display: block;
    width: 100%;
  }
  .fnav ul:nth-of-type(n+2) {
    margin: 25px 0 0;
  }
  .fnav-list {
    text-align: left;
  }
  .fnav-list li:nth-of-type(n+2) {
    margin: 25px 0 0;
  }
  .fnav-list-link {
    font-size: 1.5rem;
  }
  .copy {
    margin: 50px auto 0;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .copy-txt {
    text-align: center;
  }
  .copy-txt, .copy-link {
    font-size: 1rem;
  }
  .copy-txt {
    margin: 25px auto 0;
  }
  .copy-nav li:nth-of-type(n+2) {
    margin-left: 10px;
    padding-left: 10px;
  }
  .copy-nav a {
    font-size: 1.3rem;
  }
  .sv {
    height: auto;
    padding: 14% 0;
    border-radius: 20px;
    background-size: cover;
  }
  .sv-catch {
    padding: 10px 20px;
    border-radius: 10px;
  }
  .sv-flow .sv-catch {
    font-size: 2.2rem;
  }
}
/*	------- */
/* =========================================
  breakpoint
========================================= *//*# sourceMappingURL=common.css.map */