/* /jp/v2/ 専用。common.css（kaigaifx の MGK ランディング由来）の上に重ねる。
   /jp/ の共通 CSS・ヘッダーには触れない。 */

/* common.css の初期の透明（スクリプトで外す前提）を使わない */
html,.fade,.op,.fade2{opacity:1!important}

/* ---- ヘッダー ---- */
.hnav,.hburger,.spmenu{display:none}
header h1 a{display:block;width:100%;height:100%;color:transparent}
header button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
header a,header button{-webkit-tap-highlight-color:transparent}
header a:focus-visible,header button:focus-visible,header summary:focus-visible{outline:2px solid #e0c14a;outline-offset:2px}

@media screen and (min-width:1200px){
  header{width:100%!important;max-width:1280px;height:96px!important;padding:0 24px!important;box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:space-between}
  header:after,header:before{display:none!important}
  header h1{margin:0!important;padding:0!important;text-indent:-9999px;white-space:nowrap;flex:0 0 220px;width:220px!important;height:30px!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:left center!important;float:none!important}
  .hnav{display:flex;align-items:center;justify-content:flex-end;flex:1}
  .hnav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center}
  .hnav a,.hnav .v2-top{color:#fff;text-decoration:none;font-size:1.2rem;font-weight:500;white-space:nowrap;line-height:1.6}
  .hmain>li{margin-left:13px;flex:none}
  .hmain>li:first-child{margin-left:0}
  .hmain s{text-decoration:none;font-size:1rem;margin-left:4px;color:#d9b84a}
  .hnav .htop{margin-left:22px;padding-left:20px;border-left:1px solid rgba(255,255,255,.28)}
  .htop>li{margin-left:14px}
  .htop>li:first-child{margin-left:0}
  .htop .ic{font-style:normal;opacity:.9;font-size:1.5rem}
  .htop .ic+span{margin-left:5px}
  .htop a.login{display:inline-block;border:1px solid #bbb;border-radius:4px;padding:8px 12px;background:rgba(255,255,255,.06);font-size:1.25rem}
  .htop a.open{display:inline-block;border-radius:4px;padding:9px 18px;font-weight:bold;color:#1a1a1a;background:linear-gradient(90deg,#e0c14a,#b98f25);font-size:1.25rem}
  .hnav .v2-has{position:relative}
  .hnav .v2-top{display:block;padding:14px 0}
  .htop .v2-top{padding:14px 0}
  .v2-dd{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:190px;background:rgba(12,10,8,.96);border-top:2px solid #d9b84a;padding:6px 0;z-index:30;box-shadow:0 8px 24px rgba(0,0,0,.5)}
  .v2-dd-r{left:auto;right:0;transform:none;min-width:150px}
  .v2-dd a{display:block;padding:12px 22px;font-size:1.3rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
  .v2-dd a:last-child{border-bottom:0}
  .v2-dd a:hover,.v2-dd a:focus-visible{color:#e0c14a;background:rgba(255,255,255,.06)}
  .v2-esc .v2-dd{display:none!important}
  .hnav .v2-has:hover>.v2-dd,.hnav .v2-has:focus-within>.v2-dd{display:block}
  .hnav .v2-has:hover>.v2-top,.hnav .v2-has:focus-within>.v2-top{color:#e0c14a}
}
@media screen and (min-width:768px){.marea_block .block1{padding-top:96px!important}}

/* ---- スマホ・タブレット（1199px まで。PC の一段のメニューは 1200px から）---- */
@media screen and (max-width:1199px){
  header{position:relative;height:60px!important}
  header h1{padding:0!important;text-indent:-9999px;white-space:nowrap;background-position:left center!important;margin-left:16px!important;width:210px!important;height:26px!important;background-size:contain!important;background-repeat:no-repeat!important;position:absolute;left:0;top:17px}
  .hburger{display:block;position:absolute;right:16px;top:12px;width:36px;height:36px;padding:0;box-sizing:border-box}
  .hburger span{display:block;width:26px;height:2px;background:#fff;margin:6px auto;transition:transform .2s,opacity .2s}
}
@media screen and (max-width:767px){.marea_block .block1{padding-top:40px}}
/* タブレット: common.css の PC のヘッダー（width:1160px・h1 の padding-top 100px・float）を打ち消す */
@media screen and (min-width:768px) and (max-width:1199px){
  header{width:auto!important;margin:0!important;padding:0!important}
  header h1{float:none!important}
}
@media screen and (max-width:1199px){body.menu-open .spmenu{display:block;position:absolute;left:0;right:0;top:60px;z-index:20;background:#0c0a08;color:#fff;padding:6px 20px 24px;border-top:1px solid #8a6d1d}}
@media screen and (max-width:1199px){body.menu-open .spmenu ul{list-style:none;margin:0;padding:0}}
.spmenu summary{list-style:none;display:flex;justify-content:space-between;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:1.5rem;cursor:pointer}
.spmenu summary::-webkit-details-marker{display:none}
.spmenu s{text-decoration:none;color:#d9b84a}
.spmenu details[open]>summary s{display:none}
.spmenu details[open]>summary:after{content:"－";color:#d9b84a}
.spmenu .v2-sub a{display:block;padding:13px 16px;font-size:1.4rem;color:#e8e2d0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
.spmenu .v2-medialink{display:block;padding:16px 4px;border-bottom:1px solid rgba(255,255,255,.14);font-size:1.5rem;color:#fff;text-decoration:none}
@media screen and (max-width:1199px){body.menu-open .spbtns{display:flex;gap:12px;margin:20px 0 14px}}
@media screen and (max-width:1199px){body.menu-open .spbtns a{flex:1;text-align:center;padding:12px 0;border-radius:4px;font-size:1.4rem;text-decoration:none}}
@media screen and (max-width:1199px){body.menu-open .spbtns .login{border:1px solid #bbb;color:#fff}}
@media screen and (max-width:1199px){body.menu-open .spbtns .open{background:linear-gradient(90deg,#e0c14a,#b98f25);color:#1a1a1a;font-weight:bold}}
@media screen and (max-width:1199px){body.menu-open .splinks{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:0 4px;text-align:center;font-size:1.2rem;color:#ccc}}
.splinks a,.splinks summary{color:#ccc;text-decoration:none;font-size:1.2rem;padding:6px 8px;display:block;border:0;cursor:pointer}
.splinks i{font-style:normal;padding-top:6px;color:#888}
.splinks summary{list-style:none}
.splinks summary::-webkit-details-marker{display:none}
.splinks .v2-splang{position:relative}
.splinks .v2-splang[open]{flex-basis:100%;order:9}
.splinks .v2-splang .v2-sub{margin-top:8px;border-top:1px solid rgba(255,255,255,.14);text-align:center}
.splinks .v2-splang summary{margin:0 auto;width:max-content}
@media screen and (max-width:1199px){body.menu-open .hburger span:nth-child(1){transform:translateY(8px) rotate(45deg)}}
@media screen and (max-width:1199px){body.menu-open .hburger span:nth-child(2){opacity:0}}
@media screen and (max-width:1199px){body.menu-open .hburger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}

/* ---- トップ メインコピー（見出し2行＋説明2行）---- */
.marea_block .mlead b{display:inline-block;letter-spacing:.04em}
.marea_block .mex.v2-hero-ex{font-weight:bold;color:#fff;text-align:center;line-height:1.7;text-shadow:0 1px 8px rgba(0,0,0,.45)}
@media screen and (max-width:767px){
  .marea_block .mlead{font-size:2.6rem;line-height:1.45}
  .marea_block .mex.v2-hero-ex{font-size:1.5rem}
}
@media screen and (min-width:768px){
  .marea_block .mlead{line-height:1.5}
  .marea_block .mex.v2-hero-ex{font-size:2rem}
}
