/**
 * tokucho common styles
 */
/**
 * existing styles
 */
.mainv {
    position: relative;
}
.mainv .mainv-item {
    display: none;
}
.mainv .mainv_wrap .active {
    display: block;
}

.mainv-item-inner {
    width: 960px;
    height: 420px;
    margin: 0 auto;
    position: relative;
    background: url(/tokucho/img/20151127/img_main_bg.jpg) no-repeat left top;
}
.mainv-item-inner h1{
    text-shadow: -2px -2px 3px #fff, 2px 2px 3px #fff;
}
.mainv-item-inner h1 small,
.mainv-item-inner h1 strong,
.mainv-item-inner h1 span{
    display: block;
}
.mainv-item-inner h1 small{
    position: absolute;
    top: 84px;
    left: 50px;
    font-size: 24px ;
    color: #0074cc;
}
.mainv-item-inner h1 strong{
    position: absolute;
    top: 138px;
    left: 50px;
    font-size: 47px;
    font-style: normal;
    color: #333333;
    font-weight: normal;
}
.mainv-item-inner h1 span{
    position: absolute;
    top: 235px;
    left: 50px;
    font-size: 20px;
    font-weight: normal;
}
.tooltip {
    padding: 1em 0;
    position: absolute;
    z-index: 10;
    text-align: left;
    bottom: 0;
    left: 50px;
}
.tooltip .tooltip_tgl {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    font-size: 77%;
    color: #0070cb;
    text-decoration: underline;
    cursor: pointer;
}
.tooltip .tooltip_body {
    width: 418px;
    position: absolute;
    left: -8px;
    display: none;
    z-index: 15;
}
.tooltip .tooltip_body.active {
    display: block;
}
.tooltip .tooltip_body_inner {
    padding: 0 20px;
    background: url(/img/20141001/balloon_bg.png) repeat-y left top;
}
.tooltip .tooltip_body_inner ul {
    margin-top: 0;
}
.tooltip .tooltip_body_inner li {
    float: none;
}

/**
 * override styles
 */
.mainv .mainv-item {
    display: block;
}
.mainv .mainv-item-inner {
    min-height: 330px;
}

.tooltip {
    left: 0;
}

.moduleSideNav {
    float: none;
    position: absolute;
    right: -102px;
    top: 20px;
    z-index: 2;
}

#moduleIntroduce {
    margin-top: 19px;
}

/**
 * maincontents styles
 */
.maincontents {
    text-align: center;
}
.maincontents .block {
    width: 960px;
    margin: 0 auto;
    text-align: left;
}
.maincontents .block-mainvisual {
    width: 100%;
    min-height: 330px;
    background-color: #f0f8fb;
}
.maincontents .block-mainvisual .catch {
    padding: 32px 0 0 0;
    *zoom: 1;
}
.maincontents .block-mainvisual .catch:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
}
.maincontents .block-mainvisual .catch span {
    float: left;
    vertical-align: top;
}
.maincontents .block-mainvisual .catch span.ico {
    width: 65px;
    display: block;
    padding: 0 9px 0 0;
}
.maincontents .block-mainvisual .catch span.txt {
    float: left;
    padding: 4px 0 0 0;
    font-size: 18px;
    line-height: 22px;
    font-weight: bold;
}
.maincontents .block-mainvisual .title {
    display: inline-block;
    margin: 8px 0 0 -5px;
    padding: 0;
    color: #0070cb;
    font-size: 48px;
    line-height: 66px;
    font-weight: normal;
    letter-spacing: -2px;
}
.maincontents .block-mainvisual .outline {
    margin: 25px 0 0 0;
    font-size: 16px;
    line-height: 24px;
}
.maincontents .block-point .introduction {
    min-height: 300px;
    margin-top: 30px;
    background-position: 100% 30px;
    background-repeat: no-repeat;
}
.maincontents .block-point .introduction .title {
    margin: 0;
}
.maincontents .block-point .introduction .catch {
    margin-top: 32px;
    font-size: 26px;
    line-height: 36px;
    color: #0070cb;
    font-weight: normal;
}
.maincontents .block-point .introduction .description {
    width: 580px;
    margin-top: 31px;
}
.maincontents .block-point .introduction .description p {
    font-size: 14px;
    line-height: 22px;
}
.maincontents .block-point .introduction .description p + p {
    margin-top: 11px;
}
.maincontents .block-point .introduction .description .note {
    font-size: 12px;
}
.maincontents .block-point .column {
    margin: 45px 0 0 0;
    padding: 36px 20px 29px 20px;
    background: #f0f8fb;
}
.maincontents .block-point .column .label {
    display: inline;
}
.maincontents .block-point .column .label img {
    vertical-align: top;
}
.maincontents .block-point .column .label span {
    margin: 0 0 0 3px;
    color: #0070cb;
    font-size: 22px;
    line-height: 30px;
    vertical-align: top;
}
.maincontents .block-point .column .img {
    margin-top: 20px;
}
.maincontents .block-point .advice {
    position: relative;
    margin: 31px 0 0 0;
    padding: 32px 30px 31px 34px;
    background: #fffcef;
}
.maincontents .block-point .advice .description {
    margin-top: 12px;
    font-size: 14px;
    line-height: 22px;
}
.maincontents .block-point .advice .note {
    font-size: 12px;
    line-height: 18px;
}
.maincontents .block-point .cases {
    width: 960px;
    margin-top: 13px;
    background: url("../img/20150223/bg_subtitle.png") repeat-x 50% 0;
}
.maincontents .block-point .cases.no-border {
    background: none;
}
.maincontents .block-point .cases .case {
    margin-top: 25px;
}
.maincontents .block-point .cases .case + .case {
    margin-top: 50px;
}
.maincontents .block-point .cases .title-area {
    width: 100%;
    *zoom: 1;
}
.maincontents .block-point .cases .title-area:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
}
.maincontents .block-point .cases .title-area .ico {
    width: 112px;
    float: left;
}
.maincontents .block-point .cases .title-area .txt {
    width: 840px;
    float: left;
    padding: 31px 0 0 0;
    vertical-align: top;
    text-align: left;
}
.maincontents .block-point .cases .title-area .title {
    float: left;
    font-size: 22px;
    line-height: 30px;
    font-weight: normal;
    color: #0074cc;
}
.maincontents .block-point .cases .title-area .note {
    float: left;
    margin: 11px 0 0 8px;
    font-size: 12px;
    line-height: 16px;
}
.maincontents .block-point .cases .title-area .outline {
    width: 100%;
    float: left;
    margin-top: 13px;
    font-size: 14px;
    line-height: 22px;
}
.maincontents .block-point .cases .photo {
    width: 964px;
    margin-right: -4px;
}
.maincontents .block-point .cases .photo .note {
    margin-top: 7px;
    font-size: 10px;
    line-height: 18px;
}
.maincontents .block-point .cases .caption {
    width: 960px;
    height: 50px;
    margin-bottom: 11px;
}
.maincontents .block-point .cases .caption .label {
    float: left;
    padding: 0 9px 0 0;
}
.maincontents .block-point .cases .caption .txt {
    float: left;
    padding: 15px 0 13px 10px;
    color: #fff;
    font-size: 14px;
    line-height: 22px;
    font-weight: bold;
    text-align: left;
}
.maincontents .block-navi {
    width: 960px;
    overflow: hidden;
    margin-top: 50px;
    padding: 50px 0;
    border-top: 1px solid #d4d4d4;
    text-align: center;
}
.maincontents .block-navi ul {
    width: 975px;
    margin: 0 0 0 -15px;
    padding: 13px 0 0 0;
    *zoom: 1;
}
.maincontents .block-navi ul:after {
    content: "\0020";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
}
.maincontents .block-navi li {
    width: 310px;
    float: left;
    margin: 10px 0 0 7px;
    padding: 0 0 0 7px;
    border-left: 1px solid #d4d4d4;
}

/* 20151127XV */
.block.block_btn h2.lead {
    margin: 30px 0;
    font-size: 26px;
    text-align: center;
    color: #0070cb;
    font-weight: normal;
}
.block.block_btn ul{
    width: 820px;
    margin: 0 80px;
}
.block.block_btn li {
    float: left;
    margin-right: 30px;
}
.gra h3 {
    text-align: center;
    margin: 30px auto;
    font-size: 26px;
    font-weight: normal;
}
.gra .gra_inr{
    width: 700px;
    margin: 0 auto;
}
.gra li {
    float: left;
    width: 350px;
    text-align: center;
}
p.ft_lead {
    text-align: center;
    font-size: 26px;
    margin-top: 50px;
    margin-bottom: 80px;
    font-weight: bold;
}
.block.block-navi_foot {
    width: 980px;
    margin: 0 auto 30px;
}
.block.block-navi_foot li {
    display: inline-block;
}
.block.block-navi_foot p.label {
    text-align: center;
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: bold;
}

.lnup_offer_bdy {
    position: absolute;
    z-index: 100;
    width: 400px;
    padding: 10px;
    margin: 0;
    background: #fff;
    border: 2px solid #006ccb;
}

.lnup_offer_bdy .kome-s li { padding: 0 0 0 1em !important; }

.lnup_offer_tgl {
    font-size: 10px;
    text-align: left;
    color: #006ccb;
    text-decoration: underline;
    cursor: pointer;
}

.lnup_offer_bdy { display: none; }

.lnup_offer_bdy.on { display: block; }

.maincontents .block-point1 .advice {
    padding-right: 400px;
}
.advice {
    padding-right: 400px!important;
}
.advice .label {
    min-height: 50px;
    padding: 0 0 0 55px;
    background: url(../img/20150223/02/ico_point1_advice.png) no-repeat 0 50%;
    font-size: 20px;
    line-height: 50px;
    color: #ff9f1a;
    text-align: left;
    font-weight: bold;
}
.advice .img {
    position: absolute;
    right: 30px;
    bottom: 34px;
}
.advice .note {
    width: 370px;
    position: relative;
    margin: 5px 10px 0 auto;
    padding: 0 10px 0 0;
}
.advice .note:after {
    width: 10px;
    height: 11px;
    content: '';
    position: absolute;
    right: 0;
    top: 5px;
    display: inline-block;
    background: url(../img/20150223/ico_advice.png) no-repeat 50% 50%;
    vertical-align: middle;
}

/* 20151127XV */
.lnup_offer_bdy .kome-s li {
    padding: 0 0 0 1em !important;
    text-align: left;
    width:300px
}
.lnup_offer_tgl {
    font-size: 10px;
    text-align: left;
    color: #006ccb;
    text-decoration: underline;
    cursor: pointer;
    padding-left: 110px;
}
.lnup_offer_bdy {
    position: absolute;
    z-index: 100;
    width: 300px;
    padding: 10px;
    margin: 0;
    background: #fff;
    border: 2px solid #006ccb;
    text-align: left;
}
