@charset "utf-8";

/* ****************************************************

contents.css
-----------------------------------
1: PARTS
-----------------------------------
2: print
-----------------------------------
ex: clearfix

***************************************************** */

/**
 * font-size list（px : %）
 * 
 *  10 px : 71.4%   |  11 px : 78.6% 
 *  12 px : 85.7%   |  13 px : 92.9% 
 *  14 px : 100.0%  |  15 px : 107.1%
 *  16 px : 114.3%  |  17 px : 121.4%
 *  18 px : 128.6%  |  19 px : 135.7%
 *  20 px : 142.9%  |  21 px : 150.0%
 *  22 px : 157.1%  |  23 px : 164.3%
 *  24 px : 171.4%  |  25 px : 178.6%
 *  26 px : 185.7%  |  27 px : 192.9%
 *  28 px : 200.0%  |  29 px : 207.1%
 *  30 px : 214.3%  |  31 px : 221.4%
 *  32 px : 228.6%  |  33 px : 235.7%
 *  34 px : 242.9%
 *
 */

/*=================================

	1: PARTS

================================ */
/* box-sizing */
.headLineIndex,
p.linkType01,
ul.linkType01 > li,
p.linkType02,
ul.linkType02 > li,
.ancLinkType01 > li,
p.btnType01 > a,
ul.btnType01 > li > a,
.boxType01,
.pluginBox > .colWrap,
.scrollContents,
#about .historyList dl,
#about .historyList .year,
#about .historyList .details,
#contact input,
#contact textarea {
	-webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
      -ms-box-sizing: border-box;
       -o-box-sizing: border-box;
          box-sizing: border-box;
}

/* css sprite */
.headLine01:after,
.headLine03:before,
[class^=headLineRank] > span,
[class^=listType]:before,
[class^=listType] > li:before,
[class^=defListType] > dt:before,
.newsEntryList > .entry > .entryData > .entryTitle:before,
.toggleList > .switch:before,
.addReadText > .switch:before,
p.linkType01:before,
ul.linkType01 > li:before,
ul.linkType01 > li > ul > li:before,
p.linkType02:before,
ul.linkType02 > li:before,
p.linkType03:before,
ul.linkType03 > li:before,
.ancLinkType01 > li:before,
p[class^=btnType]:before,
ul[class^=btnType] > li:before,
p.btnType02.pc > a:before,
ul.btnType02 > .pc > a:before,
ul.btnType04 > .pc > a:before,
.boxType01 > .headLine:after,
.boxType01 > .headLine > *:before,
#contact .checkList > li:before,
#contact #main .submitBtn:before {
	background: url(/common/images/com_sprite01.png) no-repeat;
	content: "";
}
.headLine01:after {background-position: -35px -115px;}
.headLine03:before {background-position: -35px -64px;}
[class^=headLineRank] > span {width: 32px; height: 32px;}
.headLineRank01 > span {background-position: 0 0;}
.headLineRank02 > span {background-position: 0 -32px;}
.headLineRank03 > span {background-position: 0 -64px;}
.headLineRank04 > span {background-position: 0 -97px;}
.headLineRank05 > span {background-position: 0 -131px;}
.headLineRank06 > span {background-position: 0 -165px;}
.headLineRank07 > span {background-position: 0 -199px;}
.headLineRank08 > span {background-position: 0 -233px;}
.headLineRank09 > span {background-position: 0 -267px;}
.headLineRank10 > span {background-position: 0 -301px;}
.listType01:before, .listType01 > li:before, [class^=defListType] > dt:before, ul.linkType01 > li > ul > li:before {width: 5px; height: 5px; background-position: -35px -78px;}
.listType02:before, .listType02 > li:before {width: 3px; height: 2px; background-position: -45px -81px;}
.newsEntryList > .entry > .entryData > .entryTitle:before, p.linkType01:before, ul.linkType01 > li:before {width: 10px; height: 10px; background-position: -58px -44px;}
.toggleList > .switch:before, .addReadText > .switch:before {width: 18px; height: 18px; background-position: -94px -64px;}
.toggleList > .switch.open:before, .addReadText > .switch.open:before {width: 18px; height: 18px; background-position: -71px -64px;}
p.linkType02:before, ul.linkType02 > li:before {width: 5px; height: 9px; background-position: -48px -100px;}
.ancLinkType01 > li:before {width: 10px; height: 10px; background-position: -88px -44px;}
p.linkType03:before, ul.linkType03 > li:before, p.btnType01:before, ul.btnType01 > li:before, p.btnType03:before, ul.btnType03 > li:before, .boxType01 > .headLine > *:before {width: 18px; height: 18px; background-position: -35px -36px;}
p.btnType02:before, ul.btnType02 > li:before {width: 16px; height: 16px; background-position: -103px -38px;}
p.btnType02.pc > a:before, ul.btnType02 > .pc > a:before {width: 13px; height: 14px; background-position: -35px -217px;}
ul.btnType02.anchor > li:before {width: 15px; height: 14px; background-position: -52px -64px;}
.boxType01 > .headLine:after {background-position: -35px -164px;}
.boxType01.on > .headLine:after {background-position: -84px -164px;}
#contact .checkList > li:before {width: 22px; height: 22px; background-position: -64px -235px;}
#contact .checkList > li.on:before {background-position: -37px -235px;}
p.btnType04:before, ul.btnType04 > li:before, #contact #main .submitBtn:before {width: 16px; height: 16px; background-position: -124px -38px;}

/* transition */
img,
p.btnType01 > a,
ul.btnType01 > li > a,
p.btnType02 > a,
ul.btnType02 > li > a,
p.btnType03 > a,
ul.btnType03 > li > a,
p.btnType04,
ul.btnType04 > li,
.boxType01,
.boxType01 > .headLine,
#contact #main .submitBtn {
	-webkit-transition: border-color 0.2s linear, background-color 0.2s linear, opacity 0.2s linear;
	   -moz-transition: border-color 0.2s linear, background-color 0.2s linear, opacity 0.2s linear;
	    -ms-transition: border-color 0.2s linear, background-color 0.2s linear, opacity 0.2s linear;
       -o-transition: border-color 0.2s linear, background-color 0.2s linear, opacity 0.2s linear;
	        transition: border-color 0.2s linear, background-color 0.2s linear, opacity 0.2s linear;
}

/* headLine
================================ */
/* headLineIndex */
.headLineIndex {
	position: relative;
	display: table-cell;
	width: 1000px;
	height: 156px;
	padding: 0 425px 0 40px;
	border-bottom: 1px solid #d1cfcb;
	background: #f3f0ea url(/common/images/com_bg01.gif) no-repeat 0 50%;
	vertical-align: middle;
}
.headLineIndex > h1 {
	font-size: 235.7%;
	font-weight: bold;
	letter-spacing: -0.04em;
}
.headLineIndex > p {
	margin-top: 3px;
	font-size: 128.6%;
	line-height: 1.3;
}
.headLineIndex > .figure {
	position: absolute;
	top: 0;
	right: 0;
	margin-top: 0;
}
.headLineIndex + * {
	margin-top: 40px !important;
}
.headLineIndex + .twoLine,
.headLineIndex + .threeLine,
.headLineIndex + .fourLine {
	margin-top: 20px !important;
}

/* headLine00 */
[class^=headLine]:not(.headLineIndex) > * {
	display: inline-block;
}
[class^=headLine] + .section > *:first-child:not(.headLine04) {
	margin-top: 15px !important;
}
.headLine01 {
	position: relative;
	margin-top: 20px;
	padding: 19px 0 18px;
	border-bottom: 1px solid #d1cfcb;
	background: #f3f0ea;
	font-size: 185.7%;
	font-weight: bold;
	line-height: 36px;
}
.headLine01:after {
	position: absolute;
	top: 16px;
	right: 19px;
	width: 55px;
	height: 43px;
}
.headLine01 > span {
	padding: 0 80px 0 25px;
	background: url(/common/images/com_bg01.gif) no-repeat 0 50%;
}
.headLine01 > span > .fsSmall {
	position: relative;
	top: -2px;
	font-size: 69.2%;
	line-height: 1.0;
}
.headLine01 + * {
	margin-top: 30px !important;
}
.headLine01 + .twoLine,
.headLine01 + .threeLine,
.headLine01 + .fourLine,
.headLine01 + .fiveLine,
.headLine01 + .sevenLine {
	margin-top: 10px !important;
}
.headLine02 {
	margin-top: 30px;
	padding: 6px 22px 4px;
	border-top: 1px solid #003686;
	background: #f3f0ea;
	font-size: 142.9%;
	font-weight: bold;
}
.headLine02 a {
	color: #333333;
}
.headLine02 a.icon > img {
	margin: 0.35em 10px 0;
}
.headLine02 .addition {
	font-size: 65.0%;
}
.headLine02 .fsSmall {
	font-size: 70.0%;
}
.headLine02 + * {
	margin-top: 15px !important;
}
.headLine03 {
	margin-top: 25px;
	padding-left: 23px;
	font-size: 121.4%;
	font-weight: bold;
}
.headLine03:before {
	float: left;
	width: 12px;
	height: 4px;
	margin: 0.6em 11px 0 -23px;
}
.headLine03 + * {
	margin-top: 15px !important;
}
.headLine03 + .twoLine,
.headLine03 + .threeLine,
.headLine03 + .fourLine,
.headLine03 + .sevenLine,
.headLine03 + .variableLine {
	margin-top: -5px !important;
}
.headLine04 {
	margin-top: 30px;
	padding-bottom: 13px;
	border-bottom: 1px solid #dddddd;
	font-size: 142.9%;
	font-weight: bold;
	line-height: 19px;
}
.headLine04 > * {
	padding: 2px 0 0 20px;
	border-left: 5px solid #fcd475;
}
.headLine04 > * > .addition {
	position: relative;
	top: 3px;
	font-size: 65.0%;
}
.headLine04 + * {
	margin-top: 15px !important;
}

/* headLineRank00 */
[class^=headLineRank] {
	position: relative;
	min-height: 29px;
	padding: 3px 0 0 42px;
	font-size: 135.7%;
	font-weight: bold;
}
[class^=headLineRank] > span {
	position: absolute;
	top: 0;
	left: 0;
	text-indent: -9999px;
}
[class^=headLineRank] a.icon > img {
	margin-top: 0.28em;
}
[class^=headLineRank] + * {
	margin-top: 11px !important;
}

/* text
================================ */
p {
	margin-top: 20px;
}
br {
	margin: 0 !important;
}
.bold {
	font-weight: bold;
}
.italic {
	font-style: italic;
}
.highlight01 {
	color: #d40000;
}
.lead {
	font-size: 142.9%;
	font-weight: bold;
}

/* fs */
.fsSmall {
	font-size: 85.7%;
}
.fsLarge {
	font-size: 114.3%;
}

/* note */
.note {
	margin-top: 20px;
}
p.note,
ul.note > li {
	padding-left: 1.5em;
	font-size: 85.7%;
	text-indent: -1.5em;
}
ul.note > li {
	margin-top: 7px;
}
ul.note > li:first-child {
	margin-top: 0;
}
p.note > span,
ul.note > li > span {
	margin-right: 0.5em;
}

/* new */
.new {
	display: inline-block;
	margin: 0 5px;
	padding: 2px 5px 0;
	background: #ffe1e1;
	color: #d40000;
	font-size: 14px;
	font-weight: bold;
	line-height: 16px;
}

/* profName */
.profName > .person {
	font-size: 121.4%;
	font-weight: bold;
}

/* image
================================ */
a:hover img,
.linkEx.on img {
	opacity: 0.7;
}
.figure,
.colWrap .figure + .figure {
	margin-top: 20px;
}
.figure.oneLine {
	text-align: center;
}
.colWrap .figure {
	margin-top: 0;
	text-align: center;
}
.figcaption {
	display: block;
	padding: 0 2px;
	color: #555555;
	font-size: 85.7%;
	line-height: 1.4;
	text-align: left;
}
.figure > .figcaption {
	margin-bottom: 5px !important;
}
.figure > img + .figcaption,
.figure > a + .figcaption {
	margin-top: 5px !important;
}

/* list
================================ */
/* listType00 */
[class^=listType] {
	margin-top: 20px;
}
p[class^=listType],
[class^=listType] > li,
[class^=listType] > li > ul,
[class^=listType] > li > ol {
	margin-top: 7px;
}
[class^=listType] > li:first-child {
	margin-top: 0;
}
p[class^=listType],
[class^=listType] > li {
	position: relative;
}
[class^=listType]:before,
[class^=listType] > li:before {
	position: absolute;
}
ul[class^=listType]:before {
	float: none;
	width: 0;
	height: 0;
	margin: 0;
}
p.listType01,
.listType01 > li {
	padding-left: 12px;
}
.listType01:before,
.listType01 > li:before {
	top: 0.5em;
	left: 0;
}
p.listType02,
.listType02 > li {
	padding-left: 6px;
	font-size: 92.9%;
}
.listType02:before,
.listType02 > li:before {
	top: 0.6em;
	left: 0;
}

/* numListType00 */
[class^=numListType] {
	margin-top: 20px;
}
[class^=numListType] > li {
	margin-top: 7px;
}
[class^=numListType] > li:first-child {
	margin-top: 0;
}
[class^=numListType] > li * {
	text-indent: 0;
}
[class^=numListType] > li > *:nth-child(2) {
	margin-top: 7px;
}
[class^=numListType] > li > *:last-child,
[class^=numListType] > li > *:last-child:not(ul) {
	margin-bottom: 20px;
}
.numListType01 > li {
	padding-left: 1.4em;
	text-indent: -1.4em;
}
.numListType01 > li > span:first-child {
	margin-right: 0.4em;
	font-weight: bold;
}
.numListType01 > li > span:first-child:after {
	content: ".";
}
.numListType01 > li > .numListType02 {
	margin-left: -0.6em;
}
.numListType02 > li {
	padding-left: 2.6em;
	text-indent: -2.6em;
	font-size: 92.9%;
}
.numListType02 > li > span:before {
	content: "（";
}
.numListType02 > li > span:after {
	content: "）";
}

/* defListType00 */
[class^=defListType] {
	margin-top: 20px;
}
[class^=defListType] > dt {
	position: relative;
	margin-top: 7px;
	padding-left: 12px;
}
[class^=defListType] > dt:first-child {
	margin-top: 0;
}
[class^=defListType] > dt:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 5px;
	height: 5px;
}
[class^=defListType] > dt.noIcon {
	padding-left: 0;
}
[class^=defListType] > dt.noIcon:before {
	position: static;
	width: 0;
	height: 0;
	background: none;
}
[class^=defListType] > dd > *:first-child {
	margin-top: 0 !important;
}
[class^=defListType] > dd > ul > li {
	margin-top: 7px !important;
}
[class^=defListType].noIcon > dt:before {
	float: none;
	width: 0;
	height: 0;
	margin: 0;
}
.defListType01 > dt {
	font-weight: bold;
}
.defListType01 > dd {
	padding-left: 12px;
}
.defListType02 > dt {
	clear: both;
	float: left;
}
.defListType02 > dd {
	overflow: hidden;
	margin-top: 7px;
	padding-left: 1.6em;
	text-indent: -1.6em;
}
.defListType02 > dd:before {
	margin: 0 0.3em;
	content: "：";
}
.defListType03 {
	padding-bottom: 1px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 100%;
}
.defListType03 > dt {
	clear: both;
	float: left;
	width: 200px;
	margin: 0;
	padding: 18px 0 17px 4px;
}
.defListType03 > dt > span {
	display: block;
	padding-left: 20px;
	border-left: 5px solid #e8e2d7;
}
.defListType03 > dt:before {
	float: none;
	width: 0;
	height: 0;
	margin: 0;
}
.defListType03 > dd {
	padding: 18px 0 17px 220px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 0;
}
.defListType04 > dt {
	position: static;
	float: left;
	margin: 0 1em 0 0;
	padding: 0;
}
.defListType04 > dd {
	overflow: hidden;
}

/* newsEntryList */
.newsEntryList > *:first-child {
	margin-top: 0 !important;
}
.newsEntryList > .entry {
	margin-top: 10px;
}
.newsEntryList > .entry > .entryImage {
	float: right;
	width: 90px;
	margin-left: 20px;
}
.newsEntryList > .entry > .entryData {
	overflow: hidden;
}
.newsEntryList > .entry > .entryData > dt {
	float: left;
	margin-right: 20px;
	padding-top: 1px;
	font-size: 85.7%;
	line-height: 19px;
}
.newsEntryList > .entry > .entryData > dt > .date {
	display: inline-block;
	min-width: 8em;
}
.newsEntryList > .entry > .entryData > dt > .category {
	position: relative;
	top: -1px;
	display: inline-block;
	width: 116px;
	margin: 0 0 0 10px;
	padding-top: 1px;
	vertical-align: top;
	color: #ffffff;
	line-height: 19px;
	text-align: center;
	letter-spacing: -0.05em;
}
.newsEntryList > .entry > .entryData > dt > .category.news {background-color: #9fb12d;}
.newsEntryList > .entry > .entryData > dt > .category.topics {background-color: #ff9b83;}
.newsEntryList > .entry > .entryData > dt > .category.media {background-color: #88c7df;}
.newsEntryList > .entry > .entryData > dt > .category.event {background-color: #fac569;}
.newsEntryList > .entry > .entryData > dt > .category.recruit {background-color: #be83c9;}
.newsEntryList > .entry > .entryData > .entryTitle {
	position: relative;
	overflow: hidden;
	padding: 1px 0 0 17px;
	line-height: 20px;
}
.newsEntryList > .entry > .entryData > .entryTitle:before {
	position: absolute;
	top: 0.35em;
	left: 0;
}
.newsEntryList > .entry > .entryData > .entryTitle.noLink {
	padding-left: 0;
}
.newsEntryList > .entry > .entryData > .entryTitle.noLink:before {
	position: static;
	width: 0;
	height: 0;
}

/* toggleList */
.toggleList > .switch {
	position: relative;
	margin-top: 3px;
	padding: 11px 10px 10px 46px;
	border: 1px solid #c9c9c9;
	background: #f0f0f0;
	font-size: 114.3%;
	font-weight: bold;
	cursor: pointer;
}
.toggleList > .switch:before {
	position: absolute;
	top: 50%;
	left: 18px;
	margin-top: -10px;
}
.toggleList > .open + * + * {
	margin-top: 20px;
}

/* addReadText */
.addReadText > .switch {
	position: relative;
	display: table;
	padding: 11px 20px 10px 46px;
	border: 1px solid #c9c9c9;
	background: #f0f0f0;
	font-size: 114.3%;
	font-weight: bold;
	cursor: pointer;
}
.addReadText > .switch:before {
	position: absolute;
	top: 50%;
	left: 18px;
	margin-top: -10px;
}
.addReadText > .details {
	display: none;
}

/* link
================================ */
a.icon > img {
	margin: 0.18em 5px 0;
	vertical-align: top;
}
.headLine03 > a.icon > img {
	margin-top: 0.28em;
}

/* linkType00 */
.linkType01 {
	margin-top: 20px;
}
p.linkType01,
ul.linkType01 > li {
	position: relative;
	padding-left: 17px;
}
ul.linkType01 > li {
	margin-top: 7px;
}
ul.linkType01 > li:first-child {
	margin-top: 0;
}
p.linkType01:before,
ul.linkType01 > li:before {
	position: absolute;
	top: 0.35em;
	left: 0;
}
ul.linkType01 > li > ul {
	padding-bottom: 5px;
}
ul.linkType01 > li > ul > li {
	position: relative;
	margin-top: 7px;
	padding-left: 12px;
	font-size: 92.9%;
	line-height: 1.2;
}
ul.linkType01 > li > ul > li:first-child {
	margin-top: 6px;
}
ul.linkType01 > li > ul > li:before {
	position: absolute;
	top: 0.35em;
	left: 0;
}
.linkType02 {
	margin-top: 20px;
}
p.linkType02,
ul.linkType02 > li {
	position: relative;
	padding-left: 12px;
}
ul.linkType02 > li {
	margin-top: 7px;
	font-size: 92.9%;
}
ul.linkType02 > li:first-child {
	margin-top: 0;
}
p.linkType02:before,
ul.linkType02 > li:before {
	position: absolute;
	top: 0.45em;
	left: 0;
}
.linkType03 {
	margin-top: 20px;
}
p.linkType03,
ul.linkType03 > li {
	position: relative;
	padding-left: 28px;
}
ul.linkType03 > li {
	margin-top: 19px;
}
ul.linkType03 > li:first-child {
	margin-top: 0;
}
p.linkType03:before,
ul.linkType03 > li:before {
	position: absolute;
	top: 0.05em;
	left: 0;
}
ul.linkType03 > li > a {
	font-size: 121.4%;
	font-weight: bold;
	line-height: 1.3;
}

/* ancLinkType00 */
.ancLinkType01 {
	margin-top: 20px;
}
.ancLinkType01 > li {
	position: relative;
	padding-left: 17px;
}
.ancLinkType01 > li:before {
	position: absolute;
	top: 0.35em;
	left: 0;
}
.ancLinkType01 > li > a:link,
.ancLinkType01 > li > a:visited {
	text-decoration: underline !important;
}
.ancLinkType01 > li > a:hover,
.ancLinkType01 > li > a:active {
	text-decoration: none !important;
}
#contents .ancLinkType01.fourLine > li {
	width: 185px;
	margin-right: 10px;
}

/* pagerType00 */
.pagerType01 {
	margin-top: 15px;
}
.pagerType01 > ul > li {
	float: left;
	margin: 5px 5px 0 0;
}
.pagerType01 > ul > li > a {
	display: block;
	width: 25px;
	background: #f4f4fc;
	color: #34559c;
	font-size: 85.7%;
	line-height: 25px;
	text-align: center;
	text-decoration: none !important;
	letter-spacing: -0.05em;
}
.pagerType01 > ul > li > span {
	display: block;
	color: #ccccca;
	background: #f4f4fc;
	font-size: 85.7%;
	line-height: 25px;
}
.pagerType01 > ul > li > a:hover,
.pagerType01 > ul > li.current > a {
	background: #33569a;
	color: #ffffff;
}
.pagerType01 > ul > li.prev > *,
.pagerType01 > ul > li.next > * {
	width: auto;
	padding: 0 15px;
}

/* linkEx */
.linkEx {
	cursor: pointer;
}

/* btn
================================ */
.btnWrap {
	margin: 40px auto 0;
}
.btnWrap > *:first-child {
	margin-top: 0 !important;
}
.btnWrap > [class^=btnType] + p {
	margin-top: 10px !important;
}

p[class^=btnType],
ul[class^=btnType] > li {
	position: relative;
	display: table;
	margin-top: 20px;
	line-height: 1.3;
}
p[class^=btnType]:before,
ul[class^=btnType] > li:before {
	position: absolute;
	top: 50%;
}
p[class^=btnType] > a,
ul[class^=btnType] > li > a {
	display: table-cell;
	border: 1px solid #c9c9c9;
	vertical-align: middle;
	text-decoration: none !important;
}
p[class^=btnType] > a:hover,
ul[class^=btnType] > li > a:hover {
	border-color: #6f98d5;
	background: #e5ebf3;
}
p[class^=btnType].aC {
	margin-right: auto;
	margin-left: auto;
}
p[class^=btnType] > a.icon,
ul[class^=btnType] > li > a.icon {
	padding-right: 53px;
}
p[class^=btnType] > a.icon > img,
ul[class^=btnType] > li > a.icon > img {
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -7px 0 0;
	opacity: 1.0 !important;
}
p[class^=btnType] + p[class^=btnType] {
	margin-top: 10px;
}
.twoLine > .col > ul[class^=btnType] > *:nth-child(-n+2),
.threeLine > .col > ul[class^=btnType] > *:nth-child(-n+3),
.fourLine > .col > ul[class^=btnType] > *:nth-child(-n+4) {
	margin-top: 0 !important;
}

/* btnType00 */
p.btnType01,
ul.btnType01 > li {
	font-size: 135.7%;
	font-weight: bold;
}
p.btnType01:before,
ul.btnType01 > li:before {
	left: 20px;
	margin-top: -9px;
}
p.btnType01 > a,
ul.btnType01 > li > a {
	height: 74px;
	padding: 0 20px 0 48px;
	background: #f3f0ea;
}
p.btnType02:before,
ul.btnType02 > li:before {
	left: 17px;
	margin-top: -8px;
}
p.btnType02 > a,
ul.btnType02 > li > a {
	height: 55px;
	padding: 0 20px 0 43px;
	background: #ffffff;
}
p.btnType02.pc,
ul.btnType02 > .pc {
	text-align: center;
}
p.btnType02.pc:before,
ul.btnType02 > .pc:before {
	position: static;
}
p.btnType02.pc > a,
ul.btnType02 > .pc > a {
	height: 39px;
	padding: 0 20px;
}
p.btnType02.pc > a:before,
ul.btnType02 > .pc > a:before {
	position: relative;
	top: 0.15em;
	display: inline-block;
	margin-right: 8px;
}
ul.btnType02.anchor > li {
	text-align: center;
}
ul.btnType02.anchor > li > a {
	height: 45px;
	padding: 0 20px;
}
p.btnType03,
ul.btnType03 > li {
	font-size: 135.7%;
	font-weight: bold;
}
p.btnType03:before,
ul.btnType03 > li:before {
	left: 21px;
	margin-top: -9px;
}
p.btnType03 > a,
ul.btnType03 > li > a {
	height: 81px;
	padding: 0 0 0 43px;
	border: none;
	border-left: 6px solid #e8e2d7;
}
p.btnType03 > a:hover,
ul.btnType03 > li > a:hover {
	border-color: #6f98d5;
	background: #ffffff;
}
p.btnType04,
ul.btnType04 > li {
	font-size: 114.3%;
}
p.btnType04:before,
ul.btnType04 > li:before {
	left: 17px;
	margin-top: -8px;
}
p.btnType04 > a,
ul.btnType04 > li > a {
	height: 65px;
	padding: 0 20px 0 52px;
	border: none;
	background: #003686 !important;
	color: #ffffff;
}
p.btnType04:hover,
ul.btnType04 > li:hover {
	opacity: 0.7;
}

/* box
================================ */
.boxWrap > * {
	float: left;
}

/* boxType00 */
[class^=boxType] + [class^=boxType],
[class^=boxType] + .pluginBox {
	margin-top: 20px;
}
.boxType01 {
	margin-top: 40px;
	padding: 20px;
	border: 1px solid #c9c9c9;
}
.boxType01 > .headLine {
	position: relative;
	overflow: hidden;
	margin: -20px -20px 0;
	background: #f3f0ea;
	font-size: 135.7%;
	font-weight: bold;
}
.boxType01 > .headLine:after {
	position: absolute;
	top: 50%;
	right: 11px;
	width: 44px;
	height: 36px;
	margin-top: -18px;
}
.boxType01 > .headLine > * {
	display: block;
	padding: 13px 55px 10px 48px;
	text-decoration: none !important;
}
.boxType01 > .headLine > *:before {
	position: absolute;
	top: 50%;
	left: 20px;
	margin-top: -9px;
}
.boxType01 > .headLine + * {
	margin-top: 20px !important;
}
.boxType01.on {
	border-color: #6f98d5;
}
.boxType01.on > .headLine {
	background: #e5ebf3;
}
.boxType02 {
	margin-top: 40px;
	padding: 15px;
	border: 1px solid #dddddd;
}
.boxType02 > *:first-child {
	margin-top: 0 !important;
}
.boxType02 > .headLine {
	margin-top: 20px;
	padding: 1px 0;
	font-size: 114.3%;
	font-weight: bold;
}
.boxType02 > .headLine + * {
	margin-top: 5px;
}
.boxType02 > .address01 > dt {
	float: left;
	margin-right: 1em;
	font-size: 114.3%;
	font-weight: bold;
}
.boxType02 > .address01 > dd {
	overflow: hidden;
}
.boxType02 .colWrap * + .figure {
	margin-top: 20px;
}

/* pluginBox */
.pluginBox {
	margin-top: 40px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 0;
}
.pluginBox > .colWrap {
	display: table;
	width: 100%;
	margin-top: 0;
	padding: 22px 0 21px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 100%;
}
.pluginBox > .colWrap > .banner {
	display: table-cell;
	width: 158px;
	padding-right: 14px;
	vertical-align: top;
}
.pluginBox > .colWrap > p {
	display: table-cell;
	vertical-align: middle;
	line-height: 1.4;
}
.pluginBox + [class^=boxType] {
	margin-top: 20px;
}

/* contactBox */
.contactBox01 {
	margin-top: 45px;
	padding: 20px 53px;
	background: url(/common/images/com_bg02.png) no-repeat 5% 0;
}
.contactBox01 > *,
.contactBox01 .lead + p {
	margin-top: 0 !important;
}
.contactBox01 > .colWrap {
	display: table;
	width: 100%;
}
.contactBox01 > .colWrap > * {
	display: table-cell;
	vertical-align: middle;
}
.contactBox01 > .colWrap > .colText {
	width: 630px;
	padding-right: 8px;
}
.contactBox01 > .colWrap > .colBtn > [class^=btnType] {
	width: 255px;
}

/* col
================================ */
.col {
	float: left;
}
.col > *:first-child {
	margin-top: 0 !important;
}
.colWrap {
	margin-top: 20px;
}
.colWrap + .colWrap {
	clear: both;
}
.colRight {
	float: right;
	margin-left: 20px;
}
.colLeft {
	float: left;
	margin-right: 20px;
}
.colRight > *:first-child,
.colLeft > *:first-child,
.colText > *:first-child,
.colText > .section:first-child > *:first-child,
.colBtn > *:first-child {
	margin-top: 0 !important;
}
.colText.break {
	overflow: hidden;
}

/* layoutTable */
.colWrap.layoutTable {
	display: table;
}
.colWrap.layoutTable > * {
	float: none;
	display: table-cell;
	vertical-align: middle;
}
.colWrap.layoutTable > .colLeft {
	margin-right: 0;
	padding-right: 20px;
}

/* profile */
.profile .w150px .figure {
	text-align: left;
}
.profile .colText p,
.profile .colText ul,
.profile .colText ol {
	margin-top: 10px;
}
.profile .colText .profName {
	margin-top: 27px !important;
}

/* ** line
================================ */
.oneLine {
	margin: 20px auto 0;
}
.twoLine,
.threeLine,
.fourLine,
.fiveLine,
.variableLine {
	overflow: hidden;
	margin: 0 -20px 0 0;
}
.sevenLine {
	overflow: hidden;
	margin: 0 -15px 0 0;
}
.twoLine > *,
.threeLine > *,
.fourLine > *,
.fiveLine > *,
.variableLine > * {
	float: left;
	margin: 20px 20px 0 0;
}
.sevenLine > * {
	float: left;
	margin: 20px 15px 0 0;
}
ul.variableLine {
	margin-top: 13px;
}
ul.variableLine > li {
	margin-top: 7px;
}
.twoLine > * {width: 490px;}
.threeLine > * {width: 320px;}
.fourLine > *, .twoLine .twoLine > * {width: 235px;}
.fiveLine > * {width: 184px;}
.sevenLine > * {width: 130px;}
.variableLine > * {width: auto;}

#contents .twoLine > * {width: 370px;}
#contents .threeLine > * {width: 240px;}
#contents .fourLine > * {width: 175px;}
#contents .fiveLine > * {width: 136px;}
#contents .sevenLine > * {width: 100px; margin-right: 10px;}

.fR ul.variableLine {
	margin-right: 0;
	margin-left: -10px;
}
.fR ul.variableLine > li {
	margin-right: 0;
	margin-left: 10px;
}

/* table
================================ */
table + .note {
	margin-top: 10px !important;
}
table + .twoLine,
table + .threeLine,
table + .fourLine {
	margin-top: 30px !important;
}

/* tableType00 */
.tableType01 {
	width: 100%;
	margin-top: 20px;
	border-top: 1px solid #c9c9c9;
	border-left: 1px solid #c9c9c9;
}
.tableType01 th,
.tableType01 td {
	padding: 13px 18px 12px;
	border-right: 1px solid #c9c9c9;
	border-bottom: 1px solid #c9c9c9;
	font-weight: normal;
	text-align: left;
}
.tableType01 th > *:first-child,
.tableType01 td > *:first-child {
	margin-top: 0 !important;
}
.tableType01 .lv01 {
	background: #f0f0f0;
}

/* other
================================ */
/* section */
.section {
	clear: both;
}

/* aside */
#aside {
	clear: both;
	margin-top: 20px;
}

/* headLine */
#aside .section > .headLine {
	margin-top: 30px;
	padding: 4px 0;
	border-bottom: 2px solid #003686;
}

/* threeLine */
#aside .threeLine > * {
	margin-top: 15px;
}

/* lineType00 */
.lineType01 {
	margin-top: 30px;
	border-top: 1px solid #bbbbbb;
}

/* scrollContents */
.scrollContents {
	overflow: auto;
	width: 100%;
	height: 135px;
	margin-top: 20px;
	padding: 15px 20px;
	border: 1px solid #b3b3b3;
	background: #ffffff;
}
.scrollContents > *:first-child {
	margin-top: 0 !important;
}
.scrollContents > *:last-child {
	margin-bottom: 15px;
}

/* wysiwygArea */
.wysiwygArea {
	margin-top: 20px;
}
.wysiwygArea > *:first-child {
	margin-top: 0 !important;
}

/* ehonSearch */
#ehonSearch {
	margin-top: 40px;
	border: 1px solid #e4e1d6;
	background-color: #f3f0ea;
}
#ehonSearch > .logo {
	float: left;
	width: 210px;
	margin: 0 54px 0 0;
}
#ehonSearch > .searchWrap {
	overflow: hidden;
	display: table;
	height: 88px;
	zoom: 1;
}
#ehonSearch > .searchWrap > * {
	display: table-cell;
	vertical-align: middle;
}
#ehonSearch > .searchWrap > .text {
	width: 210px;
	padding-right: 8px;
	color: #555555;
	font-size: 92.9%;
	line-height: 1.69;
}
#ehonSearch > .searchWrap > .search {
	height: 36px;
}
#ehonSearch > .searchWrap > .search input {
	height: 36px;
	margin-right: 20px;
	border: none;
	background: none;
}
#ehonSearch > .searchWrap > .search .field {
	width: 298px;
	height: 28px;
	padding: 3px 5px;
	border: 1px solid #999999;
	border-right-color: #ece7d7;
	border-bottom-color: #ece7d7;
	background-color: #ffffff;
	line-height: 28px;
}
#ehonSearch > .searchWrap > .search .submit {
	width: 90px;
	height: 36px;
	background: url(/common/images/com_bt02.png) no-repeat 0 0;
	text-indent: -9999px;
	outline: none;
	cursor: pointer;
}
#contents #ehonSearch > .logo {
	width: 170px;
	margin-right: 15px;
}
#contents #ehonSearch > .searchWrap > .text {
	width: 160px;
}
#contents #ehonSearch > .searchWrap > .search .field {
	width: 258px;
}

/* colIndex */
.twoLine.colIndex > .col,
.threeLine.colIndex > .col,
.fourLine.colIndex > .col {
	margin-top: 45px;
}
[class^=headLine] + .twoLine.colIndex  > .col:nth-child(-n+2),
[class^=headLine] + .threeLine.colIndex  > .col:nth-child(-n+3),
[class^=headLine] + .fourLine.colIndex  > .col:nth-child(-n+4) {
	margin-top: 20px;
}

/* 404 */
#notfound #main .colText > * {
	margin-top: 25px;
}
#notfound .headLine01 + * {
	margin-top: 50px !important;
}
#notfound #aside {
	margin-top: 65px;
}

/* business */
#business .colWrap.colIndex > .colText > .fourLine > * {
	width: 170px;
}

/* book */
#book .colWrap.colIndex {
	margin-top: 30px;
}
#book .colWrap.colIndex > .col:nth-child(1),
#book .colWrap.colIndex > .col:nth-child(2) {
	margin-top: 0;
}
#book .colWrap.colIndex > .colLeft {
	width: auto !important;
}

/* about */
#about .defListType03 dd .gmapWrap {
	margin: 15px 0 0 -220px;
}
#about .tableType01 th,
#about .tableType01 td {
	padding-right: 10px;
	padding-left: 10px;
}
#about .historyList {
	padding-bottom: 1px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 100%;
}
#about .historyList dl {
	display: table;
	width: 100%;
}
#about .historyList dt,
#about .historyList dd {
	display:table-cell;
	vertical-align: top;
	line-height: 1.4;
}
#about .historyList .block {
	padding: 7px 10px 6px 4px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 0;
}
#about .historyList .year {
	width: 176px;/*
	height: 42px;*/
	padding-left: 20px;
	border-left: 5px solid #e8e2d7;
	letter-spacing: -0.02em;
}
#about .historyList .year span {
	position: relative;
	top: 1px;
	font-size: 114.3%;
	font-weight: bold;
}
#about .historyList .details {
	padding: 2px 0 1px;
}
#about .historyList .details > dl {
	margin-top: 6px;
	padding-top: 8px;
	background: url(/common/images/com_hr01.gif) repeat-x 0 0;
}
#about .historyList .details > dl:first-child {
	margin-top: 0;
	padding-top: 0;
	background: none;
}
#about .historyList .details .month {
	width: 50px;
	padding-right: 33px;
	text-align: center;
}
#about .historyList .special {
	background-color: #fff8e6;
}
#about .historyList .special .year {
	border-color: #003686;
	background: url(/about/images/history_bg01.png) no-repeat 27px 0;
}

/* csr */
#csr p.btnType01.w320px,
#csr ul.btnType01.w320px > li {
	width: 320px;
}
#csr .colWrap.colIndex .colText > ul.btnType01.twoLine {
	margin-right: 0;
}
#csr .colWrap.colIndex .colText > ul.btnType01.twoLine > li:nth-child(2n) {
	margin-right: 0;
}
#csr .colWrap.colIndex .colText > ul.btnType01.twoLine > li:nth-child(-n+2) {
	margin-top: 0;
}

/* bestsellers */
#bestsellers .bsProduct {
	margin-top: 30px;
	padding-bottom: 30px;
	border-bottom: 2px dotted #cdcdcd;
}
#bestsellers .bsProduct > .colRight,
#bestsellers .bsProduct > .colLeft {
	width: 108px !important;
	padding: 10px 0;
	text-align: center;
}
#bestsellers .bsProduct > .colRight img,
#bestsellers .bsProduct > .colLeft img {
	width: 108px !important;
	height: auto;
}
#bestsellers .bsProduct > .colText > p {
	padding-left: 10px;
}

/* privacy */
#privacy [class^=numListType] > li > * {
	margin-top: 7px;
	margin-bottom: 7px;
}

/* news & topics */
body.detail #contents h4 {
	margin-top: 30px;
	padding: 6px 10px 4px;
	background: #003686;
	color: #ffffff;
	font-size: 142.9%;
	font-weight: bold;
}
body.detail #contents h4 + * {
	margin-top: 15px !important;
}
body.detail blockquote {
	margin-top: 40px;
	padding: 15px;
	border: 1px solid #dddddd;
}
body.detail table {
	width: 100%;
	margin-top: 20px;
}
body.detail table caption {
	display: block;
}
body.detail table tbody {
}
body.detail table tbody th,
body.detail table tbody td {
	padding: 13px 18px 12px;
	border: 1px solid #c9c9c9;
	vertical-align: top;
	font-weight: normal;
	text-align: left;
}
body.detail table tbody th {
	background: #f0f0f0;
}

/* topics */
#topics.detail .newsEntryList > .entry {
	margin-top: 7px;
}
#topics.detail .newsEntryList > .entry > .entryData > dt,
#topics.detail .newsEntryList > .entry > .entryData > .entryTitle {
	padding-top: 0;
	line-height: 1.5;
}
#topics.detail .newsEntryList > .entry > .entryData > dt {
	position: relative;
	top: 2px;
}
#topics.detail .newsEntryList > .entry > .entryData > .entryTitle:before {
	top: 0.35em;
}
#topics.detail .boxType02 > p + .defListType02,
#topics.detail .boxType02 > p + .defListType02 > dd {
	margin-top: 0;
}

/* contact */
#contact #globalHeader {
	padding-right: 0;
}
#contact #globalHeader #searchBox {
	display: none;
}
#contact input {
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: none;
	-webkit-appearance: none;
	   -moz-appearance: none;
	    -ms-appearance: none;
	     -o-appearance: none;
			    appearance: none;
	vertical-align: top;
	font-size: 100%;
}
#contact input[type=text] {
	height: 46px;
	padding: 3px 5px;
	border: 1px solid #dddddd;
}
#contact textarea {
	width: 100%;
	height: 187px;
	margin-top: 5px;
	padding: 3px 5px;
	font-size: 100%;
	border: 1px solid #dddddd;
}
#contact .error + *,
#contact .checkList > li:first-child {
	margin-top: 0 !important;
}

#contact .tableType01 th {
	padding: 20px 29px;
	vertical-align: middle;
	font-size: 114.3%;
}
#contact .tableType01 td {
	padding: 20px;
}
#contact th.error {
	background: #ffe8e8;
}
#contact p.error {
	margin-bottom: 15px;
	color: #d40000;
	font-weight: bold;
}
#contact p.error + p.error {
	margin-top: -10px !important;
}
#contact .inputText {
	margin-top: 20px;
}
#contact .inputText + .inputText {
	margin-top: 15px;
}
#contact .inputText > span {
	display: inline-block;
	line-height: 46px;
}
#contact .inputText > .item {
	min-width: 2em;
	margin-right: 1em;
}
#contact .inputText > .item + input[type=text] {
	margin-right: 25px;
}
#contact .inputText > .item.corp {
	min-width: 6em;
}
#contact .inputText > .hyphen {
	margin: 0 10px;
	color: #bbbbbb;
}
#contact .checkList > li {
	position: relative;
	min-height: 20px;
	margin-top: 12px;
}
#contact .checkList > li:before {
	position: absolute;
	top: 0;
	left: 0;
}
#contact .checkList > li span {
	position: relative;
	display: inline-block;
	padding: 2px 0 0 36px;
}
#contact .checkList > li > span {
	cursor: pointer;
}
#contact .checkList > li .checkIcon {
	display: none;
}
#contact .checkList.twoLine > li {
	width: 300px;
}
#contact .checkList.twoLine > li:nth-child(1),
#contact .checkList.twoLine > li:nth-child(2) {
	margin-top: 0;
}
#contact .indent {
	padding-left: 36px;
}
#contact #main .submitBtn {
	position: relative;
	display: table;
	margin: 40px auto 0;
	background: #003686;
	font-size: 114.3%;
}
#contact #main .submitBtn + .submitBtn {
	margin-top: 20px;
}
#contact #main .submitBtn:hover {
	opacity: 0.7;
}
#contact #main .submitBtn:before {
	position: absolute;
	top: 50%;
	left: 17px;
	margin-top: -8px;
}
#contact #main .submitBtn > * {
	display: table-cell;
	height: 55px;
	padding: 0 30px 0 50px;
	vertical-align: middle;
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

/* sitemap */
#sitemap .contentsNav {
	overflow: hidden;
	margin-right: -10px;
	padding-bottom: 106px;
}
#sitemap .contentsNav > * {
	float: left;
	width: 250px;
	margin: 58px 10px 0 0;
}
#sitemap .contentsNav > *:nth-child(-n+4) {
	margin-top: 0;
}
#sitemap .contentsNav > *:nth-child(4n) {
	width: 222px;
}
#sitemap .contentsNav > *:nth-child(4n-1) {
	width: 246px;
}
#sitemap .contentsNav > *:nth-child(4n-2) {
	width: 252px;
}
#sitemap .contentsNav > .linkType03 > li > .linkType01 {
	margin: 25px 0 0 -22px;
	padding-left: 21px;
	border-left: 1px solid #dddddd;
}
#sitemap .contentsNav > .linkType03 > li > .linkType01 > li {
	margin-top: 14px;
	line-height: 1.2;
}
#sitemap .contentsNav > .linkType03 > li > .linkType01 > li:before {
	top: 0.15em;
}
#sitemap .contentsNav > .linkType03 > li > .linkType01 > li > a.icon > img {
	margin-top: 0.04em;
}
#sitemap .contentsNav > .linkType03 > li > .linkType01 > li > ul {
	padding: 2px 0 0;
}

/* search */
#search #results .target {
	text-align: right;
}
#search #results .resultBlock {
	margin-top: 20px;
	padding-bottom: 20px;
	border-bottom: 2px dotted #cdcdcd;
}
#search #results .resultBlock:first-of-type {
	padding-top: 20px;
	border-top: 2px dotted #cdcdcd;
}
#search #results .resultBlock > *:first-child {
	margin-top: 0 !important;
}
#search #results .resultNone {
	padding: 20px 0 200px;
	border-top: 2px dotted #cdcdcd;
}

/* spBtn */
.spBtn {
	margin: 10px 0;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
}
.spBtn a {
	display: block;
	padding: 20px;
	background: #122981;
	border-radius: 6px;
	color: #ffffff;
	text-decoration: none !important;
}

@media print {

/*=================================

	2: print

================================ */

}


/*=================================

	clearfix

=================================*/
.defListType02:after,
.ancLinkType01:after,
.pagerType01 > ul:after,
.boxType02 > .address01:after,
.colWrap:after,
.twoLine:after,
.fourLine:after,
.variableLine:after {
	content: "";
	display: block;
	clear: both;
}
.defListType02,
.ancLinkType01,
.pagerType01 > ul,
.boxType02 > .address01,
.colWrap,
.twoLine,
.fourLine,
.variableLine {
	zoom: 1;
}