@charset "utf-8";
/*  base setting 
==========================================================*/
/*----------------------------------------------------------
    universal reset
----------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{
	margin:             0;
	padding:            0;
	border:             0;
	outline:            0;
	vertical-align:     baseline;
	background:         transparent;
}
* {
    word-break:         normal;
    word-wrap:          break-word;
    -webkit-box-sizing: border-box;
    -moz-box-sizing:    border-box;
    -o-box-sizing:      border-box;
    -ms-box-sizing:     border-box;
    box-sizing:         border-box;
}
html {
	height:             100%;
	font-size:          62.5%;
	letter-spacing:     0.1em;
}
body {
	height:             100%;
	font-size:          1.5rem;
	line-height:        1;
	letter-spacing:     0.1em;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display:            block;
}
nav ul {
	list-style:         none;
}
blockquote,
q {
	quotes:             none;
}
blockquote:before,
blockquote:after,
         q:before,
         q:after {
	content:            none
}
a {
	margin:             0;
	padding:            0;
	vertical-align:     baseline;
	background:         transparent;
}
ins {
	background-color:   #ff9;
	color:              #000;
	text-decoration:    none;
}
mark {
	background-color:   #ff9;
	color:              #000;
	font-style:         italic;
	font-weight:        bold;
}
del {
	text-decoration:    line-through;
}
abbr[title],
 dfn[title] {
	border-bottom:       1px dotted;
	cursor:              help;
}
table {
	border-collapse:     collapse;
	border-spacing:      0;
}
hr {
	display:             block;
	height:              1px;
	border:              0;
	border-top:          1px solid #ccc;
	margin:              1em 0;
	padding:             0
}
input,
select {
	vertical-align:     middle;
}
body,
th,
td {
    text-decoration:    none;
    color:              #333;
}
ul li {
    list-style:         none;
    margin:             0;
    padding:            0;
}
ul.listStyle-on li {
    background-position: 0 0.5em;
    background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    padding-left:   15px;
} 
ol li {
    margin:             0 0 20px 1.5em;
    padding-left:       2rem;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor:             pointer;
}
::selection      { background-color: #d7ea9d; color: #237100; }
::-moz-selection { background-color: #d7ea9d; color: #237100; }


/*----------------------------------------------------------
    clearfix
----------------------------------------------------------*/
.clearfix:before,
.clearfix:after {
	content:            "";
	display:            table;
} 
.clearfix:after {
	clear:              both;
}
.clearfix { 
	zoom:               1;
}


/*----------------------------------------------------------
    LINK
----------------------------------------------------------*/
a:link,
a:visited {
	text-decoration: underline;
	color: #2E3F6A;
	text-decoration: none;
	outline: none;
}
a:hover,
a:active{
    text-decoration:  underline;
}
a:focus{
    outline:          none;
}
a.reverse:link,
a.reverse:visited {
    text-decoration:  none;
}
a.reverse:hover,
a.reverse:active{
    text-decoration:  underline;
}
a.hover-default:hover,
img.hover-default:hover {
    opacity:        0.7;
    filter:         alpha(opacity=70);
    -ms-filter:     "alpha(opacity=70)";
}
.contents a,
.contents button,
footer a,
footer button,
img.hover-default {
    -webkit-transition: 0.8s;
    -moz-transition:    0.8s;
    -o-transition:      0.8s;
    -ms-transition:     0.8s;
    transition:         0.8s;
}

/*----------------------------------------------------------
    BUTTON
----------------------------------------------------------*/
/* ボタンの構造パターン */
.btn,
.btn-block {
    position:        relative;
    width:           auto;
    height:          auto;
    border:          0;
    margin:          0 auto 10px;
    padding:         22px 50px 22px 25px;
    font-size:       1.5rem;
    line-height:     1;
    text-decoration: none;
    text-align: left;
}
.btn {
    display:         inline-block;
    min-width:       230px;
}
.btn-block {
    display:         block;
    width:           100%;
}
.btn + a{
    margin-left:     30px;
}
.btn:hover,
.btnbtn-block:hover {
    cursor:          pointer;
}
.btn:after,
.btn-block:after {
    content:         "〉";
    position:        absolute;
    right:           10px;
}


/* ボタンのデザインパターン */
.btn-primary {
    color: #fff !important;
    background-color: #2E3F6A;
}
.btn-primary:hover {
    text-decoration:  none;
    background-color: #5abc39;
}
.btn-info {
    color: #fff !important;
    background-color: #60b544;
}
.btn-info:hover {
    text-decoration:  none;
    background-color: #7ecc65;
}
.btn-border-primary {
    color:            #2E3F6A !important;
    border:           solid 5px #2E3F6A;
    background-color: none;
}
.btn-border-reverse {
    color:            #fff !important;
    border:           solid 5px #fff;
    background-color: none;
}
.btn-border-primary:hover,
.btn-border-reverse:hover {
    color:            #fff !important;
    border-color:     #2E3F6A;
    background-color: #2E3F6A;
    text-decoration: none;
}



/*----------------------------------------------------------
    GROVAL NAVIGATION
----------------------------------------------------------*/
header{
	display: table;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	min-width: 1000px;
	height: 70px;
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.2);
	background-color: #2E3F6A;
	font-size: 1.4rem !important;
}
h1.ci{
    display:            table-cell;
    z-index:            1;
    width:              200px;
    background-color:   #fff;
    text-align:         center;
    vertical-align:     top;
}
h1.ci a{
    width:              200px;
    height:             70px;
    overflow:           hidden;
}
nav {
    display:            table-cell;
}
header a {
    display:            block;
    color:              #fff;
    text-decoration:    none;
}
.navInner{
    width:              100%;
}
#gNav {
    display:            table;
    width:              100%;
    vertical-align:     top;
}
#gNav > li{
    display:            table-cell;
    text-align:         center;
    width:              16.666%;
    margin:             0;
    border-left:        1px solid rgba(0, 0, 0, 0.1);
    background:         url(/module/img/common/bg_gnav_r.png)
                        right
                        bottom
                        no-repeat,
                        url(/module/img/common/bg_gnav_l.png)
                        left
                        bottom
                        no-repeat;
}
#gNav > li > a {
    display:            block;
    padding:            20px 0;
    height:             70px;
    vertical-align:     middle;
    color:              #fff;
    text-decoration:    none;
    -webkit-transition: 1s;
    -moz-transition:    1s;
    -o-transition:      1s;
    -ms-transition:     1s;
    transition:         1s;
}
#gNav > li > a:hover{
    background:         rgba(1,100,8,0.5);
}
#gNav > li > a span{
	display: block;
	margin-top: 10px;
	color: #CCCCCC;
	font-size: 1rem;
}
.subNavi {
    display:            none;
    background-color:   rgba(0, 0, 0, 0.5);
    width:              100%;
    padding:            50px 0 50px;
    position:           fixed;
    top:                70px;
    left:               0;
    z-index:            10;
}

.subNaviInner {
    width:              465px;
}
.subNaviInner li {
    margin-bottom:      1px;
}
.subNaviInner a {
    display:            block;
    padding:            15px;
    background-color:   #f5f5f5;
    text-decoration:    none;
}
.subNaviInner li:first-child a {
    padding:            0px;
    height:             120px;
}

/*.gNav1 .subNaviInner {
    width:              793px;
}
.gNav1 .subNaviInner li {
	float:              left;
	margin-right:       1px;
}
.gNav1 .subNaviInner a {
	background-color:   #f5f5f5;
}
.gNav1 .subNaviInner li:nth-child(n+2) {
	width:              320px;
	height:             61px;
	margin-bottom:      1px;
}
.gNav1 .subNaviInner li:nth-child(n+2) a {
	padding:            2em !important;
}*/

.gNav2 .subNaviInner {
	width:              980px;
}
.gNav2 .subNaviInner li {
	margin-bottom:      1px;
}
.gNav2 .subNaviInner a {
	display:            block;
	padding:            15px;
	background-color:   #f5f5f5;
	text-decoration:    none;
}
.gNav2 .subNaviInner li:first-child {
	margin-bottom:      0px;
}
.gNav2 .subNaviInner li:first-child a {
	padding:            0px;
}
.gNav2 .subNaviInner li:nth-child(2) a {
	padding:            25px 15px ;
	font-size:          1.5rem;
}

.subNaviInner a {
    color:              #2E3F6A;
    text-align:         left;
    opacity:            1;
    filter:             alpha(opacity=100);
    -ms-filter:        "alpha(opacity=100)";
    -webkit-transition: all .4s;
    -moz-transition:    all .4s;
    -o-transition:      all .4s;
    -ms-transition:     all .4s;
    transition:         all .4s;
}
.subNaviInner {
	margin:             0 auto;
}
.subNaviInner .boxTtl {
    margin-bottom:      0;
    padding:            10px;
    color:              #fff;
    text-align:         center;
    background:         url(/module/img/common/bg_headline_01.jpg)
                        0
                        0
                        no-repeat;
}
.subNaviInner a {
	text-decoration:    none;
}
.subNaviInner a:hover {
    background:         rgba(245, 245, 245, 0.8);/* #f5f5f5 */
}

.closeBtn {
    background: url("/module/img/common/closebtn.png") no-repeat scroll 0 0 transparent;
    border:     medium none;
    width:      50px;
    height:     50px;
    position:   absolute;
    right:      30px;
    top:        30px;
}

#fixedButton {
    position: fixed;
    right: 20px;
    top: 90px;
    width: auto;
    height: auto;
    z-index: 1;
}
    #fixedButton li:first-child {
    margin-right: 10px;
    }
    #fixedButton a {
        font-size: 1.0rem;
        text-align: left;
        letter-spacing: 0.1em;
        color: #c8dc5c;
        padding: 8px 12px;
        width: auto;
        transition: all 0.8s ease 0s;
        background-color: #01a604;
    }
    #fixedButton a:hover {
        color: #c8dc5c;
        background-color: #018405;
        text-decoration: none;
    }
    #fixedButton li {
        float: left;
    }



/*----------------------------------------------------------
    MainVisual
----------------------------------------------------------*/


#mv,
#mvMid-A,
#mvMid-B,
#mvMin {
    padding:            200px 100px 0;
    width:              100%;
    height:             100%;
    position:           fixed;
    top:                0;
    left:               0;
    z-index:            0;
    text-align:         left;
    background-size:    cover;
    background-repeat:  none;
    background-position:center center;
}
#mv{ padding: 0; max-width: 100%; min-width: 1000px; }

#mvMid-A h1 { margin-bottom: 30px; }

#mvMid-B { padding: 18% 0 0; text-align: center; }
#mvMid-B .ttl_lg { margin-top: 60px; }
#mvMid-B .ttl_sm { margin-top: 30px; }

#mvMin {
	height: 500px;
	text-align: center;
}
#mvMin .ttl_md { margin-top: 50px; }
#mvMin .ttl_sm { margin-top: 10px; }

#scrollTop {
    opacity:            0;
    filter:             alpha(opacity=0);
    -ms-filter:        "alpha(opacity=0)";
}
div.contents {
    position: relative;
    z-index: 1;
    background-color: #FFF;
}
#mvMin + div.contents {
    margin-top: 500px;
}
.bx-wrapper .bx-viewport {
    border: none!important;
    left: 0 !important;
}
#subMV {
    position:fixed;
    top:0;
    left: 0;
    z-index: 1;
    width:100%;
    display:none;
}
.scroll{
    width: 116px;
    position: absolute;
    bottom: 40px;
    left: 50%;
    margin-left:-36px;
}


/*----------------------------------------------------------
    Footer
----------------------------------------------------------*/
#footerBanner{
    position: relative;
    z-index:1;
    padding-top: 10px;
    background: #fff;
}
.infoBanner {
    display: block;
    width:1000px;
    margin: 0 auto;
}
.infoBanner li{
    display: inline-block;
}
.infoBanner li + li{
    margin-left: 40px;
}
.footerLink{
    display: table;
    width:1000px;
    margin: 0 auto;
}
.footerLink > li{
    display: table-cell;
    padding: 30px 0 ;
    vertical-align: middle;
}
.footerMenu{
    width: 60%;
}
.footerMenu li{
    display: inline-block;
    margin-left:30px;
}
.footerMenu li:first-child{
    margin:0;
}
.region{
    width:22%;
}
.region li{
    display: inline-block;
    border-right: 1px dotted #ddd;
    padding: 0 20px;
}
.region li:first-child{
    border-left: 1px dotted #ddd;
}
.region li a:hover,
.footerMenu li a:hover{
    text-decoration: underline;
}
.sns{
    width:18%;
    text-align: right;
}
.sns a{
    display: inline-block;
    border: none;
    margin-left:30px;
}
.sns a:first-child{
    margin-left:0;
}
footer{
    font-size: 1.1rem;
}
#Fnavi{
    width:100%;
    height:auto;
    position: relative;
    z-index:1;
    padding:0 0 0 30px;
    background: #fff;
    border-top: 1px solid #ececec;
    border-bottom: 1px solid #ececec;
    display: block;
}
#Fnavi ul{
    
}
#Fnavi ul li{
	float: left;
	padding: 15px 10px 15px 15px;
	background-image: url(../img/common/ya.png);
	background-repeat: no-repeat;
	background-position: left center;
}
#Fnavi ul li.first {
    padding:15px 10px 15px 30px;
    background:none;
}
#footer{
    position: relative;
    z-index:1;
    padding: 100px 0 60px;
    background: #2E3F6A;

}
.ftItem{
	display: block;
	margin-bottom: 40px;
	text-align: center;
	color: #FFF;
}
.ftItem > *{
    display: inline-block;

    vertical-align: middle;
}
.ftItem > a:nth-child(3){
    margin: -40px 20px 0 -20px;
}
#copy{
    display: block;
    color: #fff;
    text-align: center;
}

/*----------------------------------------------------------
    display
----------------------------------------------------------*/
.element-block { 
	display:        block;
}
.element-inline { 
	display:        inline-block;
}

/*----------------------------------------------------------
    layout
----------------------------------------------------------*/
.pos {
    position:       relative;
}
.posAl{
    position:       absolute;
}
.center {
	text-align:     center !important;
}
.right {
	text-align:     right;
}
.left {
	text-align:     left;
}

.float_left {
	float:          left;
	display:        block;
}
.float_right {
	float:          right;
	display:        block;
}
.mb-lg            { margin-bottom: 90px !important; }
.mb-md            { margin-bottom: 70px !important; }
.mb-nm            { margin-bottom: 40px !important; }
.mb-sm            { margin-bottom: 20px !important; }
.mb-xs            { margin-bottom: 10px !important; }

.mt-lg            { margin-top:    90px !important; }
.mt-md            { margin-top:    70px !important; }
.mt-nm            { margin-top:    40px !important; }
.mt-sm            { margin-top:    20px !important; }
.mt-xs            { margin-top:    10px !important; }



/*----------------------------------------------------------
    Container
----------------------------------------------------------*/
#wrap{
    width:         auto;
    height:        100%;
    max-width:     100%;
    min-width:     1000px;
}
.modBlock {
    position:      relative;
    height:        auto;
    z-index:       1;
    padding:       100px 0;
}
.modBlock-reverse {
	background-color: #FFF;
}
.modBlock-primary {
    background-color: #E8F1FF;
}

/*----------------------------------------------------------
    col-box-1 　1分割レイアウト
----------------------------------------------------------*/
.col-box-1 { width: 980px; margin: 0 auto; }
.col-box-1_min { width: 800px; margin: 0 auto; }



/*----------------------------------------------------------
    col-setBox-2 　2分割レイアウト
----------------------------------------------------------*/
.col-box-2{
	width:         465px;
}

/* 背景白セット */
.col-setBox-2 {
	width:         980px;
	margin:        0 auto;
}
.col-setBox-2 > * {
	display:       block; 
	float:         left; 
	width:         465px; 
	height:        auto; 
	margin-bottom: 50px; 
	background:    #fff;
}
.col-setBox-2 > *:nth-child(even) { margin-left: 50px; }
.col-setBox-2 h4 { color: #2E3F6A; font-size: 1.8rem; margin-top: 30px; padding-left: 35px; }
.col-setBox-2 p { font-size: 1.3rem; line-height: 2; margin-top: 12px; padding: 0 35px 35px; letter-spacing: 0.01em; }


/*----------------------------------------------------------
    col-setBox-3 　３分割レイアウト
----------------------------------------------------------*/
.col-setBox-3 {
	width:          980px;
	margin:         0 auto;
}
.col-setBox-3 > * {
	display:        block;
	float:          left;
	margin:         0 140px 30px 0;
    width:          233px;
}
.col-setBox-3 > *:nth-child(3n) {
	margin:         0;
}
.col-setBox-3 img { 
	display:        block;
	margin:         0 auto;
}
.col-setBox-3 h3 { 
	display:        table; 
	width:          233px; 
	height:         100px; 
	padding:        35px 0 15px; 
	font-size:      2rem; 
	color:          #2E3F6A; 
	font-weight:    bold; 
	letter-spacing: 0;
	text-align:     center; 
	line-height:    1.3; 
}
.col-setBox-3 h3 span { 
	display:        table-cell;
	text-align:     center;
	vertical-align: top;
}
.col-setBox-3 p {
	line-height:    1.846;
	font-size:      1.3rem; 
}

/*----------------------------------------------------------
    col-setBox-3 　※　.bgActive併用で背景が白になる
----------------------------------------------------------*/
.col-setBox-3.bgActive {
	width:          980px;
}
.col-setBox-3.bgActive > * {
	width:          293px;
	margin:         0 50px 50px 0;
	background:     #fff;
}
.col-setBox-3.bgActive > *:nth-child(3n) {
	margin-right:   0;
}
.col-setBox-3.bgActive h2 {
	padding:        30px 30px 20px;
}
.col-setBox-3.bgActive p {
	padding:        0 30px 30px;
}

/*----------------------------------------------------------
    col-setBox-4 　4分割レイアウト
----------------------------------------------------------*/
.col-box-4{
	width:          215px;
	float:          left;
	margin-right:   40px;
}
.col-box-4:last-child {
	margin-right:   0px;
}

/*----------------------------------------------------------
    thumbList
----------------------------------------------------------*/
.description,
.thumbList { width: 980px; margin: 20px auto 0 auto; }
.thumbList li { width: 195px; height: 195px; float: left; text-align: center; color: #2E3F6A;
font-weight: bold; margin: 0 0px 1px 1px; background: #fff; position: relative; }
.thumbList li span { position: absolute; display: block; bottom: 20px; text-align: center; width: 195px; }

.thumbText { width: 980px; margin: 20px auto 0 auto; }
.thumbText dl { display: table; width: 100%; margin-bottom: 50px; }
.thumbText dl > * { display: table-cell; width: auto; vertical-align: top; text-align: left; line-height: 3rem;}
.thumbText dl > *:first-child { width: 244px; }
.thumbText dl > *:nth-child(n+2) { padding-left: 40px; }
.thumbText-primary { width: 640px; }

/*----------------------------------------------------------
    flexMvLink
----------------------------------------------------------*/
.flexMvLink {
	width:              100%;
	height:             500px;
	background-size:    cover;
	-webkit-transition: 0.8s;
	-moz-transition:    0.8s;
	-o-transition:      0.8s;
	-ms-transition:     0.8s;
	transition:         0.8s;
}
.flexMvLink > a {
	display:            block;
	width:              100%;
	height:             500px;
	padding-top:        100px;
}
.flexMvLink:hover {
	opacity:            0.6;
    filter:             alpha(opacity=60);
    -ms-filter:        "alpha(opacity=60)";
}
.flexMvLink.offHover:hover {
	opacity:            1;
    filter:             alpha(opacity=100);
    -ms-filter:        "alpha(opacity=100)";
}
.flexMvLink > a:hover {
	text-decoration:    none;
}

/*----------------------------------------------------------
    elementBlockList
----------------------------------------------------------*/
.elementBlockList {
	margin-bottom:  50px;
}
.elementBlockList > * {
    display:        table-cell;
	vertical-align: top;
}
.elementBlockList > *:first-child {
	/*width:          65px;*/
    background:     url(/module/img/common/bg_green.jpg)
                    left
                    top
                    repeat-y;
}
.elementBlockList > *:nth-child(2n) {
	width:          auto;
	padding-left:   40px;
}

/*----------------------------------------------------------
    listPanel
----------------------------------------------------------*/
.listPanel {
    background-color: #fff;
    margin-bottom: 50px; 
}
.listPanel dt {
    padding: 25px 30px 0;
    font-weight:      bold;
    font-size:        1.3rem;
    color:            #2E3F6A;
}
.listPanel dd {
    padding: 10px 30px 25px;
    border-bottom:    1px solid #ececec;
    font-size:        1.3rem;
}

/*----------------------------------------------------------
    Headline
----------------------------------------------------------*/
.ttl_lg       { font-size:      5rem;   }
.ttl_md       { font-size:      4rem;   }
.ttl_nmd      { font-size:      3.5rem; }
.ttl_nm       { font-size:      3rem;   }
.ttl_snm      { font-size:      2.5rem; }
.ttl_sm       { font-size:      2rem;   }
.ttl_xs       { font-size:      1.8rem; }
.ttl_xxs      { font-size:      1.5rem; }
.ttl_xxxs     { font-size:      1.3rem; }
.ttl_xxxxs    { font-size:      1.1rem; }

.boxTtl       { margin-bottom:  50px; }
.boxTtl_xxxlg { font-size:      6rem;   margin-bottom: 50px; line-height: 1.2; display: block; }
.boxTtl_xxlg  { font-size:      5rem;   margin-bottom: 50px; line-height: 1.2; display: block; }
.boxTtl_xlg   { font-size:      4.5rem; margin-bottom: 45px; line-height: 1.2; display: block; }
.boxTtl_lg    { font-size:      4rem;   margin-bottom: 40px; line-height: 1.2; display: block; }
.boxTtl_mlg   { font-size:      3.5rem; margin-bottom: 35px; line-height: 1.2; display: block; }
.boxTtl_md    { font-size:      3rem;   margin-bottom: 30px; line-height: 1.2; display: block; }
.boxTtl_sm    { font-size:      2.5rem; margin-bottom: 20px; line-height: 1.2; display: block; }
.boxTtl_xs    { font-size:      2rem;   margin-bottom: 20px; line-height: 1.2; display: block; }

.color-default{ color:          #111 !important;    }
.color-primary{ color:          #2E3F6A !important; }
.color-reverse{ color:          #fff !important;    }


/*----------------------------------------------------------
    maru_green 　３分割レイアウト
----------------------------------------------------------*/
.maru_green { background: url(/module/img/common/bg_headline_01.jpg); width: 465px; height: 54px; display: table; text-align: center; }
.maru_green span { display: table-cell; vertical-align: middle; color: #fff; font-weight: bold; font-size: 1.8rem; }


/*----------------------------------------------------------
    font
----------------------------------------------------------*/
body{
    font-family:   'Hiragino Kaku Gothic ProN',
                   'ヒラギノ角ゴ ProN W3',
                    Meiryo,
                    メイリオ,
                    sans-serif;
}
select,input,button,textarea{
	font:           99% arial,
	                helvetica,
	                clean,
	                sans-serif;
}
table{
	font-size:      inherit;
	font:           100%;
}
pre,code,kbd,samp,tt{
    font-family:    monospace;
    *font-size:     108%;
    line-height:    100%;
}
p {
    line-height:    2.267;
    letter-spacing: 0.07em;
    text-align:     justify;
    text-justify:   inter-ideograph;
 }
p.text-lg           { font-size: 1.5rem; }
p.text-sm           { font-size: 1.3rem; }
p.text-xs           { font-size: 1.1rem; }

.text-xxxlg-mb      { margin-bottom: 50px; }
.text-xxlg-mb       { margin-bottom: 40px; }
.text-xlg-mb        { margin-bottom: 30px; }
.text-lg-mb         { margin-bottom: 20px; }
.text-sm-mb         { margin-bottom: 15px; }
.text-xs-mb         { margin-bottom: 10px; }

.letter-lg          { letter-spacing: 0.2rem !important;}
.letter-md          { letter-spacing: 0.15rem !important; }
.letter-sm          { letter-spacing: 0.1rem !important; }
.letter-xs          { letter-spacing: 0.05rem !important; }
.letter-xxs         { letter-spacing: 0.01rem !important; }

.indent-pull-sm             { text-indent: -0.5em; }
.indent-push-sm             { text-indent: 0.5em; }



/*----------------------------------------------------------
    Table
----------------------------------------------------------*/
.table_default{
    width:          980px;
    margin:         0 auto;
    height:         auto;
    white-space:    normal;
}
.table_default tr:nth-child(odd) {
	background-color:#fff;
}
.table_default tr:nth-child(even) {
	background-color: #F3F8FE;
}
.table_default th{
	height: auto;
	color: #2E3F6A;
	border-bottom: 1px solid #fff;
	text-align: left;
	vertical-align: middle;
	font-size: 1.5rem;
	background-color: #AFCAF1;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
}
.table_default td{
    vertical-align: middle;
    border-bottom:  1px solid #ffffff;
    padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
    font-size:      1.3rem;
    line-height:    2rem;
}
.table_default dl{
    display:        table;
    vertical-align: top;
}



.table-primary {
	width:          750px;
	margin:         0 auto ;
}
.table-primary-lg {
	width:          980px;
	margin:         0 auto ;
}
.table-primary th,
.table-primary td,
.table-primary-lg th,
.table-primary-lg td {
	padding-bottom: 30px;
	vertical-align: middle;
	text-align:     left;
	font-size:      1.8rem;
	line-height:    1.5em;
}



.tableTitle {
    background:     url(/module/img/common/bg_green.jpg) center top repeat;
}
.tableTitle th {
    background:     none;
    padding:        25px 0;
    color:          #fff;
    text-align:     center;
}
.tableTitle span {
    border-right:   dotted 1px #fff;
    display:        block;
    width:          100%;
}
.tableTitle th:last-child span {
    border-right:   none;
}


/*----------------------------------------------------------
    TableList
----------------------------------------------------------*/

.tableList { text-align: left; }
.tableList th,
.tableList td {
    text-align:     left;
    padding-bottom: 10px;
    line-height:    2em;
}
.tableList.ListStyle-on th {
    background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    padding-left:   15px;
} 

/*----------------------------------------------------------
    scheduleList
----------------------------------------------------------*/
.scheduleList {
    display:        table;
    vertical-align: top;
}
.scheduleList + *.scheduleList {
    margin-top:     30px;
}
.scheduleList > * {
    display:        table-cell;
    vertical-align: top;
    line-height:    2rem;
}
.scheduleList dt {
    min-width:      90px;
    text-align:     right;
    padding-right:  30px;
}
.scheduleList dd {
    background-position: 0 0.5em;
    background:     url(/module/img/common/marker_01.png) no-repeat 0 1.2rem;
    padding-left:   15px;
} 

/*----------------------------------------------------------
    SmartPhone
----------------------------------------------------------*/
.smartPhone header {
    position:       relative;
}
.smartPhone .subNavi {
    position:       absolute;
}
.smartPhone #mv {
    position:       relative;
    height:         850px;
    padding-bottom: 0;
}
.smartPhone #mvMid-A,
.smartPhone #mvMid-B {
    position:       relative;
    height:         850px;
}
.smartPhone #mvMin {
    position:       relative;
    height:         500px;
}
.smartPhone #mvMin + div.contents {
    margin-top:     0;
}
.smartPhone .bx-wrapper {
    margin-bottom:  0;
}
.smartPhone .scroll {
    display:        none;
}
.smartPhone p,
.smartPhone dd,
.smartPhone span {
    background-image:url(../BROADLINK%EF%BD%9CPC%E3%83%BB%E6%83%85%E5%A0%B1%E6%A9%9F%E5%99%A8%E3%83%BB%E3%82%AA%E3%83%95%E3%82%A3%E3%82%B9%E8%A3%BD%E5%93%81%E3%83%AA%E3%83%A6%E3%83%BC%E3%82%B9%E3%80%80%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%83%96%E3%83%AD%E3%83%BC%E3%83%89%E3%83%AA%E3%83%B3%E3%82%AF_files/image);
}

.mT10 {
	margin-top: 10px;
}
.mT17 {
	margin-top: 17px;
}
.mT20 {
	margin-top: 20px;
}
.mT30 {
	margin-top: 30px;
}
.mT45 {
	margin-top: 45px;
}
.mT60 {
	margin-top: 60px;
}
.mT80 {
	margin-top: 80px;
}
.mB07 {
	margin-bottom: 7px;
}
.mB10 {
	margin-bottom: 10px;
}
.mB15 {
	margin-bottom: 15px;
}
.mB20 {
	margin-bottom: 20px;
}
.mB25 {
	margin-bottom: 25px;
}
.mB30 {
	margin-bottom: 30px;
}
.mB35 {
	margin-bottom: 35px;
}
.mB40 {
	margin-bottom: 40px;
}
.mB45 {
	margin-bottom: 45px;
}
.mB50 {
	margin-bottom: 50px;
}
.mB60 {
	margin-bottom: 60px;
}
.mB80 {
	margin-bottom: 80px;
}
.sub_box01{
	width: 960px;
	margin-right: auto;
	margin-left: auto;
	clear: both;
	padding-top: 50px;
	padding-bottom: 50px;
}
