@charset "utf-8";
#toppage .inner {
    display: flex; flex-direction: column; gap:70px;
    padding: 100px 0;
}
@media only screen and (max-width:468px){
    #toppage .inner { gap:40px;}
}

/* TITLE */
#toppage h3,
#toppage h4 { font-family: "Zen Maru Gothic", sans-serif; letter-spacing: 2px;}
#toppage h3 { font-size: 225%;}
#toppage h4 { font-size: 162.5%;}
#toppage .tit {
    text-align:center;
    background:url("../img/line_dot.png") repeat-x center center;
    background-size: auto 5px;
}
#toppage .tit span { position: relative; padding: 0 120px; background: #FFFCEF;}
#toppage .tit span::before,
#toppage .tit span::after {
    position: absolute; top: 0; bottom: 0;
    margin: auto;
    display: block; clear: both; content:"";
    width: 80px; height: auto;
    background-size: 100% auto !important;
    aspect-ratio: 1 / 1;
}
#toppage .tit span::before { left:0; background: url("../img/tit_l.png") no-repeat;}
#toppage .tit span::after { right:0; background: url("../img/tit_r.png") no-repeat;}
#toppage .tit2 {
    text-align:center;
    background:url("../img/line_dot2.png") repeat-x center center;
    background-size: auto 3px;
}
#toppage .tit2 span { position: relative; padding: 0 50px; background: #fff;}

@media only screen and (max-width:768px){
    #toppage h3 { font-size: 187.5%;}
    #toppage h4 { font-size: 137%;}
    #toppage .tit span { padding: 0 80px;}
    #toppage .tit span::before,
    #toppage .tit span::after { width: 60px; }
}
@media only screen and (max-width:468px){
    #toppage h3 { font-size: 150%;}
    #toppage h4 { font-size: 137.5%;}
/*    #toppage .tit span { padding: 0 60px;} */
    #toppage .tit span { padding: 0 50px;}
    #toppage .tit span::before,
    #toppage .tit span::after { width: 40px; }
}
@media only screen and (max-width:320px){
    #toppage h3 { font-size: 137%; letter-spacing: 0;}
    #toppage h4 { font-size: 125%; letter-spacing: 0;}
    #toppage .tit span { padding: 0 40px;}
    #toppage .tit span::before,
    #toppage .tit span::after { width: 30px; }
}

/* BUTTON */
#toppage .b_more1 a {
    position: relative;
    display: block;
    padding: 15px  20px;
    padding-left: 60px;
    font-size: 112.5%;
    font-weight: 500;
    color:#222;
    text-decoration: none;
    background: #fff;
    border-radius: 50px;
}
#toppage .b_more1 a::before {
    display:block; clear: both; content:"";
    position: absolute; top:0; bottom: 0; left: 10px;
    margin: auto;
    width: 35px; height: 35px;
    background: #000 url("../img/arrow_w.png") no-repeat center center;
    background-size: 12px auto;
    border-radius:35px;
}
#toppage .b_more1.b_red a {   color:#222; background: #FCF2F2;}
#toppage .b_more1.b_red a::before {   background-color:#BE0000;}

#toppage .b_more2 a {
    position: relative;
    display: block;
    padding: 10px 20px;
    padding-left: 50px;
    font-size:100%;
    font-weight: 500;
    color:#fff;
    text-decoration: none;
    background:#006400 url("../img/arrow_w.png") no-repeat 20px center;
    background-size: 12px auto;
    border-radius: 50px;
}
#toppage .b_more2.b_right a { padding: 5px 20px; padding-right: 50px; background-position: 90% center;}
#toppage .b_more3 a {
    position: relative;
    display: block;
    padding: 5px 20px;
    padding-right: 50px;
    font-size:100%;
    font-weight: 500;
    color:#222;
    text-decoration: none;
    background:url("../img/arrow_b.png") no-repeat 90% center;
    background-size: 12px auto;
    border-bottom: 2px solid #000;
}
@media only screen and (min-width:767px){
    #toppage .b_more1 a:hover { opacity: 0.7; color: #fff; background-color: #000;}
    #toppage .b_more1.b_red a:hover { opacity: 0.7; color: #fff; background-color: #BE0000;}
    #toppage .b_more2 a:hover { opacity: 0.7;}
    #toppage .b_more3 a:hover {opacity: 0.7;}
}




/*====================================
MAINIMG
====================================*/
#toppage .mainimg { position: relative;}
#toppage .mainimg .main_slide { position: relative;}
#toppage .mainimg .main_slide img { aspect-ratio: 16 / 9; object-fit: cover;}
#toppage .mainimg .main_slide::before {
    position: absolute; left: 0; bottom: 0; z-index: 9;
    display: block; clear: both; content:"";
    width: 100%; height: 43px;
    background: url("../../img/mainimg_wave.png") repeat-x center bottom;
}
#toppage .mainimg .site_nav {
    position: absolute; right: 50px; bottom: -50px; z-index: 99;
    display: flex; gap:15px;
    width: 100%; max-width: 600px;
}
@media only screen and (max-width:768px){
    #toppage .mainimg .main_slide::before { background-size: 768px auto;}
    #toppage .mainimg .site_nav { margin: auto; left: 0; right: 0; width: 90%;}
}
@media only screen and (max-width:468px){
    #toppage .mainimg .main_slide img { aspect-ratio: 16 / 18;}
    #toppage .mainimg .main_slide::before { background-size: 468px auto;}
}



/*====================================
ATTENTION
====================================*/
#toppage .att { background: #fff;}
#toppage .att h3,
#toppage .att h4 { color:#BE0000; text-align: center;}

#toppage .att .attnews { 
    display: flex; flex-direction: column; gap:40px;
    margin: auto; width: 100%; max-width: 760px;
}
#toppage .att .attnews h3 {
    padding-top: 20px;
    height: 90px;
    background: url("../../img/att_tit.png") no-repeat center bottom;
    background-size: auto 90px;
}
#toppage .att .attnews .attnews_list { }
#toppage .att .attnews ul { overflow: hidden; }
#toppage .att .attnews ul + ul { margin-top: 10px; }
#toppage .att .attnews ul li { float: left; }
#toppage .att .attnews ul li:nth-child(1) {
    padding: 5px;
    width: 150px;
    font-size: 87.5%;
    text-align: center;
    color: #BE0000;
    background: #F9E8E8;
    border-radius: 30px;
}
#toppage .att .attnews ul li:nth-child(2) {
    padding-left: 20px;
    width: calc(100% - 150px - 20px);
}
#toppage .att .attnews ul li:nth-child(2) a { color: #BE0000;}
#toppage .att .attinfo {
    display: flex; flex-direction: column; gap:40px;
    margin: auto; width: 100%; max-width: 790px;
}
#toppage .att .attinfo ul { display: flex; gap:20px;}
#toppage .att .attinfo ul li { width: 100%;}
#toppage .att .attinfo ul li a { font-size: 125%;}
@media only screen and (max-width:768px){
    #toppage .att .inner {  gap:70px; }
    #toppage .att .attnews h3 { padding-top: 12px; height:70px; background-size: auto 70px;}
    #toppage .att .attnews ul + ul { margin-top: 20px; }
    #toppage .att .attnews ul li { float:none; }
    #toppage .att .attnews ul li:nth-child(2) { width: 100%; margin-top: 10px; padding-left: 0;}
    #toppage .att .attinfo ul { flex-direction: column; gap:10px;}
    #toppage .att .attinfo ul li a { text-align: center; padding:15px 0;}
}



/*====================================
SEARCH1
====================================*/
#toppage .search1 { background:url( "../img/bg1.png") no-repeat bottom left; background-size: 435px auto;}
#toppage .search1 .search_cont {
    display: flex; gap:50px;
    padding: 5%;
    background: #fff;
    border-radius: 20px;
}
#toppage .search1 .search_cont.kazari {position: relative;}
#toppage .search1 .search_cont.kazari::before {
    position: absolute; top:-140px; left:-80px; 
    display: block; clear: both; content:"";
    width: 160px; height: 165px;
    background:url("../img/kazari_01.png") no-repeat;
    background-size: 100% auto;
}
#toppage .search1 .cont_l {
    position: relative;
    display: flex; flex-direction: column; gap:20px;
    width: 55%;
}
#toppage .search1 .cont_r { width: calc(45% - 50px); align-self: flex-end;}
#toppage .search1 .search_list { position: relative; display: flex; flex-direction:column; gap:5px;}
#toppage .search1 .search_list input.sa_txt {
	width:100%;
	height:60px;
	background:none;
	box-sizing: border-box;
	border: none;
	padding:15px 20px;
	border-radius: 5px;
	background: #F7F7F7;
}
#toppage .search1 .search_list input.sa_bo {
	cursor: pointer;
	position: absolute; top: 0; right:0;
	width:60px; height:60px;
	text-indent: -9999px;
	background: url("../img/icon_search.png") no-repeat center center;
	background-size:30px auto;
	border:none;
	z-index: 999;
}
#toppage .search1 .b_link { position: absolute; top: 0; right: 0;}
#toppage .search1 .mid {
    margin-bottom: 20px;
    padding: 5px 10px;
    width: 200px;
    font-size: 87.5%;
    text-align: center;
    color: #fff;
    background: #006400;
    border-radius: 50px;
}
#toppage .search1 .word_list { overflow: hidden;}
#toppage .search1 .word_list p { float: left; margin-bottom: 5px; margin-right: 20px;}
#toppage .search1 .word_list p a { color: #222; font-size: 87.5%;}
@media only screen and (max-width:768px){
    #toppage .search1 .search_cont { flex-direction: column; gap:20px;}
    #toppage .search1 .cont_l,
    #toppage .search1 .cont_r { width: 100%;}
    #toppage .search1 .cont_r { text-align: center;}
}
@media only screen and (max-width:468px){
    #toppage .search1 .search_cont { gap:40px; padding:10% 5%;}
    #toppage .search1 .search_cont.kazari::before { top:-40px; left:-20px; width:80px;}
    #toppage .search1 .search_cont h4,
    #toppage .search1 .search_cont .mid { text-align: center;}
    #toppage .search1 .b_link { position: static; text-align: center;}
    #toppage .search1 .mid { margin:0  auto 20px;}
}



/*====================================
SEARCH2
====================================*/
#toppage .search2 { background: #FFEA90;}
#toppage .search2 h3 { text-align: center;}
#toppage .search2 .mokuteki { position: relative; display: flex; flex-direction: column; gap:50px; }
#toppage .search2 .mokuteki ul {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap:20px 0;
    margin: auto; width: 100%; max-width: 640px;
}
#toppage .search2 .mokuteki ul li { width: 33.3%;}
#toppage .search2 .mokuteki ul li a {
    display: block;
    margin: auto;
    width: 150px;
    font-size: 125%;
    font-weight: 600;
    color: #222;
    text-align: center;
    text-decoration:none;
}
#toppage .search2 .mokuteki ul  li a img { max-width: 140px;}
#toppage .search2 .mokuteki .b_more2 { position: absolute; top: 0; right: 0; width: 165px;}
#toppage .search2 .other { display: flex; flex-direction: column; gap:50px; }
#toppage .search2 .other ul { display: flex; flex-wrap: wrap; gap:10px; }
/* #toppage .search2 .other ul li { width:calc(25% - 7.5px); } */
#toppage .search2 .other ul li { width:calc(33.3% - 7.5px); }
@media only screen and (max-width:1030px){
    #toppage .search2 .other ul li a { font-size: 100%; }
}
@media only screen and (max-width:1020px){
    #toppage .search2 .other ul li { width:calc(50% - 5px); }
}
@media only screen and (max-width:768px){
    #toppage .search2 .mokuteki { margin-bottom: 50px; }
    #toppage .search2 .mokuteki ul  li { width: 50%;}
    #toppage .search2 .mokuteki .b_more2 { position:static; margin: auto;}
}
@media only screen and (max-width:468px){
    #toppage .search2 .mokuteki ul  li a { font-size:100%;}
    #toppage .search2 .other ul li { float: none; width:100%; }
    #toppage .search2 .other ul li a { padding: 15px  20px; text-align: center; }
}



/*====================================
INFORMATION
====================================*/
#toppage .information { background: #FFFCEF url( "../img/bg2.png") no-repeat top right; background-size: 435px auto;}
#toppage .information.kazari {position: relative;}
#toppage .information.kazari::before {
    position: absolute; bottom:-70px; right:80px; z-index: 9;
    display: block; clear: both; content:"";
    width: 110px; height: auto;
    aspect-ratio: 171 / 242;
    background:url("../img/kazari_02.png") no-repeat;
    background-size: 100% auto;
}
@media only screen and (max-width:468px){
    #toppage .information.kazari::before { bottom:-40px; right:40px; width:70px;}
}


/* topics */
#toppage .topics { margin-bottom: 50px;}
#toppage .topics .pic { float:left; width: 55%;}
#toppage .topics .pic img { border-radius: 10px ;}
#toppage .topics .cont { float: right; width: 45%; padding-left: 40px; overflow: hidden;}
#toppage .topics  h4 { padding:20px 0;line-height: 130%;}
#toppage .topics .come { margin-bottom: 20px; }
#toppage .topics .b_more2 { width: 150px;}
@media only screen and (max-width:768px){
    #toppage .topics .pic { width: 50%;}
    #toppage .topics .cont { width: 50%;}
}
@media only screen and (max-width:468px){
    #toppage .topics .pic,
    #toppage .topics .cont { float: none; padding: 0; width: 100%;}
    #toppage .topics .cont { padding-top: 20px;}
    #toppage .topics .b_more2 { margin: auto;}
}


/* news */
#toppage .news { display: flex; flex-direction: column; gap:30px;}
#toppage .news h3 { margin-bottom: 40px;}
#toppage .news .news_list {
    padding: 20px;
    background: #fff;
}
#toppage .news ul { padding: 20px; overflow: hidden; } 
#toppage .news ul:nth-child(odd) { background: #F7F7F7;} 
#toppage .news ul li { float: left;} 
#toppage .news ul li:nth-child(1) { width: 140px; font-size: 87.5%;} 
#toppage .news ul li:nth-child(2) { width: 120px; font-size: 75%; text-align: center; background: #fff; border:1px solid #ddd; border-radius: 50px;} 
#toppage .news ul li:nth-child(3) {
    width: calc(100% - 140px - 120px);
    padding-left:10px;
    font-size: 87.5%;
    box-sizing: border-box;
}
#toppage .news ul li:nth-child(3)  a { 
    position: relative;
    display: block;
    padding-right: 30px;
    width: 100%;
    box-sizing: border-box;
}
#toppage .news ul li:nth-child(3)  a::before {
    display:block; clear: both; content:"";
    position: absolute; top:0; bottom: 0; right:0;
    margin: auto 0;
    width: 25px; height: 25px;
    background:#FFCC00 url("../img/arrow_b.png") no-repeat center center;
    background-size: 9px auto;
    border-radius:35px;
}
#toppage .news .b_more2 { margin: auto; width: 150px;}
@media only screen and (max-width:768px){
    #toppage .news ul li:nth-child(3) { padding-left: 0; width: 100%;}
}



/*====================================
GUIDE
====================================*/
#toppage .media { padding-bottom: 100px; background: #fff;}
#toppage .media .inner { padding-bottom: 50px}
#toppage .media h3 span { background: #fff;}
#toppage .media .media_cont { display: flex; flex-wrap: wrap; gap:40px;}
@media only screen and (max-width:768px){
    #toppage .media .media_cont { flex-direction: column;}
}


/* magazine */
#toppage .magazine { width: calc(100% - 300px - 40px); overflow: hidden;}
#toppage .magazine .pic { float:left; width: 60%;}
#toppage .magazine .cont { float: right; width: 40%; padding-left: 40px; overflow: hidden;}
#toppage .magazine .come { padding:20px 0;}
#toppage .magazine h4 {margin-bottom: 10px;}
#toppage .magazine .number { font-weight: 600;}
#toppage .magazine .day { font-size: 75%;}
#toppage .magazine .btn_box p + p { margin-top: 10px;}
@media only screen and (max-width:768px){
    #toppage .magazine { width: 100%;}
}
@media only screen and (max-width:468px){
    #toppage .magazine { margin-bottom: 20px;}
    #toppage .magazine .pic { float:none; margin:20px auto 40px; width: 80%;}
    #toppage .magazine .cont { float:none; width:100%; padding:0;}
    #toppage .magazine .come,
    #toppage .magazine .btn_box { float: left; padding: 0; width: 50%;}
}
@media only screen and (max-width:320px){
    #toppage .magazine .come { margin-bottom: 20px;}
    #toppage .magazine .come,
    #toppage .magazine .btn_box { float:none; width: 100%;}
}


/* sns */
#toppage .sns {
    position: relative;
    display: flex; flex-direction: column; justify-content: center; gap:30px;
    width: 100%; max-width: 300px;
    background: #F7F7F7;
/* 2025/09/30 UPD [S] */
/*  border-radius: 30px; */
    border-radius: 10px;
/* 2025/09/30 UPD [E] */
}
#toppage .sns .mid {
    font-family: "Zen Maru Gothic", sans-serif;
    font-size:137.5%;
    font-weight: 600;
    text-align: center;
    color:#E70000;
    letter-spacing: 2px;
}
#toppage .sns .bana { margin: 0 auto; width: 195px;}
#toppage .sns .bana a {
    display: block;
    padding-left: 60px;
    font-weight: 500;
    color: #222;
    text-decoration: none;
    line-height: 120%;
    background: url("../../img/sns_yt.png") no-repeat left center;
}
@media only screen and (max-width:768px){
    #toppage .sns { flex-direction: row; justify-content: center; gap:20px; padding: 30px; width:100%; max-width: none;}
    #toppage .sns .mid br { display: none;}
    #toppage .sns .bana { margin: 0;}
}
@media only screen and (max-width:468px){
    #toppage .sns .mid { position: absolute; top: -15px; left: 0; right: 0; margin: auto;}
    #toppage .sns .bana { margin: 0;}
}


/* slider */
#toppage .media { overflow: hidden;}
#toppage .media  ul.media_slide { margin:0 auto; width:500px;}
#toppage .media  ul.media_slide li { margin: 0 10px;}
/* 2025/09/30 UPD [S] */
/*
#toppage .media  ul.media_slide img { border-radius: 20px;}
*/
#toppage .media  ul.media_slide img { border-radius: 10px;}
/* 2025/09/30 UPD [E] */
#toppage .media  ul.media_slide .slick-list { overflow:visible;}
@media only screen and (max-width:768px){
    #toppage .media  ul.media_slide { width:400px;}
}
@media only screen and (max-width:468px){
    #toppage .media  ul.media_slide { width:300px;}
    #toppage .media  ul.media_slide li { margin: 0 5px;}
}
@media only screen and (max-width:320px){
    #toppage .media  ul.media_slide { width:250px;}
}



/*====================================
GUIDE
====================================*/
#toppage .guide {
    background: url("../../img/map.png") no-repeat -80% 27%;
    background-size: 72% auto;
}
#toppage .guide .kazari {position: relative;}
#toppage .guide .kazari::before {
    position: absolute; top:-90px; left:-80px; 
    display: block; clear: both; content:"";
    width: 160px; height:auto;
    aspect-ratio: 242 / 249;
    background:url("../img/kazari_01.png") no-repeat;
    background-size: 100% auto;
}
#toppage .guide .kitagawamura {
    display: flex; flex-direction: column; gap:50px;
    max-width: 400px;
    align-self: flex-end;
}
@media only screen and (max-width:768px){
    #toppage .guide {  background-size: 70% auto;}
}
@media only screen and (max-width:468px){
    #toppage .guide {  background: none;}
    #toppage .guide .kitagawamura {
        width: 100%;
        padding-top: 45%;
        background: url("../../img/map.png") no-repeat top center;
        background-size: 100% auto;
    }
    #toppage .guide .kazari::before { top:-30px; left:-30px; width:80px; height:auto;}
}


/* nav */
#toppage .guide_nav { display: flex; gap:10px;}
#toppage .guide_nav li { display: flex; flex-direction: column; gap:10px;}
#toppage .guide_nav li span { display: block;}
#toppage .guide_nav li a {
    padding-left: 20px;
    font-weight: 600;
    color: #222;
    text-decoration: none;
    letter-spacing: 2px;
    background: url("../img/arrow_b.png") no-repeat left 2px;
    background-size: 12px auto;
}
@media only screen and (max-width:468px){
    #toppage .guide_nav {flex-direction: column; align-self: flex-end;}
    #toppage .guide_nav li a { padding-left: 15px; background-size: 8px auto;}
}


/* population */
#toppage .population { position: relative; display: flex; flex-direction: column; gap:20px;}
#toppage .population .data { position: absolute; top: 0 ; right: 0;}
#toppage .population ul { display: flex; gap:5px;}
#toppage .population ul li {
    padding: 10px;
    width: 100%;
    line-height: 130%;
    text-align: center;
    background: #fff;
    border-radius: 10px;
}
#toppage .population ul li b { display: block; font-size: 87.5%; font-weight: 400;}
@media only screen and (max-width:468px){
    #toppage .population .data { font-size:75%;}
}
@media only screen and (max-width:368px){
    #toppage .population ul li { padding: 10px 0; font-size:75%;}
}


/* banner */
#toppage .banner { position: relative; display: flex; flex-direction: column; gap:20px;}
#toppage .banner h4 { text-align: center;}
#toppage .banner .bana_list { position: relative; z-index: 9; overflow: hidden;}
#toppage .banner .bana_list p { float: left; margin:5px 0; width: calc(25% - 7.5px);}
#toppage .banner .bana_list p + p { margin-left: 10px;}
#toppage .banner .bana_list p:nth-child(4n+1) { clear: both; margin-left: 0;}
#toppage .banner .b_link { position: absolute; top: 10px ; right: 0;}
@media only screen and (max-width:468px){
    #toppage .banner { gap:10px;}
    #toppage .banner .bana_list p {  width: calc(50% - 5px);}
    #toppage .banner .bana_list p:nth-child(2n+1) {margin-left: 0;}
    #toppage .banner .b_link { position:static; text-align: center;}
}


/*---------------------------------------------------------------------------
  ↓↓↓↓ 2025/09/30 CityNet ADD ↓↓↓↓
---------------------------------------------------------------------------*/
/* --------------------------------- */
#toppage img {
	width: 100%;
	height: auto;
}

/* --------------------------------- */

#toppage .att .attnews .attnews_list p {
	width:20%;
}

@media only screen and (max-width:768px){
	#toppage .att .attnews .attnews_list p {
		width:100%;
	}
}

/* --------------------------------- */

#toppage .magazine .pic img {
	border-radius: 10px;
}

/* --------------------------------- */


