/*----------------------------------------------------------
Index-/cmn/style.css
1.Common
2.main,main_box
3.upDown
4.leftRight
5.leftLine
6.dlTtl

7.link,btn
8.swipe
9.anchorBox
10.tab-link
11.footer
12.topbar
13.inPcBreak
14.news,event
15.bnrArea
16.dlArea
17.adjust
----------------------------------------------------------*/

/*----------------------------------------------------------
1.Common
----------------------------------------------------------*/
.max {
    margin: auto;
    max-width: 1160px;
}
.box .max {
    max-width: 960px;
}
.box .max.gap {
    max-width: 988px;
}
.contents {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
.contents>*:last-child {
    margin-bottom: 0 !important;
}
.lead {
    line-height: 2;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    letter-spacing: .1em;
}
.lh_mid {
    line-height: 1.75;
}
.gray {
    background: #edeeee;
}
.bg_white {
    background-color: #fff;
}
.rb {
    display: inline-block;
    font-size: 1.2rem;
    vertical-align: 4px;
}
.annotation {
    font-size: 1.2rem;
}
.center {
    text-align: center;
}
.inlineB {
    display: inline-block !important;
}
.text_bold {
    font-weight: bold;
}
.c_red {
    color: #ea002a;
}
.pageTitle {
    text-align: center;
    font-weight: bold;
}
.small {
    font-size: .8em;
}
@media screen and (min-width: 769px) {
    body {
        min-width: 1024px;
        overflow: auto;
    }
    .box {
        padding-top: 63px;
        padding-bottom: 46px;
    }
    .lead {
        font-size: 1.6rem;
    }
    .lead+* {
        margin-top: 50px !important;
    }
    .lead+img+img {
        margin-top: 50px !important;
    }
    img+.lead {
        margin-top: 50px !important;
    }
    .contents+.contents {
        margin-top: 62px;
    }
    .pageTitle {
        font-size: 4rem;
        padding-top: 36px;
        margin-bottom: 74px;
    }
    .spOnly {
        display: none !important;
    }
}
@media screen and (max-width: 1280px) {
    .max {
        max-width: 1024px;
    }
}
@media screen and (max-width: 1080px) {
    body .gap {
        padding-left: 14px;
        padding-right: 14px;
    }
    body .contents.gap {
        padding-left: 0;
        padding-right: 0;
    }
}
@media screen and (max-width: 768.9px) {
    body {
        font-size: 1.4rem;
    }
    .box {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    body .gap {
        padding-left: 10px;
        padding-right: 10px;
    }
    .lead {
        font-size: 1.4rem;
    }
    .lead+* {
        margin-top: 22px !important;
    }
    .lead+img+img {
        margin-top: 22px !important;
    }
    img+.lead {
        margin-top: 22px !important;
    }
    .contents+.contents {
        margin-top: 32px;
    }
    .pageTitle {
        font-size: 2.4rem;
        padding-top: 32px;
        margin-bottom: 40px;
    }
    .pcOnly {
        display: none !important;
    }
}
/*----------------------------------------------------------
2.main,main_box
----------------------------------------------------------*/
.main {
    background: #edeeee;
}
.main_box h1,
.main_box h2 {
    font-weight: bold;
    color: #000;
}
.main_box h1 img,
.main_box h2 img {
    display: block;
}
@media screen and (min-width: 769px) {
    .main_box {
        margin: auto;
        max-width: 1440px;
        height: 360px;
        background-repeat: no-repeat;
        background-size: 1440px 360px;
        background-position: left;
        padding-top: 14px;
    }
    .main_box h1,
    .main_box h2 {
        font-size: 5.4rem;
        margin-bottom: 18px;
    }
}
@media screen and (max-width: 768.9px) {
    .main_box {
        height: 140px;
        background-size: cover;
        background-position: center;
    }
    .main_box h1,
    .main_box h2 {
        width: 58%;
        font-size: 4rem;
        line-height: 1.4;
    }
    .main_box h1 img,
    .main_box h2 img {
        display: block;
        width: 115px;
        margin: 0 auto;
    }
}
/*----------------------------------------------------------
3.upDown
----------------------------------------------------------*/
.upDown {
    text-align: center;
}
.upDown>span {
    display: inline-block;
    position: relative;
    line-height: 1.6;
}
.upDown>span::before,
.upDown>span::after {
    content: '';
    display: block;
    position: absolute;
    height: 2px;
}
.upDown>span::before {
    background: #ea002a;
    top: 0;
    left: 0;
}
.upDown>span::after {
    background: #525b5c;
    bottom: 0;
    right: 0;
}
.upDown.noCenter {
    text-align: left;
}
@media screen and (min-width: 769px) {
    .upDown {
        margin-bottom: 36px;
    }
    .upDown>span {
        padding: 22px 0;
        font-size: 3.2rem;
        letter-spacing: 4px;
    }
    .upDown>span::before,
    .upDown>span::after {
        width: 50px;
    }
    .upDown .day {
        font-size: 1.6rem;
    }
}
@media screen and (max-width: 768.9px) {
    .upDown {
        margin-bottom: 22px;
    }
    .upDown>span {
        padding: 12px 0;
        font-size: 2rem;
    }
    .upDown>span::before,
    .upDown>span::after {
        width: 25px;
    }
    .upDown .day {
        font-size: 1.4rem;
    }
}

/*----------------------------------------------------------
4.leftRight
----------------------------------------------------------*/
.leftRight {
    text-align: center;
}
.leftRight>span {
    display: inline-block;
    position: relative;
    line-height: 1.4;
}
.leftRight>span:before,
.leftRight>span:after {
    height: 2px;
    content: '';
    position: absolute;
    margin-top: -1px;
    top: 50%;
}
.leftRight>span::before {
    background-image: linear-gradient(-90deg, #ea002a 50%, #525b5c 50%, #525b5c);
    left: 0;
}
.leftRight>span::after {
    background-image: linear-gradient(-90deg, #525b5c 50%, #ea002a 50%, #ea002a);
    right: 0;
}
.leftRight.left {
    display: inline-block;
}
.leftRight.left span {
    padding-left: 40px;
    padding-right: 0;
}
.leftRight.left span:before {
    width: 20px;
}
.leftRight.left span::after {
    display: none;
}
@media screen and (min-width: 769px) {
    .leftRight {
        margin-bottom: 40px;
    }
    .leftRight>span {
        padding: 0 84px;
        font-size: 2.3rem;
        letter-spacing: 4px;
    }
    .leftRight>span:before,
    .leftRight>span:after {
        width: 60px;
    }
    .leftRight.left {
        margin-bottom: 32px;
    }
    .leftRight.left>span {
        font-size: 2rem;
    }
}

@media screen and (max-width: 768.9px) {
    .leftRight {
        margin-bottom: 20px;
    }
    .leftRight>span {
        width: 100%;
        padding: 0 24px;
        font-size: 1.8rem;
    }
    .leftRight>span:before,
    .leftRight>span:after {
        width: 18px;
    }
    .leftRight.left>span {
        padding-left: 30px;
    }
    .leftRight.left>span:before {
        height: 4px;
    }
}
/*----------------------------------------------------------
5.leftLine
----------------------------------------------------------*/
.leftLine {
    position: relative;
    border-bottom: 1px solid #cccccc;
}
.leftLine:before {
    position: absolute;
    content: '';
    background: #ea002a;
}
@media screen and (min-width: 769px) {
    .leftLine {
        padding: 10px 20px 10px 0;
        font-size: 2.2rem;
        margin-bottom: 40px;
    }
    .leftLine:before {
        bottom: -1px;
        left: 0;
        width: 5em;
        height: 1px;
    }
}
@media screen and (max-width: 768.9px) {
    .leftLine {
        padding: 10px 10px 10px 0;
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
    .leftLine:before {
        bottom: -1px;
        left: 0;
        width: 3em;
        height: 1px;
    }
}
/*----------------------------------------------------------
6.dlTtl
----------------------------------------------------------*/
.dlTtl {
    border-left: 5px solid #f5022f;
    display: flex;
    align-items:center;
    font-weight: bold;
    padding: 0 0 0 15px;
    font-size: 1.7rem;
    margin-bottom:25px;
    position: relative;
}
.dlTtl .ttlCap {
    position: absolute;
    top: 0;
    right:-10px;
    background: #f5022f;
    color: #FFFFFF;
    display: inline-block;
    padding: 0 8px;
    margin-left: 10px;
    font-size: 0.8em;
    flex-shrink: 0;
}
@media screen and (max-width: 768.9px) {
   .dlTtl {
    align-items: flex-start;
    padding: 0 0 0 10px;
    font-size: 1.5rem;
    margin-bottom: 20px;
    height: auto;
 
    }
    .dlTtl .ttlCap {
        position: static;
        top: inherit;
        right: inherit;
        margin: 0 0 0 15px;
    }
}
/*----------------------------------------------------------
7.link,btn
----------------------------------------------------------*/
.link {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    align-items: center;
    text-decoration: underline;
    line-height: 1.6;
}
.link:before {
    transition: all 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
    margin-right: 8px;
    content: '';
    display: inline-block;
    background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_white.svg");
    background-size: 30%;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #ea002a;
    border-radius: 50%;
}
.btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0px 2px 2px 0px rgba(7, 14, 13, 0.24);
    font-weight: bold;
    text-decoration: none;
}
.btn.limit {
    max-width: 600px;
    margin: auto;
}
.btn.reverse {
    max-width: 640px;
    margin: auto;
    background: #ea002a;
    border: 1px solid #ea002a;
    color: #fff;
    box-shadow: 0px 4px 4px 0px rgba(7, 14, 13, 0.24);
    line-height: 1.4;
}
.btn.reverse * {
    color: #fff;
}
.btn.reverse::before {
    background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_red.svg");
    background-color: #fff;
}
.btn.btn-tab::after {
    display: block;
    content: "";
    width: 1em;
    height: 1em;
    background: url("/ja-jp/service/wms/asset/cmn/img/icon_window_r.gif")no-repeat;
    background-size: contain;
    margin-left: 10px;
    margin-top: -5px;
}
.btn:hover::after {
    background: url("/ja-jp/service/wms/asset/cmn/img/icon_window_w.gif")no-repeat;
    background-size: contain;
    margin-left: 10px;
    margin-top: -5px;
}
.btn.reverse.btn-tab::after {
    display: block;
    content: "";
    width: 1em;
    height: 1em;
    background: url("/ja-jp/service/wms/asset/cmn/img/icon_window_w.gif")no-repeat;
    background-size: contain;
    margin-left: 10px;
    margin-top: -5px;
}
.btn.reverse:hover::after {
    background: url("/ja-jp/service/wms/asset/cmn/img/icon_window_r.gif")no-repeat;
    background-size: contain;
    margin-left: 10px;
    margin-top: -5px;
}
@media screen and (min-width: 769px) {
    .link {
        font-size: 1.6rem;
        vertical-align: -6px;
        margin-right: 4px;
    }
    .link:before {
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
    }
    .link_box {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 0 30px;
    }
    .link_box>* {
        width: calc((100% - 18px) / 2);
    }
    .link_box>*:first-child {
        margin-right: 18px;
    }
    .link:hover {
        text-decoration: none;
    }
    .link:hover:before {
        background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_red.svg");
        background-color: #fff;
        border: 1px solid #ea002a;
    }
    .btn {
        padding: 18px;
        font-size: 1.4rem;
        margin-right: 0;
    }
    .btn::before {
        margin-right: 16px;
    }
    .btn:hover {
        background: #ea002a;
        border-color: #ea002a;
        color: #fff;
        transform: translate3d(-2px, 2px, 0);
        box-shadow: none;
    }
    .btn:hover * {
        color: #fff;
    }
    .btn.reverse:hover {
        box-shadow: none;
        background: #fff;
        border-color: #ccc;
        color: #000;
        transform: translate3d(-2px, 2px, 0);
    }
    .btn.reverse:hover * {
        color: #000;
    }
    .btn.reverse:hover:before {
        background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_white.svg");
        background-color: #ea002a;
    }

}
@media screen and (max-width: 768.9px) {
    .link {
        font-size: 1.4rem;
        margin-right: 4px;
        vertical-align: -4px;
    }
    .link:before {
        margin-right: 6px;
        width: 18px;
        height: 18px;
        min-width: 18px;
        min-height: 18px;
    }
    .link_box>*:first-child {
        margin-bottom: 18px;
    }
    .btn {
        padding: 20px;
        margin-right: 0;
    }
    .btn:before {
        margin-right: 14px;
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
    }
    .btn.reverse {
        font-weight: bold;
    }
    .btn.reverse * {
        font-weight: bold;
    }
    .btn.btn-tab,
    .btn.reverse.btn-tab {
        display: flex !important;
        ;
        align-items: center;
    }
    .btn.btn-tab::after,
    .btn.reverse.btn-tab::after {
        margin-top: -3px;
    }
    .btn:hover::after,
    .btn.reverse:hover::after {
        margin-left: 10px;
    }

}

/*----------------------------------------------------------
8.swipe
----------------------------------------------------------*/
.swipe {
    overflow-y: hidden;
    overflow-x: auto;
    position: relative;
}
.swipe img {
    max-width: none;
}
@media screen and (min-width: 769px) {
    .swipe {
        margin-bottom: 32px;
    }
    .swipe_annotation {
        display: none;
    }
    p.lead+.swipe_annotation+.swipe {
        margin-top: 38px;
    }
}
@media screen and (max-width: 768.9px) {
    .swipe {
        margin-left: -10px;
        width: calc(100% + 20px);
        margin-bottom: 8px;
        padding-left: 10px;
        padding-bottom: 16px;
    }
    .swipe img {
        margin-right: 10px;
    }
    .swipe_annotation {
        font-size: 1.2rem;
        display: block;
        text-align: center;
        margin: 4px 0 14px;
        line-height: 1;
        position: relative;
        top: 0;
        left: 0;
        background: #ccc;
    }
    .swipe_annotation span {
        background-color: #fff;
        padding: 0 15px;
        position: relative;
        z-index: 2;
    }
    .swipe_annotation::before,
    .swipe_annotation::after {
        display: block;
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        position: absolute;
        top: -4px;
        z-index: 10;
    }
    .swipe_annotation::before {
        border-width: 10px 12px 10px 0;
        border-color: #fff #ccc #fff #fff;
        left: 0;
    }
    .swipe_annotation::after {
        border-width: 10px 0 10px 12px;
        border-color: #fff #fff #fff #ccc;
        right: 0;
    }
    p.lead+.swipe_annotation+.swipe {
        margin-top: 22px;
    }
}

/*----------------------------------------------------------
9.anchorBox
----------------------------------------------------------*/
.anchorBox {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    justify-content: space-between;
    -webkit-flex-flow: wrap;
    -ms-flex-flow: wrap;
    flex-flow: wrap;
    text-align: center;
}
.anchorBox a {
    border: 1px solid #ccc;
    border-radius: 6px;
    width: calc((100% - 32px) / 3);
    position: relative;
    font-weight: bold;
}
.anchorBox a::before {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: -10px;
    content: '';
    display: block;
    background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_white.svg");
    background-size: 30%;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #ea002a;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    min-width: 22px;
    min-height: 22px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
@media screen and (min-width: 769px) {
    .anchorBox a {
        margin-bottom: 24px;
        padding: 32px 14px;
    }

}
@media screen and (max-width: 768.9px) {
    .anchorBox a {
        width: calc(50% - 8px);
        margin-bottom: 24px;
        padding: 24px 8px;
        line-height: 1.5;
        display: -webkit-flex;
        display: -ms-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        justify-content: center;
    }

}
/*----------------------------------------------------------
10.tab-link
----------------------------------------------------------*/
.tab-link {
    display: flex;
    align-items: baseline;
}
.tab-link .icon_tab {
    width: 0.95em;
    height: 0.95em;
    margin-left: 10px;
}
.txt-link-tab{
    text-decoration: underline;
}
.txt-link-tab:hover {
    text-decoration: none;
}
.txt-link-tab .icon_tab{
    width: 0.95em;
    height: 0.95em;
    margin-left:0;
     margin-right:0.3em;
}
/*----------------------------------------------------------
11.footer
----------------------------------------------------------*/
@media screen and (min-width: 769px) {

    footer .footer_link .footer_link_left {
        position: relative;
    }
    footer .footer_link div span.new-badge {
        background: #ea002a;
        color: #fff;
        font-size: 1.4rem;
        font-weight: bold;
        padding: 5px 15px;
        position: absolute;
        left: calc(50% - 29px);
        top: -32px;
    }
    footer .footer_link div span.new-badge:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -7px;
        border: 7px solid transparent;
        border-top: 7px solid #ea002a;
    }
}
@media screen and (max-width: 768.9px) {
    footer .footer_link .footer_link_left {
        position: relative;
    }
     footer .footer_link div span.new-badge {
        background: #ea002a;
        color: #fff;
        font-size: 1.4rem;
        font-weight: bold;
        padding: 5px 15px;
        position: absolute;
        left: calc(50% - 29px);
        top: -32px;
    }
    footer .footer_link div span.new-badge:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -7px;
        border: 7px solid transparent;
        border-top: 7px solid #ea002a;
    }
    footer .footer_link .btn {
        height: 100%;
    }

}

/*----------------------------------------------------------
12.topbar
----------------------------------------------------------*/
@media screen and (min-width: 769px) {
    .topbar {
        display: block;
        width: 100%;
        background: #f6f6f7;
        padding: 7px 0;
    }
    .topbarBox {
        display: flex;
        justify-content: flex-end;
        max-width: 1160px;
        margin: 0 auto;
    }
    .topbar .submenu {
        display: flex;
        align-items: center;
        margin-right: 30px;
        font-size: 1.2rem;
    }
    .topbar .submenu li {
        margin-left: 20px;
    }
    .topbar .submenu li:first-child {
        margin-left: 0;
    }
    .topbar .submenu li a {
        transition: 0.5s;
    }
    .topbar .submenu li a:hover {
        text-decoration: underline;
        transition: 0.5s;
    }
}

/*----------------------------------------------------------
13.inPcBreak
----------------------------------------------------------*/

nav a .inPcBreak{
    display: none !important;
}

nav a .spOnly.inPcBreak{
    display: none !important;
}

@media screen and (min-width: 769px) {
    nav > ul > li > a, nav button {
        padding: 24px 4px 20px;
        font-size: 1.4rem;
        position: relative;
        display: inline-block;
        text-align: center;
        line-height: 1.5;
    }
}

/*----------------------------------------------------------
14.news,event
----------------------------------------------------------*/
.news,
.event {
    background: #fff;
    padding: 42px 50px;
    margin-bottom: 20px;
}
.news_box,
.event_box,
.total_box {
    border-top: 1px solid #525b5c;
    border-bottom: 1px solid #525b5c;
}
.news_row,
.event_row {
    line-height: 1.6;
}
.icon_tab {
    width: 0.95em;
    height: 0.95em;
    vertical-align: baseline;
    margin-left: 5px;
}
@media screen and (min-width: 769px) {
    .news,
    .event {
        background: #fff;
        padding: 42px 50px;
        margin-bottom: 20px;
    }
    .news_box,
    .event_box {
        border-top: 1px solid #525b5c;
        border-bottom: 1px solid #525b5c;
    }
    .total {
        background: #fff;
        padding: 0;
        margin-bottom: 0;
    }
    .total .total_box {
        border: 1px solid #ccc;
        padding: 8px 32px;
    }
    .news_row,
    .event_row {
        display: -ms-flexbox;
        display: flex;
        padding: 24px 0;
    }
    .news_row+.news_row,
    .event_row+.event_row {
        border-top: 1px solid #ccc;
    }
    .news_row a {
        width: calc(100% - 120px);
    }
    .event_row a {
        width: calc(100% - 150px);
    }
    .news_row a:hover,
    .event_row a:hover {
        text-decoration: underline;
    }
    .news_day {
        width: 120px;
    }
    .event_day {
        width: 150px;
    }
}
@media screen and (max-width: 768.9px) {
    .news,
    .event,
    .total {
        background: #fff;
        padding: 22px 10px;
        margin-bottom: 14px;
    }
    .news .leftRight,
    .event .leftRight {
        margin-bottom: 14px;
    }
    .news_box,
    .event_box {
        border-top: 1px solid #525b5c;
        border-bottom: 1px solid #ccc;
    }
    .news_row,
    .event_row {
        padding: 10px 0 8px;
        /*padding-right: 24px;*/
        position: relative;
    }
/*
    .news_row:before,
    .event_row:before {
        content: '';
        display: inline-block;
        background-image: url("/ja-jp/service/wms/asset/cmn/img/icon_chev_white.svg");
        background-size: 30%;
        background-repeat: no-repeat;
        background-position: center;
        background-color: #ea002a;
        border-radius: 50%;
        width: 14px;
        height: 14px;
        min-width: 14px;
        min-height: 14px;
        position: absolute;
        margin-top: -6px;
        top: 50%;
        right: 0;
    }
*/

    .news_row+.news_row,
    .event_row+.event_row {
        border-top: 1px solid #ccc;
    }

    .news_day {
        width: 120px;
        display: block;
    }

    .event_day {
        width: 140px;
        display: block;
    }

    .event_row::before {
        display: none;
    }

}
/*----------------------------------------------------------
15.bnrArea
----------------------------------------------------------*/
.bnrArea{
    margin: 0 auto 40px;
    max-width:750px;
}
.bnrArea .bnr{
    width: 100%;
    transition: 0.8s;
}
.bnrArea .bnr:hover{
    opacity: 0.7;
}
@media screen and (max-width: 768.9px) {
    .bnrArea{
        margin: 0 auto 20px;
    }
}

/*----------------------------------------------------------
16.dlArea
----------------------------------------------------------*/
.dlArea{
    line-height: 2.0;
}
.dlArea .dlBox:not(:last-of-type){
    margin-bottom: 40px;
}
.dlArea .dlBox .flBox{
    display: flex;
    gap: 30px;
}
@media screen and (max-width: 768.9px) {
    .dlArea .dlBox:not(:last-of-type){
        margin-bottom: 50px;
    }
    .dlArea .dlBox:last-of-type {
        text-align: left;
    }
    .dlArea .dlBox .flBox{
        flex-direction: column-reverse;
        gap: 30px;
    } 
    .dlArea .dlBox .flBox .thumb{
        width: 100%;
        height: auto;
    }
}
/*----------------------------------------------------------
17.adjust
----------------------------------------------------------*/
