@charset "UTF-8";

body {
    margin: 0 auto !important;
    min-width: 960px;
}
header,
footer,
body,
main,
nav,
article,
aside,
section {
    display: block;
    margin: 0;
    padding: 0;
    font-family: "游ゴシック Medium", "YuGothic", "YuGothicM", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important;
}

/**
 * COMMONS
 **/
.wrapper {
    width: 960px;
    margin: 0 auto;
}
.fleft {
    float: left;
}
.fright {
    float: right;
}
.clear {
    clear: both;
}
.spacer {
    width: 100%;
    height: 1px;
}
.text-right {
    text-align: right;
}
.text-center {
    text-align: center;
}
.text-left {
    text-align: left;
}
nav ul {
    margin: 0;
    padding: 0;
}
nav ul li {
    list-style: none;
    display: inline;
}
.col-12 {
    width: 100%;
}
.col-6 {
    width: 48%;
    float: left;
}
.ls-1em {
    letter-spacing: 1em;
}
.ls-0_5em {
    letter-spacing: 0.5em;
}
.ls-2em {
    letter-spacing: 2em;
}
.ls-3em {
    letter-spacing: 3em;
}

.text-head-square {
    text-indent: -1.2em;
    padding-left: 1.6em !important;
}
/**
 * HEADER
 **/
header {
    border-top: rgb(0,170,255) 5px solid;
}
header .wrapper {
    padding: 17px 0 18px;
    height: 70px;
}
div.headnav {
    background-color: rgb(0,15,105);
}
nav.head_navigation {
    width: 960px;
    margin: 0 auto;
}
nav.head_navigation ul {
    display: table-row;
}
nav.head_navigation ul li {
    margin: 0;
    display: table-cell;
    width: 239px;
    text-align: center;
    padding: 0;
    border-left: 1px solid rgb(255,255,255);
}
nav.head_navigation ul li:last-child {
    width: 238px;
    border-right: 1px solid rgb(255,255,255);
}
nav.head_navigation ul li:hover {
    background-color: rgb(0,170,255);
}
nav.head_navigation ul li.active {
    background-color: rgb(0,170,255);
}
nav.head_navigation ul li a {
    margin: 0;
    padding: 16px 0 13px;
    display: block;
    width: 238px;
    text-decoration: none;
    color: rgb(255,255,255);
    font-weight: 700;
    font-size: 120%;
    line-height: 1.0em;
}
nav.head_navigation ul li a small {
    font-size: small;
    font-weight: 100;
}

/**
 * MAIN
 **/
main {
    background-color: rgb(246,246,246);
}
.breadcrumbs {
    padding: 1.4em 0;
    font-weight: 100;
}
.breadcrumbs span.bc-item:after {
    content: " > ";
}
.breadcrumbs span.bc-item:last-child:after {
    content: none;
}
.breadcrumbs a {
    text-decoration: none;
    color: rgb(85,85,85);
}
.breadcrumbs span.bc-item:last-child a {
    color: rgb(0,170,255);
}
.eyecatch {
    margin-bottom: 40px;
}
.eyecatch img {
    width: 100%;
}
article {
    background-color: rgb(255,255,255);
    border: 1px solid rgb(227,227,227);
    width: 668px;
    float: right;
    margin-left: 10px;
    padding: 20px;
}

/**
 * SIDE
 **/
aside {
    width: 230px;
    margin-right: 10px;
    float: left;
}
nav.side_navigation ul {
    border-top: rgb(0,15,105) 8px solid;
}
nav.side_navigation ul li {
    display: block;
    background-color: rgb(255,255,255);
    border-collapse: collapse;
    border-left: 1px solid rgb(227,227,227);
    border-right: 1px solid rgb(227,227,227);
    border-bottom: 1px solid rgb(227,227,227);
    padding: 1.2em 1em;
}
nav.side_navigation ul li:before {
    content: "＞ ";
    color: rgb(0,170,255);
}
nav.side_navigation ul li a {
    text-decoration: none;
    color: rgb(85,85,85);
}
nav.side_navigation ul li.active a {
    color: rgb(0,170,255);
}

main h1,
main h3 {
    font-size: 120%;
    font-weight: bolder;
    padding: 0 8px 10px;
    line-height: 1.2rem;
    color: rgb(85,85,85);
    margin: 0;
    border-bottom: rgb(0,170,255) 4px solid;
}
main h2 {
    font-size: 100%;
    font-weight: bolder;
    margin: 18px 12px;
    padding: 4px 8px;
    color: rgb(0,20,100);
    background-color: rgb(205,231,248);
}
main #office h2 {
    font-size: 100%;
    font-weight: bolder;
    margin: 18px 12px;
    padding: 4px 8px;
    color: rgb(250,250,250);
    background-color: rgb(0,20,100);
}
main p {
    margin: 1em;
    line-height: 1.8em;
}
main p.sign {
    text-align: right;
}
#business main p {
    padding: 0 0.4rem 0.6rem;
    margin: 0 12px 10px;
    border-bottom: 1px solid rgb(200,200,200);
}
.single_page .eyecatch {
    margin: 0;
    padding: 30px 0 0;
}
.single_page .head {
    font-size: 100%;
    font-weight: bolder;
    margin: 18px 12px;
    padding: 4px 8px;
    color: rgb(250,250,250);
    background-color: rgb(0,20,100);
}
.single_page .main_content {
    margin: -10px 0 0 0;
    padding: 30px;
    background-color: white;
}
.single_page .main_content p {
    font-size: 95%;
    margin-bottom: 1.8rem;
}
.single_page main .wrapper {
    padding-bottom: 50px;
}
.recruit_table {
    margin: 20px auto;
    width: 90%;
}
.recruit_table th,
.recruit_table td {
    border-collapse: collapse;
    border-bottom: 1px dotted rgb(10,10,10);
    padding: 0.8rem 1rem;
    vertical-align: top;
}
.recruit_table tr:first-child th,
.recruit_table tr:first-child td {
    border-top: 1px dotted rgb(10,10,10);
}
.recruit_table th {
    color: rgb(0,20,100);
    font-weight: bolder;
}
.recruit_table td {
    color: rgb(10,10,10);
    font-size: 95%;
}
/**
 * FOOTER
 **/
footer {
    border-top: rgb(227,227,227) 2px solid;
}
footer .logo {
    text-align: center;
    padding: 10px;
}
footer .footnav {
    background-color: rgb(0,15,105);
    color: #ffffff;
    text-align: center;
    padding: 3em 0;
}
footer .footnav a {
    color: #ffffff;
    text-decoration: none;
}
footer .footnav a:hover {
    color: rgb(0,170,255);
}
footer .footnav li:after {
    content: " | ";
}
footer .footnav li:last-child:after {
    content: none;
}
footer .copyright {
    background-color: rgb(0,15,105);
    color: #ffffff;
    text-align: center;
    font-size: x-small;
    padding: 0.6em 0 2em;
}
.foot-address {
    margin-top: 0;
    padding-top: 0;
    font-size: 88%;
}

/**
 * ETC...
 **/
.sign small {
    font-size: medium;
}
.sign {
    font-size: 130%;
}
span.officename {
    display: inline-block;
    width: 30%;
}
.officename:after {
    content: "  ";
}
table#about {
    font-weight: lighter;
    width: 100%;
}
table#about th,
table#about td {
    font-weight: 300;
    text-align: left;
    padding: 1.2em 1em;
    border-bottom: 1px rgb(227,227,227) dotted;
    vertical-align: top;
    white-space: nowrap;
}
table#enkaku {
    font-weight: lighter;
    width: 100%;
}
table#enkaku th,
table#enkaku td {
    font-weight: 300;
    text-align: left;
    padding: 1.2em 1em;
    border-bottom: 1px rgb(227,227,227) dotted;
    vertical-align: top;
}
#office .row {
    clear: both;
    border-left: rgb(0,170,255) 4px solid;
    margin-left: 12px;
    margin-right: 12px;
    margin-bottom: 30px;
}

#office .row h4 {
    font-size: larger;
    line-height: 1.2em;
    color: rgb(0,170,255);
    margin: 6px 20px 3px;
}
#office .row p {
    line-height: 1.1em;
    margin: 10px 20px;
}
#office .row img {
    float: right;
    margin-bottom: 20px;
}
#office hr {
    clear: both;
    border: 1px dotted rgb(227,227,227);
    margin: 20px 0;
}
.map {
    text-align: center;
    padding: 20px;
}
#business_items li {
    list-style-image: url('/img/circle.png');
    font-size: medium;
    line-height: 14px;
    margin-bottom: 0.9em;
}
.sub-table {
    width: 100%;
}
.sub-table tr {
    padding: 0;
    margin: 0;
}
.sub-table td {
    padding: 0 10px 0 0 !important;
}
.sub-table td,
.sub-table th {
    border: none !important;
}

/*===============================================
●smart.css  画面の横幅が640pxまで
===============================================*/
@media screen and (max-width:640px){
/**
 * COMMONS
 **/
img{
    max-width: 100%;
    height: auto;
    width /***/:auto;
    margin: 0 !important;
}
.wrapper,
#container{
    width:100%;
}
.col-6 {
    width: 100%;
}

/**
 * HEADER
 **/
nav.head_navigation {
    display: none;
    width: 100%;
    margin: 0 auto;
}
nav.head_navigation ul li {
    margin: 0;
    display: table-cell;
    width: 24%;
    text-align: center;
    padding: 0;
    border-left: 1px solid rgb(255,255,255);
}
nav.head_navigation ul li:last-child {
    width: 24%;
    border-right: 1px solid rgb(255,255,255);
}
/**
 * MAIN
 **/
article {
    background-color: rgb(255,255,255);
    border: 1px solid rgb(227,227,227);
    width: 100%;
    float: right;
    margin-left: 0;
    padding: 0;
}
/**
 * SIDE
 **/
aside {
    width: 100%;
    margin-right: 0;
    float: left;
}
/**
 * ETC...
 **/
span.officename {
    display: inline-block;
    width: 50%;
    margin-right: 0.2em;
}
.officename:after {
    content: " ";
}
table#about,
table#enkaku {
    width: 100%;
    font-size: 80%;
}
table#about td,
table#enkaku td {
    white-space: normal;
}
ul#business_items {
    clear: both;
    padding-top: 20px;
    margin-top: 20px;
}
}