@charset "UTF-8";

/* HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

/* Reseting
---------------------------------------------------------- */
body {
	font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
    /*font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;*/
	background-color: #fff;
	color: #222;
	font-size: 13px; /* 11px; */
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/* ie7 */ *:first-child+html body { font-size: 82%; /* 69%; */}
/* ie6Below */ * html body { font-size:82%; /* font-size: 69%; */}
/* ie8 */ html>/**/body { font-size /*\**/: 82%\9;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
img {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: bottom;
}
input, textarea {
	margin: 0;
	padding: 0;
	font-size: 100%;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing:0;
	font-size: 100%;
}
caption, th {
	text-align: left;
}
a:focus {
	outline: none;
}

table {
	width: 100%;
}

/* Layout
---------------------------------------------------------- */
html {
  overflow-y: scroll;
}
html,body {
	width: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
}
strong {font-weight: bold;}
.tpMin {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.tpGot {
	font-family: "メイリオ","Meiryo","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
}

/* Clearfix
---------------------------------------------------------- */
.clearfix {zoom:1;}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.both {
	clear: both;
}
.inline_block {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}

/* font-size
---------------------------------------------------------- */
.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fzSS  { font-size:  85%;}/* base 13px -> 11px */
.fzS   { font-size:  93%;}/* base 13px -> 12px */
.fzM   { font-size: 100%;}
.fzL   { font-size: 108%;}/* base 13px -> 14px */
.fzLL  { font-size: 124%;}/* base 13px -> 16px */
.fzLLL { font-size: 139%;}/* base 13px -> 18px */

/* floats ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 2.5%;}
.flImgR { display: inline; float: right; margin-left: 2.5%;}
.ftBox  { overflow: hidden; *zoom: 1;}

/* marginTop ------------------------------------------------------------------ */
.mt10 { margin-top: 10px;}
.mt20 { margin-top: 20px;}
.mt30 { margin-top: 30px;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left !important;}
.taC { text-align: center !important;}
.taR { text-align: right !important;}

/*----------------------------------------------------------
 SP
---------------------------------------------------------- */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}
.sp_none {
    display: inherit !important;
}
.pc_none {
    display: none !important;
}

@media only print, screen and (min-width: 40.063em) {
.sp_none {
	display: none !important;
}
.pc_none {
    display: inherit !important;
}
}

#page-wrap {
	width: 100%;
	margin: 0 auto;
}
/*--------------------------------------------
header
--------------------------------------------*/
#header {
	position: relative;
    padding: 7px 10px;
	border-bottom: solid 1px #ccc;
}
#header #logo { 
    width: 218px;
    height: auto;
}
#header nav { }
@media only print, screen and (min-width: 40.063em) { 
#header {
    padding: 10px 20px;
}
#header #logo { 
    width: 290px;
    height: auto;
}
#header nav { }
}

/*--------------------------------------------
index
--------------------------------------------*/
#contents { }
#topArea {
	width: 100%;
	margin: 0 auto 20px auto;
    height: auto;
	background-color: #fcf8f5;
}
.topareaInner {
	position: relative;
	width: 100%;
    overflow: hidden;
	margin: 0;
	padding: 0 0 20px 0;
}
.topareaInner .indexImg {
	float: none;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
.topareaInner h1 {
	position: absolute;
	top: 12px;
	left: 0;
	right: 0;
	margin: auto;
	padding: 0 20px;
	font-size: 239%;
	line-height: 1.2;
	text-align: center;
	font-weight: bold;
}
.topareaInner .cachCopy {
	padding: 20px 10px 0 10px;
	font-size: 139%;
	line-height: 1.4;
	text-align: center;
	font-weight: bold;
}
.topareaInner .txt01 {
	padding: 10px;
	font-size: 93%;
	line-height: 1.8;
}
@media only print, screen and (min-width: 40.063em) {
#topArea {
	margin: 0 0 20px 0;
}
.topareaInner {
	width: 1000px;
    overflow: hidden;
	margin: 0 auto;
	padding: 0 0 0 20px;
}
.topareaInner .indexImg {
	float: right;
	width: 450px;
	height: auto;
}
.topareaInner h1 {
	position: inherit;
	top:inherit;
	left: inherit !important;
	right: inherit !important;
	margin: inherit;
	padding: 50px 0 0 0;
	font-size: 308%;
	line-height: 1.2;
	text-align: left;
}
.topareaInner .cachCopy {
	padding: 20px 0 0 0;
	font-size: 170%;
	line-height: 1.4;
	text-align: left;
}
.topareaInner .txt01 {
	width: 900px;
	margin: 0 auto;
    padding: 20px 0;
	font-size: 108%;
	line-height: 1.8;
}
}


/*--------------------------------------------
index02 /style01/
--------------------------------------------*/
#topArea.style01 {
	width: 100%;
	margin: 0 auto 20px auto;
	padding: 0;
    height: auto;
	background-color: #fcf8f5;
}
#topArea.style01 .topareaInner {
	margin: 0;
	padding: 0 0 20px 0;
}
#topArea.style01 .topareaInner h1 {
	position: inherit;
	top: inherit;
	margin: 0 0 20px 0;
}
#topArea.style01 .topareaInner h1.indexImg {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0 0 20px 0;
}
#topArea .topareaInner .txt01 {
	padding: 10px;
	font-size: 93%;
	line-height: 1.8;
	font-weight: bold;
}
@media only print, screen and (min-width: 40.063em) {
#topArea.style01 {
	margin: 0 0 20px 0;
}
#topArea.style01 .topareaInner {
	margin: 0 auto;
	padding: 0 0 40px 0;
}
#topArea.style01 .topareaInner h1.indexImg {
	width: 1000px;
	height: auto;
	padding-bottom: 30px;
}
#topArea.topareaInner .txt01 {
    padding: 20px 0;
	font-size: 100%;
	line-height: 2;
}
}

/*--------------------------------------------
index02 /indexContent/
--------------------------------------------*/
#indexContent .secBox01 { 
    width: 100%;
	margin: 35px 0;
	padding: 0 10px;
}
#indexContent .secBox01 .txt01 {
	margin: 10px 0;
    font-size: 93%;
    line-height: 1.6;
	text-indent: 1em;
	font-weight: normal;
}
/* pointList */
.pointList { 
    margin: 30px 0;
}
.pointList ul {
    margin-bottom: 10px;
    border-top: dotted 2px #e23;
}
.pointList ul li { 
	padding: 10px 0 10px 35px;
	font-size: 154%;
	color: #e45;
	font-weight: bold;
	background-image: url(../images/ico_check01.png ) ;
	background-repeat: no-repeat;
	background-size: 22px auto;
	background-position: left 0 top 17px;
    border-bottom: dotted 2px #e23;
}
.pointList ul li span { 
	margin-left: 3px;
	font-size: 93%;
	color: #333;
	font-weight: normal;
}
@media only print, screen and (min-width: 40.063em) { 
#indexContent .secBox01 { 
    width: 100%;
	margin: 35px 0;
	padding: 0 10px;
}
#indexContent .secBox01 .txt01 {
	margin: 10px 0;
    font-size: 93%;
    line-height: 1.6;
	text-indent: 1em;
	font-weight: normal;
}
}
/* pointList */
.pointList { 
    margin: 30px 0;
}
.pointList ul {
    margin-bottom: 10px;
    border-top: dotted 1px #e23;
}
.pointList ul li { 
	padding: 10px 0 10px 30px;
	font-size: 116%;
	color: #e45;
	font-weight: bold;
	background-image: url(../images/ico_check01.png ) ;
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: left 0 top 16px;
    border-bottom: dotted 1px #e23;
}
@media only print, screen and (min-width: 40.063em) { 
.pointList { 
    margin: 30px 0;
}
.pointList ul {
	margin-bottom: 10px;
    border-top: dotted 2px #e23;
}
.pointList ul li { 
	padding: 10px 0 10px 35px;
	font-size: 154%;
	background-image: url(../images/ico_check01.png ) ;
	background-repeat: no-repeat;
	background-size: 22px auto;
	background-position: left 0 top 17px;
    border-bottom: dotted 2px #e23;
}
}
/* pointBox */
.pointBox {
	margin: 30px 0;
	padding: 10px 10px 5px 10px;
	border-radius: 10px;
    border: solid 2px #e45;
}
.pointBox h3 {
	margin-bottom: 10px;
    font-size: 124%;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}
.pointBox ul { }
.pointBox ul li { 
	overflow: hidden;
	clear: both;
	margin: 20px 0;
    border-top: solid 1px #e23;
}
.pointBox ul li .pointLavel { 
	display: table;
	padding: 2px 10px;
	font-size: 93%;
	line-height: 1.2;
	color: #fff;
    background-color: #e23;
}
.pointBox ul li .pointTxt {
	display: block;
	width: 100%;
	margin-top: 10px; 
    font-size: 100%;
	line-height: 1.6;
}
.pointBox ul li h4 {
	margin-bottom: 5px;
    font-size: 124%;
	line-height: 1.4;
	font-weight: bold;
}
.pointBox ul li p {
    font-size: 93%;
	line-height: 1.6;
}
.pointBox ul li .pointImg01 {
	float: none;
	display: block;
	width: 70%;
	margin: 10px auto;
	text-align: center;
}
@media only print, screen and (min-width: 40.063em) { 
.pointBox {
	margin: 30px 0;
	padding: 20px 30px 10px 30px;
	border-radius: 10px;
    border: solid 2px #e45;
}
.pointBox h3 {
	margin-bottom: 10px;
    font-size: 154%;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}
.pointBox ul { }
.pointBox ul li { 
	overflow: hidden;
	clear: both;
	margin: 20px 0;
    border-top: solid 1px #e23;
}
.pointBox ul li .pointLavel { 
	display: table;
	padding: 2px 10px;
	font-size: 100%;
	line-height: 1.2;
	color: #fff;
    background-color: #e23;
}
.pointBox ul li .pointTxt {
	display: inline-block;
	width: 65%;
	margin-top: 20px; 
    font-size: 100%;
	line-height: 1.6;
}
.pointBox ul li h4 {
	margin-bottom: 10px;
    font-size: 154%;
	line-height: 1.4;
	font-weight: bold;
}
.pointBox ul li p {
    font-size: 100%;
	line-height: 1.6;
}
.pointBox ul li .pointImg01 {
	float: right;
	width: 30%;
	margin: -10px 0 0 0;
}
}


@media only print, screen and (min-width: 40.063em) {
#indexContent .secBox01 { 
    max-width: 860px;
    margin: 70px auto;
}
#indexContent .secBox01 .txt01 {
	margin: 5px 0;
    font-size: 100%;
    line-height: 1.8;
	font-weight: bold;
}
.pointList { }
.pointList ul { }
.pointList ul li { }

.pointBox { }
.pointBox ul { }
.pointBox ul li { }
.pointBox ul li .pointLavel { }
}


#indexContent figure.imgBox01 { 
    margin: 30px 0;
}
#indexContent figure.imgBox01 .img01 { 
    text-align: center;
}
@media only print, screen and (min-width: 40.063em) {
#indexContent figure.imgBox01 { }
#indexContent figure.imgBox01 .img01 { }	
}


/*contentsList*/
.contentsList {
	clear: both;
	width: 90%;
	margin: 20px auto 30px auto;
}
.contentsList h2 {
	margin: 0 0 15px 0;
	font-size: 147%;
	line-height: 1.3;
	font-weight: bold;
	color: #139;
	text-align: center;
	font-style: italic;
}
.contentsList ul { 
    overflow: hidden;
}
.contentsList ul li {
	overflow: hidden;
    padding: 0 0 30px 0;
}
.contentsList ul li .contentsImg {
	overflow: hidden;
	float: none;
	width: 100%;
}
.contentsList ul li dl {
	float: none;
    margin: 15px 0 0 0;
}
.contentsList ul li dl dt {
	margin: 0 0 5px 0;
    font-size: 124%;
	line-height: 1.3;
	font-weight: bold;
}
.contentsList ul li dl dd { 
	margin: 10px 0;
    font-size: 93%;
	line-height: 1.5;
}

@media only print, screen and (min-width: 40.063em) {
.contentsList {
    clear: both;
	width: 960px;
	margin: 60px auto 100px auto;
}
.contentsList h2 {
	margin: 0 0 30px 0;
	font-size: 185%;
	line-height: 1.3;
}
.contentsList ul { }
.contentsList ul li {
	clear: both;
	padding: 0 0 40px 0;
}
.contentsList ul li .contentsImg {
	float: left;
	width: 300px;
}
.contentsList ul li dl {
	float: right;
	width: 620px;
	margin: 0;
}
.contentsList ul li dl dt {
	margin: 0 0 5px 0;
    font-size: 139%;
	line-height: 1.3;
}
.contentsList ul li dl dd {
	margin: 10px 0;
	font-size: 93%;
	line-height: 1.5;
}
}

/* moreBtn */
.contentsList ul li dl dd a.moreBtn01 {
	display: block;
	width: 90%;
	margin: 10px auto;
	padding: 9px 20px 10px 20px;
	bottom: 18px;
	left: 0;
	right: 0;
	font-size: 100%;
	line-height: 1.2;
	color: #333;
	text-align: center;
	text-decoration: none;
	background-image: url(../images/ico_arrowright01.svg);
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: right 15px bottom 7px;
	border: solid 1px #aaa;
}
.contentsList ul li dl dd a:hover.moreBtn01,
.contentsList ul li dl dd a:active.moreBtn01,
.contentsList ul li dl dd a:visited.moreBtn01 {
	color: #333 !important;
	background-color: #eee;
}

@media only print, screen and (min-width: 40.063em) { 	
.contentsList ul li dl dd a.moreBtn01 {
	width: 220px;
	margin: 10px 0;
	padding: 10px 25px 11px 25px;
	bottom: 18px;
	left: 0;
	right: 0;
	font-size: 100%;
	line-height: 1.2;
	text-align: left;
	background-size: 20px auto;
	background-position: right 15px bottom 8px;
}
}

/*--------------------------------------------
contents
--------------------------------------------*/
#contents { }
#ttlInner {
	width: 100%;
	margin: 0 0 20px 0;
    height: auto;  
}
#ttlInner .sp_none {
	display: inherit !important;
}
#ttlInner .pc_none {
	display: none !important;
}
#ttlInner #topTtl {
	width: 100%;
	margin: 0;
	padding: 10px;
}
#ttlInner #topTtl h1 { 
    font-size: 147%;
	line-height: 1.3;
	font-weight: bold;
}
#ttlInner #topTtl h1.title02,
#ttlInner #topTtl h1.title03 { 
	margin: 0;
    font-size: 154%;
	line-height: 1.3;
	font-weight: bold;
}
#ttlInner #topTtl h1.title02 span {
	display: block;
    font-size: 77%;
	line-height: 1.5;
	font-weight: normal;
}

@media only print, screen and (min-width: 40.063em) {
#contents { }
#ttlInner {
	position: relative;
	min-width: 1000px;
	margin: 0 auto;
}
#ttlInner .sp_none {
	display: none !important;
}
#ttlInner .pc_none {
	display: inherit !important;
}
#ttlInner #topTtl {
	position: absolute;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	top: 70px;
	left: 0;
	right: 0;
}
#ttlInner #topTtl h1 {
	font-size: 224%;
	line-height: 1.4;
}
#ttlInner #topTtl h1.title02 {
	font-size: 247%;
	line-height: 1.4;
}
#ttlInner #topTtl h1.title02 span { 
    font-size: 77%;
	line-height: 1.6;
}
#ttlInner #topTtl h1.title03 {
	margin: 40px 0 0 0;
	font-size: 262%;
	line-height: 1.4;
}
}

#contents .topBox { 
    width: 100%;
	margin: 30px 0 35px 0;
	padding: 0 10px;
}
#contents .txt01 {
	margin: 10px 0;
    font-size: 93%;
    line-height: 1.6;
	text-indent: 1em;
	font-weight: normal;
}
#contents .secBox01,
#contents .secBoxInner,
#indexContent .secBoxInner { 
    width: 100%;
	margin: 35px 0;
	padding: 0 10px;
}
#contents .secBox02,
#indexContent .secBox02 { 
    padding: 1px 0;
}
#contents h2,
#indexContent h2 {
	margin: 0 0 10px 0;
    font-size: 124%;
    line-height: 1.4;
	font-weight: bold;
	text-align: center;
}
#contents .txt02,
#indexContent .txt02 {
	margin: 10px 0;
    font-size: 93%;
    line-height: 1.6;
	text-indent:1em;
}
@media only print, screen and (min-width: 40.063em) {
#contents .topBox { 
    max-width: 860px;
    margin: 30px auto 60px auto;
    padding: 0;
}
#contents .txt01 {
	margin: 5px 0;
    font-size: 100%;
    line-height: 1.8;
	font-weight: bold;
}
#contents .secBox01,
#contents .secBoxInner,
#indexContent .secBoxInner { 
    max-width: 860px;
    margin: 70px auto;
}
#contents .secBox02,
#indexContent .secBox02 { 
	padding: 1px 0;
}
#contents h2,
#indexContent h2 {
	margin: 0 0 20px 0;
    font-size: 162%;
    line-height: 1.4;
}
#contents .txt02,
#indexContent .txt02 { 
	margin: 10px 0;
    font-size: 108%;
    line-height: 1.8;
}
}

/* figure */
#contents figure {
    margin: 15px 0;
}
#contents figure.imgBox03,
#contents figure.imgBox04 {
	width: 100%;
	margin: 25px auto;
}
#contents figure .img01 {
	position: relative;
	margin: 0 0 12% 0;
}
#contents figure .img01 .shadeTxt01 {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	padding: 10px;
	font-size: 93%;
	line-height: 1.4;
	color: #fff;
	font-weight: bold;
	background: rgba(0,0,0,0.5);
}
#contents figure .img01 .graph01 {
	position: absolute;
	width: 57%;
	right: -5px;
	bottom: -50px;
}
#contents figure figcaption,
#contents .graphBox .caption {
	clear: both;
	margin: 5px 0 0 0;
	font-size: 77%;
    line-height: 1.4;
}
#contents figure figcaption {
	margin: 5px 0 0 0;
}
#contents figure .img02 {
	position: relative;
	/* margin: 0 0 240px 0;*/
}
/* #contents figure .img02 .graph02 {
	position: absolute;
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -220px;
}
#contents figure .img02 .graph02 img {
	display: block;
	width: 57%;
	margin: 0 auto;
}*/
#contents figure .img02 .graph02 p {
	position: relative;
	width: 100%;
	margin: 10px 0 0 0;
}

#contents .graphBox .caption {
	margin: 5px 0 0 0;
}
#contents .graphBox {
	width: 100%;
    margin: 40px 0 0 0;
	padding: 0 10px;
	z-index: 100;
}
#contents .graphBox .flL {
	float: none;
	display: block;
	width: 68%;
	margin: 0 auto 5px auto;
}
#contents .graphBox .flR {
	float: none;
	display: block;
	width: 90%;
	margin: 0 auto;
}
.graphTtl01 {
	margin: 0 0 5px 0;
	font-size: 108%;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
}

@media only print, screen and (min-width: 40.063em) {
#contents figure { 
	margin: 25px 0 30px 0;
}
#contents figure.imgBox03 {
	width: 75%;
	margin: 25px auto;
}
#contents figure.imgBox04 {
	width: 90%;
	margin: 30px auto 25px auto;
}
#contents figure .img01 {
	margin: 0;
}
#contents figure .img01 .shadeTxt01 {
	padding: 10px 30px;
	font-size: 154%;
	line-height: 1.4;
}
#contents figure .img01 .graph01 {
	width: 370px;
	right: -29px;
	bottom: -100px;
}
#contents figure figcaption,
#contents .graphBox .caption {
	margin: 10px 0 0 0;
	font-size: 85%;
    line-height: 1.4;
}
#contents figure .img02 {
    /*padding: 0 0 100px 0;
    margin: 0 0 100px 0;*/
}	
/*#contents figure .img02 .graph02 {
	position: absolute;
	width: 57%;
	left: inherit;
	right: -90px;
	bottom: -50px;
}	
#contents figure .img02 .graph02 img {
	width: auto;
	margin: 0;
}*/
#contents figure .img02 .graph02 p {
	position: relative;
	width: 100%;
}
	
#contents .graphBox {
	overflow: hidden;
	max-width: 840px;
    margin: 90px 10px 100px 10px;
	padding: 0;
}
#contents .graphBox .flL { 
	float: left;
	width: 370px;
	margin: 0 0 10px 0;
}
#contents .graphBox .flR {
	float: right;
	width: 422px;
	margin: 80px 0 0 0;
}
.graphTtl01 {
	margin: 0 0 5px 0;
	font-size: 116%;
	line-height: 1.4;
}
}
	
/*point*/
#contents .secBox02.point { 
    background-color: #eef5ff;
}
#contents .secBox02.point h2 {
    margin: 0 auto 30px auto;
}
#contents .secBox02.point h2::after {
    content: "";
    display: block;
    margin: 8px auto 15px auto;
    border-bottom: 5px solid #04b;
    width: 100px;
}
#contents .secBox02.point dl {
    margin: 15px 0;
}
#contents .secBox02.point dl dt {
	margin: 20px 0 10px 0;
	font-size: 100%;
	font-weight: bold;
	vertical-align: middle;
}
#contents .secBox02.point dl dt span {
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0 5px 0 0;
	padding: 6px 0;
	font-size: 93%;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	background-color: #04b;
	border-radius: 3px;
}
#contents .secBox02.point dl dd { 
	margin: 0 0 15px 0;
	font-size: 93%;
	line-height: 1.6;
}

@media only print, screen and (min-width: 40.063em) { 
#contents .secBox02.point h2 {
    margin: 0 auto 30px auto;
}
#contents .secBox02.point h2::after {
    content: "";
    display: block;
    margin: 10px auto 15px auto;
    border-bottom: 5px solid #04b;
    width: 140px;
}
#contents .secBox02.point dl { 
    margin: 15px 0;
}
#contents .secBox02.point dl dt {
	margin: 20px 0 10px 0;
}
#contents .secBox02.point dl dt span {
	width: 24px;
	height: 24px;
	margin: 0 5px 0 0;
	padding: 4px 0;
	font-size: 93%;
	line-height: 1;
}
#contents .secBox02.point dl dd { 
	margin: 0 0 15px 0;
	font-size: 93%;
	line-height: 1.6;
}
}

/*pr*/
#contents .secBox02.pr,
#indexContent .secBox02.pr {
    position: relative;
    background-color: #eee;
}
#contents .secBox02.pr .secBoxInner {
	position: relative;
	margin: 45px auto 80px auto;
	padding: 0 10px 80px 10px;
}
#indexContent .secBox02.pr .secBoxInner {
	position: relative;
	margin: 45px auto 80px auto;
	padding: 0 10px 0 10px;
}
#contents .label01,
#indexContent .label01 {
	position: absolute;
	display: table;
	padding: 3px 15px;
	top: -31px;
	left: 0;
	font-size: 77%;
	line-height: 1.2;
	color: #fff;
    background-color: #888;
}
#contents .secBox02.pr .companyInfo,
#indexContent .secBox02.pr .companyInfo {
	margin: 20px 0 0 0;
	padding: 12px 0 0 0;
	font-size: 93%;
	line-height: 1.5;
	border-top: solid 1px #ccc;
}
#contents .secBox02.pr .companyInfo p,
#indexContent .secBox02.pr .companyInfo p {
	margin: 0 0 8px 0;
}
#contents .secBox02.pr h2 span,
#indexContent .secBox02.pr h2 span {
	margin-bottom: 5px;
	display: block;
	font-size: 62%;
}
#indexContent .markis {
	margin: 15px 0;
	padding: 10px;
	border: solid 1px #999;
}
#indexContent .markis h3 {
	margin-bottom: 10px;
	font-size: 108%;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
#indexContent .shopeData {
	margin-top: 15px;
	padding-top: 10px;
	border-top: solid 1px #999;
}
@media only print, screen and (min-width: 40.063em) {
#contents .secBox02.pr .secBoxInner {
    margin: 45px auto 80px auto;
	padding: 0 0 100px 0;
}
#indexContent .secBox02.pr .secBoxInner {
    margin: 45px auto 80px auto;
	padding: 0;
}
#contents .label01,
#indexContent .label01 {
	padding: 3px 15px;
	top: -46px;
	left: 0;
	font-size: 77%;
	line-height: 1.2;
}
#contents .secBox02.pr .companyInfo,
#indexContent .secBox02.pr .companyInfo {
	margin: 0 0 10px 0;
	padding: 12px 0 0 0;
	font-size: 93%;
	line-height: 1.5;
}
#contents .secBox02.pr .companyInfo p,
#indexContent .secBox02.pr .companyInfo p{
	margin: 0 0 8px 0;
}
#contents .secBox02.pr h2 span,
#indexContent .secBox02.pr h2 span {
	margin-bottom: 5px;
	display: block;
	font-size: 62%;
}
#indexContent .markis {
	margin: 15px 0;
	padding: 20px;
}
#indexContent .markis h3 {
	margin-bottom: 10px;
	font-size: 108%;
	line-height: 1.5;
}
#indexContent .shopeData {
	margin-top: 15px;
	padding-top: 10px;
}
}

.planning,
.number {
	clear: both;
	display: block;
	font-size: 85%;
	line-height: 1.2;
	float: right;
}
.planning {
	margin: 30px 0 5px 0;
}
.number {
	margin: 5px 0 30px 0;
}

/*--------------------------------------------
footer
--------------------------------------------*/
#footer {
	width: 100%;
	overflow: hidden;
	padding: 0;
	background-color: #ddd;
}
#footer .freeDial {
	width: 100%;
	margin: 0 10px 0 0;
	padding: 6px 10px;
    text-align: center;
	color: #fff;
	background-color: #666;
}
#footer .freeDial img {
	width: 28px;
	height: auto;
	margin: 0 10px 0 0;
	vertical-align: 0;
}
#footer .freeDial a.telNo {
	display: block;
	margin: 0 0 3px 0;
	font-size: 139%;
	line-height: 1.2;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}
#footer .freeDial .time {
	display: block;
	margin: 0;
	font-size: 70%;
	line-height: 1.2;
	vertical-align: 0;
}
#footer #footerInner {
	width: 100%;
	margin: 10px 0;
}
#footer #footerInner .companyInner {
	padding: 10px;
	font-size: 77%;
	line-height: 1.4;
	text-align: center;
}
#footer #footerInner .companyInner .company {
	display: block;
	width: 70%;
	margin: 0 auto 15px auto;
}
#footer #footerInner .companyInner .secCompany {
	margin: 0 0 2px 0;
}
#footer #footerInner .adress {
	width: 100%;
	margin: 0 0 10px 0;
}
#footer #footerInner .aflac {
	display: block;
	width: 100%;
	margin: 0;
}
#footer #copyright {
	width: 100%;
	border-top: solid 1px #bbb;
}
#footer #copyright p {
	width: 100%;
	padding: 8px 5px;
	font-size: 62%;
	line-height: 1.2;
	text-align: center;
	color: #666;
	letter-spacing: 1px;
}

@media only print, screen and (min-width: 40.063em) {
#footer { }
#footer .freeDial {
	width: 100%;
	margin: 0;
	padding: 15px 10px 10px 10px;
    text-align: center;
	background-color: #666;
	vertical-align: middle;
}
#footer .freeDial img {
	width: 36px;
	height: auto;
	margin: 0 10px 0 0;
}
#footer .freeDial a.telNo {
	display: inline-block;
	margin: 0 0 3px 0;
	font-size: 154%;
	line-height: 1;
}
#footer .freeDial .time {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 85%;
	line-height: 1.2;
	vertical-align: 4px;
}
#footer #footerInner {
	overflow: hidden;
	max-width: 960px;
	margin: 10px auto;
}
#footer #footerInner .companyInner { 
	float: left;
	max-width: 720px;
	font-size: 77%;
	line-height: 1.4;
	text-align: left;
}
#footer #footerInner .companyInner .company {
	display: inline-block;
	width: 280px;
	margin: 0 40px 15px 0;
}
#footer #footerInner .companyInner .secCompany {
	margin: 0 0 8px 0;
}
#footer #footerInner .adress {
	width: 360px;
	margin: 5px 0 0 0;
	padding: 0;
	vertical-align: top;
}
#footer #footerInner .aflac {
	display: inline-block;
	width: 300px;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
#footer #copyright { }
#footer #copyright p {
	max-width: 1000px;
	margin: 0 auto;
	padding: 8px 10px;
	font-size: 77%;
	line-height: 1.2;
}
}

/* snsbox01 */
.snsbox01 {
    float: none;
    width: 108px;
	margin: 0 auto 10px auto;
}
.snsbox01 ul {
  padding: 0;
}
.snsbox01 ul li {
  float: left;
  margin: 0 10px;
  font-weight: normal !important;
}
.snsbox01 ul li img {
  width: 34px;
}
@media only print, screen and (min-width: 40.063em) {
.snsbox01 {
    float: right;
    width: 108px;
	margin: 18px 0;
}
.snsbox01 ul {
    padding: 0;
}
.snsbox01 ul li {
    float: left !important;
    margin: 0 8px;
    font-weight: normal !important;
}
.snsbox01 ul li img {
    width: 38px;
    height: 38px;
}
}

/*--------------------------------------------
csBox
--------------------------------------------*/
#csBox {
	width: 100%;
    position: fixed;
	left: 0;
	bottom: 0;
	background: rgba(255,255,255,0.7);
	z-index: 100;
}
#csBoxInner { 
	width: 100%;
	padding: 8px 1px;
}	
#csBox a.btn01,
#indexContent a.btn01 {
	position: relative;
	display: block;
	width: 90%;
	height: 48px;
	margin: 0 auto;
	padding: 16px 4px;
	color: #fff;
	font-size: 85%;
	line-height: 1.2;
	text-align: center;
	background-color: #f70;
	font-weight: bold;
	text-decoration: none;
	vertical-align: middle;
	box-shadow: 0px 0px 2px 2px rgba(0,0,0,0.2); 
	z-index: 200;
}
#indexContent a.btn01 {
	margin: 50px auto 20px auto !important;
}
#csBox a.btn01 img,
#indexContent a.btn01 img {
	width: 26px;
	height: auto;
	margin: 0 5px 0 0;
	vertical-align: middle;
}
#csBox a:hover.btn01,
#indexContent a:hover.btn01 {
	background-color: #f80;
}

@media only print, screen and (min-width: 40.063em) { 
#csBox { }
#csBoxInner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	z-index: 100;
}	
#csBox a.btn01,
#indexContent a.btn01 {
	width: 40%;
	height: 56px;
	margin: 0 auto;
	padding: 15px 20px;
	font-size: 100%;
	line-height: 1.2;
	z-index: 200;
}
#indexContent a.btn01 {
	margin: 20px auto;
}
#csBox a.btn01 img,
#indexContent a.btn01 img {
	width: 38px;
	height: auto;
	margin: 0 8px 0 0;
}
}

/*pageTop*/
#pageTop {
	position: inherit;
    display: block;
    width: 90%;
	margin: 0 auto 10px auto;
	padding: 6px;
	font-size: 85%;
    line-height: 1.4;
    color: #555;
	text-align: center;
    text-decoration: none;
	border: solid 1px #999;
}
#pageTop p {
	display: inline-block;
	position: relative;
}
#pageTop p:after {
    content: '';
	display: block;
    position: absolute;
    top: 50%;
	left: -20px;
	margin: auto;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    transform: rotate(-45deg);
}
@media only print, screen and (min-width: 40.063em) {
#pageTop {
    position: fixed;
	display: block;
    bottom: 0px;
    right: 10px;
    width: 58px;
    height: 58px;
    line-height: 100px;
	background: none;
	border: none;
	z-index: 100;
 }
#pageTop p {
	display: none;
}
#pageTop:after {
    content: '';
	display: block;
    position: absolute;
    top: 50%;
	left: 0;
    right: 0;
	margin: auto;
    width: 22px;
    height: 22px;
    margin-top: -6px;
    border-top: 3px solid #999;
    border-right: 3px solid #999;
    transform: rotate(-45deg);
}
#pageTop:hover:after {
    border-top: 3px solid #aaa;
    border-right: 3px solid #aaa;
}
}

@media screen and (min-width: 64em) {
/* #home #header #pcNavi */
#header #pcNavi {
	display: inherit;
	position: absolute;
	width: 100%;
	margin: 0;
	padding: 10px;
	border-bottom: solid 4px #05c;
	top: 0;
	left: 0;
	z-index: 50;
}
#header #pcNavi ul {
	overflow: hidden;
	width: 960px;
	margin: 0 auto;
	list-style: none;
	text-align: left;
}
#header #pcNavi ul li {
	display: inline-block;
}
#header #pcNavi ul li a {
	display: block;
	position: relative;
	padding: 5px 15px;
	font-size: 93%;
	line-height: 1.2;
	color: #333;
    text-decoration: none;
    font-weight: bold;
	transition: 0.3s;
}
#header #pcNavi ul li.current a, 
#header #pcNavi ul li a:hover {
	color: #039;
	background-color: #eee;
	border-radius: 20px;
	-moz-border-radius: 15px;
    -o-border-radius: 15px;
    border-radius: 15px;
}
}
	
/*--------------------------------------------
animation
--------------------------------------------*/
.animated-mv01 {
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
	transition: .8s;
}
.mv01 {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/*--------------------------------------------
02.html
--------------------------------------------*/
#contents h3 {
	margin: 0 0 20px 0;
	padding: 0 0 5px 0;
    font-size: 124%;
    line-height: 1.4;
	font-weight: bold;
	border-bottom: solid 1px #0b5;
}
#contents h3 span {
	display: block;
	margin: 0 5px 0 0;
    font-size: 70%;
	color: #0b5;
	font-weight: bold;
}
#contents h3 span.fzsmall {
	display: inline-block;
	font-size: 93%;
	color: #333 !important;
}
#contents h4 {
	display: table;
	margin: 20px 0 10px 0;
	padding: 3px 15px;
    font-size: 100%;
    line-height: 1.4;
	color: #fff;
	background-color: #0b5;
}
#contents .tableTtl01 {
	margin: 30px 0 10px 0;
    font-size: 93%;
    line-height: 1.4;
	font-weight: bold;
}
#contents .tableTtl01 span {
	font-size: 93%;
	font-weight: bold;
}
#contents table.table01 {
	position: relative;
	margin: 0 0 5px 0;
    border-top: solid 1px #ccc;
    border-right: solid 1px #ccc;
}
#contents table.table01 th,
#contents table.table01 td {
	padding:  8px 2px;
	font-size: 77%;
	line-height: 1.4;
	text-align: center;
    border-bottom: solid 1px #ccc;
	border-left: solid 1px #ccc;
	vertical-align: middle;
}
#contents table.table01 th {
	font-size: 70%;
	background-color: #eef7ee;
}
.tableIn {
	position: relative;
}
.tableIn .pcent {
	position: absolute;
	font-size: 85%;
	top: -22px;
	right: -10px;
}
@media screen and (min-width: 40.063em) {
#contents h3 {
	margin: 0 0 20px 0;
	padding: 0 0 5px 0;
    font-size: 147%;
    line-height: 1.4;
}
#contents h3 span {
	display: inline-block;
	margin: 0 5px 0 0;
    font-size: 70%;
	vertical-align: middle;
}
#contents h3 span.fzsmall {
	font-size: 93%;
}
#contents h4 {
	display: table;
	margin: 20px 0 10px 0;
	padding: 3px 15px;
    font-size: 100%;
    line-height: 1.4;
}
#contents .tableTtl01 {
	margin: 30px 0 10px 0;
    font-size: 108%;
    line-height: 1.4;
}
#contents table.table01 {
	margin: 40px 0 5px 0;
}

#contents table.table01 th,
#contents table.table01 td {
	padding:  10px;
	font-size: 100%;
	line-height: 1.4;
}
.tableIn .pcent {
	font-size: 93%;
	top: -22px;
}
}

/*--------------------------------------------
03.html
--------------------------------------------*/
.table01 table {
	margin: 30px 0 10px 0;
	border-top: solid 1px #333;
	border-left: solid 1px #333;
}
.table01 table th,
.table01 table td {
	padding: 6px 15px;
	border-right: solid 1px #333;
	border-bottom: solid 1px #333;
}
.table01 {
	font-size: 93%;
	top: -22px;
}
.table01 th {
	background-color: #eee;
}
@media screen and (min-width: 40.063em) {
.table01 table {
	margin: 30px 0 10px 0;
}
.table01 table th,
.table01 table td {
	padding: 10px 15px;
}
}
