@charset "UTF-8";

/******** タブレット *********/

@media screen and (min-width: 641px) and (max-width: 1300px) {


/* ----------------------------- 共通 */

.wrap{
	width: 90%;
}

.wrap1000{
	width: 90%;
}

.wrap900{
	width: 90%;
}

.wrap800{
	width: 90%;
}




/* ----------------------------- ヘッダー */

.header .nav{
	/*width: 500px;*/
	width: 250px;
}




/* ----------------------------- コンテンツ */

.block2 .box li h4{
	width: 80%;
}

.block2 .box .more{
	position: static;
    text-align: right;
    margin-top: 10px;
}



.block3 .box li .btn1{
	position: static;
    clear: both;
    margin-left: auto;
    padding-top: 20px;
}



.block4 .box1{
    width: auto;
    float: none;
	padding: 4%;
}

.block4 .box1 .inner2 table{
	width: auto;
}

/*.block4 .box1 .inner2 table th{
	display: block;
	padding: 0;
}

.block4 .box1 .inner2 table td{
	display: block;
	padding: 0;
}*/

.block4 .box2{
	width: auto;
    float: none;
    margin-top: 4%;
}



.block5 .box1 .txt .inner table th{
	width: 80px;
}



/* ----------------------------- 上信越道について */

.data .box .location .number{
	font-size: 90px;
}




}




@media screen and (min-width: 641px) and (max-width: 800px) {



/* ----------------------------- コンテンツ */

.block1 .box{
	padding: 0 3%;
}

.block1 h3{
	font-size: 32px;
    letter-spacing: 5px;
}

.bx-prev{
	left: -5% !important;
}

.bx-next{
	right: -5% !important;
}



.block2 h3{
	float: none;
}

.block2 .box{
	float: none;
    width: auto;
    margin-top: 20px;
}

.block2 .box li .date{
	float: none;
}

.block2 .box li h4{
	float: none;
	margin-left: 0;
}




.block3 .box li{
	padding: 5%;
}

.block3 .box li .img{
	float: none;
    width: auto;
    text-align: center;
}

.block3 .box li .txt{
	float: none;
    width: auto;
    margin-top: 20px;
}

.block3 .box li .txt h3{
	line-height: 1.4;
}

.block3 .box li .btn1{
    padding-top: 20px;
}




.block4 .box1{
	width: auto;
    float: none;
    padding: 4%;
}

.block4 .box2{
	width: auto;
    float: none;
    margin-top: 4%;
}

.block4 .box3 a{
	font-size: 22px;
}



.block5 .box .inner1 {
    margin-top: 0;
}

.block5 .box .inner2{
	margin-bottom: 0;
}

.block5 .box .inner .img{
	float: none;
    width: 70%;
    margin: 0 auto;
}

.block5 .box .inner .txt{
    float: none;
    width: auto;
    margin-top: 40px;
}


/* ----------------------------- お知らせ */

.news li .date{
	float: none;
}

.news li h4{
	float: none;
	margin-left: 0;
}



/* ----------------------------- 上信越道について */


.data .box h4{
	font-size: 19px;
}

.data .box .location{
	font-size: 16px;
}

.data .box .location .number {
    font-size: 60px;
}

.data .box .location .middle_size {
    font-size: 26px;
}


.data .box1 .distance span{
	font-size: 100px;
}

.data .box1 p{
	font-size: 20px;
}



.data .box2 .inner .units{
	font-size: 18px;
}

.data .box2 .inner .units span{
	font-size: 34px;
}




.step .box .inner .txt .year{
	font-size: 34px;
}

.step .box .inner .txt p{
	font-size: 16px;
}



/* ----------------------------- フッター */

.footer .box .icon{
    width: 25%;
}

.footer .box .txt{
	width: 75%;
}

.footer .box .txt li{
	margin-right: 1em;
}


}




/******** スマホ *********/

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

/* ----------------------------- 全体 */
body { font-size: 13px; -webkit-text-size-adjust: 100%; }

.pc{ display: none; }
.sp{ display: block; }

img, .bx-wrapper img { max-width: 100%; height: auto; }



/* ----------------------------- 共通 */

.wrap{
	width: 95%;
}

.wrap1000{
	width: 95%;
}

.wrap900{
	width: 95%;
}

.wrap800{
	width: 95%;
}


/* ----------------------------- ヘッダー */

.header{
	padding: 10px 0;
}

.header .logo{
	width: 22%;
}

.header .nav_btn{
	position: relative;
	width: 26px;
    height: 20px;
    padding: 10px;
    z-index: 99999;
    float: right;
}

.header .nav_btn span{
	position: absolute;
    width: 26px;
    height: 2px;
    background: #333;
    transition: 0.6s;
}

.header .nav_btn span.line1{
	top: 10px;
}

.header .nav_btn span.line2{
	top: 18px;
}

.header .nav_btn span.line3{
	top: 26px;
}

.header .nav_btn.close_btn span.line1{
	top: 20px;
	-webkit-transform: rotate(675deg);
    transform: rotate(675deg);
}

.header .nav_btn.close_btn span.line2{
	display: none;
}

.header .nav_btn.close_btn span.line3{
	top: 20px;
	bottom: auto;
	-webkit-transform: rotate(-675deg);
    transform: rotate(-675deg);
}


.header .nav{
	position: absolute;
    top: 100%;
    left: 0;
    z-index: 999;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    margin-top: 0;
    display: none;
}

.header .nav li{
	float: none;
    width: auto;
    border: 0;
    border-top: 1px solid #000;
    padding: 0;
}

.header .nav li:last-child{
	border: 0;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.header .nav li a{
	display: block;
	padding: 2%;
}




/* ----------------------------- kv */

.kv .slide h2{
	width: 25%;
}

.bx-wrapper .bx-pager.bx-default-pager a{
	width: 10px !important;
    height: 10px !important;
    margin: 0 5px !important;
}



/* ----------------------------- 下層kv */

.main{
	padding: 30px 0;
}

.main h2{
	font-size: 22px;
}


/* ----------------------------- コンテンツ */

.block1{
	padding: 20px 0;
}

.block1 h3{
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 2px;
}

.block1 .box {
    margin-top: 20px;
    padding: 0 5%;
}

.block1 .box li h4{
	font-size: 14px;
}

.bx-wrapper .bx-controls-direction a {
    width: 30px !important;
    height: 30px !important;
}

.bx-prev{
	left: -5% !important;
}

.bx-next{
	right: -5% !important;
}




.block2{
	padding: 20px 0;
}

.block2 h3{
	font-size: 22px;
	float: none;
}

.block2 h3 span {
    font-size: 14px;
}

.block2 .box{
	float: none;
    width: auto;
    margin-top: 10px;
}

.block2 .box li{
	font-size: 16px;
	padding: 10px 0;
}

.block2 .box li a{
	text-decoration: none;
	padding: 10px 0;
    font-size: 14px;
}

.block2 .box li .date{
	float: none;
}

.block2 .box li h4{
	float: none;
    margin-left: 0;
}

.block2 .box .more{
	position: static;
    text-align: right;
}




.block3 {
    padding: 20px 0;
}

.block3 .box li{
	padding: 4%;
}

.block3 .box li .img{
	float: none;
    width: auto;
}

.block3 .box li .txt{
	float: none;
    width: auto;
    margin-top: 20px;
}

.block3 .box li .txt h3{
	font-size: 20px;
	letter-spacing: 1px;
}

.block3 .box li .txt h4{
	font-size: 18px;
}

.block3 .box li .txt p {
    margin-top: 5px;
    font-size: 14px;
}

.block3 .box li .txt .inner {
    margin-top: 10px;
}

.block3 .box li .btn1{
	position: static;
    margin: 20px auto 0;
}



.block4{
	padding: 20px 0;
}

.block4 .box h3{
	font-size: 18px;
    margin-bottom: 10px;
}

.block4 .box p {
    font-size: 14px;
}


.block4 .box1{
	float: none;
    width: auto;
    padding: 4%;
}

.block4 .box h3{
	font-size: 18px;
	margin-bottom: 10px;
}

.block4 .box1 p {
    margin-top: 10px;
}

.block4 .box1 .btn2 {
    margin: 20px auto 0;
}

.block4 .box1 .inner1 .img{
	float: none;
    width: auto;
}

.block4 .box1 .inner1 .txt{
	float: none;
    width: auto;
    margin-top: 10px;
}


.block4 .box1 .inner2 {
    margin-top: 20px;
}

.block4 .box1 .inner2 h4{
	font-size: 20px;
	padding-bottom: 5px;
}

.block4 .box1 .inner2 table{
	font-size: 15px;
    line-height: 1.4;
}

.block4 .box1 .inner2 table th{
	display: block;
    padding: 10px 0 0;
}

.block4 .box1 .inner2 table td{
	padding: 0 0 10px;
    display: block;
}



.block4 .box2{
	float: none;
    width: auto;
    margin-top: 4%;
}

.block4 .box2 .inner .img{
	float: none;
    width: auto;
}

.block4 .box2 .inner .txt{
	float: none;
    width: auto;
    margin-top: 20px;
}

.block4 .box2 .inner .link1 a{
	font-size: 22px;
}


/*.block4 .box3 a{
	font-size: 18px;
}

.block4 .box3 .link1{
	float: none;
}

.block4 .box3 .link2 {
    float: none;
    margin-top: 10px;
}*/



.block5{
}

.block5 .box h3{
	font-size: 24px;
    padding: 20px 0;
}

.block5 .box .inner{
	padding: 20px 0;
}

.block5 .box .inner1 {
    margin-top: 0;
}

.block5 .box .inner2{
	margin-bottom: 0;
}

.block5 .box .inner .img {
    float: none;
    width: auto;
}

.block5 .box .inner .txt {
    float: none;
    width: auto;
    margin-top: 20px;
}

.block5 .box .inner .txt h4{
	font-size: 20px;
}

.block5 .box .inner .txt p{
	font-size: 14px;
}



/* ----------------------------- お知らせ */

.news {
    padding: 40px 0;
}

.news li{
	font-size: 16px;
	padding: 10px 0;
}

.news li a{
	text-decoration: none;
	padding: 10px 0;
    font-size: 14px;
}

.news li .date{
	float: none;
}

.news li h4{
	float: none;
    margin-left: 0;
    width: auto;
    overflow: visible;
    text-overflow: initial;
    white-space: initial;
}



/* ----------------------------- 上信越道について */

.about {
    padding: 30px 0;
}

.about h3{
	font-size: 20px;
}

.about h3 img{
	margin-right: 5px;
    width: 40px;
}

.about .note {
    margin-top: 20px;
}



.data h3{
	font-size: 22px;
}

.data_block {
    padding: 20px 0;
}

.data .box{
	width: auto;
	float: none !important;
}

.data .box h4 {
    font-size: 18px;
}



.data .box1 .distance{
	font-size: 46px;
}

.data .box1 .distance span{
	font-size: 100px;
}

.data .box1 p{
	margin-top: 10px;
    font-size: 16px;
}



.data .box2 .inner .units{
	font-size: 18px;
}

.data .box2 .inner .units span{
	font-size: 30px;
}



.data .box .location{
	font-size: 16px;
}

.data .box .location .number{
	font-size: 60px;
}

.data .box .location .middle_size {
    font-size: 26px;
}




.step_block {
    padding: 20px 0;
}

.step h3{
	font-size: 22px;
}

.step .img_block li{
	width: 48%;
	margin-right: 0;
	margin-bottom: 4%;
}

.step .img_block li:nth-child(2n){
	float: right;
}

.step .read {
    margin-top: 5px;
    font-size: 14px;
}

.step .box{
	width: auto;
    float: none !important;
    margin-top: 20px;
}

.step .box1:before {
    height: 110%;
}

.step .box2:before {
    height: 93%;
}

.step .box .inner {
    margin-bottom: 20px;
}

.step .box .inner .txt .year{
	font-size: 30px;
}

.step .box .inner .txt p{
	font-size: 15px;
	margin-top: 0;
}

.step .box .inner .finish{
	font-size: 18px;
}


/* ----------------------------- フッター */

.footer{
	padding-top: 20px;
}

.footer .box{
	margin-top: 20px;
	padding-bottom: 20px;
}

.footer .box .icon{
	float: none;
}

.footer .box .icon li{
	width: 15%;
}

.footer .box .txt{
	float: none;
	margin-top: 20px;
}

.footer .box .txt h3{
	font-size: 20px;
}

.footer .box .txt ul {
    margin-bottom: 0;
}

.footer .box .txt li{
    float: none;
    font-size: 14px;
}

.footer .copy{
	padding: 10px 0;
}



.footer .pagetop{
	font-size: 16px;
}

.footer .pagetop img{
    width: 25px;
}



}
