@charset "UTF-8";

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url("https://example.com/MaterialIcons-Regular.eot");
    src: local("Material Icons"), local("MaterialIcons-Regular"), url("https://example.com/MaterialIcons-Regular.woff2") format("woff2"), url("https://example.com/MaterialIcons-Regular.woff") format("woff"), url("https://example.com/MaterialIcons-Regular.ttf") format("truetype");
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

html {
    font-size: 62.5%;
    font-family: -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Tahoma",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    sans-serif;
}

body {
    min-width: 960px;
    margin: auto;
}

@media only screen and (max-width:768px) {
    body {
        min-width: 0;
    }
}

* {
    font-size: 14px;
    font-size: 1.4rem;
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

a {
    color: inherit;
    text-decoration: none;
}

.inner {
    max-width: 960px;
    padding: 0 10px;
    margin: auto;
}

@media only screen and (max-width:768px) {
    .inner {
        padding: 0 32px;
    }
}

@media only screen and (max-width:768px) {
    .pc-only {
        display: none !important;
    }
}

@media only screen and (min-width:769px) {
    .sp-only {
        display: none !important;
    }
}

@media print {
    img.sp-only {
        display: none;
    }
}

.button-up-text {
    text-align: center;
    color: #ff2a00;
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: bold;
}

.buttonA {
    float: right;
    display: block;
    position: relative;
    width: 48%;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1;
    color: #fff;
    text-align: center;
    background: #ff9600;
    padding: 12px;
    border: 0;
    border-bottom: 4px solid #b06900;
    border-radius: 6px;
    font-weight: bold;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

.buttonA {
    background: #ff2a00;
    border-color: #af1d00;
}

.buttonA::before {
    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    right: 24px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f105";
}

@media only screen and (max-width:768px) {
    .buttonA::before {
        right: 13px;
    }
}

.buttonA.btn-2021 {
    /* float: left; */
    float: initial;
    background: #ff9600;
    border-color: #b06900;
}

.buttonA.full {
    float: none;
    width: 100%;
}

@media only screen and (max-width:768px) {
    .buttonA {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 8px;
    }

    .buttonA span {
        display: block;
    }
}

.buttonA:hover {
    opacity: 0.75;
}

.buttonB {
    position: relative;
    display: block;
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    font-size: 1.6rem;
    color: #fff;
    background-color: #00aaf0;
    border: 2px solid #00aaf0;
    text-align: center;
    padding: 14px;
    border-radius: 6px;
    font-weight: bold;
    line-height: 1;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

.buttonB::before {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    font-size: 18px;
    font-size: 1.8rem;
    margin: -9px 0 0;
    top: 50%;
    right: 20px;
    font-family: "FontAwesome";
    content: "\f105";
}

@media only screen and (max-width:768px) {
    .buttonB {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

.buttonB:hover {
    background-color: #fff;
    color: #00aaf0;
}

#footer {
    margin: 100px 0 0;
}

@media only screen and (max-width:768px) {
    #footer {
        margin: 30px 0 0;
    }
}

#footer #footer-nav ul {
    *zoom: 1;
    padding-right: 125px;
}

#footer #footer-nav ul:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #footer #footer-nav ul {
        padding-right: 0;
        border-left: 1px solid #004ebe;
        border-top: 1px solid #004ebe;
    }
}

#footer #footer-nav ul li {
    width: 20%;
    float: left;
}

@media only screen and (max-width:768px) {
    #footer #footer-nav ul li {
        width: 50%;
    }
}

#footer #footer-nav ul li a {
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 11px 10px;
    border-right: 1px solid #004ebe;
    border-top: 1px solid #004ebe;
    color: #004ebe;
    text-align: center;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #footer #footer-nav ul li a {
        border: 0;
        border-bottom: 1px solid #004ebe;
        border-right: 1px solid #004ebe;
    }
}

#footer #footer-nav ul li a:hover {
    color: rgba(0, 78, 190, 0.7);
}

@media only screen and (min-width:769px) {
    #footer #footer-nav ul li:first-child {
        border-left: 1px solid #004ebe;
    }
}

#footer #footer-sitemap {
    /* background: #00aaf0; */
    /* background-color: #f09824; */
    background-color: #004EBE;
    padding: 2px 0 40px 0;
    color: #fff;
}

@media only screen and (max-width:768px) {
    #footer #footer-sitemap {
        margin: 30px 0 0;
    }
}

#footer #footer-sitemap .inner {
    position: relative;
    padding-right: 80px;
}

#footer #footer-sitemap .inner>ul {
    *zoom: 1;
}

#footer #footer-sitemap .inner>ul:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #footer #footer-sitemap .inner>ul {
        display: none;
    }
}

#footer #footer-sitemap .inner>ul>li {
    width: 20%;
    float: left;
    margin: 38px 0 0;
}

#footer #footer-sitemap .inner>ul>li:nth-of-type(5n + 1) {
    clear: both;
}

#footer #footer-sitemap .inner>ul>li>a {
    position: relative;
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0 0 16px;
}

#footer #footer-sitemap .inner>ul>li>a:hover {
    text-decoration: underline;
}

#footer #footer-sitemap .inner>ul>li>a::before {
    position: relative;
    top: -1px;
    display: inline-block;
    vertical-align: middle;
    font-family: "FontAwesome";
    content: "\f138";
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 10px 0 0;
}

#footer #footer-sitemap .inner>ul>li>ul>li>a {
    position: relative;
    display: block;
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 0 8px;
    padding: 0 0 0 10px;
}

#footer #footer-sitemap .inner>ul>li>ul>li>a:hover {
    text-decoration: underline;
}

#footer #footer-sitemap .inner>ul>li>ul>li>a::before {
    position: absolute;
    top: -1px;
    left: 0;
    font-family: "FontAwesome";
    content: "\f105";
    font-size: 14px;
    font-size: 1.4rem;
}

#footer #footer-sitemap .inner #pagetop {
    position: absolute;
    top: -40px;
    right: 10px;
    display: inline-block;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #footer #footer-sitemap .inner #pagetop {
        width: 40px;
        top: -20px;
        right: 10px;
    }
}

#footer #footer-sitemap .inner #pagetop:hover {
    opacity: 0.75;
}

#footer #footer-second-sitemap .inner>ul {
    margin: 10px 0;
    text-align: center;
}

#footer #footer-second-sitemap .inner>ul>li {
    margin: 0 10px;
    font-size: 12px;
    font-size: 1.2rem;
    display: inline-block;
}

#footer #footer-second-sitemap .inner>ul>li>a {
    text-decoration: underline;
}

#footer #footer-second-sitemap .inner>ul>li>a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #footer #footer-second-sitemap .inner>ul {
        display: none;
    }
}

#footer #footer-policy {
    height: auto;
}

#footer #footer-policy .inner {
    position: relative;
}

#footer #footer-policy .policy {
    float: left;
    margin: 8px 0 0;
}

@media only screen and (max-width:768px) {
    #footer #footer-policy .policy {
        position: absolute;
        left: 10px;
        top: 8px;
    }
}

#footer #footer-policy .policy img {
    width: auto;
    height: 60px;
}

@media only screen and (max-width:768px) {
    #footer #footer-policy .policy img {
        height: 50px;
    }
}

#footer #footer-policy .copyright {
    margin: 20px 0 10px;
    text-align: center;
    font-size: 10px;
    font-size: 1rem;
    display: block;
}

@media only screen and (max-width:768px) {
    #footer #footer-policy .copyright {
        display: block;
        float: none;
        margin: 0;
        padding: 10px 0;
    }
}

#fix-banner {
    visibility: hidden;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1000;
    height: auto;
    opacity: 0;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#fix-banner .button {
    position: absolute;
    bottom: 100%;
    right: 0;
    padding: 20px 20px 0;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.8);
}

@media only screen and (max-width:768px) {
    #fix-banner .button {
        padding: 10px 10px 0;
    }
}

#fix-banner .button img {
    width: 60px;
    height: 60px;
}

@media only screen and (max-width:768px) {
    #fix-banner .button img {
        width: 30px;
        height: 30px;
    }
}

#fix-banner .banner {
    background: rgba(255, 255, 255, 0.8);
    padding: 20px 0;
}

#fix-banner .banner-inner {
    max-width: 940px;
    margin: 0 auto;
}

@media only screen and (max-width:768px) {
    #fix-banner .banner {
        padding: 10px;
    }
}

#fix-banner .banner .buttonA {
    max-width: 48%;
    font-size: 24px;
    font-size: 2.4rem;
    padding: 12px;
    line-height: 1;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    border-radius: 6px;
    border-bottom: 5px solid #af1d00;
}

#fix-banner .banner .buttonA.btn-2021 {
    border-color: #b06900;
}

#fix-banner .banner .buttonA.full {
    width: 100%;
}

@media only screen and (max-width:768px) {
    #fix-banner .banner .buttonA {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 8px;
        border-width: 3px;
        border-radius: 6px;
    }

    #fix-banner .banner .buttonA.full {
        max-width: none;
    }
}

#fix-banner.is-active {
    visibility: visible;
    opacity: 1;
}

#fix-banner.is-hidden {
    visibility: hidden !important;
    opacity: 0;
}

#header {
    position: relative;
    /* background: #00aaf0; */
    /* background-color: #f09824; */
    background-color: #004EBE;
    height: 100px;
    z-index: 1000;
}

@media only screen and (max-width:768px) {
    #header {
        background: #fff;
        height: auto;
    }
}

#header::before {
    width: 100%;
    height: 110px;
    content: "";
    display: block;
    background: #fff;
    position: absolute;
    top: -30px;
    right: 50%;
    -webkit-transform: translateX(-200px);
    -moz-transform: translateX(-200px);
    -ms-transform: translateX(-200px);
    -o-transform: translateX(-200px);
    transform: translateX(-200px);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}

#header .inner {
    position: relative;
    overflow: auto;
}

@media only screen and (max-width:768px) {
    #header .inner {
        padding: 0;
    }
}

#header #header-logo {
    position: absolute;
    top: 10px;
    left: 10px;
}

@media only screen and (max-width:768px) {
    #header #header-logo {
        position: relative;
        top: auto;
        left: auto;
        height: 50px;
        padding: 8px 0 0 10px;
    }
}

#header #header-logo a {
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#header #header-logo a:hover {
    opacity: 0.75;
}

#header #header-logo img {
    width: auto;
    max-width: none;
    height: 60px;
}

@media only screen and (max-width:768px) {
    #header #header-logo img {
        height: 35px;
    }
}

#header #header-category {
    width: 550px;
    margin: 0 0 0 310px;
}

@media only screen and (max-width:768px) {
    #header #header-category {
        width: 100%;
        margin: 0;
        /* background: #00aaf0; */
        /* background-color: #f09824; */
        background-color: #004EBE;
    }
}

#header #header-category ul {
    *zoom: 1;
}

#header #header-category ul:after {
    content: "";
    display: table;
    clear: both;
}

#header #header-category ul li {
    position: relative;
    width: 20%;
    float: left;
    height: 100px;
    padding: 20px 0 0;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li {
        height: auto;
        padding: 0;
    }
}

#header #header-category ul li a {
    text-align: center;
    display: block;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#header #header-category ul li a span {
    display: block;
    color: #fff;
}

#header #header-category ul li a span:nth-of-type(1) {
    height: 32px;
    position: relative;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li a span:nth-of-type(1) {
        display: none;
    }
}

#header #header-category ul li a span:nth-of-type(1) img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: auto;
}

#header #header-category ul li a span:nth-of-type(2) {
    margin: 12px 0 0;
    border-right: 1px solid #fff;
    font-size: 16px;
    font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li a span:nth-of-type(2) {
        margin: 0;
        font-size: 11px;
        font-size: 1.1rem;
        padding: 10px 0;
    }
}

#header #header-category ul li a:hover {
    opacity: 0.8;
}

#header #header-category ul li.current::before {
    position: absolute;
    bottom: 0;
    content: "";
    width: 100%;
    height: 10px;
    background: #004ebe;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li.current::before {
        height: 5px;
    }
}

#header #header-category ul li:nth-of-type(1) a span:nth-of-type(1) img {
    width: 30px;
}

#header #header-category ul li:nth-of-type(1) a span:nth-of-type(2) {
    border-left: 1px solid #fff;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li:nth-of-type(1) a span:nth-of-type(2) {
        border-left: 0;
    }
}

#header #header-category ul li:nth-of-type(2) a span:nth-of-type(1) img {
    width: 38px;
}

#header #header-category ul li:nth-of-type(3) a span:nth-of-type(1) img {
    width: 24px;
}

#header #header-category ul li:nth-of-type(4) a span:nth-of-type(1) img {
    width: 38px;
}

#header #header-category ul li:nth-of-type(5) a span:nth-of-type(1) img {
    width: 38px;
}

@media only screen and (max-width:768px) {
    #header #header-category ul li:last-child a span:nth-of-type(2) {
        border-right: 0;
    }
}

#header #gnav-toggle {
    position: absolute;
    top: 22px;
    right: 10px;
    width: 44px;
    height: 44px;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#header #gnav-toggle:hover {
    opacity: .75;
}

@media only screen and (max-width:768px) {
    #header #gnav-toggle {
        width: 50px;
        height: 50px;
        top: 31px;
        right: 0;
    }
}

#header #gnav-toggle img {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
}

@media only screen and (max-width:768px) {
    #header #gnav-toggle img {
        width: 50px;
        height: 50px;
    }
}

#header #gnav-toggle img.open {
    display: block;
}

#header #gnav-toggle img.close {
    display: none;
}

#header #gnav-toggle.is-active img.open {
    display: none;
}

#header #gnav-toggle.is-active img.close {
    display: block;
}

#gnav {
    width: 100%;
    position: absolute;
    z-index: 999;
    background: #fff;
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    -o-transition: -o-transform 0.4s;
    transition: transform 0.4s;
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
    padding: 20px 0 30px;
}

@media only screen and (max-width:768px) {
    #gnav {
        max-height: 100vh;
        padding: 0;
        overflow-x: hidden;
        overflow-y: scroll;
    }
}

#gnav .inner>ul {
    margin: 0 -10px;
}

#gnav .inner>ul>li {
    width: 33.33333%;
    float: left;
    padding: 0 10px;
}

@media only screen and (max-width:768px) {
    #gnav .inner>ul>li {
        width: 100%;
        padding: 0;
    }
}

#gnav .inner>ul>li>a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    /* color: #00aaf0; */
    /* color: #f09824; */
    color: #004EBE;
    padding: 14px 12px;
    /* border-bottom: 1px solid #00aaf0; */
    /* border-bottom: 1px solid #f09824; */
    border-bottom: 1px solid #004EBE;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #gnav .inner>ul>li>a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#gnav .inner>ul>li>a::before {
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f105";
    font-size: 20px;
    font-size: 2rem;
}

#gnav .inner>ul>li>a.toggle-menu::before {
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform: translateY(-50%) rotate(0deg);
    -moz-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    -o-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
    content: "\f107";
}

#gnav .inner>ul>li>a.toggle-menu.is-active::before {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -moz-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    -o-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

#gnav .inner>ul>li>a:hover {
    background-color: #e5f6fd;
    /* background-color: #ffddb3; */
}

#gnav .inner>ul>li>ul {
    display: none;
}

#gnav .inner>ul>li>ul>li>a {
    border: 0;
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    color: #00aaf0;
    padding: 14px 12px 14px 30px;
    border-bottom: 1px solid #00aaf0;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #gnav .inner>ul>li>ul>li>a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

@media only screen and (max-width:768px) {
    #gnav .inner>ul>li:first-child>a {
        border-top: 1px solid #00aaf0;
    }
}

#gnav.is-active {
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
}

#index #visual {
    height: 400px;
    padding-top: 30px;
    margin-bottom: 40px;
    position: relative;
    z-index: 1;
    background: url(../images/top/img-top-mv-bun2.png) top center no-repeat;
    background-size: cover;
}

#index #visual.mv-rikei {
    background: url(../images/top/img-top-mv-rikei.png) top center no-repeat;
    background-size: cover;
}

#index #visual.mv-ryugaku {
    background: url(../images/top/img-top-mv-ryugaku.png) top center no-repeat;
    background-size: cover;
}

#index #visual.mv-athlete {
    background: url(../images/top/img-top-mv-athlete.png) top center no-repeat;
    background-size: cover;
}

#index #visual.mv-region {
    background: url(../images/top/img-top-mv-region.png) top center no-repeat;
    background-size: cover;
}

#index #visual .inner {
    padding: 0;
}

#index #visual img {}

#index #visual img.aki {
    float: right;
    padding-top: 233px;
    position: absolute;
}

@media only screen and (max-width:768px) {
    #index #visual img.aki {
        float: none;
        padding: 0;
        position: static;
    }
}

@media only screen and (max-width:768px) {
    #index #visual {
        height: auto;
        padding-top: 95px;
        margin-bottom: 20px;
        position: relative;
        z-index: 1;
        background: url(../images/top/img-top-mv-bun2.png) top center no-repeat;
        background-size: 830px 200px;
    }

    #index #visual.mv-rikei {
        background: url(../images/top/img-top-mv-rikei.png) top center no-repeat;
        background-size: 830px 200px;
    }

    #index #visual.mv-ryugaku {
        background: url(../images/top/img-top-mv-ryugaku.png) top center no-repeat;
        background-size: 830px 200px;
    }

    #index #visual.mv-athlete {
        background: url(../images/top/img-top-mv-athlete.png) top center no-repeat;
        background-size: 830px 200px;
    }

    #index #visual.mv-region {
        background: url(../images/top/img-top-mv-region.png) top center no-repeat;
        background-size: 830px 200px;
    }

    #index #visual .inner {
        margin: 0 auto;
        padding-right: 5px;
        width: 315px;
    }
}

#index #performance {
    position: relative;
    z-index: 2;
    font-size: 0;
    margin: 0 0 0;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #index #performance {
        margin: 0 0 0;
    }
}

#index #performance ul {
    *zoom: 1;
}

#index #performance ul:after {
    content: "";
    display: table;
    clear: both;
}

#index #performance ul li {
    margin: 0 15px;
    display: inline-block;
}

@media only screen and (max-width:768px) {
    #index #performance ul li {
        display: block;
        width: 33.33333%;
        float: left;
        margin: auto;
        padding: 0 10px;
    }
}

#index #performance ul li img {
    width: auto;
    height: 186px;
}

@media only screen and (max-width:768px) {
    #index #performance ul li img {
        width: 100%;
        height: auto;
    }
}

#index #performance .buttonA {
    margin-top: 50px;
}

@media only screen and (max-width:768px) {
    #index #performance .buttonA {
        margin-top: 20px;
    }
}

#index .section {
    position: relative;
    margin: 60px 0 0;
    padding: 80px 0 0;
}

#index #companies.section {
    margin: 60px 0;
}

@media only screen and (max-width:768px) {
    #index .section {
        margin: 30px 0 0;
        padding: 40px 0 0;
    }

    #index #companies.section {
        margin: 30px 0;
    }
}

#index .section::before {
    position: absolute;
    top: 48px;
    content: "";
    width: 100%;
    height: 2px;
    /* background: #004ebe; */
    /* background-color: #f09824; */
    background-color: #004EBE;
}

@media only screen and (max-width:768px) {
    #index .section::before {
        height: 1px;
        top: 24px;
    }
}

#index .section::after {
    content: "";
    width: 136px;
    height: 52px;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -68px;
    background: url(../images/top/section-border.png) no-repeat center top, #fff;
    background-size: auto 52px;
}

@media only screen and (max-width:768px) {
    #index .section::after {
        width: 68px;
        height: 26px;
        margin-left: -35px;
        background-size: auto 26px;
    }
}

#index .section h1 {
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    /* color: #f09824; */
    /* color: #004ebe; */
    color: #004EBE;
}

@media only screen and (max-width:768px) {
    #index .section h1 {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

#index .section h1 span {
    display: inline-block;
    /* border-bottom: 2px solid #004ebe; */
    /* border-bottom: 2px solid #f09824; */
    border-bottom: 2px solid #004EBE;
    padding: 0 0 10px;
}

@media only screen and (max-width:768px) {
    #index .section h1 span {
        padding: 0 0 4px;
    }
}

#index #companies .content {
    -webkit-transition: all, 0.4s;
    -moz-transition: all, 0.4s;
    -o-transition: all, 0.4s;
    transition: all, 0.4s;
}

#index #companies .content .companies-wrap {
    margin-top: 32px;
}

#index #companies .content .companies-wrap .slick-list .slick-track img {
    padding: 0 12px;
}

@media only screen and (max-width:768px) {
    #index #companies .content {
        height: auto;
        margin: 20px 0 0;
    }

    #index #companies .content .companies-wrap {
        margin-top: 16px;
    }
}

#index #companies .content .hidden-content {
    display: none;
}

#index #companies .content.is-active {
    height: 536px;
}

@media only screen and (max-width:768px) {
    #index #companies .content.is-active {
        height: auto;
    }
}

#index #companies .button {
    margin: 50px auto 0;
    cursor: pointer;
}

@media only screen and (max-width:768px) {
    #index #companies .button {
        margin: 14px auto 0;
    }
}

#index #companies .button::before {
    content: "\f107";
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    -o-transition: -o-transform 0.4s;
    transition: transform 0.4s;
}

#index #companies .button.is-active::before {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

#index .bnr-box {
    margin: 40px 0;
    text-align: center;
}

#index .bnr-box img {
    width: 400px;
    height: auto;
}

#index .bnr-box a {
    transition: .5s;
}

#index .bnr-box a:hover {
    opacity: .75;
}

@media only screen and (max-width:768px) {
    #index .bnr-box {
        margin: 20px 0;
    }

    #index .bnr-box img {
        width: 280px;
        height: auto;
    }
}

#index #aki .aki_title {
    margin: 40px 0;
    text-align: center;
}

#index #premium {
    margin: 40px auto;
}

#index #premium a {
    display: block;
    transition: .5s;
}

#index #premium a:hover {
    opacity: .75;
}

@media only screen and (max-width:768px) {
    #index #aki .aki_title {
        margin: 20px 0;
    }

    #index #aki .aki_title img {
        max-width: 252px;
    }

    #index #premium {
        margin: 20px auto;
    }
}

#index #aki ul.aki_reason {
    overflow: hidden;
    margin: 0 0 20px 0;
}

@media only screen and (max-width:768px) {
    #index #aki ul.aki_reason {
        margin: 0 0 10px 0;
    }
}

#index #aki ul.aki_reason li {
    float: left;
    width: 300px;
    margin: 0 20px 0 0;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

#index #aki ul.aki_reason li:last-child {
    margin: 0;
}

@media only screen and (max-width:768px) {
    #index #aki ul.aki_reason li {
        float: none;
        max-width: 300px;
        margin: 0 auto 10px;
        font-size: 12px;
        font-size: 1.2rem;
    }

    #index #aki ul.aki_reason li:last-child {
        margin: 0 auto 10px;
    }
}

#index #aki ul.aki_reason li img {
    margin: 0 0 10px;
}

#index #instruction .photo {
    margin: 42px 0;
    background: url(../images/top/instruction-image.png) repeat-x center center;
    width: 100%;
    height: 198px;
    background-size: auto 198px;
}

@media only screen and (max-width:768px) {
    #index #instruction .photo {
        margin: 20px 0;
        background: url(../images/top/instruction-image-sp.png) repeat-x center center;
        height: 130px;
        background-size: auto 130px;
    }
}

#index #instruction .text-box {
    width: 41.489362%;
    margin: 0 0 40px;
    float: left;
}

@media only screen and (max-width:768px) {
    #index #instruction .text-box {
        width: 100%;
        float: none;
        margin: 0 0 20px;
    }
}

#index #instruction .text-box h2 {
    font-weight: bold;
    font-size: 24px;
    font-size: 2.4rem;
    margin: 0 0 40px;
}

@media only screen and (max-width:768px) {
    #index #instruction .text-box h2 {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0 0 20px;
    }
}

#index #instruction .text-box p {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
    #index #instruction .text-box p {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

@media only screen and (max-width:768px) {
    #index #instruction .bnr-box {
        margin: 25px 0;
    }
}

#index #instruction .map-box {
    width: 54.255319%;
    margin: 0 0 40px;
    float: right;
}

@media only screen and (max-width:768px) {
    #index #instruction .map-box {
        width: 100%;
        float: none;
        margin: 0 0 25px;
    }
}

#index #instruction .access-box {
    clear: both;
}

#index #instruction .access-box h3 {
    /* background: #004ebe; */
    /* background-color: #f09824; */
    background-color: #004EBE;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    text-align: center;
    font-weight: bold;
    padding: 14px;
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box h3 {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 7px;
    }
}

#index #instruction .access-box ul {
    *zoom: 1;
    margin: 20px -10px 20px;
}

#index #instruction .access-box ul:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box ul {
        margin: 16px -5px 10px;
    }
}

#index #instruction .access-box ul li {
    width: 30%;
    float: left;
    padding: 0 10px;
    margin-bottom: 20px;
}

#index #instruction .access-box ul li:nth-of-type(1) {
    margin-left: 20%;
}

#index #instruction .access-box ul li:nth-of-type(2) {
    margin-right: 20%;
}

#index #instruction .access-box ul li:nth-of-type(3) {
    margin-left: 5%;
}

#index #instruction .access-box ul li:nth-of-type(5) {
    margin-right: 5%;
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box ul li {
        /* width: 50%;
    padding: 5px; */
        margin-bottom: 16px;
    }
}

#index #instruction .access-box ul li a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    /* color: #00aaf0; */
    /* color: #e7af5a; */
    color: #004EBE;
    /* border: 2px solid #00aaf0; */
    /* border: 2px solid #e7af5a; */
    border: 2px solid #004EBE;
    border-radius: 4px;
    font-weight: bold;
    padding: 12px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box ul li a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#index #instruction .access-box ul li a::before {
    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f105";
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box ul li a::before {
        right: 12px;
    }
}

#index #instruction .bnr-box {
    margin: 0 0 20px;
}

#index #instruction .bnr-box img {
    display: block;
    margin: 0 auto;
    width: auto;
}

@media only screen and (max-width:768px) {
    #index #instruction .access-box ul li a::before {
        font-size: 14px;
        font-size: 1.4rem;
        margin: -1px 0 0;
    }
}

#index #instruction .access-box ul li a:hover {
    color: #fff;
    /* background: #00aaf0; */
    /* background-color: #e7af5a; */
    background-color: #004EBE;
}

#index #instruction .buttonA {
    margin: 60px auto 0;
}

@media only screen and (max-width:768px) {
    #index #instruction .buttonA {
        display: none;
    }
}

#index #service h2 {
    position: relative;
    /* background: #004ebe; */
    /* background-color: #f09824; */
    background-color: #004EBE;
    color: #fff;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    padding: 20px;
    margin: 40px 0 0;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #index #service h2 {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 10px 0;
        margin: 20px 0 0;
    }
}

#index #service h2::before {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -11px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 11px 0 11px;
    /* border-color: #004fbe transparent transparent transparent; */
    /* border-color: #f09824 transparent transparent transparent; */
    border-color: #004EBE transparent transparent transparent;
}

#index #service .content {
    background: url(../images/top/service-step-bg.png) repeat left top;
    padding: 0 0 64px;
}

@media only screen and (max-width:768px) {
    #index #service .content {
        padding: 0 0 20px;
    }
}

#index #service ul {
    margin: 0 -20px 22px;
    padding: 14px 0 0;
    letter-spacing: -1em;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #index #service ul {
        margin: 0;
    }
}

#index #service ul li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    width: 33.33333%;
    text-align: left;
    padding: 20px;
}

@media only screen and (max-width:768px) {
    #index #service ul li {
        width: 100%;
        padding: 24px 0;
        border-top: 1px solid #fff;
    }

    #index #service ul li:first-child {
        border: 0;
    }
}

@media only screen and (max-width:768px) {
    #index #service ul li h3 {
        width: 80%;
        margin: 0 auto 24px;
    }
}

#index #service ul li figure {
    position: relative;
    width: 100%;
    height: 132px;
    margin: 20px 0;
    display: block;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #index #service ul li figure {
        width: 60%;
        margin: 0 auto 24px;
        height: auto;
    }
}

@media only screen and (min-width:769px) {
    #index #service ul li figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
}

#index #service ul li h4 {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 16px;
}

@media only screen and (max-width:768px) {
    #index #service ul li h4 {
        text-align: center;
        letter-spacing: 1px;
        margin: 0 0 8px;
    }
}

#index #service ul li p {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: justify;
}

@media only screen and (max-width:768px) {
    #index #service ul li p {
        font-size: 12px;
        font-size: 1.4rem;
        letter-spacing: 0.5px;
    }
}

#index #service ul li p em {
    font-weight: bold;
    color: #004ebe;
}

#index #know-how .content {
    margin: 40px 0 0;
    background: #004ebe;
    padding: 30px 0;
}

@media only screen and (max-width:768px) {
    #index #know-how .content {
        margin: 20px 0 0;
        padding: 15px 0;
    }
}

#index #know-how .content ul {
    *zoom: 1;
    margin: 0 -10px 10px;
}

#index #know-how .content ul:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #index #know-how .content ul {
        margin: 0 5px;
    }
}

#index #know-how .content ul li {
    width: 33.33333%;
    float: left;
    padding: 10px;
    position: relative;
}

@media only screen and (max-width:768px) {
    #index #know-how .content ul li {
        width: 50%;
        padding: 5px;
        display: table;
    }
}

#index #know-how .content ul li::after {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 10px 10px;
    border-color: transparent transparent #e0e7e6 #004ebe;
}

@media only screen and (max-width:768px) {
    #index #know-how .content ul li::after {
        top: 5px;
        left: 5px;
    }
}

#index #know-how .content ul li a {
    z-index: 1;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    background: #fff;
    position: relative;
    line-height: 1;
    padding: 22px 10px;
    -webkit-box-shadow: 3px 3px 0 0 #003480;
    -moz-box-shadow: 3px 3px 0 0 #003480;
    box-shadow: 3px 3px 0 0 #003480;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#index #know-how .content ul li a::before {
    font-size: 13px;
    font-size: 1.3rem;
    font-family: "FontAwesome";
    content: "\f138";
    position: relative;
    top: -1px;
    margin: 0 6px 0 0;
    display: inline-block;
    vertical-align: middle;
    color: #004ebe;
}

#index #know-how .content ul li a::after {
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
    content: "";
    width: 60px;
    height: 60px;
    background-repeat: no-repeat;
    background-position: center right 20px;
}

@media only screen and (max-width:768px) {
    #index #know-how .content ul li a {
        padding: 0 10px 0 26px;
        height: 52px;
        font-size: 12px;
        font-size: 1.2rem;
        display: table-cell;
        vertical-align: middle;
    }

    #index #know-how .content ul li a::before {
        position: absolute;
        top: 50%;
        left: 10px;
        margin-top: -6px;
    }

    #index #know-how .content ul li a::after {
        display: none;
    }
}

#index #know-how .content ul li a:hover {
    opacity: .75;
}

#index #know-how .content ul li:nth-of-type(1) a::after {
    background-image: url(../images/top/know-how-icon01.svg);
}

#index #know-how .content ul li:nth-of-type(2) a::after {
    background-image: url(../images/top/know-how-icon02.svg);
}

#index #know-how .content ul li:nth-of-type(3) a::after {
    background-image: url(../images/top/know-how-icon03.svg);
}

#index #know-how .content ul li:nth-of-type(4) a::after {
    background-image: url(../images/top/know-how-icon04.svg);
}

#index #know-how .content ul li:nth-of-type(5) a::after {
    background-image: url(../images/top/know-how-icon05.svg);
}

#index #know-how .content ul li:nth-of-type(6) a::after {
    background-image: url(../images/top/know-how-icon06.svg);
}

#index #know-how .content ul li:nth-of-type(7) a::after {
    background-image: url(../images/top/know-how-icon07.svg);
}

#index #know-how .content ul li:nth-of-type(8) a::after {
    background-image: url(../images/top/know-how-icon08.svg);
}

#index #advisor ul {
    *zoom: 1;
    margin: 40px 0 50px;
}

#index #advisor ul:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #index #advisor ul {
        margin: 20px -10px 4px;
    }
}

#index #advisor ul li {
    padding: 0 20px;
    border-left: 2px solid #d4dddc;
    width: 25%;
    float: left;
}

@media only screen and (max-width:768px) {
    #index #advisor ul li {
        border-width: 1px;
        width: 50%;
        margin: 0 0 16px;
        padding: 0 10px;
    }
}

#index #advisor ul li:first-child {
    border-left: 0;
}

@media only screen and (max-width:768px) {
    #index #advisor ul li:nth-of-type(2n + 1) {
        border-left: 0;
    }
}

#index #advisor ul li h2 {
    background: #d4dddc;
    padding: 20px 16px 16px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #index #advisor ul li h2 {
        padding: 7px 0;
    }
}

#index #advisor ul li h2 span {
    display: block;
    font-weight: bold;
    line-height: 1;
}

#index #advisor ul li h2 span:nth-of-type(1) {
    font-size: 14px;
    font-size: 1.4rem;
}

#index #advisor ul li h2 span:nth-of-type(2) {
    margin: 10px 0 0;
    font-size: 12px;
    font-size: 1.2rem;
}

@media only screen and (max-width:768px) {
    #index #advisor ul li h2 span:nth-of-type(2) {
        margin: 4px 0 0;
    }
}

#index #advisor ul li p {
    border-top: 2px solid #d4dddc;
    position: relative;
    margin: 18px 0 0;
    padding: 10px 0 0;
    line-height: 2.09214286;
}

@media only screen and (max-width:768px) {
    #index #advisor ul li p {
        margin: 10px 0 0;
        padding: 4px 0 0;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.42857143;
    }
}

#index #advisor ul li p::before {
    background: #fff;
    position: absolute;
    bottom: 100%;
    right: 40px;
    display: block;
    content: "";
    width: 6px;
    height: 6px;
    border-right: 2px solid #d4dddc;
    border-top: 2px solid #d4dddc;
    -webkit-transform: rotate(-45deg) translateY(3px);
    -moz-transform: rotate(-45deg) translateY(3px);
    -ms-transform: rotate(-45deg) translateY(3px);
    -o-transform: rotate(-45deg) translateY(3px);
    transform: rotate(-45deg) translateY(3px);
}

@media only screen and (max-width:768px) {
    #index #voice {
        padding-top: 50px;
    }
}

#index #voice .inner {
    *zoom: 1;
}

#index #voice .inner:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width:768px) {
    #index #voice .inner {
        padding: 0;
    }
}

#index #voice h1 {
    margin: 0 0 40px;
}

#index #voice section {
    position: relative;
    width: 47.87234%;
    height: 768px;
    float: left;
    margin: 10px 0 60px;
    padding: 40px 20px;
    background-color: #d9f2fd;
}

@media only screen and (max-width:768px) {
    #index #voice h1 {
        margin: 0 0 20px;
    }

    #index #voice section {
        width: 100%;
        float: none;
        margin: 0 0 20px;
        padding: 20px 10px;
        height: auto;
    }
}

#index #voice section:nth-of-type(2) {
    float: right;
}

#index #voice section li {
    *zoom: 1;
    margin: 20px 0 0;
}

#index #voice section li:after {
    content: "";
    display: table;
    clear: both;
}

#index #voice section li:first-child {
    margin: 0;
}

#index #voice section li .image {
    display: block;
    width: 17.073171%;
    float: left;
}

@media only screen and (max-width:768px) {
    #index #voice section li .image {
        width: 15.666667%;
    }
}

#index #voice section li .image img {
    width: 100%;
    height: auto;
}

#index #voice section li .text {
    position: relative;
    display: block;
    width: 78.04878%;
    padding: 20px 60px 20px 20px;
    border-radius: 6px;
    float: right;
    background: #fff;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #index #voice section li .text {
        width: 76.666667%;
        padding: 20px 30px 20px 20px;
    }
}

#index #voice section li .text::before {
    position: absolute;
    top: 40px;
    right: 100%;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0px 10px 14px;
    border-color: transparent transparent #ffffff transparent;
}

#index #voice section li .text::after {
    position: absolute;
    top: 50%;
    right: 20px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1;
    margin: -9px 0 0;
    font-family: "FontAwesome";
    content: "\f138";
    color: #00aaf0;
}

@media only screen and (max-width:768px) {
    #index #voice section li .text::after {
        right: 10px;
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#index #voice section li .text h2 {
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 0 20px;
}

#index #voice section li .text h3 {
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 20px;
    line-height: 1.25;
    font-weight: bold;
}

#index #voice section li .text p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.28571429;
    text-align: justify;
}

#index #voice section li .text:hover {
    color: #00aaf0;
}

@media only screen and (max-width:768px) {
    #index #voice section li .text h3 {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0;
    }

    #index #voice section li .text p {
        display: none;
    }
}

#index #voice section .buttonB {
    position: absolute;
    bottom: 40px;
    left: 50%;
    margin-left: -150px;
    border: 2px solid #00aaf0;
    background: #fff;
    color: #00aaf0;
}

@media only screen and (max-width:768px) {
    #index #voice section .buttonB {
        position: relative;
        bottom: 0;
        margin-top: 20px;
    }
}

#index #voice section .buttonB:hover {
    color: #fff;
    background: #00aaf0;
}

#index #voice .button-box {
    clear: both;
}

@media only screen and (max-width:768px) {
    #index #voice .button-box {
        padding: 0 10px;
    }
}

#index #voice .button-box figure {
    width: 406px;
    height: 150px;
    overflow: hidden;
    margin: auto;
}

@media only screen and (max-width:768px) {
    #index #voice .button-box figure {
        width: 100%;
        max-width: 260px;
        height: auto;
    }
}

#index #voice .button-box .buttonA {
    position: relative;
}

#index #voice .button-box #bnr-regist {
    border: 0;
}

.button-box ul.bnr-list {
    margin: 0 auto 20px;
    max-width: 940px;
    text-align: center;
    font-size: 0;
}

.button-box ul.bnr-list li {
    display: inline-block;
    margin-right: 20px;
    width: 220px;
}

.button-box ul.bnr-list li:last-child {
    margin-right: 0;
}

@media only screen and (max-width:768px) {
    .button-box ul.bnr-list {
        margin: 0 auto;
    }

    .button-box ul.bnr-list li {
        margin: 0 2% 2% 2%;
        width: 47%;
        display: block;
        float: left;
    }

    .button-box ul.bnr-list li:nth-child(even) {
        margin: 0 2% 2% 0;
    }
}

.button-box ul.bnr-list li a {
    display: block;
    transition: .5s;
}

.button-box ul.bnr-list li a:hover {
    opacity: 0.75;
}

.clear {
    clear: both;
    display: block;
    overflow: hidden;
    visibility: hidden;
    width: 0;
    height: 0;
}

.content:after,
.clearfix:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}

.content,
.clearfix {
    zoom: 1;
}

tL {
    text-align: left;
}

tC {
    text-align: center;
}

tR {
    text-align: right;
}

.img-left {
    float: left;
    margin: 0 50px 20px 0;
}

.img-right {
    float: right;
    margin: 0 0 20px 50px;
}

@media only screen and (max-width:768px) {

    .img-left,
    .img-right {
        float: none;
        margin: 10px 0;
        text-align: center;
    }
}

.prev-link {
    float: left;
}

@media only screen and (max-width:768px) {
    .prev-link {
        width: 50%;
    }
}

.prev-link a {
    color: #00aaf0;
    font-size: 18px;
}

@media only screen and (max-width:768px) {
    .prev-link a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.prev-link a::before {
    font-family: "FontAwesome";
    content: "\f137";
    padding-right: 10px;
}

.next-link {
    float: right;
    text-align: right;
}

@media only screen and (max-width:768px) {
    .next-link {
        width: 50%;
    }
}

.next-link a {
    color: #00aaf0;
    font-size: 18px;
}

@media only screen and (max-width:768px) {
    .next-link a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

.next-link a::after {
    font-family: "FontAwesome";
    content: "\f138";
    padding-left: 10px;
}

.link-txt-list li {
    margin-bottom: 6px;
}

@media only screen and (max-width:768px) {
    .link-txt-list li {
        margin-bottom: 10px;
    }
}

.link-txt-list li a {
    color: #00aaf0;
    font-size: 20px;
    padding-left: 20px;
    position: relative;
}

@media only screen and (max-width:768px) {
    .link-txt-list li a {
        font-size: 12px;
        font-size: 1.2rem;
        display: block;
        box-sizing: border-box;
    }
}

.link-txt-list li a::before {
    position: absolute;
    font-size: 12px;
    font-size: 1.2rem;
    left: 0;
    top: 14px;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f078";
}

@media only screen and (max-width:768px) {
    .link-txt-list li a::before {
        top: 8px;
    }
}

.btn a {
    position: relative;
    display: block;
    width: 100%;
    max-width: 300px;
    font-size: 16px;
    font-size: 1.6rem;
    color: #00aaf0;
    background: #fff;
    border: 2px solid #00aaf0;
    text-align: center;
    padding: 12px;
    border-radius: 6px;
    font-weight: bold;
    line-height: 1;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

.btn a::after {
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    font-size: 18px;
    font-size: 1.8rem;
    margin: -9px 0 0;
    top: 50%;
    right: 20px;
    font-family: "FontAwesome";
    content: "\f105";
}

.btn a:hover {
    color: #fff;
    background: #00aaf0;
}

.btn.btn-page a::after {
    content: "\f107";
}

.mt10 {
    margin-top: 10px !important;
}

.mt20 {
    margin-top: 20px !important;
}

.mr20 {
    margin-right: 20px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.ml10 {
    margin-left: 10px !important;
}

.bld {
    font-weight: bold !important;
}

#pankuzu .inner {
    font-size: 12px;
    line-height: 1.5;
    padding: 16px 10px;
}

#pankuzu .inner span {
    padding: 0 4px;
}

#pankuzu .inner span:first-child {
    padding-left: 0;
}

#pankuzu .inner a {
    color: #00aaf0;
    text-decoration: underline;
}

#pankuzu .inner a:hover {
    text-decoration: none;
}

.fblue {
    color: #004ebe;
    font-weight: bold;
}

.bg-gray {
    background: #f5f7f7;
}

.page-ttl {
    background: #004ebe;
    color: #fff;
    font-size: 30px;
    line-height: 80px;
    margin-bottom: 50px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    .page-ttl {
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.5;
        margin-bottom: 30px;
        padding: 10px;
    }
}

.ttl-blue-line {
    background: url(../images/common/bg-ttl-blue-line.png) top center no-repeat;
    background-size: 100% 100%;
    color: #004ebe;
    font-size: 30px;
    font-weight: bold;
    line-height: 80px;
    margin-bottom: 30px;
    min-height: 100px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    .ttl-blue-line {
        background: url(../images/common/bg-ttl-blue-line.png) top center no-repeat;
        background-size: 100% 100%;
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 0;
        min-height: inherit;
        line-height: 1.5;
        padding: 10px 0 20px 0;
    }
}

.ttl-check {
    background: url(../images/common/ico-check.png) left center no-repeat;
    font-size: 36px;
    margin-bottom: 30px;
    padding-left: 60px;
}

@media only screen and (max-width:768px) {
    .ttl-check {
        background: url(../images/common/ico-check.png) left center no-repeat;
        background-size: 19px 21px;
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 20px;
        padding-left: 30px;
    }
}

.list-disc {
    list-style-type: disc;
    margin-left: 20px;
}

.list-decimal {
    list-style-type: decimal;
    margin-left: 20px;
}

.list-lower-latin {
    list-style-type: lower-latin;
    margin-left: 20px;
}

.table-default {
    border: 2px solid #fff;
    border-collapse: separate;
    border-spacing: 10px;
    width: 100%;
}

@media only screen and (max-width:768px) {
    .table-default {
        border-spacing: 0;
        margin: 14px 0 0;
    }
}

.table-default th {
    background: #eaefee;
    color: #004ebe;
    padding: 20px;
    vertical-align: top;
    width: 280px;
}

@media only screen and (max-width:768px) {
    .table-default th {
        display: block;
        padding: 10px;
        width: 100%;
    }
}

.table-default tr:last-child td {
    border-bottom: 2px solid #eaefee;
}

.table-default td {
    border-top: 2px solid #eaefee;
    padding: 20px;
}

@media only screen and (max-width:768px) {
    .table-default td {
        display: block;
        padding: 10px;
    }
}

.table-default p {
    margin-bottom: 10px;
}

.table-default .list-disc {
    margin-bottom: 20px;
}

.table-default .list-decimal li {
    margin-bottom: 10px;
}

.table-default .list-lower-latin {
    margin-bottom: 20px;
}

.table-default td a {
    color: #00aaf0;
    text-decoration: underline;
}

.table-default td a:hover {
    text-decoration: none;
}

#bnr-regist {
    border-top: 2px solid #efefef;
    padding: 50px 0;
}

@media only screen and (max-width:768px) {
    #bnr-regist {
        padding: 30px 10px;
    }
}

#bnr-regist .bnr {
    margin: 0 auto;
    position: relative;
    text-align: center;
    max-width: 600px;
}

#bnr-regist .bnr .txt {
    margin: 6px 0 10px 0;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #bnr-regist .bnr .txt {
        position: relative;
        display: block;
        left: 50%;
        height: 53px;
        margin: 0 0 9px -85px;
        width: 176px;
    }
}

#bnr-regist .bnr .left-img {
    position: absolute;
    left: 20px;
    top: 0;
    z-index: 1000;
}

@media only screen and (max-width:768px) {
    #bnr-regist .bnr .left-img {
        height: 80px;
        left: 5px;
        width: 47px;
    }
}

#bnr-regist .bnr .right-img {
    position: absolute;
    right: 30px;
    top: 0;
    z-index: 1000;
}

@media only screen and (max-width:768px) {
    #bnr-regist .bnr .right-img {
        height: 80px;
        right: 5px;
        width: 39px;
    }
}

#bnr-regist .bnr .buttonA {
    float: none;
    display: block;
    width: 100%;
    max-width: 600px;
    margin-top: 10px;
}

#bnr-regist .bnr .buttonA.btn-2021 {
    margin: 0;
}

.cont .question {
    background: #e9eeed;
    margin-bottom: 40px;
    padding: 20px 0;
}

@media only screen and (max-width:768px) {
    .cont .question {
        margin-bottom: 20px;
        padding: 10px 0;
    }
}

.cont .question .inner {
    position: relative;
}

.cont .question .inner::before {
    position: absolute;
    bottom: -38px;
    left: 22px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 18px 0 18px;
    border-color: #e9eeed transparent transparent transparent;
}

@media only screen and (max-width:768px) {
    .cont .question .inner::before {
        bottom: -26px;
        left: 14px;
    }
}

.cont .question .inner dl {
    display: table;
}

.cont .question .inner dl dt {
    display: table-cell;
}

.cont .question .inner dl dt p {
    background: #004ebe;
    border-radius: 60px;
    color: #fff;
    font-size: 32px;
    font-weight: bold;
    height: 60px;
    text-align: center;
    width: 60px;
}

@media only screen and (max-width:768px) {
    .cont .question .inner dl dt p {
        border-radius: 40px;
        font-size: 22px;
        font-size: 2.2rem;
        height: 40px;
        width: 40px;
    }

    .cont .question .inner dl dt p img {
        height: 24px;
        width: 24px;
    }
}

.cont .question .inner dl dd {
    color: #004ebe;
    display: table-cell;
    font-size: 24px;
    padding: 14px 0 0 20px;
    vertical-align: top;
}

@media only screen and (max-width:768px) {
    .cont .question .inner dl dd {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 5px 0 0 10px;
    }
}

.cont .answer {
    margin-bottom: 30px;
}

@media only screen and (max-width:768px) {
    .cont .answer {
        margin-bottom: 20px;
    }
}

.cont .answer .inner dl {
    display: table;
}

.cont .answer .inner dl dt {
    display: table-cell;
}

.cont .answer .inner dl dt p {
    border: 2px solid #004ebe;
    border-radius: 60px;
    color: #004ebe;
    font-size: 30px;
    font-weight: bold;
    height: 60px;
    text-align: center;
    width: 60px;
}

@media only screen and (max-width:768px) {
    .cont .answer .inner dl dt p {
        border-radius: 40px;
        font-size: 20px;
        font-size: 2.0rem;
        height: 40px;
        width: 40px;
    }

    .cont .answer .inner dl dt p img {
        height: 24px;
        width: 24px;
    }
}

.cont .answer .inner dl dd {
    display: table-cell;
    padding: 0 0 0 20px;
    vertical-align: top;
}

@media only screen and (max-width:768px) {
    .cont .answer .inner dl dd {
        padding: 0 0 0 10px;
    }
}

#point main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #point main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#point main .page-ttl {
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    #point main .page-ttl {
        margin-bottom: 20px;
    }
}

#point .nav {
    margin-bottom: 0;
}

#point .nav .nav-list {
    margin: 40px -10px;
}

@media only screen and (max-width:768px) {
    #point .nav .nav-list {
        margin: 20px -10px;
    }
}

#point .nav .nav-list li {
    width: 33.3333%;
    float: left;
    padding: 10px;
}

@media only screen and (max-width:768px) {
    #point .nav .nav-list li {
        width: 50%;
        float: left;
        padding: 5px 10px;
        line-height: 1.3;
    }
}

#point .nav .nav-list li a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    color: #00aaf0;
    border: 2px solid #00aaf0;
    border-radius: 4px;
    font-weight: bold;
    padding: 12px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #point .nav .nav-list li a {
        font-size: 12px;
        font-size: 1.2rem;
        padding: 6px;
    }
}

#point .nav .nav-list li a::after {
    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f105";
}

@media only screen and (max-width:768px) {
    #point .nav .nav-list li a::after {
        right: 10px;
    }
}

#point .nav .nav-list li.current a,
#point .nav .nav-list li a:hover {
    color: #fff;
    background: #00aaf0;
}

#point main .ttl-blue-line {
    margin-bottom: 0;
}

#point main .cont {
    padding: 40px 0;
}

@media only screen and (max-width:768px) {
    #point main .cont {
        padding: 20px 0;
    }
}

#point main .cont .img {
    margin: 20px 0;
    text-align: center;
}

#point main .check-wrap {
    background: url(../images/common/bg-cross.png);
    margin-bottom: 60px;
    padding-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #point main .check-wrap {
        background: url(../images/common/bg-cross.png);
        margin: 20px 0 30px 0;
        padding-bottom: 10px;
    }
}

#point main .check-wrap .label img {
    margin: -30px 0 20px 0;
}

#point main .check-wrap .dl-check {
    display: table;
    margin-bottom: 20px;
}

#point main .check-wrap .dl-check dt {
    background: #004ebe;
    color: #fff;
    display: inline-block;
    font-size: 20px;
    line-height: 40px;
    text-align: center;
    width: 150px;
}

#point main .check-wrap .dl-check dd {
    display: table-cell;
    padding: 0 20px;
    vertical-align: top;
}

@media only screen and (max-width:768px) {
    #point main .check-wrap .dl-check dd {
        display: block;
        margin: 10px 0;
        padding: 0;
    }
}

#point main .check-wrap .kind-list {
    margin: 20px -30px 0 0;
}

@media only screen and (max-width:768px) {
    #point main .check-wrap .kind-list {
        margin: 20px 0;
    }
}

#point main .check-wrap .kind-list li {
    float: left;
    width: 290px;
}

@media only screen and (max-width:768px) {
    #point main .check-wrap .kind-list li {
        display: block;
        float: none;
        margin-bottom: 20px;
        width: 100%;
    }
}

#point main .check-wrap .kind-list li .ttl {
    background: #004ebe;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    line-height: 40px;
    margin-bottom: 26px;
    position: relative;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #point main .check-wrap .kind-list li .ttl {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.6;
        padding: 5px 10px;
    }
}

#point main .check-wrap .kind-list li .ttl::after {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -11px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 11px 0 11px;
    border-color: #004fbe transparent transparent transparent;
}

#point.point01 main .cont01 .txt {
    margin-right: 472px;
}

#point.point01 main .cont02 .txt {
    margin-left: 473px;
}

#point.point01 main .cont04 .txt,
#point.point01 main .cont05 .txt {
    margin-left: 251px;
}

@media only screen and (max-width:768px) {

    #point.point01 main .cont01 .txt,
    #point.point01 main .cont02 .txt,
    #point.point01 main .cont04 .txt,
    #point.point01 main .cont05 .txt {
        margin: 0;
    }
}

#point.point02 main .cont02 .txt {
    margin-left: 473px;
}

#point.point02 main .cont04 .img-left,
#point.point02 main .cont04 .img-right {
    margin: 20px 0 0 0;
}

#point.point02 main .cont05 .txt {
    margin-right: 253px;
}

@media only screen and (max-width:768px) {

    #point.point02 main .cont02 .txt,
    #point.point02 main .cont05 .txt {
        margin: 0;
    }
}

#point.point03 main .cont02 .txt {
    margin-left: 472px;
}

#point.point03 main .cont03 .txt,
#point.point03 main .cont04 .txt,
#point.point03 main .cont05 .txt {
    margin-left: 254px;
}

@media only screen and (max-width:768px) {

    #point.point03 main .cont02 .txt,
    #point.point03 main .cont03 .txt,
    #point.point03 main .cont04 .txt,
    #point.point03 main .cont05 .txt {
        margin-left: 0;
    }
}

#point.point04 main .cont04 {
    margin-bottom: 40px;
}

#point.point04 main .cont04 .txt {
    margin-left: 254px;
}

@media only screen and (max-width:768px) {
    #point.point04 main .cont04 {
        margin-bottom: 20px;
    }

    #point.point04 main .cont04 .txt {
        margin-left: 0;
    }
}

#point.point05 main .cont02 .txt {
    margin-left: 472px;
}

@media only screen and (max-width:768px) {
    #point.point05 main .cont02 .txt {
        margin-left: 0;
    }
}

#point.point06 main .kind-list {
    margin: 0;
}

#point.point06 main .kind-list li.list01 {
    float: left;
    margin: 0;
    padding: 0;
    width: 48%;
}

#point.point06 main .kind-list li.list02 {
    float: right;
    margin: 0;
    padding: 0;
    width: 48%;
}

@media only screen and (max-width:768px) {

    #point.point06 main .kind-list li.list01,
    #point.point06 main .kind-list li.list02 {
        float: none;
        padding: 0;
        width: 100%;
    }
}

#point.point06 main .kind-list .catch {
    margin-bottom: 10px;
}

#point.point06 main .dl-check dt {
    width: 200px;
}

#point.point06 main .cont04 .txt {
    margin-left: 251px;
}

@media only screen and (max-width:768px) {
    #point.point06 main .dl-check dt {
        width: 100%;
    }

    #point.point06 main .cont04 .txt {
        margin-left: 0;
    }
}

#point.point07 main .cont02 .txt {
    margin-right: 240px;
}

@media only screen and (max-width:768px) {
    #point.point07 main .cont02 .txt {
        margin-right: 0;
    }
}

#point.point07 main .kind-list {
    margin: 20px 0 0 0;
}

#point.point07 main .kind-list li.list01 {
    float: left;
    padding: 0;
    width: 48%;
}

#point.point07 main .kind-list li.list02 {
    float: right;
    padding: 0;
    width: 48%;
}

@media only screen and (max-width:768px) {

    #point.point07 main .kind-list li.list01,
    #point.point07 main .kind-list li.list02 {
        float: none;
        padding: 0;
        width: 100%;
    }
}

#point.point07 main .cont05 .txt {
    margin-right: 240px;
}

@media only screen and (max-width:768px) {
    #point.point07 main .cont05 .txt {
        margin-right: 0;
    }
}

#point.point08 main .cont03 .txt {
    margin-left: 252px;
}

#point.point08 main .cont04 .txt {
    margin-right: 252px;
}

@media only screen and (max-width:768px) {

    #point.point08 main .cont03 .txt,
    #point.point08 main .cont04 .txt {
        margin: 0;
    }
}

#point.point09 .top-desc .link-txt-list {
    margin: 40px 0 60px 0;
}

@media only screen and (max-width:768px) {
    #point.point09 .top-desc .link-txt-list {
        margin: 20px 0;
    }
}

#point.point09 main .cont {
    padding: 0;
}

#interview main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #interview main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#interview main .page-ttl {
    margin-bottom: 0;
}

#interview main .interview-wrap {
    background: #d9f2fd;
    padding: 40px 0 20px 0;
}

@media only screen and (max-width:768px) {
    #interview main .interview-wrap {
        padding: 20px 0 20px 0;
    }
}

#interview main .desc {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
    padding: 0 20px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #interview main .desc {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px;
        padding: 0;
        text-align: left;
    }
}

#interview main .interview-list li {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 40px;
    padding: 40px;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li {
        margin-bottom: 20px;
        padding: 20px;
    }
}

#interview main .interview-list li .left {
    float: left;
    width: 370px;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .left {
        float: none;
        width: 100%;
    }
}

#interview main .interview-list li .left .ttl {
    color: #004ebe;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .left .ttl {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px;
    }
}

#interview main .interview-list li .left .data-wrap .img {
    margin: 0 auto;
    width: 250px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .left .data-wrap {
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: #ccc 1px solid;
    }
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .left .data-wrap .img {
        text-align: center;
    }
}

#interview main .interview-list li .left .data-wrap .profile {
    clear: both;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .left .data-wrap .data {
        float: none;
        width: 100%;
    }
}

#interview main .interview-list li .left .data-wrap .data .name {
    padding: 5px 0;
    background: #004ebe;
    color: #fff;
    font-size: 20px;
    line-height: 1.5;
    margin: 0 auto 20px;
    width: 250px;
    text-align: center;
}

#interview main .interview-list li .left .data-wrap .data .name span {
    display: block;
    font-size: 12px;
}

#interview main .interview-list li .left .data-wrap .data .midashi {
    font-weight: bold;
    margin-bottom: 5px;
}

#interview main .interview-list li .left .data-wrap .data .name+.midashi+p {
    margin-bottom: 10px;
}

#interview main .interview-list li .right {
    float: right;
    width: 450px;
}

#interview main .interview-list li .right h3 {
    margin-bottom: 5px;
    font-weight: bold;
}

#interview main .interview-list li .right h3+p {
    margin-bottom: 30px;
}

#interview main .interview-list li .right h3+p.mb00 {
    margin-bottom: 0;
}

@media only screen and (max-width:768px) {
    #interview main .interview-list li .right {
        float: none;
        width: 100%;
    }
}

#interview main .bottom-nav-link {
    padding: 40px 0;
}

@media only screen and (max-width:768px) {
    #interview main .bottom-nav-link {
        padding: 20px 0;
    }
}

#seminar main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #seminar main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#seminar main .top {
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    #seminar main .top {
        margin-bottom: 0;
    }
}

#seminar main .top .txt {
    font-size: 24px;
    font-weight: bold;
}

@media only screen and (max-width:768px) {
    #seminar main .top .txt {
        font-size: 12px;
        font-size: 1.2rem;
        margin: 0 0 20px 0;
    }
}

#seminar main .nav-list {
    margin: 20px -10px 60px -10px;
}

@media only screen and (max-width:768px) {
    #seminar main .nav-list {
        margin: 20px -10px 20px -10px;
    }
}

#seminar main .nav-list li {
    width: 20%;
    float: left;
    padding: 0 10px;
}

@media only screen and (max-width:768px) {
    #seminar main .nav-list li {
        width: 50%;
        margin-bottom: 10px;
    }
}

#seminar main .nav-list li a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    color: #00aaf0;
    border: 2px solid #00aaf0;
    border-radius: 4px;
    font-weight: bold;
    padding: 10px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

#seminar main .nav-list li a:hover {
    color: #fff;
    background: #00aaf0;
}

#seminar main .nav-list li a::after {
    position: absolute;
    font-size: 12px;
    font-size: 1.2rem;
    right: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f078";
}

#seminar main .sub-ttl {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #seminar main .sub-ttl {
        font-size: 14px;
        font-size: 1.4rem;
        padding: 0 10px;
    }
}

#seminar main .cont table {
    margin-bottom: 40px;
    width: 100%;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table {
        margin-bottom: 20px;
        width: 100%;
    }
}

#seminar main .cont table thead {}

@media only screen and (max-width:768px) {
    #seminar main .cont table thead {
        display: none;
    }
}

#seminar main .cont table thead th {
    background: #004ebe;
    color: #fff;
    padding: 10px 0;
    text-align: center;
}

#seminar main .cont table thead th.date {
    width: 100px;
}

#seminar main .cont table thead th.time {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    width: 100px;
}

#seminar main .cont table thead th.ttl {
    width: 740px;
}

#seminar main .cont table tr:nth-child(even) {
    background: #eff3f2;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tr {
        display: block;
        text-align: center;
    }
}

#seminar main .cont table tbody td {
    text-align: center;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td {
        display: inline-block;
        text-align: center;
    }
}

#seminar main .cont table tbody td.detail {
    padding: 10px;
    text-align: left;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td.detail {
        display: block;
    }
}

#seminar main .cont table tbody td.detail .txt {
    display: inline-block;
    width: 620px;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td.detail .txt {
        display: block;
        padding: 0;
        width: 100%;
    }
}

#seminar main .cont table tbody td.detail .cat {
    color: #fff;
    display: inline-block;
    font-size: 12px;
    text-align: center;
    padding: 0 5px;
}

#seminar main .cont table tbody td.detail .cat.cat1 {
    background: #3cc843;
}

#seminar main .cont table tbody td.detail .cat.cat2 {
    background: #ff2a00;
}

#seminar main .cont table tbody td.detail .cat.cat3 {
    background: #ff7ba9;
}

#seminar main .cont table tbody td.detail .cat.cat4 {
    background: #00aaf0;
}

#seminar main .cont table tbody td.detail .full,
#seminar main .cont table tbody td.detail .btn {
    display: inline-block;
    width: 140px;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td.detail .cat {
        margin: 0 0 5px 0;
    }
}

#seminar main .cont table tbody td.detail .two-btn {
    display: inline-block;
}

@media only screen and (max-width:768px) {

    #seminar main .cont table tbody td.detail .full,
    #seminar main .cont table tbody td.detail .two-btn {
        overflow: hidden;
        display: block;
    }

    #seminar main .cont table tbody td.detail .btn {
        display: block;
        margin: 5px 0 0 0;
        width: 140px;
        float: left;
    }
}

#seminar main .cont table tbody td.detail .full {
    background: #96b0ac;
    border: 2px solid #96b0ac;
    border-radius: 6px;
    color: #fff;
    line-height: 1;
    padding: 12px;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
    margin: 5px 0 0 10px;
    display: inline-block;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td.detail .full {
        margin-left: 5px;
        width: 135px;
    }
}

#seminar main .cont table tbody td.detail .btn a {
    background: #00aaf0;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
    width: 140px;
}

#seminar main .cont table tbody td.detail .btn a::after {
    right: 10px;
}

#seminar main .cont table tbody td.detail .btn a:hover {
    background: #fff;
    color: #00aaf0;
}

#seminar main .cont table tbody td.detail .two-btn .btn:last-child a {
    background: #ff9600;
    border: 2px solid #ff9600;
    margin-left: 10px;
}

#seminar main .cont table tbody td.detail .two-btn .btn:last-child a:hover {
    background: #fff;
    color: #ff9600;
}

@media only screen and (max-width:768px) {
    #seminar main .cont table tbody td.detail .btn a {
        width: 135px;
    }

    #seminar main .cont table tbody td.detail .two-btn .btn:last-child a {
        margin-left: 5px;
    }
}

#seminar main #nav-bottom {
    border-top: 2px solid #efefef;
    padding-top: 40px;
}

#seminar main #nav-bottom .nav-list li a::after {
    content: "\f106";
}

#seminar.seminar-detail main .date {
    border: 2px solid #004ebe;
    color: #004ebe;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 30px;
    padding: 14px 0;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .date {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 20px;
        padding: 8px;
    }
}

#seminar.seminar-detail main .seminar-ttl {
    color: #004ebe;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .seminar-ttl {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 20px;
        padding: 14px 0 0;
    }
}

#seminar.seminar-detail main .img-main {
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .img-main {
        margin-bottom: 20px;
    }
}

#seminar.seminar-detail main .img-main img {
    display: block;
    margin: 0 auto;
}

#seminar.seminar-detail main .img-list {
    margin: 0 -41px 60px 0;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .img-list {
        margin: 0 0 30px 0;
    }
}

#seminar.seminar-detail main .img-list li {
    float: left;
    margin-right: 40px;
    width: 287px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .img-list li {
        float: none;
        margin: 0 0 20px 0;
        width: 100%;
    }
}

#seminar.seminar-detail main .img-list li .img {
    margin-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .img-list li .img {
        margin-bottom: 10px;
        text-align: center;
    }
}

#seminar.seminar-detail main .img-list li h3 {
    color: #004ebe;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .img-list li h3 {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 10px;
    }
}

#seminar.seminar-detail main .belongings {
    float: left;
    width: 288px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .belongings {
        float: none;
        margin-bottom: 30px;
        width: 100%;
    }
}

#seminar.seminar-detail main .belongings h2 {
    background: #004ebe;
    color: #fff;
    font-size: 20px;
    line-height: 40px;
    margin-bottom: 14px;
    padding-left: 78px;
    position: relative;
}

#seminar.seminar-detail main .belongings h2 img {
    bottom: 0;
    left: 10px;
    position: absolute;
}

#seminar.seminar-detail main .belongings .belongings-list {
    margin-bottom: 20px;
}

#seminar.seminar-detail main .belongings .belongings-list li {
    background: url(../images/common/ico-circle.png) left 5px no-repeat;
    font-weight: bold;
    margin-bottom: 10px;
    padding-left: 18px;
}

#seminar.seminar-detail main .belongings .belongings-list li .desc {
    font-size: 12px;
    font-weight: normal;
}

#seminar.seminar-detail main .venue {
    float: right;
    width: 613px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .venue {
        float: none;
        width: 100%;
    }
}

#seminar.seminar-detail main .venue h2 {
    background: #004ebe;
    color: #fff;
    font-size: 20px;
    line-height: 40px;
    margin-bottom: 14px;
    padding-left: 78px;
    position: relative;
}

#seminar.seminar-detail main .venue h2 img {
    bottom: 0;
    left: 20px;
    position: absolute;
}

#seminar.seminar-detail main .venue .venue-left {
    float: left;
    width: 373px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .venue .venue-left {
        float: none;
        margin-bottom: 20px;
        width: 100%;
    }
}

#seminar.seminar-detail main .venue .venue-left .address {
    margin-bottom: 15px;
}

#seminar.seminar-detail main .venue .venue-left .sub {
    background: #e5f6fd;
    padding: 14px;
}

#seminar.seminar-detail main .venue .venue-right {
    float: right;
    width: 220px;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .venue .venue-right {
        float: none;
        width: 100%;
    }
}

#seminar.seminar-detail main .venue .venue-right iframe {
    height: 220px !important;
    width: 220px !important;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .venue .venue-right iframe {
        height: 220px !important;
        width: 100% !important;
    }
}

#seminar.seminar-detail main .reserve {
    background: #eff3f2;
    margin: 50px 0;
    padding: 60px;
}

#seminar.seminar-detail main .reserve .buttonA {
    width: 100%;
    max-width: 600px;
    float: none;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .reserve {
        margin: 20px 0;
        padding: 20px 10px;
    }
}

#seminar.seminar-detail main .reserve .desc {
    margin-top: 25px;
    text-align: center;
}

#seminar.seminar-detail main .reserve .desc .fred {
    color: #ff0000;
}

#seminar.seminar-detail main .seminar-content h2 {
    background: #004ebe;
    color: #fff;
    font-size: 24px;
    margin-bottom: 30px;
    padding: 8px 0;
    text-align: center;
}

#seminar.seminar-detail main .seminar-content p {
    margin-bottom: 40px;
}

#seminar.seminar-detail main .seminar-content .iframe-wrap {
    max-width: 640px;
    margin: 0 auto 40px;
}

#seminar.seminar-detail main .seminar-content .iframe-content {
    position: relative;
    width: 100%;
    padding: 56.25% 0 0 0;
}

#seminar.seminar-detail main .seminar-content .iframe-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#seminar.seminar-detail main .seminar-content table {
    border-top: 2px solid #004ebe;
    border-left: 2px solid #004ebe;
    margin-bottom: 30px;
}

#seminar.seminar-detail main .seminar-content table th {
    background: #cceefc;
    border-bottom: 2px solid #004ebe;
    border-right: 2px solid #004ebe;
    color: #004ebe;
    font-weight: bold;
    padding: 8px;
    vertical-align: top;
}

#seminar.seminar-detail main .seminar-content table td {
    border-bottom: 2px solid #004ebe;
    border-right: 2px solid #004ebe;
    padding: 8px;
    vertical-align: top;
}

#seminar.seminar-detail main .seminar-content table td a {
    color: #00aaf0;
    text-decoration: underline;
}

#seminar.seminar-detail main .seminar-content table td a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #seminar.seminar-detail main .seminar-content h2 {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    #seminar.seminar-detail main .seminar-content p {
        margin-bottom: 20px;
    }

    #seminar.seminar-detail main .seminar-content table {
        margin-bottom: 20px;
    }

    #seminar.seminar-detail main .seminar-content table th {
        display: block;
    }

    #seminar.seminar-detail main .seminar-content table td {
        display: block;
    }
}

#seminar.seminar-detail main .seminar-content table td.sub {
    color: #004ebe;
    font-weight: bold;
}

#seminar.seminar-detail main .btn a {
    color: #fff;
    background: #00aaf0;
    margin: 0 auto;
}

#seminar.seminar-detail main .btn a:hover {
    color: #00aaf0;
    background: #fff;
}

#faq main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #faq main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#faq main .top-desc {
    margin-bottom: 40px;
}

#faq main .top-desc .desc {
    border-bottom: 1px solid #282828;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 50px;
    padding-bottom: 30px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #faq main .top-desc .desc {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px;
        padding-bottom: 20px;
        text-align: left;
    }
}

#agreement main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 100px;
}

@media only screen and (max-width:768px) {
    #agreement main {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 50px;
    }
}

#agreement main .top-desc {
    margin-bottom: 50px;
}

#agreement main .cont {
    margin-bottom: 40px;
}

#agreement main .cont h2 {
    color: #004ebe;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
}

@media only screen and (max-width:768px) {
    #agreement main .cont h2 {
        font-size: 18px;
        font-size: 1.8rem;
    }
}

#agreement main .cont p {
    margin-bottom: 30px;
    word-break: break-all;
}

#agreement main .cont p a {
    color: #00aaf0;
    text-decoration: underline;
}

#agreement main .cont p a:hover {
    text-decoration: none;
}

#company main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #company main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#company main #overview {
    padding-bottom: 50px;
}

#company main td .img {
    margin: 20px 0 10px 0;
}

#company main td .btn {
    margin-top: 10px;
}

#company main td .btn a {
    text-decoration: none;
}

#company main #history dt {
    color: #004ebe;
    font-weight: bold;
}

#company main #history dd {
    margin-bottom: 30px;
}

#privacy main {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media only screen and (max-width:768px) {
    #privacy main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#privacy #message {
    margin-bottom: 50px;
}

@media only screen and (max-width:768px) {
    #privacy #message {
        margin-bottom: 20px;
    }
}

#privacy #message .catch {
    background: url(../images/privacy/logo_ppp.png) left top no-repeat;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 50px;
    padding-left: 100px;
}

@media only screen and (max-width:768px) {
    #privacy #message .catch {
        background: url(../images/privacy/logo_ppp.png) top center no-repeat;
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px;
        padding: 100px 0 0 0;
    }
}

#privacy #message .txt {
    margin-bottom: 40px;
}

@media only screen and (max-width:768px) {
    #privacy #message .txt {
        margin-bottom: 20px;
    }
}

#privacy #message .list-decimal li {
    margin-bottom: 30px;
}

@media only screen and (max-width:768px) {
    #privacy #message .list-decimal li {
        margin-bottom: 20px;
    }
}

#privacy #message .signature {
    text-align: right;
}

#privacy #handling {
    font-size: 16px;
    font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
    #privacy #handling {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#contact main {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
    #contact main {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#contact main .desc {
    font-size: 20px;
    margin-bottom: 50px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #contact main .desc {
        font-size: 18px;
        font-size: 1.8rem;
        margin-bottom: 30px;
        padding: 0 20px;
        text-align: left;
    }
}

#contact main .tel-wrap {
    background: #e5f6fd;
    margin-bottom: 60px;
    padding: 40px 0;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #contact main .tel-wrap {
        margin-bottom: 30px;
        padding: 40px 20px;
    }
}

#contact main .tel-wrap .ttl {
    color: #004ebe;
    margin-bottom: 10px;
}

#contact main .tel-wrap .img {
    margin-bottom: 15px;
}

#contact main .tel-wrap .time {
    border-bottom: 2px solid #004ebe;
    border-top: 2px solid #004ebe;
    line-height: 34px;
    margin: 0 auto;
    width: 330px;
}

@media only screen and (max-width:768px) {
    #contact main .tel-wrap .time {
        width: 100%;
    }
}

#contact main .flow {
    margin-bottom: 50px;
}

#contact main .flow .flow-list {
    margin-bottom: 40px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #contact main .flow .flow-list {
        margin: 0 auto;
        width: 300px;
    }
}

#contact main .flow .flow-list li {
    background: #fff;
    border: 2px solid #004ebe;
    color: #004ebe;
    display: inline-block;
    line-height: 60px;
    font-size: 20px;
    position: relative;
    width: 140px;
    z-index: 10;
}

#contact main .flow .flow-list li.current {
    background: #004ebe;
    color: #fff;
}

@media only screen and (max-width:768px) {
    #contact main .flow .flow-list li {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 50px;
        width: 19%;
    }
}

#contact main .flow .flow-list li.arrow {
    background: none;
    border: 0;
    margin: 0 0 0 -6px;
    width: auto;
    z-index: 1;
}

@media only screen and (max-width:768px) {
    #contact main .flow .flow-list li.arrow {
        width: 19%;
    }
}

#contact main .flow .flow-list li.arrow img {
    vertical-align: middle;
}

#contact main .flow .txt {
    text-align: center;
}

#contact main .attention-txt {
    margin-bottom: 30px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #contact main .attention-txt {
        padding: 0 10px;
        text-align: left;
    }
}

#contact main .form {
    margin-bottom: 80px;
}

#contact main .form .error-msg {
    margin: 0 auto 20px;
    padding: 10px;
    max-width: 360px;
}

.mw_wp_form .error {
    color: #e73656 !important;
    display: inline-block !important;
    padding: 0px 10px;
    border: #e73656 1px solid;
}

#contact main .form table {
    margin-bottom: 80px;
    width: 100%;
}

@media only screen and (max-width:768px) {
    #contact main .form table {
        margin-bottom: 40px;
    }
}

#contact main .form table th {
    border-bottom: 2px solid #eaefee;
    padding: 20px 0;
    vertical-align: top;
    width: 330px;
}

@media only screen and (max-width:768px) {
    #contact main .form table th {
        border: 0;
        display: block;
        padding: 20px 0 0 0;
        width: 100%;
    }
}

#contact main .form table th .required,
#contact main .form table th .any {
    background: #e73656;
    color: #fff;
    display: inline-block;
    height: 44px;
    line-height: 44px;
    margin-right: 20px;
    text-align: center;
    width: 44px;
}

#contact main .form table th .any {
    background: #eaefee;
    color: #000
}

#contact main .form table th .sml {
    font-size: 12px;
}

#contact main .form table td {
    border-bottom: 2px solid #eaefee;
    padding: 20px 0;
}

@media only screen and (max-width:768px) {
    #contact main .form table td {
        display: block;
        width: 100%;
    }
}

#contact main .form table td input,
#contact main .form table td select,
#contact main .form table td textarea {
    background: #eaefee;
    border: 0;
    padding: 12px;
}

@media only screen and (max-width:768px) {

    #contact main .form table td input,
    #contact main .form table td select,
    #contact main .form table td textarea {
        width: 100%;
    }
}

#contact main .form table td select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/contact/ico-select-arrow.png) right 0 no-repeat #eaefee;
    border-radius: 0;
}

#contact main .form table td .w110 {
    width: 110px;
}

#contact main .form table td .w140 {
    width: 140px;
}

#contact main .form table td .w295 {
    width: 295px;
}

#contact main .form table td .w300 {
    width: 300px;
}

#contact main .form table td .w340 {
    width: 340px;
}

#contact main .form table td .w610 {
    width: 610px;
}

#contact main .form table td textarea {
    resize: vertical;
    width: 100%;
}

@media only screen and (max-width:768px) {
    #contact main .form table td input {
        margin: 0 !important;
        margin-bottom: 10px !important;
    }

    #contact main .form table td .w110 {
        width: 110px;
    }

    #contact main .form table td .w140 {
        width: 140px;
    }

    #contact main .form table td .w295 {
        width: 295px;
    }

    #contact main .form table td .w300 {
        width: 300px;
    }

    #contact main .form table td .w340 {
        width: 100%;
    }

    #contact main .form table td .w610 {
        width: 100%;
    }
}

#contact main .form table tr:first-child th,
#contact main .form table tr:first-child td {
    border-top: 2px solid #eaefee;
}

@media only screen and (max-width:768px) {
    #contact main .form table tr:first-child td {
        border-top: 0;
    }
}

#contact main .mwform-radio-field input {
    display: none;
}

#contact main .mwform-radio-field label {
    display: inline-block;
    position: relative;
    cursor: pointer;
    margin-left: 20px;
    padding: 10px 20px;
    border-radius: 2px;
    color: #3e4956;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1;
}

#contact main .mwform-radio-field label::before {
    position: absolute;
    content: "";
    top: 50%;
    left: -10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #eaefee;
    border-radius: 50%;
}

#contact main .mwform-radio-field input[type="radio"]:checked+span::after {
    position: absolute;
    content: "";
    top: 50%;
    left: -5px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-radius: 50%;
    background: #00aaf0;
    z-index: 1000;
}

#contact main .form .privacy {
    margin-bottom: 30px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #contact main .form .privacy {
        text-align: left;
    }
}

#contact main .form .privacy a {
    color: #00aaf0;
    text-decoration: underline;
}

#contact main .form .privacy a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #contact main .form table .tr-tel input {
        margin: 1% !important;
        width: 40%;
    }
}

@media only screen and (max-width:768px) {
    #contact main .form table .tr-address input:first-child {
        margin: 0 10px !important;
    }
}

#contact main .btn-back {
    margin-top: 30px;
}

#contact main .btn-back .buttonA {
    background: #666;
    border-bottom: 4px solid #333;
}

#contact main .send-area {
    margin: 40px 0;
    text-align: center;
}

#about main {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#about main #nav .txt {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 50px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #nav .txt {
        font-size: 14px;
        font-size: 1.4rem;
        margin-bottom: 20px;
        text-align: left;
    }
}

#about main #nav .nav-list {
    margin: 20px -10px 60px -10px;
}

@media only screen and (max-width:768px) {
    #about main #nav .nav-list {
        margin: 20px -10px 10px -10px;
    }
}

#about main #nav .nav-list li {
    width: 25%;
    float: left;
    padding: 0 10px;
}

@media only screen and (max-width:768px) {
    #about main #nav .nav-list li {
        width: 50%;
        float: left;
        margin-bottom: 10px;
        padding: 0 10px;
    }
}

#about main #nav .nav-list li a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    color: #00aaf0;
    border: 2px solid #00aaf0;
    border-radius: 4px;
    font-weight: bold;
    padding: 12px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #about main #nav .nav-list li a {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#about main #nav .nav-list li a::before {
    position: absolute;
    font-size: 12px;
    font-size: 1.2rem;
    right: 14px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f078";
}

@media only screen and (max-width:768px) {
    #about main #nav .nav-list li a::before {
        right: 7px;
    }
}

#about main #nav .nav-list li a:hover {
    color: #fff;
    background: #00aaf0;
}

#about main #service .ttl-blue-line {
    margin-bottom: 0;
}

#about main #service .cont {
    padding: 40px 0;
}

@media only screen and (max-width:768px) {
    #about main #service .cont {
        padding: 20px 0;
    }
}

#about main #service .cont .iframe-wrap {
    max-width: 640px;
    margin: 0 auto;
}

#about main #service .cont .iframe-content {
    position: relative;
    width: 100%;
    padding: 56.25% 0 0 0;
}

#about main #service .cont .iframe-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#about main #service .cont .img {
    margin-bottom: 30px;
    text-align: center;
}

#about main #service .cont .txt {
    font-size: 20px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #service .cont .txt {
        font-size: 12px;
        font-size: 1.2rem;
        text-align: left;
    }

    #about main #service .cont iframe {
        width: 100% !important;
    }
}

#about main #merit .ttl-blue-line {
    margin-bottom: 0;
}

#about main #merit .merit-list {
    margin: 0 -20px 22px;
    padding: 14px 0 0;
    letter-spacing: -1em;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #merit .merit-list {
        margin: 0;
        padding: 14px 0 0;
        letter-spacing: -1em;
        text-align: center;
    }
}

#about main #merit .merit-list li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    width: 33.33333%;
    text-align: left;
    padding: 20px;
}

@media only screen and (max-width:768px) {
    #about main #merit .merit-list li {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 100%;
        text-align: center;
        padding: 0 20px 20px;
    }

    #about main #merit .merit-list li .txt {
        text-align: left;
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#about main #merit .merit-list li .img {
    margin-bottom: 30px;
}

@media only screen and (max-width:768px) {
    #about main #merit .merit-list li .img {
        margin-bottom: 20px;
    }
}

#about main #flow .ttl-blue-line {
    margin-bottom: 0;
}

#about main #flow .flow-list {
    margin: 0 -20px 22px;
    padding: 14px 0 0;
    letter-spacing: -1em;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #flow .flow-list {
        margin: 0;
        padding: 14px 0 0;
        letter-spacing: -1em;
        text-align: center;
    }
}

#about main #flow .flow-list li {
    letter-spacing: normal;
    display: inline-block;
    vertical-align: top;
    width: 33.33333%;
    text-align: left;
    padding: 20px;
}

@media only screen and (max-width:768px) {
    #about main #flow .flow-list li {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        width: 100%;
        text-align: center;
        padding: 0 20px 20px;
    }

    #about main #flow .flow-list li .txt {
        text-align: left;
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#about main #flow .flow-list li .img {
    margin-bottom: 20px;
}

#about main #flow .flow-list li .catch {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

#about main #feature .desc {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #flow .flow-list li .catch {
        font-size: 16px;
        font-size: 1.6rem;
    }

    #about main #feature .desc {
        font-size: 12px;
        font-size: 1.2rem;
        margin-bottom: 20px;
        text-align: left;
        padding: 14px 0 0;
    }
}

#about main #feature .cont {
    margin-bottom: 50px;
}

#about main #feature .cont h2 {
    background: url(../images/about/bg-about-line-ttl.png) center center no-repeat;
    color: #004ebe;
    font-size: 30px;
    font-weight: bold;
    line-height: 39px;
    margin-bottom: 20px;
    text-align: center;
}

@media only screen and (max-width:768px) {
    #about main #feature .cont h2 {
        background: url(../images/about/bg-about-line-ttl.png) center center no-repeat;
        background-size: 600px 26px;
        color: #004ebe;
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 39px;
        margin-bottom: 20px;
        text-align: center;
    }
}

#about main #feature .cont .left {
    float: left;
    margin-right: 40px;
    width: 260px;
}

@media only screen and (max-width:768px) {
    #about main #feature .cont .left {
        float: none;
        margin: 0 0 20px 0;
        width: 100%;
    }
}

#about main #feature .cont .left h3 {
    background: #96b0ac;
    color: #fff;
    line-height: 40px;
    margin-bottom: 16px;
    position: relative;
    text-align: center;
}

#about main #feature .cont .left h3::after {
    position: absolute;
    top: 100%;
    content: "";
    width: 0;
    height: 0;
    right: 20px;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-color: #96b0ac transparent transparent transparent;
}

#about main #feature .cont .left .catch {
    color: #96b0ac;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

#about main #feature .cont .center {
    float: left;
    width: 340px;
}

@media only screen and (max-width:768px) {
    #about main #feature .cont .left .catch {
        font-size: 16px;
        font-size: 1.6rem;
    }

    #about main #feature .cont .left .txt {
        font-size: 12px;
        font-size: 1.2rem;
    }

    #about main #feature .cont .center {
        float: none;
        margin-bottom: 20px;
        width: 100%;
    }
}

#about main #feature .cont .center h3 {
    background: #004ebe;
    color: #fff;
    line-height: 40px;
    margin-bottom: 16px;
    position: relative;
    text-align: center;
}

#about main #feature .cont .center h3::after {
    position: absolute;
    top: 100%;
    content: "";
    width: 0;
    height: 0;
    right: 20px;
    border-style: solid;
    border-width: 10px 10px 0 0;
    border-color: #004ebe transparent transparent transparent;
}

#about main #feature .cont .center .catch {
    color: #004ebe;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

@media only screen and (max-width:768px) {
    #about main #feature .cont .center .catch {
        font-size: 16px;
        font-size: 1.6rem;
    }

    #about main #feature .cont .center .txt {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#about main #feature .cont .right {
    float: right;
    width: 260px;
}

@media only screen and (max-width:768px) {
    #about main #feature .cont .right {
        float: none;
        text-align: center;
        width: 100%;
    }
}

#about main .bottom-nav-link {
    padding-bottom: 40px;
}

@media only screen and (max-width:768px) {
    #about main .bottom-nav-link {
        padding-bottom: 20px;
    }
}

#feature-top p {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#feature-top p {
    margin-bottom: 20px;
}

#feature-top h3 {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 30px;
    text-align: center;
}

#feature-top .desc {
    font-weight: bold;
    margin-bottom: 60px;
    text-align: center;
}

#index #feature-top .desc {
    margin: 40px 0;
}

#feature-top .feature-list {
    margin: 0 -20px 80px 0;
}

#feature-top .feature-list li {
    float: left;
    margin: 0 20px 20px 0;
    width: 220px;
}

#feature-top .feature-list li:nth-child(5) {
    margin: -72px 20px 0 118px;
}

#feature-top .feature-list li:nth-child(6),
#feature-top .feature-list li:nth-child(7) {
    margin: -72px 20px 0 0;
}

#feature-top .feature-list li a {
    background: url(../images/feature/bg-feature-list-off.png) center center no-repeat;
    display: block;
    height: 260px;
    padding-top: 50px;
    text-align: center;
}

#feature-top .feature-list li a:hover {
    background: url(../images/feature/bg-feature-list-on.png) center center no-repeat;
    padding-top: 54px;
}

@media only screen and (max-width:768px) {
    #feature-top p {
        font-size: 12px;
        font-size: 1.2rem;
    }

    #feature-top h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    #feature-top .desc {
        margin-bottom: 30px;
        text-align: left;
    }

    #index #feature-top .desc {
        margin: 20px 0;
        text-align: left;
    }

    #feature-top .feature-list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 30px 0;
        text-align: center;
    }

    #feature-top .feature-list li {
        float: none;
        margin: 0 2% 10px 0 !important;
        width: 32%;
    }

    #feature-top .feature-list li:nth-child(3n) {
        margin-right: 0 !important;
    }

    #feature-top .feature-list li a {
        background: none;
        display: block;
        height: auto;
        padding-top: 0;
        text-align: center;
    }

    #feature-top .feature-list li a:hover {
        background: none;
        padding-top: 0;
    }

    #feature-top .feature-list li a img {
        width: auto;
    }
}

#feature-detail p {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

@media only screen and (max-width:768px) {
    #feature-detail p {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#feature-detail p {
    margin-bottom: 20px;
}

#feature-detail .nav {
    margin-bottom: 0;
}

#feature-detail .nav .nav-list {
    margin: 40px -10px;
}

@media only screen and (max-width:768px) {
    #feature-detail .nav .nav-list {
        margin: 20px -10px;
    }
}

#feature-detail .nav .nav-list li {
    width: 25%;
    float: left;
    padding: 10px;
}

@media only screen and (max-width:768px) {
    #feature-detail .nav .nav-list li {
        width: 50%;
        float: left;
        padding: 10px;
    }
}

#feature-detail .nav .nav-list li a {
    position: relative;
    display: block;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: center;
    background: #fff;
    color: #00aaf0;
    border: 2px solid #00aaf0;
    border-radius: 4px;
    font-weight: bold;
    padding: 12px;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
}

@media only screen and (max-width:768px) {
    #feature-detail .nav .nav-list li a {
        font-size: 12px;
        font-size: 1.2rem;
        padding: 6px;
    }
}

#feature-detail .nav .nav-list li a::after {
    position: absolute;
    font-size: 18px;
    font-size: 1.8rem;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    font-family: "FontAwesome";
    content: "\f105";
}

@media only screen and (max-width:768px) {
    #feature-detail .nav .nav-list li a::after {
        right: 10px;
    }
}

#feature-detail .nav .nav-list li.current a,
#feature-detail .nav .nav-list li a:hover {
    color: #fff;
    background: #00aaf0;
}

#feature-detail .cont {
    padding: 40px 0;
}

@media only screen and (max-width:768px) {
    #feature-detail .cont {
        padding: 20px 0;
    }
}

#feature-detail .cont.cont01 {}

#feature-detail .cont.cont01 .ttl-feature-cat {
    color: #004ebe;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 10px 0 0 90px;
}

@media only screen and (max-width:768px) {
    #feature-detail .cont.cont01 .ttl-feature-cat {
        font-size: 18px;
    }
}

#feature-detail .cont.cont01 .txt {
    font-size: 20px;
}

@media only screen and (max-width:768px) {
    #feature-detail .cont.cont01 .txt {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

#feature-detail .cont .img {
    text-align: center;
}

#feature-detail .table-line {
    border-top: 1px solid #004ebe;
}

#feature-detail .table-line th {
    border-bottom: 1px solid #004ebe;
    color: #004ebe;
    font-size: 20px;
    font-weight: bold;
    padding: 14px 0;
    vertical-align: top;
    width: 270px;
}

#feature-detail .table-line td {
    border-bottom: 1px solid #004ebe;
    font-size: 16px;
    font-size: 1.6rem;
    padding: 14px 0;
}

@media only screen and (max-width:768px) {
    #feature-detail .table-line th {
        display: block;
        border-bottom: 0;
        font-size: 18px;
        padding: 10px 0 0 0;
        width: 100%;
    }

    #feature-detail .table-line td {
        display: block;
        padding: 10px 0;
    }
}

#feature-detail.fe-telecom .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-telecom.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-telecom .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-telecom.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-bio .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-bio.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-bio .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-bio.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-machine .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-machine.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-machine .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-machine.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-physics .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-physics.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-physics .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-physics.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-architecture .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-architecture.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-architecture .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-architecture.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-chemistry .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-chemistry.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-chemistry .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-chemistry.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#feature-detail.fe-other .cont.cont01 .ttl-feature-cat {
    background: url(../images/feature/ico-feature-other.png) left bottom no-repeat;
    background-size: auto 100%;
    padding: 30px 0 10px 80px;
}

@media only screen and (max-width:768px) {
    #feature-detail.fe-other .cont.cont01 .ttl-feature-cat {
        background: url(../images/feature/ico-feature-other.png) left bottom no-repeat;
        background-size: 40px;
        padding: 10px 0 10px 50px;
    }
}

#archive {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#archive p {
    margin-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #archive {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#archive.archive-reason {}

#archive.archive-reason h2 {
    margin-top: 40px;
}

#archive.archive-reason p.li01,
#archive.archive-reason p.li02 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.archive-reason .reason-top-list {}

#archive.archive-reason .reason-top-list li {
    border: 1px solid #ccc;
    border: 1px solid #004ebe;
    margin-bottom: 20px;
    padding: 20px;
}

#archive.archive-reason .reason-top-list li h2 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    padding-left: 10px;
}

#archive.archive-reason .reason-top-list li p {}

#archive.archive-reason .reason-top-list li p.link {
    margin: 0;
    text-align: right;
}

#archive.archive-reason .reason-top-list li p.link a {}

#archive.archive-reason .reason-list {
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#archive.archive-reason .reason-list li {
    display: inline-block;
    margin: 4px 0;
    width: 32%;
    font-size: 13px;
}

@media only screen and (max-width:768px) {
    #archive.archive-reason .inner {
        margin-bottom: 40px;
        /* margin-bottom: 0; */
    }

    #archive.archive-reason h2.ttl-check+p {
        position: relative;
        margin-bottom: 0;
    }

    #archive.archive-reason h2.ttl-check+p::after {
        position: absolute;
        content: "\f105";
        top: 50%;
        right: 0;
        margin-top: -15px;
        width: 30px;
        height: 30px;
        background: #00aaf0;
        border-radius: 50%;
        line-height: 30px;
        text-align: center;
        color: #fff;
        font-family: "FontAwesome";
        font-size: 11px;
        font-weight: bold;
        transform: rotate(90deg);
    }

    #archive.archive-reason h2.ttl-check+p.rotate::after {
        transform: rotate(-90deg);
    }

    #archive.archive-reason .reason-list {
        display: none;
        padding: 5px 10px;
    }

    #archive.archive-reason .reason-list li {
        width: 100%;
        font-size: 16px;
    }
}

#archive.archive-reason li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.archive-reason li a:hover {
    text-decoration: none;
}

#taxonomy {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#taxonomy p {
    margin-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #taxonomy {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#taxonomy .column1 {
    margin-bottom: 20px;
}

#taxonomy .column1 .line_box {
    border: 1px solid #ccc;
    padding: 10px;
}

#taxonomy .column1 .line_box h3 {
    border-left: 6px solid #F39B08;
    font-weight: bold;
    margin: 5px 0;
    padding-left: 10px;
}

#taxonomy .column1 .line_box p {
    margin: 0;
}

#taxonomy .column1 .line_box p:first-child {
    margin-bottom: 20px;
}

#taxonomy.taxonomy-grossary #pankuzu .inner,
#taxonomy.taxonomy-industry #pankuzu .inner {
    margin-bottom: 0;
}

#taxonomy.taxonomy-grossary .inner,
#taxonomy.taxonomy-industry .inner {
    margin-bottom: 50px;
}

#taxonomy.taxonomy-grossary .inner ul li,
#taxonomy.taxonomy-industry .inner ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#taxonomy.taxonomy-grossary .inner ul li a,
#taxonomy.taxonomy-industry .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#taxonomy.taxonomy-grossary .inner ul li a:hover,
#taxonomy.taxonomy-industry .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {

    #taxonomy.taxonomy-grossary .inner ul li,
    #taxonomy.taxonomy-industry .inner ul li {
        width: 100%;
    }
}

#taxonomy .pagenation {
    margin: 0 auto 20px;
    max-width: 960px;
}

#taxonomy .pagenation ul {
    text-align: center;
}

#taxonomy .pagenation ul li {
    display: inline-block;
    margin-right: 10px;
}

#taxonomy .pagenation ul li:last-child {
    margin-right: 0;
}

#taxonomy .pagenation ul li span,
#taxonomy .pagenation ul li a {
    display: block;
    padding: 5px 10px;
    border: #00aaf0 1px solid;
    color: #00aaf0;
}

#taxonomy .pagenation ul li a:hover,
#taxonomy .pagenation ul li span.current {
    background: #00aaf0;
    color: #fff;
}

@media only screen and (max-width:768px) {
    #taxonomy .pagenation ul li {
        margin-right: 5px;
    }
}

#single-template.single-reason .inner a {
    color: #00aaf0;
    text-decoration: underline;
}

#single-template.single-reason .inner a:hover {
    text-decoration: none;
}

#single-template.single-reason #bottom-banner {
    margin-top: 40px;
}

#single-template {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#single-template p.guide_title {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#single-template p {
    margin-bottom: 20px;
}

#single-template .inner a {}

#single-template .reserve .buttonA {
    float: none;
    margin: 0 auto;
}

#single-template:not(.single-reason) h1+.inner {
    margin-bottom: 50px;
}

#single-template h2 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#single-template h3 {
    margin-bottom: 0;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
}

@media only screen and (max-width:768px) {
    #single-template {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#page-template {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#page-template p {
    margin-bottom: 20px;
}

#page-template a {
    color: #00aaf0;
    text-decoration: underline;
}

#page-template a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #page-template {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#page-template.exam_book #main_wrap {
    margin-bottom: 50px;
}

#page-template.exam_book #main_wrap .reads_box {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #ccc;
}

#page-template.exam_book #main_wrap .reads_box:last-of-type {
    margin-bottom: 0;
}

#page-template.exam_book #main_wrap .reads_box .box_list .line_box h3 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    padding-left: 10px;
}

#page-template.exam_book #main_wrap .reads_box .box_list .line_box h3 a {
    color: #000;
}

#page-template.exam_book #main_wrap .reads_box .box_list .line_box .box_texts p.link {
    margin-bottom: 0;
    text-align: right;
}

@media screen and (max-width:767px) {
    #page-template.exam_book #main_wrap .reads_box {
        padding: 10px;
    }

    #page-template.exam_book #main_wrap .reads_box .box_list .line_box h3 {
        font-size: 14px;
        font-size: 1.4rem;
    }
}

#archive.grossary .cat-list>li.cat-item {
    margin-bottom: 30px;
}

#archive.grossary .cat-list>li.cat-item>a {
    color: #2A3EB1;
    font-size: 20px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 5px;
}

#archive.grossary .cat-list>li.cat-item>a::before {
    content: '■';
}

#archive.grossary .cat-list a {
    text-decoration: underline;
}

#archive.grossary .cat-list a:hover {
    text-decoration: none;
}

#archive.grossary .cat-list>li.cat-item ul.children li {
    display: inline-block;
    line-height: 2.0;
    width: 33%;
}

@media only screen and (max-width:768px) {
    #archive.grossary .cat-list>li.cat-item ul.children li {
        width: 100%;
    }
}

#archive.grossary .cat-list>li.cat-item ul.children li a {
    color: #00aaf0;
}

#archive {
    line-height: 1.5;
    font-size: 16px;
    font-size: 1.6rem;
}

#archive p {
    margin-bottom: 20px;
}

@media only screen and (max-width:768px) {
    #archive {
        font-size: 12px;
        font-size: 1.2rem;
    }
}

#archive.line #pankuzu .inner {
    margin-bottom: 0;
}

#archive.line .inner {
    margin-bottom: 50px;
}

#archive.line .inner ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#archive.line .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.line .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.line .inner ul li {
        width: 100%;
    }
}

#archive.service_pickup .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.service_pickup .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px;
    border: #ccc 4px solid;
}

#archive.service_pickup .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.service_pickup .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.service_pickup .info_wrap .inner .table_box01 table.link {
    border: 5px solid #ececec;
}

#archive.service_pickup .info_wrap .inner .table_box01 table.link tr th,
#archive.service_pickup .info_wrap .inner .table_box01 table.link tr td {
    padding: 10px;
    border-bottom: 5px solid #ececec;
}

#archive.service_pickup .info_wrap .inner .table_box01 table.link tr th {
    width: 20%;
    border-right: 5px solid #ececec;
    text-align: center;
    font-weight: bold;
}

#archive.service_pickup .info_wrap .inner .table_box01 table.link+p {
    margin-bottom: 0;
    padding: 5px 10px;
    background: #ececec;
}

@media only screen and (max-width:768px) {
    #archive.service_pickup .info_wrap {
        padding: 0 10px;
    }

    #archive.service_pickup .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
    }

    #archive.service_pickup .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.service_pickup .info_wrap .inner .table_box01 table.link tr th,
    #archive.service_pickup .info_wrap .inner .table_box01 table.link tr td {
        display: block;
        width: 100%;
    }

    #archive.service_pickup .info_wrap .inner .table_box01 table.link tr th {
        border-right: none;
        text-align: left;
    }

    #archive.service_pickup .info_wrap .inner .table_box01 table.link+p {
        margin-bottom: 0;
        padding: 0px 10px 5px;
    }
}

#single-template.service_pickup h1.page-ttl+.inner {
    margin-bottom: 50px;
}

#single-template.service_pickup .inner .table_box01 table.link {
    border: 5px solid #ececec;
}

#single-template.service_pickup .inner .table_box01 table.link tr th,
#single-template.service_pickup .inner .table_box01 table.link tr td {
    padding: 10px;
    border-bottom: 5px solid #ececec;
}

#single-template.service_pickup .inner .table_box01 table.link tr th {
    width: 20%;
    border-right: 5px solid #ececec;
    text-align: center;
    font-weight: bold;
}

#single-template.service_pickup .inner .table_box01 table.link+p {
    margin-bottom: 0;
    padding: 5px 10px;
    background: #ececec;
}

@media screen and (max-width:767px) {
    #single-template.service_pickup .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
    }

    #single-template.service_pickup h1.page-ttl+.inner {
        margin-bottom: 35px;
    }

    #single-template.service_pickup .inner .table_box01 table.link tr th,
    #single-template.service_pickup .inner .table_box01 table.link tr td {
        display: block;
        width: 100%;
    }

    #single-template.service_pickup .inner .table_box01 table.link tr th {
        border-right: none;
        text-align: left;
    }

    #single-template.service_pickup .inner .table_box01 table.link+p {
        margin-bottom: 0;
        padding: 0px 10px 5px;
    }
}

#archive.column .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.column .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.column .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.column .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.column .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.column .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.column .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.column .info_wrap {
        padding: 0 10px;
    }

    #archive.column .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
    }

    #archive.column .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.column .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.press .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.press .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.press .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.press .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.press .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.press .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.press .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.press .info_wrap {
        padding: 0 10px;
    }

    #archive.press .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.press .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.press .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.seminar .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.seminar .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.seminar .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.seminar .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.seminar .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.seminar .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.seminar .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.seminar .info_wrap {
        padding: 0 10px;
    }

    #archive.seminar .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.seminar .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.seminar .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.sguide .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.sguide .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.sguide .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.sguide .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.sguide .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.sguide .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.sguide .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.sguide .info_wrap {
        padding: 0 10px;
    }

    #archive.sguide .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.sguide .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.sguide .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

.info_wrap .pagenation {
    margin: 0 auto 20px;
    max-width: 960px;
}

.info_wrap .pagenation ul {
    text-align: center;
}

.info_wrap .pagenation ul li {
    display: inline-block;
    margin-right: 10px;
}

.info_wrap .pagenation ul li:last-child {
    margin-right: 0;
}

.info_wrap .pagenation ul li span,
.info_wrap .pagenation ul li a {
    display: block;
    padding: 5px 10px;
    border: #00aaf0 1px solid;
    color: #00aaf0;
}

.info_wrap .pagenation ul li a:hover,
.info_wrap .pagenation ul li span.current {
    background: #00aaf0;
    color: #fff;
}

@media only screen and (max-width:768px) {
    .info_wrap .pagenation ul li {
        margin-right: 5px;
    }
}

#archive.pr h1.page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.pr .inner ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#archive.pr .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.pr .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.pr h1.page-ttl+.inner {
        margin-bottom: 35px;
    }

    #archive.pr .inner ul li {
        width: 100%;
    }
}

#archive.hensati h1.page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.hensati .inner h2 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.hensati .inner .rank_wrap {
    margin-bottom: 40px;
}

#archive.hensati .inner .rank_wrap h3 {
    font-weight: bold;
}

#archive.hensati .inner .rank_wrap ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#archive.hensati .inner ul.link_wrap li:first-child {
    margin-bottom: 10px;
}

#archive.hensati .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.hensati .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.hensati h1.page-ttl+.inner {
        margin-bottom: 35px;
    }

    #archive.hensati .inner .rank_wrap ul li {
        width: 100%;
    }
}

#archive.casestudy .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.casestudy .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.casestudy .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.casestudy .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.casestudy .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.casestudy .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.casestudy .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.casestudy .info_wrap {
        padding: 0 10px;
    }

    #archive.casestudy .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.casestudy .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.casestudy .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.ranking h1.page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.ranking .inner h2 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.ranking .inner.mb40 {
    margin-bottom: 40px;
}

#archive.ranking .inner .rank_wrap {
    margin-bottom: 10px;
}

#archive.ranking .inner .rank_wrap h3 {
    font-weight: bold;
}

#archive.ranking .inner .rank_wrap ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#archive.ranking .inner ul.link_wrap li:first-child {
    margin-bottom: 10px;
}

#archive.ranking .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.ranking .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.ranking h1.page-ttl+.inner {
        margin-bottom: 35px;
    }

    #archive.ranking .inner .rank_wrap ul li {
        width: 100%;
    }
}

#archive.service_student .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.service_student .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.service_student .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.service_student .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.service_student .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.service_student .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.service_student .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.service_student .info_wrap {
        padding: 0 10px;
    }

    #archive.service_student .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.service_student .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.service_student .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.sigotohyaka h1.page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.sigotohyaka .inner h2 {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.sigotohyaka .inner.mb40 {
    margin-bottom: 40px;
}

#archive.sigotohyaka .inner .rank_wrap {
    margin-bottom: 30px;
}

#archive.sigotohyaka .inner .rank_wrap h3 {
    font-weight: bold;
}

#archive.sigotohyaka .inner .rank_wrap ul li {
    display: inline-block;
    margin: 4px 0;
    width: 33%;
}

#archive.sigotohyaka .inner ul.link_wrap li:first-child {
    margin-bottom: 10px;
}

#archive.sigotohyaka .inner ul li a {
    color: #00aaf0;
    text-decoration: underline;
}

#archive.sigotohyaka .inner ul li a:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.sigotohyaka h1.page-ttl+.inner {
        margin-bottom: 35px;
    }

    #archive.sigotohyaka .inner .rank_wrap ul li {
        width: 100%;
    }
}

#archive.news .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.news .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
}

#archive.news .info_wrap .inner p.date {
    margin-bottom: 10px;
}

#archive.news .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.news .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.news .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.news .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.news .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.news .info_wrap {
        padding: 0 10px;
    }

    #archive.news .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.news .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.news .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}

#archive.report .page-ttl+.inner {
    margin-bottom: 50px;
}

#archive.report .info_wrap .inner {
    margin-bottom: 40px;
    padding: 20px 20px 0 20px;
    border: #ccc 1px solid;
    /*color:*/
}

#archive.report .info_wrap .inner p.date {
    margin-bottom: 10px;
}

#archive.report .info_wrap .inner p.ttl {
    border-left: 4px solid #F39B08;
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 10px 0;
    padding-left: 10px;
}

#archive.report .info_wrap .inner p.ttl a:hover {
    text-decoration: underline;
}

#archive.report .info_wrap .inner .box_texts {
    margin-bottom: 20px;
}

#archive.report .info_wrap .inner a.more-link {
    display: block;
    margin-left: auto;
    width: 80px;
    color: #00aaf0;
    text-decoration: underline;
}

#archive.report .info_wrap .inner a.more-link:hover {
    text-decoration: none;
}

@media only screen and (max-width:768px) {
    #archive.report .info_wrap {
        padding: 0 10px;
    }

    #archive.report .info_wrap .inner {
        margin-bottom: 20px;
        padding: 10px;
        word-break: break-all;
    }

    #archive.report .info_wrap .inner p.ttl a {
        text-decoration: underline;
    }

    #archive.report .info_wrap .inner p:last-child {
        margin-bottom: 0;
    }
}



.inner p a {
    color: #00AAF0;
    text-decoration: underline;

}

.inner p a:hover {
    text-decoration: none;
}

.inner p {
    font-size: 16px;
    line-height: 1.5;
}

/*
* 志望動機の書き方・例文 スタイル追加(2019.12)
*/

.archive-reason,
.single-reason {
    /* font-family: -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Tahoma",
    "Hiragino Kaku Gothic ProN",
    "メイリオ",
    "Meiryo",
    sans-serif; */
    letter-spacing: 1px;
}

.archive-reason .inner,
.single-reason .inner {
    padding: 0 48px;
    width: 100%;
}

.archive-reason .page-ttl {
    margin-bottom: 24px;
}

/* .archive-reason .reason-top-list li {
  display: flex;
  justify-content: space-around;

}*/

.archive-reason .reason-top-list li .reason-top-list-img {
    width: 38%;
}

.archive-reason .reason-top-list li .reason-top-list-text {
    width: 56%;
}

#archive.archive-reason .reason-top-list li .reason-top-list-text a {
    color: #000;
}

.archive-reason .inner.entry-content,
.single-reason .inner.entry-content {
    border-top: 2px solid rgba(255, 255, 255, 0);
    padding-top: 24px;
}

.single-reason .inner.image-content {
    padding-top: 16px;
    padding-bottom: 16px;
}

.archive-reason .inner.entry-content::before,
.single-reason.reason_wakariyasuku .inner.entry-content::before,
.single-reason.not_interview .inner.entry-content::before,
.single-reason.reason_weak .inner.entry-content::before,
.single-reason.reason_3techni .inner.entry-content::before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #efefef;
    position: relative;
    top: -24px;
}

.archive-reason .inner,
.archive-reason .inner p,
.single-reason .inner,
.single-reason .inner p {
    line-height: 1.6;
    font-size: 18px;
    text-align: justify;
}

.single-reason .inner .post-modify-date {
    display: block;
    text-align: right;
    margin-bottom: 12px;
    color: #7F7F7F;
    font-size: 16px;
}

@media only screen and (max-width: 768px) {

    .archive-reason .inner,
    .single-reason .inner {
        padding: 0 32px;
    }

    .archive-reason .inner,
    .archive-reason .inner p,
    .single-reason .inner,
    .single-reason .inner p {
        font-size: 16px;
    }

    .archive-reason .reason-top-list li {
        flex-wrap: wrap;
    }

    .archive-reason .reason-top-list li .reason-top-list-img,
    .archive-reason .reason-top-list li .reason-top-list-text {
        width: 100%;
    }

    .archive-reason .reason-top-list li .reason-top-list-img {
        margin-bottom: 24px;
    }

    .archive-reason .reason-top-list li .reason-top-list-text p {
        margin-top: 16px;
        margin-bottom: 0;
    }
}

.single-reason.reason_wakariyasuku .page-ttl,
.single-reason.not_interview .page-ttl,
.single-reason.reason_weak .page-ttl,
.single-reason.reason_3technic .page-ttl {
    line-height: 1.5;
    padding: 24px 0;
    background-color: initial;
    margin-bottom: 0;
}

.single-reason:not(.reason_wakariyasuku) .page-ttl,
.single-reason:not(.not_interview) .page-ttl,
.single-reason:not(.reason_weak) .page-ttl,
.single-reason:not(.reason_3technic) .page-ttl {
    margin-bottom: 0;
}

#archive.archive-reason .page-ttl h1,
#single-template.single-reason.reason_wakariyasuku .page-ttl h1,
#single-template.single-reason.not_interview .page-ttl h1,
#single-template.single-reason.reason_weak .page-ttl h1,
#single-template.single-reason.reason_3technic .page-ttl h1 {
    max-width: 960px;
    margin: 0 auto;
    text-align: justify;
    color: #030303;
    line-height: 1.5;
}

.single-reason:not(.reason_wakariyasuku) .entry-content h1,
.single-reason:not(.not_interview) .entry-content h1,
.single-reason:not(.reason_weak) .entry-content h1,
.single-reason:not(.reason_3technic) .entry-content h1 {
    line-height: 1.2;
    margin-bottom: 12px;
}

#archive.archive-reason h2,
#single-template.single-reason h2 {
    padding: 16px 12px 16px 16px;
    border-left: solid 8px #F39B08;
    margin: 32px 0 24px;
    background-color: #ffebcd;
    font-size: 24px;
    line-height: 1.5;
}

#archive.archive-reason h2.ttl-check {
    border-left: none;
    padding: 16px 16px 16px 56px;
    background-color: initial;
    font-size: 36px;
    letter-spacing: 2px;
}

@media only screen and (max-width: 768px) {

    .archive-reason .page-ttl {
        padding: 16px;
    }

    .single-reason .page-ttl {
        text-align: left;
        padding: 16px 0;
    }

    .archive-reason .page-ttl h1,
    .single-reason .page-ttl h1 {
        font-size: 24px;
    }

    #archive.archive-reason h2,
    #single-template.single-reason h2 {
        padding: 8px 8px 8px 12px;
        font-size: 20px;
    }

    #archive.archive-reason h2.ttl-check {
        padding: 16px 16px 16px 32px;
        font-size: 20px;
        letter-spacing: 1px;
    }

    .single-reason:not(.reason_wakariyasuku) .page-ttl,
    .single-reason:not(.not_interview) .page-ttl,
    .single-reason:not(.reason_weak) .page-ttl,
    .single-reason:not(.reason_3technic) .page-ttl {
        text-align: center;
        padding: 16px 0;
        /* margin-bottom: 30px; */
    }

    .single-reason:not(.reason_wakariyasuku) .entry-content h1,
    .single-reason:not(.not_interview) .entry-content h1,
    .single-reason:not(.reason_weak) .entry-content h1,
    .single-reason:not(.reason_3technic) .entry-content h1 {
        line-height: 1.2;
        margin-bottom: 12px;
    }

}



#archive.archive-reason h3,
#single-template.single-reason h3 {
    margin: 24px 0 15px;
    padding: 0 0 3px 4px;
    border-bottom: solid 1px #F39B08;
    font-size: 18px;
}

#archive.archive-reason h4,
#single-template.single-reason h4 {
    margin: 24px 0 16px;
    font-size: 16px;
    font-weight: bold;
}


/* SNSアイコン配置 */
.addtoany_shortcode {
    position: fixed;
    top: 45%;
    left: calc(((100vw - 960px) / 2) - 26px);
}

.addtoany_list {
    display: flex !important;
    flex-direction: column;
}

.addtoany_list a {
    display: inline !important;
}

@media only screen and (max-width: 1000px) {
    .addtoany_shortcode {
        position: static;
        text-align: center;
        padding-top: 16px;
        margin-bottom: 0;
        height: 64px;
    }

    .addtoany_list {
        display: inline !important;
    }

    /* .single-reason:not(.reason_wakariyasuku) .page-ttl,
  .single-reason:not(.not_interview) .page-ttl,
  .single-reason:not(.reason_weak) .page-ttl,
  .single-reason:not(.reason_3technic) .page-ttl {
    margin-bottom: 50px;
  } */
}


/* トップページメインビジュアル差し替え */
#index #visual-first,
#index #visual-second {
    height: 400px;
    padding-top: 30px;
    position: relative;
}

#index #visual-first {
    background: url(../images/top/img-top-mv-bun3.jpg) center no-repeat;
    background-size: auto 100%;
}

#index #visual-second {
    background: url(../images/top/img-top-mv-bun4.jpg) center no-repeat;
    background-size: auto 100%;
}

#index #visual-first .visual-text,
#index #visual-second .visual-text {
    font-size: 24px;
    position: absolute;
    display: inline-block;
    padding: 16px 0 0;
}

#index #visual-first .visual-text {
    right: 50%;
}

#index #visual-second .visual-text {
    left: 50%;
}

#index #visual-first .visual-text span,
#index #visual-second .visual-text span {
    display: block;
}

#index #visual-first .visual-text .consult,
#index #visual-second .visual-text .consult {
    padding: 0 6px 4px;
    display: inline-block;
    border-bottom: double 6px #00aaf0;
}

#index #visual-first .visual-text .consult em,
#index #visual-second .visual-text .consult em {
    font-size: 32px;
}

#index #visual-first .visual-text .results,
#index #visual-second .visual-text .results {
    margin-top: 32px;
    font-size: 32px;
    line-height: 1.65;
}

#index #visual-first .visual-text .results em,
#index #visual-second .visual-text .results em {
    font-size: 48px;
    background-color: #00aaf0;
    padding: 2px 12px;
    margin: 0 4px;
    color: #FFFFFF;
    font-weight: bold;
    letter-spacing: 2px;
}

@media only screen and (max-width:768px) {

    #index #visual-first,
    #index #visual-second {
        height: 300px;
        margin-bottom: 32px;
    }

    #index #visual-first {
        background: url(../images/top/img-top-mv-bun3-sp.jpg) center no-repeat;
        background-size: auto 100%;
    }

    #index #visual-second {
        background: url(../images/top/img-top-mv-bun4-sp.jpg) center no-repeat;
        background-size: auto 100%;
    }

    #index #visual-first .visual-text,
    #index #visual-second .visual-text {
        font-size: 14px;
        padding: 88px 0 0;
        text-align: center;
        margin: 0 auto;
        width: 100%;
    }

    #index #visual-first .visual-text {
        right: initial;
        left: 4px;
    }

    #index #visual-second .visual-text {
        left: initial;
        right: 4px;
    }

    #index #visual-first .visual-text .consult,
    #index #visual-second .visual-text .consult {
        padding: 0 4px 4px;
        background-color: rgba(255, 255, 255, 0.7);
    }

    #index #visual-first .visual-text .consult em,
    #index #visual-second .visual-text .consult em {
        font-size: 24px;
    }

    #index #visual-first .visual-text .results,
    #index #visual-second .visual-text .results {
        margin-top: 24px;
        font-size: 24px;
        line-height: 1.65;
        /* text-align: left; */
        background-color: rgba(255, 255, 255, 0.7);
    }

    #index #visual-first .visual-text .results em,
    #index #visual-second .visual-text .results em {
        font-size: 32px;
        padding: 1px 8px;
        margin: 0 2px;
        letter-spacing: 1px;
    }
}

#event {
    border-top: 2px solid #efefef;
    padding: 40px 0 50px;
}

#event .event-wrap {
    position: relative;
    padding: 32px 16px 8px;
    margin: 16px 0;
    text-align: center;
}

#event .event-wrap .interview {
    position: absolute;
    font-size: 24px;
    transform: rotate(-16deg);
    color: #7F7F7F;
    left: calc(50% - 276px);
    top: 0px;
}

#event .event-wrap .interview::before,
#event .event-wrap .interview::after {
    content: "";
    height: 24px;
    width: 2px;
    background-color: #7F7F7F;
    display: inline-block;
    position: relative;
}

#event .event-wrap .interview::before {
    left: -12px;
    transform: rotate(-40deg);
    bottom: -6px;
}

#event .event-wrap .interview::after {
    right: -12px;
    transform: rotate(32deg);
    bottom: -2px;
}

#event .event-wrap .session {
    font-size: 24px;
    font-weight: bold;
}

#event .event-wrap .session em {
    color: #ffffff;
    font-size: 48px;
    line-height: 1;
    padding: 4px 8px;
    margin-right: 8px;
    background: -webkit-repeating-linear-gradient(-45deg, #ff8c00, #ff8c00 3px, #ffc072 3px, #ffc072 7px);
    background: repeating-linear-gradient(-45deg, #ff8c00, #ff8c00 3px, #ffc072 3px, #ffc072 7px);
}

@import url('https://fonts.googleapis.com/css?family=Prata&display=swap');

#event .event-wrap h2 {
    font-family: 'Prata',
    serif;
    font-size: 56px;
    margin-top: 16px;
}

@media only screen and (max-width:768px) {
    #event {
        padding: 10px 0 30px;
    }

    #event .event-wrap {
        margin: 16px 0 4px;
    }

    #event .event-wrap .interview {
        font-size: 16px;
        left: calc(50% - 164px);
    }

    #event .event-wrap .interview::before,
    #event .event-wrap .interview::after {
        height: 16px;
    }

    #event .event-wrap .session {
        font-size: 16px;
        font-weight: bold;
    }

    #event .event-wrap .session em {
        font-size: 32px;
    }

    #event .event-wrap h2 {
        font-size: 34px;
        margin: 20px 0 8px;
    }
}