@charset "UTF-8";
/**
* Common Styles
*
* 01. foundation
* 02. layout
* 03. object
*
*/
/* ==========================================================================
01. foundation
========================================================================== */
/* Media Query
───────────────────────────────── */
/* Link
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Grid
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Pseudo
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-circle-arrow
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* icon-triangle
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* contents
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* PC item & SP item
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* 電話番号リンク */
/* 画像を幅100%にする */
/* object fit image */
/* object fit image */
/* sticky */
/* clearfix */
/* hover
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* full */
/* icon-set
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* layout
============================================================= */
/* z-index
───────────────────────────────── */
/* VW
───────────────────────────────── */
/* 数値から単位を除外
───────────────────────────────── */
/* `px` から `rem` に変換
───────────────────────────────── */
/* `px` から `em` に変換
───────────────────────────────── */
/* Size
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Color
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
:root {
  --color-black: #000;
  --color-blue: #0068b7;
  --color-red: #c8161d;
  --color-yellow: #f7f1e2;
  --color-sky: #59bded;
  --color-white: #fff; }

/* Font
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Duration
  −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* Easing
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− */
/* keyframes
========================================================================== */
@keyframes infinity-loop {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }

@keyframes infinity-ripple {
  0% {
    opacity: 0;
    transform: scale(1.2); }
  70% {
    opacity: 1; }
  100% {
    transform: scale(1.5);
    opacity: 0; } }

@keyframes infinity-zoom {
  0% {
    transform: scale(0.9); }
  50% {
    transform: scale(1); }
  100% {
    transform: scale(0.9); } }

@keyframes infinity-zoom2 {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }

@keyframes fadeout {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* ==========================================================================
   01. Reset
   ========================================================================== */
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  background: transparent;
  vertical-align: baseline;
  font-size: 100%;
  font-weight: normal;
  letter-spacing: 0.05em; }

body {
  line-height: 1; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

ul {
  list-style: none; }

blockquote,
q {
  quotes: none; }

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: none; }

a {
  margin: 0;
  padding: 0;
  background: transparent;
  vertical-align: baseline;
  font-size: 100%; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-weight: bold;
  font-style: italic; }

del {
  text-decoration: line-through; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

hr {
  display: block;
  margin: 1em 0;
  padding: 0;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc; }

input,
select {
  vertical-align: middle; }

/* ==========================================================================
   02. Base
   ========================================================================== */
html {
  overflow-y: scroll;
  height: 100%; }
  @media screen and (max-width: 767px) {
    html {
      font-size: 3vw; } }
  @media screen and (min-width: 768px), print {
    html {
      font-size: 180.2884615385%; } }
  @media screen and (min-width: 375px) {
    html {
      font-size: 7.6923076923vw; } }
  @media screen and (min-width: 1300px), print {
    html {
      font-size: 625%; } }
body {
  height: 100%;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  color: #000;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", "YuGothic", sans-serif; }
  @media screen and (max-width: 767px) {
    body {
      position: relative;
      font-size: 3.73vw; } }
  @media screen and (min-width: 768px), print {
    body {
      min-width: 375px;
      font-size: 0.18rem; } }
*,
*:after,
*:before {
  box-sizing: border-box;
  background-repeat: no-repeat;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

a {
  color: #000;
  text-decoration: none; }

a:visited {
  text-decoration: none; }

a:hover {
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  line-height: 1; }

table td img,
table th img {
  vertical-align: middle; }

select optgroup {
  color: #333 !important; }

* {
  box-sizing: border-box; }

@media screen and (min-width: 768px), print {
  .main__text + .main__text {
    margin-top: 0.1rem; } }

@media screen and (max-width: 767px) {
  .main__text + .main__text {
    margin-top: 2.67vw; } }

@media screen and (min-width: 768px), print {
  .main__text + .reservedVehicle__nav {
    margin-top: 0.8rem; } }

@media screen and (max-width: 767px) {
  .main__text + .reservedVehicle__nav {
    margin-top: 10.67vw; } }

.attention {
  color: #e20d0d; }

.bold {
  font-weight: 700; }

@media screen and (max-width: 767px) {
  .spTableScroll {
    position: relative; } }

@media screen and (max-width: 767px) {
  .spTableScroll__inner {
    overflow-x: scroll;
    position: relative; }
    .spTableScroll__inner > table {
      width: 200%;
      white-space: nowrap; } }

.ui-datepicker {
  z-index: 10 !important; }

/* ==========================================================================
02. layout
========================================================================== */
/* footer
========================================================================== */
#lp .footer {
  background-color: var(--color-blue); }
  @media screen and (min-width: 768px), print {
    #lp .footer {
      padding: 0; } }
#lp .footer__head {
  background: linear-gradient(0deg, #004da0 15.59%, #0068b6 78.82%); }
  @media screen and (min-width: 768px), print {
    #lp .footer__head {
      padding: 0.7rem 0 0.79rem; } }
  @media screen and (max-width: 767px) {
    #lp .footer__head {
      padding: 12.8vw 7.33vw 12.24vw; } }
#lp .footer__text {
  letter-spacing: 0.3em;
  text-align: center;
  position: relative;
  width: fit-content;
  display: flex;
  align-items: center;
  margin-inline: auto; }
  @media screen and (min-width: 768px), print {
    #lp .footer__text {
      gap: 0.41rem;
      font-size: 0.28rem;
      line-height: 1.2; } }
  @media screen and (max-width: 767px) {
    #lp .footer__text {
      line-height: 1.7;
      font-size: 5.87vw;
      gap: 8.27vw; } }
  #lp .footer__text::before, #lp .footer__text::after {
    content: "";
    display: block;
    background-color: var(--color-white); }
    @media screen and (min-width: 768px), print {
      #lp .footer__text::before, #lp .footer__text::after {
        width: 0.03rem;
        height: 0.44rem; } }
    @media screen and (max-width: 767px) {
      #lp .footer__text::before, #lp .footer__text::after {
        width: 0.8vw;
        height: 20.27vw; } }
#lp .footer__linkWrap {
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    #lp .footer__linkWrap {
      margin-top: 0.51rem;
      gap: 0.2rem; } }
  @media screen and (max-width: 767px) {
    #lp .footer__linkWrap {
      margin-top: 10.67vw;
      flex-direction: column;
      gap: 5.87vw; } }
  @media screen and (min-width: 768px), print {
    #lp .footer__linkWrap + * {
      margin-top: 0.27rem; } }
  @media screen and (max-width: 767px) {
    #lp .footer__linkWrap + * {
      margin-top: 8.53vw; } }
#lp .footer__headInfo {
  color: var(--color-white);
  text-align: center;
  line-height: 1.75; }
  @media screen and (min-width: 768px), print {
    #lp .footer__headInfo {
      font-size: 0.12rem; } }
@media screen and (min-width: 768px), print {
  #lp .footer__copyright {
    font-size: 0.1rem; } }

@media screen and (max-width: 767px) {
  #lp .footer__copyright {
    font-size: 2.67vw; } }

.footer__under {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .footer__under {
      padding: 0.6rem 0;
      align-items: flex-end;
      gap: 1.2rem; } }
  @media screen and (max-width: 767px) {
    .footer__under {
      flex-direction: column;
      padding: 10.67vw 7.33vw 42.67vw;
      gap: 10.53vw; } }
.footer__info {
  display: flex;
  align-items: center; }
  @media screen and (min-width: 768px), print {
    .footer__info {
      gap: 0.4rem; } }
  @media screen and (max-width: 767px) {
    .footer__info {
      gap: 5.33vw;
      flex-direction: column; } }
@media screen and (min-width: 768px), print {
  .footer__img {
    width: 3.13rem;
    height: 0.36rem; } }

@media screen and (max-width: 767px) {
  .footer__img {
    width: 74.67vw; } }

.footer__img img {
  width: 100%; }

.footer__address {
  color: var(--color-white); }

.footer__addressNane {
  line-height: 1.2;
  font-style: normal; }
  @media screen and (min-width: 768px), print {
    .footer__addressNane {
      font-size: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .footer__addressNane {
      font-size: 3.2vw; } }
.footer__addressText {
  line-height: 1.2;
  font-style: normal; }
  @media screen and (min-width: 768px), print {
    .footer__addressText {
      font-size: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .footer__addressText {
      font-size: 3.2vw; } }
/* header
========================================================================== */
.header {
  background-color: var(--color-white);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100; }
  @media screen and (min-width: 768px), print {
    #lp .header {
      min-height: 0.6rem;
      padding: 0; } }
  @media screen and (max-width: 767px) {
    #lp .header {
      min-height: 12.8vw; } }
.header__inner {
  display: flex;
  align-items: center; }
  @media screen and (min-width: 768px), print {
    .header__inner {
      justify-content: space-between;
      max-width: 10rem;
      margin-left: auto;
      margin-right: auto;
      padding: 0.14rem 0; } }
  @media screen and (max-width: 767px) {
    #lp .header__inner {
      padding: 2.93vw;
      flex-direction: column; } }
@media screen and (min-width: 768px), print {
  .header__logo {
    width: 2.78rem;
    height: 0.32rem; } }

@media screen and (max-width: 767px) {
  #lp .header__logo {
    width: 46.35vw; } }

.header__logo img {
  width: 100%; }

/* main
========================================================================== */
.main {
  padding-top: 0.8rem;
  padding: 0 !important;
  max-width: 100% !important; }

/* wrapper
========================================================================== */
@media screen and (max-width: 767px) {
  .wrapper {
    padding-top: 26.57vw; } }

/* ==========================================================================
03. object
========================================================================== */
/* display
========================================================================== */
@media screen and (min-width: 768px), print {
  .u-spItem {
    display: none !important; }
  .u-pcItem {
    display: block; } }

@media screen and (max-width: 767px) {
  .u-spItem {
    display: block; }
  .u-pcItem {
    display: none !important; } }

/* padding(SP)
========================================================================== */
@media screen and (max-width: 767px) {
  .u-spPdg {
    padding-left: 16px;
    padding-right: 16px; } }

/* u-spScroll
========================================================================== */
@media screen and (max-width: 767px) {
  .u-spScroll {
    overflow: auto; }
    .u-spScroll > * {
      width: 200% !important; } }

@media screen and (min-width: 768px), print {
  .u-spScroll + * {
    margin-top: 0.6rem; } }

@media screen and (max-width: 767px) {
  .u-spScroll + * {
    margin-top: 5.33vw; } }

/* text
   ========================================================================== */
.u-txtRed {
  color: #c1312d; }

.u-txtHighlight {
  background: linear-gradient(transparent 60%, #0466c9 0%); }

.u-txtBold {
  font-weight: bold; }

@media screen and (min-width: 768px), print {
  .u-txtSmall {
    font-size: 0.11rem; } }

@media screen and (max-width: 767px) {
  .u-txtSmall {
    font-size: 2.93vw; } }

.u-txtCenter {
  text-align: center; }

@media screen and (min-width: 768px), print {
  .u-txtCenterPC {
    text-align: center; } }

@media screen and (max-width: 767px) {
  .u-txtLeftSP {
    text-align: left; } }

.u-txtRight {
  text-align: right; }
  .u-txtRight.text {
    max-width: none; }

/* object-fit
========================================================================== */
img.u-ofiContain,
img.u-ofiCover {
  width: 100%;
  height: 100%; }

img.u-ofiCover {
  font-family: "object-fit: cover";
  object-fit: cover; }

img.u-ofiContain {
  font-family: "object-fit: contain";
  object-fit: contain; }

/* accordion
========================================================================== */
.u-accordion__contents {
  display: none; }

/* sticky
   ========================================================================== */
.u-sticky {
  position: -webkit-sticky;
  position: sticky; }
  .u-sticky.sticky-fixed.is-sticky {
    position: fixed;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden; }
  .u-sticky.sticky-fixed.is-sticky:not([style*="margin-top"]) {
    margin-top: 0 !important; }
  .u-sticky.sticky-fixed.is-sticky:not([style*="margin-bottom"]) {
    margin-bottom: 0 !important; }
  .u-sticky.sticky-fixed.is-absolute {
    position: absolute; }

/* tab
   ========================================================================== */
.u-tab__panel {
  display: none; }
  .u-tab__panel.-opened {
    display: block; }

/* gallay
========================================================================== */
.u-inview {
  opacity: 0;
  transform: translateY(20px); }
  .u-inview.-inviewed {
    opacity: 1;
    transition: 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95);
    transform: translateY(0); }

@media all and (-ms-high-contrast: none) {
  .u-inview {
    opacity: 1;
    transform: none; } }

/* align
========================================================================== */
@media screen and (min-width: 768px), print {
  .u-pcCenter {
    text-align: center; } }

@media screen and (max-width: 767px) {
  .u-spCenter {
    text-align: center; } }

::selection {
  color: #fff;
  background: rgba(4, 102, 201, 0.7); }

/* Accessibility
========================================================================== */
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px); }

/* margin
========================================================================== */
@media screen and (min-width: 768px), print {
  .u-pcMt0 {
    margin-top: 0rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt0 {
    margin-top: 0vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt5 {
    margin-top: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt5 {
    margin-top: 1.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt10 {
    margin-top: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt10 {
    margin-top: 2.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt15 {
    margin-top: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt15 {
    margin-top: 4vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt20 {
    margin-top: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt20 {
    margin-top: 5.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt25 {
    margin-top: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt25 {
    margin-top: 6.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt30 {
    margin-top: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt30 {
    margin-top: 8vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt35 {
    margin-top: 0.35rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt35 {
    margin-top: 9.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt40 {
    margin-top: 0.4rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt40 {
    margin-top: 10.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt45 {
    margin-top: 0.45rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt45 {
    margin-top: 12vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt50 {
    margin-top: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt50 {
    margin-top: 13.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt55 {
    margin-top: 0.55rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt55 {
    margin-top: 14.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMt60 {
    margin-top: 0.6rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMt60 {
    margin-top: 16vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb0 {
    margin-bottom: 0rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb0 {
    margin-bottom: 0vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb5 {
    margin-bottom: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb5 {
    margin-bottom: 1.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb10 {
    margin-bottom: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb10 {
    margin-bottom: 2.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb15 {
    margin-bottom: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb15 {
    margin-bottom: 4vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb20 {
    margin-bottom: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb20 {
    margin-bottom: 5.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb25 {
    margin-bottom: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb25 {
    margin-bottom: 6.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb30 {
    margin-bottom: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb30 {
    margin-bottom: 8vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb35 {
    margin-bottom: 0.35rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb35 {
    margin-bottom: 9.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb40 {
    margin-bottom: 0.4rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb40 {
    margin-bottom: 10.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb45 {
    margin-bottom: 0.45rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb45 {
    margin-bottom: 12vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb50 {
    margin-bottom: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb50 {
    margin-bottom: 13.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb55 {
    margin-bottom: 0.55rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb55 {
    margin-bottom: 14.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMb60 {
    margin-bottom: 0.6rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMb60 {
    margin-bottom: 16vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr0 {
    margin-right: 0rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr0 {
    margin-right: 0vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr5 {
    margin-right: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr5 {
    margin-right: 1.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr10 {
    margin-right: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr10 {
    margin-right: 2.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr15 {
    margin-right: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr15 {
    margin-right: 4vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr20 {
    margin-right: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr20 {
    margin-right: 5.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr25 {
    margin-right: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr25 {
    margin-right: 6.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr30 {
    margin-right: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr30 {
    margin-right: 8vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr35 {
    margin-right: 0.35rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr35 {
    margin-right: 9.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr40 {
    margin-right: 0.4rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr40 {
    margin-right: 10.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr45 {
    margin-right: 0.45rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr45 {
    margin-right: 12vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr50 {
    margin-right: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr50 {
    margin-right: 13.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr55 {
    margin-right: 0.55rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr55 {
    margin-right: 14.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMr60 {
    margin-right: 0.6rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMr60 {
    margin-right: 16vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl0 {
    margin-left: 0rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl0 {
    margin-left: 0vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl5 {
    margin-left: 0.05rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl5 {
    margin-left: 1.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl10 {
    margin-left: 0.1rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl10 {
    margin-left: 2.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl15 {
    margin-left: 0.15rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl15 {
    margin-left: 4vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl20 {
    margin-left: 0.2rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl20 {
    margin-left: 5.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl25 {
    margin-left: 0.25rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl25 {
    margin-left: 6.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl30 {
    margin-left: 0.3rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl30 {
    margin-left: 8vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl35 {
    margin-left: 0.35rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl35 {
    margin-left: 9.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl40 {
    margin-left: 0.4rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl40 {
    margin-left: 10.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl45 {
    margin-left: 0.45rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl45 {
    margin-left: 12vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl50 {
    margin-left: 0.5rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl50 {
    margin-left: 13.33vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl55 {
    margin-left: 0.55rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl55 {
    margin-left: 14.67vw !important; } }

@media screen and (min-width: 768px), print {
  .u-pcMl60 {
    margin-left: 0.6rem !important; } }

@media screen and (max-width: 767px) {
  .u-spMl60 {
    margin-left: 16vw !important; } }

/* margin
========================================================================== */
/* object-fit
========================================================================== */
img.img-ofi-contain,
img.img-ofi-cover {
  width: 100%;
  height: 100%; }

img.img-ofi-cover {
  font-family: "object-fit: cover";
  object-fit: cover; }

img.img-ofi-contain {
  font-family: "object-fit: contain";
  object-fit: contain; }

/* accordion
========================================================================== */
.accordion-contents {
  display: none; }

/* sticky
   ========================================================================== */
.sticky {
  position: -webkit-sticky;
  position: sticky; }
  .sticky.sticky-fixed.is-sticky {
    position: fixed;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden; }
  .sticky.sticky-fixed.is-sticky:not([style*="margin-top"]) {
    margin-top: 0 !important; }
  .sticky.sticky-fixed.is-sticky:not([style*="margin-bottom"]) {
    margin-bottom: 0 !important; }
  .sticky.sticky-fixed.is-absolute {
    position: absolute; }

/* tab
   ========================================================================== */
.tab-panel {
  display: none; }
  .tab-panel.is-opened {
    display: block; }

/* #modal-conditions
   ========================================================================== */
#modal-conditions {
  opacity: 0;
  pointer-events: none;
  transition: 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transform: scale(0.9); }
  #modal-conditions.is-opened {
    transform: scale(1);
    opacity: 1;
    pointer-events: auto; }

/* gallay
========================================================================== */
.inview.-skewLeft {
  opacity: 0;
  transition: opacity 1s, transform 1s; }
  @media screen and (min-width: 768px), print {
    .inview.-skewLeft {
      transform: translateY(0.2rem) skewY(10deg); } }
  @media screen and (max-width: 767px) {
    .inview.-skewLeft {
      transform: translateY(3.47vw) skewY(10deg); } }
  .inview.-skewLeft.-inviewed {
    opacity: 1;
    transform: translateY(0) skewY(0); }

.inview.-skewRight {
  opacity: 0;
  transition: opacity 1s, transform 1s; }
  @media screen and (min-width: 768px), print {
    .inview.-skewRight {
      transform: translateY(0.2rem) skewY(-10deg); } }
  @media screen and (max-width: 767px) {
    .inview.-skewRight {
      transform: translateY(3.47vw) skewY(-10deg); } }
  .inview.-skewRight.-inviewed {
    opacity: 1;
    transform: translateY(0) skewY(0); }

.inview.-fadeInUp {
  opacity: 0;
  transition: opacity 2s, transform 2s; }
  @media screen and (min-width: 768px), print {
    .inview.-fadeInUp {
      transform: translateY(0.2rem); } }
  @media screen and (max-width: 767px) {
    .inview.-fadeInUp {
      transform: translateY(3.47vw); } }
  .inview.-fadeInUp.-inviewed {
    opacity: 1;
    transform: translateY(0); }

@media all and (-ms-high-contrast: none) {
  .inview {
    opacity: 1;
    transform: none; } }

/* mv
========================================================================== */
.mv {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .mv {
      grid-template-columns: 600fr 700fr;
      min-height: 5.47rem;
      margin-top: 0.6rem;
      display: grid; } }
  @media screen and (max-width: 767px) {
    .mv {
      margin-top: 12.8vw;
      grid-template-columns: 1fr;
      min-height: 139.6vw; } }
@media screen and (min-width: 768px), print {
  .mv__inner {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (min-width: 768px), print {
  .mv__inner {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; } }

@media screen and (max-width: 767px) {
  .mv__inner {
    grid-column: 1 / 2;
    grid-row: 1 / 4; } }

.mv__block {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .mv__block {
      display: flex;
      width: 7.36rem;
      height: 2.9rem;
      left: 0.411rem; } }
  @media screen and (max-width: 767px) {
    .mv__block {
      padding-top: 10.13vw; } }
.mv__bass {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .mv__bass {
      width: 6.4rem;
      height: 3.5rem;
      top: -0.5rem; } }
  @media screen and (max-width: 767px) {
    .mv__bass {
      width: 95.47vw;
      height: 49.33vw; } }
  .mv__bass img {
    width: 100%; }

@media screen and (min-width: 768px), print {
  .mv__lead {
    width: 1rem;
    height: 2.5rem; } }

@media screen and (max-width: 767px) {
  .mv__lead {
    width: 56.53vw;
    height: 21.33vw;
    position: relative;
    left: 7.47vw; } }

.mv__lead img {
  width: 100%; }

@media screen and (min-width: 768px), print {
  .mv_icon {
    display: none; } }

@media screen and (max-width: 767px) {
  .mv_icon {
    position: absolute;
    top: 5.33vw;
    right: 7.47vw; } }

.mv__title {
  position: relative; }
  @media screen and (min-width: 768px), print {
    .mv__title {
      width: fit-content;
      left: 50%;
      transform: translateX(-50%); } }
  @media screen and (max-width: 767px) {
    .mv__title {
      width: 85.07vw;
      margin: 2.67vw auto 4.27vw; } }
  @media screen and (min-width: 768px), print {
    .mv__title + * {
      margin-top: 0.187rem; } }
.mv__info {
  display: flex;
  justify-content: center; }
  @media screen and (min-width: 768px), print {
    .mv__info {
      align-items: baseline;
      gap: 0.198rem; } }
  @media screen and (max-width: 767px) {
    .mv__info {
      flex-direction: column;
      justify-content: center;
      align-items: center; } }
.mv__infoPeriod {
  font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em; }
  @media screen and (min-width: 768px), print {
    .mv__infoPeriod {
      font-size: 0.185rem;
      line-height: 1.6; } }
  @media screen and (max-width: 767px) {
    .mv__infoPeriod {
      font-size: 4.61vw;
      line-height: 1.2; } }
.mv__infoDeta {
  font-family: "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em; }
  @media screen and (min-width: 768px), print {
    .mv__infoDeta {
      font-size: 0.32rem;
      line-height: 1.4; } }
  @media screen and (max-width: 767px) {
    .mv__infoDeta {
      font-size: 4.61vw; } }
  .mv__infoDeta .-day {
    background-color: var(--color-black);
    color: var(--color-white);
    border-radius: 100%;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative; }
    @media screen and (min-width: 768px), print {
      .mv__infoDeta .-day {
        top: -0.05rem;
        width: 0.28rem;
        height: 0.28rem;
        font-size: 0.17rem; } }
    @media screen and (max-width: 767px) {
      .mv__infoDeta .-day {
        width: 5.6vw;
        height: 5.6vw;
        font-size: 3.47vw;
        top: -0.8vw; } }
  @media screen and (min-width: 768px), print {
    .mv__infoDeta .-line {
      padding-inline: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .mv__infoDeta .-line {
      padding-inline: 1.33vw; } }
.mv__bg {
  grid-row: 1 / 2;
  z-index: 1;
  position: relative; }
  @media screen and (min-width: 768px), print {
    .mv__bg:nth-of-type(2) {
      grid-column: 1 / 2; } }
  @media screen and (max-width: 767px) {
    .mv__bg:nth-of-type(2) {
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
      width: 100vw; } }
  @media screen and (min-width: 768px), print {
    .mv__bg:nth-of-type(3) {
      grid-column: 2 / 3; } }
  @media screen and (max-width: 767px) {
    .mv__bg:nth-of-type(3) {
      position: absolute;
      width: 100vw;
      z-index: -1;
      top: 72.93vw; } }
  .mv__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover; }
  .mv__bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    inset: 0;
    position: absolute;
    background: rgba(255, 255, 255, 0.7) 0px 0px/100% 100% no-repeat; }

/* globalNaviMenu
========================================================================== */
@media screen and (min-width: 768px), print {
  .globalNaviMenu {
    display: none; } }

@media screen and (max-width: 767px) {
  .globalNaviMenu {
    border: none;
    position: absolute;
    top: 4.27vw;
    right: 4.27vw;
    padding: 0;
    width: 5.33vw;
    height: 4.27vw;
    background-color: transparent; } }

.globalNaviMenu__icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-blue); }
  @media screen and (max-width: 767px) {
    .globalNaviMenu__icon {
      width: 5.33vw;
      height: 0.27vw; } }
  .globalNaviMenu__icon::before, .globalNaviMenu__icon::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    width: 100%;
    height: 0.27vw;
    transition: all 0.25s;
    background-color: var(--color-blue); }
  @media screen and (min-width: 768px), print {
    .globalNaviMenu__icon::before {
      top: 0; } }
  @media screen and (max-width: 767px) {
    .globalNaviMenu__icon::before {
      top: 1.6vw; } }
  @media screen and (min-width: 768px), print {
    .globalNaviMenu__icon::after {
      bottom: 0; } }
  @media screen and (max-width: 767px) {
    .globalNaviMenu__icon::after {
      bottom: 1.6vw; } }
  .-menuOpen .globalNaviMenu__icon {
    background-color: transparent; }
    .-menuOpen .globalNaviMenu__icon::before {
      transform: rotate(-45deg); }
      @media screen and (max-width: 767px) {
        .-menuOpen .globalNaviMenu__icon::before {
          top: 0.13vw; } }
    .-menuOpen .globalNaviMenu__icon::after {
      transform: rotate(45deg); }
      @media screen and (max-width: 767px) {
        .-menuOpen .globalNaviMenu__icon::after {
          bottom: 0vw; } }
.globalNavi__list {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .globalNavi__list {
      align-items: center;
      gap: 0.406rem; } }
  @media screen and (max-width: 767px) {
    .globalNavi__list {
      flex-direction: column;
      align-items: center; } }
.globalNavi__listItem {
  position: relative;
  display: flex; }
  @media screen and (min-width: 768px), print {
    .globalNavi__listItem {
      flex: 1;
      align-items: center; } }
  @media screen and (max-width: 767px) {
    .globalNavi__listItem {
      width: 100%;
      justify-content: center; }
      .globalNavi__listItem:not(:last-of-type) {
        border-bottom: 1px solid var(--color-white);
        padding-bottom: 5.33vw; }
      .globalNavi__listItem + * {
        margin-top: 5.33vw;
        margin-bottom: 5.33vw; } }
  @media screen and (min-width: 768px), print {
    .globalNavi__listItem:not(:last-of-type)::after {
      position: relative;
      content: "";
      display: block;
      width: 1px;
      height: 0.2rem;
      background-color: var(--color-blue);
      right: -0.203rem; } }
.globalNavi__listLink {
  font-weight: 400;
  white-space: nowrap; }
  @media screen and (min-width: 768px), print {
    .globalNavi__listLink {
      color: var(--color-blue);
      font-size: 0.14rem;
      margin-top: 0.05rem; } }
  @media screen and (max-width: 767px) {
    .globalNavi__listLink {
      color: var(--color-white);
      font-size: 3.73vw; } }
/* info
========================================================================== */
.info {
  background: linear-gradient(0deg, #004da0 15.6%, #0068b6 78.82%); }
  @media screen and (min-width: 768px), print {
    .info {
      padding: 0.8rem 0; } }
  @media screen and (max-width: 767px) {
    .info {
      padding: 10.93vw 0 12.53vw; } }
@media screen and (min-width: 768px), print {
  .info__inner {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (max-width: 767px) {
  .info__inner {
    padding-inline: 7.33vw; } }

.info__text {
  color: var(--color-white);
  line-height: 2;
  font-weight: 400; }
  @media screen and (min-width: 768px), print {
    .info__text {
      text-align: center;
      letter-spacing: 0.15em;
      font-size: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .info__text {
      font-size: 3.73vw; } }
  @media screen and (min-width: 768px), print {
    .info__text + * {
      margin-top: 0.4rem; } }
  @media screen and (max-width: 767px) {
    .info__text + * {
      margin-top: 8vw; } }
  .info__text a {
    color: #fff;
    text-decoration: underline;
    display: block;
    width: fit-content;
    margin: 0 auto; }
    @media screen and (min-width: 768px), print {
      .info__text a {
        margin-top: 0.2rem;
        margin-bottom: 0.4rem; } }
    @media screen and (max-width: 767px) {
      .info__text a {
        margin-top: 5.33vw;
        margin-bottom: 8vw; } }
@media screen and (min-width: 768px), print {
  .info__img {
    width: 5.76rem;
    margin-inline: auto; } }

.info__img img {
  width: 100%; }

.info__caption {
  color: var(--color-white);
  line-height: 2;
  font-weight: 400;
  text-align: center; }
  @media screen and (min-width: 768px), print {
    .info__caption {
      margin-top: 0.05rem;
      font-size: 0.12rem; } }
  @media screen and (max-width: 767px) {
    .info__caption {
      margin-top: 1.33vw;
      font-size: 3.2vw; } }
.info__button {
  display: flex; }
  @media screen and (min-width: 768px), print {
    .info__button {
      margin-top: 0.2rem;
      justify-content: center;
      gap: 0.2rem; } }
  @media screen and (max-width: 767px) {
    .info__button {
      margin-top: 5.6vw;
      flex-direction: column;
      align-items: center;
      gap: 5.87vw; } }
/* buttonA
========================================================================== */
.buttonA {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-origin: border-box;
  background-clip: content-box, border-box;
  background-image: linear-gradient(var(--color-white), var(--color-white)), linear-gradient(90deg, #59bded, #0068b7);
  transition: 0.21s opacity; }
  @media screen and (min-width: 768px), print {
    .buttonA {
      box-shadow: 0.04rem 0.04rem 0.1rem #00000077;
      margin: 0 auto;
      padding: 0.03rem;
      border-radius: 0.3rem;
      width: 4.2rem;
      min-height: 0.6rem; } }
  @media screen and (max-width: 767px) {
    .buttonA {
      box-shadow: 0.04rem 0.04rem 0.1rem #00000077;
      min-width: 85.33vw;
      min-height: 12.8vw;
      padding: 0.8vw;
      border-radius: 6.4vw; }
      .buttonA:has(i) {
        min-height: 16vw;
        border-radius: 8vw; } }
  .buttonA:hover {
    opacity: 0.75; }
  @media screen and (min-width: 768px), print {
    .buttonA.-iconTel {
      gap: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .buttonA.-iconTel {
      gap: 2.4vw; } }
  .buttonA.-iconTel span {
    line-height: 1.2; }
  .buttonA.-iconTel i::before {
    content: "";
    display: block;
    background-image: url(img/icon_tel.svg);
    background-repeat: no-repeat;
    background-size: contain; }
    @media screen and (min-width: 768px), print {
      .buttonA.-iconTel i::before {
        width: 0.25rem;
        height: 0.34rem; } }
    @media screen and (max-width: 767px) {
      .buttonA.-iconTel i::before {
        width: 6.64vw;
        height: 9.09vw; } }
  @media screen and (min-width: 768px), print {
    .buttonA.-iconMeail {
      gap: 0.1rem; } }
  @media screen and (max-width: 767px) {
    .buttonA.-iconMeail {
      gap: 2.4vw; } }
  .buttonA.-iconMeail i::before {
    content: "";
    display: block;
    background-image: url(img/icon_meail.svg);
    background-repeat: no-repeat;
    background-size: contain; }
    @media screen and (min-width: 768px), print {
      .buttonA.-iconMeail i::before {
        width: 0.29rem;
        height: 0.2rem; } }
    @media screen and (max-width: 767px) {
      .buttonA.-iconMeail i::before {
        width: 7.73vw;
        height: 5.87vw; } }
  .buttonA span {
    font-weight: bold;
    line-height: 1.8;
    letter-spacing: 0.1em;
    color: var(--color-blue); }
    @media screen and (min-width: 768px), print {
      .buttonA span {
        font-size: 0.18rem; } }
    @media screen and (max-width: 767px) {
      .buttonA span {
        font-size: 3.73vw; } }
  .buttonA:has(.-tel) {
    display: flex; }
  @media screen and (min-width: 768px), print {
    .footer .buttonA {
      font-size: 0.2rem; } }
  .footer .buttonA span:has(.-tel) {
    display: flex;
    flex-direction: column;
    align-items: center; }
    @media screen and (min-width: 768px), print {
      .footer .buttonA span:has(.-tel) .-tel {
        font-size: 0.14rem; } }
    @media screen and (max-width: 767px) {
      .footer .buttonA span:has(.-tel) .-tel {
        font-size: 3.73vw; } }
/* message
========================================================================== */
.message {
  background-color: var(--color-yellow); }
  @media screen and (min-width: 768px), print {
    .message {
      padding: 0.8rem 0 1.05rem; } }
  @media screen and (max-width: 767px) {
    .message {
      padding: 13.55vw 0 12.8vw; } }
@media screen and (min-width: 768px), print {
  .message__inner {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (max-width: 767px) {
  .message__inner {
    padding-inline: 5.47vw; } }

.message__list {
  list-style: none;
  counter-reset: my-count; }
  @media screen and (min-width: 768px), print {
    * + .message__list {
      margin-top: 0.4rem; } }
.message__item {
  position: relative;
  line-height: 1.8;
  counter-increment: my-count; }
  @media screen and (min-width: 768px), print {
    .message__item {
      font-size: 0.14rem;
      padding-left: 0.15rem; } }
  .message__item:not(:last-of-type) {
    border-bottom: 1px solid var(--color-blue); }
    @media screen and (min-width: 768px), print {
      .message__item:not(:last-of-type) {
        padding-bottom: 0.457rem; } }
  .message__item::before {
    content: counter(my-count) ".";
    position: absolute;
    left: 0;
    top: 0; }
  @media screen and (min-width: 768px), print {
    .message__item + .message__item {
      margin-top: 0.215rem; } }
.message__listText {
  display: block;
  line-height: 1.8; }
  @media screen and (min-width: 768px), print {
    .message__listText {
      font-size: 0.14rem; } }
  @media screen and (min-width: 768px), print {
    .message__listText + .message__listText {
      margin-top: 0.05rem; } }
/* underline
========================================================================== */
.underline {
  text-decoration: underline; }

/* titleB
========================================================================== */
/* mv
========================================================================== */
@media screen and (min-width: 768px), print {
  .nextbus {
    padding: 0.8rem 0 1.05rem; } }

@media screen and (max-width: 767px) {
  .nextbus {
    padding: 13.55vw 0 12.8vw; } }

#overview {
  background: linear-gradient(180deg, #fff 15.38%, #e6f5fc 94.32%); }

#schedule {
  background-color: #F2FAFD; }

@media screen and (min-width: 768px), print {
  .nextbus__inner {
    max-width: 8.4rem;
    margin-left: auto;
    margin-right: auto; } }

@media screen and (max-width: 767px) {
  .nextbus__inner {
    padding-inline: 5.47vw; } }

.nextbus__inner .entry .button {
  margin: 0 auto; }

.nextbus__inner .blockBg {
  background-color: #fff; }

.scheduleList {
  list-style-type: none; }
  .scheduleList li {
    align-items: flex-start;
    position: relative; }
    .scheduleList li::before {
      content: "";
      position: absolute;
      display: inline-block;
      background: url(/nextbus-design-competition/common/css/img/icon_arr.svg) no-repeat center/contain;
      background-size: 100%;
      transform: none; }
      @media screen and (min-width: 768px), print {
        .scheduleList li::before {
          top: 0.5rem;
          left: 0.85rem;
          width: 0.3rem;
          height: 0.3rem; } }
      @media screen and (max-width: 767px) {
        .scheduleList li::before {
          left: 45%;
          bottom: -9.33vw;
          width: 8vw;
          height: 8vw; } }
    .scheduleList li:last-child::before {
      background: none; }
    @media screen and (min-width: 768px), print {
      .scheduleList li {
        display: flex;
        margin-bottom: 0rem; }
        .scheduleList li:first-child {
          margin-bottom: 0.4rem; } }
    .scheduleList li .-step {
      color: #0466c9;
      align-items: center;
      border: 1px solid #0466c9;
      line-height: 1;
      font-weight: 700; }
      @media screen and (min-width: 768px), print {
        .scheduleList li .-step {
          display: block;
          border-radius: 1rem;
          padding: 0.1rem 0rem;
          font-size: 0.21rem;
          text-align: center;
          min-width: 2rem; } }
      @media screen and (max-width: 767px) {
        .scheduleList li .-step {
          display: block;
          border-radius: 26.67vw;
          margin-bottom: 4.27vw;
          padding: 2.67vw 0vw;
          font-size: 4.27vw;
          text-align: center; } }
    @media screen and (min-width: 768px), print {
      .scheduleList li .-text {
        margin-left: 0.3rem;
        padding: 0.05rem 0;
        line-height: 1.43; } }
    @media screen and (max-width: 767px) {
      .scheduleList li .-text {
        line-height: 1.33; } }
    .scheduleList li .-text .-ttl {
      display: block;
      font-weight: 700; }
      @media screen and (min-width: 768px), print {
        .scheduleList li .-text .-ttl {
          font-size: 0.24rem; } }
      @media screen and (max-width: 767px) {
        .scheduleList li .-text .-ttl {
          font-size: 4.8vw;
          margin-bottom: 3.2vw; } }
    @media screen and (min-width: 768px), print {
      .scheduleList li .-text .-cap {
        font-size: 0.16rem; } }
    @media screen and (max-width: 767px) {
      .scheduleList li .-text .-cap {
        font-size: 4.27vw; } }
  @media screen and (min-width: 768px), print {
    .scheduleList li + li {
      margin-top: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .scheduleList li + li {
      margin-top: 10.67vw; } }
/* globalNavi
========================================================================== */
@media screen and (max-width: 767px) {
  .-menuOpen .globalNaviWrap {
    background-color: var(--color-blue);
    padding: 10.67vw;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 12.8vw;
    left: 0;
    z-index: 100;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 999; } }

@media screen and (max-width: 767px) {
  .globalNavi {
    display: none; } }

@media screen and (max-width: 767px) {
  .-menuOpen .globalNavi {
    display: block; } }

/* bnr
========================================================================== */
.bnr__wrap {
  position: fixed;
  z-index: 11; }
  @media screen and (min-width: 768px), print {
    .bnr__wrap {
      right: 0.4rem;
      top: calc(100vh - 3.3rem); } }
  @media screen and (max-width: 767px) {
    .bnr__wrap {
      bottom: 0;
      right: 0;
      width: 100%; } }
.bnr {
  display: flex;
  color: var(--color-white);
  font-weight: 400;
  transition: 0.21s opacity;
  background-color: var(--color-red); }
  @media screen and (min-width: 768px), print {
    .bnr {
      align-items: center;
      justify-content: center;
      flex-direction: column;
      width: 2rem;
      height: 2rem;
      border-radius: 100%; }
      .bnr:hover {
        opacity: 0.75; } }
  @media screen and (max-width: 767px) {
    .bnr {
      align-items: center;
      flex-direction: column;
      padding: 2.67vw 0;
      gap: 0.53vw; } }
@media screen and (min-width: 768px), print {
  .bnr__lead {
    font-size: 0.14rem; } }

@media screen and (max-width: 767px) {
  .bnr__lead {
    font-size: 3.73vw; } }

.bnr__text {
  text-align: center;
  line-height: 1.4; }
  @media screen and (min-width: 768px), print {
    .bnr__text {
      font-size: 0.24rem; } }
  @media screen and (max-width: 767px) {
    .bnr__text {
      font-size: 6.4vw; } }
  @media screen and (min-width: 768px), print {
    .bnr__text + * {
      margin-top: 0.05rem; } }
.bnr__info {
  background-color: var(--color-white);
  color: var(--color-red); }
  @media screen and (min-width: 768px), print {
    .bnr__info {
      min-height: 0.24rem;
      line-height: 1.3;
      padding: 0 0.16rem;
      font-size: 0.12rem;
      border-radius: 0.16rem; } }
  @media screen and (max-width: 767px) {
    .bnr__info {
      padding: 0 4.27vw;
      font-size: 3.2vw;
      border-radius: 6.4vw; } }
  .bnr__info .-day {
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-color: var(--color-red);
    border-radius: 100%; }
    @media screen and (min-width: 768px), print {
      .bnr__info .-day {
        margin: 0 0.04rem;
        top: -0.02rem;
        font-size: 0.1rem;
        width: 0.16rem;
        height: 0.16rem; } }
    @media screen and (max-width: 767px) {
      .bnr__info .-day {
        margin: 0 1.07vw;
        top: -0.53vw;
        width: 4.27vw;
        height: 4.27vw;
        font-size: 2.67vw; } }
  @media screen and (min-width: 768px), print {
    .bnr__info .-big {
      font-size: 0.2rem; } }
  @media screen and (max-width: 767px) {
    .bnr__info .-big {
      font-size: 5.33vw; } }
/* listAtt
========================================================================== */
@media screen and (min-width: 768px), print {
  .listAtt__item.-pr0 {
    padding-right: 0; } }
