@media (max-width: 768px) {
   .totop{
      bottom: 5vw;
      right: 5vw;
   }
   .totop-img{
      width: max(46px,8vw);
   }

   .f-42{
      font-size: 4.2vw;
   }
   .f-48{
      font-size: 4.8vw;
   }
   body {
      padding-top: 80px;
   }
   .section-title-en{
      font-size: max(28px,6vw);
   }
   .section-title-ja{
      font-size: max(22px,4.4vw);
   }
   .btn-more{
      font-size: max(20px,4vw);
   }
   .section_h3 {
      font-size: max(22px,4.4vw);
   }
   .activities-desc,
   .activities-list-text{
      font-size: max(3.2vw,16px);
   }
   .site-header{
      height: 80px;
   }
   .menu-toggle {
      display: block;
   }
   .main-navigation {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background: var(--primary-blue);
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      visibility: hidden;
      transition: 0.3s;
   }
   .main-navigation.is-active {
      opacity: 1;
      visibility: visible;
   }
   .nav-menu {
      flex-direction: column;
      gap: 30px;
      text-align: center;
   }
   .nav-menu a {
      font-size: 20px;
   }
   .nav-menu .nav-en {
      font-size: 16px;
   }
   .scroll-base::after{
      bottom: 5vw;
      left: 5vw;
      width: max(7vw,30px);
   }
   .scroll_base.scroll_base-top::after{
      bottom: 20vw;
   }
   .main-visual {
       background-image: url('../images/top/mv_sp.png');
       aspect-ratio: 3/4;
   }
   .main-visual .mv-content{
      width: 94%;
   }
   .mv-title{
      font-size: max(17px,5vw);
   }
   .mv-subtitle{
      justify-content: start;
      gap: 8px;
      padding-left: 0;
   }
   .mv-org{
      font-size: max(14px,3vw);
   }
   .page-title-en{
      font-size: max(26px,4.6vw);
   }
   .page-title-ja{
      font-size: max(20px,3.4vw);
   }
   .bottom-nav-link{
      padding: 8px 8px;
   }
   .page-bottom-nav{
      gap: 10vw;
      margin-top: 80px;
   }
   .page-bottom-nav01{
      font-size: max(18px,3.4vw);
   }
   .page-bottom-nav02{
      font-size: max(14px,2.4vw);
   }

   /* Activities */
   .activities-list {
      grid-template-columns: 1fr;
      gap: 50px;
      max-width: 480px;
      margin: 0 auto;
   }
   .activities-inner{
      flex-direction: column;
      row-gap: 5vw;
   }
   .activities-visual{
      margin: 0 auto;
      width: 100%;
      max-width: 480px;
      row-gap: 5vw;
   }
   .visual-main{
      margin-left: 10%;
      width: 80%;
   }
   .activities-content{
      width: 100%;
   }
   .activities-section{
      padding-top: 12vw;
      padding-bottom: 8vw;
   }
   .activities-section::before{
      width: 80%;
   }
   .activities-section::after{
      width: 140%;
      min-height: 100%;
   }
   .activity-row::before {
      width: 10px;
   }

   /* Mission */
   .mission-section{
      padding-top: 12vw;
      padding-bottom: 8vw;
      overflow-x: hidden;
   }
   .mission-section::after{
      width: 80%;
   }
   .mission-inner {
      flex-direction: column-reverse;
      gap: 40px;
   }
   .mission-desc {
      margin-bottom: 40px;
      font-size: max(16px, 3.2vw);
   }

   /* Idea */
   .idea-section{
      padding-top: 12vw;
      padding-bottom: 8vw;
   }
   .idea-section::after{
      width: 80%;
   }
   .idea-inner {
      flex-direction: column;
      gap: 40px;
   }
   .idea-desc {
      margin-bottom: 40px;
      font-size: max(16px, 3.2vw);
   }

   /* News */
   .news-section{
      padding-top: 12vw;
      padding-bottom: 8vw;
   }
   .news-list{
      gap: 5vw;
      margin: 0 auto 40px;
      max-width: 440px;
   }
   .news-link {
       flex-direction: column;
       align-items: flex-start;
       gap: 15px;
   }
   .news-body{
      padding: 3vw 0 0 0;
   }
   .news-thumb {
       width: 100%;
       aspect-ratio: auto;
   }
   .news-date{
      font-size: max(14px,2.8vw);
   }
   .news-title{
      font-size: max(18px, 3.8vw);
   }
   .news-excerpt p{
      font-size: max(16px, 3.2vw);
   }
   /* Activities Page */
   .page-activities .page-content {
       padding-top: 40px;
       padding-bottom: 60px;
   }
   .page-intro {
       padding: 10px 0 20px;
   }
   .breadcrumbs {
       position: static;
       text-align: left;
       margin-bottom: 10px;
       font-size: 14px;
   }
   .page-mv {
       height: 200px;
   }
   .page-idea-mv-image{
      object-position: 70% 50%;
   }
   .activity-items{
      row-gap: 10vw;
   }
   .activity-head {
       flex-direction: column;
       align-items: center;
       text-align: center;
       gap: 10px;
       padding: 5vw 5vw 5vw 8vw;
   }
   .activity-body{
      padding: 5vw 5vw 5vw 8vw;
   }
   .activity-desc{
      font-size: max(16px,3.2vw);
   }
   .activity-icon {
       margin: 0;
   }
   .activity-title {
       font-size: max(20px,4vw) ;
   }
   .activity-images{
      column-gap: 8%;
   }
   .activity-images-wrapper{
      width: calc(50% - 8% * 1 / 2)
   }
   .activity-images-wrapper p{
      font-size: 12px;
   }
   .activity-images img {
       width: 100%;
   }
   .info-row {
       padding: 30px 20px;
   }
   .info-table th,
   .info-table td {
       display: block;
       width: 100%;
       padding: 5px 0;
       border: none;
       font-size: max(16px,3.2vw);
   }
   .info-table th {
       margin-top: 10px;
       text-align: left;
   }
   .page-mv-title {
       font-size: 20px;
   }
   .info-table td {
       border-bottom: 1px solid #eee;
       padding-bottom: 15px;
   }
   /* Mission Page */
   .mission-section-bottom{
      padding-top: 30vw;
      padding-bottom: 60px;
      row-gap: 5vw;
   }
   .mission-section-item{
      padding: 5vw;
   }
   .mission-section-title{
      line-height: 1.8;
      font-size: max(24px,4.4vw);
   }
   .mission-content-wrapper,
   .mission-content-wrapper.reverse02{
        flex-direction: column;
        row-gap: 5vw;
        align-items: center;
    }
   .mission-buttons{
        width: 100%;
        max-width: 480px;
    }
    .mission-image,
    .mission-section-item.item01 .mission-image,
    .mission-challenge-image{
        width: 100%;
        max-width: 480px;
    }
    .mission-section-sub-title{
      padding-left: 1.2em;
      font-size: max(18px,3.4vw);
    }
    .mission-section-sub-title::before{
      top: 0.3em;
    }
    .mission-text p{
      font-size: max(16px,3.2vw);
    }

    /* Idea Page */
    .bg_ballon{
      min-width: 200px;
    }
    .bg_rainbow_l{
      min-width: 280px;
    }
    .idea-section-item{
      padding: 5vw;
    }
    .idea-section-title {
      font-size: max(24px, 4.8vw);
    }
    .idea-text p {
      font-size: max(16px, 3.2vw);
    }
    .idea-diagram img {
      max-width: 100%;
    }
    .idea-section-bottom{
      padding-top: 10vw;
    }
    .idea-message-section-head {
      margin-bottom: 8vw;
    }
    .idea-image-wrapper{
      margin-bottom: 8vw;
    }
    .idea-message-title {
      font-size: max(24px, 4.8vw);
    }
    .idea-message-heading {
      padding: 5vw 5vw 7vw;
      font-size: max(20px, 4vw);
    }
    .idea-message-text p {
      margin-bottom: 12vw;
      padding: 5vw 7vw;
      font-size: max(16px, 3.2vw);
    }
    .idea-profile-title {
      justify-content: center;
      padding: 5vw 7vw; 
      font-size: max(18px, 3.6vw);
    }
    .idea-profile-title img{
      width: max(24px,5vw);
    }
    .idea-profile-body{
      min-width: 5em;
      padding: 5vw 8vw 10vw calc(8vw + 16px);
    }
    .idea-profile-name{
      flex-direction: column;
      row-gap: 5vw;
      margin-bottom: 5vw;
      font-size: max(22px,4.4vw);
    }
    .idea-profile-name .degree{
      font-size: max(16px,3.2vw);
    }
    .idea-profile-message-text{
      margin-bottom: 5vw;
      font-size: max(16px,3.2vw);
    }
    .idea-profile-content {
        flex-direction: column;
        gap: 5vw;
    }
    .idea-profile-info {
        width: 100%;
    }
    .profile-name {
        font-size: max(16px, 3.2vw);
    }
    .idea-profile-bio p {
        font-size: max(14px, 2.8vw);
    }
    .profile-images {
        flex-direction: column;
        margin:  0 auto;
        max-width: 440px;
    }
    .profile-images > img {
        width: 100%;
    }
    .profile-sub-images {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }
    .profile-sub-images img {
        width: 100%;
    }
    .idea-section-bottom{
      padding-bottom: 60px;
    }

    /* News Page */
    .page-news .page-content{
      padding-top: 8vw;
      padding-bottom: 60px;
    }
    .news-section-title {
      margin-bottom: 5vw;
      font-size: max(22px,4.4vw);
    }
    .news-archive-list {
        gap: 8vw;
        margin: 0 auto;
        max-width: 440px;
    }
    .news-item {
        flex-direction: column;
        padding: 5vw;
        gap: 20px;
    }
    .news-item-content{
      padding: 0;
    }
    .news-item-head::before{
      height: 30%;
    }
    .news-item-thumb {
        width: 100%;
        aspect-ratio: auto;
    }
    .news-item-thumb:has(img.noimg){
      padding: 20px;
    }
    .news-item-title {
        font-size: max(18px,3.8vw);
    }
    .news-item-excerpt {
        font-size: max(16px,3.2vw);
    }
    .read-more-btn {
        width: 100%;
        justify-content: center;
        font-size: max(14px,3vw);
    }

    /* Single News Page */
    .singlenews-article {
        padding: 5vw;
        margin-bottom: 8vw;
    }
    .singlenews-title {
        font-size: max(22px, 4.4vw);
    }
    .singlenews-body {
        font-size: max(15px, 3vw);
    }
    .singlenews-body h2 {
        font-size: max(20px, 4vw);
        margin-top: 8vw;
    }
    .singlenews-body h3 {
        font-size: max(18px, 3.6vw);
    }
    .singlenews-body ul,
    .singlenews-body ol {
         padding: 5vw;
    }
    .singlenews-nav {
         padding: 0;
    }
    /* footer */
    .site-footer{
      padding: 40px 0 74px;
    }
    /* totop */
    .page-top-btn{
      bottom: 20px;
    }
}