@charset "utf-8";
/*
Theme Name:gokakumendo
Theme URI:https://gokakumendo.com/
Description:gokakumendo from Mitsuo Nakaya
Version:5.0
Author:SPEC, Inc.
Author URI:https://specgroup.jp/
*/
/* ==========================================================================
   1. CSS VARIABLES - COMPLETE STANDARDIZATION
   ========================================================================== */
:root{
    /* ------------------------------------------------------------------------
       A. BRAND COLORS & PALETTE
       ------------------------------------------------------------------------ */
    --c-main:#d53d54;
    --c-main-hover:#f75f76;
    --c-main-light:#fff9ff;
    /* Accents */
    --c-blue:#29A1D6;
    --c-blue-dark:#1d2669;
    --c-blue-medium:#337fcc;
    --c-blue-soft:#5d8aff;
    --c-blue-pale:#c7eefd;
    --c-blue-nav:#216A8A;
    --c-blue-hover-light:#49C1F6;
    --c-green-success:#33cc7f;
    --c-gold:#eeac00;
    --c-gold-hover:#ffbd11;
    --c-orange:#fb952e;
    --c-orange-bright:#ffa15d;
    --c-gold-bright:#ffff00;
    --c-pink-marker:#fdf;
    --c-red-workshop:#ff4d4b;
    --c-red-stamp:red;
    --c-purple-teacher:#1F48B2;
    /* Neutrals */
    --c-text:#393939;
    --c-text-light:#888;
    --c-text-muted:#5b5b5b;
    --c-text-dark:#472e15;
    --c-white:#fff;
    --c-black:#000;
    --c-gray-medium:#595959;
    --c-gray-light:#ddd;
    --c-gray-border:#d7d7d7;
    --c-gray-hover:#696969;
    --c-gray-pale:#eee;
    --c-gray-footer:#bbb;
    /* Backgrounds */
    --c-bg-gray:#e6e6e6;
    --c-bg-panel:#f6f6f6;
    --c-bg-annotation:#dee9ff;
    --c-footer-menu:#8A1A2B;
    /* Workshop Status Colors */
    --st-osaka:#fef;
    --st-special:#fff8dc;
    --st-added:#fff6d1;
    /* Gradients */
    --gr-blue:linear-gradient(-90deg,#3880c1,#214580);
    --gr-paleblue:linear-gradient(-90deg,#68bcd8,#0f6b8b);
    --gr-cart-main:linear-gradient(-90deg,#eb4d87,#cb2d67);
    --gr-cart-re:linear-gradient(-90deg,#e9a34e,#c9832e);
    --gr-cart-fax:linear-gradient(-90deg,#da86ba,#ba669a);
    --gr-cart-ci:linear-gradient(-90deg,#27aa27,#078807);
    /* Balloon/Badge Colors */
    --c-bal-special:#ff8c00;
    /* ------------------------------------------------------------------------
       B. TYPOGRAPHY
       ------------------------------------------------------------------------ */
    --ff-base:"ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,Meiryo,メイリオ,ＭＳ Ｐゴシック,Helvetica,Sans-Serif,FontAwesome;
    --ff-icon:"Font Awesome 7 Free";
    --fz-base:14px;
    --fz-xxs:.6rem;
    --fz-xs:.7rem;
    --fz-s:.8rem;
    --fz-sm:.88em;
    --fz-m:1rem;
    --fz-l:1.2rem;
    --fz-xl:1.6rem;
    --fz-xxl:2.4rem;
    --fz-3xl:3rem;
    --fz-small:.78em;
    --fz-nav:.77rem;
    --fz-littlebig:1.1em;
    --fz-biggest:2em;
    --fz-logo-sp:1.6rem;
    /* Fpnt Weight */
    --fw-bold:700;
    /* Line Heights */
    --lh-base:24px;
    --lh-1:1em;
    --lh-tight:1.25em;
    --lh-medium:1.3em;
    --lh-lg:1.5em;
    --lh-exam:1.4em;
    --lh-workshop:1.6em;
    /* Spacing */
    --ls-base:0;
    --ls-workshop:0;
    --wds-base:.1rem;
    --ratio-16-9:56.25%;
    /* ------------------------------------------------------------------------
       C. SHADOWS, DEPTH & OPACITY
       ------------------------------------------------------------------------ */
    --sh-blockquote:1px 2px 4px hsla(99,39%,65%,.5);
    --sh-panel:.1rem .1rem .1rem rgba(0,0,0,.4);
    --sh-light:.1rem .1rem .1rem rgba(0,0,0,.1);
    --sh-stamp-white:0 0 0 .1rem #fff;
    --sh-stamp-white-large:0 0 0 .15rem #fff;
    --sh-inset-blur:inset 0px 0px 1rem 1rem #fff;
    --ts-emboss:0 1px 1px;
    --ts-gomen:-1px -1px 0 #595959,1px -1px 0 #595959,1px 1px 0 #595959,-1px 1px 0 #595959,1px 1px 4px #393939;
    --ts-stamp-sp:.15rem .15rem 0 #fff,-.15rem .15rem 0 #fff,.15rem -.15rem 0 #fff,-.15rem -.15rem 0 #fff;
    --ts-stamp-pc:.2rem .2rem 0 #fff,-.2rem .2rem 0 #fff,.2rem -.2rem 0 #fff,-.2rem -.2rem 0 #fff;
    --op-hover:.75;
    --op-half:.5;
    /* ------------------------------------------------------------------------
       D. BORDERS & RADIUS
       ------------------------------------------------------------------------ */
    --bd-c-base:#ccc;
    --bd-c-table:#888;
    --bd-w-base:.1rem;
    --bd-w-thick:.2rem;
    --bd-w-thicker:.3rem;
    --bd-w-double:.4rem;
    --bd-w-radio:.125rem;
    --bd-s-solid:solid;
    --bd-s-dashed:dashed;
    --bd-s-double:double;
    --bd-s-inset:inset;
    --bd-s-groove:groove;
    --bd-s-ridge:ridge;
    --bd-transparent:2rem solid transparent;
    --rd-s:.25rem;
    --rd-m:.5rem;
    --rd-button:.75rem;
    --rd-l:1.2rem;
    --rd-panel:1rem;
    --rd-circle:50%;
    --rd-credit:25%;
    /* ------------------------------------------------------------------------
       E. SPACING & LAYOUT TOKENS
       ------------------------------------------------------------------------ */
    --cnt-max:1366px;
    --cnt-max-ultra:1800px;
    --w-full:100%;
    --w-98:98%;
    --w-90:90%;
    --w-80:80%;
    --w-75:75%;
    --w-66:66.6666666667%;
    --w-50:50%;
    --w-33:33.333%;
    --w-25:25%;
    /* Grid System */
    --wg-1:8.33333%;
    --wg-2:16.66667%;
    --wg-3:25%;
    --wg-4:33.33333%;
    --wg-5:41.66667%;
    --wg-6:50%;
    --wg-7:58.33333%;
    --wg-8:66.66667%;
    --wg-9:75%;
    --wg-10:83.33333%;
    --wg-11:91.66667%;
    --wg-12:100%;
    /* Heights */
    --h-nav-pc:4rem;
    --h-nav-pc-l:6rem;
    --h-ws-hd:4rem;
    --h-ws-hdi:2.2rem;
    --h-stamp-box:3rem;
    /* Other Reference Books */
    --h-ref-h4:2rem;
    /* Spacing Scale */
    --sp-xxs:.125rem;
    --sp-xs:.25rem;
    --sp-s:.5rem;
    --sp-m:1rem;
    --sp-l:2rem;
    --sp-xl:3rem;
    --sp-xxl:4rem;
    --sp-6fs:6rem;
    --sp-button:7px auto;
    --sp-nav-top:.5rem;
    --sp-nav-top-pc:1rem;
    --sp-neg-half:-0.5rem;
    --sp-neg-1:-1rem;
    --sp-header-top:.125rem .25rem;
    --sp-site-desc:.75rem;
    --sp-header-button:.25rem .125rem;
    --sp-container:10px;
    /* Component Specific */
    --w-gomen-logo:14rem;
    --w-paypal:11.3rem;
    --w-push-img:24rem;
    --w-label-min:8rem;
    --w-letter-org:22rem;
    --w-ref-img:20rem;
    --w-ref-img-o:12rem;
    --w-event-info:8rem;
    --w-nav-pc:20%;
    --w-ssl-seal:60%;
    --w-pentagon:2.7rem;
    --grid-1:8.33333333333%;
    /* ------------------------------------------------------------------------
       F. Z-INDEX LAYERS
       ------------------------------------------------------------------------ */
    --z-float:6;
    --z-overlay:7;
    --z-nav:8;
    /* ------------------------------------------------------------------------
       G. ANIMATION & TRANSITIONS
       ------------------------------------------------------------------------ */
    --tr-base:.7s;
    --tf-r-stamp:-20deg;
    --tf-r-timepoint:-10deg;
    --tf-r-exam:-3deg;
    --tf-r-25deg:rotate(25deg);
    --tf-r-45deg:rotate(45deg);
    --tf-r-neg25deg:rotate(-25deg);
    --tf-r-neg45deg:rotate(-45deg);
    --tf-flip-y:rotateY(180deg);
    /* ------------------------------------------------------------------------
       H. UI COMPONENT DIMENSIONS
       ------------------------------------------------------------------------ */
    --st-bd-w-sp:.2rem;
    --st-bd-w-pc:.3rem;
    /* ------------------------------------------------------------------------
       I. SITE SPECIFIC DEFAULTS (Base Settings)
       ------------------------------------------------------------------------ */
    --site-gm-txt-w:8rem;
    --site-gm-img-p:8rem;
    /* Workshop Component Defaults */
    --ws-class-pad:.6rem .125rem;
    --ws-class-fs:1.3rem;
    --ws-h-place-w:40%;
    --ws-h-date-w:35%;
    --ws-h-zanseki-w:15%;
    --ws-h-icon-w:10%;
    /* Workshop Column Widths - 6 Column Type (Default) */
    --ws-6c-icon:7%;
    --ws-6c-date:15%;
    --ws-6c-place:20%;
    --ws-6c-time:20%;
    --ws-6c-zanseki:18%;
    --ws-6c-button:20%;
    /* Workshop Column Widths - 7 Column Type (Base) */
    --ws-7c-icon:7%;
    --ws-7c-date:15%;
    --ws-7c-place:18%;
    --ws-7c-class:11%;
    --ws-7c-time:17%;
    --ws-7c-zanseki:13%;
    --ws-7c-button:19%;
    /* Misc */
    --swiper-over-bottom:20%;
    --bal-size:1.5rem;
    --sz-bal-big:2rem;
    --arrow-red-w:9rem;
    --arrow-red-tri:2rem;
    --content-icon-arrow:"\f105";
    --pos-left-base:0;
    /* Workshop */
    --st-mt-hm:-1.65rem;
}
/* ==========================================================================
   2. LAYOUT PATTERNS (NEW CLASS SYSTEM)
   ========================================================================== */
/* --- A. Header Layout Patterns --- */
/* Standard Header (Default: 8rem) */
/* Used by: Otsu4, X-Sen, IT-Passport, Sensuishi, Boiler, FP, Shobo */
.header-layout-standard{
    --site-gm-txt-w:8rem;
    --site-gm-img-p:8rem
}
/* Wide Header (12rem) */
/* Used by: Eiseikanri, Denkikoujishi */
.header-layout-wide{
    --site-gm-txt-w:12rem;
    --site-gm-img-p:12rem
}
/* --- B. Table Layout Patterns --- */
/* Standard Table (6 Columns) */
/* Used by: Otsu4, X-Sen, IT-Passport, Sensuishi */
.table-layout-standard{
    /* Header Widths */
    --ws-h-place-w:40%;
    --ws-h-date-w:35%;
    --ws-h-zanseki-w:15%
}
/* Advance Table (7 Columns - Base) */
/* Used by: Denkikoujishi, Shobosetsubi, Boilergishi, FP, Eiseikanri */
.table-layout-advance{
    /* Header Widths (Base for 7 cols) */
    --ws-h-place-w:20%; /* Standard for 7 cols */
    --ws-h-date-w:35%;
    --ws-h-class-w:20%; /* Standard for 7 cols */
    --ws-h-zanseki-w:15%;
    /* 7-Col Specific Variables */
    --ws-7c-icon:7%;
    --ws-7c-date:15%;
    --ws-7c-place:18%;
    --ws-7c-class:11%;
    --ws-7c-time:17%;
    --ws-7c-zanseki:13%;
    --ws-7c-button:19%
}
/* --- C. Site Specific Overrides (Modifiers) --- */
/* Sensuishi: Header Width Override */
.table-layout-standard.site-sensuishi-info{
    --ws-h-place-w:30%;
    --ws-h-date-w:45%
}
/* Eiseikanri: Mobile & Desktop Width Overrides */
.table-layout-advance.site-eiseikanri-net{
    /* 7-Col Specifics */
    --ws-7c-icon:9%;
    --ws-7c-place:17%;
    --ws-7c-class:10%;
    /* Header */
    --ws-h-place-w:20% /* Re-asserting base */
}
/* FP Ginoushi: Padding & Width Overrides */
.site-fp-adjust{
    --fz-logo-sp:1.8rem;
    --ws-class-pad:.125rem;
    /* 7-Col Specifics */
    --ws-7c-place:15%;
    --ws-7c-class:14%
}
/* Shobosetsubi: Padding Override Only */
.table-layout-advance.site-shobosetsubi-com{
    --ws-class-pad:.125rem
}
/* X-Sen: Logo Override Only */
.table-layout-standard.site-www.x-sen-net{
    --fz-logo-sp:1.8rem
}
/* ==========================================================================
   2. RESET & LAYOUT SYSTEM
   ========================================================================== */
*:where(:not(iframe, canvas, img, svg, video):not(svg *, symbol *):not(del)){all:unset;display:revert}
*,*::before,*::after{box-sizing:border-box}
ol,ul{list-style:none}
img,amp-img{max-width:var(--w-full) !important;height:auto !important}
.home-banner img{width:var(--w-full)}
table{border-collapse:collapse}
textarea{white-space:revert}

/* --- Container System --- */
.container{position:relative;width:var(--w-full);max-width:var(--cnt-max);margin:0 auto;padding-left:var(--sp-container);padding-right:var(--sp-container)}
@media (min-width:768px){
    .container{width:var(--w-90)}
}
@media (min-width:1921px){
    .container{max-width:var(--cnt-max-ultra)}
}

/* --- Grid System --- */
.row{margin-left:calc(var(--sp-container) * -1);margin-right:calc(var(--sp-container) * -1);position:relative}
.row.float [class*=column-]{float:left}
.row.float:after{display:table;clear:both;content:""}
.lg-1,.lg-2,.lg-3,.lg-4,.lg-5,.lg-6,.lg-7,.lg-8,.lg-9,.lg-10,.lg-11,.lg-12,.md-1,.md-2,.md-3,.md-4,.md-5,.md-6,.md-7,.md-8,.md-9,.md-10,.md-11,.md-12,.row[class*=columns-] .column,.sm-1,.sm-2,.sm-3,.sm-4,.sm-5,.sm-6,.sm-7,.sm-8,.sm-9,.sm-10,.sm-11,.sm-12,.xl-1,.xl-2,.xl-3,.xl-4,.xl-5,.xl-6,.xl-7,.xl-8,.xl-9,.xl-10,.xl-11,.xl-12,.xs-1,.xs-2,.xs-3,.xs-4,.xs-5,.xs-6,.xs-7,.xs-8,.xs-9,.xs-10,.xs-11,.xs-12{position:relative;width:var(--w-full);padding-left:var(--sp-container);padding-right:var(--sp-container)}
.xs-1{max-width:var(--wg-1);flex:0 0 var(--wg-1)}
.xs-2{max-width:var(--wg-2);flex:0 0 var(--wg-2)}
.xs-3{max-width:var(--wg-3);flex:0 0 var(--wg-3)}
.xs-4{max-width:var(--wg-4);flex:0 0 var(--wg-4)}
.xs-5{max-width:var(--wg-5);flex:0 0 var(--wg-5)}
.xs-6{max-width:var(--wg-6);flex:0 0 var(--wg-6)}
.xs-7{max-width:var(--wg-7);flex:0 0 var(--wg-7)}
.xs-8{max-width:var(--wg-8);flex:0 0 var(--wg-8)}
.xs-9{max-width:var(--wg-9);flex:0 0 var(--wg-9)}
.xs-10{max-width:var(--wg-10);flex:0 0 var(--wg-10)}
.xs-11{max-width:var(--wg-11);flex:0 0 var(--wg-11)}
.xs-12{max-width:var(--wg-12);flex:0 0 var(--wg-12)}
@media (min-width:768px){
    .sm-1{max-width:var(--wg-1);flex:0 0 var(--wg-1)}
    .sm-2{max-width:var(--wg-2);flex:0 0 var(--wg-2)}
    .sm-3{max-width:var(--wg-3);flex:0 0 var(--wg-3)}
    .sm-4{max-width:var(--wg-4);flex:0 0 var(--wg-4)}
    .sm-5{max-width:var(--wg-5);flex:0 0 var(--wg-5)}
    .sm-6{max-width:var(--wg-6);flex:0 0 var(--wg-6)}
    .sm-7{max-width:var(--wg-7);flex:0 0 var(--wg-7)}
    .sm-8{max-width:var(--wg-8);flex:0 0 var(--wg-8)}
    .sm-9{max-width:var(--wg-9);flex:0 0 var(--wg-9)}
    .sm-10{max-width:var(--wg-10);flex:0 0 var(--wg-10)}
    .sm-11{max-width:var(--wg-11);flex:0 0 var(--wg-11)}
    .sm-12{max-width:var(--wg-12);flex:0 0 var(--wg-12)}
    .span_1{width:var(--wg-1)}
    .span_2{width:var(--wg-2)}
    .span_3{width:var(--wg-3)}
    .span_4{width:var(--wg-4)}
    .span_5{width:var(--wg-5)}
    .span_6{width:var(--wg-6)}
    .span_7{width:var(--wg-7)}
    .span_8{width:var(--wg-8)}
    .span_9{width:var(--wg-9)}
    .span_10{width:var(--wg-10)}
    .span_11{width:var(--wg-11)}
    .span_12{width:var(--wg-12)}
}
@media (min-width:1024px){
    .md-1{max-width:var(--wg-1);flex:0 0 var(--wg-1)}
    .md-2{max-width:var(--wg-2);flex:0 0 var(--wg-2)}
    .md-3{max-width:var(--wg-3);flex:0 0 var(--wg-3)}
    .md-4{max-width:var(--wg-4);flex:0 0 var(--wg-4)}
    .md-5{max-width:var(--wg-5);flex:0 0 var(--wg-5)}
    .md-6{max-width:var(--wg-6);flex:0 0 var(--wg-6)}
    .md-7{max-width:var(--wg-7);flex:0 0 var(--wg-7)}
    .md-8{max-width:var(--wg-8);flex:0 0 var(--wg-8)}
    .md-9{max-width:var(--wg-9);flex:0 0 var(--wg-9)}
    .md-10{max-width:var(--wg-10);flex:0 0 var(--wg-10)}
    .md-11{max-width:var(--wg-11);flex:0 0 var(--wg-11)}
    .md-12{max-width:var(--wg-12);flex:0 0 var(--wg-12)}
}
@media (min-width:1279px){
    .lg-1{max-width:var(--wg-1);flex:0 0 var(--wg-1)}
    .lg-2{max-width:var(--wg-2);flex:0 0 var(--wg-2)}
    .lg-3{max-width:var(--wg-3);flex:0 0 var(--wg-3)}
    .lg-4{max-width:var(--wg-4);flex:0 0 var(--wg-4)}
    .lg-5{max-width:var(--wg-5);flex:0 0 var(--wg-5)}
    .lg-6{max-width:var(--wg-6);flex:0 0 var(--wg-6)}
    .lg-7{max-width:var(--wg-7);flex:0 0 var(--wg-7)}
    .lg-8{max-width:var(--wg-8);flex:0 0 var(--wg-8)}
    .lg-9{max-width:var(--wg-9);flex:0 0 var(--wg-9)}
    .lg-10{max-width:var(--wg-10);flex:0 0 var(--wg-10)}
    .lg-11{max-width:var(--wg-11);flex:0 0 var(--wg-11)}
    .lg-12{max-width:var(--wg-12);flex:0 0 var(--wg-12)}
}
@media (min-width:1366px){
    .xl-1{max-width:var(--wg-1);flex:0 0 var(--wg-1)}
    .xl-2{max-width:var(--wg-2);flex:0 0 var(--wg-2)}
    .xl-3{max-width:var(--wg-3);flex:0 0 var(--wg-3)}
    .xl-4{max-width:var(--wg-4);flex:0 0 var(--wg-4)}
    .xl-5{max-width:var(--wg-5);flex:0 0 var(--wg-5)}
    .xl-6{max-width:var(--wg-6);flex:0 0 var(--wg-6)}
    .xl-7{max-width:var(--wg-7);flex:0 0 var(--wg-7)}
    .xl-8{max-width:var(--wg-8);flex:0 0 var(--wg-8)}
    .xl-9{max-width:var(--wg-9);flex:0 0 var(--wg-9)}
    .xl-10{max-width:var(--wg-10);flex:0 0 var(--wg-10)}
    .xl-11{max-width:var(--wg-11);flex:0 0 var(--wg-11)}
    .xl-12{max-width:var(--wg-12);flex:0 0 var(--wg-12)}
}

/* --- Flexbox & Utility Helpers --- */
.d-flex{display:flex}
.d-inline-flex{display:inline-flex}
.flex-d-row{flex-direction:row}
.flex-d-row-reverse{flex-direction:row-reverse}
.flex-d-column{flex-direction:column}
.flex-d-column-reverse{flex-direction:column-reverse}
.flex-wrap{flex-wrap:wrap}
.flex-wrap-reverse{flex-wrap:wrap-reverse}
.flex-nowrap{flex-wrap:nowrap}
.flex-flow-rw{flex-flow:row wrap}
.flex-flow-rrw{flex-flow:row-reverse wrap}
.flex-flow-rnw{flex-flow:row nowrap}
.flex-flow-rrnw{flex-flow:row-reverse nowrap}
.flex-flow-cw{flex-flow:column wrap}
.flex-flow-crw{flex-flow:column-reverse wrap}
.flex-flow-cnw{flex-flow:column nowrap}
.flex-flow-crnw{flex-flow:column-reverse nowrap}
.justify-content-start{justify-content:flex-start}
.justify-content-end{justify-content:flex-end}
.justify-content-center{justify-content:center}
.justify-content-baseline{justify-content:baseline}
.justify-content-around{justify-content:space-around}
.justify-content-between{justify-content:space-between}
.align-items-start{align-items:flex-start}
.align-items-end{align-items:flex-end}
.align-items-center{align-items:center}
.align-items-baseline{align-items:baseline}
.align-items-stretch{align-items:stretch}
.align-self-start{align-self:flex-start}
.align-self-end{align-self:flex-end}
.align-self-center{align-self:center}
.align-self-baseline{align-self:baseline}
.align-self-stretch{align-self:stretch}
.align-content-start{align-content:flex-start}
.align-content-end{align-content:flex-end}
.align-content-center{align-content:center}
.align-content-between{align-content:space-between}
.align-content-around{align-content:space-around}
.flex-order-first{order:-1}
.flex-order-last{order:1}
.flex-order-unordered{order:0}
.flex-ml-auto{margin-left:auto}
.flex-mr-auto{margin-right:auto}
.flex-mt-auto{margin-top:auto}
.flex-mb-auto{margin-bottom:auto}
.order-0{order:0}
.order-1{order:1}
.order-2{order:2}
.order-3{order:3}
.order-4{order:4}
.order-5{order:5}
.order-6{order:6}
.order-7{order:7}
.order-8{order:8}
.order-9{order:9}
.order-10{order:10}
.order-11{order:11}
.order-12{order:12}

/* --- Visibility Helpers --- */
@media (min-width:0px){
    .hidden-xs{display:none}
}
@media (min-width:768px){
    .hidden-sm{display:none}
}
@media (min-width:1024px){
    .hidden-md{display:none}
}
@media (min-width:1279px){
    .hidden-lg{display:none}
}
@media (min-width:1366px){
    .hidden-xl{display:none}
}
/* ==========================================================================
   3. BASE TYPOGRAPHY & UTILITIES
   ========================================================================== */
html body{font:var(--fz-base)/var(--lh-base) var(--ff-base) !important;letter-spacing:var(--ls-base);word-spacing:var(--wds-base);color:var(--c-text);word-break:normal;word-wrap:break-word}
body{background: url(https://www.gokakumendo.com/wp-content/themes/gokakumendo/images/pattern.svg) center center / cover no-repeat fixed}
a{text-decoration:none;cursor:pointer;color:var(--c-blue)}
a,a:hover{outline:0;transition:var(--tr-base)}
a:hover{text-decoration:underline}
table{width:var(--w-98)}
a img:hover,input[type=image]:hover{opacity:var(--op-hover)}
.clear{clear:both}
.clearfix{zoom:1}
.clearfix:after{content:"";display:block;clear:both;height:0}
.clearfix:after,.hiddisplay{visibility:hidden}
.displaynon{display:none}
a,button,li{font-family:var(--ff-base) !important}
#imageDataContainer{font:var(--fz-base)/var(--lh-base) var(--ff-base) !important}

/* --- Layout Structure --- */
#header,#wrapper{position:relative}
#header{padding:0;border-top:var(--bd-w-thicker) var(--bd-s-solid) var(--c-main);overflow:hidden;background:rgba(255,255,255,.8)}
.header-content{padding:var(--sp-s);}
#information,#contents{background:rgba(255,255,255,.3)}
#contents{padding:1rem 0}
#information > .container,#contents > .container{padding:1rem;background:rgba(255,255,255,.8)}
#footer{color:#fff;background:rgba(0,0,0,.3)}
#wrappertop{position:fixed;bottom:var(--sp-s);right:var(--sp-s);color:var(--c-main);z-index:var(--z-float)}

/* ==========================================================================
   4. FORM CONTROLS & BUTTONS (Strict Business & Outline Fix)
   ========================================================================== */
form{font-size:var(--fz-m)}
button,input[type=image],input[type=submit]{text-align:center;cursor:pointer;font-weight:bold;transition:var(--tr-base)}

/* --- General Inputs --- */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select{width:var(--w-full);padding:var(--sp-s);font-size:var(--fz-m);border:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-base);border-radius:var(--rd-s);background:var(--c-white);transition:var(--tr-base);outline:0}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,textarea:focus,select:focus{border-color:var(--c-blue);box-shadow:0 0 0 .2rem var(--c-bg-annotation)}

/* --- [NEW DESIGN] Submit & WP Block Buttons --- */
input[type="submit"],.wp-block-button__link{min-width:50%;display:block;margin:var(--sp-m) auto;padding:var(--sp-s) var(--sp-l);font-size:var(--fz-l);font-weight:var(--fw-bold);border-radius:var(--rd-m);transition:var(--tr-base)}

/* --- Default Solid Style --- */
input[type="submit"]:not(.is-style-outline),.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--c-blue-dark);color:var(--c-white);border:0;box-shadow:var(--sh-panel)}
input[type="submit"]:not(.is-style-outline):hover,.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{filter:brightness(0.9);box-shadow:var(--sh-light);transform:translateY(-1px);color:var(--c-white);text-decoration:none}
input[type="submit"][disabled]{background:var(--c-gray-light);cursor:not-allowed;opacity:0.6;box-shadow:none;transform:none}

/* --- [FIX] WP Outline Style Restoration --- */
.is-style-outline .wp-block-button__link{background:transparent !important;border:var(--bd-w-thick) var(--bd-s-solid) currentColor !important;box-shadow:none}
.is-style-outline .wp-block-button__link:hover{background:var(--c-main) !important;color:var(--c-white) !important;border-color:var(--c-main) !important}

/* --- [ORIGINAL DESIGN] Standard Buttons --- */
button:not(.custom){padding:var(--sp-s) var(--sp-m);background:var(--c-main);color:var(--c-white);font-size:var(--fz-l);border-radius:var(--rd-l);border:0}
button:not(.custom):hover{background:var(--c-main-hover)}
.workshop-top-widget .buttons button{background:var(--c-main-hover);border-radius:var(--rd-button)}
.workshop-top-widget .buttons button:hover{background:var(--c-main)}
button[disabled]{background:var(--c-gray-medium);cursor:default;opacity:0.6}

/* --- Radio & Checkbox (Custom UI - Circular & Responsive) --- */
input[type="checkbox"],input[type="radio"]{appearance:none;position:relative;display:inline-block;width:1.25rem;height:1.25rem;border:var(--bd-w-radio) var(--bd-s-solid) var(--bd-c-base);border-radius:var(--rd-circle);background:var(--c-white);cursor:pointer;margin-right:var(--sp-s);transition:var(--tr-base);vertical-align:middle}
input[type="checkbox"]:checked,input[type="radio"]:checked{background:var(--c-main);border-color:var(--c-main)}
input[type="checkbox"]:checked::after,input[type="radio"]:checked::after{content:"\f00c";font-family:var(--ff-icon);font-weight:900;color:var(--c-white);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--fz-xs);pointer-events:none}

/* --- List Item Layout --- */
.wpcf7-list-item{display:flex;align-items:center;padding:var(--sp-xs) 0;white-space:nowrap}
.wpcf7-list-item-label{font-size:var(--fz-m);margin:0;line-height:var(--lh-tight);cursor:pointer}
@media screen and (max-width:767px){
    .wpcf7-list-item{width:var(--w-full);margin:0 0 var(--sp-xs) 0}
}
@media screen and (min-width:768px){
    .wpcf7-list-item{display:inline-flex;margin:0 var(--sp-m) var(--sp-xs) 0}
}

/* --- Specialty Buttons (Original Styles) --- */
select{background-image:linear-gradient(45deg, transparent 50%, var(--c-text-light) 50%), linear-gradient(135deg, var(--c-text-light) 50%, transparent 50%);background-position:calc(100% - 20px) calc(1em + 2px), calc(100% - 15px) calc(1em + 2px);background-size:5px 5px, 5px 5px;background-repeat:no-repeat}
button.btn_s{padding:var(--sp-xs) var(--sp-s) !important;font-size:0.9rem}
button.main-blue{position:relative;width:var(--w-full);margin:var(--sp-button);padding:var(--sp-s) var(--sp-m) var(--sp-s) var(--sp-s);color:var(--c-white);font-size:var(--fz-s);font-weight:var(--fw-bold);border:1px solid var(--c-blue-dark);border-radius:var(--rd-m);background:var(--gr-blue)}
button.main-blue:after{position:absolute;right:var(--sp-s);margin-left:var(--sp-xs);padding-left:var(--sp-xs);font-family:var(--ff-icon);border-left:var(--bd-w-base) var(--bd-s-groove) #3880c1;content:var(--content-icon-arrow);color:var(--c-blue-dark);text-shadow:var(--ts-emboss) #3880c1}
button.main-blue small{padding-left:var(--sp-xs);font-size:var(--fz-xxs)}
button.main-paleblue{position:relative;width:var(--w-full);margin:var(--sp-button);padding:var(--sp-s) var(--sp-m) var(--sp-s) var(--sp-s);color:var(--c-white);font-size:var(--fz-s);font-weight:var(--fw-bold);border:1px solid #1f3349;border-radius:var(--rd-m);background:var(--gr-paleblue)}
button.main-paleblue:after{position:absolute;right:var(--sp-s);margin-left:var(--sp-xs);padding-left:var(--sp-xs);font-family:var(--ff-icon);border-left:var(--bd-w-base) var(--bd-s-groove) #1f3349;content:var(--content-icon-arrow);color:#1f3349;text-shadow:var(--ts-emboss) #1f3349}
button.main-paleblue small{padding-left:var(--sp-xs);font-size:var(--fz-xxs)}
button.cart_main{background:var(--gr-cart-main);border:0}
button.cart_re,button.retake{background:var(--gr-cart-re);border:0}
button.cart_fax{background:var(--gr-cart-fax);border:0}
button.cart_ci{background:var(--gr-cart-ci);border:0}
button.bd_double_white{border:var(--bd-w-thick) var(--bd-s-double) var(--c-white)}

/* ==========================================================================
   5. HEADER & NAVIGATION
   ========================================================================== */
.header-top{background:var(--c-main-light);padding:var(--sp-header-top)}
.gomen-text span{color:var(--c-white);width:var(--site-gm-txt-w);font-size:var(--fz-s);font-weight:var(--fw-bold);text-shadow:var(--ts-gomen)}
.gomen-text img{padding-left:var(--site-gm-img-p)}
.gomen-logo{max-width:var(--w-gomen-logo)}
.gomen-logo amp-img{width:274px;height:31px}
h1#logo{padding-top:var(--sp-s);font-size:var(--fz-logo-sp);font-weight:var(--fw-bold) !important}
h1#logo a{position:relative;color:var(--c-main)}
h1#logo a:hover{text-decoration:none}
h1#logo a sup{position:absolute;top:var(--sp-s);right:var(--pos-logo-sup-r) !important;font-size:var(--fz-s) !important}
.site-description{padding-top:var(--sp-site-desc);font-size:var(--fz-s);line-height:var(--lh-tight)}

/* --- Header Interactive Elements --- */
ul.header-buttons{margin:0;width:var(--w-full);display:flex;justify-content:flex-end;align-items:center}
ul.header-buttons li{float:right;padding:0 var(--sp-xxs)}
ul.header-buttons li:first-child{width:var(--wg-3)}
ul.header-buttons li:nth-child(2){width:var(--wg-6)}
ul.header-buttons li:last-child{width:var(--wg-3)}
ul.header-buttons li a{display:block}
ul.header-buttons li a button{padding:var(--sp-header-button);width:var(--w-full);font-size:var(--fz-xs)}
ul.header-images li{list-style:none;float:right}
.header-paypal{text-align:right}
.header-paypal amp-img{width:var(--w-paypal)}
ul.license-names li{list-style:none;float:left;}
ul.license-names li:not(:first-child):before{content:'|';color:#fff}
ul.license-names li a{padding:.5rem .75rem;font-size:1rem;}

/* --- Navigation & Menu --- */
.swiper .img-1-over{position:absolute;bottom:var(--swiper-over-bottom);right:var(--sp-m)}
.swiper .img-1-over a{z-index:var(--z-overlay)}
.swiper-slide img{width:var(--w-full)}
#nav{width:var(--w-full);background:var(--c-gray-medium)}
#nav ul li.current-menu-item a{background:var(--c-main)}
#nav ul li span.nav_description{font-size:var(--fz-nav)}
.btn-menu{padding:0.75rem auto;width:var(--w-full);text-align:center;font-size:var(--fz-xl);color:var(--c-white);border:var(--bd-w-double) var(--bd-s-double) var(--c-white)}

/* ==========================================================================
   6. FOOTER AREA
   ========================================================================== */
#footer-menu{background:#216A8A}
#footer-menu ul li span.nav_description{display:none}
#footer-menu ul li.current-menu-item a{background:#595959}
#wrappertop{padding:.4em 3em .4em 3em;position:fixed;bottom:.69em;right:.69em}

/* --- Footer Widgets --- */
.footer-widget-area{padding:.5em;}
.footer-widget-area h3{margin-top:1rem;margin-bottom:1em;color:#fff;font-size:1.6em;font-weight:bolder;text-align:center}
.footer-widget-area h3 a{color:#fff}
.footer-widget-area ul li{border-bottom:.1rem dashed #dddddd;}
.footer-widget-area ul li a{display:block;padding:.5rem .25rem .25rem;color:#ffffff;line-height:1.25rem}
.menu-footer-gomen-series-container ul li{padding-top:.5rem 0}
.menu-footer-gomen-series-container ul li a .littlebig{text-decoration:underline}
.widget_container{padding:.5em}

/* --- Footer Information --- */
#footer dl dt{font-weight:bold;padding:.1em 0 .1em .3em;border-left:.3em solid #ffffff;border-bottom:.1em dashed #ffffff}
#footer dl dd{padding:.5em 0 .5em 1em}
#footer button{background:#216A8A;color:#fff;font-size:.9rem}
#footer button:hover{background:#29A1D6}
.footer-banners{padding:.1rem;font-size:.7rem}
#copyright{padding:1em 1em 0;color:#fff;font-size:.88em;text-align:center}

/* SOCIAL ACCOUNTS */
ul.social-links{clear:both}
ul.social-links li{float:left;padding:.25rem}
ul.social-links li a{color:#ffffff}
ul.social-links li a i{font-size:2.4rem}
ul.social-links li a.facebook{color:#3b5998}
ul.social-links li a.twitter{color:#55acee}

/* ==========================================================================
   7. MAIN CONTENT & ARTICLE STYLES
   ========================================================================== */
.post.archive{padding:var(--sp-s)}
.post.archive:not(.workshops){margin-bottom:var(--sp-m);background:var(--c-white)}
.post.archive.successblog{margin:var(--sp-s)}
.contentbox{margin-bottom:var(--sp-s);padding:var(--sp-s);background:var(--c-white)}
h1,h2,h3,h4,h5,h6{font-weight:bold}
.article h1,.article h2,.article h3,.article h4,.article h5,.article h6{padding:.8rem 0 var(--sp-s);line-height:var(--lh-medium)}
.article h2{padding:.25rem 0 .75rem var(--sp-s);font-size:1.5rem}
.article h3:not(.panel-head){margin:var(--sp-m) var(--sp-s) var(--sp-s);padding:.25rem var(--sp-s) .125rem;font-size:1.4rem;border:var(--bd-w-base) var(--bd-s-solid) var(--c-main);color:var(--c-main)}
.article h4{font-size:1.3rem}
.article h4:not(.panel-head){margin-top:var(--sp-s)}
.article h5{margin-top:var(--sp-s);font-size:var(--fz-l)}
.article h6{margin-top:var(--sp-s);font-size:1.1rem}

/* --- Page Titles --- */
#title{padding:var(--sp-l) var(--sp-m);background:var(--c-white)}
.title{font-size:1.3rem}
.title.small{font-size:calc(1.3rem * 0.78)}
.title.adjustment{margin:var(--sp-m);font-size:var(--fz-xl);text-align:center}
#title .title{text-align:center}

/* ==========================================================================
   8. ARTICLE DECORATIONS (Lists, Quotes, DL)
   ========================================================================== */
.article p{margin:.8rem 0}
.article ol,.article ul{padding:var(--sp-s) 0 var(--sp-s) 1rem}
.article ol:not(.nostyle):not(.narrow-list):not(.letter-menu) li,.article ul:not(.nostyle):not(.narrow-list):not(.letter-menu) li{padding:0 0 .25rem}
.article ul:not(.nostyle){list-style:disc}
.article ol:not(.nostyle) li,ol.decimal li{list-style:decimal inside}

/* --- Blockquotes --- */
.article blockquote{margin:var(--sp-m);padding:var(--sp-m) var(--sp-m) 4rem;background:hsla(0,0%,100%,.4);color:var(--c-text);border:var(--bd-w-thick) var(--bd-s-solid) var(--c-gray-border);box-shadow:var(--sh-blockquote)}
.article blockquote .quotedsource{clear:both;float:right}

/* --- Definition Lists --- */
.article dl{clear:both !important;width:var(--w-full)}
.article dl:not(.workshop):not(.qa):not(.horizontaldl):not(.letter-text) dt{margin:var(--sp-m) 0 0;padding:.25rem .25rem .25rem .75rem;font-size:var(--fz-l);font-weight:var(--fw-bold);border-left:var(--bd-w-thick) var(--bd-s-solid) var(--c-gray-medium);border-bottom:var(--bd-w-base) var(--bd-s-dashed) var(--c-gray-medium)}
.article dl:not(.workshop):not(.qa):not(.horizontaldl):not(.letter-text) dd{margin:0 var(--sp-m);padding:var(--sp-s);border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--c-gray-medium)}

/* ==========================================================================
   9. TABLES & MEDIA CAPTIONS
   ========================================================================== */
.article table{width:var(--w-full);font-size:var(--fz-sm);border-collapse:collapse}
.article table td,.article table th{padding:.25rem;font-size:.9rem}
.article table thead th{background:var(--c-blue-nav);color:var(--c-white);text-align:center;border:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-base)}
.article table tbody th{width:25%;text-align:center;color:var(--c-white);font-weight:var(--fw-bold);background:var(--c-blue);border:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-base)}
.article table tbody td{background-color:var(--c-white);border:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-base)}
.article table.table_s tr td,.article table.table_s tr th{padding:.125rem;font-size:var(--fz-s)}
.article tbody tr:hover th{background:var(--c-blue-hover-light)}
.article tbody tr:hover td{background:var(--c-gray-pale)}

/* --- Comparison Table --- */
.article table.comparison tr td,.article table.comparison tr th{text-align:center}
.article table.comparison thead tr th:nth-child(2){background:var(--c-main)}
.article table.comparison tbody tr td.company-spec{background:var(--st-special);color:var(--c-main);font-size:var(--fz-l);font-weight:var(--fw-bold);border:var(--bd-w-thick) var(--bd-s-solid) var(--c-main)}
.article table.comparison thead tr th.company-spec{border:var(--bd-w-thick) var(--bd-s-solid) var(--c-main)}
.article table.comparison tbody tr.company-comment td{border:0}

/* --- Media Captions --- */
.article .wp-caption,.article .wp-caption img{max-width:var(--w-full) !important}
.venue-photo .wp-caption img{max-width:90% !important}
.article .wp-caption-text{text-align:center;font-weight:var(--fw-bold)}
.article img{margin:var(--sp-s)}

/* ==========================================================================
   10. BLOG NAVIGATION & INFO
   ========================================================================== */
.content-nav{margin:var(--sp-m) .25rem;border-top:var(--bd-w-base) var(--bd-s-dashed) var(--c-main);border-bottom:var(--bd-w-base) var(--bd-s-dashed) var(--c-main)}
.content-nav ul{padding:var(--sp-s) 0}
.content-nav ul li ul{margin-left:var(--sp-m)}
.content-nav ul li a{display:block;padding:var(--sp-xs);color:var(--c-main)}

.w3eden{margin:.75rem;padding:var(--sp-xs);border:var(--bd-w-base) var(--bd-s-inset) var(--bd-c-base)}
.breadcrumb{clear:both}
.breadcrumb li{position:relative;display:block;padding:var(--sp-xs) var(--sp-xs) var(--sp-xs) 1.25rem}

/* --- Categories & Meta --- */
.blog_info{padding:var(--sp-s) 0}
.info-category{margin:auto var(--sp-s);padding:.125rem var(--sp-s);font-weight:bold}
.info-category.news,.info-category.schedule{background:var(--c-blue);color:var(--c-white)}
.info-category.pickup{background:var(--c-main);color:var(--c-white)}
.greeting_blogs ul.blog_meta li{padding:0;border-bottom:var(--pos-left-base)}
ul.blog_meta li a,ul.blog_meta li time{color:var(--c-orange) !important}
ul.blog_meta,ul.flex-direction-nav,ul.nostyle{list-style:none!important}
.more-link{margin-top:var(--sp-s);clear:both;float:right;color:var(--c-text-dark)}

/* --- Pagination (WP-PageNavi) --- */
.wp-pagenavi{padding:.75em 0;background:var(--c-white);text-align:center;font-size:1.2em}
.wp-pagenavi span.pages{margin:.3em}
.wp-pagenavi a{padding:.3rem .6rem;text-decoration:none;color:var(--c-text-dark)}
.wp-pagenavi a:hover,.wp-pagenavi span.current{background:var(--c-text-dark);color:var(--c-white)}
.wp-pagenavi span.current{padding:.3em .6rem;margin:var(--sp-s);font-size:1.2em}
.wp-pagenavi span.extend{margin:0 .3em}

/* --- Home News & Info List --- */
.home-informations ul li{padding:var(--sp-xs);border-bottom:var(--bd-w-base) var(--bd-s-dashed) var(--c-text-light);line-height:var(--lh-tight)}
.home-informations ul li a:not(.info-category){display:block;position:relative;margin-top:var(--sp-xs);padding-right:.75rem;color:var(--c-text);font-size:var(--fz-xs);font-weight:var(--fw-bold)}
.home-informations ul li a:not(.info-category):before{position:absolute;top:.25em;right:var(--sp-neg-half);font-size:1em;font-family:var(--ff-icon);content:var(--content-icon-arrow);opacity:var(--op-half)}
.home-informations ul li time{margin-right:var(--sp-m);font-weight:lighter;font-size:var(--fz-xs)}
.home-informations ul li a:not(.info-category):hover{color:var(--c-text-muted)}
.home-informations ul li a span.bg_subject{background-color:#DDDDDD}
.home-info-right img{margin:0}

/* --- Reference Books --- */
.other-reference-books p,.reference-books p{font-size:var(--fz-xs);line-height:var(--lh-lg)}
.about .reference-books img{width:var(--w-ref-img)}
.about .reference-books h4{border-top:var(--bd-w-base) var(--bd-s-solid) var(--c-text);border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--c-text)}
.about .reference-books .box{padding:var(--sp-m)}
.about .other-reference-books img{width:var(--w-ref-img-o)}
.about .other-reference-books h4{height:var(--h-ref-h4);padding:0 0 .3em;border-top:var(--bd-w-base) var(--bd-s-solid) var(--c-text);border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--c-text);font-size:var(--fz-littlebig)}
.about .other-reference-books .box{padding:var(--sp-m);font-size:var(--fz-small)}
.about .other-reference-books button:not(.custom){font-size:var(--fz-m)}

/* --- Teacher Cards --- */
ul.about-teachers li{margin:var(--sp-xs) .5%;padding:var(--sp-m);background:var(--c-blue-soft);border-radius:var(--rd-m);text-align:center}
ul.about-teachers li img{margin:0 auto}
ul.about-teachers li .wp-caption-text{color:var(--c-white);font-size:var(--fz-littlebig)}
ul.about-teachers li p{margin:var(--sp-xs)}
ul.about-teachers li a button{padding:.125rem 1rem;background:var(--c-white);color:var(--c-blue-soft);font-weight:var(--fw-bold);border:var(--bd-w-thick) var(--bd-s-double) var(--c-white);border-radius:.75rem}
ul.about-teachers li a button:hover{border:var(--bd-w-thick) var(--bd-s-double) var(--c-blue-soft)}
.teacher-profile{color:var(--c-white);font-size:var(--fz-xs)}
.home-teachers{margin:0 auto;width:var(--w-full);background:var(--c-purple-teacher);color:var(--c-white);text-align:center;font-size:var(--fz-m);font-weight:bold;vertical-align:middle}
.home-teachers ul{padding:0}
.home-teachers ul li{width:var(--w-33);float:left}
.home-teachers img{margin:0;width:var(--w-full)}

/* --- Discount Plan Decoration --- */
.discount-plan .discount-caption{position:relative}
.discount-plan .discount-caption:before{position:absolute;top:var(--pos-left-base);left:var(--sp-neg-1);content:"/";width:1rem;height:1rem;transform:var(--tf-flip-y)}
.discount-plan .discount-caption:after{position:absolute;top:var(--pos-left-base);right:var(--sp-neg-1);content:"/";width:1rem;height:1rem}
.discount-plan ul.discount-repeater li .label-pentagon-gray{position:relative;padding:.125rem 1rem;background:var(--c-gray-medium);color:var(--c-white);font-weight:var(--fw-bold)}
.discount-plan ul.discount-repeater li .label-pentagon-gray:after{position:absolute;bottom:var(--sp-neg-half);left:var(--pos-left-base);content:"";border-top:.5rem var(--bd-s-solid) var(--c-gray-medium);border-left:var(--w-pentagon) var(--bd-s-solid) transparent;border-right:var(--w-pentagon) var(--bd-s-solid) transparent}

/* --- Common Labels --- */
.label_black,.label_red,.label_blue,.label_gray,.label_orange{padding:var(--sp-header-button);color:var(--c-white);font-weight:var(--fw-bold)}
.label_red{background:var(--c-main)}
.label_black{background:var(--c-text)}
.label_gray{background:var(--c-gray-medium)}
.label_blue{background:var(--c-blue-soft)}
.label_orange{background:var(--c-orange-bright)}
.span_border{border:var(--bd-w-base) var(--bd-s-solid) var(--c-black);padding-left:0.25em;padding-right:0.25em}
.label_big{padding:var(--sp-s) var(--sp-m)}

/* --- Letter Sections --- */
ul.letter-menu li{list-style:none;float:left;padding:var(--sp-s)}
ul.letter-menu li a{padding:var(--sp-s);color:var(--c-blue);border:var(--bd-w-base) var(--bd-s-solid) var(--c-blue)}
ul.letter-menu li.current-menu-item a{background:var(--c-blue);color:var(--c-white)}
.letterbox{padding:var(--sp-s);border:var(--bd-w-base) var(--bd-s-solid) var(--c-blue-soft)}
.letterbox h3{font-size:var(--fz-l);padding:var(--sp-xs)}
dl.letter-text{text-align:left}
dl.letter-text dt{font-size:var(--fz-s);font-weight:var(--fw-bold);line-height:var(--lh-tight)}
dl.letter-text dd{margin-bottom:var(--sp-s);padding-left:var(--sp-m);font-size:var(--fz-xs);line-height:var(--lh-tight)}
.letter-organization-data{margin-left:var(--sp-m);padding:var(--sp-xs);max-width:var(--w-letter-org);text-align:center;border:var(--bd-w-base) var(--bd-s-ridge) var(--bd-c-table)}
.letter-organization-data h4{margin-left:var(--sp-m)}
.letter-organization-data ul.company-social-accounts{list-style:none}
.letter-organization-data ul.company-social-accounts li{float:left}
.letter-organization-data ul.company-social-accounts li a{padding:0 .7rem;font-size:var(--fz-xl);color:var(--c-main)}
.letter-organization-data ul.company-social-accounts li a:hover{color:var(--c-main-hover)}

/* --- Payment Box --- */
.payment-box{position:relative}
.payment-box form{padding:var(--sp-s)}
.payment-box .panel .panel-content,.payment-box .panel .panel-head{padding-right:35%}
.payment-box .description-for-credit{background:var(--c-white);position:absolute;top:var(--pos-left-base);right:var(--pos-left-base);width:35%;border-radius:var(--rd-credit);border:var(--bd-w-base) var(--bd-s-solid) var(--c-blue-soft);box-shadow:var(--sh-panel)}
.payment-box .description-for-credit:hover{box-shadow:none}
.payment-box .panel-content{padding-bottom:var(--sp-l)}

/* --- Push Notification Area --- */
.get-push{position:relative}
.get-push a{color:var(--c-text)}
.get-push a .arrows{display:inline-block}
.get-push a button{margin:0 0 0 var(--sp-xs);padding:var(--sp-xs) var(--sp-s);background:var(--c-gold);color:var(--c-white);border-radius:var(--rd-s)}
.get-push a button:hover{background:var(--c-gold-hover)}
.get-push img{width:var(--w-push-img)}
.get-push .p7-b{margin:var(--sp-xs) 0}
.get-push .p7-b:before{font-family:var(--ff-icon);content:var(--content-icon-arrow)var(--content-icon-arrow)var(--content-icon-arrow)}

/* --- General Panels --- */
.panel{margin-bottom:var(--sp-s);width:var(--w-full);background:var(--c-white)}
.panel-big{margin-bottom:var(--sp-l)}
.panel .panel-head{padding:var(--sp-m) .75rem var(--sp-xs);font-size:1.3rem;border-radius:0}
.panel .panel-head-link{display:block;text-align:right;margin:var(--sp-s)}
.panel .panel-content{width:var(--w-full);padding:var(--sp-s);background:var(--c-white)}
.panel .panel-content.row,.panel .panel-content .row{margin-left:var(--pos-left-base);margin-right:var(--pos-left-base)}

/* --- Panel Variants --- */
.panel-radius{border-radius:var(--rd-panel)}
.panel-radius .panel-head{border-top-left-radius:var(--rd-panel);border-top-right-radius:var(--rd-panel)}
.panel-radius .panel-content{border-radius:var(--rd-panel)}

.panel-red:not(.panel-radius),.panel-pink:not(.panel-radius){border-left:var(--bd-w-thick) var(--bd-s-solid) var(--c-main)}
.panel-red:not(.panel-radius) .panel-head,.panel-pink:not(.panel-radius) .panel-head{border-bottom:var(--bd-w-thick) var(--bd-s-double) var(--c-main);color:var(--c-main)}

.panel-red.panel-radius,.panel-pink.panel-radius{border:var(--bd-w-base) var(--bd-s-solid) var(--c-main)}
.panel-red.panel-radius .panel-head,.panel-pink.panel-radius .panel-head{background:var(--c-main);color:var(--c-white)}

.panel-paleblue.panel-radius{border:var(--bd-w-base) var(--bd-s-solid) var(--c-blue-nav)}
.panel-paleblue.panel-radius .panel-head{border-bottom:var(--bd-w-thick) var(--bd-s-double) var(--c-blue-nav);background:var(--c-blue-nav);color:var(--c-white)}

.panel-gray:not(.panel-radius){border:var(--bd-w-base) var(--bd-s-solid) var(--c-gray-medium)}
.panel-gray:not(.panel-radius) .panel-head{border-bottom:var(--bd-w-thick) var(--bd-s-double) var(--c-gray-medium);background:var(--c-gray-medium);color:var(--c-white)}

/* --- Base Balloon --- */
.balloon{padding:1.25rem var(--sp-s);text-align:center;border-radius:var(--rd-circle)}
.balloon-red{color:var(--c-white);background:var(--c-main)}
.balloon-red:after,.balloon-red:before{background:var(--c-main)}
.balloon-red.balloon-bottom-center,.balloon-red.balloon-bottom-left-and-right,.balloon-red.balloon-top-center{position:relative}

/* --- Balloon Triangles --- */
.balloon-red.balloon-bottom-left-and-right:before{background:0;position:absolute;bottom:calc(var(--bal-size) * -1);left:5%;content:"";display:block;border-top:var(--bal-size) var(--bd-s-solid) var(--c-main);border-left:var(--sp-m) var(--bd-s-solid) transparent;border-bottom:var(--sp-m) var(--bd-s-solid) transparent;border-right:var(--sp-m) var(--bd-s-solid) transparent;transform:var(--tf-r-25deg)}
.balloon-red.balloon-big.balloon-bottom-left-and-right:before{bottom:calc(var(--sz-bal-big) * -1);left:2%;border-top:2.5rem var(--bd-s-solid) var(--c-main);transform:var(--tf-r-45deg)}
.balloon-red.balloon-bottom-left-and-right:after{background:0;position:absolute;bottom:calc(var(--bal-size) * -1);right:5%;content:"";display:block;border-top:var(--bal-size) var(--bd-s-solid) var(--c-main);border-right:var(--sp-m) var(--bd-s-solid) transparent;border-bottom:var(--sp-m) var(--bd-s-solid) transparent;border-left:var(--sp-m) var(--bd-s-solid) transparent;transform:var(--tf-r-neg25deg)}
.balloon-red.balloon-big.balloon-bottom-left-and-right:after{bottom:calc(var(--sz-bal-big) * -1);right:2%;border-top:2.5rem var(--bd-s-solid) var(--c-main);transform:var(--tf-r-neg45deg)}

.balloon-red.balloon-bottom-center:after{bottom:calc(var(--bal-size) * -1);border-top:var(--bal-size) var(--bd-s-solid) var(--c-main);border-bottom:var(--sp-m) var(--bd-s-solid) transparent}
.balloon-red.balloon-bottom-center:after,.balloon-red.balloon-top-center:after{background:0;position:absolute;right:var(--w-50);margin-left:var(--sp-neg-half);content:"";display:block;border-right:var(--sp-m) var(--bd-s-solid) transparent;border-left:var(--sp-m) var(--bd-s-solid) transparent}
.balloon-red.balloon-top-center:after{top:calc(var(--bal-size) * -1);border-bottom:var(--bal-size) var(--bd-s-solid) var(--c-main);border-top:var(--sp-m) var(--bd-s-solid) transparent}

.balloon-special,.balloon-special:after,.balloon-special:before{background:var(--c-bal-special);color:var(--c-white)}
.balloon-special.balloon-bottom{position:relative}
.balloon-special.balloon-bottom:after{background:0;position:absolute;bottom:calc(var(--sp-m) * -1);left:var(--w-50);margin-left:var(--sp-neg-half);content:"";display:block;border-top:var(--sp-m) var(--bd-s-solid) var(--c-bal-special);border-left:var(--sp-s) var(--bd-s-solid) transparent;border-bottom:var(--sp-s) var(--bd-s-solid) transparent;border-right:var(--sp-xs) var(--bd-s-solid) transparent}

.balloon-extra,.balloon-extra:after,.balloon-extra:before{background:var(--c-blue-soft);color:var(--c-white)}
.balloon-extra.balloon-bottom{position:relative}
.balloon-extra.balloon-bottom:after{background:0;position:absolute;bottom:calc(var(--sp-m) * -1);left:var(--w-50);margin-left:var(--sp-neg-half);content:"";display:block;border-top:var(--sp-m) var(--bd-s-solid) var(--c-blue-soft);border-left:var(--sp-s) var(--bd-s-solid) transparent;border-bottom:var(--sp-s) var(--bd-s-solid) transparent;border-right:var(--sp-xs) var(--bd-s-solid) transparent}

/* --- Corporate Features --- */
.companies-and-organizations ul.features li{margin-bottom:var(--sp-m);padding:var(--sp-m);border:var(--bd-w-base) var(--bd-s-solid) var(--c-blue)}
.companies-and-organizations ul.features li h4{margin-bottom:var(--sp-m);position:relative;padding-left:2.2rem;border-bottom:var(--bd-w-thick) var(--bd-s-solid) var(--c-blue-medium)}
.companies-and-organizations ul.features li h4:before{position:absolute;top:var(--sp-s);left:var(--pos-left-base);padding-top:.175rem;width:var(--sp-l);height:var(--sp-l);font-size:var(--fz-xl);background:var(--c-blue-medium);color:var(--c-white);text-align:center;border-radius:var(--rd-circle)}
.companies-and-organizations ul.features li:first-child h4:before{content:"1"}
.companies-and-organizations ul.features li:nth-child(2) h4:before{content:"2"}
.companies-and-organizations ul.features li:nth-child(3) h4:before{content:"3"}
ul.six-images li{float:left;width:50%}

/* --- Inquiry & Flow --- */
.companies-and-organizations .inquiry_back{background:var(--c-blue-pale)}
.companies-and-organizations .arrow-right-red{position:relative;padding:var(--sp-s);width:var(--arrow-red-w);background:var(--c-main);color:var(--c-white);line-height:var(--lh-1)}
.companies-and-organizations .arrow-right-red:after{position:absolute;top:var(--sp-neg-half);left:var(--arrow-red-w);content:"";border-left:var(--arrow-red-tri) var(--bd-s-solid) var(--c-main);border-top:var(--arrow-red-tri) var(--bd-s-solid) transparent;border-bottom:var(--arrow-red-tri) var(--bd-s-solid) transparent}
.companies-and-organizations .main-phone{color:var(--c-main);font-weight:bolder}
.companies-and-organizations .company-inquiry-img{float:left;width:var(--w-33)}
.companies-and-organizations .company-inquiry-head{float:left;width:var(--w-66)}
.companies-and-organizations .company-flow-step{position:relative;clear:both;background:var(--c-blue-pale)}
.companies-and-organizations .company-flow-step .company-flow-index{padding:var(--sp-xs);text-align:center;background:var(--c-blue-soft);color:var(--c-white);font-weight:var(--fw-bold);font-size:var(--fz-l)}
.companies-and-organizations .company-flow-step h4{font-size:var(--fz-l)}
.companies-and-organizations .company-flow-step .company-flow-text{padding:0 var(--sp-xs);text-align:center;font-size:var(--fz-xs)}

/* --- FAQ, Flow, etc. --- */
.specgroup dl.horizontaldl dd,.specgroup dl.horizontaldl dt{padding:var(--sp-xs)}
.faq .answer{margin-left:1.5rem}

/* --- Interactive Flow Panels --- */
.flow .panel-head.slideopennext{position:relative}
.flow .panel-head.slideopennext:after{position:absolute;top:.65em;right:var(--sp-s);font-size:1.3em;color:var(--c-white);font-family:var(--ff-icon);content:var(--content-icon-arrow)}
.flow .panel-head.slideopennext:hover{background:var(--c-main);color:var(--c-white)}
.flow .panel-head.slideopennext:hover:after{content:"\f078";color:var(--c-white)}

/* --- Flow Pentagon Decoration --- */
.flow-pentagon{position:relative;width:var(--w-80);padding:var(--sp-xs) 0 0;text-align:center;background:var(--c-blue-soft);color:var(--c-white);font-size:var(--fz-l);line-height:var(--lh-1)}
.flow-pentagon:after{position:absolute;top:var(--pos-left-base);left:100%;content:"";border-left:var(--sp-m) var(--bd-s-solid) var(--c-blue-soft);border-top:1.2rem var(--bd-s-solid) transparent;border-bottom:1.3rem var(--bd-s-solid) transparent}
.flow-pentagon span{font-size:var(--fz-xs)}

/* --- Flow Layout Helpers --- */
.flow-content{padding-right:5%}
.flow-img{clear:both;text-align:center;zoom:1}
.flow-img:after{content:"";display:block;clear:both;height:0;visibility:hidden}
/* ==========================================================================
   10. WORKSHOP TABLE
   ========================================================================== */
/* --- Retake & Top Widgets --- */
.workshop-retake-top-widget ul{list-style:disc}
.workshop-retake-top-widget ul li{margin-left:var(--sp-l)}
.workshop-top-content .label_blue,.workshop-top-content .label_gray{padding:0;font-size:var(--fz-s)}
.workshop-bottom-widget{padding:var(--sp-s) 0}

/* --- Workshop Top Stats --- */
.workshop-top-widget .workshop-price{font-size:2.2rem;font-weight:var(--fw-bold)}
.workshop-top-widget p.main-text{margin:var(--sp-s) 0 var(--sp-xs)}
.workshop-top-widget .workshop-top-icon{padding:var(--sp-xxs);font-size:2rem}
.workshop-top-widget .workshop-top-content .item-content,.workshop-top-widget .workshop-top-content .item-head{padding:var(--sp-xxs)}
.workshop-top-widget .workshop-top-content .item-head p{font-weight:var(--fw-bold)}
.workshop-top-widget .workshop-top-content .item-content ul li{margin:0 0 var(--sp-xxs) var(--sp-s)}
.workshop-top-widget div[class^=label]{margin-right:var(--sp-xs);padding-left:var(--sp-s);min-width:var(--w-label-min) !important}
.workshop-top-widget .workshop-top-content .item-content table tr{border:var(--bd-w-base) var(--bd-s-solid) var(--c-white)}
.workshop-top-widget .workshop-top-content .item-content table tr th{width:7.5rem;text-align:left;padding-left:var(--sp-s)}
.workshop-top-widget .buttons button{margin-bottom:var(--sp-xs);border-radius:var(--rd-button)}
.workshop-top-widget .buttons button span{font-size:var(--fz-xs);font-weight:var(--fw-bold)}

/* --- Header Row (Static Table) --- */
ul.home-workshops-head{padding:0;display:table;width:var(--w-full);table-layout:fixed}
ul.home-workshops-head li{display:table-cell;vertical-align:middle;padding:var(--sp-s) var(--sp-xxs);background:var(--c-main);color:var(--c-white);text-align:center}
ul.home-workshops-head li.workshop-place p{margin:var(--sp-xxs) 0}

/* --- Content Row (Static Table) --- */
ul.home-workshops-content{clear:both;padding:0;display:table;width:var(--w-full);table-layout:fixed;border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-table)}
ul.home-workshops-content li{display:table-cell;vertical-align:middle;padding:var(--sp-s);background:var(--c-white);text-align:center;line-height:var(--lh-medium)}

/* --- Status Modifiers (Backgrounds) --- */
ul.home-workshops-content.soldout li{background:var(--c-gray-light)}
ul.home-workshops-content.osaka li{background:var(--st-osaka)}
ul.home-workshops-content.special li{background:var(--st-special)}
ul.home-workshops-content.added_sheet li{background:var(--st-added)}

/* --- Row Internal Elements --- */
ul.home-workshops-content li.workshop-place{font-weight:var(--fw-bold)}
ul.home-workshops-content li.workshop-place .event_place_info{width:var(--w-event-info);padding:var(--sp-s) var(--sp-xs);text-align:center;background:var(--c-red-workshop);color:var(--c-white);font-size:var(--fz-xs);font-weight:var(--fw-bold);line-height:var(--lh-1);border-radius:var(--rd-circle)}
ul.home-workshops-content li.workshop-place .event_holding_status{font-size:var(--fz-xs)}
ul.home-workshops-content li.workshop-date{font-size:var(--fz-m);font-weight:var(--fw-bold);color:var(--c-red-workshop)}
ul.home-workshops-content li.exam-date{font-size:var(--fz-xs)}
ul.home-workshops-content li .workshop-class{font-size:var(--fz-m);font-weight:var(--fw-bold)}
ul.home-workshops-content li .workshop-class .class{color:var(--c-red-workshop);font-size:var(--fz-littlebig)}
ul.home-workshops-content li.workshop-zanseki{padding-top:var(--sp-xs)}
ul.home-workshops-content li .counter_text{font-size:var(--fz-xs);line-height:var(--lh-1);margin:0}
ul.home-workshops-content li .counter_text .nostock{color:var(--c-text-light)}
ul.home-workshops-content li .counter_text.doublecircle{font-size:var(--fz-xs)}
ul.home-workshops-content li .counter_text .sold_out{font-size:var(--fz-xs)}
ul.home-workshops-content li.confirm{color:var(--c-blue-soft)}
ul.home-workshops-content li.confirm .fw_normal.fc_red{font-size:var(--fz-xs)}
ul.home-workshops-content li.nostock,ul.home-workshops-content li.undecided{color:var(--c-text-light)}
ul.home-workshops-content li .counter_icon{font-size:var(--fz-biggest);line-height:var(--lh-1)}
ul.home-workshops-content li .counter_icon.times{color:var(--c-red-workshop)}
ul.home-workshops-content li .counter_icon.doublecircle{font-size:2.6rem}
ul.home-workshops-content li.zanseki-deadline-end,ul.home-workshops-content li.zanseki-end{font-size:var(--fz-biggest);color:var(--c-text-light)}

/* --- Detail Layout (dl) --- */
dl.workshop dd,dl.workshop dt{padding:var(--sp-xs)}
dl.workshop dd{background:var(--c-white);text-align:center;letter-spacing:var(--ls-workshop)}
dl.workshop dd.workshop-dates,dl.workshop dd.workshop-exam-dates,dl.workshop dd.workshop-place-address{font-size:var(--fz-nav);line-height:var(--lh-workshop)}
dl.workshop dd.workshop-exam-dates small{font-size:1em !important}
dl.workshop dd.workshop-place{padding-top:var(--sp-m);padding-bottom:var(--sp-m);font-size:var(--fz-littlebig);font-weight:var(--fw-bold)}
dl.workshop.online dd.workshop-place{font-size:var(--fz-xs)}
dl.workshop dd.workshop-place .event_place_info{width:var(--w-event-info);padding:var(--sp-s) var(--sp-xs);text-align:center;background:var(--c-red-workshop);color:var(--c-white);font-size:var(--fz-xs);font-weight:var(--fw-bold);line-height:var(--lh-1);border-radius:var(--rd-circle)}
dl.workshop dd.workshop-place .event_holding_status{font-size:var(--fz-xs)}

/* --- Status Modifiers (dl) --- */
dl.workshop.osaka dd{background:var(--st-osaka)}
dl.workshop.special dd{background:var(--st-special)}
dl.workshop.added_sheet dd{background:var(--st-added)}
dl.workshop.soldout dd{background:var(--c-gray-light)}

/* --- Detail Internal Elements --- */
dl.workshop .workshop-date{font-size:var(--fz-l);color:var(--c-red-workshop);line-height:1.4rem}
dl.workshop .workshop-class{font-size:var(--fz-l);font-weight:var(--fw-bold)}
dl.workshop .workshop-class .class{color:var(--c-red-workshop);font-size:1.5rem}
dl.workshop .workshop-time{border:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-table);line-height:var(--lh-tight)}
dl.workshop .workshop-zanseki{text-align:center;color:var(--c-gray-medium);vertical-align:middle}
dl.workshop .workshop-zanseki .counter_text{font-weight:var(--fw-bold);line-height:var(--lh-1)}
dl.workshop .workshop-zanseki .counter_text .nostock{color:var(--c-text-light)}
dl.workshop .workshop-zanseki .counter_text.doublecircle{font-size:var(--fz-s)}
dl.workshop .workshop-zanseki .counter_text .sold_out{font-size:var(--fz-xs)}
dl.workshop .workshop-zanseki.confirm{color:var(--c-blue-soft)}
dl.workshop .workshop-zanseki.nostock,dl.workshop .workshop-zanseki.undecided{color:var(--c-text-light)}
dl.workshop .workshop-zanseki .counter_icon{font-size:var(--fz-3xl);line-height:var(--lh-1)}
dl.workshop .workshop-zanseki .counter_icon.times{color:var(--c-red-workshop)}
dl.workshop .workshop-zanseki .counter_icon.doublecircle{font-size:var(--sp-xxl)}
dl.workshop .workshop-zanseki.zanseki-end{font-size:var(--fz-biggest);color:var(--c-text-light)}
dl.workshop .workshop-zanseki .zanseki-deadline-end{padding-top:var(--sp-m);padding-bottom:var(--sp-m);font-size:var(--fz-xl);color:var(--c-text-light)}

/* --- Workshop Buttons --- */
dl.workshop button:not(.retake){padding:var(--sp-xs);margin-bottom:var(--sp-xs);width:var(--w-full);color:var(--c-white);font-size:var(--fz-xs);font-weight:var(--fw-bold);line-height:var(--lh-lg);border-radius:var(--rd-m)}
dl.workshop button.cart_re{padding:.75rem var(--sp-xs)}
dl.workshop button.retake{padding:.125rem var(--sp-xs);width:var(--w-full);color:var(--c-white);font-size:var(--fz-s);border-radius:var(--rd-m)}
dl.workshop dd span.label_black{font-weight:400}

/* --- Detail Header (Summary) --- */
ul.workshop-head{background:var(--c-white);box-shadow:var(--sh-light);height:var(--h-ws-hd)}
ul.workshop-head.soldout{background:var(--c-gray-light)}
ul.workshop-head.added_sheet{background:var(--st-added)}
ul.workshop-head.special{background:var(--st-special)}
ul.workshop-head.osaka{background:var(--st-osaka)}
ul.workshop-head li{list-style:none;float:left;height:var(--h-ws-hdi);padding:var(--sp-xxs);font-size:var(--fz-s);text-align:center;line-height:var(--lh-1);vertical-align:middle}

ul.workshop-head li.workshop-head-place{padding:.6rem var(--sp-xxs)}
ul.workshop-head li.workshop-head-date{padding:var(--sp-xxs)}
ul.workshop-head li.workshop-head-date.day-one{padding:.6rem var(--sp-xxs)}
ul.workshop-head li.workshop-head-zanseki{padding:.6rem var(--sp-xxs)}
ul.workshop-head li.workshop-head-icon{width:var(--ws-h-icon-w);padding:.6rem var(--sp-xxs);border-right:0}

/* --- Interactive States --- */
ul.workshop-head li.workshop-head-zanseki span{font-size:var(--fz-l);font-weight:var(--fw-bold)}
ul.workshop-head li.workshop-head-zanseki span.undecided{font-size:1.3rem}
ul.workshop-head li.workshop-head-zanseki span.text{font-size:var(--fz-s);font-weight:400}
ul.workshop-head:hover{background:var(--c-blue-soft);color:var(--c-white)}

/* Column Widths for Header (Mobile/Standard Fix) */
@media screen and (max-width:767px){
    /* Standard Layout (6列ベース: 乙4・X線等 / モバイル表示4列) */
    .table-layout-standard .workshops-head li:nth-child(1),.table-layout-standard .workshop-head li:nth-child(1){width:40%}
    .table-layout-standard .workshops-head li:nth-child(2),.table-layout-standard .workshop-head li:nth-child(2){width:35%}
    .table-layout-standard .workshops-head li:nth-child(3),.table-layout-standard .workshop-head li:nth-child(3){width:15%}
    .table-layout-standard .workshops-head li:nth-child(4),.table-layout-standard .workshop-head li:nth-child(4){width:10%}

    /* Advance Layout (7列ベース: 衛生・電気等 / モバイル表示5列) */
    .table-layout-advance .workshops-head li:nth-child(1),.table-layout-advance .workshop-head li:nth-child(1){width:20%}
    .table-layout-advance .workshops-head li:nth-child(2),.table-layout-advance .workshop-head li:nth-child(2){width:35%}
    .table-layout-advance .workshops-head li:nth-child(3),.table-layout-advance .workshop-head li:nth-child(3){width:20%}
    .table-layout-advance .workshops-head li:nth-child(4),.table-layout-advance .workshop-head li:nth-child(4){width:15%}
    .table-layout-advance .workshops-head li:nth-child(5),.table-layout-advance .workshop-head li:nth-child(5){width:10%}

    /* Common Header Reset for Mobile */
    ul.workshops-head.only_max_767{margin-top:var(--sp-s);display:table;padding:0 var(--sp-xs);width:var(--w-full);table-layout:fixed}
    ul.workshops-head.only_max_767 li{display:table-cell;padding:var(--sp-xs);text-align:center;background:var(--c-main);color:var(--c-white);font-size:var(--fz-xs)}
}

/* --- Desktop Header Widths (Standardized) --- */
@media screen and (min-width:768px){
    /* --- dl.workshop をテーブル形式に変換 --- */
    dl.workshop{display:table !important;table-layout:fixed !important;width:var(--w-full) !important;background:var(--c-white);clear:both}
    /* dt（ラベル）を非表示にする */
    dl.workshop dt{display:none !important}
    /* dd（データセル）を横並びにする */
    dl.workshop dd{display:table-cell !important;vertical-align:middle !important;text-align:center;border-bottom:1px solid var(--bd-c-table);padding:var(--sp-xs)}
    /* 次の行との境界線調整 */
    dl.workshop.next_added_sheet dd{border-bottom:1px dashed var(--bd-c-table)}
    /* --- Static Header Desktop Base --- */
    ul.workshops-head.only_min_768{margin-top:var(--sp-s);display:table;width:var(--w-full);table-layout:fixed;border-collapse:separate}
    ul.workshops-head.only_min_768 li{display:table-cell;vertical-align:middle;padding:var(--sp-xs);text-align:center;background:var(--c-main);color:var(--c-white);font-size:var(--fz-xs)}

    ul.workshop-head li.workshop-head-place{width:var(--ws-h-place-w);padding:.6rem var(--sp-xxs)}
    ul.workshop-head li.workshop-head-date{width:var(--ws-h-date-w);padding:var(--sp-xxs)}
    ul.workshop-head li.workshop-head-date.day-one{padding:.6rem var(--sp-xxs)}
    ul.workshop-head li.workshop-head-class{width:var(--ws-h-class-w);font-size:var(--ws-class-fs);padding:var(--ws-class-pad)}
    ul.workshop-head li.workshop-head-zanseki{width:var(--ws-h-zanseki-w);padding:.6rem var(--sp-xxs)}
    ul.workshop-head li.workshop-head-icon{width:var(--ws-h-icon-w);padding:.6rem var(--sp-xxs);border-right:0}
    /* --- Standard Pattern (6 Columns: 乙4・X線等) --- */
    /* 見出し(ul.workshops-head li)と中身(dl.workshop dd)の幅を完全に同期 */
    .table-layout-standard .workshops-head li:nth-child(1),.table-layout-standard dl.workshop dd:nth-child(2){width:var(--ws-6c-icon)}
    .table-layout-standard .workshops-head li:nth-child(2),.table-layout-standard dl.workshop dd:nth-child(4){width:var(--ws-6c-date)}
    .table-layout-standard .workshops-head li:nth-child(3),.table-layout-standard dl.workshop dd:nth-child(6){width:var(--ws-6c-place)}
    .table-layout-standard .workshops-head li:nth-child(4),.table-layout-standard dl.workshop dd:nth-child(8){width:var(--ws-6c-time)}
    .table-layout-standard .workshops-head li:nth-child(5),.table-layout-standard dl.workshop dd:nth-child(10){width:var(--ws-6c-zanseki)}
    .table-layout-standard .workshops-head li:nth-child(6),.table-layout-standard dl.workshop dd:nth-child(12){width:var(--ws-6c-button)}

    /* --- Advance Pattern (7 Columns: 衛生・電気等) --- */
    /* 見出し(ul.workshops-head li)と中身(dl.workshop dd)の幅を完全に同期 */
    .table-layout-advance .workshops-head li:nth-child(1),.table-layout-advance dl.workshop dd:nth-child(2){width:var(--ws-7c-icon)}
    .table-layout-advance .workshops-head li:nth-child(2),.table-layout-advance dl.workshop dd:nth-child(4){width:var(--ws-7c-date)}
    .table-layout-advance .workshops-head li:nth-child(3),.table-layout-advance dl.workshop dd:nth-child(6){width:var(--ws-7c-place)}
    .table-layout-advance .workshops-head li:nth-child(4),.table-layout-advance dl.workshop dd:nth-child(8){width:var(--ws-7c-class)}
    .table-layout-advance .workshops-head li:nth-child(5),.table-layout-advance dl.workshop dd:nth-child(10){width:var(--ws-7c-time)}
    .table-layout-advance .workshops-head li:nth-child(6),.table-layout-advance dl.workshop dd:nth-child(12){width:var(--ws-7c-zanseki)}
    .table-layout-advance .workshops-head li:nth-child(7),.table-layout-advance dl.workshop dd:nth-child(14){width:var(--ws-7c-button)}
}

/* --- Status Stamps --- */
.soldout-stamp{position:relative;transform:rotate(var(--tf-r-stamp))}
.soldout-stamp:before{position:absolute;border-radius:var(--rd-circle)}
.soldout-stamp span{position:absolute}
.addto-stamp{position:relative;transform:rotate(var(--tf-r-stamp))}
.addto-stamp:before{position:absolute;border-radius:var(--rd-circle)}
.addto-stamp span{position:absolute}
.increasedframe-stamp{position:relative;transform:rotate(var(--tf-r-stamp))}
.increasedframe-stamp:before{position:absolute;border-radius:var(--rd-circle)}
.increasedframe-stamp span{position:absolute}
.timepoint-stamp{transform:rotate(var(--tf-r-timepoint));line-height:var(--lh-exam)}
.timepoint-stamp span{position:absolute}

/* --- Stamp Home Adjustments --- */
.home-workshops-content .soldout-stamp,.home-workshops-content .addto-stamp,.home-workshops-content .increasedframe-stamp,.home-workshops-content .timepoint-stamp{margin-top:var(--st-mt-hm)}

/* --- Other Indicators --- */
.exam_point{padding-bottom:var(--sp-s);font-size:var(--fz-littlebig);font-weight:bold;color:var(--c-red-stamp);transform:rotate(var(--tf-r-exam));text-decoration:underline}
.exam_point span{background:var(--c-gold-bright)}
dl.horizontaldl{clear:both;background:var(--c-gray-medium)}
dl.horizontaldl dd,dl.horizontaldl dt{padding:var(--sp-s)}
dl.horizontaldl dt{background:var(--c-gray-medium);color:var(--c-white);font-size:1.1rem}
dl.horizontaldl dd{background:var(--c-bg-panel)}

/* ==========================================================================
   11. UTILITY COLORS & TEXT
   ========================================================================== */
/* --- Text Colors --- */
.required{color:var(--c-main)}
.underline{text-decoration:underline}
.bg_gray{background:var(--c-gray-medium)}
.bg_white{background:var(--c-white)}
.fc_default{color:var(--c-text) !important}
.fc_gray{color:var(--c-text-light) !important}
.fc_white{color:var(--c-white) !important}
.fc_red{color:var(--c-main) !important}
.fc_blue{color:var(--c-blue) !important}
.fc_green{color:var(--c-green-success) !important}

/* --- Font Sizes --- */
.font-size-normal{font-size:var(--fz-base) !important}
.fs_07rem{font-size:var(--fz-s) !important}
.fs_20rem{font-size:var(--fz-biggest)}

/* --- Borders --- */
.bd_gray{border:var(--bd-w-base) var(--bd-s-solid) var(--c-text-light)}
.bd_red{border:var(--bd-w-base) var(--bd-s-solid) var(--c-main)}
.bd_double_white{border:var(--bd-w-double) var(--bd-s-double) var(--c-white)}

/* --- Background Helpers --- */
.bg_blue{background:var(--c-blue-soft)}
.bg_paleblue{background:var(--c-blue-pale)}
.bg_gomen_default{background:var(--c-bg-gray)}

/* --- Horizontal Rules --- */
hr.hr_thin{border:0;border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--bd-c-base)}
hr.hr_red{border:0;border-bottom:var(--bd-w-base) var(--bd-s-solid) var(--c-main)}
hr.hr_dashed{border-bottom:var(--bd-w-thick) var(--bd-s-dashed) var(--bd-c-base)}

/* --- Highlight Markers --- */
.marker{background:linear-gradient(transparent 0,var(--c-gold-bright) 0)}
.marker,.marker-pink{padding:0 var(--sp-xs);font-weight:var(--fw-bold)}
.marker-pink{background:linear-gradient(transparent 0,var(--c-pink-marker) 0)}

/* ==========================================================================
   12. LAYOUT & BOX UTILITIES
   ========================================================================== */
/* --- Spacing & Radius --- */
.box{margin-bottom:var(--sp-s);padding:var(--sp-m)}
.minibox{margin-bottom:var(--sp-xs);padding:var(--sp-s)}
.padding{padding:0.5em}
.radius_5rem{border-radius:var(--rd-m)}
.margin_top{margin-top:var(--sp-xl)}
.margin_top_mini{margin-top:var(--sp-m)}

/* --- Width Classes (Floating Layout) --- */
.width20{width:20%}
.width33{width:31.333333%}
.width50{width:48%}
.width66{width:62.666666%}
.width80{width:80%}
.width88{width:88%}
.width33,.width50,.width66,.width88{padding:0 1%;float:left}
.width_fit{max-width:96%;margin:0 2% var(--sp-m)}

/* --- Misc Helpers --- */
.slideopennext,.slideopenprev{cursor:pointer}
.annotation{padding:var(--sp-s);background:var(--c-bg-annotation)}
.nomargin{margin:0 !important}
.lineheight1em{line-height:var(--lh-1)}
.lineheight1c25em{line-height:var(--lh-tight)}
.lineheight1c5em{line-height:var(--lh-medium)}
.scroll{overflow-x:auto;white-space:nowrap;width:auto}
.scroll table{max-width:96%}

/* ==========================================================================
   13. MEDIA & EMBEDS
   ========================================================================== */
/* --- Video Containers (16:9 Aspect Ratio) --- */
.videobox{position:relative;width:var(--w-full);padding-top:var(--ratio-16-9)}
.videobox iframe{position:absolute;top:var(--pos-left-base);right:var(--pos-left-base);width:var(--w-full) !important;height:var(--w-full) !important}
.wp-block-embed__wrapper{position:relative;width:var(--w-full);height:0;padding-top:var(--ratio-16-9)}
.wp-block-embed__wrapper iframe{position:absolute;top:var(--pos-left-base);left:var(--pos-left-base);width:var(--w-full) !important;height:var(--w-full) !important}

/* --- Media Elements --- */
video,source,iframe{max-width:var(--w-full) !important}
.under-home-banner-youtube{color:var(--c-text-light);text-align:right}

/* --- Image Alignments --- */
img.alignright,a img.alignright{float:right;margin:0 0 1em 1em}
img.alignleft,a img.alignleft{float:left;margin:0 1em 1em 0}
img.aligncenter,a img.aligncenter{display:block;margin-left:auto;margin-right:auto}
figure.aligncenter figcaption{text-align:center;font-size:var(--fz-xs)}

/* --- Image Blur Effect --- */
.imgblur,.imgblur > img{margin:0;padding:0;border:0}
.imgblur{position:relative;display:inline-block;font-size:0;line-height:0}
.imgblur:after{position:absolute;left:var(--pos-left-base);top:var(--pos-left-base);right:var(--pos-left-base);bottom:var(--pos-left-base);box-shadow:var(--sh-inset-blur);content:" "}

/* ==========================================================================
   14. TYPOGRAPHY DETAILS
   ========================================================================== */
/* --- Text Alignments --- */
.text-center{text-align:center !important}
.text-center iframe{display:block;margin:0 auto}
.text-right{text-align:right !important}
::selection{background:var(--c-main);color:var(--c-white)}

/* --- Specific Text Styles --- */
.date,em,i{font-style:italic}
.small,small{font-size:var(--fz-small)}
.littlesmall{font-size:var(--fz-nav)}
.bold,b,strong{font-weight:var(--fw-bold)}
.fw_normal{font-weight:400}

/* --- Sub / Sup Tuning --- */
sub,sup{height:0;line-height:1;vertical-align:baseline;position:relative}
sup{bottom:1ex}
sub{top:0.5ex;vertical-align:bottom}

/* --- Responsive Font Sizes (em based) --- */
.littlebig{font-size:var(--fz-littlebig);font-weight:var(--fw-bold)}
.big{font-size:var(--fz-l);font-weight:var(--fw-bold)}
.bigger{font-size:var(--fz-xl);font-weight:var(--fw-bold)}
.biggest{font-size:var(--fz-biggest);font-weight:var(--fw-bold)}

/* --- Display Helpers --- */
.no_border{border:0 0 !important}
.fb_iframe_widget,.fb_iframe_widget iframe[style],.fb_iframe_widget span{width:var(--w-full) !important}
.graphs{padding:var(--sp-s)}
.fl_left{float:left}
.fl_right{float:right}
.inline_block{display:inline-block}

/* --- TOC --- */
.article .table-of-contents ul{padding:0 0 0 var(--sp-m)}
.table-of-contents ul li{padding:0 !important}

/* ==========================================================================
   15.RESPONSIVE GRID & VISIBILITY
   ========================================================================== */
.clr:after,.col:after,.container:after,.group:after,.row:after{content:"";display:table;clear:both}
.col{display:block;float:left;width:var(--w-full)}
.only_max_767{display:block}
.only_min_768{display:none}
.indent{padding-left:1.5em}

@media screen and (min-width:768px){
    .span_1{width:var(--grid-1)}
    .span_2{width:calc(var(--grid-1) * 2)}
    .span_3{width:calc(var(--grid-1) * 3)}
    .span_4{width:calc(var(--grid-1) * 4)}
    .span_5{width:calc(var(--grid-1) * 5)}
    .span_6{width:var(--w-50)}
    .span_7{width:calc(var(--grid-1) * 7)}
    .span_8{width:calc(var(--grid-1) * 8)}
    .span_9{width:var(--w-75)}
    .span_10{width:calc(var(--grid-1) * 10)}
    .span_11{width:calc(var(--grid-1) * 11)}
    .span_12{width:var(--w-full)}
}

/* ==========================================================================
   16.BREAKPOINT: 480PX (SMALL PHABLETS)
   ========================================================================== */
@media screen and (min-width:480px){
    .gomen-text{margin-top:var(--sp-xs);float:left}
    .gomen-logo{float:left;max-width:13rem !important}
    .payment-box .panel-content{padding-bottom:8rem}
}

/* ==========================================================================
   17.BREAKPOINT: MAX-767PX (MOBILE SPECIFICS)
   ========================================================================== */
@media screen and (max-width:767px){
    .get-push img{display:block}

    /* --- Mobile Stamps --- */
    .workshop-head .soldout-stamp,.workshop-head .addto-stamp,.workshop-head .increasedframe-stamp,.workshop-head .timepoint-stamp{margin-top:var(--st-mt-hm);margin-left:80%}
    .soldout-stamp,.addto-stamp,.increasedframe-stamp{width:4rem;height:var(--sp-l)}
    .soldout-stamp:before{top:var(--pos-left-base);left:var(--sp-s);width:var(--sp-l);height:var(--sp-l);display:block;content:"";border:var(--st-bd-w-sp) solid var(--c-red-stamp);box-shadow:var(--sh-stamp-white)}
    .soldout-stamp span{top:var(--sp-s);left:var(--pos-left-base);color:var(--c-red-stamp);font-size:var(--fz-xs);font-weight:var(--fw-bold);text-shadow:var(--ts-stamp-sp)}
    .addto-stamp:before{top:var(--pos-left-base);left:var(--sp-s);width:var(--h-stamp-box);height:var(--h-stamp-box);display:block;content:"";border:var(--st-bd-w-sp) solid var(--c-blue);box-shadow:var(--sh-stamp-white)}
    .addto-stamp span{top:var(--sp-s);left:var(--pos-left-base);color:var(--c-blue);font-size:var(--fz-xs);font-weight:var(--fw-bold);text-shadow:var(--ts-stamp-sp)}
    .increasedframe-stamp:before{top:var(--pos-left-base);left:var(--sp-s);width:var(--h-stamp-box);height:var(--h-stamp-box);display:block;content:"";border:var(--st-bd-w-sp) solid var(--c-orange-bright);box-shadow:var(--sh-stamp-white)}
    .increasedframe-stamp span{top:var(--sp-s);left:var(--pos-left-base);color:var(--c-orange-bright);font-size:var(--fz-xs);font-weight:var(--fw-bold);text-shadow:var(--ts-stamp-sp)}
    .timepoint-stamp{width:var(--sp-6fs);height:var(--sp-l)}
    .timepoint-stamp span{top:var(--sp-s);left:var(--pos-left-base);color:var(--c-blue);font-size:var(--fz-xs);font-weight:var(--fw-bold);text-shadow:var(--ts-stamp-sp)}

    /* --- Mobile Navigation --- */
    #nav ul li{float:left;width:var(--w-50);border-bottom:var(--bd-w-base) var(--bd-s-dashed) var(--c-white)}
    #nav ul li:first-child{display:none}
    #nav ul li a{position:relative;padding:var(--sp-xs);display:block;color:var(--c-white)}
    #nav ul li a:before{position:absolute;top:.25em;right:var(--sp-s);font-size:1em;color:var(--c-white);font-family:var(--ff-icon);content:var(--content-icon-arrow);opacity:var(--op-half)}
    #footer-menu ul li{border-bottom:var(--bd-w-base) var(--bd-s-dashed) var(--c-white)}
    #footer-menu ul li a{position:relative;padding:var(--sp-xs);display:block;color:var(--c-white)}
    #footer-menu ul li a:before{position:absolute;top:.25em;right:var(--sp-s);font-size:1em;color:var(--c-white);font-family:var(--ff-icon);content:var(--content-icon-arrow);opacity:var(--op-half)}

    /* --- Mobile Layout Adjustments --- */
    .post.archive{padding:.125rem var(--sp-xs)}
    .post.archive:not(.workshops){padding:var(--sp-s) var(--sp-s) var(--sp-s)}
    .workshop-top-widget .workshop-top-content .item-content ul li{width:10rem}
    ul.header-buttons li a button:not(.custom){padding:var(--sp-s) var(--sp-s);border-radius:var(--rd-l)}
    .single dl.workshop.only_min_768{display:block}
    .single ul.workshop-head.only_max_767{display:none}

    /* --- Mobile Workshop DL (Floating DT/DD) --- */
    dl.workshop{background:var(--c-text);border-left:var(--bd-w-base) var(--bd-s-solid) var(--c-black)}
    dl.workshop dt{clear:left;float:left;width:40%;color:var(--c-white);font-size:var(--fz-xxs);text-align:center;border-top:1px solid var(--c-text-light);line-height:var(--lh-1)}
    dl.workshop dt:last-child{border-bottom:1px solid var(--c-text-light)}
    dl.workshop dd{margin-left:40%;width:60%;border-right:var(--bd-w-base) var(--bd-s-solid) var(--c-text);border-left:1px solid var(--c-text-light);border-top:1px solid var(--c-text-light);vertical-align:middle}
    dl.workshop dd:last-child{border-bottom:1px solid var(--c-text-light)}
    dl.workshop dd.workshop-zanseki{padding-bottom:var(--sp-m)}
    .workshop-bottom-widget button{border-radius:var(--rd-button)}

    /* --- Decorative Elements --- */
    .about .threebox .panel.threebox-second{margin:var(--sp-xl) 0 var(--sp-m)}
    .about .threebox .panel.threebox-second:before{top:-4rem}
    .about .threebox .panel.threebox-second:after,.about .threebox .panel.threebox-second:before{position:absolute;left:var(--w-50);margin-left:var(--sp-neg-1);font-family:var(--ff-icon);content:"\f055";color:var(--c-main);font-size:2rem}
    .about .threebox .panel.threebox-second:after{bottom:-2rem}
    .companies-and-organizations .company-flow-step{margin:0 0 var(--sp-m)}
    .companies-and-organizations .company-flow-step:not(.step5):after{position:absolute;bottom:-1.75rem;left:var(--w-50);margin-left:-2rem;content:"";border-right:var(--bd-transparent);border-left:var(--bd-transparent);border-top:1.5rem solid var(--c-blue-soft)}
}

/* ==========================================================================
   18.BREAKPOINT: MIN-768PX (DESKTOP SPECIFICS)
   ========================================================================== */
@media screen and (min-width:768px){
    .offset_s1{margin-left:var(--grid-1)}
    .offset_s2{margin-left:calc(var(--grid-1) * 2)}
    .offset_s3{margin-left:var(--w-25)}
    .only_max_767{display:none}
    .only_min_768{display:block}
    span.only_min_768{display:inline}
    .indent{padding-left:3em}
    .videobox{width:88%}
    .contentbox{padding:var(--sp-xs) var(--sp-m)}
    .min_768_width66{width:66.6666666667%}

    /* --- Desktop Header & Nav --- */
    h1#logo{font-size:2.4rem}
    .site-description{line-height:var(--lh-medium)}
    ul.header-buttons li{max-width:12rem}
    ul.header-buttons li a button:not(.custom){padding:var(--sp-s) .125rem;font-size:var(--fz-xs)}
    .header-paypal amp-img{width:15rem}
    #nav{width:var(--w-full);height:var(--h-nav-pc);z-index:var(--z-nav)}
    #nav ul li{float:left;margin:0 0;width:var(--w-nav-pc);height:var(--h-nav-pc);border-left:.1rem groove var(--c-white);text-align:center}
    #nav ul li:nth-child(5){border-right:.1rem groove var(--c-white)}
    #nav ul li a{display:block;padding:var(--sp-s);height:var(--h-nav-pc);color:var(--c-white);font-size:var(--fz-xs)}
    #nav ul li a:hover{background:var(--c-main);text-decoration:none}
    #nav ul li span.nav_description{font-size:var(--fz-xs)}
    button.main-blue,button.main-paleblue{width:var(--w-50);font-size:var(--fz-l)}

    /* --- Desktop Footer Menu --- */
    #footer-menu{width:var(--w-full);height:var(--h-nav-pc)}
    #footer-menu ul{margin-left:1%;width:98%}
    #footer-menu ul li{float:left;margin:var(--sp-m) 0;height:var(--sp-l);border-left:.1rem groove var(--c-white);text-align:center}
    #footer-menu ul li:nth-child(1){width:40%}
    #footer-menu ul li:nth-child(2){width:16%}
    #footer-menu ul li:nth-child(3){width:24%}
    #footer-menu ul li:nth-child(4){width:20%}
    #footer-menu ul li:last-child{border-right:.1rem groove var(--c-white)}
    #footer-menu ul li a{display:block;margin-top:var(--sp-neg-1);padding:1.3rem var(--sp-xs);height:var(--h-nav-pc);color:var(--c-white);font-size:var(--fz-nav)}
    #footer-menu ul li a:hover{background:var(--c-gray-medium);text-decoration:none}

    /* --- Desktop Stamps --- */
    .workshop .soldout-stamp{margin-top:-2rem;margin-left:60%}
    .soldout-stamp{width:var(--sp-6fs);height:var(--h-stamp-box)}
    .soldout-stamp:before{top:var(--pos-left-base);left:.75rem;width:var(--h-stamp-box);height:var(--h-stamp-box);display:block;content:"";border:var(--st-bd-w-pc) solid var(--c-red-stamp);box-shadow:var(--sh-stamp-white-large)}
    .soldout-stamp span{top:.8rem;left:var(--pos-left-base);color:var(--c-red-stamp);font-size:1.1rem;font-weight:bolder;text-shadow:var(--ts-stamp-pc)}
    .workshop .addto-stamp{margin-top:-3rem;margin-left:60%}
    .addto-stamp{width:var(--sp-6fs);height:var(--h-stamp-box)}
    .addto-stamp:before{top:var(--pos-left-base);left:.75rem;width:3.6rem;height:3.6rem;display:block;content:"";border:var(--st-bd-w-pc) solid var(--c-blue);box-shadow:var(--sh-stamp-white-large)}
    .addto-stamp span{top:var(--sp-s);left:var(--pos-left-base);color:var(--c-blue);font-size:1.1rem;font-weight:bolder;text-shadow:var(--ts-stamp-pc)}
    .workshop .increasedframe-stamp{margin-top:-3rem;margin-left:60%}
    .increasedframe-stamp:before{top:var(--pos-left-base);left:.75rem;width:3.6rem;height:3.6rem;display:block;content:"";border:var(--st-bd-w-pc) solid var(--c-orange-bright);box-shadow:var(--sh-stamp-white-large)}
    .workshop .timepoint-stamp{margin-top:-2rem;margin-left:60%}
    .timepoint-stamp{width:8rem;height:var(--h-stamp-box)}
    .timepoint-stamp span{top:.8rem;left:var(--pos-left-base);color:var(--c-blue);font-size:var(--fz-nav);font-weight:bolder;text-shadow:var(--ts-stamp-pc)}

    /* --- Interactive Details --- */
    a.map-img{position:relative;display:block;color:var(--c-white)}
    a.map-img:hover img{opacity:var(--op-half)}
    a.map-img .map-expansion{position:absolute;top:var(--w-50);left:var(--w-50);margin-top:var(--sp-neg-half);margin-left:-3rem;font-size:3rem;opacity:0}
    a.map-img:hover .map-expansion{opacity:1}
    ul.home-workshops-content li .counter_text{font-weight:var(--fw-bold)}
    .panel .panel-content{padding:var(--sp-m)}
    .blog_meta li{float:left;margin-right:var(--sp-m)}

    /* --- Desktop Layout Overrides --- */
    .workshop-top-widget .workshop-top-content .item-head{clear:both;float:left;width:var(--sp-6fs)}
    .workshop-top-widget .workshop-top-content .item-content{margin-left:var(--sp-6fs)}
    .workshop-top-widget .workshop-top-content .item-content ul li{float:left}
    .workshop-top-widget .workshop-top-content .item-content .workshop-top-labels-second-text{clear:both}
    .post.workshops{padding:0}
    .archive .post_content{padding-left:var(--sp-m)}
    .breadcrumb{margin:var(--sp-xs) 0}
    .breadcrumb li{display:inline-block}
    .content-nav .row .column:nth-child(2),.content-nav .row .column:nth-child(3){border-left:var(--bd-w-base) var(--bd-s-dashed) var(--c-main)}

    /* --- Reference Elements --- */
    .reference-books{position:relative;padding-top:var(--sp-l)}
    .reference-books .balloon-reference-books-rakugaku{display:block;position:absolute;top:var(--sp-m);left:58%}
    .other-reference-books{position:relative;padding-top:var(--sp-m)}
    .other-reference-books .balloon-reference-books{display:block;position:absolute;top:var(--sp-m);left:35%;margin-left:-4rem}
    .other-reference-books .balloon-reference-books-boiler{display:block;position:absolute;top:var(--pos-left-base);right:5%}
    ul.about-teachers li{float:left;width:26%}

    /* --- DL Horizontal Layout --- */
    dl.horizontaldl dt{padding:var(--sp-m);float:left;width:30%;text-align:center}
    dl.horizontaldl dd{padding:var(--sp-m) var(--sp-m) var(--sp-l);margin-left:30%;width:70%}
    dl.horizontaldl dt:not(:first-child){border-top:var(--bd-w-base) var(--bd-s-solid) var(--c-white)}
    dl.horizontaldl dd:not(:first-child){border-top:var(--bd-w-base) var(--bd-s-solid) var(--c-gray-medium)}
    .specgroup dl.horizontaldl dd{padding:var(--sp-xxs)}

    /* --- Push & Payment --- */
    .get-push .p7-b{margin:6.5rem 0 0 var(--sp-m)}
    .get-push a .arrows,.get-push a button{vertical-align:bottom}
    .payment-box .panel .panel-content,.payment-box .panel .panel-head{padding-right:20%}
    .payment-box .description-for-credit{width:20%}
    .home-teachers{width:var(--w-full);margin-bottom:.8rem}
    .about .threebox .panel{margin:0 auto;width:88%}
    .about .threebox .panel.threebox-second:before{left:-2rem}
    .about .threebox .panel.threebox-second:after,.about .threebox .panel.threebox-second:before{position:absolute;top:7rem;font-family:var(--ff-icon);content:"\f055";color:var(--c-main);font-size:2rem}
    .about .threebox .panel.threebox-second:after{right:-2rem}

    /* --- Corporate Flow --- */
    .companies-and-organizations .company-inquiry-head .main-phone,.companies-and-organizations .main-phone{margin-top:1.3rem}
    .companies-and-organizations .company-inquiry-img{width:20%}
    .companies-and-organizations .company-inquiry-head{width:80%}
    .companies-and-organizations .company-inquiry-head .main-phone{padding-left:var(--sp-l);font-size:1.6rem}
    .companies-and-organizations img.company-catchcopy{max-width:30rem !important}
    .companies-and-organizations .company-flow-step{clear:none;float:left;width:30%;height:20rem;margin:0 3% var(--sp-xs) 0}
    .companies-and-organizations .company-flow-step:not(.step5):after{position:absolute;right:-1.75rem;top:var(--w-50);margin-top:-2rem;content:"";border-top:var(--bd-transparent);border-bottom:var(--bd-transparent);border-left:1.5rem solid var(--c-blue-soft)}
    .companies-and-organizations .company-flow-step.step4{clear:left}
    .companies-and-organizations .company-flow-step .company-flow-img{position:absolute;bottom:var(--pos-left-base)}
    .companies-and-organizations .company-flow-step:hover{transform:scale(1.2,1.2)}
    .payment-box .panel-content{padding-bottom:var(--h-nav-pc)}
}

/* ==========================================================================
   19.BREAKPOINT: 1024PX / 1360PX / 1680PX (SCALING)
   ========================================================================== */
@media screen and (min-width:1024px){
    .padding{padding:1em}
    .videobox{width:66.67%}
    .contentbox{padding:.75rem 1.5rem}
    .header-top{padding:0 3% var(--sp-m)}
    ul.header-buttons li a button:not(.custom){padding:var(--sp-s) .125rem;font-size:var(--fz-xs)}
    #nav{height:var(--h-nav-pc-l)}
    #nav ul li{height:var(--h-nav-pc-l)}
    #nav ul li a{padding:1.5rem var(--sp-xs);height:var(--h-nav-pc-l);font-size:var(--fz-m)}
    #nav ul li span.nav_description{font-size:var(--fz-nav)}
    .workshop-top-widget .workshop-top-icon{font-size:3rem}
    .workshop-top-widget .workshop-top-content .item-content .workshop-top-labels-second-text{clear:none}
    .companies-and-organizations .main-phone{font-size:var(--fz-3xl)}
    .companies-and-organizations .company-inquiry-head .main-phone{font-size:var(--fz-xl)}
    .companies-and-organizations .company-flow-step{width:17%}
    .companies-and-organizations .company-flow-step.step4{clear:none}
}

@media screen and (min-width:1360px){
    .padding{padding:2em}
    .contentbox{margin-bottom:var(--sp-m);padding:1.5rem 2.5rem}
    .header-top{padding:0 3%}
    ul.header-buttons li a button:not(.custom){padding:var(--sp-s) var(--sp-s);font-size:var(--fz-m)}
    .site-description{font-size:var(--fz-nav)}
    ul.discount-repeater li{float:left;width:var(--w-33)}
    .flow-pentagon span{font-size:var(--fz-xs)}
    .companies-and-organizations .main-phone{font-size:3rem}
    .companies-and-organizations .company-inquiry-head .main-phone{font-size:3rem}
    .payment-box .panel-content{padding-bottom:8rem}
}

@media screen and (min-width:1680px){
    .padding{padding:3em}
    .contentbox{padding:var(--sp-l) var(--sp-xl)}
    ul.header-buttons li a button:not(.custom){font-size:var(--fz-l)}
    .companies-and-organizations .main-phone{font-size:var(--fz-3xl)}
    .companies-and-organizations .company-inquiry-head .main-phone{font-size:var(--fz-3xl)}
    .payment-box .panel-content{padding-bottom:10rem}
}
