:root{--inaso-green:#006b3c;--inaso-green-soft:#eef6f1;--inaso-border:#dfe6e1;--inaso-text:#333;--inaso-muted:#6b746f;--inaso-bg:#f8f7f3}
.inaso-ws-direct-page{width:100%}.inaso-ws-wrap{max-width:1100px;margin:0 auto;padding:56px 20px 80px;color:var(--inaso-text)}
.inaso-ws-archive section>h2{font-size:26px;font-weight:500;color:var(--inaso-text);border-top:2px solid var(--inaso-green);background:#f5f5f5;margin:0 0 28px;padding:18px 18px 16px}.inaso-ws-past{margin-top:68px}
.inaso-ws-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.inaso-ws-card{background:#fff;border:1px solid var(--inaso-border);box-shadow:0 5px 18px rgba(0,0,0,.035);transition:transform .2s ease,box-shadow .2s ease}.inaso-ws-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}.inaso-ws-card-link{display:block;color:inherit;text-decoration:none;height:100%}.inaso-ws-card-link:hover{color:inherit}.inaso-ws-card-media{position:relative}.inaso-ws-card .thumb{aspect-ratio:4/3;overflow:hidden;background:#f1f2ef}.inaso-ws-card .thumb img{display:block;width:100%;height:100%;object-fit:cover}.inaso-ws-card-placeholder{background:linear-gradient(135deg,#f3f4f1,#e8ece8)}.inaso-ws-card-badge{position:absolute;left:14px;top:14px;background:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.08)}.inaso-ws-card .body{padding:20px 20px 22px}.inaso-ws-card h3{font-size:20px;line-height:1.45;margin:0 0 13px;color:var(--inaso-green)}.inaso-ws-card .date,.inaso-ws-card .venue{margin:7px 0;line-height:1.65}.inaso-ws-card .date{font-weight:600}.inaso-ws-card .time{font-weight:400}.inaso-ws-card .venue{color:var(--inaso-muted)}.inaso-ws-card .more{display:inline-block;margin-top:13px;color:var(--inaso-green);font-weight:700}.inaso-ws-empty{grid-column:1/-1;padding:28px;background:#f6f6f3;text-align:center}
.inaso-ws-badge{display:inline-block;padding:6px 13px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid currentColor}.status-open{color:#477c58}.status-full,.status-closed{color:#9a6b35}.status-ended{color:#777}
.inaso-ws-detail{max-width:1100px}.inaso-ws-detail-top{display:grid;grid-template-columns:minmax(0,45%) minmax(0,55%);gap:46px;align-items:start}.inaso-ws-detail-media{position:sticky;top:24px}.inaso-ws-lightbox-trigger{display:block;position:relative;text-decoration:none}.inaso-ws-flyer{display:block;width:100%;height:auto;border:1px solid #e7e3da;box-shadow:0 8px 24px rgba(0,0,0,.08)}.inaso-ws-zoom-hint{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;font-size:12px;padding:6px 9px;border-radius:3px;opacity:0;transition:opacity .2s ease}.inaso-ws-lightbox-trigger:hover .inaso-ws-zoom-hint{opacity:1}.inaso-ws-detail-title{color:var(--inaso-green);font-size:34px;line-height:1.35;margin:0 0 16px;font-weight:700}.inaso-ws-detail-status{margin-bottom:22px}.inaso-ws-info{margin:0;border-top:1px solid var(--inaso-border)}.inaso-ws-info>div{display:grid;grid-template-columns:112px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--inaso-border)}.inaso-ws-info dt{font-weight:700;color:#4e5b54}.inaso-ws-info dd{margin:0;line-height:1.7}.inaso-ws-remaining-inline{color:var(--inaso-green);font-weight:700}
.inaso-ws-section{margin:52px 0 0}.inaso-ws-section>h2,.inaso-ws-booking>h2{font-size:24px;color:var(--inaso-green);border-top:2px solid var(--inaso-green);border-bottom:1px solid var(--inaso-border);padding:15px 0 12px;margin:0 0 22px}.inaso-ws-section-body{line-height:1.9}.inaso-ws-map iframe{display:block;width:100%;height:390px;border:0}.inaso-ws-ended-message,.inaso-ws-closed{padding:18px 20px;background:#f4f4f1;margin:34px 0;font-weight:700}
.inaso-ws-booking{margin-top:52px;padding:28px 30px 32px;background:var(--inaso-bg);border:1px solid #ece9df}.inaso-ws-booking>h2{margin-top:0}.inaso-ws-booking input[type=text],.inaso-ws-booking input[type=email],.inaso-ws-booking input[type=tel],.inaso-ws-booking select,.inaso-ws-booking textarea{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #cfd6d1;border-radius:4px;background:#fff;font-size:15px}.inaso-ws-booking input:focus,.inaso-ws-booking textarea:focus,.inaso-ws-booking select:focus{outline:2px solid rgba(0,107,60,.15);border-color:var(--inaso-green)}.inaso-ws-booking .req{font-size:11px;padding:2px 5px;background:#8a6951;color:#fff;margin-left:5px}.inaso-ws-submit{border:0;padding:13px 38px;background:var(--inaso-green);color:#fff;font-weight:700;border-radius:4px;cursor:pointer}.inaso-ws-submit:hover{opacity:.88}.inaso-hp{position:absolute!important;left:-9999px!important}.inaso-ws-remaining{font-weight:700;color:var(--inaso-green);margin:0 0 18px}.inaso-ws-booking label{display:block}.inaso-ws-booking p{margin:0 0 18px}.inaso-ws-booking .inaso-consent label{display:flex;gap:8px;align-items:flex-start}.inaso-ws-booking .inaso-consent input{margin-top:4px}.inaso-ws-booking select{max-width:180px}.inaso-ws-back{margin:34px 0 0}.inaso-ws-back a{color:var(--inaso-green);font-weight:700;text-decoration:none}.inaso-ws-back a:hover{text-decoration:underline}
.inaso-ws-booking-complete{margin-top:52px;scroll-margin-top:40px}.inaso-ws-booking-complete .inaso-ws-success{padding:34px 28px;text-align:center;border:1px solid #bfd8c3;border-radius:6px;background:#eef8ef}.inaso-ws-booking-complete .inaso-ws-success h2{margin:0 0 16px;font-size:26px;color:var(--inaso-green)}.inaso-ws-booking-complete .inaso-ws-success p{margin:8px 0;font-weight:400}.inaso-ws-booking-complete .inaso-ws-success p:first-of-type{font-weight:700}
.inaso-ws-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;padding:34px}.inaso-ws-lightbox.is-open{display:flex}.inaso-ws-lightbox img{display:block;max-width:min(94vw,1200px);max-height:92vh;width:auto;height:auto;box-shadow:0 10px 45px rgba(0,0,0,.4)}.inaso-ws-lightbox-close{position:fixed;top:18px;right:24px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:28px;line-height:1;cursor:pointer;color:#222}
@media(max-width:900px){.inaso-ws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inaso-ws-detail-top{grid-template-columns:minmax(0,42%) minmax(0,58%);gap:30px}.inaso-ws-detail-title{font-size:30px}.inaso-ws-detail-media{position:static}}
@media(max-width:680px){.inaso-ws-wrap{padding:34px 16px 54px}.inaso-ws-grid{grid-template-columns:1fr;gap:22px}.inaso-ws-archive section>h2{font-size:22px;padding:15px 14px}.inaso-ws-detail-top{grid-template-columns:1fr;gap:28px}.inaso-ws-detail-title{font-size:28px}.inaso-ws-detail-media{max-width:520px;margin:0 auto;width:100%}.inaso-ws-info>div{grid-template-columns:1fr;gap:5px}.inaso-ws-map iframe{height:300px}.inaso-ws-booking{padding:22px 18px}.inaso-ws-section{margin-top:42px}.inaso-ws-lightbox{padding:18px}.inaso-ws-zoom-hint{opacity:1}}

.inaso-ws-past-note{
  margin:-10px 0 24px;
  color:#666;
  font-size:14px;
  line-height:1.8;
}

.inaso-ws-past-note{
  margin:-10px 0 24px;
  color:#666;
  font-size:14px;
  line-height:1.8;
}


/* v1.3.5: 備考を開催情報内に表示 */
.inaso-ws-info .inaso-ws-info-note dd p {
    margin: 0 0 .55em;
}
.inaso-ws-info .inaso-ws-info-note dd p:last-child {
    margin-bottom: 0;
}


/* v1.3.6: 申込みフォームへの案内 */
.inaso-ws-apply-guide {
    margin-top: 18px;
    padding: 13px 15px;
    background: #f4f8f1;
    border-left: 4px solid #5f7f4d;
    border-radius: 4px;
    line-height: 1.7;
}
.inaso-ws-apply-guide a {
    color: #4f7040;
    font-weight: 700;
    text-decoration: none;
}
.inaso-ws-apply-guide a:hover { text-decoration: underline; }
#booking { scroll-margin-top: 30px; }
html { scroll-behavior: smooth; }


/* v1.3.7: 申込み案内を右カラム全幅に */
.inaso-ws-apply-guide {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 18px 0 0;
    padding: 12px 0 12px 14px;
    background: #fff;
    border-left: 3px solid #5f7f4d;
    border-radius: 0;
    line-height: 1.75;
}
.inaso-ws-apply-guide a {
    display: block;
    width: 100%;
}

/* 開催予定なし：前向きな案内 */
.inaso-ws-empty-positive {
    display: flex;
    flex-direction: column;
    gap: 7px;
    width: 100%;
    box-sizing: border-box;
    padding: 28px 24px;
    text-align: center;
    background: #fff;
}
.inaso-ws-empty-positive strong {
    color: #16723e;
    font-size: 1.08em;
}
.inaso-ws-empty-positive span {
    line-height: 1.8;
}

/* トップページ：開催予定のワークショップ（最大5件・画像なし） */
.inaso-ws-home-list {
    width: 100%;
}
.inaso-ws-home-item {
    padding: 12px 2px 13px;
    border-bottom: 1px solid #d9e0d7;
}
.inaso-ws-home-item:first-child {
    padding-top: 2px;
}
.inaso-ws-home-status {
    display: inline-block;
    margin-bottom: 5px;
    padding: 2px 8px;
    border: 1px solid #4e8a61;
    border-radius: 999px;
    color: #36744c;
    background: #fff;
    font-size: 11px;
    line-height: 1.5;
}
.inaso-ws-home-status.status-full,
.inaso-ws-home-status.status-closed {
    border-color: #888;
    color: #666;
}
.inaso-ws-home-item h3 {
    margin: 0 0 5px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 15px !important;
    line-height: 1.5;
}
.inaso-ws-home-item h3 a {
    color: #176f3e;
    text-decoration: none;
}
.inaso-ws-home-item h3 a:hover {
    text-decoration: underline;
}
.inaso-ws-home-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: #555;
    font-size: 12px;
    line-height: 1.55;
}
.inaso-ws-home-venue::before {
    content: "会場：";
}
.inaso-ws-home-empty {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 14px 2px;
    line-height: 1.7;
}
.inaso-ws-home-empty strong {
    color: #176f3e;
    font-size: 14px;
}
.inaso-ws-home-empty span {
    color: #555;
    font-size: 12px;
}


/* v1.3.8: トップページの旧Events Manager表示を確実に置換 */
.inaso-ws-home-replacement-wrap {
    width: 100%;
}


/* v1.3.9: トップページ開催予定を明確な一覧表示に */
.inaso-ws-home-item {
    padding: 10px 0 12px;
    border-bottom: 1px solid #d9dfd8;
}
.inaso-ws-home-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 5px;
    min-width: 0;
}
.inaso-ws-home-status {
    flex: 0 0 auto;
    margin: 0;
    padding: 1px 7px;
    border: 1px solid #4e8a61;
    border-radius: 999px;
    background: #fff;
    color: #36744c;
    font-size: 10px;
    line-height: 1.55;
}
.inaso-ws-home-title {
    min-width: 0;
    color: #176f3e !important;
    font-size: 14px !important;
    font-weight: 700;
    line-height: 1.45;
    text-decoration: none !important;
    border: 0 !important;
}
.inaso-ws-home-title:hover {
    text-decoration: underline !important;
}
.inaso-ws-home-datetime,
.inaso-ws-home-venue {
    margin-left: 0;
    color: #555;
    font-size: 12px;
    line-height: 1.6;
}
.inaso-ws-home-venue::before {
    content: none !important;
}

/* v1.4.0: トップページのWS名リンクを明確化 */
.inaso-ws-home-title {
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
}
.inaso-ws-home-title:hover {
    text-decoration: underline !important;
}


/* v1.4.2: トップページWS名リンクをテーマCSSより優先 */
body.home .inaso-ws-home-list .inaso-ws-home-item a.inaso-ws-home-title,
body.home .inaso-ws-home-list .inaso-ws-home-item a.inaso-ws-home-title:link,
body.home .inaso-ws-home-list .inaso-ws-home-item a.inaso-ws-home-title:visited {
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}


/* v1.4.3: 受付締切日時 */
.inaso-ws-deadline {
    width: 100%;
    box-sizing: border-box;
    margin: 8px 0 0;
    padding-left: 14px;
    color: #555;
    font-size: 14px;
    line-height: 1.7;
}
.inaso-ws-deadline strong {
    color: #333;
    font-weight: 700;
}
