/*
 Theme Name:   My Child Theme
 Theme URI:    https://example.com/my-child-theme
 Description:  Child theme of Twenty Twenty-Four.
 Author:       Your Name
 Author URI:   https://example.com
 Template:     twentytwentyfour
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  my-child-theme
*/

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

.container {
    max-width: 1100px !important;
    padding: 0 60px !important;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .container {
        padding: 0 16px !important;
    }
}

.font-cormorant {
    font-family: 'Cormorant', serif;
}

.hidden {
    display: none;
}

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.wpcf7 input[type="text"], 
.wpcf7 input[type="email"], 
.wpcf7 input[type="tel"], 
.wpcf7 textarea, 
.wpcf7 select {
    background-color: #ffffff !important;
    padding: 0 20px;
    border-radius: 8px;
}

.wpcf7 input[type="checkbox"] {
    background-color: #ffffff !important;
    border-radius: 4px;
}

.wpcf7 select {
    font-size: 15px !important;
}

.wpcf7 textarea {
    padding: 15px 20px;
}

.wpcf7 .wpcf7-list-item label {
    display: flex;
}

.custom-checkbox .wpcf7-checkbox {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)); /* 基本は1列 */
    gap: 6px 20px;
}
@media (min-width: 768px) {
    .custom-checkbox .wpcf7-checkbox {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.wpcf7-list-item {
    margin: 0 0 0 0 !important;
}

/* ===========================
  MV Search
=========================== */
.hlj-hero-search input[type="text"],
.hlj-hero-search input[type="email"],
.hlj-hero-search input[type="tel"],
.hlj-hero-search input[type="number"],
.hlj-hero-search input[type="password"],
.hlj-hero-search input[type="date"],
.hlj-hero-search select,
.hlj-hero-search textarea {
    padding: 0 0 4px 0!important;
    min-height: 0 !important;
    height: 20px !important;
    border: 0 !important;
    border-bottom: 1px solid #d1d5db !important; /* gray-300 */
    border-radius: 0 !important;
    box-shadow: none !important;
}
.hlj-hero-search input[type="text"]:focus,
.hlj-hero-search select:focus,
.hlj-hero-search textarea:focus {
    border-bottom-color: #0284c7 !important; /* sky-600 */
    outline: none !important;
}

/* ===========================
  slider
=========================== */
.carousel-nav-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    box-sizing: border-box;
    flex-shrink: 0;
    background: #1a1a1a;
    border: none;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
}

/* ===========================
  Booking Process
=========================== */
.num-decoration {
    font-family: Georgia, serif;
    font-style: italic;
    font-size: 2.75rem;
    color: #e8e0d8;
}
.icon-box {
    width: 28px;
    height: 28px;
    background: #f5f0ea;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tab-underline {
    height: 2px;
    background: #1a1a1a;
    margin-bottom: -1px;
}
