*, *::before, *::after {
    box-sizing: border-box;
}
li {
    list-style: none;
}
p {
    margin: 0;
    padding: 0;
}
.overview__dl-btn:hover .overview__dl-btn-text {
    color: #0B1E36;
}

.overview {
    display: flex;
    gap: 7.08vw;
    width: 83.3vw;
    margin: 0 auto;
}
.overview__sidebar-wrap {
    width: 20.69vw; 
    height: 100%; 
    position: sticky;
    top: 9.72vw; 
}
.overview__sidebar {
    width: 100%; 
    display: flex;
    flex-direction: column;
    gap: 2.77vw;
    padding-top: 8.33vw; 
}
.overview__sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
    padding-left: 2.9vw;
}
.overview__sidebar-item {
    font-size: 1.18vw;
    font-weight: 500;
    line-height: 1.5;
    color: #ACB0B5;
    position: relative;
}
.overview__sidebar-icon {
    display: none;
}
.overview__sidebar-item.is-active {
    color: #0B1E36;
}
.overview__sidebar-item.is-active::before {
    content: "";
    position: absolute;
    background-color: #0454AE;
    width: 0.55vw;
    height: 0.55vw;
    border-radius: 50%;
    top: 35%;
    left: -1.5vw;
}
.overview__sidebar-item.is-active::after {
    content: "";
    position: absolute;
    background-color: #C8D3E4; 
    width: 1.38vw; 
    height: 1px; 
    top: 50%;
    left: -3.125vw; 
    transform: translateY(-50%);
    z-index: 5; 
}
.overview__dl {
    display: flex;
    flex-direction: column;
    gap: 1.38vw;
}
.overview__dl-btn {
    display: inline-block;
    width: 18vw;
    height: 3.47vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    background-color: #F2F4FA;
    border: 1px solid #C8D3E4;
    z-index: 50;
    cursor: pointer;
    border-radius: 4px;
}
.overview__dl-btn-text-wrap {
    display: flex;
    width: 11.3vw;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-left: 2.3vw;
    margin-right: 2.08vw;
}
.overview__dl-btn-text-wrap--leaflet {
    display: flex;
    width: 14vw;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-left: 0.8vw;
    margin-right: 1vw;
}
.overview__dl-btn-text, .overview__dl-btn-text-sp, .overview__dl-btn-text-pc-entry {
    font-size: 1.1vw;
    font-weight: 700;
    color: #0B1E36;
}
.overview__dl-btn-text-sp-entry {
    display: none;
}
.overview__dl-btn:hover .overview__dl-btn-text,
.overview__dl-btn:hover .overview__dl-btn-text-sp,
.overview__dl-btn:hover .overview__dl-btn-text-pc-entry,
.overview__dl-btn:hover .overview__dl-btn-text-sp-entry {
    color: #0454AE;
}
.overview__dl-btn-wrap {
    position: relative;
    z-index: 60;
    display: inline-block;
}
.overview__dl-btn-wrap::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 荳ｭ螟ｮ縺ｫ驟咲ｽｮ */
    width: 1.94vw;  /* 蜀��螟ｧ縺阪＆ */
    height: 1.94vw;
    background-image: linear-gradient(
        to bottom, /* 繧ｰ繝ｩ繝��繧ｷ繝ｧ繝ｳ縺ｮ譁ｹ蜷�: 荳翫°繧我ｸ九∈ */
        #0397E7,  /* 髢句ｧ玖牡 (譏弱ｋ縺�搨) */
        #0454AE   /* 邨ゆｺ�牡 (豼�＞髱�) */
    );
    border-radius: 50%;
    z-index: -1; /* 竊� 遏｢蜊ｰ縺ｮ蠕後ｍ縺ｫ驟咲ｽｮ�� */
    transition: background-image 0.3s ease;
}
.overview__dl .contact__btn {
  margin: 0 auto;
  border: 1px solid #d8dadc;
}


.overview__content {
    width: 55.55vw;
    display: flex;
    flex-direction: column;
    padding: 8.33vw 0 9.72vw 0;
}
.eligibility {
    width: 55.55vw;
    display: flex;
    flex-direction: column;
    gap: 3.33vw;
}
.section__ttl {
    display: flex;
    flex-direction: column;
    gap: 0.69vw;
}
.section__ttl-en {
    font-size: 1.1vw;
    font-weight: 500;
    font-family: 'Outfit', sans-serif;
    color: #0454AE;
}
.section__ttl-ja {
    font-size: 2.5vw;
    font-weight: 700;
    color: #0B1E36;
}
.eligibility__overview {
    display: flex;
    flex-direction: column;
    gap: 1.66vw;
}
.eligibility__overview-txt {
    font-size: 1.1vw;
    font-weight: 400;
    color: #0B1E36;
    background-color: #F7F9FD;
    padding: 1.38vw;
}
.eligibility__overview-ref {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.eligibility__overview-ref-ttl {
    font-size: 1.25vw;
    font-weight: 700;
    color: #0B1E36;
}
.eligibility__overview-ref-txt {
    font-size: 1.1vw;
    font-weight: 400;
    color: #0B1E36;
}
.eligibility__venture-ttl {
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.6;
}
.section__subttl {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.section__subttl-content {
    display: flex;
    align-items: center;
    gap: 0.69vw;
}
.circle {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-image: linear-gradient(
        to bottom,
        #0397E7, 
        #0454AE 
    );
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; 
    overflow: hidden;
}
.circle::before {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #FFFFFF; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); 
}
.section__subttl-ttl {
    font-size: 1.8vw;
    font-weight: 700;
    color: #022B59;
}
.section__subttl-txt {
    font-size: 1.1vw;
    font-weight: 400;
    color: #0B1E36;
}
.eligibility__group {
    display: flex;
    flex-direction: column;
    gap: 2.77vw;
}
.eligibility__group-list {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.eligibility__group-ttl {
    font-size: 1.57vw;
    font-weight: 700;
    color: #0B1E36;
    border-left: 3px solid #0454AE;
    padding-left: 7px;
}
.eligibility__group-item {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.group__list-content {
    display: flex;
    flex-direction: column;
    gap: 2.77vw;
}
.group__list-item {
    display: flex;
    flex-direction: column;
}
.group__item-ttl {
    font-size: 1.1vw;
    font-weight: 700;
    color: #0B1E36;
    background-color: #F7F9FD;
    width: 100%;
    height: 3.19vw;
    padding: 0.69vw 0.97vw;
}
.group__item-txt {
    font-size: 1.1vw;
    font-weight: 400;
    color: #0B1E36;
    line-height: 1.6;
    width: 100%;
    height: auto;
    padding: 0.83vw 1.38vw 0.83vw 2.77vw;
    display: flex;
    flex-direction: column;
    gap: 0.69vw;
}
.group__item-txt-content {
    padding-left: 2vw;
}
.eligibility__field-list {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.eligibility__field-item {
    display: flex;
    flex-direction: column;
    gap: 1.1vw;
}
.field__list-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.field__item-ttl {
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.6;
    color: #0B1E36;
}
.field__item-txt {
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.6;
    color: #0B1E36;
    text-indent: 2rem;
}
.eligibility__venture-ttl {
    font-size: 1.25vw;
    line-height: 1.6;
    font-weight: 700;
}
.eligibility__field-item {
    counter-reset: field-number; /* カウンターを 'field-number' という名前でリセット */
}
.eligibility__field-item ol {
    counter-increment: field-number; /* ol の数だけカウンターを +1 する */
}
.field__item-ttl::before {
    /* ナンバーを表示: counter(カウンター名) + ピリオドとスペース */
    content: counter(field-number) ". "; 
    /* 1. 2. などの番号のスタイル調整 */
    font-weight: 700;
    color: #0B1E36;
    margin-right: 8px;
}
.eligibility__field-item ol {
    list-style: none;
    padding-left: 0; 
}
.eligibility__caution {
    display: flex;
    flex-direction: column;
    gap: 1.38vw;
    border: 1px solid #C8D3E4;
    padding: 1.38vw;
}
.eligibility__caution-ttl {
    font-size: 1.25vw;
    font-weight: 700;
    line-height: 1.6;
    color: #0B1E36;
}
.eligibility__caution-list {
    display: flex;
    flex-direction: column;
    gap: 1.38vw;
}
.eligibility__caution-item {
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.6;
    color: #0B1E36;
    position: relative;
    padding-left: 1.25vw;
}
.eligibility__caution-item::before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #0454AE;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}
.eligibility__venture {
    display: flex;
    flex-direction: column;
    gap: 0.69vw;
    background-color: #F7F9FD;
    padding: 1.38vw;
}
.eligibility__venture-txt {
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.6;
    color: #0B1E36;
    padding-left: 1.38vw;
}
.awards {
    display: flex;
    flex-direction: column;
    gap: 3.3vw;
    padding-top: 5.5vw;
}
.awards__list {
    display: flex;
    flex-direction: column;
    gap: 3.3vw;
}
.section__subttl-txt, .section__subttl-txt-item {
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.6;
    color: #0B1E36;
}
.section__subttl-note {
    font-size: 0.97vw;
    font-weight: 400;
    line-height: 1.6;
    color: #0B1E36;
    padding-left: 1.38vw;
}
.evaluation {
    display: flex;
    flex-direction: column;
    gap: 3.3vw;
    padding-top: 5.5vw;
}
.evaluation__inner {
    display: flex;
    flex-direction: column;
    gap: 2.77vw;
}
.group__item-txt-ttl {
    display: block; /* margin-bottomを適用するために必要 */
    margin-bottom: 4px; /* 下に余白 */
    /* ... その他のスタイル ... */
}
.evaluation__way {
    display: flex;
    flex-direction: column;
    gap: 2.77vw;
}
.evaluation__way-ttl {
    font-size: 1.25vw;
    font-weight: 700;
    padding-bottom: 4px;
    display: flex;
    gap: 8px;
}
.evaluation__way-txt {
    padding-left: 2vw;
    font-size: 1.1vw;
}
.evaluation__way-txt:first-of-type {
    padding-bottom: 1.66vw;
}
.ceremony {
    padding-top: 5.5vw;
    display: flex;
    flex-direction: column;
    gap: 3.3vw;
}
.section__subttl-txts {
    position: relative;
    padding-left: 1.25vw;
}
.section__subttl-txts::before {
    content: "";
    position: absolute;
    background-color: #0454AE; 
    width: 6px; 
    height: 6px;
    border-radius: 50%;
    left: 1px; 
    top: 0.8em; 
    transform: translateY(-50%); 
}
.table__wrap {
    width: 100%;
}
.table__row {
    height: 4.16vw;
    border-bottom: 1px solid #D8DADC;
}
.table__row:last-child {
    border-bottom: none;
}
.table__head {
    width: 6.25vw;
    text-align: center;
    border-right: 1px solid #D8DADC;
    background-color: #F7F9FD;
    font-weight: 400;
    font-size: 1.04vw;
}
.table__date {
    width: 11.1vw;
    padding-left: 1vw;
    border-right: 1px solid #D8DADC;
    background-color: #F7F9FD;
    font-weight: 400;
    font-size: 1.04vw;
}
.table__data {
    padding-left: 1.66vw;
    font-weight: 400;
    font-size: 1.04vw;
}
.table__data a {
  text-decoration: underline;
}


.overview__line {
    padding-top: 1.94vw;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
}
.overview__line-bar {
    width: 55vw;
    height: 1px;
    background-color: #D8DADC;
}
.overview__line-circle {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #0454AE;
}

.sp-only {
    display: none;
}


@media (min-width: 768px) and (max-width: 991px) { 
    .overview__dl-btn-icon {
        width: 0.83vw;
        padding-bottom: 0.4vw;
    }
}

@media (max-width: 767px) {
    .overview {
        display: flex;
        flex-direction: column;
        gap: 19.2vw;
        width: 89.3vw;
        margin: 0 auto;
        padding: 21.3vw 0 26.6vw 0;
    }
    .overview__sidebar-wrap {
        width: 100%; 
        height: 100%; 
        position: static;
    }
    .overview__sidebar {
        width: 100%; 
        display: flex;
        flex-direction: column;
        gap: 10.6vw;
        padding-top: 0; 
    }
    .overview__sidebar-list {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4vw;
        padding-left: 0;
    }
    .overview__sidebar-item {
        margin-right: 15vw;
        font-size: 3.73vw;
        font-weight: 700;
        line-height: 1.2;
        color: #0B1E36;
        position: relative;
    }
    .overview__sidebar-icon {
        display: none;
    }
    .overview__sidebar-item.is-active {
        display: flex;
        align-items: center;
    }
    .overview__sidebar-item.is-active::before {
        display: none;
    }
    .overview__sidebar-item.is-active::after {
        display: none;
    }
    .overview__sidebar-item-sp {
        z-index: 60;
        display: inline-block;
        position: absolute;
        
        right: 3vw;
        top: 50%;
        transform: translateY(-50%);
        
        width: 5.33vw;
        height: 5.33vw;
    }
    .overview__sidebar-item-sp::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        
        width: 5.33vw;
        height: 5.33vw;
        background-image: linear-gradient(
            to bottom,
            #0397E7,
            #0454AE
        );
        border-radius: 50%;
        z-index: -1;
        transition: background-image 0.3s ease;
    }
    .overview__sidebar-icon {
        display: block;
        
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        
        width: 2.13vw;
        height: auto;
        
        padding-top: 0;
        padding-left: 0;
    }
    .overview__sidebar-item-link {
        display: flex;
        align-items: center;
        position: relative;
        
        width: 42.4vw;
        height: 11.7vw;
        background-color: #F2F4FA;
        border: 1px solid #C8D3E4;
        border-radius: 4px;
        
        padding-left: 9vw;
        
        padding-right: 0; 
        
        justify-content: flex-start;
    }
    .overview__sidebar-item-link:last-child {
        padding-left: 4vw;
    }
    .overview__dl {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4vw;
    }
    .overview__dl-btn {
        display: flex;
        align-items: center;
        position: relative;
        width: 42.4vw;
        height: 11.7vw;
        background-color: #F2F4FA;
        border: 1px solid #C8D3E4;
        border-radius: 4px;
        padding-left: 9vw;
        padding-right: 0; 
        justify-content: flex-start;
    }
    .overview__dl-btn-text-wrap {
        display: flex;
        flex-direction: column;
        text-align: center;
        justify-content: flex-start;
        align-items: start;
        font-size: 3.73vw;
        font-weight: 700;
        line-height: 1.2;
        color: #0B1E36;
        position: relative;
        margin: 0;
        width: 27vw;
    }
    .overview__dl-btn-text {
        font-size: 3.71vw;
        margin-right: 15vw;
        width: 25vw;
        text-align: start;
    }
    .overview__dl-btn-text-sp {
        font-size: 2.93vw;
        margin-right: 15vw;
        width: 18vw;
    }
    .overview__dl-btn-text-pc-entry {
        display: none;
    }
    .overview__dl-btn-text-sp-entry {
        display: block;
        font-size: 3.5vw;
        margin-right: 15vw;
        width: 18vw;
    }
    .overview__dl-btn:hover .overview__dl-btn-text {
        color: #0454AE;
    }
    .overview__dl-btn-wrap {
        position: relative;
        z-index: 60;
        display: inline-block;
    }
    .overview__dl-btn-wrap::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 5.33vw;
        height: 5.33vw;
        background-image: linear-gradient(
            to bottom,
            #0397E7,
            #0454AE
        );
        border-radius: 50%;
        z-index: -1;
        transition: background-image 0.3s ease;
    }
    .overview__dl-btn-icon {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -40%);
        width: 2.4vw;
        height: auto;
        padding-top: 0;
        padding-left: 0;
    }
    
    
    
    
    .overview__content {
        width: 89.3vw;
        display: flex;
        flex-direction: column;
        padding: 0;
    }
    .eligibility {
        width: 89.3vw;
        display: flex;
        flex-direction: column;
        gap: 12.8vw;
    }
    .section__ttl {
        display: flex;
        flex-direction: column;
        gap: 2.66vw;
    }
    .section__ttl-en {
        font-size: 3.2vw;
    }
    .section__ttl-ja {
        font-size: 8.53vw;
    }
    .eligibility__overview {
        gap: 6.4vw;
    }
    .eligibility__overview-txt {
        font-size: 4.26vw;
        padding: 5.33vw;
    }
    .eligibility__overview-ref-ttl {
        font-size: 4.8vw;
    }
    .eligibility__overview-ref-txt {
        font-size: 4.26vw;
    }
    .section__subttl {
        gap: 4.26vw;
    }
    .section__subttl-content {
        gap: 2.66vw;
    }
    .circle {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-image: linear-gradient(
            to bottom,
            #0397E7, 
            #0454AE 
        );
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative; 
        overflow: hidden;
    }
    .circle::before {
        content: "";
        position: absolute;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: #FFFFFF; 
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%); 
    }
    .section__subttl-ttl {
        font-size: 6.4vw;
    }
    .section__subttl-txt {
        font-size: 4.26vw;
    }
    .subttl-small-tll {
        font-size: 4.8vw;
    }
    .eligibility__group {
        gap: 10.6vw;
    }
    .eligibility__group-list {
        gap: 4.26vw;
    }
    .eligibility__group-ttl {
        font-size: 5.33vw;
    }
    .eligibility__group-item {
        gap: 4.26vw;
    }
    .eligibility__venture-ttl {
        font-size: 4.8vw;
    }
    .group__list-content {
        gap: 10.6vw;
    }
    .group__item-ttl {
        font-size: 4.26vw;
        height: 12.26vw;
        padding: 2.6vw 3.73vw;
    }
    .group__item-txt {
        font-size: 4.26vw;
        padding: 3.2vw 5.3vw 3.2vw 6.4vw;
        display: flex;
        flex-direction: column;
        gap: 2.6vw;
    }
    .group__item-txt-content {
        padding-left: 5.33vw;
    }
    .eligibility__field-list {
        gap: 4.26vw;
    }
    .eligibility__field-item {
        gap: 4.26vw;
    }
    .field__item-ttl {
        font-size: 4.8vw;
    }
    .field__item-txt {
        font-size: 4.26vw;
        text-indent: 0rem;
        padding-left: 8vw;
    }
    .eligibility__field-item {
        counter-reset: field-number; /* カウンターを 'field-number' という名前でリセット */
    }
    .eligibility__field-item ol {
        counter-increment: field-number; /* ol の数だけカウンターを +1 する */
    }
    .field__item-ttl::before {
        /* ナンバーを表示: counter(カウンター名) + ピリオドとスペース */
        content: counter(field-number) ". "; 
        /* 1. 2. などの番号のスタイル調整 */
        font-weight: 700;
        color: #0B1E36;
        margin-right: 8px;
    }
    .eligibility__field-item ol {
        list-style: none;
        padding-left: 0; 
    }
    .eligibility__caution {
        gap: 5.33vw;
        padding: 5.33vw;
    }
    .eligibility__caution-ttl {
        font-size: 4.8vw;
    }
    .eligibility__caution-list {
        gap: 5.33vw;
    }
    .eligibility__caution-item {
        font-size: 4.26vw;
        position: relative;
        padding-left: 5.33vw;
    }
    .eligibility__caution-item::before {
        content: "";
        display: block;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background-color: #0454AE;
        position: absolute;
        top: 3vw;
        align-items: flex-start;
        transform: translateY(-50%);
        left: 0;
    }
    .eligibility__venture {
        gap: 2.66vw;
        padding: 5.33vw;
    }
    .eligibility__venture-txt {
        font-size: 4.26vw;
        padding-left: 5.33vw;
    }
    .awards {
        gap: 12.8vw;
        padding-top: 21.3vw;
    }
    .awards__list {
        gap: 12.8vw;
    }
    .section__subttl-txt, .section__subttl-txt-item {
        font-size: 4.26vw;
    }
    .section__subttl-note {
        font-size: 3.77vw;
        padding-left: 5.33vw;
    }
    .sp-only {
        display: block;
    }
    .evaluation {
        gap: 12.8vw;
        padding-top: 21.3vw;
    }
    .evaluation__inner {
        gap: 10.6vw;
    }
    .group__item-txt-ttl {
        display: block; /* margin-bottomを適用するために必要 */
        margin-bottom: 4px; /* 下に余白 */
        /* ... その他のスタイル ... */
    }
    .evaluation__way {
        gap: 10.6vw;
    }
    .evaluation__way-ttl {
        font-size: 4.8vw; 
    }
    .evaluation__way-txt {
        padding-left: 8vw;
        font-size: 4.26vw;
    }
    .evaluation__way-txt:first-of-type {
        padding-bottom: 6.4vw;
    }
    .ceremony {
        padding-top: 21.3vw;
        gap: 12.8vw;
    }
    .section__subttl-txts {
        position: relative;
        padding-left: 4.8vw;
    }
    .section__subttl-txts::before {
        content: "";
        position: absolute;
        background-color: #0454AE; 
        width: 6px; 
        height: 6px;
        border-radius: 50%;
        left: 1px; 
        top: 0.8em; 
        transform: translateY(-50%); 
    }
    .table__wrap {
        width: 100%;
        overflow-x: scroll;
    }
    .table {
        white-space: nowrap;
        table-layout: fixed;
    }
    .table__row {
        border-bottom: 1px solid #D8DADC;
        line-height: 15.73vw;
    }
    .table__row:last-child {
        border-bottom: none;
    }
    .table__head {
        width: 24vw;
    }
    .table__date {
        width: 42.6vw;
        padding-left: 0;
    }
    .table__data {
        padding-left: 6.4vw;
    }
    .table__head, .table__date, .table__data {
        display: inline-block;
        box-sizing: border-box;
        height: 15.73vw;
        font-size: 4vw;
    }
    
    
    .overview__line {
        padding-top: 8.53vw;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
    }
    .overview__line-bar {
        width: 89.3vw;
        height: 1px;
        background-color: #D8DADC;
    }
    .overview__line-circle {
        display: none;
    }
}