@font-face {
    font-family: 'Noteworthy';
    src: url('fonts/Noteworthy-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Noteworthy';
    src: url('fonts/Noteworthy-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

body,html {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

p,h1, h2, h3,label,a{
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

a{
    text-decoration: none;
}

a:hover, button:hover {
    opacity: 0.8;
}

header {
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
}

input[type="radio"] {
    margin: 0;
    margin-right: 0.208vw;
}

label {
    margin-right: 0.521vw;
}

.header-nav-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2.167vw;
}

.header-index {
    background-image: url(./img/fv.png);
    height: 52.083vw;
}

.header-about {
    background-image: url(./img/about_fv.png);
    height: 41.667vw;
}

.header-features {
    background-image: url(./img/features_fv.png);
    height: 41.667vw;
}

.header-program {
    background-image: url(./img/program_fv.png);
    height: 41.667vw;
}

.header-voices {
    background-image: url(./img/voices_fv.png);
    height: 41.667vw;
}

.header-column {
    height: 20.667vw;
}

header nav {
    position: fixed;
    top: 4.125vw;
    left: 0;
    z-index: 100;
    width: 100%;
}

header nav ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4.167vw;
    gap: 4.167vw;
    list-style: none;
    font-size: 0.981vw;
    color: #ffffff;
    margin: 0;
}

header nav ul li a {
    text-decoration: none;
    color: #ffffff;
}

header nav ul li:not(.nav-contact) a:not(.header-nav-green){
    filter: drop-shadow(0 0 0.182vw rgba(0,0,0,0.8));
}

.header-nav-green {
    color: #24a141;
    filter: none;
}

.header-logo {
    width: 21.25vw;
}

.header-logo-white {
    filter: drop-shadow(0 0 0.182vw rgba(0,0,0,0.8)) !important;
    -webkit-filter: drop-shadow(0 0 0.182vw rgba(0,0,0,0.8)) !important;
    will-change: filter;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.nav-contact {
    font-size: 0.938vw;
    letter-spacing: 0.104vw;
    color: #ffffff;
    width: 15.104vw;
    height: 3.073vw;
    border-radius: 0.156vw;
    background-color: #d15182;
    text-align: center;
    align-content: center;
}

footer {
    background-color: #24a141;
    padding: 5.208vw 9.375vw 1.563vw 9.375vw;
}

.footer-container-first {
    margin-bottom: 6.25vw;
}

.footer-container {
    display: flex;
    justify-content: space-between;
}

.footer-link-subtitle {
    font-size: 0.625vw;
    color: #ffffff;
}

.footer-link-title {
    font-size: 1.042vw;
    color: #ffffff;
}

.footer-right {
    display: flex;
    flex-direction: column;
    gap: 2.083vw;
    padding-top: 1.042vw;
}

.footer-right-item {
    display: flex;
    gap: 7.813vw;
}

.footer-right-item img{
    width: 43.02vw;
}

.footer-first-link, .footer-second-link, .footer-last-link {
    text-decoration: none;
    color: #ffffff;
}

.footer-logo {
    margin-bottom: 0.521vw;
    width: 30.83vw;
}

.footer-title {
    font-size: 3.646vw;
    color: #ffffff;
}

.footer-address, .footer-subtitle {
    font-size: 1.146vw;
    line-height: 2.188vw;
    color: #ffffff;
    margin-bottom: 0.521vw;
}

.footer-description {
    font-size: 0.781vw;
    line-height: 2;
    color: #ffffff;
    margin-top: 2.083vw;
}

.footer-sns {
    display: flex;
    gap: 0.521vw;
}

.footer-sns img{
    width: 2.60vw;
}

.footer-copyright {
    text-align: center;
    font-size: 0.781vw;
    line-height: 2.292vw;
    color: #ffffff;
    margin-top: 2.083vw;
}

.footer-first-link {
    width: 5.99vw;
}

.footer-second-link {
    width: 11.458vw;
}

.footer-last-link {
    width: 7.813vw;
}

.flex {
    display: flex;
    align-items: center;
}

.about{
    padding-bottom: 7.135vw;
    padding-top: 3.125vw;
}

.title-container {
    margin-left: 3.438vw;
}

.title-container img {
    margin-right: 0.938vw;
    width: 0.89vw;
}

.sub-title {
    font-size: 1.042vw;
    color: #24a141;
}

.title {
    font-size: 1.458vw;
    color: #24a141;
}

.about-content {
    margin-top: 5.729vw;
    gap: 3vw;
    margin-left: 7.969vw;
    margin-right: 7.969vw;
}

.about-content-left {
    width: 50%;
}

.about-content-right {
    width: 50%;
}

.about-content-right img {
    width: 42.03vw;
}

.about-content-left h3 {
    font-size: 1.56vw;
    color: #24a141;
    margin-bottom: 0.521vw;
}

.about-content-left h2 {
    font-size: 2.5vw;
    color: #24a141;
}

.about-content-left p {
    font-size: 1.19vw;
    width: 100%;
    line-height: 2.083vw;
    color: #292929;
    margin-top: 1.042vw;
}

.detail-button {
    margin-top: 4.167vw;
    display: inline-block;
    text-decoration: none;
    font-size: 1.198vw;
    letter-spacing: 0.052vw;
    line-height: 2.292vw;
    color: #ffffff;
    background-color: #24a141;
    border-radius: 0.521vw;
    text-align: center;
    width: 12.76vw;
}

.program{
    padding-bottom: 4.167vw;
    padding-top: 3.125vw;
    background-image: url(./img/program_bg.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.section-text {
    font-size: 1.25vw;
    line-height: 2.083vw;
    color: #24a141;
    text-align: center;
    margin-top: 3.083vw;
    margin-bottom: 5.208vw;
}

.program-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.125vw;
    margin-left: 7.969vw;
    margin-right: 7.969vw;
}

.program-img-first{
    width: 37.7vw;
}

.program-img-second{
    width: 36.3vw;
}

.program-img-third{
    width: 41.35vw;
}

.program-img-fourth{
    width: 42.34vw;
}

.program-button-container {
    display: flex;
    justify-content: flex-end;
    margin-top: 4.167vw;
    margin-right: 7.969vw;
}

.features{
    padding-bottom: 4.167vw;
    padding-top: 3.125vw;
    background-color: #f8fbf8;
}

.features-content {
    position: relative;
    height: 36.458vw;
}

.features-item {
    border-radius: 1.198vw;
    filter: drop-shadow(0 0 0.599vw rgba(19,78,33,0.26));
}

.features-item-first {
    position: absolute;
    top: 5.729vw;
    left: 5.583vw;
    width: 20.20vw;
}

.features-item-second {
    position: absolute;
    top: 22.396vw;
    left: 26.017vw;
    width: 19.16vw;
}

.features-item-third {
    position: absolute;
    top: 0;
    left: 35.271vw;
    width: 27.34vw;
}

.features-item-fourth {
    position: absolute;
    top: 11.458vw;
    right: 7.188vw;
    width: 27.39vw;
}

.features-button-container {
    display: flex;
    justify-content: center;
}

.voices{
    padding-bottom: 5.208vw;
    padding-top: 3.125vw;
}

.voices-content {
    margin-top: 5.208vw;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.604vw;
    width: 70.84vw;
}

.voices-detail-content{
    margin-top: 5.208vw;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.604vw;
    width: 70.84vw;
}

.voices-detail-item{
    max-width: 21.875vw;
}

.voices-item img, .voices-detail-item img{
    width: 100%;
    height: 14.38vw;
    object-fit: cover;
}

.voices-item h2, .voices-detail-item h2{
    font-size: 0.938vw;
    letter-spacing: 0.052vw;
    line-height: 1.771vw;
    color: #ffffff;
    width: 100%;
    height: 3.021vw;
    background-image: linear-gradient(90deg, #24a141 0%, #87c02c 100%);
    align-content: center;
    padding-left: 0.729vw;
    box-sizing: border-box;
    margin-top: 2.604vw;
}

.voices-item h3, .voices-detail-item h3{
    font-size: 0.938vw;
    letter-spacing: 0.052vw;
    line-height: 1.771vw;
    color: #292929;
    margin-top: 1.25vw;
    width: 100%;
}

.voices-item p, .voices-detail-item p{
    width: 100%;
    font-size: 0.833vw;
    letter-spacing: 0.052vw;
    line-height: 1.563vw;
    color: #6f706f;
}

.voices-item-first, .voices-detail-item-first{
    width: 21.875vw;
    object-fit: cover;
}

.voices-right-button img,.voices-left-button img{
    width: 4.48vw;
}

.voices-right-button:hover, .voices-left-button:hover{
    opacity: 0.5;
}

.voices-content-bottom {
    display: flex;
    margin-top: 4.167vw;
    margin-left: 7.76vw;
    margin-right: 7.76vw;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.voices-underline-green {
    width: 8.906vw;
    height: 0.521vw;
    background-color: #24a141;
    transition: transform 0.3s ease;
    transform-origin: left;
}

.voices-underline-black {
    width: 100%;
    height: 0.052vw;
    background-color: #707070;
    position: relative;
    margin-left: -8.906vw;
}

.voices-button-container {
    display: flex;
    gap: 0.521vw;
    margin-left: 3.125vw;
}

.columns {
    padding-bottom: 7.292vw;
    padding-top: 3.125vw;
}

.columns-content {
    gap: 5vw;
    flex-direction: row !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0;
    width: calc(100% - 5vw);
    padding: 0;
    margin-top: 5vw;
    margin-bottom: 5vw;
    padding-right: 4.267vw;
    box-sizing: border-box;
    border-top: 0.356vw solid #24a141;
    border-bottom: 0.356vw solid #24a141;
}

.columns-content-left {
    width: auto;
    height: auto;
    display: flex;
    gap: 5vw;
}

.columns-content-right {
    width: auto;
    height: auto;
    display: flex;
    gap: 5vw;
    padding-right: 4.267vw;
}

.columns-content-left-item {
    display: flex;
    gap: 1.563vw;
    
    padding: 2.083vw 0;
}

@media screen and (min-width: 768px) {
    .columns-content{
        justify-content: center;
        gap: 8.333vw;
        margin-top: 4.167vw;
        margin-bottom: 5.208vw;
        flex-direction: column;
        border: none;
        overflow: visible;
        width: 100%;
    }

    .columns-content-left, .columns-content-right {
        width: 37%;
        height: 47.531vw;
        display: block;
        gap: 0;
        padding-right: 0;
    }

    .columns-content-left-item {
        border-top: 0.156vw solid #24a141;
    }
}

.columns-content-left-item-left {
    width: 60%;
}

.columns-content-left-item-left img{
    width: 18.23vw;
    height: 11.9vw;
    object-fit: cover;
}

.columns-content-left-item-right {
    width: 50%;
}

.columns-content-left-item a{
    display: flex;
    width: 100%;
}

.columns-content-left-item:last-child {
    border-bottom: 0.156vw solid #24a141;
}

.columns-content-left-item-right-text {
    width: 15.625vw;
    font-size: 0.885vw;
    color: #292929;
}

.columns-content-left-item-right-header {
    display: flex;
    justify-content: space-between;
    gap: 0.521vw;
    margin-bottom: 1.042vw;
    margin-top: 0.521vw;
}

.columns-content-left-item-right-header-date {
    font-size: 0.773vw;
    color: #292929;
}

.columns-content-left-item-right-header-category {
    font-size: 0.573vw;
    color: #ffffff;
    padding: 0.417vw 0.625vw;
    border-radius: 0.938vw;
    text-align: center;
    align-content: center;
}

.interview {
    background-color: #3e348b;
}

.event {
    background-color: #d5458b;
}

.information {
    background-color: #52b3e8;
}

.columns-pagination {
    display: flex;
    justify-content: center;
    gap: 1.042vw;
}   

.columns-pagination-item {
    width: 2.708vw;
    height: 2.656vw;
    border-radius: 0.156vw;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.052vw solid #24a141;
    text-decoration: none;
    color: #24a141;
}

.columns-pagination-item.current {
    background-color: #24a141;
    color: #ffffff;
}

.columns-pagination-item.current a {
    font-size: 0.781vw;
    color: #ffffff;
    text-decoration: none;
}

.columns-pagination a {
    font-size: 0.781vw;
    color: #24a141;
    text-decoration: none;
}

.columns-arrow {
    background-color: #fff;
    color: #24a141;
    text-decoration: none;
    width: 1.094vw;
    height: 1.094vw;
    border-radius: 0.573vw;
    font-size: 0.625vw;
    text-align: center;
    align-content: center;
}

.page-about, .page-program{
    padding-bottom: 7.135vw;
    padding-top: 3.125vw;
    display: flex;
    justify-content: center;
}

.page-about-content-container, .page-program-content-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 12.969vw;
    padding-right: 12.969vw;
}

.page-about-content, .page-program-content {
    margin-top: 5.729vw;
    gap: 5.417vw;
}

.page-about-content-second, .page-program-content-second {
    display: flex;
    justify-content: center;
}

.page-about-content-second img, .page-program-content-second img {
    width: 19.06vw;
}

.page-about-content-right, .page-program-content-right {
    width: 50%;
}

.page-about-content-right img, .page-program-content-right img {
    width: 29.21vw;
}

.page-about-content-left h3, .page-program-content-left h3 {
    font-size: 1.5625vw;
    line-height: 2.5vw;
    margin-bottom: 0.521vw;
    width: 100%;
    color: #24a141;
}

.page-about-content-left h2, .page-program-content-left h2 {
    font-size: 2.5vw;
    color: #24a141;
}

.page-about-content-left p, .page-program-content-left p {
    font-size: 1.197vw;
    width: 100%;
    line-height: 2.083vw;
}

.page-title-container {
    display: flex;
    align-items: center;
    gap: 1.042vw;
    margin-top: 4.167vw;
}

.green-border {
    width: 5.417vw;
    height: 1.042vw;
    background-color: #24a141;
}

.page-title-container h2 {
    font-size: 1.979vw;
    letter-spacing: 0.052vw;
    line-height: 3.563vw;
    color: #292929;
}

.about-content-third-content, .page-program-content-third-content {
    display: flex;
    flex-direction: column;
    gap: 4.167vw;
    margin-top: 4.167vw;
    justify-content: center;
    align-items: center;
}

.about-content-third-content-item-first, .page-program-content-third-content-item-first {
    display: grid;
    width: 80%;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.042vw;
}

.about-content-third-content-item-first-item, .about-content-third-content-item-second-item{
    display: flex;
    align-items: center;
    border-radius: 0.990vw;
    background-color: #f8fbf8;
    padding-left: 1.542vw;
    width: 19.010vw;
    height: 7.656vw;
    position: relative;
    box-sizing: border-box;
}

.about-content-third-content-item-first-item p, .about-content-third-content-item-second-item p, .page-program-content-third-content-item-first-item p {
    font-size: 0.938vw;
    line-height: 1.563vw;
    color: #24a141;
}

.about-content-third-content-item-first-item img, .about-content-third-content-item-second-item img, .page-program-content-third-content-item-first-item img {
    width: 7.01vw;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.page-program-content-third-content-item-first-item img {
    width: 14.84vw;
}

.about-content-third-content-item-second, .page-program-content-third-content-item-second {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.042vw;
    width: 55%;
}

.about-content-fourth-content {
    margin-top: 4.167vw;
    display: flex;
    flex-direction: column;
    gap: 4.167vw;
}

.about-content-fourth-content-container {
    display: flex;
    gap: 4.167vw;
}

.about-content-fourth-content-left {
    width: 50%;
}

.about-content-fourth-content-left img {
    width: 33.95vw;
}

.about-content-fourth-content-right {
    width: 50%;
    padding-top: 5.208vw;
}

.about-content-fourth-content-right h2 {
    font-size: 1.979vw;
    line-height: 4.063vw;
    color: #24a141;
}

.about-content-fourth-content-right p {
    width: 35.938vw;
    height: 10.104vw;
    font-size: 1.198vw;
    line-height: 2.083vw;
    color: #292929;
}

.page-features-content {
    display: flex;
    flex-direction: column;
    gap: 4.167vw;
    padding-top: 8.333vw;
    padding-bottom: 8.333vw;
}

.page-features-item {
    position: relative;
}

.page-features-item img:not(.feature-first-img, .feature-second-img) {
    width: 80.88vw;
}

.page-features-item:nth-child(2n-1) {
    display: flex;
    justify-content: flex-end;
}

.page-features-item:nth-child(2n) {
    display: flex;
    justify-content: flex-start;
}

.page-features-item-content-first, .page-features-item-content-third, .page-features-item-content-fifth {
    position: absolute;
    top: 45%;
    left: 41%;
    transform: translate(-50%, -50%);
    width: 52.083vw;
    background-color: #ffffff;
    padding-bottom: 2.083vw;
}

.page-features-item-content-second, .page-features-item-content-fourth, .page-features-item-content-sixth {
    position: absolute;
    top: 47%;
    left: 59%;
    transform: translate(-50%, -50%);
    width: 52.083vw;
    background-color: #ffffff;
    padding-bottom: 2.083vw;
}

.page-features-item-content h2 {
    font-size: 4.219vw;
    color: #2ea43f;
    font-weight: 300;
    font-family: 'Noteworthy', sans-serif;
}

.page-features-item-content h3 {
    font-size: 1.979vw;
    line-height: 3.563vw;
    color: #ffffff;
    background-image: linear-gradient(90deg, #24a141 0%, #87c02c 100%);
    padding: 1.042vw;
    margin-left: 2.604vw;
    width: fit-content;
    margin-bottom: 1.042vw;
}

.page-features-item-content p {
    width: 43.281vw;
    height: 18.438vw;
    font-size: 1.146vw;
    letter-spacing: 0.052vw;
    line-height: 2.083vw;
    color: #292929;
    margin-left: 2.604vw;
    margin-top: 1.042vw;
}

.contact {
    display: flex;
    justify-content: center;
    padding-top: 7.135vw;
    padding-bottom: 7.135vw;
}

#contact-request,#contact-inquiry {
    width: 0.67vw;
    height: 0.67vw;
}

.contact-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-header {
    width: 100%;
    padding-bottom: 5.208vw;
    border-bottom: 0.052vw solid #24a141;
}

.contact-header h3 {
    font-size: 1.302vw;
    letter-spacing: 0.052vw;
    color: #24a141;
}

.contact-header h2 {
    font-size: 2.865vw;
    color: #24a141;
    margin-top: 1.042vw;
}

.contact-header p {
    font-size: 0.781vw;
    color: #24a141;
    margin-top: 0.833vw;
}

.contact-form {
    margin-top: 2.083vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contact-form-item, .contact-form-category {
    font-size: 0.781vw;
    color: #24a141;
}

.contact-form-category {
    margin-bottom: 4.167vw;
    width: 100%;
}

.contact-form-category p {
    margin-right: 2.083vw;
}

.contact-form-item input[type="text"]:not(#address) ,.contact-form-item input[type="email"],.contact-form-item input[type="tel"] {
    width: 28.75vw;
    height: 3.698vw;
    border-radius: 0.26vw;
    background-color: #eaf8ea;
    border: 0.052vw solid #a0d3ab;
    font-size: 1.563vw;
    padding-left: 1.042vw;
    margin-top: 0.521vw;
    margin-bottom: 2.083vw;
}

#address {
    width: 59.688vw;
    height: 3.698vw;
    border-radius: 0.26vw;
    background-color: #eaf8ea;
    border: 0.052vw solid #a0d3ab;
    font-size: 1.563vw;
    padding-left: 1.042vw;
    margin-top: 0.521vw;
    margin-bottom: 2.083vw;
}

#question {
    width: 59.688vw;
    height: 10.417vw;
    border-radius: 0.26vw;
    background-color: #eaf8ea;
    border: 0.052vw solid #a0d3ab;
    font-size: 1.563vw;
    padding-left: 1.042vw;
    margin-top: 0.521vw;
    margin-bottom: 2.083vw;
}

.contact-form-item-container {
    display: flex;
    gap: 1.042vw;
}

.contact-notice {
    text-align: center;
    font-size: 0.781vw;
    color: #24a141;
}

.contact-notice a {
    text-decoration: underline;
    color: #24a141;
}

.contact-submit {
    background-color: #fff;
    border: none;
    cursor: pointer;
    margin:3.125vw auto;
}

.contact-submit img {
    width: 11.66vw;
}

.page-program-content-third p {
    width: 59.74vw;
    height: 4.115vw;
    font-size: 1.198vw;
    line-height: 2.292vw;
    color: #292929;
}

.page-program-content-fourth-p {
    width: 59.74vw;  
    font-size: 1.198vw;
    line-height: 2.292vw;
    color: #292929;
}

.page-program-content-sixth-content-item{
    width: 17.292vw;
    height: 20.521vw;
    box-sizing: border-box;
    border-radius: 1.042vw;
    background-color: #edfdec;
}

.page-program-content-fourth p span {
    color: #24a141;
}

.curriculum {
    display: flex;
    flex-direction: column;
    gap: 1.042vw;
    margin-top: 4.167vw;
}

.curriculum-item {
    width: 68.854vw;
    border-radius: 1.042vw;
    background-color: #edfdec;
    padding: 2.604vw 3.646vw;
}

.curriculum-item-header {
    display: flex;
    gap: 1.042vw;
}

.curriculum-item-header img {
    width: 4.167vw;
}

.curriculum-item-header h2 {
    font-size: 1.979vw;
    letter-spacing: 0.104vw;
    line-height: 4.063vw;
    color: #24a141;
}

.curriculum-item p {
    font-size: 1.198vw;
    line-height: 2.292vw;
    color: #292929;
}

.curriculum-item-content {
    display: flex;
    gap: 0.521vw;
    margin-top: 2.083vw;
    flex-wrap: wrap;
}

.curriculum-item-content p {
    font-size: 1.146vw;
    letter-spacing: 0.052vw;
    line-height: 2.344vw;
    color: #292929;
    background-color: #ffffff;
    padding: 1.042vw 2.083vw;
    border-radius: 0.521vw;
}   

.page-program-content-fifth-p, .page-program-content-sixth-p {
    font-size: 1.198vw;
    line-height: 2.292vw;
    color: #292929;
}

.flow {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 4.167vw;
}

.flow-item {
    display: flex;
    gap: 5.208vw;
    justify-content: center;
}

.flow-item-left {
    width: 50%;
    align-content: center;
}

.flow-item-left-header {
    display: flex;
    gap: 5.208vw;
    border-bottom: 0.052vw solid #000;
    padding-left: 1.042vw;
    padding-bottom: 1.042vw;
}

.flow-item-left-header img{
    width: 12vw;
}

.flow-item-left h2 {
    font-size: 4.219vw;
    font-family: 'Noteworthy', sans-serif;
    color: #292929;
    font-weight: 300;
}

.flow-item-left-header p {
    font-size: 1.875vw;
    color: #292929;
    align-content: center;
}

.flow-item-left-content p {
    font-size: 1.198vw;
    line-height: 2.292vw;
    color: #292929;
    padding-left: 1.563vw;
    padding-top: 1.563vw;
    width: 38.073vw;
    box-sizing: border-box;
}

.flow-item-right {
    width: 30%;
}

.flow-item-right img {
    width: 21.354vw;
}

.page-program-content-sixth-content {
    display: flex;
    flex-wrap: wrap;
    gap: 2.083vw;
    justify-content: center;
    margin-top: 4.167vw;
}

.page-program-content-sixth-content-second {
    display: flex;
    flex-wrap: wrap;
    gap: 1.042vw;
    justify-content: center;
    margin-top: 2.083vw;
}

.page-program-content-sixth-content-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 1.242vw;
}

.page-program-content-sixth-content-item p {
    font-size: 1.042vw;
    letter-spacing: 0.052vw;
    line-height: 1.875vw;
    color: #292929;
    width: 13.021vw;
    padding-top: 0.5642vw;
}

.page-program-content-sixth-content-item-header {
    position: relative;
}

.page-program-content-sixth-content-item-header p {
    position: absolute;
    bottom: 0.5vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.354vw;
    letter-spacing: 0.052vw;
    line-height: 2.760vw;
    text-align: center;
    color: #292929;
    width: 100%;
}
.page-program-content-sixth-content img, .page-program-content-sixth-content-second img {
    width: 14.739583333333334vw;
}

.for-sp {
    display: none;
}

.cta-button {
    display: none;
}

/* ハンバーガーメニュー */
.hamburger-menu {
    display: none;
    background: none;
    border: none;
    padding: 0;
    width: 10.256vw;
    height: 10.256vw;
    cursor: pointer;
    position: fixed;
    right: 5.128vw;
    top: 5.128vw;
    z-index: 1000;
    outline: none;
    filter: drop-shadow(0 0 0.182vw rgba(0,0,0,0.8));
    -webkit-filter: drop-shadow(0 0 0.182vw rgba(0,0,0,0.8));
    will-change: filter;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.hamburger-line {
    display: block;
    width: 100%;
    height: 0.513vw;
    background-color: #ffffff;
    position: relative;
    transition: all 0.3s;
    pointer-events: none;
}

/* contactページの場合は緑色に */
.header-contact .hamburger-line, .header-column .hamburger-line {
    background-color: #24a141;
}

.hamburger-line:nth-child(1) {
    top: 0;
}

.hamburger-line:nth-child(2) {
    margin: 2.051vw 0;
}

.hamburger-line:nth-child(3) {
    bottom: 0;
}

/* ハンバーガーメニューがアクティブ時 */
.hamburger-menu.active .hamburger-line {
    background-color: #24a141;
}

.hamburger-menu.active .hamburger-line:nth-child(1) {
    transform: translateY(2.564vw) rotate(45deg);
}

.hamburger-menu.active .hamburger-line:nth-child(2) {
    opacity: 0;
}

.hamburger-menu.active .hamburger-line:nth-child(3) {
    transform: translateY(-2.564vw) rotate(-45deg);
}

.voices-detail-scontainer {
    width: 100%;
    border-bottom: 0.052vw solid #000;
    display: flex;
    justify-content: center;
}

.voices-detail {
    width: 72.917vw;
    margin-top: 8.208vw;
    padding-bottom: 8.208vw;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.voices-detail img {
    width: 100%;
    object-fit: cover;
}

.voices-detail h2{
    font-size: 2.083333333vw;
    letter-spacing: 0.104166667vw;
    line-height: 2.96875vw;
    color: #ffffff;
    display: inline-block;
    padding: 0.729166667vw 2.041666667vw;
    background-image: linear-gradient(90deg, #24a141 0%, #87c02c 100%);
    align-content: center;
    box-sizing: border-box;
    margin-top: 2.604166667vw;
}

.voices-detail-name {
    font-size: 1.979166667vw;
    letter-spacing: 0.104166667vw;
    line-height: 3.802083333vw;
    color: #6f706f;
    margin-bottom: 2.604166667vw;
    margin-top: 2.604166667vw;
    text-align: center;
}

.voices-detail-text {
    font-size: 1.145833333vw;
    letter-spacing: 0.052083333vw;
    line-height: 2.083333333vw;
    color: #292929;
}

.voices-view-more {
    text-align: center;
    font-size: 1.510416667vw;
    letter-spacing: 0.052083333vw;
    line-height: 2.916666667vw;
    color: #6f706f;
    margin-top: 10.41666667vw;
}

.column-header{
    width: 49.73vw;
    margin: 0 auto;
}

.column-header-first{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.208vw;
}

.column-date{
    font-size: 0.729vw;
    color: #24a141;
}

.column-category{
    font-size: 0.729vw;
    color: #ffffff;
    background-color: #3e348b;
    padding: 0.521vw 1.042vw;
    border-radius: 2.521vw;
}

.column-title{
    font-size: 2.083vw;
    color: #292929;
}

.sp-only{
    display: none;
}

.column-content{
    width: 70%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 8.208vw;
    margin-bottom: 3.208vw;
}

.column-content p, .column-content pre {
    width: 66%;
    font-size: 1.146vw;
    letter-spacing: 0.052vw;
    line-height: 2.083vw;
    color: #292929;
    font-family: 'Noto Sans JP', sans-serif;
    white-space: pre-wrap;
    margin: 1em 0;
}

.column-fv{
    width:66%;
    margin-bottom: 3.208vw;
    max-height: 30.078vw;
    object-fit: cover;
}

.feature-first-img{
    position: absolute;
    top: 0;
    right: 4vw;
    height: 45vw;
    object-fit: cover;
}

.feature-second-img{
    position: absolute;
    top: 0;
    left: 4vw;
    height: 45vw;
    object-fit: cover;
}

.page-program-content-third-content-item-first{
    height: 22vw;
}

.page-program-content-third-content-item-first-item{
    position: relative;
    width: 100%;
    height: 100%;
}

.page-program-content-sixth-content-item-second{
    background-color: #eef4ed;
}

@media (max-width: 768px) {
    label{
        margin-right: 2vw;
    }
    
    .hamburger-menu {
        display: block;
        filter: drop-shadow(0 0 1.82vw rgba(0,0,0,0.8)) !important;
    }

    .for-sp{
        display: block;
    }

    .header-nav-container {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 90vw;
        background-color: rgba(255, 255, 255, 0.95);
        padding-top: 30.769vw;
        z-index: 999;
    }

    .header-nav-container.active {
        display: block;
    }

    header nav ul {
        padding-top: 5vw;
        position: relative;
    }

    .header-nav-container li {
        display: block;
        margin: 5.128vw 0;
        text-align: center;
    }

    .header-nav-container li a {
        color: #24a141 !important;
        font-size: 4.103vw;
        padding: 2.564vw;
        display: block;
        filter: none !important;
    }

    .header-logo-white {
        filter: drop-shadow(0 0 1.82vw rgba(0,0,0,0.8)) !important;
    }

    .nav-contact {
        width: 80% !important;
        margin: 5.128vw auto !important;
        font-size: 4.103vw;
        height: 10.256vw;
        border-radius: 1.282vw;
        display: none !important;
    }

    /* 既存のモバイルスタイルを維持 */
    .flex:not(.title-container, .contact-form-category) {
        flex-direction: column;
    }

    .header-logo {
        width: 60%;
        display: none;
    }

    footer {
        padding: 8vw 4.27vw;
    }

    .footer-title {
        font-size: 12vw;
    }

    .footer-subtitle {
        font-size: 2.933vw;
        line-height: 4.563vw;
    }

    .footer-description {
        font-size: 2.933vw;
        line-height: 4.667vw;
        margin-bottom: 2vw;
    }

    .footer-container {
        width: 100%;
        flex-direction: column;
    }

    .footer-container-first {
        margin-bottom: 2vw;
    }

    .footer-container-first img {
        width: 100%;
        margin-bottom: 4vw;
    }

    .footer-logo {
        width: 85%;
        margin-bottom: 3vw;
    }

    .footer-address {
        font-size: 2.933vw;
        margin-bottom: 5vw;
    }

    .footer-sns {
        gap: 2vw;
        margin-top: 2vw;
    }

    .footer-sns img {
        width: 14.208vw;
    }

    .footer-link-subtitle {
        font-size: 2.56vw;
    }

    .footer-link-title {
        font-size: 2.56vw;
    }

    .footer-first-link {
        width: 20%;
    }

    .footer-second-link {
        width: 40%;
    }

    .footer-last-link {
        width: 30%;
    }

    .footer-copyright {
        font-size: 2.56vw;
    }

    .title-container {
        margin-left: 7.76vw;
    }

    .title-container img {
        width: 2.56vw;
        margin-right: 2.042vw;
    }

    .sub-title {
        font-size: 2.667vw;
    }

    .title{
        font-size: 3.733vw;
    }

    .about {
        padding-top: 7vw;
    }

    .about, .program, .features, .voices, .columns, .page-about, .page-program{
        padding-left: 4.267vw;
        padding-right: 4.267vw;
    }

    .about-content-left {
        width: 100%;
    }

    .about-content-right {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 3.083vw;
    }

    .about-content-left h3 {
        font-size: 4vw;
    }

    .about-content-left h2{
        font-size: 5.867vw;
    }

    .about-content-left p {
        font-size: 4.267vw;
        width: 100%;
        line-height: 6.667vw;
    }

    .detail-button-container {
        display: flex;
        justify-content: center;
    }

    .detail-button-container a {
        width: 55%;
    }

    .detail-button {
        width: 100%;
    }

    .about-content-right img {
        width: 100%;
        display: none;
    }

    .section-text {
        font-size: 4vw;
        margin-top: 3.083vw;
        line-height: 6.4vw;
        text-align: left;
    }

    .program {
        padding-top: 7vw;
        padding-bottom: 7vw;
    }

    .program-content {
        display: flex;
        flex-direction: column;
        gap: 5.083vw;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .program-content.sp-only p{
        margin-left: 2.667vw;
        margin-top: 2.667vw;
        font-size: 5.067vw;
        color: #ffffff;
        background-image: linear-gradient(90deg, #24a141 0%, #87c02c 100%);
        padding: 1.333vw 2.667vw;
        width: fit-content;
    }

    .program-content.sp-only p:last-child{
        margin-bottom: 5.333vw;
    }

    .program-img-first, .program-img-second, .program-img-third, .program-img-fourth {
        width: 100%;
    }

    .program-button-container{
        display: flex;
        justify-content: center;
        margin-right: 0;
    }

    .header-index{
        background-image: url(./img/fv_sp.png);
        height: 150vw;
    }

    .header-about{
        background-image: url(./img/about_fv_sp.png);
        height: 104.667vw;
    }

    .header-program{
        background-image: url(./img/program_fv_sp.png);
        height: 104.667vw;
    }

    .header-features{
        background-image: url(./img/facility_fv_sp.png);
        height: 104.667vw;
    }

    .header-voices{
        background-image: url(./img/voice_fv_sp.png);
        height: 104.667vw;
    }

    .program-button-container a {
        width: 55%;
    }

    .voices-detail{
        width: 100%;
    }

    .voices-detail img{
        height: 105.067vw;
        object-fit: cover;
    }

    .features {
        padding-top: 7vw;
        padding-bottom: 7vw;
        overflow: hidden;
    }
    
    .features-button-container a {
        width: 55%;
    }

    .voices {
        padding-top: 7vw;
        padding-bottom: 7vw;
    }
    
    .voices-content {
        display: flex;
        overflow-x: auto;
        padding: 8vw 0;
        gap: 4vw;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
        margin:0;
        width: 100%;
    }

    .voices-item {
        flex: 0 0 auto;
        width: 38vw;
        white-space: normal;
    }

    .voices-item:last-child {
        margin-right: 0;
        padding-right: 2.667vw;
    }

    .voices-item h2 {
        font-size: 3.5vw;
        height: auto;
        padding: 2vw;
    }

    .voices-item h3 {
        font-size: 3vw;
        margin: 2vw 0;
    }

    .voices-item p {
        font-size: 2.8vw;
        line-height: 1.6;
        margin-bottom: 2vw;
    }

    .voices-detail-content{
        gap: 2vw;
        grid-template-columns: 1fr 1fr;
        width: 72.917vw;
    }

    .voices-item, .voices-detail-item {
        display: flex;
        flex-direction: column;
    }
    
    .voices-item-first, .voices-detail-item-first {
        width: 100%;
        object-fit: cover;
    }

    .voices-item h2, .voices-detail h2 {
        font-size: 5.333vw;
        line-height: 8vw;
        width: 100%;
        padding: 2vw 4vw;
        margin-top: 6vw;
        width: fit-content;
    }

    .voices-item h3, .voices-detail-item h3 {
        font-size: 2.667vw;
    }

    .voices-item p, .voices-detail-item p, .voices-detail-item-text, .voices-view-more{
        font-size: 2.133vw;
        width: 100%;
        line-height: 4vw;
        margin-top: 1.083vw;
    }

    .voices-item a{
        width: 80%;
    }

    .voices-detail-item a{
        width: 100%;
    }

    .columns {
        padding-top: 7vw;
        padding-bottom: 7vw;
    }

    .columns-content {
        gap: 0;
        margin-left: 5vw;
        flex-direction: row !important;
        gap: 5vw;
        overflow: scroll;
    }

    .columns-content-left {
        width: auto;
        height: auto;
        display: flex;
        gap: 5vw;
    }

    .columns-content-left-item:not(.column-detail) {
        display: flex; 
        flex-direction: column;
        padding: 5vw 0;
    }

    .columns-content-left-item.column-detail {
        display: flex;
        padding: 5vw 0;
    }

    .columns-content-right {
        width: auto;
        height: auto;
        display: flex;
        gap: 5vw;
    }

    .columns-content-left-item-left:not(.column-detail) {
        width: 43.2vw;
        display: none;
        justify-content: center;
    }

    .columns-content-left-item-left.column-detail {
        width: 43.2vw;
        display: flex;
        justify-content: center;
    }

    .columns-content-left-item-left img {
        width: 100%;
        height: 28.133vw;
    }

    .columns-content-left-item-left.column-detail {
        width: 80%;
    }

    .columns-content-left-item-right.column-detail {
        width: 80%;
    }

    .columns-pagination{
        gap: 5.333vw;
    }

    .columns-pagination:not(.detail-pagination){
        display: none;
    }

    .columns-content-left-item-right {
        width: 67.6vw;
    }

    .columns-content-left-item-right-header {
        width: 100%;
        margin-bottom: 1vw;
    }

    .columns-content-left-item-right-text {
        width: 100%;
        font-size: 2vw;
    }

    .columns-content-left-item-right img {
        width: 100%;
        max-height: 44.93vw;
        height: 44.93vw;
        object-fit: cover;
    }

    .columns-content-left-item-right-header-date {
        font-size: 1.2vw;
    }

    .columns-content-left-item-right-header-category {
        font-size: 1.2vw;
        padding: 1.042vw 1.563vw;
        border-radius: 3.563vw;
    }
    
    .columns-pagination a {
        font-size: 4.267vw;
        width: 15.067vw;
        height: 15.067vw;
    }

    .columns-arrow {
        font-size: 4.267vw;
        width: 7.467vw;
        height: 7.467vw;
        border-radius: 3.733vw;
    }

    .page-about-content-container{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .page-about-content-left, .page-program-content-left {
        width: 100%;
    }

    .sp-only{
        display: block;
    }
    

    .page-about-content-left h3, .page-program-content-left h3 {
        font-size: 5.333vw;
        line-height: 8vw;
        margin-bottom: 2vw;
        width: 100%;
    }

    .page-about-content-left p, .page-program-content-left p {
        font-size: 4.267vw;
        width: 100%;
        line-height: 6.8vw;
    }

    .page-about-content-right, .page-program-content-right {
        width: 100%;
    }

    .page-about-content-right img, .page-program-content-right img {
        width: 69.067vw;
        margin-left: auto;
        display: block;
    }

    .page-about-content-second img, .page-program-content-second img {
        width: 80%;
    }

    .about-content-third-content, .page-program-content-third-content {
        width: 100%;
    }

    .page-about-content-second, .page-program-content-second {
        margin-top: 4vw;
    }

    .about-content-third {
        width: 100%;
    }

    .about-content-third-content-item-first, .page-program-content-third-content-item-first {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 4vw;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .green-border{
        width: 5.417vw;
        height: 1.042vw;
    }
    
    .page-title-container h2 {
        font-size: 4.533vw;
        line-height: 6.667vw;
    }

    .about-content-fourth-content-container {
        flex-direction: column;
    }

    .about-content-fourth-content-left {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .about-content-fourth {
        width: 100%;
    }
    
    .about-content-fourth-content-left img {
        width: 100%;
    }

    .about-content-fourth-content-right {
        width: 100%;
    }

    .about-content-fourth-content-right h2{
        font-size: 5.333vw;
    }

    .about-content-fourth-content-right p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        width: 100%;
        height: auto;
        margin-top: 3vw;
    }

    .page-about-content, .page-program-content{
        margin-top: 0;
        flex-direction: column-reverse !important;
    }

    .about-content-fourth-content-container{
        gap: 1vw;
    }

    .about-content-fourth-content .about-content-fourth-content-container:nth-child(2n) {
        flex-direction: column-reverse;
    }
    
    .about-content-fourth-content{
        gap: 8vw;
    }

    .page-about, .page-program{
        padding-top: 14vw;
        padding-bottom: 14vw;
    }

    .about-content-third-content-item-first-item img, .about-content-third-content-item-second-item img{
        width: 90%;
    }
    
    .about-content-third-content-item-second, .page-program-content-third-content-item-second{
        gap: 4vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .page-features-item img:not(.feature-first-img, .feature-second-img, .features-bg-sp){
        width: 100vw !important;        
        overflow: hidden;
    }

    .page-features-item-content h3{
        font-size: 5.067vw;
        padding: 2vw 4vw;
        line-height: 7.6vw;
    }

    .page-features-item-content p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        height: auto;
        width: 93%;
        margin-bottom: 5vw;
    }

    .page-features-item-content-first, .page-features-item-content-third, .page-features-item-content-fifth{
        width: 100%;
        left: 45%;
        position: static;
        transform: none;
        padding-left: 4.267vw;
        padding-right: 4.267vw;
        box-sizing: border-box;
    }

    .page-features-item-content-second, .page-features-item-content-fourth, .page-features-item-content-sixth{
        width: 100%;
        left: 55%;
        position: static;
        transform: none;
        margin-left:auto;
        padding-right: 4.267vw;
        padding-left: 4.267vw;
        box-sizing: border-box;
    }

    .page-features-content {
        gap: 10vw;
    }

    .contact-header h2{
        font-size: 7.333vw;
    }

    .contact-header h3{
        font-size: 3.333vw;
    }

    .contact-header p{
        font-size: 2vw;
    }

    .contact-form-item-container{
        flex-direction: column;
        width: 100%;
    }

    .contact-form-item input[type="text"]:not(#address), .contact-form-item input[type="email"], .contact-form-item input[type="tel"]{
        width: 100%;
        height: 12.4vw;
        font-size: 4.07vw;
        box-sizing: border-box;
        padding-left: 2vw;
    }

    #address{
        height: 12.4vw;
        width: 100%;
        box-sizing: border-box;
        font-size: 4.07vw;
        padding-left: 2vw;
    }

    #question{
        width: 100%;
        font-size: 4.07vw;
        padding-left: 2vw;
        height: 93.333vw;
        box-sizing: border-box;
    }

    .page-features-item-content h2{
        font-size: 8vw;
    }
    
    .contact-form-item, .contact-form-category{
        width: 80%;
    }

    .contact-form-item p{
        font-size: 4.4vw;
    }

    .contact-form-item, .contact-form-category{
        font-size: 4.4vw;
        width: 100%;
    }
    
    .contact-notice{
        font-size: 2.667vw;
        line-height: 4.267vw;
    }

    .contact-submit{
        margin-top: 16vw;
    }

    .contact-submit img{
        width: 59.6vw;
    }

    #contact-request, #contact-inquiry{
        width: 4vw;
        height: 4vw;
    }

    .contact-form-category p{
        margin-right: 4vw;
    }

    .contact-form{
        margin-top: 4vw;
    }

    .curriculum{
        gap: 4vw;
        margin-top: 10vw;
    }

    .page-program-content-left {
        width: 100%;
    }

    .curriculum-item-header img{
        width: 6vw;
    }

    .curriculum-item h2{
        font-size: 3.57vw;
        line-height: 6.063vw;
    }

    .curriculum-item p:not(.curriculum-item-content p, .curriculum-item-header-plus){
        font-size: 2.57vw;
        line-height: 4.063vw;
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }

    .curriculum-item-content p{
        width: auto;
        font-size: 2.37vw;
        line-height: 4.063vw;
    }

    .curriculum-item-content{
        gap: 1.4vw;
        font-size: 2.0vw;
    }

    .curriculum-item{
        width: 100%;
        box-sizing: border-box;
    }

    .flow-item{
        flex-direction: column;
        margin-bottom: 10vw;
    }

    .flow-item-left h2{
        font-size: 8.07vw;
    }

    .flow-item-left-header p{
        font-size: 4.8vw;
    }

    .page-program-content-third p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }

    .flow-item-left{
        width: 100%;
    }

    .page-title-container {
        margin-top: 10vw;
    }

    .flow-item-left-content p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }

    .page-program-content-fifth-p, .page-program-content-sixth-p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }

    .flow{
        margin-top: 10vw;
    }

    .page-program-content-fourth-p {
        font-size: 4.267vw;
        line-height: 6.8vw;
        width: 100%;
        height: auto;
        margin-top: 2vw;
    }

    .page-program-content-third-content-item-first-item img{
        width: 60%;
    }

    .page-program-content-container{
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .flow-item-right{
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .flow-item-right img{
        width: 50%;
    }

    .flow .flow-item:nth-child(2n){
        flex-direction: column-reverse;
    }

    .page-program-content-sixth-content img, .page-program-content-sixth-content-second img{
        width: 100%;
    }

    .page-program-content-sixth-content-item p{
        font-size: 4.267vw;
        line-height: 6.8vw;
        padding-top: 4vw;
        width: 78.133vw;
    }

    .page-program-content-sixth-content, .page-program-content-sixth-content-second{
        flex-direction: column;
        align-items: center;
        gap: 4vw;
        margin-top: 10vw;
    }

    .page-program-content-sixth-content-item-header p{
        font-size: 7.067vw;
        bottom: 3vw;
        line-height: 14.4vw;
    }

    .page-program-content-sixth-content-item-header{
        justify-content: center;
        display: flex;
        width: 78.133vw;
    }

    .page-program-content-sixth-content-item{
        width: 100%;
        height: auto;
        padding-top: 8vw;
        padding-bottom: 8vw;
        border-radius: 2vw;
    }

    .about-content-third-content-item-first-item, .about-content-third-content-item-second-item{
        width: 100%;
        height: 27vw;
        padding-left: 5vw;
    }

    .about-content-third-content-item-first-item p, .about-content-third-content-item-second-item p, .page-program-content-third-content-item-first-item p{
        font-size: 4vw;
        line-height: 6vw;
    }

    .page-program-content-third-content-item-first-item{
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .about-content-third-content-item-first-item img, .about-content-third-content-item-second-item img{
        width: 30%;
        right: 2vw;
    }

    .title-container {
        margin-left: 0;
    }

    .about-content{
        margin-left: 0;
        margin-right: 0;
    }

    .page-program-content-third-content-item-first{
        height: auto;
    }

    .page-program-content-third-content-item-first-item img{
        position: static;
        transform: none;
        width: 60%;
    }

    .flow-item-left-header{
        padding-bottom: 3vw;
    }
    
    .flow-item-left-header img{
        width: 32.133vw;
    }

    .contact-content{
        width: 100%;
        padding-left: 4.267vw;
        padding-right: 4.267vw;
    }

    .voices-view-more{
        margin-top: 6vw;
        font-size: 3.867vw;
    }

    .voices-right-button img, .voices-left-button img{
        width: 10vw;
    }

    .voices-detail-name{
        font-size: 5.333vw;
        line-height: 9.733vw;
    }

    .voices-detail-text{
        font-size: 4.267vw;
        line-height: 6.8vw;
    }

    .voices-item h2, .voices-detail-item h2{
        font-size: 2.667vw;
        line-height: 4.133vw;
        margin-top: 2vw;
    }

    .voices-underline-green {
        width: 20vw;
    }
    
    .voices-underline-black {
        margin-left: -20vw;
    }

    .voices-item img, .voices-detail-item img{
        height: 51.6vw;
        object-fit: cover;
        width: 38vw;
        object-fit: cover;
    }

    .voices-detail-item{
        width: 38vw;
        max-width: 100%;
    }

    .column-header{
        width: 100%;
    }

    .column-date{
        font-size: 1.867vw;
    }

    .column-category{
        font-size: 1.867vw;
        padding: 2vw 4vw;
        border-radius: 4vw;
    }

    .column-title{
        font-size: 5.333vw;
    }

    .column-fv{
        width: 100%;
        max-height: 50vw;
    }

    .column-content p, .column-content pre{
        width: 100%;
        font-size: 4.267vw;
        line-height: 6.8vw;
    }

    .column-content{
        width: 100%;
    }

    .column-section{
        padding-left: 4.267vw;
        padding-right: 4.267vw;
        box-sizing: border-box;
    }

    .cta-button {
        display: block;
        position: fixed;
        bottom: 2.667vw;
        left: 50%;
        transform: translateX(-50%);
        letter-spacing: 0.104vw;
        color: #ffffff;
        background-color: #d15182;
        text-align: center;
        align-content: center;
        width: 80% !important;
        font-size: 4.103vw;
        height: 10.256vw;
        border-radius: 1.282vw;
        z-index: 1000;
    }

    .cta-button-header {
        display: none;
        position: fixed;
        top: 6.4vw;
        right: 18.667vw;
        letter-spacing: 0.267vw;
        color: #ffffff;
        background-color: #d15182;
        text-align: center;
        align-content: center;
        font-size: 2.4vw;
        height: 8vw;
        width: 38.667vw;
        border-radius: 0.4vw;
        z-index: 1000;
    }

    .header-logo-sp {
        position: fixed;
        top: 9.333vw;
        left: 4.267vw;
        width: 54.4vw; 
    }

    .page-features-item {
        display: block !important;
    }

    .feature-first-img{
        position: absolute;
        bottom: 6.667vw;
        top: auto;
        left: 0;
        width: 100vw !important;
        height: 40.4vw !important;
        object-fit: cover;
    }

    .feature-second-img{
        position: absolute;
        bottom: 6.667vw;
        top: auto;
        left: 0;
        width: 100vw !important;
        height: 40.4vw !important;
        object-fit: cover;
    }

    .contact {
        padding-top: 20vw;
    }

    .footer-right-second{
        display: none;
    }

    .footer-copyright{
        display: none;
    }

    .features-item-first{
        width: 37.467vw;
        left: -2.267vw;
        bottom: 10.667vw;
        top: auto;
    }

    .features-item-second{
        width: 56.4vw;
        left: 73.333vw;
        top: 33.333vw;
    }

    .features-item-third{
        width: 54.667vw;
        left: 12.4vw;
        top: 10.667vw;
    }

    .features-item-fourth{
        display: none;
    }

    .features-content{
        height: 90vw;
    }

    .sp-about-item-2{
        margin-left: 0 !important;
        margin-right: auto;
        width: 44.4vw !important;
        margin-top: 4vw;
    }

    .sp-program-men-item{
        width: 44.4vw !important;
        margin-top: 4vw;
        margin-left: 0 !important;
        margin-right: auto;
        display: block;
    }

    .curriculum-item-header-plus{
        font-size: 4.267vw !important;
        align-content: center;
        margin-left: auto;
    }

    .curriculum-item p:not(.curriculum-item-header-plus),
    .curriculum-item-content {
        display: none;
    }

    .curriculum-item.active p:not(.curriculum-item-header-plus),
    .curriculum-item.active .curriculum-item-content {
        display: flex;
    }

    .curriculum-item-header {
        position: relative;
        cursor: pointer;
    }

    .curriculum-item-header-plus {
        position: absolute;
        right: 2vw;
        top: 50%;
        transform: translateY(-50%);
        font-size: 3.2vw;
        margin: 0;
    }

    .curriculum-item.active .curriculum-item-header-plus {
        content: "-";
    }

    .features-bg-sp{
        width: 90vw !important;
        height: 53.333vw !important;
        object-fit: cover;
    }

    .features-bg-sp-first{
        margin-left: auto;
    }

    .features-bg-sp-second{
        margin-right: auto;
    }

    .columns-content-left-item a{
        gap: 1.563vw;
    }

    .page-about-content-container, .page-program-content-container {
        padding-left: 0;
        padding-right: 0;
    }

    .index-columns-date {
        font-size: 2.537vw;
    }

    .index-columns-category {
        font-size: 1.6vw;
        margin-bottom: 2.042vw;
    }

    .index-columns-text {
        font-size: 3.466vw;
        margin-top: 2.042vw;
    }

    .columns {
        padding-right: 0;
    }

   .columns-content-left-item.column-detail{
        border-top: 0.356vw solid #24a141;
        
    }

    .columns-content-left-item:last-child {
        border-bottom: none;
    }

    .columns-detail-content {
        margin: 0;
        border: none;
        margin-bottom: 10vw;
    }

    .columns-detail-content, .column-detail-content-left, .column-detail-content-right {
        flex-direction: column !important;
    }

    .column-detail-content-right {
        padding-right: 0;
    }

    .column-detail-last {
        border-bottom: 0.356vw solid #24a141 !important;
    }

    .voices-all-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow-x: hidden;
    }

    .voices-item-all {
        width: 100%;
    }

    .voices-item-all a img {
        width: 100%;
    }
}
/* PC・SPの表示制御 */
@media screen and (max-width: 768px) {
    .pc-only {
        display: none !important;
    }
}

/* 中央基準のフェードインアニメーション */
.fade-in-center {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
    will-change: opacity, transform;
}

.fade-in-center.show {
    opacity: 1;
    transform: translateY(0);
}

/* 上端基準のフェードインアニメーション */
.fade-in-top {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 1s ease, transform 1s ease;
    will-change: opacity, transform;
    transform-origin: top;
}

.fade-in-top.show {
    opacity: 1;
    transform: translateY(0);
}