
/* ------------------------------------------------------------

	トップページ

------------------------------------------------------------ */
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
}

body {
	-webkit-text-size-adjust: 100%;
	font-family :"Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	color:#333;
	line-height:1.5;
}

body * { box-sizing: border-box; }

/* ----- link color ----- */
a { color: #06a; }
a:hover { color: #098825; }

strong { font-weight: bold; }
img { vertical-align: top; }


#wrapper {
	margin: 0;
	padding: 0;
	position: relative;
}

.ie11 #wrapper { overflow: hidden; }/* - IE11 slickバグ対策 - */


/* - スマホサイトリンク
------------------------------------------------------------ */
.sp_link { display: none; }
.sp_link.on { display: block;}

.sp_link > a {
    display: block;
    text-align: center;
    text-decoration: none;
    background-color: #1d4f0d;
    color: #fff;
    
    background-color: #eee;
    color: #333;
    
    font-weight: bold;
    font-size: 3.6rem;
    padding: 30px 10px;
    transition: all 0.3s ease-in-out;
}

.sp_link > a:focus { background-color: #333; color: #fff; }
.sp_link > a i { margin-right: 0.4em;　}



/* - ヘッダー
------------------------------------------------------------ */
/* --- スマホ プルダウンメニュー領域外クリック用 --- */
#header_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    z-index: 890;
}

#header_bg.on { display: block; }

#header {
    background-color: #268300;
    height: 104px;
}

#header > .content {
    width: 100%;
    background-color: #268300;
    position: static;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 900;
}

#header.longines,
#header.longines > .content { background-color: #102753; }/* - ロンジンカラー - */

#header > .content.off {
    position: static;
    animation: header_move_out 0.2s ease-in-out;
    z-index: 900;
}

#header > .content.fixed {
    position: fixed;
    animation: header_move_in 0.5s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 900;
    top: 0;
}

/* --- header green line --- */
#header .line {
    width: 940px;
    margin: 0 auto;
}

#header .line > .inner {
    width: 100%;
    margin: 0;
}

#header .line > .inner:after { content: ''; display: block; clear: both; }

#header .line > .inner > .cell.left {
    float: left;
    padding: 12px 0 12px 5px;
}

#header .line > .inner > .cell.left a { display: block; }

#header .line > .inner > .cell.left img {
    max-height: 40px;
    transition: all 0.3s ease-in-out;
    vertical-align: top;
}

#header > .content.fixed .line > .inner > .cell.left { padding: 5px; }
#header > .content.fixed .line > .inner > .cell.left img { max-height: 30px; }

/* --- PRエリア --- */
#header .line > .inner > .cell.pr {
    float: left;
    height: 64px;
    display: flex;
    align-items: center;
    /*width: 358px;*/
    margin: 0 10px;
}

#header > .content.fixed .line > .inner > .cell.pr { height: 40px; }
#header .line > .inner > .cell.pr > .inner { padding: 10px; }

/* --- 検索・ネット投票・お問い合わせ・スマッピー --- */
#header .line > .inner > .cell.right {
    float: right;
    height: 64px;
    display: flex;
    align-items: center;
}

#header > .content.fixed .line > .inner > .cell.right { height: 40px; }

#header .line > .inner > .cell.right > .submenu {
    font-size: 0;
    position: relative;
}

#header .line > .inner > .cell.right > .submenu > .cell {
    display: inline-block;
    font-size: 1.3rem;
    vertical-align: middle;
}

#header .line > .inner > .cell.right > .submenu > .cell + .cell { margin-left: 5px; }
/*#header .line > .inner > .cell.right > .submenu > .cell + .cell { margin-left: 10px; }*/





/* --- アプリダウンロード --- */

#header .line > .inner > .cell.right > .submenu > .cell.app_link { display: none; }

.sp_mode #header .line > .inner > .cell.right > .submenu > .cell.app_link { display: inline-block; }

#header > .content.fixed .line > .inner > .cell.right > .submenu > .cell.app_link.off { display: none; }

.header_app_link > a {
    text-decoration: none;

    color: #222;
    border: 1px solid #d7d7d7;
    position: relative;
    padding: 0 0 0 8px;
    background-color: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 1.3rem;
    border-radius: 3px;
    color: #444;
    padding: 0 6px;
    
    display: flex;
    align-items: center;
    gap: 0 5px;
    height: 36px;
}

.header_app_link > a > .icon img  {
    max-width: 24px;
    vertical-align: top;
}

.header_app_link > a > .txt {
    display: flex;
    flex-direction: column;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
}

.header_app_link > a > .txt > span {
    /*display: flex;
    flex-direction: row;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.2;
    justify-content: center;
    */
}

.header_app_link > a > .txt > span + span {
    letter-spacing: -0.1em;
}

#header > .content.fixed .header_app_link > a { height: 26px; align-content: center; }
#header > .content.fixed .header_app_link > a > .icon img { max-width: 18px; }
#header > .content.fixed .header_app_link > a > .txt { flex-direction: row; }





/* --- スマッピーボタン --- */
#header .line > .inner > .cell.right > .submenu > .cell.smappy { display: none; }
.sp_mode #header .line > .inner > .cell.right > .submenu > .cell.smappy { display: inline-block; }

#header > .content.fixed .line > .inner > .cell.right > .submenu > .cell.smappy.off { display: none; }

.header_qr_btn {  }

.header_qr_btn > a {
    text-decoration: none;
    width: auto;
    color: #222;
    border: 1px solid #d7d7d7;
    position: relative;
    padding: 0 0 0 8px;
    background-color: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 1.3rem;
    border-radius: 3px;
    color: #444;
    padding: 0 6px;
    
    display: flex;
    align-items: center;
    height: 36px;
}

.header_qr_btn > a span.wrap { display: table; margin: 0 auto; }

.header_qr_btn > a span.wrap > span { display: table-cell; vertical-align: middle; }
.header_qr_btn > a span.wrap span.icon { text-align: center; line-height: 1.4; }

.header_qr_btn > a span.wrap span.icon i {
    display: block;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    line-height: 1;
    color: #0b838a;
    /*font-size: 3rem;*/
    font-size: 2.2rem;
}

.header_qr_btn > a span.wrap span.txt {
    font-size: 1.1rem;
    padding: 0;
    line-height: 1;
    font-weight: bold;
    color: #444;
    padding-left: 6px;
}

.header_qr_btn > a span.wrap span.txt > span.block_img { display: block; }
.header_qr_btn > a span.wrap span.txt > span.line_img { display: none; }

/*
.header_qr_btn > a span.wrap span.txt > span.cap {
    height: 13px;
    max-height: 13px;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -4px;
    margin-top: 1px;
}

.sp_header .header_qr_btn > a span.wrap span.txt > span.cap {
    margin-top: -1px;
}

.header_qr_btn > a span.wrap span.txt > span.cap > span { display: block; line-height: 1.1; }
.header_qr_btn > a span.wrap span.txt > span.cap > span > strong { margin-right: 1px; color: #0b838a; }

.header_qr_btn > a span.blow {
    position: absolute;
    left: -12px;
    top: -4px;
}

.header_qr_btn > a span.blow > img { max-width: 23px; }
*/

#header > .content.fixed .header_qr_btn > a { height: 26px; align-content: center; }
#header > .content.fixed .header_qr_btn > a span.wrap span.icon i { /*font-size: 2.4rem;*/ font-size: 1.8rem; }

#header > .content.fixed .header_qr_btn > a span.wrap span.txt { padding-left: 4px; line-height: 1.4; font-size: 0; }

#header > .content.fixed .header_qr_btn > a span.wrap span.txt img { max-height: 20px; }


#header > .content.fixed .header_qr_btn > a span.wrap span.txt > span.block_img { display: none; }
#header > .content.fixed .header_qr_btn > a span.wrap span.txt > span.line_img { display: block; }

/*
#header > .content.fixed .header_qr_btn > a span.wrap span.txt > span { display: inline-block; font-size: 1.1rem; line-height: 1.4; }
#header > .content.fixed .header_qr_btn > a span.wrap span.txt > span.cap {
    margin-left: 2px;
    margin-top: 0;
    height: auto;
    max-height: none;
}

#header > .content.fixed .header_qr_btn > a span.blow {
    top: -6px;
    left: -14px;
}
*/

/* --- ネット投票ログイン --- */
/*
#header .line > .inner > .cell.right > .submenu > .cell.login { margin-left: 0; }
*/
/*.sp_mode #header .line > .inner > .cell.right > .submenu > .cell.login { margin-left: 5px; }*/

#header > .content.fixed .line > .inner > .cell.right > .submenu > .cell.login.off { display: none; }

.header_login_btn {  }

.header_login_btn > a {
    text-decoration: none;
    width: auto;
    position: relative;
    background-color: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 1.2rem;
    color: #555;
    font-weight: bold;
    padding: 3px 6px;
    transition: all 140ms ease-in-out;
    border-radius: 3px;
    display: flex;
    align-items: center;
    height: 36px;
}

.no-touch .header_login_btn > a:hover,
.header_login_btn > a:focus {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
}

.header_login_btn > a .wrap {
    display: table;
    margin: 0 auto;
}

.header_login_btn > a .wrap > span {
    display: table-cell;
    vertical-align: middle;
}

.header_login_btn > a .wrap > span.txt {
    padding: 2px 0 2px 5px;
    text-align: center;
    font-size: 1rem;
    line-height: 1.2;
    padding: 2px;
}

.header_login_btn > a .wrap > span.txt > span.cap { font-size: 1rem; }

.header_login_btn > a .wrap > span.txt > span.main {
    display: block;
    font-size: 1.1rem;
}

#header > .content.fixed .header_login_btn > a .wrap > span.txt > span.main {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.header_login_btn > a i {
    color: #2d6fb7;
    vertical-align: middle;
    line-height: 1;
    display: block;
    /*font-size: 2.2rem;*/
    font-size: 1.6rem;
}

#header > .content.fixed .header_login_btn > a { height: 26px; align-content: center; }

#header > .content.fixed .header_login_btn > a i { font-size: 2rem;}

#header > .content.fixed .header_login_btn > a .wrap > span.txt { line-height: 1.4; padding:0; padding-left: 5px; font-size: 0; }

#header > .content.fixed .header_login_btn > a .wrap > span.txt > span.cap {
    font-size: 1.1rem;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2;
}

#header > .content.fixed .header_login_btn > a .wrap > span.txt > span.main {
    display: inline-block;
    vertical-align: middle;
    margin-left: 2px;
    line-height: 1.2;
}

/* --- お問い合わせ／FAQ --- */
#header .line > .inner > .cell.right .submenu > .cell.faq {  }
#header .line > .inner > .cell.right .submenu > .cell.faq .header_help_btn {  }
#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq .header_help_btn {  }
#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq.off { display: none; }

#header .line > .inner > .cell.right .submenu > .cell.faq a {
    text-decoration: none;
    width: auto;
    position: relative;
    background-color: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 1.2rem;
    font-weight: bold;
    color: #555;
    padding: 3px 6px;
    transition: all 140ms ease-in-out;
    text-align: center;
    vertical-align: middle;
    border-radius: 3px;
    display: flex;
    align-items: center;
    height: 36px;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq a {  }

.no-touch #header .line > .inner > .cell.right .submenu > .cell.faq a:hover,
#header .line > .inner > .cell.right .submenu > .cell.faq a:focus {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
    text-decoration: none;
}

#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap {
    display: table;
    margin: 0 auto;
}

#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span {
    display: table-cell;
    vertical-align: middle;
}

#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt {
    line-height: 1.2;
    font-size: 1rem;
    padding-left: 4px;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt {
    font-size: 1rem;
    padding-left: 5px;
}

#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt > span {
    display: block;
    font-size: 1.2rem;
}

#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt > span.cap { font-size: 1rem; }
#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt > span.main { font-size: 1.1rem; }
#header .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt > span .devide { display: none; }

#header .line > .inner > .cell.right .submenu > .cell.faq a i {
    color: #268300;
    line-height: 1;
    display: block;
    /*font-size: 2.2rem;*/
    font-size: 2rem;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq a i { font-size: 1.8rem; }
#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq a { height: 26px; }
#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.faq a > .wrap > span.txt > span.cap { display: none; }

/* --- サイト内検索 --- */
#header .line > .inner > .cell.right .submenu > .cell.search { margin-left: 20px; }
#header .line > .inner > .cell.right .submenu > .cell.search .search_box { position: relative; }

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search { margin-left: 5px; }
/*#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search { margin-left: 10px; }*/

#header .line > .inner > .cell.right .submenu > .cell.search .search_btn { display: none; }

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search .search_btn {
    display: inline-block;
    vertical-align: middle;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search .search_btn.off { display: none; }

#header .line > .inner > .cell.right .submenu > .cell.search .search_btn > a {
    text-decoration: none;
    width: auto;
    position: relative;
    background-color: #fff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    font-size: 1.2rem;
    font-weight: bold;
    color: #555;
    transition: all 140ms ease-in-out;
    text-align: center;
    vertical-align: middle;
    border-radius: 3px;
    display: flex;
    align-items: center;
    height: 26px;
    padding: 4px 5px;
}

.no-touch #header .line > .inner > .cell.right .submenu > .cell.search .search_btn > a:hover,
#header .line > .inner > .cell.right .submenu > .cell.search .search_btn > a:focus {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
    text-decoration: none;
}

#header .line > .inner > .cell.right .submenu > .cell.search .search_btn > a img { max-width: 16px; }

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search .search_main {
    display: none;
    animation: obj_fade_in 0.3s ease-in-out, obj_slide_in_side 0.2s ease-in-out;
    font-size: 0;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search .search_main.on { display: block; }

#header .line > .inner > .cell.right .submenu > .cell.search .search_main .search_box {
    display: inline-block;
    font-size: 1.3rem;
    vertical-align: middle;
}

#header .line > .inner > .cell.right .submenu > .cell.search .search_main .close {
    display: none;
    font-size: 1.3rem;
    margin-left: 5px;
}

#header > .content.fixed .line > .inner > .cell.right .submenu > .cell.search .search_main .close {
    display: inline-block;
    vertical-align: middle;
}

#header .line > .inner > .cell.right .submenu > .cell.search .search_main .close > a {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid #d3d3d3;
    font-weight: bold;
    line-height: 1.2;
    color: #333;
    font-size: 1.4rem;
    padding: 4px 6px;
}

.no-touch #header .line > .inner > .cell.right .submenu > .cell.search .search_main .close > a:hover,
#header .line > .inner > .cell.right .submenu > .cell.search .search_main .close > a:focus {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
    text-decoration: none;
}

#header .line > .inner > .cell.right .submenu > .cell.search .search_main .close > a i { display: block; }

.search_box input[type="text"] {
    width: 150px;
    font-size: 1.3rem;
    border: 1px solid #ddd;
    float: none;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    padding: 4px 20px 4px 4px;
    line-height: 1.5;
    height: 28px;
}

#header > .content.fixed .search_box input[type="text"] { height: 24px; }

.search_box input[type="image"] {
    position: absolute;
    width: 16px;
    height: 16px;
    right: 4px;
    top: 6px;
}

#header > .content.fixed .search_box input[type="image"] { top: 4px; }


/* - グローバルナビ
---------------------------------------------------------------------- */
#header .line#global_nav {
    background-color: #333;
    width: 100%;
    max-width: 100%;
    border-top: 1px solid #134100;
    border-bottom: 1px solid #134100;
}

#header.longines .line#global_nav {
    border-top: 1px solid #08152f;
    border-bottom: 1px solid #08152f;
}/* - ロンジンカラー - */

#header .line#global_nav > .inner {
    display: block;
    width: 940px;
    margin: 0 auto;
    position: relative;
    z-index: 900;
}

#global_nav > .inner > ul {
    display: table;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

#global_nav > .inner > ul > li {
    display: table-cell;
    vertical-align: middle;
    border: 1px dotted #444;
    border-top: none;
    border-bottom: none;
}

.longines #global_nav > .inner > ul > li { border-color: #000; }/* - ロンジンカラー - */

#global_nav > .inner > ul > li .menu_unit > a {
    display: block;
    text-decoration: none;
    text-align: center;
    padding: 12px 0;
    font-weight: bold;
    color: #fff;
    line-height: 1.1;
    font-size: 1.3rem;
    background-color: #333;
    transition: all 0.4s ease-in-out;
}

#global_nav > .inner > ul > li .menu_unit > a > span {
    letter-spacing: -0.1em;
    margin-left: -0.1em;
}

#global_nav > .inner > ul > li#gnav_event .menu_unit > a > span {
    letter-spacing: -0.2em;
    margin-left: -0.2em;
}

#global_nav > .inner > ul > li#gnav_keiba { width: 130px; }
#global_nav > .inner > ul > li#gnav_dento { width: 180px; }
#global_nav > .inner > ul > li#gnav_event { width: 176px; }
#global_nav > .inner > ul > li#gnav_facilities { width: 184px; }
#global_nav > .inner > ul > li#gnav_company { width: 112px }

.no-touch #global_nav > .inner > ul > li:hover a { background-color: #1d4f0d; }
#global_nav > .inner > ul > li.on a { background-color: #1d4f0d; }

.no-touch .longines #global_nav > .inner > ul > li:hover a { background-color: #011f39; }/* - ロンジンカラー - */
.longines #global_nav > .inner > ul > li.on a { background-color: #011f39; }/* - ロンジンカラー - */

#header > .content.fixed #global_nav > .inner > ul > li div.menu_unit > a {
    font-size: 1.2rem;
    padding: 8px;
}


/* --- ドロップダウンメニュー --- */
#global_nav > .inner > ul > li .submenu {
    background-color: #1d4f0d;
    position: absolute;
    left: 0;
    width: 100%;
    padding: 10px;
    background-color: #1d4f0d;
    box-sizing: border-box;
    display: none;
    opacity: 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    animation: obj_fade_in 0.4s ease-in-out, obj_slide_in 0.2s ease-in-out;
    animation-fill-mode: forwards;
}

.longines #global_nav > .inner > ul > li .submenu { background-color: #011f39; }/* - ロンジンカラー - */

#global_nav > .inner > ul > li.on .submenu {
    display: block;
    opacity: 1;
    height: auto;
    max-height: 500px;
    overflow-y: auto;
}

#global_nav > .inner > ul > li .submenu > .sub_head {
    margin-bottom: 10px;
    position: relative;
    padding-right: 75px;
}

#global_nav > .inner > ul > li .submenu > .sub_head > .close {
    position: absolute;
    right: 0;
    top: 4px;
    width: 21px;
    display: block;
}

#global_nav > .inner > ul > li .submenu > .sub_head > .close > a {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid #d3d3d3;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.2;
    color: #333;
    padding: 2px 4px;
}

#global_nav > .inner > ul > li .submenu > .sub_head > .close > a i {
    display: block;
    font-size: 1.4rem;
}

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner { display: table; }

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div {
    display: table-cell;
    vertical-align: middle;
}

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.main { padding-right: 30px; }

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.main > p > a {
    text-align: left;
    padding: 5px;
    display: inline-block;
    letter-spacing: normal;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}

.no-touch #global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.main > p > a:hover {
    text-decoration: underline;
}

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.main > p > a i { margin-right: 0.4em; }

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt {  }
#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul { font-size: 0; }
#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li {
    font-size: 1.2rem;
    display: inline-block;
}

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li + li { padding-left: 15px; }

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li > a {
    display: block;
    background: none;
    border: 1px solid #333;
    border-radius: 3px;
}

.no-touch #global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li > a:hover { background: none; }

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li > a > img {
    vertical-align: top;
    display: block;
    max-width: 180px;
}

#global_nav > .inner > ul > li .submenu > .sub_head > div.inner > div.opt > ul > li > a > img.tickets {
    max-width: 225px;
}

#global_nav > .inner > ul > li .submenu > p { margin-bottom: 10px; }

#global_nav > .inner > ul > li .submenu > p > a {
    text-align: left;
    padding: 5px;
    display: inline-block;
    letter-spacing: normal;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}

.no-touch #global_nav > .inner > ul > li .submenu > p > a:hover,
#global_nav > .inner > ul > li .submenu > p > a:focus { text-decoration: underline; }

#global_nav > .inner > ul > li .submenu > p > a i { margin-right: 0.4em; }

#global_nav > .inner > ul > li .submenu  > .inner {
    display: block;
    width: 100%;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell {
    background-color: #fff;
    box-sizing: border-box;
    padding: 15px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu {  }
#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit {  }


/* --- dento ログイン --- */
#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit {
    margin-bottom: 15px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 15px;

    display: flex;
    align-items: center;
    gap: 30px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list {
    display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
    width: 320px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit {
    width: 20%;
    width: 33.333%;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit > a {
    text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
    background-color: #fff;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit > a > .logo {
    height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit > a > .logo img {
    max-width: 100%;
	width: auto;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit.direct > a > .logo img {
    max-height: max-content;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit.nar > a > .logo img {
    max-height: 14px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit > a > .btn {
    width: 76px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	background-color: #333;
	color: #fff;
	border-radius: 12px;
	font-size: 1.1rem;
	line-height: 1.1;
	margin-top: 2px;
    width: 100%;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit.soku > a > .btn {
	background-color: #1D2186;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit.direct > a > .btn {
	background-color: #163C2B;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .btn_list > .unit.nar > a > .btn {
	background-color: #581800;
}


#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .related_links {
    display: flex;
    align-items: center;
    gap: 8px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .related_links > .btn {
    width: 50%;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .related_links > .btn > a {
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 -2px rgba(0,0,0,0.1) inset;
    padding: 8px 12px;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    display: block;
    /*line-height: 1.3;
    font-size: inherit;*/
    text-align: center;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .login_unit .related_links > .btn > a img {
    vertical-align: top;
}


/* --- dento ログイン（ここまで） --- */


#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit + .group_unit {
    margin-top: 10px;
    border-top: 1px dotted #ddd;
    padding-top: 10px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category {
    font-size: 1.3rem;
    font-weight: bold;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category span {
    display: inline-block;
    vertical-align: middle;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category span.icon img { max-width: 30px; }

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category span.txt {
    padding-left: 10px;
    font-size: 1.4rem;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a {
    background: none;
    text-align: left;
    color: #333;
    padding: 0;
    line-height: 1.4;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a i {
    margin-right: 8px;
    color: #14783a;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a .txt > i { margin-right: 5px; }

.no-touch #global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a:hover {  }

.no-touch #global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a:hover .txt,
#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit .category > a:focus .txt {
    text-decoration: underline;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul {
    font-size: 0;
    margin-top: 4px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li {
    font-size: 1.2rem;
    display: inline-block;
    width: 25%;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul.div5 > li { width: 20%; }
#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul.div3 > li { width: 33.333%; }

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a {
    text-align: left;
    background: none;
    font-weight: normal;
    display: block;
    padding: 4px 8px;
    transition: all 0.3s ease-in-out;
    color: #333;
    font-size: 1.4rem;
}

.no-touch #global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a:hover,
#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a:focus {
    background-color: #f3f3f3;
    color: #000;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a span {
    display: inline-block;
    vertical-align: middle;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a .icon {
    vertical-align: middle;
    display: inline-block;
    padding-right: 8px;
    color: #14783a;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a .icon i { display: block; }

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a .icon img {
    vertical-align: middle;
    display: block;
    max-width: 30px;
}

#global_nav > .inner > ul > li .submenu  > .inner > .cell.menu .group_unit > ul > li > a .txt { font-size: 1.4rem; }


/* - クイックメニュー
---------------------------------------------------------------------- */
#quick_menu {
    width: 100%;
    margin: 0;
}

#quick_menu > .inner {
    width: 940px;
    margin: 0 auto;
}

#quick_menu > .inner > ul {
    display: table;
    width: 100%;
}

#quick_menu > .inner > ul > li {
    display: table-cell;
    vertical-align: middle;
    table-layout: fixed;
    width: 11.111%;
    vertical-align: top;
    padding: 8px 0 10px 0;
    background-color: #fff;
}

#quick_menu > .inner > ul > li > a {
    display: block;
    border-left: 1px solid #ccc;
    padding: 0 8px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: #555;
}

#quick_menu > .inner > ul > li > label {
    display: block;
    border-left: 1px solid #ccc;
    padding: 0 8px;
    text-align: center;
    text-decoration: none;
    font-weight: bold;
    color: #555;
}

#quick_menu > .inner > ul > li:last-child > a { border-right: 1px solid #ccc; }

#quick_menu > .inner > ul > li > label > span:first-child,
#quick_menu > .inner > ul > li > a > div:first-child {
    display: flex;
    justify-content: center;
    align-items: center;
}

#quick_menu > .inner > ul > li > label > span img,
#quick_menu > .inner > ul > li > a > div img {
    vertical-align: top;
    max-height: 30px;
    transition: all 0.3s ease-in-out;
}

#quick_menu > .inner > ul > li > label > span + span,
#quick_menu > .inner > ul > li > a > div + div {
    line-height: 1.1;
    margin-top: 8px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.1rem;
}

.no-touch #quick_menu > .inner > ul > li > label:hover > span img,
#quick_menu > .inner > ul > li > label:focus > span img,
.no-touch #quick_menu > .inner > ul > li > a:hover > div img,
#quick_menu > .inner > ul > li > a:focus > div img { opacity: 0.5; }


/* --- 競走馬検索 --- */
#horse_search {
    position: relative;
    z-index: 11;
}

#horse_search > .contents {
    position: absolute;
    left: 50%;
    z-index: 110;
    transform: translateX(-50%);
    background-color: #fff;
    padding: 10px;
    margin-top: 10px;
    display: none;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    z-index: 12;
}

.no-touch #horse_search:hover > .contents {
    display: block;
    animation: obj_fade_in 0.3s ease-in-out;
    cursor: pointer;
}

#horse_search.on > .contents { display: block; }

#horse_search > .contents .input_line { position: relative; }

input#iv_h_name {
    background-color: #fff;
    border: 1px solid #d3d3d3;
    font-size: 1.2rem;
    line-height: 1.4;
    width: 150px;
    height: 24px;
    padding-right: 18px;
    box-sizing: border-box;
    padding: 4px;
}

#horse_search > .contents .input_line a.btn_search {
    display: block;
    position: absolute;
    top: 4px;
    right: 4px;
    width: 16px;
    height: 16px;
}

#horse_search > .contents .input_line a.btn_search img {
    vertical-align: top;
    max-width: 16px;
}

#horse_search > .contents .option { display: none; }

#horse_search > .contents .close {
    margin-top: 10px;
    text-align: center;
    display: none;
}

.touch #horse_search > .contents .close { display: block; }

#horse_search > .contents .close > a {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    background-color: #fff;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid #d3d3d3;
    font-size: 1rem;
    font-weight: bold;
    padding: 4px 10px;
    line-height: 1.2;
    color: #333;
}

#horse_search > .contents .close > a:hover {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
}

#horse_search > .contents .close > a i { margin-right: 0.2em; }



/* - slick
---------------------------------------------------------------------- */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus { outline: none; }

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden { display: none; }



/* - メインビジュアル
---------------------------------------------------------------------- */
#main_visual {
    width: 100%;
    min-width: 940px;
    height: 400px;
    position: relative;
    overflow: hidden;
    background-color: #000;
    display: block;
}

#main_visual > .inner {
    position: relative;
    z-index: 5;
    width: 940px;
    height: 400px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.main_visual img {
    width: 100%;
    max-width: 100%;
    vertical-align: top;
}

#main_visual .slider {
    opacity: 0;
    transition: 2.5s;
}

#main_visual .slider.slick-initialized { opacity: 1; }

#main_slide {
    width: 1280px;
    height: 400px;
    margin: 0 auto;
    margin-left: -170px;
}

.slick-list { overflow: visible; }

.slick-slide a {
    display: block;
    position: relative;
}

.slick-slide a > img {
    opacity: 0.2;
    transition: all 0.5s ease-in-out;
    transition-delay: 0.1s;
}

.slick-slide.slick-current a > img,
.slick-slide.slick-active a > img { opacity: 1; }

.slick-slide a > .cover {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: rgba(255,255,255,0.3);
    opacity: 0;
    display: block;
    transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
    border: 2px dotted #555;
    box-sizing: border-box;
}

.no-touch .slick-slide.slick-current a:hover > .cover,
.slick-slide.slick-current a:focus > .cover { opacity: 1; }

.slick-prev { z-index: 125; }
.slick-dots {  }
.slick-dots li button { box-sizing: border-box; }


#main_visual .btn_auto {  }

#main_visual .btn_auto > a {
    display: block;
    background-color: rgba(51, 51, 51, 0.9);
    border: 1px solid #222;
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

#main_visual .btn_auto > a > span.play { display: none; }
#main_visual .btn_auto > a > span.stop { display: inline; }

#main_visual .btn_auto.on > a > span.play { display: inline; }
#main_visual .btn_auto.on > a > span.stop { display: none; }


/* --- 左右矢印 --- */
.slide_arrow {  }

.slide_arrow .btn {
    padding: 0;
    width: 40px;
    height: 40px;
}

.slide_arrow div.prev {
    position: absolute;
    left: -25px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 50;
}

.slide_arrow div.next {
    position: absolute;
    right: -25px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    z-index: 50;
}

.slick-prev { left: 0; }
.slick-next { right: 0; }

.slick-prev,
.slick-next {
    display: block;
    background-color: rgba(255, 255, 255, 0.8);
    font-size: 2rem;
    padding: 10px;
    text-align: center;
    border-radius: 30px;
    box-sizing: border-box;
    position: relative;
    color: #333;
    border: 1px solid #555;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
    position: relative;
    outline: none;
    width: 40px;
    height: 40px;
    cursor: pointer;
}

.slick-prev img,
.slick-next img {
    position: absolute;
    left: 0;
    top: 0;
    width: 40px;
    height: 40px;
    border-radius: 40px;
}

.slick-prev > div,
.slick-next > div {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    display: block;
}

.slick-prev i, .slick-next i { display: block; font-size: 1.5rem; }
.slick-prev i { position: relative; left: -1px; }
.slick-next i { position: relative; right: -1px; }

.slick-prev:before, .slick-next:before {
    display: none;
    -webkit-font-smoothing: none;
}

.no-touch .slick-prev:hover, .slick-prev:focus,
.no-touch .slick-next:hover, .slick-next:focus {
    background-color: #333;
    color: #fff;
    border: 1px solid #fff;
}

/* --- 自動再生｜ページャー --- */
div.slide_control {
    position: absolute;
    right: 5px;
    bottom: 10px;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.8);
    padding: 4px;
    padding-right: 10px;
    border-radius: 2px;
}

div.slide_control.off { display: none; }

div.slide_control .inner { display: table; }

div.slide_control .inner > .cell {
    display: table-cell;
    vertical-align: middle;
}

div.slide_control .inner > .cell + .cell { padding-left: 10px; }

/* --- 自動再生ボタン --- */
div.slide_control .inner > .cell.auto .btn > a {
    display: block;
    background-color: rgba(51, 51, 51, 0.9);
    border: 1px solid #222;
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    text-decoration: none;
    font-size: 1.2rem;
    line-height: 1;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
}

.no-touch div.slide_control .inner > .cell.auto .btn > a:hover,
div.slide_control .inner > .cell.auto .btn > a:focus { border: 1px solid #eee; }

div.slide_control .inner > .cell.auto .btn.on > a {
    border: 1px solid #999;
    background-color: #e7e7e7;
    color: #444;
}

.no-touch div.slide_control .inner > .cell.auto .btn.on > a:hover,
div.slide_control .inner > .cell.auto .btn.on > a:focus {
    border: 1px dashed #222;
    background-color: #fff;
    color: #222;
}

div.slide_control .inner > .cell.auto .btn > a span.play { display: none; }
div.slide_control .inner > .cell.auto .btn.on > a span.play { display: block; }
div.slide_control .inner > .cell.auto .btn > a span.stop { display: block; }
div.slide_control .inner > .cell.auto .btn.on > a span.stop { display: none; }

/* --- ページャー --- */
ul.slick-dots { display: table; }

ul.slick-dots > li {
    display: table-cell;
    vertical-align: middle;
}

ul.slick-dots > li + li { padding-left: 5px; }

ul.slick-dots > li > a {
    color: #fff;
    transition: all 0.3s ease-in-out;
    background-color: rgba(0,0,0,0.7);
    border-radius: 10px;
    display: block;
    border: 2px solid #333;
    width: 12px;
    height: 12px;
}

ul.slick-dots > li > a img {
    max-width: 6px;
    vertical-align: top;
    max-width: 100%;
}

.no-touch ul.slick-dots > li > a:hover,
ul.slick-dots > li > a:focus { border: 2px solid #ccc; }
ul.slick-dots > li.slick-active > a { background-color: rgba(255,255,255,0.9); }


/* - ログインエリア
---------------------------------------------------------------------- */
.login_line {
    position: absolute;
    bottom: 20px;
    left: 15px;
    z-index: 101;
}

#login_area {
    padding: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    background-color: rgba(255,255,255,0.9);
}

#login_area img {
    width: auto;
    max-width: 290px;
}

#login_area > ul > li + li { margin-top: 5px; }
#login_area > ul > li > a { display: block; }
#login_area > ul > li > a > span.normal { display: block; }
#login_area > ul > li > a > span.hover {
    display: none;
    animation: obj_fade_in 0.2s ease-in-out;
    animation-fill-mode: forwards;
}

.no-touch #login_area > ul > li > a:hover > span.normal,
#login_area > ul > li > a:focus > span.normal { display: none; }

.no-touch #login_area > ul > li > a:hover > span.hover,
#login_area > ul > li > a:focus > span.hover { display: block; }

#login_area .help { margin-top: 8px; }

#login_area .help > ul { display: table; width: 100%; }

#login_area .help > ul > li {
    display: table-cell;
    vertical-align: middle;
    width: 50%;
    padding-right: 3px;
}

/*#login_area .help > ul > li + li { padding-left: 30px; }*/

#login_area .help > ul > li + li { padding-left: 3px; padding-right: 0; }

#login_area .help > ul > li > a { display: block; }
#login_area .help > ul > li > a img { max-width: 142px; vertical-align: top; }
#login_area .help > ul > li > a > span.normal { display: block; }
#login_area .help > ul > li > a > span.hover {
    display: none;
    /*animation: obj_fade_in 0.2s ease-in-out;
    animation-fill-mode: forwards;*/
}

.no-touch #login_area .help > ul > li > a:hover > span.normal,
#login_area .help > ul > li > a:focus > span.normal { display: none; }
.no-touch #login_area .help > ul > li > a:hover > span.hover,
#login_area .help > ul > li > a:focus > span.hover { display: block; }

/*
#login_area .help > ul > li > a {
    text-decoration: none;
    font-size: 1.1rem;
    color: #333;
    
    display: block;
    
    display: block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #d3d3d3;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 140ms ease-in-out;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    padding: 5px;
    color: #555;
    background-color: #fff;
    vertical-align: middle;
    font-size: 1.2rem;
    line-height: 1.4;
}

.no-touch #login_area .help > ul > li > a:hover,
#login_area .help > ul > li > a:focus {
    color: #333;
	border-color: #888;
	background-color: #f7f7f7;
}


#login_area .help > ul > li > a i {
    color: #666;
    margin-right: 0.4em;
    color: #268300;
}
*/


/* - 開催情報（今週の注目レース）
-------------------------------------------------------------------------------- */
#main_visual .kaisai_line {
    position: absolute;
    z-index: 100;
    left: 15px;
    top: 15px;
}

#kaisai_area {
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    background-color: rgba(255,255,255,0.95);
}

#kaisai_area > .head {
    /*padding: 4px 8px 3px 8px;*/
    background-color: #333;
    color: #fff;
}

#kaisai_area > .head > h2 {
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.4;
}

#kaisai_area > .head > h2 a {
    text-decoration: none;
    color: #fff;
    display: block;
    padding: 4px 8px 3px 8px;
    
    background-color: #333;
    transition: all 0.3s ease-in-out;
}

.no-touch #kaisai_area > .head > h2 a:hover,
#kaisai_area > .head > h2 a:focus {
    background-color: #1d4f0d;
}

#kaisai_area > .head > h2 a i {
    margin-right: 0.5em;
}

#kaisai_area img { width: auto; }

#kaisai_area > .kaisai_block {
    width: 310px;
    box-sizing: border-box;
}

#kaisai_area > .kaisai_block * { box-sizing: border-box; }

#kaisai_area > .kaisai_block .unit {
    display: table;
    width: 100%;
    border: none;
    margin-top: 0;
}

#kaisai_area > .kaisai_block .unit + .unit { border-top: 1px dotted #ccc; }

#kaisai_area > .kaisai_block .unit > div {
    display: table-cell;
    vertical-align: middle;
    padding: 4px 0 3px 0;
}

#kaisai_area > .kaisai_block .unit > div.head {
    padding: 5px;
    width: 40px;
    text-align: center;
}

#kaisai_area > .kaisai_block .unit.summer > div.head { padding: 3px 0; }

#kaisai_area > .kaisai_block .unit > div.head > span {
    display: inline-block;
    padding: 2px 4px;
    color: #fff;
    border-radius: 2px;
    font-weight: bold;
    font-size: 1.1rem;
    background-color: #555;
}

#kaisai_area > .kaisai_block .unit.summer > div.head img {
    max-width: 24px;
    vertical-align: top;
}



#kaisai_area > .kaisai_block .unit > div.main {  }

#kaisai_area > .kaisai_block .unit > div.main > .line {
    display: table;
    width: 100%;
    height: 24px;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div {
    display: table-cell;
    vertical-align: middle;
    padding: 2px 0;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.date {
    color: #333;
    text-align: right;
    font-size: 1.1rem;
    font-weight: bold;
    width: 90px;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.date span.date {
    font-size: 1rem;
    margin-left: 2px;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.date span.day {
    font-size: 1rem;
    margin-left: 4px;
    padding: 2px 4px 1px 4px;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2;
    color: #333;
    position: relative;
    top: -1px;
    background-color: #e3e3e3;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.date span.day.sat { background-color: #b3e5fc; }
#kaisai_area > .kaisai_block .unit > div.main > .line > div.date span.day.sun { background-color: #ffccbc; }

#kaisai_area > .kaisai_block .unit > div.main > .line > div.race { padding-left: 6px; }

#kaisai_area > .kaisai_block .unit > div.main > .line > div.race p {
    line-height: 1.2;
    font-size: 1.4rem;
    font-weight: bold;
    display: block;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.race a { text-decoration: none; }

.no-touch #kaisai_area > .kaisai_block .unit > div.main > .line > div.race a:hover,
#kaisai_area > .kaisai_block .unit > div.main > .line > div.race a:focus {
    text-decoration: underline;
    color: #098825;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.race p span.grade {
    margin-left: 4px;
    vertical-align: middle;
    display: inline-block;
}

#kaisai_area > .kaisai_block .unit > div.main > .line > div.race p span.grade img {
    position: relative;
    top: -1px;
    vertical-align: top;
    display: block;
    max-width: 24px;
}

#kaisai_area > .kaisai_block .unit.summer > div.main a {
    text-decoration: none;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.2;
}

#kaisai_area > .kaisai_block .unit.summer > div.main a:hover {
    text-decoration: underline;
}


/* - コンテンツレイアウト
---------------------------------------------------------------------- */
.contents_block {
    width: 940px;
    margin: 0 auto;
}

.contents_block + .contents_block { margin-top: 50px; }

.contents_block > h2 { font-size: 1.8rem; font-weight: bold; }

.contents_block > .head {  }
.contents_block > .head > .inner { display: table; }
.contents_block > .head > .inner > .cell {
    display: table-cell;
    vertical-align: middle;
}

.contents_block > .head > .inner > .cell.main h2 {
    font-size: 1.8rem;
    font-weight: bold;
}

.contents_block > .head > .inner > .cell.opt { padding-left: 15px; }

.contents_block > .content {
    width: 940px;
    margin: 0 auto;
    box-sizing: border-box;
}

.contents_block h2.title {
    font-size: 1.6rem;
    font-weight: bold;
    max-width: 940px;
    margin: 0 auto;
}

.contents_block > .title_line {
    display: flex;
    align-items: center;
    font-size: 2.2rem;
    min-width: 940px;
}

.contents_block > .title_line:before,
.contents_block > .title_line:after {
    content: "";
    display: inline;
	flex-grow: 1;
	height: 1px;
	background: #ccc;
	display: block;
}

.contents_block > .title_line:before { margin-right: 1em; }
.contents_block > .title_line:after { margin-left: 1em; }



/* - 発売レースのお知らせ
---------------------------------------------------------------------- */
#kaisai_info_area {
    width: 100%;
    margin-top: 0;
    padding-top: 30px;
}

#kaisai_info_area > .content { width: 100%; }

#kaisai_data_block > .content {
    width: 940px;
    margin: 0 auto;
}


/* - ロンジンカウントダウンクロック 2023年版
---------------------------------------------------------------------- */
#jc_longines_area {
    width: 940px;
    margin: 0 auto;
}

#jc_longines_area > a { display: block; }



/* - JRAニュース
---------------------------------------------------------------------- */
#news {
    width: 100%;
    min-width: 940px;
    padding: 30px 0;
    margin-top: 0;
    /*border-bottom: 1px solid #ddd;*/
}

#news * { max-height:999999px; }

#news > .tab {
	width: 100%;
    border-bottom: 2px solid #268300;
    width: 940px;
    margin: 30px auto 0 auto;
}

#news > .tab > ul {
    display: table;
    width: 100%;
}

#news > .tab > ul > li {
    display: table-cell;
	width: 20%;
    text-align: center;
    vertical-align: middle;
    border-top: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

#news > .tab > ul > li:first-child {
    padding-left: 0;
    border-left: 1px solid #ddd;
    border-radius: 3px 0 0 0;
}

#news > .tab > ul > li:last-child { border-radius: 0 3px 0 0; }

#news > .tab > ul > li.current {
    background-color: #268300;
    border: none;
}

#news > .tab > ul > li > a {
	display: block;
    color: #555;
    background-color: #fff;
    text-decoration: none;
    padding: 12px 4px;
    font-weight: bold;
    transition: all 0.4s ease-in-out;
}

#news > .tab > ul > li#news_tab3 > a > span {
    letter-spacing: -0.2em;
    margin-left: -0.2em;
}

.no-touch #news > .tab > ul > li > a:hover,
#news > .tab > ul > li > a:focus { background-color: #f3f3f3;}

#news > .tab > ul > li.current > a {
    color: #fff;
    background-color: #268300;
}

.no-touch #news > .tab > ul > li.current > a:hover { background-color: #268300; }

#news > .content {
	padding: 10px 20px;
	border: 1px solid #d3d3d3;
    border-top: none;
    background-color: #fff;
}

#news > .content > .news_unit {
    display: none;
    animation: obj_fade_in 0.3s ease-in-out;
}

#news > .content > .news_unit.on { display: block; }

#news > .content > .news_unit ul > li { padding: 8px 0; }
#news > .content > .news_unit ul > li + li { border-top: 1px dotted #ccc; }
#news > .content > .news_unit ul > li a { text-decoration: none; }

.no-touch #news > .content > .news_unit ul > li .news_line .txt a:hover { text-decoration: underline; }

#news > .content > .news_unit ul > li .news_line {
    display: table;
    width: 100%;
}

#news > .content > .news_unit ul > li .news_line > div {
    display: table-cell;
    vertical-align: middle;
}

#news > .content > .news_unit ul > li .news_line > .date {
    width: 120px;
	line-height: 1.5;
}

#news > .content > .news_unit ul > li .news_line > .icon {
    padding: 3px 6px;
    width: 80px;
	font-size: 1.1rem;
	line-height: 1.4;
	color: #555;
    text-align: center;
    border-radius: 2px;
    font-weight: bold;
}

#news > .content > .news_unit ul > li.race .news_line > .icon { background-color: #90e7b1; }
#news > .content > .news_unit ul > li.dento .news_line > .icon { background-color: #f7d0de; }
#news > .content > .news_unit ul > li.event .news_line > .icon { background-color: #f8c890; }
#news > .content > .news_unit ul > li.other .news_line > .icon { background-color: #ccd9fb; }

#news > .content > .news_unit ul > li > .news_line > .txt {
	line-height: 1.5;
	padding-left: 16px;
	word-wrap:break-word;
	word-break:break-all;
	margin-left: 104px;
    font-size: 0;
}

#news > .content > .news_unit ul > li > .news_line > .txt > a {
    display: inline-block;
    font-size: 1.3rem;
    vertical-align: middle;
}

#news > .content > .news_unit ul > li > .news_line > .txt > a > .inner { display: table; }
#news > .content > .news_unit ul > li > .news_line > .txt > a > .inner > div {
    display: table-cell;
    line-height: 1.4;
}
#news > .content > .news_unit ul > li > .news_line > .txt > a > .inner > div.icon {
    width: 12px;
    color: #268300;
}

#news > .content > .news_unit ul > li > .news_line > .txt i { color: #268300; }
#news > .content > .news_unit ul > li > .news_line > .txt i.fa.fa-external-link-square { margin-left: 5px; }

/* ----- レース映像ボタン ----- */
#news > .content > .news_unit ul > li > .news_line > .txt > .mov_btn {
    display: inline-block;
    position: relative;
    top: -2px;
    vertical-align: middle;
    font-size: 0;
}

#news > .content > .news_unit ul > li > .news_line > .txt > a + .mov_btn { margin-left: 10px; }

#news > .content > .news_unit ul > li > .news_line > .txt > .mov_btn > a {
    display: inline-block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border: 1px solid #d3d3d3;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 140ms ease-in-out;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    line-height: 1.4;
    color: #555;
    background-color: #fff;
    vertical-align: middle;
    font-size: 1rem;
    border-radius: 3px;
    padding: 3px 6px 2px 6px;
    font-size: 1rem;
}

.no-touch #news > .content > .news_unit ul > li .txt .mov_btn > a:hover {
    color: #333;
	border-color: #888;
	background-color: #f7f7f7;
    text-decoration: none;
}

#news > .content > .news_unit ul > li > .news_line > .txt > .mov_btn > a i { margin-right: 4px; }

.no-touch #news > .content > .news_unit ul > li > .news_line > .txt > a:hover > .inner > div.txt,
#news > .content > .news_unit ul > li > .news_line > .txt > a:focus > .inner > div.txt {
    text-decoration: underline;
}

/* --- JRAニュース 関連リンク（すべてのニュース・RSS） --- */
#news .related_links { margin-top: 30px; }
#news .related_links > ul { font-size: 0; text-align: center; }
#news .related_links > ul > li { font-size: 1.3rem; display: inline-block; }
#news .related_links > ul > li + li { margin-left: 30px; }

#news .related_links > ul > li > a {
    display: block;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid #d3d3d3;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 140ms ease-in-out;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    padding: 6px 15px;
    min-width: 150px;
    color: #555;
    background-color: #fff;
    vertical-align: middle;
    font-size: 1.2rem;
    line-height: 1.3;
}

.no-touch #news .related_links > ul > li > a:hover,
#news .related_links > ul > li > a:focus {
    color: #333;
	border-color: #888;
	background-color: #f7f7f7;
}

#news .related_links > ul > li > a i { margin-right: 0.3em; color: #268300; }
#news .related_links > ul > li > a i.fa.fa-rss-square { color: #FF6F00; }


/* - 電投系バナーエリア
---------------------------------------------------------------------- */
#dento_menu {
    margin-top: 0;
    padding: 30px 0;
    background-color: #f5f5f5;
    width: 100%;
    
    border-bottom: 1px solid #ddd;
}

#dento_menu ul.block_list_link {
    font-size: 0;
    width: 960px;
    margin-left: -20px;
    text-align: center;
}

#dento_menu ul.block_list_link > li {
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 220px;
    margin-left: 20px;
}

#dento_menu ul.block_list_link > li + li {  }

#dento_menu ul.block_list_link > li > a {
    display: block;
    text-decoration: none;
    color: #333;
    position: relative;
}

#dento_menu ul.block_list_link > li > a > .hover {
    width: 100%;
    height: 100%;
    border: 2px dashed #ccc;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 5px;
    border-radius: 6px;
    display: none;
    box-sizing: content-box;
}

.no-touch #dento_menu ul.block_list_link > li > a:hover > .hover,
#dento_menu ul.block_list_link > li > a:focus > .hover {
    display: block;
    animation: obj_fade_in 0.3s ease-in-out;
}

#dento_menu ul.block_list_link > li > a .img {
    border: 1px solid #ccc;
    position: relative;
    box-sizing: border-box;
    text-align: center;
    z-index: 10;
    background-color: #fff;
}

#dento_menu ul.block_list_link > li > a .img img {
    vertical-align: top;
    max-width: 100%;
    transition: all 0.3s ease-in-out;
}

#dento_menu ul.block_list_link > li > a .img .icon {
    position: absolute;
    right: 5px;
    top: 5px;
    color: #555;
    font-size: 1.5rem;
}

#dento_menu ul.block_list_link > li > a .img .icon i { display: block; }

#dento_menu ul.block_list_link > li > a > h2 {
    text-align: center;
    font-weight: bold;
    font-size: 1.5rem;
    margin-top: 10px;
    transition: all 0.2s ease-in-out;
    color: #444;
}

.no-touch #dento_menu ul.block_list_link > li > a:hover > h2,
#dento_menu ul.block_list_link > li > a:focus > h2 { color: #268300; }

#dento_menu ul.block_list_link > li > a > h2 i {
    margin-left: 0.4em;
    font-size: 1.3rem;
    vertical-align: middle;
    position: relative;
    top: -1px;
    color: #666;
}

#dento_menu ul.block_list_link > li > a > p {
    margin-top: 15px;
    font-size: 1.1rem;
    line-height: 1.4;
}

.no-touch #dento_menu ul.block_list_link > li > a:hover > p,
#dento_menu ul.block_list_link > li > a:focus > p { text-decoration: underline; }


/* - ピックアップエリア
---------------------------------------------------------------------- */
#pickup {
    width: 100%;
    border-bottom: 1px solid #ddd;
    padding-bottom: 30px;
    margin-top: 10px;
}

#pickup > .title_line { background-color: #fff; }

#pickup > .content { position: relative; }

#pickup > .content .slider_wrapper {
    box-sizing: border-box;
    padding-top: 20px;
    width: 940px;
    margin: 0 auto;
    overflow: hidden;
}

#pickup .slider {
    margin-left: -20px;
    opacity: 0;
    transition: 1.5s;
}

#pickup .slider.slick-initialized { opacity: 1; }

#pickup .slick-list {}

#pickup div.slick-slide { width: 220px; margin-left: 20px; }

#pickup div.slick-slide a {
    display: block;
    text-decoration: none;
    color: #444;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ccc;
}

#pickup div.slick-slide a:focus {
    border-color: #666;
    outline: none;
}

#pickup div.slick-slide a .img img {
    vertical-align: top;
    max-width: 218px;
    width: 218px;
    height: auto;
}

#pickup div.slick-slide a .cap {
    background-color: #fff;
    padding: 10px;
    border-top: 1px solid #ccc;
    transition: all 0.3s ease-in-out;

    display: flex;
    justify-content: center;
    align-items: center;
}

.no-touch #pickup div.slick-slide a:hover .cap,
#pickup div.slick-slide a:focus .cap {
    background-color: #f5f5f5;
}

/*
#pickup div.slide > div {  }

#pickup div.slide > div > a {
    display: block;
    text-decoration: none;
    color: #444;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ccc;
}

#pickup div.slide > div > a .img img {
    vertical-align: top;
    width: 100%;
    transition: all 0.3s ease-in-out;
}

.no-touch #pickup div.slide > div > a:hover .img img { opacity: 0.5; }

#pickup div.slide > div > a > .cap {
    background-color: #fff;
    padding: 10px;
    border-top: 1px solid #ccc;
}

.no-touch #pickup div.slide > div > a:hover > .cap { background-color: #f5f5f5; }
*/

#pickup div.slide_control {
    position: absolute;
    z-index: 10;
    border-radius: 2px;
    bottom: inherit;
    top: -32px;
    right: 0;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 4px;
    border: 1px solid #e3e3e3;
}

#pickup div.slide_control.off { display: none; }

#pickup div.slide_control .inner > .cell.auto .btn > a {
    font-size: 1rem;
    box-sizing: border-box;
    padding: 4px 6px;
}


/* --- ピックアップ 下部固定ブロック --- */
#pickup > .bottom_block {
    max-width: 940px;
    margin: 20px auto 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

#pickup > .bottom_block > div {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    align-content: stretch;
    gap: 0;
}

#pickup > .bottom_block > div > a {
    display: inherit;
    grid-template-rows: inherit;
    grid-row: inherit;
    text-decoration: none;
    color: #444;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ccc;
}

#pickup > .bottom_block a:focus { border-color: #666; outline: none; }

#pickup > .bottom_block a .img { height: 179px; }

#pickup > .bottom_block a .img img {
    vertical-align: top;
    max-width: 218px;
    width: 218px;
    height: auto;
}

#pickup > .bottom_block a .cap {
    background-color: #fff;
    padding: 10px;
    border-top: 1px solid #ccc;
    transition: all 0.3s ease-in-out;
    line-height: 1.4;
    display: grid;
    place-items: center center;
}

.no-touch #pickup > .bottom_block a:hover .cap,
#pickup > .bottom_block a:focus .cap { background-color: #f5f5f5; }



/* - JRAからのお知らせ
---------------------------------------------------------------------- */
#jra_info {
    width: 100%;
    margin-top: 30px;
    min-width: 940px;
}

#jra_info > .title {
    text-align: center;
    background-color: #268300;
    color: #fff;
    padding: 8px 0;
}

#jra_info > .content {
    padding: 20px;
    border: 1px solid #ddd;
    margin-top: 0;
    border-top: none;
}

#jra_info > .content > ul {  }
#jra_info > .content > ul > li { font-size: 0; }
#jra_info > .content > ul > li + li { margin-top: 8px; }

#jra_info > .content > ul > li > .link_unit { display: inline-block; font-size: 1.3rem; }
#jra_info > .content > ul > li > .link_unit + .link_unit { margin-left: 20px; }

#jra_info > .content > ul > li > .link_unit > a { display: block; text-decoration: none; }
#jra_info > .content > ul > li > .link_unit > a > .inner { display: table; }

#jra_info > .content > ul > li > .link_unit > a > .inner > span {
    display: table-cell;
    vertical-align: top;
}

#jra_info > .content > ul > li > .link_unit > a > .inner > span.icon {
    width: 15px;
    padding-right: 4px;
    text-align: center;
}

.no-touch #jra_info > .content > ul > li > .link_unit > a:hover > .inner > span.txt,
#jra_info > .content > ul > li > .link_unit > a:focus > .inner > span.txt {
    text-decoration: underline;
    color: #098825;
}

#jra_info > .content > ul > li > .link_unit > a > .inner > span.txt i { margin-left: 0.2em; }

#jra_info > .content > ul > li > .link_unit > a i { color: #268300; }


/* - 公式SNSエリア
---------------------------------------------------------------------- */
#sns_area {
    background-color: #f5f5f5;
    border-top: 1px solid #ddd;
    width: 100%;
    margin-top: 30px;
    padding: 20px 0 40px 0;
}

#sns_area > .content { margin-top: 10px; }

#sns_area > .content > ul {
    font-size: 0;
    width: 990px;
    margin-left: -50px;
}

#sns_area > .content > ul > li {
    font-size: 1.3rem;
    display: inline-block;
    background-color: #fff;
    width: 280px;
    margin-left: 50px;
}


#sns_area > .content > ul.div4 {
    display: flex;
    gap: 20px;
    width: 940px;
    margin-left: 0;
}

#sns_area > .content > ul.div4 > li {
    font-size: 1.3rem;
    width: 25%;
    margin-left: 0;
}

#sns_area > .content > ul.div4 > li img { max-width: 220px; }

#sns_area > .content > ul.div5 {
    display: flex;
    gap: 20px;
    width: 940px;
    margin-left: 0;
}

#sns_area > .content > ul.div5 > li {
    font-size: 1.3rem;
    width: 20%;
    margin-left: 0;
}

#sns_area > .content > ul.div5 > li img { max-width: 172px; }


#sns_area > .content > ul > li > a { display: block; }


/* - ページのトップへ戻る
---------------------------------------------------------------------- */
#pagetop {
    position: fixed;
    right: 10px;
    bottom: -60px;
    z-index: 760;
    animation: obj_fade_in 0.5s ease-in-out;
    display: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.320, 1.275);
}

#pagetop.on { bottom: 10px; display: block; }
#pagetop.bottom { bottom: 80px; }

#pagetop > a {
    display: block;
    text-decoration: none;
    position: relative;
}

#pagetop > a img { max-width: 44px; }

#pagetop > a > .hover {
    width: 100%;
    height: 100%;
    display: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 2px;
    border: 2px dotted #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

.no-touch #pagetop > a:hover > .hover,
#pagetop > a:focus > .hover {
    display: block;
    animation: obj_fade_in 0.3s ease-in-out;
}


/* - フッター
---------------------------------------------------------------------- */
#footer { background-color: #1d4f0d; }
#footer.longines { background-color: #102753; }

#footer .contents_block { padding: 15px 0; }
#footer .contents_block > ul { font-size: 0; }

#footer .contents_block > .grid { display: table; width: 100%; }
#footer .contents_block > .grid > .cell { display: table-cell; vertical-align: middle; }
#footer .contents_block > .grid > .cell + .cell {
    text-align: right;
    vertical-align: middle;
    line-height: 1.4;
}

#footer .contents_block p.copyright {
    color: #fff;
    font-size: 1rem;
    text-align: right;
    margin-top: 10px;
}

#footer .contents_block ul { font-size: 0; }

#footer .contents_block ul > li {
    font-size: 1.1rem;
    display: inline-block;
    border-left: 1px solid #999;
    padding: 0 8px;
}

#footer .contents_block ul > li:last-child { border-right: 1px solid #999; }

#footer .contents_block ul > li > a {
    display: block;
    text-decoration: none;
    color: #fff;
}

.no-touch #footer .contents_block ul > li > a:hover,
#footer .contents_block ul > li > a:focus { text-decoration: underline; }
#footer .contents_block ul > li > a i { margin-left: 0.3em; }


/* - アニメーション
---------------------------------------------------------------------- */
@keyframes header_move_in {
    from{ transform: translateY(-104px); }
    to{ transform: translateY(0); }
}

@keyframes header_move_out {
    from{ transform: translateY(24px); }
    to{ transform: translateY(0); }
}

@keyframes obj_fade_in {
    from{ opacity: 0; }
    to{ opacity: 1; }
}

@keyframes obj_fade_out {
    from{ opacity: 1; }
    to{ opacity: 0; }
}

@keyframes obj_slide_in {
    from { transform: translateY(-5px); }
    to { transform: translateY(0); }
}

@keyframes obj_slide_in_side {
    from { transform: translateX(-5px); }
    to { transform: translateX(0); }
}



/* - 発売レースのお知らせ - 詳細
------------------------------------------------------------ */
#kaisai_data_block {  }

#kaisai_data_block .title_line {
    display: flex;
    align-items: center;
    font-size: 2.2rem;
    font-weight: bold;
    color: #444;
}

#kaisai_data_block .title_line:before,
#kaisai_data_block .title_line:after {
    content: "";
    display: inline;
	flex-grow: 1;
	height: 1px;
	background: #ccc;
	display: block;
}

#kaisai_data_block .title_line:before { margin-right: 1em; }
#kaisai_data_block .title_line:after { margin-left: 1em; }

#kaisai_data_block > .content {
    padding: 5px 0;
    display: none;
    margin-top: 15px;
}

#kaisai_data_block > .content.on {
    display: block;
    animation: obj_fade_in 0.5s ease-in-out;
}

#kaisai_data_block > .header {
    position: relative;
    min-width: 940px;
}

#kaisai_data_block > .header > .inner {
    width: 940px;
    margin: 0 auto;
    
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

#kaisai_data_block > .header > .inner > h2 {
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.5;
    padding: 6px;
    padding: 12px 0;
    font-size: 1.6rem;
    text-shadow: 0 1px 1px rgba(255,255,255,0.8);
}

/* --- 更新・詳細ボタンエリア --- */
#kaisai_data_block > .header > .inner > .btns {
    position: absolute;
    right: 0;
    top: -20px;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #ddd;
    border: 1px solid #e7e7e7;
    border-radius: 2px;
    padding: 5px;
    background-color: #f5f5f5;
}

#kaisai_data_block > .header > .inner > .btns > ul { font-size: 0; }

#kaisai_data_block > .header > .inner > .btns > ul > li {
    display: inline-block;
    font-size: 1.3rem;
}

#kaisai_data_block > .header > .inner > .btns > ul > li.reload + li.detail { margin-left: 5px; }

#kaisai_data_block > .header > .inner > .btns > ul > li > a {
    display: block;
    text-decoration: none;
    font-weight: bold;
    
    text-align: center;
    font-weight: bold;
    border-radius: 4px;
    border: 1px solid #d3d3d3;
    
    cursor: pointer;
    box-sizing: border-box;
    transition: all 140ms ease-in-out;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    padding: 4px 10px;
    background-color: #fff;
    vertical-align: middle;
    
    font-size: 1.2rem;
    line-height: 1.3;
}

.no-touch #kaisai_data_block > .header > .inner > .btns > ul > li > a:hover {
    color: #333;
    border-color: #888;
    background-color: #f7f7f7;
}

#kaisai_data_block > .header > .inner > .btns > ul > li > a i {
    margin-right: 0.4em;
    color: #188542;
}


/* --- レースライブボタン --- */
#kaisai_data_block > .header > .inner > .btns > ul > li.live {
    padding-right: 8px;
    border-right: 1px dotted #ccc;
    display: none;
}

#kaisai_data_block > .header > .inner > .btns > ul > li.live.on { display: inline-block; }


#kaisai_data_block > .header > .inner > .btns > ul > li.live > a {
    background-color: #E00025;
	border: 1px solid #a2021d;
	color: #fff;
	box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.no-touch #kaisai_data_block > .header > .inner > .btns > ul > li.live > a:hover {
    background-color: #c02;
	border: 1px solid #800015;
    color: #fff;
}

#kaisai_data_block > .header > .inner > .btns > ul > li.live > a i { color: #fff; }

#kaisai_data_block > .header > .inner > .btns > ul > li.live.on + li.reload { margin-left: 8px; }


/* --- レースライブボタン（イレギュラー） --- */
#tempo_live_button { margin-top: 20px; }

#tempo_live_button > .header { display: flex; justify-content: flex-end; }

#tempo_live_button > .header > .live_btn {
    border: 1px solid #e7e7e7;
    border-radius: 2px;
    padding: 5px;
    background-color: #f5f5f5;
}

#tempo_live_button > .header > .live_btn > a {
    display: block;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 140ms ease-in-out;
    padding: 4px 10px;
    vertical-align: middle;
    font-size: 1.2rem;
    line-height: 1.3;

    background-color: #E00025;
    border: 1px solid #a2021d;
    color: #fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

#tempo_live_button > .header > .live_btn > a:hover {
    background-color: #c02;
    border: 1px solid #800015;
    color: #fff;
}

#tempo_live_button > .header > .live_btn > a i { margin-right: 0.4em; }

#tempo_live_button + #news { padding-top: 0; }


/* --- loading --- */
#kaisai_data_block .loading {
    position: relative;
    background-color: #e3e3e3;
    text-align: center;
    min-height: 150px;
    background-color: #fafafa;
}

#kaisai_data_block .loading.off { display: none; }

#kaisai_data_block .loading > p {
    font-size: 1.4rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
    color: #666;
    padding: 5px 16px;
    display: inline-block;
    text-shadow: 0 1px 1px rgba(255,255,255,1);
    background-color: #e3e3e3;
    margin-top: 15px;
    box-shadow: 0 1px 4px rgba(51,51,51,0.1) inset;
    border-radius: 2px;
    padding: 6px 15px;
}

#kaisai_data_block .loading > p i { margin-right: 0.4em; }


/* --- data line unit --- */
#kaisai_data_block div.place_line {
    display: table;
    width: 100%;
    box-sizing: border-box;
}

#kaisai_data_block div.place_line + div.place_line { margin-top: 5px; }

#kaisai_data_block div.place_line.off { display: none; }/* -- 日曜日でD・E・F場表示が無い場合 -- */

#kaisai_data_block div.place_line > div {
    display: table-cell;
    width: 33.33%;
    vertical-align: top;
    box-sizing: border-box;
    padding: 5px 10px;
}

/* ----- A・B・C場 ----- */
#kaisai_data_block .rc {
    /*width: 244px;*/
    margin: 0 auto;
    background-color: #fff;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
    width: 100%;
}

#kaisai_data_block .rc.blank {/* --- A・B・C場ブランク表示 --- */
    padding: 0;
    border-radius: 3px;
    opacity: 1;
    background: none;
    box-shadow: none;
    border: 1px dotted #ccc;
    border-radius: 3px;
    box-sizing: border-box;
}

#kaisai_data_block .rc > .rc_header { position: relative; }
#kaisai_data_block .rc.blank > .rc_header { display: none; }

#kaisai_data_block .rc > .rc_header > h3 {
    font-weight: bold;
    color: #333;
    padding: 5px 10px;
    text-align: center;
    font-size: 1.3rem;
    border: 2px solid #ddd;
    line-height: 1.4;
    position: relative;
}

/* - 天候がnullの場合 - */
#kaisai_data_block .rc > .rc_header.no_weather > h3 { padding-right: 10px; }

#kaisai_data_block .rc > .rc_header > h3:after {
    content: '';
    border-bottom: 15px solid transparent;
    border-left: 15px solid #6aa7cd;
    position: absolute;
    left: 0;
    top: 0;
}

#kaisai_data_block .rc#rcA > .rc_header > h3 {
    color: #367ab2;
    background-color: #fff;
    border-color: #a5cdf2;
}

#kaisai_data_block .rc#rcA > .rc_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #cbe0f0;
}

#kaisai_data_block .rc#rcB > .rc_header > h3 {
    color: #028641;
    border-color: #86e0b1;
}

#kaisai_data_block .rc#rcB > .rc_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #c3e5d3;
}

#kaisai_data_block .rc#rcC > .rc_header > h3 {
    color: #c74845;
    border-color: #f39896;
}

#kaisai_data_block .rc#rcC > .rc_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #f1d1d2;
}

#kaisai_data_block .rc > .rc_header > h3 span.kai {
    margin-right: 0.5em;
    font-size: 1.3rem;
}

#kaisai_data_block .rc > .rc_header > h3 span.date {
    margin-left: 0.5em;
    font-size: 1.3rem;
}

/* --- 天候 --- */
#kaisai_data_block .rc > .rc_header .weather {
    position: absolute;
    top: -4px;
    right: 5px;
    box-sizing: border-box;
    border-radius: 0 0 3px 3px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    width: 48px;
    padding: 6px 0 3px 0;
    color: #444;
}

#kaisai_data_block .rc > .rc_header .weather.sunny { background-color: #eab205; }
#kaisai_data_block .rc > .rc_header .weather.cloudy { background-color: #39d0cf; }
#kaisai_data_block .rc > .rc_header .weather.rain,
#kaisai_data_block .rc > .rc_header .weather.light_rain { background-color: #8ab7f3; }
#kaisai_data_block .rc > .rc_header .weather.snow,
#kaisai_data_block .rc > .rc_header .weather.light_snow { background-color: #6ad2e8; }

#kaisai_data_block .rc > .rc_header .weather .img {
    display: block;
    text-align: center;
}

#kaisai_data_block .rc > .rc_header .weather .img img {
    vertical-align: top;
    max-width: 24px;
}

#kaisai_data_block .rc > .rc_header .weather .cap {
    display: block;
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    margin: 6px 3px 0 3px;
    padding: 2px 0 1px 0;
    line-height: 1.4;
    background-color: #fff;
    border-radius: 0 0 2px 2px;
}

#kaisai_data_block .rc > .rc_body { padding: 5px; }
#kaisai_data_block .rc.blank > .rc_body { display: none; }
#kaisai_data_block .rc.blank > .rc_body .line { display: none; }

/* --- 馬場状態 --- */
.rc_body .line.baba { margin-bottom: 5px; }

.rc_body .line.baba > .inner {
    display: table;
    border-collapse: collapse;
    width: 230px;
}

/* - 天候情報が無い場合 - */
.rc_body .line.baba.no_weather > .inner { width: 100%; }

.rc_body .line.baba > .inner > .cell {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.1rem;
    font-weight: bold;
    width: 50%;
}

.rc_body .line.baba > .inner > .cell > dl {
    display: table;
    color: #444;
    width: 100%;
}

.rc_body .line.baba > .inner > .cell > dl > dt {
    display: table-cell;
    vertical-align: middle;
    border: 1px solid #ccc;
    padding: 2px 0;
    text-align: center;
    line-height: 1.4;
    width: 50%;
    border: 1px solid #ddd;
}

.rc_body .line.baba > .inner > .cell.turf { padding-right: 3px; }

.rc_body .line.baba > .inner > .cell.turf > dl > dt {
    background-color: #dcf0d4;
    box-sizing: border-box;
    padding: 2px 0;
}

.rc_body .line.baba.no_weather > .inner > .cell.turf > dl > dt { width: 50%; }

.rc_body .line.baba > .inner > .cell.dirt { padding-left: 3px; }

.rc_body .line.baba > .inner > .cell.dirt > dl > dt {
    background-color: #f9d4d1;
    box-sizing: border-box;
    padding: 2px 0;
}

.rc_body .line.baba.no_weather > .inner > .cell.dirt > dl > dt { width: 50%; }

.rc_body .line.baba > .inner > .cell > dl > dd {
    display: table-cell;
    vertical-align: middle;
    background-color: #f6f7f9;
    padding: 2px 0;
    text-align: center;
    box-sizing: border-box;
    line-height: 1.4;
    width: 50%;
    border: 1px solid #ddd;
}

/* --- 確定レース・中止情報 --- */
.rc_body .line.decided { margin-bottom: 5px; }

.rc_body .line.decided > .type {  }

.rc_body .line.decided > .type > a {
    display: block;
    text-decoration: none;
    color: #444;
    width: 100%;
    display: block;
    position: relative;
    box-sizing: border-box;
    line-height: 1.4;
}

.rc_body .line.decided > .type p {
    padding: 4px 8px;
    border: 1px solid #ddd;
    background-color: #f7f7f7;
    transition: all 0.3s ease-in-out;
    text-align: center;
    line-height: 1.4;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.rc_body .line.decided > .type.stop p {
    background-color: #ac1b1b;
    color: #fff;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.rc_body .line.decided > .type.left p { text-align: left; }/* --- 20文字以上の左寄せ用 --- */

.rc_body .line.decided > .type + .type p { border-top: none; }

.no-touch .rc_body .line.decided > .type > a:hover p,
.rc_body .line.decided > .type > a:focus p {
    color: #fff8e1;
    background-color: #06a;
}

/* --- 変更情報 --- */
.line.change {  }
.line.change > .main {  }
.line.change > .main > h4 {
    display: block;
    background-color: #f8f2cf;
    border: 1px solid #ddd;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: bold;
    color: #444;
    line-height: 1.4;
    padding: 2px 6px;
    border-bottom: none;
    text-align: center;
}

.line.change > .main > h4 i { margin-right: 0.4em; color: #ac1b1b; }

.line.change > .main > a {
    display: block;
    text-decoration: none;
    color: #444;
    border: 1px solid #ddd;
}

.line.change > .main ul {
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}

.no-touch .line.change > .main > a:hover ul,
.line.change > .main > a:focus ul { background-color: #fff8e1; }

.line.change > .main ul > li { border-top: 1px dashed #ddd; }
.line.change > .main ul > li:first-child { border-top: none; }

.line.change > .main ul > li > dl { display: table; width: 100%; }

.line.change > .main ul > li > dl > dt {
    display: table-cell;
    vertical-align: middle;
    width: 210px;
    font-size: 1rem;
    padding: 2px 2px 2px 4px;
    line-height: 1.4;
}

.line.change > .main ul > li > dl > dd {
    display: table-cell;
    vertical-align: middle;
    font-size: 1rem;
    text-align: right;
    padding: 2px 4px 2px 2px;
    line-height: 1.4;
}

.line.change > .main ul > li > dl > dd > span { font-size: 1.1rem; font-weight: bold; }

/* --- 変更情報：データなし --- */
.line.change > .main.no_data > h4 {
    display: block;
    border: 1px solid #ddd;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: bold;
    color: #444;
    line-height: 1.4;
    padding: 2px 6px;
    border-bottom: none;
    text-align: center;
    background-color: #e7e7e7;
}

.line.change > .main.no_data > h4 i { display: none; }

.line.change > .main.no_data > ul {
    display: block;
    color: #444;
    border: 1px solid #ddd;
}

.line.change > .main.no_data ul > li {
    text-align: center;
    font-size: 1.1rem;
    padding: 2px;
}

/* ----- 前日・前々日発売（D・E・F場） ----- */
div.zen {
    margin-top: 8px;
    box-sizing: border-box;
}

div.place_line > div.unit > div.zen { margin-top: 0; }

div.zen > .zen_header > h3 {
    font-weight: bold;
    font-size: 1.3rem;
    border-top: 4px solid #555;
    text-align: center;
    background-color: #fff;
    border: 2px solid #ddd;
    color: #444;
    font-size: 1.2rem;
    padding: 4px;
    position: relative;
}

div.zen > .zen_header > h3:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    border-bottom: 15px solid transparent;
    border-left: 20px solid #cbe0f0;
}

div.zen#zenA > .zen_header > h3 { color: #367ab2; border-color: #a5cdf2; }

div.zen#zenA > .zen_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #cbe0f0;
}

div.zen#zenB > .zen_header > h3 { color: #028641; border-color: #86e0b1; }

div.zen#zenB > .zen_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #c3e5d3;
}

div.zen#zenC > .zen_header > h3 { color: #c74845; border-color: #f39896; }

div.zen#zenC > .zen_header > h3:after {
    border-bottom: 15px solid transparent;
    border-left: 18px solid #f1d1d2;
}

div.zen > .zen_body {
    background-color: #fff;
    border-radius: 0 0 3px 3px;
    padding: 5px;
    box-sizing: border-box;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}

div.zen.blank {
    opacity: 1;
    background: none;
    box-shadow: none;
    border-radius: 3px;
    box-sizing: border-box;
    border: 1px dotted #ddd;
}

div.zen.blank > .zen_body {
    padding: 0;
    border-radius: 3px;
    opacity: 0.5;
    display: none;
}

div.zen.blank > .zen_header { display: none; }

div.zen > .zen_body > .data > h4 {
    background-color: #5d5d5d;
    color: #fff;
    font-weight: bold;
    font-size: 1.1rem;
    text-align: center;
    border-top: 1px solid #555;
    padding: 2px 0;
}

div.zen > .zen_body > .data > .line { font-size: 0; }
div.zen > .zen_body > .data > .line.off { display: none; }

div.zen.blank > .zen_body > .data > .line.race { display: none; }

div.zen > .zen_body > .data > .line > h4 {
    font-size: 1rem;
    font-weight: bold;
    color: #555;
    padding: 2px 4px;
    display: inline-block;
}

div.zen > .zen_body > .data > .line.info + .line.race {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px dashed #ddd;
}

/* ----- レース情報（当日・前日・前々日発売（A・B・C・D・E・F場）） ----- */
#kaisai_data_block .line.race ul.race_list { font-size: 1.3rem; }
#kaisai_data_block .line.race ul.race_list > li { margin-bottom: 5px; }
#kaisai_data_block .line.race ul.race_list > li:first-child {  }

#kaisai_data_block .line.race ul.race_list > li > a {
    display: block;
    font-size: 1rem;
    font-weight: bold;
    text-decoration: none;
    border-radius: 3px;
    border: 1px solid #d3d3d3;
    cursor: pointer;
    transition: all 140ms ease-in-out;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
    line-height: 1.4;
    color: #555;
    background-color: #fff;
    vertical-align: middle;
    box-sizing: border-box;
    padding: 8px;
}

.no-touch #kaisai_data_block .line.race ul.race_list > li > a:hover,
#kaisai_data_block .line.race ul.race_list > li > a:focus {
	color: #333;
	border-color: #888;
	background-color: #f7f7f7;
}

#kaisai_data_block .line.race ul.race_list > li > a > p {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 1px;
}

#kaisai_data_block .line.race ul.race_list > li .inner { display: table; }

#kaisai_data_block .line.race ul.race_list > li .inner > .cell {
    display: table-cell;
    vertical-align: middle;
    font-size: 1rem;
}

#kaisai_data_block .line.race ul.race_list > li .inner > .cell.num {  }

#kaisai_data_block .line.race ul.race_list > li .inner > .cell.num img {
    vertical-align: top;
    display: block;
    position: relative;
    top: -1px;
    max-width: 26px;
}

#kaisai_data_block .line.race ul.race_list > li .inner > .cell.name {
    font-weight: bold;
    padding-left: 4px;
    font-size: 1.4rem;
}

#kaisai_data_block .line.race ul.race_list > li .inner > .cell.name.all { padding-left: 0; }

#kaisai_data_block .line.race ul.race_list > li .inner > .cell.grade { padding-left: 4px; }
#kaisai_data_block .line.race ul.race_list > li .inner > .cell.grade img {
    vertical-align: top;
    max-width: 24px;
    position: relative;
    top: -1px;
}

/* --- 前日発売：変更情報 --- */
div.zen > .zen_body > .data > .line.race + .line.change { margin-top: 5px; }
div.zen.blank > .zen_body > .data > .line.change { display: none; }

/* --- 前日発売：取り止め表示 --- */
div.zen > .zen_body > .data > .line.info {  }
div.zen > .zen_body > .data > .line.info > .content { font-size: 1.2rem; }
div.zen > .zen_body > .data > .line.info > .content > p {
    text-align: center;
    padding: 4px;
    color: #fff;
    background-color: #ac1b1b;
}

div.zen > .zen_body > .data > .line.info > .content > p i { margin-right: 0.4em; }


/* - 緊急情報エリア（上部）
------------------------------------------------------------ */
#kaisai_data_block_stop {  }

.kaisai_info {
    box-sizing: border-box;
    display: none;
    padding: 10px 0 5px 0;
    background-color: #fff;
}

.kaisai_info.on {
    display: block;
    animation: fade_in 0.4s ease-in-out;
}

.kaisai_info > .wrap {
    max-width: 940px;
    margin: 0 auto;
}

.kaisai_info > * { box-sizing: border-box; }
.kaisai_info img { max-width: 100%; }
.kaisai_info p { margin: 0; padding: 0; }

.kaisai_info > .content {
    max-width: 940px;
    margin: 0 auto;
}

.kaisai_info .head {
    border-radius: 0;
    border: none;
    background-color: #B71C1C;
}

.kaisai_info .head > a {
    display: block;
    text-decoration: none;
    color: #FFF9C4;
}

.kaisai_info .head > a > .inner {
    display: table;
    width: 100%;
}

.kaisai_info .head > a > .inner > .cell {
    display: table-cell;
    vertical-align: middle;
    padding: 5px 10px;
    transition: all 0.3s ease-in-out;
    padding: 10px;
}

.kaisai_info .head > a > .inner > .cell.right {
    text-align: right;
    padding: 10px;
    width: 100px;
}

.kaisai_info .head > a > .inner > .cell h2 {
    font-weight: bold;
    line-height: 1.2;
    margin: 0;
    padding: 0;
    color: #FFF9C4;
    font-size: 2.4rem;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.kaisai_info .head > a > .inner > .cell h2 i {
    margin-right: 0.3em;
    color: #ac1b1b;
    vertical-align: middle;
    position: relative;
    line-height: 1.2;
    color: #fff;
    font-size: 2.4rem;
    top: -2px;
}

.kaisai_info .head.closed {  }

.kaisai_info .btn_style {
    display: inline-block;
	color: #555;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	border: 1px solid #d3d3d3;
	cursor: pointer;
	box-sizing: border-box;
	transition: all 140ms ease-in-out;
	box-shadow: 0 1px 4px rgba(0,0,0,0.15);
	line-height: 1.4;
    color: #555;
	background-color: #fff;
	vertical-align: middle;
    box-sizing: border-box;
    position: relative;
    top: -1px;
    
    border-radius: 3px;
    padding: 5px 8px;
    font-size: 1.2rem;
}

.kaisai_info .btn_style i {
	margin-right: 0.5em;
	color: #188542;
}

.kaisai_info .head > a:hover .btn_style,
.kaisai_info .head > a:focus .btn_style {
    color: #333;
	border-color: #888;
	background-color: #f7f7f7;
}

.kaisai_info .btn_open { display: none; }
.kaisai_info .btn_close { display: none; }
.kaisai_info .btn_open.show { display: block; }
.kaisai_info .btn_close.show { display: block; }

.kaisai_info > .wrap > .content {
    display: none;
    padding: 15px;
    border: 4px solid #B71C1C;
    border-top: none;
}

.kaisai_info > .wrap > .content.show {
    display: block;
    animation: obj_fade_in 0.5s ease-in-out;
}

.kaisai_info > .wrap > .content > ul {
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
    border-top: 1px dashed #fff;
}

.kaisai_info > .wrap > .content > ul > li {
    background-color: #fff;
    box-sizing: border-box;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line { border-bottom: 1px solid #fff; }
.kaisai_info > .wrap > .content > ul > li:last-child .unit > .line { border-bottom: none; }

.kaisai_info > .wrap > .content > ul > li .unit > .line.rc {
    display: table;
    width: 100%;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line.rc > div.cell {
    display: table-cell;
    vertical-align: middle;
    padding: 5px;
    box-sizing: border-box;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line.rc > div.cell.cap {
    width: 120px;
    font-weight: bold;
    border-right: 1px dashed #ddd;
    text-align: center;
    background-color: #f8f2cf;
    color: #444;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line.rc > div.cell.cap > span { margin-left: 0.5em; }

.kaisai_info > .wrap > .content > ul > li .unit > .line.rc > div.cell.main {  }

.kaisai_info > .wrap > .content > ul > li .unit p.stop {
    display: block;
    text-decoration: none;
    font-weight: bold;
    padding: 8px;
    line-height: 1.3;

    background-color: #fff;
    color: #ac1b1b;
    border: 1px solid #ccc;
}

.kaisai_info > .wrap > .content > ul > li .unit p.stop.serious {
    background-color: #ac1b1b;
    color: #fff;
    border: 1px solid #ac1b1b;
}

.kaisai_info > .wrap > .content > ul > li .unit p.stop i { margin-right: 0.4em; }

.kaisai_info > .wrap > .content > ul > li .unit p.stop > .inner {
    display: table;
    width: 100%;
}

.kaisai_info > .wrap > .content > ul > li .unit p.stop > .inner > span {
    display: table-cell;
    vertical-align: top;
}

.kaisai_info > .wrap > .content > ul > li .unit p.stop > .inner > span.icon {
    width: 18px;
    box-sizing: border-box;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line.zen { margin-top: 0; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race {
    display: table;
    width: 100%;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell {
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box;
    padding: 10px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.cap {
    text-align: center;
    border-right: 1px dashed #ddd;
    background-color: #f8f2cf;
    font-weight: bold;
    color: #444;
    font-size: 1.5rem;
    width: 150px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.cap > p { line-height: 1.4; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.cap > p > span.day { margin-left: 0.4em; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.cap > p > span.num {
    display: block;
    background-color: #444;
    color: #fff;
    padding: 4px;
    margin-top: 5px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.cap > p > span.num > span { margin-left: 0.2em; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main {
    font-size: 1.8rem;
    background-color: #f5f5f5;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.stop { padding: 8px 10px; }
.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.stop > .inner {  }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main > div {
    text-decoration: none;
    display: block;
    padding: 8px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #444;
    margin-top: 5px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main > div:first-child { margin-top: 0; }
.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.stop + div { margin-top: 10px; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name {
    font-weight: bold;
    line-height: 1.3;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name i { margin-right: 0.4em; }

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name .num {
    display: inline-block;
    vertical-align: middle;
    margin-right: 2px;
    position: relative;
    top: -2px;
    line-height: 1.3;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name .num img {
    vertical-align: middle;
    max-width: 26px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name > .num + .txt {
    padding-left: 4px;
    line-height: 1.3;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name .grade {
    margin-left: 4px;
    position: relative;
    top: -1px;
}

.kaisai_info > .wrap > .content > ul > li .unit > .line .race > .cell.main p.name .grade > img {
    vertical-align: middle;
    max-width: 24px;
}


/* - ナビゲーションスキップ
---------------------------------------------------------------------- */
#navigation_skip {
    background-color: #222;
    color: #fff;
    display: block;
    position: relative;
    box-sizing: border-box;
}

#navigation_skip > p {
    position: absolute;
    left: 0;
    top: -10px;
    height: 1px;
    overflow: hidden;
}

#navigation_skip > p.focused { position: static; height: auto; }

#navigation_skip > p > a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    padding: 10px 0;
}

#navigation_skip > p > a > i { margin-right: 0.4em; }

#skip-target {
    position: relative;
    left: -9999px;
    height: 0;
}


/* ----- 中止情報ありの時のブロックスキップ ----- */
#block_skip {
    background-color: #222;
    color: #fff;
    display: block;
    position: relative;
    box-sizing: border-box;
}

#block_skip > p {
    position: absolute;
    left: 0;
    top: -10px;
    height: 1px;
    overflow: hidden;
}

#block_skip > p.focused { position: static; height: auto; }

#block_skip > p > a {
    display: block;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    padding: 10px 0;
}

#block_skip > p > a > i { margin-right: 0.4em; }



/* - 「緊急のお知らせ」（CMS）エリア
---------------------------------------------------------------------- */
#emergency_cms {
    margin-top: 20px;
    display: none;
}

#emergency_cms.on {
    display: block;
    animation: obj_fade_in 0.2s ease-in-out
}

#emergency_cms > .title {
    width: 940px;
    margin: 0 auto;
    background-color: #B71C1C;
    padding: 5px;
    color: #FFF9C4;
    padding: 8px 8px 4px 8px;
}

#emergency_cms > .title h2 {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    text-shadow: 0 1px 4px rgba(0,0,0,0.3);
    color: #fff;
}

#emergency_cms > .title i {
    margin-right: 0.3em;
    color: #FFF9C4;
}

#emergency_cms > .content {
    width: 940px;
    margin: 0 auto;
    border: 4px solid #B71C1C;
    border-top: none;
    padding: 15px;
    line-height: 1.6;
}

#emergency_cms > .content p.title {
    font-size: 2rem;
    border-bottom: 1px dashed #999;
    padding-bottom: 0.3em;
    color:  #1A237E;
}

#emergency_cms > .content p.title i { margin-right: 0.3em; }

#emergency_cms > .content > ul { }
#emergency_cms > .content > ul > li { font-size: 0; }
#emergency_cms > .content > ul > li + li { margin-top: 10px; }

#emergency_cms > .content > ul > li > a {
    text-decoration: none;
    display: inline-block;
    font-size: 1.5rem;
}

#emergency_cms > .content > ul > li > a span.inner { display: table; }

#emergency_cms > .content > ul > li > a span.inner > span {
    display: table-cell;
    vertical-align: top;
}

#emergency_cms > .content > ul > li > a span.inner > span.icon { padding-right: 0.4em; }
#emergency_cms > .content > ul > li > a span.inner > span.icon i { color: #268300; }

.no-touch #emergency_cms > .content > ul > li > a:hover span.inner > span.txt { text-decoration: underline; }

#emergency_cms > .content > p { line-height: 1.6; }
#emergency_cms > .content strong.red { color: #db0000; }

#emergency_cms > .content a i {
    text-decoration: none;
    margin-right: 0.3em;
    color: #268300;
}



/* - 上部フリーエリア（クイックメニュー下）
---------------------------------------------------------------------- */
/*
#free_area > .content {
    width: 940px;
    margin: 20px auto;
    padding: 15px;
    background-color: #f5f5f5;
}
*/


/* ------------------------------------------------------------

	汎用クラス

------------------------------------------------------------ */
.mt50 { margin-top: 50px !important; }
.mt40 { margin-top: 40px !important; }
.mt30 { margin-top: 30px !important; }
.mt25 { margin-top: 25px !important; }
.mt20 { margin-top: 20px !important; }
.mt15 { margin-top: 15px !important; }
.mt10 { margin-top: 10px !important; }
.mt5 { margin-top: 5px; }

