/* ----------------------------------------------------------------
    Custom CSS

    Add all your Custom Styled CSS here for New Styles or
    Overwriting Default Theme Styles for Better Hanlding Updates
-----------------------------------------------------------------*/


/* CUSTOM BY WINTERFLYER
-----------------------------------------------------------------*/

@media (min-width: 768px) {
    .br-sp {display: none}
}

/*パートナーリストタイトル 20200903*/
h3.sponsors_title {
    font-size: 15px;
    letter-spacing: 1px;
    color: #999898;
}

/*トップ＆下層H1調整用 20200723*/
.header-extras {
    text-align: right;
}

.he-text h1 {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
}

.he-text h1 span {
    font-size: 12px;
    font-weight: bold;
    line-height: 1.6;
}

.he-text p {
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
    margin: 15px 0 15px 0;
}

@media (max-width: 991px) {

    .header-extras {
        text-align: center;
        float: none;
        margin: 30px 0 0;
    }

    .he-text h1 {
        font-size: 12px;
        font-weight: bold;
        line-height: 1.6;
    }

    .he-text h1 span {
        font-size: 9px;
        font-weight: bold;
        line-height: 1.6;
    }

    .he-text p {
        font-size: 12px;
        font-weight: bold;
        line-height: 1.6;
    }
}

.udr {
    background: linear-gradient(transparent 75%, #ff6984 70%);
    display: inline;
    padding: 0 2px 4px;
}

a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}

/*ページ内リンクのズレ解消*/

.img_mg {
    margin: 0 0 20px 0;
}

.newsheadline {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.8 !important;
}

li {
    list-style: none;
}

.sitemapfont li {
    font-size: 14px !important;
    font-weight: bold;
}

.sb-msg {
    line-height: 1.7;
}

.sb-msg li {
    margin-bottom: 5px;
}

.sb-msg li:before {
    font-family: FontAwesome;
    content: '\f0a4';
    /* アイコンのunicode */
    margin-right: 7px;
}

.pdflink p {
    margin-bottom: 5px;
    font-weight: bold;
}

.pdflink p:before {
    font-family: FontAwesome;
    content: '\f1c1';
    /* アイコンのunicode */
    margin-right: 7px;
}

.externallink p {
    margin-bottom: 5px;
    font-weight: bold;
}

.externallink p:before {
    font-family: FontAwesome;
    content: '\f08e';
    /* アイコンのunicode */
    margin-right: 7px;
}

p.imgcaption {
    font-size: 11px;
    color: #555;
    margin: 5px 0 10px 0;
    line-height: 1.8 !important;
}

p.imgcaption_notopmargin {
    font-size: 11px;
    color: #555;
    margin: 0 0 10px 0;
    line-height: 1.8 !important;
}

p.cclicense {
    font-size: 70%;
    color: #999;
    margin: 5px 0 5px 0;
    line-height: 1.5 !important;
}

p.cclicense a {
    color: #999;
    position: relative;
    display: inline-block;
    text-decoration: none;
}

p.cclicense a::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #999;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}

p.cclicense a:hover::after {
    transform: scale(1, 1);
}

h4.h4withbg {
    background-color: #f9f9f9;
}

/* COMPANY.HTML */

table.company thead tr th {
    font-size: 20px;
}

table.company tbody tr th {
    font-size: 20px;
}

table.company tbody tr td {
    font-size: 14px;
    line-height: 2;
    font-weight: 600;
}

table.company tbody tr td span.eng {
    font-size: 10px;
    line-height: 2;
}

@media (max-width: 991px) {
    table.company tbody tr td {
        font-size: 11px;
        line-height: 2;
        font-weight: 600;
    }

    table.company tbody tr td span.eng {
        font-size: 10px;
        line-height: 2;
    }
}

/* AREAGUIDE.HTML */

h4.guidetitle_ge {
    padding-left: 50px;
    background: url(../images/ch/canton/ge-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_ge span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_vd {
    padding-left: 50px;
    background: url(../images/ch/canton/vd-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_vd span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_ne {
    padding-left: 50px;
    background: url(../images/ch/canton/ne-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_ne span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_bs {
    padding-left: 50px;
    background: url(../images/ch/canton/bs-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_bs span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_be {
    padding-left: 50px;
    background: url(../images/ch/canton/be-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_be span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_lu {
    padding-left: 50px;
    background: url(../images/ch/canton/lu-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_lu span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_zh {
    padding-left: 50px;
    background: url(../images/ch/canton/zh-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_zh span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_sg {
    padding-left: 50px;
    background: url(../images/ch/canton/sg-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_sg span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_sh {
    padding-left: 50px;
    background: url(../images/ch/canton/sh-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_sh span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_gr {
    padding-left: 50px;
    background: url(../images/ch/canton/gr-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_gr span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_ai {
    padding-left: 50px;
    background: url(../images/ch/canton/ai-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_ai span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_liechtenstein {
    padding-left: 50px;
    background: url(../images/ch/canton/liechtenstein-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_liechtenstein span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_vs {
    padding-left: 50px;
    background: url(../images/ch/canton/vs-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_vs span {
    font-size: 80%;
    color: #444;
}

h4.guidetitle_ti {
    padding-left: 50px;
    background: url(../images/ch/canton/ti-hd.jpg) no-repeat left center;
    background-size: 40px 40px;
}

h4.guidetitle_ti span {
    font-size: 80%;
    color: #444;
}


ul.guidemenu {
    list-style: none;
    margin-bottom: 50px;
}

ul.guidemenu li:before {
    font-family: FontAwesome;
    content: '\f041';
}

ul.guidemenu li {
    font-weight: bold;
    margin-bottom: 15px;
}

h3.spots {
    line-height: 25px !important;
}

span.spotssubtitle {
    font-size: 14px;
    color: #777 !important;
    font-family: 'Open Sans';
}

span.spotssubtitle_white {
    font-size: 14px;
    color: #FFF !important;
    font-family: 'Open Sans';
}


/* MODELPLAN.HTML */

table thead th.itinerary_date {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    font-size: 13px;
    font-weight: bold;
}

table tbody td.itinerary_date {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    font-weight: bold;
}

table thead th.itinerary_content {
    font-size: 13px;
    font-weight: bold;
}

table tbody td.itinerary_content {
    font-size: 13px;
    font-weight: bold;
    vertical-align: middle;
}

table tbody td.itinerary_content p.tips {
    font-size: 11px;
    font-weight: normal;
    line-height: 1.8;
    display: block;
}

table thead th.itinerary_place {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    font-size: 13px;
    font-weight: bold;

}

table tbody td.itinerary_place {
    white-space: nowrap;
    text-align: center;
    vertical-align: middle;
    font-size: 13px;
    font-weight: bold;

}

.label_itinerary {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 13px;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.itinerary_budget {
    font-weight: bold;
    margin-bottom: 5px;
    font-size: 115%;
    display: block;
}

.itinerary_hints_subtitle {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 115%;
    display: block;
}

ul.itinerary_hints li {
    font-size: 11px;
    margin-bottom: 5px;
}

/* MODELPLAN.HTML */

ul.modellist li {
    line-height: 2.3;
    font-size: 13px;
    font-weight: bold;

}

/* AIR---PLAN.HTML */
h3.airport {
    font-size: 14px;
    margin-top: 10px;
}

/* AIR---PLAN.HTML */
h3.news_title {
    margin: 0;
}

.sponsor {
    margin-top: 50px;
    margin-bottom: 50px;
}

/* 勝敗表テーブル */
td.winner {
    background-color: #F2dede;
    color: #A94442;
}

/* STADIUM.HTML */
/* 交通機関アイコン一式 */
span.tram::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_tram.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.autobus::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_autobus.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.londonunderground::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_londonunderground.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.nationalrail::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_nationalrail.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.londonbuses::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_londonbus.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.londonoverground::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_londonoverground.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.merseytravel::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_merseytravel.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.manchestermetrolink::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_manchestermetrolink.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.barcelonametro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_barcelonametro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.madridmetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_madridmetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.madridcercanias::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_madridcercanias.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.sevillametro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_sevillametro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.sevillabus::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_sevillabus.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.metrovalencia::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_metrovalencia.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.metrodonostialdea::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_metrodonostialdea.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.ubahn::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_ubahn.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.sbahn::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_sbahn.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.metroitalia::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    background: url(../images/dg/icon_metroitalia.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.trenitalia::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_trenitalia.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.bakumetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_bakumetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.copenhagenstog::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_copenhagenstog.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.stpetersburgmetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_stpetersburgmetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.amsterdammetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_amsterdammetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.nsnederland::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_nsnederland.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.bucharestmetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_bucharestmetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.bilbaometro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_bilbaometro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.dartdablin::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_dartdublin.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.budapestmetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_budapestmetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.parismetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_parismetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.parisrer::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_parisrer.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.marseillemetro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_marseillemetro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.portometro::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_portometro.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

span.sbbcffffs::before {
    position: relative;
    left: 0;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../images/dg/icon_sbbcffffs.png) no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 5px;
}

@media (max-width: 767px) {
    .style-msg2 .msgtitle {
        font-size: 14px;
    }
}

/* TOP MODAL */
.fslider .mdltitle {
    font-weight: bold !important;
    font-size: 16px;
}

@media (max-width: 767px) {
    .fslider .mdltitle {
        font-weight: bold !important;
        font-size: 13px;
        padding-left: 10px;
    }
}

/* NEWSLIST 20200715 */
.card {
    width: auto;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px #ccc;
}

.card-img {
    border-radius: 5px 5px 0 0;
    max-width: 100%;
    height: auto;
}

.card-content {
    padding: 20px;
}

.card-title {
    font-size: 18px;
    margin-bottom: 20px;
    text-align: left;
    color: #333 !important;
}

.card-text {
    color: #777;
    font-size: 12px;
    line-height: 1.5;
}

.card-link {
    text-align: center;
    border-top: 1px solid #eee;
    padding: 20px;
}

.card-link a {
    font-weight: bold;
    text-decoration: none;
    margin: 0 10px;
}

.card-link a:hover {
    text-decoration: underline !important;
    color: #222 !important;
}

.card-link a:after {
    font-family: "Font Awesome 5 Free";
    content: '\f35d';
    margin-left: 7px;
}