/*!
Theme Name: redlab
Theme URI: https://red-lab.jp/
Author: 合同会社ピーシィズ
Author URI: https://pcs-educ.com/
Description: RED LAB official WordPress theme based on Underscores.
Version: 1.0.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: redlab
Tags: custom-logo, custom-menu, featured-images, translation-ready
*/


/*--------------------------------------------------------------
# WordPress / Underscores compatibility
--------------------------------------------------------------*/
html {
	-webkit-text-size-adjust: 100%;
	box-sizing: border-box;
}

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

main {
	display: block;
}

button,
input,
select,
textarea {
	font: inherit;
}

embed,
iframe,
object {
	max-width: 100%;
}

.custom-logo-link {
	display: inline-block;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

.alignleft {
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text,
.wp-caption-text {
	margin: 0.8075em 0;
	color: var(--muted);
	font-size: 13px;
	text-align: center;
}

.gallery {
	display: grid;
	gap: 1.5em;
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }
.gallery-caption { display: block; }

.sticky,
.bypostauthor {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.entry-content,
.entry-summary,
.page-content {
	margin: 0;
}


/*--------------------------------------------------------------
# RED LAB design
--------------------------------------------------------------*/
:root{--red:#e30613;--red-dark:#b9000b;--black:#111;--text:#202020;--muted:#666;--line:#e6e6e6;--bg:#f7f7f7;--bg-soft:#fafafa;--white:#fff;--shadow:0 16px 40px rgba(0,0,0,.07);--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;background:var(--white);line-height:1.85}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(0,0,0,.05);backdrop-filter:blur(12px)}.header-inner{max-width:1280px;height:80px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:28px}.header-logo{display:flex;align-items:center;width:168px;flex-shrink:0}.header-logo img{width:100%;max-height:56px;object-fit:contain}.global-nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px;font-weight:700;white-space:nowrap}.global-nav a{transition:color .2s}.global-nav a:hover{color:var(--red)}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-width:132px;height:44px;padding:0 20px;color:#fff;background:var(--red);border-radius:4px;font-size:14px;font-weight:700;transition:.2s}.header-cta:hover{background:var(--red-dark);transform:translateY(-1px)}.nav-toggle{display:none;margin-left:auto;width:42px;height:42px;padding:0;background:transparent;border:0;cursor:pointer}.nav-toggle span{display:block;width:24px;height:2px;margin:6px auto;background:var(--black);transition:.2s}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fff 55%,#f3f3f3 100%)}.hero-slider{position:relative;min-height:650px}.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s}.hero-slide.is-active{position:relative;opacity:1;pointer-events:auto}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-bg:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 48%,rgba(255,255,255,.7) 100%)}.hero-bg:after{content:"";position:absolute;z-index:2;right:-8%;top:0;width:52%;height:100%;background:linear-gradient(135deg,rgba(227,6,19,.06),rgba(0,0,0,.04)),linear-gradient(135deg,transparent 0 28%,rgba(0,0,0,.04) 28% 100%);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.36}.hero-inner{position:relative;z-index:3;max-width:var(--max);min-height:650px;margin:0 auto;padding:112px 24px 98px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:72px}.section-label{margin:0 0 16px;color:var(--red);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1,.hero-copy h2{margin:0;font-size:clamp(38px,4.5vw,58px);line-height:1.32;letter-spacing:.02em;color:var(--black)}.hero-copy p:not(.section-label){max-width:560px;margin:26px 0 0;font-size:16px;color:#333}.hero-buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:176px;min-height:52px;padding:12px 28px;border-radius:3px;font-size:15px;font-weight:800;line-height:1.4;border:1px solid transparent;transition:.2s}.btn:after{content:"›";margin-left:18px;font-size:22px;line-height:1}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:var(--red);border-color:var(--red)}.btn-primary:hover{background:var(--red-dark)}.btn-outline{color:var(--red);background:#fff;border-color:var(--red)}.btn-outline:hover{color:#fff;background:var(--red)}.btn-wide{width:100%}.hero-brand{position:relative;min-height:260px;display:flex;align-items:center;justify-content:center}.hero-brand:before,.hero-brand:after{content:"";position:absolute;border:1px solid rgba(227,6,19,.25);pointer-events:none}.hero-brand:before{right:7%;top:9%;width:110px;height:110px;border-left:0;border-bottom:0}.hero-brand:after{left:12%;bottom:8%;width:130px;height:90px;border-right:0;border-top:0}.hero-logo{width:100%;max-width:430px;z-index:1;filter:drop-shadow(0 14px 28px rgba(0,0,0,.08))}.hero-card{max-width:440px;padding:44px;background:rgba(255,255,255,.9);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card-title{margin:0 0 16px!important;color:var(--red)!important;font-size:38px!important;font-weight:300;letter-spacing:.04em;line-height:1.2}.hero-card p:not(.hero-card-title){margin:0;color:var(--muted)}.slider-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(0,0,0,.08);border-radius:50%;background:rgba(255,255,255,.88);color:#111;font-size:34px;line-height:1;cursor:pointer;transition:.2s}.slider-arrow:hover{color:#fff;background:var(--red)}.slider-prev{left:26px}.slider-next{right:26px}.slider-dots{position:absolute;z-index:5;left:50%;bottom:34px;transform:translateX(-50%);display:flex;gap:10px}.slider-dots button{width:34px;height:4px;padding:0;border:0;background:#d0d0d0;cursor:pointer;transition:.2s}.slider-dots button.is-active{background:var(--red)}.section{padding:86px 0}.container{max-width:var(--max);margin:0 auto;padding:0 24px}.section-title{max-width:820px;margin:0 auto 44px;text-align:center}.section-title h2{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.55;letter-spacing:.04em}.section-title p:not(.section-label){margin:16px 0 0;color:var(--muted)}.split-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:start}.section-kicker h2{margin:0;font-size:clamp(30px,4vw,45px);line-height:1.45;letter-spacing:.04em}.section-body p{margin:0;color:#333;font-size:16px}.section-body p+p{margin-top:20px}.philosophy-section{background:#fff}.philosophy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}.philosophy-grid article,.feature-card,.flow-card,.faq-grid article{background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow)}.philosophy-grid article{padding:30px;border-top:4px solid var(--red)}.philosophy-grid span{display:block;color:var(--red);font-size:13px;font-weight:900;letter-spacing:.12em}.philosophy-grid h3{margin:12px 0 0;font-size:20px}.philosophy-grid p{margin:12px 0 0;color:var(--muted);font-size:14px}.feature-section{background:var(--bg-soft)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{position:relative;padding:34px 30px 32px;text-align:center;transition:.2s}.feature-card:hover{transform:translateY(-4px)}.feature-icon{width:68px;height:68px;margin:0 auto 18px;display:grid;place-items:center;color:var(--red);border:2px solid rgba(227,6,19,.24);border-radius:50%;font-size:22px;font-weight:900}.feature-card h3{margin:0;font-size:22px}.feature-card p{margin:12px 0 0;font-size:14px;color:var(--muted)}.method-section{background:#fff}.method-panel{padding:54px;background:linear-gradient(135deg,rgba(227,6,19,.04),rgba(0,0,0,.025)),#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.method-title{margin-bottom:40px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.flow-card{position:relative;padding:30px 24px;min-height:230px}.flow-card:not(:last-child):after{content:"";position:absolute;right:-18px;top:50%;transform:translateY(-50%);border-top:16px solid transparent;border-bottom:16px solid transparent;border-left:16px solid #dedede}.flow-icon{width:52px;height:52px;margin-bottom:18px;display:grid;place-items:center;color:#fff;background:var(--red);border-radius:3px;font-size:18px;font-weight:900}.flow-card h3{margin:0;font-size:18px;line-height:1.5}.flow-card p{margin:12px 0 0;color:var(--muted);font-size:14px}.area-section{background:var(--bg-soft)}.area-card{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:center;padding:42px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.area-content h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.4}.area-content p{margin:22px 0 30px;color:var(--muted)}.area-image,.program-image{min-height:260px;border-radius:6px;background:#eee;overflow:hidden}.area-image img,.program-image img{width:100%;height:100%;min-height:inherit;object-fit:cover}.program-section{background:linear-gradient(180deg,#fff 0%,#fafafa 100%)}.program-card{display:grid;grid-template-columns:1.15fr 1fr .95fr;gap:26px;align-items:center;padding:32px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.tag{display:inline-flex;margin:0 0 18px;padding:4px 12px;color:#fff!important;background:var(--red);border-radius:2px;font-size:13px;font-weight:800}.program-content h2{margin:0;font-size:clamp(30px,4vw,42px);line-height:1.3;letter-spacing:.04em}.program-content h3{margin:12px 0 0;font-size:20px;font-weight:600;line-height:1.6}.program-content p{margin:22px 0 0;color:var(--muted)}.program-info{padding:10px 0}.program-info dl{margin:0 0 24px}.program-info div{padding:12px 0;border-bottom:1px solid var(--line)}.program-info dt{font-size:13px;font-weight:800;color:#111}.program-info dd{margin:3px 0 0;font-size:15px;color:var(--muted)}.about-section{background:#fff}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.about-main h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.4}.about-main p{margin:18px 0 0;color:#333}.about-main .btn{margin-top:30px}.about-side{padding:44px;background:linear-gradient(135deg,rgba(227,6,19,.05),rgba(0,0,0,.03)),#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-align:center}.about-side img{max-width:360px;margin:0 auto}.about-side p{margin:14px 0 0;color:var(--muted);letter-spacing:.12em}.faq-section{background:var(--bg-soft)}.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.faq-grid article{padding:28px}.faq-grid h3{margin:0;font-size:18px;line-height:1.6}.faq-grid p{margin:12px 0 0;color:var(--muted);font-size:14px}.center-button{margin-top:34px;text-align:center}.cta-section{background:linear-gradient(135deg,rgba(227,6,19,.92),rgba(185,0,11,.96));color:#fff}.cta-box{max-width:860px;margin:0 auto;text-align:center}.cta-box .section-label{color:#fff}.cta-box h2{margin:0;font-size:clamp(28px,4vw,44px)}.cta-box p{max-width:720px;margin:20px auto 34px}.cta-box .btn-primary{color:var(--red);background:#fff;border-color:#fff}.site-footer{padding:54px 0 24px;border-top:4px solid var(--red);background:#fff}.footer-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.2fr 1fr 1fr .9fr;gap:34px}.footer-logo img{max-width:260px}.site-footer h2{margin:0 0 12px;font-size:17px}.site-footer p,.site-footer a{color:var(--muted);font-size:14px}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a:hover{color:var(--red)}.copyright{margin:38px 0 0;text-align:center;color:var(--muted);font-size:12px}@media (max-width:1080px){.global-nav{display:none}.nav-toggle{display:block}.global-nav.is-open{position:absolute;left:0;right:0;top:80px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:14px 24px 24px;background:#fff;border-bottom:1px solid var(--line)}.global-nav.is-open a{padding:14px 0;border-bottom:1px solid var(--line)}.header-cta{display:none}.hero-inner{grid-template-columns:1fr;gap:42px}.hero-brand{min-height:180px}.split-layout,.area-card,.about-layout,.program-card{grid-template-columns:1fr}.flow-grid,.footer-inner{grid-template-columns:repeat(2,1fr)}.flow-card:after{display:none}}@media (max-width:760px){.header-inner{height:68px;padding:0 18px}.header-logo{width:140px}.global-nav.is-open{top:68px}.hero-slider,.hero-inner{min-height:auto}.hero-inner{padding:76px 20px 88px}.hero-copy h1,.hero-copy h2{font-size:34px}.hero-copy p:not(.section-label){font-size:15px}.hero-brand,.hero-card{display:none}.hero-buttons{flex-direction:column}.btn{width:100%}.slider-arrow{display:none}.section{padding:60px 0}.section-title{text-align:left}.section-title h2,.section-kicker h2,.area-content h2,.about-main h2{font-size:29px}.philosophy-grid,.feature-grid,.flow-grid,.faq-grid,.footer-inner{grid-template-columns:1fr}.method-panel,.area-card,.program-card,.about-side{padding:24px}.program-content h2{font-size:30px}.about-side img{max-width:260px}}

.global-nav ul,
.global-nav .primary-menu {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-nav li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.global-nav a {
  display: block;
}

