#toppage {
    position: relative; top: -40px;
    padding-left: 110px;
    color: #4b3400;
    font-family: 'Zen Maru Gothic','M PLUS 1p', sans-serif;
    font-weight: 600;
}
#toppage .inner { margin: auto; padding: 90px 0; width: 90%; max-width: 1000px;}
@media only screen and (max-width:800px){
    #toppage { padding-left:0;}
    #toppage .inner { padding: 50px 0;}
}


#toppage h3 {
    margin-bottom: 40px;
    padding-bottom: 40px;
    font-family: 'Zen Maru Gothic', serif;
    font-size: 175%;
    color: #4b3400;
    text-align: center;
    letter-spacing: 4px;
    background:url("../img/mid_bg.png") no-repeat center bottom;
}


#toppage .btn_cont { display: flex; flex-wrap: wrap; gap:20px;}
#toppage .btn_cont.col1 { margin: auto; max-width:330px;}
#toppage .btn_cont.col1 li { width:100%;}
#toppage .btn_cont.col2 li { width: calc( 50% - 10px);}
#toppage .btn_cont.col3 li { width: calc( 33.3% - 13.33px);}
#toppage .btn_cont.col4 li { width: calc( 25% - 15px);}
#toppage .btn_cont.col08 li { width:50%; margin:auto;}

#toppage .btn_cont li span { position: relative; display: block; width: 100%; text-align: center; z-index: 999;}
#toppage .btn_cont li a {
    display: flex; flex-wrap: wrap ; align-content:center;
    position: relative;
    padding:23px 10px;
    height: 75px;
    font-family: 'Zen Maru Gothic', serif;
    font-size: 112.5%;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #4d87c4;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.50);
    box-sizing: border-box;
}
#toppage .btn_cont a::after {
    position: absolute; bottom: 0; right: 0;
    display: block; clear: both; content:"";
    width: 35px; height: 35px;
    background: rgba(0,0,0,0.30) url("../img/arrow01_w.png") no-repeat 12px 10px;
    background-size: 17px auto;
    border-top-left-radius: 100px;
}
@media only screen and (min-width:800px){
   #toppage .btn_cont a:hover { opacity: 0.7;}
}
@media only screen and (max-width:800px){
   #toppage .btn_cont { gap:10px;}
   #toppage .btn_cont li a { padding:20px 5px; height:75px;  font-size: 87.5%; line-height: 130%;}
   #toppage .btn_cont.col2 li,
   #toppage .btn_cont.col3 li,
   #toppage .btn_cont.col4 li { width: calc(50% - 5px);}
}
@media only screen and (max-width:325px){
   #toppage .btn_cont a { font-size: 75%;}
}



#toppage .bana_cont { display: flex; flex-wrap: wrap; gap:20px;}
#toppage .bana_cont.col4 li { width: calc( 25% - 15px);}
#toppage .bana_cont.col5 li { width: calc( 20% - 16px);}
#toppage .bana_cont li span {  position: relative; display: block; width: 100%; text-align: center; z-index: 999;}
#toppage .bana_cont li span:nth-child(1) { display: flex; flex-wrap: wrap ; align-content:center;}
#toppage .bana_cont li span:nth-child(1) b { display: block; width: 100%;}
#toppage .bana_cont li a {
    display: flex; flex-wrap: wrap ; align-content:center;
    position: relative;
    height: 100%;
    padding:23px 10px;
    font-family: 'Zen Maru Gothic', serif;
    font-size: 112.5%;
    font-weight: 600;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #4d87c4;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.50);
    box-sizing: border-box;
}
#toppage .bana_cont li a::after {
    position: absolute; bottom: 0; right: 0;
    display: block; clear: both; content:"";
    width: 35px; height: 35px;
    background: rgba(0,0,0,0.30) url("../img/arrow01_w.png") no-repeat 12px 10px;
    background-size: 17px auto;
    border-top-left-radius: 100px;
}
@media only screen and (min-width:800px){
   #toppage .bana_cont li a:hover { opacity: 0.7;}
}
@media only screen and (max-width:800px){
   #toppage .bana_cont { gap:10px;}
   #toppage .bana_cont li a { 
       justify-content: space-between; flex-direction:row-reverse;
       padding:5px;
       height:75px;
       font-size: 87.5%;
       line-height: 120%;
    }
   #toppage .bana_cont li a span:nth-child(1) { width: calc(100% - 70px); text-align: center; padding-right: 10px;}
   #toppage .bana_cont li a span:nth-child(2) { width: 60px; }
   #toppage .bana_cont li a span:nth-child(2) img { width:90%; height: auto;}    
   #toppage .bana_cont.col4 li,
   #toppage .bana_cont.col5 li { width: calc(50% - 5px);}
   #toppage .bana_cont small { display: none;}
}
@media only screen and (max-width:360px){
   #toppage .bana_cont li a { padding: 20px 0; height: 130px; }
   #toppage .bana_cont li a span:nth-child(1),
   #toppage .bana_cont li a span:nth-child(2) { width:100%; text-align: center;  padding: 0;}
   #toppage .bana_cont li a span:nth-child(2) img { width:60px; height: auto;}    
   #toppage .bana_cont br.sp { display:none !important;}
   #toppage .bana_cont small { display:inline;}
}



/*---------------------------------------------------------------------------
  MAINIMG
---------------------------------------------------------------------------*/
#mainimg { position: relative; z-index: 8;}
#mainimg p img { width: 100%; height: auto;}
#mainimg h2 { position: absolute; top: 10%; right: 5%; width: 25%;}
#mainimg h2 img { width: 100%; height: auto;}
#mainimg ul {
    padding: 0 50px;
    position: absolute; bottom: 10%; right:5%;
    display: flex; justify-content: center;  gap:10px 30px;
    background: #fff;
    border-radius: 50px;
    z-index: 999;
}
#mainimg ul::before,
#mainimg ul::after {
    position: absolute;
    display: block; clear: both; content:"";
    width: 100px; height: 50px;
}
#mainimg ul::before { top:10px; left: -70px; background: url("../img/kumo1.png") no-repeat;}
#mainimg ul::after {  top: -35px; right:10px;  background: url("../img/kumo2.png") no-repeat;}
#mainimg ul li a {
    display: block;
    padding:15px 30px 15px 0;
    color: #4b3400;
    font-size: 112.5%;
    font-weight: 600;
    text-decoration: none;
    background: url("../img/arrow01_l.png") no-repeat 95% center;
    background-size: 17px auto;
    border-bottom: 2px solid #fff;
}
@media only screen and (min-width:800px){
    #mainimg ul li a:hover { color: #4d87c4;}
}
@media only screen and (max-width:800px){
    #mainimg h2 { 
        position: absolute; top:0; right: 0; left: 0; bottom: 0;
        margin: auto; width:200px; height: 100px;
    }
    #mainimg p img { width: 100%; height:600px; object-fit: cover;}
    #mainimg ul {
        position: absolute; bottom: -170px; right:0; left: 0;
        margin: auto; padding: 10px 30px; width:90%;
        flex-direction: column;  gap:0 ;
        border-radius: 15px;
        box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
    }
    #mainimg ul li a { padding:15px 30px 15px 0;}
    #mainimg ul li + li {border-top: 1px solid #ddd;}
    #mainimg ul::before { top:inherit; bottom: -30px; left: -30px;}
    #mainimg ul::after {  top: -30px; right:-10px;}
}



/*---------------------------------------------------------------------------
  SEARCH
---------------------------------------------------------------------------*/
#toppage .search {
    background-image: url("../img/wave_l.png"),url("../img/bg.jpg");
    background-repeat:no-repeat,no-repeat;
    background-position:bottom left,center center;
    background-size: auto, cover;
}
#toppage .search .inner { margin: auto; padding-bottom: 50px; max-width: 750px;}
#toppage .search .search_free {
    display: flex; flex-direction: column; gap:20px;
    padding: 30px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
    margin-bottom:20px; /* add */
}
/* #toppage .search #cse-search-box { position: relative;}  */
#toppage .search form { position: relative;} 
#toppage .search .search_free  input.sa_txt {
    width: 100%;
	height:50px;
	background:#fff;
	padding-left:15px;
    border-radius: 5px;
    background: #f3f2f1;
    border: none;
	box-sizing: border-box;
}
#toppage .search .search_free  input.sa_bo {
    position: absolute; top: 0; bottom: 0; right:10px;
    cursor: pointer;
    margin: auto;
    width:40px; height:40px;
	text-indent: -9999px;
	background:url("../img/icon_search2.png") no-repeat center center;
	background-size:30px auto;
	border:none;
	z-index: 999;
}
#toppage .search .search_free input.sa_bo:hover { opacity: 0.5; filter: alpha(opacity=50); -moz-opacity: 0.5;}

/* 2024/11/14 add[S] */
#toppage .search .search_box {
	display:block;
}
#toppage .search .search_box div{
	width:48%;
	float:left;
}
#toppage .search .search_box div.id_search_box{
	margin-left:4%;
}

#toppage .search .search_free  input.cls_id_txt {
    width: 100%;
	height:50px;
	background:#fff;
	padding-left:15px;
    border-radius: 5px;
    background: #f3f2f1;
    border: none;
	box-sizing: border-box;
}
#toppage .search .search_free  input.id_sa_bo {
    position: absolute; top: 0; bottom: 0; right:10px;
    cursor: pointer;
    margin: auto;
    width:40px; height:40px;
	text-indent: -9999px;
	background:url("../img/icon_search2.png") no-repeat center center;
	background-size:30px auto;
	border:none;
	z-index: 999;
}
#toppage .search .search_free input.id_sa_bo:hover { opacity: 0.5; filter: alpha(opacity=50); -moz-opacity: 0.5;}

@media only screen and (max-width:800px){
	#toppage .search .search_box div{
		width:100%;
		float:none;
	}
	#toppage .search .search_box div.id_search_box{
		margin-left:0;
	}
	
}
/* 2024/11/14 add[E] */





#toppage .search .search_keyword { display: flex; gap:15px;}
#toppage .search .search_keyword dt {
    padding: 0;
    width: 100px;
    font-size: 87.5%;
    color: #fff;
    text-align: center;
    background: #d66763;
    border-radius: 50px;
}
#toppage .search .search_keyword dd a { color: #4b3400;}

#toppage .news_link {
    background: #fff;
    text-align: center;
    border-radius: 15px;
    border:3px solid #d66763;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}
#toppage .news_link a {
    display: block;
    padding: 20px;
    font-size:125%;
    text-decoration: none;
    color: #d66763;
    box-sizing: border-box;
}
#toppage .news_link span {
    padding: 0 35px;
    background: url("../img/arrow01_r.png") no-repeat 95% center;
    background-size: 17px auto;
}
@media only screen and (min-width:800px){
    #toppage .search .search_keyword dd a:hover { color:#d66763;}
    #toppage .news_link a:hover {
        color: #fff;
        background: #d66763;
        border-radius:12px;
    }
    #toppage .news_link a:hover span {
        background: url("../img/arrow01_w.png") no-repeat 95% center;
        background-size: 17px auto;
    }
}
@media only screen and (max-width:800px){
    #toppage .search {  padding-top: 210px;}
    #toppage .search .search_free { padding: 5% 5% 7%;}
    #toppage .search .search_keyword { flex-direction: column; gap: 10px;}
}




/*---------------------------------------------------------------------------
  INFO
---------------------------------------------------------------------------*/
#toppage .info .inner { margin: auto; max-width: 750px;}
#toppage .info h3 {
    margin: 0 0 40px;
    padding: 50px 0 0;
    font-size: 175%;
    color: #d66763;
    text-align: center;
    letter-spacing: 4px;
    background:url("../img/icon_news.png") no-repeat center top;
}
#toppage .info .info_list { display: flex; flex-direction: column; gap:15px;}
#toppage .info .info_list dl { 
    display: flex; gap:20px;
    font-family: 'Zen Maru Gothic','Noto Sans JP', "Yu Gothic", YuGothic,"Meiryo", sans-serif;
    font-weight: 500;
}
#toppage .info .info_list dl dt {
    width: 140px;
    font-size: 87.5%;
    background: url("../img/arrow02.png")  no-repeat right 7px;
    background-size: 17px auto;
}
#toppage .info .info_list dl dd { width: calc(100% - 160px);}
#toppage .info .info_list dl dd a { color: #4b3400;}
#toppage .info .attention {
    position: relative;
    margin-top: 80px;
    padding: 45px;
    background: #d66763;
    border-radius: 20px;
}
#toppage .info .attention h4 {
    position:absolute; top: -30px; left: 0; right: 0;
    margin: auto; padding: 15px 0; max-width: 190px;
    font-size: 175%;
    color: #d66763;
    text-align: center;
    letter-spacing: 4px;
    background: #fff;
    border-radius: 50px;
}
#toppage .info .attention ul {display: flex; justify-content: center;  gap:10px 50px;}
#toppage .info .attention ul a {
    display: block;
    padding:8px 30px 8px 0;
    color: #fff;
    font-size: 112.5%;
    text-decoration: none;
    background: url("../img/arrow01_w.png") no-repeat 95% center;
    background-size: 17px auto;
    border-bottom: 2px solid #fff;
}
@media only screen and (min-width:800px){
    #toppage .info .info_list dl dd a:hover { color:#d66763;}
    #toppage .info .attention ul a:hover { opacity: 0.7;}
}
@media only screen and (max-width:800px){
    #toppage .info .info_list { gap:30px;}
    #toppage .info .info_list dl { flex-direction: column; gap:0;}
    #toppage .info .info_list dl dd { width:100%;}
    #toppage .info .attention { padding:45px 30px;}
    #toppage .info .attention ul {flex-direction: column;  gap:10px 50px;}
}



/*---------------------------------------------------------------------------
  MOKUTEKI
---------------------------------------------------------------------------*/
#toppage .mokuteki {
    background-image: url("../img/wave_r.png"),url("../img/bg.jpg");
    background-repeat:no-repeat,no-repeat;
    background-position:top right,center center;
    background-size: auto, cover;
}
#toppage .mokuteki .btn_cont { margin-top: 50px;}
#toppage .mokuteki .btn_cont a { background:#365e89; }
#toppage .mokuteki .btn_cont a::after { background-color: #4d87c4; }



/*---------------------------------------------------------------------------
  TOPICS
---------------------------------------------------------------------------*/
#toppage .topics .inner { margin: auto; max-width: 750px;}
#toppage .topics .topics_cont {
    padding: 30px;
    background: #fff;
    border-radius: 15px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}
#toppage .topics .topics_cont::after {
    position: absolute; top:60%; right: -50px;
    display: block; clear: both; content:"";
    width: 121px; height: 30px;
    background: url("../img/kumo3.png") no-repeat;
}
#toppage .topics .topics_cont li.kiji { display: flex; flex-wrap: wrap; gap:30px;}
#toppage .topics .topics_cont li .photo { width: 50%; }
/* #toppage .topics .topics_cont li .photo img { width: 100%; height: auto;} */
#toppage .topics .topics_cont li .photo img { max-width: 100%; height: auto; max-height:340px;margin-right:auto;margin-left:auto}
#toppage .topics .topics_cont li .come { padding-top: 10px; width: calc(50% - 30px);}
#toppage .topics .topics_cont li .come span { display: block;}
#toppage .topics .topics_cont li .cate {
    padding: 0 20px;
    max-width: 80px;
    font-size: 87.5%;
    color: #fff;
    text-align: center;
    background: #d66763;
    border-radius: 50px;
}
#toppage .topics .topics_cont li .mid { color: #4b3400; font-size: 112.5%; font-weight: 600; margin: 10px 0;}
#toppage .topics .topics_cont li .day { color: #4b3400;}
@media only screen and (max-width:800px){
    #toppage .topics .topics_cont { padding: 5% 5% 10%; }
    #toppage .topics .topics_cont::after {top:55%; right: -30px;}
    #toppage .topics .topics_cont li.kiji { flex-direction: column;}
    #toppage .topics .topics_cont li .photo,
    #toppage .topics .topics_cont li .come { padding-top:0; width: 100%;}
    #toppage .topics .topics_cont li .come span { display: block;}
    #toppage .topics .topics_cont li .mid { margin: 10px 0;}
}



/*---------------------------------------------------------------------------
  IKUJI
---------------------------------------------------------------------------*/
#toppage .ikuji {
    background-image: url("../img/wave_l.png"),url("../img/bg.jpg");
    background-repeat:no-repeat,no-repeat;
    background-position:bottom left,center center;
    background-size: auto, cover;
}
#toppage .ikuji .bana_cont { margin: auto; max-width: 750px;}
#toppage .ikuji .bana_cont li a { background: #8ac8bd;}
@media only screen and (max-width:800px){
    #toppage .join .inner { padding:40px 0; max-width: inherit;}
}



/*---------------------------------------------------------------------------
  JOIN
---------------------------------------------------------------------------*/
#toppage .join .inner { max-width: inherit;}
#toppage .join .inner img { width: 100%; height: auto;}
#toppage .join .btn_cont.col1 a { height: 60px; color: #4b3400; background-color: #e0d573;}
@media only screen and (max-width:800px){
    #toppage .join .inner { padding:40px 0; max-width: inherit;}
}



/*---------------------------------------------------------------------------
  MEDIA
---------------------------------------------------------------------------*/
#toppage .media {
    background-image: url("../img/wave_r.png"),url("../img/bg.jpg");
    background-repeat:no-repeat,no-repeat;
    background-position:top right,center center;
    background-size: auto, cover;
}
#toppage .media_cont { display: flex; flex-wrap: wrap; gap:60px;}

/* Media */
#toppage .media .magazine { 
    display: flex; gap:40px;
    width: calc(100% - 500px);
}
#toppage .media .magazine .come { align-self: center;}
#toppage .media .magazine b,
#toppage .media .magazine small { font-weight: 600;}
#toppage .media .magazine b { font-size:112.5%;}
#toppage .media .magazine small { font-size: 100%;}
#toppage .media .b_link { margin-top: 20px;}
#toppage .media .b_link p + p { margin-top: 10px;}
#toppage .media .b_link a {
    display: block;
    padding:8px 15px;
    color: #fff;
    font-size: 100%;
    text-decoration: none;
    background: url("../img/arrow01_w.png") no-repeat 95% center;
    background-size: 17px auto;
    border-radius: 5px;
    box-shadow: 0px 3px 0px rgba(0,0,0,0.15);
}
#toppage .media .b_link p:nth-child(1)  a { background-color:#6dbaac;}
#toppage .media .b_link p:nth-child(2)  a { background-color:#d66763;}

/* SNS */
#toppage .media .sns { 
    display: flex; flex-wrap: wrap; align-content: flex-start; gap:20px;
    max-width: 440px;
    padding: 30px;
    background: rgba(255,255,255,0.50);
    border-radius: 15px;
}
#toppage .media .sns p { width: calc(50% - 10px);}
#toppage .media .sns p a {
    display: block;
    padding-left: 70px;
    height: 50px;
    color: #575757;
    font-family: 'Zen Maru Gothic', serif;
    font-size: 125%;
    font-weight: 600;
    line-height: 50px;
    text-decoration: none;
    box-sizing: border-box;
}
#toppage .media .sns p a small {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    line-height: 12px;
}
#toppage .media .sns p.sns_li a { background: url("../img/sns_li.png") no-repeat;}
#toppage .media .sns p.sns_in a { background: url("../img/sns_in.png") no-repeat;}
#toppage .media .sns p.sns_yt a  { background: url("../img/sns_yt.png") no-repeat;}
#toppage .media .sns p.sns_fb a { background: url("../img/sns_fb.png") no-repeat; padding-top:10px;  line-height: 100%;}

#toppage .media .sns p.sns_nt a  { background: url("../img/sns_nt.png") no-repeat; background-size:60px; background-position:left center; font-size:85%}

@media only screen and (min-width:800px){
    #toppage .media .b_link a:hover { opacity: 0.7;}
    #toppage .media .sns p a:hover { opacity: 0.7;}
}
@media only screen and (max-width:1200px){
    #toppage .media .magazine { margin: auto; width: 90%;}
    #toppage .media .sns { width:100%; max-width: inherit; padding: 30px;}
}
@media only screen and (max-width:800px){
    #toppage .media_cont { gap:40px;}
    #toppage .media .inner { width: 100%;}
    #toppage .media .magazine { gap:20px;}
    #toppage .media .magazine .photo img { width:100px;}
    #toppage .media .magazine .come { width: calc( 100% - 120px);}
    #toppage .media .magazine b span { display: inline-block;}
    #toppage .media .magazine b { font-size: 112.5%;}
    #toppage .media .magazine small { font-size: 87.5%;}
    #toppage .media .b_link { margin-top: 20px;}
    #toppage .media .b_link p + p { margin-top: 10px;}
    #toppage .media .b_link a { font-size:100%;}
    #toppage .media .sns { border-radius: 0; gap:10px;}
    #toppage .media .sns p { width: calc(50% - 5px);}
    #toppage .media .sns p a { padding-left: 45px; font-size: 100%; line-height: 40px; background-size: 40px !important;}
    #toppage .media .sns p a small { font-size: 12px;}
}
@media only screen and (max-width:325px){
    #toppage .media .magazine { flex-direction: column; gap:20px;}
    #toppage .media .magazine .photo,
    #toppage .media .magazine .photo img,
    #toppage .media .magazine .come { width:100%;}
}



/*---------------------------------------------------------------------------
  MOVIE
---------------------------------------------------------------------------*/
#toppage .movie { position: relative; background: #a9c4e2;}
#toppage .movie::before { 
    position: absolute; top: -20px; left: 0; right:0;
    margin: auto;
    display: block; clear: both; content:"";
    width: 100%; height:20px;
    background: url("../img/wave_b.png") no-repeat center bottom;
    background-size: 100% 20px;
}
#toppage .movie .inner { padding-top: 80px; width: 100%; max-width: 1140px;}
#toppage .movie h3 { color: #fff;}
#toppage .movie ul li { padding: 0 5px;}
#toppage .movie ul li p {
    position: relative;
    padding-top: 56.25%;
    height: 0;
    overflow: hidden;
}
#toppage .movie ul li iframe {
     position: absolute; top: 0; left: 0;
     width: 100%; height: 100%;
}
@media only screen and (max-width:800px){
}



/*---------------------------------------------------------------------------
  SERVICE
---------------------------------------------------------------------------*/
#toppage .service ul { margin: auto; max-width: 730px;}
@media only screen and (max-width:800px){
}



/*---------------------------------------------------------------------------
  ABOUT
---------------------------------------------------------------------------*/
#toppage .about { 
    background: url("../img/bg.jpg") no-repeat center center;
    background-size: cover;
}
#toppage .about .inner { 
    position: relative;
    background: url("../img/map.png") no-repeat left center;
    background-size: auto 90%;
    overflow: hidden;
}
#toppage .about h4,
#toppage .about h5 { font-family: 'Zen Maru Gothic', serif;}
#toppage .about h4 { font-size: 150%; text-align: center; letter-spacing: 2px;}
#toppage .about h5 { font-size: 125%;}

 /* City Info*/
#toppage .about .city_info { float: right; max-width:465px;}
#toppage .about .city_info ul { margin: 50px 0 30px; display: flex; flex-wrap: wrap; gap:5px 20px;}
#toppage .about .city_info ul li  { width: calc(50% - 10px);}
#toppage .about .city_info ul li a {
	padding: 0 0 0 30px;
	color: #4b3400;
	text-decoration: none;
	background: url("../img/arrow01_b.png") no-repeat center left;
	background-size: auto 17px;
}



#toppage .about .city_info ul li.bnrli {
	margin-bottom:10px;
}
#toppage .about .city_info ul li.bnrli a {
	background:none;
	padding-left:0;
}


#toppage .about .city_info dl  { 
    padding: 0 20px;
    color: #fff;
    background:#005d97;
    border-radius: 10px;
    box-shadow: 0px 0px 4px rgba(0,0,0,0.50);
}
#toppage .about .city_info dl dt { 
    display: flex; flex-wrap: wrap; justify-content: center; gap:10px;
    padding: 10px;
    text-align: center;
    letter-spacing: 2px;
    border-bottom: 3px dotted #fff;
}
#toppage .about .city_info dl dd { padding:15px 20px 20px; display: flex; flex-wrap: wrap; justify-content: center; line-height: 120%;}
#toppage .about .city_info dl dd span { display: block; text-align: center; }
#toppage .about .city_info dl dd span:nth-child(1) { font-size: 87.5%; }
#toppage .about .city_info dl dd p { padding-top:75px; width: 25%; max-width: 90px;}
#toppage .about .city_info dl dd p:nth-child(1) { background: url("../img/footer_01.png") no-repeat center top; background-size: 85% auto;}
#toppage .about .city_info dl dd p:nth-child(2) { background: url("../img/footer_02.png") no-repeat center top; background-size: 85% auto;}
#toppage .about .city_info dl dd p:nth-child(3) { background: url("../img/footer_03.png") no-repeat center top; background-size: 85% auto;}
#toppage .about .city_info dl dd p:nth-child(4) { background: url("../img/footer_04.png") no-repeat center top; background-size: 85% auto;}

/* Map Info */
#toppage .about .map_info { position: absolute; top: 50%; left: 30%;}
#toppage .about .map_info a { color: #4b3400; text-decoration: none;}
#toppage .about .map_info a::before { 
    color: #3b68b2; 
    position: relative; 
    font-size: 20px;
    content:""; 
    background: url("../img/list_arrow_b.png") no-repeat center left;
    top: 5px;
    padding-left: 15px;
}
#toppage .about .map_info ul { margin: 5px 0 0;}
@media only screen and (min-width:800px){
   #toppage .about .city_info a:hover { color: #005d97;}
   #toppage .about .map_info a:hover { color: #005d97;}
}
@media only screen and (max-width:1080px){
   #toppage .about .map_info { position: absolute; top:65%; left: 10%;}
}
/* @media only screen and (max-width:800px){ */
@media only screen and (max-width:900px){
/*    #toppage .about .inner { background-position: center 330px; background-size: 330px auto; } */
    #toppage .about .inner { background-position: center 400px; background-size: 330px auto; }
    #toppage .about h5 { font-size: 112.5%;}
    #toppage .about .city_info { float:none; margin: auto; max-width: 464px;}
    #toppage .about .city_info ul { margin: 25px 0 230px;}
    #toppage .about .city_info ul li  { width:100%;}
    #toppage .about .city_info dl dd { padding:15px 0 20px; font-size: 87.5%;}
    #toppage .about .city_info dl dd { padding:15px 0 20px; font-size: 87.5%;}
/*    #toppage .about .map_info { top: 450px; left:inherit; right: 20%;} */
    #toppage .about .map_info { top: 510px; left:inherit; right: 20%;}
    #toppage .about .map_info a { color: #4b3400; text-decoration: none; font-size: 87.5%;}
    #toppage .about .map_info ul { line-height: 130%;}

	#toppage .about .city_info ul li.bnrli {
		float:left;
		width:calc(50% - 10px);
	}

	#toppage .about .city_info ul li.bnrli a img {
		max-width:100%;
	}
}



/*---------------------------------------------------------------------------
  BANNER
---------------------------------------------------------------------------*/
#toppage .banner p {
    display: flex; justify-content: space-between;
    margin-bottom: 15px;
}
#toppage .banner p a { color: #d66763;}
/*
#toppage .banner ul { display: flex; gap:10px;}
#toppage .banner ul li img { width: 100%; height: auto;}
#toppage .banner ul + p { margin-top: 50px;}
*/
#toppage .banner ul li { width:calc(100% / 6 - 1%); margin-right:1%;float:left;margin-bottom:10px;}
#toppage .banner ul li img { width:100%; }
#toppage .banner ul + p { margin-top: 50px;}

@media only screen and (max-width:800px){
    #toppage .banner p a:hover { opacity: 0.7;}
    #toppage .banner ul { flex-wrap: wrap;}
    #toppage .banner ul li { width: calc(50% - 1%);}
}



#toppage .news_tel {
	margin-top:1em;
    background: #fff;
    text-align: center;
    border-radius: 15px;
    border:3px solid #365e89;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.15);
}
#toppage .news_tel a {
    display: block;
    padding: 20px;
    font-size:125%;
    text-decoration: none;
    color: #365e89;
    box-sizing: border-box;
}


#toppage .news_tel span {
    padding: 0 35px;
    background: url("../img/arrow01_b.png") no-repeat 95% center;
    background-size: 17px auto;
}
@media only screen and (min-width:800px){
    #toppage .news_tel a:hover {
		background-color:#365e89;
    	color: #fff;
        border-radius:10px;
    }
    #toppage .news_tel a:hover span {
        background: url("../img/arrow01_w.png") no-repeat 95% center;
        background-size: 17px auto;
    }
}


#toppage .kosodate_bana {margin: 0 auto 40px; width: 100%; max-width: 847px;}

#toppage .btn_cont.col08 li a{
	background-color:#e0d573;
	color:#4d3601;
	box-shadow:0px 0px 4px rgba(0,0,0,0.2);
}