@charset "UTF-8";
html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
}

:root {
  font-size: 62.5%;
}
@media (max-width: 1280px) {
  :root {
    font-size: 0.78125vw;
  }
}
@media (max-width: 768px) {
  :root {
    font-size: 1.3333333333vw;
  }
}

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

@media screen and (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: auto;
  }
}
.pc {
  display: block;
}

.sp {
  display: none;
}

/*-----------------------
共通css
------------------------*/
a:hover {
  opacity: 0.6;
}

p,
li,
a {
  font-size: 1.6rem;
  line-height: 1.875;
  letter-spacing: normal;
}

picture {
  display: block;
}

.m_width1100 {
  max-width: 114rem;
  padding: 0 2rem;
  margin: auto;
}

body {
  background: url(../img/pc_main_bg.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center;
}

.sub_ttl {
  display: block;
  font-size: 3rem;
  line-height: 1.6666666667;
  font-weight: bold;
  margin-bottom: 4rem;
}

section {
  padding: 11rem 0 9rem;
}

.c_btn {
  border: 1px solid #000;
  max-width: 28.7rem;
  padding: 1.6rem 0;
  display: block;
  text-align: center;
  position: relative;
  transition: border-radius 1s;
  font-weight: 500;
  letter-spacing: normal;
  background-color: #fff;
}

.c_btn::after {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-right: solid 1px #838383;
  border-top: solid 1px #838383;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  right: 1.5rem;
}

.c_btn:hover {
  border-radius: 20px;
  transition: 2s;
  opacity: unset;
}

.section_txt_area {
  padding: 4.3rem 2rem 0;
}

.main_ttl {
  font-size: 4.5rem;
  line-height: 1.4;
  font-weight: bold;
}

.w-max img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  p,
  li,
  a {
    font-size: 3rem;
    line-height: 1.6666666667;
  }
  .m_width1100 {
    max-width: 66.5rem;
    padding: 0;
    margin: auto;
  }
  body {
    background: url(../img/sp_main_bg.jpg);
    background-size: contain;
    background-repeat: repeat;
  }
  .section1 .sub_ttl {
    font-size: 4rem;
    line-height: 1.5;
    margin-bottom: 4rem;
  }
  .c_btn {
    margin: auto;
    max-width: 47rem;
    padding: 2.7rem 0;
    background-color: #fff;
  }
  .c_btn::after {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-right: solid 1px #000;
    border-top: solid 1px #000;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 2rem;
  }
}
/*-----------------------
header
------------------------*/
.l-header {
  position: sticky;
  top: 0;
  height: 7.5rem;
  background-color: #fff;
  z-index: 5000;
  border-bottom: 1px solid #dbdbdb;
}

.l-header__logo {
  max-width: 9rem;
}

.l-header__outer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 192rem;
  padding: 1.8rem 2.5rem;
  margin: auto;
}

.l-header__pcnav-list {
  display: flex;
  gap: 4.5rem;
}

.l-header__pcnav-list li .l-header__pcnav-item a {
  position: relative;
  padding: 15px;
}

.l-header__pcnav-list li .l-header__pcnav-item a:after,
.l-header__pcnav-head-inner a:after {
  background-color: #333;
  /* 下線の色 */
  bottom: 2px;
  /* 要素の下端からの距離 */
  content: "";
  /* 要素に内容を追加 */
  height: 1px;
  /* 下線の高さ */
  left: 0;
  /* 要素の左端からの距離 */
  opacity: 0;
  /* 不透明度 */
  position: absolute;
  /* 絶対位置指定 */
  transition: all 0.3s;
  /* アニメーション効果を追加 */
  width: 100%;
  /* 要素の幅 */
}

.l-header__pcnav-list li a:hover:after {
  bottom: -6px;
  /* 下線を上から下に移動 */
  opacity: 1;
  /* 不透明度を変更してフェードイン */
}

.l-header__pcnav-head {
  background-color: transparent;
}

.f-50 {
  font-size: 5rem;
  line-height: 1.4;
}

.f-30 {
  font-size: 3rem;
  line-height: 1.6666666667;
  font-weight: bold;
}

.f-40 {
  font-size: 4rem;
}

@media (max-width: 768px) {
  .f-50 {
    font-size: 5rem;
    line-height: 1.4;
  }
  .f-40 {
    font-size: 4rem;
  }
}
@media (max-width: 768px) {
  .l-header {
    height: 9.1rem;
  }
  .l-header__logo {
    max-width: 12rem;
  }
  .l-header__outer {
    max-width: 100%;
    padding: 1.5rem 2.5rem;
  }
  .l-header__pcnav-list {
    display: grid;
    gap: 0;
  }
  .l-header__pcnav-list li a:hover:after {
    opacity: 0;
    /* 不透明度 */
  }
  /*-----------------------
  ハンバーガーメニュー
  ------------------------*/
  .l-header__action-btn {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 4rem;
    height: 3rem;
    cursor: pointer;
    z-index: 5001;
    background-color: transparent;
    position: relative;
  }
  .l-header__action-btn-bar {
    background: #333;
    border-radius: 2px;
    height: 0.3rem;
    width: 100%;
    transition: all 0.3s ease-in-out;
  }
  .l-header__action-btn-bar::before,
  .l-header__action-btn-bar::after {
    content: "";
    display: block;
    width: 100%;
    height: 0.3rem;
    position: absolute;
    left: 0;
    height: 0.3rem;
    background: #333;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
  }
  .l-header__action-btn-bar::before {
    top: 0;
  }
  .l-header__action-btn-bar::after {
    bottom: 0;
  }
  /* クリックした時 */
  .l-header__action-btn.is-open .l-header__action-btn-bar {
    background: transparent;
    transition: all 0.3s ease-in-out;
  }
  .l-header__action-btn.is-open .l-header__action-btn-bar::before {
    top: 50%;
    transform: rotate(45deg);
    transition: all 0.3s ease-in-out;
  }
  .l-header__action-btn.is-open .l-header__action-btn-bar::after {
    top: 50%;
    transform: rotate(-45deg);
    transition: all 0.3s ease-in-out;
  }
  /* メニューとオーバーレイの初期状態 */
  .l-header__pcmenu {
    position: fixed;
    top: 9rem;
    right: -100%;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1001;
    transition: right 0.3s ease;
    overflow-y: auto;
  }
  .l-header__pcmenu.is-open {
    left: 0;
    right: 0;
    margin: auto;
    top: 9rem;
    background: #dfdcda;
  }
  .l-header__overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    cursor: pointer;
  }
  /* チェックされたらメニュー開く・オーバーレイ表示 */
  .spmenu-toggle:checked ~ .l-header__pcmenu {
    right: 0;
  }
  .spmenu-toggle:checked ~ .l-header__overlay {
    display: block;
  }
  /* スマホ専用に表示 */
}
@media (max-width: 768px) and (min-width: 769px) {
  .l-header__action-btn,
  .l-header__overlay,
  .spmenu-toggle {
    display: none;
  }
}
@media (max-width: 768px) {
  .l-header__pcnav-ite {
    padding: 7.3rem 2.5rem;
  }
  .l-header__pcnav-item::after {
    content: "";
    display: block;
    height: 0.1rem;
    width: 100%;
    background-color: #000;
  }
  .l-header__pcnav-item:last-child::after {
    background-color: transparent;
  }
  .l-header__pcnav-head {
    padding: 2.5rem 0 3rem 4rem;
  }
  .l-header__pcnav-item a {
    display: block;
    color: #000;
  }
}
/*-----------------------
footer
------------------------*/
.l-footer {
  background: url(../img/footer_bg.jpg);
  background-size: 100% 100%;
  background-position: center;
  padding: 11rem 0;
}
.l-footer .img_area {
  max-width: 46.9rem;
}

.l-footer__logo {
  max-width: 9rem;
  margin-bottom: 3rem;
}

.conteiner .inner {
  display: flex;
  justify-content: space-between;
  gap: 8rem;
}

.footer_nav {
  display: flex;
  gap: 4rem;
  margin-bottom: 1.6rem;
}

.f_tel a {
  font-size: 3rem;
  line-height: 1;
}

.address {
  margin-bottom: 8rem;
}

.address .tel {
  margin-top: 1.7rem;
}

@media (max-width: 768px) {
  .l-footer {
    background: url(../img/sp_footer_bg.jpg);
    padding: 11.7rem 0 12rem;
    background-size: 100% 100%;
  }
  .l-footer__logo {
    min-width: 11rem;
    margin-bottom: 2.5rem;
  }
  .conteiner .inner {
    display: grid;
    gap: 6.5rem;
  }
  .l-footer .txt_area {
    order: 2;
    width: 66.5rem !important;
  }
  .l-footer .img_area {
    order: 1;
    margin: auto;
    max-width: 46.9rem;
  }
  .footer_nav {
    display: grid;
    gap: 2.8rem;
    margin-bottom: 4rem;
  }
  .f_tel a {
    font-size: 5rem;
  }
  .address {
    margin-bottom: 3.5rem;
  }
  .l-footer .copy {
    font-size: 2.4rem;
    line-height: 1.6666666667;
  }
}/*# sourceMappingURL=cmn.css.map */