.hidden_pc {
    display: none;
}

.hidden_sp {
    display: block;
}

.bgDA {
    background: #DADADA;
}

/**/
.spec .g-lnav_lv1_el_pichon {
    float: right;
}

body.spec .g-breadcrumbs {
    min-width: 960px !important;
    margin: 0 auto !important;
}

.spec .g-lnav_lv1_r ul {
    display: inherit;
}

.spec .g-lnav_lv1_r li:first-child {
    border-bottom-width: 1px;
    border-right-width: 1px;
}

.spec .g-lnav_lv1_r li {
    float: left;
}

/**/
.max-width-960 {
    max-width: 960px;
    width: 100%;
}

.align-c {
    margin-left: auto !important;
    margin-right: auto !important;
}

.lih12 {
    line-height: 1.2;
}

.g-media_left img.w70 {
    width: 70px;
}

.g-media_left img.w60 {
    width: 60px;
}

.g-p.g-catch {
    font-size: 14px;
}

.g-ttlbox-i .g-ttlbox_hd.g-valign-t {
    vertical-align: top !important;
}

/*.g-box .g-ttl-4 {margin-bottom: 8px;}*/
/*.g-box .g-ttl-3 {margin-bottom: 11px;font-weight: bold;}*/
@media only screen and (max-width: 959px) {
    .g-lnav+.g-main .g-breadcrumbs {
        margin-top: -30px;
    }
}

.label-3 {
    background: #fff;
    border: 1px solid #ccc;
    padding: 5px;
    display: inline-block;
}

.label-4 {
    background: #0099CC;
    color: #fff;
    padding: 5px;
    display: inline-block;
}

.label-5 {
    background: #fc6c6c;
    color: #fff;
    padding: 5px;
    display: inline-block;
}

.f_right {
    float: right;
}

.f_left {
    float: left;
}

.table_set th,
.table_set td,
.table_set {
    border-spacing: 0;
    border: 1px solid #ccc;
    padding: 8px;
    border-collapse: collapse;
    width: 100%;
}

.table_set th,
.table_set td {
    text-align: center;
    width: 33%;
}

.table_set th {
    background-color: #f3f3f3;
}

.table_set td {
    background-color: #fff;
}

.max-img {
    max-width: 100%;
}

.g-ttl-3 .g-catch {
    font-size: inherit;
}

.g-poster_el .g-poster_h1 img {
    width: auto;
    float: left;
    width: auto;
}

.g-poster_h1 {
    position: absolute;
    max-width: 960px;
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    margin: auto;
}

@media only screen and (max-width: 768px) {
    .g-poster_h1 {
        top: 0;
    }
}

.g-catch .g-label-4 {
    color: #000;
}

.g-breadcrumbs.bg_w_raga {
    margin: 0 -15px 0;
    background: rgba(255, 255, 255, 0.5);
    padding-top: 10px;
    padding-bottom: 10px;
}

.shadow {
    text-shadow: 2px 2px 4px #fff, -2px -2px 4px #fff, 0px 0px 0px #fff, 2px 2px 2px #fff;
}

hr.bord {
    border: 1px solid #ccc;
    border-top: none;
    border-left: none;
    border-right: none;
    margin-bottom: 40px;
}

.r_bord .g-grid_el {
    position: relative;
}

.r_bord .g-grid_el.rbor:before {
    content: "";
    width: 1px;
    height: 60%;
    position: absolute;
    background: #ccc;
    top: 20%;
    left: 10px;
}

.border_br {
    border: 2px solid #001447;
}

.maru {
    background: #001447;
    color: #fff;
    width: 2em;
    height: 2em;
    display: inline-block;
    text-align: center;
    line-height: 2em;
    margin-right: 5px;
    margin-bottom: 0;
}

.maru2 {
    background: #fff;
    color: #001447;
    border: 2px solid #001447;
    width: 2em;
    height: 2em;
    display: inline-block;
    text-align: center;
    line-height: 2em;
    margin-right: 5px;
    margin-bottom: 5px;
}

.maru3 {
    background: #001447;
    color: #fff;
    width: 2em;
    height: 2em;
    display: inline-block;
    text-align: center;
    line-height: 2em;
    margin-right: 5px;
    margin-bottom: 5px;
    border-radius: 50%;
    vertical-align: middle;
}

.logo-img {
    width: 120px !important;
    height: 120px !important;
}

.midashi_ico {
    width: 60px;
    height: 60px;
    border: 2px solid;
    border-radius: 60px;
    line-height: 60px;
    float: left;
    font-size: 20px;
    text-align: center;
    margin-right: 7px;
}

.midashi_ico+span {
    padding-top: 10px;
    display: inline;
    border-bottom: 2px solid;
    line-height: 1.2em;
}

.indent-ml,
.indent-ml-pt {
    padding-left: 18px !important;
}

.w22-28 .g-grid_el {
    width: 31.6%;
}

.w22-28 .g-grid_el.w28p {
    width: 36.6%;
}

.lineup-list .g-layout-c.g-block,
.lin_960 {
    max-width: 960px;
}

@media only screen and (max-width: 768px) {
    .display_pc {
        display: none;
    }

    .tab_sp_w100 {
        width: 100% !important;
    }

    .midashi_ico {
        width: 50px;
        height: 50px;
        border-radius: 50px;
        line-height: 50px;
        font-size: 18px;
        text-align: center;
        margin-right: 7px;
    }

    .indent-ml,
    .indent-ml-pt {
        padding-left: 20px !important;
    }
}

@media only screen and (max-width: 780px) {
    .g-lnav_lv2 .g-lnav-cur {
        background-color: #f3f3f3;
    }
}

@media only screen and (min-width: 481px) {
    .pc-width-70 {
        width: 70% !important;
    }

    .pc-mt-70 {
        margin-top: 70px;
    }

    .pc-mt-60 {
        margin-top: 60px;
    }

    .pc-mt-50 {
        margin-top: 50px;
    }

    .pc-mt-40 {
        margin-top: 40px;
    }

    .pc-mb-30 {
        margin-bottom: 30px;
    }

    .pc-mt-30 {
        margin-top: 30px;
    }

    .pc-ml-20 {
        margin-left: 20px;
    }

    .pc-ml-30 {
        margin-left: 30px;
    }

    .pc-mr-30 {
        margin-right: 30px;
    }

    .pc-ml-50 {
        margin-left: 50px;
    }

    .pc-talign-c {
        text-align: center !important;
    }

    .pc-talign-l {
        text-align: left !important;
    }

    .pc-talign-r {
        text-align: right !important;
    }
}

@media only screen and (max-width: 480px) {
    .g-media_left.sp-leftkeep {
        display: inline-block;
        float: right !important;
    }

    body .sp-valign-t {
        vertical-align: top !important;
    }

    body .sp-valign-b {
        vertical-align: bottom !important;
    }

    .bod_l.spno_b {
        border-left: none;
    }

    .sp_nobord:before {
        display: none;
    }

    .sp-inline-block {
        display: inline-block;
    }

    .sp-talign-c {
        text-align: center;
    }

    .sp-talign-l {
        text-align: left;
    }

    .sp-width-10 {
        width: 10% !important;
    }

    .sp-width-20 {
        width: 20% !important;
    }

    .sp-width-30 {
        width: 30% !important;
    }

    .sp-width-40 {
        width: 40% !important;
    }

    .sp-width-50 {
        width: 50% !important;
    }

    .sp-width-60 {
        width: 60% !important;
    }

    .sp-width-70 {
        width: 70% !important;
    }

    .sp-width-80 {
        width: 80% !important;
    }

    .sp-width-90 {
        width: 90% !important;
    }

    .sp-width-100 {
        width: 100% !important;
    }

    .hidden_pc {
        display: block;
    }

    .hidden_sp {
        display: none;
    }

    .indent-ml-pt {
        padding-left: 0 !important;
    }

    .indent-ml {
        padding-left: 10px !important;
    }

    .sp-mauto {
        margin: auto;
    }

    .sp-ma-0 {
        margin: 0 0 0 0;
    }

    .sp-mb-0 {
        margin-bottom: 0px !important;
    }

    .sp-mb-5 {
        margin-bottom: 5px !important;
    }

    .sp-mb-10 {
        margin-bottom: 10px !important;
    }

    .sp-mb-15 {
        margin-bottom: 15px !important;
    }

    .sp-mb-20 {
        margin-bottom: 20px !important;
    }

    .sp-mb-30 {
        margin-bottom: 30px !important;
    }

    .sp-mb-40 {
        margin-bottom: 40px !important;
    }

    .sp-mb-50 {
        margin-bottom: 50px !important;
    }

    .sp-mt-0 {
        margin-top: 0px !important;
    }

    .sp-mt-5 {
        margin-top: 5px !important;
    }

    .sp-mt-10 {
        margin-top: 10px !important;
    }

    .sp-mt-20 {
        margin-top: 20px !important;
    }

    .sp-mt-30 {
        margin-top: 30px !important;
    }

    .sp-mt-40 {
        margin-top: 40px !important;
    }

    .sp-mt-50 {
        margin-top: 50px !important;
    }

    .sp-mr-0 {
        margin-right: 0px !important;
    }

    .sp-mr-5 {
        margin-right: 5px !important;
    }

    .sp-mr-10 {
        margin-right: 10px !important;
    }

    .sp-mr-20 {
        margin-right: 20px !important;
    }

    .sp-mr-30 {
        margin-right: 30px !important;
    }

    .sp-mr-40 {
        margin-right: 40px !important
    }

    .sp-mr-50 {
        margin-right: 50px !important;
    }

    .sp-ml-0 {
        margin-left: 0px !important;
    }

    .sp-ml-5 {
        margin-left: 5px !important;
    }

    .sp-ml-10 {
        margin-left: 10px !important;
    }

    .sp-ml-20 {
        margin-left: 20px !important;
    }

    .sp-ml-30 {
        margin-left: 30px !important;
    }

    .sp-ml-40 {
        margin-left: 40px !important;
    }

    .sp-ml-50 {
        margin-left: 50px !important;
    }

    .sp-pb-0 {
        padding-bottom: 0px !important;
    }

    .sp-pb-5 {
        padding-bottom: 5px !important;
    }

    .sp-pb-10 {
        padding-bottom: 10px !important;
    }

    .sp-pb-15 {
        padding-bottom: 15px !important;
    }

    .sp-pb-20 {
        padding-bottom: 20px !important;
    }

    .sp-pb-30 {
        padding-bottom: 30px !important;
    }

    .sp-pb-40 {
        padding-bottom: 40px !important;
    }

    .sp-pb-50 {
        padding-bottom: 50px !important;
    }

    .sp-pt-0 {
        padding-top: 0px !important;
    }

    .sp-pt-5 {
        padding-top: 5px !important;
    }

    .sp-pt-10 {
        padding-top: 10px !important;
    }

    .sp-pt-15 {
        padding-top: 15px !important;
    }

    .sp-pt-20 {
        padding-top: 20px !important;
    }

    .sp-pt-30 {
        padding-top: 30px !important;
    }

    .sp-pt-40 {
        padding-top: 40px !important;
    }

    .sp-pt-50 {
        padding-top: 50px !important;
    }

    .sp-pr-0 {
        padding-right: 0px !important;
    }

    .sp-pr-5 {
        padding-right: 5px !important;
    }

    .sp-pr-10 {
        padding-right: 10px !important;
    }

    .sp-pr-15 {
        padding-right: 15px !important;
    }

    .sp-pr-20 {
        padding-right: 20px !important;
    }

    .sp-pr-30 {
        padding-right: 30px !important;
    }

    .sp-pr-40 {
        padding-right: 40px !important;
    }

    .sp-pr-50 {
        padding-right: 50px !important;
    }

    .sp-pl-0 {
        padding-left: 0px !important;
    }

    .sp-pl-5 {
        padding-left: 5px !important;
    }

    .sp-pl-10 {
        padding-left: 10px !important;
    }

    .sp-pl-15 {
        padding-left: 15px !important;
    }

    .sp-pl-20 {
        padding-left: 20px !important;
    }

    .sp-pl-30 {
        padding-left: 30px !important;
    }

    .sp-pl-40 {
        padding-left: 40px !important;
    }

    .sp-pl-50 {
        padding-left: 50px !important;
    }

    .sp-h3-img-2w {
        width: 70px;
    }

    .sp-h3-img-3w {
        width: 83px;
    }

    .sp-h3-img-4w {
        width: 105px;
    }

    .sp-h3-img-8w {
        width: 160px;
    }

    .sp-ls-005 {
        letter-spacing: -0.05em
    }

    .sp-ls-007 {
        letter-spacing: -0.07em
    }

    .sp-ls-009 {
        letter-spacing: -0.09em
    }

    .sp-br br {
        display: inherit !important;
    }
}

.vas {
    vertical-align: super;
}

.g-valign-t.vti {
    vertical-align: top !important;
}

@media only screen and (min-width: 481px) {
    .bo_ld:before {
        content: "";
        width: 1px;
        height: 100%;
        border-left: 1px dashed #ccc;
        position: absolute;
        left: 0;
    }

    .bo_ld {
        position: relative;
    }

    .pctab_mr15 {
        margin-right: 15px;
    }

    .pctab_ml15 {
        margin-left: 15px;
    }
}

#g-main.g-main .g-cv br {
    display: inherit;
}

@media only screen and (max-width: 480px) {
    .sp-br-sp br {
        display: inherit !important;
    }
}

@media only screen and (max-width: 768px) {
    .sp-br-sp br {
        display: none;
    }
}

.sp-br-sp br {
    display: none;
}

.ca-grid-2b>.g-grid_el:first-child {
    width: 75% !important;
    ;
}

.ca-grid-2b .g-grid_el {
    width: 25% !important;
}

.ca-grid-2b>.g-grid_el:nth-child(2n+1),
.ca-grid-2b>.g-grid_el-2n {
    clear: left;
}

.ca-grid-2b .g-grid-3>.g-grid_el {
    width: 33.333333% !important;
    padding: 7.7px 0;
}

@media only screen and (max-width: 480px) {
    .ca-grid-2b:not(.g-grid-keep)>.g-grid_el {
        margin: 15px 0 0 0;
        padding: 0;
        float: none;
        width: 100%;
    }

    .ca-grid-2b>.g-grid_el:first-child {
        width: 100% !important;
    }

    .ca-grid-2b .g-grid-3>.g-grid_el {
        margin: 15px 0 0 0 !important;
        width: 100% !important;
        padding: 0 0 !important;
    }

    .ca-grid-2b .g-grid_el {
        width: 100% !important;
    }
}

.sp-border-l-no {
    border-left: solid 1px #ccc;
}

@media only screen and (max-width: 480px) {
    .sp-border-l-no {
        border-left: none;
    }
}

@media only screen and (max-width: 480px) {
    .sp-align-r {
        margin-left: auto;
    }

    .sp-align-l {
        margin-right: auto;
    }

    .sp-align-c {
        margin-left: auto;
        margin-right: auto;
    }
}

@media only screen and (max-width: 768px) {
    .g-poster_el img {
        max-width: 768px;
    }
}

#section0 .g-section-bg:before {
    border-top: none;
}

#section0 .g-catch {
    font-size: 24px !important;
    line-height: 170% !important;
    color: #000 !important;
}

@media only screen and (max-width: 480px) {
    #section0 .g-catch {
        font-size: 21px !important;
    }
}

.ca-width-55 {
    width: 55% !important;
}

.ca-width-45 {
    width: 45% !important;
}

.ca-width-66 {
    width: 66.7% !important;
}

.ca-width-33 {
    width: 33.3% !important;
}

.ca-width-75 {
    width: 75% !important;
}

.ca-width-25 {
    width: 25% !important;
}

@media only screen and (max-width: 480px) {
    .ca-width-55 {
        width: 100% !important;
    }

    .ca-width-45 {
        width: 100% !important;
    }

    .ca-width-66 {
        width: 55% !important;
    }

    .ca-width-33 {
        width: 45% !important;
    }

    .ca-width-75 {
        width: auto !important;
    }

    .ca-width-25 {
        width: auto !important;
    }
}

.absolute {
    position: absolute;
}

.relative {
    position: relative;
}

.sp-no-border-l {
    border-left: 1px solid #ccc;
}


@media only screen and (max-width: 480px) {
    .sp-no-relative {
        position: static !important;
    }

    .sp-no-absolute {
        position: static !important;
    }

    .sp-no-border-l {
        border-left: none;
    }
}