/*
Theme Name: GCP - Global Career Plan Cooperative
Theme URI: https://g-c-plan.com
Author: Global Career Plan Cooperative
Description: グローバルキャリアプラン協同組合 - 技能実習生受入監理団体の公式ウェブサイト用WordPressテーマ
Version: 1.0.0
Text Domain: gcp-theme
*/

/* ============================================
   CSS Variables
   ============================================ */
:root {
  --color-primary: #1565C0;
  --color-primary-dark: #0D47A1;
  --color-primary-light: #42A5F5;
  --color-secondary: #E65100;
  --color-secondary-light: #FF8F00;
  --color-accent: #E3F2FD;
  --color-bg: #F5F7FA;
  --color-bg-light: #FFFFFF;
  --color-text: #1A2332;
  --color-text-light: #5A6978;
  --color-white: #FFFFFF;
  --color-border: #D0D8E0;
  --color-success: #2E7D32;
  --color-myanmar: #F4C430;
  --shadow-sm: 0 2px 8px rgba(13,71,161,0.06);
  --shadow-md: 0 4px 24px rgba(13,71,161,0.10);
  --shadow-lg: 0 12px 40px rgba(13,71,161,0.14);
  --radius: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --font-main: "Noto Sans JP","Hiragino Kaku Gothic ProN","メイリオ",sans-serif;
  --font-heading: "Noto Serif JP","游明朝","Yu Mincho",serif;
  --max-width: 1200px;
  --header-height: 80px;
  --transition: 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ============================================
   Reset & Base
   ============================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--font-main);color:var(--color-text);background:var(--color-bg-light);line-height:1.8;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--color-primary);text-decoration:none;transition:color var(--transition);}
a:hover{color:var(--color-primary-light);}
ul,ol{list-style:none;}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.4;color:var(--color-primary-dark);}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px;}

/* ============================================
   Top Bar
   ============================================ */
.top-bar{background:var(--color-primary-dark);color:var(--color-white);font-size:0.78rem;padding:6px 0;}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;}
.top-bar__left{display:flex;gap:20px;align-items:center;}
.top-bar__left span{opacity:0.9;}
.top-bar__right{display:flex;gap:10px;align-items:center;}
.top-bar__right a{color:var(--color-white);opacity:0.85;font-size:0.72rem;padding:2px 10px;border:1px solid rgba(255,255,255,0.25);border-radius:3px;transition:all var(--transition);}
.top-bar__right a:hover{opacity:1;background:rgba(255,255,255,0.12);color:white;}

/* ============================================
   Header
   ============================================ */
.site-header{background:var(--color-white);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:1000;transition:box-shadow var(--transition);}
.header-inner{display:flex;justify-content:space-between;align-items:center;height:var(--header-height);max-width:var(--max-width);margin:0 auto;padding:0 20px;}
.site-logo{display:flex;align-items:center;gap:14px;}
.site-logo__icon{width:52px;height:52px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;font-size:0.65rem;font-weight:800;letter-spacing:0.08em;font-family:var(--font-main);line-height:1.1;text-align:center;}
.site-logo__text{display:flex;flex-direction:column;}
.site-logo__main{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--color-primary-dark);letter-spacing:0.04em;line-height:1.2;}
.site-logo__sub{font-size:0.6rem;color:var(--color-text-light);letter-spacing:0.15em;text-transform:uppercase;margin-top:2px;}

.header-contact{display:flex;align-items:center;gap:20px;}
.header-tel{display:flex;align-items:center;gap:10px;color:var(--color-primary-dark);}
.header-tel__icon{width:38px;height:38px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:0.95rem;}
.header-tel__number{font-size:1.5rem;font-weight:700;letter-spacing:0.05em;color:var(--color-primary-dark);line-height:1;}
.header-tel__hours{font-size:0.68rem;color:var(--color-text-light);}
.btn-contact{display:inline-flex;align-items:center;gap:6px;padding:11px 22px;border-radius:var(--radius);font-size:0.85rem;font-weight:600;transition:all var(--transition);border:none;cursor:pointer;}
.btn-contact--mail{background:var(--color-secondary);color:var(--color-white);}
.btn-contact--mail:hover{background:#BF360C;color:white;}
.menu-toggle{display:none;background:var(--color-primary);border:none;color:white;width:44px;height:44px;border-radius:var(--radius);font-size:1.2rem;cursor:pointer;}

/* ============================================
   Navigation
   ============================================ */
.main-nav{background:var(--color-primary-dark);}
.main-nav ul{display:flex;justify-content:center;max-width:var(--max-width);margin:0 auto;}
.main-nav li{flex:1;text-align:center;border-right:1px solid rgba(255,255,255,0.1);}
.main-nav li:first-child{border-left:1px solid rgba(255,255,255,0.1);}
.main-nav a{display:flex;flex-direction:column;align-items:center;padding:14px 8px;color:var(--color-white);font-size:0.85rem;font-weight:500;transition:background var(--transition);}
.main-nav a:hover,.main-nav a.current{background:var(--color-primary);color:white;}
.main-nav__en{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.12em;opacity:0.65;margin-top:2px;}

/* ============================================
   Hero
   ============================================ */
.hero{background:linear-gradient(135deg,#062040 0%,#0A3260 40%,var(--color-primary-dark) 100%);padding:70px 0 60px;position:relative;overflow:hidden;color:var(--color-white);}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;background:radial-gradient(circle,rgba(66,165,245,0.10) 0%,transparent 70%);border-radius:50%;}
.hero::after{content:'';position:absolute;bottom:-80px;left:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(66,165,245,0.06) 0%,transparent 70%);border-radius:50%;}
.hero .container{display:flex;align-items:center;gap:50px;position:relative;z-index:1;}
.hero-content{flex:1.2;}
.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.12);backdrop-filter:blur(4px);padding:8px 16px;border-radius:30px;font-size:0.8rem;font-weight:600;margin-bottom:20px;border:1px solid rgba(255,255,255,0.18);}
.hero-title{font-family:var(--font-heading);font-size:2.4rem;color:var(--color-white);margin-bottom:18px;line-height:1.35;text-shadow:0 2px 16px rgba(0,0,0,0.35),0 1px 3px rgba(0,0,0,0.2);}
.hero-title em{font-style:normal;color:#FFD54F;display:inline;text-shadow:0 2px 12px rgba(0,0,0,0.3);}
.hero-subtitle{font-size:1rem;opacity:1;color:rgba(255,255,255,0.95);margin-bottom:28px;line-height:1.9;max-width:560px;text-shadow:0 1px 4px rgba(0,0,0,0.2);}
.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:var(--radius);font-size:0.95rem;font-weight:600;transition:all var(--transition);border:2px solid transparent;cursor:pointer;}
.btn--white{background:var(--color-white);color:var(--color-primary-dark);}
.btn--white:hover{background:var(--color-accent);color:var(--color-primary-dark);}
.btn--outline-white{border-color:var(--color-white);color:var(--color-white);background:transparent;}
.btn--outline-white:hover{background:var(--color-white);color:var(--color-primary-dark);}
.btn--secondary{background:var(--color-secondary);color:white;border-color:var(--color-secondary);}
.btn--secondary:hover{background:#BF360C;border-color:#BF360C;color:white;}
.hero-image{flex:0.8;text-align:center;}
.hero-image__placeholder{width:100%;max-width:420px;height:320px;margin:0 auto;background:rgba(255,255,255,0.08);border-radius:var(--radius-xl);border:2px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;font-size:5rem;opacity:0.5;}

.hero-stats{display:flex;gap:20px;margin-top:36px;}
.hero-stat{text-align:center;background:rgba(255,255,255,0.12);backdrop-filter:blur(6px);padding:16px 22px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.18);}
.hero-stat__number{font-size:1.8rem;font-weight:800;line-height:1;color:#FFD54F;text-shadow:0 1px 4px rgba(0,0,0,0.2);}
.hero-stat__number span{font-size:0.85rem;font-weight:400;color:rgba(255,255,255,0.9);}
.hero-stat__label{font-size:0.72rem;color:rgba(255,255,255,0.9);margin-top:4px;}

/* ============================================
   Section Common
   ============================================ */
.section{padding:80px 0;}
.section--bg{background:var(--color-bg);}
.section--dark{background:var(--color-primary-dark);color:var(--color-white);}
.section-header{text-align:center;margin-bottom:50px;}
.section-header__en{display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.22em;color:var(--color-primary);font-weight:700;margin-bottom:6px;}
.section-header__title{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-primary-dark);position:relative;display:inline-block;padding-bottom:16px;}
.section-header__title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));border-radius:2px;}
.section--dark .section-header__en{color:var(--color-primary-light);}
.section--dark .section-header__title{color:var(--color-white);}
.section--dark .section-header__title::after{background:linear-gradient(90deg,var(--color-primary-light),var(--color-myanmar));}
.section-header__desc{margin-top:16px;font-size:0.95rem;color:var(--color-text-light);max-width:720px;margin-left:auto;margin-right:auto;}

/* ============================================
   Features / About Cards
   ============================================ */
.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.feature-card{background:var(--color-white);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);border-top:4px solid var(--color-primary);}
.feature-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.feature-card__icon{width:68px;height:68px;margin:0 auto 18px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;}
.feature-card__title{font-size:1.1rem;font-weight:700;margin-bottom:12px;color:var(--color-primary-dark);}
.feature-card__text{font-size:0.85rem;color:var(--color-text-light);line-height:1.75;}

/* ============================================
   Services / Business Area
   ============================================ */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.service-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);display:flex;}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.service-card__icon-area{flex:0 0 100px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:rgba(255,255,255,0.85);}
.service-card__body{flex:1;padding:28px;}
.service-card__title{font-size:1.05rem;font-weight:700;margin-bottom:8px;color:var(--color-primary-dark);}
.service-card__text{font-size:0.85rem;color:var(--color-text-light);line-height:1.7;}

/* ============================================
   Flow Steps
   ============================================ */
.flow-timeline{max-width:800px;margin:0 auto;}
.flow-step{display:flex;gap:28px;margin-bottom:40px;align-items:flex-start;position:relative;}
.flow-step__marker{flex:0 0 72px;text-align:center;position:relative;}
.flow-step__num{width:72px;height:72px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-weight:800;position:relative;z-index:1;}
.flow-step__num-label{font-size:0.55rem;letter-spacing:0.1em;opacity:0.8;}
.flow-step__num-value{font-size:1.4rem;line-height:1;}
.flow-step__line{position:absolute;top:72px;left:50%;width:2px;height:calc(100% + 40px);background:var(--color-border);transform:translateX(-50%);}
.flow-step:last-child .flow-step__line{display:none;}
.flow-step__content{flex:1;background:var(--color-white);padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border-left:4px solid var(--color-primary);}
.flow-step__title{font-size:1.05rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:8px;}
.flow-step__text{font-size:0.88rem;color:var(--color-text-light);line-height:1.8;}

/* ============================================
   About Section
   ============================================ */
.about-content{display:flex;gap:40px;align-items:center;}
.about-image{flex:0 0 400px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.about-image--placeholder{width:100%;height:300px;background:var(--color-accent);display:flex;align-items:center;justify-content:center;color:var(--color-primary);font-size:3rem;}
.about-text{flex:1;}
.about-text h3{font-size:1.4rem;margin-bottom:16px;color:var(--color-primary-dark);}
.about-text p{font-size:0.95rem;color:var(--color-text-light);line-height:2;margin-bottom:12px;}

/* ============================================
   Company Info Table
   ============================================ */
.info-table{max-width:800px;margin:0 auto;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);}
.info-table table{width:100%;border-collapse:collapse;}
.info-table th,.info-table td{padding:16px 24px;text-align:left;border-bottom:1px solid var(--color-border);font-size:0.9rem;}
.info-table th{background:var(--color-accent);color:var(--color-primary-dark);font-weight:600;width:30%;}
.info-table tbody tr:hover{background:rgba(21,101,192,0.03);}

/* ============================================
   CTA Section
   ============================================ */
.cta-section{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);padding:60px 0;text-align:center;color:var(--color-white);}
.cta-section__title{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:12px;color:var(--color-white);}
.cta-section__text{font-size:1rem;opacity:0.9;margin-bottom:30px;}
.cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

/* ============================================
   News
   ============================================ */
.news-list{max-width:800px;margin:0 auto;}
.news-item{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--color-border);}
.news-item__date{font-size:0.8rem;color:var(--color-text-light);white-space:nowrap;}
.news-item__cat{font-size:0.7rem;padding:2px 10px;border-radius:20px;background:var(--color-primary);color:white;white-space:nowrap;}
.news-item__title a{font-size:0.9rem;color:var(--color-text);}
.news-item__title a:hover{color:var(--color-primary);}

/* ============================================
   Myanmar Section
   ============================================ */
.myanmar-banner{background:linear-gradient(135deg,#1B5E20 0%,#2E7D32 50%,#43A047 100%);padding:50px 0;color:white;text-align:center;position:relative;overflow:hidden;}
.myanmar-banner::before{content:'';position:absolute;top:0;left:0;right:0;height:8px;background:var(--color-myanmar);}
.myanmar-banner__title{font-family:var(--font-heading);font-size:1.6rem;margin-bottom:12px;}
.myanmar-banner__text{font-size:0.95rem;opacity:0.9;max-width:700px;margin:0 auto 20px;line-height:1.8;}
.myanmar-flags{display:flex;justify-content:center;gap:40px;margin-top:20px;}
.myanmar-flag{text-align:center;}
.myanmar-flag__icon{font-size:3rem;margin-bottom:4px;}
.myanmar-flag__label{font-size:0.75rem;opacity:0.85;}

/* ============================================
   Footer
   ============================================ */
.site-footer{background:var(--color-primary-dark);color:var(--color-white);padding:60px 0 0;}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;max-width:var(--max-width);margin:0 auto;padding:0 20px;}
.footer-about__name{font-family:var(--font-heading);font-size:1.15rem;margin-bottom:14px;}
.footer-about p{font-size:0.82rem;opacity:0.8;line-height:1.8;margin-bottom:6px;}
.footer-col__title{font-size:0.88rem;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid var(--color-primary);display:inline-block;}
.footer-col ul li{margin-bottom:8px;}
.footer-col ul li a{color:rgba(255,255,255,0.78);font-size:0.82rem;}
.footer-col ul li a:hover{color:var(--color-primary-light);}
.footer-bottom{margin-top:40px;padding:20px 0;border-top:1px solid rgba(255,255,255,0.1);text-align:center;font-size:0.72rem;opacity:0.55;}

/* ============================================
   Page Header
   ============================================ */
.page-header{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));padding:50px 0;text-align:center;color:var(--color-white);}
.page-header__title{font-family:var(--font-heading);font-size:2rem;color:var(--color-white);margin-bottom:8px;}
.page-header__breadcrumb{font-size:0.8rem;opacity:0.8;}
.page-header__breadcrumb a{color:var(--color-white);opacity:0.8;}

/* Page Content */
.page-content{padding:60px 0;}
.page-content .container{max-width:800px;}
.page-content h2{font-size:1.5rem;margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid var(--color-primary);}
.page-content h3{font-size:1.2rem;margin:30px 0 12px;padding-left:16px;border-left:4px solid var(--color-primary);}
.page-content p{margin-bottom:16px;line-height:2;}

/* Contact Form */
.contact-form{max-width:700px;margin:0 auto;background:var(--color-white);padding:40px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.form-group{margin-bottom:24px;}
.form-group label{display:block;font-size:0.9rem;font-weight:600;margin-bottom:8px;color:var(--color-primary-dark);}
.form-group label .required{display:inline-block;background:#e74c3c;color:white;font-size:0.65rem;padding:1px 6px;border-radius:3px;margin-left:6px;}
.form-group input[type="text"],.form-group input[type="email"],.form-group input[type="tel"],.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:0.95rem;font-family:var(--font-main);transition:border-color var(--transition);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(21,101,192,0.1);}
.form-group textarea{min-height:150px;resize:vertical;}
.form-submit{text-align:center;}
.form-submit .btn{min-width:240px;justify-content:center;background:var(--color-primary);color:white;font-size:1.05rem;border:none;}
.form-submit .btn:hover{background:var(--color-primary-dark);}

/* Sidebar */
.content-with-sidebar{display:flex;gap:40px;}
.content-main{flex:1;}
.sidebar{flex:0 0 280px;}
.sidebar-widget{background:var(--color-white);border-radius:var(--radius);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm);}
.sidebar-widget__title{font-size:1rem;font-weight:700;color:var(--color-primary-dark);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-primary);}
.sidebar-widget ul li{margin-bottom:8px;}
.sidebar-widget ul li a{display:flex;align-items:center;gap:6px;font-size:0.85rem;padding:8px 0;border-bottom:1px solid var(--color-border);}
.sidebar-widget ul li a::before{content:'▶';font-size:0.5rem;color:var(--color-primary);}

/* Floating CTA Mobile */
.floating-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--color-white);box-shadow:0 -2px 12px rgba(0,0,0,0.1);padding:8px 12px;}
.floating-cta__inner{display:flex;gap:8px;}
.floating-cta__btn{flex:1;padding:12px;text-align:center;border-radius:var(--radius);font-size:0.85rem;font-weight:700;color:white;}
.floating-cta__btn--tel{background:var(--color-primary-dark);}
.floating-cta__btn--mail{background:var(--color-secondary);}

/* WordPress */
.aligncenter{text-align:center;}
.alignleft{float:left;margin-right:20px;}
.alignright{float:right;margin-left:20px;}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.pagination{display:flex;justify-content:center;gap:4px;margin-top:40px;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius);font-size:0.9rem;border:1px solid var(--color-border);transition:all var(--transition);}
.pagination .current{background:var(--color-primary);color:white;border-color:var(--color-primary);}

/* ============================================
   Responsive
   ============================================ */
@media(max-width:1024px){
  .features-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .about-content{flex-direction:column;}
  .about-image{flex:0 0 auto;width:100%;}
}
@media(max-width:768px){
  :root{--header-height:64px;}
  .top-bar{display:none;}
  .header-contact{display:none;}
  .menu-toggle{display:flex;align-items:center;justify-content:center;}
  .main-nav{display:none;}
  .main-nav.active{display:block;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-primary-dark);z-index:999;}
  .main-nav.active ul{flex-direction:column;}
  .main-nav.active li{border-right:none;border-bottom:1px solid rgba(255,255,255,0.1);}
  .hero .container{flex-direction:column;text-align:center;}
  .hero-title{font-size:1.7rem;}
  .hero-subtitle{margin-left:auto;margin-right:auto;}
  .hero-buttons{justify-content:center;}
  .hero-stats{flex-wrap:wrap;justify-content:center;}
  .features-grid{grid-template-columns:1fr;}
  .flow-step{flex-direction:column;align-items:center;text-align:center;}
  .flow-step__line{display:none;}
  .flow-step__content{border-left:none;border-top:4px solid var(--color-primary);}
  .footer-inner{grid-template-columns:1fr;}
  .floating-cta{display:block;}
  .content-with-sidebar{flex-direction:column;}
  .sidebar{flex:0 0 auto;}
  .cta-buttons{flex-direction:column;align-items:center;}
  body{padding-bottom:60px;}
  .service-card{flex-direction:column;}
  .service-card__icon-area{flex:0 0 80px;width:100%;}
}
