/*
font-family: 'Kosugi Maru', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/
*{zoom:1;}
/*--  共通部分  --*/
html{
    padding:0;
    width:100%;
    font-family: 'Kosugi Maru', sans-serif;
    font-size:16px;
    user-select: none;
}
body{
    width:100%;
    margin:0;
    min-width:800px;
    padding:0;
    margin:0;
    
}

a{
    text-decoration: none;
    color:#000;
}

.hover-link{
    display:block;
    font-size:1.6rem;
    padding:0.8rem;
    transition: 500ms;
}

.hover-link :hover{
    color:#555;
    background-color:#cfc;
}


#header{
    position:relative;
    display:block;
    width:100%;
    min-width: 800px;
    height:130px;
    background-color: rgb(202, 227, 255);
    padding:0;
    background-image: url(../img/mountain.svg);
    background-repeat: no-repeat;
}

#header-inner{
    position:relative;
    max-width:1200px;
    height:100%;
    margin-left: auto;
    margin-right: auto;

}

#title-t{
    font-size:2.5rem; 
    display:block;
    position:relative;
    margin:0;
    top:20px;
    left:40px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 900;
    color:#ffffff;
    text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 4px;
    
    
}
#language{
    display: block;
    position: absolute;
    right: 10px;
    top:10px;
    z-index: 20;
}
#language a{
    color: #FFF;
    font-size: 1.4rem;
    text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 2px;
}

.coverlink {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    text-indent: -999px;
    z-index: 10;
    transition-duration: 300ms;
}
.coverlink :hover {
    background-color: rgba(255, 255, 255, 0.706);
}

#cc{
    font-size:1.3rem;
    color:#ffffff;
    text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 2px;
    display:block;
    float:right;
    position: relative; 
    right:20px;
    top:1.5rem;
}

.menu{
    /* position: absolute; 
    top:130px;
    height:4rem; */
    display:block;
    min-width:800px;
    width:100%;
    border-top:solid #b4b4b4 2px;
    z-index:500;

    
    position: sticky;
    top:0;
    height:4rem;
}
/* 
.menu_fixed{
    position: sticky;
    top:0;
    height:0;
} */

.menu ul{
    position:  relative;
    max-width:1200px;
    width:100%;
    margin:0 auto 0 auto;
    
    padding: 0;
    z-index:500;

}

.menu li{
    float:left;
    width:25%;
    height:4rem;
    list-style: none;
    border-bottom:solid #b4b4b4 2px;
    z-index:400;
}

.menu li a{
    text-decoration: none;
    font-size:1.4rem;
    text-align: center;
    display:block;
    height:4rem;
    line-height:4rem;
    color:#555555;
    transition-property:background-color;
    transition-duration: 500ms;
    border-left: solid 1px #888888;
    user-select: none;
    font-size:1.2rem;
}

.menu li:last-child a{
    
    border-right: solid 1px #888888;
}

.menu li a:hover:not(.active-page) {
    background-color:rgb(188, 225, 250);
}

.active-page{
    background-color:rgb(188, 225, 250);
}

.menu li a:not(.active-page){
    background-color:#ffffff;
}

.menu li ul {
    z-index:400;
}
.menu li li {
    width:100%;
    border-bottom:solid #696969 0px;
    overflow: hidden;

    transition: 500ms;
    height: 0;
    
    z-index:400;
}
.menu li li a {
    border-bottom:solid #000000 1px;
    border-left: solid #888888 0px;
    line-height:3rem;
    overflow: hidden;

    transition: 500ms;
    height: 0;
    z-index:400;
}

.menu li li a:not(.active-page){
    background-color:rgba(255, 255, 255, 0.952);
}
.menu li:hover > ul > li {
    border-bottom:solid #a0a0a0 1px;
    height:3rem;
    overflow: visible;
}
.menu li:hover > ul > li a{
    border-bottom:solid #a0a0a0 1px;
    height:3rem;
}
.menu li li:last-child a{
    border-right: solid 0px #888888;
}





/* 
.IE-menu{
    display:block;
    min-width:800px;
    width:100%;
    height:0;
    visibility: hidden;
}

.IE-menu ul{
    max-width:1200px;
    width:100%;
    margin:0 auto 0 auto;
    padding: 0;

}

.IE-menu li{
    float:left;
    width:25%;
    height:2.4rem;
    list-style: none;
    background-color:rgba(123, 228, 247, 0.575);
    border-bottom:solid 1px;
}

.IE-menu li a{
    text-decoration: none;
    font-size:1.2rem;
    text-align: center;
    display:block;
    height:4rem;
    line-height:2.4rem;
    color:#555555;
    transition-property:background-color;
    transition-duration: 500ms;
    user-select: none;
} */


#contents{
    position: relative;;
    /* top:calc(4rem + 2px); */
    max-width:calc(1200px - 2rem);
    background-color: rgba(255, 255, 255, 0.69);
    margin-left: auto;
    margin-right: auto;
    padding:1rem;

    min-height:calc(100vh - 400px);
    z-index:40;
}


#bg{
    position: fixed;
    width:100%;
    overflow: hidden;
    z-index: -20;
    top:0px;
    opacity: 0.5;
    height:100vh;
}

.cls{
    clear:both;
}

h3{
    margin:0.3rem 0 0.6rem 0;
    font-size:1.5rem;
    
}
h4{
    margin:0;
    padding:1rem 0.5rem  1rem  1rem;
    font-size:1.5rem;
    font-weight:normal;
    background-color: rgba(255, 255, 255, 0.773);
}

/* dt{
    float: left;
}

dt::after{
    content: "：　"
} */

dl{
    font-size:1.2rem;
    line-height:1.8rem;
    margin-bottom:0.5rem;
}
dt{
    font-size:1.3rem;
    line-height: 3rem;
}

table , td, th {
	border: 1px solid #595959;
    border-collapse: collapse;
}
table{
    width:80%;
    margin:0px auto 0px auto;
	background: #ffffffce;
}
td, th {
	padding: 8px;
    height: 25px;
    text-align: center;
}
th {
	background: #b6c3ff;
}
.rh{
    background: #d9def8;
}


.hover_mask{
    background-color:rgba(255, 255, 255, 0);
}
.hover_mask:hover{
    background-color:rgba(255, 255, 255, 0.494);
}

.svg_link:hover circle {
    fill: pink;
}

.svg_link:hover text {
      fill: pink;
}

hr{
    margin: 1rem 0 1rem 0;
}

.footer{
    display:block;
    width:100%;
    background-color:rgba(255,255,255,0.8);
    font-size:1rem;
    user-select: none;

    
}

#footer-inner{
    display:block;
    position: relative;;
    max-width:calc(1200px - 2rem);
    margin-left: auto;
    margin-right: auto;
    padding:1rem;

}
#footer-a{
    display:block;
    float:right;
    width:calc(50%-2rem);
    padding-right:2rem;
    line-height:1.2rem;
}
#footer-a p{
    font-size:1.3rem;
    padding:0px 0px 10px 0px;
    margin:0px;

}
#footer-b{
    display:block;
    float:left;
    width:50%;
}

#footer-b a{
    display:inline-block;
    margin:0 30px 0 0px;
    padding:0.5rem;
    transition: 500ms;
}
.link-b{
    font-size:1.2rem;
}
#footer-b a:hover{
    background-color: rgb(210, 217, 255);
    transition: 500ms;
}


#footer-c{
    margin-top:1rem;
    width:100%;
    display:block;
    text-align:center;

}





/*-- index.html トップページ  --*/



.picture img{
    display: block;
    position: relative;
    width:100%;
    height:100%;
}

.picture p {
    display:block;
    position:absolute;
    font-size:3rem;
    font-family: 'Noto Serif JP', serif;
    top:0;
    margin: 1rem 0 0 3rem;
    color :#FFF;
    text-shadow: rgba(0, 0, 0, 0.5) 4px 4px 4px;
    user-select: none;

}
.picture a{
    
    padding:1rem;
    font-size:1.2rem;
    line-height:1.4rem;

}

.button-t{
    font-size:1.4rem;
    display:block;
    width:90%;
    height:3rem;
    line-height: 3rem;
    border:solid 2px #aaa;
    margin:20px auto 20px auto;
    text-align:center;
    background-color: rgb(166, 202, 125);

}
.button-t a{
    display:block;
    width:100%;
    height:100%;
    text-decoration: none;
    color:#000;
}
.button-t:hover{
    background-color: rgb(154, 255, 154);
}


/*メインコンテンツ上部*/
.layout-top{
    width:calc(100% + 2rem);
    margin: -1rem 0 1rem -1rem;
    
    z-index:-70;
}


/*メインコンテンツ左側*/
.layout-left{
    position: relative;
    display: block;
    float: left;
    width:calc(60% - 1rem);

}

/*メインコンテンツ右側*/
.layout-right{
    position: relative;
    display: block;
    float:right;
    width:40%;

}

/*メインコンテンツの単位ブロック*/
.block{
    position: relative;
    display: block;
    border:solid 2px #999999;
    margin-bottom:1rem;
}
.block-title{
    position: relative;
    display: block;
    /* clear:none;
    float:none; */
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 500;
    color:#fff;
    text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 2px;
    padding:0.7rem;
    font-size:1.5rem;
    border-bottom: solid 2px #999999;
    background-color: rgba(129, 185, 231, 0.933);
    height:2.5rem;
}
.block-contents{
    display: block;
    /* clear:none;
    float:none; */
    padding:1rem;
    font-size:1.2rem;
    line-height:1.4rem;
    background-color: rgba(255, 255, 255, 0.773);
}
.block-contents p{
    display:inline-block;
    margin:0;
}

.nc{
    background-color:rgba(255, 255, 255, 0.493);
}

.indent1{
    margin-left:1rem;

}

.info{
    border-bottom: dashed 1px;
    padding-bottom: 0.3rem;
    margin-bottom:0.4rem;
    text-indent: 1rem;
}

.linkbanner{
    width:calc(80% - 14px);
    border:solid 2px #999999;
    display:block;
    margin:5px 5px 5px calc(10% + 5px) ;
    background-color: #FFFFFF;
    text-align:center
}
.linkbanner a, .linkbanner-top a{
    display:block;
    width:100%;
    height:100%;
}

.linkbanner img, .linkbanner-top img{
    height:100%;
    width:100%;
    object-fit: contain;
    object-position: center;
}

.linkbanner-top{
    width:calc(80% - 14px);
    border:none;
    display:block;
    margin:5px 5px 5px calc(10% + 5px) ;
    background-color: #FFFFFF;
    text-align:center
}


.tozando{
    background-image: url(../img/tozando.png);
    background-position: right;
    background-repeat: no-repeat;
    background-color:rgba(255,255,255,0.3);
    background-blend-mode:lighten;
    padding-left:3rem;
}


.top-info{
    display:block;
    padding-left:1.2rem;
}
.top-info:before{
    content:"●";
    margin-left:-1.2rem;
}

/*-------------MAP---------------*/

.picture-3c{
    display:block;
    width:98%;
    padding-left:2%;

}


.picture-3c-box{
    display:block;
    float:left;
    width:30%;
    margin:1%;
}
.picture-3c-box img{
    width:100%;
}

.picture-3c-box p{
    text-align: center;
}


.map{
    width:100%;
    height:350px;
}
.map2{
    width:calc(100% - 4px);
    height:500px;
    border:solid 2px #aaa;
}

.streetview{
    width:calc(100% - 4px);
    height:400px;
    border:solid 2px #aaa;
}

.a-map{
    display: block;
    position: relative;
    user-select: none;
    width:100%;
    height:100%;
    /* padding-top: calc(600 / 1200 * 100%); */
    background: url(../img/map-dummy.png) 0 0 no-repeat;

}

.map-svg{
    display: block;
    position: relative;
    user-select: none;
    width:100%;
    height:100%;

}

.hana2,.hana3{
    text-align: center;
}
.hana2 img{
    width:100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.hana3 img{
    padding-left:15%;
    width:70%;
    aspect-ratio: 3/ 4;
    object-fit: cover;
}


a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
.pl{
    display:inline-block;
    border:solid 1px #555;
    border-radius: 10px;
    padding:0.4rem 1rem;
    margin:0.4rem;
    background-color: #dcf5ff;
}

@media all and (-ms-high-contrast: none){

    .map-svg{
        height:600px;
    }
    
}

.maplink{
    fill:#ffffff;
    fill-opacity:0;
}
.maplink:hover{
    fill:#ffffff;
    fill-opacity:0.5;
}


.p-apr{
    
    width:320px;
    height:240px;
    margin-left:5rem;
    align-items: center;
    display: flex;
    justify-content:center;
    float:left;
}
.p-apr-v{
    height:320px;
}


.t-apr{
    float:left;
    display: block;
    width:calc(100% - 322px - 8rem);
    padding:3rem 1rem 1rem 2rem;

}

.t-apr p{
    color:#FF0000;
}

.hr-apr{
    clear:both;
    width:90%;
    border-bottom:#555555 1px dashed;
    padding-top:1rem;
    margin:0 0 1rem 5%;
}

/*-------------INN---------------*/

.link-button a{
    display: block;
    border:solid 1px #999;
    background-color: #fff;
    padding:0.6rem;
    margin:0 1rem 0 1rem;
    float:left;

}

.link-button a:hover{
    background-color: #cfc;


}

.logo{
    display:block;
    border:solid 1px #999;
    background-color: #fff;
    width:300px;
    height:120px;
    align-items: center;
    display: flex;
    justify-content: center;
    float:left;
}


.o-info{
    float:left;
    display: block;
    width:calc(100% - 302px - 2rem);
    padding:1rem;

}

.o-info span{
    display:inline-block;
}



/*-------------HOW---------------*/

.h-text,.r-text,.c-text{
    display:block;
    width:96%;
    margin-left:2%;
    line-height:1.8rem;
}
.r-text{
    text-align:right;

}
.c-text{
    text-align:center;
}

#yakeishi-a-img{
    width:70%;
    margin:2rem auto 0 auto;
    
}

#yakeishi-a-img img{
    width:100%;
    height:auto;
}




.logo2{
    display:block;
    border:solid 1px #999;
    background-color: #fff;
    widows: 300px;
    height:100px;
    align-items: center;
    display: flex;
    justify-content: center;
    float:left;
}

.logo2 img{
    
    height:100px;
}


/*------------evacuation--------------*/



.hinangoya{
    display:block;
    width:300px;
    align-items: center;
    justify-content: center;
    float:left;
    margin-left:3rem;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.hinangoya img{
    display:inline-block;
    width:100%;
    height:auto;
    object-fit: contain;
}

.h-info{
    float:right;
    display: block;
    width:calc(100% - 304px - 7rem);
    padding:2rem;
    line-height:1.5rem;
}

.hr-evc{
    clear:both;
    width:100%;
    border-bottom:#555555 1px dashed;
    padding-top:1rem;
    margin:0 0 1rem 0;
}



/*--------------contact-----------------*/

.c-tel{
    padding:1rem;
    font-size:1.5rem;
    line-height: 2rem;
}
.c-tel a{
    font-size:1.8rem;
}

.form-c{
    width:98%;
    margin-left:auto;
    margin-right:auto;
    font-size:1.2rem;
}

.form-l{
    width:70%;
    font-size:1.3rem;
    padding:25px;  
    margin:0 auto 30px auto; 
    border:solid 2px #ccc;
    background-color: rgb(255, 255, 255);
    
}

.form-l dl{
    margin:0px;
    line-height:2.5rem;
    
}
.form-l dt {
    float: left ;
    clear: left ;
    margin-right: 0.5rem ;
    width: 12rem ;
    text-align:center;
}

.form-l dd {
    float: left ;
    margin-left: calc(1rem + 3%) ;
    width:calc(95% - 13rem);
}


.form-l input{
    font-family : inherit;
    font-size:1.3rem;
    /*width:90%;*/
    width:80%;
}

.form-l textarea{
    font-family : inherit;
    font-size:1.2rem;
}

.form-l #btn{
    font-size:1.5rem;
    width:30%;
    height:3rem;
    margin-left:35%;
}


.form-l textarea{
    margin:10px 5% 15px 5% ;
    width:90%;
    height:300px;
}

.submit_content{
    border:solid 2px #ccc;
    background-color: rgb(255, 255, 255);
    padding:25px;
}
.submit_content p{
    font-size:1.3rem;
}

.completion{
    border:solid 2px #ccc;
    background-color: rgb(255, 255, 255);
    padding:25px;
}

.submit_area{
    padding-left:calc(50% - 100px);
}

.submit_area2{
    padding-left:calc(50% - 50px);
}

.tf{
    /*padding-left:calc(50% - 9rem);*/
    padding-left:calc(10%);
    line-height: 2.5rem;
    background-color: rgb(255, 255, 255);
}


.submit_content dl {
    padding:0 0 0 5rem;
}
.submit_content dt {
    width: 200px;
}
.submit_content dd {
    width: calc(100% - 210px);
}
.submit_area input{
    font-size:1.7rem;
    height:3rem;
}

.submit_area2 input{
    font-size:1.7rem;
    height:3rem;
    padding:0.6rem;
}





.sitemap{
    font-size:1.5rem;
    line-height:1.5rem;
}



.counter{
    font-size:1.2rem;
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    width:6rem;
    letter-spacing: 3px;
    text-align: center;
    background-color:rgb(190, 190, 190);
    line-height:1.4rem;
    display:block;
}


/*240625　花ごよみ臨時対応*/


.hanagoyomi{
    display: block;
    /* clear:none;
    float:none; */
    padding:1rem;
    font-size:1.2rem;
    line-height:1.4rem;
    background-color: rgba(255, 255, 255, 0.773);
}
.hanagoyomi p{
    display:inline-block;
    margin:0 1rem 0 0 ;
}
.hanagoyomi p::before{
    content: "・";
}

h5{
    margin:1rem 1rem  0.5rem  0rem;
    padding:0;
    font-size:1.3rem;
    font-weight:normal;
}

.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px;
    width: 90%;
    max-width: 1200px;
    margin: auto;
}

.gallery img {
    /*height: auto;*/
    display: block;
}