@charset "UTF-8";
/* setting */
@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap);
.font-xs {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 2;
}

.font-sm {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.7142857143;
}

.font-md {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.3333333333;
}

.font-lg {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 0.6666666667;
}

/* tool */
/* ==========================================================================
   ベンダープリフィックス
   ========================================================================== */
/* ==========================================================================
   opacity 透明度
   ========================================================================== */
/* ==========================================================================
   position absolute
   ========================================================================== */
/* ==========================================================================
   shadow
   ========================================================================== */
/* ==========================================================================
   スクリーンサイズ
   ========================================================================== */
/* ==========================================================================
   親要素に対して中央寄せ
   ========================================================================== */
/* ==========================================================================
   ドロップシャドウ
   ========================================================================== */
/* Scss Document */
@-webkit-keyframes topAboutSlide {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  12% {
    opacity: 1;
  }
  17% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes topAboutSlide {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  12% {
    opacity: 1;
  }
  17% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
/* base */
html {
  font-size: 62.5%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "Noto Sans JP", sans-serif, Meiryo, "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  color: #333;
  margin: 0;
  font-size: 2em;
  line-height: 2;
  letter-spacing: 0.1em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 991px) {
  body {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 1.4em;
  }
}
@media screen and (max-width: 575px) {
  body {
    font-size: 1.4em;
  }
}

html, body {
  height: 100%;
  margin: 0;
}

.wrapper {
  position: relative;
  margin: 0;
  min-width: 320px;
  min-height: 100%;
  margin-bottom: 0px;
}

a[href*="tel:"] {
  color: #333;
}

@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
ul {
  padding: 0;
}

.wd900 {
  max-width: 900px !important;
  margin: 0 auto;
}

.wd1100 {
  max-width: 1100px !important;
  margin: 0 auto;
}

/* ----------------------------------------------------
ふわっと遷移
---------------------------------------------------- */
.anime {
  will-change: transform, opacity;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

body {
  -webkit-animation-name: fuwa;
          animation-name: fuwa;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

@-webkit-keyframes fuwa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fuwa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ----------------------------------------------------
電話番号リンクをスマホのみ有効
---------------------------------------------------- */
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
/* ----------------------------------------------------
margin
---------------------------------------------------- */
.mt00 {
  margin-top: 0px !important;
}

.mt05 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr00 {
  margin-right: 0px !important;
}

.mr05 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb00 {
  margin-bottom: 0px !important;
}

.mb05 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml00 {
  margin-left: 0px !important;
}

.ml05 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

/* ----------------------------------------------------
padding
---------------------------------------------------- */
.pt00 {
  padding-top: 0px !important;
}

.pt05 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pr00 {
  padding-right: 0px !important;
}

.pr05 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pb00 {
  padding-bottom: 0px !important;
}

.pb05 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl00 {
  padding-left: 0px !important;
}

.pl05 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

/* ==========================================
   トップページ
   ======================================= */
/* 並べてもOK */
/* layout */
/* ==========================================================================
   header
   ========================================================================== */
.site-header {
  position: relative;
  z-index: 100;
}
.site-header--overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: transparent;
  -webkit-backdrop-filter: none;
          backdrop-filter: none;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.site-header--overlay:hover {
  background: transparent;
}

.site-header__wrapper {
  padding: 4rem 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 70px;
}
@media screen and (max-width: 991px) {
  .site-header__wrapper {
    padding: 2rem 2rem;
    min-height: 60px;
  }
}

.brand {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.brand img {
  display: block;
  height: auto;
  width: 152px;
}
@media screen and (max-width: 1199px) {
  .brand img {
    width: 120px;
    height: auto;
  }
}
@media screen and (max-width: 991px) {
  .brand img {
    width: 100px;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .brand img {
    width: 90px;
    height: auto;
  }
}

.gnav {
  margin-left: auto;
}
@media screen and (max-width: 991px) {
  .gnav {
    display: none;
  }
}
.gnav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.gnav li {
  list-style-type: none;
  padding-right: 1rem;
}
.gnav li a {
  font-size: 80%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 2rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  color: #ffffff;
  text-decoration: none;
  position: relative;
  line-height: 1;
  height: 40px;
}
@media screen and (max-width: 1199px) {
  .gnav li a {
    font-size: 75%;
    margin-left: 1rem;
  }
}
@media screen and (max-width: 991px) {
  .gnav li a {
    font-size: 60%;
  }
}
@media screen and (max-width: 767px) {
  .gnav li a {
    font-size: 65%;
  }
}
@media screen and (max-width: 575px) {
  .gnav li a {
    font-size: 60%;
  }
}
.gnav li a:after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ffffff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.gnav li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.header-social {
  margin-left: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1199px) {
  .header-social {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 991px) {
  .header-social {
    display: none;
  }
}
.header-social__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40px;
  height: 40px;
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.header-social__link:hover {
  opacity: 0.7;
}
.header-social__link i {
  font-size: 2rem;
  line-height: 1;
  vertical-align: middle;
}

/*----------breadcrumb ----------*/
.breadcrumb {
  max-width: 1800px;
  padding: 3rem 1rem;
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 3rem 1rem;
    font-size: 1.2rem;
  }
}
.breadcrumb a {
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  color: #333;
  white-space: nowrap;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.breadcrumb > span:not(:last-child),
.breadcrumb .aioseo-breadcrumb-separator {
  white-space: nowrap;
}
.breadcrumb > span:last-child,
.breadcrumb .aioseo-breadcrumb-current {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}

/* ==========================================================================
   ダークヘッダーバージョン
   ========================================================================== */
body.header-dark .site-header .gnav li a {
  color: #333 !important;
}
body.header-dark .site-header .gnav li a:after {
  background: #333 !important;
}
body.header-dark .site-header .header-social__link {
  color: #333 !important;
}

/* ==========================================================================
   footer
   ========================================================================== */
.site-footer {
  padding: 12rem 2rem;
}
@media screen and (max-width: 991px) {
  .site-footer {
    padding: 8rem 2rem;
    text-align: center;
  }
}

.footer-brand__logo {
  width: 150px;
  height: auto;
  margin: 0 0 3rem 0;
}
@media screen and (max-width: 991px) {
  .footer-brand__logo {
    width: 120px;
    margin: 0 auto 3rem auto;
  }
}
.footer-brand__logo img {
  width: 100%;
  height: auto;
}
.footer-brand__subtitle {
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  font-size: 0.9rem;
  color: #666;
  margin: 0 0 2rem 0;
}

.footer-address {
  font-family: "Montserrat", sans-serif;
  font-size: 60%;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  margin: 0 0 2rem 0;
}
@media screen and (max-width: 767px) {
  .footer-address {
    font-size: 80%;
  }
}

.footer-social__link {
  display: inline-block;
  color: #333;
  text-align: center;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.footer-social__link:hover {
  opacity: 0.7;
}
.footer-social__link i {
  font-size: 100%;
}
@media screen and (max-width: 991px) {
  .footer-social__link i {
    font-size: 2.4rem;
  }
}

.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: block;
}
.footer-nav li a {
  font-family: "Montserrat", sans-serif;
  color: #333;
  text-decoration: none;
  font-size: 60%;
  font-weight: 500;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.footer-nav li a:hover {
  color: #666;
}

.footer-copyright {
  font-family: "Montserrat", sans-serif;
  font-size: 50%;
  font-weight: 600;
  color: #999;
  margin: 0;
}

/* お問い合わせセクション */
.contact {
  position: relative;
  padding: 12rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  background-image: url("../images/contact_background.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 100px;
}
@media screen and (max-width: 991px) {
  .contact {
    border-radius: 50px;
    padding: 8rem 0;
  }
}
.contact__content {
  position: relative;
  z-index: 2;
  width: 100%;
  text-align: center;
}
.contact__text {
  text-align: center;
  color: #ffffff;
}
.contact__text h2 {
  color: #ffffff;
  text-align: center;
}
.contact__message {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .contact__message {
    font-size: 1.2rem;
  }
}
.contact__phone {
  font-family: "Montserrat", sans-serif;
  font-size: 200%;
  font-weight: 600;
  margin-bottom: 2rem;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .contact__phone {
    font-size: 2rem;
  }
}
.contact__phone a {
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.contact__phone a:hover {
  opacity: 0.7;
}
.contact .contact__description {
  font-size: 90%;
  margin-top: 4rem !important;
  color: #ffffff;
  text-align: center;
}
.contact .contact__description p {
  color: #ffffff;
  text-align: center;
}

/* ==========================================================================
   セクション
   ========================================================================== */
/* 再利用可能なセクションクラス */
.sec-top {
  max-width: 1800px;
  margin: 0 auto;
  padding: 20rem 1rem 1rem 1rem;
}
@media screen and (max-width: 991px) {
  .sec-top {
    padding: 8rem 1rem 0 1rem;
  }
}

.sec-top-bottom {
  max-width: 1800px;
  margin: 0 auto;
  padding: 20rem 1rem;
}
@media screen and (max-width: 991px) {
  .sec-top-bottom {
    padding: 8rem 1rem;
  }
}

.sec-top-bottom2 {
  max-width: 1800px;
  margin: 0 auto;
  padding: 10rem 1rem 1rem 1rem;
}
@media screen and (max-width: 991px) {
  .sec-top-bottom2 {
    padding: 6rem 1rem 1rem 1rem;
  }
}

.sec-top-bottom3 {
  max-width: 1800px;
  margin: 0 auto;
  padding: 10rem 1rem 20rem 1rem;
}
@media screen and (max-width: 991px) {
  .sec-top-bottom3 {
    padding: 6rem 1rem 10rem 1rem;
  }
}

/* セクションタイトル */
.section__title {
  font-family: "Montserrat", sans-serif;
  font-size: 80%;
  font-weight: 400;
  color: #333;
  margin: 0 0 6rem 0;
}
@media screen and (max-width: 991px) {
  .section__title {
    font-size: 80%;
    margin-bottom: 3rem;
  }
}

.section__title3 {
  font-family: "Montserrat", sans-serif;
  font-size: 80%;
  font-weight: 400;
  color: #333;
  margin: 0 0 2rem 0;
}
.section__title3.heading--jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 80%;
  font-weight: 400;
}
@media screen and (max-width: 991px) {
  .section__title3 {
    font-size: 80%;
  }
}

/* セクションタイトル2（装飾付き） */
.section__title2 {
  font-family: "Montserrat", sans-serif;
  font-size: 180%;
  font-weight: 500;
  color: #333;
  margin: 0 0 11rem 0;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .section__title2 {
    font-size: 120%;
    margin-bottom: 7rem;
  }
}
.section__title2::after {
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background-color: #333;
}
@media screen and (max-width: 991px) {
  .section__title2::after {
    bottom: -3rem;
    width: 40px;
    height: 2px;
  }
}

/* リードセクション（汎用） */
.lead-section {
  padding: 8rem 0;
}
@media screen and (max-width: 991px) {
  .lead-section {
    padding: 6rem 1rem;
  }
}
.lead-section .section__title {
  margin-bottom: 3rem;
}
@media screen and (max-width: 991px) {
  .lead-section .section__title {
    margin-bottom: 2rem;
  }
}
.lead-section .lead-content p {
  font-size: 110%;
  line-height: 1.8;
  color: #333;
  margin: 0;
}
@media screen and (max-width: 991px) {
  .lead-section .lead-content p {
    font-size: 100%;
    line-height: 1.6;
  }
}

/* コンテンツ見出し */
.content__heading {
  font-size: 180%;
  font-weight: 400;
  color: #333;
  margin: 0 0 4rem 0;
}
@media screen and (max-width: 991px) {
  .content__heading {
    font-size: 150%;
  }
}

/* コンテンツ説明 */
.content__description {
  margin-bottom: 3rem;
}
.content__description p {
  margin-bottom: 2rem;
}

.content__description3 {
  border-top: 1px solid #333;
  padding: 6rem 2rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .content__description3 {
    padding: 4rem 2rem;
  }
}

.content__description3-title {
  font-family: "Montserrat", sans-serif;
  font-size: 70%;
  font-weight: 500;
  color: #333;
  margin: 0 0 2rem 0;
  display: block;
}

.content__description3-heading {
  font-size: 120%;
  font-weight: 400;
  color: #333;
  margin: 0 0 4rem 0;
}
@media screen and (max-width: 991px) {
  .content__description3-heading {
    font-size: 120%;
    margin-bottom: 2rem;
  }
}

.content__description3-list {
  list-style: none;
  padding-left: 0;
  margin-top: 4rem;
}
@media screen and (max-width: 991px) {
  .content__description3-list {
    margin-top: 2rem;
  }
}
.content__description3-list li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  margin-bottom: 1rem;
  line-height: 1.6;
  font-size: 90%;
}
.content__description3-list li:last-child {
  margin-bottom: 0;
}
.content__description3-list li::before {
  content: "- ";
  margin-right: 0.5em;
}

.content__description-number {
  font-family: "Montserrat", sans-serif;
  font-size: 240%;
  font-weight: 500;
  color: #333;
  margin: 0 0 4rem 0;
}

/* コンテンツ画像 */
.content__image {
  width: 100%;
  padding: 6rem 0;
  text-align: center;
}
.content__image figure {
  margin: 0;
}
.content__image figure img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 991px) {
  .content__image figure img {
    width: 80%;
    height: auto;
  }
}
.content__image--strength img {
  max-width: 500px !important;
}
@media screen and (max-width: 991px) {
  .content__image--strength img {
    max-width: 100%;
  }
}

/* トップページのAboutセクション専用背景画像 */
.top_about {
  position: relative;
  border-radius: 40px;
  height: 100%;
  overflow: hidden;
  -webkit-filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
          filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
}
@media screen and (max-width: 1199px) {
  .top_about {
    aspect-ratio: 1/1;
    height: inherit;
  }
}
@media screen and (max-width: 991px) {
  .top_about {
    -webkit-filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
            filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
    border-radius: 30px;
  }
}

.top_about__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  -webkit-animation: topAboutSlide 21s infinite;
          animation: topAboutSlide 21s infinite;
}

.top_about__slide--1 {
  background-image: url("../images/img_top_about1.jpg");
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.top_about__slide--2 {
  background-image: url("../images/img_top_about2.jpg");
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}

.top_about__slide--3 {
  background-image: url("../images/img_top_about3.jpg");
  -webkit-animation-delay: 6s;
          animation-delay: 6s;
}

.top_about__slide--4 {
  background-image: url("../images/img_top_about4.jpg");
  -webkit-animation-delay: 9s;
          animation-delay: 9s;
}

.top_about__slide--5 {
  background-image: url("../images/img_top_about5.jpg");
  -webkit-animation-delay: 12s;
          animation-delay: 12s;
}

.top_about__slide--6 {
  background-image: url("../images/img_top_about6.jpg");
  -webkit-animation-delay: 15s;
          animation-delay: 15s;
}

.top_about__slide--7 {
  background-image: url("../images/img_top_about7.jpg");
  -webkit-animation-delay: 18s;
          animation-delay: 18s;
}

/* ==========================================================================
    ページヘッダー
    ========================================================================== */
.page-header {
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 991px) {
  .page-header {
    height: 300px;
  }
}
.page-header__content {
  text-align: center;
  z-index: 2;
  color: #ffffff;
}
.page-header__content h1 {
  font-family: "Montserrat", sans-serif;
  font-size: 300%;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .page-header__content h1 {
    font-size: 240%;
    margin-bottom: 1rem;
  }
}
.page-header__content span {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .page-header__content span {
    font-size: 80%;
  }
}

/* ページヘッダー専用クラス */
.page-header-about {
  background-image: url("../images/page-about.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-works {
  background-image: url("../images/page-works.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-gallery {
  background-image: url("../images/page-gallery.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-column {
  background-image: url("../images/page-works.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-flow {
  background-image: url("../images/page-flow.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-faq {
  background-image: url("../images/page-faq.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-company {
  background-image: url("../images/page-company.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-header-contact {
  background-image: url("../images/page-contact.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ==========================================================================
    ページコンテンツ
    ========================================================================== */
.about-swiper-section {
  padding: 8rem 0;
}
@media screen and (max-width: 991px) {
  .about-swiper-section {
    padding: 4rem 0;
  }
}

.about-slider {
  width: 100%;
  overflow: hidden;
}
.about-slider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: slide-continuous-desktop 40s linear infinite;
          animation: slide-continuous-desktop 40s linear infinite;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
@media screen and (max-width: 991px) {
  .about-slider__track {
    -webkit-animation: slide-continuous-mobile 40s linear infinite;
            animation: slide-continuous-mobile 40s linear infinite;
  }
}
.about-slider__item {
  width: 500px;
  height: 500px;
  border-radius: 50px;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 30px;
}
@media screen and (max-width: 991px) {
  .about-slider__item {
    width: 300px;
    height: 300px;
    border-radius: 30px;
    margin-right: 20px;
  }
}
.about-slider__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

@-webkit-keyframes slide-continuous-desktop {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  100% {
    -webkit-transform: translateX(-3180px) translateZ(0);
            transform: translateX(-3180px) translateZ(0);
  }
}

@keyframes slide-continuous-desktop {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  100% {
    -webkit-transform: translateX(-3180px) translateZ(0);
            transform: translateX(-3180px) translateZ(0);
  }
}
@-webkit-keyframes slide-continuous-mobile {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  100% {
    -webkit-transform: translateX(-1920px) translateZ(0);
            transform: translateX(-1920px) translateZ(0);
  }
}
@keyframes slide-continuous-mobile {
  0% {
    -webkit-transform: translateX(0) translateZ(0);
            transform: translateX(0) translateZ(0);
  }
  100% {
    -webkit-transform: translateX(-1920px) translateZ(0);
            transform: translateX(-1920px) translateZ(0);
  }
}
.card__item {
  text-align: center;
  padding: 2rem 1rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 991px) {
  .card__item {
    padding: 1.5rem 1rem;
  }
}
.card__item .card__icon {
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .card__item .card__icon {
    margin-bottom: 2rem;
  }
}
.card__item .card__icon img {
  width: 135px;
  height: auto;
}
@media screen and (max-width: 991px) {
  .card__item .card__icon img {
    width: 100px;
  }
}
.card__item .card__title {
  font-size: 110%;
  font-weight: 400;
  color: #333;
  margin-bottom: 4rem;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 991px) {
  .card__item .card__title {
    margin-bottom: 2rem;
  }
}
.card__item .card__text p {
  font-size: 100%;
  text-align: left;
}

.content__description3-wrapper {
  border-bottom: 1px solid #333;
}

/* ==========================================================================
   スタッフセクション
   ========================================================================== */
.staff-item {
  margin-bottom: 6rem;
}
@media screen and (max-width: 991px) {
  .staff-item {
    margin-bottom: 4rem;
  }
}
.staff-item:last-child {
  margin-bottom: 0;
}
.staff-item__image {
  width: 100%;
  aspect-ratio: 9/12;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 2rem;
  border-radius: 40px;
}
@media screen and (max-width: 991px) {
  .staff-item__image {
    margin-bottom: 1.5rem;
    aspect-ratio: 9/12;
    border-radius: 30px;
  }
}
.staff-item__image--1 {
  background-image: url("../images/img_staff1.jpg");
}
.staff-item__image--2 {
  background-image: url("../images/img_staff2.jpg");
}
.staff-item__position {
  font-size: 85%;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 991px) {
  .staff-item__position {
    font-size: 80%;
  }
}
.staff-item__name {
  font-size: 140%;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 991px) {
  .staff-item__name {
    font-size: 120%;
    margin-bottom: 1rem;
  }
}
.staff-item__bio p {
  margin-bottom: 1rem;
  line-height: 1.8;
}
.staff-item__bio p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   ヒーローセクション
   ========================================================================== */
/* Heroセクション */
.hero {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 900px;
}
@media screen and (max-width: 991px) {
  .hero {
    min-height: 600px;
  }
}
@media screen and (max-width: 767px) {
  .hero {
    min-height: 400px;
  }
}
.hero__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  z-index: 2;
  width: 100%;
}
.hero__text-en {
  font-family: "Montserrat", sans-serif;
  font-size: 200%;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 2rem;
  text-transform: uppercase;
}
@media screen and (max-width: 991px) {
  .hero__text-en {
    font-size: 180%;
  }
}
.hero__text-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.4;
}
@media screen and (max-width: 991px) {
  .hero__text-jp {
    font-size: 1.5rem;
  }
}
.hero__slider {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.hero__image {
  width: 100%;
  height: 100dvh;
  overflow: hidden;
  min-height: 900px;
}
@media screen and (max-width: 991px) {
  .hero__image {
    min-height: 600px;
  }
}
@media screen and (max-width: 767px) {
  .hero__image {
    min-height: 400px;
  }
}
.hero__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* Swiperカスタマイズ */
.hero-swiper {
  width: 100%;
  height: 100dvh;
  min-height: 900px;
}
@media screen and (max-width: 991px) {
  .hero-swiper {
    min-height: 600px;
  }
}
@media screen and (max-width: 767px) {
  .hero-swiper {
    min-height: 400px;
  }
}
.hero-swiper .swiper-slide {
  position: relative;
}

/* ==========================================================================
   ステートメントセクション
   ========================================================================== */
/* ステートメントセクション */
.statement {
  width: 100%;
  margin: 0 auto -2.8rem auto;
  background: transparent;
  overflow: hidden;
  white-space: nowrap;
}
@media screen and (max-width: 991px) {
  .statement {
    margin: 0 auto -1.6rem auto;
  }
}
.statement__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.statement__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: scroll 50s linear infinite;
          animation: scroll 50s linear infinite;
  font-family: "Montserrat", sans-serif;
  font-size: 1000%;
  font-weight: 600;
  color: #333;
  margin: 0;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .statement__text {
    font-size: 10rem;
  }
}
.statement__text span {
  margin-right: 4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/* ==========================================================================
   イメージ
   ========================================================================== */
.para-wrapper {
  position: relative;
  height: 100dvh;
  margin-top: 0rem;
}
@media screen and (max-width: 767px) {
  .para-wrapper {
    margin-top: 0rem;
    height: 480px;
  }
}

.para-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.para-bg {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.para-top {
  background-image: url("../images/hero-00001.jpg");
}
@media screen and (max-width: 991px) {
  .para-top {
    background-image: url("../images/hero-00001.jpg");
  }
}

/* ==========================================================================
   装飾写真セクション
   ========================================================================== */
/* 装飾写真セクション */
.decorative-image {
  max-width: 1800px;
  margin: 0 auto;
  width: 100%;
  height: 600px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .decorative-image {
    height: 400px;
  }
}
.decorative-image__content {
  width: 100%;
  height: 100%;
  background-image: url("../images/hero-00001.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 100px;
}
@media screen and (max-width: 991px) {
  .decorative-image__content {
    border-radius: 0px;
  }
}

/* ==========================================================================
   ワークセクション
   ========================================================================== */
/* Worksセクション */
.works {
  background: #ffffff;
}
.works__wrapper {
  margin-bottom: 4rem;
}
.works__wrapper2 {
  margin-bottom: 4rem;
  overflow: visible;
}
.tag-cloud + .works__wrapper2 {
  margin-top: 6rem;
  margin-bottom: 20rem;
}
@media screen and (max-width: 991px) {
  .tag-cloud + .works__wrapper2 {
    margin-top: 4rem;
    margin-bottom: 16rem;
  }
}
.works__item {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  margin-bottom: 4rem;
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  text-decoration: none;
  -webkit-filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
          filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
  isolation: isolate;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
@media screen and (max-width: 991px) {
  .works__item {
    -webkit-filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
            filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
    margin-bottom: 2rem;
    aspect-ratio: 9/6;
    border-radius: 30px;
  }
}
.works__item:last-child {
  margin-bottom: 0;
}
.works__item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  z-index: 0;
  border-radius: 40px;
  -webkit-clip-path: inset(0 round 40px);
          clip-path: inset(0 round 40px);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}
@media screen and (max-width: 991px) {
  .works__item::after {
    border-radius: 30px;
    -webkit-clip-path: inset(0 round 30px);
            clip-path: inset(0 round 30px);
  }
}
.works__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
  border-radius: 40px;
  -webkit-clip-path: inset(0 round 40px);
          clip-path: inset(0 round 40px);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
@media screen and (max-width: 991px) {
  .works__item::before {
    border-radius: 30px;
    -webkit-clip-path: inset(0 round 30px);
            clip-path: inset(0 round 30px);
  }
}
.works__item:hover::after {
  transform: translateZ(0) scale(1.1);
  -webkit-transform: translateZ(0) scale(1.1);
}
.works__item:hover::before {
  background: rgba(0, 0, 0, 0.1);
}
.works__content {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.works__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
}
.works__item:hover .works__image {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.works__title {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  right: 3rem;
  z-index: 2;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 120%;
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.05em;
  max-width: calc(100% - 6rem);
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-word;
}
@media screen and (max-width: 991px) {
  .works__title {
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    max-width: calc(100% - 4rem);
  }
}

/* ==========================================================================
   コラムセクション
   ========================================================================== */
/* Columnセクション */
.column {
  background: #ffffff;
}
.column__item {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #ffffff;
}
@media screen and (max-width: 991px) {
  .column__item {
    margin-bottom: 2rem;
  }
}
.column__thumbnail {
  width: 100%;
  aspect-ratio: 9/6;
  position: relative;
  border-radius: 40px;
  -webkit-filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
          filter: drop-shadow(10px 10px 15px rgba(153, 153, 153, 0.25));
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
@media screen and (max-width: 991px) {
  .column__thumbnail {
    -webkit-filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
            filter: drop-shadow(10px 10px 10px rgba(153, 153, 153, 0.25));
    aspect-ratio: 9/6;
    border-radius: 30px;
  }
}
.column__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
  border-radius: 40px;
  -webkit-clip-path: inset(0 round 40px);
          clip-path: inset(0 round 40px);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  will-change: transform;
}
@media screen and (max-width: 991px) {
  .column__image {
    border-radius: 30px;
    -webkit-clip-path: inset(0 round 30px);
            clip-path: inset(0 round 30px);
  }
}
.column__item:hover .column__image {
  transform: translateZ(0) scale(1.1);
  -webkit-transform: translateZ(0) scale(1.1);
}
.column__title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 120%;
  font-weight: 400;
  color: #333;
  margin: 2.4rem 0 1rem 0;
  line-height: 1.4;
}
.column__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  color: #666;
  margin: 0 0 2rem 0;
}
.column__date {
  font-family: "Montserrat", sans-serif;
}
.column__separator {
  color: #ccc;
}
.column__category {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
}

/* ==========================================================================
    404エラーページ
    ========================================================================== */
.block_error {
  padding: 12rem 0;
  text-align: center;
  background: #ffffff;
}
@media screen and (max-width: 991px) {
  .block_error {
    padding: 8rem 0;
  }
}
.block_error .error_1 {
  font-family: "Montserrat", sans-serif;
  font-size: 1600%;
  font-weight: 600;
  color: #333;
  margin: 0 0 0 0;
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .block_error .error_1 {
    font-size: 800%;
  }
}
.block_error .error_2 {
  font-family: "Montserrat", sans-serif;
  font-size: 280%;
  font-weight: 400;
  color: #333;
  margin: 0 0 4rem 0;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 991px) {
  .block_error .error_2 {
    font-size: 150%;
  }
}
.block_error .error_3 {
  font-size: 100%;
  line-height: 1.8;
  color: #333;
  margin: 0 0 4rem 0;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 991px) {
  .block_error .error_3 {
    font-size: 110%;
  }
}
.block_error .btn_center {
  margin-top: 2rem;
}

/* ==========================================================================
    ニュースセクション
    ========================================================================== */
/* Newsセクション */
.news {
  background: #ffffff;
}
.news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #333;
}
.news__item {
  border-bottom: 1px solid #333;
  padding: 6rem 2rem;
}
@media screen and (max-width: 991px) {
  .news__item {
    padding: 4rem 1rem;
  }
}
.news__date {
  font-family: "Montserrat", sans-serif;
  font-size: 80%;
  color: #333;
  margin-bottom: 1rem;
}
.news__title {
  font-size: 120%;
  font-weight: 600;
  color: #333;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
@media screen and (max-width: 991px) {
  .news__title {
    font-size: 110%;
  }
}
.news__content h1,
.news__content h2,
.news__content h3,
.news__content h4,
.news__content h5,
.news__content h6 {
  font-weight: 500;
  line-height: 1.4;
  color: #333;
}
.news__content h1:first-child,
.news__content h2:first-child,
.news__content h3:first-child,
.news__content h4:first-child,
.news__content h5:first-child,
.news__content h6:first-child {
  margin-top: 0;
}
.news__content h1,
.news__content h2 {
  font-size: 110%;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 991px) {
  .news__content h1,
  .news__content h2 {
    font-size: 105%;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}
.news__content h1::before,
.news__content h2::before {
  content: "- ";
}
.news__content h3 {
  font-size: 105%;
  margin-top: 2.5rem;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 991px) {
  .news__content h3 {
    font-size: 100%;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}
.news__content h4 {
  font-size: 100%;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 991px) {
  .news__content h4 {
    font-size: 95%;
    margin-top: 1.5rem;
  }
}
.news__content h5 {
  font-size: 95%;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 991px) {
  .news__content h5 {
    font-size: 90%;
  }
}
.news__content h6 {
  font-size: 90%;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 991px) {
  .news__content h6 {
    font-size: 85%;
  }
}
.news__content p {
  line-height: 1.6;
  color: #666;
  margin-bottom: 2rem;
}
.news__content p:last-child {
  margin-bottom: 0;
}
.news__content ul,
.news__content ol {
  margin-bottom: 1rem;
  padding-left: 3rem;
  margin-left: 0;
}
.news__content ul li,
.news__content ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  color: #666;
  padding-left: 0.5rem;
}
.news__content img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  display: block;
  border-radius: 40px;
}
@media screen and (max-width: 991px) {
  .news__content img {
    border-radius: 30px;
  }
}
.news__content blockquote {
  margin: 1.5rem 0;
  padding-left: 1rem;
  border-left: 3px solid #ddd;
  font-style: italic;
  color: #666;
}
.news__content code {
  background-color: #f5f5f5;
  padding: 0.2rem 0.4rem;
  border-radius: 3px;
  font-family: monospace;
  font-size: 90%;
}
.news__content pre {
  background-color: #f5f5f5;
  padding: 1rem;
  border-radius: 5px;
  overflow-x: auto;
  margin: 1rem 0;
}
.news__content pre code {
  background: none;
  padding: 0;
}
.news__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}
.news__content table th,
.news__content table td {
  padding: 0.5rem;
  border-bottom: 1px solid #ddd;
  text-align: left;
}
.news__content table th {
  background-color: #f8f8f8;
  font-weight: 500;
}
.news__content a {
  color: #007cba;
  text-decoration: none;
  word-break: break-all;
  overflow-wrap: break-word;
}
.news__content a:hover {
  text-decoration: underline;
}
.news__content strong,
.news__content b {
  font-weight: 600;
}
.news__content em,
.news__content i {
  font-style: italic;
}

/* google map */
.gmap {
  position: relative;
  width: 100%;
  padding-top: 100%;
  /* 16:9のアスペクト比 */
  height: 0;
  margin-bottom: 2rem;
}
@media screen and (max-width: 991px) {
  .gmap {
    margin-bottom: 1.5rem;
  }
}

.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   タグクラウド
   ========================================================================== */
.tag-cloud {
  margin: 8rem 1rem 0 1rem;
  border: 1px solid #333;
}
@media screen and (max-width: 991px) {
  .tag-cloud {
    margin: 6rem 2rem 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .tag-cloud {
    margin: 4rem 1rem 0 1rem;
  }
}
.tag-cloud__toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 2rem 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 991px) {
  .tag-cloud__toggle {
    padding: 2rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .tag-cloud__toggle {
    padding: 1rem 1.5rem;
  }
}
.tag-cloud__toggle:focus {
  outline: 2px solid #8B4513;
  outline-offset: 2px;
}
.tag-cloud__label {
  font-size: 80% !important;
  color: #333;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}
.tag-cloud__icon {
  position: relative;
  width: 20px;
  height: 20px;
  display: block;
}
@media screen and (max-width: 991px) {
  .tag-cloud__icon {
    width: 18px;
    height: 18px;
  }
}
.tag-cloud__icon__line {
  position: absolute;
  background-color: #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.tag-cloud__icon__line--horizontal {
  width: 20px;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 991px) {
  .tag-cloud__icon__line--horizontal {
    width: 18px;
  }
}
.tag-cloud__icon__line--vertical {
  width: 2px;
  height: 20px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 991px) {
  .tag-cloud__icon__line--vertical {
    height: 18px;
  }
}
.tag-cloud__content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
  padding: 0 4rem;
}
@media screen and (max-width: 991px) {
  .tag-cloud__content {
    padding: 0 2rem;
  }
}
@media screen and (max-width: 767px) {
  .tag-cloud__content {
    padding: 0 1.5rem;
  }
}
.tag-cloud.is-open .tag-cloud__content {
  max-height: 500px;
  padding: 0 3rem 2rem 3rem;
}
@media screen and (max-width: 991px) {
  .tag-cloud.is-open .tag-cloud__content {
    padding: 0 2rem 2rem 2rem;
  }
}
@media screen and (max-width: 767px) {
  .tag-cloud.is-open .tag-cloud__content {
    padding: 0 1.5rem 1rem 1.5rem;
  }
}
.tag-cloud.is-open .tag-cloud__icon__line--vertical {
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}
.tag-cloud.is-open .tag-cloud__icon__line--horizontal {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.tag-cloud a {
  font-size: 80% !important;
  color: #333;
  text-decoration: none;
  margin: 0 0.5rem;
  white-space: nowrap;
  -webkit-transition: -webkit-text-decoration 0.3s ease;
  transition: -webkit-text-decoration 0.3s ease;
  transition: text-decoration 0.3s ease;
  transition: text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
}
.tag-cloud a:hover {
  text-decoration: underline;
}

/* module */
/* ==========================================================================
articlelist
   ========================================================================== */
/*  ページネーション */
.new-pagenation {
  width: 100%;
  margin: 8rem auto 20rem auto;
  clear: both;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .new-pagenation {
    margin: 4rem auto 10rem auto;
  }
}

.new-pagenation a, .new-pagenation span {
  font-family: "Montserrat", sans-serif;
  color: #333;
  border: solid 1px #333;
  border-radius: 8px;
  padding: 8px 15px;
  margin: 0 2px 1rem 2px;
  white-space: nowrap;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .new-pagenation a, .new-pagenation span {
    font-size: 1.2rem;
    padding: 6px 12px;
    border: solid 1px #333;
  }
}

.new-pagenation a:hover {
  color: #fff;
  background-color: #333;
  border-color: #333;
}

.new-pagenation span.current {
  color: #fff;
  background-color: #333;
  border-color: #333;
  font-weight: bold;
}

/* ==========================================================================
single-column
   ========================================================================== */
#toc_container {
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding: 2rem;
  background-color: #ffffff;
}

.page-column {
  margin: 8rem auto 20rem auto;
}
@media screen and (max-width: 991px) {
  .page-column {
    margin: 4rem 1rem 10rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .page-column {
    margin: 2rem 1rem 5rem 1rem;
  }
}

.page-works {
  margin: 0rem auto 20rem auto;
}
@media screen and (max-width: 991px) {
  .page-works {
    margin: 0rem auto 10rem auto;
  }
}
@media screen and (max-width: 767px) {
  .page-works {
    margin: 0rem 1rem 5rem 1rem;
  }
}

.page-content-contact {
  margin: 0rem auto 20rem auto;
}
@media screen and (max-width: 991px) {
  .page-content-contact {
    margin: 0rem auto 10rem auto;
  }
}
@media screen and (max-width: 767px) {
  .page-content-contact {
    margin: 0rem 0rem 5rem 0rem;
  }
}

body.tax-works_cat .page-content,
body.tax-works_tag .page-content,
body.tax-column_cat .page-content,
body.tax-column_tga .page-content {
  margin-bottom: 20rem;
}
@media screen and (max-width: 991px) {
  body.tax-works_cat .page-content,
  body.tax-works_tag .page-content,
  body.tax-column_cat .page-content,
  body.tax-column_tga .page-content {
    margin-bottom: 10rem;
  }
}
@media screen and (max-width: 767px) {
  body.tax-works_cat .page-content,
  body.tax-works_tag .page-content,
  body.tax-column_cat .page-content,
  body.tax-column_tga .page-content {
    margin-bottom: 5rem;
  }
}
body.tax-works_cat .sec-top,
body.tax-works_tag .sec-top,
body.tax-column_cat .sec-top,
body.tax-column_tga .sec-top {
  padding-top: 8rem;
}
@media screen and (max-width: 991px) {
  body.tax-works_cat .sec-top,
  body.tax-works_tag .sec-top,
  body.tax-column_cat .sec-top,
  body.tax-column_tga .sec-top {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  body.tax-works_cat .sec-top,
  body.tax-works_tag .sec-top,
  body.tax-column_cat .sec-top,
  body.tax-column_tga .sec-top {
    padding-top: 2rem;
  }
}

body.post-type-archive-column .sec-top-bottom2 {
  padding-top: 8rem;
}
@media screen and (max-width: 991px) {
  body.post-type-archive-column .sec-top-bottom2 {
    padding-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  body.post-type-archive-column .sec-top-bottom2 {
    padding-top: 2rem;
  }
}

.single-column__title {
  font-size: 160%;
  margin-bottom: 1rem;
  font-weight: 600;
}

.single-column__meta {
  font-size: 80%;
  margin-bottom: 2.5rem;
  color: #666;
}
.single-column__meta a {
  color: #333;
  text-decoration: none;
}
.single-column__meta a:hover {
  text-decoration: underline;
}

.single-column__thumbnail {
  width: 100%;
  aspect-ratio: 9/6;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 4rem;
  border-radius: 40px;
  overflow: hidden;
}
@media screen and (max-width: 991px) {
  .single-column__thumbnail {
    border-radius: 30px;
  }
}

.single-column__content {
  margin-bottom: 8rem;
}
@media screen and (max-width: 991px) {
  .single-column__content {
    margin-bottom: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content {
    margin-bottom: 3rem;
  }
}
.single-column__content h1, .single-column__content h2, .single-column__content h3, .single-column__content h4, .single-column__content h5, .single-column__content h6 {
  font-weight: 500;
  line-height: 1.4;
}
.single-column__content h1:first-child, .single-column__content h2:first-child, .single-column__content h3:first-child, .single-column__content h4:first-child, .single-column__content h5:first-child, .single-column__content h6:first-child {
  margin-top: 0;
}
.single-column__content h1, .single-column__content h2 {
  font-size: 160%;
  margin-top: 6rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 991px) {
  .single-column__content h1, .single-column__content h2 {
    font-size: 140%;
    margin-top: 4rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content h1, .single-column__content h2 {
    font-size: 130%;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
.single-column__content h3 {
  font-size: 140%;
  margin-top: 4rem;
  margin-bottom: 2rem;
}
.single-column__content h3::before {
  content: "- ";
}
@media screen and (max-width: 991px) {
  .single-column__content h3 {
    font-size: 120%;
    margin-top: 3rem;
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content h3 {
    font-size: 110%;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
}
.single-column__content h4 {
  font-size: 120%;
  margin-top: 2rem;
}
@media screen and (max-width: 991px) {
  .single-column__content h4 {
    font-size: 110%;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content h4 {
    font-size: 105%;
    margin-top: 1rem;
  }
}
.single-column__content h5 {
  font-size: 110%;
  margin-top: 2rem;
}
@media screen and (max-width: 991px) {
  .single-column__content h5 {
    font-size: 105%;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content h5 {
    font-size: 100%;
    margin-top: 1rem;
  }
}
.single-column__content h6 {
  font-size: 100%;
  margin-top: 2rem;
}
@media screen and (max-width: 991px) {
  .single-column__content h6 {
    font-size: 95%;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content h6 {
    font-size: 90%;
    margin-top: 1rem;
  }
}
.single-column__content p {
  margin-bottom: 2rem;
}
@media screen and (max-width: 991px) {
  .single-column__content p {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content p {
    margin-bottom: 1rem;
  }
}
.single-column__content ul, .single-column__content ol {
  margin-bottom: 1rem;
  padding-left: 1.5rem;
  list-style-position: inside;
}
@media screen and (max-width: 991px) {
  .single-column__content ul, .single-column__content ol {
    padding-left: 1.2rem;
    margin-bottom: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content ul, .single-column__content ol {
    padding-left: 1rem;
    margin-bottom: 0.8rem;
  }
}
.single-column__content ul li, .single-column__content ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media screen and (max-width: 767px) {
  .single-column__content ul li, .single-column__content ol li {
    margin-bottom: 0.3rem;
    line-height: 1.5;
  }
}
.single-column__content img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  display: block;
  border-radius: 40px;
}
@media screen and (max-width: 991px) {
  .single-column__content img {
    border-radius: 30px;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content img {
    margin: 0.8rem 0;
  }
}
.single-column__content blockquote {
  margin: 1.5rem 0;
  padding-left: 1rem;
  border-left: 3px solid #ddd;
  font-style: italic;
  color: #666;
}
@media screen and (max-width: 991px) {
  .single-column__content blockquote {
    margin: 1rem 0;
    padding-left: 0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content blockquote {
    margin: 0.8rem 0;
    padding-left: 0.5rem;
    border-left-width: 2px;
  }
}
.single-column__content code {
  background-color: #f5f5f5;
  padding: 0.2rem 0.4rem;
  border-radius: 3px;
  font-family: monospace;
  font-size: 90%;
}
@media screen and (max-width: 767px) {
  .single-column__content code {
    font-size: 85%;
    padding: 0.15rem 0.3rem;
  }
}
.single-column__content pre {
  background-color: #f5f5f5;
  padding: 1rem;
  border-radius: 5px;
  overflow-x: auto;
  margin: 1rem 0;
}
@media screen and (max-width: 991px) {
  .single-column__content pre {
    padding: 0.8rem;
    margin: 0.8rem 0;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content pre {
    padding: 0.6rem;
    margin: 0.6rem 0;
    border-radius: 3px;
  }
}
.single-column__content pre code {
  background: none;
  padding: 0;
}
.single-column__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}
@media screen and (max-width: 991px) {
  .single-column__content table {
    margin: 0.8rem 0;
    font-size: 95%;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content table {
    margin: 0.6rem 0;
    font-size: 90%;
  }
}
.single-column__content table th, .single-column__content table td {
  padding: 0.5rem;
  border-bottom: 1px solid #ddd;
  text-align: left;
}
@media screen and (max-width: 991px) {
  .single-column__content table th, .single-column__content table td {
    padding: 0.4rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__content table th, .single-column__content table td {
    padding: 0.3rem;
  }
}
.single-column__content table th {
  background-color: #f8f8f8;
  font-weight: 500;
}
.single-column__content a {
  color: #007cba;
  text-decoration: none;
  word-break: break-all;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}
.single-column__content a:hover {
  text-decoration: underline;
}
.single-column__content strong, .single-column__content b {
  font-weight: 600;
}
.single-column__content em, .single-column__content i {
  font-style: italic;
}

.single-column__categories {
  font-size: 95%;
  margin-top: 8rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .single-column__categories {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__categories {
    margin-top: 3rem;
  }
}
.single-column__categories h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 80%;
}
.single-column__categories ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.single-column__categories ul li {
  margin-bottom: 0;
}
.single-column__categories ul li a {
  color: #333;
  text-decoration: none;
}
.single-column__categories ul li a:hover {
  text-decoration: underline;
}

.single-column__tags {
  font-size: 95%;
  margin-top: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .single-column__tags {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__tags {
    margin-top: 1rem;
  }
}
.single-column__tags h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 80%;
}
.single-column__tags ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem 1rem;
}
.single-column__tags ul li {
  margin-bottom: 0;
}
.single-column__tags ul li a {
  color: #333;
  text-decoration: none;
}
.single-column__tags ul li a:hover {
  text-decoration: underline;
}
.single-column__tags ul li::before {
  content: "#";
}

.single-column__author {
  font-size: 95%;
  margin-top: 2rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .single-column__author {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .single-column__author {
    margin-top: 1rem;
  }
}
.single-column__author h3 {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 80%;
}
.single-column__author .author-bio {
  font-size: 80%;
}

.single-column__related {
  font-size: 95%;
  margin-top: 8rem;
}

/* ==========================================================================
   button
   ========================================================================== */
.btn {
  display: inline-block;
  padding: 0.8rem 4rem;
  border-radius: 100px;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-size: 80%;
  font-weight: 400;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border: 1px solid transparent;
}
.btn:hover {
  opacity: 0.8;
}
.btn:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
}
.btn--view-more {
  border: 1px solid #333;
  color: #333;
  background: transparent;
}
.btn--view-more:hover {
  background: #333;
  color: #ffffff;
}
.btn--contact {
  background: #ffffff;
  color: #333;
  border: 1px solid #ffffff;
}
.btn--contact:hover {
  background: transparent;
  color: #ffffff;
  border-color: #ffffff;
}

/* ボタン中央配置クラス */
.btn-center {
  text-align: center;
}

/* ==========================================================================
   FAQ アコーディオン
   ========================================================================== */
/* アンカーナビゲーション */
.anchor-nav-section {
  padding-top: 10rem;
}
@media screen and (max-width: 991px) {
  .anchor-nav-section {
    padding: 5rem 1rem 0 1rem;
  }
}
.anchor-nav-section ul.row {
  list-style: none;
  padding: 0;
  margin: 0;
}
.anchor-nav-section ul.row li {
  list-style: none;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 991px) {
  .anchor-nav-section ul.row li {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .anchor-nav-section ul.row li {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
}

.anchor-nav-link {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 1.5rem 0.5rem;
  border-bottom: 1px solid #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #333;
  line-height: 1.2;
}
.anchor-nav-link:hover {
  background-color: #f6f6f6;
}
.anchor-nav-link span {
  font-size: 80%;
}
@media screen and (max-width: 991px) {
  .anchor-nav-link span {
    font-size: 80%;
  }
}

.faq-item {
  border-bottom: 1px solid #333;
}
.faq-item:first-child {
  border-top: 1px solid #333;
}

.faq-question {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3rem 2rem;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 991px) {
  .faq-question {
    padding: 2rem 1rem;
  }
}
.faq-question span {
  font-size: 110%;
  font-weight: 400;
  color: #333;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: 1rem;
}
@media screen and (max-width: 991px) {
  .faq-question span {
    font-size: 100%;
  }
}

.faq-toggle {
  background: none;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.faq-toggle:focus {
  outline: 2px solid #8B4513;
  outline-offset: 2px;
}
.faq-toggle:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.faq-icon {
  position: relative;
  width: 20px;
  height: 20px;
  display: block;
}
@media screen and (max-width: 991px) {
  .faq-icon {
    width: 16px;
    height: 16px;
  }
}

.faq-icon__line {
  position: absolute;
  background-color: #333;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.faq-icon__line--horizontal {
  width: 20px;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 991px) {
  .faq-icon__line--horizontal {
    width: 16px;
  }
}
.faq-icon__line--vertical {
  width: 2px;
  height: 20px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 991px) {
  .faq-icon__line--vertical {
    height: 16px;
  }
}

.faq-item.active .faq-icon__line--vertical {
  -webkit-transform: translateX(-50%) rotate(90deg);
          transform: translateX(-50%) rotate(90deg);
  opacity: 0;
}
.faq-item.active .faq-icon__line--horizontal {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease, padding 0.3s ease;
  transition: max-height 0.3s ease, padding 0.3s ease;
}
.faq-answer div {
  padding: 0 2rem 3rem 2rem;
}
@media screen and (max-width: 991px) {
  .faq-answer div {
    padding: 0 1rem 2rem 1rem;
    font-size: 85%;
  }
}

.faq-item.active .faq-answer {
  max-height: 200px;
}

@-webkit-keyframes faq-open {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 200px;
    opacity: 1;
  }
}

@keyframes faq-open {
  from {
    max-height: 0;
    opacity: 0;
  }
  to {
    max-height: 200px;
    opacity: 1;
  }
}
@-webkit-keyframes faq-close {
  from {
    max-height: 200px;
    opacity: 1;
  }
  to {
    max-height: 0;
    opacity: 0;
  }
}
@keyframes faq-close {
  from {
    max-height: 200px;
    opacity: 1;
  }
  to {
    max-height: 0;
    opacity: 0;
  }
}
/* ==========================================================================
   form
   ========================================================================== */
.form_wrapper {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .form_wrapper {
    margin-top: 3rem;
  }
}

.form-group {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .form-group {
    margin-bottom: 2rem;
  }
}
.form-group label {
  margin-bottom: 1rem;
  font-weight: 500;
}

.form-control, .form-select {
  height: inherit;
  font-size: 1em;
  padding: 14px;
  border: none;
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .form-control, .form-select {
    padding: 12px 12px 10px;
  }
}
@media screen and (max-width: 575px) {
  .form-control, .form-select {
    padding: 10px 10px 8px;
  }
}

.form {
  text-align: left;
  /* Chrome, Safari */
  /* Firefox */
  /* Firefox 18以前 */
  /* IE */
  /* Edge */
}
.form textarea {
  background-color: #f6f6f6;
  height: 17em;
}
.form input, .form select {
  background-color: #f6f6f6;
}
.form input[type=submit] {
  display: inline-block;
  border: 2px solid #333;
  background: #333;
  color: #fff;
  padding: 1.2rem 4rem;
  text-decoration: none;
  font-weight: bold;
  font-size: 120%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  border-radius: 100px;
  width: 100%;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 767px) {
  .form input[type=submit] {
    border: 1px solid #333;
  }
}
.form input[type=submit]:hover {
  background: #fff;
  color: #333;
}
.form input::-webkit-input-placeholder {
  color: #ccc !important;
}
.form input::-moz-placeholder {
  color: #ccc !important;
}
.form input:-ms-input-placeholder {
  color: #ccc !important;
}
.form input::-ms-input-placeholder {
  color: #ccc !important;
}
.form input::placeholder {
  color: #ccc !important;
}
.form ::-webkit-input-placeholder {
  color: #ccc !important;
}
.form ::-moz-placeholder {
  color: #ccc !important;
}
.form :-moz-placeholder {
  color: #ccc !important;
}
.form :-ms-input-placeholder {
  color: #ccc !important;
}
.form input::-ms-input-placeholder {
  color: #ccc !important;
}

input.wpcf7-form-control.wpcf7-submit {
  display: block;
  margin: 0 auto;
}

.p_required {
  color: #fff;
  background: #ff0000;
  border-radius: 100px;
  line-height: 1;
  padding: 0.4rem 1.2rem;
  font-size: 70%;
  font-weight: 700;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .p_required {
    padding: 0.2rem 1.2rem;
  }
}

.wpcf7-acceptance {
  display: block;
  margin: 2rem 0;
}

.wpcf7-submit:disabled {
  background-color: #ccc;
  border-color: #ccc;
}

.wpcf7-list-item {
  margin: 0 !important;
}

.cp_ipselect {
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  padding: 6px 0;
}
@media screen and (max-width: 767px) {
  .cp_ipselect {
    padding: 3px 0;
  }
}

.cp_ipselect select {
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.cp_ipselect select::-ms-expand {
  display: none;
}

.cp_ipselect.cp_sl01 {
  position: relative;
  border: 1px solid #333;
  background: #ffffff;
  padding: 8px;
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .cp_ipselect.cp_sl01 {
    padding: 12px 12px 10px;
  }
}
@media screen and (max-width: 575px) {
  .cp_ipselect.cp_sl01 {
    padding: 4px 10px 4px;
  }
}

.cp_ipselect.cp_sl01::before {
  position: absolute;
  top: 1.6em;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #333;
  pointer-events: none;
}
@media screen and (max-width: 1199px) {
  .cp_ipselect.cp_sl01::before {
    top: 1.6em;
  }
}
@media screen and (max-width: 575px) {
  .cp_ipselect.cp_sl01::before {
    top: 1.4em;
  }
}

.cp_ipselect.cp_sl01 select {
  padding: 8px 38px 6px 8px;
  color: #333;
}

/********** エラーメッセージ**********/
.screen-reader-response {
  display: none;
}

.wpcf7-validation-errors {
  text-align: left;
  border: 4px solid #FF0000;
  background: #fff;
  padding: 1rem 2rem 1rem;
  color: #FF0000;
}

.wpcf7-not-valid-tip {
  color: #FF0000;
  font-weight: bold;
}

.wpcf7 .wpcf7-not-valid {
  background: #F2DEDE;
}

.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border-radius: 4px;
}

.wpcf7 .wpcf7-validation-errors {
  color: #FF0000;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}

.wpcf7 .wpcf7-mail-sent-ok {
  color: #3A87AD;
  background-color: #D9EDF7;
  border: 1px solid #BCE8F1;
}

.thank_wrapper {
  text-align: center;
  padding: 4rem 0 6rem;
}
.thank_wrapper h3 {
  color: #000;
  font-weight: 900;
  text-align: center;
  font-size: 3.6rem;
  margin-bottom: 2rem;
}

.grecaptcha-badge {
  visibility: hidden;
}

.privacy {
  border: 1px solid #333;
  font-size: 1.2rem;
  height: 17em;
  background: #fff;
  padding: 2rem;
  margin: 2rem 0 4rem 0;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .privacy {
    padding: 2rem 1rem;
  }
}
.privacy p {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .privacy p {
    font-size: 1rem;
  }
}
.privacy h2 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .privacy h2 {
    font-size: 1.2rem;
  }
}
.privacy h3 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .privacy h3 {
    font-size: 1.2rem;
  }
}
.privacy h4 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .privacy h4 {
    font-size: 1rem;
  }
}
.privacy ul, .privacy ol {
  padding-left: 2.5rem;
}
.privacy li {
  font-size: 1.2rem;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .privacy li {
    font-size: 1rem;
  }
}

.content-tel {
  background-color: #f6f6f6;
  text-align: center;
  padding: 8rem;
  margin-bottom: 8rem;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .content-tel {
    padding: 3rem 2rem;
    margin-bottom: 4rem;
    border-radius: 30px;
  }
}
.content-tel .tel-title {
  font-size: 80%;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #333;
}
@media screen and (max-width: 767px) {
  .content-tel .tel-title {
    font-size: 1.2rem;
  }
}
.content-tel .tel-number {
  display: block;
  font-size: 240%;
  font-weight: 600;
  color: #333;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
}
@media screen and (max-width: 767px) {
  .content-tel .tel-number {
    font-size: 160%;
  }
}
.content-tel .business-hours {
  display: block;
  font-size: 100%;
  color: #333;
  margin-bottom: 0.5rem;
}
.content-tel .business-note {
  display: block;
  font-size: 80%;
  color: #666;
}
@media screen and (max-width: 767px) {
  .content-tel .business-note {
    font-size: 80%;
  }
}

/* ==========================================================================
   Portfolio Filter Gallery プラグインのCSS上書き
   ========================================================================== */
.pfg-filters--minimal .pfg-filter {
  background-color: #ffffff !important;
  border: 1px solid #333 !important;
  color: #333 !important;
  font-family: "Montserrat", sans-serif !important;
}
.pfg-filters--minimal .pfg-filter--active {
  background-color: #333 !important;
  color: #ffffff !important;
  border-color: #333 !important;
}

/* ==========================================================================
   heading
   ========================================================================== */
/* 基本見出しスタイル */
.heading {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #333;
  margin: 0;
  line-height: 1.5 !important;
}
.heading--large {
  font-size: 200%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .heading--large {
    font-size: 150%;
    margin-bottom: 2rem;
  }
}
.heading--medium {
  font-size: 150%;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .heading--medium {
    font-size: 120%;
    margin-bottom: 2rem;
  }
}
.heading--small {
  font-size: 120%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 991px) {
  .heading--small {
    font-size: 110%;
  }
}
.heading--decorated {
  position: relative;
  text-align: center;
  margin-bottom: 6rem;
}
.heading--decorated::after {
  content: "";
  position: absolute;
  bottom: -2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 4px;
  background-color: #333;
}
.heading--white {
  color: #ffffff;
}
.heading--primary {
  color: #8B4513;
}
.heading--left {
  text-align: left;
}
.heading--center {
  text-align: center;
}
.heading--right {
  text-align: right;
}
.heading--eng {
  font-family: "Montserrat", sans-serif;
}
.heading--jp {
  font-family: "Noto Sans JP", sans-serif;
}

/* ==========================================================================
   icon
   ========================================================================== */
/**
 * 無限スクロール用のスタイル
 */
.next_posts_link {
  display: none !important;
}

.page-load-status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0 80px;
}
.page-load-status .infinite-scroll-request {
  display: block;
  width: 20px;
  height: 20px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #333;
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite;
          animation: spin 1s linear infinite;
  margin: 0 auto;
}
.page-load-status .infinite-scroll-last,
.page-load-status .infinite-scroll-error {
  color: #666;
  font-size: 14px;
  margin-bottom: 0;
  text-align: center;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* ==========================================================================
   media
   ========================================================================== */
.hamburger {
  display: none;
  border-radius: 0px;
  width: 50px;
  height: 50px;
  position: fixed;
  top: 36px;
  right: 20px;
  z-index: 10000;
  padding: 17px 0 0 13px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  will-change: transform;
}
@media screen and (max-width: 991px) {
  .hamburger {
    display: block;
    top: 22px;
    right: 10px;
  }
}
@media screen and (max-width: 767px) {
  .hamburger {
    top: 19px;
    right: 10px;
  }
}

.hamburger__icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
}

.hamburger__icon, .hamburger__icon:before, .hamburger__icon:after {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #ffffff;
  -webkit-box-shadow: 1px 1px 0 #999;
          box-shadow: 1px 1px 0 #999;
  -webkit-transition-property: background-color, box-shadow, -webkit-transform;
  -webkit-transition-property: background-color, -webkit-box-shadow, -webkit-transform;
  transition-property: background-color, -webkit-box-shadow, -webkit-transform;
  transition-property: background-color, box-shadow, transform;
  transition-property: background-color, box-shadow, transform, -webkit-box-shadow, -webkit-transform;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

.hamburger__icon:before, .hamburger__icon:after {
  position: absolute;
  content: "";
}

.hamburger__icon:before {
  top: -7px;
}

.hamburger__icon:after {
  top: 7px;
}

.hamburger.active .hamburger__icon {
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
}

.hamburger.active .hamburger__icon:before, .hamburger.active .hamburger__icon:after {
  background-color: #ffffff;
}

.hamburger.active .hamburger__icon:before {
  -webkit-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}

.hamburger.active .hamburger__icon:after {
  -webkit-transform: translateY(-7px) rotate(-45deg);
  transform: translateY(-7px) rotate(-45deg);
}

.fat-nav {
  top: 0;
  left: 0;
  z-index: 9999;
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  background: #333;
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.fat-nav__wrapper {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.fat-nav.active {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.fat-nav ul {
  display: block;
  margin: 0;
  padding: 0;
  text-align: center;
}

.fat-nav li {
  font-family: "Montserrat", sans-serif, "メイリオ", Meiryo, "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
  font-style: normal;
  font-weight: 400;
  list-style-type: none;
  text-align: center;
  padding: 10px;
  font-size: 100%;
}

.fat-nav li, .fat-nav li a {
  color: #ffffff;
}

.fat-nav li a {
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.fat-nav li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ffffff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.fat-nav li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.fat-nav__social {
  margin-top: 3rem;
  text-align: center;
}

.fat-nav__instagram {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  color: #ffffff;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.fat-nav__instagram:hover {
  opacity: 0.7;
}
.fat-nav__instagram i {
  font-size: 2.5rem;
}

/* ==========================================================================
   ダークナビゲーションバージョン
   ========================================================================== */
body.header-dark .hamburger__icon,
body.header-dark .hamburger__icon:before,
body.header-dark .hamburger__icon:after {
  background-color: #333 !important;
  -webkit-box-shadow: 1px 1px 0 #ffffff !important;
          box-shadow: 1px 1px 0 #ffffff !important;
}
body.header-dark .hamburger.active .hamburger__icon {
  background-color: transparent !important;
}
body.header-dark .hamburger.active .hamburger__icon:before,
body.header-dark .hamburger.active .hamburger__icon:after {
  background-color: #333 !important;
}
body.header-dark .fat-nav {
  background: #ffffff !important;
}
body.header-dark .fat-nav li,
body.header-dark .fat-nav li a {
  color: #333 !important;
}
body.header-dark .fat-nav li a::after {
  background: #333 !important;
}
body.header-dark .fat-nav__instagram {
  color: #333 !important;
}

/* ==========================================================================
   list
   ========================================================================== */
.ul_attention {
  list-style: none;
  font-size: 80%;
}
.ul_attention li {
  padding-left: 1.3em;
  text-indent: -1.3em;
}
.ul_attention li:before {
  content: "※";
  margin-right: 0.35em;
}

.list1 {
  font-size: 80%;
  padding-left: 1.5em;
}

.list2 {
  padding-left: 1.5em;
}

.list3 {
  font-size: 100%;
  padding-left: 1.5em;
}

/* ==========================================================================
   table
   ========================================================================== */
.table1 {
  display: block;
  width: 100%;
  padding: 4rem 0;
  border-bottom: 1px solid #333;
  border-top: 1px solid #333;
}
@media screen and (max-width: 767px) {
  .table1 {
    padding: 2rem 0;
  }
}
.table1 tbody {
  display: block;
  width: 100%;
}
.table1 tr {
  display: block;
  width: 100%;
}
.table1 th,
.table1 td {
  padding: 2rem;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .table1 th,
  .table1 td {
    padding: 1rem;
  }
}
.table1 th {
  width: 8em;
}

/* ==========================================================================
works-gallery
   ========================================================================== */
.works-gallery-bg {
  width: 100%;
  background-color: #333;
  margin-bottom: 4rem;
}

.works-gallery {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  position: relative;
  background-color: #333;
}
@media screen and (max-width: 767px) {
  .works-gallery {
    margin-left: -1rem;
    margin-right: -1rem;
    width: calc(100% + 2rem);
    max-width: calc(100% + 2rem);
  }
}
.works-gallery__image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .works-gallery__image {
    aspect-ratio: 9/6;
  }
}
.works-gallery__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.works-gallery__nav {
  color: #ffffff !important;
}
.works-gallery__nav:after {
  color: #ffffff !important;
}
.works-gallery__nav:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}
.works-gallery__nav:hover:after {
  color: rgba(255, 255, 255, 0.8) !important;
}
.works-gallery__pagination .swiper-pagination-bullet {
  background-color: #ffffff !important;
  opacity: 0.5;
}
.works-gallery__pagination .swiper-pagination-bullet-active {
  opacity: 1;
}

.single-works__wrapper {
  margin: 0 1rem 10rem 1rem;
}
@media screen and (max-width: 767px) {
  .single-works__wrapper {
    margin: 0 0 10rem 0;
  }
}

.single-works__title {
  font-size: 180%;
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 3rem;
}

.single-works__section {
  margin-top: 15rem;
}
@media screen and (max-width: 991px) {
  .single-works__section {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .single-works__section {
    margin-top: 5rem;
  }
}

.single-works__overview h2 {
  font-size: 80%;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .single-works__overview h2 {
    margin-bottom: 2rem;
  }
}

.single-works__content2 h1, .single-works__content2 h2, .single-works__content2 h3, .single-works__content2 h4, .single-works__content2 h5, .single-works__content2 h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.4;
}
.single-works__content2 h1:first-child, .single-works__content2 h2:first-child, .single-works__content2 h3:first-child, .single-works__content2 h4:first-child, .single-works__content2 h5:first-child, .single-works__content2 h6:first-child {
  margin-top: 0;
}
.single-works__content2 p {
  margin-bottom: 1.5rem;
  line-height: 1.8;
}
.single-works__content2 p:last-child {
  margin-bottom: 0;
}
.single-works__content2 ul, .single-works__content2 ol {
  margin-bottom: 1.5rem;
  padding-left: 2rem;
}
.single-works__content2 ul li, .single-works__content2 ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.single-works__content2 blockquote {
  margin: 2rem 0;
  padding: 1rem 2rem;
  border-left: 4px solid #333;
  background-color: #f8f9fa;
  font-style: italic;
}
.single-works__content2 img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
}
.single-works__content2 a {
  color: #333;
  text-decoration: underline;
}
.single-works__content2 a:hover {
  text-decoration: none;
}
.single-works__content2 strong, .single-works__content2 b {
  font-weight: 600;
}
.single-works__content2 em, .single-works__content2 i {
  font-style: italic;
}
.single-works__content2 code {
  background-color: #f8f9fa;
  padding: 0.2rem 0.4rem;
  border-radius: 3px;
  font-family: monospace;
  font-size: 0.9em;
}
.single-works__content2 pre {
  background-color: #f8f9fa;
  padding: 1rem;
  border-radius: 5px;
  overflow-x: auto;
  margin: 1.5rem 0;
}
.single-works__content2 pre code {
  background: none;
  padding: 0;
}
.single-works__content2 table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
}
.single-works__content2 table th, .single-works__content2 table td {
  padding: 0.8rem;
  border: 1px solid #ddd;
  text-align: left;
}
.single-works__content2 table th {
  background-color: #f8f9fa;
  font-weight: 600;
}

.single-works__info {
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  margin-top: 15rem;
  margin-bottom: 4rem;
}
@media screen and (max-width: 991px) {
  .single-works__info {
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-top: 6rem;
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .single-works__info {
    padding-top: 3rem;
    padding-bottom: 3rem;
    margin-top: 5rem;
    margin-bottom: 2rem;
  }
}
.single-works__info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 1.5rem 0;
}
.single-works__info dl:last-child {
  margin-bottom: 0;
}
.single-works__info dt {
  font-size: 90%;
  color: #666;
  margin: 0;
  font-weight: bold;
  min-width: 120px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.single-works__info dd {
  font-size: 90%;
  color: #333;
  margin: 0;
  font-weight: 400;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.single-works__related {
  margin-top: 15rem;
}
@media screen and (max-width: 991px) {
  .single-works__related {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 767px) {
  .single-works__related {
    margin-top: 5rem;
  }
}/*# sourceMappingURL=master.css.map */