@charset "utf-8";

/* ---------------------------------------------
　layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table,
.content blockquote{
	margin: 20px 0 0;
	line-height:1.8em;
}

.content ul p, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, 
.content table p, .content table ul, .content table dl, .content table ol{
	margin: 0;
}

.content p img, .content dl img, .content ul img {
	vertical-align: middle;
}

.column-image-left,.column-image-center,.column-image-right { margin-top:20px !important; }

/* common modules
------------------------------------------------ */

em        { color:#e57e7d; font-style:normal;  }

.small    { font-size:87%;  }
.x-small  { font-size:78%;  }

.large    { font-size:110%; }
.x-large  { font-size:120%; }

.attention{ color: #FF3366!important;   }
.bold     { font-weight:bold; }
.keyword{ color:#e57e7d; }

.center{ text-align: center; }
.right { text-align:right;   }
.left  { text-align:left;    }
.middle{ vertical-align:middle; }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }

.nowrap         { white-space:nowrap; }
.nomargintop    { margin-top: 0 !important; }
.content .nocss { margin:0; padding:0; border:none; background:none; }

.mt0{ margin-top:0px !important; }
.mt10{ margin-top:10px !important; }
.mt20{ margin-top:20px !important; }
.mt30{ margin-top:30px !important; }
.mt40{ margin-top:40px !important; }
.mt50{ margin-top:50px !important; }
.mt60{ margin-top:60px !important; }
.mt70{ margin-top:70px !important; }
.mt130{ margin-top:130px !important; }
.pt60{ padding-top:60px;}

.title{
	font-size:20px;
	font-weight:bold;
}

.hr{
	height:1px;
	border-bottom:1px solid #ccc;
	margin:50px 0 0;
}

.hr hr{
	display:none;
}

.color-01{ color:#15324e;}

/* --- anchor --- */

.anchor{
	background:url(../images/icon_arrow02.png) no-repeat 0 0.4em;
	padding-left:11px;
}

.anchor-ex {
	background:url(../images/icon_window01.png) no-repeat right 0.2em;
	padding-right:15px;
}

/* --- ext icon --- */

a[href$='.xls'], a[href$='.xlsx']{
	background: url(../images/icon_b_xls.png) no-repeat 100% 50%;
	padding-right: 25px;
}

.btn-01 a[href$='.xls'], a[href$='.xlsx']{
	background: url(../images/icon_b_xls.png) no-repeat 98% 50%;
	padding-right: 25px;
}

a[href$='.doc'], a[href$='.docx']{
	background: url(../images/fileicon/doc.png) no-repeat 100% 50%;
	padding-right: 25px;
}

a[href$='pdf']{
	background: url(../images/icon_b_pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}

.btn01 a[href$='pdf']{
	background: url(../images/icon_b_pdf.png) no-repeat 98% 50%;
	padding-right: 25px;
}

a[href$='zip']{
	background: url(/themes/main/images/fileicon/zip.png) no-repeat 100% 50%;
	padding-right: 25px;
}

/*a[href$='ppt']{
	background: url(../images/icon_b_pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}*/

.no-bg{ background-image:none !important; padding-right:0 !important;}


/* --- openwin --- */

.openwin{ 
	padding-left: 10px;
	vertical-align:middle;
}

/* ---　pagetop-in　 --- */

.pagetop-in {
	text-align:right;
}

.pagetop-in a {	
	background:url(../images/icon_arrow_pagetop.png) no-repeat 0 0.4em;
	padding-left: 15px;
	font-size: 92%;
}

/* --- blockquote --- */

blockquote, 
.acms-entry blockquote{
	background:url(../images/bg_blockquote.png) top 0 left 0 no-repeat #fff;
	border-bottom:1px solid #ddd;
	border-left:none;
	margin-top:40px;
	padding:40px 20px 30px 150px;
}

/* --- btn --- */

.btn01 a{
	position:relative;
	display:block;
	padding:14px 10px;
	text-decoration:none;
	border:1px solid #1e3f60;
	text-align:center;
}

.btn01 a:visited { color:#1e3f60;}

.btn01 span{ position:relative;padding-left:20px;}

.btn01 span::before {
	display: inline-block;
	content: '';
	position: absolute;
	top: 30%;
	left: 0;
	width: 7px;
	height: 7px;
	border-right: 2px solid #1e3f60;
	border-bottom: 2px solid #1e3f60;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.btn01 a:hover{
	background-color:#1e3f60;
	color:#fff;
}

.btn01:hover span::before {
	display: inline-block;
	content: '';
	position: absolute;
	top: 30%;
	left: 0;
	width: 7px;
	height: 7px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


/* ------ title -------------------------------- */

.content h2, 
.content .wysiwyg h1{
	clear:both;
	margin:50px 0 0;
	padding:0;
	font-size:30px;
	font-weight:normal;
	color:#15324e;
	border-bottom:3px solid #b6c1d8;
}
.content h2 a:link          { color:#15324e; text-decoration:none; }
.content h2 a:visited       { color:#15324e; text-decoration:none; }
.content h2 a:hover,a:active{ color:#15324e; text-decoration:none; }

.content h2:first-child, 
.content .wysiwyg h1:first-child{
	margin:0;
}

.content .acms-entry h2{
	margin:5px 0 0;
}

.content h3, 
.content .wysiwyg h2{
	clear:both;
	margin:50px 0 0;
	padding:0;
	color:#15324e;
	font-size:28px;
	font-weight:normal;
	border-bottom:1px solid #e7e7e7;
	
}

.content h4,
.content .wysiwyg h3 {
	clear:both;
	position: relative;
	font-size:22px;
	color:#15324e;
	margin:30px 0 0;
	padding-left:30px;
	border-bottom:1px solid #e7e7e7;
	background: url(../images/bg_title4.png) no-repeat 0 0.3em;
}

.content h4.no-mark{
	background:none;
	padding-left:0;
	font-size:18px;
	font-weight:bold;
	color:#15324e;
}

.content h5,
.content .wysiwyg h4 {
	clear:both;
	position: relative;
	font-size:17px;
	color:#15324e;
	margin:30px 0 0;
	padding-left:20px;
	border-bottom:1px solid #e7e7e7;
	background: url(../images/bg_title5.png) no-repeat 0 0.3em;
}


/* ------ ul ----------------------------------- */


/* --- normal list --- */

.list li {
	position: relative;
	padding-left:11px;
	margin-bottom:5px;
}
.list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
	width: 5px;
	height: 5px;
	background-color: #1e3f60;
	border-radius: 100%;
}
.list li.list-non {
	padding-left: 0;
}
.list li.list-non::after {
	content: none;
}

/* --- link list --- */

.link li {
	position: relative;
	padding-left:15px;
	margin-bottom:5px;
}
.link li::after {
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left: 0;
	width: 6px;
	height: 6px;
	border-right: 2px solid #1e3f60;
	border-bottom: 2px solid #1e3f60;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* --- number list --- */

ol li {
	list-style-type:decimal;
	margin-left:25px;
	margin-bottom:5px;
}

ol ul li{
	list-style-type:none;
	margin-left:10px;
}

/* --- attention list --- */

.rice li{
	margin:0 0 5px 1em;
	text-indent:-1em;
}

/* --- compact list --- */

.compact li{
	display:inline;
	margin-right:25px;
}

/* --- sitemap list --- */

.sitemap{
	overflow:hidden;
}

.sitemap li{
	float:left;
	width:210px;
}

/* --- within compact list --- */

.within {
	padding: 30px;
	border: 1px solid #ddd;
}

.within li{
	padding-left:15px;
}

.within li::after{
	position: absolute;
	top: .3em;
	left: 0;
	border-right: none;
	border-left: 2px solid #1e3f60;
	border-bottom: 2px solid #1e3f60;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.content ul ul, .content dl dl, .content ol ol {
	margin-top: 5px;
}

/* ------ dl ----------------------------------- */

/* --- normal list --- */

.list dt{
	background:url(../images/icon_list01.png) no-repeat 0 0.5em;
	padding-left:13px;
	font-weight:bold;
}

.list dd{
	padding-left:13px;
}

/* --- link list --- */

.link dt{
	background:url(../images/icon_arrow01.png) no-repeat 0 0.4em;
	padding-left:15px;
	font-weight:bold;
}

.link dd{
	padding-left:15px;
}

/* --- horizonal --- */

.horizonal dt {
  position: relative;
  clear: left;
  float: left;
  width: 10em;
  padding:8px 8px 8px 30px;
  color:#192c69;
  font-weight:bold;
}

.horizonal dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 1.2em;
	left: 20px;
	width: 5px;
	height: 5px;
	background-color: #1e3f60;
	border-radius: 100%;
}

.horizonal dd {
  padding:8px 15px 8px 11em;
  border-bottom:1px solid #ddd;
}



/* ------ layout frame ------------------------- */

.content .layout-frame {
	clear: both;
	margin-left: -25px;
}

.content .layout-3col {
	margin-left: -15px;
}

.content .layout-unit {
	float: left;
	display: inline;
	margin-left: 25px;
}

.content .layout-3col .layout-unit {
	margin-left: 15px;
}

.grid-1 img,.grid-2 img,.grid-3 img,
.grid-4 img,.grid-5 img,.grid-6 img,
.grid-7 img,.grid-8 img,.grid-9 img,
.grid-10 img,.grid-11 img{
	max-width:100%;
	height:auto;
}

/* 685px */
.grid-1 { width: 93px; }
.grid-2 { width:117px; }
.grid-3 { width:211px; }
.grid-4 { width:218px; }
.grid-5 { width:225px; }
.grid-6 { width:330px; }
.grid-7 { width:435px; }
.grid-8 { width:442px; }
.grid-9 { width:449px; }
.grid-10{ width:543px; }
.grid-11{ width:567px; }

/* 980px */
.grid-1-w { width:180px; }
.grid-2-w { width:240px; }
.grid-3-w { width:200px; }
.grid-4-w { width:360px; }
.grid-5-w { width:420px; }
.grid-6-w { width:480px; }
.grid-7-w { width:540px; }
.grid-8-w { width:600px; }
.grid-9-w { width:660px; }
.grid-10-w{ width:720px; }
.grid-11-w{ width:780px; }

.grid-12-w{ width:460px; }
.grid-13-w{ width:300px; }
.grid-14-w{ width:320px; }
.grid-15-w{ width:660px; }

.grid-3col{ width:313px; }
.grid-4col{ width:230px; }



/* ------ social media ------------------------- */

.social{
	margin-top:20px;
}

.social ul li{
	float:left;
	margin-right:10px;
	vertical-align:top;
	width:80px;
	display:inline-table;
}

.social ul li.twitter, 
.social ul li.google{
	padding-top:5px;
}

.social ul li *{
	margin:0;
	padding:0;
}

.social ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .social ul             { zoom:1; } /* IE6 */
*:first-child+html .social ul { zoom:1; } /* IE7 */



/* ------ table -------------------------------- */

table{
	border-collapse:collapse;
	border:1px solid #e7e7e7;
	width:100%;
	-webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

}

table th,
table td{
	padding:10px;
	vertical-align:middle;
	border:1px solid #e7e7e7;
	background:#fff;
	word-wrap:break-word;
}

table th{
	font-weight:bold;
	color:#1e3f60;
	background:#ecf3f8;
}

table thead th,
th.head {
	background:#ecf3f8;
	text-align:center;
}

/* --- noborder --- */

table.noborder,
table.noborder td,
table.noborder th{
	border:0;
	background: none;
}

/* index
------------------------------------------------ */

.index {
	clear: both;
	margin: 0 0 0 -25px;
}

.index dl {
	position: relative;
	float: left;
	display: inline;
	margin-left: 25px;
	width: 330px;
	background: #fff;
	border:1px solid #eaeaea;
	-webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}


.index dd > dl{
	float:none;
	display:block;
	margin:0;
	width:280px;
	border:none;
}

.index dt {
	padding: 20px;
	font-size:18px;
	background:#e8f1f7;
	color:#15324e;
}

.index dd dl dt{
	padding:0;
	clear:both;
	float:left;
	width:2em;
	color:#15324e;
	background:none;
	font-size:14px;
}

.index dl.child {
	float:none;
	display:block;
	margin:0;
	width:280px;
	border:none;
    background: #e8f1f7;
}

.index dl.child dt{
	padding:0;
	clear:both;
	float:left;
	width:5em;
	height: 65px;
    background: #e8f1f7;
}

.index dl.child dd {
	padding: 0;
}

.index dt a {
	text-decoration:none;
}

.index dd {
	padding: 20px;
}

.index dd dl dd{
	position: relative;
	margin:0 0 0 3em;
	padding:0 0 0 15px;
}
.index dd dl dd::after {
	display: block;
	content: '';
	position: absolute;
	top: .8em;
	left: -5px;
	width: 10px;
	height: 1px;
	background-color: #c9c9c9;
}

.index dl h5{
	margin:0;
	border:none;
}

.index dl h6{
	margin:10px 0;
	font-size:16px;
	font-weight:bold;
	color:#15324e;
}

.index .map{
	margin:0;
	padding:0 0 0 20px;
	font-size:14px;
	background:url(../images/icon_map.png) no-repeat 0 0.2em;
}

.index p.btn01{
	font-size:14px;
	margin-top:25px;
}

/* cms
------------------------------------------------ */

.acms-entry{
	margin:0 0 50px;
	border-bottom:1px solid #ddd;
	padding:0 0 50px;
}


/* --- entry-date --- */

p.entry-date {
	text-align: left;
	font-size: 87%;
	margin:0;
	padding:0;
}

p.personal-data{
	font-size:18px;
	padding:0;
}


/* --- personal --- */

p.personal {
	text-align: left;
	font-size: 87%;
	margin:0;
	padding:0;
}

p.personal{
	font-size:18px;
	padding:0;
}


/* --- entry-navigation / pager-navigation --- */

.entry-navigation, 
.pager-navigation{
	font-size:87%;
	margin:50px 0 0;
}

.entry-navigation a:link, .entry-navigation a:visited, .entry-navigation a:hover, .entry-navigation a:active, 
.pager-navigation a:link, .pager-navigation a:visited, .pager-navigation a:hover, .pager-navigation a:active{
	text-decoration:none;
}

.entry-navigation ul, 
.pager-navigation ul{
	margin:0;
}

/* entry-navigation */

.entry-navigation{
	background:#eee;
	padding:10px;
}

.entry-navigation li{
	width:300px;
}

.entry-navigation .entry-old{
	float:left;
}

.entry-navigation .entry-new{
	float:right;
	text-align:right;
}

.entry-navigation .home{
	text-align:center;
	margin-top:-20px;
}

.entry-navigation ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .entry-navigation ul             { zoom:1; } /* IE6 */
*:first-child+html .entry-navigation ul { zoom:1; } /* IE7 */

/* pager-navigation */

.pager-navigation ul li{
	float:left;
	text-align:center;
	margin-right:10px;
	line-height:1;
}

.pager-navigation ul li span.cur{
	background:#f6f6f6;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:link, 
.pager-navigation ul li a:visited{
	background:#fff;
	border:1px solid #CECECE;
	color:#666;
	display:block;
	line-height:1;
	padding:0.5em 0.7em;
	position:relative;
}

.pager-navigation ul li a:hover, 
.pager-navigation ul li a:active{
	background:#CECECE;
}

/* 続きを読むリンク */
.search.entry p.continue {
	margin: 0;
	padding: 0;
}

.search.entry p.continue a {
	display: block;
	margin: 0;
	padding: 10px 0 10px 40px;
	border-top: 1px solid #E8E8E8;
	background: url(../images/icn_arrow01.png) no-repeat 20px 15px;
}

.search.entry p.continue a:hover {
	background-color: #F0F0F0;
}


/* voice-index
------------------------------------------------ */

.voice-index{
	overflow:hidden;
	margin-left:-20px;
}

.voice-index img{
	opacity:1 !important;
}

.voice-index .interview,
.voice-index .interview01,
.voice-index .interview02,
.voice-index .interview03{
	width:313px;
	float:left;
	color:#fff;
	margin:0 0 20px 20px;
}

.voice-index .interview-upper{
	opacity:1;
    -webkit-transition:.2s linear;
    -moz-transition:.2s linear;
	width:100%;
	height:200px;
	margin:0;
	position:relative;
	overflow:hidden;
}

.voice-index .interview-upper img{
	position:absolute;
    top:0;
	right:0;
    bottom:0;
	left:0;
    margin:auto;
}

.voice-index .interview-bottom{
	padding:20px 30px 20px;
	min-height:70px;
	text-align:left;
	position:relative;
}

.voice-index .interview-bottom h2{
	font-size:20px;
	font-weight:normal;
	margin:0 0 10px;
}

.voice-index .interview-bottom p{
	margin:10px 0 0;
}

.voice-index .interview-bottom .update{
	font-size:11px;
}

.voice-index .interview{ background-color:#c4e574; }

.voice-index .interview01{ background-color:#f5a1a0; }

.voice-index .interview02{ background-color:#81bed5; }

.voice-index .interview03{ background-color:#ecb35a; }

.voice-index .interview:hover > p.interview-upper,
.voice-index .interview01:hover > p.interview-upper,
.voice-index .interview02:hover > p.interview-upper,
.voice-index .interview03:hover > p.interview-upper{
	opacity: 0.4;
	-ms-filter: "alpha( opacity=50 )"; filter: alpha( opacity=40 );
}

/* privacy */

ol.privacy li{
	margin-bottom:30px;
}

ol.privacy li ul.rice li{
	margin:10px 0 0 2em;
	text-indent:-2em;
}