@charset "UTF-8";

@media screen and (max-width:767px){

body{  
    min-width: 320px;
}

/*レイアウト*/
#wrapper{
    overflow: hidden;
}
header{
    height: 40px;
}
section{
    padding: 40px 0;
}
footer{
    display: block;
}

/*共通*/
.pc-img{
display: none;
}
h2{
    font-size: 22px;
    margin-bottom: 20px;
}
h2 p{
    font-size: 14px;
    margin-top: 0;
}


/*/----------HEADER----------/*/
.pc-nav{
    display: none;
}
.sp-nav{
    display: block;
}
h1{
    float: left;
}
h1 img{
    height: 18px;
    margin: 10px 0 0 15px;
}

#btn-menu{
    width: 40px;
    height: 40px;
    position: absolute;
    right: 0;
    top: 0;
}
#btn-menu span,
#btn-menu span:before,
#btn-menu span:after {
    display: inline-block;
    width: 20px;
    height: 3px;
    background: #2673ba;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.3s;
}
#btn-menu span {
    left: 50%;
    top: 50%;
    transform: translate( -50%, -50% );
}
#btn-menu span:before {
    content: "";
    transform: translateY( -7px ) rotate( 0deg );
}
#btn-menu span:after {
    content: "";
    transform: translateY( 7px ) rotate( 0deg );
}
#btn-menu.active span {
    background: transparent !important;
}
#btn-menu.active span:before {
    transform: rotate( 45deg ) !important;
}
#btn-menu.active span:after {
    transform: rotate( -45deg ) !important;
}

.overlay {
    height: 0%;
    width: 100%;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    background-color: #2673ba;
    overflow-y: hidden;
    transition: 0.5s;
}
.overlay-content {
    position: relative;
    top: 0;
    width: 100%;
    text-align: center;
    margin-top: 70px;
    border-top: 1px solid #689dcf;
}
.overlay-content a{
    display: block;
    padding: 10px 0;
    text-align: center;
    border-bottom: 1px solid #689dcf;
}
.overlay img{
    position: absolute;
    top: 15px;
    left: 15px;
    height: 18px;
}
.overlay a {
    text-decoration: none;
    color: #fff;
    display: block;
    transition: 0.3s;
}
.overlay .closebtn {
    position: absolute;
    top: 0;
    right: 5px;
    font-size: 30px;
    color: #fff;
}

/*/----------MAIN----------/*/
.visual-box{
    height: calc(100vh - 40px);
}
.visual-box .lead{
    padding: 0 20px;
}
.visual-box .lead h2 img{
    width: 180px;
}
.visual-box .lead p{
    font-size: 14px;
    margin: 15px 0 50px 0;
}
.visual-box .concept{
    text-align: center;
}
.visual-box .concept p{
    display: block;
    margin: 20px auto;
    font-size: 20px;
    padding: 5px 0;
}
.next-arrows{
    left: 48%;
}

/*/----------CONCEPT----------/*/
.concept-box .row{
    margin-bottom: 10px;
}
.concept-box .col-left{
    flex-basis: 100%;
}
.concept-box .col-right{
    flex-basis: 100%;
    padding: 15px;
    font-size: 14px;
}
.concept-ttl {
	font-size: 22px;
	padding: 10px 70px 5px 0;
}
.concept-box .lead{
    padding: 0 15px;
    margin: 20px 0 20px 0;
}
.concept-box .lead:before {
    background: #fff;
}
.concept-box .lead div{
    position: relative;
    background: #fff;
    padding: 0 15px;
    border: 1px solid #2673ba;
}

/*/----------FEATURE----------/*/
.feature-box{
    padding: 40px 15px;
}
.feature-box h2{
    margin-bottom: 0;
}
.feature-box .col{
    flex-basis: 100%;
    padding-bottom: 20px;
}
.feature-box h3{
    height: auto;
}

/*/----------FUNCTION----------/*/
.function-box{
    padding: 40px 15px;
 }
.function-box h2{
    margin-bottom: 0;
}
.function-box .col{
    flex-basis: 100%;
    padding-bottom: 20px;
}
.function-box h3{
    height: auto;
}

 .tabs {
    padding: 0 10px
}
 .tab_item {
    width: calc(100%/3);
    border-bottom: 2px solid #fff;
}
.tab_content {
    padding: 20px 10px 0;
    background: none;
    height: auto;
}
.tab_content h3{
    margin-bottom: 10px;
}
.function-txt{
    padding-right: 0;
    padding-top: 0;
}
.function-img{
    width: 100%;
    background: none;
    position: relative;
    top: 0;
    left: 0;
    margin-top: 20px;
}
.function-img img{
    width: 100%;
    height: auto;
}

/*/----------WORKS----------/*/
.work-list{
    margin: 0 30px;
}
.work-list div{
    padding: 0 10px 0 5px;
}
.work-list .slick-prev{
    left: -20px;
}
.work-list .slick-next{
    right: -20px;
}

/*/----------FARE----------/*/
.fare-box{
    padding: 40px 15px;
    width: 100%;
}
.fare-box .fare-img{
    width: 120px;
    height: 120px;
    margin: 0 auto;
}
.fare-box .fare-plus{
    font-size: 30px;
    color: #2673ba;
    padding-top: 45px;
}


/*/----------CONTACT----------/*/
.contact-box{
    text-align: center;
    padding: 40px 0;
}
.contact-box th{
    display: block;
    width: 100%;
    border-bottom: 0;
    padding: 5px 15px;
}
.contact-box td{
    display: block;
    width: 100%;
    padding: 15px;
}
.contact-box .radio-list li{
    display: block;
    text-align: left;
    margin-bottom: 10px;
}
.contact-box .radio-list li:last-child{
    margin-bottom: 0;
}
.contact-box .btn-area{
    padding-top: 0px;
	text-align: center;
}

.contact-box button, .contact-box a{
    margin: 0 auto;
    width: 70%;
    padding: 10px 0;
    font-size: 18px;
}


/*/----------FOOTER----------/*/
footer .col{
    width: 100%;
    display: block;
}
footer .col-left{
    padding: 30px 20px 0 20px;
}
footer .col-mid{
    padding: 0 20px 20px 20px;
}
footer .col-right{
    padding: 20px;
}
footer .col-right li{
    margin-bottom: 10px;
}
.page-top{
    width: 34px;
    height: 34px;
    position: fixed;
    bottom: 90px;
    right: 0;
    display: block;
    background: #1b5082;
    z-index: 100;
}
.page-top:hover{
    opacity: 0.8;
}
.page-top a{
    display: block;
    background: url(../img/icn_pagetop.png) no-repeat center center;
    background-size: 16px auto;
    width: 34px;
    height: 34px;
}

}