/*
Theme Name:sol-brazil
Theme URI:BayLink
Author: BayLink
Author URI:
Description: 上総鶴舞用。BayLinkテーマを基に、既存ギャラリー・地図・スライドの保存形式を引き継ぐテーマ。
Version:2.0.10
License:BayLink
License URI:BayLink.co.jp
*/
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display:block; }

/* 基本設定：文字・色・リセット */
html { font-size:62.5%; }
body { width:100%; font-size:1.6rem; font-weight:300; line-height:2.2rem; color:#30383c; font-family:"M PLUS 1p", "Meiryo", sans-serif; text-align:left; word-wrap:break-word; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; background-color:#efefef; }
.keytone { background-color:#f1c232; }

/* salmon pink */
.impactone { background-color:#bcb620; }

/* Dark salmon pink */
.chictone { background-color:#7f6000; }
.midd { background-color:#888; padding:0px 4px; }
.keycolor { color:#f1c232; }
.impactcolor { color:#bcb620; }
a { color:inherit; text-decoration:none; }
b, strong { font-weight:500; }
small { font-size:0.8em; }
p a { color:#bcb620; font-weight:500; text-decoration:none; }
p a:hover { color:#7f6000; text-decoration:none; }
li.is-current { background-color:#f1c232; }
.bg-white { background-color:#fff; }
.bg-front { background-color:#efefef; padding-bottom:30px; }

/* 基本レイアウト */
.page-wrap { width:100%; overflow:hidden; }
header { background-color:#fff; }
.contents_in { width:100%; margin-right:auto; margin-left:auto; margin-top:30px; }
.contents_foot { width:100%; margin-right:auto; margin-left:auto; margin-top:20px; margin-bottom:20px; color:#fff; background-color:#7f6000; }
section { margin-top:0px; padding:40px 20px 20px; background-color:#fff; min-height:200px; }
section:not(:first-of-type) { margin-top:30px; }
ol, ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table, td, th { border-collapse:collapse; border-spacing:0; }
*, * :before, * :after { box-sizing:border-box; }
hr { border-width:1px 0 0 0; border-style:solid; border-color:#e2e2e2; margin-top:12px; margin-bottom:6px; }
th { font-weight:500; }

/* カラム・コンテンツ幅 */
.port { float:left; margin-bottom:0%; padding-top:0; }
.pier-1000 { width:100%; margin-right:0; }
.pier-730 { width:73%; display:inline; margin-right:2%; }
.pier-250 { width:25%; display:inline; }
.pier-450 { float:left; display:inline-block; width:42%; min-height:100px; margin-right:2%; padding-bottom:30px; }
.pier-500 { clear:right; display:inline-block; width:55%; min-height:100px; padding-bottom:30px; }
.page-content { display:flex; margin-top:3px; }
.page73-7 { float:left; display:inline; width:73%; margin-top:0px; margin-right:2%; padding:40px 20px 20px; background-color:#fff; }
.page73-3 { float:left; display:inline-block; width:25%; margin-top:0px; padding:70px 20px 30px; background-color:#fff; }
.page73-3 a { color:#7f6000; }
.page73-3 a:hover { color:#f1c232; }

/* 配置 */
.left { float:left; }
.right { float:right; }
.center { text-align:center; }

/* 回り込み解除 */
.clearfix:after, .clearfix:before, .widget-wrapper:after, .widget-wrapper:before, #widget-left:after, #widget-left:before { content:' '; display:table; }
.clear, .clearfix:after, .widget-wrapper:after { clear:both; }
.list-dot { margin:12px 0px 12px 10px; }

/* 見出し（h1～h6） */
h1 { position:relative; margin-bottom:0px; padding-bottom:0px; font-size:2.2rem; font-weight:500; line-height:2.6rem; color:#7f6000; }
h1::before, .heading-lv1::after { display:block; content:""; }
h1::after { position:absolute; bottom:-1px; left:0; width:100px; height:3px; background-color:#f1c232; }
.heading { position:relative; margin-bottom:30px; padding-bottom:10px; font-size:2rem; font-weight:500; line-height:2.2rem; }
.heading::before, .heading::after { display:block; content:""; }
.heading::before { position:absolute; bottom:0; left:0; width:100%; height:1px; background-color:#e2e2e2; }
.heading::after { position:absolute; bottom:-1px; left:0; width:100px; height:3px; background-color:#f1c232; }
h2 { margin-top:24px; margin-bottom:10px; color:#7f6000; font-size:1.8rem; font-weight:600; }
h3 { margin-top:12px; margin-bottom:10px; color:#7f6000; font-size:1.8rem; font-weight:600; }
h4 { margin-top:20px; margin-bottom:6px; font-size:1.6rem; font-weight:600; }
h5 { margin-top:20px; margin-bottom:6px; color:#7f6000; font-size:1.6rem; font-weight:500; }
h5::before { content:"■"; color:#7f6000; margin-right:4px; }
h6 { margin-top:0px; margin-bottom:3px; font-size:1.6rem; font-weight:500; }

/* 本文内画像の設定 */
.alignnone { margin:0px 0px 0px 0px; }
img.alignnone.size-full { margin:0px; max-width:100%; height:auto; }
img.alignleft.size-full { margin:0px; max-width:100%; height:auto; }
.aligncenter, div.aligncenter { display:block; margin:0px auto 10px; }
.alignleft { float:left; margin:0px 20px 10px 0px; }
.alignleft-end { float:left; margin:0px 0px 10px 0px; }
.alignright { float:right; margin:0px 0px 10px 20px; }
a img { background:none!important; }
a:hover img { opacity:0.6; filter:alpha(opacity=60); -ms-filter:"alpha( opacity=60 )"; background:none!important; }

/* 本文内画像の設定 (キャプション付) */
.wp-caption { max-width:100%!important; }
.wp-caption.alignnone { margin:0px auto 10px; }
.wp-caption.aligncenter { float:none; margin:18px auto; text-align:center; }
.wp-caption.alignleft { margin:0px 20px 10px 0px; }
.wp-caption.alignright { margin:0px 0px 10px 20px; }
.wp-caption img { border:0 none; height:auto; margin:0; max-width:100%; padding:0; width:auto; }
.wp-caption p.wp-caption-text { font-size:1.4rem; line-height:1.8rem; margin:0; padding:6px 0px 3px 3px; text-align:center; }
img.wp-smiley { vertical-align:middle; }

/* D1モデル解析結果：図と数式の表示 */
.tb-wrap .d1-figure { max-width:100%; margin:20px auto; text-align:center; }
.tb-wrap .d1-figure img { max-width:100%; height:auto; }
.tb-wrap .d1-figure figcaption { text-align:center; font-size:1.4rem; line-height:1.8; }
.tb-wrap .d1-formula { text-align:center; margin:20px 0; overflow-x:auto; }

/* Post Thumbnails */
img.wp-post-image, img.attachment-full, img.attachment-large, img.attachment-medium, img.attachment-thumbnail { display:block; margin:0px auto; width:auto; }

/* ヘッダー */
header { z-index:500; position:fixed; top:0; left:0; width:100%; min-width:0; height:178px; border-top:3px solid #3c3630; }
.header-in { display:flex; justify-content:space-between; width:100%; max-width:1200px; height:110px; margin-right:auto; margin-left:auto; padding-left:10px; }
.header-box1 { display:flex; }
.top-box { display:flex; flex-direction:column; align-items:center; justify-content:center; width:170px; height:110px; border-left:1px solid #e2e2e2; border-right:1px solid #e2e2e2; transition:opacity .35s; font-size:1.5rem; font-weight:400; }
.top-box:hover { opacity:.75; }
.top-box span { margin-top:2px; color:#b1b4b5; font-family:"Roboto",sans-serif; font-size:10rem; text-transform:uppercase; }
.header-box2 { display:flex; flex-direction:column; border-right:1px solid #e2e2e2; }
.top-menu-list { display:flex; justify-content:space-around; height:55px; padding:0 8px; font-size:1.3rem; font-weight:500; letter-spacing:.008em; text-transform:uppercase; }
.top-menu-list>li { display:flex; align-items:center; }
.top-menu-list>li a { transition:opacity .35s; }
.top-menu-list>li a:hover { opacity:.75; }
.header-signature { display:flex; justify-content:center; align-items:center; }
.logomark { display:flex; align-items:center; transition:opacity 0.35s; }
.logomark > img { width:240px; height:auto; }

/* 検索 */
#s-form { position:relative; max-width:276px; }
#s-box { height:26px; border-radius:2px; border:none; background:none; outline:0; margin-bottom:0px; }
#s-btn { position:absolute; top:50%; right:6px; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:26px; height:26px; padding:0; margin:0; background:none; border:none; font-size:18px; line-height:1; }
#s-btn:hover { color:#7f6000; }
.p-search { display:flex; align-items:center; justify-content:center; height:55px; z-index:300; }
.p-search > div { position:relative; width:225px; padding:0 2px; margin:0px 15px; border:1px solid #e2e2e2; border-radius:30px; background-color:#fff; }
.p-search input { -webkit-appearance:none; -moz-appearance:none; appearance:none; margin:0; padding:0; border:none; border-radius:0; outline:none; background:none; color:#30383c; font-family:'M PLUS 1p', 'メイリオ', Meiryo, sans-serif; font-weight:400; letter-spacing:0.01em; }
.p-search input[type=text] { width:calc(100% - 30px); padding:3px 0 3px 10px; font-size:1.2rem; }
.p-search input[type=text]::placeholder { color:#B1B4B5; }
.p-search input[type=submit] { speak:none; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; padding:0 2px; color:#B1B4B5; font-family:'icomoon' !important; font-size:1.2rem; font-style:normal; font-variant:normal; font-weight:normal; line-height:1; text-transform:none; }
#s-result { height:30px; border-radius:2px; border:none; background:none; outline:0; margin-bottom:0px; }

/* メインメニュー */
.main-menu { display:flex; align-items:center; justify-content:space-around; width:100%; max-width:1200px; margin-right:auto; margin-left:auto; padding:0 10px; font-size:16px; font-weight:400; }
.main-menu li { display:flex; position:relative; align-items:center; justify-content:center; text-align:center; height:65px; color:#fff; cursor:pointer; }
.main-menu li::before { display:block; position:absolute; bottom:-3px; left:50%; width:0; height:3px; transform:translateX(-50%); background-color:#EB8400; content:""; transition:.35s; }
.main-menu li.is-active::before, .main-menu li:hover::before { width:100%; }
.main-menu li.current-menu-item::before, .main-menu li.current-menu-ancestor::before { width:100%; }

/* フッターメニュー */
.footer-wrap { padding:10px 20px 30px; }
.foot-menu { display:flex; align-items:center; justify-content:space-around; padding:0 10px; font-size:12px; }
.foot-menu li { display:block; position:relative; align-items:center; justify-content:center; text-align:center; height:20px; padding:20px 15px; color:#fff; cursor:pointer; }
.copy { display:block; color:#fff; font-size:12px; font-weight:400; line-height:1.2; text-align:center; margin-top:20px; }

/* モーダルウィンドウ */
*, * :before, * :after { box-sizing:border-box; margin:0; }
.content { margin:0 auto; padding:20px; }
.box { background:#eee; height:200px; margin-bottom:100px; }
.subhead { margin:20px 0px 10px 0px; color:#bcb620; font-size:18px; line-height:2.1rem; font-weight:500; }
.subhead a:hover { color:#f1c232; }

/* ウィジェットエリア on Head */
.top-widget P { margin-left:2rem; }
.top-widget a { color:#7f6000; font-weight:700; text-align:left; font-family:'M PLUS 1p', 'メイリオ', Meiryo, sans-serif; text-decoration:none; letter-spacing:.1rem; }
.top-widget a:hover { color:#7f6000; }

/* ウィジェットエリア on Colophon */
.colophon-widget { display:inline-block; vertical-align:top; padding:1px 20px; height:auto; margin-left:auto; margin-right:20px; width:31%; background-color:#7f6000; border-left:1px dotted #CCC; clear:both; }
.colophon-widget:first-child { border-left:none; }
.colophon-widget select, .colophon-widget input[type="text"], .colophon-widget input[type="password"], .colophon-widget input[type="email"] { width:100%; }
.colophon-widget ul, .colophon-widget ol { padding-left:0px; list-style-type:none; font-size:14px; line-height:16pt; }
.colophon-widget h3 { margin-top:0px; margin-bottom:6px; font-size:1.6rem; color:#fff; }

/* ウィジェットエリア on homepage */
.widget-wrapper1 { width:100%; margin:20px auto; padding:0px; }
.widget-wrapper2 { display:block; width:100%; height:auto; margin:20px auto; padding:15px 30px; clear:both; background-color:#fff; overflow:hidden; }
.widget-wrapper3 { display:block; width:100%; height:auto; margin:20px auto; padding:15px 20px; clear:both; background-color:#fff; overflow:hidden; }
.widget-in-2 { width:auto; height:auto; margin:5px auto; padding:0px; }
.widget-in-3 { width:auto; height:auto; margin:5px auto; padding:0px; font-size:14px; line-height:2rem; }
.widget-ttl-2 { font-size:18px; font-weight:500; margin-bottom:10px; }
.widget-ttl-3 { font-size:16px; font-weight:500; margin-bottom:10px; }
.overview ol { list-style-type:decimal; margin:10px 0px 20px 20px; padding-left:10px; }
.overview ul { list-style-type:inherit; margin:10px 0px 20px 20px; padding-left:10px; }

/* ウイジェットエリア on contents-side page */
.widget-title, .widget-navi-title { font-size:18px; font-weight:500; line-height:30px; padding:0px 0px 20px; }
.menu { font-size:15px; font-weight:500; line-height:34px; }

/* ウイジェット 1 Important Notices 重要なお知らせバナー　*/
.notice-box { border:1px solid #CCC; background-color:#fff; margin:0px 0px 10px 0px; height:50px; padding:0px; width:100%; clear:both; }
.widget-notice { font-size:16px; font-weight:500; color:#fff; text-align:center; margin:0px; padding:12px 20px; float:left; width:20%; height:auto; }
.box-tx { float:left; font-size:16px; color:#444; padding:12px 20px; height:auto; }
.box-tx:hover { color:#bcb620; cursor:pointer; }

/* ウイジェット 2 Homepage Link Banner　*/
.widget-box { display:block; float:left; width:calc((100% - 40px) / 3); margin:0px 20px 20px 0px; padding:0px; border-bottom:1px solid #888; background-color:#ffffff; color:#444; }
.widget-box:nth-of-type(3n) { margin:0px 0px 20px 0px; }
.widget-box:hover { border-bottom:1px solid #f1c232; color:#f1c232; cursor:pointer; }
.widget-boxin { display:block; height:60px; width:100%; margin:0px; padding:35px 5px 5px 5px; bottom:5px; text-align:left; font-size:16px; font-weight:400; line-height:18px; font-family:'M PLUS 1p', 'メイリオ', Meiryo, sans-serif; text-decoration:none; }

/* ウイジェット 3 白地テキスト */
.widget-white { border:1px solid #CCC; background:#fff; margin:10px 0px; padding:10px 15px; width:100%; box-sizing:border-box; clear:both; font-size:16px; line-height:1.8; color:#444; }
.widget-white-title { margin:0 0 5px 0; font-size:17px; font-weight:600; color:#bcb620; }

/* 個別オプション */
.linear-drive-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
.linear-drive-item { min-width:0; }
.linear-drive-item h5 { margin:0 0 12px; line-height:1.5; }
.linear-drive-video { width:100%; margin-top:10px; }
.linear-drive-video video, .linear-drive-video iframe { display:block; width:100%; height:auto; aspect-ratio:16 / 9; border:0; }
.linear-drive-item p { text-align:right; margin-top:10px; }
.award-table { border-collapse:collapse; }
.award-table tr.year-start > td { border-top:2px solid #999; }

/* リニアドライブ動画：スマホでは1列表示 */
@media (max-width: 767px) {
    .linear-drive-grid { grid-template-columns:1fr; }
}

/* トップページ：お知らせ */
.home-info { padding:30px 30px 20px; background-color:#fff; margin-top:15px; margin-left:auto; margin-right:auto; }
.home-info_title { margin-top:0px; font-size:24px; font-weight:500; text-align:center; }
.info-index { display:flex; align-items:center; justify-content:space-between; margin:40px 0px; padding:20px; background-color:rgba(239, 239, 239, 0.5); }
.index-buttons { display:flex; margin:0; padding:0; background:none; }
.info-list-link { margin-left:auto; font-size:1.4rem; font-weight:500; color:#7f6000; white-space:nowrap; }
.info-list-link:hover { color:#f1c232; }
.index-buttons > li { padding:5px; background-color:rgba(48, 56, 60, 0.2); color:#fff; text-align:center; justify-content:space-between; cursor:pointer; transition:opacity .35s; }
.index-buttons > li:hover { opacity:.75; }
.index-buttons > li.is-current { background-color:#f1c232; }
.info-contents { height:auto; display:flex; flex-wrap:wrap; }
.info-box { display:inline-block; width:23.5%; margin:0px 2% 20px 0px; padding:20px; border:1px solid #e2e2e2; }
.info-box:nth-child(4n) { margin:0px 0px 20px 0px; }
.info-box a:hover { color:#bcb620; cursor:pointer; }
.info-box_image { display:block; position:relative; flex-direction:column; background-color:#EEE; }
.info-box_image img { width:100%; height:120px; object-fit:cover; }
.info-box_next { display:block; }
.info-box_evetdate { display:inline-block; z-index:200; margin:8px auto 0px; padding:2px 6px; font-size:1rem; line-height:1.2rem; font-weight:500; color:#fff; }
.info-box_issuedate { color:#888; margin-bottom:5px; font-size:1.6rem; }
.info-box_title { display:block; margin:8px 0px 0px 0px; font-size:1.4rem; line-height:2rem; }
#box-event { display:none; }
#box-researcher { display:none; }

/* 一覧ページ：お知らせ */
.info-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.info-head .info-switch { display:block; position:relative; width:100px; padding-right:12px; background-color:#515557; color:#fff; font-size:1.2rem; line-height:22px; text-align:center; transition:opacity 0.35s; }
.info-head .info-switch::before { display:block; position:absolute; top:50%; right:10px; width:6px; height:6px; margin-top:-3px; transform:rotate(45deg); border-top:1px solid #fff; border-right:1px solid #fff; content:""; }
.info-title { font-weight:500; text-align:center; }
.news-list { margin:8px 0px 8px 0px; border-bottom:1px solid #eee; }
.news-list_image { display:block; float:left; margin:0px 10px 10px 0px; }
.news-list_image img { width:140px; height:140px; object-fit:cover; background-color:#EEE; }
.news-list_next { display:block; margin-left:160px; }
.news-list_title { display:block; margin:10px 0px; font-size:1.6rem; line-height:2rem; font-weight:500; }
.news-list_text { font-size:1.5rem; line-height:1.9rem; font-weight:300; }
.news-list_evetdate { display:inline-block; margin:0px auto 0px; padding:2px 6px; font-size:1.1rem; line-height:1.2rem; font-weight:500; color:#fff; }
.news-list_date { font-size:1.3rem; line-height:2rem; font-weight:300; }
.single-event-date { color:#7f6000; font-size:1.6rem; font-weight:500; }
.single-event-date::before { content:"■"; color:#7f6000; margin-right:4px; }
#meeting-year { padding:8px 35px 8px 12px; font-size:1.4rem; border:1px solid #ccc; border-radius:4px; background-color:#fff; }
.meeting-year-select { flex-wrap:nowrap; }

/* Navigation */
.navigation { color:#111; display:block; font-size:15px; height:25px; line-height:25px; margin:10px 0; padding:0 5px; }
.navigation a { color:#aaa; padding:4px 10px; }
.navigation a:hover { color:#bcb620; text-decoration:none; }
.navigation .previous { float:left; }
.navigation .next { float:right; }
.navigation .bracket { font-size:36px; }

/*** BxSlider v4.1.2 - Fully loaded, responsive content slider
/** RESET AND LAYOUT */
.soutai { position:relative; text-align:left; vertical-align:middle; }
.ttl-belt-top { position:absolute; top:0px; left:0px; right:0px; bottom:0px; margin:0; width:auto; z-index:400; background-color:rgba(191,144,0,0.45); pointer-events:none; }
.ttl-belt-top P { position:absolute; left:40px; top:24px; color:#fff; font-size:32px; line-height:40px; text-shadow:1px 1px 9px #333; font-family:'Sawarabi Mincho'; font-weight:400; white-space:nowrap; letter-spacing:.1rem; }
P.sub-c { position:absolute; color:#fff; text-shadow:0px 0px 9px #333; font-family:'Ubuntu'; }

/**** BxSlider ****/
.bx-wrapper { width:1200px; position:relative; padding:0px; *zoom:1; margin:15px 0 25px 0; border:solid 1px #7f6000; border-radius:2px; z-index:200; }
.bx-wrapper img { width:100%; height:100%; display:block; }

/* THEME */
.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto { position:absolute; bottom:-10px; left:0px; width:100%; }

/* LOADER */
.bx-wrapper .bx-loading { min-height:50px; background:url(img/bx_loader.gif) center center no-repeat #fff; height:100%; width:100%; position:absolute; top:0; left:0; z-index:1000; }

/* PAGER */
.bx-wrapper .bx-pager { position:absolute; bottom:0%; font-size:0px; font-family:Arial; font-weight:700; color:#fff; z-index:220; text-align:left; }
.bx-wrapper .bx-pager .bx-pager-item,.bx-wrapper .bx-controls-auto .bx-controls-auto-item { display:inline-block; *zoom:1; *display:inline; }
.bx-wrapper .bx-pager.bx-default-pager a { background:#fff; display:block; width:10px; height:10px; outline:0; -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; box-shadow:0px 0px 2px; margin-left:12px; margin-bottom:10px; }
.port_info { margin-top:40px; }
.bx-wrapper .bx-pager.bx-default-pager a:hover,.bx-wrapper .bx-pager.bx-default-pager a.active { background:#69C; }

/* スライド画像ごとの右下キャプション */
#bxslider .slide-item { position:relative; }
#bxslider .slide-link { display:block; position:relative; }
.soutai .slide-caption-layer { position:absolute; right:34px; bottom:28px; z-index:450; color:#fff !important; -webkit-text-fill-color:#fff !important; opacity:1 !important; font-size:16px; line-height:22px; font-family:'Sawarabi Mincho'; font-weight:400; text-align:right; text-shadow:0 1px 4px rgba(0,0,0,.9); white-space:nowrap; pointer-events:none; background:transparent; }
.soutai .slide-caption-layer:empty { display:none; }

/* 本文：表・リスト・フォーム */
.tb-wrap a { color:#b24a16; font-weight:500; text-decoration:none; }
.tb-wrap a:hover { color:#8f2f0f; }
.tb-wrap { font-size:1.6rem; line-height:2.6rem; margin:9px 0px; }
.tb-wrap th { color:#7f6000; font-size:1.5rem; line-height:2.4rem; font-weight:400; text-align:left; vertical-align:baseline; padding:6px 10px; background-color:#FAFAFA; border-top:solid #CCC 1px; border-right:solid #CCC 1px; border-bottom:solid #CCC 1px; }
.tb-wrap th:last-child { border-right:none; }
.tb-wrap td { font-size:1.5rem; line-height:2.4rem; text-align:left; vertical-align:baseline; padding:6px 10px; border-top:solid #CCC 1px; border-right:solid #CCC 1px; border-bottom:solid #CCC 1px; }
.tb-wrap td:last-child { border-right:none; }
.tb-wrap table { width:100%; margin:0px 0px 10px 0px; }
.tb-wrap table ol { list-style-type:decimal; margin:0px 5px; padding-left:16px; font-size:1.5rem; line-height:2.3rem; }
.tb-wrap table ul { list-style-type:inherit; margin:0px 8px; padding-left:16px; font-size:1.5rem; line-height:2.3rem; }
.tb-wrap table li { list-style-type:inherit; margin:3px 0px; }
.tb-wrap ol { list-style-type:decimal; margin:0px 10px; padding-left:20px; padding-bottom:10px; font-size:1.6rem; line-height:2.8rem; }
.tb-wrap ul { list-style-type:inherit; margin:0px 10px; padding-left:20px; padding-bottom:10px; font-size:1.6rem; line-height:2.8rem; }
.tb-wrap ul li::marker { font-size:1.4rem; line-height:2.8rem; }
.tb-wrap li { list-style-type:inherit; margin:3px 0px; }
.tb-wrap label { font-size:1.4rem; font-weight:700; line-height:3rem; }
.tb-wrap legend { padding:2px 5px; }
.tb-wrap fieldset { border:1px solid #ccc; margin:0 0 1.5em; padding:1em 2em; }
.tb-wrap select, .tb-wrap input[type="text"], .tb-wrap input[type="password"], .tb-wrap input[type="email"] { -moz-box-sizing:border-box; -moz-border-radius:2px; -webkit-box-sizing:border-box; -webkit-border-radius:2px; -webkit-box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); background-color:#fff; box-sizing:border-box; border:1px solid #aaa; border-bottom-color:#ccc; border-radius:2px; outline:none; margin:3px; padding:6px; vertical-align:middle; }
.tb-wrap select { height:auto; width:auto; }
.tb-wrap textarea { -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -webkit-border-radius:2px; -webkit-box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); background-color:#fff; box-shadow:0 1px 0 #fff, inset 0 1px 1px rgba(0, 0, 0, 0.2); box-sizing:border-box; border:1px solid #aaa; border-bottom-color:#ccc; border-radius:2px; height:auto; overflow:auto; margin:0px; outline:none; padding:8px; width:100%; }
.tb-wrap input, .tb-wrap select { cursor:pointer; }
.tb-wrap inputinput[type='text'], .tb-wrap input[type='password'] { cursor:text; }
.tb-wrap a.button, .tb-wrap input[type='reset'], .tb-wrap input[type='button'], .tb-wrap input[type='submit'] { background-color:#bcb620; border:1px solid #999; color:#fff; font-size:1.6rem; font-weight:700; line-height:18px; cursor:pointer; display:inline-block; margin:3px; padding:4px 12px; }
.tb-wrap a.button:hover, .tb-wrap input[type='reset']:hover, .tb-wrap input[type='button']:hover, .tb-wrap input[type='submit']:hover { background-color:#7f6000; border:1px solid #bcb620; }
.tb-wrap blockquote { margin:15px 0; padding:10px 20px; border-left:4px solid #ccc; background:#f5f5f5; }

/* ■マークのリスト <ul class="square-list"> */
.tb-wrap ul.square-list { list-style:none; padding-left:0; }
.tb-wrap ul.square-list > li { list-style:none; position:relative; padding-left:20px; margin-bottom:20px; }
.tb-wrap ul.square-list > li::before { content:""; position:absolute; left:1px; top:8px; width:11px; height:11px; background-color:#7f6000; }

/* リスト：ブレットなし・インデントあり */
.tb-wrap ul.indent-list { margin-left:18px; padding-left:0; }
.tb-wrap ul.indent-list > li { list-style-type:none; }
.tb-wrap ul.indent-list > li::marker,.tb-wrap ul.indent-list > li::before { content:none; }
.committee-name { text-align:right; padding-right:40px; }

/* Page */
.page-bottom { display:flex; flex-wrap:wrap; justify-content:center; }
.issue-date { text-align:right !important; }
.breadcrumb-list { font-size:1.4rem; margin:0px 0px 10px 20px; }
.breadcrumb:hover { color:#7f6000; }
.chevron { color:#30383c; }
.breadcrumb-current { color:#7f6000; font-weight:400; }
.databox { width:100%; padding:0.5em; margin:10px 0 20px; overflow:auto; box-shadow:0 1px 0 #fff, inset 0 1px 2px rgba(0, 0, 0, 0.4); background:#fff; font-size:13px; }

/* ポスターページ */
.poster_fram { margin-top:15px; padding:10px; width:100%; height:auto; background-color:#fff; }
.poster_fram >img { display:block; width:100%; height:auto; margin:0; }

/* サイトマップ */
.map-content { display:flex; padding:0px 20px 20px; }
.map-content a { font-size:1.6rem; line-height:32px; }
.map-content a:hover { color:#f1c232; }
.sitemap-menu { font-weight:400; display:block; }
ul .sub-menu { display:block; padding:0px 0px 0px 22px; list-style:square; font-size:1.2rem; line-height:26px; }
.widget-title-map { margin:0; }

/* お問い合わせフォーム（Contact Form 7） */
.logbox { border:solid 1px #CCC; width:100%; height:300px; padding:0.5em; margin:10px 0 20px; overflow:auto; box-shadow:0 1px 0 #fff, inset 0 1px 2px rgba(0, 0, 0, 0.4); background:#fff; font-size:13px; }
.logbox ::-webkit-scrollbar-track { border-radius:10px; background:#f2f2f2; }
.logbox ::-webkit-scrollbar-thumb { border-radius:10px; background:#09C9D9; }
.logbox h5 { font-size:13px; }
.logbox P { font-size:13px; line-height:1.5rem; }
select::-ms-expand { display:none; }
.cf-ttl { font-size:15px; font-weight:500; margin:20px 0px 0px 0px; }
.bun { font-size:14px; font-weight:400; margin:15px 0px 5px 0px; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"] { width:100%; padding:10px; margin:0px 10px 0px 0px; border-radius:3px; background:rgba(255, 255, 142, 0.1); font-size:14px; }
.wpcf7-textarea { width:100%; height:200px; padding:10px; border-radius:3px; box-shadow:0 1px 0 #fff, inset 0 1px 2px rgba(0, 0, 0, 0.3); border:1px solid #BFBFBF; margin-bottom:0px; background:rgba(255, 255, 142, 0.1); font-size:14px; }
.wpcf7-submit { width:40%; height:36px; background-color:#7f6000; box-shadow:0 1px 0 rgba(255, 255, 255, 0.3) inset; border:1px solid #6f4d3e; border-radius:18px; color:#fff; cursor:pointer; font-size:18px; font-weight:700; line-height:20px; margin:0; padding:8px; text-decoration:none; text-shadow:0px -1px 1px #6f4d3e; }
span.wpcf7-not-valid-tip, .wpcf7-response-output.wpcf7-validation-errors { color:red; font-weight:500; }
span.wpcf7-spinner { display:block; height:6px; width:6px; }
.cflab { font-size:14px; line-height:28px; font-weight:500; }
.cftex { font-size:14px; }

/* ページコンテンツ内ユーザー */
.list-dot>li { position:relative; margin-top:.4em; padding-left:14px; }
.list-dot>li::before { display:inline-block; position:absolute; top:10px; left:0; width:4px; height:4px; border-radius:50%; background:#f1c232; content:""; }
.list-paging li.is-current a,.list-paging li a:hover { background-color:#bcb620; color:#fff; }
.link-mark::after { margin-top:2px; margin-left:5px; padding:1px 5px; background-color:#bcb620; color:#fff; font-size:.9rem; font-weight:400; content:attr(data-text) ""; }
.tr-list { border-bottom:solid 1px #e2e2e2; height:40px; }
.t-list { vertical-align:bottom; }
table caption { text-align:left; }

/* PDFリンク */
.pdf-link { display:inline-flex; align-items:center; gap:6px; }
.pdf-link img { width:18px; height:auto; vertical-align:middle; }

/* PC ＋ iPad横向き */
@media screen and (min-width:1181px), screen and (min-width:900px) and (max-width:1180px) and (orientation:landscape) {
    .pc-hide { display:none; }
    body { min-width:0; width:100%; font-size:1.6rem; line-height:2; }
    .bg-front { padding-bottom:20px; }

    /* Page */
    .contents_wrap { padding-top:180px; padding-bottom:30px; }
    .contents_in { max-width:1280px; padding-right:40px; padding-left:40px; }
    .contents_foot { max-width:1280px; padding-right:40px; padding-left:40px; }
    .heading { margin-bottom:40px; padding-bottom:14px; font-size:2.4rem; line-height:2.8rem; }
    .heading::after { width:178px; height:3px; }

    /* Homepage */
    .info-title { font-size:2.4rem; }
    .bumon { font-size:1.8rem; line-height:1.6rem; color:#bcb620; font-weight:500; }
    .iinkai { font-size:2.4rem; line-height:3rem; color:#bcb620; font-weight:500; }
    P.ttl-belt-top { left:40px; top:20px; font-size:28px; line-height:32px; }
    P.sub-c { left:40px; top:70px; font-size:18px; line-height:26px; max-width:94%; }
    .overview { font-size:1.6rem; line-height:2.8rem; }
    .widget-notice, .box-tx { line-height:24px; }

    /* Page */
    .info-box_image { height:120px; }
    .index-buttons { display:flex; margin:0; padding:0; background:none; }
    .index-buttons > li { display:flex; align-items:center; justify-content:center; min-width:130px; }
    .index-buttons > li:not(:first-child) { margin-left:10px; transition:background-color .35s; }
    .index-buttons--information > li { width:100%; }
    .info-head { display:flex; align-items:center; justify-content:space-between; }
    .info-head .info-switchbox { width:135px; padding-right:14px; font-size:1.5rem; line-height:28px; }
    .info-head .info-switch { width:135px; padding-right:14px; font-size:1.4rem; line-height:28px; }
    .info-head .info-switch:hover { opacity:0.8; }
    .info-head .info-switch::before { right:11px; }
}

/* iPad縦向き ＋ スマホ */
@media screen and (max-width:899px), screen and (max-width:1180px) and (orientation:portrait) {
    /* 基本レイアウト */
    html,body { overflow-x:hidden; }
    body { min-width:0; width:100%; }
    header { min-width:0; width:100%; }
    .header-in { width:100%; max-width:100%; }
    .header-box2 { border-right:none; }

    /* iPad / Tablet overflow protection */
    .page-wrap, .contents_wrap, .contents_in, .page-content, section, main { width:100%; max-width:100%; }
    img, iframe, video { max-width:100%; height:auto; }
    .tb-wrap { max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
    .tb-wrap table { width:100%; max-width:100%; }
    pre, code, p, td, th, li, a { overflow-wrap:anywhere; word-break:break-word; }
    .hidden-sp { display:none; }
    .soutai .slide-caption-layer { right:18px; bottom:16px; font-size:12px; line-height:16px; font-family:'Sawarabi Mincho'; font-weight:400; }
    .breadcrumb-list { display:none; }
    h1 { font-size:2rem; }
    h3 { font-size:1.8rem; }
    h4 { margin-top:22px; margin-bottom:6px; font-size:1.7rem; }
    h5 { margin-top:20px; margin-bottom:5px; font-size:1.6rem; }

    /* ヘッダー */
    header { height:58px; background-color:#7f6000; display:flex; align-items:center; }
    .header-in { padding:5px; height:auto; }
    .logomark > img { width:130px; }
    .top-widget P { margin:0px; margin-left:7px; padding:0px; font-weight:900; }
    .top-widget a { color:#fff; letter-spacing:0.05rem; }
    .bumon { font-size:1.3rem; line-height:0.8rem; padding:0rem; color:#fff; letter-spacing:0.05rem; font-weight:400; }
    .iinkai { font-size:1.5rem; line-height:0.4rem; padding:0rem; color:#fff; letter-spacing:0.05rem; font-weight:400; }
    .header-box-navi { margin-right:0px; padding-right:0px; }
    #s-btn { right:7px; }
    .p-search { position:fixed; bottom:-50px; left:0; width:100%; background-color:#7f6000; transition:bottom .35s; }
    .p-search.is-open { bottom:50px; }

    /* Content */
    .port, .port-right { float:none; clear:both; }
    .page-content { display:block; margin-top:0px; }
    .contents_in { padding-right:0px; padding-left:0px; margin-top:58px; }
    .page73-7 { clear:both; width:100%; padding:30px 20px 20px; margin:0px 0px 20px; }
    .page73-3 { clear:both; width:100%; padding:20px; margin:0px; }
    .pier-450 { clear:both; width:100%; padding:10px 20px; margin:20px 0px; }
    .pier-500 { clear:both; width:100%; padding:20px; margin:20px 0px; }
    .sidebar-empty { display:none; }

    /* Footer */
    .contents_foot { padding-right:0px; padding-left:0px; }
    .colophon-widget { display:block; min-height:0; float:none; border-left:none; border-top:1px dotted #CCC; width:auto; margin:0px 10px; padding:20px 0px; }
    .colophon-widget:first-child { margin:0px 10px; padding:0px 0px 20px 0px; border-top:none; }
    .footer-wrap { padding:10px 20px 120px; }

    /* Homepage */
    .ttl-belt-top P { left:40px; top:22px; font-size:22px; line-height:22px; }
    P.sub-c { left:40px; top:52px; font-size:14px; line-height:20px; white-space:normal; max-width:90%; }
    .overview { font-size:1.5rem; line-height:2.4rem; }
    .home-link { width:auto; margin:30px auto; padding:10px 20px 20px 20px; }
    .home-info_title { font-size:18px; line-height:26px; }
    .widget-ttl-2 { font-size:16px; }
    .widget-box, .widget-box:nth-of-type(3n) { float:none; clear:both; width:auto; bottom:5px; margin:5px 0px; }
    .widget-boxin { padding:20px 5px 5px 5px; text-align:left; height:auto; font-size:14px; }
    .notice-box { border:1px solid #CCC; height:auto; background-color:#fff; margin:0px 0px 20px 0px; }
    .widget-notice { float:none; clear:both; height:auto; width:100%; padding:3px; font-size:14px; }
    .port_info { margin-top:30px; }
    .box-tx { float:none; clear:both; font-size:15px; line-height:25px; padding:12px 20px; height:auto; }
    .info-title { font-size:1.8rem; text-align:left; }
    .index-buttons { display:inline-flex; flex-wrap:nowrap; }
    .index-buttons > li { padding:4px 10px; border-right:1px solid #fff; font-size:1rem; white-space:nowrap; }
    .info-index { margin:15px 0px 10px 0px; padding:10px; }
    .info-contents { width:100%; height:auto; display:block; }
    .info-box,.info-box:nth-child(4n) { width:100%; margin:0px; padding:10px 0px 10px 0px; border:0px; border-bottom:1px solid #e2e2e2; }
    .info-box:last-child { border-bottom:0px; }
    .info-box_image img { width:160px; height:80px; float:left; margin-right:15px; }
    .info-box_next { margin-left:10px; }
    .info-box_evetdate { margin:0px 0px 5px 0px; padding:1px 4px; font-size:1rem; line-height:1.2rem; }
    .info-box_title { margin:0px 0px 0px 165px; font-size:1.4rem; line-height:1.9rem; }
    .widget-wrapper1 { width:auto; margin:20px 10px; }

    /* Page */
    .news-list_image img { width:100px; height:100px; }
    .news-list_next { margin-left:115px; }
    .news-list_title { font-size:1.5rem; line-height:2rem; font-weight:400; }

    /* Mova Toggle Navi */
    .mova { position:fixed; z-index:600; top:218px; left:0; width:100%; }
    .navi_menu { display:flex; z-index:400; position:fixed; bottom:0; left:0; align-items:center; width:100%; height:50px; border-top:1px solid #e2e2e2; background-color:#fff; }
    .navi_menu > li { width:calc(100% / 5); height:100%; }
    .navi_menu > li:not(:first-child) > a { border-left:1px solid #e2e2e2; }
    .sub-menu { margin:0px 0px 10px 0px; }
    .sub-menu li { width:380px; margin-bottom:6px; overflow-x:hidden; }
    .sub-menu li a { display:block; position:relative; padding:1px 0 1px 35px; transition:opacity 0.35s; color:#fff; font-size:1.3rem; font-weight:400; }
    .sub-menu li a::before { display:block; position:absolute; top:43%; left:18px; width:6px; height:6px; transform:rotate(45deg); border-top:1px solid #fff; border-right:1px solid #fff; background-color:transparent; content:""; }
    .sub-menu li a::after { display:none; }
    .sub-menu li a:hover { opacity:0.60; }
    .navi_bg { display:none; z-index:200; position:fixed; top:0; left:0; width:100%; height:100%; min-height:100vh; background-color:rgba(0,0,0,0.5); cursor:pointer; }
    .mova-navi_items { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; padding-bottom:3px; letter-spacing:-0.05em; }
    .mova-navi-icon { display:block; width:50px; height:15px; color:#515557; font-size:1.7rem; text-align:center; }
    .mova-navi_items-icon.icon-bar { width:50px; height:12px; font-size:1.3rem; }
    .mova-navi-text { margin-top:2px; font-size:0.9rem; }
    .icon-bar::before { content:"\f0c9"; font-family:"Font Awesome 5 Free"; font-weight:900; }
    .icon-close::before { content:"\f00d"; font-family:"Font Awesome 5 Free"; font-weight:900; }
    .navi-in { z-index:310; position:fixed; top:0; left:-80%; width:80%; height:calc(100% - 50px); max-height:calc(100vh - 50px); padding-bottom:10px; overflow-x:hidden; transition:left 0.35s; }
    .navi-in.is-open { left:0; }

    /**** BxSlider ****/
    .bx-wrapper { width:100%; height:240px; overflow:hidden; margin:0px 0 25px 0; }
    .bx-wrapper img { height:240px; object-fit:cover; }
    .bx-wrapper .bx-pager { bottom:2px; }

    /* Table Page */
    .tb-wrap { font-size:15px; line-height:23px; margin:9px 0px; }
    .tb-wrap th { font-size:14px; padding:3px 5px; }
    .tb-wrap td { font-size:14px; padding:3px 5px; }
    .map-content { padding:0px; }

    /* iPad / Tablet: BxSlider initial width fix */
    .bx-wrapper, .bx-wrapper .bx-viewport, #bxslider, #bxslider > li, #bxslider .slide-item, #bxslider .slide-link { width:100% !important; max-width:100% !important; }
    .bx-wrapper .bx-viewport { left:0 !important; }
    #bxslider img, .bx-wrapper img { display:block; width:100% !important; max-width:100% !important; height:240px; object-fit:cover; }

    /* Contents sidebar: keep space above footer */
    .page73-3 { margin-bottom:30px; }
    .page73-3 .sub-menu li a { color:#7f6000; }
    .page73-3 .sub-menu li a::before { border-top-color:#7f6000; border-right-color:#7f6000; }

    /* スマホ：サイドバーの子メニュー */
    .page73-3 .sub-menu { display:block !important; padding-left:12px; list-style:none; }
    .page73-3 .sub-menu li { display:block; width:auto; margin-bottom:4px; }
    .page73-3 .sub-menu li a { display:block; position:relative; padding:1px 0 1px 16px; color:#7f6000 !important; }
    .page73-3 .sub-menu li a::before { content:""; display:block; position:absolute; top:50%; left:0; width:6px; height:6px; transform:translateY(-50%); background-color:#30383c; border:none; }
}
@media screen and (max-width:450px) {
    .ttl-belt-top { top:0px; left:0px; right:0px; margin:0px; width:auto; }
    .ttl-belt-top P { left:15px; font-size:19px; line-height:26px; font-weight:600; letter-spacing:0rem; }
    .soutai .slide-caption-layer { font-size:8px; line-height:10px; font-family:'Sawarabi Mincho'; font-weight:600; }
    P.sub-c { font-size:14px; line-height:20px; font-weight:400; }
    .iinkai { font-size:1.5rem; line-height:1.5rem; }
}

/* =========================================================
   Mova Menu: CSS class の手入力を不要にする
   WordPress が自動付与する .menu-item-has-children を使用
   ========================================================= */
	/* 最上位メニュー共通 */
	.navi-in > li { display:block; position:relative; border-bottom:1px solid #777777; }
	.navi-in > li > a { display:block; position:relative; padding:12px 15px; cursor:pointer; color:#fff; font-size:1.4rem; font-weight:400; }
	/* 子メニューなし：右側に ＞ */
	.navi-in > li:not(.menu-item-has-children) > a::after { display:block; position:absolute; top:45%; right:21px; width:6px; height:6px; transform:rotate(45deg); border-top:1px solid #fff; border-right:1px solid #fff; content:""; }
	/* 子メニューあり：右側に ＋ */
	.navi-in > li.menu-item-has-children > a::after { transform:rotate(90deg); }
	/* 開いた時：＋ → － */
	.navi-in > li.menu-item-has-children > a.plus::after { transform:rotate(0deg); }
	/* hover */
	.navi-in > li > a:hover, .navi-in .sub-menu li a:hover { opacity:0.60; }
	/* HP White Text：タイトルリンクと本文内ボタン */
	.widget-white .widget-white-title a:hover { color:#7f6000; text-decoration:underline; }
	.widget-white .widget-white-body a.magld-button { display:inline-block; width:auto; margin:0 4px; padding:3px 12px; border:1px solid #bbb; border-radius:4px; background-color:#fff; color:#666; font-size:1.4rem; font-weight:400; line-height:1.5; text-decoration:none; white-space:nowrap; overflow-wrap:normal; word-break:keep-all; vertical-align:baseline; cursor:pointer; }
	.widget-white .widget-white-body a.magld-button:hover { background-color:#f5f5f5; border-color:#999; color:#444; }

	/* Google reCAPTCHA バッジ非表示 */
	.grecaptcha-badge { visibility: hidden !important;}

/* 3カテゴリー共通の記事一覧 */
.sol-archive-card { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; padding:24px 0; border-bottom:1px solid #e3e7e5; }
.sol-archive-picture img { display:block; width:100%; height:130px; object-fit:contain; }
.sol-archive-card h2 { margin:0 0 8px; line-height:1.6; }
.sol-archive-card time { display:block; color:#65716b; font-size:1.3rem; margin-bottom:8px; }
.sol-archive-card p { margin:0; font-size:1.4rem; }
.sol-archive-card.no-image { grid-template-columns:1fr; }
@media(max-width:600px) { .sol-archive-card { grid-template-columns:110px minmax(0,1fr); gap:14px; } .sol-archive-picture img { height:95px; } }
