@charset "utf-8";

.pc-only {
    display: block
  }
  
  .sp-only {
    display: none
  }
  
    .wrap {
    max-width: 600px;
    width: 100%;
    background: #fff;
    margin: 0 auto;
    overflow: hidden;
}

@media screen and (max-width:768px) {
    .pc-only {
      display: none
    }
    .sp-only {
        display: block;
      }
    .wrap {
    max-width: 100%;
    width: 100%;
    background: #fff;
    margin: 0 auto;
    overflow: hidden;
    padding-top: 3.2rem;
}
  }

  body {
  font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  margin: 0;
  padding: 0;
  background: #fff;
  letter-spacing: 0.05rem;
}


img{
    width: 100%;
}

header {
    position: fixed;
    background: #FEFDF9;
    padding: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    z-index: 9000;
    top: 0;
}

img.header-logo {
    width: 3rem;
}

.menu-button {
  width: 35px;
  height: 35px;
  cursor: pointer;
  position: relative;
  z-index: 9000;
  background: #0DA8A7;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 0;
}

.menu-button span {
  background: #fff;
  height: 2px;
  width: 60%;
  display: block;
  transition: all 0.3s;
}

    .menu-content {
      position: fixed;
      top: 0;
      right: -100%;
      width: 75%;
      max-width: 280px;
      height: 100%;
      background: #FEFDF9;
      box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
      transition: right 0.3s;
      padding: 60px 20px 20px;
      z-index: 1000;
    }

    .menu-content.open {
      right: 0;
    }

    .menu-content ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .menu-content li {
      padding: 12px 0;
      font-size: 14px;
      border-bottom: 1px solid #ddd;
      color: #333;
    }

/* メニュー開閉時の変化 */
    .menu-button.open span:nth-child(1) {
      transform: translateY(7px) rotate(45deg);
    }

    .menu-button.open span:nth-child(2) {
      opacity: 0;
    }

    .menu-button.open span:nth-child(3) {
      transform: translateY(-7px) rotate(-45deg);
    }

.reserve-box {
    background: #F9F7E7;
    padding: 3rem 1rem;
    position: relative;
}
img.reserve-title {
    width: 50%;
    position: absolute;
    left: 25%;
    top: 6%;
}
.reserve-btn-box {
    background: #fff;
    border-radius: 20px;
    padding: 2rem 1rem 1rem;
    margin-top: 2rem;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.sub-text {
    color: #FD2601;
    font-weight: bold;
    margin-bottom: 0.5rem;
    font-size: 1rem;
    text-align: center;
    font-family: 'craftmincho';
}
.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 1rem;
    border-radius: 999px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    margin: 0 0 1rem;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.3);
    border: solid 2px;
}
.btn-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}

.btn-label-en {
    font-size: 0.7rem;
    font-weight: bold;
    opacity: 0.8;
    padding-bottom: 0.3rem;
    font-family: 'craftmincho';
}

.btn-label-ja {
  font-size: 1.2rem;
  font-weight: bold;
}
    .btn-orange {
      background: linear-gradient(90deg, #ff5722, #ff3d00);
    }
.btn-orange::before {
  content: "";
  display: inline-block;
  background: url(../img/calender.png) no-repeat center;
  background-size: contain;
  margin-right: 1rem;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
.btn-green::before {
  content: "";
  display: inline-block;
  background: url(../img/line.png) no-repeat center;
  background-size: contain;
  margin-right: 1rem;
  width: 20px;
  height: 20px;
  vertical-align: middle;
}

    .btn-green {
      background: linear-gradient(90deg, #00c300, #00b200);
    }

.mid-text {
    color: #009966;
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 0.5rem;
    text-align: center;
    font-family: 'craftmincho';
}
.reason-box {
    margin: 2rem auto;
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    
}
    .point {
        padding: 4rem 1rem 4rem;
    background: url(../img/point-back.png);
    background-size: cover;
    position: relative;
}
img.flower01 {
    width: 35%;
    right: 1rem;
    position: absolute;
    top: -2rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

img.flower01.show {
    opacity: 1;
    transform: translateY(0);
}
img.flower02 {
    width: 35%;
    left: 1rem;
    position: absolute;
    bottom: -2rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
img.flower02.show {
    opacity: 1;
    transform: translateY(0);
}
.label-top {
    width: 20%;
    display: block;
    margin: 0 auto;
    text-align: center;
}
    img.point-ttl {
    width: 70%;
    display: block;
    margin: 1rem auto 0;
}

    .reason-img img {
      width: 100%;
      display: block;
    }
.reason-title01,
.reason-title02,
.reason-title03,
.reason-title04 {
    background: #F9F7E7;
    font-weight: bold;
    color: #333;
    font-size: 1.5rem;
    padding: 0.8rem;
    text-align: center;
    margin: 1rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* .reason-title01::before {
  font-family: "Roboto";
    content: "1";
    display: inline-block;
    font-weight: bold;
    background: #2FB0D9;
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin-right: 8px;
    font-size: 1.2rem;
    flex-shrink: 0;
} */
.reason-title02::before {
  font-family: "Roboto";
    content: "1";
    display: inline-block;
    font-weight: bold;
    background: #2FB0D9;
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin-right: 8px;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.reason-title03::before {
  font-family: "Roboto";
    content: "2";
    display: inline-block;
    font-weight: bold;
    background: #2FB0D9;
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin-right: 8px;
    font-size: 1.2rem;
    flex-shrink: 0;
}
.reason-title04::before {
  font-family: "Roboto";
    content: "3";
    display: inline-block;
    font-weight: bold;
    background: #2FB0D9;
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    margin-right: 8px;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.reason-text {
    font-size: 0.9rem;
    text-align: left;
    line-height: 1.6;
    color: #333;
    border-top: solid 2px #2FB0D9;
    border-style: dotted;
    margin: 1rem;
    padding: 1rem 0;
}
.note {
    font-size: 11px;
    color: #666;
    text-align: right;
    padding-right: 1rem;
    margin-bottom: 1rem;
}
.policy {
    background: #F3FAFA;
    padding: 4rem 1rem 5rem;
}

.policy-box {
      background-color: white;
      border-radius: 16px;
      padding: 2rem 1rem;
      max-width: 360px;
      margin: auto;
      box-shadow: 0 10px 30px rgb(216 229 229);
    }

    .policy-section {
      text-align: center;
      margin-bottom: 3rem;
    }

.policy-title {
    font-weight: bold;
    color: #00264D;
    font-size: 1.8rem;
    position: relative;
    display: inline-block;
    padding-bottom: 0.5rem;
    font-family: 'craftmincho';
}
.policy-title::after {
    content: "";
    display: block;
    height: 2px;
    width: 40px;
    background-color: #ccc;
    margin: 1rem auto 0;
}

    .policy-image {
      margin-top: 1.5rem;
      font-size: 0.85rem;
      color: #999;
    }
    .price {
    background: url(../img/price-back.png);
    background-size: cover;
    padding: 3rem 1rem 2rem;
    position: relative;
}
img.shisa-left {
width: 30%;
    position: absolute;
    left: 1rem;
    top: -3rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
img.shisa-right {
width: 30%;
    position: absolute;
    right: 1rem;
    top: -3rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
img.shisa-left.show {
    opacity: 1;
    transform: translateY(0);
}
img.shisa-right.show {
    opacity: 1;
    transform: translateY(0);
}
img.price-ttl {
    width: 70%;
    display: block;
    margin: 1rem auto 0;
}
.car-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 1rem;
    margin: 2rem auto 0;
    background: #F3FAFA;
    padding: 2rem 1rem;
}

    .car-card {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .car-card img {
      width: 100%;
      max-width: 140px;
      height: auto;
    }

.car-name {
    font-weight: bold;
    font-size: 1rem;
    margin-top: 0.5rem;
    border-bottom: solid 2px #E5E5E5;
    margin-bottom: 0.8rem;
    padding-bottom: 0.8em;
}

.car-price {
    color: #444;
    font-size: 0.8rem;
    margin-top: 0.3rem;
    line-height: 1.5;
    text-align: center;
    font-family: sans-serif;
}
    .flow {
    background: url(../img/flow-back.png);
    background-size: cover;
    padding: 2rem 1rem 0;
}
.reserve-box02 {
    background: url(../img/flow-back.png);
    background-size: cover;
    padding: 3rem 1rem;
    position: relative;
}
    img.flow-figure {
    padding: 1.5rem 0;
    width: 90%;
    display: block;
    margin: 0 auto;
}
.voice {
    background: url(../img/voice-back.png);
    background-size: cover;
    padding: 3rem 1rem;
    }
.faq {
    padding: 3rem 1rem;
    }

    .faq-item {
      border-bottom: 1px solid #ddd;
      text-align: left;
      cursor: pointer;
      padding: 1.3rem;
      transition: background 0.2s;
    }

    .faq-item:hover {
      background-color: #f2f8ff;
    }

    .faq-question {
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-size: 16px;
      font-weight: bold;
    }

    .faq-question span {
      display: flex;
      align-items: center;
      gap: 8px;
      line-height: 1.5;
    }

    .faq-question .icon-q {
      color: #005BBB;
      font-weight: bold;
    }

    .faq-answer {
      display: none;
      padding: 10px 0 0 24px;
      font-size: 14px;
      color: #444;
    }

    .faq-item.open .faq-answer {
      display: block;
    }

    .arrow {
      transition: transform 0.3s ease;
    }

    .faq-item.open .arrow {
      transform: rotate(180deg);
    }
    .faq-item-box {
    padding: 2rem 0;
}
.access-section {
  max-width: 400px;
  margin: 0 auto;
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
}

.access-title {
  background: url('img/bg-pattern.png') no-repeat center top;
  background-size: cover;
  padding: 40px 20px 20px;
  text-align: center;
}

.access-title h2 {
  background: #005bcb;
  color: #fff;
  display: inline-block;
  padding: 5px 15px;
  font-size: 18px;
  border-radius: 4px;
  margin-top: 10px;
}
.access-info {
    padding:1rem 1rem 2rem;
    line-height: 1.6;
}
.access-info h3 {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-align: center;
}
.access-image img {
    width: 100%;
    display: block;
    border-radius: 20px;
    margin: 0 auto 1rem;
}

iframe {
    border-radius: 20px;

}
.access {
    background: url(../img/access-back.png);
    background-size: cover;
    padding: 2rem 1rem;
}
p.access-txt {
    padding-bottom: 0.3rem;
    font-size: 0.9rem;
}
iframe {
    width: 100%;
}
h3 {
    margin-top: 2rem;
    padding-left: 0.5rem;
    color: #222;
    font-size: 1.2rem;
    text-align: left;
    font-weight: bold;
}

    .table-container {
      overflow-x: auto;
      background: #fff;
      box-shadow: 0 2px 5px rgba(0,0,0,0.05);
      margin-top: 1.5rem;
    }

    table {
      width: 100%;
      min-width: 405px;
      border-collapse: collapse;
    }

    th, td {
      border: 1px solid #ddd;
      padding: 0.8rem;
      text-align: center;
      font-size: 1rem;
      color: #6a6a6a;
    }

    th {
      background-color: #189ECC;
      font-weight: bold;
      color: #fff;
    }

    .timeline {
      background: #fff;
      padding: 1rem;
      border: 1px solid #ccc;
      margin-top: 1rem;
      font-size: 1rem;
    }

    .timeline ul {
      padding-left: 1.2rem;
      margin: 0;
    }

    .timeline li {
      margin: 0.5rem 0;
      list-style: none;
      padding-left: 1rem;
      position: relative;
    }

    .timeline li::before {
      content: "•";
      position: absolute;
      left: 0;
      color: #555;
    }

p.point-text {
    padding-top: 1rem;
    line-height: 1.8;
    text-align: center;
    color: #333;
}
.footer {
    background: #189ecc;
    padding: 2rem;
    text-align: center;
    list-style: none;
    color: #fff;
}
li {
    padding: 1rem 0 0;
}
p.copylight {
    padding-top: 3rem;
    font-size: 0.8rem;
}

        .directions {
            background: url(../img/directions-back.jpeg);
            padding: 40px 20px;
            background-size: cover;
            background-position: center;
            position: relative;
        }

 .directions-box {
            max-width: 800px;
            margin: 0 auto;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 20px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            overflow: hidden;
            backdrop-filter: blur(10px);
        }

        .header {
            background: linear-gradient(45deg, #0DA8A7, #00cec9);
            color: white;
            padding: 30px 20px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .header::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="20" cy="20" r="2" fill="rgba(255,255,255,0.1)"/><circle cx="80" cy="40" r="3" fill="rgba(255,255,255,0.1)"/><circle cx="40" cy="80" r="1" fill="rgba(255,255,255,0.1)"/></svg>');
            animation: float 20s infinite linear;
        }

        @keyframes float {
            0% { transform: translate(0, 0) rotate(0deg); }
            100% { transform: translate(-50px, -50px) rotate(360deg); }
        }

.header h2 {
    font-size: 1.7rem;
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
    font-weight: bold;
    font-family: 'craftmincho';
    line-height: 1.3;
}

.header p {
    opacity: 0.9;
    position: relative;
    z-index: 1;
    line-height: 1.8;
    text-align: center;
}

        .content {
            padding: 20px;
        }

        .intro {
            text-align: center;
            margin-bottom: 30px;
            padding: 20px;
            background: linear-gradient(45deg, #74b9ff, #0984e3);
            color: white;
            border-radius: 15px;
            box-shadow: 0 8px 20px rgba(116, 185, 255, 0.3);
        }

        .accordion {
            margin-bottom: 15px;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease;
        }

        .accordion:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .accordion-header {
            color: #333;
            padding: 20px 25px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: bold;
            font-size: 1rem;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .accordion-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
            transition: left 0.5s;
        }

        .accordion-header:hover::before {
            left: 100%;
        }

        .accordion-icon {
            font-size: 0.6rem;
            transition: transform 0.3s ease;
        }

        .accordion.active .accordion-icon {
            transform: rotate(180deg);
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease;
            background: white;
        }

        .accordion.active .accordion-content {
            max-height: 800px;
        }

        .accordion-body {
            padding: 20px;
            line-height: 1.8;
            font-size: 0.8rem;
        }

.price-highlight {
    background: linear-gradient(45deg, #0DA8A7, #00cec9);
    color: white;
    padding: 10px 15px;
    border-radius: 25px;
    font-weight: bold;
    display: inline-block;
    margin: 10px 0;
}

        .time-info {
            background: rgba(116, 185, 255, 0.1);
            padding: 15px;
            margin: 15px 0;
            border-left: 4px solid #74b9ff;
        }

        .bus-stops {
            background: rgba(253, 203, 110, 0.1);
            padding: 15px;
            margin: 15px 0;
            border-left: 4px solid #fdcb6e;
        }

        .warning {
            background: rgba(255, 107, 107, 0.1);
            padding: 15px;
            margin: 15px 0;
            border-left: 4px solid #ff6b6b;
        }

        .highlight {
            color: #e17055;
            font-weight: bold;
        }

.link-button {
    display: inline-block;
    background: linear-gradient(45deg, #0984e3,#74b9ff);
    color: white;
    padding: 12px 20px;
    border-radius: 25px;
    text-decoration: none;
    margin: 10px 0;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(116, 185, 255, 0.3);
    line-height: 1.3;
    font-weight: bold;
}

        .link-button:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(116, 185, 255, 0.4);
        }

img.tree {
    width: 27%;
    position: absolute;
    top: 1rem;
    right: 0rem;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    z-index: 100;
}
img.tree.show {
    opacity: 1;
    transform: translateY(0);
}
.google-logo {
            width: 24px;
            height: 24px;
            background: #4285f4;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: bold;
            font-size: 14px;
        }

        .section-title {
            font-size: 24px;
            color: #202124;
            font-weight: 400;
            margin: 0;
        }

        .overall-rating {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin-top: 15px;
        }

        .rating-score {
            font-size: 48px;
            font-weight: 300;
            color: #202124;
        }

        .stars-large {
            display: flex;
            gap: 2px;
        }

        .star-large {
            width: 20px;
            height: 20px;
            color: #fbbc04;
        }

        .review-count {
            color: #5f6368;
            font-size: 14px;
            margin-top: 5px;
        }

        .voice-list {
            padding: 30px 20px;
        }

        .voice-item {
            background: white;
            border: 1px solid #e8eaed;
            border-radius: 8px;
            padding: 20px;
            margin-bottom: 16px;
            transition: all 0.2s ease;
            position: relative;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.10);
        }

        .voice-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 12px;
        }

        .voice-img, .voice-img02 {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: linear-gradient(135deg, #4285f4, #34a853);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 500;
            font-size: 16px;
            flex-shrink: 0;
        }

        .user-info {
            flex: 1;
        }

        .user-name {
            font-size: 14px;
            font-weight: 500;
            color: #202124;
            margin-bottom: 2px;
        }

        .review-date {
            font-size: 12px;
            color: #5f6368;
        }

        .stars {
            display: flex;
            gap: 1px;
            margin: 8px 0;
        }

        .star {
            width: 16px;
            height: 16px;
            color: #fbbc04;
        }

        .voice-text, .voice-text02 {
            line-height: 1.6;
            color: #202124;
        }

        .voice-text p, .voice-text02 p {
            font-size: 14px;
            margin-top: 8px;
        }

        .helpful-section {
            margin-top: 16px;
            padding-top: 16px;
            border-top: 1px solid #e8eaed;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .helpful-button {
            background: none;
            border: 1px solid #dadce0;
            border-radius: 4px;
            padding: 6px 12px;
            font-size: 12px;
            color: #5f6368;
            cursor: pointer;
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .helpful-button:hover {
            background: #f8f9fa;
            border-color: #5f6368;
        }

        .more-reviews {
            text-align: center;
            padding: 30px 20px;
            border-top: 1px solid #e8eaed;
        }

        .more-reviews-btn {
            background: #4285f4;
            color: white;
            border: none;
            padding: 12px 24px;
            border-radius: 6px;
            font-size: 14px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.2s ease;
            text-decoration: none;
            display: inline-block;
        }

        .more-reviews-btn:hover {
            background: #3367d6;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        }
        .voice-list {
              padding: 3rem 1rem 0;
            }
 .car-price .more {
    display: none;
    margin-top: 5px;
  }

  .toggle-btn {
    background: none;
    border: none;
    color: #007BFF;
    cursor: pointer;
    padding: 0;
    margin-top: 5px;
    font-size: 0.8rem;
  }

@media screen and (min-width:769px) {
img.reserve-title {
    width: 20%;
    left: 40%;
}
    .reserve-btn-box {
        padding: 5rem 1rem 2rem;
        margin: 2rem auto 0;
        width: 80%;
        display: flex;
        justify-content: center;
        gap: 2rem;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
    }
.sub-text {
    margin-bottom: 1rem;
    font-size: 1.5rem;
}
.btn {
    width: 100%;
    font-size: 1.5rem;
    margin: 0 auto 1.5rem;
}
.btn-orange::before {
    width: 25px;
    height: 25px;
}
.mid-text {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}
.btn-item {
    width: 35%;
}
.btn-green::before {
    width: 25px;
    height: 25px;
}
.point {
    padding: 5rem 5rem 11rem;
}
.label-top {
    width: 10%;
}
img.point-ttl {
    width: 30%;
    margin: 2rem auto 0;
}
.reason-box {
    margin: 5rem auto 0;
    border-radius: 30px;
    width: 30%;
}
.reason-area {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
.policy-box {
    background-color: white;
    border-radius: 20px;
    padding: 3rem 5rem;
    margin: 3rem 14rem;
    max-width: 100%;
}
.policy-title {
    font-size: 2.3rem;
}
.price {
    padding: 5rem;
}
.car-grid {
    margin: 3rem auto 0;
    padding: 5rem;
    width: 85%;
}
.car-card img {
    width: 60%;
    max-width: none;
}
.car-name {
    font-size: 1.3rem;
}
.car-price {
    color: #444;
    font-size: 1.1rem;
    margin-top: 0.3rem;
}
.flow {
    padding: 5rem 0 1rem;
}
img.flow-figure {
    padding: 3rem 0 0;
    width: 50%;
}
.voice {
    padding: 5rem;
}

.faq {
    padding: 5rem;
}
.faq-item-box {
    padding: 2rem 10rem;
}
.access {
    padding: 5rem;
}
.access-info h3 {
    font-size: 1.6rem;
    margin-bottom: 2rem;
}
    .access-info {
        padding: 3rem 0;
        line-height: 1.6;
        width: 40%;
        margin: 0 auto;
    }
p.access-txt {
    padding-bottom: 1rem;
    font-size: 1.1rem;
}
.access-image {
    width: 60%;
    display: block;
    margin: 0 auto;
}
iframe {
    width: 60%;
    display: block;
    margin: 0 auto;
}
.faq-question {
    font-size: 18px;
}
.faq-answer {
    padding: 20px 0 0 30px;
    font-size: 16px;
}
th, td {
        padding: 0.6rem;
        font-size: 0.9rem;
      }

      h3 {
        font-size: 1.2rem;
      }

      .timeline {
        font-size: 0.95rem;
      }
      img.flower01 {
    width: 17%;
    right: 8rem;
    position: absolute;
    top: -2rem;
}
img.flower02 {
    width: 20%;
    left: 7rem;
    position: absolute;
    bottom: -3rem;
}
img.shisa-left {
    width: 18%;
    position: absolute;
    left: 8rem;
    top: -5rem;
}
img.shisa-right {
    width: 18%;
    position: absolute;
    right: 8rem;
    top: -5rem;
}
            .header h2 {
                font-size: 1.8rem;
            }
            
            .content {
                padding: 20px;
            }
            
            .accordion-header {
                padding: 15px 20px;
                font-size: 1rem;
            }
            
            .accordion-body {
                padding: 20px;
            }
            .directions {
    background: url(../img/directions-back.jpeg);
    padding: 70px 0;
    background-size: cover;
    background-position: center;
}
img.tree {
    width: 20%;
    right: 4rem;
  }

.voice-list {
    padding: 3rem 0 0;
    display: flex;
    gap: 2%;
}
.voice-item {
    width: 35%;
}
}