@charset "utf-8";

/* Page Title Section */
.page-title {position: relative;background: url('/api/placeholder/1920/400') center/cover no-repeat;/* height: 300px; */display: flex;align-items: center;justify-content: center;/* margin-top: 80px; */overflow: hidden;width: 100%;padding: 200px 2rem 0px;}
.page-title::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;/* background: rgba(0, 0, 0, 0.5); */z-index: 1;}
.page-title::after {content: '';position: absolute;bottom: 0;left: 0;width: 100%;height: 30%;/* background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent); */z-index: 1;}
.page-title-container {position: relative;text-align: center;z-index: 2;width: 100%;padding: 0 20px;height: 80px;}
.page-title-text {font-family: 'Cinzel', serif;font-size: 4rem;color: #fff;margin-bottom: 0.5rem;letter-spacing: 0.4rem;text-shadow: 0 0 10px rgba(0, 183, 167, 0.5);animation: textGlow 3s ease-in-out infinite;}
.page-title-subtitle {font-family: 'Noto Serif JP', serif;font-size: 1.5rem;color: var(--color-primary);text-shadow: 0 0 5px rgba(0, 183, 167, 0.5);letter-spacing: 0.2rem;margin: 0 0 20px;}

/* Contact Section */
.contact-section {max-width: 1200px;margin: 0px auto;padding: 0 20px;}
.contact-container {width: 100%;}
.contact-container .headercont {text-align: center;margin-bottom: 50px;}
.contact-form-wrapper {max-width: 800px;margin: 0 auto;background-color: rgba(0, 0, 0, 0.5);border: 1px solid var(--color-primary);border-radius: 8px;padding: 40px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);}
.contact-form {display: flex;flex-wrap: wrap;justify-content: space-between;}
.form-group {width: 48%;margin-bottom: 25px;}
.form-group.full-width {width: 100%;}
.form-group label {display: block;font-size: 14px;margin-bottom: 8px;color: #fff;letter-spacing: 0.05em;}
.form-group label .required {color: var(--color-primary);margin-left: 4px;}
.form-group input, .form-group select, .form-group textarea {width: 100%;padding: 12px 15px;background-color: rgba(255, 255, 255, 0.1);border: 1px solid rgba(255, 255, 255, 0.2);border-radius: 4px;color: #fff;font-size: 14px;transition: all 0.3s ease;background: #000;}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {border-color: var(--color-primary);box-shadow: 0 0 5px rgba(0, 183, 167, 0.5);outline: none;}
.form-group textarea {resize: vertical;}
.form-checkbox {display: flex;align-items: center;}
.form-checkbox input[type="checkbox"] {width: auto;margin-right: 10px;}
.form-checkbox label {margin-bottom: 0;}
.form-actions {width: 100%;text-align: center;margin-top: 20px;}



/* Responsive Styles */
@media (max-width: 992px) {
    .contact-info-item {width: 48%;margin-bottom: 30px;}
}

@media (max-width: 768px) {
    .page-title {height: 200px;margin-top: 0px;}
    .page-title-text {font-size: 3rem;}
    .page-title-subtitle {font-size: 1.2rem;}
    .contact-form-wrapper {padding: 30px 20px;}
    .form-group {width: 100%;}
    .contact-info-item {width: 100%;margin-bottom: 20px;}
}

@media (max-width: 480px) {
    .page-title {height: 150px;}
    .page-title-text {font-size: 2rem;}
    .page-title-subtitle {font-size: 1rem;}
    .contact-section {margin: 40px auto;}
    .contact-form-wrapper {padding: 20px 15px;}
}

/* Active Navigation Link */
.nav-links a.active {color: var(--color-primary);}
.nav-links a.active::before {width: 100%;left: 0;}



/* About Page Styles - Minified and Complete */
/* About Page Specific Sections */
.about-section-page {max-width: 1200px;margin: 80px auto;padding: 0 20px;}
.about-container {width: 100%;background: #00000038;padding: 3%;}

/* About Blocks */
.about-block {display: flex;align-items: center;justify-content: space-between;margin-bottom: 100px;opacity: 0;transform: translateY(50px);transition: opacity 1s ease, transform 1s ease;}
.about-block.active {opacity: 1;transform: translateY(0);}
.about-block.reverse {flex-direction: row-reverse;}
.about-content {flex: 1;padding: 0 30px;}
.about-image {flex: 1;position: relative;padding: 20px;}
.about-image img {width: 100%;height: auto;border-radius: 10px;box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);transition: transform 0.5s ease;border: 1px solid var(--color-primary);}
.about-image::before {/* content: ''; */position: absolute;top: 0;left: 20px;width: 100%;height: 100%;/* border: 1px solid var(--color-primary); */border-radius: 10px;/* z-index: -1; */opacity: 0.7;transform: translate(15px, 15px);transition: transform 0.5s ease;}
.about-block:hover .about-image img {transform: translate(-5px, -5px);}
.about-block:hover .about-image::before {transform: translate(20px, 20px);}
.about-title {font-family: 'Noto Serif JP', serif;font-size: 2.2rem;font-weight: 600;margin-bottom: 20px;color: var(--color-primary);line-height: 1.4;}
.about-description {line-height: 1.8;margin-bottom: 20px;color: #fff;font-size: 1rem;font-family: 'Noto Sans JP', sans-serif;font-weight: 400;}

/* Features Grid */
.features-grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 30px;margin: 80px 0;opacity: 0;transform: translateY(50px);transition: opacity 1s ease, transform 1s ease;}
.features-grid.active {opacity: 1;transform: translateY(0);}
.feature-item {background-color: rgba(0, 0, 0, 0.3);border: 1px solid var(--color-primary);border-radius: 10px;padding: 30px 20px;text-align: center;transition: all 0.3s ease;}
.feature-item:hover {transform: translateY(-10px);box-shadow: 0 10px 20px rgba(0, 183, 167, 0.1);}
.feature-icon {margin-bottom: 20px;}
.feature-icon img {width: 60px;height: 60px;border-radius: 50%;border: 2px solid var(--color-primary);}
.feature-title {font-size: 1.2rem;color: var(--color-primary);margin-bottom: 15px;font-weight: 600;}
.feature-text {font-size: 0.9rem;color: #ccc;line-height: 1.6;}

/* Philosophy Section */
.philosophy-section {margin: 100px 0 60px;text-align: center;padding: 60px 40px;background-color: rgba(0, 0, 0, 0.3);border: 1px solid var(--color-primary);border-radius: 10px;opacity: 0;transform: translateY(50px);transition: opacity 1s ease, transform 1s ease;}
.philosophy-section.active {opacity: 1;transform: translateY(0);}
.philosophy-title {font-family: 'Noto Serif JP', serif;font-size: 2.5rem;color: var(--color-primary);margin-bottom: 40px;position: relative;display: inline-block;}
.philosophy-title::after {content: '';position: absolute;bottom: -15px;left: 50%;width: 60px;height: 2px;background-color: var(--color-primary);transform: translateX(-50%);}
.philosophy-content {max-width: 800px;margin: 0 auto;}
.philosophy-text {font-size: 1.1rem;line-height: 2;margin-bottom: 20px;color: #fff;}

/* Animation Classes */
.fade-in-block {opacity: 0;transform: translateY(50px);transition: opacity 1s ease, transform 1s ease;}
.fade-in-block.active {opacity: 1;transform: translateY(0);}

/* Responsive Styles for About Page */
@media (max-width: 992px) {
    .about-block {flex-direction: column;margin-bottom: 60px;}
    .about-block.reverse {flex-direction: column;}
    .about-content {width: 100%;padding: 0;margin-bottom: 30px;}
    .about-image {width: 100%;}
    .features-grid {grid-template-columns: repeat(2, 1fr);}
}

@media (max-width: 768px) {
    .about-section-page {margin: 40px auto;}
    .about-title {font-size: 1.8rem;}
    .philosophy-title {font-size: 2rem;}
    .philosophy-section {padding: 40px 20px;}
}

@media (max-width: 480px) {
    .about-image::before {display: none;}
    .features-grid {grid-template-columns: 1fr;}
     .about-title {font-size: 1.5rem;text-align: center;}
    .about-image {padding: 0px;}
    .about-description {line-height: 1.6;margin-bottom: 20px;font-size: 0.8rem;margin: 0 20px;}
}

.shop-detail-section{max-width:1200px;margin:80px auto;padding:0 20px}
.shop-detail-container{width:100%}
.shop-name{font-family:'Noto Serif JP',serif;font-size: 2rem;font-weight:700;color:var(--color-primary);text-align:center;margin-bottom: 3rem;letter-spacing:.1rem;position:relative}
.shop-name::after{content:'';position:absolute;bottom:-15px;left:50%;width:80px;height:2px;background-color:var(--color-primary);transform:translateX(-50%)}
.shop-slideshow-container{margin-bottom:60px;box-shadow:var(--shadow-primary);border-radius:var(--border-radius);overflow:hidden;/* border:1px solid var(--color-primary); */}
.shop-slideshow{width:100%;position:relative}
.shop-slideshow .slide{display:none;width:100%}
.shop-slideshow .slide.active{display:block}
.shop-slideshow .slide-image{width:100%;height:500px;object-fit:cover}
.prev,.next{cursor:pointer;position:absolute;top:50%;width:auto;margin-top:-22px;padding:16px;color:#fff;font-weight:700;font-size:24px;transition:var(--transition-primary);border-radius:0 3px 3px 0;user-select:none;background-color:rgba(0,0,0,0.3)}
.next{right:0;border-radius:3px 0 0 3px}
.prev:hover,.next:hover{background-color:var(--color-primary-dark);color:#fff}
.fade{animation-name:fade;animation-duration:1.5s}
@keyframes fade {
from{opacity:.4}
to{opacity:1}
}


/* スライドショーのアクティブ状態を明確化 */
.shop-slideshow .slide {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}

.shop-slideshow .slide.active {
    display: block;
    opacity: 1;
}

/* ナビゲーションドットのアクティブ状態 */
.shop-slideshow-nav .nav-dot.active {
    border-color: var(--color-primary);
    opacity: 1;
}



.shop-slideshow-nav{display:flex;justify-content:space-between;padding:10px;background:rgba(0,0,0,0.8)}
.shop-slideshow-nav .nav-dot{width:calc(25% - 8px);padding:4px;cursor:pointer;border-radius:5px;overflow:hidden;border:1px solid transparent;transition:var(--transition-primary);opacity:.6}
.shop-slideshow-nav .nav-dot:hover{opacity:1}
.shop-slideshow-nav .nav-dot.active{border-color:#666;opacity:1}
.shop-slideshow-nav .nav-image{width:100%;height:80px;object-fit:cover;border-radius:3px}
.shop-info-container{width:100%}
.shop-info-main{width:100%}
.info-block{margin-bottom:40px;background-color:var(--color-bg-dark);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.info-block.active{opacity:1;transform:translateY(0)}
.info-title{font-family:'Noto Sans JP',sans-serif;font-size:1.3rem;font-weight:600;color:var(--color-primary);margin-bottom:20px;position:relative;padding-left:15px}
.info-title::before{content:'';position:absolute;left:0;top:50%;width:5px;height:20px;background-color:var(--color-primary);transform:translateY(-50%)}
.info-table{width:100%;border-collapse:collapse}
.info-table th,.info-table td{padding:12px 0;vertical-align:top;line-height:1.6;border-bottom:1px solid var(--color-border)}
.info-table th{width:30%;color:var(--color-text);font-weight:600;text-align:left;padding-right:15px}
.info-table td{color:var(--color-text-secondary);font-weight:400}
.info-table .social-cell{padding-top:15px}
.info-table tr:last-child th,.info-table tr:last-child td{border-bottom:none}
.phone-link{color:var(--color-primary);text-decoration:none;transition:var(--transition-primary)}
.phone-link:hover{color:var(--color-text)}
.social-links-shop{display:flex;flex-wrap:wrap;gap:15px;margin-top:5px}
.social-link{display:inline-flex;align-items:center;padding:10px 15px;background-color:rgba(255,255,255,0.1);border-radius:5px;color:var(--color-text);text-decoration:none;transition:var(--transition-primary)}
.social-link i{margin-right:8px;color:var(--color-primary)}
.social-link:hover{background-color:var(--color-primary-light);transform:translateY(-3px)}
.social-link:hover i{color:#000}
.map-container,.map-container{margin-top:30px;margin-bottom:40px;background-color:var(--color-bg-dark);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.map-container.active{opacity:1;transform:translateY(0)}
.map-embed{margin:15px 0;border-radius:5px;overflow:hidden;box-shadow:var(--shadow-primary)}
.map-embed iframe{display:block;border-radius:5px}
.access-info{margin-top:25px;display:flex;flex-direction:column;gap:20px}
.access-address{text-align:center;border-bottom:1px solid var(--color-border);padding-bottom:15px}
.map-address{font-size:.95rem;color:var(--color-text);margin:0}
.access-stations{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}
.station-item{background-color:rgba(255,255,255,0.05);border-radius:5px;padding:12px 20px;display:flex;align-items:center;gap:10px;min-width:200px;transition:var(--transition-primary);border:1px solid transparent}
.station-item:hover{border-color:var(--color-primary-light);transform:translateY(-2px)}
.station-item i{color:var(--color-primary);font-size:1.2rem}
.station-name{font-weight:600;color:var(--color-text)}
.station-access{margin-left:auto;color:var(--color-text-secondary);font-size:.9rem}
@media (max-width: 768px) {
.map-embed iframe{height:350px}
.access-stations{flex-direction:column;align-items:center}
.station-item{width:100%;max-width:400px}
}
@media (max-width: 480px) {
.map-embed iframe{height:250px}
.station-item{padding:10px 15px}
}
.cta-container{display:flex;justify-content:center;gap:20px;margin-top:30px;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.cta-container.active{opacity:1;transform:translateY(0)}
.cta-button{display:flex;align-items:center;justify-content:center;padding:15px 25px;border-radius:5px;text-decoration:none;font-weight:600;transition:var(--transition-primary);min-width:200px}
.cta-button i{margin-right:10px}
.phone-button{background-color:var(--color-primary);color:#000}
.phone-button:hover{background-color:var(--color-primary-light);transform:translateY(-3px)}
.reserve-button{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}
.reserve-button:hover{background-color:var(--color-primary);color:#000;transform:translateY(-3px)}
@media (max-width: 1024px) {
.shop-slideshow .slide-image{height:400px}
}
@media (max-width: 768px) {
.shop-detail-section{margin:60px auto}
.shop-name{font-size: 1.6rem;}
.shop-slideshow .slide-image{height:300px}
.shop-slideshow-nav .nav-image{height:60px}
.info-title{font-size:1.2rem}
.cta-container{flex-direction:column;align-items:center}
.cta-button{width:100%}
}
@media (max-width: 480px) {
.shop-detail-section{margin:40px auto;padding:0 15px}
.shop-name{font-size:1.6rem}
.shop-slideshow .slide-image{height:200px}
.shop-slideshow-nav{flex-wrap:wrap}
.shop-slideshow-nav .nav-dot{width:calc(50% - 8px);margin-bottom:8px}
.shop-slideshow-nav .nav-image{height:50px}
.info-block,.map-container,.calendar-container{padding:20px 15px}
.info-table th{width:40%}
.info-title{font-size:1.1rem}
.social-links-shop{flex-direction:column}
.social-link{width:100%;justify-content:center}
}

 

.opening-soon-banner{margin-bottom:30px;background-color:rgba(0,183,167,0.15);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;text-align:center;opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}
.opening-soon-banner.active{opacity:1;transform:translateY(0)}
.opening-notice{color:var(--color-primary);font-size:1.8rem;font-weight:700;letter-spacing:.1rem;display:flex;flex-direction:column;align-items:center;gap:10px}
.opening-notice i{font-size:2.5rem;margin-bottom:10px}
.opening-notice p{color:var(--color-text);font-size:1.2rem;font-weight:400;margin:0}
.preparation{color:var(--color-primary-light)!important;font-style:italic}
.notify-button{background-color:var(--color-primary-dark);color:#fff}
.notify-button:hover{background-color:var(--color-primary);transform:translateY(-3px)}
@media (max-width: 768px) {
.opening-notice{font-size:1.5rem}
.opening-notice i{font-size:2rem}
.opening-notice p{font-size:1rem}
}
@media (max-width: 480px) {
.opening-soon-banner{padding:20px 15px}
.opening-notice{font-size:1.3rem}
.opening-notice i{font-size:1.8rem}
}





.menu-all-section{padding:60px 20px}
.menu-all-container{max-width:1200px;margin:0 auto}
.headercont{text-align:center;margin-bottom:50px}
.section-title{font-size: 36px;margin-bottom:15px;font-weight:700}
.section-subtitle{font-size:24px;color:var(--color-primary);margin-bottom:20px;font-weight:400}
.section-text{font-size:16px;color:var(--color-text-light);max-width:800px;margin:0 auto;line-height:1.8}
.menu-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;margin-bottom:60px}
.menu-nav-link{display:inline-block;padding:12px 25px;background-color:rgba(197,157,95,0.1);border:1px solid var(--color-primary);color:var(--color-primary);text-decoration:none;font-weight:600;transition:all .3s ease;border-radius:4px}
.menu-nav-link:hover{background-color:var(--color-primary);color:var(--color-background)}
.menu-section{margin-bottom:80px;scroll-margin-top:20px}
.menu-section-title{font-size:36px;color:var(--color-primary);margin-bottom:40px;text-align:center;position:relative;padding-bottom:15px}
.menu-section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background-color:var(--color-primary)}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
.category-header{font-size:24px;color:var(--color-primary);margin-bottom:25px;padding-bottom:10px;border-bottom:2px solid var(--color-primary)}
.menu-item{margin-bottom:20px}
.item-header{display:flex;align-items:center;margin-bottom:5px}
.item-title{font-size:18px;font-weight:600}
.item-line{flex-grow:1;margin:0 10px;border-bottom:1px dotted var(--color-primary)}
.item-price{font-size:18px;font-weight:600}
.item-description{font-size:14px;color:var(--color-text-light)}



.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.flavor-category{margin-bottom:40px}
.flavor-item{background-color:rgba(197,157,95,0.05);padding:20px 15px;border-radius:8px;transition:all .3s ease;text-align:center;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.flavor-item:hover{background-color:rgba(197,157,95,0.1);transform:translateY(-5px)}
.flavor-icon{width:70px;height:70px;border-radius:50%;overflow:hidden;margin-bottom:12px;background-color:rgba(255,255,255,0.1);display:flex;justify-content:center;align-items:center;border:2px solid var(--color-primary)}
.flavor-icon img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.flavor-item:hover .flavor-icon img{transform:scale(1.1)}
.flavor-name{font-size:16px;font-weight:600;margin-bottom:5px}
.flavor-jp{font-size:12px;color:var(--color-text-light)}
@media (max-width: 992px) {
.flavor-grid{grid-template-columns:repeat(3,1fr)}
.flavor-icon{width:60px;height:60px}
}
@media (max-width: 768px) {
.flavor-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 480px) {
.flavor-grid{grid-template-columns:repeat(2,1fr);gap:15px}
.flavor-icon{width:50px;height:50px;margin-bottom:8px}
.flavor-item{padding:15px 10px}
.flavor-name{font-size:14px}
.flavor-jp{font-size:11px}
}




.champagne-items{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.champagne-item{background-color:rgba(197,157,95,0.05);border:1px solid rgba(197,157,95,0.2);padding:20px;border-radius:8px}
.premium-label{display:inline-block;background-color:var(--color-primary);color:var(--color-background);font-size:12px;padding:4px 8px;border-radius:4px;margin-bottom:10px}



@media (max-width: 992px) {
.menu-grid{grid-template-columns:1fr;gap:30px}
.signature-section,.flavor-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 768px) {
.section-title{font-size:36px}
.section-subtitle{font-size:20px}
.menu-section-title{font-size:28px}
.category-header{font-size:20px}
.champagne-items{grid-template-columns:1fr}
.menu-nav{gap:10px}
.menu-nav-link{padding:10px 15px;font-size:14px}
}
@media (max-width: 480px) {
.section-title{font-size:28px}
.section-subtitle{font-size:18px}
.section-text{font-size:14px}
.menu-section-title{font-size:24px}
.category-header{font-size:18px;margin-bottom:15px}
.menu-nav-link{padding:8px 12px;font-size:13px}
.item-title{font-size:16px}
.item-price{font-size:16px}
.item-description{font-size:13px}
}



.signature-section{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px}
.signature-item{background-color:rgba(197,157,95,0.05);border:1px solid rgba(197,157,95,0.2);padding:25px;border-radius:8px;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}
.signature-item:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,0,0,0.2)}
.signature-icon{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-bottom:15px;border:3px solid var(--color-primary);background-color:rgba(255,255,255,0.05);display:flex;justify-content:center;align-items:center}
.signature-icon img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.signature-item:hover .signature-icon img{transform:scale(1.1)}
.signature-title{font-size:20px;color:var(--color-primary);margin-bottom:15px;border-bottom:1px solid var(--color-primary);padding-bottom:10px;width:100%}
.signature-description{font-size:14px;color:var(--color-text-light);margin-bottom:15px;line-height:1.6;flex-grow:1}
.signature-price{font-size:18px;font-weight:700;color:var(--color-primary);align-self:flex-end;width:100%;text-align:right}
@media (max-width: 992px) {
.signature-section{grid-template-columns:repeat(2,1fr)}
.signature-icon{width:90px;height:90px}
}
@media (max-width: 768px) {
.signature-section{grid-template-columns:1fr}
.signature-item{max-width:400px;margin:0 auto}
}
@media (max-width: 480px) {
.signature-icon{width:80px;height:80px}
.signature-title{font-size:18px}
.signature-description{font-size:13px}
.signature-price{font-size:16px}
}


.fc-flow-step{flex:1;min-width:200px;background-color:rgba(0,0,0,0.4);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:25px;position:relative;transition:var(--transition-primary)}
.fc-flow-step:hover{transform:translateY(-5px);box-shadow:0 10px 20px rgba(0,183,167,0.2)}
.fc-flow-step h4{color:var(--color-primary);font-size:1.2rem;margin-bottom:15px;text-align:center}
.fc-flow-step h5{color:var(--color-text);font-size:1.1rem;margin-bottom:15px;text-align:center}
.fc-flow-step p{color:var(--color-text-secondary);line-height:1.6;text-align:center}
.fc-cost-section{padding:80px 0}
.fc-cost-container{max-width:900px;margin:0 auto}
.fc-cost-container h3{font-size:1.6rem;color:var(--color-primary);margin-bottom:25px;text-align:center}
.fc-cost-table-wrap{overflow-x:auto;margin-bottom:30px}
.fc-cost-table{width:100%;border-collapse:collapse;margin-bottom:20px}
.fc-cost-table th,.fc-cost-table td{padding:15px;text-align:left;border-bottom:1px solid var(--color-border)}
.fc-cost-table th{background-color:rgba(0,183,167,0.1);color:var(--color-primary);font-weight:600}
.fc-cost-table .category{width:25%;background-color:rgba(0,183,167,0.2);color:var(--color-text);font-weight:600}
.fc-cost-table .subcategory{width:45%;color:var(--color-text-secondary)}
.fc-cost-table .amount{width:30%;text-align:right;color:var(--color-text);font-weight:600}
.fc-cost-table .total{background-color:rgba(0,183,167,0.3);color:var(--color-text);font-weight:700;text-align:right;font-size:1.1rem}
.fc-cost-table .total-amount{background-color:rgba(0,183,167,0.3);color:var(--color-primary-light);font-weight:700;text-align:right;font-size:1.1rem}
.fc-cost-note{color:var(--color-text-secondary);line-height:1.7;font-size:.9rem;margin-top:30px}
.fc-testimonial-section{padding:80px 0;background:var(--color-bg-dark)}
.fc-testimonial-container{display:flex;flex-wrap:wrap;gap:40px;justify-content:center}
.fc-testimonial-item{flex:1;min-width:300px;max-width:550px;display:flex;flex-direction:column;background-color:rgba(0,0,0,0.4);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;transition:var(--transition-primary)}
.fc-testimonial-item:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,183,167,0.2)}
.fc-testimonial-image{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}
.fc-testimonial-image img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--color-primary);margin-bottom:15px}
.fc-testimonial-name{font-size:1rem;text-align:center;color:var(--color-text);margin:0}
.fc-testimonial-content h4{color:var(--color-primary);font-size:1.1rem;margin-top:20px;margin-bottom:10px}
.fc-testimonial-content p{color:var(--color-text-secondary);line-height:1.7;margin-bottom:20px}
.fc-contact-section{padding:80px 0}
.fc-contact-container{max-width:800px;margin:0 auto}
.fc-contact-form{background-color:rgba(0,0,0,0.4);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:40px;margin-top:40px}
.form-group{margin-bottom:25px}
.form-group.required label::after{content:' *';color:var(--color-primary)}
.form-group label{display:block;margin-bottom:8px;color:var(--color-text)}
.form-group input,.form-group textarea{width:100%;padding:12px 15px;background-color:rgba(255,255,255,0.05);border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:1rem;transition:var(--transition-primary)}
.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px rgba(0,183,167,0.3)}
.form-button{text-align:center;margin-top:30px}
.submit-btn{display:inline-block;padding:12px 40px;background-color:var(--color-primary);color:#000;border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition-primary)}
.submit-btn:hover{background-color:var(--color-primary-light);transform:translateY(-3px)}
@media (max-width: 1024px) {
.fc-feature-item{gap:30px}
.fc-hero-title{font-size:2.5rem}
.fc-hero-subtitle{font-size:1.2rem}
}
@media (max-width: 768px) {
.section-title{font-size:1.8rem}
.fc-hero-title{font-size:2rem}
.fc-hero-subtitle{font-size:1.1rem}
.fc-feature-item{flex-direction:column}
.fc-feature-item.reverse{flex-direction:column}
.fc-feature-image{margin-bottom:30px}
.fc-flow-steps{flex-direction:column}
.fc-testimonial-container{flex-direction:column;align-items:center}
}
@media (max-width: 480px) {
.section-title{font-size:1.5rem}
.fc-hero-section{height:400px}
.fc-hero-title{font-size:1.7rem}
.fc-hero-subtitle{font-size:1rem}
.fc-overview-list li{min-width:100%}
.fc-target-list li{min-width:100%}
.fc-contact-form{padding:25px 20px}
}




.main-content{position:relative;z-index:1;font-family:'Noto Sans JP',sans-serif}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.section-title{color:var(--color-primary);font-family:'Cinzel',serif;font-size:2rem;margin-bottom:2rem;text-align:center;position:relative;padding-bottom:15px}
.section-title::after{content:'';position:absolute;bottom:0;left:50%;width:80px;height:2px;background-color:var(--color-primary);transform:translateX(-50%)}
.section-subtitle{font-family:'Noto Serif JP',serif;font-size:1.4rem;margin-bottom:1.5rem;text-align:center;color:var(--color-text)}
.section-text{line-height:1.8;margin-bottom:2rem;text-align:center;color:var(--color-text-secondary)}
.fc-hero-section{background-image:url(img/fc-hero-bg.jpg);background-size:cover;background-position:center;background-attachment:fixed;height:500px;display:flex;align-items:center;justify-content:center;position:relative}
.fc-hero-section::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6)}
.fc-hero-container{position:relative;text-align:center;padding:0 20px;max-width:800px}
.fc-hero-title{font-family:'Noto Serif JP',serif;font-size:3rem;color:#fff;margin-bottom:1.5rem;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
.fc-hero-subtitle{font-size:1.4rem;color:var(--color-text-secondary);margin-bottom:2.5rem}
.fc-hero-cta{margin-top:2rem;text-align: center;}
.btn{display:inline-block;padding:12px 30px;background-color:var(--color-primary);color: #fff;border-radius:5px;text-decoration:none;font-weight:600;transition:var(--transition-primary);border:2px solid var(--color-primary);min-width: 300px;}
.btn:hover{background-color:transparent;color:var(--color-primary)}
.fc-overview-section{padding:80px 0;background:var(--color-bg-dark)}
.fc-overview-container{display:flex;flex-direction:column;align-items:center;text-align:center}
.fc-overview-text{margin-bottom:40px}
.fc-overview-list{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;list-style:none;padding:0}
.fc-overview-list li{background-color:rgba(0,183,167,0.1);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:20px 30px;font-size:1.2rem;font-weight:600;color:var(--color-primary);text-align:center;min-width:200px;transition:var(--transition-primary)}
.fc-overview-list li:hover{background-color:var(--color-primary);color:#000;transform:translateY(-5px)}
.fc-slider-section{padding:20px 0;overflow:hidden}
.fc-slider-wrap{width:100%}
.fc-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:20px 0;list-style:none}
.fc-slider li{flex:0 0 300px;scroll-snap-align:start;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-primary);transition:var(--transition-primary)}
.fc-slider li:hover{transform:scale(1.03)}
.fc-slider img{width:100%;height:200px;object-fit:cover}
.fc-target-section{padding:80px 0;background:var(--color-bg-dark)}
.fc-target-list{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;list-style:none;padding:30px 0}
.fc-target-list li{flex:1;min-width:300px;max-width:350px;background-color:rgba(0,0,0,0.3);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;transition:var(--transition-primary)}
.fc-target-list li:hover{transform:translateY(-10px);box-shadow:0 15px 30px rgba(0,183,167,0.2)}
.fc-target-list h3{color:var(--color-primary);font-size:1.4rem;margin-bottom:20px;text-align:center;font-family:'Noto Serif JP',serif}
.fc-target-content{display:flex;flex-direction:column;align-items:center;gap:20px}
.fc-target-icon{width:80px;height:80px;background-color:rgba(0,183,167,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.fc-target-icon img{width:50px;height:50px}
.fc-target-content p{color:var(--color-text-secondary);line-height:1.8;text-align:center}
.fc-features-section{padding:80px 0}
.fc-feature-item{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:80px;gap:40px}
.fc-feature-item.reverse{flex-direction:row-reverse}
.fc-feature-content{flex:1;min-width:300px}
.fc-feature-content h3{font-size:1.6rem;margin-bottom:20px;color:var(--color-text)}
.marker-style{background:linear-gradient(transparent 60%,rgba(0,183,167,0.3) 40%);padding:0 5px}
.fc-feature-content p{color:var(--color-text-secondary);line-height:1.8}
.fc-feature-image{flex:1;min-width:300px;border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-primary)}
.fc-feature-image img{width:100%;height:auto;display:block;transition:var(--transition-primary)}
.fc-feature-image:hover img{transform:scale(1.05)}
.fc-requirements-section{padding:80px 0;background:var(--color-bg-dark)}
.fc-requirements-container{max-width:900px;margin:0 auto}
.fc-requirements-container h3{font-size:1.6rem;color:var(--color-primary);margin-bottom:25px;text-align:center}
.fc-requirements-box{background-color:rgba(0,0,0,0.4);border:1px solid var(--color-primary);border-radius:var(--border-radius);padding:30px;margin-bottom:40px;text-align:center}
.fc-requirements-box p{margin-bottom:15px;font-size:1.1rem;color:var(--color-text)}
.highlight{color:var(--color-primary);font-weight:600}
.note{font-size:.9rem;color:var(--color-text-secondary);margin-top:20px;font-style:italic}