*{
    margin: 0;
    padding: 0;
}

body{
    text-align: center;
    color: #FFF;
    font-size: 24px;
    font-family: serif;
    -webkit-text-size-adjust: 100%;
}

#cont{
    width: 1000px;
    margin: 0 auto;
    font-size: 32px;
}

#detail{
    width: 1000px;
    margin: 25px auto;
    line-height: 120%;
}

.sage{ margin-top: 40px; }

.sage20{ margin-top: 20px; }

#detaper{
    width: 920px;
    margin: 40px auto 20px;
    font-size: 28px;
}

#detaper th{
    text-align: right;
    vertical-align: top;
    white-space: nowrap;
}

#detaper td{ text-align: left; }

#note{
    width: 870px;
    font-size: 26px;
    margin: 20px 30px 20px 100px;
    text-align: left;
}

.EDN{
    position: relative;
    font-size: 30px;
    left: -55px;
}

#lowft{
    width: 1000px;
    padding: 0;
    text-align: left;
    margin-bottom: 100px;
}

.backB{
    width: 160px;
    padding: 0;
    color: #FFF;
    font-size: 28px;
    background: rgba(0,0,0,0);
    border: 0;
    cursor: pointer;
    transition: 0.5s;
}

.backB:hover{
    opacity: 0.5;
    transition: 0.5s;
}

#accord{
    width: 1000px;
    text-align: left;
    margin: 10px 0 40px;
}

#accord label{
    display: block;
    margin-bottom: 5px;
    padding: 20px;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transition: 0.5s;
}

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

#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: 0;
    list-style: none;
}

#sent0:checked ~ #links00 li{
    height: 1020px;
    opacity: 1;
}

#sent1:checked ~ #links01 li{
    height: 1440px;
    opacity: 1;
}

#sent2:checked ~ #links02 li{
    height: 760px;
    opacity: 1;
}

#sent3:checked ~ #links03 li{
    height: 720px;
    opacity: 1;
}

#sent4:checked ~ #links04 li{
    height: 920px;
    opacity: 1;
}

#copy1:checked ~ #repro01 li{
    height: 1760px;
    opacity: 1;
}

.blinking{
    animation:blink 1s ease-in-out infinite alternate;
}

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

.fframe{ background: #333; }

.red{ color: #F30; }

.yellow{ color: yellow; }

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


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

#choose > label {
    flex: 1 1 auto;
    width: 300px;
    height: 80px;
    line-height: 80px;
    order: -1; /* 上部に表示する */
    background: url(../image/icon/frame300.png) center no-repeat;
    position: relative;
    cursor: pointer;
    transition: 0.5s;
}

#choose > label > img{ opacity: 0; }

#choose input { display: none; }

#choose > div {
    display: none; /* 初期状態では非表示 */
    width: 100%;
}

#choose label:has(:checked) + div { display: block; }

#choose > label:hover,
#choose > label:has(:checked){
    background: url(../image/icon/frame300s.png) center no-repeat;
    transition: 0.5s;
}

.points{
    font-size: 24px;
    margin: 20px auto;
}

.points th{
    width: 1em;
    vertical-align: top;
}

.tabchoose{
    width: 980px;
    padding: 10px;
    margin: 20px 0;
    text-align: center;
    font-size: 26px;
}

.message{
    width: 920px;
    margin: 0;
    padding: 30px;
    background: rgba(0,0,0,0.5);
    text-align: left;
}

.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;
}

.Plist{
    width: 100%;
    table-layout: fixed;
    margin: 20px auto;
    border: 1px solid;
    border-collapse: collapse;
    text-align: center;
}

.Plist th{
    text-align: center;
}

.Plist td{
    text-align: right;
    padding-right: 10px;
}

.Plist th,.Plist td{
    height: 50px;
    line-height: 50px;
    border: 1px solid;
    border-collapse: collapse;
}


#caution{
    width: 980px;
    text-align: left;
    margin: 10px 0 5px;
}

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

#caution input{ display: none; }

#caution 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;
}

#caution ul{
    margin: 0;
    list-style: none;
}

h3{ font-size: 32px; }
