* {
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 14px;
    text-decoration: none;
    text-align: justify;
    line-height: 1.6em;
    color: #555;
    word-break: break-all;
}
body {
    background-color: #cac9cd;
}
a {
    text-decoration: none;
    color: #333;
}
#head {
    width: calc(100% - 16px);
    font-size: 100%;
    padding: 6px 8px 4px;
    border-bottom: 1px solid #333;
    margin-bottom: 8px;
    background-color: #f5f5f5;
    position: sticky;
    top: 0;
    z-index: 1000;
}
#head p a {
    padding: 2px 5px 1px 3px;
    border-radius: 3px;
    background-color: #ddd;
    transition: all 0.3s;
}
#head p a:hover {
    background-color: #777!important;
    color: #fff;
}
#sec1 {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    align-items: flex-end;/*center*/
    padding: 0 8px;
}
#sec1 a {
    max-width: 50%;
    background-color: #fff;
}
#sec1 a img.thumb {
    display: block;
    max-height: 100vh;
    width: calc(100% - 2px);/*要確認*/
    border: 1px solid #9d9d9d;
    transition: all 0.3s;
}
#sec1 a img.thumb:hover {
    filter:contrast(1.25);
    opacity: 0.75;
}
#sec1 div.btns {
    width: calc(100% - 2px);
    margin-left: 20px;
    position: sticky;
    top: 10px;
}
@media screen and (max-width:767px) {
    #sec1 div.btns {
        margin-left: 10px;
    }
}
#sec1 div.btns a div {
    display: block;
    width: calc(100% - 2px);
    margin: 20px 0 0;
    padding: 30px 0 24px;
    border: 1px solid #9d9d9d;
    border-radius: 3px;
    background-color: #ededed;/*f0f0f0*/
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    color: #555;
    transition: all 0.3s;
}
#sec1 div.btns a div:hover, #footer a div:hover {
    color: #fff;
    background-color: #777!important;
}
#sec1 div.btns a:nth-of-type(1) div {
    margin-top:0;
    background-color: #fff;/*f5f5f5*/
}
#sec2 {
    margin-top: 12px;
    padding: 8px 8px;
}
@media screen and (max-width:767px) {
    #sec2 {
        margin-top: 0;
    }
}
#sec2 p.overview {
    border:1px solid #9d9d9d;
    background-color: #d9d9d9;/*e9e9e9*/
    padding: 8px;
    font-size: 90%;
}
#footer {
    display: flex;
    align-items: center;/*flex-end*/
    justify-content: center;
    padding: 0 8px;
}
#footer a {
    flex-grow: 2;
    width: calc(100% - 10px);
    margin: auto 5px;
}
#footer a div {
    display: block;
    width: 100%;
    margin: 0 0 10px;
    padding: 10px 0 8px;
    border: 1px solid #9d9d9d;
    border-radius: 3px;
    background-color: #ededed;/*f0f0f0*/
    text-align: center;
    font-size: 110%;
    font-weight: bold;
    color: #555;
    transition: all 0.3s;
}
#footer a:nth-of-type(1) div {
    margin-top:0;
    background-color: #fff;/*f5f5f5*/
}
.sp_only_inline {
    display: none;
}
.bolder {
    font-weight: bold;
}
@media screen and (max-width:767px) {
    #sec1 {
        align-items: flex-end;
    }
    #sec1 div.btns a div {
        margin: 10px 0 0;
    }
    .sp_only_inline {
        display: inline;
    }
}

#thumbs {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin: 0 6px;
}
#thumbs.rtl {
    flex-direction: row-reverse;
}
#thumbs a {
    width: auto;    
    background: #fff;
    margin: 5px 5px 15px;
    font-size: 0;
    display: flex;

}
#thumbs img {
    width:150px;
    border: 1px solid #9d9d9d;
    /*margin: 5px;*/
    transition: all 0.3s;
}
#thumbs img:hover {
    filter:contrast(1.5);
    opacity: 0.5;
}
@media screen and (max-width:450px) {
    #thumbs a {
        width: calc(33% - 9px);
    }
    #thumbs img {
        width: calc(100% - 2px);
    }
}
