/* 標準仕様・会社。スマホ版、PC版。 */

/* 全数値は元のraw宣言。QA未合格の外部候補。 */

@media (max-width:1023px) {
  .sp-quality-leaf {
    position:absolute;
    z-index:0;
    pointer-events:none;
    width:110px;
    opacity:.72;
  }
}

@media (max-width:1023px) {
  .sp-company-leaf {
    position:absolute;
    z-index:0;
    pointer-events:none;
    width:110px;
    opacity:.72;
  }
}

@media (max-width:1023px) {
  .sp-quality-frame {
    min-height:615px;
    height:615px;
  }
}

@media (max-width:1023px) {
  .sp-quality-heading {
    position:absolute;
    top:28px;
    left:15px;
    right:15px;
    padding-top:22px;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-quality-heading .script {
    left:49px;
    font-size:34px;
  }
}

@media (max-width:1023px) {
  .sp-quality-heading h2 {
    font-size:25px;
    line-height:1.3;
  }
}

@media (max-width:1023px) {
  .sp-quality-heading h2 > strong {
    font-size:31px;
    font-weight:900;
  }
}

@media (max-width:1023px) {
  .sp-quality-primary {
    position:absolute;
    top:139px;
    left:15px;
    right:15px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-quality-primary > figure {
    min-width:0;
  }
}

@media (max-width:1023px) {
  .sp-quality-round {
    position:relative;
    width:100%;
    max-width:110px;
    aspect-ratio:1;
    margin:0 auto;
    border:4px solid var(--c-white);
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 6px 16px rgba(34,57,92,.08);
  }
}

@media (max-width:1023px) {
  .sp-quality-round img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (max-width:1023px) {
  .sp-quality-image-note {
    position:absolute;
    bottom:5px;
    left:2px;
    right:2px;
    width:fit-content;
    margin:auto;
    padding:0 2px;
    background:rgba(255,255,255,.9);
    font-size:10px;
    font-weight:700;
    line-height:1.35;
    color:var(--c-navy);
  }
}

@media (max-width:1023px) {
  .sp-quality-primary figcaption {
    margin-top:8px;
    text-align:center;
    font-family:"Zen Maru Gothic",sans-serif;
    line-height:1.2;
  }
}

@media (max-width:1023px) {
  .sp-quality-primary figcaption strong {
    display:block;
    font-size:18px;
    font-weight:900;
    line-height:1.25;
    white-space:nowrap;
  }
}

@media (max-width:1023px) {
  .sp-quality-primary figcaption > span {
    display:block;
    margin-top:3px;
    font-size:12px;
    font-weight:700;
    line-height:1.35;
  }
}

@media (max-width:1023px) {
  .sp-quality-secondary {
    position:absolute;
    top:332px;
    left:15px;
    right:15px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px 8px;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-quality-secondary > figure {
    min-width:0;
  }
}

@media (max-width:1023px) {
  .sp-quality-square {
    position:relative;
    width:100%;
    height:86px;
    border:4px solid var(--c-white);
    box-shadow:0 6px 16px rgba(34,57,92,.08);
    background:var(--c-white);
    overflow:hidden;
  }
}

@media (max-width:1023px) {
  .sp-quality-square img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (max-width:1023px) {
  .sp-quality-secondary figcaption {
    margin-top:7px;
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:14px;
    font-weight:700;
    line-height:1.35;
    text-align:center;
  }
}

@media (max-width:1023px) {
  .sp-quality-placeholder {
    display:grid;
    place-items:center;
    border-radius:0;
    background:var(--c-kraft) url('../assets/deco/craft-paper.webp') center/360px auto;
  }
}

@media (max-width:1023px) {
  .sp-quality-leaf--top {
    top:-7px;
    right:-31px;
    width:120px;
  }
}

@media (max-width:1023px) {
  .sp-company-frame {
    min-height:630px;
    height:630px;
  }
}

@media (max-width:1023px) {
  .sp-company-heading {
    position:absolute;
    top:20px;
    left:15px;
    right:15px;
    padding-top:26px;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-company-heading .script {
    left:15px;
    font-size:36px;
  }
}

@media (max-width:1023px) {
  .sp-company-heading h3 {
    font-size:31px;
    line-height:1.2;
  }
}

@media (max-width:1023px) {
  .sp-company-heading h3 strong {
    font-weight:900;
  }
}

@media (max-width:1023px) {
  .sp-company-heading h3 .sp-num {
    font-size:59px;
    line-height:1;
    font-weight:400;
  }
}

@media (max-width:1023px) {
  .sp-company-facts {
    position:absolute;
    top:153px;
    left:15px;
    right:15px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-company-facts > p {
    aspect-ratio:1;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-align:center;
    padding:6px 2px;
    line-height:1.2;
  }
}

@media (max-width:1023px) {
  .sp-company-facts .sp-num {
    font-size:44px;
    letter-spacing:-.045em;
    line-height:1.1;
  }
}

@media (max-width:1023px) {
  .sp-company-facts > p:nth-child(2) .sp-num {
    font-size:40px;
  }
}

@media (max-width:1023px) {
  .sp-company-facts strong {
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:14px;
    font-weight:900;
    line-height:1.3;
    margin-top:2px;
  }
}

@media (max-width:1023px) {
  .sp-company-facts > p:first-child strong {
    font-size:15px;
  }
}

@media (max-width:1023px) {
  .sp-company-facts b {
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:22px;
    font-weight:900;
    white-space:nowrap;
  }
}

@media (max-width:1023px) {
  .sp-company-facts > p:last-child strong {
    font-size:13px;
    font-weight:700;
  }
}

@media (max-width:1023px) {
  .sp-company-copy {
    position:absolute;
    top:277px;
    left:15px;
    right:15px;
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:16px;
    line-height:1.5;
    font-weight:700;
    text-align:center;
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-company-photo {
    position:absolute;
    top:332px;
    left:7.3%;
    width:85.4%;
    height:177px;
    transform:rotate(-1.5deg);
    z-index:2;
  }
}

@media (max-width:1023px) {
  .sp-company-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (max-width:1023px) {
  .sp-company-frame [data-mobile-cta] {
    position:absolute;
    top:522px;
    left:15px;
    right:15px;
    z-index:3;
  }
}

@media (max-width:1023px) {
  .sp-company-leaf--top {
    top:-16px;
    right:-32px;
    width:114px;
  }
}

@media (max-width:1023px) {
  .sp-company-leaf--bottom {
    top:382px;
    left:-40px;
    width:110px;
    transform:scaleX(-1);
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-quality-primary {
    gap:7px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-quality-primary figcaption strong {
    font-size:16px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-quality-secondary {
    gap:15px 7px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-quality-secondary figcaption {
    font-size:12px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-company-facts {
    gap:8px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-company-facts .sp-num {
    font-size:39px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-company-facts > p:nth-child(2) .sp-num {
    font-size:36px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-company-facts b {
    font-size:20px;
  }
}

@media (max-width:1023px) and (max-width:374px) {
  .sp-company-copy {
    font-size:14px;
  }
}

@media(max-width:1023px) {
  .sp-quality-heading>[data-ornament="english-quality"] {
    top:-14px;
    --orn-w:110px!important; /* 理由: 元inline切り抜き値より優先する既存装飾寸法 */
    --orn-h:36px!important; /* 理由: 元inline切り抜き値より優先する既存装飾寸法 */
    width:110px;
    height:36px;
  }
}

@media(max-width:1023px) {
  .sp-company-heading>[data-ornament="english-since-1959"] {
    top:-14px;
    --orn-w:155px!important; /* 理由: 元inline切り抜き値より優先する既存装飾寸法 */
    --orn-h:50px!important; /* 理由: 元inline切り抜き値より優先する既存装飾寸法 */
    width:155px;
    height:50px;
  }
}

@media (max-width:1023px) {
  .sp-quality-leaf--bottom {
    left:-58px;
    width:103px;
    transform:rotate(14deg);
    bottom:-88px;
    z-index:0;
  }
}

@media (min-width:1024px) {
  .pc-quality .pc-num {
    font-family:"Playfair Display",serif;
    font-weight:400;
    font-variant-numeric:lining-nums;
    line-height:1.1;
  }
}

@media (min-width:1024px) {
  .pc-quality-leaf {
    position:absolute;
    pointer-events:none;
    width:180px;
    opacity:.85;
    z-index:0;
  }
}

@media (min-width:1024px) {
  .pc-quality-leaf > picture {
    display:block;
    width:100%;
    height:auto;
  }
}

@media (min-width:1024px) {
  .pc-quality {
    height:960px;
    min-height:960px;
    display:grid;
    grid-template-columns:minmax(0,800fr) minmax(0,520fr);
    gap:40px;
    padding:40px;
  }
}

@media (min-width:1024px) {
  .pc-quality-column {
    position:relative;
    min-width:0;
  }
}

@media (min-width:1024px) {
  .pc-quality-heading {
    position:absolute;
    top:0;
    left:0;
    right:0;
    padding-top:95px;
  }
}

@media (min-width:1024px) {
  .pc-quality-heading .script {
    left:100px;
    font-size:80px;
  }
}

@media (min-width:1024px) {
  .pc-quality-heading h2 {
    font-size:clamp(28px,2.36vw,34px);
    font-weight:900;
    line-height:1.3;
    white-space:nowrap;
    letter-spacing:-.03em;
  }
}

@media (min-width:1024px) {
  .pc-quality-primary {
    position:absolute;
    top:170px;
    left:0;
    right:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    padding-bottom:24px;
    border-bottom:1px dotted var(--c-camel);
  }
}

@media (min-width:1024px) {
  .pc-quality-primary > figure {
    min-width:0;
  }
}

@media (min-width:1024px) {
  .pc-quality-round {
    position:relative;
    width:190px;
    max-width:100%;
    aspect-ratio:1;
    margin:0 auto;
    border:5px solid var(--c-white);
    border-radius:50%;
    overflow:hidden;
    box-shadow:0 6px 16px #22395c14;
  }
}

@media (min-width:1024px) {
  .pc-quality-round img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (min-width:1024px) {
  .pc-quality-image-note {
    position:absolute;
    bottom:11px;
    left:0;
    right:0;
    width:fit-content;
    margin:auto;
    padding:0 4px;
    background:rgba(255,255,255,.9);
    font-size:12px;
    font-weight:700;
    line-height:1.4;
  }
}

@media (min-width:1024px) {
  .pc-quality-primary figcaption {
    margin-top:10px;
    text-align:center;
    font-family:"Zen Maru Gothic",sans-serif;
    line-height:1.4;
  }
}

@media (min-width:1024px) {
  .pc-quality-primary figcaption strong {
    display:block;
    padding:3px 1px;
    background:var(--c-kraft) url("../assets/deco/craft-paper.webp") center/300px auto;
    font-size:22px;
    font-weight:900;
    line-height:1.4;
    white-space:nowrap;
  }
}

@media (min-width:1024px) {
  .pc-quality-primary figcaption > span {
    display:block;
    margin-top:7px;
    font-size:14px;
    font-weight:700;
    line-height:1.4;
  }
}

@media (min-width:1024px) {
  .pc-quality-secondary {
    position:absolute;
    top:460px;
    left:0;
    right:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:34px 28px;
  }
}

@media (min-width:1024px) {
  .pc-quality-secondary > figure {
    min-width:0;
  }
}

@media (min-width:1024px) {
  .pc-quality-square {
    position:relative;
    width:230px;
    max-width:100%;
    height:150px;
    margin:auto;
    border:5px solid var(--c-white);
    background:var(--c-white);
    box-shadow:0 6px 16px #22395c14;
  }
}

@media (min-width:1024px) {
  .pc-quality-square::before {
    content:"";
    position:absolute;
    top:-14px;
    left:35%;
    width:70px;
    height:20px;
    background:rgba(235,220,195,.87);
    transform:rotate(-5deg);
    z-index:2;
  }
}

@media (min-width:1024px) {
  .pc-quality-square img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (min-width:1024px) {
  .pc-quality-placeholder {
    display:grid;
    place-items:center;
    border-radius:0;
    background:var(--c-kraft) url("../assets/deco/craft-paper.webp") center/400px auto;
  }
}

@media (min-width:1024px) {
  .pc-quality-secondary figcaption {
    margin-top:9px;
    text-align:center;
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:19px;
    font-weight:700;
    line-height:1.4;
  }
}

@media (min-width:1024px) {
  .pc-company {
    position:relative;
    min-width:0;
    border-left:1px dotted #B8873A66;
    padding-left:0;
  }
}

@media (min-width:1024px) {
  .pc-company-heading {
    position:absolute;
    top:0;
    left:0;
    right:0;
    padding-top:95px;
    text-align:center;
  }
}

@media (min-width:1024px) {
  .pc-company-heading .script {
    left:5%;
    font-size:76px;
    white-space:nowrap;
  }
}

@media (min-width:1024px) {
  .pc-company-heading h3 {
    font-size:clamp(22px,1.95vw,28px);
    font-weight:900;
    line-height:1.3;
    white-space:nowrap;
    letter-spacing:-.025em;
  }
}

@media (min-width:1024px) {
  .pc-company-heading h3 strong {
    font-weight:900;
  }
}

@media (min-width:1024px) {
  .pc-company-heading h3 .pc-num {
    font-size:56px;
    letter-spacing:-.05em;
  }
}

@media (min-width:1024px) {
  .pc-company-facts {
    position:absolute;
    top:170px;
    left:0;
    right:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
    align-items:center;
    justify-items:center;
  }
}

@media (min-width:1024px) {
  .pc-company-facts > p {
    width:140px;
    max-width:100%;
    aspect-ratio:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:50%;
    background:var(--c-kraft) url("../assets/deco/craft-paper.webp") center/300px auto;
    line-height:1.2;
  }
}

@media (min-width:1024px) {
  .pc-company-facts .pc-num {
    font-size:42px;
    letter-spacing:-.04em;
  }
}

@media (min-width:1024px) {
  .pc-company-facts strong {
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:19px;
    font-weight:900;
    line-height:1.3;
    margin-top:4px;
  }
}

@media (min-width:1024px) {
  .pc-company-facts b {
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:25px;
    font-weight:900;
    white-space:nowrap;
  }
}

@media (min-width:1024px) {
  .pc-company-facts > p:last-child strong {
    font-size:16px;
  }
}

@media (min-width:1024px) {
  .pc-company-copy {
    position:absolute;
    top:330px;
    left:12px;
    right:0;
    font-family:"Zen Maru Gothic",sans-serif;
    font-size:16px;
    font-weight:700;
    line-height:1.7;
  }
}

@media (min-width:1024px) {
  .pc-company-photo {
    position:absolute;
    top:414px;
    left:5px;
    right:0;
    height:330px;
    padding:7px;
    background:var(--c-white);
    box-shadow:0 6px 16px #22395c14;
    transform:rotate(-2deg);
  }
}

@media (min-width:1024px) {
  .pc-company-photo::before {
    content:"";
    position:absolute;
    top:-13px;
    left:40%;
    width:83px;
    height:26px;
    background:rgba(235,220,195,.87);
    transform:rotate(-3deg);
    z-index:2;
  }
}

@media (min-width:1024px) {
  .pc-company-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
  }
}

@media (min-width:1024px) {
  .pc-company-cta {
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    z-index:4;
  }
}

@media (min-width:1024px) {
  .pc-company-cta .pc-cta-buttons {
    gap:8px;
  }
}

@media (min-width:1024px) {
  .pc-company-cta .button {
    padding:6px;
    gap:5px;
    font-size:17px;
  }
}

@media (min-width:1024px) {
  .pc-company-cta .button--tel > span:not(.icon) {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size:12px;
  }
}

@media (min-width:1024px) {
  .pc-company-cta .pc-phone-number {
    display:block;
    font-size:30px;
    white-space:nowrap;
  }
}

@media (min-width:1024px) {
  .pc-quality-leaf--top {
    top:-85px;
    left:-65px;
    width:210px;
    transform:scaleX(-1);
  }
}

@media (min-width:1024px) {
  .pc-quality-leaf--bottom {
    right:-80px;
    top:535px;
    width:210px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-quality {
    gap:28px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-quality-primary {
    gap:18px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-quality-primary figcaption strong {
    font-size:19px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-quality-secondary {
    gap:34px 20px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-quality-secondary figcaption {
    font-size:17px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-facts .pc-num {
    font-size:36px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-facts b {
    font-size:22px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-facts strong {
    font-size:17px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-facts > p:last-child strong {
    font-size:14px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-cta .button {
    font-size:15px;
  }
}

@media (min-width:1024px) and (max-width:1359px) {
  .pc-company-cta .pc-phone-number {
    font-size:27px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-quality-heading h2 {
    font-size:26px;
    letter-spacing:-.05em;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-quality-primary figcaption strong {
    font-size:17px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-quality-primary figcaption > span {
    font-size:12px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-quality-square {
    height:140px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-quality-secondary figcaption {
    font-size:15px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-heading h3 {
    font-size:20px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-heading h3 .pc-num {
    font-size:48px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-facts {
    gap:10px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-facts .pc-num {
    font-size:31px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-facts strong {
    font-size:15px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-facts b {
    font-size:19px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-facts > p:last-child strong {
    font-size:12px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-cta .button {
    font-size:13px;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  .pc-company-cta .pc-phone-number {
    font-size:22px;
  }
}

@media(min-width:1024px) {
  .pc-quality-heading>[data-pc-ornament] {
    top:-5px;
    --pc-word-w:230px;
    --pc-word-h:86px;
  }
}

@media(min-width:1024px) {
  .pc-company-heading>[data-pc-ornament] {
    top:0;
    --pc-word-w:240px;
    --pc-word-h:86px;
  }
}

@media(min-width:1024px) and (max-width:1250px) {
  .pc-quality-heading>[data-pc-ornament] {
    left:60px;
    --pc-word-w:185px;
    --pc-word-h:75px;
  }
}

@media(min-width:1024px) and (max-width:1250px) {
  .pc-company-heading>[data-pc-ornament] {
    --pc-word-w:210px;
    --pc-word-h:82px;
  }
}
