@charset "utf-8";

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

body {
  -webkit-text-size-adjust: 100%;
}

a {
    -webkit-transition: all 0 ease;
    -moz-transition: all 0 ease;
    -o-transition: all 0 ease;
}

a img {
    -webkit-transition: all 0 ease;
    -moz-transition: all 0 ease;
    -o-transition: all 0 ease;
}

input,textarea {
    border-radius: 0;
    -webkit-appearance: none;
}

/* =======================================

	Structure CSS

========================================== */
body {
    background-image: url(../img/home/sp/bg_home.png);
    background-repeat: no-repeat;
    background-position: center 0;
}

/* =======================================

	Text Decorations CSS

========================================== */
.titMain {
    margin: 0 0 25px 0;
    padding: 28px 0 25px 0;
    border-width: 0 0 3px 0;
    font-size: 160%;
}

.news .titMain {
    text-align: left;
}

.news .titMain small {
    text-align: center;
}

.titBig {
    margin: 0 0 20px 0;
    font-size: 130%;
}

.titMid {
    margin: 0 0 5px 0;
    font-size: 110%;
}

.titMidBlack {
    margin: 0 0 10px 0;
    font-size: 110%;
}

/* =======================================

	共通

========================================== */
.mb30 {margin-bottom: 15px !important;}

.boxColumn2 .left {
    width: 100%;
    float: none;
}

.boxColumn2 .right {
    width: 100%;
    float: none;
}

.btnGreen {
    padding: 10px 20px;
}

.boxSection {
    margin: 0 0 20px 0;
}

.boxSection.border {
    padding: 0;
}

.boxNaviBottom {
    margin: 40px 0 30px 0;
}

.titMain .localNavi {
    margin: 20px 0 0 0;
}

.localNavi li a {
    padding: 0 18px;
}

.localNavi li:first-child a {
    padding: 0 18px 0 0;
}

.localNavi li:last-child a {
    padding: 0 0 0 18px;
}

.boxSection {
    margin: 0 0 30px 0;
}

.table01 {
    display: block;
}

.table01 tbody,
.table01 tr {
    display: block;
}

.table01 th {
    display: block;
    padding: 12px;
}

.table01 td {
    display: block;
    padding: 12px;
}

.boxBannerFooter {
    margin: 60px auto 40px auto;
}

.boxBannerFooter a:first-child {
    float: left;
    height: 140px;
    padding: 65px 20px 0 20px;
    background-image: url(../img/home/ico_02.svg);
    background-repeat: no-repeat;
    background-size: 39px 30px;
    background-position: center 20px;
    text-align: center;
}

.boxBannerFooter a:first-child p:first-child {
    font-size: 110%;
}

.boxBannerFooter a:first-child p:nth-child(2) {
    font-size: 80%;
    line-height: 130%;
}

.boxBannerFooter a:nth-child(2) {
    float: right;
    height: 140px;
    width: 49%;
    padding: 65px 0 0 0;
    background-image: url(../img/home/ico_03.svg);
    background-size: 50px 37px;
    background-position: center 15px;
    text-align: center;
}

.boxBannerFooter a:nth-child(2) p:first-child {
    font-size: 110%;
}

.boxBannerFooter a:nth-child(2) p:nth-child(2) {
    font-size: 80%;
}


/* =======================================

	トップページ

========================================== */
body.home {
    background-image: url(../img/home/sp/bg_home.png);
    background-repeat: no-repeat;
    background-position: center 0;
}

.boxHomeMain img {
    margin: -50px 0 0 -5%;
    width: 105%;
}
.boxHomeMain .top-lpd-link {
    position: static;
    text-align: center;
}
.boxHomeMain .top-lpd-link img {
    margin: 0;
    max-width: 426px;
    height: auto;
}
.boxHomeMain .imageBox .balloon{
  position: absolute;
      top: 2vw;
      right: 11vw;
      width: 23vw;
      height: 23vw;
      background-image: url(../img/home/img_main_balloon.svg);
}

.boxHomeMain p {
    font-size: 90%;
    margin: 5px 0 10px 0;
}

.boxHomeNews .nagano {
    padding: 30px 20px;
}

.boxHomeNews .nagano h3 {
    margin: 0 0 20px 0;
    background-size: 15px 15px;
    padding: 0 0 0 25px;
    font-size: 120%;
    background-position: 0 3px;
}

.boxHomeNews .nagano .first {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
}

.boxHomeNews .nagano .first img {
    width: auto;
    float: none;
    max-width: 100%;
}

.boxHomeNews .nagano .first figure {
    text-align: center;
    display: block;
    margin: 0 0 20px 0;
}

.boxHomeNews .nagano .first .text {
    width: 100%;
    float: none;
}

.boxHomeNews .nagano .first .text time {
    margin: 0 0 10px 0;
}

.boxHomeNews .nagano .first .text h4 {
    font-size: 110%;
}

.boxHomeNews .nagano dl:nth-of-type(n+3) {
    display: none;
}

.boxHomeNews .right .center h3 {
    margin: 0 0 20px 0;
    background-size: 15px 15px;
    padding: 0 0 0 25px;
    font-size: 120%;
    background-position: 0 3px;
}

.boxHomeNews .right .facebook iframe {
    width: 100%;
}

.boxHomeBanner {
    margin: 0 20px 30px 20px;
}

.boxHomeBanner a:first-child {
    background-size: 69px 46.5px;
    padding: 30px 30px 25px 30px;
    background-image: none;
    position: relative;
}

.boxHomeBanner a:first-child:after {
    content: "";
    background-image: url(../img/home/ico_01.svg);
    background-size: 69px 46.5px;
    display: block;
    width: 69px;
    height: 46.5px;
    position: absolute;
    top: 28px;
    right: 20px;
}

.boxHomeBanner a:first-child p:nth-child(2) br:nth-child(1) {
    display: block;
}

.boxHomeBanner a:first-child p:first-child {
    margin: 0 0 15px 0;
}

.boxHomeBanner a:first-child p:nth-child(2) {
    font-size: 120%;
    margin: 0 0 12px 0;
}

.boxHomeBanner a:nth-child(2) {
    float: left;
    height: 140px;
    padding: 65px 20px 0 20px;
    background-image: url(../img/home/ico_02.svg);
    background-repeat: no-repeat;
    background-size: 39px 30px;
    background-position: center 20px;
}

.boxHomeBanner a:nth-child(2) p:first-child {
    font-size: 110%;
}

.boxHomeBanner a:nth-child(2) p:nth-child(2) {
    font-size: 80%;
    line-height: 130%;
}

.boxHomeBanner a:nth-child(3) {
    float: right;
    height: 140px;
    width: 49%;
    padding: 65px 0 0 0;
    background-image: url(../img/home/ico_03.svg);
    background-size: 50px 37px;
    background-position: center 15px;
}

.boxHomeBanner a:nth-child(3) p:first-child {
    font-size: 110%;
}

.boxHomeBanner a:nth-child(3) p:nth-child(2) {
    font-size: 80%;
}
.boxHomeOtherBanner ul {
    font-size: 0;
    margin: -10px;
}
.boxHomeOtherBanner li {
    display: inline-block;
    margin-right: 0;
    width: 50%;
    padding: 5px;
    box-sizing: border-box;
}
.boxHomeOtherBanner li img {
    width: 100%;
}

.boxHomeMain .inner .banner {
    display: contents;
}

.boxHomeMain .inner .banner a {
    width: 100%;
}

.boxHomeMain .inner .banner .bnr {
    margin-bottom: 10px;
}
/* =======================================

	議員紹介

========================================== */
.boxMember01 {
    margin: 0 0 0 0;
}

.boxMember01.border {
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
}

.boxMember01 .left {
    float: none;
    width: 100%;
    margin: 0 0 35px 0;
}

.boxMember01 .right {
    float: none;
    width: 100%;
}

.boxMember02 figure {
    width: 25%;
}

.boxMember02 .inner {
    width: 70%;
}

.boxMember02 .inner header h3 {
    font-size: 140%;
}

.boxMember02 .inner p.content {
    font-size: 100%;
}

/* =======================================

	ニュース

========================================== */
.news .boxContentsWrapper {
	padding-bottom: 50px;
}

.boxNewsNavi {
    margin: 10px 0 0 0;
}

.boxNewsNavi.detail {
    margin: 40px 0 0 0;
}

.boxNewsIndex {
    margin: 0 0 20px 0;
    padding: 0 0 10px 0;
}

.boxNewsIndex header h2 {
    font-size: 110%;
}

.boxNewsIndex.img img {
    width: 100px;
}

.boxNewsIndex.img header {
    margin-left: 115px;
}

.boxNewsIndex.img p {
    clear: both;
    margin: 0 0 10px 0;
}

.boxPagenate.detail {
    padding: 0;
}

.boxPagenate ul {
    position: relative;
    padding: 0 0 35px 0;
}

.boxPagenate.detail ul {
    padding: 5px;
}

.boxPagenate ul li.prev {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    width: 50%;
    text-align: right;
    padding: 0 15px 0 0;
    box-sizing: border-box;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: #d9d9d9;
}

.boxPagenate ul li.next {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: 0;
    width: 50%;
    text-align: left;
    padding: 0 0 0 15px;
    box-sizing: border-box;
}

.boxNewsDetail .photo {
    float: none;
    width: 100%;
}

.boxNewsDetail .text {
    float: none;
    width: 100%;
}

/* =======================================

	入党・機関誌

========================================== */
.boxMagazine figure {
    margin: 0 0 20px 0;
}

.boxMagazine p.border {
    padding: 15px 0 0 0;
}

.boxMagazineBottom {
    padding: 20px 0 0 0;
}

/* =======================================

	信州維新塾

========================================== */
.boxSchool01 h2 {
    display: block;
    line-height: 180%;
    margin: 0 0 12px 0;
    font-size: 120%;
    font-weight: bold;
}

.boxSchool01 dl dt {
    display: block;
    padding: 0 0 15px 0;
    font-size: 110%;
}

.boxSchool01 dl dd {
    display: block;
	width: auto;
}

.boxSchool02 section {
    margin: 0 0 30px 0;
}

.boxSchool02 section figure {
    float: none;
    width: 100%;
    text-align: center;
    padding: 0 0 15px 0;
}

.boxSchool02 section .text {
    float: none;
    width: 100%;
}

.boxSchool02 section .text h3 {
    font-size: 110%;
}

/* =======================================

	政策

========================================== */
.boxPolicy01 {
    margin: 0 0 40px 0;
}

.boxPolicy01 h2 {
    font-size: 220%;
    line-height: 130%;
}

.boxPolicy01 h2 small {
    font-size: 20%;
}

.boxPolicy02 figure {
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
    text-align: center;
}

.boxPolicy02 figure img {
    width: auto;
    height: auto;
    max-width: 100%;
}

.boxPolicy02 .text {
    float: none;
    width: 100%;
}

.boxPolicy03 figure {
    margin: 20px 0 30px 0;
}

.boxPolicy04 h2,
.boxPolicy05 h2 {
    font-size: 180%;
    margin: 0 0 50px 0;
}

.boxPolicy04 section {
    margin: 0 0 30px 0;
}

.boxPolicy04 .left {
    width: 100%;
    float: none;
    margin: 0 0 20px 0;
}

.boxPolicy04 .left p.title {
    font-size: 110%;
    margin: 0 0 20px 0;
}

.boxPolicy04 .right {
    width: 100%;
    float: none;
}

.boxPolicy04 .left p.number {
    font-size: 280%;
}

.boxPolicy05 .inner figure {
    margin: 0 0 25px 0;
}

.boxPolicy05 .inner figure img {
    width: 150px;
    height: auto;
}

.boxPolicy05 .inner figure:nth-child(7) img {
    width: 180px;
}

.boxPolicy05 .inner figure figcaption {
    font-size: 110%;
    margin: 0 0 5px 0;
}
