/* Responsive layer for the existing IIne site. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.mobile-menu-toggle,.submenu-toggle,.mobile-contact-label{display:none}
#content .soliloquy-container{margin-bottom:24px!important}
.responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table-scroll-hint{display:none}
.responsive-table:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #087ca9;outline-offset:3px}
@media screen and (max-width:1060px){
 #wrapper{width:calc(100% - 32px);max-width:1024px;box-sizing:border-box}
 #branding,#main,#colophon,#access{width:100%;box-sizing:border-box}
 #branding{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px 16px}
 #site-title{float:none;width:auto;min-width:0;flex:1;margin:0;padding:0}
 #site-title>span{display:block}
 #branding img{float:none;max-width:100%;height:auto}
 #site-description{float:none;margin:0;font-size:12px;line-height:1.8}
 #branding-right{float:none;width:250px;flex:0 0 250px;margin:0}
 #access .menu,#access .menu-header{width:auto;margin:0 20px}
 #access a{padding-right:10px;padding-left:10px}
 #content{margin-left:24px;margin-right:280px}
 #content2{margin-left:24px;margin-right:24px}
 #primary,#secondary{width:240px}
 #main .widget-area ul{padding-right:24px}
 .one-column #content,body.attachment #content{width:auto;max-width:940px;margin:0 24px 36px}
 #content img,#content2 img{max-width:100%;height:auto}
 #content iframe,#content2 iframe{max-width:100%}
 #content .aisatu_moji{width:auto;max-width:100%;padding-right:0;box-sizing:border-box}
 .breadcrumbs{max-width:100%;box-sizing:border-box;overflow-wrap:anywhere}
}
@media screen and (max-width:820px){
 body{background:#eaf6fb;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8}
 #wrapper{width:100%;max-width:none;border:0}
 #header{padding-top:20px}
 #branding{display:block;padding:0 20px 18px}
 #site-title{font-size:24px;line-height:1.5;margin:0}
 #site-title>a,#site-title>span>a{display:inline-block}
 #site-title img{width:180px;max-width:65vw;margin:0 0 8px}
 #site-description{font-size:12px;line-height:1.8;color:#555}
 #branding-right{width:auto;margin:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
 #branding-right a{display:flex;align-items:center;justify-content:center;min-height:46px;box-sizing:border-box;border:1px solid #148ecc;border-radius:5px;text-decoration:none;background:#fff;color:#087bad;font-size:14px;font-weight:700;padding:10px 6px;line-height:1.4}
 #branding-right a:last-child{background:#148ecc;color:white}
 #branding-right img{display:none}
 .mobile-contact-label{display:block}
 #access{float:none;height:auto;min-height:48px;border:0;background:#087fae;clear:both}
 #access .menu,#access .menu-header{margin:0;width:100%;font-size:15px}
 .mobile-menu-toggle{display:none;width:100%;align-items:center;gap:12px;min-height:50px;padding:12px 20px;border:0;background:#087fae;color:white;font:inherit;font-size:15px;font-weight:bold;text-align:left;cursor:pointer}
 .nav-enhanced .mobile-menu-toggle{display:flex}
 .menu-icon{width:20px;height:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative;box-sizing:content-box}
 .menu-icon:before{content:"";position:absolute;top:6px;left:0;right:0;border-top:2px solid currentColor}
 .mobile-menu-status{margin-left:auto;font-size:12px;font-weight:normal}
 .nav-enhanced #access:not(.is-open) .menu,.nav-enhanced #access:not(.is-open) .menu-header{display:none}
 #access .menu>ul,#access .menu-header>ul{display:block;margin:0;padding:0;list-style:none}
 #access .menu li,#access .menu-header li{float:none;width:auto;min-width:0;position:relative;border-top:1px solid #dbeaf2;display:grid;grid-template-columns:minmax(0,1fr) 48px;background:#f8fcff}
 #access a{color:#16485e;background:#f8fcff;min-height:46px;line-height:1.6;padding:12px 20px;box-sizing:border-box;overflow-wrap:anywhere;grid-column:1/-1}
 #access li:has(>.submenu-toggle)>a{grid-column:1}
 #access li.current_page_item>a,#access li.current-menu-item>a{border-bottom:0;color:#087ca9;background:#e8f5fc}
 #access li:hover>a,#access ul ul :hover>a{border-bottom:0;background:#e8f5fc;color:#087ca9}
 #access ul ul,#access ul ul ul{display:block;position:static;top:auto;left:auto;float:none;width:auto;box-shadow:none;grid-column:1/-1;margin:0;padding:0;background:#fff}
 .nav-enhanced #access ul ul{display:none!important}
 .nav-enhanced #access li.submenu-open>ul{display:block!important}
 #access ul ul li{display:block;border-top:1px solid #e6eff4}
 #access ul ul a{width:auto;height:auto;min-height:44px;padding:11px 20px 11px 34px;font-size:14px;color:#31576b;background:white}
 .submenu-toggle{display:none;grid-column:2;grid-row:1;background:#edf7fd;color:#087ca9;border:0;border-left:1px solid #dbeaf2;font:inherit;font-size:22px;min-height:46px;cursor:pointer}
 .nav-enhanced .submenu-toggle{display:block}
 #main{padding-top:24px;overflow:visible}
 #main:after{content:"";display:block;clear:both}
 #container{float:none;width:auto;margin:0}
 #content,#content2,.one-column #content,body.attachment #content{width:auto;max-width:none;margin:0 20px 32px;min-width:0}
 #content,#content input,#content textarea,#content2{font-size:16px;line-height:1.9;overflow-wrap:anywhere}
 #content p{padding-top:0;margin-bottom:20px}
 #content .entry-title{font-size:21px;line-height:1.6;border-left-width:5px;padding:10px 12px;overflow-wrap:anywhere}
 #content .sub-entry-title{font-size:19px;line-height:1.65;margin-top:20px;overflow-wrap:anywhere}
 #content .entry-title:first-child,#content .sub-entry-title:first-child{margin-top:0}
 #content h3{font-size:18px}#content h4{font-size:17px}
 #content ul,#content ol{max-width:100%;box-sizing:border-box}
 #content pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
 #content img,.wp-caption,.gallery{max-width:100%!important;box-sizing:border-box}
 #content img{height:auto!important}
 #content .alignleft,#content .alignright{float:none;display:block;margin:12px auto;max-width:100%}
 #content iframe{max-width:100%;width:100%;box-sizing:border-box}
 #content .soliloquy-container{width:100%!important;max-width:100%!important;margin:0 auto 24px}
 #content .soliloquy-container img{display:block;max-width:100%!important}
 #content .soliloquy-container .soliloquy-controls-direction a{min-width:32px;min-height:32px}
 .responsive-table{width:100%;margin-bottom:24px}
 #content .responsive-table table{width:100%!important;max-width:none;margin:0;border-collapse:collapse;table-layout:auto}
 #content .responsive-table--wide table{min-width:640px!important}
 #content .responsive-table th,#content .responsive-table td{font-size:14px;line-height:1.8;vertical-align:top;padding:12px 10px;overflow-wrap:anywhere;box-sizing:border-box}
 #content .responsive-table:not(.responsive-table--wide) tr>th:first-child{width:30%;min-width:5em}
 .table-scroll-hint{display:block;font-size:12px;color:#486577;margin:0 0 6px!important}
 #primary,#secondary{float:none;clear:both;width:auto;margin:0 20px 24px;overflow:visible}
 #primary{padding-top:24px;border-top:1px solid #dbe7ee}
 #main .widget-area ul{padding:0;margin:0;list-style:none}
 #main .widget-area ul ul{padding:4px 0}
 #main .widget-area ul ul li{padding:0;background:none}
 #main .widget-area li>a,#main .widget-area ul ul li>a{display:block;padding:10px 4px;min-height:44px;box-sizing:border-box;line-height:1.7;overflow-wrap:anywhere}
 .fixedmenu,.widget-area .widget,.q2w3-fixed-widget-container{position:static!important;top:auto!important;left:auto!important;right:auto!important;max-width:100%!important;width:auto!important}
 .widget-area img{max-width:100%;height:auto}
 .widget-area .widget-title{font-size:17px;line-height:1.7}
 .widget-area input[type=text],.widget-area input[type=search]{max-width:100%;box-sizing:border-box;font-size:16px;padding:8px}
 .widget-area input[type=submit]{font-size:15px;min-height:44px;padding:8px 12px}
 .breadcrumbs{margin:0 20px 16px;padding:0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
 #top_info ul{line-height:1.9;padding:12px 0}
 #top_info a{overflow-wrap:anywhere}
 .navigation{display:flex;gap:16px;font-size:14px}
 .navigation .nav-previous,.navigation .nav-next{float:none;width:50%;min-width:0}
 .navigation a{display:block;padding:10px 0;overflow-wrap:anywhere}
 #footer{margin-top:32px}
 #footer_eria{margin:0 20px;padding:18px;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
 #footer_eria h3{font-size:17px;line-height:1.6}
 #footer_menu{float:none;width:auto;padding:20px}
 #footer_menu ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0}
 #footer_menu li{display:block;padding:0;border-bottom:1px solid #e5edf1}
 #footer_menu li a{display:flex;align-items:center;min-height:44px;padding:8px;font-size:12px;line-height:1.7;box-sizing:border-box;overflow-wrap:anywhere}
 #colophon{padding:18px 20px;width:100%;box-sizing:border-box}
 #site-info{font-size:11px;line-height:1.8;overflow-wrap:anywhere}
 #content .static-contact input:not([type=checkbox]):not([type=hidden]),#content .static-contact textarea{font-size:16px;line-height:1.6;min-height:46px;width:100%;max-width:100%;padding:12px;margin:6px 0 0}
 .static-contact label{font-size:15px;color:#333;line-height:1.8}
 .static-contact input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin:0 6px 0 0}
 .static-contact button{width:100%;min-height:50px;border-radius:5px;font-size:16px}
 .static-search-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
 .static-search-form label{flex:1;min-width:0}
 .static-search-form input{width:100%;max-width:100%;box-sizing:border-box;font-size:16px;min-height:44px}
 .static-search-form button{min-height:44px;align-self:flex-end}
 .scroll-back-to-top-wrapper{right:12px;bottom:12px;width:42px;height:42px;line-height:40px}
}
@media screen and (max-width:380px){
 #branding{padding-left:16px;padding-right:16px}
 #content,#content2,.one-column #content,body.attachment #content{margin-left:16px;margin-right:16px}
 #primary,#secondary,.breadcrumbs{margin-left:16px;margin-right:16px}
 #footer_eria{margin-left:16px;margin-right:16px;padding:14px}
 #content .entry-title{font-size:19px}
 #content .sub-entry-title{font-size:18px}
}
/* Centered branding and persistent contact actions. */
#branding{display:block;padding:0 24px 20px;box-sizing:border-box}
#branding #site-title{float:none;width:auto;margin:0;padding:0;text-align:center}
#branding #site-title>span{display:block}
#branding #site-title>span>a{display:block;width:fit-content;margin:0 auto}
#branding #site-title img{float:none;display:block;width:auto;max-width:240px;height:auto;margin:0 auto 12px}
#branding #site-description{float:none;clear:both;max-width:620px;width:auto;margin:0 auto;font-size:12px;line-height:1.8;text-align:center}
body.has-sticky-contact{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}
.sticky-contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:10000;background:rgba(255,255,255,.97);border-top:1px solid #c9e2ed;box-shadow:0 -3px 15px rgba(13,73,97,.09);padding:10px 20px calc(10px + env(safe-area-inset-bottom,0px));box-sizing:border-box}
.sticky-contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:640px;margin:0 auto}
.sticky-contact-bar a{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:50px;padding:10px 12px;border:1px solid #148ecc;border-radius:6px;box-sizing:border-box;text-decoration:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,sans-serif;font-weight:700;font-size:16px;line-height:1.4}
.sticky-contact-phone{background:white;color:#087ca9!important}
.sticky-contact-form{background:#148ecc;color:white!important}
.sticky-contact-phone:hover{background:#eaf6fc}
.sticky-contact-form:hover{background:#087ca9}
.sticky-contact-bar svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.scroll-back-to-top-wrapper{bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}
@media screen and (max-width:820px){
 #branding{padding:0 20px 20px}
 #branding #site-title img{width:180px;max-width:65vw;margin-bottom:10px}
 #branding #site-description{max-width:520px}
 .sticky-contact-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 .sticky-contact-inner{gap:10px}
 .sticky-contact-bar a{font-size:15px;gap:8px;padding:10px 6px;min-height:50px}
}
@media screen and (max-width:380px){
 #branding{padding-left:16px;padding-right:16px}
 .sticky-contact-bar a{font-size:14px;gap:6px}
 .sticky-contact-bar svg{width:18px;height:18px;flex-basis:18px}
}
@media print{.sticky-contact-bar{display:none}body.has-sticky-contact{padding-bottom:0}}
