.image3 {
    float: left;
    width: 15%;
    margin: 1%;
}

.box-img-text3 {
    float: right;
    width: 85%;
    margin: 1%;
}

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

.schedule-item.item-g .schedule-item-title {
    color: #7A64B7;
}

.schedule-item.item-g .content-title {
    background: #7A64B7;
}

.textright {
    text-align: right;
}

.textleft {
    text-align: left;
}

.attention-txt {
    color: red;
    font-weight: bold;
}

.feature-item .feature-num {
    background: #7A64B7;
}

.feature-item .feature-num:after {
    border-bottom: 6px solid #7A64B7;
    border-left: 6px solid #7A64B7;
}

.feature-item .feature-title {
    color: #7A64B7;
}

.pagevisual-catch .pagevisual-title {
    background: none;
}

.pagevisual-catch .pagevisual-title,
.pagevisual-catch .pagevisual-title_sub {
    background: none;
}

.feature-child-title {
    color: #7A64B7;
}

.feature-child-num {
    background: none;
}

.schedule-item .schedule-item-content .cancel a {
    background-color: #f2a707;
    padding: 5px 15px;
}

.school .box-table-02 .box-table-item .header {
    color: #7A64B7;
}

input[type='button'] {
    background: #7A64B7 url(/asset/img/icn-arrow_white.svg) no-repeat 97% center;
    background-size: 7px 12px;
}

.feature-child-num:before {
    content: '';
    display: inline-block;
    background: url(../../../asset/img/icn_checkbox_event.svg) no-repeat;
    background-size: contain;
    width: 40px;
    height: 40px;
    margin-left: 1rem;
}

@media screen and (max-width: 640px) {
    .box-table-02 .box-table-item .content {
        text-align: center;
    }

    .schedule-item .schedule-item-content .col-inner {
        vertical-align: middle;
    }

    .schedule-item .schedule-item-content .cancel a {
        background-color: #f2a707;
        font-size: 85%;
        padding: 5px 5px;
    }

    .camp-inquiry-btn a {
        font-size: 1.2rem;
    }
}

.event-schedule .nav-tab-anchor {
    padding-bottom: 0;
    border-bottom: 0px;
    margin-bottom: 0;
}

.nav-tab-anchor ul {
    width: 100%;
    margin-left: 0;
}

.nav-tab-anchor ul .nav-btn-left {
    float: left;
    width: 48%;
    margin: 0 2% 0 0;
}

.nav-tab-anchor ul .nav-btn-right {
    float: left;
    width: 48%;
    margin: 0 0 0 2%;
}

.nav-btn-01 a {
    color: #8E45CC;
    background: rgba(142, 69, 204, 0.11);
}

.nav-btn.btn-03 li a {
    background: #8E45CC;
    color: #fff;
    font-size: 2.8rem;
    padding: 1.5rem 0 1.5rem
}

.camp-inquiry .camp-inquiry-inner {
    background: #f7f8f8;
    padding: 3rem;
}

.camp-inquiry .camp-inquiry-title {
    font-size: 2.4rem;
    color: #d81882;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.camp-inquiry .camp-inquiry-title span {
    font-weight: bold;
    margin-left: 1rem;
}

.camp-inquiry .camp-inquiry-txt01 {
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin-bottom: 0.8rem;
}

.camp-inquiry .camp-inquiry-hour {
    font-weight: bold;
    font-size: 1.6rem;
    margin: 1rem 0;
}

.camp-inquiry .camp-inquiry-hour:before {
    content: '';
    display: inline-block;
    background: url(/asset/img/icn-hour.svg) no-repeat;
    background-size: contain;
    width: 19px;
    height: 16px;
    margin-right: 1rem;
}

.camp-inquiry .camp-inquiry-phone {
    font-weight: bold;
    font-size: 1.6rem;
    margin: 1rem 0;
}

.camp-inquiry .camp-inquiry-phone:before {
    content: '';
    display: inline-block;
    background: url(/asset/img/icn-phone-black.svg) no-repeat;
    background-size: contain;
    width: 19px;
    height: 16px;
    margin-right: 1rem;
}

.camp-inquiry-btn a {
    display: block;
    margin: 2rem 0 0;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    background: #d81882 url(/asset/img/icn-arrow_white.svg) no-repeat 97% center;
    background-size: 9px 13px;
    padding: 1rem 0;
    border-radius: 5px;
    text-decoration: none;
    -webkit-transition: opacity .3s ease 0s;
    transition: opacity .3s ease 0s;
}

.camp-inquiry-btn a:hover {
    opacity: .7;
}

.slick-dots {
    margin: 20px 0;
}

.feature-item:first-child .feature-content .image {
    border: 0;
}

.slick-dots li.slick-active button {
    background: #7A64B7;
}

.slick-next {
    display: none !important;
}

.slick-prev {
    display: none !important;
}


@media screen and (max-width: 640px) {
    .camp-inquiry-btn a {
        font-size: 1.3rem;
    }
}

.nav-btn.btn-05 li a {
    background: red;
}

.section-title.rich {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 2em 0;
}

.section-title.rich::before,
.section-title.rich::after {
    content: "";
    flex-grow: 1;
    height: 2px;
    /* background-color: black; */
    border-top: solid 1px black;
    border-bottom: solid 1px black;
    /* 線の色 */
}

.section-title.rich span {
    padding: 0 1em;
    white-space: nowrap;
    margin-left: 0;
}

/* .section-title.rich 自体を中央寄せ */
.section-title.rich {
    display: flex;
    align-items: center;
    margin: 2em auto;
    max-width: 900px;
    width: 90%;
}

/* spanへのスタイルなどは上記と同じ */
.section-title.rich span {
    padding: 0 0.5em;
    white-space: nowrap;
}


.camp-inquiry .camp-inquiry-mail {
    font-weight: bold;
    font-size: 1.6rem;
    margin: 1rem 0;
}

.camp-inquiry .camp-inquiry-mail:before {
    content: '';
    display: inline-block;
    background: url(/asset/img/icn-mail-black.svg) no-repeat;
    background-size: contain;
    width: 19px;
    height: 16px;
    margin-right: 1rem;
    top: 10px;
}

.nav-btn.btn-05.container.article-01{
    padding: 0;
}

.deadline{
    width: fit-content;
    margin: 0 auto;
}

.deadline-header {
    background-color: #45ad2e;
    color: rgb(255, 255, 255);
    padding: 8px;
    padding-bottom: 4px;
    border-radius: 8px 8px 0 0;
    font-size: 18px;
    font-weight: bold;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
    /* box-shadow: 0 2px 4px rgba(0,0,0,0.1); */
    text-align: center;
    padding-left: 100px;
    padding-right: 100px;
  }
  
  .deadline-date {
    /* background-color: #f8f9fa; */
    padding: 8px;
    border-radius: 0 0 8px 8px;
    font-size: 18px;
    text-align: center;
    color: #333;
    border-top: none;
    box-shadow: 0 2px 2px rgba(0,0,0,0.1);
    position: relative;
  }
  
  .attention-text {
    margin-top: 8px;
    font-size: 12px;
    color: #666;
    text-align: center;
    
  }
.section-title.rich div{
    max-width:100%;
}
  
  .section-title.rich div .en{
    font-size: 1.8rem;
    max-width:100%;
    display:inline-block;
    word-wrap:break-word;
  }
@media screen and (min-width: 640px) {
    .section-title.rich div {
        display: flex;
        flex-direction: column;
    }
    .section-title.rich div .en{
        margin-bottom: 1.5rem;
        margin-top: 0.5em;
    }
    .deadline-header {
        padding-left: 130px;
        padding-right: 130px;
    }
    
  .section-title.rich div .en{
    font-size: 2.5rem;
  }
    
}
.video-container {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9の比率 (9/16=0.5625) */
}

.video-container iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}

.overview-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    font-size: 14px;
}

.overview-table th,
.overview-table td {
    border: 1px solid #777;
    padding: 12px 16px;
    vertical-align: middle;
    text-align: center;
}

/* ヘッダー行 */
.overview-table thead tr {
    background: linear-gradient(to right, #91d959, #bee163);
}
.overview-table thead th {
    background: #bbbbbb;
    background: transparent;
    color: #000;
    font-weight: bold;
}

.overview-table .col-label {
    width: 15%;
}

.overview-table .col-course {
    width: 28.3%;
}

/* 行見出し（左列） */
.overview-table .row-label {
    background: #f5f5f5;
    font-weight: bold;
}

.overview-table .smaller-text {
    font-size: 12px;
    color: #666;
    margin-top: 4px;
}

.overview-table .requirements-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}

.overview-table .requirements-list li {
    margin-bottom: 4px;
}
.overview-table .cell-left {
    text-align: left;
}
