@charset "utf-8"; 



/* --------------------------------------------------------------------------------
reset
-------------------------------------------------------------------------------- */

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, sub, sup, 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-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, main, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

* {
  word-break: break-all;
  -webkit-tap-highlight-color: rgba(255, 255, 0, 0.5);
  -webkit-text-size-adjust: 100%;
}
body {
  text-align: left;
  font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "MS PGothic", sans-serif;
  line-height: 1.8em;
  color: #333333;
}
a {
  text-decoration: underline;
  color: #3333ff;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}
h1 {
  font-size: 130%;
}
h2 {
  font-size: 120%;
}
h3 {
  font-size: 115%;
}
h4 {
  font-size: 110%;
}
h5 {
  font-size: 105%;
}
h6 {
  font-size: 100%;
}
strong {
  font-weight: bold;
}
i {
  font-style: italic;
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

hr {
  height: 1px;
  border-width: 1px 0px 0px 0px;
  border-style: solid;
  border-color: #b3b3b3;
  margin: 20px 0px;
}
br.clear {
  clear: both;
}
*.clearfix:before,
*.clearfix:after {
  content: "";
  display: table;
}
*.clearfix:after {
  clear: both;
}
*.clearfix {
  zoom: 1;
}
*.margin-bottom {
  margin-bottom: 20px;
}
*.margin-bottom-wide {
  margin-bottom: 40px;
}
*.margin-bottom-narrow {
  margin-bottom: 10px;
}
noscript p {
  margin: 20px;
  padding: 10px 15px;
  background-color: #eeeeee;
}



/* --------------------------------------------------------------------------------
general
-------------------------------------------------------------------------------- */

div#general span.label {
  font-weight: bold;
}
div#general br.sp {
  display: none;
}
div#general *.no-pc {
  display: none;
}

/* mode
-------------------------------------------------------------------------------- */

div#general div.mode {
  width: 260px;
}
div#general div.mode p,
div#general div.mode ul,
div#general div.mode ul li {
  float: left;
}
div#general div.mode ul li img {
  display: block;
}
div#general div.mode ul li.pc img {
  margin-left: 5px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

div#header div.section {
  position: relative;
}
div#header a.reading {
  position: absolute;
}

/* block
-------------------------------------------------------------------------------- */

div#header div.block div.inner {
  position: relative;
  width: 960px;
  margin: 0px auto;
}
div#header div.block-first {
  padding: 10px 0px;
}
div#header div.block-first div.language,
div#header div.block-first div.yomigana,
div#header div.block-first div.font-size,
div#header div.block-first div.font-color {
  float: left;
  height: 21px;
  overflow-y: hidden;
  line-height: 24px;
  border-right: 1px solid #b3b3b3;
  margin-right: 15px;
  padding-right: 15px;
}
div#header div.block-first div.font-color {
  border-right: none;
  margin-right: 0px;
  padding-right: 0px;
}
div#header div.block-first div.language p {
  display: inline;
  margin-right: 0.5em;
}
div#header div.block-first div.yomigana p,
div#header div.block-first div.font-size p,
div#header div.block-first div.font-color p {
  float: left;
}
div#header div.block-first div.language ul {
  display: inline;
}
div#header div.block-first div.yomigana ul,
div#header div.block-first div.font-size ul,
div#header div.block-first div.font-color ul {
  float: left;
}
div#header div.block-first div.language ul li {
  display: inline;
}
div#header div.block-first div.yomigana ul li,
div#header div.block-first div.font-size ul li,
div#header div.block-first div.font-color ul li {
  float: left;
}
div#header div.block-first div.yomigana ul li img,
div#header div.block-first div.font-size ul li img,
div#header div.block-first div.font-color ul li img {
  display: block;
}
div#header div.block-first div.yomigana ul li.off img,
div#header div.block-first div.font-size ul li img,
div#header div.block-first div.font-color ul li.black img {
  margin-left: 4px;
}
div#header div.block-first a.button-city {
  display: block;
  float: right;
  line-height: 24px;
  padding-left: 25px;
  background: url(/share/imgs/s-logo-city.png) no-repeat 0em 0.1em;
}
div#header div.block-second {
  position: relative;
  border-top: 1px solid #ffffff;
}
div#header div.block-second div.shadow {
  position: absolute;
  width: 100%;
  height: 10px;
  left: 0px;
  top: 0px;
  z-index: 10;
  background: url(/share/imgs/s-shadow.png) repeat-x 0px 0px;
}
div#header div.block-second div.inner {
  position: relative;
  height: 100px;
}
div#header div.block-second h1#logo {
  position: absolute;
  left: -50px;
  top: 0px;
}
div#header div.block-second h1#logo img {
  display: block;
}
div#header div.block-second a#banner-contact {
  float: right;
  padding-top: 15px;
}

/*ルビ振り画像制御
------------------------------*/
body #header-wrapper li.f-off{
    display:inline;
}
body #header-wrapper li.f-on{
    display:none;
}
body.furigana #header-wrapper li.f-off{
    display:none;
}
body.furigana #header-wrapper li.f-on{
    display:inline;
}



/* mode
-------------------------------------------------------------------------------- */

div#header div.mode {
  display: none;
}



/* --------------------------------------------------------------------------------
header (home)
-------------------------------------------------------------------------------- */

/* block
-------------------------------------------------------------------------------- */

div.home div#header div.block-first div#balloon-font-size {
  display: none;
  position: absolute;
  width: 300px;
  height: 47px;
  left: 535px;
  top: 23px;
  z-index: 20;
  background: url(/share/imgs/s-home-balloon-font-size.png) no-repeat 0px 0px;
}



/* --------------------------------------------------------------------------------
middle
-------------------------------------------------------------------------------- */

div#middle-wrapper {
  background: url(/share/imgs/s-background-middle.jpg) repeat 0px 0px;
}
div#middle-wrapper div.shadow {
  position: absolute;
  width: 100%;
  height: 10px;
  z-index: 10;
  background: url(/share/imgs/s-shadow.png) repeat-x 0px 0px;
}
div#middle {
  position: relative;
  width: 960px;
  margin: auto;
  padding: 20px 0px;
}
div#middle a#button-page-top {
  clear: both;
  display: block;
  float: right;
}
div#middle a#button-page-top img {
  display: block;
}
div#middle div.breadcrumb {
  margin-bottom: 20px;
}

/* frame
-------------------------------------------------------------------------------- */

div#middle div.frame div.lt,
div#middle div.frame div.ct,
div#middle div.frame div.rt,
div#middle div.frame div.lm,
div#middle div.frame div.cm,
div#middle div.frame div.rm,
div#middle div.frame div.lb,
div#middle div.frame div.cb,
div#middle div.frame div.rb {
  width: 100%;
}
div#middle div.frame div.lt {
  background: url(/share/imgs/s-frame-lt.png) no-repeat left top;
}
div#middle div.frame div.ct {
  background: url(/share/imgs/s-frame-ct.png) repeat-x left top;
}
div#middle div.frame div.rt {
  background: url(/share/imgs/s-frame-rt.png) no-repeat right top;
}
div#middle div.frame div.lm {
  background: url(/share/imgs/s-frame-lm.png) repeat-y left center;
}
div#middle div.frame div.cm {
  background-color: #ffffff;
}
div#middle div.frame div.rm {
  background: url(/share/imgs/s-frame-rm.png) repeat-y right center;
}
div#middle div.frame div.lb {
  background: url(/share/imgs/s-frame-lb.png) no-repeat left bottom;
}
div#middle div.frame div.cb {
  background: url(/share/imgs/s-frame-cb.png) repeat-x center bottom;
}
div#middle div.frame div.rb {
  background: url(/share/imgs/s-frame-rb.png) no-repeat right bottom;
}
div#middle div.frame div.inner {
  padding: 22px;
}



/* --------------------------------------------------------------------------------
middle (home)
-------------------------------------------------------------------------------- */

div.home div#middle {
  padding-top: 0px;
}
div.home div#middle a#button-page-top {
  display: none;
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

div#cover {
  height: 620px;
}
div#cover h1#logo img {
  display: block;
  margin: auto;
}
div#cover div#navi ul {
  position: relative;
  height: 455px;
}
div#cover div#navi ul li {
  position: absolute;
}
div#cover div#navi ul li.button-01 {
  left: 34px;
  top: -20px;
}
div#cover div#navi ul li.button-02 {
  left: 267px;
  top: 28px;
}
div#cover div#navi ul li.button-03 {
  left: 500px;
  top: 0px;
}
div#cover div#navi ul li.button-04 {
  left: 710px;
  top: -31px;
}
div#cover div#navi ul li.button-05 {
  left: 117px;
  top: 216px;
}
div#cover div#navi ul li.button-06 {
  left: 385px;
  top: 230px;
}
div#cover div#navi ul li.button-07 {
  left: 642px;
  top: 193px;
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#content {
  position: relative;
  float: right;
  width: 720px;
}

/* title
-------------------------------------------------------------------------------- */

div#content div#title-main {
  margin-bottom: 20px;
  background: url(/share/imgs/s-title-main-background.png) no-repeat 0px 0px;
}
div#content div#title-main div.inner {
  height: 100px;
  overflow-y: hidden;
  padding-left: 20px;
}
div#content div#title-main div.inner h1 {
  float: left;
}
div#content div#title-main div.inner h1 img {
  display: block;
}
div#content div#title-main div.inner h1.sp {
  display: none;
}
div#content div#title-main div.inner div.image {
  float: right;
}
div#content div#title-main div.inner div.image img {
  display: block;
}
div#content div#title-main div.inner div.image-sp {
  display: none;
}
div#content div#title {
  min-height: 50px;
  margin-bottom: 20px;
  background: url(/share/imgs/s-title-background.png) no-repeat 0px 0px;
}
div#content div#title h1 {
  font-weight: normal;
  line-height: 52px;
  color: #ffffff;
  padding-left: 40px;
  background: url(/share/imgs/s-title-arrow.png) no-repeat 0px 6px;
}

/* block
-------------------------------------------------------------------------------- */

div#content div.block {
  margin-bottom: 20px;
}
div#content div#block-list-category ul li {
  border-bottom: 1px dashed #b3b3b3;
  margin-bottom: 10px;
  padding: 0px 0px 10px 30px;
  background: url(/share/imgs/s-bullet-03.png) no-repeat 0em 0.15em;
}
div#content div#block-list-category ul li:last-child {
  margin-bottom: 0px;
}
div#content div#block-list-article ul li {
  border-bottom: 1px dashed #b3b3b3;
  margin-bottom: 10px;
  padding: 0px 0px 10px 30px;
  background: url(/share/imgs/s-icon-article.png) no-repeat 0em 0.25em;
}
div#content div#block-list-article ul li:last-child {
  margin-bottom: 0px;
}
div#content div#block-list-article ul li span.title,
div#content div#block-list-article ul li span.summary {
  display: block;
}
div#content div#block-list-article div.pager-top {
  padding-bottom: 20px;
}
div#content div#block-list-article div.pager-bottom {
  padding-top: 20px;
}
div#content div#block-list-article div.pager a {
  display: block;
  text-decoration: none;
  font-weight: bold;
  line-height: 1em;
  color: #ffffff;
  padding: 10px;
  background-color: #7a3d00;
  border-radius: 3px;
  /*add*/
  float: left;
  /*add-end*/
}
div#content div#block-list-article div.pager a.prev {
  float: left;
}
div#content div#block-list-article div.pager a.next {
  float: right;
}
/*add*/
div#content div#block-list-article div.pager div.left_arrow_left,
div#content div#block-list-article div.pager div.left_arrow {
  float: left;
  /*margin-left: -11px*/
}
div#content div#block-list-article div.pager div.right_arrow_right,
div#content div#block-list-article div.pager div.right_arrow {
  float: right;
  /*margin-right: 22px*/
}
div#content div#block-list-article div.pager div.left_arrow {
  margin-left: -11px
}
div#content div#block-list-article div.pager div.right_arrow {
  margin-right: -11px
}
/*div#content div#block-list-article div.pager div.right_arrow_right {
  float: right;
  margin-right: -70px
}*/
/*add-end*/


/* --------------------------------------------------------------------------------
content (home)
-------------------------------------------------------------------------------- */

div.home div#content {
  float: left;
  width: 460px;
  margin-right: 20px;
}

/* block
-------------------------------------------------------------------------------- */

div.home div#content div#block-news div.header {
  height: 40px;
  margin-bottom: 5px;
  background: url(/share/imgs/s-home-headline-news-background.png) no-repeat 0px 0px;
}
div.home div#content div#block-news div.header h2 {
  float: left;
}
div.home div#content div#block-news div.header h2 img {
  display: block;
}
div.home div#content div#block-news div.header a.button-list {
  display: block;
  float: right;
  padding: 6px 6px 0px 0px;
}
div.home div#content div#block-news div.header a.button-list img {
  display: block;
}
div.home div#content div#block-news div.content ul li {
  border-bottom: 1px dashed #b3b3b3;
  margin-bottom: 5px;
  padding-bottom: 5px;
}
div.home div#content div#block-news div.content ul li:last-child {
  border-bottom: none;
  margin-bottom: 0px;
  padding-bottom: 0px;
}
div.home div#content div#block-news div.content ul li span {
  display: block;
}
div.home div#content div#block-news div.content ul li span.date {
  display: block;
  color: #7a3d00;
}
div.home div#content div#block-news div.content ul li span.title {
  padding-left: 15px;
  background: url(/share/imgs/s-bullet-02.png) no-repeat 0em 0.4em;
}



/* --------------------------------------------------------------------------------
sidebar
-------------------------------------------------------------------------------- */

div.sidebar {
  position: relative;
  float: left;
  width: 220px;
}
div.sidebar a.banner img {
  display: block;
  margin-bottom: 10px;
}
div.sidebar a.banner:last-child img {
  margin-bottom: 0px;
}
div.sidebar div#navi {
  margin-bottom: 20px;
}
div.sidebar div#navi ul li {
  border-bottom: 2px dashed #e1d7cd;
  padding: 2px 0px;
  background-color: #ffffff;
}
div.sidebar div#navi ul li.button-01 {
  border-top: 5px solid #442102;
}
div.sidebar div#navi ul li.button-07 {
  border-bottom: 5px solid #442102;
}
div.sidebar div#navi ul li a {
  display: block;
}
div.sidebar div#navi ul li img {
  display: block;
}

/* block
-------------------------------------------------------------------------------- */

div.sidebar div.block {
  margin-bottom: 20px;
}



/* --------------------------------------------------------------------------------
sidebar (home)
-------------------------------------------------------------------------------- */

div.home div#sidebar-first {
  width: 240px;
  margin-right: 20px;
}
div.home div#sidebar-alternate {
  display: none;
}

/* block
-------------------------------------------------------------------------------- */

div.home div.sidebar div#block-problem div.header {
  height: 40px;
  margin-bottom: 5px;
  background: url(/share/imgs/s-home-headline-problem-background.png) no-repeat 0px 0px;
}
div.home div.sidebar div#block-problem div.header h2 {
  float: left;
}
div.home div.sidebar div#block-problem div.header h2 img {
  display: block;
}
div.home div.sidebar div#block-problem div.content ul li {
  margin-bottom: 10px;
  padding-left: 15px;
  background: url(/share/imgs/s-bullet-01.png) no-repeat 0em 0.4em;
}
div.home div.sidebar div#block-problem div.content ul li:last-child {
  margin-bottom: 0px;
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

div#footer-wrapper {
  padding-top: 10px;
  background: url(/share/imgs/s-shadow.png) repeat-x 0px 0px;
}
div#footer {
  width: 960px;
  margin: auto;
  padding: 10px 0px;
}

/* block
-------------------------------------------------------------------------------- */

div#footer div.block {
  margin-bottom: 10px;
}
div#footer div.block div.inner {
  position: relative;
}
div#footer div.block div.inner div.breadcrumb {
  margin-bottom: 10px;
}
div#footer div.block-first div.information {
  border-top: 2px dashed #966f3f;
  border-bottom: 2px dashed #966f3f;
  padding: 10px 0px;
}
div#footer div.block-first div.information h3 {
  float: left;
  font-size: 100%;
  margin-right: 10px;
}
div#footer div.block-first div.information div.body {
  float: left;
}
div#footer div.block-first span.tel,
div#footer div.block-first span.mail,
div#footer div.block-first span.time,
div#footer div.block-first span.soshiki {
  padding: 0px 0px 5px 20px;
  background-repeat: no-repeat;
  background-position: 0em 0.1em;
}
div#footer div.block-first span.tel {
  background-image: url(/share/imgs/s-icon-tel.png);
}
div#footer div.block-first span.mail {
  background-image: url(/share/imgs/s-icon-mail.png);
}
div#footer div.block-first span.time {
  margin-right: 1em;
  background-image: url(/share/imgs/s-icon-time.png);
}
div#footer div.block-first span.soshiki {
  background-image: url(/share/imgs/s-icon-soshiki.png);
}
div#footer div.block-second div.links {
  float: left;
}
div#footer div.block-second div.links ul li {
  display: block;
  float: left;
}
div#footer div.block-second address {
  float: right;
  font-style: normal;
}

/* mode
-------------------------------------------------------------------------------- */

div#footer div.mode {
  position: absolute;
  width: auto;
  right: 0px;
  top: 0px;
}

/*-- ReadSpeker --*/
#rs_waku {
    margin-top: 4px;
    position: absolute;
    right: 0;
}

#middle #rs_waku {
  margin-right: -27px;
  margin-top: -15px;
}
/*-- ReadSpeker end --*/


/*** ADD 20221109 ***/
.p-language {
  z-index: 300;
  width: 58.6%;
  max-width: 600px;
  height: 35px;
}
@media screen and (max-width: 767px) {
  .p-language {
    margin: 0 auto 16px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-language {
    position: relative;
    top: 2px;
    float: left;
    width: 157px;
    height: 26px;
    margin-right: 38px;
    margin-left: 17px;
  }
}
.p-language::after {
  position: absolute;
  top: 0;
  right: -23px;
  display: inline-block;
  width: 1px;
  height: 20px;
  content: "";
  background: #ccc;
}
.p-language .p-language__wrap {
  width: 100%;
  background-color: #fff;
  border: 1px solid #9f9f9f;
  border-radius: 4px;
}
@media print, screen and (min-width: 768px) {
  .p-language .p-language__wrap {
    position: absolute;
    border-radius: 3px;
  }
}
.p-language .p-language__button {
  box-sizing: border-box;
  display: flex;
  flex-basis: 82px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 33px;
  padding: 0 12px 0 14px;
  font-size: 14px;
  color: #000;
  text-decoration: none;
  letter-spacing: -0.08em;
}
@media print, screen and (min-width: 768px) {
  .p-language .p-language__button {
    width: 158px;
    max-width: 158px;
    height: 24px;
    padding: 0 8px 0 9px;
    letter-spacing: -0.02em;
  }
}
.p-language .p-language__button span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.p-language .p-language__button span::after {
  width: 0;
  height: 0;
  content: "";
  border-color: #2d448b transparent transparent transparent;
  border-style: solid;
  border-width: 6.5px 4px 0 4px;
}
.l-header .l-header__tools .p-language__button.js-toggleButton._active span::after {
  transform: rotate(180deg);
}

@media print, screen and (min-width: 768px) {
  .p-language .p-language__button span::after {
    margin-top: 2px;
    border-width: 6.5px 6px 0 6px;
  }
}
@media screen and (max-width: 767px) {
  .p-language .c-list._border {
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px 9px;
    background-color: #fff;
    border: 1px solid #2d448b;
    border-radius: 3px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-language .c-list._border {
    padding: 0 10px 5px;
  }
}
.p-language .c-list._border .c-list__item:last-child {
  border: none;
}
.p-language .c-list._arrow .c-list__item > a {
  display: block;
  width: 100%;
  padding-top: 5px;
  padding-bottom: 7px;
  font-size: 14px;
  color: #000;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-language .c-list._arrow .c-list__item > a {
    padding-top: 15px;
    padding-bottom: 7px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-language .c-list._arrow .c-list__item > a:hover {
    color: #2d448b;
    text-decoration: underline !important;
  }
}
.p-language .c-list._arrow .c-list__item > a:focus, .p-language .c-list._arrow .c-list__item > a:focus-visible {
  outline-color: transparent;
}
.p-language .p-language__inner {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-language .p-language__inner {
    position: absolute;
    left: 0;
    z-index: 300;
    box-sizing: border-box;
    width: 100%;
    padding: 8px;
  }
}
.p-language .js-toggleButton._active + .p-language__inner {
  display: block;
}
.p-language .c-list .c-list__item > a {
  display: block;
  padding: 6px 0;
  line-height: 1.5;
  color: #2d448b;
  -webkit-text-emphasis: none;
  text-emphasis: none;
  text-decoration: none;
  cursor: pointer;
}
@media print, screen and (min-width: 768px) {
  .p-language .c-list .c-list__item > a {
    padding: 8px 0;
  }
  .p-entryRelation .p-language .c-list .c-list__item > a {
    padding: 4px 0;
  }
  .p-language .c-list .c-list__item > a:hover {
    text-decoration: underline;
  }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
  .p-language .c-list .c-list__item > a:hover {
    transition: opacity 0.3s ease-in-out;
  }
  .p-language .c-list .c-list__item > a:hover:hover {
    opacity: 0.7;
  }
}
.p-language .c-list._border .c-list__item {
  border-bottom: 1px solid #b2b2b1;
}
.p-language .c-list._arrow .c-list__item > a {
  display: inline-block;
  padding-left: 20px;
  text-indent: -17px;
}
@media print, screen and (min-width: 768px) {
  .p-language .c-list._arrow .c-list__item > a {
    padding-left: 16px;
    text-indent: -16px;
  }
}
.p-language .c-list._arrow .c-list__item > a::before {
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 3px;
  content: "";
  border-color: transparent transparent transparent #2d448b;
  border-style: solid;
  border-width: 4.5px 0 4.5px 7px;
  transform: translateY(-0.1em);
}
/*** ADD-END 20221109 ***/