@media only screen and (max-width: 640px) {
    .pc_only {
        display: none;
    }

    .pc_only_inline {
        display: none;
    }

    .mb_only {
        display: block;
    }

    .fadein {
        opacity: 0.1;
        transform: translate(0, 30px);
        transition: all 0.5s;
    }

    .fadein_type2 {
        transform: translate(0, 30px);
        transition: all 0.5s;
    }

    .fadein_type3 {
        transform: translate(0, 30px);
        transition: all 0.5s;
    }

    #mainvisual {
        height: 430px;
        /* background: rgb(47,66,194);
    background: linear-gradient(180deg, rgba(47,66,194,1) 0%, rgba(47,147,194,1) 50%, rgba(149,226,255,1) 100%);
    text-align: center; */

        background-image: url(../images/mv2_2_mb.png);
        background-position-x: 50%;
        background-size: cover;
        height: 81.5vw;
    }

    #mainvisual img.mv_flag {
        height: 30px;
    }

    #mainvisual img.mv_text {
        height: 400px;
    }

    #g_menu {
        justify-content: space-around;
    }

    #sub_page #g_menu {
        display: none;
    }

    #g_menu > div {
        width: 24%;
        font-size: 3vw;
        box-shadow: 1px 1px 1px #8f9884;
        border-radius: 10px;
        background-color: #a0c76e;
        margin-top: 1.1vw;
    }

    #g_menu a div {
        line-height: 4vw;
        min-height: 6.6vw;
    }

    #g_menu > div > div {
        margin: 2vw 0;
    }

    #g_menu img {
        margin: 0 auto 1vw;
        padding: 0 3vw;
    }

    #g_menu > div > div {
        border-left: none;
    }

    #g_menu > div:last-child > div {
        border-right: none;
    }

    #g_menu > div span {
        font-size: 3vw;
        line-height: 3vw;
        min-height: 6vw;
    }

    .content_area {
        background-color: #d9ecf8;
        width: 100%;
        padding: 6.66vw 4vw;
    }

    .content_area:last-child {
        padding: 8vw 4vw 6.66vw;
    }

    .content_area section {
        background-color: #fff;
        padding: 4vw;
        border-radius: 3.33vw;
    }

    .content_area h2 {
        font-size: 4.5vw;
        line-height: 6.5vw;
        margin-top: 0vw;
        margin-bottom: 0;
    }

    .content_area h2 span {
        font-size: 3.5vw;
        line-height: 5.33vw;
        letter-spacing: 0.1px;
        margin-bottom: 6.66vw;
    }

    .content_area h2 span:first-child {
        display: inline-block;
    }

    .content_area h2 span:last-child {
        margin-bottom: 5vw;
        font-size: 5.5vw;
        line-height: 7vw;
        margin: 10px 0 20px;
    }

    .content_area section h3 {
        font-size: 3.73vw;
        line-height: 5.3vw;
        border-radius: 2.66vw;
        padding: 2.1vw 0;
        display: block;
        text-align: center;
    }

    .content_area section h3 span.sub_text {
        font-size: 3vw;
        vertical-align: 1px;
        letter-spacing: 0.2px;
    }

    .content_area section h3 img {
        height: 5vw;
        vertical-align: -1.1vw !important;
        margin: 0 3px 0 10px;
        width: auto;
    }

    .content_area section .content_text {
        font-size: 4vw;
        line-height: 5.5vw;
    }

    .content_area section .content_text a {
        margin: 1vw 0 0;
    }

    .content_area section .content_text a.small {
        font-size: 3.5vw;
        margin: 2vw 0 0 auto;
        width: 35vw;
        height: 8vw;
    }

    #for_visitors .content_text a.nomargin {
        margin: 1vw 0 0;
    }

    #for_visitors #outline h4 {
        font-size: 4.5vw;
        margin: 0 0 6vw;
    }

    #exhibiting_inquiry .content_box1 {
        margin-top: 3.3vw;
        padding-bottom: 6.6vw;
        display: block;
        /* border-bottom: 2px solid #e3eada; */
    }

    #exhibiting_inquiry .content_box1 .box_wrap .box,
    #exhibiting_inquiry .content_box1 .box_wrap {
        font-size: 3.5vw;
    }

    #exhibiting_inquiry .content_box1 > div:first-child {
        margin: 4vw 2vw 2vw;
    }

    #exhibiting_inquiry #outline h4 {
        font-size: 4vw;
        margin: 2vw 0 5vw;
    }

    #exhibiting_inquiry #outline div {
        font-size: 3.5vw;
        padding-bottom: 1rem;
    }

    #exhibiting_inquiry #outline div.bnr_area {
        padding: 0rem;
        margin-top: 1rem;
    }

    #exhibiting_inquiry .content_box2 {
        padding-bottom: 0vw;
        padding-top: 6.6vw;
        border-bottom: none;
    }

    #exhibiting_inquiry .content_box2 {
        padding-bottom: 6.6vw;
        padding-top: 0;
        /* border-bottom: 2px solid #e3eada; */
        display: block;
    }

    #exhibiting_inquiry .content_box2.last {
        border-bottom: none;
    }

    #exhibiting_inquiry .content_box2 > div {
        display: block;
        margin-top: 3.3vw;
    }

    #exhibiting_inquiry .content_box2 div:first-child {
        margin: 4vw 2vw 2vw;
        font-size: 4vw;
    }

    #exhibiting_inquiry .content_box2 h4 {
        font-size: 4vw;
        color: #1c2660;
        line-height: 4vw;
    }

    #exhibiting_inquiry .content_box2 h4 span {
        font-size: 3vw;
    }

    #exhibit_profile h4 {
        text-align: center;
        background-color: #1c2660;
        color: white;
        font-size: 4vw;
        margin: 6.6vw 0 5vw;
    }

    #exhibit_profile .ep_flex > div {
        width: 49%;
        margin-bottom: 5vw;
    }

    #exhibit_profile .ep_flex img {
        height: 35vw;
    }

    #inquiry {
        padding: 5vw 0;
    }

    #inquiry.upper {
        padding: 0 0 8vw;
    }

    #inquiry > a > div {
        width: 100%;
        min-width: 100%;
        padding: 5vw 5vw 5vw 0;
        font-size: 5vw;
    }

    #inquiry > a div.small {
        font-size: 6vw;
        margin: 0;
    }

    #inquiry > a > div > div:first-child {
        margin-right: 5vw;
    }

    #inquiry > a > div > div:first-child img {
        width: 7vw;
    }

    #inquiry > a > div > div:nth-child(3) {
        margin-left: 5vw;
    }

    #inquiry > a > div > div:nth-child(4) {
        bottom: 30%;
    }

    #inquiry > a > div > div:nth-child(4) img {
        width: 10px;
    }

    #inquiry.upper .small_font {
        font-size: 13px;
    }

    #inquiry.upper > a > div {
        justify-content: space-evenly;
        padding: 3vw 5vw 3vw 0;
        line-height: 7vw;
        margin: 4vw 0;
        box-shadow: 0 2px 10px #6ab0dc;
    }

    #inquiry.upper > a > div > div:first-child {
        margin-right: -3vw;
    }

    #for_visitors {
        margin-bottom: 5vw;
    }

    #for_visitors > div {
        display: block;
        margin-top: 3vw;
        margin-bottom: 10vw;
    }

    #for_visitors h4 {
        font-size: 4vw;
        color: #211407;
        line-height: 5vw;
        margin-top: 14px;
        margin-bottom: 14px;
    }

    #for_visitors h4 span {
        font-size: 3vw;
        margin-top: 2vw;
    }

    #for_visitors .content_box2 > div > div:first-child {
        margin: 4vw 2vw 2vw;
    }

    #for_visitors .content_box2 > div {
        display: block;
    }

    #for_visitors #outline div {
        font-size: 4vw;
        line-height: 5vw;
    }

    #access > a {
        width: 100%;
        min-width: 100%;
        font-size: 6vw;
        margin: 5vw auto 0;
        padding: 5vw 5vw 5vw 0;
        display: block;
    }

    #access > a > div {
        line-height: 1.5;
    }

    #access > a > div > div:last-child {
        bottom: 25%;
    }

    #access > a > div > div:last-child img {
        width: 10px;
    }

    #access > a > div:last-child {
        position: absolute;
        right: 20px;
        bottom: 30%;
    }

    #sns a {
        width: 100%;
        background-color: white;
        margin-top: 20px;
        border: 1px solid #95c3ff;
    }

    #sns img {
        height: 23px;
        width: auto;
    }

    #sub_page .content_area section h3 {
        margin-bottom: 2.6vw;
    }

    #sub_page .content_area section h3 img {
        margin: 0 5px 0 15px;
        width: 15px;
    }

    #sub_page .content_area:last-child {
        padding: 6.66vw 4vw;
    }

    #sub_page h4 {
        font-size: 1.2em;
        margin: 3vw 0 1.3vw;
    }

    .bottom_copy {
        margin-top: -20px;
        line-height: 6.5vw;
        font-size: 5vw;
    }

    footer {
        padding: 5.6vw 3vw 23.26vw 3vw;
    }

    #footer_organization {
        font-size: 3.73vw;
        line-height: 4.53vw;
    }

    #footer_organization span {
        font-size: 1.86vw;
    }

    #footer_tel {
        font-size: 4.53vw;
        font-weight: 700;
    }
    #footer_tel div.box {
        font-size: 1.86vw;
        font-weight: normal;
        padding: 3px 2.26vw;
        line-height: 1.6vw;
        margin-right: 2.66vw;
    }

    #footer_tel span.tel_text {
        font-size: 3.06vw;
    }

    #footer_tel span:last-child {
        font-size: 1.86vw;
    }

    #footer_adress {
        font-size: 1.86vw;
        line-height: 3.5vw;
    }

    #footer_adress span {
        font-size: 1.86vw;
    }

    #footer_support {
        font-size: 3.2vw;
        line-height: 3.6vw;
        margin: 4vw 0;
    }

    #footer_support span {
        font-size: 1.6vw;
        line-height: 2.26vw;
    }

    #footer_copyright {
        font-size: 1.6vw;
    }

    #fixed_header_mb {
        position: fixed;
        top: 0;
        background-color: #65c3e1;
        text-align: center;
        width: 100%;
    }

    #fixed_header_mb #fixed_header_mb_info {
        height: 13.3vw;
        /* padding: 3.33vw 4vw; */
        text-align: left;
    }

    #fixed_header_mb #fixed_header_mb_info img {
        /* width: 64vw; */
    }

    #fixed_header_mb #fixed_header_mb_menu {
        width: 100%;
        margin: 0 auto;
        /* display: flex; */
        display: none;
        justify-content: space-between;
        background-color: #abdb6f;
    }

    #fixed_header_mb #fixed_header_mb_menu > div {
        width: 16.6%;
        font-weight: 700;
        padding: 1.3vw 0;
    }

    #fixed_header_mb #fixed_header_mb_menu > div.active {
        background-color: #ffb600;
    }

    #fixed_header_mb #fixed_header_mb_menu .inactive img {
        -webkit-filter: grayscale(100%);
        filter: grayscale(100%);
        opacity: 0.2;
    }

    #fixed_header_mb #fixed_header_mb_menu > div > div {
        border-left: 1px solid #000;
        padding: 0 1.5vw;
    }

    #fixed_header_mb #fixed_header_mb_menu > div > div img {
        display: block;
        margin: 0 auto;
    }

    #fixed_header_mb #fixed_header_mb_menu div.text {
        font-size: 4vw;
        line-height: 4vw;
        -webkit-transform: scale(0.5);
        -moz-transform: scale(0.5);
        -ms-transform: scale(0.5);
        -o-transform: scale(0.5);
        transform: scale(0.5);
    }

    #fixed_header_mb #fixed_header_mb_menu span {
        display: block;
        font-size: 3.2vw;
        font-weight: bold;
        line-height: 4vw;
        -webkit-transform: scale(0.5);
        -moz-transform: scale(0.5);
        -ms-transform: scale(0.5);
        -o-transform: scale(0.5);
        transform: scale(0.5);
    }

    #fixed_footer {
        height: 17vw;
    }

    #fixed_footer a.fixed_footer_wrap {
        width: 45vw;
        padding-top: 1.86vw;
    }

    #fixed_footer a.fixed_footer_wrap img {
        width: 4vw;
        height: auto;
    }

    #fixed_footer div#back_to_top {
        width: 10vw;
        padding-top: 3.3vw;
    }

    #fixed_footer div#back_to_top img {
        width: 4vw;
    }

    #fixed_footer a {
        font-size: 2.4vw;
        line-height: 2.4vw;
    }

    #fixed_footer a .img {
        padding-top: 3px;
    }

    #coop_logo {
        width: 100%;
        margin: 10vw auto 6vw;
        background-color: white;
    }

    #coop_logo h4 {
        text-align: center;
        background-color: #1c2660;
        color: white;
        font-size: 4vw;
        margin: 0px 0 5vw;
        margin-top: 4vw;
        padding: 1vw;
    }

    #coop_logo > div {
        padding: 0 0;
    }

    .top_nav > div {
        width: 100%;
        display: block;
    }
    .top_nav a {
        width: 100%;
        display: block;
        margin-bottom: 5vw;

        padding-top: 3vw;
    }
    .top_nav a:nth-child(1) {
        background-image: none;
    }
    .top_nav a:nth-child(2) {
        background-image: none;
    }
    .top_nav a:nth-child(3) {
        background-image: none;
    }

    .top_nav {
        /* display: none; */
        padding: 10vw 20px 2vw;
    }

    .top_nav .box {
        width: 100%;
        margin: 0.5vw 0;
        position: relative;
        background-size: 15vw;
    }

    .top_nav .box .bottom {
        line-height: 6vw;
        font-size: 4vw;
        margin-top: 4vw;
    }

    .top_nav .deco_title1_mb {
        display: block;
        position: absolute;
        top: -7vw;
        width: 80vw;
        left: 3.5vw;
        text-align: center;
        background-color: #009fe8;
        padding: 2vw;
        font-weight: bold;
        font-size: 4.5vw;
        color: white;
        border-radius: 3px;
    }

    .top_nav .deco_title2_mb {
        display: block;
        position: absolute;
        top: -7vw;
        width: 80vw;
        left: 3.5vw;
        text-align: center;
        background-color: #f4c71b;
        padding: 2vw;
        font-weight: bold;
        font-size: 4.5vw;
        color: white;
        border-radius: 3px;
    }

    .top_nav .box .top span {
        display: block;
        line-height: 5vw;
        font-size: 4vw;
        margin-bottom: 4px;
        border-radius: 3px;
        padding: 1vw 0;
    }

    .top_nav .box:nth-child(1) > div:last-child {
        margin-top: 1vw;
    }

    .top_nav .box:nth-child(1) {
        padding-top: 90px;
    }

    .top_nav .box:nth-child(2) > div:last-child {
        margin-top: 1vw;
    }

    .top_nav .box:nth-child(2) {
        padding-top: 78px;
    }

    .top_nav .box:nth-child(3) {
        margin-left: 0;
        margin-top: 12vw;
    }

    .top_nav .box:nth-child(3) .top span {
        line-height: 5vw;
        font-size: 4vw;
    }

    .top_nav .box .top span.orange {
        font-size: 4vw;
    }

    .top_nav .deco_title1,
    .top_nav .deco_title2 {
        display: none;
    }

    #bottom_form h4 {
        text-align: center;
        background-color: #1c2660;
        color: white;
        font-size: 3.5vw;
        margin: 0px 0 5vw;
        margin-top: 4vw;
        padding: 1vw;
    }

    #bottom_form .text {
        font-size: 4vw;
    }

    #fixed_footer a .text span:last-child {
        font-size: 4vw;
        line-height: 5vw;
    }

    #fixed_footer .text span:first-child {
        /* display: none; */
    }

    #fixed_footer a .text {
        padding-top: 0px;
    }

    #fixed_footer a .text span {
        padding-top: 0;
        font-size: 3vw;
        line-height: 4vw;
    }
}
