#kv {
    display:flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding:2em 0;
}
#kv .page_title {
    font-size: 2.5em;
    text-align: center;
    color:var(--color_main);
    margin-top:0;
}
#kv .page_title::after {
    content:"";
    background:#4BCBFA;
    width:100%;
    height:0.25em;
    display:block;
    margin-top:0.25em;
}

#kv .label {
    margin-bottom:0;
}
#kv .label img {
    max-height:6em;
}

#kv .sub {
    font-size:2em;
    margin:0;
    color:var(--color_main);
    text-align: center;
    line-height: 1.3;
}

#kv .lead {
    margin-top: 2em;
    text-align:center;
}
#kv .lead_strong {
    color:var(--color_main);
    text-align:center;
    font-size:1.5em;
    font-weight: normal;
    margin-top:0.4em;
}

.school_map {
    display: flex;
    gap:2em;
}
.school_map figure {
    max-width:627px;
}
.school_map ol {
    width:30em;
}
@media(max-width: 768px) {
    .school_map {
        flex-direction: column;
        align-items: center;
    }
    .school_map ol {
        width:100%;
        display: flex;
        flex-wrap:wrap;
        gap:0.5em 1em;
    }
}
@media(max-width:560px) {
    .school_map ol {
        flex-direction: column;
        gap:0;
    }
}

.school-item div {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1em;
  gap:1em;
}

.school-name {
  min-width: 15em; /* 校名幅は必要に応じて調整 */
  font-weight: bold;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
  .school-item div {
    display: block;
  }

  .school-name {
    display: block;
    margin-bottom: 0.3em;
  }

  .school-info {
    margin-left: 0;
  }
}

/* ページ */
.page-about .adjust01 > div {
    display:flex;
    flex-direction: column;
}
.page-about .adjust01 > div .det {
  flex:1;
}
.page-about .adjust01 > div .det .tit_03 {
  margin-top: 0;
}

.page-about .fukidashi_container {
    border-radius: 70px;
    padding:2.5em;
}
.page-about .fukidashi_container figure {
    flex:unset;
    width:39%;
}
.page-about .fukidashi_container .tit_fukidashi {
    margin-bottom:1em;
}
.page-about .fukidashi_container .tit_fukidashi span {
    padding:0.5em 1em;
    width:100%;
}
.page-about .fukidashi_container p {
    line-height: 1.6 !important;
}
@media(max-width:560px) {
    .page-about .desc_area {
        display:flex;
        flex-direction: column;
        gap:1em;
    }
    .page-about .desc_area p {
        order:1;
    }
    .page-about .desc_area > * {
        margin-top:0;
        margin-bottom:0;
    }
    .page-about .desc_area .tit_02 {
        margin-bottom:1em;
    }
    .page-about .fukidashi_container {
        padding:1.5em 1.5em 2.5em;
        margin-bottom:4em !important;
    }
}

/*学校一覧*/
.page-school .school_list {
    display:flex;
    flex-wrap: wrap;
    gap:1.5em;
    /*! align-items: revert; */
    font-size:0.95em;
}
.page-school .school_list > li {
    width:calc((100% - 3em) / 3);
    border:1px solid var(--color_main);
    border-radius: 1.9em;
    overflow: hidden;
    display:flex;
    flex-direction: column;
    padding:0;
    margin:0;
}
.page-school .school_list > li::before {
    content: counter(listnum);
    z-index: 2;
    top:2.15em;
    left:2.25em;
    color:#fff;
    font-size:1.1em;
    transform:translate(-50%, -50%);
}
.page-school .school_list > li::after {
    content:"";
    z-index: 1;
    position: absolute;
    top:1em;
    left:1em;
    width:2.5em;
    aspect-ratio: 1 / 1;
    border-radius: 100px;
    background:#3ABADA;
    font-size:1.1em;
}
.page-school .school_list > li > figure {
    position: relative;
    aspect-ratio: 379 / 252;
}
.page-school .school_list > li > figure img {
    width:100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
}
.page-school .school_list > li > div.inner {
    padding:1em;
    flex:1;
}
.page-school .school_list > li > div.inner .head {
    display:flex;
    gap:1em;
    align-items: center;
}
.page-school .school_list > li > div.inner .head > * {
    margin:0 !important;
}
.page-school .school_list > li > div.inner .head .logo {
    width:4.3em;
    aspect-ratio: 1 / 1;
    display: block;
    text-align:center;
}
.page-school .school_list > li > div.inner .head .logo img {
    max-height: 100%;
}
.page-school .school_list > li > div.inner .head .tit {
    flex:1;
    font-size:1.25em;
    line-height: 1.3;
    color:var(--color_main);
}
.page-school .school_list > li > div.inner {
    display:flex;
    flex:1;
    flex-direction: column;
}
.page-school .school_list > li > div.inner .content {
    margin-top:1em;
    flex:1;
    display:flex;
    flex-direction: column;
}
.page-school .school_list > li > div.inner .content .plan {
    flex:1;
}
.page-school .school_list > li > div.inner .content .plan .reg {
    margin-bottom:0;
}
.page-school .school_list > li > div.inner p {
    line-height: 1.3 !important;
}

.page-school .school_list > li > div.inner .content a.btn_round {
    width:100%;
}

@media(max-width:768px) {
    .page-school .school_list > li {
        width:calc((100% - 1.5em) / 2);
    }
}
@media(max-width:560px) {
    .page-school .school_list > li {
        width:100%;
    }
}

.page-school .school_detail_info {
    width:fit-content;
    margin-inline:auto;
    margin-bottom:5em;
    position: relative;
}
.page-school .school_detail_info figure {
    max-width:150px;
    width:33%;
    position: absolute;
    left:calc(100% - 2em);
    bottom:0;
}

.page-school .school_detail_info .tit_01 {
    font-size:1.5em;
}
.page-school .school_detail_info .color_main {
    font-size:1.125em;
    font-weight: bold;
}

@media(max-width:768px) {
    .page-school .school_detail_info .color_main {
        margin-inline:unset;
    }
    .page-school .school_detail_info figure {
        left:calc(100% - 4em);
    }
}

/*学校詳細ページ*/
.page-school_detail #kv figure {
    width:53px;
}
.page-school_detail #kv h1::after {
    display:none;
}

.page-school_detail .tit_03 {
    text-align:left;
    display:flex;
    align-items:center;
    line-height: 1.2;
    gap:0.3em;
    margin-bottom:0.5em;
}
.page-school_detail .tit_03 i {
    display:inline-block;
    width:1.4em;
}

.page-school_detail *:last-child {
    margin-bottom:0;
}
.page-school_detail p + .tit_03 {
    margin-top:1em !important;
}
.page-school_detail .details .col:first-child {
    align-items: flex-end;
}
.page-school_detail .details .col > div:not(.graph) {
    flex:1;
}
.page-school_detail .details .col div.graph {
    width:31.58%;
    flex:unset;
}
.page-school_detail .details .col div.graph figure + figure {
    margin-top:1em;
}

.page-school_detail .details .col:first-child + .col > div:not(.graph) {
    order:1;
}
.page-school_detail .btn_area {
    margin-top:2.5em;
    gap:1em;
    border-top:1px solid var(--color_main);
    padding-top:3em;
}
.page-school_detail .btn_area a {
    max-width:416px;
    width:100%;
    height:100%;
    margin-top:0;
    font-size:1.2em;
}
.page-school_detail .btn_area + p {
    margin-top:1em;
}

/*スイスが選ばれる理由*/
.page-about_swiss #deco_swiss {
    background-image:none;
}
.page-about_swiss section .item + .item {
    border-top:1px solid #767677;
    padding-top:3em;
}
.page-about_swiss section .item.type1 figure {
    width:33%;
    flex:unset;
}
.page-about_swiss #swiss_mark {
    top:-5em;
}

.page-about_swiss .swiss_learning_logo {
    width:13em;
    text-align:center;
    margin-top:2.3em;
    margin-left:auto;
}
.page-about_swiss .swiss_learning_logo p {
    white-space: nowrap;
    font-size:0.95em;
}

@media(max-width:560px) {
    .page-about_swiss section .item .tit_03 {
        text-align: left;
        justify-content: flex-start;
    }
}


/*FAQ*/
.page-faq .faq > * {
    display:flex;
    align-items: flex-start;
    gap:1em;
}
.page-faq .faq + .faq {
    margin-top:2em;
}
.page-faq .faq > *::before {
    content:"";
    display:block;
    width:3.37em;
    aspect-ratio:1 / 1;
    background:no-repeat center center;
    background-size:contain;
}
.page-faq .faq .question::before {
    background-image:url(../images/faq/icon_q.webp);
}
.page-faq .faq .answer::before {
    background-image:url(../images/faq/icon_a.webp);
}
.page-faq .faq .tit {
    font-size:1.25em;
    color:var(--color_main);
    flex:1;
    align-self: center;
}
.page-faq .faq .answer p {
    flex:1;
    align-self: center;
}

.page-faq .faq_nav {
    display:flex;
    flex-wrap: wrap;
    gap:1em;
    border-bottom:1px solid var(--color_main);
    margin-bottom:2em;
    padding-bottom:2em;
    
}
.page-faq .faq_nav > * {
    width:calc( (100% - 2em) / 3 );
    display:flex;
}
.page-faq .faq_nav > * .btn_round {
    width:100%;
}
.page-faq .faq_nav .btn_round span {
    white-space: nowrap;
}

@media(max-width:768px) {
    .page-faq .faq_nav {
        font-size:0.8em;
    }
    .page-faq .faq_nav > * {
        width:calc( (100% - 1em) / 2 );
    }
}

@media(max-width:560px) {
    .page-faq .faq {
        padding:1.5em;
    }
    .page-faq .faq > *::before {
        width:3em;
    }
}

/*ANAが選ばれる3つの理由（メリット）*/
.voice_container {
  background: #FFEFE8;
  padding: 4em 3em 3em;
  margin-bottom: 3em;
  border-radius: 2em;
    position: relative;
    margin-top:5em;
}

.voice_container .tit {
  text-align: center;
  color: #ffffff;
  background: var(--color_main);
  padding: 0.6em 1.5em !important;
    white-space: nowrap;
  border-radius: 999px;
    position: absolute;
    top:0;
    left:50%;
    transform:translate(-50%, -50%);
}
.voice_container .tit span {
    font-size: 1.375em;
    padding:0;
    display:flex;
    align-items:center;
    gap:0.3em;
    width:fit-content;
}
.voice_container .tit span i {
    display:block;
    width:1.4em;
}

.voice_container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em;
  padding: 0;
}

.voice_container li {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.5em;
  width: calc((100% - 4em) / 3);
  box-sizing: border-box;
}

.voice_container .head {
  display:flex;
    align-items:center;
    gap:1em;
  margin-bottom: 1em;
}

.voice_container .head figure {
  width:30%;
}

.voice_container .head figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice_container .head .name {
  margin:0;
  color: var(--color_main);
    font-size:1.1em;
}

.voice_container .desc p {
  line-height: 1.4 !important;
}

@media(max-width:768px) {
  .voice_container li {
      width: calc((100% - 2em) / 2);
    }
}
@media(max-width:560px) {
    .voice_container {
        padding:4em 2em 2em;
    }
    .voice_container ul {
        gap:1em;
    }
  .voice_container li {
      width: 100%;
    }
}

/*動画で見る*/
.page-movie .archive {
    border-top:1px solid var(--color_main);
    border-bottom:1px solid var(--color_main);
    padding:3em 0;
}

.page-movie .yt_area {
    max-width:743px;
    width:100%;
    aspect-ratio: 560 / 315;
}
.page-movie .yt_area iframe {
    width:100%;
    height:100%;
}

.page-movie .archive .col {
    margin-top:2em;
}
.page-movie .archive .col + .col {
    margin-top:3em;
}

@media(min-width:769px) {
    .page-movie .archive {
        padding:3em 2em;
    }
}

/*お申込みから帰国までの流れ*/
.page-step .step_detail {
    margin-top:3em;
    display:flex;
    gap:0.5em;
    flex-direction: column;
}
.page-step .step_detail .step {
    display:flex;
    gap:2%;
}
.page-step .step_detail .step .label {
    width:20%;
    display:flex;
    flex-direction: column;
    
}
.page-step .step_detail .step .label > div {
    flex:1;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items:center;
    background:#F1F1F1;
    padding:1em;
}

@media(min-width:769px) {
    .page-step .step_detail .step:first-child .label::before {
       content:"";
        display:block;
        width:100%;
        height:5em;
        background:#ffffff;
    }
    .page-step .step_detail .step:first-child .det .head {
        display:block !important;
    }
}


.page-step .step_detail .step .label p {
    font-size:1.3em;
    line-height: 1.3;
    margin:0.5em;
    color:var(--color_main);
}
.page-step .step_detail .step .label figure {
    aspect-ratio: 1 / 1;
    width:5em;
    text-align: center;
}
.page-step .step_detail .step .label figure img {
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
}
.page-step .step_detail .step .det {
    flex:1;
    display:flex;
    gap:1em 2.5%;
}
.page-step .step_detail .step .det > * {
    flex:1;
    padding:1em;
    display:flex;
    flex-direction: column;
    gap:0.5em;
}
.page-step .step_detail .step .det .head {
    color:#fff;
    text-align: center;
    display:none;
}
.page-step .step_detail .step .det .ana .head {
    background:var(--color_main);
}
.page-step .step_detail .step .det .customer .head {
    background:var(--color_orange);
}
.page-step .step_detail .step .det .ana {
    background:#EBF5FD;
}
.page-step .step_detail .step .det .customer {
    background:#FFEFE8;
}

.page-step .step_detail .step .det .item {
    background:#ffffff;
    border-radius:0.65em;
    padding:1em;
}
.page-step .step_detail .step .det .tit {
    font-size:1.25em;
    margin-bottom:0.5em;
}
.page-step .step_detail .step .det .tit + * {
    margin-top:0;
}
.page-step .step_detail .step .det .ana .tit {
    color:var(--color_main);
}
.page-step .step_detail .step .det .customer .tit {
    color:var(--color_orange);
}
.page-step .step_detail .step .det .item > figure {
    width:90%;
    margin-inline:auto;
}

.page-step .suzuri_area {
    display:flex;
    justify-content: center;
    align-items: center;
    gap:2em;
}
.page-step .suzuri_area figure {
    width:200px;
}
@media(max-width:560px) {
    .page-step .suzuri_area {
        flex-direction: column;
    }
    .page-step .suzuri_area figure {
        width:auto;
    }
}

@media(max-width:768px) {
    .page-step .step_detail {
        margin-left:-4%;
        width:100vw;
    }
    .page-step .step_detail .step .label {
        width:24%;
    }
    .page-step .step_detail .step .label > div {
        justify-content: flex-start;
        padding-left:0.5em;
        padding-right:0.5em;
    }
    .page-step .step_detail .step .label > div p {
        font-size:3.3vw;
    }
    .page-step .step_detail .step .det .head {
        display:block !important;
    }
    .page-step .step_detail .step .det {
        flex-direction: column;
    }
}

/*費用一覧*/
.page-expense .expense_info {
    max-width:720px;
    margin-inline:auto;
    margin-bottom:3em;
    margin-top:3em;
}
.page-expense .expense_info .col {
    margin-inline: auto;
    width:fit-content;
    align-items:center;
}
.page-expense .expense_info h3.tit_01 {
    color:inherit;
    text-align: left;
    font-size:2em;
    width: fit-content;
    white-space: nowrap;
}
.page-expense .expense_info h3.tit_01 span {
    font-size:1.5em;
}
.page-expense .expense_info figure {
    flex:unset;
    width:30% !important;
    text-align: center;
}
@media(max-width:560px) {
    .page-expense .expense_info figure {
        width:54% !important;
    }
}

/*料金例セクション*/
.expense-pricing {
    padding: 3.75em 0;
    background: #EBF5FD;
}

.expense-pricing__header {
    margin-bottom: 2.5em;
}

.expense-pricing__title {
    margin-bottom: 0;
    font-size: 1.75em;
    line-height: 1.6;
}
.expense-pricing__title::before,
.expense-pricing__title::after {
    display:none;
}

.expense-pricing__notice {
    text-align: center;
    margin-bottom: 2.5em;
}

.expense-pricing__notice-text {
    display: inline-block;
    background: #FFFFFF;
    padding: 0.625em 2.5em;
    border-radius: 6.25em;
    font-size: 1.75em;
    color: var(--color_main);
    font-weight: 700;
    letter-spacing: 0.088em;
    margin: 0;
}

.expense-pricing__link {
    text-align: center;
    margin-bottom: 3.75em;
}

.expense-pricing__link .btn_round::before {
    background: url(../images/icon-file_vec.svg) no-repeat center center;
    background-size: contain;
}
.expense-pricing__link .btn_round > span {
    line-height: 1;
    margin-top:-0.1em;
}
.expense-pricing__link .btn_round span span {
    color:var(--color_yellow);
    font-weight: 700;
    font-size:1.2em;
    transform:translateY(-0.1em);
}


.expense-pricing__link-anchor {
    color: var(--color_main);
    text-decoration: underline;
    display: inline-flex;
    align-items: center;
    gap: 0.313em;
}

.expense-pricing__link-anchor:hover {
    text-decoration: none;
}

.expense-pricing__content {
    display: flex;
    gap: 2.5em;
    justify-content: center;
    max-width: 61.438em;
    margin-inline: auto;
}

.expense-pricing__school {
    flex: 1;
    max-width: 29.625em;
}

.expense-pricing__school-header {
    text-align: center;
    margin-bottom: 1em;
}

.expense-pricing__school-title {
    font-size: 1.5em;
    color: var(--color_main);
    font-weight: 700;
    letter-spacing: 0.075em;
    margin: 0 0 0.3em;
    line-height: 1.6;
}

.expense-pricing__school-note {
    font-size: 0.875em;
    color: #000000;
    margin: 0;
    letter-spacing: 0.044em;
}

.expense-pricing__card {
    background: #FFFFFF;
    border-radius: 1.25em;
    padding: 1.25em;
}

.expense-pricing__total {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.625em;
    margin-bottom: 0.813em;
}

.expense-pricing__total-label {
    font-size: 1em;
    color: var(--color_main);
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.063em;
}

.expense-pricing__total-amount {
    font-size: 1.75em;
    color: var(--color_main);
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.088em;
    line-height: 1 !important;
}

.expense-pricing__total-note {
    font-size: 13px;
    font-feature-settings: "palt";
    vertical-align: baseline;
    margin-left: 0.25em;
}

@media(max-width:1000px) {
    .expense-pricing__total-note {
        font-size: 12px;
    }
}

@media(max-width:560px) {
    .expense-pricing__total-note {
        font-size: 12px;
    }
}

.expense-pricing__breakdown {
    border: 0.125em solid var(--color_main);
    border-radius: 1.25em;
    overflow: hidden;
    margin-bottom: 1.25em;
}

.expense-pricing__breakdown-header {
    background: var(--color_main);
    padding: 0.938em 1em;
    text-align: center;
}

.expense-pricing__breakdown-title {
    font-size: 0.875em;
    color: #FFFFFF;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.044em;
}

.expense-pricing__breakdown-list {
    padding: 1.875em;
    display: flex;
    flex-direction: column;
    gap: 0.938em;
}

.expense-pricing__breakdown-item {
    display: flex;
    align-items: center;
    gap: 0.625em;
}

.expense-pricing__breakdown-icon {
    width: 2.188em;
    height: 2.188em;
    margin: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.expense-pricing__breakdown-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.expense-pricing__breakdown-label {
    flex: 1;
    font-size: 1.125em;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.056em;
    line-height: 1.3 !important;;
}

.expense-pricing__breakdown-label--school {
    color: var(--color_main);
}

.expense-pricing__breakdown-label--airplane {
    color: #4BCBFA;
}

.expense-pricing__breakdown-label--support {
    color: #ffc227;
}

.expense-pricing__breakdown-label--staff {
    color: var(--color_orange);
}

.expense-pricing__breakdown-price {
    font-size: 1.375em;
    color: #000000;
    font-weight: 700;
    margin: 0;
    letter-spacing: 0.069em;
    text-align: right;
    position: relative;
}

.expense-pricing__breakdown-note {
    font-size: 13px;
    vertical-align: baseline;
    position: absolute;
    top:-1em;
    right:-0.5em;
}

.expense-pricing__notes {
    display: flex;
    flex-direction: column;
    gap: 0.188em;
}

.expense-pricing__note {
    font-size: 0.875em;
    color: #000000;
    line-height: 1.4 !important;
    margin: 0;
    letter-spacing: 0.044em;
}

@media(max-width:768px) {
    .expense-pricing__content {
        flex-direction: column;
        align-items: center;
    }
    
    .expense-pricing__school {
        max-width: 29.625em;
        width: 100%;
    }
}

@media(max-width:560px) {
    .expense-pricing {
        padding: 2.5em 0;
    }
    
    .expense-pricing__header {
        margin-bottom: 1.5em;
    }
    
    .expense-pricing__title {
        font-size: 1.5em;
    }
    
    .expense-pricing__notice {
        margin-bottom: 1.5em;
    }
    
    .expense-pricing__notice-text {
        font-size: 1.25em;
        padding: 0.5em 1.5em;
    }
    
    .expense-pricing__link {
        margin-bottom: 2em;
    }
    
    .expense-pricing__link-text {
        font-size: 0.875em;
    }
    
    .expense-pricing__content {
        gap: 2em;
    }
    
    .expense-pricing__school-header {
        margin-bottom: 0.5em;
    }
    
    .expense-pricing__school-title {
        font-size: 1.25em;
    }
    
    .expense-pricing__school-note {
        font-size: 0.8125em;
    }
    
    .expense-pricing__card {
        padding: 1em;
    }
    
    .expense-pricing__total-label {
        font-size: 0.875em;
    }
    
    .expense-pricing__total-amount {
        font-size: 1.5em;
    }
    
    .expense-pricing__breakdown-list {
        padding: 1.25em;
        gap: 0.75em;
    }
    
    .expense-pricing__breakdown-icon {
        width: 1.875em;
        height: 1.875em;
    }
    
    .expense-pricing__breakdown-label {
        font-size: 1em;
    }
    
    .expense-pricing__breakdown-price {
        font-size: 1.125em;
    }
    
    .expense-pricing__note {
        font-size: 0.8125em;
    }
}


/*フォーム*/
.page-form .box:not(.min) .btn_round {
    width:22em;
}
.page-form .box.min .btn_round {
    width:100%;
}

.page-form #shiryo_seikyu {
    padding:4em 2em;
}
.page-form #shiryo_seikyu .col > figure {
    width:25%;
    flex:unset
}

.page-form .col > div.box .desc {
    flex:1;
}


@media(max-width:768px) {
    .page-form .box:not(.min) .btn_round {
        width:100%;
    }
}
@media(max-width:560px) {
    .page-form #shiryo_seikyu {
        padding-top:0 !important;
    }
    .page-form .tit_03 {
        justify-content: flex-start;
        text-align:left;
    }
}

/*スイス サマースクールの標準的な一日*/
.page-summer_day .schedule_label {
    background:var(--color_main);
    color:#fff;
    width:fit-content;
    margin-inline:auto;
    padding:1.5em 1.5em;
    border-radius: 100px;
    display:flex;
    align-items: center;
    gap:0.5em;
    margin-bottom:2em;
    position: relative;
    line-height: 1;
}
.page-summer_day .schedule_label i {
    display:block;
    width:2em;
    aspect-ratio: 1 / 1;
}
.page-summer_day .schedule_label::before,
.page-summer_day .schedule_label::after {
    content:"";
    display:block;
    width:2em;
    aspect-ratio: 1 / 1;
    background-size:cover;
    background-position:center center;
    position:absolute;
}
.page-summer_day .schedule_label::before {
    background-image:url(../images/summer-day/acc_l.svg);
    left:-3em;
}
.page-summer_day .schedule_label::after {
    background-image:url(../images/summer-day/acc_r.svg);
    right:-3em;
}
.page-summer_day .schedule_label > span {
    margin-top:-0.5em;
}
.page-summer_day .schedule_label span span {
    font-size:2em;
}

.page-summer_day .timetable {
    display:flex;
    flex-direction: column;
    gap:1em;
}
.page-summer_day .timetable .item {
    width:100%;
    display:flex;
    align-items: flex-start;
    gap:2em;
    position: relative;
}
.page-summer_day .timetable .item:last-child {
    align-items:center;
}

.page-summer_day .timetable .item:not(:last-child)::after {
    content:"";
    display:block;
    width:2px;
    height:calc(100% + 2em);
    position: absolute;
    left:4em;
    background:var(--color_main);
}



.page-summer_day .timetable .item > * {
    margin:0;
}
.page-summer_day .timetable .item .label {
    background:var(--color_main);
    color:#fff;
    padding:1em 2em;
    border-radius: 100px;
    min-width:8em;
    text-align: center;
    position: relative;
    z-index: 2;
}

.page-summer_day .timetable .item .box {
    flex:1;
    display:flex;
    gap:1.5em;
    padding:1em 1.5em;
}
.page-summer_day .timetable .item .box .desc {
    flex:1;
}
.page-summer_day .timetable .item .box figure {
    width:36%;
    margin:0;
}

.page-summer_day .action {
    color:var(--color_orange);
    font-size:1.25em;
}

.page-summer_day .timetable .item .box .desc .action {
    line-height: 2 !important;
}
.page-summer_day .timetable .item .box .desc dl dt {
    margin-top:1.5em;
    font-size:1.2em;
}
.page-summer_day .timetable .item .box .desc dl dd {
    margin-top:0;
}

.page-summer_day .gallery {
    margin-top:4em;
    padding-top:2em;
    border-top:2px solid var(--color_main);
}

@media(max-width:560px) {
    .page-summer_day .schedule_label {
        padding-left:1em;
        padding-right:1em;
        margin-bottom:3em;
    }
    .page-summer_day .schedule_label > span {
        margin-top:0;
    }
    .page-summer_day .schedule_label::before,
    .page-summer_day .schedule_label::after {
        width:1.5em;
    }
    .page-summer_day .schedule_label::before {
        left:-2.3em;
    }
    .page-summer_day .schedule_label::after {
        right:-2.3em;
    }

    .page-summer_day .timetable {
        gap:3em;
    }
    .page-summer_day .timetable .item::after {
        display:none !important;
    }
    .page-summer_day .timetable .item .box {
        flex-direction: column;
        padding-top:3em;
    }
    .page-summer_day .timetable .item .box > * {
        width:100% !important;
    }
    .page-summer_day .timetable .item .label {
        position: absolute;
        top:-1.4em;
    }
}

/* 費用内訳セクション */
.expense-breakdown {
    padding: 3.75em 0;
}

.expense-breakdown__header {
    margin-bottom: 6em;
}

.expense-breakdown__title {
    margin-bottom: 0;
    font-size: 1.75em;
}

.expense-breakdown__content {
    display: flex;
    align-items: flex-start;
    gap: 5em;
    max-width: 90em;
    margin-inline: auto;
}

.expense-breakdown__venn {
    position: relative;
    flex-shrink: 0;
    width: 38%;
}

.expense-breakdown__venn-img {
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
}

.expense-breakdown__venn-img img {
    width: 100%;
    height: auto;
    display: block;
}

.expense-breakdown__venn-label {
    text-align: center;
    font-size: 1em;
    color: #000000;
    margin-top: 1em;
    font-weight: 700;
}

.expense-breakdown__details {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1.875em;
}

.expense-breakdown__detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.625em;
}

.expense-breakdown__detail-header {
    display: flex;
    align-items: center;
    gap: 1.25em;
}

.expense-breakdown__detail-icon {
    width: 3.125em;
    aspect-ratio: 1 / 1;
    margin: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.expense-breakdown__detail-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.expense-breakdown__detail-title {
    font-size: 1.25em;
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    letter-spacing: 0.063em;
}

.expense-breakdown__detail-title--school {
    color: #00146E;
}

.expense-breakdown__detail-title--airplane {
    color: #4BCBFA;
}

.expense-breakdown__detail-title--support {
    color: #ffc228;
}

.expense-breakdown__detail-title--staff {
    color: #D54100;
}

.expense-breakdown__detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
    /*! margin-left: 4.5em; */
    display: flex;
    flex-direction: column;
    gap: 0;
    font-size: 1em;
    line-height: 1.8;
    color: #000000;
    letter-spacing: 0.05em;
}

.expense-breakdown__detail-list li {
    position: relative;
    padding-left: 1.5em;
}

.expense-breakdown__detail-list li::before {
    content: "・";
    position: absolute;
    left: 0;
}

.expense-breakdown__detail-list--highlight {
    color: #D54100;
}

@media(max-width:768px) {
    .expense-breakdown__content {
        flex-direction: column;
        align-items: center;
    }
    
    .expense-breakdown__venn {
        width: 20em;
    }
    
    .expense-breakdown__details {
        width: fit-content;
        margin-inline: auto;
        /*! max-width: 35.688em; */
    }
}

@media(max-width:560px) {
    .expense-breakdown {
        padding: 2.5em 0;
    }
    
    .expense-breakdown__header {
        flex-direction: column;
        gap: 0.625em;
        margin-bottom: 2em;
    }
    
    .expense-breakdown__icon {
        width: 2.5em;
        height: 1.9em;
    }
    
    .expense-breakdown__venn {
        width: 15em;
    }
    
    .expense-breakdown__detail-header {
        gap: 1em;
    }
    
    .expense-breakdown__detail-icon {
        width: 2.5em;
        height: 1.9em;
    }
    
    .expense-breakdown__detail-icon--support {
        width: 2.5em;
        height: 2.5em;
    }
    
    .expense-breakdown__detail-title {
        font-size: 1.125em;
    }
    
    .expense-breakdown__detail-list {
        margin-left: 3.5em;
        font-size: 0.875em;
    }
}


