@charset "UTF-8";
.home {
  background: url(../images/common/bg_01.png) top center no-repeat;
}
.header {
  margin-bottom: 80px;
  border: none;
}
.global-nav {
  margin-bottom: 0;
}
.global-nav ul li a::before {
  background-image: url(../images/common/bg_gnavi_border.png);
}
.global-nav ul li a::after {
  display: none;
}
@media (hover: hover) and (pointer: fine) {
  .global-nav ul li a {
    transition: opacity 0.3s ease;
  }
  .global-nav ul li a:hover {
    opacity: 0.6;
  }
}
/* Contents
---------------------------------------- */
.mv {
  position: relative;
  width: 990px;
  min-height: 420px;
  margin: 0 auto 40px;
}
.mv_image {
  position: absolute;
  top: 0;
  left: 80px;
  width: 416px;
  margin: 0 auto;
}
.mv_image .btn {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 226px;
  transform: translateX(-50%);
  margin-top: 230px;
}
.mv_image .btn img {
  width: 100%;
  height: auto;
}
.mv_menu {
  width: 450px;
  margin: 0 0 0 auto;
}
.mv_menu p {
  margin: 0;
  display: block;
  width: 435px;
  height: 46px;
  line-height: 46px;
  cursor: pointer;
}
.mv_menu ul {
  display: block;
  margin: 0 0 10px 0;
}
.mv_menu .slide_close {
  display: none;
}
.mv_menu li {
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 300px;
  height: 32px;
  line-height: 32px;
}
@media (max-width: 980px) {
  .mv {
    width: auto;
    min-height: 0;
    margin: 25px 0 0;
  }
  .mv_image {
    position: relative;
    left: auto;
    width: 94.66vw;
    max-width: 710px;
    margin: 0 auto 25px;
    transform: none;
  }
  .mv_image .btn {
    width: 51.33vw;
    max-width: 385px;
    margin-top: 55.2%;
  }
  .sp_mv {
    border-top: 1px dotted #fff;
  }
  .sp_mv img {
    display: block;
    margin: 0 auto;
    padding: 0;
  }
  .sp_mv .line {
    border-bottom: 1px solid #efd85f;
  }
}
/* お知らせ一覧
---------------------------------------- */
.news_container {
  max-width: 900px;
}
/* Movie
---------------------------------------- */
@media (min-width: 981px) {
  .pv_area {
    margin: 0 0 40px;
  }
  .pv_area .movie {
    display: block;
    width: 640px;
    height: 360px;
    margin: 0 auto;
    border: 1px solid #999;
  }
}
/* まちづくり松山とは
---------------------------------------- */
@media (min-width: 981px) {
  .home .bk_layout1 {
    margin-left: -500%;
    margin-right: -500%;
    padding-left: 500%;
    padding-right: 500%;
    background: #f6f3ee;
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .home .layout1 {
    width: 990px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .home .layout1 p {
    margin-top: 10px;
    margin-bottom: 30px;
    color: #635753;
    font-size: 15px;
  }
  .home .layout1 .box1 {
    width: 297px;
    float: left;
  }
  .home .layout1 .box1 h3 {
    margin-top: 10px;
    margin-bottom: 0px;
  }
}
.top_about {
  padding: 0 130px 40px;
}
.top_about h3,
.top_about p {
  display: inline;
  float: right;
  width: 380px;
  margin-bottom: 0px!important;
}
.top_about h3 {
  font-size: 160%;
  padding-bottom: 20px;
}
.top_about img.img_logo {
  float: left;
  width: 294px;
  height: 202px;
  position: relative;
  top: -60px;
}
.top_link {
  width: 140px;
  height: 20px;
  float: right;
  background: url(../images/common/icon_03.gif) no-repeat left 3px;
  padding-left: 32px;
  position: relative;
  top: -74px;
  margin-bottom: -74px !important;
}
.top_link2 {
  width: 140px;
  height: 20px;
  float: right;
  background: url(../images/common/icon_03.gif) no-repeat left 3px;
  padding-left: 32px;
  position: relative;
  margin-top: 50px;
}
.campagin_bnr_box {
  margin: 20px auto;
  width: 990px;
  max-width: 90%;
}
/* お知らせ
---------------------------------------- */
.section_news {
  /* 商店街MAPバナー(SP) */
}
.section_news.layout2 {
  width: 100%;
  max-width: 990px;
  margin-top: 20px;
  margin-bottom: 100px;
}
@media only screen and (max-width: 980px) {
  .section_news.layout2 {
    margin-bottom: 40px;
  }
  .section_news.layout2 .news_container {
    margin-bottom: 40px;
  }
}
.section_news h2 {
  position: relative;
  margin-bottom: 40px;
}
@media only screen and (max-width: 980px) {
  .section_news h2 {
    left: -20px;
    width: 100vw;
    margin-bottom: 20px;
  }
}
.section_news .banner_map {
  margin: 40px 0;
}
/*
@media (min-width: 981px){
	.home .layout2{
		width: 990px;
		margin-top: 20px;
		margin-bottom: 100px;
	}
	.home .layout2 h2{
		margin-bottom:40px;
	}
	.home .layout2 h3{
		font-size:18px;
		line-height: 1.4;
	}
	.home .layout2 .box1{
		width:210px;
		float:left;
	}
	.home .layout2 .box1 .op1{
		margin-top:10px;
		margin-bottom:10px;
		color:#c34037;
		font-size:15px;
		font-weight : bold;
	}
	.home .layout2 .box1 .op1 span{
		color:#ef857e;
	}
	.home .layout2 .box1 .op2{
		margin-top:10px;
		margin-bottom:10px;
		color:#68812c;
		font-size:15px;
		font-weight : bold;
	}
	.home .layout2 .box1 .op2 span{
		color:#aacf51;
	}
	.home .layout2 .box1 .op3{
		margin-top:10px;
		margin-bottom:10px;
		color:#2d5567;
		font-size:15px;
		font-weight : bold;
	}
	.home .layout2 .box1 .op3 span{
		color:#6c9cd3;
	}
	.home .layout2 .box1 .op4{
		margin-top:10px;
		margin-bottom:10px;
		color:#c34037;
		font-size:15px;
		font-weight : bold;
	}
	.home .layout2 .box1 .op4 span{
		color:#ef857e;
	}
	.home .layout2 .box1 h3{
		margin-top:10px;
		margin-bottom:10px;
	}
}
*/
/* バナー・SNSリンク
---------------------------------------- */
.banner_image {
  display: block;
  width: 980px;
  margin: 0 auto 20px;
}
.banner_image img {
  width: 100%;
  height: auto;
}
@media (max-width: 980px) {
  .banner_image {
    width: 100%;
    margin: 0 0 12px;
  }
}
.banner_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 980px;
  padding: 16px;
  margin: 0 auto 20px;
  border: 4px solid #000;
  box-sizing: border-box;
}
.banner_block.msp::after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: 50%;
  width: 35px;
  height: 35px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(-50%) rotate(45deg);
  box-sizing: border-box;
}
.banner_block .bnr_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 378px;
  height: 107px;
  margin: 0;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.3;
  box-sizing: border-box;
}
.banner_block .icon {
  display: block;
  width: 107px;
  height: 107px;
  background-repeat: no-repeat;
  background-size: contain;
}
.banner_block .icon_app_machica {
  background-image: url(../images/top/ico_app_machica.png);
}
.banner_block .icon_app_sweet {
  background-image: url(../images/top/ico_app_sweet.png);
}
.banner_block .appname {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  margin: 0;
  text-align: center;
}
.banner_block .bnr_body {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  margin: 0;
  padding-left: 16px;
}
.banner_block .bnr_body::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 93px;
  background-color: #000000;
  transform: translateY(-50%);
}
.banner_block .applink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 107px;
}
.banner_block .applink a {
  display: block;
  height: auto;
  margin: 0 3px;
}
.banner_block .applink img {
  width: 100%;
  height: auto;
}
.banner_block .bnr_appstore {
  width: 265px;
}
.banner_block .bnr_googleplay {
  width: 257px;
}
@media (max-width: 980px) {
  .banner_block {
    display: block;
    width: 100%;
    padding: 8px 0;
    margin: 0 0 12px;
    border-width: 2px;
  }
  .banner_block.msp::after {
    display: none;
  }
  .banner_block .bnr_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: auto;
    margin: 0 0 15px;
    padding: 0;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    line-height: 1.3;
  }
  .banner_block.msp .bnr_head {
    padding: 0 10%;
  }
  .banner_block.msp .bnr_head::after {
    content: "";
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    width: 5vw;
    height: 5vw;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(-50%) rotate(45deg);
    box-sizing: border-box;
  }
  .banner_block .icon {
    position: static;
    width: 52px;
    height: 52px;
  }
  .banner_block .appname {
    -webkit-box-flex: 1;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    min-width: 6.5em;
    margin-left: 10px;
    text-align: left;
  }
  .banner_block .bnr_body {
    display: block;
    padding: 0;
  }
  .banner_block.msp .bnr_body {
    padding: 0 5%;
  }
  .banner_block .bnr_body::before {
    display: none;
  }
  .banner_block.msp .bnr_body::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: -5px;
    width: 90%;
    height: 1px;
    background-color: #000000;
    transform: translateX(-50%);
  }
  .banner_block .applink {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: auto;
    padding: 0 2.6vw;
  }
  .banner_block .applink a {
    width: 49%;
    margin: 0;
  }
  .banner_block .bnr_appstore {
    width: 42.26vw;
  }
  .banner_block .bnr_googleplay {
    width: 40.8vw;
  }
}
/* SNS */
.sns_block {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
}
.sns_block a {
  display: block;
  width: 50px;
  height: 50px;
  margin: 0 15px;
  overflow: hidden;
}
.sns_block a img {
  width: 100%;
  height: 100%;
}
@media (min-width: 981px) {
  .sns_block .style_x {
    width: 40px;
    height: 40px;
  }
}
@media (max-width: 980px) {
  .sns_block {
    margin-top: 50px;
  }
  .sns_block a {
    width: 40px;
    height: 40px;
    margin: 0 10px;
  }
  .sns_block .style_x {
    width: 35px;
    height: 35px;
  }
}
/* layout3,4
---------------------------------------- */
@media (min-width: 981px) {
  .home .layout4 {
    margin-top: 50px;
    margin-bottom: 10px;
    text-align: center;
  }
  .home .bk_layout3 {
    width: 1003px;
    margin: 0 auto;
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .home .layout3 {
    position: relative;
    width: 1003px;
    height: 1000px;
    padding-top: 0px;
    padding-bottom: 0px;
  }
  .home .layout3 .box_l {
    position: relative;
    /* --dev 20150318-- */
    width: 697px;
    float: left;
    margin: 0px;
  }
  .home .layout3 .box_l ul {
    padding: 0px;
    margin: 0px;
  }
  .home .layout3 .box_l li {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
    float: left;
  }
  .home .layout3 .box_l .area {
    position: relative;
  }
  /*
	.home .layout3 .box_l .area  a {
			color: #f05681;
	}
	*/
  .home .layout3 .box_l .area_01 {
    overflow: hidden;
    background: url(../images/map/img_map_01.png) no-repeat left center;
  }
  .home .layout3 .box_l .area_02 {
    overflow: hidden;
    background: url(../images/map/img_map_02.png) no-repeat left center;
  }
  .home .layout3 .box_l .area_03 {
    overflow: hidden;
    background: url(../images/map/img_map_03.png) no-repeat left center;
  }
  .home .layout3 .box_l .area_04 {
    overflow: hidden;
    background: url(../images/top/img_map_04.png) no-repeat;
  }
  .box_l .box_shop1 p,
  .box_l .box_shop2 p,
  .box_l .box_shop3 p,
  .box_l .box_shop4 p,
  .box_l .box_shop5 p,
  .box_l .box_shop6 p {
    -moz-transform: rotate(0deg);
    /* Firefox用 */
    -webkit-transform: rotate(0deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(0deg);
    /* 古いOpera用 */
    -ms-transform: rotate(0deg);
    /* IE用 */
    transform: rotate(0deg);
    /* CSS3の書き方 */
    color: #f05681;
    width: 250px;
    margin: 0;
    font-weight: bold;
    font-size: 10px;
    line-height: 1.4;
  }
  .box_l .box_shop7 p {
    color: #f05681;
    width: 200px;
    margin: 0;
    font-weight: bold;
    font-size: 10px;
    line-height: 1.4;
  }
  .box_shop1 {
    position: absolute;
    top: 20px;
    left: 132px;
    width: 245px;
    height: 155px;
  }
  .box_shop2 {
    position: absolute;
    top: 18px;
    left: 410px;
    width: 238px;
    height: 155px;
  }
  .box_shop3 {
    position: absolute;
    top: 16px;
    left: 690px;
    width: 230px;
    height: 155px;
  }
  .box_shop4 {
    position: absolute;
    top: 342px;
    left: 132px;
    width: 245px;
    height: 155px;
  }
  .box_shop5 {
    position: absolute;
    top: 342px;
    left: 410px;
    width: 238px;
    height: 155px;
  }
  .box_shop6 {
    position: absolute;
    top: 342px;
    left: 690px;
    width: 230px;
    height: 155px;
  }
  .box_shop7 {
    position: absolute;
    top: 342px;
    left: 690px;
    width: 230px;
    height: 155px;
  }
  /* 大街道1丁目 .area_01 */
  .area_01 .box_shop1 {
    top: 126px;
    left: 564px;
  }
  .area_01 .box_shop2 {
    top: 342px;
    left: 564px;
  }
  .area_01 .box_shop3 {
    top: 126px;
    left: 243px;
  }
  .area_01 .box_shop4 {
    top: 384px;
    left: 243px;
  }
  .area_01 .box_shop1 p {
    line-height: 1.8;
  }
  .area_01 .box_shop2 p {
    line-height: 1.6;
  }
  .area_01 .box_shop3 p {
    width: 180px;
    -moz-transform: rotate(0deg);
    /* Firefox用 */
    -webkit-transform: rotate(0deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(0deg);
    /* 古いOpera用 */
    -ms-transform: rotate(0deg);
    /* IE用 */
    transform: rotate(0deg);
    /* CSS3の書き方 */
    line-height: 1.4;
  }
  .area_01 .box_shop4 p {
    width: 180px;
    -moz-transform: rotate(0deg);
    /* Firefox用 */
    -webkit-transform: rotate(0deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(0deg);
    /* 古いOpera用 */
    -ms-transform: rotate(0deg);
    /* IE用 */
    transform: rotate(0deg);
    /* CSS3の書き方 */
    line-height: 1.2;
  }
  .area_01 .box_shop3 a,
  .area_01 .box_shop4 a {
    text-align: right;
  }
  .area_01 .box_shop3 a:before,
  .area_01 .box_shop4 a:before {
    right: -10px;
  }
  /* 大街道2丁目　.area_02 */
  .area_02 .box_shop1 {
    top: 31px;
    left: 569px;
  }
  .area_02 .box_shop1 p {
    line-height: 1.2;
  }
  .area_02 .box_shop2 {
    top: 284px;
    left: 570px;
  }
  .area_02 .box_shop2 p {
    line-height: 1;
  }
  .area_02 .box_shop3 {
    top: 614px;
    left: 572px;
  }
  .area_02 .box_shop4 {
    top: 32px;
    left: 175px;
  }
  .area_02 .box_shop4 p {
    line-height: 1.5;
  }
  .area_02 .box_shop5 {
    top: 337px;
    left: 178px;
  }
  .area_02 .box_shop5 p {
    line-height: 1.5;
  }
  .area_02 .box_shop6 {
    top: 605px;
    left: 180px;
  }
  .area_02 .box_shop4 a,
  .area_02 .box_shop5 a,
  .area_02 .box_shop6 a {
    text-align: right;
  }
  .area_02 .box_shop4 a:before,
  .area_02 .box_shop5 a:before,
  .area_02 .box_shop6 a:before {
    right: -10px;
  }
  /* 銀天街3丁目 .area03 */
  .area_03 .box_shop1 {
    top: 107px;
    left: 530px;
  }
  .area_03 .box_shop1 p {
    line-height: 1.6;
  }
  .area_03 .box_shop2 {
    top: 380px;
    left: 529px;
  }
  .area_03 .box_shop2 p {
    line-height: 1;
  }
  .area_03 .box_shop3 {
    top: 354px;
    left: 519px;
    -moz-transform: rotate(102deg);
    /* Firefox用 */
    -webkit-transform: rotate(102deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(102deg);
    /* 古いOpera用 */
    -ms-transform: rotate(102deg);
    /* IE用 */
    transform: rotate(102deg);
  }
  .area_03 .box_shop4 {
    top: 113px;
    left: 188px;
  }
  .area_03 .box_shop4 p {
    line-height: 1.9;
  }
  .area_03 .box_shop5 {
    top: 384px;
    left: 188px;
  }
  .area_03 .box_shop5 p {
    line-height: 2.1;
  }
  .area_03 .box_shop6 {
    top: 687px;
    left: 418px;
    -moz-transform: rotate(109deg);
    /* Firefox用 */
    -webkit-transform: rotate(109deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(109deg);
    /* 古いOpera用 */
    -ms-transform: rotate(109deg);
    /* IE用 */
    transform: rotate(109deg);
  }
  .area_03 .box_shop7 {
    top: 636px;
    left: 665px;
  }
  .area_03 .box_shop3 a,
  .area_03 .box_shop4 a,
  .area_03 .box_shop5 a {
    text-align: right;
  }
  .area_03 .box_shop3 a:before,
  .area_03 .box_shop4 a:before,
  .area_03 .box_shop5 a:before {
    right: -10px;
  }
  /* 銀天街4丁目 .area04 */
  .area_04 .box_shop1 {
    top: 66px;
    left: 530px;
  }
  .area_04 .box_shop1 p {
    line-height: 1.3;
  }
  .area_04 .box_shop2 {
    top: 347px;
    left: 530px;
  }
  .area_04 .box_shop2 p {
    line-height: 1.5;
  }
  .area_04 .box_shop3 {
    top: 622px;
    left: 530px;
  }
  .area_04 .box_shop3 p {
    line-height: 1.2;
  }
  .area_04 .box_shop4 {
    top: 67px;
    left: 183px;
  }
  .area_04 .box_shop4 p {
    line-height: 1.2;
  }
  .area_04 .box_shop5 {
    top: 345px;
    left: 183px;
  }
  .area_04 .box_shop5 p {
    line-height: 2;
  }
  .area_04 .box_shop6 {
    top: 622px;
    left: 183px;
  }
  .area_04 .box_shop4 a,
  .area_04 .box_shop5 a,
  .area_04 .box_shop6 a {
    text-align: right;
  }
  .area_04 .box_shop4 a:before,
  .area_04 .box_shop5 a:before,
  .area_04 .box_shop6 a:before {
    right: -10px;
  }
  .area_01 a,
  .area_02 a,
  .area_03 a,
  .area_04 a {
    display: block;
    position: relative;
  }
  .area_01 a:before,
  .area_02 a:before,
  .area_03 a:before,
  .area_04 a:before {
    position: absolute;
    top: 0;
    left: -10px;
    content: "●";
  }
  .home .layout3 .box_l .g1,
  .home .layout3 .box_l .g1:before {
    color: #f05681;
  }
  .home .layout3 .box_l .g2,
  .home .layout3 .box_l .g2:before {
    color: #599929;
  }
  .home .layout3 .box_l .g3,
  .home .layout3 .box_l .g3:before {
    color: #fe7100;
  }
  .home .layout3 .box_l .g4,
  .home .layout3 .box_l .g4:before {
    color: #8139a3;
  }
  .home .layout3 .box_l .g5,
  .home .layout3 .box_l .g5:before {
    color: #1071b5;
  }
  .home .layout3 .box_r {
    position: relative;
    z-index: 2;
    background: url(../images/top/top_map_01.png) no-repeat;
    width: 306px;
    height: 547px;
    float: left;
  }
  .home .layout3 .box_r .m_l {
    width: 40px;
    height: 72px;
    float: left;
    margin-top: 58px;
    margin-left: 27px;
    margin-bottom: 20px;
  }
  .home .layout3 .box_r .m_c {
    width: 100px;
    height: 72px;
    float: left;
    font-size: 21px;
    text-align: center;
    margin-top: 58px;
    margin-left: 29px;
    line-height: 1.4em;
    color: #8b5826;
    margin-bottom: 20px;
  }
  .home .layout3 .box_r .ft19 {
    font-size: 19px;
  }
  .home .layout3 .box_r .ft15 {
    font-size: 15px;
  }
  .home .layout3 .box_r .ft34 {
    font-size: 34px;
  }
  .home .layout3 .box_r .m_r {
    width: 40px;
    height: 72px;
    float: left;
    margin-top: 58px;
    margin-left: 25px;
    margin-bottom: 20px;
  }
  .home .layout3 .box_r .event_box {
    position: relative;
    width: 240px;
    height: 60px;
    border: dashed 1px #d0b9a9;
    margin: 10px 10px 20px 15px;
    padding: 10px;
    background: #fff;
  }
  .home .layout3 .box_r .day {
    width: 70px;
    margin: 0px 0px 10px 10px;
    padding: 5px;
    font-size: 18px;
    float: left;
    color: #625850;
  }
  .home .layout3 .box_r .day .dd {
    font-size: 26px;
    color: #625850;
  }
  .home .layout3 .box_r .day .w0 {
    font-size: 18px;
    color: #ff574a;
    font-weight: bold;
  }
  .home .layout3 .box_r .day .w1 {
    font-size: 18px;
    color: #418bc6;
    font-weight: bold;
  }
  .home .layout3 .box_r .day .w2 {
    font-size: 18px;
    color: #625850;
    font-weight: bold;
  }
  .home .layout3 .box_r .event_box .msg a {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 150px;
    height: 65px;
    padding: 10px 0 10px 110px;
    line-height: 1.6em;
    font-size: 13px;
    font-weight: bold;
    text-decoration: underline;
  }
  .home .layout3 .box_r .event_box .msg a:hover {
    color: #8d8d8d;
  }
  .home .layout3 .jump {
    position: absolute;
    bottom: -85px;
    left: 500px;
  }
  .home .layout2 .jump {
    margin-top: 65px;
    float: right;
  }
  .home .layout3 .box_r .more {
    width: 240px;
    margin: 0 auto;
  }
  .home .layout3 .box_r .more a {
    color: #a38510;
  }
  .home .layout3 .box_l .maplink {
    position: absolute;
    top: 500px;
    left: 500px;
    width: 200px;
  }
  .home .arr01 {
    padding-left: 25px;
    font-size: 15px;
  }
  .home .hvr-icon-forward {
    padding-right: 0;
  }
  .home .hvr-icon-forward:before {
    padding-top: 3px;
    content: url(../images/common/list_01.png);
  }
  .mv_circle .mv_msg {
    position: absolute;
    top: 166px;
    left: 107px;
    width: 210px;
    font-size: 18px;
    z-index: 6;
  }
}
@media (max-width: 980px) {
  .home .sp_event {
    margin: 20px -20px;
  }
  .home .event_list {
    padding-left: 0px;
    padding-right: 20px;
  }
  .home .event_list dt {
    float: left;
    clear: both;
    color: #625850;
    padding-left: 20px;
    margin-top: 5px;
    font-size: 14px;
  }
  .home .event_list dt span {
    font-size: 12px;
  }
  .home .event_list dt .y01 {
    color: #ff574a;
  }
  .home .event_list dt .y02 {
    color: #418bc6;
  }
  .home .event_list dt .y00 {
    color: #905b2f;
  }
  .home .event_list dd {
    background: url(../images/top/sp_list_01.png) no-repeat top right;
    background-size: 24px auto;
    border-bottom: 1px dashed #cda713;
    padding: 0 24px 10px 90px;
    margin-top: 8px;
  }
  .home .sp_event .to_event {
    background: #f4eeca;
    text-align: right;
    padding: 10px 0 10px 0;
  }
  .home .sp_event .to_event a {
    background: url(../images/top/sp_list_02.png) no-repeat top left;
    background-size: 20px auto;
    padding-left: 30px;
    margin-right: 20px;
  }
  .home .sp_info {
    margin: 20px -20px;
  }
  .home .info_list {
    padding-left: 0px;
    padding-right: 20px;
    margin-bottom: 40px;
  }
  .home .info_list dd {
    background: url(../images/top/sp_list_01.png) no-repeat top right;
    background-size: 24px auto;
    border-bottom: 1px dashed #cda713;
    padding: 0 24px 10px 0px;
    margin-top: 8px;
  }
  .home .sp_info .to_info {
    background: #f4eeca;
    text-align: right;
    padding: 10px 0 10px 0;
  }
  .home .sp_info .to_info a {
    background: url(../images/top/sp_list_02.png) no-repeat top left;
    background-size: 20px auto;
    padding-left: 30px;
    margin-right: 20px;
  }
  .home .layout4 {
    margin-top: 30px;
    margin-bottom: 10px;
    text-align: center;
  }
  .home .layout4 img {
    max-width: 30%;
    height: auto;
  }
}
.toppage #map_wrap {
  overflow: hidden;
  width: 1003px;
  height: 1003px;
}
.toppage #map_wrap {
  position: relative;
  left: -150px;
}
/*##### IndexAllMatsuyama #####*/
.boxIndexAllMatsuyama .cGreen {
  color: #008442;
}
.boxIndexAllMatsuyama .cOrange {
  color: #fa6e19;
}
.boxIndexAllMatsuyama .boxCsnkLayoutLR01.no01 > .boxCsnkL {
  width: 38.7%;
  padding: 0 3%;
  text-align: center;
}
@media all and (max-width: 750px) {
  .boxIndexAllMatsuyama .boxCsnkLayoutLR01.no01 > .boxCsnkL {
    width: 100%;
  }
}
.boxIndexAllMatsuyama .boxCsnkLayoutLR01.no01 > .boxCsnkR {
  width: 61.3%;
}
@media all and (max-width: 750px) {
  .boxIndexAllMatsuyama .boxCsnkLayoutLR01.no01 > .boxCsnkR {
    width: 100%;
  }
}
.boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 {
  margin-bottom: 0.2em;
}
.boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p {
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-size: 1.26rem;
}
@media all and (max-width: 750px) {
  .boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p {
    font-size: 1.05rem;
  }
}
.boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p .cGreen,
.boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p .cOrange {
  font-size: 1.5rem;
}
@media all and (max-width: 750px) {
  .boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p .cGreen,
  .boxIndexAllMatsuyama .boxCsnkLayoutCom01.no01 > p .cOrange {
    font-size: 1.3rem;
  }
}
.boxIndexAllMatsuyama .boxCsnkLayoutCom01.no02 > p {
  letter-spacing: 0.1em;
  font-size: 0.95rem;
}
@media all and (max-width: 750px) {
  .boxIndexAllMatsuyama .boxCsnkLayoutCom01.no02 > p {
    font-size: 0.82rem;
  }
}
/* sub */
#sub {
  margin: 0;
}
