html, body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;
    overflow-y: scroll;
}

h2, h3 {
    border-left: solid 10px #0C6005;
    padding-left: 10px;
}

div#app {
    min-height: 100vh;
    background: black;
}

div#app > div {
    background: white;
}

footer {
    background-color: black;
    color: #ffd700;
    with: 100%;
    text-align: center;
}

.topHeader {
    width: 100%;
    display: inline-block;
    background-image: url(/img/top.jpg);
    background-size: cover;
    background-position: center;
    margin: 0!important;
}

.topHeader > div > h1 {
    font-size: 70px;
    padding-top: 60px;
    padding-left: 20px;
    color: #0C6005;
}

.contentsHeader {
    width: 100%;
    display: inline-block;
    opacity: 0.8;
    background-image: url(/img/ninomaru.jpg);
    background-size: cover;
    background-position: center;
    margin-top: 0!important;
}

/* Temporary*/
.noStyle {
    background: none!important;
    border: none!important;
    box-shadow: none!important;
    padding: 0!important;
}

/* 画面遷移 */
.transition-enter {
    opacity: 0.01;
}
.transition-enter-active {
    opacity: 1;
    transition: all 300ms;
}
.transition-exit {
    opacity: 1;
}
.transition-exit-active {
    opacity: 0.01;
    transition: all 300ms;
}

.ui.container.mainContainer {
    width: 100%;
    margin-left: 0!important;
    margin-right: 0!important;
}

table.ibukioroshi > tbody > tr {
    vertical-align: top;
    line-height: 30px;
}

/* Web, Mobile向け */
@media only screen and (max-width: 1200px) {
    h1 > a {
        color : inherit;
        text-decoration : none;
        pointer-events: auto;
        color: #063302;
    }

    footer {
        font-size: 10px;
        margin-top: 20px;
    }

    .image > div.imageLoader {
        height: 188px;
        margin: 0;
    }

    .topHeader {
        height: 250px;
        opacity: 0.8;
    }

    .contentsHeader {
        height: 200px;
    }

    /* 画面遷移配下の構成 */
    #contents {
        width: 100%;
        display: grid;
        grid-template-areas: "Transition";
    }

    #contents > div {
        width: 100%;
        grid-area: Transition;
    }

    /* Mobile メニュー(上部) */
    .mobileMenu {
        height: 59.19px;
        display: flex!important;
        justify-content: center!important;
        background-color: rgba(255, 255, 255, 0.8)!important;
        border-bottom: solid 1px black!important;
        pointer-events: none;
        z-index: 99!important;
    }
    .mobileMenu > div > h1 {
        font-size: 18px;
        line-height: 59.19px;
    }

    /* Mobile メニュー(横) */
    .mainMenu {
        box-shadow: none!important;
    }
    .subMenu {
        box-shadow: none!important;
        border-left: none!important;
    }
    .subMenu > a {
        font-size: 13px;
    }

    /* メニュー開閉ボタン */
    .menuButtonWrapper {
        position: absolute;
        left: 0;
    }
    .menuButton {
        margin: 10px;
        pointer-events: auto;
    }
    .menuButton,
    .menuButton span {
        display: inline-block;
        transition: all .3s;
        box-sizing: border-box;
    }
    .menuButton {
        position: relative;
        width: 40px;
        height: 35.2px;
    }
    .menuButton span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 3.2px;
        background-color: #063302;
        border-radius: 3.2px;
    }
    .menuButton span:nth-of-type(1) {
        top: 0;
    }
    .menuButton span:nth-of-type(2) {
        top: 16px;
    }
    .menuButton span:nth-of-type(3) {
        bottom: 0;
    }
    .menuButton.active span:nth-of-type(1) {
        -webkit-transform: translateY(16px) rotate(-45deg);
        transform: translateY(16px) rotate(-45deg);
    }
    .menuButton.active span:nth-of-type(2) {
        opacity: 0;
    }
    .menuButton.active span:nth-of-type(3) {
        -webkit-transform: translateY(-16px) rotate(45deg);
        transform: translateY(-16px) rotate(45deg);
    }
}

@media only screen and (min-width: 1201px) {
    footer {
        height: 50px;
        font-size: 12px;
        margin-top: 20px;
    }

    .image > div.imageLoader {
        height: 383px;
        margin: 0;
    }

    .topHeader {
        height: 400px;
    }

    .contentsHeader {
        height: 200px;
    }

    /* Web メニュー(上部) */
    .mainMenu {
        background-color: rgba(255, 255, 255, 0.6)!important;
        border-bottom: solid 1px rgba(0, 0, 0, 0.6)!important;
    }

    /* 画面遷移配下の構成 */
    #contents {
        width: 100%;
        display: grid;
        grid-template-areas: "Transition";
    }

    #contents > div {
        width: 100%;
        grid-area: Transition;
        font-size: 16px;
        line-height: 24px;
    }
}
