@charset "UTF-8";
/* --------------------------------------------
 * 交通アクセス・駐車場/ access
 * -------------------------------------------- */
/* ボタン */
.access__btn.base__btn {
  background: #0f679a;
  width: 170px;
  height: 40px;
  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;
  padding: 0 24px;
}
.access__btn.base__btn:hover {
  background-color: #0095d8;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.access__btn.base__btn::before {
  content: none;
}
.access__btn.base__btn .material-symbols-outlined {
  font-size: 1.3rem;
}
.access__btn.base__btn.bus-list__btn {
  width: auto;
  font-size: 1.4rem;
  gap: 8px;
  white-space: nowrap;
}
.access__btn.base__btn.base__btn-white {
  background: #fff;
}
.access__btn.base__btn.base__btn-white::before {
  content: none;
}
.access__btn.base__btn.base__btn-white:hover {
  background-color: #d1d8ff;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.access__btn.base__btn.base__btn-yellow.bus-btn {
  background: #f3ed69;
  color: #0f679a;
  width: 249px;
  height: 50px;
}
.access__btn.base__btn.base__btn-yellow.bus-btn::before {
  content: "";
  background-image: url(../img/index/arrow-blue.png);
  width: 7px;
  height: 7px;
}
.access__btn.base__btn.base__btn-yellow.bus-btn:hover {
  opacity: 0.7;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}

/* イントロ */
.access-intro {
  margin-bottom: 70px;
}
@media (max-width: 499px) {
  .access-intro {
    margin-bottom: 50px;
  }
}

.access-intro__heading {
  font-size: 4.2rem;
  text-align: center;
}
@media (max-width: 834px) {
  .access-intro__heading {
    font-size: 2.8rem;
  }
}
@media (max-width: 499px) {
  .access-intro__heading {
    line-height: 1.4;
  }
}

.access-intro__lead {
  margin: 47px auto 103px;
  text-align: center;
}
@media (max-width: 834px) {
  .access-intro__lead {
    margin: 24px auto 60px;
  }
}
@media (max-width: 499px) {
  .access-intro__lead {
    text-align: left;
    margin: 24px auto 32px;
  }
}

.access-intro__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5%;
  margin-bottom: 48px;
}
@media (max-width: 834px) {
  .access-intro__flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px;
  }
}

.access-intro__flex-img {
  width: 56%;
}
@media (max-width: 834px) {
  .access-intro__flex-img {
    width: 100%;
  }
}

.access-intro__flex-body {
  width: 40%;
}
@media (max-width: 834px) {
  .access-intro__flex-body {
    width: 100%;
    margin-top: 30px;
  }
}
@media (max-width: 499px) {
  .access-intro__flex-body {
    margin-top: 20px;
  }
}

.access-intro__logo {
  width: 90%;
  max-width: 418px;
  margin-bottom: 48px;
}
@media (max-width: 834px) {
  .access-intro__logo {
    margin-inline: auto;
    margin-bottom: 20px;
  }
}

.access-intro__address-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 10px 40px;
  margin-bottom: 32px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 834px) {
  .access-intro__address-wrap {
    margin-bottom: 8px;
  }
}

.access-intro__google-map {
  width: 160px;
  color: #0f679a;
  font-size: 1.6rem;
  padding: 4px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  background: #fff;
  border-radius: 50px;
}
.access-intro__google-map:hover {
  background-color: #d1d8ff;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
.access-intro__google-map .material-symbols-outlined {
  font-variation-settings: "FILL" 1;
  font-size: 1.5rem;
}

.access-intro__tel {
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.4;
}
.access-intro__tel span {
  font-size: 1.8rem;
}
.access__list {
  background: #fff;
  color: #000;
  padding: 50px;
}
@media (max-width: 834px) {
  .access__list {
    padding: 30px;
  }
}

.access__sticky-area-img {
  width: 100%;
}
.access__sticky-area-img img {
  width: 100%;
}

@media (max-width: 834px) {
  .scrollable-image {
    overflow: visible;
    overflow-x: auto !important;
  }
}
@media (max-width: 834px) {
  .scrollable-image img {
    display: block;
    width: 800px;
    height: auto;
    max-width: none;
  }
}

.access-list li {
  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;
  font-size: 1.6rem;
  gap: 20px;
}
@media (max-width: 930px) {
  .access-list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8px;
  }
}
@media (max-width: 834px) {
  .access-list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (max-width: 639px) {
  .access-list li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.access-list li:last-child {
  padding-top: 16px;
}
.access-list li:not(:last-child) {
  border-bottom: 3px dotted #eee;
  padding: 16px 0;
}
.access-list li:first-child {
  padding-top: 0;
  padding-bottom: 16px;
}
.access-list .access-list__direction {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px 1.6rem;
}
@media (max-width: 1100px) {
  .access-list .access-list__direction {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 930px) {
  .access-list .access-list__direction {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (max-width: 499px) {
  .access-list .access-list__direction {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.access-list .access-list__direction span {
  color: #fe5358;
}

.access__bus-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 1199px) {
  .access__bus-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 1199px) {
  .access__bus-flex li + li {
    margin-top: 20px;
  }
}

.bus-list li {
  width: 48%;
  background: #fff;
  color: #000;
  font-size: 1.6rem;
}
@media (max-width: 1199px) {
  .bus-list li {
    width: 100%;
  }
}

.bus-list__ttl {
  background: #fedd28;
  color: #247fb4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.1rem;
  min-height: 60px;
}
.bus-list__ttl span {
  font-size: 1.6rem;
  margin-bottom: -4px;
}

.bus-list__detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 30px 20px;
}
.bus-list__detail-list li {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.bus-list__detail-list li:first-child {
  border-bottom: 1px solid #eee;
  padding-bottom: 24px;
}
.bus-list__detail-list li:last-child {
  padding-top: 24px;
}

.bus-list__route {
  text-align: center;
  margin-bottom: 20px;
}
.bus-list__route span {
  color: #3997cd;
}

.under-note__txt.--ise-jingu {
  margin: 24px 0 24px;
  font-size: 1.5rem;
}

.under-note__ise-jingu li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
@media (max-width: 1024px) {
  .under-note__ise-jingu li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media (max-width: 834px) {
  .under-note__ise-jingu li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 639px) {
  .under-note__ise-jingu li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.under-note__ise-jingu li:first-child {
  padding-bottom: 25px;
  border-bottom: 3px dotted #fff;
}
.under-note__ise-jingu li:last-child {
  padding-top: 25px;
}

.under-note__ise-jingu-ttl {
  font-size: 2rem;
}

.under-note__ise-jingu-detail {
  font-size: 1.6rem;
}
.under-note__ise-jingu-detail span {
  font-size: 1.3rem;
}

.under-note__ise-jingu-btn.base__btn.base__btn-white {
  width: 170px;
  margin: 0;
  font-size: 1.4rem;
}

.access-list.--blue-heading .access-list__ttl {
  font-size: 2rem;
  color: #3997cd;
  width: 30%;
  min-width: 92px;
}
.access-list.--blue-heading li {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 930px) {
  .access-list.--blue-heading li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.access-list.--blue-heading li:not(:last-child) {
  border-bottom: 2px solid #eee;
}

.public-transport-img {
  background: #fff;
  color: #000;
  padding: 50px;
}
@media (max-width: 834px) {
  .public-transport-img {
    padding: 30px;
  }
}

.by-bus__body {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 2px solid #eee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px 20px;
}
@media (max-width: 1024px) {
  .by-bus__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.by-bus__body-txt {
  color: #3997cd;
  font-size: 1.6rem;
}

.by-bus__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
}
@media (max-width: 499px) {
  .by-bus__btn-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.access__sticky-area-img + .under-heading--primary {
  margin-top: 48px;
}
@media (max-width: 499px) {
  .access__sticky-area-img + .under-heading--primary {
    margin-top: 20px;
  }
}

/* カレンダー */
.parking-calendar {
  background: #fff;
  padding: 40px;
  font-size: 1.5rem;
}
@media (max-width: 639px) {
  .parking-calendar {
    padding: 20px;
  }
}
@media (max-width: 499px) {
  .parking-calendar {
    padding: 20px 15px;
  }
}

.parking-calendar {
  /* 各マスの高さ */
  /* 土日、祝日 */
  /* next,prevボタン */
}
.parking-calendar .xo-event-calendar table.xo-month,
.parking-calendar .xo-event-calendar table.xo-month td,
.parking-calendar .xo-event-calendar table.xo-month th {
  border: none;
  font-family: var(--fot);
}
.parking-calendar .xo-event-calendar table.xo-month .month-dayname td div {
  text-align: left;
  padding: 8px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
@media (max-width: 499px) {
  .parking-calendar .xo-event-calendar table.xo-month .month-dayname td div {
    text-align: center;
    padding: 5px;
  }
}
.parking-calendar .xo-event-calendar table.xo-month td,
.parking-calendar .xo-event-calendar table.xo-month th {
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
.parking-calendar .xo-event-calendar table.xo-month .month-dayname td div.other-month {
  opacity: 0;
}
.parking-calendar .month-event-title {
  color: transparent !important;
}
.parking-calendar .calendar table.xo-month th {
  background-color: transparent;
  border: none;
}
.parking-calendar .xo-event-calendar table.xo-month tr:first-child {
  margin-top: 8px;
}
.parking-calendar .xo-event-calendar table.xo-month .month-event-space {
  height: 3.9em;
}
@media (max-width: 499px) {
  .parking-calendar .xo-event-calendar table.xo-month .month-event-space {
    height: 2.9em;
  }
}
.parking-calendar .xo-event-calendar table.xo-month .month-dayname td div {
  max-height: 62px;
  -webkit-clip-path: inset(0% 0% 0% 0% round 10px);
          clip-path: inset(0% 0% 0% 0% round 10px);
}
@media (max-width: 499px) {
  .parking-calendar .xo-event-calendar table.xo-month .month-dayname td div {
    max-height: 49px;
  }
}
.parking-calendar .xo-event-calendar table.xo-month .month-dayname-space {
  height: 0.9em;
}
.parking-calendar .xo-event-calendar table.xo-month .month-dayname td {
  width: 13%;
}
.parking-calendar .holiday-titles {
  display: none;
}
.parking-calendar .xo-event-calendar table.xo-month > thead th.sunday,
.parking-calendar .xo-event-calendar table.xo-month > thead th.saturday,
.parking-calendar .xo-event-calendar table.xo-month .month-dayname td div.today {
  color: #000;
}
.parking-calendar .month-dayname .dayname {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px;
}
@media (max-width: 499px) {
  .parking-calendar .month-dayname .dayname {
    gap: 5px;
  }
}
.parking-calendar .xo-event-calendar table.xo-month button {
  width: 110px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #006b90;
  color: #fff;
  border-radius: 50px;
}
@media (max-width: 639px) {
  .parking-calendar .xo-event-calendar table.xo-month button {
    width: 90px;
  }
}
.parking-calendar .xo-event-calendar table.xo-month button.month-next {
  padding-right: 8px;
}
.parking-calendar .xo-event-calendar table.xo-month button.month-prev {
  padding-left: 8px;
}
.parking-calendar .xo-event-calendar table.xo-month button span.nav-prev,
.parking-calendar .xo-event-calendar table.xo-month button span.nav-next {
  font-size: 1.6rem;
  height: auto;
  width: auto;
  border: none;
  -webkit-transform: none;
          transform: none;
  display: inline;
}
@media (max-width: 639px) {
  .parking-calendar .xo-event-calendar table.xo-month button span.nav-prev,
  .parking-calendar .xo-event-calendar table.xo-month button span.nav-next {
    font-size: 1.4rem;
  }
}
.parking-calendar .nav-next {
  position: relative;
}
.parking-calendar .nav-next::before {
  position: absolute;
  content: "";
  background-image: url(../img/under/common/arrow-next_wht.png);
  width: 7px;
  height: 7px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  right: -14px;
  top: 36%;
}
.parking-calendar .nav-prev {
  position: relative;
  display: block;
}
.parking-calendar .nav-prev::before {
  position: absolute;
  content: "";
  background-image: url(../img/under/common/arrow-prev_wht.png);
  width: 7px;
  height: 7px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  left: -14px;
  top: 36%;
}
.parking-calendar .xo-event-calendar table caption {
  margin-bottom: 30px;
}

/* 見出し箇所 */
.parking-calendar .xo-event-calendar table.xo-month .month-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.parking-calendar .custom-calendar-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #0095d8;
  line-height: 0.8;
}
.parking-calendar .custom-calendar-header .month-number {
  font-size: 6rem;
  margin-right: 6px;
  font-family: var(--gra);
  font-weight: bold;
}
.parking-calendar .custom-calendar-header .year-month-wrapper {
  text-align: left;
  font-size: 1.9rem;
  font-family: var(--gra);
  font-weight: bold;
}
.parking-calendar .calendar-title {
  font-size: 1.3rem;
  color: #0095d8;
  font-family: var(--fot);
}

@media screen and (max-width: 639px) {
  .xo-event-calendar table.xo-month .month-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .xo-event-calendar table.xo-month .month-header .calendar-caption {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 10px;
    width: 100%;
    text-align: center;
  }
  .xo-event-calendar table.xo-month .month-header {
    position: relative;
  }
  .xo-event-calendar table.xo-month .month-header button.month-prev,
  .xo-event-calendar table.xo-month .month-header button.month-next {
    position: relative;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 5px;
  }
}
/* 曜日箇所 */
.parking-calendar .xo-event-calendar table thead {
  padding-bottom: 30px;
  margin-bottom: 12px;
}
.parking-calendar .xo-event-calendar table.xo-month th::after {
  content: "";
  display: block;
  border-bottom: 1px solid #eee;
  position: relative;
  bottom: -20px;
}
.parking-calendar .xo-event-calendar table.xo-month th {
  padding-bottom: 20px !important;
}

/* フッター箇所 */
.parking-calendar__footer {
  margin-top: 30px;
  color: #000;
  font-size: 1.5rem;
}
@media (max-width: 499px) {
  .parking-calendar__footer {
    margin-top: 20px;
  }
}
.parking-calendar__footer > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 499px) {
  .parking-calendar__footer > li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.parking-calendar__footer > li + li {
  margin-top: 20px;
}

.parking-calendar__ttl {
  min-width: 80px;
}

.parking-calendar__plan-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 4px;
}
.parking-calendar__plan-list > li + li {
  margin-top: 6px;
}

.parking-calendar__color {
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  border-radius: 3px;
  margin-top: 4px;
}
.parking-calendar__color.--plan-a {
  background-color: #b2f1da;
}
.parking-calendar__color.--plan-b {
  background-color: #fdd391;
}/*# sourceMappingURL=access.css.map */