/*
Theme Name: suika
Description: Child theme for BusinessPress.
Template: businesspress
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: businesspress-child
*/

/* Add custom styles below. */

/* サイト全体の共通フォント。 */
:root {
    --suika-font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}
body,
body:lang(ja),
button,
input,
select,
textarea {
    font-family: var(--suika-font-family);
    font-weight: 400;
}

/* 追加 CSS クラス「suika-text-reveal」を指定したブロック用の文字表示演出。 */
.suika-text-reveal-motion-ready .suika-text-reveal .suika-text-reveal__character {
    position: relative;
    display: inline-block;
    opacity: 0;
    transform: translateY(.42em);
    transition: opacity .12s linear calc(var(--suika-text-reveal-index) * .065s), transform .44s cubic-bezier(.22,1,.36,1) calc(var(--suika-text-reveal-index) * .065s);
}
.suika-text-reveal-motion-ready .suika-text-reveal .suika-text-reveal__character::after {
    position: absolute;
    inset: -.06em -.025em;
    z-index: 1;
    display: block;
    background: #fff;
    content: "";
    transform: scaleX(1);
    transform-origin: right center;
    transition: transform .42s cubic-bezier(.65,0,.35,1) calc(.1s + var(--suika-text-reveal-index) * .065s);
}
.suika-text-reveal-motion-ready .suika-text-reveal.is-revealed .suika-text-reveal__character {
    opacity: 1;
    transform: translateY(0);
}
.suika-text-reveal-motion-ready .suika-text-reveal.is-revealed .suika-text-reveal__character::after {
    transform: scaleX(0);
}
@media (prefers-reduced-motion: reduce) {
    .suika-text-reveal-motion-ready .suika-text-reveal .suika-text-reveal__character {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .suika-text-reveal-motion-ready .suika-text-reveal .suika-text-reveal__character::after {
        display: none;
    }
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], textarea,input[type="tel"] {
    border: solid 1px #e6e6e6;
    color: #777;
    margin-top: 0.6em;
    padding: 0.6em;
}



/* トップページ専用スタイル。今後のスタイル変更もこのファイルに記述する。 */
/* Adapted from suika-web/style.css; styles are restricted to this template. */
body.page-template-home-page #content.site-content {
    display: block;
    width: 100%;
    max-width: none;
    padding: 0;
}
#suika-home {
    position: relative;
    isolation: isolate;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    overflow-wrap: normal;
}
#suika-home :where(h1, h2, h3) {
    clear: none;
    color: inherit;
    line-height: normal;
}
#suika-home :where(button) {
    border-radius: 0;
    padding: 2px 6px;
    text-transform: none;
    letter-spacing: normal;
    box-shadow: none;
    transition: none;
}
#suika-home :where(img) { height: auto; }
#suika-home :where(small) { font-size: smaller; }
#suika-home :where(a:hover) { color: inherit; }
#suika-home section { scroll-margin-top: 24px; }
#suika-home * {box-sizing:border-box}
#suika-home {margin:0;color:#282724;background:#fff;font-family:var(--suika-font-family)}
#suika-home button,
#suika-home a {-webkit-tap-highlight-color:transparent}
#suika-home button {font:inherit;color:inherit;cursor:pointer}
#suika-home a {color:inherit;text-decoration:none}
#suika-home button {border:0;background:none}
#suika-home img {display:block;max-width:100%}
#suika-home button:focus-visible,
#suika-home a:focus-visible {outline:3px solid #087254;outline-offset:6px}
#suika-home h1,
#suika-home h2,
#suika-home h3,
#suika-home p {margin:0}
#suika-home h2 {font-size:clamp(30px,4.05vw,52px);font-weight:400;letter-spacing:.23em}
#suika-home .suika-home-title-reveal {display:block;white-space:nowrap}
.suika-home-motion-ready #suika-home .suika-home-title-character {position:relative;display:inline-block;opacity:0;transform:translateY(.42em);transition:opacity .12s linear calc(var(--suika-title-index) * .065s),transform .44s cubic-bezier(.22,1,.36,1) calc(var(--suika-title-index) * .065s)}
.suika-home-motion-ready #suika-home .suika-home-title-character::after {position:absolute;inset:-.06em -.025em;z-index:1;display:block;background:#fff;content:"";transform:scaleX(1);transform-origin:right center;transition:transform .42s cubic-bezier(.65,0,.35,1) calc(.1s + var(--suika-title-index) * .065s)}
.suika-home-motion-ready #suika-home .suika-home-title-reveal.is-revealed .suika-home-title-character {opacity:1;transform:translateY(0)}
.suika-home-motion-ready #suika-home .suika-home-title-reveal.is-revealed .suika-home-title-character::after {transform:scaleX(0)}
#suika-home i {display:inline-grid;place-items:center;width:30px;height:30px;background:#454646;color:#fff;font:15px Arial;font-style:normal;letter-spacing:0;border-radius: 2px;}
#suika-home .more .fa,
#suika-home .news-all .fa,
#suika-home .news-list .fa {font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}
#suika-home .hero {position:relative;margin-top: 6.56vw;}
#suika-home .hero-images {display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 3px;align-items:end}
#suika-home .hero-left {width:100%;height:38.76vw;object-fit:cover;border-radius:10px}
#suika-home .hero-right {width:100%;height:38.76vw;object-fit:fill;margin-top:-4.56vw}
#suika-home .hero h1 {position:absolute;z-index:1;left:5.8%;top:21.8vw;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:8.05vw;line-height:1.08;letter-spacing:.025em;pointer-events:none}
#suika-home .thumbnails {display:flex;gap:2vw;overflow:hidden;height:13.2vw;padding-top:1.3vw}
#suika-home .thumbnails img {flex:0 0 9.3%;width:9.3%;height:9.5vw;object-fit:cover;border-radius:7px}
#suika-home .thumbnails img:nth-child(even) {transform:translateY(2.4vw)}
#suika-home .about {position:relative;padding:5.8vw 3.2% 13.7vw;background: linear-gradient(90deg, transparent 13.3%, #ececec 13.35%, transparent 13.4%, transparent 43%, #efefef 43.05%, transparent 43.1%, transparent 90%, #efefef 90.05%, transparent 90.1%);}
#suika-home .about:before {content:"";position:absolute;top:0;left:0;width:13.4%;height:13vw;background:#ebebeb;z-index:-1}
#suika-home .about h2 {text-align:center;margin-bottom:8vw}
#suika-home .about-panel {background:#f2f0f0;display:grid;grid-template-columns:1fr 1fr;gap:5.5%;padding:0 6.2% 4.1%;min-height:26.8vw}
#suika-home .about-panel>img {width:100%;height:24.3vw;object-fit:cover;margin-top:-4.8vw}
#suika-home .about-copy {margin-top:-3.5vw}
#suika-home .about-copy h3 {font-size:clamp(16px,1.9vw,25px);font-weight:400;letter-spacing:.15em;margin-bottom:45px;white-space:nowrap}
#suika-home .about-copy p {font-size:clamp(14px,1vw,16px);line-height:1.65;letter-spacing:.12em;margin-bottom:16px}
#suika-home .line-link {display:flex;align-items:center;justify-content:flex-end;gap:14px;width:100%;font-size:14px;letter-spacing:.2em;margin-top:25px}
#suika-home .line-link span {position:relative;width:86px;border-top:1px solid #555}
#suika-home .line-link span:after {content:"";position:absolute;right:0;top:-7px;width:17px;border-top:1px solid #555;transform:rotate(40deg)}
#suika-home .works {background:#404141;padding:9vw 6.9% 10.2%;color:#fff}
#suika-home .works h2 {text-align:center;margin-bottom:8vw}
#suika-home .work-grid {display:grid;grid-template-columns:1fr 1fr;gap:2.8vw 7.6vw}
#suika-home .work-card {display:block;text-align:left;padding:0;transition:transform .2s}
#suika-home .work-card:hover {transform:translateY(-4px)}
#suika-home .work-card>img {width:100%;aspect-ratio:246/169;object-fit:cover;border-radius:14px 14px 0 0}
#suika-home .work-caption {display:flex;align-items:center;gap:18px;background:#fff;color:#282724;padding:14px 18px;font-size:clamp(16px,2vw,27px);letter-spacing:.16em}
#suika-home .number {display:grid;place-items:center;background:#4b4b49;color:#fff;width:42px;height:42px;font-size:20px;letter-spacing:.03em;border-radius: 2px;}
#suika-home .more {margin-left:auto;display:flex;align-items:center;gap:9px;font-size:clamp(15px,1.9vw,25px);letter-spacing:.1em}
#suika-home .more i {width:42px;height:42px;font-size:23px}
#suika-home .recruit {padding:5.5vw 10.7%;background:#f2f0f0}
#suika-home .recruit-inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5.5vw}
#suika-home .recruit-inner>img {width:100%;aspect-ratio:1.8/1;object-fit:cover;border-radius:10px}
#suika-home .recruit-copy {padding:2vw 0}
#suika-home .recruit h2 {margin-bottom:1.8vw;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5vw,64px);font-weight:400;letter-spacing:.15em;text-align:left}
#suika-home .recruit p {font-size:clamp(13px,1vw,16px);line-height:1.8;letter-spacing:.12em}
#suika-home .recruit .line-link {width:max-content;margin-top:2.4vw;margin-left:auto}
#suika-home .news {padding:6.4vw 6% 4.2vw 13.8%;display:grid;grid-template-columns:23% 1fr;gap:5%}
#suika-home .news h2 {margin:1.3vw 0 4.7vw}
#suika-home .news-all {font-size:18px;letter-spacing:.1em;padding:0}
#suika-home .news-all i {margin-left:8px}
#suika-home .news-list {display:grid;gap:30px}
#suika-home .news-list a {display:flex;align-items:center;gap:40px;text-align:left;background:#f2f0f0;padding:38px;font-size:17px;letter-spacing:.2em}
#suika-home .news-list a span {font-size:15px;white-space:nowrap}
#suika-home .news-list i {flex-shrink:0;margin-left:auto}
#suika-home .contact-building {width:100%;aspect-ratio:632/175;object-fit:cover}
#suika-home .contact-cards {display:grid;grid-template-columns:1fr 1fr;gap:4.3vw;padding:2.6vw 13.2% 4vw;background:#f2f0f0}
#suika-home .contact-card {min-height:20.5vw;border-radius:28px;background:white;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;text-align:center;padding:24px 20px;gap:12px}
#suika-home .contact-card>img {width:7.3vw;height:7.3vw;margin-bottom:2px;flex-shrink:0}
#suika-home .contact-card span {font-size:17px;letter-spacing:.08em}
#suika-home .contact-card strong {    font-size: clamp(22px, 2.9vw, 38px);letter-spacing:.01em}
#suika-home .contact-card small {font-size:11px}
#suika-home .contact-card:hover {box-shadow:0 4px 20px #0000000a}
@media(min-width:1600px) {
#suika-home {margin:auto}
#suika-home .hero-left {height:548px}
#suika-home .hero-right {height:620px;margin-top:-73px}
#suika-home .hero h1 {top:349px;font-size:129px}
}
@media(max-width:700px) {
#suika-home .hero-images {gap:8px;padding:0 8px}
#suika-home .hero-left {height:43vw}
#suika-home .hero-right {height:48.7vw;margin-top:-5.7vw;object-fit:fill}
#suika-home .hero h1 {top:30vw;left:6%;font-size:10.5vw}
#suika-home .thumbnails {padding-top:12px;height:22vw;gap:12px}
#suika-home .thumbnails img {flex:0 0 14%;width:14%;height:14vw;border-radius:4px}
#suika-home .thumbnails img:nth-child(even) {transform:translateY(3vw)}
#suika-home .about {padding:40px 20px 65px}
#suika-home .about h2 {margin-bottom:45px}
#suika-home .about-panel {grid-template-columns:1fr;padding:0 20px 25px;gap:25px}
#suika-home .about-panel>img {height:auto;margin-top:-16px}
#suika-home .about-copy {margin:0}
#suika-home .about-copy h3 {font-size:18px;white-space:normal;line-height:1.8;letter-spacing:.08em}
#suika-home .about-copy p {font-size:14px;line-height:1.9;letter-spacing:.06em}
#suika-home .works {padding:50px 24px 55px}
#suika-home .works h2 {margin-bottom:38px}
#suika-home .work-grid {gap:24px;grid-template-columns:1fr}
#suika-home .work-card>img {border-radius:10px 10px 0 0}
#suika-home .work-caption {padding:12px;gap:12px;font-size:20px}
#suika-home .number {width:32px;height:32px;font-size:16px}
#suika-home .more {font-size:19px}
#suika-home .more i {width:32px;height:32px;font-size:18px}
#suika-home .recruit {padding:42px 24px}
#suika-home .recruit-inner {grid-template-columns:1fr;gap:28px}
#suika-home .recruit-inner>img {aspect-ratio:1.8/1}
#suika-home .recruit-copy {padding:0}
#suika-home .recruit h2 {margin-bottom:18px;font-size:42px}
#suika-home .recruit p {font-size:14px;line-height:1.9;letter-spacing:.06em}
#suika-home .recruit .line-link {margin-top:24px}
#suika-home .news {padding:42px 24px;grid-template-columns:1fr;gap:24px}
#suika-home .news>div:first-child {display:block}
#suika-home .news h2 {margin:0}
#suika-home .news-all {font-size:14px}
#suika-home .news-list {gap:14px}
#suika-home .news-list a {padding:20px 16px;gap:10px;flex-wrap:wrap;position:relative;font-size:14px;letter-spacing:.1em}
#suika-home .news-list a span {width:90%;white-space:normal;font-size:14px;line-height:1.8}
#suika-home .news-list i {position:absolute;right:15px;top:20px;width:24px;height:24px}
#suika-home .contact-building {height:38vw;object-fit:cover}
#suika-home .contact-cards {padding:25px 24px;grid-template-columns:1fr;gap:18px}
#suika-home .contact-card {min-height:225px;border-radius:20px}
#suika-home .contact-card>img {width:74px;height:74px}
#suika-home .contact-card strong {font-size:30px}
#suika-home .contact-card small {font-size:12px}
#suika-home .contact-card span {font-size:16px}
}
@media(prefers-reduced-motion:reduce) {
#suika-home * {transition:none!important}
}
#suika-home .hero-images.scroll-ready {display:block;overflow:hidden;padding:0;margin-top:-4.56vw}
#suika-home .scroll-track {display:flex;width:200%;will-change:transform}
#suika-home .scroll-group {flex:0 0 50%;min-width:0;display:flex}
#suika-home .hero-images .scroll-track {width:calc(var(--suika-scroll-count) * 100%);animation:suika-home-images-left 48s linear infinite}
#suika-home .hero-images .scroll-group {align-items:flex-end;gap:18px;padding:0 9px}
#suika-home .hero-images .scroll-group img {flex:0 0 var(--suika-hero-item-basis);width:var(--suika-hero-item-basis);margin-top:0}
#suika-home .thumbnails.scroll-ready {display:block;gap:0}
#suika-home .thumbnails .scroll-track {animation:suika-home-images-right 32s linear infinite}
#suika-home .thumbnails .scroll-group {gap:2%;padding-right:1%}
#suika-home .thumbnails .scroll-group img {flex:0 0 var(--suika-thumbnail-item-basis);width:var(--suika-thumbnail-item-basis)}
@keyframes suika-home-images-left {from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes suika-home-images-right {from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(min-width:1600px) {
#suika-home .hero-images.scroll-ready {margin-top:-73px}
}
@media(max-width:700px) {
#suika-home .hero-images.scroll-ready {margin-top:-5.7vw}
#suika-home .hero-images .scroll-group {gap:8px;padding:0 4px}
#suika-home .hero-images .scroll-group img {flex-basis:var(--suika-hero-item-basis-mobile);width:var(--suika-hero-item-basis-mobile)}
#suika-home .thumbnails .scroll-track {width:300%}
}
@media(prefers-reduced-motion:reduce) {
#suika-home .scroll-track {animation:none!important;transform:none;will-change:auto}
}
#suika-home .hero-tagline {position:absolute;z-index:2;top: -3.2vw;right:12%;display:flex;flex-direction:row-reverse;gap:.3em;font-size:clamp(28px,3.5vw,46px);font-weight:400;line-height:1.4;letter-spacing:.08em}
#suika-home .hero-tagline span {writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;text-shadow: 0 0 7px #fff, 0 0 16px #FFF;}
#suika-home .hero-tagline span+span {padding-top:1em}
@media(max-width:700px) {
#suika-home .hero-tagline {right:12%;font-size:clamp(18px,5.4vw,22px);line-height:1.25;letter-spacing:.02em}
}

/* Keep the reference composition while allowing news text to fit tablets. */
@media (min-width: 701px) and (max-width: 1100px) {
    #suika-home .news { grid-template-columns: 23% minmax(0, 1fr); }
    #suika-home .news-list { min-width: 0; }
    #suika-home .news-list a {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 30px;
        gap: 12px;
        padding: 24px;
    }
    #suika-home .news-list a time { grid-column: 1; }
    #suika-home .news-list a span {
        grid-column: 1;
        white-space: normal;
        line-height: 1.8;
    }
    #suika-home .news-list a i {
        grid-column: 2;
        grid-row: 1 / 3;
    }
}

/*ナビゲーション*/
.drawer-hamburger {
    padding: 12px 5px;
    width: 30px;
    min-width: 30px;
}
.drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    height: 1px;
}

.drawer-navigation ul li {
    border-bottom: 1px solid;
}

.widget.widget_nav_menu ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 1.15em;
}
.widget.widget_nav_menu ul li{
    margin: 0 .85em;
}

/*ヘッダー部分*/
.site-header {
    border-bottom: none; 
    margin-bottom: 3rem;
}
.site-description {
    color: #000;
    font-size: 68%;
    margin-bottom: 2px;
    margin-top: 0;
    letter-spacing: 2px;
}
.jumbotron,.jumbotron-overlay{
    background-color:transparent;
}

.jumbotron-content {
    padding-bottom: 38px;
    padding-top: 35px;
    text-align: left;
}

.jumbotron-title{
    color: #444;
    text-shadow:none;
    letter-spacing:0.03em;
    font-weight: 400;
    font-size: clamp(30px, 4vw, 50px);
    border-bottom: 1px solid #000;
    display: inline-block;
}
/*form*/
div.wpcf7-response-output{
    border-width: 1px;
    border-radius: 20px;
}
.wpcf7-not-valid-tip{
    font-size: .70em !important;
}
.wpcf7-not-valid-tip::before{
  display: inline-block;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 7 Free"; /* 通常のアイコン */
  font-weight: 900; 
  content: "\f06a";
  font-size:1.2em;
}

/* Works archive: independent from BusinessPress archive display settings. */
body.post-type-archive-works #content.site-content,
body.tax-wk-category #content.site-content {
    max-width: 1280px;
}
body.post-type-archive-works .content-area {
    margin-bottom: 6rem;
}
.suika-works-archive__header {
    margin: 0 0 48px;
}
.suika-works-archive__title {
    display: inline-block;
    margin: 0;
    padding-bottom: 0;
    border-bottom: 1px solid #000;
    color: #444;
    font-size: 2.25rem;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.3;
    text-shadow: none;
}
.suika-works-archive__description {
    margin-top: 16px;
    color: #555555;
}
.suika-works-archive__description > *:last-child {
    margin-bottom: 0;
}
.suika-works-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 48px 24px;
}
.suika-works-card {
    position: relative;
    margin: 0;
    min-width: 0;
}
.suika-works-card__link {
    display: block;
    color: #282724;
    text-decoration: none;
}
.suika-works-card__link:hover,
.suika-works-card__link:focus {
    color: #282724;
}
.suika-works-card__media {
    position: relative;
    overflow: hidden;
    background: #F2F0F0;
    aspect-ratio: 4 / 3;
    border-radius: 2px;
}
.suika-works-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}
.suika-works-card__link:hover .suika-works-card__image,
.suika-works-card__link:focus .suika-works-card__image {
    transform: scale(1.04);
}
.suika-works-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    background: #404141;
    color: #FFFFFF;
    letter-spacing: .18em;
}
.suika-works-card__placeholder span {
    padding: 9px 12px 8px 15px;
    border: 1px solid #FFFFFF;
    font-size: 12px;
    line-height: 1;
}
.suika-works-card__terms {
    position: absolute;
    z-index: 1;
    top: 14px;
    left: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.suika-works-card__term {
    display: inline-block;
    padding: 5px 10px 4px;
    border-radius: 0;
    background: var(--suika-term-color, #404141);
    color: #FFFFFF;
    font-size: 11px;
    letter-spacing: .06em;
    line-height: 1.2;
    text-decoration: none;
}
.suika-works-card__term:hover,
.suika-works-card__term:focus {
    color: #FFFFFF;
    text-decoration: none;
    filter: brightness(.9);
}
.suika-works-single__terms {
    margin-bottom: 1rem;
    text-align: center;
}
.suika-works-single__term {
    text-decoration: none;
}
.suika-works-single__term:hover,
.suika-works-single__term:focus {
    text-decoration: none;
}

/* Post navigation: retain the parent layout and replace its labels with arrows. */
.post-navigation .post-nav-title {
    font-size: 0;
}
.post-navigation .post-nav-title::before {
    color: #555555;
    font-family: FontAwesome;
    font-size: 20px;
    line-height: 1;
}
.post-navigation .nav-previous .post-nav-title::before {
    content: "\f060";
}
.post-navigation .nav-next .post-nav-title::before {
    content: "\f061";
}

/* Keep numbered archive pagination available on small screens. */
@media screen and (max-width: 639px) {
    .pagination .page-numbers {
        display: inline-block;
    }
    .post-navigation .nav-next {
        text-align: right;
    }
}
.pagination a.page-numbers.prev,
.pagination a.page-numbers.next {
    border: 0;
}

/* Contact Form 7 confirmation screen. */
.wpcf7-response-output:empty {
    display: none;
}
body.suika-contact-confirm-open {
    overflow: hidden;
}
.suika-contact-confirm[hidden] {
    display: none;
}
.suika-contact-confirm {
    position: fixed;
    z-index: 10001;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}
.suika-contact-confirm__backdrop {
    position: absolute;
    inset: 0;
    background: rgb(40 39 36 / .56);
}
.suika-contact-confirm__dialog {
    position: relative;
    width: min(100%, 680px);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: 40px;
    background: #FFFFFF;
    color: #282724;
}
.suika-contact-confirm__title {
    margin: 0 0 12px;
    color: #282724;
    font-size: 28px;
    font-weight: 400;
    letter-spacing: .08em;
}
.suika-contact-confirm__lead {
    margin: 0 0 28px;
}
.suika-contact-confirm__list {
    margin: 0;
    border-top: 1px solid #ECECEC;
}
.suika-contact-confirm__list dt,
.suika-contact-confirm__list dd {
    box-sizing: border-box;
    margin: 0;
    padding: 14px 0;
    border-bottom: 1px solid #ECECEC;
}
.suika-contact-confirm__list dt {
    color: #555555;
    font-size: 14px;
}
.suika-contact-confirm__list dd {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.suika-contact-confirm__actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 32px;
}
.suika-contact-confirm__actions button {
    padding: 14px 20px;
    border: 1px solid #087254;
    border-radius: 0;
    background: #FFFFFF;
    color: #087254;
    font-family: var(--suika-font-family);
    font-size: 15px;
    text-transform: none;
}
.suika-contact-confirm__actions .suika-contact-confirm__submit {
    background: #087254;
    color: #FFFFFF;
}
.suika-contact-confirm__actions button:hover,
.suika-contact-confirm__actions button:focus {
    background: #087254;
    color: #FFFFFF;
}
@media screen and (max-width: 539px) {
    .suika-contact-confirm {
        padding: 14px;
    }
    .suika-contact-confirm__dialog {
        max-height: calc(100vh - 28px);
        padding: 28px 20px;
    }
    .suika-contact-confirm__title {
        font-size: 23px;
    }
    .suika-contact-confirm__actions {
        flex-direction: column-reverse;
    }
    .suika-contact-confirm__actions button {
        width: 100%;
    }
}
.suika-works-archive__eyebrow {
    margin: 0 0 8px;
    color: #555555;
    font-size: 14px;
    letter-spacing: .12em;
}
.suika-works-card__body {
    padding-top: 16px;
}
.suika-works-card__title {
    margin: 0;
    color: #282724;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.55;
}
.suika-works-card__excerpt {
    display: -webkit-box;
    margin: 10px 0 0;
    overflow: hidden;
    color: #555555;
    font-size: 14px;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.suika-works-archive__empty {
    margin: 0;
    padding: 48px 24px;
    background: #F2F0F0;
    color: #555555;
    text-align: center;
}
body.post-type-archive-works .navigation.pagination {
    margin-top: 56px;
}
@media screen and (max-width: 979px) {
    .suika-works-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px 20px;
    }
}
@media screen and (min-width: 782px) {
    .suika-works-archive__title {
        font-size: 3.5rem;
    }
}
@media screen and (max-width: 539px) {
    .suika-works-archive__header {
        margin-bottom: 32px;
    }
    .suika-works-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 14px;
    }
    .suika-works-card__title {
        font-size: 16px;
    }
    .suika-works-card__body { padding-top: 10px; }
    .suika-works-card__excerpt { font-size: 12px; }
    .suika-works-card__terms { top: 8px; left: 8px; gap: 5px; }
    .suika-works-card__term { padding: 5px 10px 4px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
    .suika-works-card__image {
        transition: none;
    }
}

@media screen and (min-width: 782px) {
    .site-description {
        margin-bottom: 0;
    }
    .jumbotron-title {
        font-size: 3.5rem;
    }
    .jumbotron-content {
        padding-bottom: 90px;
        padding-top: 45px;
    }
}
@media screen and (min-width: 980px) {
    .jumbotron-content {
        padding-bottom: 68px;
        padding-top: 45px;
    }
}


/* 企業情報：Gutenberg標準ブロックのレイアウト。 */
body.page-id-2 #content.site-content {
    max-width: 1120px;
}
body.page-id-2 .entry-content {
    width: 100%;
    max-width: none;
}
.suika-about {
    color: #282724;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
    font-size: 16px;
    line-height: 1.9;
}
.suika-about :where(h2, h3, p, figure, .wp-block-columns, .wp-block-buttons) {
    margin-top: 0;
}
.suika-about h2,
.suika-about h3 {
    font-weight: 400;
    color: #282724;
    line-height: 1.4;
}
.suika-about p {
    margin-bottom: 1.5em;
}
.suika-about .suika-about-intro {
    padding-bottom: 52px;
}
.suika-about .suika-about-title {
    margin-bottom: 24px;
    font-size: clamp(30px, 4vw, 50px);
    letter-spacing: .08em;
}
.suika-about .suika-about-lead {
    max-width: 720px;
    font-size: 18px;
}
.suika-about .suika-about-sample-note {
    padding-left: 16px;
    border-left: 2px solid #087254;
    color: #555555;
    font-size: 13px;
}
.suika-about .suika-about-hero {
    margin-bottom: 32px;
}
.suika-about .suika-about-hero img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
}
.suika-about figcaption {
    margin-top: 10px;
    color: #555555;
    font-size: 12px;
    text-align: left;
}
.suika-about .suika-about-nav {
    padding-bottom: 34px;
    gap: 12px 28px;
    border-bottom: 1px solid #ECECEC;
}
.suika-about .suika-about-nav .wp-block-button__link {
    padding: 6px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #282724;
    font-size: 14px;
    text-decoration: none;
}
.suika-about .suika-about-nav .wp-block-button__link:hover {
    color: #087254;
}
.suika-about .suika-about-section {
    padding: 64px 0;
    border-bottom: 1px solid #ECECEC;
    scroll-margin-top: 110px;
}
.suika-about .suika-about-section > .wp-block-columns {
    gap: 48px;
    margin-bottom: 0;
}
.suika-about .suika-about-section-title {
    margin: 0 0 12px;
    font-size: 28px;
    letter-spacing: .1em;
}
.suika-about .suika-about-section-label {
    color: #555555;
    font-size: 13px;
    letter-spacing: .08em;
}
.suika-about .suika-about-message-title {
    margin-bottom: 24px;
    font-size: 25px;
}
.suika-about .suika-about-message-photo {
    margin: 32px 0 0;
}
.suika-about .suika-about-message-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.suika-about .suika-about-table table {
    width: 100%;
    table-layout: fixed;
    border: 0;
    border-collapse: collapse;
    font-size: 15px;
}
.suika-about .suika-about-table th,
.suika-about .suika-about-table td {
    padding: 19px 0;
    border: 0;
    border-bottom: 1px solid #ECECEC;
    background: transparent;
    vertical-align: top;
    text-align: left;
    overflow-wrap: anywhere;
}
.suika-about .suika-about-table th {
    width: 26%;
    padding-right: 20px;
    font-weight: 400;
    color: #555555;
}
.suika-about .suika-about-service {
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #ECECEC;
}
.suika-about .suika-about-service:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}
.suika-about .suika-about-service h3 {
    margin-bottom: 12px;
    font-size: 24px;
}
.suika-about .suika-about-service p:last-child {
    margin-bottom: 0;
}
.suika-about .suika-about-environment {
    margin-top: 48px;
    padding: 40px;
    border: 0;
    background: #F2F0F0;
}
.suika-about .suika-about-contact {
    padding: 64px 0 24px;
}
.suika-about .suika-about-contact h2 {
    font-size: 30px;
}
.suika-about .suika-about-contact .wp-block-button__link {
    padding: 16px 28px;
    border: 1px solid #087254;
    border-radius: 0;
    background: #087254;
    color: #FFFFFF;
    font-size: 16px;
}
.suika-about a:focus-visible {
    outline: 2px solid #087254;
    outline-offset: 5px;
}
@media (max-width: 781px) {
    .suika-about .suika-about-section {
        padding: 36px 0;
    }
    .suika-about .suika-about-section > .wp-block-columns {
        gap: 20px;
    }
    .suika-about .suika-about-intro {
        padding-bottom: 24px;
    }
    .suika-about .suika-about-hero img {
        aspect-ratio: 4 / 3;
    }
    .suika-about .suika-about-nav {
        gap: 8px 20px;
    }
    .suika-about .suika-about-table th {
        width: 30%;
        padding-right: 12px;
    }
    .suika-about .suika-about-environment {
        padding: 28px 22px;
    }
}
