/*
Theme Name: 紅い靴結婚紹介倶楽部
Theme URI: https://sh8.net/
Author: 一般社団法人ジャシボ
Description: 紅い靴結婚紹介倶楽部（AKAIKUTSU）専用の公開サイトテーマ。日本と中華圏を結ぶ国際結婚紹介と新生活支援。
Version: 2.0.5
Text Domain: akaikutsu-brand
*/
:root{--red:#d5222d;--deep:#a40f20;--rose:#fff4f4;--pink:#f9dfe2;--ink:#35272a;--muted:#756568;--line:#f0d9dc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}
a{text-decoration:none;color:inherit}.site-shell{overflow:hidden;background:#fff}
.ak-header{background:rgba(255,255,255,.97);border-bottom:1px solid #f5e3e5;position:sticky;top:0;z-index:100}
.ak-header-top{max-width:1440px;margin:auto;min-height:88px;padding:10px 38px;display:flex;align-items:center;gap:28px}
.ak-logo{display:flex;align-items:center;gap:12px;min-width:285px}.ak-logo img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center top}.ak-logo-jp{font-size:29px;color:var(--red);letter-spacing:.12em;line-height:1}.ak-logo-en{font:700 11px/1.2 Georgia,serif;color:var(--red);letter-spacing:.18em;margin-top:5px}.ak-logo-sub{font-size:12px;color:#9c3943;margin-top:4px;letter-spacing:.08em}
.ak-login-row{margin-left:auto;display:flex;gap:10px;align-items:center}.ak-login{min-width:135px;border:1px solid #ef9ca3;border-radius:999px;padding:10px 14px;display:flex;align-items:center;justify-content:center;gap:8px;color:#d62733;background:#fff;font-family:Arial,sans-serif}.ak-login b{font-size:12px}.ak-login small{display:block;font-size:7px;letter-spacing:.12em}.ak-login .ico{font-size:19px}
.ak-nav{border-top:1px solid #faeeee}.ak-nav-inner{max-width:1080px;margin:auto;display:flex;justify-content:center;gap:38px}.ak-nav a{padding:14px 0 12px;text-align:center;font-size:11px;position:relative}.ak-nav a small{display:block;font:700 7px Arial,sans-serif;color:#e24b54;margin-top:4px}.ak-nav a:first-child:after{content:"";height:2px;background:var(--red);position:absolute;left:0;right:0;bottom:0}
.ak-hero{min-height:600px;position:relative;background:linear-gradient(90deg,#fff 0%,#fff 56%,#fff9f9 100%);display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:40px max(6vw,50px);gap:20px}.ak-copy{max-width:620px;z-index:2}.ak-copy h1{font-size:clamp(42px,4.2vw,68px);font-weight:500;line-height:1.5;color:#c9202b;letter-spacing:.08em;margin:0 0 18px}.ak-copy .lead{font-size:16px;line-height:2;color:#3f3436}.ak-checks{margin:22px 0 28px;padding:0;list-style:none}.ak-checks li{margin:11px 0;font-size:13px}.ak-checks li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffb2b5;color:#fff;margin-right:8px;font-family:Arial;font-weight:bold}
.ak-cta{display:flex;gap:14px;flex-wrap:wrap}.ak-btn{display:inline-flex;align-items:center;justify-content:center;min-width:185px;padding:15px 22px;border-radius:999px;font-size:12px;font-weight:700}.ak-btn.primary{background:linear-gradient(135deg,#d51d28,#e73a42);color:#fff;box-shadow:0 12px 28px rgba(197,30,43,.18)}.ak-btn.secondary{border:1px solid #e9767d;color:#d52933;background:#fff}
.ak-hero-art{position:relative;min-height:500px;display:grid;place-items:center;z-index:2}.ak-circle{width:min(520px,45vw);height:min(520px,45vw);border:3px solid #d8232e;border-radius:50%;position:absolute;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ed8e94}.ak-girl{width:min(520px,45vw);height:min(520px,45vw);object-fit:cover;object-position:center 2%;border-radius:50%;position:relative;z-index:2;mix-blend-mode:multiply}
.ak-section{padding:72px max(5vw,40px)}.ak-section-title{text-align:center;margin-bottom:38px}.ak-section-title small{font:700 9px Arial,sans-serif;letter-spacing:.18em;color:#df4650}.ak-section-title h2{font-size:34px;font-weight:500;color:#bd202b;margin:8px 0}.ak-section-title p{font-size:13px;color:var(--muted);line-height:1.9}
.ak-flow{background:#fff}.ak-flow-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}.ak-step{text-align:center;position:relative}.ak-step:not(:last-child):after{content:"→";position:absolute;right:-25px;top:45px;color:#e96a71;font-size:22px}.ak-step-icon{width:92px;height:92px;border:1px solid #efb1b5;border-radius:50%;margin:auto;display:grid;place-items:center;font-size:35px;color:#e32832}.ak-step small{display:block;font:700 9px Arial;color:#d7333d;margin-top:12px}.ak-step b{display:block;font-size:16px;margin:7px 0}.ak-step p{font-size:10px;line-height:1.7;color:#6e5d60}
.ak-services{padding-top:20px}.ak-service-grid{max-width:1260px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ak-card{border:1px solid #f1dfe1;border-radius:8px;padding:25px 22px;background:#fff;box-shadow:0 6px 18px rgba(100,40,50,.035)}.ak-card .icon{font-size:34px;color:#e22530}.ak-card h3{font-size:15px;color:#d52731;margin:13px 0 8px}.ak-card p{font-size:10px;line-height:1.8;color:#6f5d61}.ak-card a{display:inline-block;margin-top:12px;border:1px solid #e98a90;border-radius:999px;padding:8px 28px;font-size:9px;color:#d92c36}
.ak-news{background:linear-gradient(180deg,#fff,#fff9f9)}.ak-news-wrap{max-width:1260px;margin:auto;display:grid;grid-template-columns:180px 1fr;gap:25px}.ak-news-head h2{color:#c9232e;font-size:23px;margin:0}.ak-news-head small{font:700 9px Arial;color:#df4b55}.ak-news-head a{display:block;margin-top:25px;font-size:10px;color:#b43b43}.ak-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ak-news-item{display:grid;grid-template-columns:100px 1fr;gap:12px}.ak-news-thumb{height:100px;border-radius:5px;background:#f8e6e7;overflow:hidden}.ak-news-thumb img{width:100%;height:100%;object-fit:cover}.ak-news-item time{font:11px Arial;color:#5f5557}.ak-news-item b{display:block;font-size:12px;line-height:1.55;margin-top:7px}.ak-news-item p{font-size:9px;color:#766568;line-height:1.6}
.ak-brand-message{max-width:1200px;margin:auto;padding:48px 30px;border-top:1px solid #f2d9dc;display:grid;grid-template-columns:300px 1fr;gap:55px;align-items:center}.ak-brand-message .brand-title{color:#c9242f;font-size:27px;letter-spacing:.1em}.ak-brand-message .brand-title small{display:block;font:700 11px Georgia;letter-spacing:.2em}.ak-brand-message h2{color:#c92a34;font-size:24px;font-weight:500;line-height:1.6}.ak-brand-message p{font-size:11px;color:#66575a;line-height:1.9}
.ak-footer{border-top:1px solid #f0d8db;padding:30px max(5vw,40px) 40px;background:#fffafa}.ak-footer-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1.2fr;gap:40px}.ak-footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:10px}.ak-company{margin-top:16px;font-size:10px;color:#66585a}.ak-copy-right{font:9px Arial;color:#8d7a7d;margin-top:8px}
@media(max-width:1050px){.ak-login{min-width:auto}.ak-login small{display:none}.ak-nav-inner{gap:20px}.ak-flow-grid{grid-template-columns:repeat(3,1fr)}.ak-step:after{display:none}.ak-service-grid{grid-template-columns:repeat(2,1fr)}.ak-news-grid{grid-template-columns:1fr}.ak-news-item{grid-template-columns:120px 1fr}}
@media(max-width:760px){.ak-header-top{padding:10px 15px;flex-wrap:wrap}.ak-logo{min-width:0}.ak-logo-jp{font-size:22px}.ak-login-row{width:100%;margin:0;display:grid;grid-template-columns:repeat(3,1fr)}.ak-login{padding:8px 5px}.ak-nav{overflow:auto}.ak-nav-inner{width:max-content;padding:0 18px;gap:24px}.ak-hero{grid-template-columns:1fr;padding:48px 22px}.ak-copy h1{font-size:40px}.ak-hero-art{min-height:390px}.ak-circle,.ak-girl{width:360px;height:360px;max-width:92vw;max-height:92vw}.ak-flow-grid,.ak-service-grid{grid-template-columns:1fr}.ak-news-wrap{grid-template-columns:1fr}.ak-brand-message,.ak-footer-inner{grid-template-columns:1fr}.ak-step:not(:last-child):after{display:none}}

/* === Fixed content pages v1.1.0 === */
.ak-page-hero{padding:72px 24px 55px;text-align:center;background:linear-gradient(180deg,#fff7f7,#fff);border-bottom:1px solid #f2dadd}
.ak-page-hero small{font:700 9px Arial,sans-serif;letter-spacing:.2em;color:#db3945}.ak-page-hero h1{font-size:38px;font-weight:500;color:#c8212d;margin:9px 0 12px}.ak-page-hero p{max-width:760px;margin:auto;font-size:13px;line-height:1.9;color:#756367}
.ak-page{max-width:1040px;margin:auto;padding:55px 24px 80px}.ak-page h2{font-size:25px;font-weight:500;color:#b91f2a;border-bottom:1px solid #efd8db;padding-bottom:12px;margin:44px 0 18px}.ak-page h3{font-size:17px;color:#8f2832;margin:27px 0 10px}.ak-page p,.ak-page li{font-size:13px;line-height:2;color:#57494c}.ak-page ul,.ak-page ol{padding-left:1.6em}
.ak-page-card{background:#fffafa;border:1px solid #f0dcdf;border-radius:12px;padding:22px 25px;margin:18px 0}.ak-page-note{background:#fff3f3;border-left:3px solid #d62c37;padding:15px 18px;margin:20px 0;font-size:12px;line-height:1.8}
.ak-page-table{width:100%;border-collapse:collapse;margin:18px 0}.ak-page-table th,.ak-page-table td{border-bottom:1px solid #eedbdd;padding:14px 12px;text-align:left;font-size:12px;line-height:1.7}.ak-page-table th{width:28%;color:#9f2630;background:#fff9f9}
.ak-contact-box{text-align:center;background:linear-gradient(135deg,#fff4f4,#fff);border:1px solid #efcfd3;border-radius:14px;padding:34px 22px;margin-top:35px}.ak-contact-box h2{border:0;margin:0 0 10px;padding:0}.ak-contact-box .ak-btn{margin-top:12px}
@media(max-width:700px){.ak-page-hero h1{font-size:30px}.ak-page-table th,.ak-page-table td{display:block;width:100%}.ak-page-table th{border-bottom:0;padding-bottom:4px}.ak-page-table td{padding-top:4px}}


/* === Unified Brand Homepage v1.2.0 === */
.ak-mainvisual{position:relative;background:#fff;overflow:hidden}
.ak-mainvisual-inner{max-width:1600px;margin:0 auto;position:relative}
.ak-mainvisual img{display:block;width:100%;height:auto}
.ak-mainvisual-actions{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:12px;justify-content:center;flex-wrap:wrap;z-index:3}
.ak-mainvisual-actions .ak-btn{box-shadow:0 10px 25px rgba(134,25,39,.14);backdrop-filter:blur(3px)}
.ak-mainvisual-actions .secondary{background:rgba(255,255,255,.92)}
.ak-mainvisual-note{text-align:center;padding:11px 18px 12px;background:#fff8f8;border-top:1px solid #f5e4e6;border-bottom:1px solid #f4dcdf;color:#8a5960;font-size:10px;letter-spacing:.06em}

.ak-intro{padding:72px max(6vw,40px);background:#fff}
.ak-intro-inner{max-width:1120px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}
.ak-intro h2{font-size:34px;line-height:1.65;color:#c5222d;font-weight:500;margin:6px 0}
.ak-intro small{font:700 9px Arial,sans-serif;letter-spacing:.2em;color:#df4650}
.ak-intro-copy p{font-size:13px;line-height:2;color:#645256;margin:0 0 18px}
.ak-intro-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ak-intro-badges span{border:1px solid #efc6ca;background:#fffafa;border-radius:999px;padding:8px 12px;font-size:10px;color:#a52a34}

.ak-brand-login{background:linear-gradient(180deg,#fff7f7,#fff);padding:54px max(5vw,30px)}
.ak-brand-login-inner{max-width:1050px;margin:auto}
.ak-brand-login-title{text-align:center;margin-bottom:26px}.ak-brand-login-title h2{font-size:27px;color:#c4222d;font-weight:500;margin:7px 0}.ak-brand-login-title p{font-size:11px;color:#7c686b}
.ak-brand-login-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ak-brand-login-card{background:#fff;border:1px solid #efd8db;border-radius:14px;padding:24px;text-align:center;box-shadow:0 8px 24px rgba(100,40,50,.04)}
.ak-brand-login-card .icon{font-size:30px}.ak-brand-login-card b{display:block;font-size:15px;color:#a6212c;margin:10px 0 5px}.ak-brand-login-card small{font:700 8px Arial;color:#d6545d;letter-spacing:.12em}.ak-brand-login-card p{font-size:10px;line-height:1.7;color:#766266;margin:12px 0}.ak-brand-login-card a{display:inline-block;border:1px solid #e4767d;border-radius:999px;padding:9px 24px;color:#ce2933;font-size:10px}

.ak-series-band{padding:70px max(6vw,40px);background:linear-gradient(135deg,#87172d,#c72f43);color:#fff}
.ak-series-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ak-series-band small{font:700 9px Arial;letter-spacing:.2em;color:#f4c7cd}.ak-series-band h2{font-size:30px;font-weight:500;line-height:1.6;margin:8px 0 12px}.ak-series-band p{font-size:11px;line-height:1.9;color:#f2dce0}
.ak-series-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ak-series-list span{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);border-radius:10px;padding:14px;font-size:10px}

.ak-footer-links a{transition:.2s}.ak-footer-links a:hover{color:#c8202b}
body.home .ak-section{scroll-margin-top:150px}

@media(max-width:900px){
  .ak-mainvisual-actions{position:static;transform:none;padding:16px 20px 22px;background:#fff;left:auto;bottom:auto}
  .ak-intro-inner,.ak-series-inner{grid-template-columns:1fr}
  .ak-brand-login-grid{grid-template-columns:1fr}
  .ak-series-list{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .ak-mainvisual img{width:140%;max-width:none;margin-left:-20%}
  .ak-intro{padding:55px 22px}.ak-intro h2{font-size:28px}
  .ak-series-list{grid-template-columns:1fr}
}


/* === v1.2.1 Hero overlap fix === */
.ak-mainvisual-inner{max-width:1600px;margin:0 auto;position:relative}
.ak-mainvisual img{display:block;width:100%;height:auto}
.ak-mainvisual-actions{
    position:static !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:14px;
    padding:22px 20px 18px;
    background:#fff;
    border-top:1px solid #f5e4e6;
}
.ak-mainvisual-actions .ak-btn{
    min-width:205px;
    position:relative;
    z-index:1;
}
.ak-mainvisual-note{
    margin:0;
    padding:12px 18px 13px;
    border-top:1px solid #f6e7e9;
}
@media(max-width:600px){
    .ak-mainvisual-actions{padding:16px 16px 14px}
    .ak-mainvisual-actions .ak-btn{width:100%;max-width:320px}
}


/* === v1.3.0 Approved navigation / top layout === */
.ak-nav{background:#fff;border-top:1px solid #f7ecee;border-bottom:2px solid #ed2835}
.ak-nav-inner{max-width:1380px;margin:auto;display:grid;grid-template-columns:repeat(8,1fr)}
.ak-nav a{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
padding:10px 6px;border-right:1px solid #f0e4e5;font-size:15px;font-weight:700;color:#3f282b;text-align:center}
.ak-nav a:first-child{border-left:1px solid #f0e4e5}
.ak-nav a small{font:700 10px Arial,sans-serif;color:#e12632;letter-spacing:.02em}
.ak-nav a .ak-nav-icon{font-size:25px;line-height:1;color:#e12632;margin-bottom:3px}
.ak-nav a:hover,.ak-nav a.active{background:#fff8f8;color:#c81e2a}
.ak-nav a.active{box-shadow:inset 0 -4px 0 #e12632}

.ak-approved-hero{background:#fff;text-align:center;overflow:hidden}
.ak-approved-hero img{display:block;width:100%;height:auto;max-width:1536px;margin:auto}
.ak-approved-hero-caption{padding:12px 20px 18px;background:#fff}
.ak-approved-hero-caption p{margin:0;font-size:11px;color:#86666b;letter-spacing:.05em}

@media(max-width:1000px){
 .ak-nav-inner{grid-template-columns:repeat(4,1fr)}
 .ak-nav a{min-height:82px;font-size:13px}
}
@media(max-width:600px){
 .ak-nav-inner{grid-template-columns:repeat(2,1fr)}
 .ak-nav a{min-height:72px}
 .ak-approved-hero img{width:150%;max-width:none;margin-left:-25%}
}


/* === v1.4.0 Header / Navigation cleanup === */
.ak-header{position:sticky;top:32px;z-index:100;background:#fff}
body:not(.admin-bar) .ak-header{top:0}
.ak-header-top{
    min-height:122px;
    padding:14px 48px;
    display:flex;
    align-items:center;
    gap:30px;
}
.ak-logo{min-width:360px}
.ak-logo img{
    width:76px;
    height:76px;
    object-fit:cover;
    object-position:center 2%;
}
.ak-logo-jp{font-size:30px}
.ak-logo-en{font-size:12px}
.ak-logo-sub{font-size:13px}

.ak-login-row{margin-left:auto;display:flex;gap:16px}
.ak-login{
    min-width:180px;
    min-height:66px;
    border-radius:14px;
    border:1px solid #ef6e77;
    font-family:Arial,"Yu Gothic",sans-serif;
}
.ak-login b{font-size:15px;color:#df1f2e}
.ak-login small{font-size:9px}
.ak-login .ico{font-size:24px}

.ak-nav{background:#fff;border-top:1px solid #f3e4e6;border-bottom:2px solid #ed2835}
.ak-nav-inner{
    max-width:none;
    width:100%;
    margin:0;
    display:grid;
    grid-template-columns:repeat(8,1fr);
    gap:0;
}
.ak-nav a{
    min-height:126px;
    padding:15px 8px 13px;
    border-right:1px solid #f0e4e5;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size:18px;
    font-weight:700;
    color:#3d292c;
}
.ak-nav a:first-child{border-left:1px solid #f0e4e5}
.ak-nav a .ak-nav-icon{
    font-size:34px;
    color:#e32431;
    margin-bottom:8px;
}
.ak-nav a small{
    margin-top:8px;
    font:700 11px Arial,sans-serif;
    color:#e32431;
}
.ak-nav a:hover{background:#fff8f8}
.ak-nav a.active{
    background:#fffafa;
    box-shadow:inset 0 -4px 0 #e32431;
}

/* One real HTML nav only. Hero image contains no nav/header. */
.ak-approved-hero{
    background:#fff;
    border-bottom:1px solid #f2dfe1;
    overflow:hidden;
}
.ak-approved-hero img{
    display:block;
    width:100%;
    height:auto;
    max-width:1536px;
    margin:0 auto;
}
.ak-approved-hero-caption{
    padding:13px 18px 14px;
    text-align:center;
    background:#fff9f9;
    border-top:1px solid #f4e0e2;
}
.ak-approved-hero-caption p{
    margin:0;
    font-size:11px;
    color:#855f65;
}

@media(max-width:1200px){
    .ak-header-top{padding:12px 24px}
    .ak-logo{min-width:300px}
    .ak-login{min-width:145px}
    .ak-nav a{font-size:15px;min-height:112px}
}
@media(max-width:900px){
    .ak-header{position:relative;top:0}
    .ak-header-top{flex-wrap:wrap}
    .ak-login-row{width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-left:0}
    .ak-login{min-width:0}
    .ak-nav-inner{grid-template-columns:repeat(4,1fr)}
    .ak-nav a{min-height:96px}
}
@media(max-width:600px){
    .ak-header-top{padding:10px 14px}
    .ak-logo{min-width:0;flex:1}
    .ak-logo img{width:58px;height:58px}
    .ak-logo-jp{font-size:22px}
    .ak-logo-en{font-size:9px}
    .ak-logo-sub{font-size:10px}
    .ak-login-row{grid-template-columns:1fr}
    .ak-login{min-height:52px}
    .ak-nav-inner{grid-template-columns:repeat(2,1fr)}
    .ak-nav a{min-height:82px;font-size:14px}
    .ak-nav a .ak-nav-icon{font-size:26px}
}


/* === v1.5.0 Approved final visual behavior === */
.ak-nav a{
    transition:background-color .20s ease,color .20s ease,box-shadow .20s ease,transform .20s ease;
}
.ak-nav a:hover,
.ak-nav a:focus-visible{
    background:#fff0f2 !important;
    color:#c71928 !important;
    box-shadow:inset 0 -4px 0 #e52331;
    outline:none;
}
.ak-nav a:hover .ak-nav-icon,
.ak-nav a:focus-visible .ak-nav-icon{
    transform:translateY(-2px);
}
.ak-nav-icon{
    transition:transform .20s ease;
}
.ak-login{
    transition:background-color .20s ease,border-color .20s ease,box-shadow .20s ease,transform .20s ease;
}
.ak-login:hover,
.ak-login:focus-visible{
    background:#fff1f3;
    border-color:#e32634;
    box-shadow:0 7px 18px rgba(185,25,42,.10);
    transform:translateY(-1px);
    outline:none;
}
.ak-approved-hero{
    position:relative;
    overflow:visible;
}
.ak-approved-hero img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center top;
}


/* === v1.6.0 Hero clearance / circle visibility === */
.ak-approved-hero{
    background:#fff;
    overflow:visible !important;
    padding-top:22px;
}
.ak-approved-hero img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center top;
    max-width:1536px;
    margin:0 auto;
}
.ak-approved-hero-caption{
    margin-top:0;
}

/* Keep a clear visual gap between navigation and the circular hero mark. */
.ak-nav + .ak-approved-hero{
    padding-top:24px;
}

/* Make sure sticky header does not visually overlap the hero. */
body.admin-bar .ak-header{top:32px}
body:not(.admin-bar) .ak-header{top:0}

@media(max-width:900px){
    .ak-approved-hero{padding-top:18px}
}
@media(max-width:600px){
    .ak-approved-hero{padding-top:14px}
    .ak-approved-hero img{
        width:125%;
        max-width:none;
        margin-left:-12.5%;
    }
}


/* === v1.7.0 AI News article cards === */
.ak-news-item .ak-news-region{
    display:inline-block;
    margin:0 0 5px;
    padding:3px 7px;
    border-radius:999px;
    background:#fff0f2;
    color:#c8202b;
    font:700 8px Arial,sans-serif;
}
.ak-news-item .ak-news-source{
    display:block;
    margin-top:7px;
    font-size:8px;
    color:#9a7c81;
}


/* === v1.8.0 International Marriage News Design === */
.ak-news-thumb.ak-title-eyecatch,
.ak-article-eyecatch{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#fff7f7 0%,#f9dfe3 52%,#fff 100%);
  border:1px solid #f1cfd4;
}
.ak-title-eyecatch{min-height:155px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}

.ak-title-eyecatch .region{position:relative;z-index:1;font:700 9px Arial;color:#d52230;letter-spacing:.08em}
.ak-title-eyecatch strong{position:relative;z-index:1;display:block;color:#8f1c28;font-size:17px;line-height:1.5;font-weight:700}
.ak-title-eyecatch small{position:relative;z-index:1;color:#b95d66;font:700 8px Arial;letter-spacing:.13em}

.ak-single-news{background:#fffafa;padding:55px 24px 90px}
.ak-single-wrap{max-width:1080px;margin:auto}
.ak-breadcrumbs{font-size:11px;color:#9a7d81;margin-bottom:18px}
.ak-article-eyecatch{border-radius:20px;padding:55px 6vw;margin-bottom:30px;min-height:300px;display:flex;align-items:center}
.ak-article-eyecatch .inner{position:relative;z-index:2;max-width:850px}
.ak-article-eyecatch .meta{display:flex;gap:9px;align-items:center;margin-bottom:18px;font-size:11px;color:#84666a}
.ak-article-eyecatch .pill{background:#fff;border:1px solid #efc6cc;color:#cf2431;border-radius:999px;padding:6px 11px;font-weight:700}
.ak-article-eyecatch h1{font-size:36px;line-height:1.55;color:#7f1825;font-weight:600;margin:0 0 18px}
.ak-article-eyecatch .lead{font-size:14px;line-height:1.9;color:#735c60;margin:0}

.ak-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:start}
.ak-article-body{background:#fff;border:1px solid #f1e1e3;border-radius:16px;padding:42px 48px;box-shadow:0 12px 34px rgba(103,43,51,.04)}
.ak-article-body h2{font-size:24px;color:#b9202d;border-left:4px solid #df2a37;padding-left:14px;margin:38px 0 18px}
.ak-article-body h2:first-child{margin-top:0}
.ak-article-body h3{font-size:19px;color:#7f2730;margin-top:30px}
.ak-article-body p,.ak-article-body li{font-size:14px;line-height:2;color:#4f4446}
.ak-article-body a{color:#c4212e;text-decoration:underline}
.ak-article-body blockquote{background:#fff5f6;border-left:4px solid #e15b66;margin:24px 0;padding:18px 22px}

.ak-news-side{position:sticky;top:300px}
.ak-news-side-box{background:#fff;border:1px solid #f0dadd;border-radius:14px;padding:22px;margin-bottom:16px}
.ak-news-side-box h3{font-size:16px;color:#a31d29;margin:0 0 12px}
.ak-news-side-box p,.ak-news-side-box a{font-size:11px;line-height:1.8}
.ak-news-side-box .ak-btn{display:block;text-align:center;margin-top:12px}

.ak-related{margin-top:55px}
.ak-related-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #efd9dc;padding-bottom:12px;margin-bottom:20px}
.ak-related-head h2{margin:0;color:#a91e2a;font-size:26px}
.ak-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ak-related-card{display:block;background:#fff;border:1px solid #efdcdf;border-radius:14px;overflow:hidden;transition:.2s}
.ak-related-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(117,37,48,.08)}
.ak-related-card .ak-title-eyecatch{border:0;border-radius:0;min-height:180px}
.ak-related-copy{padding:17px}.ak-related-copy time{font-size:9px;color:#a9868b}.ak-related-copy b{display:block;margin-top:7px;color:#502f34;font-size:13px;line-height:1.65}

@media(max-width:850px){
 .ak-article-layout{grid-template-columns:1fr}.ak-news-side{position:static}
 .ak-related-grid{grid-template-columns:1fr}.ak-article-eyecatch h1{font-size:28px}
 .ak-article-body{padding:30px 24px}
}

/* === v1.9.0 Red Shoes Platform pages === */
.ak-series-list a{color:#fff;text-decoration:none;display:flex;align-items:center;min-height:70px;padding:0 22px;border:1px solid rgba(255,255,255,.28);border-radius:14px;transition:.2s}
.ak-series-list a:hover{background:rgba(255,255,255,.15);transform:translateY(-2px);border-color:rgba(255,255,255,.6)}
.ak-platform-page{background:#fffafa;padding:52px 22px 90px}.ak-platform-wrap{max-width:1120px;margin:auto}
.ak-platform-hero{position:relative;overflow:hidden;border-radius:24px;padding:55px 6%;background:linear-gradient(135deg,#9d1830,#c62c45 60%,#e55c70);color:#fff;margin-bottom:34px}

.ak-platform-kicker{font:700 10px Arial;letter-spacing:.18em;opacity:.82}.ak-platform-hero h1{font-size:38px;line-height:1.45;margin:12px 0 14px;position:relative;z-index:1}.ak-platform-hero p{font-size:15px;line-height:2;max-width:760px;position:relative;z-index:1}
.ak-platform-intro{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-bottom:30px}.ak-platform-card{background:#fff;border:1px solid #f0d9dd;border-radius:18px;padding:30px}
.ak-platform-card h2,.ak-platform-section h2{color:#a61d2d;font-size:25px;margin:0 0 15px}.ak-platform-card p,.ak-platform-card li,.ak-platform-section p{font-size:13px;line-height:2;color:#514347}.ak-platform-list{padding-left:1.4em}
.ak-platform-section{margin-top:32px}.ak-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ak-platform-step{background:#fff;border:1px solid #efdadd;border-radius:16px;padding:24px}.ak-platform-step .num{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#c5253a;color:#fff;font:700 11px Arial}.ak-platform-step h3{font-size:17px;color:#82232f;margin:13px 0 8px}
.ak-platform-cta{margin-top:38px;background:#fff0f2;border:1px solid #f0ccd1;border-radius:18px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.ak-platform-cta h2{margin:0 0 7px;font-size:22px;color:#9e1e2c}.ak-platform-cta p{margin:0}
.ak-platform-links{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.ak-platform-links a{display:block;border:1px solid #eccbd0;border-radius:13px;padding:18px 20px;background:#fff;color:#9c1f2e;font-weight:700;transition:.2s}.ak-platform-links a:hover{background:#b72138;color:#fff}
@media(max-width:800px){.ak-platform-intro,.ak-platform-grid,.ak-platform-links{grid-template-columns:1fr}.ak-platform-hero h1{font-size:29px}.ak-platform-cta{display:block}}


/* === v2.0.0 International Marriage News Center === */
.ak-news-home{padding:78px max(5vw,36px);background:linear-gradient(180deg,#fff,#fff9f9)}
.ak-news-home-inner{max-width:1380px;margin:auto}
.ak-news-home-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.ak-news-home-head h2{font-size:32px;color:#b91e2b;font-weight:500;margin:0}
.ak-news-home-head small{display:block;font:700 9px Arial;letter-spacing:.16em;color:#e04b56;margin-bottom:7px}
.ak-news-home-head p{font-size:11px;color:#806a6e;margin:7px 0 0}
.ak-news-home-head a{font-size:11px;color:#c22230;border:1px solid #e9bfc4;border-radius:999px;padding:10px 16px;background:#fff}

.ak-news-featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ak-news-feature-card{display:block;background:#fff;border:1px solid #efdadd;border-radius:15px;overflow:hidden;transition:.2s}
.ak-news-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(105,36,47,.08)}
.ak-news-feature-card .ak-title-eyecatch{border:0;border-radius:0;min-height:190px}
.ak-news-feature-copy{padding:16px}
.ak-news-feature-copy .meta{display:flex;align-items:center;gap:8px;font-size:9px;color:#9b7d82;margin-bottom:8px}
.ak-news-feature-copy .region{background:#fff0f2;color:#c62230;border-radius:999px;padding:3px 7px;font-weight:700}
.ak-news-feature-copy b{display:block;font-size:14px;line-height:1.7;color:#4f3136}
.ak-news-feature-copy p{font-size:10px;line-height:1.7;color:#806c70;margin:8px 0 0}

.ak-news-more{margin-top:26px;background:#fff;border:1px solid #efdadd;border-radius:15px;padding:20px 22px}
.ak-news-more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.ak-news-more-head h3{font-size:18px;color:#a51d2a;margin:0}
.ak-news-title-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:28px}
.ak-news-title-list li{border-top:1px solid #f1e4e6}
.ak-news-title-list a{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:12px 3px;color:#4d393d}
.ak-news-title-list a:hover{color:#bd1d2b;background:#fffafa}
.ak-news-title-list time{font:10px Arial;color:#9c8286}
.ak-news-title-list b{font-size:11px;line-height:1.55}
.ak-news-title-list span{font-size:11px;color:#d02a36}

.ak-news-center{background:#fffafa;padding:52px 22px 90px}
.ak-news-center-wrap{max-width:1280px;margin:auto}
.ak-news-center-hero{background:linear-gradient(135deg,#8f172d,#c62d44);color:#fff;border-radius:22px;padding:45px 5%;margin-bottom:24px}
.ak-news-center-hero small{font:700 10px Arial;letter-spacing:.17em;color:#f3c8ce}
.ak-news-center-hero h1{font-size:36px;margin:9px 0 12px;font-weight:500}
.ak-news-center-hero p{font-size:13px;line-height:1.9;max-width:850px;margin:0;color:#f6e4e7}

.ak-news-search-panel{background:#fff;border:1px solid #eedadd;border-radius:16px;padding:20px;margin-bottom:28px}
.ak-news-search-form{display:grid;grid-template-columns:1.5fr .8fr .8fr auto;gap:10px}
.ak-news-search-form input,.ak-news-search-form select{width:100%;min-height:42px;border:1px solid #dfc7cb;border-radius:9px;padding:8px 10px;background:#fff}
.ak-news-search-form button{border:0;border-radius:9px;background:#bd2030;color:#fff;padding:0 20px;font-weight:700}
.ak-news-search-help{font-size:9px;color:#987f83;margin-top:8px}

.ak-news-center-section{margin-top:32px}
.ak-news-center-section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #ecd5d8;padding-bottom:10px;margin-bottom:16px}
.ak-news-center-section-head h2{font-size:25px;color:#a81e2a;margin:0}
.ak-news-center-section-head span{font-size:9px;color:#a5898e}
.ak-news-center-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ak-news-center-list{background:#fff;border:1px solid #efdadd;border-radius:14px;padding:5px 20px}
.ak-news-center-row{display:grid;grid-template-columns:100px 80px 1fr 90px;gap:12px;align-items:center;padding:14px 4px;border-top:1px solid #f1e5e7}
.ak-news-center-row:first-child{border-top:0}
.ak-news-center-row time{font:10px Arial;color:#987e82}
.ak-news-center-row .region{font-size:9px;color:#c4212e;background:#fff0f2;border-radius:999px;padding:4px 8px;text-align:center}
.ak-news-center-row a{font-size:12px;line-height:1.6;color:#49373a}
.ak-news-center-row a:hover{color:#bd1d2b}
.ak-news-center-row .type{font-size:9px;color:#9e878b;text-align:right}
.ak-news-pagination{margin-top:25px}
.ak-news-pagination .page-numbers{display:inline-block;padding:7px 11px;margin:2px;border:1px solid #e5cbd0;border-radius:7px;background:#fff;color:#a41f2b}
.ak-news-pagination .current{background:#b9202f;color:#fff}

@media(max-width:1050px){
 .ak-news-featured-grid,.ak-news-center-grid{grid-template-columns:repeat(2,1fr)}
 .ak-news-search-form{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .ak-news-home{padding:58px 20px}.ak-news-home-head{display:block}.ak-news-home-head a{display:inline-block;margin-top:12px}
 .ak-news-featured-grid,.ak-news-center-grid,.ak-news-title-list{grid-template-columns:1fr}
 .ak-news-title-list a{grid-template-columns:80px 1fr auto}
 .ak-news-search-form{grid-template-columns:1fr}
 .ak-news-center-row{grid-template-columns:80px 1fr}.ak-news-center-row .region,.ak-news-center-row .type{display:none}
}


/* === v2.0.1 Full-width responsive restoration ===
   Restore the original wide layout: browser width is used dynamically,
   while small internal padding keeps content away from screen edges.
*/
html, body {
  width: 100%;
  max-width: none;
  overflow-x: hidden;
}

.ak-site,
.site,
.site-content,
.site-main,
.ak-header,
.ak-header-inner,
.ak-main-nav,
.ak-main-nav-inner,
.ak-hero,
.ak-hero-inner,
.ak-news-home,
.ak-news-home-inner,
.ak-news-center,
.ak-news-center-wrap,
.ak-platform,
.ak-platform-inner,
main {
  width: 100%;
  max-width: none !important;
  box-sizing: border-box;
}

/* Header/logo/login row */
.ak-header-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(24px, 4vw, 72px) !important;
  padding-right: clamp(24px, 4vw, 72px) !important;
}

/* Navigation uses the full browser width. */
.ak-main-nav,
.ak-main-nav-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ak-main-nav-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hero artwork follows viewport width rather than a fixed central column. */
.ak-hero,
.ak-hero-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ak-hero img,
.ak-hero-picture img,
.ak-hero-visual img {
  width: 100%;
  max-width: none;
  height: auto;
}

/* Main public sections: full-width outer canvas, fluid readable padding. */
.ak-news-home,
.ak-news-center,
.ak-platform {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.ak-news-home-inner,
.ak-news-center-wrap,
.ak-platform-inner {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(24px, 5vw, 96px);
  padding-right: clamp(24px, 5vw, 96px);
}

/* WordPress generic wrappers must not reintroduce a narrow desktop column. */
.wp-site-blocks,
.site-inner,
.content-area,
.entry-content,
.entry-header,
.entry-footer {
  max-width: none;
}

/* Preserve responsive behavior on tablets and phones. */
@media (max-width: 900px) {
  .ak-header-inner,
  .ak-news-home-inner,
  .ak-news-center-wrap,
  .ak-platform-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}
@media (max-width: 600px) {
  .ak-header-inner,
  .ak-news-home-inner,
  .ak-news-center-wrap,
  .ak-platform-inner {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}


/* === v2.0.2 TRUE FULL WIDTH — remove every remaining desktop wrapper === */
:root {
  --ak-page-max: none;
  --ak-content-max: none;
}

html,
body,
#page,
.site,
.ak-site,
.site-content,
.content-area,
#primary,
main,
.site-main,
.ak-page,
.ak-wrap,
.ak-container,
.ak-inner,
.ak-header,
.ak-header-inner,
.ak-main-nav,
.ak-main-nav-inner,
.ak-hero,
.ak-hero-inner,
.ak-home,
.ak-home-inner,
.ak-news-home,
.ak-news-home-inner,
.ak-news-center,
.ak-news-center-wrap,
.ak-platform,
.ak-platform-inner,
header,
nav,
footer {
  max-width: none !important;
}

/* Important: viewport-width breakout.
   This also defeats a parent WordPress/theme wrapper that still has a fixed width. */
.ak-header,
.ak-main-nav,
.ak-hero,
.ak-home,
.ak-news-home,
.ak-news-center,
.ak-platform,
.site-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  box-sizing: border-box !important;
}

/* The visible header/navigation/hero interiors must also stretch. */
.ak-header-inner,
.ak-main-nav-inner,
.ak-hero-inner,
.ak-home-inner,
.ak-news-home-inner,
.ak-news-center-wrap,
.ak-platform-inner {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* Header content gets only edge breathing room, not a central max-width. */
.ak-header-inner {
  padding-left: clamp(20px, 3vw, 64px) !important;
  padding-right: clamp(20px, 3vw, 64px) !important;
}

/* Navigation cells distribute over the entire viewport. */
.ak-main-nav ul,
.ak-main-nav-inner ul,
.ak-nav-list {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.ak-main-nav li,
.ak-main-nav-inner li,
.ak-nav-list > * {
  flex: 1 1 0 !important;
}

/* Hero / top visual fills the same width as navigation. */
.ak-hero img,
.ak-hero picture,
.ak-hero picture img,
.ak-hero-visual,
.ak-hero-visual img,
.ak-hero-picture,
.ak-hero-picture img {
  width: 100% !important;
  max-width: none !important;
}

/* WordPress content wrappers: pages, posts and archives all fluid. */
body .wp-site-blocks,
body .site-inner,
body .container,
body .wrapper,
body .content-wrapper,
body .entry-header,
body .entry-content,
body .entry-footer,
body.single .site-main,
body.page .site-main,
body.archive .site-main,
body.category .site-main,
body.home .site-main,
body.front-page .site-main {
  width: 100% !important;
  max-width: none !important;
}

/* Article text itself keeps comfortable side padding but no fixed maximum width. */
body.single .entry-content,
body.page .entry-content,
body.archive .site-main,
body.category .site-main {
  padding-left: clamp(20px, 5vw, 96px);
  padding-right: clamp(20px, 5vw, 96px);
  box-sizing: border-box;
}

/* Logged-in WordPress admin bar must not affect width calculations. */
body.admin-bar .ak-header,
body.admin-bar .ak-main-nav,
body.admin-bar .ak-hero,
body.admin-bar .ak-news-home,
body.admin-bar .ak-news-center,
body.admin-bar .ak-platform {
  max-width: 100vw !important;
}

@media (max-width: 782px) {
  .ak-header,
  .ak-main-nav,
  .ak-hero,
  .ak-home,
  .ak-news-home,
  .ak-news-center,
  .ak-platform,
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* === v2.0.3 Article top cleanup ===
   Remove unnecessary blank space and decorative circles from article pages.
*/
body.single .ak-single-news {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.single .ak-single-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
    max-width: none !important;
    width: 100% !important;
}

/* Remove the decorative red circle shown at the upper-right edge. */
body.single .ak-article-eyecatch::before,
body.single .ak-article-eyecatch::after,
body.single .ak-title-eyecatch::before,
body.single .ak-title-eyecatch::after {
    content: none !important;
    display: none !important;
}

/* Start the article hero immediately, without an empty spacer. */
body.single .ak-article-eyecatch {
    margin-top: 0 !important;
    border-radius: 0 !important;
    min-height: 0 !important;
}

/* Breadcrumb belongs inside the article area, not as a large top gap. */
body.single .ak-breadcrumbs {
    margin: 0 !important;
    padding: 14px clamp(20px, 5vw, 96px) !important;
    background: #fff !important;
    border-bottom: 1px solid #f0dadd;
}

/* Platform page decorative circles are also unnecessary. */
.ak-platform-hero::before,
.ak-platform-hero::after {
    content: none !important;
    display: none !important;
}


/* === v2.0.4 Permanent legacy-decoration removal === */

/* Old circles / floral pseudo-elements are no longer used anywhere. */
.ak-circle,
.ak-hero::before,
.ak-hero::after,
.ak-title-eyecatch::before,
.ak-title-eyecatch::after,
.ak-article-eyecatch::before,
.ak-article-eyecatch::after,
.ak-platform-hero::before,
.ak-platform-hero::after,
.ak-news-center-hero::before,
.ak-news-center-hero::after,
.ak-page-hero::before,
.ak-page-hero::after {
    display: none !important;
    content: none !important;
}

/* Remove the large empty top bands on posts/pages/archives. */
body.single .ak-single-news,
body.page .ak-platform-page,
body.category .ak-news-center,
body.archive .ak-news-center {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.single .ak-single-wrap,
body.page .ak-platform-wrap,
body.category .ak-news-center-wrap,
body.archive .ak-news-center-wrap {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Hero/header sections begin immediately; no invisible spacer above them. */
body.single .ak-article-eyecatch,
body.page .ak-platform-hero,
body.category .ak-news-center-hero,
body.archive .ak-news-center-hero {
    margin-top: 0 !important;
}

/* Keep only a compact breadcrumb band above news articles. */
body.single .ak-breadcrumbs {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Prevent any accidental minimum-height from creating a blank band. */
body.single .ak-article-eyecatch,
body.page .ak-platform-hero,
body.category .ak-news-center-hero,
body.archive .ak-news-center-hero {
    min-height: 0 !important;
}

/* When logged in, content starts directly beneath WordPress admin bar. */
body.admin-bar.single main,
body.admin-bar.page main,
body.admin-bar.category main,
body.admin-bar.archive main {
    margin-top: 0 !important;
}
