@charset "UTF-8";
/*
Theme Name: NewSite
*/
/* ----------------------------- リセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
img { vertical-align: top; font-size: 0; line-height: 0; }
sup { font-size: 8px; }
em { font-style: normal; }
div:before, div:after, ul:before, ul:after, ol:before, ol:after, dl:before, dl:after { content: ""; display: block; }
div:after, ul:after, ol:after, dl:after { clear: both; }
div, ul, ol, dl { zoom: 1; }
input[type="submit"],input[type="button"]{ border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; border: none; }
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none; }
input[type="submit"]::focus,input[type="button"]::focus { outline-offset: -2px; }

ul#wp-admin-bar-root-default:after { clear: none; }


/* ----------------------------- 全体 */
body { font-size: 14px; line-height: 1.8em; color: #333; font-family: "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ　Ｐゴシック", "MS PGothic", sans-serif; background: #fff; position: relative; }

a:link, a:visited { color: #333; text-decoration: underline; }
a:hover, a:active { text-decoration: none; }
a, a img { -webkit-transition: 0.2s ease all; -moz-transition: 0.2s ease all; -ms-transition: 0.2s ease all; transition: 0.2s ease all; }
a:hover img { opacity: 0.65; -ms-filter: "alpha(opacity=65)"; filter: alpha(opacity=65); }

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

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



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

.wrap{
	width: 1200px;
	margin: 0 auto;
}

.wrap1000{
	width: 1000px;
	margin: 0 auto;
}

.wrap900{
	width: 900px;
	margin: 0 auto;
}

.wrap800{
	width: 800px;
	margin: 0 auto;
}




#container{
	overflow: hidden;
}





/* ----------------------------- ボタン */

.btn1{
    width: 300px;
}

.btn1 a{
	padding: 3% 5%;
    color: #90bf39;
    font-size: 16px;
    font-weight: 500;
	border: 1px solid #90bf39;
	display: block;
	text-decoration: none;
	position: relative;
	box-sizing: border-box;
}

.btn1 a:after{
	content: "";
	background: url(images/icon2.png) center no-repeat;
	background-size: 22px;
	width: 45px;
	height: 43px;
	border-left: 1px solid #90bf39;
    position: absolute;
    right: 0;
    top: 0;
}




.btn2{
    width: 300px;
}

.btn2 a{
	padding: 3% 5%;
    font-size: 16px;
    font-weight: 500;
	border: 1px solid #333;
	display: block;
	text-decoration: none;
	position: relative;
	box-sizing: border-box;
}

.btn2 a:after{
	content: "";
	background: url(images/icon3.png) center no-repeat;
	background-size: 22px;
	width: 45px;
	height: 43px;
	border-left: 1px solid #333;
    position: absolute;
    right: 0;
    top: 0;
}



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

.header{
	background: #fff;
	padding: 15px 0;
	position: relative;
	/*position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;*/
}

.header .logo{
	float: left;
	width: 13%;
}

.header .nav{
	float: right;
	/*width: 41%;*/
	width: 21%;
    margin-top: 2%;
}

.header .nav li{
	float: left;
	border-left: 2px solid #000;
	padding: 0 5%;
}

.header .nav li:last-child{
	border-right: 2px solid #000;
}

.header .nav li a{
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
}




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

.kv .slide{
	position: relative;
}

.kv .slide h2{
	position: absolute;
	left: 5%;
	bottom: 5%;
    width: 20%;
    z-index: 9;
}

.kv .slide .bx-controls{
	position: absolute;
	bottom: 5%;
	right: 3%;
}




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

.main{
	background: #90bf39;
	padding: 40px 0;
	text-align: center;
}

.main h2{
	font-size: 30px;
	color: #fff;
	/*font-weight: 500;*/
    letter-spacing: 3px;
}




/* ----------------------------- パンくずリスト */

.panlist{
	margin-top: 20px;
}

.panlist li{
	float: left;
	font-weight: 500;
}

.panlist li:after{
	content: "/";
	padding: 0 1em;
}

.panlist li:last-child:after{
	display: none;
}

.panlist li a{
	text-decoration: none;
}

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

.top{
	background: #90bf39;
}

.block1{
	color: #fff;
	padding: 40px 0;
}

.block1 h3{
	text-align: center;
	font-size: 32px;
	line-height: 1.6em;
    letter-spacing: 4px;
    font-weight: 500;
}

.block1 .box{
	margin-top: 40px;
}

.block1 .box li a{
	display: block;
	background: #fff;
	text-decoration: none;
}

.block1 .box li h4{
	color: #90bf39;
	padding: 2%;
	font-size: 18px;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

.bx-prev{
	background: url(images/slide_icon.png) no-repeat !important;
	background-size: contain !important;
	left: -2% !important;
}

.bx-next{
	background: url(images/slide_icon.png) no-repeat !important;
	background-size: contain !important;
	right: -2% !important;
	transform: scale(-1, 1);
}




.block2{
	background: #fff;
	padding: 40px 0;
}

.block2 h3{
	float: left;
	font-size: 30px;
	color: #90bf39;
}

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

.block2 .box{
	float: right;
	width: 80%;
	position: relative;
}

.block2 .box li{
	display: block;
	overflow: hidden;
	padding: 20px 0;
	border-bottom: 2px solid #848990;
	font-size: 18px;
	text-decoration: none;
}

.block2 .box li:last-child{
	border-bottom: 0;
}

.block2 .box li .date{
	color: #90bf39;
	font-weight: bold;
	float: left;
}

.block2 .box li h4{
	float: left;
	margin-left: 2%;
	font-weight: 500;
	width: 80%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.block2 .box li h4 a{
	text-decoration: none;
}

.block2 .box .more{
	/*position: absolute;
	right: 0;
	bottom: 10%;*/
	text-align: right;
}

.block2 .box .more a{
	text-decoration: none;
	color: #686f7a;
}

.block2 .box .more img{
	width: 20px;
	margin-right: 5px;
}




.block3{
	padding: 40px 0;
}

.block3 .box li{
	background: #fff;
	padding: 3%;
	overflow: hidden;
	margin-bottom: 20px;
	position: relative;
}

.block3 .box li .img{
	float: left;
	width: 30%;
}

.block3 .box li .txt{
	float: right;
	width: 65%;
}

.block3 .box li .txt h3{
	font-size: 26px;
	color: #90bf39;
	letter-spacing: 3px;
}

.block3 .box li .txt h4{
	font-size: 20px;
	color: #90bf39;
}

.block3 .box li .txt p{
	margin-top: 10px;
	font-size: 18px;
    line-height: 1.8;
    font-weight: bold;
    font-weight: 500;
}

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

.block3 .box li .btn1{
	/*position: absolute;
    right: 4%;
    bottom: 12%;*/
    clear: both;
    margin-left: auto;
}




.block4{
	padding: 40px 0;
	/*background: rgba(144,191,57,0.5);*/
	background: rgba(255,255,255,0.5);
}

.block4 .box h3{
	font-size: 24px;
	margin-bottom: 20px;
}

.block4 .box p{
	font-size: 18px;
	line-height: 1.8em;
	font-weight: bold;
}

.block4 .box1{
	width: 49%;
	float: left;
	background: #fff;
	padding: 2%;
	box-sizing: border-box;
}

.block4 .box1 .inner1 .img{
	float: left;
	width: 42%;
}

.block4 .box1 .inner1 .txt{
	float: right;
	width: 50%;
}

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

.block4 .box1 .inner2 h4{
	font-size: 26px;
	color: #90bf39;
	border-bottom: 2px solid #90bf39;
	padding-bottom: 10px;
}

.block4 .box1 .inner2 table{
	margin-top: 10px;
	font-size: 20px;
    line-height: 1.6;
    width: 100%;
}

.block4 .box1 .inner2 table th{
	color: #90bf39;
	padding: 10px 0;
	text-align: left;
}

.block4 .box1 .inner2 table td{
	padding: 10px;
	font-weight: bold;
}

.block4 .box1 p{
	/*margin-top: 20px;*/
}

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

.block4 .box2{
	width: 49%;
	float: right;
}

.block4 .box2 .inner{
	background: #fff;
	padding: 4%;
	box-sizing: border-box;
	margin-bottom: 4%;
}

.block4 .box2 .inner .img{
	float: left;
	width: 44%;
}

.block4 .box2 .inner .img li{
	float: left;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 2%;
}

.block4 .box2 .inner .img li:nth-child(3n){
	margin-right: 0;
}

.block4 .box2 .inner .txt{
	float: right;
	width: 50%;
}

.block4 .box2 .inner .txt .btn2{
	width: 100%;
	margin-top: 20px;
}


.block4 .box2 .inner:last-child{
	padding: 6% 4%;
    margin-bottom: 0;
}

.block4 .box2 .inner .link1 a{
	text-decoration: none;
	font-size: 30px;
}



/*.block4 .box3{
	clear: both;
	width: 100%;
	background: #fff;
	padding: 3%;
	box-sizing: border-box;
}

.block4 .box3 a{
	text-decoration: none;
	font-size: 26px;
}

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

.block4 .box3 .link2{
	float: right;
}*/




.block5{
	background: #fff;
	/*padding: 40px 0;*/
}

.block5 .box h3{
	background: url(images/tit_bg1.png) no-repeat;
	background-size: cover;
	text-align: center;
	font-size: 30px;
	padding: 30px 0;
	color: #595757;
}

.block5 .box .inner{
	border-bottom: 2px solid #90bf39;
	padding: 40px 0;
}

.block5 .box .inner:last-child{
	border-bottom: 0;
	margin-bottom: 40px;
}

.block5 .box .inner .img{
	float: left;
	width: 35%;
}

.block5 .box .inner .txt{
	float: right;
	width: 60%;
}

.block5 .box .inner .txt h4{
	font-size: 30px;
	line-height: 1.4em;
	color: #90bf39;
}

.block5 .box .inner .txt p{
	margin-top: 10px;
	font-size: 18px;
	line-height: 1.8em;
	font-weight: 500;
}

.block5 .box .inner .txt p span{
	color: #90bf39;
	font-weight: bold;
	font-size: 120%;
}

.block5 .box .inner .txt p a{
	color: #90bf39;
}


.block5 .box .inner1{
	margin-top: 40px;
}


.block5 .box .inner3 .img img{
	margin-bottom: 20px;
}

.block5 .box .inner3 .img img:last-child{
	margin-bottom: 0;
}


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

.news{
	padding: 100px 0;
}

.news ul{
	border-top: 2px solid #848990;
}

.news li{
	display: block;
    overflow: hidden;
    padding: 15px 0;
    border-bottom: 2px solid #848990;
    font-size: 18px;
    text-decoration: none;
}

.news li .date {
    color: #90bf39;
    font-weight: bold;
    float: left;
}

.news li h4 {
    float: left;
    margin-left: 2%;
    font-weight: 500;
    width: 85%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.news li h4 a{
	text-decoration: none;
}





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

.about{
	padding: 60px 0;
}

.about h3{
	font-size: 30px;
	color: #90bf39;
	letter-spacing: 3px;
}

.about h3 img{
	vertical-align: bottom;
    margin-right: 15px;
    width: 50px;
}

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




.data_block{
	padding: 60px 0;
}

.data h3{
	font-size: 30px;
	color: #90bf39;
	letter-spacing: 3px;
}

.data .current{
	margin: 10px 0 20px;
	font-weight: bold;
}

.data .box{
	width: 48%;
	color: #90bf39;
	border-top: 2px solid #90bf39;
	padding: 20px 0;
}

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

.data .box .location{
	font-size: 20px;
	font-weight: 500;
}

.data .box .location .number{
	font-size: 100px;
	font-style: italic;
    margin-right: 10px;
    line-height: 1;
}

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



.data .box1{
	float: left;
}

.data .box1 .distance{
	font-size: 60px;
	font-style: italic;
	font-weight: 500;
}

.data .box1 .distance span{
	font-size: 170px;
	line-height: 1;
}

.data .box1 p{
	margin-top: 20px;
	font-size: 28px;
    line-height: 1.4;
    font-weight: 500;
}



.data .box2{
	float: right;
	border-top: 0;
	padding: 0;
}

.data .box2 .inner{
	width: 48%;
	border-top: 2px solid #90bf39;
	padding: 20px 0;
}

.data .box2 .inner .img{
	margin: 20px 0;
}

.data .box2 .inner .units{
	/*color: #c0c5cc;*/
	font-size: 20px;
}

.data .box2 .inner .units span{
	font-size: 42px;
    font-weight: bold;
    font-style: italic;
    line-height: 1;
    margin-right: 10px;
}

.data .box2 .inner1{
	float: left;
}

.data .box2 .inner2{
	float: right;
}



.data .box3{
	float: left;
}

.data .box3 .img{
	margin: 20px 0;
}



.data .box4{
	float: right;
}

.data .box4 .img{
	margin: 20px 0;
}

.data .box4 .location .number{
	line-height: 1;
}






.step_block{
	padding: 60px 0;
}

.step h3{
	font-size: 30px;
    color: #90bf39;
    letter-spacing: 3px;
}

.step .img_block{
	margin-top: 20px;
}

.step .img_block li{
	float: left;
	width: 23.5%;
	margin-right: 2%;
}

.step .img_block li:last-child{
	margin-right: 0;
}

.step .read{
	margin-top: 20px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
}

.step .box{
	width: 48%;
	margin-top: 40px;
	position: relative;
}

.step .box:before{
	content: "";
	display: block;
	width: 35px;
	/*background: rgba(144,191,57,0.3);*/
	background: url(images/step_decoration.png) no-repeat;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
}

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

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

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

.step .box .inner .img{
	float: left;
	width: 20%;
}

.step .box .inner .txt{
	/*float: left;*/
	width: 85%;
	/*margin-left: 5%;*/
	margin-left: auto;
}

.step .box .inner .txt .year{
	color: #90bf39;
	font-size: 40px;
	font-style: italic;
	line-height: 1;
	letter-spacing: 3px;
	font-weight: 500
}

.step .box .inner .txt .year span{
	display: block;
	font-size: 14px;
	font-style: normal;
	letter-spacing: 0;
	margin-top: 5px;
}

.step .box .inner .txt p{
	font-size: 20px;
	font-weight: 500;
	margin-top: 10px;
}


.step .box .inner .finish{
	/*color: #90bf39;*/
	font-size: 22px;
    font-weight: bold;
}


.step .box1{
	float: left;
}

.step .box2{
	float: right;
}


/* ----------------------------- 上信越道の整備効果 */





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

.footer{
	background: #2e3642;
	color: #fff;
	padding-top: 40px;
}

.footer a{
	color: #fff;
	text-decoration: none;
}


.footer .pagetop{
	border-bottom: 1px solid #fff;
	padding-bottom: 10px;
	text-align: right;
	/*width: 90%;
	margin: 0 auto;*/
	font-size: 20px;
}

.footer .pagetop img{
	width: 30px;
    vertical-align: bottom;
    margin-left: 10px;
}


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

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

.footer .box .icon li{
	float: left;
	width: 35%;
	margin-right: 5%;
}

.footer .box .icon li:last-child{
	margin-right: 0;
}

.footer .box .txt{
	float: right;
}

.footer .box .txt h3{
	font-size: 24px;
	color: #fff;
}

.footer .box .txt h3:before{
	content: "▶";
	font-size: 12px;
	margin-right: 1em;
}

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

.footer .box .txt li{
	float: left;
	margin-right: 2em;
	font-size: 16px;
}

.footer .box .txt li:last-child{
	margin-right: 0;
}

.footer .box .txt li a{

}

.footer .box .txt li a:before{
	content: "▶";
	font-size: 12px;
	margin-right: 1em;
}

.footer .copy{
	text-align: center;
	background: #282f3a;
	padding: 20px 0;
}
