*{
    margin: 0;
    padding: 0;
}

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

body{
    text-align: center;
    color: #FFF;
    font-size: 30px;
    font-family: serif;
    -webkit-text-size-adjust: 100%;
    min-height: 100vh;
    position: relative;
    box-sizing: border-box;
}

#entrance:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/entrancekb.jpg) top no-repeat;
    background-size: cover;
}

#sunset:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/gorge4.jpg) bottom no-repeat;
    background-size: cover;
}

#castle:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/castle2.jpg) bottom no-repeat;
    background-size: cover;
}

#day:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/gorge1b.jpg) bottom no-repeat;
    background-size: cover;
}

#church:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/churchb.jpg) top no-repeat;
    background-size: cover;
}

#bridge:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/bridge.jpg) top no-repeat;
    background-size: cover;
}

#museum:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/museum01.jpg) top no-repeat;
    background-size: cover;
}

#museum05:before{
    content: "";
    display: block;
    position: fixed;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: url(../image/back/museum05b.jpg) top no-repeat;
    background-size: cover;
}

#header{
    width: 100%;
    height: 50px;
    margin: 0 auto;
    background: rgba(0,0,0,0.5);
    float: none;
    font-size: 24px;
    display: flex;
    justify-content: center;
    position: fixed;
    z-index: calc(infinity);
}

.menu a{
    display: block;
    margin: 0;
    padding: 0;
    height: 50px;
    width: 250px;
    line-height: 50px;
    text-decoration: none;
    color: #FFF;
    transition: 1s;
}

.menu a:hover{
    background: rgba(255,255,255,0.5);
    transition: 0.5s;
	cursor: pointer;
}

#foot,#foot2{
    width: 100%;
    padding: 24px 0 12px 0;
    font-size: 20px;
    background: rgba(0,0,0,0.5);
}

#foot2{
    position: absolute;
    bottom: 0;
}

#cont{
    display: block;
    width: 1000px;
    height: 100%;
    margin: 0 auto;
    padding: 60px 0;
    line-height: 110%;
}

.push40{ height: 40px; }

.push80{ height: 80px; }

#push{ height: 160px; }

.title{
    position: relative;
    width: 1000px;
    height: 130px;
    margin: 10px auto 20px;
}

.sub1{
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
}

.sub2{
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    opacity: 0;
    transition: 1s;
}

.sub2:hover{
    opacity: 1;
    transition: 0.5s;
}

#accord{
    width: 980px;
    text-align: left;
    margin: 0 auto;
}

#accord label{
    display: block;
    margin: 0 0 5px 0;
    padding: 20px;
    line-height: 1;
    background: rgba(0,0,0,0.5);
    cursor: pointer;
}

#accord input{ display: none; }

#accord li{
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}

#accord ul{
    margin: 5px 0;
    list-style: none;
}

.article{
    width: 920px;
    margin: 0;
    padding: 20px 30px 40px;
    font-size: 26px;
    line-height: 140%;
    color: #FFF;
    background: rgba(0,0,0,0.5);
}

#sent1:checked ~ #links01 li{
    height: 720px;
    margin-top: 15px;
    opacity: 1;
}

#sent2:checked ~ #links02 li{
    height: 1480px;
    margin-top: 15px;
    opacity: 1;
}

#sent3:checked ~ #links03 li{
    height: 1120px;
    margin-top: 15px;
    opacity: 1;
}

#sent4:checked ~ #links04 li{
    height: 1400px;
    margin-top: 15px;
    opacity: 1;
}

#sent5:checked ~ #links05 li{
    height: 2220px;
    margin-top: 15px;
    opacity: 1;
}

#sent6:checked ~ #links06 li{
    height: 720px;
    margin-top: 15px;
    opacity: 1;
}

.artlink{
    margin: 0 0.5em;
    animation: blink 2s ease-in-out infinite alternate;
    transition: 0.5s;
}

.artlink:hover{
    text-shadow: 5px 5px 10px rgba(255,255,255,0.5), -5px 5px 10px rgba(255,255,255,0.5), -5px -5px 10px rgba(255,255,255,0.5), 5px -5px 10px rgba(255,255,255,0.5);
    transition: 0.5s;
}

@keyframes blink {
    0% {opacity: 0.5;}
    50% {opacity: 1;}
    100% {opacity: 1;}
}

.explan{
    width: 880px;
    background: rgba(0,0,0,0.5);
    padding: 30px 50px;
    margin: 40px auto;
    text-align: left;
    font-size: 26px;
}

.paplan{
    width: 900px;
    background: rgba(0,0,0,0.5);
    padding: 20px 50px;
    margin: 0 auto;
    text-align: left;
}

#feature{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1px;
    width: 980px;
    margin: 20px 10px 50px;
    text-align: center;
}

.dbox{
    width: 960px;
    margin: 10px auto 50px;
    padding: 20px 10px 30px;
    background: rgba(0,0,0,0.5);
}

#other{ width: 960px; }

#other table{
    table-layout: fixed;
    margin: 10px;
}

#other tr{ margin: 10px 0; }

#other th{
    width: 300px;
    height: 100px;
    line-height: 100px;
    text-align: center;
    font-size: 28px;
    position: relative;
    background: url(../image/icon/frame300.png) center no-repeat;
    transition: 0.5s;
}

#other th:hover{
    background: url(../image/icon/frame300s.png) center no-repeat;
    transition: 0.5s;
}

#other td{
    padding: 5px 20px 5px 10px;
    text-align: left;
    font-size: 26px;
}

.onbox{
    padding: 30px 50px;
    background: rgba(0,0,0,0.5);
    margin: 0 10px 20px;
    font-size: 26px;
    text-align: left;
}

.onlist{
    margin: 0.5em 2em;
    font-size: 24px;
}

.frame320{
    width: 320px;
    height: 80px;
    line-height: 80px;
    margin: 0 auto;
    font-size: 26px;
    text-align: center;
    background: url(../image/icon/frame320.png) center no-repeat;
    transition: 0.5s;
}

.frame320:hover{
    background: url(../image/icon/frame320s.png) center no-repeat;
    transition: 0.5s;
}

.frame450{
    width: 450px;
    height: 80px;
    line-height: 80px;
    margin: 40px auto 20px auto;
    font-size: 28px;
    text-align: center;
    background: url(../image/icon/frame450.png) center no-repeat;
    transition: 0.5s;
}

.frame450:hover{
    background: url(../image/icon/frame450s.png) center no-repeat;
    transition: 0.5s;
}

.fframe{ background: rgba(0,0,0,0.5); }

.range{
    width: 490px;
    height: 80px;
    font-size: 28px;
    line-height: 80px;
    background: url(../image/icon/frame490.png) center no-repeat;
    transition: 0.5s;
}

.range:hover{
    background: url(../image/icon/frame490s.png) center no-repeat;
    transition: 0.5s;
}

#Ulink{
    width: 500px;
    height: 160px;
    margin: 50px auto 30px;
}

.inprod{
    width: 920px;
    height: 360px;
    Line-height: 360px;
    margin: 0 10px;
    padding: 20px 30px;
    background: rgba(0,0,0,0.5);
}

#outer{
    width: 980px;
    margin: 10px;
    padding: 30px 0 50px 0;
    background: rgba(0,0,0,0.5);
}

.mattar{
    width: 900px;
    margin: 0 10px;
    padding: 0 30px;
    font-size: 26px;
    text-align: left;
}

.sageru{ margin-left: 30px; }

.subtitle{ margin: 40px 0 20px 0; }

.sukima{ margin-top: 20px; }

.para{ font-size: 22px; }

.simple{
    margin-top: 10px;
    border: 1px solid;
    border-collapse: collapse;
    text-align: center;
}

.simple th{ font-size: 26px; }

.simple th,.simple td{
    border: 1px solid;
    border-collapse: collapse;
    padding: 5px 5px;
}

.riposi{
    position: relative;
    font-size: 24px;
    width: fit-content;
    right: 0;
    text-align: left;
    margin: 5px 0 30px auto;
}

.kind table{
    margin: 0 auto;
    text-align: left;
}

.kind th{
    font-size: 26px;
    margin-right: 10px;
    vertical-align: top;
}

.kind td{
    margin: 10px 0;
}

h3{
    font-size: 30px;
    transition: 0.5s;
}

h3:hover,#accord > label:has(:checked) > h3{
    text-shadow: 5px 5px 10px rgba(255,255,255,0.5), -5px 5px 10px rgba(255,255,255,0.5), -5px -5px 10px rgba(255,255,255,0.5), 5px -5px 10px rgba(255,255,255,0.5);
    transition: 0.5s;
}

iframe{ margin-bottom: 30px; }

.red{ color: red; }

.yellow{ color: yellow; }

.blue{ color: blue; }


@media screen and ( max-width: 767px )
{
    body{
        width: 1000px;
    }

    #foot{
        width: 928px;
        padding: 24px 36px 12px 36px;
        margin: 0 auto;
    }

    #foot2{
        width: 960px;
        padding: 24px 20px 12px;
        margin: 0 auto;
        position: fixed;
        bottom: 0;
    }

    body:before{
        background-position: center;
    }
}

