@charset "utf-8";

.bold {
	font-weight: bold;
}

.lh01 {
	line-height: 1.8em;
}

.uline {
	text-decoration: underline;
}

.justify {
	text-align: justify;
	text-justify: inter-ideograph; /* IE用 */
}

hr.hr01 {
    height: 12px;
    border: 0;
    box-shadow: inset 0 5px 5px -5px rgba(0,0,0,0.3);
}

.txt_big01 {
	font-size: 110%;
}

.txt_big02 {
	font-size: 117%;
}

.txt_big03 {
	font-size: 127%;
}

.txt_big04 {
	font-size: 137%;
}

.txt_big05 {
	font-size: 147%;
}

.txt_big06 {
	font-size: 167%;
}

.txt_small01 {
	font-size: 90%;
}

hr.hr01 {
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0,0,0,0.5);
}

hr.hr02 {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:    -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:     -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
    background-image:      -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,0.75), rgba(0,0,0,0));
}

.txt_idt02 {
	padding-left: 2em;
    text-indent: -2em;
}

.txt_idt03 {
	padding-left: 3em;
    text-indent: -3em;
}

.txt_red {
	color: #F00;
}

h1.ttl01 {
	border-top: 3px solid #2F58AB;
	background: #FFFFFF url(../images/ttl01_bg.png) no-repeat right top;
	padding: 12px 12px 10px;
	font-size: 145%;
	border-right: 1px solid #D9D4D5;
	border-bottom: 1px solid #D9D4D5;
	border-left: 1px solid #D9D4D5;
}

h1.ttl01_m {
	border-top: 3px solid #057E4C;
	background: #FFFFFF url(../images/ttl01_m_bg.png) no-repeat right top;
	padding: 12px 12px 10px;
	font-size: 145%;
	border-right: 1px solid #D9D4D5;
	border-bottom: 1px solid #D9D4D5;
	border-left: 1px solid #D9D4D5;
}

.ttl02 {
	border-bottom: 2px solid #CEE0F7;
	padding: 5px 0;
}
.ttl02_in {
	border-left: 5px solid #2F58AB;
	padding: 5px 10px 3px;
	font-size: 130%;
}

/* 会員専用ページ */
.ttl02_m {
	border-bottom: 2px solid #D7FFC8;
	padding: 5px 0;
}
.ttl02_in_m {
	border-left: 5px solid #057E4C;
	padding: 5px 10px 3px;
	font-size: 130%;
}



h1.ttl01a {
	margin:10px 0px 20px;
    box-shadow:1px 1px 5px 0px #505762;
    border-radius: 4px ;
	background: #254689;
	color: #FFF;
	font-size: 145%;
	padding: 15px 15px 14px;
	line-height: 1;
}

.ttl02a,
.ttl02a_01 {
    position: relative;
	background: #E3EEFF;
    font-size: 127%;
    border: 1px solid #EEE;
    margin: 0 0  21px 0;
    padding: 7px 5px 6px 14px;
    border-radius: 3px;
}
.ttl02a:after, .ttl02a:before {
    content: "";
    position: absolute;
    top: 100%;
    height: 0;
    width: 0;
}
.ttl02a:after {
    left: 40px;
    border: 10px solid transparent;
    border-top: 10px solid #E3EEFF;
}
.ttl02a:before {
    left: 39px;
    border: 11px solid transparent;
    border-top: 11px solid #EEE;
}

.ttl02b {
	margin:0 0 20px;
    box-shadow:1px 1px 3px 0px #7C8694;
    border-radius: 5px;
	background: #254689;
	background:-moz-linear-gradient(rgba(37,70,137,0.7), rgba(37,70,137,0.9) 50%);
	background:-webkit-gradient(linear, 100% 0%, 100% 50%, from(rgba(37,70,137,0.7)), to(rgba(37,70,137,0.9)));
	color: #FFF;
	font-size: 130%;
	padding: 10px 15px 9px;
	line-height: 1;
}

.ttl02c {
	color: #FFF;
	position: relative;
	background: #505762;
	border: 2px solid #D9D4D5;
	font-size: 118%;
	font-weight: bold;
	margin: 0 0  21px 0;
	padding: 11px 5px 10px 13px;
	border-radius: 5px;
	line-height: 1;
}
.ttl02c:after, .ttl02c:before {
    content: "";
    position: absolute;
    top: 100%;
    height: 0;
    width: 0;
}
.ttl02c:after {
    left: 40px;
    border: 10px solid transparent;
    border-top: 10px solid #505762;
}
.ttl02c:before {
    left: 39px;
    border: 12px solid transparent;
    border-top: 12px solid #D9D4D5;
}
.ttl02c span {
    font-size: 85%;
    padding-top:8px;
    font-weight: normal;
    /*display : block;*/
}

.ttl02d {
    position: relative;
    color: #ffffff ;
    background: #505762;
	font-size: 109%;
	font-weight: bold;
    line-height: 1;
    margin: 20px -10px 20px -10px;
    padding: 10px 5px 10px 20px;
    box-shadow:1px 3px 5px 0px  #666666 ;
    border-top:3px solid #D9D4D5;
}
.ttl02d:after, ttl02d:before {
    content: "";
    position: absolute;
    top: 100%;
    height: 0;
    width: 0;
    border: 5px solid transparent;
    border-top: 5px solid #333;
}
.ttl02d:after {
    left: 0;
    border-right: 5px solid #333;
}
.ttl02d:before {
    right: 0;
    border-left: 5px solid #333;
}

h1.ttl01b {
	border-top: 1px solid #B3B3B3;
	margin:10px 0px 15px;
	font-size: 145%;
	padding: 17px 0;
	line-height: 1;
	background: url(../images/bg01.png) repeat-x bottom left;
}

.ttl03,
.ttl03a,
.ttl03a_red {
	margin: 10px 0px 5px;
	border: 1px solid #CCC;
	border-left: 7px solid #CCC;
	background: #F2F2F2;
	padding: 8px 10px 6px;
	line-height: 1;
}

.ttl03a,
.ttl03a_red {
	font-weight: bold;
}

.ttl03b {
	margin:0 0 10px;
    box-shadow:1px 1px 3px 0px #7C8694;
    border-radius: 5px;
	background: #254689;
	color: #FFF;
	font-size: 115%;
	padding: 9px 15px 8px;
	line-height: 1;
}

.ttl03c {
	font-weight: bold;
	margin: 20px 0 5px;
	border-bottom: 1px solid #CC9;
	border-left: 5px solid #CC9;
	font-size: 112%;
	padding: 9px 10px 8px;
	line-height: 1;
	color: #330;
}

.ttl03d,
.ttl03d_m {
	font-size: 114%;
	margin: 10px 0px 5px;
	padding: 10px 10px 8px;
	line-height: 1;
	border-left: 7px solid #BBD7FF;
	background: #EAF3FF;
	border-top: 1px solid #BBD7FF;
	border-right: 1px solid #BBD7FF;
	border-bottom: 1px solid #BBD7FF;
}

.ttl03d {
	border-left: 7px solid #BBD7FF;
	background: #EAF3FF;
	border-top: 1px solid #BBD7FF;
	border-right: 1px solid #BBD7FF;
	border-bottom: 1px solid #BBD7FF;
}
.ttl03d_m {
	border-left: 7px solid #9EF594;
	background: #D7FBD3;
	border-top: 1px solid #9EF594;
	border-right: 1px solid #9EF594;
	border-bottom: 1px solid #9EF594;
}


.ttl03e {
	font-weight: bold;
	border-top: 3px solid #996;
	background: #CCCC99;
	padding: 8px 10px 6px;
	line-height: 1;
}

.ttl03f {
	font-weight: bold;
	border: 1px solid #CCC;
	padding: 8px 10px 6px;
	line-height: 1;
	margin-bottom: 0.5em;
}
