/* ======================================================
   3Di OpenSim — Sitewide Design System (Light Pastel)
   Include on every page AFTER the existing stylesheets:
   <link rel="stylesheet" href="/stylesheets/site-redesign.css" type="text/css" media="all">
   ====================================================== */

*{box-sizing:border-box;}

body{
  margin:0 !important;
  font-family:'Noto Sans JP','Poppins',sans-serif !important;
  background:#FBFAF7 !important;
  color:#4A4660 !important;
}
a{text-decoration:none !important; color:inherit !important;}
img{max-width:100%;}

/* ===== HEADER ===== */
#header{
  background:#FFFFFF !important;
  border-bottom:1px solid #F0ECF9 !important;
  padding:10px 24px !important;
  box-shadow:none !important;
}
#header, #container, #container_inner, #wrapper{background:transparent !important;}

#logo a, h1.logo a{display:block;}

ul#utility{list-style:none !important; margin:0 0 8px !important; padding:0 !important; overflow:hidden;}
ul#utility li{float:left !important; margin-left:12px !important;}
ul#utility li a{
  display:block !important;
  width:34px !important; height:34px !important; border-radius:10px !important;
  background:#DCF2E7 !important;
  text-align:center;
}
ul#utility li a:hover{background:#FFD9CF !important;}
ul#utility li.threedi a, ul#utility li.en a{width:auto !important; padding:0 10px !important;}

ul#globalnavi{list-style:none !important; margin:0 !important; padding:0 !important; overflow:hidden;}
ul#globalnavi li{float:left !important; margin-right:6px !important;}
ul#globalnavi li a{
  display:block !important;
  padding:12px 18px !important;
  font-weight:700 !important;
  font-size:14px !important;
  color:#4A4660 !important;
  border-radius:30px !important;
  background:#FFFFFF !important;
  border:1px solid #EFEAFA !important;
}
ul#globalnavi li a:hover, ul#globalnavi li.current a{background:#E8F7F0 !important;}

/* ===== PAGE HEAD / BREADCRUMB ===== */
#contents_head{margin-bottom:20px !important;}
#contents_head h1{
  font-size:26px !important; font-weight:800 !important;
  color:#4A4660 !important; margin:0 0 10px !important;
}
ul#breadcrumb{
  list-style:none !important; margin:0 0 20px !important; padding:0 !important;
  overflow:hidden; font-size:12.5px !important;
}
ul#breadcrumb li{float:left !important; margin-right:6px !important; color:#8d87a3 !important;}
ul#breadcrumb a{color:#7FA8CC !important; font-weight:600 !important;}

/* ===== TABS ===== */
#headline_tab{margin-bottom:24px !important;}
#headline_tab h2{
  font-size:20px !important; font-weight:800 !important; color:#4A4660 !important;
  margin:0 0 12px !important;
}
ul#tab{list-style:none !important; margin:0 !important; padding:0 !important; overflow:hidden;}
ul#tab li{float:left !important; margin-right:8px !important;}
ul#tab li a{
  display:block !important; padding:10px 20px !important;
  border-radius:30px !important; font-weight:700 !important; font-size:13px !important;
  background:#EAF3FB !important; color:#4A4660 !important;
}
ul#tab li.current a{background:#DCF2E7 !important; color:#3A6B52 !important;}
ul#tab li a:hover{background:#D9EAF7 !important;}

/* ===== CONTENT BODY / SIDEBAR LAYOUT ===== */
#contents_body{
  background:#FFFFFF !important;
  border-radius:20px !important;
  padding:28px !important;
  box-shadow:0 10px 30px rgba(230,230,245,0.5) !important;
  float:left !important; width:66% !important;
}
#sidenavi{float:right !important; width:31% !important;}
@media (max-width:860px){
  #contents_body, #sidenavi{float:none !important; width:100% !important; margin-bottom:20px !important;}
}
#wrapper{overflow:hidden;}

.top_contents{margin-bottom:28px !important;}
.top_contents h2{
  font-size:19px !important; font-weight:800 !important; color:#4A4660 !important;
  margin:0 0 14px !important; padding-left:12px !important;
  border-left:4px solid #CDEFDE !important;
}
.top_contents_txt p{font-size:14px !important; line-height:1.8 !important; color:#5C5775 !important;}
.top_contents_photo{margin-top:14px !important;}
.top_contents_photo .point{
  background:#FBFAFF !important; border-radius:14px !important; padding:14px !important;
  margin-bottom:12px !important;
}
.top_contents_photo .point img{border-radius:10px !important;}
.top_contents_photo .point p{font-size:13px !important; color:#6b6680 !important; margin:8px 0 0 !important;}

#next{text-align:center !important; margin:30px 0 !important;}
#next a{
  display:inline-block !important; padding:12px 24px !important;
  border-radius:30px !important; background:#FFE2D6 !important;
}
#next a:hover{background:#FFD3C2 !important;}

#footnavi{margin-top:30px !important; overflow:hidden;}
#pagetop_back{text-align:right !important; margin-bottom:16px !important;}
.footbox{
  background:#EAF3FB !important; border-radius:16px !important; padding:18px !important;
  margin-bottom:12px !important;
}
.footbox .headline{font-weight:800 !important; font-size:14px !important; color:#4A4660 !important; margin:0 0 8px !important;}
.footbox .description{font-size:13px !important; color:#6b6680 !important; margin:0 0 10px !important;}
.footbox .btn a{
  display:inline-block !important; background:#FFFFFF !important; color:#D98A77 !important;
  font-weight:800 !important; padding:10px 18px !important; border-radius:12px !important;
  border:1px solid #FFE2D6 !important;
}

/* ===== SIDEBAR BOXES ===== */
.purchase, .sidebox, .sidebtn{
  border-radius:18px !important;
  padding:22px !important;
  background:#FFFFFF !important;
  box-shadow:0 8px 24px rgba(230,230,245,0.45) !important;
  margin-bottom:20px !important;
}
.purchase{background:#E8F7F0 !important;}
.purchase .headline{font-weight:800 !important; font-size:15px !important; margin:0 !important; color:#4A4660 !important;}
.purchase .description{font-size:13px !important; line-height:1.7 !important; margin:14px 0 18px !important; color:#6b6680 !important;}
.purchase .btn a{
  display:block !important; text-align:center !important;
  background:#FFFFFF !important; color:#D98A77 !important; font-weight:800 !important;
  padding:12px !important; border-radius:14px !important; border:1px solid #FFE2D6 !important;
}
.purchase .btn a:hover{background:#FFF4EF !important;}

.sidebtn{padding:0 !important; overflow:hidden;}
.sidebtn a{
  display:block !important; text-align:center !important;
  padding:16px !important; font-weight:800 !important; font-size:14px !important;
  background:#EAF3FB !important; color:#4A4660 !important;
}
.sidebtn a:hover{background:#D9EAF7 !important;}

.sidebox .headline{margin:0 0 10px !important; font-weight:800 !important; font-size:14px !important; color:#9B8FD1 !important;}
.sidebox .description{font-size:13px !important; line-height:1.7 !important; color:#6b6680 !important;}
.sidebox .description a{color:#7FA8CC !important; font-weight:600 !important;}
.sidebox .description a:hover{text-decoration:underline !important;}
.sidebox .more{text-align:left !important; margin-top:12px !important;}
.sidebox .more a{background:none !important; color:#D98A77 !important; padding:0 !important; font-size:13px !important;}
.sidebox .more a::before{content:"→ ";}

/* ===== GENERIC "MORE" LINK (used on news lists etc.) ===== */
p.more{text-align:right !important; margin-top:22px !important;}
p.more a{
  display:inline-block !important;
  font-weight:700 !important; font-size:13px !important; color:#5C5775 !important;
  background:#EAF3FB !important; padding:10px 20px !important; border-radius:30px !important;
}
p.more a:hover{background:#D9EAF7 !important;}

/* ===== FOOTER ===== */
#footer{
  background:#FFFFFF !important;
  border-top:1px solid #F0ECF9 !important;
  color:#8d87a3 !important;
  padding:50px 24px 20px !important;
  margin-top:40px !important;
}
#footer_inner{max-width:1200px !important; margin:0 auto !important;}
#footer ul#breadcrumb{margin-bottom:30px !important;}
#sitemap{overflow:hidden;}
#sitemap dl{float:left !important; width:25% !important; margin:0 0 20px !important; padding-right:16px !important;}
@media (max-width:800px){ #sitemap dl{width:50% !important;} }
#sitemap dt a{display:inline-block !important; font-weight:800 !important; font-size:14px !important; color:#4A4660 !important; margin-bottom:10px !important;}
#sitemap dd{margin:6px 0 0 !important; font-size:12.5px !important;}
#sitemap dd a{color:#8d87a3 !important;}
#sitemap dd a:hover{color:#D98A77 !important;}

p#copyright{
  text-align:center !important; font-size:11px !important; color:#b4aec8 !important;
  padding:20px 0 !important; background:#FFFFFF !important; margin:0 !important;
}
