@charset "UTF-8";
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # ================================================================= # Global selectors # ================================================================= */
html { box-sizing: border-box; overflow-y: scroll; /* All browsers without overlaying scrollbars */ -webkit-text-size-adjust: 100%; /* iOS 8+ */ }

*, ::before, ::after { background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */ box-sizing: inherit; }

::before, ::after { text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */ vertical-align: inherit; }

* { padding: 0; /* Reset `padding` and `margin` of all elements */ margin: 0; }

/* # ================================================================= # General elements # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) { display: none; height: 0; }

hr { overflow: visible; /* Show the overflow in Edge and IE */ }

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary { display: block; }

summary { display: list-item; /* Add the correct display in all browsers */ }

small { font-size: 80%; /* Set font-size to 80% in `small` elements */ }

[hidden], template { display: none; /* Add the correct display in IE */ }

abbr[title] { border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */ text-decoration: none; /* Remove text decoration in Firefox 40+ */ }

a { background-color: transparent; /* Remove the gray background on active links in IE 10 */ -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */ }

a:active, a:hover { outline-width: 0; /* Remove the outline when hovering in all browsers */ }

code, kbd, pre, samp { font-family: monospace, monospace; /* Specify the font family of code elements */ }

b, strong { font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */ }

dfn { font-style: italic; /* Address styling not present in Safari and Chrome */ }

/* Address styling not present in IE 8/9 */
mark { background-color: #ff0; color: #000; }

/* https://gist.github.com/unruthless/413930 */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* # ================================================================= # Forms # ================================================================= */
input { border-radius: 0; }

/* Apply cursor pointer to button elements */
button, [type="button"], [type="reset"], [type="submit"], [role="button"] { cursor: pointer; }

/* Replace pointer cursor in disabled elements */
[disabled] { cursor: default; }

[type="number"] { width: auto; /* Firefox 36+ */ }

[type="search"] { -webkit-appearance: textfield; /* Safari 8+ */ }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; /* Safari 8 */ }

textarea { overflow: auto; /* Internet Explorer 11+ */ resize: vertical; /* Specify textarea resizability */ }

button, input, optgroup, select, textarea { font: inherit; /* Specify font inheritance of form elements */ }

optgroup { font-weight: bold; /* Restore the font weight unset by the previous rule. */ }

button { overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: 0; padding: 0; }

/* Replace focus style removed in the border reset above */
button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { outline: 1px dotted ButtonText; }

button, html [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */ }

button, select { text-transform: none; /* Firefox 40+, Internet Explorer 11- */ }

/* Remove the default button styling in all browsers */
button, input, select, textarea { background-color: transparent; border-style: none; color: inherit; }

/* Style select like a standard input */
select { -moz-appearance: none; /* Firefox 36+ */ -webkit-appearance: none; /* Chrome 41+ */ }

select::-ms-expand { display: none; /* Internet Explorer 11+ */ }

select::-ms-value { color: currentColor; /* Internet Explorer 11+ */ }

legend { border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */ color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */ display: table; /* Correct the text wrapping in Edge and IE */ max-width: 100%; /* Correct the text wrapping in Edge and IE */ white-space: normal; /* Correct the text wrapping in Edge and IE */ }

::-webkit-file-upload-button { -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */ font: inherit; /* Change font properties to `inherit` in Chrome and Safari */ }

[type="search"] { -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */ outline-offset: -2px; /* Correct the outline style in Safari */ }

/* # ================================================================= # Specify media element style # ================================================================= */
img { border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */ }

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress { vertical-align: baseline; }

svg:not(:root) { overflow: hidden; /* Internet Explorer 11- */ }

audio, canvas, progress, video { display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */ }

/* # ================================================================= # Accessibility # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen { [hidden~="screen"] { display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) { position: absolute !important; clip: rect(0 0 0 0) !important; } }
/* Specify the progress cursor of updating elements */
[aria-busy="true"] { cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] { cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] { cursor: default; }

/* # ================================================================= # Selection # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection { background-color: #b3d4fc; /* Required when declaring ::selection */ color: #000; text-shadow: none; }

::selection { background-color: #b3d4fc; /* Required when declaring ::selection */ color: #000; text-shadow: none; }

html { vertical-align: top; height: 100%; }

body { font-size: 1rem; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; color: #333; text-align: center; padding-bottom: 0; height: 100%; }

li { vertical-align: top; zoom: 1; }


.wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; text-align: left; width: 80%; margin: 2em auto 3em; height: auto !important; min-height: 100%; }

@media screen and (max-width: 420px) { .wrapper { width: 95%; } }

#description { display: block; }
#description p { font-size: 1em; line-height: 1.62; }

.pc-off { display: none; }

.sp-off { display: inline; }

@media screen and (max-width: 420px) { .pc-off { display: inline; }
  .sp-off { display: none; } }
#description { display: block; }
#description p { font-size: 1em; line-height: 1.62; }

/* body */
#body { width: 75%; margin-top: 30px; }

#service #body, #sitemap #body { width: 100%; margin-top: 0; }

@media screen and (max-width: 420px) { #body { width: 100%; } }
/* article */
.article { padding-bottom: 80px; }

#book .article { padding-bottom: 90px; }

.article #category { line-height: 1.13; margin: 20px 0 0; }

.article h1 { font-size: 2.4em; line-height: 1.31; font-weight: bold; margin-top: 20px; }

/* paragraph */
.section, .pager { margin: 0; padding-bottom: 3em; }

.section .section { margin: 0 0 20px; padding: 10px; border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; }

.section .section .section { margin: 0; padding: 0; }

.section .section .section .section { margin: 0; padding-bottom: 40px; border: none; }

/* heading */
.section h2 { position: relative; width: 100%; margin: 4em 0 1.2em; padding-top: .75em; color: #009944; font-size: 1.8em; font-weight: bold; border-top: 1px solid #333; }
.section h2 .small { font-size: 75%; color: #333; }
.section h2:first-child { margin-top: 0; }

.section h2::after { position: absolute; top: -2px; left: 0; z-index: 2; content: ''; width: 20%; height: 3px; background-color: #009944; }

.section h3 { margin: 3em 0 1em; padding-bottom: 6px; font-size: 1.6em; font-weight: bold; background: url(../img/h2Bg.png) repeat-x left bottom; color: #009944; }

.section .section dt, .section .section dd { border-bottom: 0 none; }

.section h3 img { display: block; }

.section h4 { font-size: 1.4em; font-weight: bold; line-height: 1.31; margin: 0 0 20px; border-left: 5px solid #FFCC99; padding: 5px 0 0 1em; color: #009944; }

#ir .section h4 { border: none; padding: 0; }

.section h5 { font-size: 1.2em; font-weight: bold; line-height: 1.31; margin: 0 0 20px; color: #666; }

.section h6 { font-size: 1em; font-weight: bold; color: #000; line-height: 1.31; margin: 0 0 20px; border-bottom: 1px solid #999; }

.section h7 { font-size: 1em; font-weight: 500; color: #000; line-height: 1.31; margin: 0 0 20px; }

/* works */
#works .section .section .section { border: none; }

.section p { line-height: 1.62; margin: 0 0 2em; padding-bottom: 1em; text-align: justify; }

#contactus .section p { margin-bottom: 0.81em; }

.note { padding: 1em 2em; }

p.date { margin-top: 0; text-align: right; line-height: 1.31; border-bottom: 1px solid #e5e5e5; color: #666; }

.section strong { font-weight: bold; }

.section em { color: #000000; }

/* figure */
.section .material { display: flex; justify-content: center; flex-wrap: wrap; gap: 4%; }

.section .material .figure { padding: 0 0 20px; margin: 20px 0 0; width: 48%; height: auto; gap: 4%; }
.section .material .figure img { display: block; margin: 0 auto 6px; }
.section .material .figure .photo { border: 1px solid #999; }
.section .material .figure .legend { line-height: 1.31; margin: 0 0 0.655em; }
.section .material .figure p { text-indent: 0; }
.section .material .figure .sorce, .section .material .figure .unit { text-align: right; }

.section .box .figure .left, .section .box .figure .right { margin-bottom: 6px; }

/* map */
#map { width: 528px; height: 326px; margin: 0 0 3.4em; border: 1px solid #666; }

#map div { font-size: 14px; }

.section .center { text-align: center; }

.section .box .left { margin: 0 2em 0 0; }

.section .box .right { margin: 0 0 0 2em; }

a:hover img { opacity: 0.5; filter: alpha(opacity=50); }

.section a { color: #804000; text-decoration: none; }

.section a:visited { color: #997f65; }

.section a:hover { color: #331a00; background-color: #ddd; }

/* list */
.section dl, .section .section dl { margin: 0 0 2em; display: flex; flex-wrap: wrap; justify-content: flex-start; }

.section ul, .section ol { margin: 1em; }

.section ol { margin: 1em 0 1em 1em; }

.section ol li { margin: 0.5em 0; }

.section ul ul, .section ol ol { margin: 0; }

.section .section ul, .section .section ol { margin: 0; }

.section dt { width: 20%; margin: 0; padding: 0.5em 0; font-weight: bold; line-height: 1.62; border-bottom: 1px solid #ddd; }

.section dd { width: 80%; padding: 0.5em 0; border-bottom: 1px solid #ddd; }

.section .straight dt { width: 100%; border-bottom: 0 none; }

.section li, .section dd { line-height: 1.62; margin: 0; text-align: justify; }

.section li.note, .section dd.note { background: none; }

.section .line { border-top: 1px solid #ddd; }

.section .line dt { margin-top: 0; border: none; font-weight: normal; border-bottom: 1px solid #ddd; }

.section .line dd { border-bottom: 1px solid #ddd; margin-left: 0; }

/*.section .letter2 dt { width: 3em;
}
.section .letter2 dd { margin-left: 3em;
}
.section .letter3 dt { width: 4em;
}
.section .letter3 dd { margin-left: 4em;
}
.section .letter4 dt { width: 6em;
}
.section .letter4 dd { margin-left: 6em;
}
.section .letter5 dt { width: 7em;
}
.section .letter5 dd { margin-left: 7em;
}
.section .letter6 dt { width: 8em;
}
.section .letter6 dd { margin-left: 8em;
}
.section .letter11 dt { width: 13em;
}
.section .letter11 dd { margin-left: 13em;
}*/
.section .date dt { margin: 0; padding-bottom: 0.2em; }

.section .date dd { padding-bottom: 0.2em; }

.section .line dd dt { margin-top: 0.5em; border: 0 none; }

.section .line dd dd { margin-left: 1em; padding-left: 0; background: none; border: 0 none; }

.section ul li, .section dd { margin-left: 0; padding-left: 16px; list-style: none; }

.section ul.ol li { background: none; margin-left: 0.5em; padding-left: 0; }

.section .section ul li, .section .section dd { list-style: none; }

.section .nonarticle dt { width: 10%; border: none; margin-left: 0; padding-left: 0; }

.section .nonarticle dd { width: 90%; background: none; margin-left: 0; padding-left: 0; }

.section .nonarticle ul { margin: 0; }

.section .nonarticle li { background: none; margin-left: 0; padding-left: 0; }

#privacy .section dt { font-weight: normal; }

#privacy .section dd { background: none; padding-left: 0; }

.section ol { list-style: decimal; }

.section ol li { margin-left: 1em; }

.section ol ul li { list-style: disc; }

.section ul li li { margin-left: 1em; background: url(../img/listlistBg.png) no-repeat 0 0.3em; }

.section .section ul li li { background: url(../img/sectionsectionlistlistBg.png) no-repeat 0 0.3em; }

.section li ul, .section dd ul, .section td ul, .section li ol, .section dd ol, .section td ol, .section li dl, .section dd dl, .section td dl { margin-bottom: 0; }

.section td dt { font-weight: normal; }

.section table ul { margin-left: 2em; }

.section table ul li { background: none; list-style: disc; padding: 0; }

.definition table { border-top: 1px solid #ccc; border-left: none; border-right: none; border-bottom: none; }

.definition tbody th, .definition tbody td { border: none; background: none; border-bottom: 1px solid #ccc; }

.definition .even th, .definition .even td { background: none; }

.section .smaller th, .section .smaller td, .section .smaller li { padding: 0.2em 0.3em; }

.section .smallest th, .section .smallest td { padding: 0.1em 0.2em; }

.section .num td, .section td.num { text-align: right; white-space: nowrap; }

.section tbody .mark th, .section tbody th.mark { background: #b2e5ff; color: #000; }

.section thead .mark th, .section thead th.mark { background: #80d4ff; color: #000; }

.section .mark td, .section td.mark { background: #cceeff; color: #000; }

.section table.center th, .section table.center td { text-align: center; }

.section table.center tbody th { text-align: left; }

.section .tableSeparate th, .section .tableSeparate td { border-top-style: double; border-top-width: 3px; }

.table .date { border: none; width: 100%; }

.table .date th, .table .date td { border: none; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; background: none; vertical-align: top; }

.table .date th { white-space: nowrap; }

/* form element */
.section form { border: 1px solid #666; padding: 20px; margin-bottom: 20px; background: #fff; }
.section legend { font-weight: bold; line-height: 1.31; margin: 0 0 20px; }
.section textarea { overflow: hidden; width: 480px; border: 1px solid #999; padding: 3px; }
.section input.text { border: 1px solid #999; padding: 3px; }
.section select { border: 1px solid #999; }
.section input.password { border: 1px solid #999; }
.section input.file { border: 1px solid #999; }
.section input.button { border: 1px solid #999; }

/* other */
.box { clear: both; }

.boxed, .dashed, .dotted { padding: 20px 20px 0; margin-bottom: 20px; }

.boxed { border: 1px solid #ccc; }

.section .section .boxed { background: #fff; }

.dashed { border: 1px dashed #999; }

.dotted { border: 1px solid #999; }

.boxed dl { margin: 0 0 20px; }

.boxed dt { margin-top: 0; }

.section sup, .section sub { font-size: 0.75em; }

.section blockquote { margin: 0 0 20px; background: url(../img/quoteOpen.gif) no-repeat; padding: 0 0 0 30px; }

.section blockquote p { line-height: 1.62; padding-right: 30px; margin: 0 0 0.81em; }

.section .closequote { background: url(../img/quoteClose.gif) no-repeat right bottom; }

.section blockquote cite { color: #000; }

/* navigation */
#navigation { width: 246px; margin-top: 0; }
#navigation h2 { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

@media screen and (max-width: 420px) { #navigation { margin: 0 auto; width: 100%; } }
/* localNav */
.localNav, .aside { width: 250px; margin: 30px auto; }

.localNav { padding-top: 0.7em; padding-bottom: 0.7em; border-radius: 4px; background-color: #dee6b8; line-height: 1.4em; }

.localNav h3 { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

.localNav > ul > li { text-align: justify; list-style: none; }

.localNav a { display: block; width: calc(100% - 15px); text-decoration: none; padding: 5px 5px 5px 16px; margin-left: 10px; color: #333; background: url(../img/navBg.png) no-repeat 0px 12px; }

.nav .localNav a:hover, .nav .localNav a.current { background: url(../img/navBgHover.png) no-repeat 0 12px; color: #996600; }

.localNav + .localNav { margin-top: 0; }

.localNav ul ul { display: block; padding-bottom: 0; margin-left: 17px; background: none; }

.localNav ul ul li { margin-left: 0; margin-bottom: 0.3em; list-style: none; }

.localNav li li a { padding-top: 0.2em; padding-bottom: 0.2em; background-position: 0 8px; }

.nav .localNav li li a:hover, .nav .localNav li li a.current { background-position: 0 8px; }

@media screen and (max-width: 420px) { .localNav { width: 100%; } }
/* nav */
.section .nav, .section .nav li { text-indent: 0; }

p.nav { margin-left: 0.5em; }

.nav a { text-decoration: none; }

.section .nav.pr { margin-left: 0; text-align: center; }

.section .nav.pr a { display: inline-block; width: auto; margin: 0.5em auto; padding: 0.5em 2em; line-height: 1.25em; color: #fff; background-color: #009944; font-weight: bold; -webkit-border-radius: 2em; -moz-border-radius: 2em; border-radius: 2em; text-shadow: 0px 0 2px #666; text-align: center; }

@media screen and (max-width: 420px) { .section .nav.pr a { width: 100%; } }
.section .section .nav.pr a { width: 100%; background-color: #fff; }

.nav.pr a:visited { color: #fff; }

.section .nav.pr a:hover { background-color: #80cca1; color: #000; text-decoration: none; }

.section .section .nav.pr a:hover { background-color: #fff; color: #000; text-decoration: none; }

.article ul.nav { margin: 20px 0; }

.article .nav a::before, .article .nav.inpage a::before, .article p.nav a::before { content: ">"; margin-right: 0.5em; }

.article .nav a, .article .nav.inpage a, .article p.nav a { /*padding-left: 2em;*/ }

.section dd.nav, .section li.nav { background: none; padding-left: 0; }

.section .related { border-top: 1px solid #E5E5E5; padding-top: 10px; margin-top: 40px; }

.related dt { margin-top: 0; font-weight: normal; border-bottom: none; padding-top: 0.32em; }

.section .related.nav dd { border-left: 1px solid #FC9; padding-left: 10px; margin-left: 3em; padding-bottom: 0.32em; padding-top: 0.32em; margin-bottom: 0; }

/* nav index */
.nav-index { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4%; margin: 0 !important; width: 100%; height: auto; list-style: none; }

.nav-index li { width: 48%; padding: 0 !important; margin: 0 0 0.5em 0; background: none; }

@media screen and (max-width: 420px) { .nav-index li { width: 100%; } }
.nav-index a { display: block; width: 100%; background-color: #009944; padding: 1em; border: 1px solid #dee6b8; color: #fff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; -moz-box-shadow: 0px 0px 6px #ccc; -webkit-box-shadow: 0px 0px 6px #ccc; box-shadow: 0px 0px 6px #ccc; }

.nav-index li li { width: 100%; padding: 0; margin: 0.5em; background: none; }

.nav-index a:visited { color: #e3e3e3; }

.nav-index a:hover { color: #000; text-decoration: none; }

.nav-index.wide a { width: auto; background-color: #009944; }

.section .nav li, .section .nav dd { padding: 0; background: none; }

/* pageTop */
.pageTop { display: flex; justify-content: flex-end; margin: 1em auto; text-align: right; }
.pageTop a { display: block; text-align: right; border: none !important; }
.pageTop a:hover { border: none !important; padding: 0; }
.pageTop img { display: block; margin-right: 0; width: 104px; height: 19px; }

/* topicpath */
#topicpath { width: 100%; margin: 0; text-align: left; font-size: 0.8em; }
#topicpath p { line-height: 30px; font-weight: bold; width: 100%; padding: 0; }
#topicpath a { color: #4d4d4d; font-weight: normal; text-decoration: none; }
#topicpath img { display: inline; vertical-align: middle; margin: 0 5px; }

/* remoteNav */
#remoteNav { position: absolute; right: 0; top: -140px; width: 600px; text-align: right; }
#remoteNav h3 { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }
#remoteNav li { margin-left: 10px; line-height: 1.31; }

/* contextNav */
.contextNav h2 { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

/* index */
.contextNav .index { width: 334px; border: 1px solid #ccc; background: #fff; margin: 20px auto 30px; }
.contextNav .index h3 { font-size: 1.4em; line-height: 1.31; padding: 5px; background: #6CF; }
.contextNav .index ul, .contextNav .index dl, .contextNav .index ol { margin: 10px; }
.contextNav .index li, .contextNav .index dd { margin: 0.355em 0; width: 100%; }
.contextNav .index .current { padding-left: 18px; font-weight: bold; color: #000; }

/* pager */
.pager { position: relative; }
.pager h3 { position: absolute; left: 0; top: 0; width: 0; height: 0; overflow: hidden; }
.pager li { text-align: center; }
.pager li ol { margin: 0 6.5em; display: inline; }
.pager ol li { margin: 0 2px; display: inline; }
.pager a:link, .pager li a:visited { text-decoration: none; display: inline-block; }
.pager a:hover, .pager a:active { background-color: #ff7f00; text-decoration: none; color: #FFF; }
.pager ol li a { padding: 3px 5px; color: #333; background: none; border: 1px #ff7f00 solid; }
.pager .prev { position: absolute; left: 0; bottom: 0; padding-left: 14px; }
.pager .next { position: absolute; right: 0; bottom: 0; padding-right: 14px; }
.pager .current { background: #ffd9b2; }
.pager .prev:hover, .pager .next:hover { background: none; text-decoration: underline; color: #000; }
.pager .right { margin: 5px 0; }

/* aside */
.aside h2 { font-size: 1.4em; font-weight: bold; line-height: 1.4; }

.pr h2 { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

.aside li, .aside p { line-height: 1.4; margin: 0.31em; }

div, #body, .figure, #footerSitemap, .box { min-height: 1px; }

* html div, * html #body, * html .figure, * html #footerSitemap, * html .box { height: 1px; /*\*/                    /*/
height: auto;
overflow: hidden;
/**/ }

.bold { font-weight: bold; }

.comment { position: absolute; left: 0; top: 0; width: 0; height: 0; overflow: hidden; }

/* tab */
.section ul.tabNav { display: flex; flex-wrap: wrap; }

.section ul.tabNav li { background: none; margin: 0; padding: 0; }

.section ul.tabNav a { padding: 5px; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; margin-right: 5px; white-space: nowrap; }

.tabContents h3 { margin-top: 1em; }

.section .tabContents dt { width: 100%; font-weight: normal; color: #000; padding: 0.3em 0.5em 0.2em; background: #fdfff2; border-top: 1px solid #ccc; }

.section .tabContents dt { margin-top: 1em; }

.section .tabContents dd { width: 100%; padding-bottom: 0.5em; }

/* sitemap */
#sitemap .article { display: flex; justify-content: space-between; flex-wrap: wrap; }

#sitemap .section { width: 49%; gap: 2%; }

#sitemap .section p { margin-right: 0; }

/* other */
.mail { vertical-align: middle; }

.toneDown { color: #ccc; }

.last { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.clear { clear: both; }

/* news */
.section .line dt { text-indent: 1.2em; }

.section table th, .section table td { vertical-align: middle; }

.section table.center th, .section table.center td { text-align: center !important; }

/* globalNav */
#globalNav3 { display: flex; flex-wrap: nowrap; justify-content: flex-end; margin-right: 1em; padding-right: 0.5em; margin-bottom: 0.5em; width: 100%; height: auto; }
#globalNav3 li { width: 33%; height: auto; border-left: 1px dotted #ccc; list-style: none; }
#globalNav3 a { display: block; margin-left: auto; margin-right: auto; padding: 0.7em 2em; background: none; color: #000; text-align: center; text-decoration: none; font-size: 1em; white-space: nowrap; line-height: 1.5; }
#globalNav3 a:hover, #globalNav3 .current, #globalNav3 .parentsLink { background-color: #009944; color: #fff; transition: .4s; border-radius: 4px; }

@media screen and (max-width: 420px) { #globalNav3 { display: none; } }
#drawer { position: fixed; top: 0; right: 0; z-index: 10; }

@media screen and (min-width: 420px) { #drawer { display: none; } }
.drawer_hidden { display: none; }

.drawer_open { display: flex; height: 50px; width: 60px; justify-content: center; align-items: center; position: relative; z-index: 100; cursor: pointer; }

.drawer_open span, .drawer_open span::before, .drawer_open span::after { content: ''; display: block; height: 2px; width: 25px; border-radius: 2px; background: #333; transition: 0.5s; position: absolute; }

.drawer_open span::before { bottom: 8px; }

.drawer_open span::after { top: 8px; }

#drawer_input:checked ~ .drawer_open span { background: rgba(255, 255, 255, 0); }

#drawer_input:checked ~ .drawer_open span::before { bottom: 0; transform: rotate(45deg); background: #fff; }

#drawer_input:checked ~ .drawer_open span::after { top: 0; transform: rotate(-45deg); background: #fff; }

.nav_content { width: 100vw; height: 100vh; position: fixed; top: 0; left: 100%; z-index: 99; padding-top: 0; background: #009944; transition: .3s; overflow: auto; -webkit-overflow-scrolling: touch; }

#drawer_input:checked ~ .nav_content { left: 0; overflow: auto; -webkit-overflow-scrolling: touch; }

.nav_list { list-style: none; text-align: left; margin-bottom: 2em; }
.nav_list dt { padding: 0.2em; line-height: 1.2em; }
.nav_list dt span, .nav_list dd span { display: inline-block; }
.nav_list dt { margin-top: 1.5em; margin-bottom: 0.2em; padding-left: 0.5em; border-bottom: 2px solid #fff; font-weight: 700; }
.nav_list dd { padding-left: 0; }
.nav_list ul { list-style: none; }
.nav_list li { padding: 0.2em 0.2em 0.2em 1.5em; line-height: 1.2em; border-bottom: 1px solid #4cb87c; }
.nav_list a { color: #fff; text-decoration: none; }

/* search */
.search { margin-top: 30px; width: 100%; height: 45px; }

.search form { width: 100%; height: 45px; display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; background-color: #dbe2b1; border-radius: 4px; }

.search legend span { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

.search fieldset { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; border: 0 none; }

.searchConfig { display: none; }

.searchWord { margin: 2px 3px 0 0; }

.searchWord input { width: 172px; height: 24px; margin: 0; padding: 0.2em; background: url(../img/searchboxBg.png) repeat-x left top; border: 1px solid #B2B2B2; font-size: 1.4em; line-height: 24px; }

.searchButton { margin: 0; padding: 0; height: 26px; }

/*.searchButton input { line-height: 1;
}*/
.nav img { display: block; }

#prBanner { border-top: 2px solid #cccccc; margin-bottom: 10px; width: 246px; overflow: hidden; }
#prBanner li { position: relative; list-style: none; }
#prBanner a { display: block; width: 246px; height: 73px; border-bottom: 2px solid #cccccc; border-left: 2px solid #cccccc; border-right: 2px solid #cccccc; background-position: left top; text-indent: -9999px; overflow: hidden; }
#prBanner a:hover { background-position: 0 -73px; }

#prConstPics a { background-image: url(../img/pr/prConstPics.png); }

#prHokuriku a { background-image: url(../img/pr/prHokuriku.png); }

#prWcmt a { background-image: url(../img/pr/prWcmt.png); }

#prBus a { background-image: url(../img/pr/prBus.png); }

#prShiza a { background-image: url(../img/pr/prShiza.png); }

#prJosei a { background-image: url(../img/pr/prJosei.png); }

#prUniv a { background-image: url(../img/pr/prUniv.png); }

#prJiban a { background-image: url(../img/pr/prJiban.png); }

#prExpert a { background-image: url(../img/pr/prExpert.png); }

#prSemi a { background-image: url(../img/pr/prSemi.png); }

#prLib a { background-image: url(../img/pr/prLib.png); }

#shizabacknum a { position: absolute; right: 3px; bottom: 3px; height: 19px; width: 101px; background: url(../img/pr/shizabacknum.png) no-repeat; border: none; }
#shizabacknum a:hover { background-position: 0 -19px; }

.aside li { margin: 0; }


#book #footer { height: auto; }

#contact { display: block; }
#contact dt { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }

@media screen and (max-width: 420px) { #copyright { margin: 3em 0.5em 0; } }

.sp-only { display: none !important; }
@media (max-width: 991px) {
.sp-only { display: inline !important; }
}