html {
  font-size: calc(100vw / 1920 * 10);
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow: auto;
  scroll-behavior: smooth;
}

@media only screen and (min-width: 900px) {
    .sp-only {
        display: none;
    }
}

@media only screen and (max-width: 899px) {
  html {
    font-size: calc(100vw / 780 * 10);
  }
  .pc-only {
    display: none;
  }
}

body {
  font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: .05em;
  -webkit-text-size-adjust: 100%;
  position: relative;
  overflow-x: clip;
  margin: 0;
  padding: 0;
  color: #595858;
  background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
p {
  background: none;
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ul, ol, dl, dt, dd {
  margin: 0;
  padding: 0;
}

ul li, ol li {
  list-style: none;
}

a {
  color: #595858;
  text-decoration: none;
  transition: .4s;
}

figure {
    margin: 0;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

*, *:before,
*:after {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

.inner {
    width: 120rem;
    margin: auto;
}
@media (max-width: 899px) {
    .inner {
        width: 94%;
    }
}

/* header */
.header .limited-txt {
    background-color: #000;
    text-align: center;
    color: #fff;
    font-size: min(2rem, 20px);
    font-family: "Noto Sans JP", serif;
    height: min(5rem, 50px);
    display: grid;
    place-content: center;
}
.header .inner {
    height: min(11rem, 110px);
    display: grid;
    grid-template-columns: 33rem 1fr;
    justify-content: space-between;
    align-items: center;
}
.header-logo .txt {
    font-size: min(2rem, 20px);
    margin-bottom: .5rem;
}
.header-logo img {
    width: 21.8rem;
}
.header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 2rem;
}
.header-menu {
    display: flex;
}
.header-menu li a {
    font-size: min(1.6rem, 20px);
    padding: .5rem 2rem;
}
.header-menu li:not(:last-child) a {
    border-right: 1px solid #707070;
}
.header-nav .btn-red {
    font-size: 1.8rem;
    border-radius: 3rem;
    padding: .5rem 2rem;
}
.header .menu-btn {
    display: none;
}
@media only screen and (min-width: 900px) {
    .header.fix {
        position: fixed;
        width: 100%;
        top: 0;
        background-color: #fff;
        z-index: 99;
    }
    .header.fix .limited-txt {
        height: min(4rem, 40px);
    }
    .header.fix .inner {
        height: min(7rem, 70px);
    }
    .header.fix .inner .header-logo .txt {
        display: none;
    }
}
@media only screen and (max-width: 899px) {
    .header .limited-txt,
    .header-logo .txt {
        font-size: 2.4rem;
    }
    .header .inner {
        grid-template-columns: 1fr;
    }
    .header-nav {
        display: none;
    }
    .header .menu-btn {
        display: block;
        width: 30px;
        height: 20px;
        transition: all 0.4s ease;
        position: absolute;
        right: 3%;
        z-index: 13;
        cursor: pointer;
        top: 9rem;
        mix-blend-mode: exclusion;
        background: none transparent; 
        transition: all 0.4s ease;
    }
    .menu-btn > span {
        width: 100%;
        height: 2px;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.4s ease;
        background-color: #fff;
    }
    .menu-btn > span:nth-of-type(1) {
        top: 0;
    }
    .menu-btn > span:nth-of-type(2) {
        top: calc(50% - 1px);
        transform: translateX(-50%);
    }
    .menu-btn > span:nth-of-type(3) {
        bottom: 0;
    }
    .header.fix .menu-btn {
        position: fixed;
        z-index: 9;
        top: 3rem;
    }
    .menu-btn.openNav > span:nth-of-type(1) {
        transform: translateX(-45%) rotate(-45deg);
        top: 50%;
    }
    .menu-btn.openNav > span:nth-of-type(2) {
        opacity: 0;
    }
    .menu-btn.openNav > span:nth-of-type(3) {
        transform: translateX(-45%) rotate(45deg);
        top: 50%;
    }
    .header-nav.openNav {
        display: block;
        background: rgba(0, 0, 0, 0.7);
        width: 50%;
        height: 100%;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 8;
        padding: 15rem 0;
    }
    .header-nav.openNav .header-menu {
        flex-direction: column;
    }
    .header-nav.openNav .header-menu li a {
        color: #fff;
        font-size: 3rem;
        display: block;
        width: 90%;
        margin: auto;
        padding: 2rem 0;
        text-align: right;
    }
    .header-nav.openNav .header-menu li:not(:last-child) a {
        border-right: none;
        border-bottom: 1px solid #fff;
    }
    .header-nav.openNav .btn-red {
        width: 80%;
        margin: 5rem auto;
        display: block;
        text-align: center;
        font-size: 3rem;
        line-height: 8rem;
        border-radius: 4.5rem;
    }
}

/* footer */
#common-footer {
  padding: 6rem 0 80px;
  background: #000;
}
#common-footer .inner {
    margin: 0 auto;
    padding: 0 2rem;
    width: 120rem;
    display: flex;
    justify-content: space-between;
}
.footer__logo {
    width: 14rem;
    display: block;
}
.footer-nav {
  margin-bottom: 1rem;
}
.footer-nav li a {
  color: #fff;
  font-size: min(1.8rem, 18px);
}
.footer_site_category--ttl {
  margin-bottom: 2rem;
  padding-top: 2rem;
  font-size: min(2rem, 20px);
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
#common-footer .copy {
  text-align: center;
  color: #fff;
  font-size: min(1.4rem, 14px);
}
#common-footer .copy a{
  color:#fff;
}

@media (max-width: 899px) {
  #common-footer .inner {
    display: block;
    width: 100%;
  }
  .footer__logo {
      width: 140px;
  }
  .footer_site_category--ttl {
      margin-bottom: 14px;
        padding-top: 14px;
        font-size: 16px;
  }
  .footer-nav li a {
      font-size: 2rem;
  }
  #common-footer .copy {
      font-size: 2rem;
  }
}

@media only screen and (max-width: 640px) {
  #common-footer {
    padding-bottom: 100px;
  }
  .footer-nav {
    margin-bottom: 10px;
  }
  .footer-nav li {
    text-align: center;
  }
  .footer_site_category--ttl{
    text-align: center;
  }  
}

body #hubspot-messages-iframe-container.widget-align-right {
    bottom: 60px !important;
}
@media only screen and (max-width: 768px) {
    body #hubspot-messages-iframe-container.widget-align-right {
        bottom: 0 !important;
    }
}


/* side */
/* header */
.header-fix {
  position: fixed;
  z-index: 100;
  mix-blend-mode: exclusion;
}

.header-leftTop {
  top: 30px;
  left: 30px;
}

.header-rightTop {
  top: 20px;
  right: 40px;
}

.header-leftBot {
  left: 30px;
  bottom: 30px;
}

.header-rightBot {
  right: 30px;
  bottom: 30px;
}
@media only screen and (max-width: 768px) {
  .header-leftTop,
  .header-rightTop {
    top: 20px;
  }

  .header-leftTop {
    left: 20px;
  }

  .header-rightTop {
    right: 20px;
  }

  .header-rightBot {
    left: 15px;
    right: auto;  
    bottom: 20px;
  }
  
  .header-leftBot {
    left: 20px;  
    bottom: 55px;
  }
}
@media only screen and (max-width: 480px) {
  .header-leftBot img {
    width: 120px;
  }  
}
#common-side .sns-list li {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
}
#common-side .store-link a {
  display: block;
  transition: all 0.5s ease;
}
#common-side .store-link a:hover {
  background: #AF9C60;
}

/* breadcrumb */
.breadcrumb {
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    padding: 2rem 0 2rem;
}
.breadcrumb li a {
    font-size: min(2rem, 20px);
}
.breadcrumb li {
    position: relative;
    padding-right: 1.5rem;
}
.breadcrumb li:not(:first-of-type) {
    padding-left: 3rem;
}
.breadcrumb li:not(:first-of-type):before {
    content: "ー";
    color: #000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

@media only screen and (max-width: 899px) {
    .breadcrumb li a {
        font-size: 2.8rem;
    }
}

/* section */
section.bg {
    background-color: #F2F0EA;
}
.sec-ttl {
    font-size: min(3.6rem, 36px);
    font-weight: 600;
    text-align: center;
}
section .txt {
    font-size: min(2rem, 20px);
    line-height: 1.4;
}
@media (max-width: 899px) {
    .sec-ttl {
        font-size: 4rem;
    }
    section .txt {
        font-size: 2.8rem;
    }
}

/* cta-sec */
.cta-sec {
    background-color: #AFA26B;
    padding: 7rem 0;
    color: #fff;
}
.cta-sec .col2-flex {
    grid-template-columns: repeat(2, 45rem);
    column-gap: 14rem;
    justify-content: center;
}
.cta-sec .ttl {
    font-size: min(3rem, 30px);
    font-weight: 600;
    margin-bottom: 3rem;
    letter-spacing: 0;
}
.cta-sec .txt {
    font-size: min(1.9rem, 19px);
    margin-bottom: 4rem;
}
.cta-sec .btn-w {
    line-height: 6rem;
}
@media (max-width: 899px) {
    .cta-sec .col2-flex {
        grid-template-columns: 1fr;
        row-gap: 6rem;
    }
    .cta-sec .ttl {
        text-align: center;
    }
    .cta-sec .txt {
        font-size: 2.8rem;
    }
    .cta-sec .btn-w {
        line-height: 8rem;
    }
}

/* link-sec */
.link-sec {
    padding: 5rem 0;
}
.link-sec .col3-flex {
    margin: 3rem 0 0;
    column-gap: 3.8rem;
}
.link-sec .img img {
    vertical-align: bottom;
}
.link-sec figcaption {
    background-color: #000;
    color: #fff;
    font-size: min(2.4rem, 24px);
    font-weight: 600;
    padding: 1rem 2rem;
}
@media (max-width: 899px) {
    .link-sec figcaption {
        text-align: center;
    }
}

/* scene-sec */
.scene-sec {
    padding: 5rem 0;
}
.scene-sec figure {
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
.scene-sec .col3-flex {
    margin: 3rem 0;
    column-gap: 3.8rem;
    row-gap: 3.8rem;
}
.scene-sec .img img {
    vertical-align: bottom;
}
.scene-sec figcaption {
    text-align: center;
    background-color: rgb(255,255,255);
    color: #B99546;
    font-size: min(2.4rem, 24px);
    font-weight: 600;
    padding: 2rem 5rem;

}
@media (max-width: 899px) {
    .scene-sec .col3-flex {
        width: 90%;
        margin: 3rem auto;
    }
    .scene-sec .col3-flex,
    .scene-sec .col2-flex{
        grid-template-columns: 1fr;
    }
    .scene-sec figcaption {
        text-align: center;
    }
}

/* case */
.scene-sec .inner + .inner {
    margin-top: 8rem;
}
.scene-sec .case-wrap {
    margin-top: 3rem;
}
.scene-sec .case-wrap .ttl {
    font-size: min(2rem, 20px);
    font-weight: 600;
    margin: 1rem 0;
}
.scene-sec .case-wrap .name {
    font-size: min(1.8rem, 18px);
    font-weight: 600;
    color: #B99546;
    margin-bottom: 1rem;
}
.scene-sec .case-wrap .txt-wrap {
    background-color: #fff;
    padding: 2rem;
}
.scene-sec .case-wrap .comment-txt {
    background-color: #F8F8F8;
    font-size: min(2rem, 20px);
    padding: 1rem;
    margin: 1rem 0 3rem;
}
.scene-sec .case-wrap .link {
    display: block;
    width: max-content;
    font-size: min(1.8rem, 18px);
    margin-left: auto;
    color: #818181;
}
.scene-sec .btn-gold {
    width: 45rem;
    line-height: 6rem;
    margin: 4rem auto 0;
}
@media (max-width: 899px) {
    .scene-sec .case-wrap.col2-flex {
        grid-template-columns: 1fr;
    }
    .scene-sec .btn-gold {
        line-height: 9rem;
    }
    .scene-sec .col2-flex .box-wrap .list li {
        font-size: 2.8rem;
    }
    .scene-sec .case-wrap .ttl {
        font-size: 2.8rem;
    }
    .scene-sec .case-wrap .name {
        font-size: 2.4rem;
    }
    .scene-sec .case-wrap .comment-txt {
        font-size: 2.8rem;
        padding: 2rem;
    }
    .scene-sec .case-wrap .link {
        font-size: 2.4rem;
    }
}

/* faq-wrap */
.faq-wrap.col2-flex {
    column-gap: 20rem;
}
.faq-wrap .sec-ttl {
    text-align: left;
    margin-bottom: 3rem;
}
.faq-wrap .btn-gold {
    width: 45rem;
    line-height: 6rem;
    margin: 6rem 0 0;
}
.faq-wrap .faq-item {
    border-bottom: 1px solid #707070;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}
.faq-wrap .faq-item .ac-menu {
    font-size: min(2rem, 20px);
    font-weight: 600;
    position: relative;
    padding-right: 8rem;
    cursor: pointer;
}
.faq-wrap .faq-item .ac-menu:before {
    content: "+";
    font-size: 3rem;
    transition: all .5s ease;
    position: absolute;
    right: 1.8rem;
    top: 49%;
    transform: translateY(-50%);
}
.faq-wrap .faq-item dd {
    display: none;
}
.faq-wrap .faq-item dt.active:before {
    content: "ー";
    font-size: 2rem;
}
.faq-wrap .faq-item dt.active + dd {
    display: block;
}
.faq-wrap .faq-item dd .txt {
    margin: 2rem 0;
}
.faq-wrap .faq-item dd .link {
    font-size: min(1.8rem, 18px);
    font-weight: 600;
    color: #380091;
    text-decoration: underline;
}
@media (max-width: 899px) {
    .faq-wrap .sec-ttl {
        text-align: center;
    }
    .faq-wrap.col2-flex {
        grid-template-columns: 1fr;
        row-gap: 8rem;
    }
    .faq-wrap .faq-item .ac-menu {
        font-size: 2.8rem;
    }
    .faq-wrap .faq-item dd .link {
        font-size: 2.4rem;
    }
    .faq-wrap .faq-item .ac-menu:before {
        height: 4rem;
        right: 2.6rem;
    }
    .faq-wrap .faq-item .ac-menu:after {
        width: 4rem;
    }
    .faq-wrap .btn-gold {
        line-height: 8rem;
        margin: 6rem auto 0;
    }
}

/* column */
.col2-wrap {
    display: grid;
    row-gap: 4rem;
}
.col2-flex {
    display: grid;
    grid-template-columns: repeat(2,1fr);
}
.col3-flex {
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

/* btn */
.btn-wrap {
    text-align: center;
}
.btn {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    display: block;
}
.btn-red {
    background-color: #FF003B;
    border-radius: 3rem;
    color: #fff;
}
.btn-gold {
    background-color: #B99546;
    color: #fff;
}
.btn-w {
    background-color: #fff;
    color: #000;
}
.btn-chevron, .btn-link, .btn-dl {
    position: relative;
    padding-right: 1rem;
}
.btn-chevron:after {
    content: "";
    width: 2rem;
    height: 2rem;
    background: url(../img/common/icon-chevron.svg) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
}
.btn-link:after {
    content: "";
    width: 2rem;
    height: 2rem;
    background: url(../img/common/icon-link.svg) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
}
.btn-dl:after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/common/icon-dl.svg) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
}
.btn-br {
    border-radius: 3rem;
}
@media (max-width: 899px) {
    .btn {
        font-size: 2.8rem;
    }
}

/* dots-list */
.dots-list {
    padding-left: 2.4rem;
    margin: 2rem 0;
}
.dots-list li {
    list-style: disc;
    padding-left: 0;
}
.dots-list li + li {
    margin-top: 2rem;
}

/* tab */
.tab__panel-box001,
.tab__panel-box002,
.tab__panel-box003,
.tab__panel-box004,
.tab__panel-box005,
.tab__panel-box006 {
  display: none;
}
.tab__panel-box.is-show {
  display: block;
}

/* 納品先2箇所目の本数表示スタイル */
.delivery-2-quantity {
  font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #595858;
  letter-spacing: .05em;
  font-optical-sizing: auto;
  font-style: normal;
}

/* 製作本数の調整表示セル */
.adjustment-cell div {
  font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #595858;
  letter-spacing: .05em;
  font-optical-sizing: auto;
  font-style: normal;
}

/* テキスト中央揃え用ユーティリティクラス */
.txt-center {
  text-align: center;
}