/*
    カラム定義
-------------------- */
/* PC */
@media screen and (min-width: 1080px){
    #container {
        display: flex;
        max-width: 1080px;
        margin: 0 auto;
    }
    #sidebar1 {
        width: calc(27% - 2em);
        margin-right: 2em;
    }
    #ContentTop {
        width: 73%;
    }
}
/* SP */
@media screen and (max-width: 1079px){
    #ContentTop {
        width: 92%;
        margin: 1em auto;
    }
    /* tb  */
    @media screen and (min-width: 768px){
        #ContentTop { margin: 2em auto; }
    }
    /* se他 */
    @media screen and (max-width: 374px){
    }
}



/*
    サイドバー
-------------------- */
/* PC */
@media screen and (min-width: 1080px){
    #sidebar1 .side_menu {
        background: #fff;
        padding: 1em;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 1em;
    }
    #sidebar1 .side_menu dt {
        position: relative;
        color: #fff;
        padding: 0.5em 0.5em 0.5em 1.8em;
        background-color: rgba(32,81,149,1.00);
        border-radius: 5px;
        width: calc(100% - 2.25em);
    }
    #sidebar1 .side_menu dt:after {
        position: absolute;
        top: 50%;
        left: 0.7em;
        transform: translateY(-50%);
        content: '';
        width: 8px;
        height: 8px;
        border: solid 3px #fff;
        border-radius: 100%;
    }
    #sidebar1 .side_menu .menu01 {
        width: 100%;
        margin: 1em 0;
    }
    #sidebar1 .side_menu .menu02, #sidebar1 .side_menu .menu03 {
        width: calc(50% - 0.5em);
        font-size: 14px;
    }
    #sidebar1 .side_menu .menu02 a, #sidebar1 .side_menu .menu03 a {
        padding: 0.75em 0.75em 0.75em 0.5em;
        display: block;
        text-decoration: none;
        color: #fff;
    }
    #sidebar1 .side_menu .menu02 a i, #sidebar1 .side_menu .menu03 a i { font-size: 14px; }
    #sidebar1 .side_menu .menu02 a { background: #3c82bc; }
    #sidebar1 .side_menu .menu03 a { background: rgba(246,198,23,1.00); }
    #sidebar1 .side_menu .out a { background: #555 !important; }
    #sidebar1 .side_button {
        display: block;
        text-decoration: none;
        width: calc(100% - 2em - 2px);
        margin-bottom: 16px;
        padding: 1em;
        border: 1px solid #555;
        color: #555;
        font-size: 18px;
    }
    #sidebar1 .side_button i {
        font-size: 18px;
        margin-right: 0.5em;
    }
    #sidebar1 .side_menu2 {
        background: #fff;
        padding: 1em;
        margin-bottom: 1em;
    }
    #sidebar1 .side_menu2 dt {
        margin-bottom: 1em;
        position: relative;
        color: #fff;
        padding: 0.5em 0.5em 0.5em 1.8em;
        background-color: rgba(32,81,149,1.00);
        border-radius: 5px;
        width: calc(100% - 2.25em);
    }
    #sidebar1 .side_menu2 dt:after {
        position: absolute;
        top: 50%;
        left: 0.7em;
        transform: translateY(-50%);
        content: '';
        width: 8px;
        height: 8px;
        border: solid 3px #fff;
        border-radius: 100%;
    }
    #sidebar1 .side_menu2 dd { line-height: 1.3em; }
}



/*
    トップページ
-------------------- */
#conditionSearch {
    display: flex;
    justify-content: space-between;
    margin: 2em auto 1em;
}
#conditionSearch #condition, #conditionSearch .impt_info {
    width: calc(50% - 0.75em);
}
#conditionSearch h2 {
    position: relative;
    color: #fff;
    padding: 0.5em 0.5em 0.5em 1.8em;
    background-color: rgba(32,81,149,1.00);
    border-radius: 5px;
    font-weight: normal;
}
#conditionSearch h2:after {
    position: absolute;
    top: 50%;
    left: 0.7em;
    transform: translateY(-50%);
    content: '';
    width: 8px;
    height: 8px;
    border: solid 3px #fff;
    border-radius: 100%;
}
#conditionSearch #condition_bg table {
    width: 100%;
    margin: 1em auto;
}
#conditionSearch #condition_bg table th { padding: 0.5em 0; }
#conditionSearch #condition_bg table td {
    padding-left: 0.5em;
    vertical-align: middle;
}
#conditionSearch #condition_bg table td select { font-size: 16px; }
#conditionSearch #condition_bg table td #dep_group { width: 100%; }
#conditionSearch #condition_bg table td #arr_group { width: 100%; }
#conditionSearch #condition_bg .btn_search {
    border-top: 1px solid #ccc;
    padding: 1.25em 0 0.25em;
}
#conditionSearch #condition_bg .btn_search a {
    display: inline-block;
    padding: 0.5em 1em 0.5em 0.75em;
    background: rgba(246,198,23,1.00);
    color: #fff;
    text-decoration: none;
    font-size: 18px;
}
#conditionSearch #condition_bg .btn_search a i {
    font-size: 18px;
    margin-right: 0.25em;
}
#ContentTop > p {
    background: #fff;
    padding: 1em;
    line-height: 1.4;
    font-size: 11px;
}
#conditionSearch .impt_info dl { margin: 1.25em 0 0.5em; }
#conditionSearch .impt_info dt:not(:first-child) { margin-top: 1em; }
#conditionSearch .impt_info dt i { color: rgba(32,81,149,1.00); }
#conditionSearch .impt_info dd { margin-top: 0.5em; }
#shuyourosen { margin: 2em auto; }
#shuyourosen h2 {
    position: relative;
    color: #fff;
    padding: 0.5em 0.5em 0.5em 1.8em;
    background-color: rgba(32,81,149,1.00);
    border-radius: 5px;
    font-weight: normal;
}
#shuyourosen h2:after {
    position: absolute;
    top: 50%;
    left: 0.7em;
    transform: translateY(-50%);
    content: '';
    width: 8px;
    height: 8px;
    border: solid 3px #fff;
    border-radius: 100%;
}
#shuyourosen table {
    width: 100%;
    margin: 0 auto;
    font-size: 17px;
}
#shuyourosen table tr { border-bottom: 1px solid #ccc; }
#shuyourosen table th { padding: 1em 0.5em; }
#shuyourosen table th i {
    font-size: 18px;
    color: rgba(32,81,149,1.00);
}
#shuyourosen table td {
    width: 30%;
    padding: 1em 0.5em;
}
#osirase { margin: 2em auto; }
#osirase h2 {
    position: relative;
    color: #fff;
    padding: 0.5em 0.5em 0.5em 1.8em;
    background-color: rgba(32,81,149,1.00);
    border-radius: 5px;
    font-weight: normal;
}
#osirase h2:after {
    position: absolute;
    top: 50%;
    left: 0.7em;
    transform: translateY(-50%);
    content: '';
    width: 8px;
    height: 8px;
    border: solid 3px #fff;
    border-radius: 100%;
}
#osirase #osirase_contents dl { margin: 1.25em 0 0.5em; }
#osirase #osirase_contents dt:not(:first-child) { margin-top: 1em; }
#osirase #osirase_contents dt i { color: rgba(32,81,149,1.00); }
#osirase #osirase_contents dd { margin-top: 0.5em; }
/* PC */
@media screen and (min-width: 1080px){
}
/* SP */
@media screen and (max-width: 1079px){
    #conditionSearch {
        flex-direction: column;
        margin: 1em auto;
    }
    #conditionSearch #condition {
        order: 2;
        margin-top: 2em;
    }
    #conditionSearch #condition_bg .btn_search { padding: 1.5em 0 0; }
    #conditionSearch #condition_bg .btn_search a { width: 50%; }
    #conditionSearch .impt_info { order: 1; }
    #conditionSearch #condition, #conditionSearch .impt_info { width: 100%; }
    #conditionSearch .impt_info dl {
        margin: 1.25em 0 2em;
    }
    #shuyourosen table th, #shuyourosen table td {
        padding: 1em 0;
        vertical-align: middle;
    }
    #shuyourosen table { font-size: 14px; }
    #shuyourosen table th i { font-size: 14px; }
    #osirase #osirase_contents dl { margin: 1.25em 0 0; }
    /* tb  */
    @media screen and (min-width: 768px){
        #conditionSearch { margin: 2em auto; }
        #conditionSearch #condition_bg .btn_search a { width: 30%; }
        #shuyourosen table { font-size: 18px; }
        #shuyourosen table th i { font-size: 18px; }
    }
    /* se他 */
    @media screen and (max-width: 374px){
    }
}



/*
    1カラムのパンくず
-------------------- */
#pankuzu .breadcrumb {
    font-size: 12px;
    color: #555;
}
#pankuzu .breadcrumb i { font-size: 12px; }
/* PC */
@media screen and (min-width: 1080px){
    #pankuzu {
        max-width: 1080px;
        margin: 0 auto;
    }
    .pkz_1column { margin-top: 1em !important; }
}
/* SP */
@media screen and (max-width: 1079px){
    .sp_pkz_1column {
        width: 92%;
        margin: 1em auto auto;
    }
    /* tb  */
    @media screen and (min-width: 768px){
    }
    /* se他 */
    @media screen and (max-width: 374px){
    }
}



/*
    マイページ
-------------------- */
.mypage_ctt:not(:first-child) { margin-top: 1em; }
.mypage_ctt a { text-decoration: none; }
.mypage_ctt a h2 {
    border: 1px solid rgba(32,81,149,1.00);
    padding: 0.5em;
    margin-bottom: 0.25em;
}
.mypage_ctt ul {
    line-height: 1.3;
    color: #777;
}
.mypage_ctt ul li { margin-left: 1.8em; }
/* PC */
@media screen and (min-width: 1080px){
}
/* SP */
@media screen and (max-width: 1079px){
    /* tb  */
    @media screen and (min-width: 768px){
    }
    /* se他 */
    @media screen and (max-width: 374px){
    }
}