@media screen and (max-width: 1024px) {
    .shakakachi_contents > .title_area > .title_contents > .title{
        width:90%;
    }
}


@media screen and (max-width: 1024px) {
    /**ニュースタイトル折り返し*/
    .local_nav > .nav_items > .news > .news_title{
        width: 100%;
    }
    /**navメニュー非表示*/
    .local_nav > .nav_items > .entry{
        display: none;
    }
    .local_nav > .nav_items > .nav{
        display: none;
    }

    .flow > .body > .item > div{
        margin-right: 2vw;
    }
    
    .flow > .body > .item > div > img:nth-child(2){
        margin-left: 1vw;
    }

    .flow > .body > .item > div:nth-child(2) > div:nth-child(1){
        font-size: 2vw;
    } 
    
    .flow > .body > .item > div:nth-child(2) > div:nth-child(2){
        font-size: 1.3vw;
        margin-top: 8px;
        line-height: 3rem;
    } 

    .menu{
        bottom:10vw;
        right: 2vw;
        width: 50px;
        cursor: pointer;
        z-index: 100;
    }
    .menu_modal{
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(255, 255, 255, 0.9);
        z-index: 99;
        display: none;
        font-size:5vw;
        font-weight: 600;
    }

    .menu_modal > .menu_modal_inner{
        /* width:40vw;
        height:52vh; */
        position: absolute;
        left: 50%;
        top: 50%;
        width: 100%;
        transform: translate(-50%, -50%) scale(0.5);
        text-align: center;
    }

    .menu_modal > .menu_modal_inner > div{
        margin-bottom: 12%; 
    }

    .menu_modal > .menu_modal_inner p{
        text-align: center;
    }

    .menu_modal > .menu_modal_inner img{
        display: block;
        margin: 1vw auto;
        height: 2.3vw;
    }

    .menu_modal > .menu_modal_inner > div:nth-child(1) > img{
        width: 7vw;
        
    }

    .menu_modal > .menu_modal_inner > div:nth-child(2) > img{
        width: 16vw;
    }

    .menu_modal > .menu_modal_inner > div:nth-child(3) > img{
        width: 54.6vw;

    }

    .menu_modal > .menu_modal_inner > div:nth-child(4) > img{
        width: 78vw;
    }
    .menu_modal > .menu_modal_inner > div:nth-child(5) > img{
        width: 7.2vw;
    }
    .menu_modal > .menu_modal_inner > div:nth-child(6) > img{
        width: 18.2vw;
    }
    .menu_modal > .menu_modal_inner > div:nth-child(7) > img{
        width: 56vw;
        height: auto;
    }

    .menu_modal > .menu_modal_inner > div{
        cursor: pointer;
    }
}

@media screen and (max-width: 1200px) {
    .notice{
        background-image: none;
    }
    
}

@media screen and (max-width: 768px) {
   
    .shakakachi_container {

    }
 
.shakakachi_contents {
    --after-top: 624vw;
    --after-h:   339.733vw;
  }
  
  .shakakachi_contents::after{
    content:"";
    position:absolute;
    top:    var(--after-top);
    left:   0;
    width:  100%;
    height: var(--after-h);
    aspect-ratio: 750 / 2548;
    background:url("../img/top_triangle-sp.png") no-repeat top/cover;
    mix-blend-mode:multiply;
    pointer-events:none;
    z-index:-1;
  }
  
  .shakakachi_contents::before{
    content:"";
    position:absolute;
    top: calc(var(--after-top) + var(--after-h) - (var(--after-h) * 0.17));
    left: 0;
    width: 100vw;
    height: auto;
    aspect-ratio: 750 / 5250;
    background:url("../img/triangle-sp.png") no-repeat top/cover;
    pointer-events:none;
    z-index:-1;
  }

    .menu_modal > .menu_modal_inner {
        
    }

    .sp-br{
        display: block;
    }

    .br{
        display: none;
    }

    .shakakachi_contents > .title_area{
        margin: 45vw auto 0 auto;
        padding-top:4vw;
        height:66vw;
    }
    .shakakachi_contents > .title_area > .title_contents > .sub_title{
        font-size: 4.5vw;
    }

    .shakakachi_contents > .title_area > .title_contents > .title{
        width:83vw;
        margin: 5vw auto 0 auto;
    }

    .shakakachi_contents > .title_area > .title_contents > .support_info{
        width: 73vw;
        margin:4.5vw auto 0 auto;
    }

    .shakakachi_contents > .title_area > .title_contents > .support_info >div.arrow{
        width: 13vw;
        height: auto;
    }
    .shakakachi_contents > .title_area > .title_contents > .support_info >div.arrow > img:nth-child(2){
        width: 7vw;
        transform-origin: center;
        position: absolute;
        left:1.5vw;
        top:calc(50%);
        transform: translateY(-50%)
        
    }
    .shakakachi_contents > .title_area > .title_contents > .support_info >img
    {
        width: 57vw;
    }
    .shakakachi_contents > .title_area > .title_contents > .support_info > .support_info_banner
    {
        width:100%;
        margin-top: 20px;
    }

    .scroll_down{
        margin:16vw auto 44vw auto;
        width: 10vw;
        height: 20vw;
    }
    .main_text{
        height: 350vw;
        background-position: bottom;
        background-size: 94vw;
    }
    .main_text > .title{
        margin-left:8%;
        margin-bottom: 11vw;
        letter-spacing: .1rem;
        font-size: 7.6vw;
    }
    
    .main_text > .body{
        font-size: 3.5vw;
        margin-left: 8%;
        line-height: 8vw;
        width: 84%;
        letter-spacing: -.023rem;
    }

    .ambassadors > .bg_wrapper > .abg_left {
        width: 15%;
        left: -1%;
        top: -91px;
    }
    
    .ambassadors > .bg_wrapper > .abg_right{
        width: 16.5%;
        right: 0%;
        top: -20vw;
    }

    .ambassadors > .title {
        font-size: 5.08vw;
    }
    .ambassadors > .sub_title {
        margin-top: 3.75vw;
        width: 48vw;
    }
    .ambassadors > .body {
        margin: 10.6667vw auto 0;
        display: grid;
        justify-content: center;
    }
    .ambassadors > .body > .ambassadors_block {
        margin-bottom: 18vw;
        width: 78.7vw;
        max-width: 590px;
    }
    .ambassadors > .body > .ambassadors_block > .ambassadors_img_wrapper {
        margin-bottom: 0;
    }
    .ambassadors > .body > .ambassadors_block > .ambassadors_img_wrapper > .ambassadors_img {
        margin-bottom: 5vw;
        border-radius: 12px;
    }
    .ambassadors > .body > .ambassadors_block > .ambassadors_img_wrapper > .ambassadors_msg_btn {
        right: 0;
        bottom: 0;
        width: 37.4vw;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_post {
        font-size: 3.1vw;
        letter-spacing: 1.2px;
        line-height: 6vw;
        height: auto;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_name {
        margin-bottom: 10.6vw;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_name > div {
        margin-top: 30px;
        margin-right: 30px;
        font-size: 4.54vw;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_name > .ambassadors_left_en {
        width: 28.5vw;
        height: 2.2vw;
        max-height: none;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_name > .ambassadors_right_en {
        width: 31.2vw;
        height: 2.2vw;
        max-height: none;
    }
    .ambassadors > .body > .ambassadors_block >  .ambassadors_btn {
        width: 100%;
        max-width: 100%;
    }
    .modal_content {
        margin-top: 2.5%;
        margin-bottom: 2.5%;
        padding: 13.4vw 8vw;
    
    }
    .modal_content > .title {
        padding-bottom: 4.6vw;
        margin-bottom: 10.5vw;
    }
    .modal_content > .title > img {
        width: 24.8vw;
    }
    .modal_content > .title > div {
        font-size: 4vw;
        letter-spacing: 0.05vw;
    }
    .modal_content > .title > .msg_movie {
        width: 48vw;
    }
    .modal_content > .title > .close {
        width: 4vw;
      }
    .modal_post {
        font-size: 3.2vw;
        letter-spacing: 0.21vw;
        line-height: 6vw;
        height: auto;
    }
    .modal_name > div {
        margin-top: 8vw;
        font-size: 4.5vw;
    }
    .modal_end_left {
        float: none;
        width: 100%;
    }
    .modal_end_right {
        float: none;
        width: 100%;
    }
    .modal_text {
        font-feature-settings: "palt";
        font-size: 3.46vw;
        letter-spacing : 0.3vw;
        line-height: 8vw;
      }


    .project{
        margin-top: 5.3vw;
        
    }

    .project > img{
        margin-top: 3vw;
        height: 10vw;
    }


    .outline{
        padding-top:21vw;
    }

    .outline > .project_outline{
        margin-top: 9vw;
        line-height: 9vw;;
    }

    .project .pg_title{
        font-size: 4.6vw;
    }

    .outline > img.logo{
        width:78vw;
        margin-top: 6vw;
    }

    .project .title{
        text-align: center;
        font-size:5.2vw;
        margin-bottom: -1.5vw;
    }

    .outline > .project_outline > img{
        width: 17vw;
    }

    .outline > .project_outline > .body{
        margin: 5.4vw auto 0px auto;
        line-height: 7.9vw;
        width: 89%;
        font-size: 3.2vw;
        letter-spacing: 0vw;
    }

    .outline > a > img.shakakachi-banner{
        width:80vw;
        margin-top: 14vw;
    }
    .seminar_movie {
        padding-top: 16vw;
        padding-bottom: 16vw;
    }
    .seminar_movie > .title {
        font-size: 5.02vw;
        margin-bottom: 3.2vw;

    }
    .seminar_movie > .sub_title {
        margin-bottom: 9.6vw;
        width: 29vw;
    }
    .seminar_movie > .thumbnail_wrapper { 
        max-width: 630px;
    }
    .seminar_movie > a{
        width: 78vw;
        height: 11vw;
        max-width: 580px;
        font-size: 3.2vw;
    }
    .seminar_movie > a::before {
        width: 5vw;
        height: 4vw;
        right: 4%;
    }
    .seminar_movie > a > span {
        font-size: 2.2vw;
    }

    .about_phase{
        margin: 0 auto 17.4vw auto;
        letter-spacing: .2vw;
        position: relative;
    }

    .about_phase > img{
        width: 14vw;
        margin-top: 4vw;
    }

    .about_phase > .body{
        flex-direction: column;
        gap: 5vw;
        margin-top: 9vw;
        margin-left: 10vw;
    }

    .about_phase > .body > .item{
        width: 22vw;
        height: 30vw; 
        display: block;
        position: relative;
    }
    
    .about_phase > .body > .item > div:nth-child(1){
        width: 26vw;
        height: 26vw;
    }

    .about_phase > .body > .item > div:nth-child(2){
        position: absolute;
        top:0;
        left:32vw;
        width: 50vw;
    }

    .about_phase > .body > .item > div:nth-child(2) > div:nth-child(1){
        font-size: 4.3vw;
        margin: 0;
        text-align: left;
    }
   
    
    .about_phase > .body > .item > div:nth-child(2) > div:nth-child(2){
        line-height: 5.8vw;
        margin-top: 2.4vw;
        letter-spacing: 0.02rem;
        font-size: 3vw;
    }
     /* 最初の .desc 要素 */
     .about_phase > .body > .item:first-of-type > div:nth-child(2) > div.desc::after {
        top: 29vw;
    }
 
    .about_phase > .body > .item > div:nth-child(2) > div.desc:after{
        height: 2.9vw;
        width: 2.9vw;
        top:27vw;
        left:5%;
        transform: rotate(90deg);
        background-size: 2.5vw;
        background-repeat: no-repeat;
        background-image:url("../img/arrow.svg");
    }
   

    .flow > img{
        width: 11vw;
        margin-top: 4vw;
    }

    .flow > .body{
        width: 100%;
        height: 112vw;
        border-left: 1px solid #00a26b;
        margin: 12vw 0 0 15.2vw
    }
    
    .flow > .body > .item{
        margin-left: -15px;
        height: 29vw;
    }

    .flow > .body > .item:nth-child(2){
        height: 34vw;
    }

    .flow > .body > .item:nth-child(3){
        height: 28vw;
    }
    
    
    .flow > .body > .item > div{
        display: inline-block;
        vertical-align: top;
        margin-right: 7.2vw;
    }
    
    .flow > .body > .item > div > img:nth-child(2){
        margin-left: 3vw;
        height: 2.7vw;
    }

    
    .flow > .body > .item > div:nth-child(2) > div:nth-child(1){
        font-size: 3.8vw;
    } 
    
    .flow > .body > .item > div:nth-child(2) > div:nth-child(2){
        font-size: 3vw;
        margin-top:2.6vw;
        line-height: 5.8vw;
        width: 46vw;
        letter-spacing: -.11vw;
    } 

    .flow > .picture{
        width:89vw;
        margin: 11vw 0 0 7vw;
        position: relative;
        height: 88vw;
        top:0;
        left:0;
    }
    .top_guide_menu{
        margin-left: 2vw;
        width: 27vw;
    }
    .notice {
        width: 86%;
        margin: 0 auto;
        height: auto;
        padding: 15vw 0 0 0;
    }
    .notice > .sub_title{
        height: 10.5vw;
        font-size: 3.467vw;
        margin: 0 auto 5.4vw auto;  
    }
    
    .notice > .end {
        text-align: left;
        font-size: 3.467vw;
        letter-spacing: 1px;
    }

    .effects_base{
        width: 100%;
        height:0.56vw;
        top:0px;
    
    }
    
    
    .effects_base > img:nth-child(1){
        width:98%;
        left:4vw;
    }
    
    .effects_base > img:nth-child(2){
        width:35vw;
        left:-1.4vw;
        top:5.6vw;
    }
    
    .effects_base > img:nth-child(3){
        width:48vw;
        left:58vw;
        top:4.5vw;
    }
    
    .effects_base > img:nth-child(4){
        width:33vw;
        left:2.8vw;
        top:134vw;
    }
    
    .effects_base > img:nth-child(5){
        width: 29vw;
        left: 20vw;
        top: 108vw;
    }
    
    .effects_base > img:nth-child(6){
        width:38vw;
        left:75vw;
        top:104vw;
    }
    
    .effects_base > img:nth-child(7){
        width:21vw;
        left:59.5vw;
        top:148vw;
    }
    
    .effects_base > img:nth-child(8){
        width:70%;
        top:12.8vw;
        left:23.4vw;
    }
    
    .project{
        margin-bottom: 21.4vw;
    }

    .project > .wrapper >.bg_wrapper .bg_left{
        top:4vw;
        left:4vw;
    }
    
    .project > .wrapper >.bg_wrapper .bg_right{
        right:2vw;
        top:4vw;
        width: 15vw;
    }

    .online_briefing {
        
    }
    .online_briefing > .bg_wrapper {
        display: block;
    }
    .online_briefing > .bg_wrapper > .bg_left {
        width: 100%;
        left: 1%;
        top: -11vw;

    }
    .online_briefing > .bg_wrapper > .bg_right{
        display: none;
    }
    .online_briefing > .headline h1 {
        font-size : 5.07vw;
        line-height :  5.07vw;
        letter-spacing : 0.48vw;
    }
    .online_briefing > .headline .subtitle {
        margin-bottom: 4.2vw;
        font-size : 3.4vw;
        letter-spacing : 1.4px;
        font-feature-settings: "palt";
    }
    .online_briefing > .headline  > img {
        margin-top: 3.2vw;
        margin-bottom: 9.6vw;
        width: 30vw;
    }
    .online_briefing > .archive_video_area {
        flex-direction: column-reverse;
    }
    .online_briefing > .archive_video_area > .archive_video_text {
        display: flex;
        flex-direction: column-reverse;
        align-items: center;
        max-width: 100%;
        margin: 7.3vw auto 0;
    }
    .online_briefing > .archive_video_area > .archive_video_text > div {
        margin-top: 6vw;
        margin-bottom: 0;
        font-size: 3.4vw;
        line-height: 7.82vw;
    }
    .online_briefing > .archive_video_area > .archive_video_text > div > span {
        margin-top: 1rem;
        font-size: 2.4vw;
    }
    .online_briefing > .archive_video_area > .archive_video_text > a {
        width: 78.7vw;
        height: 10.4vw;
        font-size: 3.2vw;
    }
    .online_briefing > .archive_video_area > .archive_video_text > a::before {
        width: 5vw;
        height: 4vw;
        right: 6%;
    }
    .online_briefing > .archive_video_area > .archive_video_text > a > span {
        font-size: 2.6vw;
    }
    .online_briefing > .archive_video_area > .archive_video {
        max-width: 629px;
    }
    .online_briefing > .archive_video_area > .archive_video > .play_btn {
        width: 37.4vw;
        max-width: 280px;  
        top: calc(50% - 5.4vw);
    }
    .archive {
        margin-top: 14vw;
    }

    .seminar {
        margin-top: 16vw;
        padding: 16vw 5.4vw;
    }
    .seminar > .headline > .subtitle {
        margin-bottom: 4.3vw;
        font-size: 3.2vw;
        font-weight: 700;
        letter-spacing: 0.32vw;
    }
    .seminar > .headline > h1 {
        font-size: 5.1vw;
        font-weight: 600;
        letter-spacing: 0.51vw
    }
    .seminar > .headline  > img {
        margin-top: 3.2vw;
        margin-bottom: 9.6vw;
        width: 17vw;
    }
    .seminar > .seminar_description {
        font-size: 3.47vw;
        font-style: normal;
        font-weight: 500;
        line-height: 231%; /* 60.06px */
        letter-spacing: 2.6px;
    }
    .seminar > .seminar_caption {
        margin-top: 2vw;
        font-size: 3.2vw;
        line-height: 5.76vw;
    }
    .seminar > .archive_banner {
        margin:9.6vw auto 5.4vw
    }
    .seminar > .seminar_bottom > img {
        margin-bottom: 2.7vw;
        width: 26.7vw;
    }
    .seminar > .seminar_bottom > a {
        max-width: 420px;
        width: 58vw;
    }

    .faq_wrapper {
        margin-top: 20vw;
    }
    .faq .bg_wrapper > .faq_bg_left{
        width: 30%;
        left: -6vw;
        top: -13vw;
    }
    .faq .bg_wrapper > .faq_bg_right{
        width: 15%;
        right: 2vw;
        top: -17vw;
    }
    .faq_wrapper .faq_title {
        margin-top: 18vw;
        margin-bottom: 4vw;
        font-size: 4.3vw;
        line-height: 0;
    }
    .faq_wrapper .faq_sub_title {
        width: 7.2vw;
    }

    .faq-tabs {
        margin-top: 10.7vw;
    }
    .faq-tabs li {
        width: 27vw;
        font-size: 2.8vw;
    }
    .faq-section {
        margin-top: 13.4vw;
    }
    .faq-section > .caption {
        margin-bottom: 8vw;
        width: 100%;
        font-size: 3.74vw;
    }
    .accordion-item {
        border-radius: 4vw;
    }
    .accordion {
        -webkit-tap-highlight-color: transparent;
        padding: 3.2vw 7vw 3.2vw 5.34vw;
        font-size: 3.2vw;
    }
    .accordion::before,.accordion::after  {
        width: 3%;
        height: 2px;
        right: 4vw;
    }
    .panel {
        padding: 0 7vw 0 5.34vw;
    }
    .panel.open {
        padding: 3.2vw 7vw 3.2vw 5.34vw;
    }
    .panel span {
        display: inline-block;
        font-size: 2.94vw;
        letter-spacing: 0.01em;
        word-break: break-all;
        /* line-height: 4.3vw; */
    }

    .notice_terms span:first-child {
        font-size: 3.2vw;
        margin: 6.7vw 0;
    }
    .notice_terms .label-text {
        font-size: 3.2vw;
    }
    .notice_terms .notice_terms_text {
        font-size: 2.78vw;
        text-align: center;
    }
    .notice_terms .notice_terms_bottom_text {
        margin-top: 2vw;
        font-size: 2.78vw;
        text-align: center;
    }
    .notice_btn {
        width: 54vw;
    }
    .checkbox_wrapper {
        margin-top: 6vw;
        margin-bottom: 6vw;
    }
    .custom-checkbox .box {
        width: 3.75vw;
        height: 3.75vw;
    }
    .custom-checkbox input[type="checkbox"]:checked + .box::after {
        left: 1vw;
        width: 1vw;
        height: 2vw;
      }
    #submitBtn {
        margin-top: 8vw;
        width: 63vw;
    }

    .mailto {
        padding: 10.7vw 40px;
        margin: 21.4vw auto 0;
    }
    .mailto_address {
        margin-top: 2.72vw;
        width: 78vw;
    }
    .mailto_notes {
        font-size: 2.8vw;
    }

    .partner {
        margin: 21.4vw auto;
    }
    .partner p {
        font-size: 3.74vw;
    }
    .partner_list {
        margin-top: 8vw;
        justify-content: space-evenly;
    }
    .partner span {
        display: none;
    }
    .pdf_menu {
        top: 48%;
        right: -6px;
        width: 9.4vw;
    }   
}

@media screen and (max-width: 1280px) {
    .local_nav > .nav_items > .nav > span{
    }
}

@media screen and (max-width: 667px) {
    .flow > .body > .item > div:nth-child(2){
        margin-top: 0px;
    } 
    .menu_modal > .menu_modal_inner {
       
        transform: translate(-50%, -50%) scale(0.9);
    }
}

@media screen and (max-width: 375px) {
    .flow > .body > .item > div:nth-child(2){
        margin-top: 4px;
    } 
}
@media (max-width: 600px){
    .shakakachi_contents{
      --after-top: 665vw;
    }
  }


