h1 {
    font-size: xx-large;
    margin: 1ex auto 1ex auto;
}

h2 {
    font-size: x-large;
    margin: 0.7ex auto 0.7ex auto;
}

h3 {
    fot-size: large;
    margin: 0.5ex auto 0.5ex auto;
}

h4 {
    font-size: medium;
    margin: 0.3ex auto 0.3ex auto;
}

h5 {
    font-size: small;
    margin: 0.2ex auto 0.2ex auto;
}

h6 {
    font-size: x-small;
    margin: 0.1ex auto 0.1ex auto;
}

a:link {
    color: #2988BC;
}

a:visited {
    color: #2F496E;
}

main.row {
  /*
    margin-bottom: 5ex;
  */
}

html, body {
    height: 100%;
}

p {
    line-height: 1.5em;
}

/*
  body {
  color: #2988BC;
  }
*/

.wrapper {
    min-height: calc(100vh - 3ex);
}

div.container {
    position: relative;
    min-height: 100%;
    height: 100%;
}

header {
    line-height: 2em;
    text-align: center;
    background: #ffffff;
    color: #000000;
}

footer {
    position: relative;
    /*
        position: fixed;
    */
    bottom: 0;
    right: 0;
    width: 100%;
    height: 3ex;
    text-align: center;
    background: #2F496E;
    color: #ffffff;
}

#top_iframe {
    width: 1000px;
    height: 10ex;
    max-height: 30ex;
}

.container {
    margin: 0 auto;
    margin-top: 0px;
    margin-right: auto;
    margin-bottom: 0px;
    margin-left: auto;
}

.row {
    box-sizing: border-box;
    padding-bottom: 0;
    margin: 0 auto 0;
}

.copyright {
    text-align: center;
}

[role="contentinfo"] {
    /*
    margin-top: 10ex;
   */
}

#header_frame {
    width: 100%;
    padding: 30px 0;
    margin: 0 auto 30px;
}

#footer-copyright {
    font-size: 14px;
    color: #ffffff;
    text-align: center;
    padding: auto 10px 10px;
    margin: 0 auto 0;
    line-height: 3ex;
}

#navigation_box {
    width: 100%;
    height: 100%;
    min-height: 60px;
    position: relative;
}

#navigation_message {
    text-align: right;
    font-size: 20px;
    position: absolute;
    bottom: 0;
    right: 0;
}

nav.row {
    color: #000000;
    background-color: #ffffff;
}

.site_logo {
    text-align: left;
    display: block;
    float: left;
    padding: 0 35px;
}

@media screen and (max-width: 640px) {
    .site_logo {
        text-align: center;
        margin-bottom: 2ex
    }
}

.top_menu {
    text-align: center;
    display: block;
    float: left;
}

@media screen and (max-width: 640px) {
    .top_menu.for_sp {
        color: #2F496E;
        font-size: 1.5em;
        border-bottom: 2px solid #777777;
    }
}

object {
    pointer-events: none;
}

#top_flickr {
    margin: 0 auto 3ex;
}

.fit {
    height: 100%;
    width: 100%;
}

.logo_fit {
    height: 100%;
    width: 60%;
}

.height_fit {
    height: 100%;
}

div.row.update_menu {
    font-size: large;
    margin: 0 auto 1ex;
    padding-bottom: 1ex;
    border-bottom: 2px solid #777777;
}

.history_content {
    margin: 0 auto 0 0;
}

#update_iframe {
    width: 500px;
}

.update_time {
    width: 8em;
}

.update_summary {
    text-indent: 2em;
}

.update_time, .update_summary {
  line-height: 150%;
}

.welcome_message_box, .revision_history_box {
    margin-bottom: 4ex;
    line-height: 150%;
}

.welcome_message {
    text-align: right;
    /*
    position: absolute;
   */
    position: relative;
    top: 2ex;
    right: 0;
}

.topic {
    padding: 0 15px;
    border: 3px double #777777;
    margin: 10px;
    height: 90%;
    margin-bottom: 4ex;
}

td {
    border: 1px solid;
    padding: 0.5ex 1em;
}

table {
    border-collapse: collapse;
}

[id*="view-"] {
    margin-bottom: 3ex;
    border-style: outset;
    border-width: 4px;
    border-color: #2988BC;
    padding: 10px;
    border-radius: 5%;
}

.weblog {
    width: 100%;
    border: 1px solid #2988BC;
}

#preview-content {
    margin: 4ex 10px 10px 0;
}

.contact-description {
    margin: 2em;
    padding: 0 auto;
}

.article_picture {
    width: 100%;
    margin: 2em auto 0;
    box-shadow: 5px 5px 10px #888888;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5);
}

.caption_article {
    margin: 10px 0 0 0;
    border-bottom: 1px solid #2F496E;
}

figcaption {
    text-align: center;
}

.description_for_picture {
    margin: 2ex 0;
}

.photo_list {
    padding: 5px;
    position:relative;
}

.photo_list p {
    color: #FFFFFF;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    width: calc(100% - 10px);
    border-radius: 40%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0.5ex 0;
    line-height: 100%;
}

.photo_list a {
    display: block;
    transition-duration: 0.3s;
}

.photo_list a:hover {
    /*
    transform: scale(0.95);
   */
    opacity: 0.8;
    transition-duration: 0.2s;
}

.circle_photo {
    width: 100%;
    border-radius: 50%;
    box-shadow: 5px 5px 5px #888888;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}

.photo_list_area {
    margin: 2ex auto 4ex auto;
}

.flickr_photo_box {
    margin: 0px;
    padding: 5px;
    position:relative;
}

.flickr_photo_box a {
    display: block;
    transition-duration: 0.3s;
}

.flickr_photo_box a:hover {
    transform: scale(0.95);
    opacity: 0.8;
    transition-duration: 0.2s;
}

.flickr_photo_list {
    width: 100%;
    height: 100%;
    border-radius: 3%;
    box-shadow: 5px 5px 5px #888888;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}

.flickr_photo_box a p {
    color: #FFFFFF;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    width: 90%;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, 0);
    margin: 0;
    padding: 0.5ex 0;
    line-height: 100%;
}

/**************************************************
 *  MediaQuery
 */
@media screen and (min-width: 641px) {
    .for_sp {
        display: none !important;
    }
}

@media screen and (max-width: 640px) {
    .for_pc {
        display: none !important;
    }
}
