@charset "utf-8";
#header {
    height:auto !important;
}
#header h1 a {
    background-image: url("../img/logo_w.svg") !important;
    background-color:rgba(0,0,0,0.00) !important;
    box-shadow:none !important;
}

@media only screen and (min-width:467px){
    #header h1 { width: 20%; max-width: 200px;}
}

/*------------------------------------------------------------
    MAINIMG
------------------------------------------------------------*/
.mainimg { position: relative; width: 100%; padding-bottom: 50px;}
.mainimg::before { 
    position: absolute; bottom: 0; left: 0; z-index: 999;
    display: block; clear: both; content:"";
    width: 100%; height: 135px;
    background: url("../img/wave3.png") no-repeat bottom center;
    background-size: auto 135px;
}
.mainimg .main_slider img {
    transform-origin: center top;
    transform: scale(1.0);
    transition: 10s ease-out;
}
.mainimg .main_slider .slick-active img {
    transform: scale(1.1);
}
@media only screen and (max-width:768px){
    .mainimg { padding-bottom: 30px;}
    .mainimg::before { height: 100px; background-size: auto 100px;}
}
@media only screen and (max-width:468px){
    .mainimg { padding-bottom: 20px !important;}
    .mainimg img { aspect-ratio: 1 / 1; object-fit: cover;}
    .mainimg::before { height: 50px !important; background-size: auto 50px !important;}
}


/*====================================================================================================
  TOP
====================================================================================================*/
#toppage h3 { margin-top:20px; margin-bottom: 60px;}
#toppage h3 b,
#toppage h3 small { display: block; text-align: center;}
#toppage h3 b { font-size: 200%; font-weight: 700; margin-bottom: 10px; letter-spacing: 4px;}
#toppage h3 small { font-size: 100%; font-weight: 400; font-family: "Roboto", "sans-serif";}
#toppage h4 b { font-size: 162.5%; font-weight: 700;}
#toppage h4 small { font-size: 100%; font-weight: 400; font-family: "Roboto", "sans-serif"; margin-left: 10px; letter-spacing: 0;}
#toppage h3.tit {
    margin-left: auto; margin-right: auto;
    max-width: 380px;
    background-image: url("../img/tit_bg1.png"), url( "../img/tit_bg2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: left center, right center;
    background-size: 65px auto, 65px auto;
}
@media only screen and (max-width:768px){
    #toppage h3 { margin-bottom: 30px;}
    #toppage h3 b { font-size: 175%;}
    #toppage h3 small { font-size: 87.5%;}
    #toppage h4 b { font-size: 137.5%;}
    #toppage h4 small { font-size: 87.5%;}
}
@media only screen and (max-width:468px){
    #toppage h3 { margin-bottom: 20px;}
    #toppage h3 b { font-size: 137.5%; margin-bottom: 5px;}
    #toppage h3 small { font-size: 75%; line-height: 100%;}
    #toppage h4 b { font-size:112.5%;}
    #toppage h4 small { font-size: 75%;}
    #toppage h3.tit { background-size: 45px auto, 45px auto;}
}

#toppage .btn a {
    display: block;
    padding:5px 20px;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    background:#4CAB77 url("../img/icon_arrow_w.svg") no-repeat 90%center;
    background-size: 20px auto !important;
    border-radius: 50px;
}



/*------------------------------------------------------------
    NAV
------------------------------------------------------------*/
#toppage .nav {
    display: flex; justify-content: space-between; gap:10px;
    margin: auto; padding: 30px 0 40px;
    width: 90%; max-width: 1240px;
}
#toppage .nav p { width: 100%; max-width: 150px;}
#toppage .nav p img {
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}
#toppage .nav p a { color: #222; text-decoration: none;}
#toppage .nav p a img { margin-bottom: 10px;}
#toppage .nav p b,
#toppage .nav p small { display: block; line-height: 150%; text-align: center;}
#toppage .nav p b { font-size: 112.5%;}
#toppage .nav p small { font-size: 7px; color: #777;}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:468px){
/*    #toppage .nav  { display: none; } */
/*	#toppage .nav p b { font-size: 58.5%;} */

	#toppage .nav p b { font-size: 68.5%;} 
	#toppage .nav{display:block; }
	#toppage .nav p { float:left; margin:10px 4%;}

	#toppage .nav p{
		width:25%;
	}

	#toppage .nav p:nth-child(5){
		margin-left:19%;
	}



	#toppage .nav br{
		clear:both;
	}

	#toppage .nav::after {display:block;content:""; clear:both;}

}



/*------------------------------------------------------------
    ATTENTION
------------------------------------------------------------*/
#toppage .attention { background: #fff;}
#toppage .attention .inner { 
    display:flex; align-items: flex-start; gap:20px;
    padding: 35px 0;
}
#toppage .attention .mid {
    padding: 5px 0;
    width: 170px;
    color: #fff;
    text-align: center;
    background: #E34136;
    border-radius: 30px;
}
#toppage .attention .att_list {
    width: calc(100% - 170px - 20px);
}
#toppage .attention ul { line-height: 35px; overflow: hidden;}
#toppage .attention ul li { float: left;}
#toppage .attention ul li:nth-child(1) {
    margin-right: 10px;
    width:155px;
    font-size: 87.5%;
    background: url("../img/icon_arrow.svg") no-repeat right 6px;
    background-size: 20px auto;
}
#toppage .attention ul li:nth-child(2) a { color: #222;}
@media only screen and (max-width:768px){
    #toppage .attention ul li:nth-child(2)  { line-height: 130%;}
}
@media only screen and (max-width:468px){
    #toppage .attention .inner { flex-direction: column; gap:10px;}
    #toppage .attention .att_list { width:100%; }
}



/*------------------------------------------------------------
    SEARCH
------------------------------------------------------------*/
#toppage .searchinfo {}
#toppage .searchinfo .inner { max-width: 1200px;}
#toppage .searchinfo .search_list {
    max-width: 1200px;
    background: #fff;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    border-radius: 30px;
    box-sizing: border-box;
    overflow: hidden;
}
#toppage .searchinfo .search_list .inner { 
    display:flex; gap:70px; max-width: 1010px;
    padding: 60px 0;
}
#toppage .searchinfo .mokuteki { width:calc(100% - 250px - 70px);}
#toppage .searchinfo .bunrui { width: 250px;}
#toppage .searchinfo dt {
    margin-bottom: 20px;
    padding-left: 45px;
    line-height: 35px;
    font-size: 137.5%;
    font-weight: 700;
    letter-spacing: 2px;
    background: url("../img/icon_search.svg") no-repeat;
    background-size: 35px auto;
}
#toppage .searchinfo dd {}
#toppage .searchinfo .mokuteki ul {
    display: flex; flex-wrap:wrap; justify-content: center; gap:20px;
    width: 100%;
}
#toppage .searchinfo .mokuteki li { width: 100px; text-align: center;}
#toppage .searchinfo .mokuteki li a { color: #222; text-decoration: none; font-size: 112.5%;}
#toppage .searchinfo .mokuteki li a small { display: block; font-size: 10px; line-height: 100%;}
#toppage .searchinfo .bunrui ul { 
    width: 100%;
    background: url("../img/line2.png") no-repeat left top;
}
#toppage .searchinfo .bunrui ul li {
    background: url("../img/line2.png") no-repeat left bottom;
}
#toppage .searchinfo .bunrui ul li a {
    display: block;
    padding: 35px 20px;
    color: #222;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
}
@media only screen and (max-width:768px){
    #toppage .searchinfo .search_list .inner { flex-direction: column;}
    #toppage .searchinfo .mokuteki,
    #toppage .searchinfo .bunrui { width: 100%;}
    #toppage .searchinfo .bunrui ul { display: flex; flex-direction: row; gap:10px;width: 100%; background: none;}
    #toppage .searchinfo .bunrui ul li { width: 33.3%; background: none;}
    #toppage .searchinfo .bunrui ul li a { padding:20px 10px; background: #f6f6f6; border-radius: 10px;}
}
@media only screen and (max-width:468px){
    #toppage .searchinfo .search_list .inner { padding: 30px 0;}
    #toppage .searchinfo .mokuteki ul { gap:0;}
    #toppage .searchinfo .mokuteki li { width:33.3%; padding: 10px;}
    #toppage .searchinfo .mokuteki li a span{ font-size: 75%;}
    #toppage .searchinfo .bunrui ul { flex-direction: column;}
    #toppage .searchinfo .bunrui ul li { width: 100%;}
}



/*------------------------------------------------------------
    PUBLIC
------------------------------------------------------------*/
#toppage .public { 
    position: relative;
    background:url("../img/wave2.png") no-repeat center bottom;
}
#toppage .public .bg {
    background: url("../../img/public_bg.png") no-repeat center center;
    background-size: auto 300px;
}
#toppage .public .inner { padding:0 0 150px; max-width: 1200px;}
#toppage .public ul { display: flex; flex-wrap: wrap; justify-content: center; gap:10px;}
#toppage .public ul li { width: calc(20% - 8.33px); min-width: 180px;}
#toppage .public ul li a {
    position: relative;
    display: block;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    border-radius: 30px;
    box-sizing: border-box;
    overflow: hidden;
}
#toppage .public ul li img { width: 100%; height:auto; aspect-ratio:230 / 300; object-fit: cover;}
#toppage .public ul li a span {
    position: absolute; left: 0; right: 0; bottom: 10px; z-index: 9;
    display: block;
    margin: auto;
    width: 90%;
    padding:10px 20px;
    text-align: center;
    background:rgba(255,255,255,0.80) url("../img/icon_arrow.svg") no-repeat 95% center;
    background-size: 25px auto !important;
    border-radius: 30px;
    box-sizing: border-box;
}
@media only screen and (max-width:768px){
    #toppage .public { background-size: auto 80px;}
}
@media only screen and (max-width:468px){
    #toppage .public { background-size: auto 50px;}
    #toppage .public .inner { padding-bottom: 100px;}
    #toppage .public ul { flex-direction: column;}
    #toppage .public ul li { width:100%; min-width: 180px;}
    #toppage .public ul li img { aspect-ratio:9 / 5;}
}



/*------------------------------------------------------------
    MOSHIMO
------------------------------------------------------------*/
#toppage .moshimo { position: relative; background: #fff;}
#toppage .moshimo .inner { padding: 0 0 70px;}
#toppage .moshimo .inner::before,
#toppage .moshimo .inner::after {
    position: absolute; bottom:-30px;
    display: block; clear: both; content:"";
    width: 100px; height:auto;
    background: url("../../img/moshimo_pic1.png") no-repeat;
    background-size: 100% auto !important;
}
#toppage .moshimo .inner::before {
    left: -50px;
    width: 42px;
    aspect-ratio:42 / 123;
    background: url("../../img/moshimo_pic1.png") no-repeat;
}
#toppage .moshimo .inner::after {
    right: -50px;
    width: 49px;
    aspect-ratio:49 / 126;
    background: url("../../img/moshimo_pic2.png") no-repeat;
}
#toppage .moshimo h3 {
    position: relative; top:-40px;
    margin: 0 auto;
    padding: 80px 0 0;
    width: 100%; max-width: 410px; height: auto;
    letter-spacing: 3px;
    aspect-ratio:410 / 104;
    background:url("../../img/moshimo_bg.png") no-repeat center center;
    background-size:100% auto;
    box-sizing: border-box;
}
#toppage .moshimo ul { display: flex; flex-wrap: wrap; gap:10px;}
#toppage .moshimo ul li { width: calc(25% - 7.5px);}
#toppage .moshimo ul li a {
    display: block;
    padding: 20px;
    height: 100%;
    font-size: 125%;
    font-weight: 700;
    color: #222;
    text-decoration: none;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    background:#FEE101 url("../img/icon_arrow.svg") no-repeat 95% center;
    background-size: 25px auto !important;
    box-sizing: border-box;
}
@media only screen and (max-width:768px){
    #toppage .moshimo .inner { padding:  0 0 50px;}
    #toppage .moshimo .inner::before,
    #toppage .moshimo .inner::after { bottom:-70px;}
    #toppage .moshimo .inner::before { left:0;}
    #toppage .moshimo .inner::after { right:0;}
    #toppage .moshimo ul li { width: calc(50% - 5px);}
}
@media only screen and (max-width:468px){
    #toppage .moshimo .inner { padding:  0 0 50px;}
    #toppage .moshimo .inner::before,
    #toppage .moshimo .inner::after { bottom:-30px; width: 30px;}
    #toppage .moshimo h3 { margin-bottom: 0;}
    #toppage .moshimo ul { flex-direction: column;}
    #toppage .moshimo ul li { width: 100%;}
    #toppage .moshimo ul li a { font-size: 100%;}
}



/*------------------------------------------------------------
    INFORMATION
------------------------------------------------------------*/
#toppage .information .inner { display: flex; flex-wrap: wrap; gap:10px; padding-bottom: 300px;}
#toppage .information .topics,
#toppage .information .news {
    position: relative;
    width: calc(50% - 5px);
    background: #fff;
    background: #fff url("../img/tit_bg5.png") no-repeat left 20px;
    background-size: 35px auto;
    border-radius: 20px;
}
#toppage .information .btn {
    position: absolute; top:20px; right:30px;
    width: 140px;
}
#toppage .information .rss { position: absolute; top: 25px; right:185px;}
#toppage .information .rss a {
    display: block;
    padding-left: 25px;
    font-family: "Roboto", "sans-serif"; 
    font-weight: 700;
    color: #222;
    text-decoration: none;
    background: url("../../img/rss.png") no-repeat left center;
}
#toppage .information .box { padding: 30px;}
#toppage .information h4 {
    padding: 25px 30px 25px 50px;
    letter-spacing: 2px;
    background: url("../img/line.png") repeat-x center bottom;
}
#toppage .information .topics .box { display: flex; flex-direction: row-reverse; gap:20px; padding: 30px;}
#toppage .information .topics .pic { width: 200px;}
#toppage .information .topics .pic img { border-radius: 10px;}
#toppage .information .topics .cont { width: calc(100% - 200px);}
#toppage .information .topics .mid { margin-bottom: 25px; font-weight: 700; line-height: 160%;}
#toppage .information .topics .come { font-size: 86.5%;}
#toppage .information .topics .btn { margin-bottom: 5px;}

#toppage .information .topics a { color:#222;text-decoration:none;} /* 2026/01/29 add */
#toppage .information .topics .btn a { color:#FFF;} /* 2026/01/29 add */


#toppage .information .news_list { height: 320px; overflow: auto;}
#toppage .information .news_list ul + ul { margin-top: 15px;}
#toppage .information .news_list ul li:nth-child(1) {
    width: 170px;
    background: url("../img/icon_arrow.svg") no-repeat right 2px;
    background-size: 20px auto;
}
#toppage .information .news_list ul li:nth-child(2) { line-height: 130%;}
#toppage .information .news_list ul li:nth-child(2) a { color: #222;}
@media only screen and (max-width:768px){
    #toppage .information .topics,
    #toppage .information .news { width: 100%;}
    #toppage .information .inner {  padding-bottom: 150px;}
}
@media only screen and (max-width:468px){
    #toppage .information { flex-direction: column; gap:10px;}
    #toppage .information .topics,
    #toppage .information .news { padding-bottom: 20px;}
    #toppage .information .box { padding: 20px;}
    #toppage .information .topics .box { display: flex; flex-direction: column;}
    #toppage .information .topics .cont { width:100%;}
    #toppage .information .topics .pic { width: 100px; margin: auto;}
    #toppage .information .topics .mid { margin-bottom:10px; font-size: 112.5%; text-align: center;}
    #toppage .information .news_list { margin-bottom: 30px;}
    #toppage .information .rss { top: 22px; right: 20px;}
    #toppage .information .btn { position: static; margin: 0 auto;}
}



/*------------------------------------------------------------
    ABOUT
------------------------------------------------------------*/
#toppage .about { 
    position: relative;
    background: #399E66 url("../img/wave2.png") no-repeat center bottom;
}
#toppage .about::before {
    display: block; clear: both; content:"";
    position: absolute; top: -215px; left: 0;
    width: 100%; height: 220px;
    background: url("../../img/about_wave.png") no-repeat center bottom;
    background-size: auto 100%;
}
#toppage .about h3 { width: 100%; color: #fff;}
#toppage .about h4 { position: relative; margin-bottom: 10px;}
#toppage .about h4 b { font-size: 137.5%;}
#toppage .about .inner { display: flex; flex-wrap: wrap; gap:10px; padding: 50px 0 150px;}
#toppage .about .guide { display: flex; flex-direction: column; gap:10px; width: calc(50% - 5px);}


/* PICKUP */
#toppage .about .pickup { display: flex; align-items: center; gap:10px; margin-bottom: 25px;}
#toppage .about .pickup p { position: relative; width: calc(25% - 7.5px);}
#toppage .about .pickup p a {
    display: block;
    color: #222;
    text-decoration: none;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    overflow: hidden;
}
#toppage .about .pickup p:nth-child(4) span a,
#toppage .about .pickup p a b {
    display: block;
    padding: 20px;
    height: 100%;
    font-size: 125%;
    font-weight: 700;
    background:#fff url("../img/icon_arrow.svg") no-repeat 95%center;
    background-size: 25px auto !important;
}
#toppage .about .pickup p:nth-child(4) { display: flex; flex-direction: column; gap:10px;}
#toppage .about .pickup p:nth-child(4) span { display: block;}
#toppage .about .pickup p:nth-child(4) span a { padding:40px 20px;}

/* MAGAZINE */
#toppage .about .magazine {
    display: flex; align-items: center; gap:40px;
    padding: 30px;
    width: calc(50% - 5px);
    background: #fff;
    background-size: 35px auto;
    border-radius: 10px;
}
#toppage .about .magazine .pic { width: 200px;}
#toppage .about .magazine .cont { width: calc(100% - 200px);}
#toppage .about .magazine .mid { margin-bottom: 35px; font-size: 125%; font-weight: 700; line-height: 160%;}
#toppage .about .magazine .btn { margin-bottom: 5px;}

/* SNS */
#toppage .about .sns {
    padding: 25px 40px;
    background: #fff url("../img/tit_bg5.png") no-repeat left 20px;
    background-size: 35px auto;
    border-radius: 10px;
}
#toppage .about .sns .cont { display: flex; flex-wrap: wrap; justify-content: center; gap:10px 0;}
#toppage .about .sns .cont p { width: 20%; text-align: center;}
#toppage .about .sns .cont p img { margin: 0 auto 5px; width: 60%;}
#toppage .about .sns .cont p span { display: block; color: #222; font-size: 62.5%; line-height: 120%; text-align: center;}
#toppage .about .sns .cont p a { text-decoration: none;}

/* POPULATION */
#toppage .about .population {
    padding: 25px 40px;
    background: #fff url("../img/tit_bg5.png") no-repeat left 20px;
    background-size: 35px auto;
    border-radius: 10px;
}
#toppage .about .population small { position: absolute; top: 5px; right: 0; font-size: 87.5%;}
#toppage .about .population .cont { display: flex; flex-wrap: wrap; justify-content: space-between; gap:5px 0;}
#toppage .about .population dl { display: flex; justify-content: space-between; width: 50%; line-height: 35px;}
#toppage .about .population dt {
    width: 70px;
    text-align: center;
    background: #D2EADD;
    border-radius: 100px;
}
#toppage .about .population dd { width: calc(100% - 80px); font-size: 150%; font-weight: 700;}
@media only screen and (max-width:768px){
    #toppage .about { background-size: auto 80px;}
    #toppage .about::before { top: -125px; height: 130px; background-size: auto 130px;}
    #toppage .about .inner { display: flex; flex-wrap: wrap; gap:10px; padding: 50px 0 100px;}
    #toppage .about .pickup { flex-wrap: wrap;}
    #toppage .about .pickup p { width: calc(33.3% - 6.66px);}
    #toppage .about .pickup p:nth-child(4) span a,
    #toppage .about .pickup p a b { font-size: 100%;}
    #toppage .about .pickup p:nth-child(4) { flex-direction: row; width: 100%;}    
    #toppage .about .pickup p:nth-child(4) span { display: block; width: calc(50% - 5px); align-self: flex-start;}
    #toppage .about .pickup p:nth-child(4) span a { padding:20px;}
    #toppage .about .magazine,
    #toppage .about .guide { width: 100%;}
}
@media only screen and (max-width:468px){
    #toppage .about { background-size: auto 50px;}
    #toppage .about::before { top: -95px; height: 100px; background-size: auto 100px;}
    #toppage .about h4 b { font-size: 112.5%;}
    #toppage .about .inner { padding: 30px 0  50px;}
    #toppage .about .pickup p:nth-child(1),
    #toppage .about .pickup p:nth-child(2),
    #toppage .about .pickup p:nth-child(3) {
        display: block;
        width: 100%;
        color: #222;
        text-decoration: none;
        background: #fff;
        box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
        border-radius: 10px;
        overflow: hidden;
    }
    #toppage .about .pickup p:nth-child(1) a,
    #toppage .about .pickup p:nth-child(2) a,
    #toppage .about .pickup p:nth-child(3) a {
        display: flex; flex-direction:row; gap:0;
        width: 100%;
        box-sizing: border-box;
    }
    #toppage .about .pickup p a img { width: 110px;}
    #toppage .about .pickup p a b { padding: 25px 15px;  width:calc(100% - 100px); }
    #toppage .about .pickup p:nth-child(4) { flex-direction: column;}
    #toppage .about .pickup p:nth-child(4) span { width: 100%;}
    #toppage .about .pickup p:nth-child(4) span a { padding: 15px 15px; background-position: 98%center; }
    #toppage .about .magazine { flex-direction: column; gap:10px; padding: 20px 25px; width:100%; }
    #toppage .about .magazine .cont { width:100%;}
    #toppage .about .magazine .pic { width: 100px;}
    #toppage .about .magazine .mid { margin-bottom:10px; font-size: 112.5%; text-align: center;}
    #toppage .about .magazine .btn { margin-bottom: 5px;}
    #toppage .about .sns { padding: 20px 25px; background-position: left 25px; background-size: 20px auto;}
    #toppage .about .sns .cont p { width:33.3%;}
    #toppage .about .population { padding: 20px 25px; background-position: left 25px; background-size: 20px auto;}
    #toppage .about .population small { display: block; position: static; font-size:75%;}
    #toppage .about .population dl { width:100%;}
}



/*------------------------------------------------------------
    BANNER
------------------------------------------------------------*/
#toppage .banner { padding-bottom: 50px; background: #fff;}
#toppage .banner .inner { padding: 70px 0 150px;}
#toppage .banner dl + dl { margin-top: 20px;}
#toppage .banner dt { margin-bottom:5px; font-size: 87.5%; letter-spacing: 2px;}
#toppage .banner dd { overflow: hidden;}
#toppage .banner dd p { float: left; width: calc(16.66% - 8.33px); margin-bottom: 10px;}
#toppage .banner dd p + p { margin-left: 10px;}
#toppage .banner dd p:nth-child(6n+1) { margin-left:0;}
@media only screen and (max-width:768px){
    #toppage .banner .inner { padding: 50px 0;}
}
@media only screen and (max-width:468px){
    #toppage .banner .inner { padding: 30px 0;}
    #toppage .banner dd p {width: calc(33.3% - 6.66px);}
    #toppage .banner dd p:nth-child(3n+1) { margin-left:0;}
}