@charset "UTF-8";

/* ********************************
base
******************************** */
*{
    font-family: "Hiragino Kaku Gothic ProN","メイリオ", sans-serif;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    word-break: normal !important;
    word-wrap: break-word !important;
}
html{
    font-size: 14px;
}
body{
    line-height: 1.5;
    min-width: 980px;
}
.wrap{
    overflow: hidden;
}
body.movie{
    background-color: #2e2d2d;
}
a{
    text-decoration: none;
    color: inherit;
}
ul{
    list-style: none;
}


/* ********************************
header
******************************** */
#header{
    width: 100%;
    background-color: #ffffff;
}
#header.headerVer2{
    border-bottom: 1px solid #0a4b9b;
}
.headerInner{
    width: 980px;
    margin: 0 auto;
    display: table;
    background-color: #ffffff;
    padding-bottom: 15px;
    table-layout: fixed;
    padding: 10px 0;
}
#header.headerVer2 .headerInner{
    padding: 15px 0;
}
.headerLeft,.headerCenter,.headerRight{
    display: table-cell;
    *display: inline;
    *zoom: 1;
}
.headerLeft,.headerRight{
    vertical-align: bottom;
    *vertical-align: middle;
}
#header.headerVer2 .headerLeft,#header.headerVer2 .headerRight{
    vertical-align: middle;
}
.headerLeftLogo{
    font-size: 0;
    line-height: 0;
}
.logo{
    line-height: 0;
    font-size: 0;
    margin-bottom: 10px;
}
.headerCenter{
    vertical-align: middle;
    text-align: center;
    *width: 660px;
}
.headerRight{
    text-align: right;
    *width: 195px;
    *vertical-align: middle;
}
.headerLeftInner{
    display: table;
    /* width: 170px; */
}
.headerWeather{
    display: table-cell;
    padding-right: 10px;
    vertical-align: middle;
    *display: inline;
    *zoom: 1;
    *text-align: center;
}
.headerWeatherIcon{
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    font-size: 0;
    line-height: 0;
}
.headerWeatherIcon img{
    max-height: 28px;
}
.headerWeatherSelectBlock{
    vertical-align: middle;
    display: inline-block;
}
.headerWeatherSelectTitle{
    line-height: 1;
    font-weight: bold;
    font-size: 14px;
}
.headerWeatherSelect{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    width: 100%;
    padding: 0;
    font-size: 14px;
    background: url(/image/builtin/arrow_bottom_blue.png) 100% 50% no-repeat;
    -webkit-background-size: 15%;
    background-size: 15%;
    padding-right: 18px;
}
.headerFortune{
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding-left: 10px;
    border-left: 1px solid #e6e6e6;
    line-height: 1;
    font-size: 14px;
    font-weight: bold;
    *display: inline;
    *zoom: 1;
}
.headerLogin{
    line-height: 0;
}
.headerLogin img{
    display: inline-block;
    vertical-align: middle;
}
.headerLoginButton{
    display: inline-block;
    vertical-align: middle;
    margin-left: 3px;
}
#header.headerVer2 .headerLoginButton .button{
    padding: 10px 15px;
    font-size: 18px;
    line-height: 1;
}
.headerLoginButton .button-white,.headerLoginButton .button-blue{
    padding: 3px 8px;
    font-size: 12px;
    font-weight: bold;
    border-width: 1px;
    line-height: 1;
}
.headerLoginText{
    font-size: 12px;
    color: #00418f;
    line-height: 1;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
}
#header.headerVer2 .headerLoginText{
    font-size: 18px;
    font-weight: normal;
}
.currentRegion{
    margin-left: 5px;
    font-weight: bold;
}
.regionSetting{
    font-size: 11px;
    margin-left: 5px;
}
.headerFunction{
    display: table;
    width: 100%;
    margin-top: 10px;
}
.search{
    display: table-cell;
    vertical-align: middle;
    width: 155px;
    letter-spacing: -0.4em;
    *display: inline;
}
.searchInputText{
    width: 150px;
    height: 26px;
    border: 1px solid #d9d9d9;
    border-right: none;
    font-size: 14px;
    padding: 2px 3px;
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}
.searchButton{
    display: inline-block;
    vertical-align: top;
    border: none;
    background-color: transparent;
    color: #ffffff;
    font-size: 14px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    letter-spacing: normal;
    line-height: 0;
    font-size: 0;
}
.switchFontSizeBlock{
    display: table-cell;
    vertical-align: middle;
    width: 70px;
    *display: inline;
    *zoom: 1;
    *width: 90px;
}
.switchFontSizeHead{
    display: inline-block;
    vertical-align: middle;
    *display: inline;
    *zoom: 1;
}
.switchFontSize{
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    line-height: 1;
    width: 25px;
    height: 25px;
    background-color: #e5e5e5;
    color: #0a4b9b;
    border-radius: 3px;
    cursor: pointer;
    *display: inline;
    *zoom: 1;
}
.switchFontSize.isActive{
    background-color: #0a4b9b;
    color: #ffffff;
}
.switchFontSizeText{
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    line-height: 25px;
    font-weight: bold;
}
.switchFontSizeSmall{
    font-size: 12px;
}
.switchFontSizeMedium{
    font-size: 14px;
}
.switchFontSizeLarge{
    font-size: 16px;
}

/* ********************************
nav
******************************** */
#nav{
    background-color: #ffffff;
}
.mainNavWrapper{
    background-color: #ebf2fa;
}
.mainNavTable{
    display: table;
    width: 980px;
    margin: 0 auto;
}
.mainNav{
    display: table-cell;
    margin: 0 auto;
    letter-spacing: -0.4em;
    *display: inline;
}
.mainNav.mainNavVer2{
    padding: 20px 0;
}
.mainNav.mainNav-right{
    text-align: right;
}
.mainNavItem{
    letter-spacing: normal;
    /* width: 140px; */
    display: inline-block;
    vertical-align: middle;
    /* height: 30px; */
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    *display: inline;
}
.mainNav.mainNavVer2 .mainNavItem + .mainNavItem{
    border-left: 1px solid #0a4b9b;
}
.mainNavItem a{
    display: inline-block;
    padding: 8px 15px;
    width: 100%;
    height: 100%;
    color: #000000;
    text-decoration: none;
    transition: all 0.4s;
    font-weight: bold;
    *display: inline;
    *width: auto;
    *zoom: 1;
    *padding: 8px 12px;
}
.mainNav.mainNavVer2 .mainNavItem a{
    color: #0a4b9b;
    padding: 0 15px;
    font-size: 16px;
    line-height: 1;
    border-bottom: none;
}
.mainNav.mainNavVer2 .mainNavItem:first-of-type a{
    padding-left: 0;
}
.mainNav.mainNav-right .mainNavItem a{
    border-right: 1px solid #ffffff;
}
.mainNav.mainNav-right .mainNavItem:first-of-type a{
    border-left: 1px solid #ffffff;
}
.mainNavItem a:hover{
    color: #ffffff;
    background-color: #00418f;
}
.mainNav.mainNavVer2 .mainNavItem a:hover{
    background-color: transparent;
    border-bottom: none;
    text-decoration: none;
    color: #3b91fb;
}
.mainNavItem.isActive{
}
.mainNavItem.isActive a{
    color: #ffffff;
    background-color: #00418f;
}
