﻿*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}img{max-width:100%;height:auto;vertical-align:top}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{background:none;border:none;cursor:pointer}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin:0 0 1rem 0;color:#333}h1{font-size:2.5rem;color:#2c3e50;line-height:1.2}@media screen and (max-width: 719px){h1{font-size:1.6rem}}h2{font-size:1.6rem;color:#2c3e50;margin-bottom:1.5rem;border-bottom:2px solid #3498db;padding-bottom:0.5rem}@media screen and (max-width: 719px){h2{font-size:1.25rem}}h3{font-size:1.25rem}@media screen and (max-width: 719px){h3{font-size:18px}}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}p{margin:0 0 1rem 0;line-height:1.6}a{color:inherit;text-decoration:none;transition:all .3s ease}a:focus{outline:2px solid #007bff;outline-offset:2px}strong,b{font-weight:600}em,i{font-style:italic}small{font-size:14px;color:#666}code{font-family:'Courier New', monospace;background-color:#f3f4f6;padding:2px 4px;border-radius:2px;font-size:0.9em}blockquote{border-left:4px solid #007bff;padding-left:1rem;margin:1rem 0;font-style:italic;color:#666}html{font-size:16px;scroll-behavior:smooth}body{font-family:"Arial",sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#f5f5f5}main{box-shadow:0 0 10px 0 rgba(0,0,0,0.1);border-radius:8px;background-color:#fff}@media screen and (max-width: 719px){main{max-width:100%;padding:1rem}}@media screen and (min-width: 720px){main{max-width:720px;margin:2rem auto;padding:2rem}}.btn{background:#2563eb;color:#fff;border:2px solid #2563eb;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,0.3)}.btn-primary{background:#2563eb;color:#fff;border:2px solid #2563eb;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,0.3)}.btn-secondary{background:#6b7280;color:#fff;border:2px solid #6b7280;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(107,114,128,0.3)}.btn-cancel{background:#6b7280;color:#fff;border:2px solid #6b7280;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-cancel:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(107,114,128,0.3)}.btn-outline{background:#fff;color:#374151;border:2px solid #d1d5db;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-outline:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,255,255,0.3)}.footer{padding:1rem}.footer .footer-text{text-align:center}.header{background-color:#fff;padding:.5rem 1rem;box-shadow:0 2px 4px rgba(0,0,0,0.1);position:relative;display:flex;align-items:center;justify-content:space-between;height:60px}.header .brand{display:flex;align-items:center;justify-content:center}.header .brand .brand-text{text-decoration:none;color:#333;font-size:1.5rem;font-weight:bold}.header .account-info{margin-left:auto;margin-right:1rem}.star-rating{display:inline-flex;flex-direction:row-reverse;gap:6px;align-items:center;color:gray}.star-rating input[type="radio"]{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;border:0;pointer-events:none}.star-rating label::before{content:'\f005';font-family:'Font Awesome 6 Free';font-weight:900}.star-rating label:hover,.star-rating label:hover~label{color:#f59e0b}.star-rating input[type="radio"]:checked~label{color:#f59e0b}.nav-desktop{list-style:none;margin:0;padding:0;display:none;gap:2rem;flex-grow:1;justify-content:flex-start;margin-left:2rem}@media screen and (min-width: 720px){.nav-desktop{display:flex}}.nav-desktop .nav-item a{text-decoration:none;color:#333;font-weight:500;padding:1rem;display:block;transition:all .3s ease;font-size:0.9rem;border-radius:2px}.nav-desktop .nav-item a:hover{color:#007bff;background-color:rgba(0,123,255,0.1)}.nav-desktop .nav-item a.active{color:#007bff;background-color:rgba(0,123,255,0.15);font-weight:600}.nav-mobile{display:block}@media screen and (min-width: 720px){.nav-mobile{display:none}}.nav-mobile .nav-mobile-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:1000}.nav-mobile .nav-mobile-modal.active{display:block}.nav-mobile .nav-mobile-modal .nav-mobile-items{background-color:#fff;list-style-type:none;padding:1rem;margin:1rem;position:absolute;top:10rem;left:0;right:0;transform:translateY(-100%);box-shadow:0 4px 12px rgba(0,0,0,0.2);border-radius:0 0 5px 5px;transition:transform .3s ease-out}.nav-mobile .nav-mobile-modal .nav-mobile-items.active{transform:translateY(0)}.nav-mobile .nav-mobile-modal .nav-mobile-items .nav-item{margin-bottom:.5rem}.nav-mobile .nav-mobile-modal .nav-mobile-items .nav-item:last-child{margin-bottom:0}.nav-mobile .nav-mobile-modal .nav-mobile-items .nav-item a{display:block;padding:1rem;color:#333;text-decoration:none;font-weight:500;border-radius:2px;transition:all .3s ease}.nav-mobile .nav-mobile-modal .nav-mobile-items .nav-item a:hover{background-color:rgba(0,123,255,0.1);color:#007bff}.nav-mobile .nav-mobile-modal .nav-mobile-items .nav-item a.active{background-color:rgba(0,123,255,0.15);color:#007bff;font-weight:600}.success-message-container{background:linear-gradient(135deg, #10b981 0%, #059669 100%);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:0 2px 4px rgba(16,185,129,0.2);position:relative}.error-message-container{background:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:0 2px 4px rgba(239,68,68,0.2);position:relative}.warning-message-container{background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:0 2px 4px rgba(245,158,11,0.2);position:relative}.info-message-container{background:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);border-radius:8px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;gap:12px;color:#fff;box-shadow:0 2px 4px rgba(59,130,246,0.2);position:relative}.message-icon{width:24px;height:24px;background:rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.message-content{flex:1}.message-title{font-weight:600;font-size:16px;margin-bottom:2px}.close-btn{background:none;border:none;color:rgba(255,255,255,0.8);cursor:pointer;padding:4px;border-radius:4px;transition:all .3s ease;flex-shrink:0}.close-btn:hover{background:rgba(255,255,255,0.1);color:#fff}@keyframes slideUp{from{opacity:1;transform:translateY(0);max-height:100px}to{opacity:0;transform:translateY(-10px);max-height:0;margin-bottom:0;padding-top:0;padding-bottom:0}}.hide-message{animation:slideUp 0.3s ease-out forwards}.pagination{display:flex;justify-content:center;align-items:center;margin:2rem 0;gap:0.5rem;flex-wrap:wrap}.pagination-item{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:4px;background-color:#fff;color:#333;text-decoration:none;font-weight:500;box-shadow:0 2px 5px rgba(0,0,0,0.1);transition:all .3s ease;border:1px solid #e9ecef}@media screen and (max-width: 719px){.pagination-item{min-width:36px;height:36px;padding:0 8px;font-size:14px}}.pagination-item:hover{box-shadow:0 4px 8px rgba(0,0,0,0.2);transform:translateY(-1px);border-color:#007bff}.pagination-item.active{background-color:#3498db;color:#fff;border-color:#3498db;box-shadow:0 4px 8px rgba(52,152,219,0.3)}.pagination-item.disabled{opacity:0.5;cursor:not-allowed;pointer-events:none}.pagination-item.disabled:hover{transform:none;box-shadow:0 2px 5px rgba(0,0,0,0.1)}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;color:#7f8c8d}@media screen and (max-width: 719px){.pagination-ellipsis{min-width:36px;height:36px;font-size:14px}}.review-rating-stars{font-size:16px;color:#ffd700}.review-card{border:1px solid #ddd;border-radius:8px;padding:20px;margin-bottom:20px;background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:all .3s ease}@media screen and (max-width: 719px){.review-card{padding:1rem;margin-bottom:1rem}}.review-card:hover{box-shadow:0 4px 12px rgba(0,0,0,0.2)}.review-card .review-header{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem}.review-card .review-header h3{margin:0;color:#2c3e50}.review-card .review-header .reviewer-info{align-items:center;display:flex;margin-bottom:1rem;width:80%}.review-card .review-header .reviewer-info .reviewer-image{width:40px;height:40px;border-radius:50%;background-color:#3498db;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;flex-shrink:0;margin-right:1rem}.review-card .review-header .reviewer-info .reviewer-info-text{display:flex;flex-direction:column;margin-left:8px}.review-card .review-header .reviewer-info .reviewer-name{font-weight:500;font-size:18px;margin:0 0 2px 0}@media screen and (max-width: 719px){.review-card .review-header .reviewer-info .reviewer-name{font-size:16px}}.review-card .review-header .reviewer-info .review-date{font-size:14px;color:gray;margin:0}.review-card .review-header .reviewer-info .visit-year-and-month{font-size:14px;color:gray;margin:2px 0 0 0}.review-card .review-header .my-review-actions{align-items:center;align-self:flex-start;display:flex;gap:1rem;width:20%}.review-card .review-header .my-review-actions .btn-edit{background-color:#3498db;border:1px solid #3498db;border-radius:4px;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;height:auto;width:100%;padding:6px 12px;line-height:1;white-space:nowrap;text-align:center;transition:all .3s ease}.review-card .review-header .my-review-actions .btn-edit:hover{background-color:#2c3e50;color:#fff}.review-card .review-ratings{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.review-card .review-ratings .review-rating-item{text-align:center;display:flex;flex-direction:row;gap:4px}.review-card .review-ratings .review-rating-label{font-size:14px;text-align:left;width:6rem}.review-card .review-comment{font-size:14px;line-height:1.6;color:#555;margin:0}@media screen and (max-width: 719px){.review-card .review-comment{font-size:14px}}.review-card .review-photos{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;margin:1rem 0;padding:1rem 0;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.review-card .review-photos::-webkit-scrollbar{height:6px}.review-card .review-photos::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.review-card .review-photos::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.review-card .review-photos::-webkit-scrollbar-thumb:hover{background:#555}.review-card .review-photos .review-thumbnail-wrapper{position:relative;width:100px;height:100px;flex-shrink:0}.review-card .review-photos .review-thumbnail{width:100%;height:100%;object-fit:cover;border-radius:8px;cursor:pointer;transition:all .3s ease}.review-card .review-photos .review-thumbnail:hover{opacity:0.8}.review-card .review-photos .review-thumbnail.review-thumbnail-disabled{cursor:not-allowed;opacity:0.7}.review-card .review-photos .review-thumbnail.review-thumbnail-disabled:hover{opacity:0.7}.review-card .review-photos .review-processing-badge{position:absolute;top:6px;left:6px;background:rgba(0,0,0,0.7);color:#fff;font-size:10px;padding:3px 6px;border-radius:999px;line-height:1;pointer-events:none}.review-card .review-additional-info{margin-top:1rem}.review-card .review-additional-info th{text-align:left;font-weight:500;color:#666}.review-image-modal{display:none;position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.9);justify-content:center;align-items:center;cursor:pointer;animation:fadeIn 0.3s ease-in-out}.review-image-modal-content{max-width:90%;max-height:90%;object-fit:contain;border-radius:4px;cursor:default;animation:zoomIn 0.3s ease-in-out}.review-image-modal-close{position:absolute;top:20px;right:35px;color:#f1f1f1;font-size:40px;font-weight:bold;cursor:pointer;z-index:10000;line-height:1;transition:all .3s ease}.review-image-modal-close:hover,.review-image-modal-close:focus{color:#fff;text-decoration:none;transform:scale(1.1)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes zoomIn{from{transform:scale(0.8);opacity:0}to{transform:scale(1);opacity:1}}@media screen and (max-width: 719px){.review-image-modal-close{top:10px;right:15px;font-size:30px}.review-image-modal-content{max-width:95%;max-height:95%}}.waterfall-card{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:1rem;overflow:hidden;text-decoration:none;color:inherit;display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);grid-template-rows:auto 1fr;grid-template-areas:"name name" "image info";height:auto;padding:0.5rem;transition:all .3s ease}@media screen and (max-width: 719px){.waterfall-card{aspect-ratio:1.75 / 1}}@media screen and (min-width: 720px){.waterfall-card{aspect-ratio:auto;grid-template-columns:30% minmax(0, 1fr) minmax(0, 1fr);grid-template-rows:1fr;grid-template-areas:"image name info"}}.waterfall-card .waterfall-name-location-container{grid-area:name}@media screen and (min-width: 720px){.waterfall-card .waterfall-name-location-container{padding:0 0 0 0.5rem}}.waterfall-card .waterfall-name-location-container .waterfall-name{font-size:18px;font-weight:600;margin:0 0 2px 0}.waterfall-card .waterfall-name-location-container .waterfall-location{font-size:12px;margin:0}.waterfall-card .waterfall-name-location-container .waterfall-height-width-container{display:flex;gap:2px}@media screen and (min-width: 720px){.waterfall-card .waterfall-name-location-container .waterfall-height-width-container{margin-top:0.5rem}}@media screen and (max-width: 719px){.waterfall-card .waterfall-name-location-container .waterfall-height-width-container{flex-direction:row}}@media screen and (min-width: 720px){.waterfall-card .waterfall-name-location-container .waterfall-height-width-container{flex-direction:column}}.waterfall-card .waterfall-name-location-container .waterfall-height-width-container .waterfall-height{font-size:14px;margin:0 8px 2px 0}.waterfall-card .waterfall-name-location-container .waterfall-height-width-container .waterfall-width{font-size:14px;margin:0 0 2px 0}.waterfall-card .list-waterfall-image-container{aspect-ratio:3 / 2;grid-area:image;display:flex;align-items:stretch;justify-content:center;width:100%;height:100%;overflow:hidden;position:relative}.waterfall-card .list-waterfall-image-container .waterfall-image-img{position:relative;width:100%;height:100%;box-sizing:border-box;object-fit:cover;object-position:center}.waterfall-card .waterfall-info-review-container{grid-area:info;display:flex;justify-content:space-between;position:relative;width:100%;min-width:0}@media screen and (max-width: 719px){.waterfall-card .waterfall-info-review-container{flex-direction:column}}@media screen and (min-width: 720px){.waterfall-card .waterfall-info-review-container{flex-direction:row}}@media screen and (max-width: 719px){.waterfall-card .waterfall-info-review-container .waterfall-info{padding:0 0 0 0.5rem;width:100%}}@media screen and (min-width: 720px){.waterfall-card .waterfall-info-review-container .waterfall-info{padding:0.5rem;width:100%}}.waterfall-card .review-section{height:100%;padding:0 0 0 8px}@media screen and (min-width: 720px){.waterfall-card .review-section{padding:0.5rem;width:100%}}.waterfall-card .review-section .rating-score-container{align-items:center;display:flex;gap:.5rem}@media screen and (max-width: 719px){.waterfall-card .review-section .rating-score-container{height:35%;margin:0 0 4px 0}}.waterfall-card .review-section .rating-score-container .rating-small-score{font-size:1.6rem;font-weight:700;color:#007bff}.waterfall-card .review-section .rating-score-container .rating-stars{font-size:14px}.waterfall-card .review-section .list-rating-details{display:flex;flex-direction:column}@media screen and (max-width: 719px){.waterfall-card .review-section .list-rating-details{gap:0.1rem;height:65%}}@media screen and (min-width: 720px){.waterfall-card .review-section .list-rating-details{gap:0.5rem;margin-top:0.5rem}}.waterfall-card .review-section .list-rating-details .rating-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.waterfall-card .review-section .list-rating-details .rating-item .rating-label{font-size:12px;width:40%}.waterfall-card .review-section .list-rating-details .rating-item .rating-bar-container{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.waterfall-card .review-section .list-rating-details .rating-item .rating-bar-container .rating-progress{border-radius:2px;border:none;background:#d1d5db;height:4px}.waterfall-card .review-section .list-rating-details .rating-item .rating-bar-container .rating-progress::-webkit-progress-bar{background:#d1d5db;border-radius:2px}.waterfall-card .review-section .list-rating-details .rating-item .rating-bar-container .rating-progress::-webkit-progress-value{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);border-radius:2px}.waterfall-card .review-section .list-rating-details .rating-item .rating-bar-container .rating-value{font-size:12px;color:#333;min-width:20px}.waterfall-card .review-section .no-review-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;position:relative;text-align:center}.waterfall-card .review-section .no-review-container .no-review-stars{font-size:16px;color:#d1d5db}.waterfall-card .review-section .no-review-container .no-review-message{font-size:12px;color:#6b7280}.waterfall-detail{padding:1rem 0}@media screen and (min-width: 720px){.waterfall-detail .waterfall-header{display:flex;align-items:baseline}}.waterfall-detail .waterfall-header .location{color:#666;font-size:16px}@media screen and (min-width: 720px){.waterfall-detail .waterfall-header .location{font-size:18px;margin-left:1rem}}.waterfall-detail .waterfall-ratings{display:flex;flex-direction:row;gap:1rem;margin-bottom:1rem}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings{height:7rem;width:100%}}.waterfall-detail .waterfall-ratings .rating-summary{display:flex;flex-direction:column}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings .rating-summary{height:100%;width:30%}}@media screen and (max-width: 719px){.waterfall-detail .waterfall-ratings .rating-summary{width:40%}}.waterfall-detail .waterfall-ratings .rating-summary .rating-score-container{display:flex;flex-direction:column;height:100%}.waterfall-detail .waterfall-ratings .rating-summary .rating-score-container .rating-big-score{font-weight:bold;color:#007bff;text-align:center;vertical-align:-10px}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings .rating-summary .rating-score-container .rating-big-score{font-size:3.5rem}}@media screen and (max-width: 719px){.waterfall-detail .waterfall-ratings .rating-summary .rating-score-container .rating-big-score{font-size:4rem}}.waterfall-detail .waterfall-ratings .rating-summary .rating-score-container .rating-stars{color:gold;font-size:18px;text-align:center}.waterfall-detail .waterfall-ratings .rating-details{display:flex;flex-direction:column}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings .rating-details{display:flex;flex-flow:column;justify-content:space-around;padding-top:8px}}.waterfall-detail .waterfall-ratings .rating-details .rating-item{display:flex}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings .rating-details .rating-item{flex-direction:row}}@media screen and (max-width: 719px){.waterfall-detail .waterfall-ratings .rating-details .rating-item{flex-direction:column}}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-label{font-size:16px;width:160px}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container{align-items:center;display:flex;gap:.5rem}@media screen and (max-width: 719px){.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container{width:100%}}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-progress{border-radius:3px;border:none;background:#d1d5db;height:8px}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-progress::-webkit-progress-bar{background:#d1d5db;border-radius:3px}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-progress::-webkit-progress-value{background:linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);border-radius:3px}.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-value{text-align:right}@media screen and (max-width: 719px){.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-value{font-size:14px}}@media screen and (min-width: 720px){.waterfall-detail .waterfall-ratings .rating-details .rating-item .rating-bar-container .rating-value{font-size:16px}}.waterfall-detail .no-combined-rating{display:flex;flex-direction:column;align-items:center;height:120px;margin-bottom:1rem}.waterfall-detail .no-combined-rating .no-combined-rating-star{text-align:center;font-size:48px;color:#555}.waterfall-detail .no-combined-rating .no-combined-rating-text{font-size:14px;color:#666}.waterfall-detail .detail-waterfall-image-container{width:100%;margin:0 auto 2rem auto;text-align:center;box-sizing:border-box;position:relative;overflow:hidden;filter:none;aspect-ratio:16 / 9;height:auto;box-shadow:0 4px 12px rgba(0,0,0,0.1)}@media screen and (max-width: 719px){.waterfall-detail .detail-waterfall-image-container{margin-bottom:1rem}}.waterfall-detail .detail-waterfall-image-container::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--bg-image);background-size:cover;background-position:center;filter:blur(20px);z-index:1;border-radius:8px}.waterfall-detail .detail-waterfall-image-container img{position:relative;width:100%;max-width:100%;height:100%;object-fit:cover;display:block;margin:0 auto;z-index:2}.waterfall-detail .waterfall-info-card .waterfall-info-table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;background-color:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.waterfall-detail .waterfall-info-card .waterfall-info-table th{width:30%;padding:0.75rem;text-align:left;background-color:#f1f9ff;border-bottom:1px solid #e9ecef;font-weight:600;color:#2c3e50}@media screen and (max-width: 719px){.waterfall-detail .waterfall-info-card .waterfall-info-table th{width:35%;padding:0.5rem;font-size:14px}}.waterfall-detail .waterfall-info-card .waterfall-info-table td{padding:0.75rem;border-bottom:1px solid #e9ecef}@media screen and (max-width: 719px){.waterfall-detail .waterfall-info-card .waterfall-info-table td{padding:0.5rem;font-size:14px}}.waterfall-detail .waterfall-info-card .waterfall-info-table tr:last-child th,.waterfall-detail .waterfall-info-card .waterfall-info-table tr:last-child td{border-bottom:none}.waterfall-detail .waterfall-info-card .google-map-iframe{width:100%;height:450px;border:0;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin:2rem auto;display:block}@media screen and (max-width: 719px){.waterfall-detail .waterfall-info-card .google-map-iframe{height:300px;margin:1rem auto}}@media screen and (min-width: 720px){.waterfall-detail .waterfall-info-card .google-map-iframe{height:450px}}.waterfall-detail .reviews-section{margin-top:3rem}.waterfall-detail .reviews-section .review-cta{background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%);color:white;padding:24px;border-radius:12px;margin-bottom:24px;text-align:center}.waterfall-detail .reviews-section .review-cta .review-cta-icon{font-size:48px;margin-bottom:16px;opacity:0.9}.waterfall-detail .reviews-section .review-cta .review-cta-title{font-size:1.25rem;font-weight:bold;margin-bottom:8px}.waterfall-detail .reviews-section .review-cta .btn-review-cta{background:white;color:#d97706;padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:all 0.3s}.waterfall-detail .reviews-section .review-cta .btn-review-cta:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.2)}.waterfall-detail .reviews-section .no-rating-section{background:#f3f4f6;border:2px dashed #d1d5db;border-radius:12px;color:#6b7280;padding:24px;text-align:center}.waterfall-detail .reviews-section .no-rating-section .no-rating-icon{font-size:48px;margin-bottom:16px;opacity:0.5}.waterfall-detail .reviews-section .no-rating-section .no-rating-title{font-size:1.25rem;font-weight:600;margin-bottom:8px;color:#374151}.waterfall-detail .related-waterfalls-section{margin-top:3rem}.inquiry-form-container{max-width:800px;margin:0 auto;padding:2rem 1rem}.inquiry-form-container .inquiry-form-header{margin-bottom:2rem}.inquiry-form-container .inquiry-form-header h1{font-size:1.6rem;font-weight:bold;margin-bottom:1rem}.inquiry-form-container .inquiry-form-header .inquiry-description{color:gray;line-height:1.6}.inquiry-form-container .inquiry-form .form-section{margin-bottom:2rem}.inquiry-form-container .inquiry-form .form-section .field-group{margin-bottom:20px}.inquiry-form-container .inquiry-form .form-section .field-group:last-child{margin-bottom:0}.inquiry-form-container .inquiry-form .form-section .field-group label{display:block;font-weight:bold;margin-bottom:8px;font-size:16px}.inquiry-form-container .inquiry-form .form-section .field-group label .required-note{font-size:12px;color:#ef4444;font-weight:500;background:#fef2f2;padding:4px 8px;border-radius:4px;border:1px solid #fecaca;margin-left:8px}.inquiry-form-container .inquiry-form .form-section .field-group input[type="text"],.inquiry-form-container .inquiry-form .form-section .field-group input[type="email"],.inquiry-form-container .inquiry-form .form-section .field-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;transition:border-color 0.2s, box-shadow 0.2s;font-family:inherit}.inquiry-form-container .inquiry-form .form-section .field-group input[type="text"]:focus,.inquiry-form-container .inquiry-form .form-section .field-group input[type="email"]:focus,.inquiry-form-container .inquiry-form .form-section .field-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.inquiry-form-container .inquiry-form .form-section .field-group input[type="text"]::placeholder,.inquiry-form-container .inquiry-form .form-section .field-group input[type="email"]::placeholder,.inquiry-form-container .inquiry-form .form-section .field-group textarea::placeholder{color:#9ca3af}.inquiry-form-container .inquiry-form .form-section .field-group textarea{min-height:200px;resize:vertical}.inquiry-form-container .inquiry-form .form-section .field-group .error{color:#ef4444;font-size:14px;margin-top:4px;display:block}.inquiry-form-container .inquiry-form .form-actions{display:flex;justify-content:center;gap:16px;padding-top:24px;margin-top:2rem;border-top:1px solid #e5e7eb}.inquiry-form-container .inquiry-form .form-actions .btn{min-width:150px;padding:12px 24px;font-size:16px;font-weight:500}.inquiry-form-container .inquiry-form .form-actions .btn i{margin-right:8px}.top-image{width:100%;margin:0 auto;text-align:center;box-sizing:border-box;position:relative;overflow:hidden;height:350px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)}@media screen and (max-width: 719px){.top-image{height:250px;border-radius:0}}.top-image img{width:100%;height:100%;object-fit:cover}.sort-options{display:flex;align-items:center;justify-content:flex-end;margin-bottom:16px;padding:8px;background-color:#fff;border-bottom:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}@media screen and (max-width: 719px){.sort-options{flex-direction:column;align-items:stretch;gap:.5rem;padding:1rem}}.sort-options span{font-size:1em;margin-right:8px;color:#555;font-weight:500}@media screen and (max-width: 719px){.sort-options span{margin-right:0;text-align:center}}.sort-options select{padding:8px;border:1px solid #ddd;border-radius:4px;font-size:16px;margin-left:10px;background-color:#fff;transition:all .3s ease}@media screen and (max-width: 719px){.sort-options select{margin-left:0;width:100%}}.sort-options select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,0.2)}.sort-options select:hover{border-color:#555}#sort-select{padding:6px 10px;font-size:1em;border:1px solid #ddd;border-radius:3px;background-color:#f9f9f9;color:#555;transition:border-color 0.2s .3s ease}#sort-select:hover{border-color:#aaa;background-color:#fff}#sort-select:focus{border-color:#007bff;background-color:#fff;outline:none;box-shadow:0 0 0 2px rgba(0,123,255,0.2)}.waterfalls-grid{display:grid;grid-template-columns:1fr;gap:10px;padding:10px 0}@media screen and (min-width: 720px){.waterfalls-grid{grid-template-columns:1fr;gap:.5rem}}.search-filters{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1);margin-bottom:2rem}@media screen and (max-width: 719px){.search-filters{padding:1rem;margin-bottom:1rem}}.filter-group{margin-bottom:1rem}.filter-group:last-child{margin-bottom:0}.filter-group label{display:block;font-weight:500;color:#333;margin-bottom:4px}.filter-group input,.filter-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:2px;font-size:16px;transition:all .3s ease}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,0.2)}.prefecture-item{display:inline-block;margin-right:10px;margin-bottom:10px}.prefecture-item a{display:inline-block;padding:.5rem 1rem;background-color:#fff;border:1px solid #ddd;border-radius:8px;color:#333;text-decoration:none;transition:all .3s ease;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.prefecture-item a:hover{background-color:#007bff;color:#fff;border-color:#007bff;box-shadow:0 4px 8px rgba(0,0,0,0.2);transform:translateY(-1px)}.login-error-message{color:#b00020;margin-bottom:12px}.login-form-container{display:grid;gap:12px}.login-form-container .login-form-item{display:flex;flex-direction:column;gap:6px}.login-form-container .login-form-item input{width:80%}.login-form-container button{margin-top:1rem;width:50%;margin-left:auto;margin-right:auto;display:block}.review-form-container .review-form .form-section{border-bottom:1px solid #e5e7eb;padding-bottom:1rem}.review-form-container .review-form .form-section:last-of-type{border-bottom:none;margin-bottom:0}.review-form-container .review-form .form-section h3{font-size:1.25rem;font-weight:bold;margin-top:2rem;margin-bottom:20px;display:flex;align-items:center;gap:8px}.review-form-container .review-form .form-section h3::before{content:"";width:4px;height:20px;background:#2563eb;border-radius:2px}.review-form-container .review-form .form-section .required-note{font-size:12px;color:#ef4444;font-weight:500;background:#fef2f2;padding:4px 8px;border-radius:4px;border:1px solid #fecaca}.review-form-container .review-form .form-section .rating-field{display:flex;gap:16px;margin-bottom:20px}.review-form-container .review-form .form-section .rating-field .rating-field-label{width:40%}.review-form-container .review-form .form-section .rating-field .rating-field-label label{font-weight:bold;margin-bottom:0;display:inline-block}.review-form-container .review-form .form-section .rating-field .rating-field-label .error{color:#ef4444;font-size:12px}.review-form-container .review-form .form-section .rating-stars-input{width:60%}.review-form-container .review-form .form-section .date-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.review-form-container .review-form .form-section .field-group{margin-bottom:16px}.review-form-container .review-form .form-section .field-group:last-child{margin-bottom:0}.review-form-container .review-form .form-section .field-group label{display:block;margin-bottom:4px}.review-form-container .review-form .form-section .field-group .radio-group{display:flex;flex-wrap:wrap;gap:16px}.review-form-container .review-form .form-section .field-group .form-select{width:75%}.review-form-container .review-form .form-section .field-group .sub-review-item{font-weight:bold;margin-bottom:4px}@media screen and (max-width: 719px){.review-form-container .review-form .form-section .field-group .help-text{font-size:12px}}@media screen and (min-width: 720px){.review-form-container .review-form .form-section .field-group .help-text{font-size:14px}}.review-form-container .review-form .form-section .field-group .form-textarea{width:100%;height:10rem;padding:0.75rem 1rem;line-height:1.5;box-sizing:border-box}.review-form-container .review-form .form-section .field-group .photo-upload-area{position:relative;border:2px dashed #d1d5db;border-radius:12px;background:#f9fafb;transition:all 0.3s ease;cursor:pointer;overflow:hidden}.review-form-container .review-form .form-section .field-group .photo-upload-area:hover{border-color:#2563eb;background:#f0f9ff}.review-form-container .review-form .form-section .field-group .photo-upload-area.dragover{border-color:#2563eb;background:#e0f2fe;transform:scale(1.02)}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-content{padding:40px 20px;text-align:center;pointer-events:none}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-icon{font-size:48px;color:#2563eb;margin-bottom:16px;animation:float 3s ease-in-out infinite}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-icon i{display:block}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-text{margin-bottom:20px}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-text .photo-upload-main-text{font-size:18px;font-weight:600;color:#1f2937;margin-bottom:8px}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-text .photo-upload-sub-text{font-size:14px;color:#6b7280;margin-bottom:4px}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-text .photo-upload-hint{font-size:12px;color:#9ca3af;margin-top:8px}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#2563eb;color:white;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s ease;pointer-events:auto}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-button:hover{background:#134cca;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-button:active{transform:translateY(0)}.review-form-container .review-form .form-section .field-group .photo-upload-area .photo-upload-button i{font-size:16px}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.review-form-container .review-form .form-section .field-group .existing-photos-container{margin-bottom:24px}.review-form-container .review-form .form-section .field-group .existing-photos-container .existing-photos-label{font-size:14px;font-weight:600;color:#6b7280;margin-bottom:12px}.review-form-container .review-form .form-section .field-group .photo-preview-container{margin-top:24px}.review-form-container .review-form .form-section .field-group .photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:16px;margin-top:16px}@media screen and (max-width: 719px){.review-form-container .review-form .form-section .field-group .photo-preview-grid{grid-template-columns:repeat(auto-fill, minmax(100px, 1fr));gap:12px}}.review-form-container .review-form .form-section .field-group .photo-preview-item{position:relative;width:100%;aspect-ratio:1;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#f9fafb;transition:all 0.3s ease;animation:fadeIn 0.3s ease}.review-form-container .review-form .form-section .field-group .photo-preview-item:hover{border-color:#2563eb;transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,0.1)}.review-form-container .review-form .form-section .field-group .photo-preview-item.deleted{opacity:0.5;pointer-events:none;border-color:#dc2626;background:#fef2f2}.review-form-container .review-form .form-section .field-group .photo-preview-item.deleted::after{content:"削除予定";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(220,38,38,0.9);color:white;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:600;z-index:5}.review-form-container .review-form .form-section .field-group .photo-preview-item .photo-preview-image{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease}.review-form-container .review-form .form-section .field-group .photo-preview-item:hover .photo-preview-image{transform:scale(1.05)}@keyframes fadeIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}.review-form-container .review-form .form-section .field-group .photo-preview-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;background:rgba(239,68,68,0.9);color:white;border:none;border-radius:50%;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;box-shadow:0 2px 8px rgba(0,0,0,0.2);z-index:10}.review-form-container .review-form .form-section .field-group .photo-preview-remove:hover{background:#dc2626;transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,0.3)}.review-form-container .review-form .form-section .field-group .photo-preview-remove:active{transform:scale(0.95)}.review-form-container .review-form .form-actions{display:flex;gap:16px;justify-content:center;padding-top:24px}.review-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity 0.3s ease;pointer-events:none}.review-loading-overlay.active{opacity:1;pointer-events:auto}.review-loading-overlay .review-loading-content{background:white;border-radius:16px;padding:40px 48px;box-shadow:0 20px 60px rgba(0,0,0,0.3);display:flex;flex-direction:column;align-items:center;gap:24px;min-width:200px;text-align:center}@media screen and (max-width: 719px){.review-loading-overlay .review-loading-content{padding:32px 40px;min-width:180px}}.review-loading-overlay .review-loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@media screen and (max-width: 719px){.review-loading-overlay .review-loading-spinner{width:40px;height:40px;border-width:3px}}.review-loading-overlay .review-loading-message{font-size:18px;font-weight:600;color:#1f2937;margin:0}@media screen and (max-width: 719px){.review-loading-overlay .review-loading-message{font-size:16px}}@keyframes spin{to{transform:rotate(360deg)}}body.is-loading{overflow:hidden}.hero-section{background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;padding:96px 20px;text-align:center;position:relative}@media screen and (max-width: 719px){.hero-section{background-image:var(--hero-bg-image-mobile, none)}}@media screen and (min-width: 720px){.hero-section{background-image:var(--hero-bg-image-pc, none)}}.hero-section .hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.7) 100%)}.hero-section .hero-container{max-width:1280px;margin:0 auto;position:relative;z-index:2}.hero-section .hero-container .hero-title{color:#fff;line-height:1.2;margin-bottom:1rem}@media screen and (max-width: 719px){.hero-section .hero-container .hero-title{font-size:2.25rem}}@media screen and (min-width: 720px){.hero-section .hero-container .hero-title{font-size:4rem}}.hero-section .hero-container .hero-subtitle{color:#fff;margin-bottom:2rem}@media screen and (max-width: 719px){.hero-section .hero-container .hero-subtitle{font-size:1.25rem}}@media screen and (min-width: 720px){.hero-section .hero-container .hero-subtitle{font-size:2rem}}.hero-section .hero-container .search-container{max-width:512px;margin:0 auto}.hero-section .hero-container .search-container .search-form{display:flex;flex-direction:row;gap:16px}.hero-section .hero-container .search-container .search-form .search-input-container{position:relative;flex:1}.hero-section .hero-container .search-container .search-form .search-input-container .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#6b7280;width:20px;height:20px}.hero-section .hero-container .search-container .search-form .search-input-container .search-input{width:100%;padding:12px 16px 12px 40px;font-size:18px;border:none;border-radius:8px;outline:none;color:#111827;box-sizing:border-box}.hero-section .hero-container .search-container .search-form .search-btn{background:#f59e0b;color:#111827;padding:8px 32px;border:none;border-radius:8px;font-size:18px;font-weight:bold;cursor:pointer;transition:background .3s ease}.hero-section .hero-container .search-container .search-form .search-btn:hover{background:#fbbf24}.mypage-container .mypage-section .mypage-section-title{margin-top:0.75rem}.mypage-container .mypage-section .mypage-user-info .mypage-user-info-item{margin-bottom:0.25rem}#signup-button{width:60%}.login-link{margin-top:1rem}.required-mark{color:#dc3545;font-size:0.875rem;margin-left:0.25rem;font-weight:normal}.terms-container{max-width:800px;margin:0 auto;padding:1rem}.terms-container .terms-content{background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px;margin-bottom:24px;max-height:600px;overflow-y:auto}.terms-container .terms-content .agreement-section{margin-bottom:48px}.terms-container .terms-content .agreement-section:last-child{margin-bottom:0}.terms-container .terms-content .agreement-section .agreement-section-title{font-size:1.5rem;font-weight:bold;margin-top:0;margin-bottom:24px;color:#333;padding-bottom:12px;border-bottom:2px solid #ddd}.terms-container .terms-content h2{font-size:1.2rem;font-weight:bold;margin-top:24px;margin-bottom:12px;color:#333}.terms-container .terms-content h2:first-child{margin-top:0}.terms-container .terms-content h3{font-size:1.1rem;font-weight:bold;margin-top:20px;margin-bottom:10px;color:#333}.terms-container .terms-content p{line-height:1.8;margin-bottom:16px;color:#555}.terms-container .terms-content ul{margin-left:24px;margin-bottom:16px;list-style-type:disc}.terms-container .terms-content ul li{line-height:1.8;margin-bottom:8px;color:#555}.terms-container .terms-agreement{margin-bottom:24px;padding:16px;background:#f5f5f5;border-radius:8px;display:flex;flex-direction:column;gap:12px}.terms-container .terms-agreement .terms-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:1rem}.terms-container .terms-agreement .terms-checkbox-label input[type="checkbox"]{width:20px;height:20px;cursor:pointer}.terms-container .terms-agreement .terms-checkbox-label span{color:#333}.terms-container .terms-buttons{display:flex;gap:12px;justify-content:center}.terms-container .terms-buttons button{min-width:120px;justify-content:center}
