/*
Theme Name: irohasoft-sw
Theme URI: https://example.invalid/
Author: irohasoft
Description: irohaboard（Optimizerベース）に近い配色・レイアウトを保ちつつ、最小構成で実装したシンプルテーマ。
Version: 1.0.19
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: irohasoft-sw
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.1
*/

:root{
  /* Match legacy irohaboard (Optimizer) typography + density */
  --ib-text:#666;
  --ib-muted:#999;
  --ib-bg:#ffffff;
  --ib-surface:#ffffff;
  --ib-border:rgba(2,6,23,.10);
  --ib-accent:#2f76b5; /* 画像の青帯に寄せる */
  --ib-notice-bg:#475569;
  --ib-accent-strong:#1e5f96;
  --ib-hero-overlay:rgba(2,6,23,.45);
  --ib-shadow:0 10px 30px rgba(2,6,23,.10);
  --ib-radius:12px;
  --ib-container-max:1200px;
  --ib-page-head-bg:#eeeff5;
  --ib-page-head-text:#555555;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  font-size:16px;
  color:var(--ib-text);
  background:var(--ib-bg);
  line-height:1.7;
}
img{max-width:100%;height:auto}
a{color:var(--ib-accent-strong);text-decoration:none}
a:hover{text-decoration:underline}

/* Legacy container: 85% centered, capped width */
.ib-container{
  width:85%;
  max-width:var(--ib-container-max);
  margin:0 auto;
}

/* Header */
.ib-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:rgba(2,6,23,.35);
  border-bottom:1px solid rgba(255,255,255,.10);
  overflow:visible;
}
.ib-header.is-solid{
  background:rgba(2,6,23,.85);
  border-bottom:1px solid rgba(255,255,255,.10);
}

body.admin-bar .ib-header{
  top:var(--wp-admin--admin-bar--height, 32px);
}

/* Home: transparent header over hero (legacy irohaboard behavior) */
body.ib-trans-header .ib-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
}
body.ib-trans-header .ib-header:not(.is-solid){
  background:transparent;
  backdrop-filter:none;
  border-bottom-color:transparent;
}
body.admin-bar.ib-trans-header .ib-header{
  top:var(--wp-admin--admin-bar--height, 32px);
}

.ib-header .ib-container,
.ib-header-inner,
.ib-nav{
  overflow:visible;
}
.ib-header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:16px;
}
.ib-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  min-width:200px;
  flex:1 1 auto;
}
.ib-brand-name{
  color:#fff;
  font-weight:700;
  letter-spacing:.2px;
  font-size:clamp(24px, 2.4vw, 32px);
  line-height:1.2;
  text-decoration:none;
}
.ib-brand-name:hover,
.ib-brand-name:focus-visible{
  text-decoration:none;
}
.ib-brand-tagline{
  margin:0;
  font-size:12px;
  opacity:.9;
  color:#fff;
  line-height:1.5;
  max-width:560px;
}
.ib-nav-toggle{display:none; border:1px solid rgba(255,255,255,.25); background:transparent; color:#fff; padding:8px 10px; border-radius:10px; cursor:pointer}

.ib-nav > .menu,
.ib-nav > ul.menu{
  list-style:none;
  display:flex;
  gap:8px;
  margin:0;
  padding:0;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ib-nav .menu-item{position:relative}
.ib-nav .menu-item-has-children > a::after{content:" ▾"; font-size:11px; opacity:.75}
.ib-nav .sub-menu{
  display:none;
  flex-direction:column;
  align-items:stretch;
  position:absolute;
  top:calc(100% - 2px);
  left:auto;
  right:0;
  min-width:220px;
  margin:0;
  padding:8px 0;
  gap:0;
  list-style:none;
  background:rgba(2,6,23,.95);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  box-shadow:var(--ib-shadow);
  z-index:100;
}
.ib-nav .sub-menu .menu-item{width:100%}
.ib-nav .sub-menu a{
  white-space:nowrap;
  border-radius:0;
  padding:10px 16px;
}
.ib-nav .sub-menu a:hover{background:rgba(255,255,255,.10)}

@media (min-width: 961px){
  .ib-nav .menu-item-has-children:hover > .sub-menu,
  .ib-nav .menu-item-has-children:focus-within > .sub-menu,
  .ib-nav .menu-item-has-children.is-submenu-open > .sub-menu{
    display:flex;
  }
}
.ib-nav a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  color:#fff;
  font-weight:700;
  font-size:14px;
}
.ib-nav a:hover{background:rgba(255,255,255,.12); text-decoration:none}

/* Hero */
.ib-hero{
  position:relative;
  min-height:500px;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.ib-hero.has-image{
  min-height:0;
  display:block;
}
.ib-hero-bg{
  display:block;
  width:100%;
  height:auto;
  vertical-align:bottom;
}
.ib-hero.has-image .ib-hero-inner{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  z-index:1;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin:0;
  padding-left:max(2.5%, 12px);
  padding-right:max(2.5%, 12px);
}
.ib-hero.has-image .ib-hero-inner > *{
  min-width:0;
  max-width:100%;
  width:100%;
}
body.ib-trans-header .ib-hero.has-image .ib-hero-inner{
  padding-top:var(--ib-header-height, 0px);
}
body.admin-bar.ib-trans-header .ib-hero.has-image .ib-hero-inner{
  padding-top:calc(var(--ib-header-height, 0px) + var(--wp-admin--admin-bar--height, 32px));
}
.ib-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(2,6,23,.50), rgba(2,6,23,.55)),
    var(--ib-hero-image, linear-gradient(120deg, #0b2a2b, #163a47));
  background-size:cover;
  background-position:center;
  transform:scale(1.02);
}
.ib-hero.has-image::before,
.ib-hero.has-image::after{
  display:none;
}
.ib-hero::after{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(80% 80% at 50% 10%, rgba(255,255,255,.10), transparent 55%);
  pointer-events:none;
}
.ib-hero-inner{position:relative; width:100%;}
.ib-hero.has-image .ib-hero-title{
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.ib-hero-title{
  font-size: clamp(28px, 3.2vw, 44px);
  font-weight:900;
  letter-spacing:.3px;
  text-align:center;
  margin:0;
  line-height:1.35;
  text-shadow:0 10px 30px rgba(0,0,0,.25);
  max-width:100%;
  word-break:break-word;
  overflow-wrap:anywhere;
}
.ib-hero-sub{
  margin:18px auto 0;
  max-width: 820px;
  text-align:center;
  font-size:16px;
  opacity:.92;
}
.ib-hero-cta{
  margin-top:28px;
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.ib-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  font-weight:800;
  border:2px solid rgba(255,255,255,.70);
  color:#fff;
  text-decoration:none;
}
.ib-btn:hover{opacity:.92; text-decoration:none}
.ib-btn.is-solid{
  background:rgba(255,255,255,.92);
  color:rgba(2,6,23,.92);
  border-color:rgba(255,255,255,.92);
}

/* Notice band (optional) */
.ib-notice{
  background:var(--ib-notice-bg, #475569);
  color:#fff;
  padding:20px 0;
}
.ib-notice p{
  margin:0 auto;
  max-width:900px;
  font-size:14px;
  opacity:.95;
  text-align:center;
  line-height:1.6;
}

/* Blue band */
.ib-band{
  background:var(--ib-accent);
  color:#fff;
  padding:26px 0;
}
.ib-band p{
  margin:0 auto;
  max-width:600px;
  font-size:14px;
  opacity:.95;
  text-align:center;
}

/* Features */
.ib-section{padding:64px 0}
.ib-section-title{
  text-align:center;
  font-size:20px;
  margin:0 0 22px 0;
  letter-spacing:.2px;
  font-weight:700;
}
.ib-features{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
.ib-card{
  /* Remove "modern card" look; closer to legacy flat blocks */
  background:transparent;
  border:none;
  border-radius:0;
  padding:3%;
  box-shadow:none;
}
.ib-card h3{margin:0 0 10px 0; font-size:0.9em; line-height:1.7}
.ib-card p{margin:0; font-size:1em; line-height:1.8}

/* Centering is for feature blocks only (avoid centering page/post content) */
.ib-features .ib-card{
  text-align:center;
}

/* News */
.ib-news-row{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:start;
}
.ib-news-row.has-demo{
  grid-template-columns:1fr 1fr;
  gap:48px;
}
.ib-news-col,
.ib-demo-col{
  min-width:0;
}
.ib-news-row .ib-section-title{
  margin-bottom:16px;
}
.ib-news{
  max-width:none;
  margin:0;
}
.ib-news-row.has-demo .ib-news{
  max-width:none;
  margin:0;
}
.ib-news ul{list-style:none; padding:0; margin:0}
.ib-news li{
  display:flow-root;
  padding:6px 0;
  border-bottom:1px solid var(--ib-border);
  line-height:1.6;
}
.ib-news time{
  float:left;
  width:7.5em;
  margin-right:16px;
  color:var(--ib-muted);
  font-weight:700;
  font-size:12px;
  line-height:1.6;
  white-space:nowrap;
}
.ib-news a{
  font-weight:400;
  color:var(--ib-text);
  line-height:inherit;
}
.ib-news p{
  margin:0;
  padding:6px 0;
  border-bottom:1px solid var(--ib-border);
}
.ib-news a:hover{color:var(--ib-accent-strong); text-decoration:none}
.ib-news-more{margin-top:12px; text-align:right}
.ib-news-more a{font-size:13px; font-weight:800}
.ib-demo-video{width:100%}
.ib-video-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  background:#0b1220;
  border-radius:var(--ib-radius);
  overflow:hidden;
  box-shadow:var(--ib-shadow);
}
.ib-video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Footer */
.ib-footer{
  background:#0b1220;
  color:rgba(255,255,255,.75);
  padding:28px 0;
  margin-top:60px;
}
.ib-footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.ib-footer a{color:rgba(255,255,255,.85)}
.ib-footer-nav ul{list-style:none; margin:0; padding:0; display:flex; gap:14px; flex-wrap:wrap}
.ib-copy{font-size:12px}

.ib-to-top{
  position:fixed; right:18px; bottom:18px;
  width:44px; height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(2,6,23,.55);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition: opacity .2s ease-out, transform .2s ease-out;
  transform: translateY(6px);
}
.ib-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0);
}

/* WP core minimal */
.wp-block-image{margin:0}
.screen-reader-text{position:absolute; left:-9999px}

/* Page header band (legacy page_head) */
.ib-page-head{
  width:100%;
  background:var(--ib-page-head-bg);
  color:var(--ib-page-head-text);
  text-align:center;
}
.ib-page-head-inner{
  width:85%;
  max-width:var(--ib-container-max);
  margin:0 auto;
  padding:40px 0;
}
.ib-page-head-title{
  margin:0;
  font-size:24px;
  font-weight:600;
  line-height:1.4;
  color:var(--ib-page-head-text);
}

/* Page */
.ib-page-title{
  margin:0 0 20px;
  font-size:clamp(22px, 2.2vw, 28px);
  line-height:1.3;
}
.ib-page-content{
  font-size:16px;
  line-height:1.75;
  color:var(--ib-text);
}
.ib-page-content .iroha-h2{
  margin:40px 0 20px;
  border-left:solid 10px #337ab7;
  padding:2px 10px;
  border-bottom:solid 1px #ccc;
  font-size:1.25em;
  font-weight:700;
  line-height:1.4;
}
.ib-page-content .iroha-h3{
  margin:28px 0 16px 5px;
  border-left:solid 8px #70ad47;
  padding:2px 10px;
  border-bottom:solid 1px #ccc;
  font-size:1em;
  font-weight:700;
  line-height:1.5;
}
.ib-page-content p{
  margin:10px;
}
.ib-page-content td,
.ib-page-content tr{
  border:solid 1px;
}
.ib-page-content table td,
.ib-card table td{
  padding:10px;
}
.ib-page-content .price-table{
  text-align:center;
  overflow-x:initial;
}
.ib-page-content .estimate-table{
  width:80%;
  min-width:360px;
}
.ib-page-content .price-table th,
.ib-page-content .estimate-table th{
  padding:5px;
  background:#eee;
}
.ib-page-content .iroha-double{
  margin:0 auto;
}
.ib-page-content .iroha-double td{
  border:none;
}
.ib-page-content .iroha-double-block{
  float:left;
  width:50%;
}
.ib-page-content .iroha-double img{
  max-width:300px;
}
.ib-page-content .iroha-news-block{
  text-align:left;
  max-width:600px;
  margin:auto;
  line-height:200%;
}
.ib-page-content .iroha-news-block ul{
  list-style:none;
}
.ib-page-content .text_block_content .summary,
.ib-page-content .summary{
  max-width:600px;
  margin:0 auto;
}
.ib-page-content figcaption{
  text-align:center;
  font-size:14px;
  margin-top:0;
}
.ib-page-content .thn_post_wrap table tr:nth-child(odd),
.ib-page-content .org_comment table tr:nth-child(odd){
  background:inherit;
  border:inherit !important;
}
.ib-page-content .stat_content_inner .lts_button{
  margin:25px 25px 20px 20px;
}
.ib-page-content button:not(.wpcf7-submit){
  margin-right:20px;
  padding:0.5em 1em;
  font-size:120%;
  cursor:pointer;
  background:#36abfc;
  color:#fff;
  border-color:#36abfc;
}
.ib-page-content button:not(.wpcf7-submit)::before,
.ib-page-content button:not(.wpcf7-submit)::after{
  box-sizing:border-box;
}

/* 固定ページ ID 別（post_class の post-{id} を利用） */
.post-35 table,
.post-83 table{
  max-width:900px;
}
.post-35 td,
.post-83 td{
  padding:5px !important;
}
.post-35 tr:nth-child(1),
.post-83 tr:nth-child(1){
  background-color:#eee !important;
  font-weight:bold;
}

/* レガシークラス互換 */
.cta_buttons{display:none}
.single_post,
.single .ib-card{
  max-width:900px;
}
.front-title{
  font-size:42px;
  -webkit-text-stroke-color:#666;
  -webkit-text-stroke-width:1px;
}

/* サイドバーウィジェット */
.ib-sidebar .widgettitle,
.ib-sidebar .textwidget{
  text-align:center;
}
.ib-sidebar .textwidget table{
  margin:0 auto;
}
.ib-sidebar .textwidget td{
  text-align:left;
  padding:5px;
  border:solid 1px;
}
.ib-sidebar .textwidget .summary{
  max-width:600px;
  margin:0 auto;
}

/* ---- Layout (content + right sidebar) ---- */
.ib-layout{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:2%;
}
.ib-content{
  width:68%;
  min-width:0;
}
.ib-sidebar{
  width:30%;
  min-width:0;
}
.ib-sidebar:empty{display:none;}

.ib-sidebar .widget{
  margin-bottom:30px;
  color:#999;
}
.ib-sidebar .widgettitle{
  margin:0;
  font-size:16px;
  padding:0 0 10px;
}
.ib-sidebar .widget > *:not(.widgettitle){
  padding:0 0 18px;
}
.ib-sidebar .widget ul{
  margin:0;
  padding-left:18px;
}
.ib-sidebar .widget li{
  margin:10px 0;
}

/* Sidebar form fields (match theme UI; no widget background) */
.ib-sidebar input[type="search"],
.ib-sidebar input[type="text"],
.ib-sidebar input[type="email"],
.ib-sidebar input[type="url"],
.ib-sidebar select,
.ib-sidebar textarea{
  font-family: inherit;
  font-size:14px;
  line-height:1.5;
  color:var(--ib-text);
  background:#fff;
  border:1px solid rgba(2,6,23,.15);
  border-radius:8px;
  padding:10px 12px;
  max-width:100%;
}
.ib-sidebar input[type="search"]:focus,
.ib-sidebar input[type="text"]:focus,
.ib-sidebar input[type="email"]:focus,
.ib-sidebar input[type="url"]:focus,
.ib-sidebar select:focus,
.ib-sidebar textarea:focus{
  outline:none;
  border-color:rgba(47,118,181,.55);
  box-shadow:0 0 0 2px rgba(47,118,181,.18);
}
.ib-sidebar input[type="submit"],
.ib-sidebar button,
.ib-sidebar .wp-block-search__button{
  font-family: inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  padding:10px 14px;
  border-radius:8px;
  border:1px solid rgba(2,6,23,.15);
  background:#fff;
  color:var(--ib-text);
  cursor:pointer;
}
.ib-sidebar input[type="submit"]:hover,
.ib-sidebar button:hover,
.ib-sidebar .wp-block-search__button:hover{
  border-color:rgba(2,6,23,.28);
}
.ib-sidebar .wp-block-search__inside-wrapper{
  gap:8px;
}
.ib-page-content .wp-block-table,
.ib-card .wp-block-table{
  overflow-x:auto;
}
.ib-page-content table,
.ib-page-content .wp-block-table table,
.ib-card table,
.ib-card .wp-block-table table{
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
}

/* Contact Form 7 */
.ib-page-content .wpcf7 p{
  margin:0 0 20px;
}
.ib-page-content .wpcf7 label{
  display:block;
  margin-bottom:8px;
  font-size:15px;
  font-weight:600;
  color:var(--ib-text);
  line-height:1.5;
}
.ib-page-content .wpcf7-text,
.ib-page-content .wpcf7-email,
.ib-page-content .wpcf7-url,
.ib-page-content .wpcf7-tel,
.ib-page-content .wpcf7-number,
.ib-page-content .wpcf7-date,
.ib-page-content .wpcf7-select,
.ib-page-content .wpcf7-textarea,
.ib-page-content .wpcf7 input[type="text"],
.ib-page-content .wpcf7 input[type="email"],
.ib-page-content .wpcf7 input[type="url"],
.ib-page-content .wpcf7 input[type="tel"],
.ib-page-content .wpcf7 input[type="number"],
.ib-page-content .wpcf7 input[type="date"],
.ib-page-content .wpcf7 select,
.ib-page-content .wpcf7 textarea{
  display:block;
  width:100%;
  max-width:560px;
  padding:12px 14px;
  font-size:16px;
  line-height:1.5;
  color:var(--ib-text);
  background:rgba(2,6,23,.03);
  border:1px solid rgba(2,6,23,.1);
  border-radius:8px;
}
.ib-page-content .wpcf7-textarea,
.ib-page-content .wpcf7 textarea{
  max-width:100%;
  min-height:200px;
  resize:vertical;
}
.ib-page-content .wpcf7-select,
.ib-page-content .wpcf7 select{
  min-height:48px;
  cursor:pointer;
  font-size:14px;
  padding:10px;
}
.ib-page-content .wpcf7 input[type="file"]{
  display:block;
  max-width:100%;
  margin-top:4px;
  font-size:14px;
  line-height:1.5;
}
.ib-page-content .wpcf7-submit{
  float:right;
  margin-top:4px;
  padding:12px 36px;
  border:none;
  border-radius:8px;
  background:var(--ib-accent);
  color:#fff;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  cursor:pointer;
  transition:background .15s ease;
}
.ib-page-content .wpcf7-submit:hover{
  background:var(--ib-accent-strong);
}
.ib-page-content .wpcf7 form::after{
  content:"";
  display:table;
  clear:both;
}
.ib-page-content .wpcf7-not-valid-tip{
  margin-top:6px;
  font-size:13px;
}
.ib-page-content .wpcf7-response-output{
  margin:16px 0 0;
  padding:12px 14px;
  border-radius:8px;
  font-size:15px;
}

/* Responsive */
@media (max-width: 960px){
  .ib-hero:not(.has-image){min-height:460px}
  body.ib-trans-header .ib-header,
  body.admin-bar.ib-trans-header .ib-header{
    position:relative;
    top:auto;
  }
  body.ib-trans-header .ib-header:not(.is-solid){
    background:var(--ib-header-bg, rgba(2,6,23,.35));
    backdrop-filter:saturate(140%) blur(10px);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .ib-hero.has-image{
    display:grid;
    grid-template-columns:1fr;
    overflow:visible;
  }
  .ib-hero.has-image .ib-hero-bg{
    grid-area:1 / 1;
    width:100%;
    height:auto;
    min-height:220px;
    object-fit:cover;
  }
  .ib-hero.has-image .ib-hero-inner{
    grid-area:1 / 1;
    position:relative;
    inset:auto;
    align-self:center;
    justify-self:center;
    width:100%;
    max-width:100%;
    margin:0;
    padding:32px max(2.5%, 12px);
    z-index:1;
  }
  body.ib-trans-header .ib-hero.has-image .ib-hero-inner,
  body.admin-bar.ib-trans-header .ib-hero.has-image .ib-hero-inner{
    padding-top:32px;
    padding-bottom:32px;
  }
  .ib-hero-title{
    font-size:clamp(18px, 5.2vw, 26px);
    line-height:1.45;
  }
  .ib-hero-sub{
    font-size:15px;
  }
  .ib-features{grid-template-columns:1fr; gap:14px}
  .ib-card h3,
  .ib-card p{
    word-break:break-word;
    overflow-wrap:anywhere;
  }
  body.ib-trans-header .ib-header.is-open:not(.is-solid){
    background:var(--ib-header-bg, rgba(2,6,23,.95));
    backdrop-filter:saturate(140%) blur(10px);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .ib-nav-toggle{display:inline-flex}
  .ib-nav{display:none}
  .ib-header.is-open .ib-nav{display:block; width:100%}
  .ib-header-inner{flex-wrap:wrap}
  .ib-nav > .menu,
  .ib-nav > ul.menu{justify-content:flex-start; flex-direction:column; align-items:flex-start}
  .ib-nav a{padding:10px 10px}
  .ib-nav .sub-menu{
    position:static;
    display:none;
    min-width:0;
    width:100%;
    margin-top:4px;
    padding:4px 0 4px 12px;
    background:transparent;
    border:none;
    border-left:2px solid rgba(255,255,255,.25);
    border-radius:0;
    box-shadow:none;
  }
  .ib-nav .menu-item-has-children.is-submenu-open > .sub-menu{display:flex}
  .ib-news-row.has-demo{grid-template-columns:1fr}
  .ib-brand{flex-direction:column; align-items:flex-start; gap:4px}
  .ib-brand-tagline{max-width:none}
  .ib-layout{display:block}
  .ib-content, .ib-sidebar{width:100%}
}

/* Match legacy breakpoints: container expands on smaller screens */
@media screen and (max-width: 1024px){
  .ib-container{ width:95%; }
}

@media screen and (max-width: 480px){
  .ib-page-content iframe,
  .ib-page-content .iroha-double-block{
    width:100%;
  }
  .ib-page-content figure{
    margin-inline-start:0;
    margin-inline-end:0;
  }
  .ib-page-content .thn_post_wrap table td,
  .ib-page-content .org_comment table td{
    padding:5px;
  }
  .ib-page-content ul{
    padding-inline-start:20px;
    padding-inline-end:20px;
  }
  .ib-page-content .about_inner{
    width:90%;
  }
}

