/* Common */
.page-md {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.section-ttl_sm {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 1em;
}
.well_offset {
  max-width: 56em;
  margin: 1em auto;
}
@media screen and (min-width: 992px) {
  .well_offset {
    line-height: 2em;
  }
}

ul.list-styled > li {
  margin-left: 1.2em;
  list-style-type: disc;
}
a.page-btn {
  display: inline-block;
  margin: 0 .5em .4em 0;
  padding: .2em 2em;
  border-radius: 4px;
  text-align: center;
  text-decoration: none !important;
  color: #fff !important;
  background: #15b697;
}
a.page-btn:hover {
  background: #44c7Ac;
}
@media screen and (min-width: 1200px) {
  a.page-btn {
    display: block;
    padding: .4em 1em;
    border-radius: 6px;
  }
  a.page-btn_ilb {
    display: inline-block !important;
    padding: .6em 3em .4em;
  }
}
.pagesec-header {
  background: #8c2d3b;
  display: flex;
  align-items: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  margin-bottom: .6em;
}
.pagesec-header.road {
  background: #bc8c40;
}
.pagesec-header.stock {
  background: #108670;
}
.pagesec-header.monument {
  background: #2e75b6;
}
.pagesec-header__icon {
  display: block;
  width: 4em;
  height: 4em;
  max-width: 4em;
  position: relative;
  text-align: center;
  background: #333;
  line-height: 0;
}
.pagesec-header__icon img {
  width: 2.4em;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}
.pagesec-header__ttl {
  flex: 0 2 auto;
  padding-left: .6em;
  color: #fff;
  font-size: 21px;
  font-weight: 400;
}

@media screen and (max-width: 479px) {
  .pagesec-header__ttl.page-stock {
    font-size: 1.2em;
    line-height: 1.3;
  }
}
.pagesec-header__en {
  display: none;
}
.section-read {
  background: #f2f2f2;
  padding: 1em .8em;
  border: 1px solid #e9e9e9;
}

@media screen and (min-width: 768px) {
  .pagesec-header__icon {
    width: 5em;
    height: 5em;
    max-width: 5em;
  }
  .pagesec-header__icon img {
    width: 2.8em;
  }
  .pagesec-header__ttl {
    font-size: 1.8em;
    padding-left: 1em;
    letter-spacing: .1em;
  }
  .pagesec-header__en {
    display: block;
    color: #fff;
    margin-left: auto;
    padding-right: 2em;
    letter-spacing: .1em;
  }
  .section-read {
    padding: 1.6em 5%;
  }
}
.page-read {
    font-size: 1.2em;
    font-weight: bold;
}
@media screen and (min-width: 768px) {
  .page-read {
      font-size: 1.4em;
      font-family: 'M PLUS Rounded 1c', sans-serif;
      font-weight: 500;
  }
}
.marked {
  line-height: 1.4;
  padding-left: 1.75em;
  position: relative;
  margin-bottom: .75em;
}
.marked:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: url(/images/logo.svg) no-repeat left center;
  background-size: contain;
}
.txt-btn {
  display: inline-block;
  border: 1px solid #15b697;
  padding: .4em .4em;
  font-weight: bold;
  border-radius: 0.4em;
  text-decoration: none !important;
  transition: all 0.3s;
  background: #fff;
}
.txt-btn:hover {
  background: #eff9f6;
}
@media screen and (min-width: 768px) {
  .txt-btn {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
    font-size: 1.4em;
    padding: .4em 1em;
  }
}
/* Story*/

.storybox-wrapper {
  position: relative;
}
.storybox-wrapper .notice-baloon {
    width: 140px;
    position: absolute;
    top: -3em;
    right: 5%;
    z-index: 2;
}

.storybox {
  padding: 1.5em 0;
  margin-top: 4em;
  position: relative;
  /*
  border-width: 1px 0;
  border-style: dotted;
  border-color: #333;
  */
}
.storybox__item {
  position: relative;
  padding: 1.5em 0;
  border-bottom: 1px dotted #333;
}
.storybox__item.no-border,
.storybox__item:last-child {
  border-bottom-width: 0;
  padding-bottom: 0;
}
.storybox__item-meta {
  font-family: 'M PLUS Rounded 1c', sans-serif;
  padding: 0 0 .5em 1em;
}
.storybox__item-meta .cat-icon {
  color: #fff;
  font-size: 13px;
  line-height: 1;
  padding: 2px 1em;
  border-radius: 10px;
  position: relative;
  top: -2px;
  margin-right: 1.5em;
}
.storybox__item-meta .cat-icon::after {
  content: '';
  position: absolute;
  top: 50%;
  right: -1em;
  display: block;
  width: 1em;
  height: 2px;
  margin-top: -1px;
}

.storybox__item-meta .cat-name {
  font-size: 21px;
  font-weight: 500;
}
.cat-icon_river,
.cat-icon_river::after {
  background: #00a0e9;
}
.cat-name_river {
  color: #00a0e9;
}
.cat-icon_road,
.cat-icon_road::after {
  background: #e17a00;
}
.cat-name_road {
  color: #e17a00;
}
.cat-icon_railway,
.cat-icon_railway::after {
  background: #45b035;
}
.cat-name_railway {
  color: #45b035;
}
.cat-icon_harbor,
.cat-icon_harbor::after {
  background: #00a49f;
}
.cat-name_harbor {
  color: #00a49f;
}
.cat-icon_airport,
.cat-icon_airport::after {
  background: #c265a4;
}
.cat-name_airport {
  color: #c265a4;
}
.storybox__item-body {
  display: flex;
  align-items: flex-start;
}
.storybox__item-body .doctor-pic {
  display: none;
}
.storybox__item-control {
  padding-left: 1.5em;
}
.storybox__item-control p {
  font-size:  16px;
}


@media screen and (min-width: 768px) {

  .storybox__item-body .doctor-pic {
    display: block;
    width: 110px;
    flex: 0 0 110px;
    max-width: 110px;
  }
  .storybox__item-control {
    padding-bottom: 1em;
  }
  .storybox-wrapper .notice-baloon {
    top: -2em;
    left: 600px;
  }

}
@media screen and (min-width: 992px) {
  .storybox__item {
    padding: 1.5em 5em;
  }
  .storybox__item-body .doctor-pic {
    width: 121px;
    flex: 0 0 121px;
    max-width: 121px;
  }
  .storybox-wrapper .notice-baloon {
    top: -2.5em;
    width: 160px;
    left: 720px;
  }
}

@media screen and (min-width: 1200px) {
  .storybox__item {
    padding: 1.5em 0;
  }
  .storybox__iteminner {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .story_1 .storybox__iteminner {
    align-items: flex-start;
  }
  .storybox__item-control {
    width: 199px;
    padding-bottom: 3em;
  }
  .story_1 .storybox__item-control {
    margin-top: -10px;
  }
  .storybox__item-control p {
    text-align: center;
    text-indent: -0.5em;
  }
  .storybox-wrapper .notice-baloon {
    left: 640px;
  }
}

/* 国道ルート変遷図 */
.road-main__ttl {
  display: flex;
  justify-content: center;
  margin-bottom: .4em;
}
.road-main__ttl-ico {
  width: 36px;
  max-width: 36px;
  margin-right: .6em;
}
.road-main__ttl-txt {
  font-size: 1.6em;
  font-weight: 500;
}
.road-main {
  display: flex;
  align-items: flex-start;
}
.roadbox {
  display: flex;
  flex-wrap: wrap;
  padding: 0 !important;
  border-width: 1px 0 0 1px;
  border-style: solid;
  border-color: #c4d6d1;
}
.roadbox__item {
  flex: 0 0 50%;
  margin: 0 !important;
  text-align: center;
  border-width: 0 1px 1px 0;
  border-style: solid;
  border-color: #c4d6d1;
}
a.roadbox__itemname {
  display: block;
  width: 100%;
  padding: .8em .2em;
  font-size: 16px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: none;
}
a.roadbox__itemname.dc-road {
  background-color: #e5f9f2;
}
a.roadbox__itemname:hover,
a.roadbox__itemname:active,
a.roadbox__itemname:focus  {
  background: #15b697;
  color: #fff !important;

}

.road-main .doctor-pic {
  display: none;
}
@media screen and (min-width: 480px) {
  .roadbox__item {
    flex: 0 0 33.33333%;
  }
}
@media screen and (min-width: 768px) {
  .roadbox__item {
    flex: 0 0 25%;
  }
}
@media screen and (min-width: 992px) {
  .road-main__ttl {
    margin-bottom: .8em;
    text-indent: -48px;
  }
  .road-main__ttl-ico {
    width: 42px;
    max-width: 42px;
  }
  .road-main__ttl-txt {
    font-size: 1.8em;
  }
  .roadbox-wrapper {
    flex: 0 2 100%;
    max-width: calc(100% - 160px);
  }
  a.roadbox__itemname {
    font-size: 18px;
  }
  .road-main .doctor-pic {
    display: block;
    width: 120px;
    margin-left: 25px;
    margin-right: 15px;
    max-width: 160px;
  }
}

.road-legend {
  margin: 1em 0 1.5em;
}
.road-legend__head {
  min-width: 5em;
}
.road-legend__content {
  padding: 1em 1em;
  border: 1px solid #999;
  background: #fff;
  max-width: 360px;
}
.road-legend__content ul li {
  display: flex;
}
.road-legend__content ul li figure {
  flex: 0 0 50px;
  max-width: 50px;
  margin-right: 1em;
}
.road-legend__content .road-legend__name {

  flex: 0 2 100%;
  width: calc(100% - 80px);
}

@media screen and (min-width: 768px) {
  .road-legend {
    display: flex;
  }
  .road-legend__content {
    padding: 1em 2em;
    width: 320px;
  }
  .road-legend__content ul li figure {
    margin-right: 1em;
  }
  .road-legend__content ul li span {
    white-space: nowrap;
  }
}

/* ストック効果 */
.stock-read__body {
  margin: 1em auto;
}
.stock-read .doctor-pic {
  display: none;
}

@media screen and (min-width: 992px) {
  .stock-read {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  .stock-read .doctor-pic {
    display: block;
    width: 120px;
    flex: 0 0 120px;
    margin: 1em 25px;
    max-width: 170px;
  }
}
.stock-tbl caption {
  color: #333;
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 1em;
  padding-left: .6em;
  border-left: .5em solid #15b697;
}
.stock-tbl th,
.stock-tbl .number,
.stock-tbl .year {
  text-align: center !important;
}

.stock-tbl .pref {
  max-width: 5em !important;
}

@media screen and (min-width: 768px) {
  .stock-tbl caption {
    font-size: 1.4em;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
  }
  .stock-tbl .number {
    width: 3em !important;
  }
}

/* Stone monument */
.monument-list-tbl th {
  text-align: center;
  font-weight: bold;
}
.monument-list-tbl thead th {
  background: #e3edf2;
  border-bottom-width: 1px !important;
}
.monument-list-tbl tfoot th,
.monument-list-tbl tfoot td {
  background: #e3edf2;
}
.monument-list-tbl tbody th,
.monument-list-tbl tfoot th {
  text-align: left;
}
.monument-list-tbl tbody td,
.monument-list-tbl tfoot td {
  text-align: right;
}
.monument-list-tbl,
.monument-list-tbl th,
.monument-list-tbl td {
  border-color: #25507e !important;
  color: #25507e;
}

.monument-sample__header {
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .monument-sample__header {
    font-size: 1.4em;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
  }
}
.monument-sample-tbl caption {
  font-weight: bold;
  color: #333;
}
.monument-sample-tbl,
.monument-sample-tbl th,
.monument-sample-tbl td {
  border-color: #888 !important;
  border-width: 1px !important;
}
.monument-sample-tbl thead th {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle !important;
  background: #e3edf2;
}
.monument-sample-tbl tbody td {
  vertical-align: top !important;
  font-size: .86667em
}
.monument-sample-tbl tbody td.nowrap {
  white-space: nowrap;
}
.monument-sample-tbl tbody td.image {
  width: 150px;
}
.monument-sample__footer {
  text-align: center;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 991px) {
  .monument-sample__footer {
    margin-top: 2em;
  }
}
/* Book List */
.book-list {
  max-width: 480px;
  margin-left: auto;
  margin-right: auto;
}
.book-list__item {
  padding-bottom: 2em;
  margin-bottom: 2em;
  border-bottom: 1px solid #c8c8c9;
}
.book-list__item figure {
  max-width: 240px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 1em;
}
.book-list__item h3 {
  font-size: 1.13333em;
  font-weight: bold;
  margin-bottom: .2em;
}
.book-list__content ul li {
  list-style-type: disc;
  margin-left: 1.5em;
}
.book-info {
  display: inline-block;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .book-list {
    max-width: none;
  }
  .book-list__body {
    display: flex;
    justify-content: flex-start;
  }
  .book-list__item {
    padding-bottom: 1em;
    margin-bottom: 3em;
  }
  .book-list__item figure {
    flex: 0 0 240px;
    margin: 0 30px 0 0;
  }
  .book-list__content {
    padding-top: 1em;
  }
  .book-list__content ul {
    font-size: 1.13333em;
  }
  .book-info {
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: 500;
    font-size: 1.4em;
  }

}
@media screen and (min-width: 992px) {
  .book-list__item figure {
    margin-right: 60px;
  }
}
