@charset "utf-8";
/* CSS Document */

/* --------------------------------------------------
  reset
-------------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}
html, body, header, footer, main, aside, nav, article, section, figure, figcaption, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, tr, th, td, iframe, a, img, p, div, span {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  outline: none;
}
html, body {
  width: 100%;
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans CJK JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', sans-serif;
  font-size: 62.5%;
  line-height: 1.4;
  background: #fff;
}
@media screen and ( min-width: 751px ) {
  html, body {
    font-size: 100%;
  }
}
h1, h2, h3, h4, h5, h6 {
  font-size: 10px;
  font-size: 1rem;
  font-weight: normal;
  font-weight: 400;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  height: auto;
  max-width: 100%;
  vertical-align: baseline;
}
b, em, strong {
  font-weight: 700;
  font-weight: bolder;
}
i {
  font-style: italic;
}
small {
  font-size: 75%;
}
sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
.for-tablet {
  display: none;
}
@media screen and ( min-width: 751px ) {
  .for-tablet {
    display: block;
  }
}
/* --------------------------------------------------
  .page-container
-------------------------------------------------- */
.page-container {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  position: relative;
}
/* --------------------------------------------------
  header
-------------------------------------------------- */
header {
  padding: 5px 2% 0 2%;
}
.hero-container {
  padding: 15px 0 0 0;
}
.hero {
  display: block;
}
/* --------------------------------------------------
  .summary-area
-------------------------------------------------- */
.summary-item {
  padding: 35px 2%;
}
.summary-h {
  color: #006500;
  font-size: 1.6rem;
  font-weight: bold;
  background: url(../../../img/campaign/2018_obon/bd_stripe.png) left center repeat-x;
  background-size: 4px auto;
}
@media screen and ( min-width: 751px ) {
  .summary-h {
    background: url(../../../img/campaign/2018_obon/bd_stripe.png) left center repeat-x;
    background-size: 6px auto;
  }
}
.summary-h-inner {
  padding: 0 10px 0 0;
  background: #fff;
}
.summary-item-inner {
  padding: 15px 2% 0 2%;
}
.summary-txt {
  color: #333;
  font-size: 1.3rem;
}
/* --------------------------------------------------
  road-list-mechanism
-------------------------------------------------- */
.road-list-mech {
  display: none;
}
.road-figure-container {
  display: none;
}
#tohoku:checked ~ .road-list-trigger .road-name::after,
#kanetsu:checked ~ .road-list-trigger .road-name::after,
#center:checked ~ .road-list-trigger .road-name::after,
#tomei:checked ~ .road-list-trigger .road-name::after,
#meishin:checked ~ .road-list-trigger .road-name::after,
#tomeihan:checked ~ .road-list-trigger .road-name::after,
#sanyo:checked ~ .road-list-trigger .road-name::after,
#chugoku:checked ~ .road-list-trigger .road-name::after,
#shintomei:checked ~ .road-list-trigger .road-name::after,
#hanshin3:checked ~ .road-list-trigger .road-name::after {
  -webkit-transform: rotateZ(-135deg);
  transform: rotateZ(-135deg);
  margin: -2px 0 0 0;
}
@media screen and ( min-width: 751px ) {
  #tohoku:checked ~ .road-list-trigger .road-name::after,
  #kanetsu:checked ~ .road-list-trigger .road-name::after,
  #center:checked ~ .road-list-trigger .road-name::after,
  #tomei:checked ~ .road-list-trigger .road-name::after,
  #meishin:checked ~ .road-list-trigger .road-name::after,
  #tomeihan:checked ~ .road-list-trigger .road-name::after,
  #sanyo:checked ~ .road-list-trigger .road-name::after,
  #chugoku:checked ~ .road-list-trigger .road-name::after,
  #shintomei:checked ~ .road-list-trigger .road-name::after,
  #hanshin3:checked ~ .road-list-trigger .road-name::after {
    margin: -5px 0 0 0;
  }
}
/* --------------------------------------------------
  .details-area
-------------------------------------------------- */
.road-list {
  padding: 0 2%;
  list-style: none;
}
.road-list-item {
  padding: 15px 2%;
  border: 1px solid #bfbfbf;
  border-bottom: none;
}
.road-list-item:last-child {
  border-bottom: 1px solid #bfbfbf;
}
.road-list-trigger {
  cursor: pointer;
}
.road-name {
  color: #333;
  font-size: 1.5rem;
  font-weight: bold;
  position: relative;
}
.road-name::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-right: 3px solid #bfbfbf;
  border-bottom: 3px solid #bfbfbf;
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -7px 0 0 0;
  transition: all .2s;
}
@media screen and ( min-width: 751px ) {
  .road-name::after {
    width: 16px;
    height: 16px;
    border-right: 4px solid #bfbfbf;
    border-bottom: 4px solid #bfbfbf;
    right: 16px;
    margin: -10px 0 0 0;
  }
}
.road-figure-container {
  padding: 15px 0 0 0;
}
.road-figure {
  display: block;
}
/* --------------------------------------------------
  .caution-area
-------------------------------------------------- */
.caution-area {
  margin: 30px 0 0 0;
  padding: 15px 4% 0 4%;
  background: #eee;
}
.caution-h {
  padding: 1px 0 0 1.5em;
  color: #006500;
  font-size: 1.6rem;
  font-weight: bold;
  background: url(../../../img/campaign/2018_obon/ic_caution.png) left center no-repeat;
  background-size: 16px auto;
}
@media screen and ( min-width: 751px ) {
  .caution-h {
    background: url(../../../img/campaign/2018_obon/ic_caution.png) left center no-repeat;
    background-size: 28px auto;
  }
}
.caution-list {
  padding: 10px 0 0 0;
  list-style: none;
}
.caution-list-item .summary-txt::before {
  content: '※';
}
/* --------------------------------------------------
  footer
-------------------------------------------------- */
footer {
  padding: 20px 0 10px 0;
  background: #eee;
}
.ft-logo {
  display: block;
  margin: 0 auto;
  max-width: 78px;
}
@media screen and ( min-width: 751px ) {
  .ft-logo {
    max-width: 156px;
  }
}
