/* SP版_画面幅768px以下 */
@media screen and (max-width: 768px) {
    .header_area{
        height: 9vh;
        max-height: 90px;
    }
    .header_logo img{
        height: 9vh;
        max-height: 90px;
    }
    .header_menu nav{
        height: 9vh;
        max-height: 90px;
    }
    .header_menu nav ul{
        height: 9vh;
        max-height: 90px;
    }
    .header_menu{
        display: none;
    }
    .header_bk_black{
        width: 100vw;
        height: 9vh;
        background-color: #fff;
    }
    .fv_img {
        position: relative;
        width: 100%;
        min-height: 100vh;
        background: url("./img/top/fv_sp_01.png")
          center / cover;
    }
    .heading_01{
        margin: 0 auto 0 auto;
        text-align: center;
        font-size: 1.2rem;
    }

    .heading_02{
        margin: 10vw auto 0 auto;
        text-align: center;
        font-size: 1.2rem;
    }

    .heading_03{
        width: 60vw;
        margin-top: 8vw;
        margin-left: 20vw;
        font-size: 1.2rem;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
        font-weight: 500;
    }

    .heading_04{
        width: 70vw;
        margin-top: 8vw;
        margin-left: 15vw;
        font-size: 1.2rem;
    }

    .heading_05{
        width: 70vw;
        margin-top: 8vw;
        margin-left: 15vw;
        font-size: 1.2rem;
        text-align: center;
    }
    
    .heading_06{
        width: 80vw;
        margin: 7vw auto 0 auto;
        font-size: 1rem;
        text-align: center;
        font-weight: 500;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
    }

    .heading_07{
        margin: 15vw auto 0 auto;
        text-align: center;
        font-size: 1.2rem;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
    }

    .contact_heading{
        width: 80vw;
        margin: 5vw auto 0 auto;
        font-size: 1rem;
    }
    .contact_box input{
        width: 80vw;
        margin: 0.5vw 10vw 0 10vw;
        border: solid 1px #000;
        background-color: #EDEDED;
    }
    .contact_textarea textarea{
        width: 80vw;
        height: 50vw;
        margin: 0.5vw 10vw 0 10vw;
        border: solid 1px #000;
        background-color: #EDEDED;
    }
    .blank{
        height: 5vh;
    }
    .form_area{
        margin-top: 7vw;
    }

    .text_01{
        margin: 7vw auto 7vw auto;
        width: 60vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }

    .text_02{
        margin: 7vw auto 7vw auto;
        width: 72vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }

    .text_03{
        margin: 7vw auto 7vw auto;
        width: 60vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }

    .text_04{
        margin: 7vw auto 7vw auto;
        width: 80vw;
        font-size: 0.8rem;
        line-height: 2.5;
        text-align: center;
    }

    .text_05{
        margin: 7vw auto 10vw auto;
        width: 70vw;
        font-size: 1rem;
        line-height: 2.5;
        text-align: center;
    }

    .text_06{
        margin: 7vw auto 7vw auto;
        width: 70vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }

    .text_07{
        margin: 7vw auto 7vw auto;
        width: 72vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }

    .text_08{
        margin: 20vw auto 7vw auto;
        width: 60vw;
        font-size: 0.8rem;
        line-height: 2.5;
        text-align: center;
    }

    .text_09{
        margin: 7vw auto 0 auto;
        width: 90vw;
        font-size: 0.8rem;
        line-height: 2.5;
        text-align: center;
    }

    .media_date{
        font-size: 0.8rem;
        line-height: 2.5;
    }
    .media_name{
        margin-top: 3rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .flex_img_container_01{
        width: 86vw;
        margin: 15vw 7vw 0 7vw;
    }
    .flex_text_container_01{
        margin: 3vw auto 0 auto;
        width: 72vw;
    }
    .flex_img_container_02{
        width: 86vw;
        margin: 10vw 7vw 0 7vw;
    }

    .background_wrapper{
        padding: 5vh 0 5vh 0;
    }
    .background_wrapper:nth-child(odd){
        background-color: #f5f5f5;
    }

    .bk-gray{
        background-color: #f5f5f5;
        padding: 1vw 0 5vw 0;
    }

    /* accordion menu start */

    .accordion-001 {
        max-width: 90vw;
        background-color: #ffffff;
        margin: 0 auto;
    }
    
    .accordion-001:not([open]) {
        margin-bottom: 7px;
    }
    
    .accordion-001 summary {
        display: flex;
        justify-content: space-between;
        align-items: top;
        position: relative;
        padding: 1em 2em;
        color: #000;
        cursor: pointer;
    }

    .accordion-001 summary h2{
        color: #000;
        font-weight: 600;
        cursor: pointer;
    }
    
    .accordion-001 summary::-webkit-details-marker {
        display: none;
    }
    
    .accordion-001 summary::before,
    .accordion-001 summary::after {
        width: 3px;
        height: .9em;
        border-radius: 5px;
        background-color: #000;
        content: '';
    }
    
    .accordion-001 summary::before {
        position: absolute;
        right: 2em;
        rotate: 90deg;
    }
    
    .accordion-001 summary::after {
        transition: rotate .3s;
    }
    
    .accordion-001[open] summary::after {
        rotate: 90deg;
    }
    
    .accordion-001 p {
        font-size: 16px!important;
        transform: translateY(-10px);
        opacity: 0;
        margin: 0;
        padding: 1em 2em 2em 2em;
        color: #000000;
        transition: transform .5s, opacity .5s;
    }
    
    .accordion-001[open] p {
        font-size: 16px!important;
        transform: none;
        opacity: 1;
    }

    /* accordion menu end */

        /* tab start */

        .tab-002 {
            display: flex;
            flex-wrap: wrap;
            gap: 0 10px;
            max-width: 90vw;
            margin: 8vh auto 0 auto;
        }
        
        .tab-002 > label {
            flex: 1 1;
            order: -1;
            opacity: .5;
            min-width: 70px;
            padding: .6em 1em;
            background-color: #000000;
            color: #fff;
            font-size: .9em;
            text-align: center;
            cursor: pointer;
        }
        
        .tab-002 > label:hover {
            opacity: .8;
        }
        
        .tab-002 input {
            display: none;
        }
        
        .tab-002 > div {
            display: none;
            width: 100%;
            padding: 0em 1.1em;
            background-color: #fff;
            border: 2px solid #000;
        }
        
        .tab-002 label:has(:checked) {
            opacity: 1;
        }
        
        .tab-002 label:has(:checked) + div {
            display: block;
        }
    
        /* tab end */
    
        /* read more start */
        .readmore {
            position: relative;
            margin: 2em auto 1em auto;
            display: block;
            color: #666;
            border: none;
            outline: 0;
            cursor: pointer;
            background: none;
            letter-spacing: 0.1em;
        }
        .readmore:before {
          content: "";
          /* width: 50px;
          height: 50px; */
          text-align: center;
          border-radius: 50%;
          display: block;
          margin: 0 auto .5em;
          background: url(../img/arrow.png) no-repeat center / 20px #fff;
          transition: .3s;
        }
        .readmore.on-click:before {
          transform: rotate(180deg);
        }
        .readmore .open {
          display: block;
        }
        .readmore.on-click .open {
          display: none;
        }
        .readmore .close {
          display: none;
        }
        .readmore.on-click .close {
          display: block;
        }
        /* read more end */

    /* button css start */
    .button_01{
        margin: 3vw auto 0 auto;
        width: 60vw;
    }
    .button_02{
        margin: 3vw auto 0 auto;
        width: 60vw;
    }
    .button-029 {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 60vw;
        margin:0 auto;
        padding: .9em 2em;
        overflow: hidden;
        border: 1px solid #000000;
        background-color: #fff;
        color: #000;
        font-size: 1em;
        font-family: "gill-sans-nova", sans-serif;
    }
    
    .button-029:hover {
        background-color: transparent;
        color: #fff;
    }
    
    .button-029::before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 0;
        height: 100%;
        background-color: #000;
        content: '';
        transition: width .3s ease;
    }
    
    .button-029:hover::before {
        width: 100%;
    }
    
    .button-029::after {
        transform: rotate(45deg);
        width: 5px;
        height: 5px;
        margin-left: 10px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        content: '';
    }
    
    .button-029:hover::after {
        border-color: #fff;
    }
    /* button css end */

    .page_title{
        text-align: center;
        color: #000;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
        font-size: 1.5rem;
        font-weight: 600;
        margin-top: 15vh;
    }

    /* footer start */

    /* return page top btn start */
    .triangle{
        border-top: solid 3px #000;
        border-left: solid 3px #000;
        width: 24px;
        height: 24px;
        transform: rotate(45deg);
    }

    #page-top{
        width: 45px;
        height: 30px;
        position: fixed;
        right: 5vw;
        bottom: 10vh;
        opacity: 0;
	    transform: translateY(100px);
    }

    /*　上に上がる動き　*/

    #page-top.UpMove{
        animation: UpAnime 0.5s forwards;
    }
    @keyframes UpAnime{
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
    }

    /*　下に下がる動き　*/

    #page-top.DownMove{
        animation: DownAnime 0.5s forwards;
    }
    @keyframes DownAnime{
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 1;
        transform: translateY(100px);
    }
    }

    #page-top_btn{
        width: 60px;
        height: 60px;
    }

    /* return page top btn end */

    hr{
        border: none;
        border-bottom: 3px solid #000;
        margin: 21vh 5vw 0 5vw;
    }

    .profile_hr{
        border: none;
        border-bottom: 2px solid #000;
        margin: 7vh 5vw 7vh 5vw!important;
    }
    
    .footer_container{
        display: flex;
        flex-wrap: wrap;
        width: 90vw;
        height: 30vh;
        margin: 2vh auto 2vh auto;
    }

    .footer_menu ul{
        font-family: "gill-sans-nova", sans-serif;
        font-size: 1rem;
        font-weight: bold;
        height: 5vh;
        align-items: center;
    }

    .footer_menu li{
        margin: 3vh 2vw;
    }

    .sns_menu{
        margin-left: auto;
        margin-top: 6vh;
        margin-right: 1vw;
        display: inline-block;
    }

    .sns_menu a img{
        margin-top: 3vh;
        margin-left: 3vw;
    }

    .footer_conf_logo{
        height: 5vh;
        margin-top: -1vh;
        margin-left: -1.5vw;
        margin-bottom: 3vh;
    }
    /* footer end */
}

/* PC版_画面幅769px以上 */
@media screen and (min-width: 769px){
    .header_area{
        height: 10.4vw;
        max-height: 90px;
    }
    .header_logo img{
        height: 10.4vw;
        max-height: 90px;
    }
    .header_menu nav{
        height: 10.4vw;
        max-height: 90px;
    }
    .header_menu nav ul{
        height: 10.4vw;
        max-height: 90px;
    }
    .header_bk_black{
        width: 100vw;
        height: 10.4vw;
        max-height: 90px;
        background-color: #fff;
    }
    .hamburger_menu{
        display: none;
    }
    .fv_img {
        position: relative;
        width: 100%;
        min-height: 100vh;
        background: url("./img/top/fv_pc_01.png")
          center / cover;
    }
    .heading_01{
        margin: 0 auto 0 auto;
        text-align: center;
        font-size: 2rem;
        font-weight: 500;
    }
    .heading_02{
        width: 45vw;
        font-size: 2rem;
        font-weight: 500;
    }
    .heading_03{
        width: 80vw;
        margin-top: 8vw;
        margin-left: 10vw;
        font-size: 1.5rem;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
        font-weight: 500;
    }
    .heading_04{
        width: 40vw;
        margin-top: 8vw;
        margin-left: 30vw;
        font-size: 2rem;
    }
    .heading_05{
        width: 40vw;
        margin-top: 8vw;
        margin-left: 30vw;
        font-size: 2rem;
        text-align: center;
    }
    .heading_06{
        width: 40vw;
        margin: 3vw auto 0 auto;
        font-size: 1.5rem;
        text-align: center;
        font-weight: 500;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
    }
    .heading_07{
        margin: 7vw auto 0 auto;
        text-align: center;
        font-size: 2rem;
        font-weight: 500;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
    }
    .contact_heading{
        width: 50vw;
        margin: 1vw auto 0 auto;
        font-size: 1rem;
    }
    .contact_box input{
        width: 50vw;
        height: 2vw;
        margin: 0.4vw 25vw 0 25vw;
        border: solid 1px #000;
        background-color: #EDEDED;
    }
    .contact_textarea textarea{
        width: 50vw;
        height: 30vw;
        margin: 0.5vw 25vw 0 25vw;
        border: solid 1px #000;
        background-color: #EDEDED;
    }
    .blank{
        height: 5vh;
    }
    .form_area{
        margin-top: 5vw;
    }
    .text_01{
        margin: 3vw auto 0 auto;
        width: 40vw;
        font-size: 1rem;
        line-height: 2.5;
    }
    .text_02{
        width: 45vw;
        margin-top: 2vw;
        font-size: 1rem;
        line-height: 2.5;
    }
    .text_03{
        margin: 3vw auto 7vw auto;
        width: 80vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }
    .text_04{
        margin: 3vw auto 7vw auto;
        width: 80vw;
        font-size: 1rem;
        line-height: 2.5;
        text-align: center;
    }
    .text_05{
        margin: 3vw auto 7vw auto;
        width: 80vw;
        font-size: 1rem;
        line-height: 2.5;
        text-align: center;
    }
    .text_06{
        margin: 3vw auto 7vw auto;
        width: 40vw;
        font-size: 0.8rem;
        line-height: 2.5;
    }
    .text_07{
        width: 35vw;
        font-size: 1rem;
        line-height: 2.5;
    }
    .text_08{
        margin: 9vw auto 0 auto;
        width: 40vw;
        font-size: 1rem;
        line-height: 2.5;
        text-align: center;
    }
    .text_09{
        margin: 3vw auto 0 auto;
        width: 80vw;
        font-size: 1rem;
        line-height: 2.5;
        text-align: center;
    }
    .media_date{
        font-size: 0.8rem;
        line-height: 2.5;
    }
    .media_name{
        margin-top: 3rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .flex_container_01{
        margin: 4vw 15vw 0 15vw;
    }
    .flex_container_03{
        margin: 4vw 27.5vw 0 27.5vw;
    }
    .flex_container_01{
        display: flex;
        flex-wrap: wrap;
    }
    .flex_img_container_01{
        width: 20vw;
        margin: auto 5vw auto 0;
    }
    .flex_text_container_01{
        width: 45vw;
    }
    .flex_img_container_02{
        width: 30vw;
        margin: auto 5vw auto 0;
    }

    .background_wrapper{
        padding: 5vh 0 5vh 0;
    }
    .background_wrapper:nth-child(odd){
        background-color: #f5f5f5;
    }
    .bk-gray{
        background-color: #f5f5f5;
        padding: 1vw 0 5vw 0;
    }

    /* accordion menu start */

    .accordion-001 {
        max-width: 60vw;
        background-color: #ffffff;
        margin: 0 auto;
    }
    
    .accordion-001:not([open]) {
        margin-bottom: 7px;
    }
    
    .accordion-001 summary {
        display: flex;
        justify-content: space-between;
        align-items: top;
        position: relative;
        padding: 1em 2em;
        color: #000;
        cursor: pointer;
    }

    .accordion-001 summary h2{
        color: #000;
        font-weight: 600;
        cursor: pointer;
    }
    
    .accordion-001 summary::-webkit-details-marker {
        display: none;
    }
    
    .accordion-001 summary::before,
    .accordion-001 summary::after {
        width: 3px;
        height: .9em;
        border-radius: 5px;
        background-color: #000;
        content: '';
    }
    
    .accordion-001 summary::before {
        position: absolute;
        right: 2em;
        rotate: 90deg;
    }
    
    .accordion-001 summary::after {
        transition: rotate .3s;
    }
    
    .accordion-001[open] summary::after {
        rotate: 90deg;
    }
    
    .accordion-001 p {
        font-size: 16px!important;
        transform: translateY(-10px);
        opacity: 0;
        margin: 0;
        padding: 1em 2em 2em 2em;
        color: #000000;
        transition: transform .5s, opacity .5s;
    }
    
    .accordion-001[open] p {
        font-size: 16px!important;
        transform: none;
        opacity: 1;
    }

    /* accordion menu end */

    /* tab start */

    .tab-002 {
        display: flex;
        flex-wrap: wrap;
        gap: 0 10px;
        max-width: 80vw;
        margin: 8vh auto 0 auto;
    }
    
    .tab-002 > label {
        flex: 1 1;
        order: -1;
        opacity: .5;
        min-width: 70px;
        padding: .6em 1em;
        background-color: #000000;
        color: #fff;
        font-size: .9em;
        text-align: center;
        cursor: pointer;
    }
    
    .tab-002 > label:hover {
        opacity: .8;
    }
    
    .tab-002 input {
        display: none;
    }
    
    .tab-002 > div {
        display: none;
        width: 100%;
        padding: 0.5em 5em;
        background-color: #fff;
        border: 2px solid #000;
    }
    
    .tab-002 label:has(:checked) {
        opacity: 1;
    }
    
    .tab-002 label:has(:checked) + div {
        display: block;
    }

    /* tab end */

    /* read more start */
    .readmore {
        position: relative;
        margin: 2em auto 1em auto;
        display: block;
        color: #666;
        border: none;
        outline: 0;
        cursor: pointer;
        background: none;
        letter-spacing: 0.1em;
    }
    .readmore:before {
      content: "";
      /* width: 50px;
      height: 50px; */
      text-align: center;
      border-radius: 50%;
      display: block;
      margin: 0 auto .5em;
      background: url(../img/arrow.png) no-repeat center / 20px #fff;
      transition: .3s;
    }
    .readmore.on-click:before {
      transform: rotate(180deg);
    }
    .readmore .open {
      display: block;
    }
    .readmore.on-click .open {
      display: none;
    }
    .readmore .close {
      display: none;
    }
    .readmore.on-click .close {
      display: block;
    }
    /* read more end */

    /* button css start */
    .button_01{
        margin: 3vw auto 0 auto;
        width: 20vw;
    }
    .button_02{
        margin: 3vw auto 0 auto;
        width: 20vw;
    }
    .button-029 {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 20vw;
        margin:0 auto;
        padding: .9em 2em;
        overflow: hidden;
        border: 1px solid #000000;
        background-color: #fff;
        color: #000;
        font-size: 1em;
        font-family: "gill-sans-nova", sans-serif;
    }
    
    .button-029:hover {
        background-color: transparent;
        color: #fff;
    }
    
    .button-029::before {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        width: 0;
        height: 100%;
        background-color: #000;
        content: '';
        transition: width .3s ease;
    }
    
    .button-029:hover::before {
        width: 100%;
    }
    
    .button-029::after {
        transform: rotate(45deg);
        width: 5px;
        height: 5px;
        margin-left: 10px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        content: '';
    }
    
    .button-029:hover::after {
        border-color: #fff;
    }
    /* button css end */

    .page_title{
        text-align: center;
        color: #000;
        font-family: 'Zen Kaku Gothic New', sans-serif!important;
        font-size: 3rem;
        font-weight: 600;
        margin-top: 21vh;
    }

    /* footer start */

    /* return page top btn start */
    .triangle{
        border-top: solid 3px #000;
        border-left: solid 3px #000;
        width: 24px;
        height: 24px;
        transform: rotate(45deg);
    }

    #page-top{
        width: 60px;
        height: 30px;
        position: fixed;
        right: 5vh;
        bottom: 10vh;
        opacity: 0;
	    transform: translateY(100px);
    }

    /*　上に上がる動き　*/

    #page-top.UpMove{
        animation: UpAnime 0.5s forwards;
    }
    @keyframes UpAnime{
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
    }

    /*　下に下がる動き　*/

    #page-top.DownMove{
        animation: DownAnime 0.5s forwards;
    }
    @keyframes DownAnime{
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 1;
        transform: translateY(100px);
    }
    }

    #page-top_btn{
        width: 60px;
        height: 60px;
    }

    /* return page top btn end */

    hr{
        border: none;
        border-bottom: 3px solid #000;
        margin: 21vh 5vw 0 5vw;
    }

    .profile_hr{
        border: none;
        border-bottom: 2px solid #000;
        margin: 4vh 5vw 10vh 5vw!important;
    }
    
    .footer_container{
        display: flex;
        flex-wrap: wrap;
        width: 90vw;
        margin: 5vh auto 5vh auto;
    }

    .footer_menu ul{
        display: flex;
        flex-wrap: wrap;
        font-family: "gill-sans-nova", sans-serif;
        font-size: 1rem;
        font-weight: bold;
        height: 5vh;
        align-items: center;
    }

    .footer_menu li{
        margin: 0 1vw;
    }

    .sns_menu{
        display: flex;
        flex-wrap: wrap;
        margin-left: auto;
        margin-right: 1vw;
    }

    .sns_menu a img{
        height: 4vh;
        align-items: center;
        margin-left: 2vw;
    }

    .footer_conf_logo{
        height: 7vh;
        align-items: center;
        margin-top: 1vh;
    }
    /* footer end */
}