/* ==========================================================================
   SERVICE PAGE SPECIFIC STYLES
   ========================================================================== */

/* Service Introduction */
.service-intro {
    padding: 96px 0 120px;
}

.service-intro-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
}

.service-intro-image {
    width: 736px;
    position: relative;
}

.intro-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-title {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
    color: #444444;
    text-align: center;
    margin: 0;
}
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
/* Service Features */
.service-features {
    padding: 0 0 64px;
}

.features-tabs {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: center;
}

.feature-tab {
    padding: 10px 30px;
    border-radius: 500px;
    font-family: "Jost", sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.8;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    white-space: nowrap;
	width: 100%;
	cursor:pointer;
}

.feature-tab:not(.active) {
    border: 1px solid black;
    color: black;
    background: transparent;
}

.feature-tab.active {
    background: #ff3a4c;
    color: white;
    border: 1px solid #ff3a4c;
}

/* Story Generation */
.story-generation {
    position: relative;
    padding: 0;
    background-image: url(../images/service_bg.jpg);
    background-position: center top;
    background-repeat: no-repeat;
}



.story-content {
    display: flex;
    gap: 32px;
    align-items: center;
    position: relative;
    z-index: 1;
}

.story-text {
    flex: 1;
    max-width: 544px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.story-title {
    font-size: 48px;
    font-weight: bold;
    line-height: 1.4;
    color: #ff5757;
    margin: 0;
}

.story-description {
    font-size: 20px;
    line-height: 1.8;
    color: #444444;
}

.story-description p {
    margin-bottom: 16px;
}

.story-image {
    flex: 1;
    max-width: 544px;
}

.story-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

/* Story Features */
.story-features {
    padding: 64px 0 120px;
}

.features-grid {
    display: flex;
    gap: 32px;
    align-items: center;
    margin-bottom: 64px;
}

.feature-item {
    flex: 1;
    max-width: 544px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.feature-image-placeholder {
    width: 544px;
    height: 384px;
    background: #f0f0f0;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 18px;
}

.features-list {
    flex: 1;
    max-width: 544px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.feature-item-small {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 105px;
}

.feature-header {
    display: flex;
    gap: 24px;
    align-items: center;
}

.feature-number {
    font-family: "Jost", sans-serif;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    color: #444444;
    flex-shrink: 0;
}

.feature-title {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.4;
    color: #444444;
    margin: 0;
}

.feature-description {
    font-size: 16px;
    line-height: 1.8;
    color: #444444;
    margin: 0;
    padding-left: 45px;
}

.story-conclusion {
    text-align: center;
}

.story-conclusion p {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    color: #444444;
    margin: 0;
}

/* Merit Section */
.merit-section {
    background-color: #f5f5f5;
    padding: 120px 0;
}

.merit-title {
    font-family: "Jost", sans-serif;
    font-size: 48px;
    font-weight: 500;
    line-height: 1.2;
    color: #444444;
    text-align: center;
    margin: 0 0 32px 0;
}

.merit-grid {
    display: flex;
    gap: 80px;
    align-items: start;
    justify-content: center;
}

.merit-item {
    flex: 1;
    max-width: 352px;
    min-width: 257px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.merit-icon {
    width: 200px;
    height: 200px;
    overflow: hidden;
}

.merit-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.merit-content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    text-align: center;
}

.merit-item-title {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
    color: #444444;
    margin: 0;
}

.merit-description {
    font-size: 16px;
    line-height: 1.8;
    color: #444444;
    margin: 0;
	text-align: left;
}
 /* 隠すクラス */
        .hidden {
            display: none;
        }
/* Responsive Design */
@media (max-width: 1200px) {

    
    .service-intro-image {
        width: 100%;
        max-width: 736px;
    }
}

@media (max-width: 768px) {

    
    .service-intro {
        padding: 60px 0;
    }
    

    
    .service-title {
        font-size: 20px;
    }
    
    .features-tabs {
        flex-direction: column;
        gap: 20px;
    }
    
    .feature-tab {
        width: 100%;
        max-width: 300px;
    }
    
    .story-content {
    }
    
    .story-text,
    .story-image {
        width: 100%;
        max-width: 100%;
    }
    
    .story-title {
        font-size: 32px;
    }
    
    .story-description {
        font-size: 16px;
    }
    
    .features-grid {
        flex-direction: column;
        align-items: center;
    }
    
    .feature-item{
        width: 70%;
    }

    .features-list {
        width: 100%;
        max-width: 100%;
    }
    
    .feature-image-placeholder {
        width: 100%;
        height: 250px;
    }
    
    .feature-title {
        font-size: 20px;
    }
    
    .feature-description {
        padding-left: 0;
        margin-top: 8px;
    }
    
    .story-conclusion p {
        font-size: 18px;
    }
    
    .merit-title {
        font-size: 32px;
        text-align: center;
    }
    
    .merit-grid {
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }
    
    .merit-item {
        max-width: 100%;
    }
    
    .merit-icon {
        width: 150px;
        height: 150px;
    }
    
    .merit-item-title {
        font-size: 20px;
    }
    

}

@media (max-width: 480px) {
  .merit-grid {
    flex-direction: column;
    gap: 40px;
    align-items: center;
  }
	  .story-content {
    flex-direction: column;
    align-items: center;
  }
	  .features-grid {
    flex-direction: column;
    align-items: center;
  }
	  .feature-item{
        width: 100%;
    }
    .service-intro-content {
  gap: 30px;
}
    .service-title {
        font-size: 18px;
        line-height: 1.6;
    }
    .story-image {
    width: 70%;
  }
	.story-features {
  padding: 30px 0 60px;
}
	.feature-item-small {
  gap: 0px;
  min-height: none;
}
	.story-conclusion {
  text-align: left;
}
    .story-title {
       font-size: 6.5vw;
    }
    
    .merit-title {
        font-size: 6.5vw;
    }
    
    .nav-link,
    .language-option {
        font-size: 16px;
    }
    
    .feature-tab {
        font-size: 14px;
        padding: 8px 20px;
    }
    .merit-section {
  padding: 60px 0;
}
    .merit-icon {
    width: 180px;
    height: 180px;
  }
}
.new-member{
	max-width: 300px;
	margin: 0 auto;
}
.story-button{
	margin: 3em 0 0;
}