/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
body {
  position: relative;
  background: url(../images/main-bg.jpg) repeat;
  z-index: -1;
}
.header {
  background: url(../images/footer-bg.jpg) no-repeat center center / cover;
}
.home .header {
  height: 0;
}
.header-inner {
  height: 180px;
  align-items: flex-start;
}
.header-nav > ul > li {
  writing-mode: vertical-rl;
}
.header-nav > ul {
  margin-top: 20px;
}
.header-nav > ul > li > a >.en {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  letter-spacing: 0;
  font-weight: normal;
  color: var(--main-color);
}
.header-nav .en{
  color: #fff !important;
  font-weight: 300 !important;
}
.header-nav > ul > li ul {
  display: flex;
  writing-mode: horizontal-tb;
  flex-direction: column;
}
.header-logo {
  margin-top: 20px;
  width: 227px;
}
.mainvisual {
  height: calc(100vh - 30px);
}
.mainvisual .swiper-slide img {
  filter: brightness(0.5);
}
.mainvisual-catch {
  bottom: auto;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
}
.box-wrap.bg:before {
  background: url(../images/bg2.jpg) repeat;
}
.box .btn a {
  background: #000;
  border-radius: 0;
}

.main-news {
  padding: 70px 0 12vh;
  .blog-type03 ul li .date {
    font-size: 1.5rem;
  }
  .box .btn a {
    background: #333333;
    border-radius: 0;
    font-family: "Zen Old Mincho", serif;
  }
}
.main-message {
  .text-inner {
    writing-mode: vertical-rl;
    height: 300px;
  }
  .box h3.box-h3 {
    margin: 0;
    font-size: 2.6rem;
    margin-left: 60px;
    line-height: 1.8;
    text-align: left;
  }
  .image-bg-type02 .text h3 {
    font-family: "小塚ゴシック Pr6N", serif;
    font-weight: 300;
  }
  p:not([class]) {
    margin: 0 var(--text-margin);
    text-align: left;
    line-height: 2.25;
    max-height: 280px;
  }
  .btn01 a, .btn02 a, .btn03 a {
    background: none;
    border-radius: 0;
    border: solid 1px;
  }
}
.main-about {
  .image-text-type03 .text:before {
    background: url(../images/bg1.jpg) repeat;
  }
  .box h3.box-h3 {
    margin-bottom:4.5vh;
    font-size: 2.8rem;
  }
  .box .copy {
    font-size: 2rem;
  }
  .blog-content ol:not([class]) li, .page-content ol:not([class]) li {
    line-height: 2;
  }
  .list-number-type01 {
    position: relative;
    counter-reset: count;
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    max-width: 500px;
  }
  .list-number-type01 li {
    position: relative;
    list-style: none;
    line-height: 2;
    margin-bottom: 20px; /* リスト間のスペース */
  }

  /* 各項目に漢数字を手動で設定 */
  .list-number-type01 li:nth-child(1)::before {
    content: "一、";
  }
  .list-number-type01 li:nth-child(2)::before {
    content: "二、";
  }
  .list-number-type01 li:nth-child(3)::before {
    content: "三、";
  }
  .list-number-type01 li:nth-child(4)::before {
    content: "四、";
  }
  .list-number-type01 li:nth-child(5)::before {
    content: "五、";
  }
  /* 必要に応じて以下を追加していく */
  .list-number-type01 li::before {
    display: block;
    position: absolute;
    left: -45px;
  }
  ol {
    list-style: none;
    margin-left: 50px;
  }
  .btn01, .btn02, .btn03 {
    text-align: center;
  }
  .btn01 a, .btn02 a, .btn03 a {
    background: #333333;
    border-radius: 0;
    font-family: "Zen Old Mincho", serif;
    border-radius: 0;
  }
}
.main-online {
    margin-bottom: 12vh;
  .title-type02, .title-type04 {
    padding: 0;
  }
  p:not([class]) {
    line-height: 2;
    margin: var(--text-margin) 0 0;
  }
  .banner-type02 ul li {
    background: url(../images/bg.jpg) repeat;
    border-radius: 0;
    box-shadow: 1px 1px 11px 4px #cccccc80;
  }
  .banner-type02 ul {
    gap: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .banner-type02 ul li .text .btn a {
    background: var(--text-color);
    padding: 13px 50px 12px 30px;
    background: none;
    border: solid 1px;
    border-radius: 0;
  }
  .box .copy {
    font-size: 2.6rem;
    font-weight: 500;
  }
}
.main-banner {
  .box.row.row-2 {
    margin: 0 auto calc(var(--box-margin) + 1vh) auto;
    padding: 10vh 4vmin;
    max-width: 1200px;
  }
  .box-wrap.xl {
    background: url(../images/bg3.png) no-repeat center center;
  }
}
.main-shop {
  .title-type02:before, .title-type04:before {
    display: none;
  }
  .title-type02, .title-type04 {
    padding: 0;
  }
  p:not([class]) {
    line-height: 2;
  }
  .btn.ja {
    text-align: center;
  }
  .image-bg-type01 .text {
    padding-bottom: 80px !important;
  }
}
.page-title {
  background: url(../images/footer-bg.jpg) no-repeat center center /cover;
}
.page-title h1, .page-title p {
  color: #fff;
  font-size: 3.5rem;
}
.page-title h1 .ja, .page-title p  {
  font-weight: 300;
}
.footer {
  background: url(../images/footer-bg.jpg) no-repeat center center /cover;
}
.footer-main:after {
  background: #68696a;
}

.post-type-archive-news .page-title h1 span:nth-child(2), .post-type-archive-news .page-title p span:nth-child(2) {
  display: none;
}
.home {
  .page-content {
    margin: 0 auto;
  }
  .title-type02:before, .title-type04:before {
    top: -70px;
    width: 1px;
    height: 50px;
  }
  .box h2.box-h2 {
    margin: 0;
    font-size: 3.2rem;
  }
  .title-type01 span:nth-child(2), .title-type02 span:nth-child(2), .title-type03 span:nth-child(2), .title-type04 span:nth-child(2) {
    opacity: 1;
    font-size: 1.6rem;
    font-weight: 500;
    color: #ababab;
  }
  .btn01 a, .btn02 a, .btn03 a {
    padding: 17px 56px 16px 45px;
  }
  .btn01 a:after, .btn02 a:after, .btn03 a:after {
    top: 18px;
  }
  .box .btn a {
    padding: 17px 56px 16px 45px;
  }
  .box-wrap.bg {
    padding: 0 0 12vh 0;
  }
  .title-type02:before, .title-type04:before {
    top: -50px;
    width: 1px;
    height: 35px;
  }
}
.pagetop {
  z-index: 100;
}

/* 20241112 added by Fabo */
.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
  margin-bottom: 3vh;
}

.mt-0 { margin-top: 0 !important;}
.mt-s { margin-top: 4vh !important;}
.mt-m { margin-top: 7vh !important;}
.mt-l { margin-top: 10vh !important;}

.mb-0 { margin-bottom: 0 !important;}
.mb-s { margin-bottom: 4vh !important;}
.mb-m { margin-bottom: 7vh !important;}
.mb-l { margin-bottom: 10vh !important;}

.box-color {
  margin: 0 0 6vh;
  padding: 35px;
  border-radius: 10px;
  background: #f7f7f7;
}
.box-color :first-child {
  margin-top: 0 !important;
}
.box-color :last-child {
  margin-bottom: 0 !important;
}

.align-center {
  text-align: center;
}
.form-btn input {
  background: #000000;
}

/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 630px) {
  .main-message {
    .box h3.box-h3 {
        margin-left: 30px;
    }
  }
}
/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/

@media screen and (max-width: 599px) {
  .mainvisual {
    height: calc(100vh - 100px);
  }
  .header-inner {
    height: 0;
  }
  .header-logo {
    margin-top: 10px;
    width: 145px;
  }
  .mainvisual-catch {
    margin-top: 0;
  }
  .mainvisual-catch img {
    max-height: 350px;
    object-fit: contain;
  }
  .page-title {
    height: 220px;
  }
  .page-title h1, .page-title p {
    padding: 60px 4vmin 0;
  }
  .main-message {
    .text-inner {
        writing-mode: inherit;
        height: auto;
    }
    .box h3.box-h3 {
      font-size: 2.2rem;
  }
  .main-about {
    .box h3.box-h3 {
        font-size: 2.2rem;
    }
  }
}
.main-online {
  .banner-type02 ul {
      grid-template-columns: repeat(1, 1fr);
    }
}
.main-banner {
  .box-wrap.xl {
      background: url(../images/bg3.png) no-repeat center right;
  }
}

  .home {
    .box h2.box-h2 {
        margin: 0;
        font-size: 2.8rem;
    }
    .header-inner {
      height: 60px;
    }
  }
}


