@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 1116px) {
    .flex_wrap{
    margin-top: 0;
    flex-wrap: wrap-reverse;
}
    .text_box{
    width: 90%;
    max-width: 555px;
    margin: 50px 20px;
}
}

@media screen and (max-width: 900px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    #global-head {
    position: absolute;
}
    #main{
    width: 100%;
    margin: 0;
}
    #main-in {
        padding-left: 0;
    }
 
    #global-head {
        width: 100%;
        padding: 0;
        background: none;
        display: flex;
    }
    #sidebar {
        padding: 0;
        }
    #sidebar {
        position: fixed;
        left: -230px;
        top: 0;
        height: 100%;
        width: 230px;
        color: #333;
        background: #fff;
        transition: .35s ease-in-out;
    }
    #global-nav ul {
    padding-top: 20px;
}
 
    /* サブメニューは開けない */
    #global-nav .sub-menu-head:after,
    #global-nav .sub-menu-nav {
        display: none;
    }
    #nav-toggle {
        display: block;
    }
 
    /* nav open */
    .open {
        overflow: hidden;
    }
    .open #overlay {
        display: block;
    }
    .open #sidebar  {
        transform: translate3d(230px,0,0);
    }
 
    /* #nav-toggle close */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        transform: rotate(45deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        transform: rotate(-45deg);
    }
 
    /* z-index */
    #overlay {
        z-index: 200;
    }
    #sidebar {
        z-index: 300;
    }
    #nav-toggle {
        z-index: 400;
    }
    .contens_title {
    padding: 100px 10px 50px 10px;
        text-align: center;
}
    #contents_02,#contents_03,#contents_04,.corporate_point,#contents_06,#contents_07 {
    padding: 0 20px;
}
    .ice_box{
    max-width:700px;
}
    .item_wrap p{
        text-align: center;
        width: 60%;
        margin: auto;
    }
    

    .greeting_img_box{
        width: 90%;
        margin: auto;
    }
    .greeting_img_box img{
        margin: auto;
    }
    .sp_txt{
        width: 90%;
    margin: auto;
    }
    .flex-item {
        width: 90%;
        margin: auto;
    padding: 10px;
}
    #contents_05 .contens_title {
    padding: 100px 10px 50px 10px;
}
    .container {
    max-width: 400px;
    margin: auto;
    position: relative;
    z-index: 3;
    color: #fff;
    text-align: center;
    width: 85%;
}
    .youtube_link {
    padding: 80px 0;
}
    .youtube_link a {
    width: 300px;
}
    .youtube_link p {
    font-size: 14px;
}
    .item_wrap h3 {
    margin-bottom: 20px;
}
    .vertical_flexbox {
    display: block;
    padding: 0px 20px;
}
    .vertical_txt {
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    padding: 20px 20px;
        text-align: center;
    }
    .application_inner {
    padding: 0 40px;
}
    #contents_06 .contens_title {
    padding: 30px 10px 50px 10px;
}
    .kaisha_inner {
    padding: 0 20px;
}
    .contact_guide {
    width: 90%;
    margin: auto;
}
    .form_title {
    width: 90%;
    margin: auto;
}
    footer{
        width: 100%;
        position: relative;
        background-color: #ffffff;
        text-align: center;
    }
    footer p{
        padding: 10px;
    }
    .footer_b{
        background-color: #C3FFC7;
    }
    .sns_link_b{
        display: flex;
        justify-content: center;
        padding: 20px 0 10px;
    }
    .sns_link_b a{
        margin: 0 20px;
    }
    .copy_b{
        padding: 5px 0;
        background-color: #63B568;
        color: #ffffff;
    }
    .copy_b p{
        color: #ffffff;
        font-size: 12px;
    }
    #sct_wrap{
    padding: 200px 0 0 0;
}
    #thanks_wrap{
    padding: 200px 0 0 0;
}
}
@media screen and (max-width: 767px) {
    h3 {
    font-size: 22px;
}
    #contents_01{
    background-image: url(../img/contents/map_bak_sp.png);
}
    #contents_01 h3{
        padding-left: 10px;
    }
    #contents_01 p{
    line-height: 2;
    text-shadow: 0px 0px 5px #ffffff;
}
    .contens_title h2 {
    font-size: 3.5em;
}
    .ice_box{
    margin: auto;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
    .item_box {
    width: 90%;
    margin: 0px auto;
}
    .item_wrap {
    padding: 0 20px 50px 20px;
}
    .item_wrap p{
        text-align: justify;
        width: 90%;
        margin: auto;
    }
    .item_wrap img{
    width: 100%;
    margin: 80px auto 0;
}
    .application_table,
    .application_table tr,
    .application_table td,
    .application_table th {display:block;}
    .application_table th {width:auto;}
    .kaisha,
    .kaisha tr,
    .kaisha td,
    .kaisha th {display:block;}
    .kaisha th {width:auto;}
}
