@charset "UTF-8";
/*  common
================================================ */
/* =====================================================
 * reset.css
 * - Edit html5doctor.com's CSS
 * - http://html5doctor.com/html-5-reset-stylesheet/
 * Last Updated:2017-03-01
====================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, input, select, textarea {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
  vertical-align: bottom;
  background: transparent;
}

article, aside, details, figcaption, figure, footer, header, menu, nav, section {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  font-family: sans-serif;
  line-height: 1;
}

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  background: transparent;
  outline: none;
}

img {
  vertical-align: bottom;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

th, td {
  text-align: left;
  vertical-align: top;
}

input, select, textarea {
  font-family: inherit;
}

input[type="submit"] {
  cursor: pointer;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*  02_base
================================================ */
html {
  overflow: auto;
}

body {
  position: relative;
  min-width: 320px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  color: #333;
  font-size: 1.3rem;
  line-height: 1.8;
  /*letter-spacing: .06em;*/
  overflow: hidden;
}
article {
	letter-spacing: .06em;
}
#section-breadcrumb {
	letter-spacing: normal;
}
/*
@media all and (min-width: 600px) {
  body {
    min-width: 1164px;
  }
}
*/

body.sg {
  height: auto;
}

a {
  color: inherit;
  /* text-decoration: underline; */
}

@media all and (min-width: 600px) {
  a:hover {
    text-decoration: none;
  }
}

.u-alpha {
  display: block;
  text-decoration: none;
}

@media all and (min-width: 600px) {
  .u-alpha {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .u-alpha:hover {
    opacity: .7;
  }
}

article img {
  width: 100%;
  height: auto;
}

/* pc <--> sp
-------------------------------------- */
.u-media-query {
  display: none;
  font-family: 'sp';
}

@media all and (min-width: 600px) {
  .u-media-query {
    font-family: 'pc';
  }
}
@media all and (max-width: 599px) {
  .u-view-pc {
    display: none !important;
  }
	.route_a01 {
  overflow: auto;
	overflow-y: hidden;
	overflow-x: scroll;
    padding: 10px;
  }

	.route_a01::-webkit-scrollbar{height:10px;}
	.route_a01::-webkit-scrollbar-track{background:#dddddd;}
	.route_a01::-webkit-scrollbar-thumb{background:#333;}

	article .route_a01 img {
		width: 100%;
		min-width: 700px;
	}
	article .route_a01.min800 img {
		width: 100%;
		min-width: 800px;
	}
	article .route_a01.min900 img {
		width: 100%;
		min-width: 900px;
	}
	article .route_a01.big img {
		min-width: 1000px;
	}
}

@media all and (min-width: 600px) {
  .u-view-sp {
    display: none !important;
  }
	.home-timetable-list__head {
		padding: 0 24px;
	}
}

/* layout
-------------------------------------- */
.u-cf:after {
  content: "";
  display: block;
  clear: both;
}

.u-inner {
  box-sizing: border-box;
}

@media all and (max-width: 600px) {
  .u-inner {
    padding-left: 17px;
    padding-right: 17px;
  }
}

.publicity {
  margin: 0 auto 0 auto;
}

.movie {
  margin: 44px auto 0 auto;
}

.tw-feed {
  margin: 44px auto 0 auto;
  width: 90%;
  height: 312px;
  overflow-y: scroll;
}

.contest {
  width: 100%;
  margin-top: 44px;
}

.photo-contest {
  display: flex;
  justify-content: space-between;
}

.award-result {
  margin-top: 5rem;
}

.award-result h2 {
  text-align: center;
  font-size: 4rem;
  color: #dc0000;
  font-weight: bold;
  line-height: .8;
  letter-spacing: .1em;
}

.award-result h2 > span {
  text-align: center;
  font-size: 1.75rem;
  font-weight: bold;
}

.award-result small {
  font-size: 1.25rem;
  display: block;
}

.photo-contest {
  margin-top: 32px;
  margin-bottom: 2rem;
}

.photo-contest h3 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 12px;
  font-size: 1.5rem;
}

.photo-contest h3 > span {
  font-size: 1.25rem;
  font-weight: bold;
}

.photo-contest h4 {
  text-align: center;
  font-weight: bold;
  margin-top: 12px;
}

.photo-contest h4 > span {
  font-size: 1rem;
}

.photo-contest img {
  width: auto;
}

.annotation {
  margin-top: .5em;
  font-size: 0.87em;
  text-indent: -1em;
  padding-left: 1em;
}

@media all and (min-width: 600px) {
  .u-inner {
    width: 1140px;
    max-width: 100%;
    margin: auto;
  }
}

.l-wrapper {
  overflow: hidden;
  position: relative;
  padding: 3px;
  background: #dc0000;
}

.l-wrapper__bg {
  position: relative;
  padding: 0 0 75px;
  border-radius: 10px;
  background: #fff;
}

.l-wrapper__bg:before {
  position: absolute;
  content: '';
  bottom: 0;
  left: 50%;
  width: 260px;
  height: 27px;
  background: url(/static/img/ikebus/common/footer/ico_bus01_sp.png) 0 0/100% no-repeat;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media all and (min-width: 600px) {
  .l-wrapper {
    padding: 12px;
  }
  .l-wrapper__bg {
    padding: 0 0 140px;
    border-radius: 20px;
  }
  .l-wrapper__bg:before {
    width: 750px;
    height: 68px;
    bottom: -1px;
    background-image: url(/static/img/ikebus/common/footer/ico_bus01_pc.png);
  }
}

@media all and (min-width: 600px) {
  .l-container.col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 1140px;
    margin: 0 auto;
  }
  .l-container.col2 .l-contents {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: calc(100% - 250px - 20px);
  }
  .l-container.col2 .l-sidebar {
    width: 250px;
  }
}

/* .l-breadcrumb
================================================ */
.l-breadcrumb .breadcrumb-list {
  padding: 8px 10px 25px;
}

.l-breadcrumb .breadcrumb-list__item {
  display: inline-block;
}

.l-breadcrumb .breadcrumb-list__item + .l-breadcrumb .breadcrumb-list__item {
  padding-left: 5px;
}

.l-breadcrumb .breadcrumb-list__item + .l-breadcrumb .breadcrumb-list__item:before {
  content: ">";
  margin-right: 4px;
}

/* .l-footer
================================================ */
.l-footer {
  padding: 30px 0 27px;
  background: #dc0000;
  color: #fff;
  text-align: center;
}

@media all and (min-width: 600px) {
  .l-footer {
    padding: 76px 0 56px;
  }
}

.ft-cr {
  width: 175px;
  margin: auto;
}

@media all and (min-width: 600px) {
  .ft-cr {
    width: 496px;
  }
}

/* .l-header
================================================ */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 320px;
  z-index: 2000;
}

@media all and (min-width: 600px) {
  .l-header {
    width: 100%;
    min-width: 1140px;
  }
}

/* .l-header .hd-info
-------------------------------------- */
.l-header .hd-info {
  position: relative;
  z-index: 3;
  height: 50px;
  padding: 10px 10px 9px 10px;
  background: #fff;
  border-bottom: 1px solid #ccc;
}

.l-header .hd-info-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l-header .hd-info__logo {
  width: 150px;
  padding: 10px 10px 0 0;
}

@media all and (min-width: 600px) {
  .l-header .hd-info {
    height: 70px;
    padding: 20px 15px 19px;
  }
  .l-header .hd-info__logo {
    width: 300px;
    padding: 0 15px 0 0;
  }
  .l-header .hd-info__btn-contact {
    margin: 0;
  }
}

/*.nav-btn
-------------------------------------- */
.nav-btn {
  position: absolute;
  top: -25px;
  right: -25px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #dc0000;
  cursor: pointer;
  z-index: 20;
}

.nav-btn__line {
  position: absolute;
  left: 18px;
  width: 15px;
  height: 2px;
  content: '';
  background: #fff;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.nav-btn__line:nth-child(1) {
  top: 38px;
}

.nav-btn__line:nth-child(2) {
  top: 43px;
}

.nav-btn__line:nth-child(3) {
  top: 48px;
}

.nav-btn.is-open .nav-btn__line:nth-child(1) {
  top: 43px;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.nav-btn.is-open .nav-btn__line:nth-child(2) {
  opacity: 0;
}

.nav-btn.is-open .nav-btn__line:nth-child(3) {
  top: 43px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.nav-btn.is-fixed {
  position: fixed;
  -webkit-animation: nav-btn 1s forwards;
          animation: nav-btn 1s forwards;
}

@-webkit-keyframes nav-btn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes nav-btn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* .l-nav
================================================ */
.l-nav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 100%;
  height: 100svh;
  padding: 56px 0 168px;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
/*
.l-nav .nav-list {
    min-height: 100%;
}
*/

@media all and (max-width: 599px) {
  .l-nav {
    overflow: auto;
    -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
            transform: translateX(120%);
      min-height: auto;
  }
  .l-nav::-webkit-scrollbar {
    display: none;
  }
  .l-nav.is-open {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
  .l-nav .nav-list {
    width: 135px;
    margin: auto;
/*    min-height: auto;*/
  }
  .l-nav .nav-list__item {
    margin-bottom: 23px;
  }
  .l-nav .nav-list__link {
    position: relative;
    display: block;
    padding: 0 0 0 37px;
    color: #dc0000;
    font-size: 1.4rem;
    text-decoration: none;
  }
  .l-nav .nav-list__link:before {
    position: absolute;
    content: '';
    top: 50%;
    left: 0;
    width: 20px;
    height: 18px;
    background: url(/static/img/ikebus/common/ico_nav01.png) 0 0/100% no-repeat;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-nav.is-fixed {
    position: fixed;
    border-radius: 0 0 10px 10px;
    border: 3px solid #dc0000;
  }
  .home-fee-box {
    display: flex;
  }
  .home-fee-note {
    display: block;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto 0 auto;
    padding: 0;
    font-size: 1.4rem;
  }
  .home-fee-note__item {
    margin: 0 10px;
    text-indent: -1.25em;
    padding: 0 0 0 1em;
    text-align: left;
  }
  .photo-contest {
    display: flex;
    justify-content: space-between;
  }

  .award-result {
    margin-top: 4.5rem;
    margin-bottom: 3rem;
  }

  .award-result h2 {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    line-height: .8;
  }

  .award-result h2 > span {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 3;
  }

  .award-result small {
    font-size: 1.25rem;
    margin-top: 0;
    margin-bottom: 0;
    display: block;
    text-indent: -1em;
    padding-left: 1em;
  }

  .photo-contest {
    margin-top: 1.5rem;
    display: block;
  }

  .photo-contest div {
    margin-bottom: 32px;
  }

  .photo-contest h3 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 12px;
    font-size: 1.5rem;
  }

  .photo-contest h3 > span {
    font-size: 1.25rem;
    font-weight: bold;
  }

  .photo-contest h4 {
    text-align: center;
    font-weight: bold;
    margin-top: 12px;
  }

  .photo-contest h4 > span {
    font-size: 1rem;
  }

  .photo-contest img {
    width: 95%;
    display: block;
    margin: 0 auto
  }

}

@media all and (min-width: 600px) {
  .l-nav {
    padding: 168px 0;
    position: fixed;
    top: 50%;
    right: 22px;
    left: auto;
    width: auto;
    height: auto;
    background: none;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: right;
  }
  .l-nav .nav-list__txt {
    opacity: 0;
    display: block;
    -webkit-transform: translateX(30%);
        -ms-transform: translateX(30%);
            transform: translateX(30%);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .l-nav .nav-list__item {
    margin-bottom: 20px;
  }
  .l-nav .nav-list__link {
    position: relative;
    display: block;
    padding: 0 26px 0 0;
    color: #dc0000;
    font-size: 1.1rem;
    text-decoration: none;
  }
  .l-nav .nav-list__link:before {
    position: absolute;
    content: '';
    top: 50%;
    right: 0;
    width: 20px;
    height: 18px;
    background: url(/static/img/ikebus/common/ico_nav01.png) 0 0/100% no-repeat;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .l-nav .nav-list:hover .nav-list__txt {
    opacity: 1;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
  .l-nav .nav-list__link.is-current .nav-list__txt {
    -webkit-animation: nav-current 2s alternate;
            animation: nav-current 2s alternate;
  }
}

@-webkit-keyframes nav-current {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
  25% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  75% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
}

@keyframes nav-current {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
  25% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  75% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30%);
            transform: translateX(30%);
  }
}

/* .nav-doropdown 
================================================ */
.nav-list__item.has-dropdown {
   cursor: pointer;
   position: relative;
   min-height: 100%;
   transition: 0.3s;
}
.nav-list__item.has-dropdown::after {
    content: '\f107';
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    top: 50%;
    right: -2px;
    transform: translateY(-50%);
    color: #dc0000;
    font-size: 12px;
    transition: 0.3s;
}

.nav-list__item.has-dropdown.is-open::after {
    transform: translateY(-50%)rotate(180deg);
}

.nav-dropdown {
  display: none;/*スマホ時はデフォルトは非表示*/
  position: absolute;
  top: auto;
  z-index: 10;
  width: 100%;
  min-height: 100%;
  padding-top: 16px;
  left: 0;
  right: auto;
  transiton: 0.2s;
}

.nav-dropdown__item {
    display: block;
    width: 100%;
}

.nav-dropdown__link{
    display: block;
    width: 100%;
    padding: 4px 12px;
    text-align: center;
    font-size: 13px;
    color:#dc0000;
}

/* PC：ホバーで表示 */
@media (min-width: 768px) {
  .nav-list__item.has-dropdown:hover .nav-dropdown {
    display: block;
    top: 100%;
    right: 12px;
    left: auto;
  }
    
  .nav-dropdown__link{
    display: block;
    width: 100%;
    padding: 4px 12px;
    text-align: center;
    font-size: 12px;
    color: #dc0000;
   }

}



/* .nav-overlay
================================================ */
.nav-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 3px;
  border-radius: 10px 10px 0 0;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1000;
  z-index: 4;
}

@media all and (min-width: 600px) {
  .nav-overlay {
    display: none !important;
  }
}

/* .l-main-img HOME
================================================ */
.l-main-img {
  border-radius: 10px 0 0 0;
  box-sizing: border-box;
}

.l-main-img__inner {
  padding: 34px 22px 0 22px;
}

.l-main-img__head {
  width: 96%;
  margin: 0 0 17px;
}

.l-main-img__copy {
  width: 72.62%;
  margin: 0 0 15px;
}

.l-main-img__img {
  position: relative;
  margin: 10px -22px 0 -6px;
  z-index: 2;
}

.l-main-img__txt {
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.l-main-img img {
  display: block;
}

@media all and (min-width: 600px) {
  .l-main-img__inner {
    position: relative;
    min-height: 748px;
    padding: 105px 15px 360px;
    box-sizing: border-box;
  }
  .l-main-img__head {
    width: 490px;
    margin: 0 0 30px;
  }
  .l-main-img__copy {
    width: 263px;
    margin: 0;
  }
  .l-main-img__txt {
    margin: 0 0 25px;
    font-size: 1.6rem;
    line-height: 2.2;
  }
  .l-main-img__img {
    position: absolute;
    top: auto;
    bottom: -14%;
    left: 18%;
    width: 1212px;
    margin: 0;
  }
}
@media (min-width:1000px) {
  .l-main-img__inner{
    padding: 105px 15px 0;
  }
  .l-main-img__img{
    top: 32px;
    bottom: auto;
    left: 320px;
  }
}
/* #sidebar
================================================ */
/* .secSidebar
-------------------------------------- */
.secSidebar {
  margin-bottom: 20px;
  padding: 0 15px;
}

@media all and (min-width: 600px) {
  .secSidebar {
    margin-bottom: 25px;
    padding: 0;
  }
}

/*  component
================================================ */
/*  helper
================================================ */
/*  page
================================================ */
.home-about {
  margin: -17% 0 35px;
}

.home-about-header {
  overflow: hidden;
  position: relative;
  padding: 28px 0 35px;
  background: #dc0000;
  color: #fff;
  text-align: center;
}

.home-about-header:before {
  position: absolute;
  content: '';
  bottom: -12px;
  left: 0;
  width: 89px;
  height: 58px;
  background: url(/static/img/ikebus/home/img_about01_sp.png) 0 0/100% no-repeat;
}

.home-about-header__head {
  position: relative;
  margin: 0 0 5px;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .16em;
  z-index: 2;
}

.home-about-header__sub {
  position: relative;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-about-list {
  padding-top: 24px;
}

.home-about-list__item {
  position: relative;
  padding-top: 40px;
}

.home-about-list__item + .home-about-list__item {
  margin-top: 25px;
}

.home-about-list__item:before {
  position: absolute;
  content: '';
  top: 0;
  width: 35px;
  height: 32px;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100%;
  z-index: 2;
}

.home-about-list__item:after {
  position: absolute;
  content: '';
  top: 16px;
  right: 0;
  width: calc(100% - 8px);
  height: 2px;
  background: #333;
  z-index: 1;
}

.home-about-list__item:nth-child(1):before {
  background-image: url(/static/img/ikebus/home/ico_about01.png);
}

.home-about-list__item:nth-child(2):before {
  background-image: url(/static/img/ikebus/home/ico_about02.png);
}

.home-about-list__item:nth-child(3):before {
  background-image: url(/static/img/ikebus/home/ico_about03.png);
}

.home-about-list__head {
  margin: 0 0 7px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .16em;
  line-height: 1.5;
}

.home-about-list__txt {
  padding: 0 5px;
}

.home-about-list__txt__barrierfree{
  padding: 1em;
  background: #fafafa;
  border-radius: 3px;
}
.home-about-list__txt__barrierfree b{
  color: #dc0000;
  font-weight: bold;
}
#fares .home-about-list__txt__barrierfree{
  width:90%;

  margin-left: auto;
  margin-right: auto;
}
.btn-barrierfree{
  display: block;
  width:100%;
  background: #dc0000;
  color: #fff;
  font-weight: bold;
  padding: 1rem 0.5rem;
  font-size: 14px;
}
.btn-barrierfree i{
  position: relative;
  top: -4px;
}
.modal-barrierfree .modal-header{
  background: #dc0000;
  color: #fff;
}

.home-about-spec {
  position: relative;
  margin: 0 -17px;
  padding: 0 0 19px;
}

.home-about-spec:before {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f6f2e8;
  z-index: 1;
}

.home-about-spec:after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 31%;
  background: #fff;
  z-index: 2;
}

.home-about-spec-area-img {
  position: relative;
  margin: 0 0 30px;
  z-index: 3;
}

.home-about-spec-area-img__img {
  margin: 0 13px 0 0;
}

.home-about-spec-detail {
  position: relative;
  z-index: 3;
  padding: 0 17px;
}

.home-about-spec-detail__head {
  position: relative;
  margin: 0 0 12px;
  padding: 6px 0 7px 20px;
  background: #dc0000;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-about-spec-detail__head:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  width: 13px;
  height: 1px;
  background: #fff;
}

.home-about-spec-detail__head-span {
  position: relative;
  top: -1px;
  display: inline-block;
  margin-right: 6px;
  font-size: 1rem;
  font-weight: bold;
  vertical-align: middle;
  line-height: 1;
}

.home-about-spec-detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 30px;
}

.home-about-spec-detail-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 48%;
  margin-right: 4%;
}

.home-about-spec-detail-list__item.is-wide {
  width: 100%;
  margin: 0;
}

.home-about-spec-detail-list__item:nth-child(even) {
  margin-right: 0;
}

.home-about-spec-detail-list__head {
  width: 60px;
  margin-right: 3px;
  padding: 8px 0 9px;
  border-bottom: 2px solid #d2d2d2;
  font-size: 1.2rem;
  font-weight: bold;
}

.home-about-spec-detail-list__data {
  width: calc(100% - 63px);
  padding: 8px 0 9px;
  border-bottom: 2px solid #333;
  box-sizing: border-box;
  font-size: 1.2rem;
}

.home-about-profile {
  position: relative;
  margin-right: 5px;
  padding: 13px 18px 18px;
  border: 2px solid #333;
  border-radius: 5px;
}

.home-about-profile__tag {
  position: absolute;
  top: -7px;
  right: -7px;
  padding: 3px 4px 4px;
  background: #333;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1;
  text-transform: uppercase;
}

.home-about-profile__img {
  width: 55px;
  margin-right: 12px;
}

.home-about-profile__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.home-about-profile-header__head {
  font-size: 1.9rem;
  font-weight: bold;
  letter-spacing: .16em;
  line-height: 1.5;
}

.home-about-profile-header__sub {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-about-profile__txt {
  font-size: 1.2rem;
}




@media all and (min-width: 600px) {
  .publicity {
    display: flex;
  }
  .movie {
    margin: 88px auto 0 auto;
    width: 48%;
  }
  .tw-feed {
    margin: 88px auto 0 auto;
    width: 48%;
    height: 312px;
    overflow-y: scroll;
  }
  .contest {
    width: 100%;
    margin-top: 88px;
  }
  .annotation {
	margin-top: .5em;
    font-size: 0.87em;
  }
  .home-about {
    overflow: hidden;
    margin: 0 0 76px;
  }
  .home-about-header {
    padding: 96px 0 112px;
  }
  .home-about-header:before {
    left: 50%;
    bottom: 0;
    width: 539px;
    height: 166px;
    margin-left: -948px;
    background-image: url(/static/img/ikebus/home/img_about01_pc.png);
  }
  .home-about-header__head {
    margin: 0 0 3px;
    font-size: 4rem;
  }
  .home-about-header__sub {
    font-size: 1.5rem;
  }
  .home-about-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 86px;
    padding: 88px 0 0;
  }
  .home-about-list__item {
    width: 30%;
    max-width: 340px;
    padding: 57px 0 0;
  }
  .home-about-list__item + .home-about-list__item {
    margin: 0;
  }
  .home-about-list__item:before {
    width: 47px;
    height: 43px;
  }
  .home-about-list__item:after {
    top: 22px;
  }
  .home-about-list__head {
    margin: 0 0 21px;
    padding: 0 0 0 12px;
    font-size: 2rem;
  }
  .home-about-list__txt {
    padding: 0 0 0 5px;
    font-size: 1.6rem;
    letter-spacing: .06em;
  }
  .home-about-spec {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    min-height: 642px;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  .home-about-spec:after {
    content: none;
  }
  .home-about-spec:before {
    top: 0;
    left: 203px;
    bottom: auto;
    width: 1320px;
    height: 642px;
  }
  .home-about-spec-area-img {
    width: 100%;
    padding-top: 38px;
  }
  .home-about-spec-area-img__img {
    width: 90%;
    height: auto;
    margin: 0 auto;
  }
  .home-about-spec-detail {
    width: 100%;
    padding: 80px 40px 0;
  }
  .home-about-spec-detail__head {
    margin: 0 0 15px;
    padding: 4px 0 4px 38px;
    font-size: 1.8rem;
  }
  .home-about-spec-detail__head:before {
    width: 30px;
    height: 2px;
    margin-top: -1px;
  }
  .home-about-spec-detail__head-span {
    margin: 0 3px 0 0;
    font-size: 1.1rem;
  }
  .home-about-spec-detail-list {
    margin: 0 0 42px;
  }
  .home-about-spec-detail-list__item {
    width: 270px;
    margin-right: 20px;
    margin-bottom: 4px;
  }
  .home-about-spec-detail-list__head {
    width: 90px;
    margin: 0 8px 0 0;
    padding: 5px 0 6px;
    font-size: 1.5rem;
  }
  .home-about-spec-detail-list__data {
    width: 172px;
    padding: 6px 0;
    font-size: 1.4rem;
  }
  .home-about-spec-detail-list__item.is-wide .home-about-spec-detail-list__data {
    width: 462px;
  }
  .home-about-profile {
    min-height: 210px;
    margin: 0 0 0 20px;
    padding: 21px 54px 0 136px;
    border-radius: 10px;
    box-sizing: border-box;
  }
  .home-about-profile__tag {
    padding: 13px 6px 13px 7px;
    font-size: 1.1rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
  }
  .home-about-profile__name {
    display: block;
  }
  .home-about-profile-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0 0 11px;
  }
  .home-about-profile-header__head {
    margin-right: 8px;
    font-size: 1.8rem;
  }
  .home-about-profile-header__sub {
    font-size: 1.1rem;
  }
  .home-about-profile__img {
    position: absolute;
    top: 23px;
    left: -22px;
    width: 130px;
  }
  .home-about-profile__txt {
    font-size: 1.3rem;
  }
}
@media (min-width:1121px) {
  .home-about-header__head{
    font-size: 5rem;
  }
  .home-about-list__head {
    margin: 0 0 21px;
    padding: 0 0 0 26px;
    font-size: 2.9rem;
  }
  .home-about-spec-area-img {
      width: 520px;
      padding-top: 38px;
  }
  .home-about-spec-detail {
      width: 560px;
      padding: 80px 0 0;
  }
}


.home-gallery {
  overflow: hidden;
  margin: 0 0 30px;
}

.home-gallery-header {
  margin: 0 0 20px;
  color: #dc0000;
  text-align: center;
}

.home-gallery-header__head {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-gallery-header__sub {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-gallery__note {
  color: #828282;
  font-size: 1rem;
  text-align: center;
}

.home-gallery-slider-wrap {
  overflow: hidden;
  height: 200px;
  margin: 0 -17px 12px;
}

.home-gallery-slider__item {
  float: left;
  padding: 0 2px;
  box-sizing: border-box;
}

.home-gallery-slider__item img {
  width: auto;
  height: 200px;
}

@media all and (min-width: 600px) {
  .home-gallery {
    margin: 0 0 54px;
  }
  .home-gallery-header {
    margin: 0 0 32px;
  }
  .home-gallery-header__head {
    font-size: 5rem;
  }
  .home-gallery-header__sub {
    font-size: 1.5rem;
  }
  .home-gallery__note {
    width: 1140px;
    margin: auto;
    font-size: 1.2rem;
    text-align: right;
  }
  .home-gallery-slider-wrap {
    height: 400px;
    margin: 0 0 15px;
  }
  .home-gallery-slider__item {
    width: 536px;
    padding: 0 3px;
  }
  .home-gallery-slider__item img {
    height: 400px;
  }

}




#lightboxOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

#lightbox.lightbox .lb-outerContainer {
  border-radius: 0;
  background: none;
  box-sizing: border-box;
}

#lightbox.lightbox .lb-container {
  padding: 0 50px;
}

#lightbox.lightbox .lb-image {
  border: 0;
  border-radius: 0;
  width:100%;
}

#lightbox.lightbox .lb-nav a {
  position: absolute;
  top: 50%;
  float: none;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

#lightbox.lightbox .lb-nav a.lb-prev {
  left: 10px;
  width: 16px;
  height: 30px;
  opacity: 1;
  background: url(/static/img/ikebus/home/ico_gallery_arw01.png) 0 0/100% no-repeat;
}

#lightbox.lightbox .lb-nav a.lb-next {
  right: 10px;
  width: 16px;
  height: 30px;
  opacity: 1;
  background: url(/static/img/ikebus/home/ico_gallery_arw02.png) 0 0/100% no-repeat;
}

#lightbox.lightbox .lb-dataContainer {
  z-index: 10;
  opacity: 1 !important;
  position: absolute;
  top: 0;
  left: 50%;
  margin: auto;
  padding: 0;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

#lightbox.lightbox .lb-data {
  padding: 0;
}

#lightbox.lightbox .lb-data .lb-details {
  display: none;
}

#lightbox.lightbox .lb-data .lb-close {
  position: absolute;
  top: -20px;
  right: 42px;
  float: none;
  opacity: 1;
  background: url(/static/img/ikebus/home/ico_gallery_close01.png) 0 0/100% no-repeat;
}

@media all and (min-width: 600px) {
  #lightbox.lightbox {
    left: 50% !important;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #lightbox.lightbox .lb-container {
    padding: 0;
  }
  #lightbox.lightbox .lb-nav a.lb-prev {
    left: -74px;
    width: 32px;
    height: 60px;
  }
  #lightbox.lightbox .lb-nav a.lb-next {
    right: -74px;
    width: 32px;
    height: 60px;
  }
  #lightbox.lightbox .lb-data .lb-close {
    top: -17px;
    right: -12px;
    width: 40px;
    height: 40px;
  }
}

.home-fee {
  margin: 0 0 30px;
}

.home-fee-header {
  margin: 0 0 20px;
  color: #dc0000;
  text-align: center;
}

.home-fee-header__head {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-fee-header__sub {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-fee-list {
  margin: 0 0 16px;
}

.home-fee-list__item + .home-fee-list__item {
  margin-top: 30px;
}

.home-fee-list__head {
  margin: 0 0 11px;
  padding: 6px 0 7px;
  background: #dc0000;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .16em;
}

.home-fee-sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  aling-items: center;
}

.home-fee-sub__head {
  width: 205px;
  padding: 8px 0;
  border-bottom: 2px solid #d2d2d2;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-fee-sub__data {
  width: calc(100% - 213px);
  padding: 9px 0 6px;
  border-bottom: 2px solid #333;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-fee-sub__num {
  font-size: 1.8rem;
  font-weight: bold;
  vertical-align: baseline;
  line-height: 1.2;
}

.home-fee-note {
  margin: 0 0 28px;
  font-size: 1.1rem;
  text-align: center;
}

.home-fee-contact {
  position: relative;
}

.home-fee-contact img {
  display: block;
}

.home-fee-contact__btn {
  position: absolute;
  top: 27.34%;
  left: 50%;
  width: 76.12%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media all and (min-width: 600px) {
  .home-fee {
    margin: 0 0 77px;
  }
  .home-fee-header {
    margin: 0 0 32px;
  }
  .home-fee-header__head {
    margin: 0 0 3px;
    font-size: 5rem;
  }
  .home-fee-header__sub {
    font-size: 1.5rem;
  }
  .home-fee-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 35px;
  }
  .home-fee-list__item {
    width: 550px;
  }
  .home-fee-list__item + .home-fee-list__item {
    margin: 0;
  }
  .home-fee-list__head {
    margin: 0;
    padding: 4px 0 7px;
    font-size: 2.2rem;
  }
  .home-fee-sub__head {
    width: 340px;
    padding: 16px 0;
    font-size: 2rem;
  }
  .home-fee-sub__data {
    width: 200px;
    padding: 15px 0 10px;
    font-size: 2rem;
  }
  .home-fee-sub__num {
    font-size: 3rem;
  }
  .home-fee-box {
    display: flex;
  }
  .home-fee-note {
    display: block;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto 64px auto;
    font-size: 1.4rem;
  }
  .home-fee-note__item {
    margin: 0 10px;
    text-indent: -1.25em;
    padding: 0 0 0 1em;
    text-align: left;
  }
  .home-fee-contact{
    margin-top: 24px;
    padding: 0 16px;
  }
  .home-fee-contact__btn {
    top: 54%;
    left: 5%;
    width: 26.4%;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}

.home-route {
  position: relative;
  margin: 0 0 30px;
  background: url(/static/img/ikebus/home/bg_route02_sp.png) bottom center/100% no-repeat;
  z-index: 1;
}
.home-route.simple {
  position: relative;
  margin: 0 0 30px;
  background: url(/static/img/ikebus/home/bg_route03_sp.png) bottom center/100% no-repeat;
  z-index: 1;
}
@media all and (min-width: 768px) {
	.home-route.simple {
    margin: 0 0 76px;
    background: url(/static/img/ikebus/home/bg_route03_pc.png) bottom center/1918px no-repeat;
  }
}
.home-route-header {
  margin: 0 0 20px;
  color: #dc0000;
  text-align: center;
}

.home-route-header__head {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-route-header__sub {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-route__map-wrap {
  position: relative;
  margin: 0 -17px 20px;
  padding-top: 86%;
}

.home-route__map-wrap:before {
  position: absolute;
  content: '';
  left: 50%;
  top: -32px;
  width: 23px;
  height: 32px;
  margin-left: 75px;
  background: url(/static/img/ikebus/home/ico_route01.png) 0 0/100% no-repeat;
}

.home-route__map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
/*  height: 288px;*/
}

/*
.home-route__map > img {
  height: 288px; 
}
*/

.home-route__map .leaflet-control-container .leaflet-control-zoom {
  margin: 0 0 20px 25px;
}

@media all and (min-width: 600px) {
  .home-route {
    margin: 0 0 76px;
    background: url(/static/img/ikebus/home/bg_route02_pc.png) bottom center/1918px no-repeat;
  }
	
  .home-route-header {
    margin: 0 0 32px;
  }
  .home-route-header__head {
    margin: 0 0 3px;
    font-size: 5rem;
  }
  .home-route-header__sub {
    font-size: 1.5rem;
  }
  .home-route__map-wrap {
    width: 814px;
/*    height: 650px;*/
    margin: 0 auto 56px;
    padding: 650px 0 0;
  }
  .home-route__map-wrap:before {
    top: -64px;
    width: 46px;
    height: 64px;
    margin-left: 244px;
  }
    

    .home-route__map >img {
        height: 650px;
    }
    
  .home-route__map .leaflet-control-container .leaflet-control-zoom {
    margin: 0 0 35px 40px;
  }
}

.home-timetable {
  margin: 0 0 40px;
}

.home-timetable-header {
  margin: 0 0 20px;
  color: #dc0000;
  text-align: center;
}

.home-timetable-header__head {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: .16em;
}

.home-timetable-header__sub {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-timetable__copy {
  margin: 0 -17px 25px;
  text-align: center;
}

.home-timetable-list {
  margin: 0 -17px;
}

.home-timetable-list__item + .home-timetable-list__item {
  margin-top: 13px;
}

.home-timetable-table {
  table-layout: fixed;
  border-top: 1px solid #000;
}

.home-timetable-table-wrap {
  overflow-x: scroll;
  -webkit-overflow-scrolling: touch;
}

.home-timetable-table th, .home-timetable-table td {
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0;
}

.home-timetable-table-thead__th {
  width: 52px;
  height: 30px;
  border-bottom: 1px solid #2f2421;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.1;
  text-align: center;
}

.home-timetable-table-thead__th:nth-child(even) {
  background: #dce4f4;
}

.home-timetable-table-thead__th:nth-child(odd) {
  background: #c9cdd8;
}

.home-timetable-table-thead__th:nth-child(1) {
  width: 30px;
  border-bottom: 1px solid #fff;
  background: #000;
  color: #fff;
}

.home-timetable-table-tbody__tr:last-child .home-timetable-table__th {
  border-bottom-color: #000;
}

.home-timetable-table__th {
  height: 17px;
  border-bottom: 1px solid #fff;
  background: #000;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
}

.home-timetable-table__td {
  height: 17px;
  border-bottom: 1px solid #2f2421;
  font-size: 1rem;
  font-weight: bold;
}

.home-timetable-table__td:nth-of-type(even) {
  background: #e9e5e2;
}

@media all and (min-width: 600px) {
  .home-timetable {
    margin: 0 0 80px;
  }
  .home-timetable-header {
    margin: 0 0 26px;
  }
  .home-timetable-header__head {
    margin: 0 0 3px;
    font-size: 5rem;
  }
  .home-timetable-header__sub {
    font-size: 1.5rem;
  }
  .home-timetable__copy {
    margin: 0 0 45px;
    font-size: 1.4rem;
  }
  .home-timetable-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
  }
  .home-timetable-list__item {
    width: 568px;
  }
  .home-timetable-list__item + .home-timetable-list__item {
    width: 560px;
    margin: 0;
  }
  .home-timetable-table-wrap {
    overflow: hidden;
  }
  .home-timetable-table-thead__th {
    height: 33px;
  }
  .home-timetable-table-thead__th:nth-child(1) {
    width: 50px;
  }
  .home-timetable-table__th {
    height: 19px;
  }
}

.home-contact img {
  display: block;
}

.home-contact__detail {
  position: relative;
}

.home-contact__tel {
  position: absolute;
  top: 52.34%;
  left: 50%;
  width: 88.06%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

.home-contact__btn {
  position: absolute;
  top: 73.98%;
  left: 50%;
  width: 88.06%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media all and (min-width: 600px) {
  .home-contact__tel {
    top: 40%;
    left: 61%;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    width: 28%;
  }
  .home-contact__btn {
    top: 60%;
    left: 61%;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    width: 28%;
  }
  .home-contact__detail{
    padding: 0 16px;
  }
}



#section-footer {
  padding: 35px 0;
}



.taisaku{
  padding: 36px;
  margin:92px auto;
  background: #f6f2e8;
  width: 94%;
}
.taisaku .home-gallery-header__head{
  font-size: 3rem;
}
.home-taisaku-list .card{
  border: none;
}
.home-taisaku-list .card-header{
  border: none;
  background: #dc0000;
}
.home-taisaku-list .card-header button{
  width: 100%;
  display: block;
  background: none;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  line-height: 1.6;
  position: relative;
  padding-left: 56px;
  color: #fff;
  pointer-events: none;
}

.home-taisaku-list .card-header button:before{
  content: "";
  background: #fff;
  color: #dc0000;
  display: inline-block;
  padding: 2px 8px 3px;
  margin-right: 6px;
  font-size: 13px;
  line-height: 1.4;
  position: absolute;
  top: 3px;
  left: 0;
}
.home-taisaku-list .card-header button.icon-taisaku-01:before{
  content: "密閉";
}
.home-taisaku-list .card-header button.icon-taisaku-02:before{
  content: "密集";
}
.home-taisaku-list .card-header button.icon-taisaku-03:before{
  content: "密接";
}
.home-taisaku-list .card-header button.icon-taisaku-off{
  padding-left: 0;
}
.home-taisaku-list .card-header button.icon-taisaku-off:before{
  display: none;
}
div.collapse:not(.show){
  display: block;
}
.list-taisaku li{
  padding-left: 34px;
  counter-increment: title;
  position: relative;
  margin:0;
}
.list-taisaku li + li{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dotted #ccc;
}
.list-taisaku li:before{
  content: counter(title);
  position: absolute;
  top: 0;
  left: 0;
  display:inline-block;
  background: #333;
  color: #fff;
  padding: 3px 8px 3px;
  font-size: 12px;
  line-height: 1.4;
  border-radius: 100px;
}
.list-taisaku li + li:before{
  top: 12px;
}
@media (max-width: 767px){
.taisaku{
  padding: 12px;
  margin:76px 0;
  width:100%;
}
.taisaku .home-gallery-header__head{
  font-size: 1.8rem;
}

.home-taisaku-list .card-header button{
  padding-right: 36px;

  font-size: 14px;
}
.home-taisaku-list .card-header button.icon-noopen{
  padding-right: 6px;
}
.home-taisaku-list .card-header button:after{
  content: "\f077";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
}
.home-taisaku-list .card-header button.collapsed:after{
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
}
.home-taisaku-list .card-header button.icon-noopen.collapsed:after{
  display: none;
}
/*div.collapse:not(.show){
  display: none;
}*/

}


.slider-fade div{
  position: relative;
}
.slider-fade div span{
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  background: rgb(0,0,0,0.8);
  color: #fff;
  font-size: 13px;
  padding: 6px;
}
.card-body .slick-prev{
  left: 0;
  z-index: 1;
}
.card-body .slick-next{
  right: 0;
  z-index: 1;
}
.card-body .slick-prev:before, .card-body .slick-next:before{
  color: #dc0000;
}
@media (max-width: 767px){
.slider-fade div span{
  padding: 3px;
}
}
#map{
	margin: 0 0 60px;
}

.pdf-link a{
	font-size: 1.1em;
}
.pdf-link i{

}

/*-----------------------
20201214追加
degitalbook
-----------------------*/
#digitalbook{
  margin-bottom: 60px;
}
.ttl_block{
  margin: 0 0 20px;
  color: #dc0000;
  text-align: center;
  letter-spacing: .16em;

}
.ttl_block h2{
  font-size: 5rem;
  font-weight: bold;
}
.ttl_block p{
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: bold;
}
#digitalbook .text{
  font-size: 1.5rem;
  text-align: center;
  margin-top: 5px;
}
#digitalbook a:hover{
  opacity: .8;
}
@media (max-width: 767px){
  .ttl_block h2{
    font-size: 2.2rem;
  }
  .ttl_block p{
    font-size: 1rem;
  }
}
/*-----------------------
2021/1/15追加
時刻表
-----------------------*/
.timetable-text{
	text-align: center;
	font-size: 2rem;
  font-weight: bold;
	background: #F6F2E8;
	padding: 5px;
	margin:40px 0 20px;
}

/* 2021/4/16追加　SDGs Campaign
--------------------------------------------------------- */
.info-campaign {
	width: 94%;
	margin: 0 auto;
	padding: 0.8rem 0.5rem;
}
@media (max-width: 767px){
  .info-campaign {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 0.8rem 0.5rem;
	}
}
	.info-campaign h3 {
		color: #dc0000;
		text-align: left;
	}
	.info-campaign h3.home-about-list__head {
		padding-left: 0;
	}
@media (max-width: 767px){
  .info-campaign h3 {
		margin-top: 1rem;
	}
}
	.info-campaign p {
		margin-bottom: 2rem;
	}
	.info-campaign b {
		font-weight: bold;
	}
.cpn-term {
	background: #dc0000;
	margin-bottom: 3rem;
	padding: 2px;
	width: auto;
}
	.cpn-term dt,
	.cpn-term dd {
		float: left;
		padding: 0.5rem 1rem;
		font-size: 16px;
	}
	.cpn-term dt {
		width: 20%;
		min-width: 5rem;
		text-align: center;
		color: #fff;
	}
	.cpn-term dd {
		background: #fff;
		width: 80%;
		padding-left: 2rem;
	}
@media (max-width: 767px){
  .cpn-term dt,
	.cpn-term dd {
		font-size: 14px;
	}
	.cpn-term dt {
		width: 25%;
		padding: 0.5rem;
	}
	.cpn-term dd {
		width: 75%;
		padding-left: 1rem;
	}
}
.info-frame {
	background: #f6f2e8;
	border: 1px solid #f6f2e8;
	border-radius: 12px;
	margin-bottom: 1rem;
	padding: 1rem 2rem;
	font-size: 18px;
}
	.info-frame dt {
		font-weight: bold;
		text-align: center;
		border-bottom: 2px solid #333;
	}
	.info-frame dd {
		padding: 2rem 1rem;
		text-align: center;
	}
.info-frame ol li {
	text-align: left;
}
.txt-link {
	text-decoration: underline;
}
	.txt-link i {
		margin-bottom: 0.5rem;
	}
/* decimal */
.mark-decimal {
	margin-bottom: 5rem;
}
	.mark-decimal li {
		margin-left: 1.3rem;
		list-style: decimal;
	}
	.mark-decimal li + li {
		margin-top: 2rem;
	}
.img-sample {
	width: 20%;
	float: right;
	margin-left: 10px;
}
.img-sample.frame {
	width: 35%;
}
@media (max-width: 767px){
  .img-sample {
		width: 35%;
	}
	.img-sample.frame {
		width: 45%;
	}
}
.note {
	margin-top: 2rem;
	color: #dc0000;
}
.tbl-base {
	border-collapse: separate;
	border-spacing: 8px;
	font-size: 18px;
	margin-top: 30px;
	border-top: 2px solid #333;
}
	.tbl-base th,
	.tbl-base td {
		padding: 1rem;
	}
	.tbl-base th {
		border-bottom: 2px solid #d2d2d2;
		font-weight: bold;
		width: 30%;
	}
	.tbl-base td {
		border-bottom: 2px solid #333;
	}
@media (max-width: 767px){
  .tbl-base th,
	.tbl-base td {
		display: block;
		width: 100%;
	}
}

/* 2021/4/21追加　Campaign枠
--------------------------------------------------------- */
.sct-cpn {
	margin-bottom: 80px;
}
.sct-cpn img{
	max-height: 200px;
}

.home-fee-contact__img {
    max-height: 300px;
}

@media (max-width: 767px){
  .tbl-base th,
  .tbl-base td {
    display: block;
    width: 100%;
  }
    
  .sct-cpn img {
    max-height: 520px;
  }
  .home-fee-contact__img img {
    max-height: 556px;
  }
}
/* 2022/6/22更新 */
.sct-cpn {
	margin: 80px 16px 20px;
}
@media (max-width: 599px){
  .sct-cpn {
		margin: 60px 0 20px;
	}
}
/* 2021/4/23追加　運休用の強調告知
--------------------------------------------------------- */
.apeal {
	border: 1px solid #dc0000;
	padding: 0.5rem 1rem;
	margin: 1rem 0 2rem;
}
.apeal b {
	font-weight: bold;
}
.line- {
	text-decoration: line-through;
}
.txt-red {
	color: #dc0000;
}

/* 2021/9/30更新
--------------------------------------------------------- */
.fee_new_box{
	max-width: 860px;
	margin: 0 auto;
  padding-bottom: 16px;
}
.fee_new{
  /*display: table;*/
  margin: 0 auto;
  /*padding-bottom: 0.8rem;*/
}
.fee_new li{
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 1.2em;
  margin-bottom: 0.6em;
  line-height: 1.2;
  position: relative;
}
.fee_new li:before{
  content: '\25A0';
  position: absolute;
  top: 0;
  left: 0;
}
.fee_new li span{
  font-weight: bold;
}
.oneday_pass{
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-end;
  max-width: 508px;
  margin: 0 auto 16px;
}
.oneday_pass img{
  width: 50%;
  max-width: 255px;
  height: auto;
}
.oneday_pass p{
  font-size: 1.4rem;
  font-weight: bold;
  padding-left: 0.4em;
}
@media screen and (min-width:768px) {
  .oneday_pass{
    justify-content: flex-start;
  }
}

/*-----------20211206追記--------------*/
.added_content{
  margin-bottom: 32px;
}
.added_content a img{
  transition: 0.24s ease;
  border: 3px solid #d20001;
}
.added_content a img:hover{
  filter: brightness(1.04);
  border-radius: 16px;
}
@media (min-width:768px) {
  .added_content{
    margin-bottom: 80px;
  }
}


/*------------20220620追記-----------------*/
.contact_box{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  border: 2px solid #d20001;
  border-radius: 8px;
  align-items: stretch;
  text-align: center;
}
.contact_title{
  width: 100%;
  padding: 32px 16px 16px;
  border-radius: 8px 8px 0 0;
}
.contact_title h3{
  color: #d20001;
  font-weight: bold;
  font-size: 21px;
  line-height: 1.618;
  letter-spacing: 0.15em;
}
.contact_title h3 span{
  display: block;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin-top: 1em;
}
.contact_buttons{
  width: 100%;
  padding: 0 0 32px;
}
.contact_company_name{
  font-weight: bold;
  font-size: 13px;
  letter-spacing: 0.15em;
}
.home-contact__tel,
.home-contact__btn{
  position: static;
  top: auto;
  left: auto;
  transform: none;
  margin: 6% auto 0;
}
.map_box{
  width: 88.06%;
  margin: 6% auto 0;
  text-align: center;
}
.map_box address{
  text-align:left;
  display: block;
  padding: 6px 12px;
  background: #f5f5f5;
  margin-bottom: 16px;
}
.map_wrap{
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
}
.map_wrap iframe{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 600px) {
  .contact_box{
    flex-wrap: wrap;
  }
  .contact_title{
    width: 50%;
    background: repeating-linear-gradient(135deg,#fdf1f1,#fdf1f1 5px,#fff 0,#fff 10px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 8px 0 0 8px;
  }
  .contact_title h3{
    font-size: 25px;
  }
  .contact_buttons{
    width: 50%;
    padding: 32px 16px;
  }
  .contact_company_name{
    font-size: 16px;
  }
  .home-contact__tel,
  .home-contact__btn{
    width: 80%;
    max-width: 240px;
  }
  .map_box{
    width: 100%;
    max-width: 360px;
  }
  .map_box address{
    display: block;
    font-size: 14px;
  }
}

/*-------20220920追記-------*/
.ikebus_news li{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.ikebus_news li:not(:last-child){
  margin-bottom: 8px;
}
.ikebus_news li:before{
  content: '●';
  line-height: 1.618;
  font-size: 16px;
  color: #dc0000;
  padding-right: 4px;
}
.ikebus_news li p{
  font-size: 14px;
  line-height: 1.618;
}
@media (min-width: 600px) {
	.ikebus_news li p{
		font-size: 16px;
	}
}
.ikebus_news b {
	font-weight: bold;
}


/*---- スクロール表示 ----*/
.flex-nowrap.scroll-auto {
	overflow-x: auto;
	padding-bottom: 18px;
}
.flex-nowrap.scroll-auto::-webkit-scrollbar{height:10px;}
.flex-nowrap.scroll-auto::-webkit-scrollbar-track{background:#dddddd;}/*バー軌道*/
.flex-nowrap.scroll-auto::-webkit-scrollbar-thumb{background:#333;}/*バーつまみ部分*/
@media (max-width: 575px){
  .flex-nowrap.scroll-auto {
		padding-bottom: 10px;
		margin: 0;
	}
}

/* 2023/7/19　Twitter枠の一時非表示
　　　　　　　　＋YouTubeがスマホ時はみ出てたの修正
--------------------------------------------------------- */
.tw-feed {
	display: none;
}
.movie {
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 100%;
	max-height: 100%;
	padding-bottom : 56.25%;
}
.movie iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
@media (min-width: 600px) {
	.movie {
		position: relative;
		width: 560px;
		height: 315px;
		padding-bottom: 0;
	}
	.movie iframe {
		position: relative;
		width: 100%;
		height: 100%;
	}
}

/* 2023/9/19　運賃2種パターン用
--------------------------------------------------------- */
#fares [class^="title-"] {
	margin: 0 auto 1rem;
	border: 3px solid #aaa;
	padding: 0.5rem 1rem;
	font-size: 18px;
	text-align: center;
}
#fares .fee_new,
#fares .fee_new_box h4 {
	margin: 0 auto;
}
#fares .fee_new + [class^="title-"] {
	margin-top: 2rem;
}
#fares .fee_new + h4 {
	margin-top: -1rem;
}
.title-gray {
	background: #aaa;
	color: #fff;
}
#fares .fee_new_box h4 {
	font-size: 16px;
	margin-bottom: 1rem;
}
.fee_new li {
	font-size: 16px;
}
@media (min-width: 600px) {
	#fares .fee_new_box h4 {
		font-size: 18px;
	}
	.fee_new li {
		font-size: 20px;
	}
}

/* 2024/4/16　公式X-QR、運賃レイアウト変更
--------------------------------------------------------- */
/* ----- Attention Info ----- */
.frame-note {
	background: #feebf2;
	padding: 15px;
}
/*---- 公式X-QR ----*/
.info-box-x {
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 1rem;
	margin: 0 auto 1rem;
}
@media (min-width: 600px) {
	.info-box-x {
		flex-direction: row;
	}
}
@media (min-width: 768px) {
	.info-box-x {
		width: 640px;
	}
}
@media (min-width: 1200px) {
	.info-box-x {
		width: 800px;
	}
}

.mark-star:before {
	content: '★';
}
.home-about-list__txt.mark-star {
	text-indent: -1.6rem;
	margin-left: 1.6rem;
	font-size: 12px;
}
@media (min-width: 600px) {
	.home-about-list__txt.mark-star {
		text-indent: -1.9rem;
		margin-left: 1.9rem;
		font-size: 14px;
	}
}
.img-qr {
	width: 120px;
	margin-bottom: 1rem;
	padding-right: 0;
}
@media (min-width: 600px) {
	.img-qr {
		width: 20%;
		margin-bottom: 0;
		padding-right: 10px;
	}
}
@media (min-width: 1200px) {
	.img-qr {
		width: 20%;
	}
}
.info-x {
	width: 100%;
}
@media (min-width: 600px) {
	.info-x {
		width: 80%;
	}
}
@media (min-width: 1200px) {
	.info-x {
		width: 80%;
	}
}
.info-box-x b {
	font-weight: bold;
}

/*---- 運賃 ----*/
.fee_new_box {
	padding: 0;
}
@media (min-width: 600px) {
	.fee_new_box {
		padding: 0 16px;
	}
}
.fee_new_box + .fee_new_box {
	margin-top: 8rem;
}
.fee_new_box p {
	font-size: 14px;
}
@media (min-width: 768px) {
	.fee_new_box p {
		font-size: 16px;
	}
}
.fee_new_box p + p {
	margin-top: 1rem;
}
#fares .title-red {
	background: #dc0000;
	color: #fff;
	border: none;
	font-size: 20px;
	padding: 1rem;
	margin-bottom: 2rem;
}
.tbl-fare {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 13px;
	border: 2px solid #333;
	border-radius: 8px;
	overflow: hidden;
	margin: 2rem auto 0;
}
.fee_new_box b,
.fee_new_box span b {
	font-weight: bold;
}
@media (min-width: 600px) {
	.tbl-fare {
		font-size: 14px;
	}
}
@media (min-width: 768px) {
	.tbl-fare {
		width: 90%;
		font-size: 16px;
	}
}
.tbl-fare th {
	background: #f6f2e8;
	color: #333;
}
.tbl-fare td {
	background: #fff;
}
.tbl-fare th,
.tbl-fare td {
	padding: 1.5rem 1rem;
}
@media (min-width: 768px) {
	.tbl-fare th,
	.tbl-fare td {
		padding: 1.5rem 2rem;
	}
}
.tbl-fare th,
.tbl-fare td b,
.tbl-fare .price b .txt-info {
	font-weight: bold;
}
.tbl-fare tr + tr th,
.tbl-fare tr + tr td {
	/*border-top: 2px dashed #333;*/
	border-top: 1px solid #333;
}
.plan {
	width: 10rem;
}
@media (min-width: 600px) {
	.plan {
		width: 12rem;
	}
}
@media (min-width: 768px) {
	.plan {
		width: 23rem;
	}
}
.price {
	text-align: right;
	width: 8rem;
}
@media (min-width: 600px) {
	.price {
		width: 9rem;
	}
}
@media (min-width: 768px) {
	.price {
		width: 13rem;
	}
}
.fee_new_box .note-kome,
.info-event .note-kome {
	text-indent: -2.5rem;
	margin-left: 3.5rem;
	font-size: 12px;
}
@media (min-width: 600px) {
	.fee_new_box .note-kome,
	.info-event .note-kome {
		text-indent: -2.9rem;
		margin-left: 4rem;
		font-size: 14px;
	}
}
/* ----- Disc ----- */
.mark-disc > li {
	list-style: disc;
	margin-left: 2rem;
	font-size: 13px;
}
@media (min-width: 600px) {
	.mark-disc > li {
		list-style: disc;
		margin-left: 2.5rem;
		font-size: 14px;
	}
}
/* 768px以上 */
@media (min-width: 768px) {
	.mark-disc > li  {
		font-size: 16px;
	}
}
.mark-disc > li + li {
	margin-top: 0.5rem;
}
/* ----- Note(※) ----- */
.mark-note {
	margin: 1rem auto 0;
}
.mark-note > li {
	text-indent: -1.5rem;
	margin-left: 1.5rem;
	font-size: 13px;
}
@media (min-width: 600px) {
	.mark-note > li  {
		font-size: 14px;
		text-indent: -1.7rem;
	}
}
@media (min-width: 768px) {
	.mark-note > li  {
		font-size: 16px;
		text-indent: -1.7rem;
	}
}
.mark-note > li.f14-12  {
	text-indent: -1.3rem;
}
@media (min-width: 600px) {
	.mark-note > li.f14-12  {
		text-indent: -1.3rem;
	}
}
@media (min-width: 768px) {
	.mark-note > li.f14-12  {
		text-indent: -1.5rem;
	}
}
.mark-note > li:before {
	content: '※';
}
.mark-note.star > li:before {
	content: '★';
}
.mark-note .mark-disc > li,
.mark-note dl {
	text-indent: 0;
}

/* ----- 1txt(何かの1文字) ----- */
.mark-1txt {
}
.mark-1txt > li {
	text-indent: -1.5rem;
	margin-left: 1.5rem;
}
@media (min-width: 768px) {
	.mark-1txt > li  {
		text-indent: -1.7rem;
	}
}

/* ----- Tel(dl) ----- */
.tel {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
}
@media (min-width: 768px) {
	.tel {
		font-size: 16px;
	}
}
.frame-note.simple .tel,
.frame-note.simple p {
	font-size: 12px;
}
@media (min-width: 376px) {
	.frame-note.simple .tel,
	.frame-note.simple p {
		font-size: 13px;
	}
}
@media (min-width: 768px) {
	.frame-note.simple .tel,
	.frame-note.simple p {
		font-size: 14px;
	}
}
.tel > dt {
	width: 7.45rem;
	text-align: right;
}
@media (min-width: 768px) {
	.tel > dt {
		width: 8.45rem;
	}
}
.frame-note .tel > dt {
	width: 10.5rem;
}
@media (min-width: 375px) {
	.frame-note .tel > dt {
		width: 12rem;
	}
}
@media (min-width: 768px) {
	.frame-note .tel > dt {
		width: 18rem;
	}
}
.tel > dd {
	padding-left: 1rem;
	width: 60%;
	width: -webkit-calc(100% - 7.45rem);
	width: -moz-calc(100% - 7.45rem);
	width: calc(100% - 7.45rem);
}
@media (min-width: 768px) {
	.tel > dd {
		width: 60%;
		width: -webkit-calc(100% - 8.45rem);
		width: -moz-calc(100% - 8.45rem);
		width: calc(100% - 8.45rem);
	}
}
.frame-note .tel > dd {
	width: 60%;
	width: -webkit-calc(100% - 10.5rem);
	width: -moz-calc(100% - 10.5rem);
	width: calc(100% - 10.5rem);
}
@media (min-width: 375px) {
	.frame-note .tel > dd {
		width: 60%;
		width: -webkit-calc(100% - 12rem);
		width: -moz-calc(100% - 12rem);
		width: calc(100% - 12rem);
	}
}
@media (min-width: 768px) {
	.frame-note .tel > dd {
		width: 60%;
		width: -webkit-calc(100% - 18rem);
		width: -moz-calc(100% - 18rem);
		width: calc(100% - 18rem);
	}
}
.frame-note.simple {
	border: 3px solid #fcc;
	background: #fff;
	padding: 10px;
}
@media (min-width: 768px) {
	.frame-note.simple {
		padding: 15px;
	}
}
.frame-note .tel {
	padding: 1rem 1rem 0;
}
.frame-column {
	background: #f9f9f9;
	padding: 1.2rem;
	border-radius: 3px;
	font-size: 12px;
}
.fee_new_box .frame-column {
	width: 90%;
	margin: 4rem auto 0;
}
@media (min-width: 768px) {
	.fee_new_box .frame-column {
		font-size: 13px;
	}
}
/* 2024/6/18　お知らせレイアウト変更
--------------------------------------------------------- */
.ikebus-news details {
	padding-left: 5px;
	padding-bottom: 0.5rem;
}
.ikebus-news details > details {
	margin-left: 2rem;
}
.ikebus-news details,
.ikebus-news details p {
	font-size: 14px;
}
@media (min-width: 768px) {
	.ikebus-news details,
	.ikebus-news details p {
		font-size: 16px;
	}
}
.ikebus-news details > p {
	padding-left: 2rem;
}
.ikebus-news summary::marker {
	color: #dc0000;
	font-size: 20px;
}
.ikebus-news summary::-webkit-details-marker {
	color: #dc0000;
	font-size: 20px;
}
.ikebus-news details > details summary::marker {
	color: #333;
}
.ikebus-news details > details summary::-webkit-details-marker {
	color: #333;
}
.ikebus-news b,
.ikebus-news details b {
	font-weight: bold;
	vertical-align: baseline;
}
/*---- Yube Info ----*/
.info-box {
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 1rem;
	margin: 0 auto 1rem;
	border: 3px solid #8790d0;
	border-radius: 10px;
	background: #fff;
}
@media (min-width: 600px) {
	.info-box {
		flex-direction: row;
	}
}
@media (min-width: 768px) {
	.info-box {
		max-width: 720px;
	}
}
@media (min-width: 1200px) {
	.info-box {
		max-width: 900px;
	}
}
.info-box .info-img {
	width: 100px;
	margin-bottom: 1rem;
	padding-right: 0;
}
@media (min-width: 600px) {
	.info-box .info-img {
		width: 20%;
		margin-bottom: 0;
		padding-right: 10px;
	}
}
@media (min-width: 1200px) {
	.info-box .info-img {
		width: 20%;
	}
}
.info-box .info-txt {
	width: 100%;
}
.info-txt .mark-disc li {
	font-size: 12px;
}
@media (min-width: 767px) {
	.info-box .info-txt {
		width: 80%;
	}
	.info-txt .mark-disc li {
		font-size: 14px;
	}
}
@media (min-width: 1200px) {
	.info-box .info-txt {
		width: 80%;
	}
}
#new_timetable b {
	font-weight: bold;
}

/* 2024/9/17　調整
--------------------------------------------------------- */
/* ----- 時刻表 ----- */
span.info-period {
	font-size: 70%;
	display: inline-block;
	padding: 5px;
}

/* 2024/9/24　お知らせ調整
--------------------------------------------------------- */
.frame-detail {
	background: #fff;
	padding: 0.8rem 1rem;
	border: 2px solid #fcc;
}

/* =========================================================
	Common
========================================================= */
:root {
	/* Bang-Dream */
	--bang-dream-color: #3381b0;
	--bang-dream-bgcolor: #ccdadf;
	/* TeniPuri */
	--tenipuri-color: #0244a7;
	--tenipuri-rgb: 2, 68, 167;
	--tenipuri-bgcolor: #ccdadf;
	/* Normal Event */
	--normal-color: #dc0000;
	--normal-bgcolor: #fdf1f1;
}
/* 期間 */
dl.term {
	display: flex;
	background: #fff;
	margin: 1rem auto;
	flex-direction: column;
	text-align: center;
}
@media (min-width: 410px) {
	dl.term {
		flex-direction: row;
		text-align: left;
	}
}
dl.term > dt,
dl.term > dd {
	padding: 0.5rem 1rem;
}
@media (min-width: 500px) {
	dl.term > dt,
	dl.term > dd {
		padding: 0.5rem 2rem;
	}
}
@media (min-width: 1200px) {
	dl.term > dt,
	dl.term > dd {
		padding: 0.5rem 3rem;
	}
}
.term {
	border: 2px solid var(--normal-color);
}
.term dt {
	background: var(--normal-color);
	color: #fff;
}
.normal .tbl-fare th {
	background: var(--normal-bgcolor);
}
.f18-16 {
	font-size: 16px;
}
.f17-15 {
	font-size: 15px;
}
.f16-14,
.mark-note > .f16-14 {
	font-size: 14px;
}
.f15-13,
.mark-note > .f15-13 {
	font-size: 13px;
}
.f14-12,
.mark-note > .f14-12 {
	font-size: 12px;
}
@media (min-width: 768px) {
	.f18-16 {
		font-size: 18px;
	}
	.f17-15 {
		font-size: 17px;
	}
	.f16-14,
	.mark-note > .f16-14  {
		font-size: 16px;
	}
	.f15-13,
	.mark-note > .f15-13 {
		font-size: 15px;
	}
	.f14-12,
	.mark-note > .f14-12 {
		font-size: 14px;
	}
}
/* 2024/9/30　Bang-Dream（コラボ）
--------------------------------------------------------- */
.info-event {
	margin: 5rem -15px 0;
}
@media (min-width: 767px) {
	.info-event {
		margin: 10rem auto 0;
	}
}
.info-event h3 {
	color: #fff;
	font-size: 18px;
	padding: 0.8rem 0.5rem;
}
@media (min-width: 767px) {
	.info-event h3 {
		font-size: 24px;
	}
}
.info-event p {
	font-size: 14px;
}
@media (min-width: 767px) {
	.info-event p {
		font-size: 16px;
	}
}
.info-event > div {
	padding: 2rem 0;
}
.info-event > div > div {
	padding: 1.5rem 2rem 0;
}
@media (min-width: 767px) {
	.info-event > div > div {
		padding: 1.5rem 4rem 0;
	}
}
.bang-dream {
	background: var(--bang-dream-bgcolor);
	/*color: #3381b0;*/
}
.bang-dream > h3 {
	/*background: #0b2636;*/
	background: var(--bang-dream-color);
}
.bang-dream p {
	font-size: 14px;
}
@media (min-width: 767px) {
	.bang-dream p {
		font-size: 16px;
	}
}
/*---- External Link ----*/
.external:after {
	content: "\f24d";
	font-family: "Font Awesome 5 Free";
	margin-left: 5px;
	font-size: 14px;
	font-weight: normal;
}
/* 2024/10/15　Bang-Dream（コラボ）追加調整
--------------------------------------------------------- */
.bang-dream b {
	font-weight: bold;
}
.bang-dream figure {
	background: #fff;
	padding: 8px 0 5px;
}
.bang-dream .color {
	color: var(--bang-dream-color);
}
.bang-dream .mark-note.star > li:before {
	color: var(--bang-dream-color);
}
.bang-dream .mark-note.star > li + li {
	margin-top: 2rem;
}
@media (min-width: 1200px) {
	.bang-dream dl.term {
		width: 80%;
	}
}
.bang-dream .term {
	border: 2px solid var(--bang-dream-color);
}
.bang-dream .term dt {
	background: var(--bang-dream-color);
	color: #fff;
}
.bang-dream details {
	padding-left: 5px;
	padding-bottom: 0.5rem;
}

/* 2024/10/18　サンシャインパーキング企画
--------------------------------------------------------- */
.s-parking {
	background: #f8e7ba;
	padding: 2rem 0;
}
.s-parking > h3 {
	/*background: #0b2636;*/
	background: #ffa84c;
}
.s-parking p {
	font-size: 14px;
}
@media (min-width: 767px) {
	.s-parking p {
		font-size: 16px;
	}
}
.s-parking b {
	font-weight: bold;
}

/* 2024/11/25　はたちのつどい
--------------------------------------------------------- */
.normal .color {
	color: #dc0000;
}
.color-normal {
	color: #dc0000;
}
.normal {
	background: #f6f2e8;
}
.normal > h3 {
	background: #dc0000;
}
.normal p {
	font-size: 14px;
}
@media (min-width: 767px) {
	.normal p {
		font-size: 16px;
	}
}
.normal b {
	font-weight: bold;
}
.info-event details,
.info-event details p {
	font-size: 14px;
}
@media (min-width: 768px) {
	.info-event details,
	.info-event details p {
		font-size: 16px;
	}
}
/*.info-event details > p {
	padding-left: 2rem;
}*/
.info-event summary::marker {
	color: #dc0000;
	font-size: 20px;
}
.info-event summary::-webkit-details-marker {
	color: #dc0000;
	font-size: 20px;
}
.info-event details > details summary::marker {
	color: #333;
}
.info-event details > details summary::-webkit-details-marker {
	color: #333;
}

.info-event details b {
	font-weight: bold;
	vertical-align: baseline;
}
/* 新着"NEW"チカチカ 2024/11/26 Fujikawa
--------------------------------------------------------- */
.ico-new:before {
	content:'NEW';
	background: #DA4453;
	color: #fff;
	font-size: 75%;
	padding: 0.1rem 0.4rem;
	margin-right: 0.5rem;
	animation: flash 1s linear infinite;
	border-radius: 3px;
}
@keyframes flash {
	0%,100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

.txt-flicker {
	animation: flash 1s linear infinite;
}
/* デジタルパス関連 2024/12/16 Fujikawa
--------------------------------------------------------- */
.info-event .btn-reserve {
	width: 80%;
	margin: 0 auto;
}

/*  ↓　デジタルパスの使い方（別ページ）　↓
================================================ */
.home-about.info {
  margin: 0 0 35px;
}
.info .home-about-header__head {
	font-size: 2rem;
}
@media (min-width: 600px) {
	.info .home-about-header__head {
		font-size: 2.5rem;
	}
}
@media (min-width: 768px) {
	.info .home-about-header__head {
		font-size: 2.8rem;
	}
}
.info .home-about-header {
	padding: 16px 0;
}
@media (min-width: 600px) {
	.info .home-about-header {
		padding: 10px 0 20px;
	}
}
.info.home-about__inner p {
	font-size: 14px;
	text-align: left;
}
@media (min-width: 600px) {
	.info.home-about__inner p {
		font-size: 16px;
		text-align: center;
	}
}
/*----- Footer画像の打消し・余白調整-----*/
.info .home-about-header:before,
.l-wrapper__bg.info:before {
	position: static;
	background: none;
	display: none;
}
.l-wrapper__bg.info {
	padding-bottom: 0;
}
.info .home-about-list {
	margin-bottom: 0;
	padding-bottom: 1rem;
}
/*----- リストNo. -----*/
.info .home-about-list__item:nth-child(1):before {
	background-image: url(/static/img/ikebus/home/no-01.png);
}
.info .home-about-list__item:nth-child(2):before {
	background-image: url(/static/img/ikebus/home/no-02.png);
}
.info .home-about-list__item:nth-child(3):before {
	background-image: url(/static/img/ikebus/home/no-03.png);
}
.info .home-about-list__item:nth-child(4):before {
	background-image: url(/static/img/ikebus/home/no-04.png);
}
.info .home-about-list__item:nth-child(5):before {
	background-image: url(/static/img/ikebus/home/no-05.png);
}
.info .home-about-list__item:nth-child(6):before {
	background-image: url(/static/img/ikebus/home/no-06.png);
}
.info .home-about-list__item:before {
	top: 3px;
	width: 30px;
	height: 30px;
}
@media (min-width: 600px) {
	.info .home-about-list__item:before {
		width: 35px;
		height: 35px;
	}
}
/*----- リストのレイアウト調整 -----*/
.info .home-about-list__item + .home-about-list__item {
	margin-top: 35px;
}
@media (min-width: 600px) {
	.info .home-about-list__item {
		padding: 44px 0 0;
		margin-left: 2.5%;
	}
	.info .home-about-list__item + .home-about-list__item {
		margin-top: 0;
	}
}
.info .home-about-list__head {
	/*margin: 0 0 21px;
	padding: 0 0 0 26px;*/
	margin-bottom: 0.8rem;
	font-size: 1.6rem;
	text-align: left!important;
}
@media (min-width: 600px) {
	.info .home-about-list__head {
		/*margin: 0 0 21px;
		padding: 0 0 0 26px;*/
		padding-left: 0.8rem;
		font-size: 1.8rem;
	}
}
@media (min-width: 600px) {
	.info .home-about-list {
		justify-content: flex-start;
		padding-top: 1.5rem;
	}
}

/*----- 説明キャプチャー -----*/
.info figure {
	border: 3px solid #fdd;
	border-radius: 10px;
	padding: 1rem 0.5rem;
	margin: 1rem 0;
}
/*  ↑　デジタルパスの使い方（別ページ） ここまで　↑
================================================ */


/* Details
--------------------------------------------------------- */
details.info-content {
	position: relative;
	margin-left: 5px;
}
.ikebus-news details.info-content > p {
	padding-left: 1.6rem;
}
/*----- Default Summary 矢印 非表示 -----*/
summary.info-btn {
	display: block;
	list-style: none;
}
summary.info-btn::-webkit-details-marker {
	display: none;
}
/*----- Summary 矢印 カスタマイズ -----*/
summary.info-btn {
	margin-left: 1.6rem;
}
/* details 右 矢印（↓↑） */
summary.info-btn:before {
	position: absolute;
	content: "";
	top: 8px;
  /*right: 0;
  bottom: 0;*/
  left: 0;
  margin: 0 auto;
	display: block;
	/*inset-block-start: 0.4rem;
	inset-inline-end: 12.8rem;
	width: 18px;
	aspect-ratio: 1/.6;
	background: #000;
	clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0);*/
	width:0;
	height:0;
	border-style:solid;
	border-width: 12px 7.5px 0 7.5px;
	border-color: #000000 transparent transparent transparent;
}
.info-content[open] .info-btn:before {
	rotate: 180deg;
}
.ikebus-news summary.info-btn:before {
	border-color: var(--normal-color) transparent transparent transparent;
}
.mark-maru > li {
	margin-left: 1.8rem;
	text-indent: -1.8rem;
}
.mark-maru > li + li {
	margin-top: 0.5rem;
}
.mark-maru > li:before {
  content: '●';
  color: var(--normal-color);
  padding-right: 4px;
}

/* 2025/4/25　tenipuri-ex（コラボ）
--------------------------------------------------------- */
.tenipuri {
	background: rgb(var(--tenipuri-rgb), 0.05);
}
.tenipuri > h3 {
	background: var(--tenipuri-color);
}
.tenipuri b {
	font-weight: bold;
}
.tenipuri .term {
	border: 2px solid var(--tenipuri-color);
}
.tenipuri .term dt {
	background: var(--tenipuri-color);
	color: #fff;
}
.tenipuri .color {
	color: var(--tenipuri-color);
}
.tenipuri .tbl-fare th {
	background: rgba(var(--tenipuri-rgb),0.1);
}

.tenipuri .mark-maru > li:before {
  color: var(--tenipuri-color);
}
.tenipuri summary::marker {
	color: var(--tenipuri-color);
	font-size: 20px;
}
/*.tenipuri summary::-webkit-details-marker {
	color: #dc0000;
	font-size: 20px;
}*/
.tenipuri .border-t {
	border-top: 6px dotted rgba(var(--tenipuri-rgb), 0.2);
}

.tenipuri summary.info-btn:before {
	border-color: var(--tenipuri-color) transparent transparent transparent;
}

/*----- Default Summary 矢印 非表示 -----*/
.tenipuri summary.btn-summary {
	display: block;
	list-style: none;
	width: 100%;
}
.tenipuri summary.btn-summary::-webkit-details-marker {
	display: none;
}
.tenipuri summary.btn-summary {
	border: solid 2px var(--tenipuri-color);
	text-align: center;
	padding: 0.5rem 2rem 0.5rem 0.8rem;
	border-radius: 30px;
	background: rgba(var(--tenipuri-rgb),0.1);
	color: var(--tenipuri-color);
}
@media (min-width: 400px) {
	.tenipuri summary.btn-summary {
		padding: 0.5rem 2rem 0.5rem 1rem;
	}
}
/* details 右 矢印（↓↑） */
.tenipuri .event-content {
	position: relative;
}
.tenipuri .btn-summary:after {
	position: absolute;
	content: "";
	width: 14px;
	inset-block-start: 1.5rem;
	inset-inline-end: 1.2rem;
	display: block;
	aspect-ratio: 1/.6;
	background: var(--tenipuri-color);
	clip-path: polygon(100% 13%, 50% 100%, 0 13%, 8% 0, 50% 73%, 92% 0);
}
@media (min-width: 400px) {
	.tenipuri .btn-summary:after {
		width: 15px;
		inset-block-start: 1.5rem;
		inset-inline-end: 1.5rem;
	}
}
.tenipuri .event-content[open] .btn-summary:after {
	rotate: 180deg;
}


/* 2506 アンケート
------------------------------------------------*/
.qr-box {
    text-align: center;
    margin: auto;
}
.qr-questionnaire {
    width: 112px;
    height: 112px;
}
.qr-text {
    font-size: 14px;
}
.qr-frame-note.frame-note.simple p {
    font-size: 14px;
}
.qr-frame-note .mark-note li {
    font-size: 13px;
}
@media (min-width: 600px) {
    .qr-text,
    .qr-frame-note.frame-note.simple p{
        font-size: 16px;
    }
    .qr-frame-note .mark-note li{
        font-size: 14px;
    }

}

/*　2025-06 企業掲載ロゴ
--------------------------------------------------*/
.supporter__box {
    width: 100%;
    margin: 40px auto;
    border-radius: 10px;
}
.supporter__list {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 2%;
    margin: auto;
}
.supporter__item {
    width: 32%;
    max-width: 296px;
    padding: 10px;
}

.supporter__block {
    margin-top: 40px;
}

.supporter__title {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    background: #dc0000;
    color: #fff;
    margin-bottom: 20px;
}

.supporter__text {
    font-weight: bold;
    font-size: 14px;
}
.supporter__text.copy {
    font-size: 16px;
}
.supporter__text small{
    font-size: 80%;
}
.supporter__link {
    text-decoration: underline;
}

@media(min-width: 769px) {
    .supporter__box {
        width: 80%;
    }
    .supporter__block {
        margin-top: 60px;
    }
    .supporter__title {
        font-size: 22px;
        margin-top: 30px;
    }
    .supporter__text {
        font-size: 16px;
    }
    .supporter__list {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 2%;
        margin: auto;
    }
    .supporter__item {
        width: 30%;
        padding: 13px;
    }
}

@media(min-width: 1025px) {
    .supporter__box {
        width: 67%;
    }
    .supporter__item {
        width: 20%;
        padding: 16px;
        max-width: 240px;
    }
    .supporter__text.copy {
        font-size: 18px;
    }
}
