body {
    color: #777;
    font-family: "Roboto";
    background-color: white;
    height: 100vh;
    overflow: hidden;
}

header.header {
    height: 80px;
    width: 100%;
    position: fixed;
    display: flex;
    align-items: flex-end;
    background-color: white;
    z-index: 1;
}

main.main {
    width: 100%;
    position: absolute;
    height: calc(100vh - 160px);
    margin-top: 80px;
    margin-bottom: 80px;
    overflow-y: scroll;
    overflow-x: hidden;
}
main.sub {
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
}

footer.footer {
    border-top: solid 1px;
    height: 80px;
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    background-color: white;
    z-index: 1;
}

nav {
    width: 100%;
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    position: -webkit-sticky;
    /* Safari */
    position: sticky;
    top: 0;
    border-bottom: solid 1px;
}

ul li {
    float: left;
    width: 12%;
    min-width: 80px;
    max-width: 200px;
}

li a {
    display: block;
    color: white;
    padding: 12px 12px 0 5px;
    text-align: left;
    text-decoration: none;
    color: #444;
    font-family: "Nunito";
}

li a:hover {
    background-color: #eee;
    color: #333;
}

.active {
    font-weight: bold;
}

#access_content li.active {
    border-bottom: 2px solid;
}

.contents {
    margin: 15px;
    padding: 25px;
}

.content_footer {
    position: absolute;
    bottom: 80px;
    /*    top: calc(100vh - 160px);*/
    display: flex;
    align-items: flex-end;
}

#kanok_kun {
    position: absolute;
    width: 80px;
    height: 80px;
    margin-left: -40px;
    box-sizing: border-box;
    background: url(../img/logo.svg) no-repeat center;
    background-size: 100% auto;
    transform-origin: 50% 100%;
    z-index: 10;
}

.contents h1 {
    padding: 0.25em 0.5em;
    background: transparent;
    border-left: solid 2px #777;
}

.contents div {
    margin: 10px 10px 0 10px;
}

.contents .small {
    font-size: 0.9em;
}

.contents p,
.contents table {
    font-weight: normal;
}

.contents dl {
    margin-left: 10px;
    font-size: 0.9em;
}

.contents dl dt {
    margin-top: 10px;
}

.contents dl dd {
    margin-top: 2px;
    margin-left: 10px;
    font-weight: normal;
}

.contents .row_table {
    width: 100%;
    font-size: 0.9em;
    border-collapse: collapse;
}

.row_table th:after {
    display: block;
    content: "";
    width: 30px;
    height: 1px;
    background-color: #333;
    position: absolute;
    top: calc(50% - 1px);
    right: 20px;
}

.row_table td {
    text-align: left;
    width: 85%;
    padding: 5px;
}

.row_table th {
    position: relative;
    text-align: left;
    width: 15%;
    min-width: 128px;
    padding: 5px;
    vertical-align: middle;
}

.company_name {
    margin: 5px;
}

.copyright {
    font-size: x-small;
    margin: 5px;
    float: right;
}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: all 0.7s ease;
    -moz-transition: all 0.7s ease;
    -o-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

.googlemaps iframe:hover,
.googlemaps object:hover,
.googlemaps embed:hover {
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%);
}

.googleform iframe {
    margin-top: -10px;
    width: 400px;
    min-width: 200px;
    height: 1155px;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}

.type_dummy {
    display: none;
}

#customform label {
    font-size: 0.8em;
    padding: 5px;
    margin: 5px;
}

#customform input {
    font-size: 0.8em;
    padding: 5px;
    margin: 5px;
}

#customform {
    display: grid;
    grid-template-columns: 120px 1fr;
}

#customform label.column {
    grid-column: 1 / 2;
}

#customform input.column {
    grid-column: 2 / 3;
}

#customform .none_column {
    margin: 0;
    grid-column: 1 / span 3;
}

#recruit_message {
    width: 100%;
}

#googleform {
    margin-bottom: 0;
}


/* カーソル */

.jaticker-cursor {
    font-weight: bold;
    color: 333;
}


/* 入力中 */

.jaticker-input {
    color: 333;
    background-color: white;
}


/* 変換中 */

.jaticker-convert {
    color: 333;
    background-color: white;
}

#dialog {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    overflow: auto;
    width: 100%;
    height: calc(100vh - 160px);
}

#dialog .modal-content {
    position: absolute;
    text-align: center;
    padding: 2em;
    background-color: white;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.26), 0 26px 52px rgba(0, 0, 0, 0.26);
    width: calc(100vw - 64px);
    height: calc(100vh - 256px);
}

#dialog .dialog-header {
    background-color: white;
    text-align: right;
    height: 32px;
    vertical-align: middle;
}

#close_button {
    margin: 0;
    padding-top: 0px;
    padding-bottom: 0px;
}

button {
    cursor: pointer;
    color: #777;
    height: 100%;
}

.footer_btn {
    margin-left: 180px;
    margin-top: 30px;
}

ol li {
    float: none;
}
@media screen and (min-width: 812px){	
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 812px){	
  .pc { display:none; }
  .sp { display:block; }
}
