﻿@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:#FD6408; }

.copy     { font-size: 300%; font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","メイリオ","ＭＳ Ｐゴシック", Osaka; color:#FD6408; }

.small    { font-size:12px;font-size:1.2rem;  }
.x-small  { font-size:10px;font-size:1rem;  }

.large    { font-size:16px;font-size:1.6rem; }
.x-large  { font-size:18px!important;font-size:1.8rem!important; }
.xxx-large{ font-size:22px!important;font-size:2.2rem!important; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }

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

.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; }



/* --- スマホのみtelリンク --- */
a[href*="tel:"] {
	pointer-events: none;
	text-decoration:none;
	color:#53546d;
}

/* --- anchor --- */

.anchor a{
	padding:0 0 0 15px;
	display:block;
	position: relative;
}

.anchor a::after {
	display: block;
	content: '';
	position: absolute;
	top: .5em;
	left:0;
	width: 6px;
	height: 6px;
	border-right: 1px solid #293151;
	border-bottom: 1px solid #293151;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

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

a[href$='.xls'], a[href$='.xlsx']{
	background: url(../images/fileicon/xls.png) no-repeat 100% 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/fileicon/pdf.png) no-repeat 100% 50%;
	padding-right: 25px;
}

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


/* --- openwin --- */

.openwin{ 
	padding-left: 15px;
}

/* --- width --- */

.w20p{ width:20%;}
.w30p{ width:30%;}
.w60p{ width:60%;}
.w01{ width:500px; margin:0 auto;}
.w02{ width:540px; margin:0 auto!important;}
.w03{ width:16em; margin:0 auto 20px!important;}

/* --- hight --- */
.hi01{ min-height:13em;}

/* --- margin --- */

.mat20{ margin-top:20px;}
.mat30{ margin-top:30px!important;}
.mab30{ margin-bottom:30px!important;}
.mab60{ margin-bottom:60px!important;}

/* ---　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:#f3f5f9;
	border:0;
	margin-top:40px;
	padding:30px 20px;
}

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

.content h2, 
.content .wysiwyg h1{
	clear:both;
	margin:60px 0 0;
	text-align:center;
	font-size:40px;
	font-size:4rem;
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif,'Noto Sans JP',"ヒラギノ角ゴ Pro W3","メイリオ","ＭＳ Ｐゴシック", Osaka;
	font-weight:bold;
	color:#123274;
	line-height:1.3;
}
.content h2 a:link          { text-decoration:underline; }
.content h2 a:visited       { text-decoration:underline; }
.content h2 a:hover,a:active{ text-decoration:none; }

.content h2 span{
	display:block;
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3","メイリオ","ＭＳ Ｐゴシック", Osaka,"Century Gothic", CenturyGothic, AppleGothic, sans-serif;
	font-weight:normal;
	font-size:22px;
	font-size:2.2rem;
}

.content h3, 
.content .wysiwyg h2{
	clear:both;
	margin:30px 0 0;
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
	font-weight:bold;
	font-size:24px;
	font-size:2.4rem;
	color:#363c52;
}

.content h3 span{
	display:inline-block;
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3","メイリオ","ＭＳ Ｐゴシック", Osaka;
	font-weight:normal;
	font-size:16px;
	font-size:1.6rem;
	margin-left:1em;
}

.content h4, 
.content .wysiwyg h3{
	clear:both;
	font-weight:bold;
	margin:30px 0 0;
	padding-left:20px;
	font-size:18px;
	font-size:1.8rem;
	border-left:8px solid #293151;
}

.content h5, 
.content .wysiwyg h4{
	clear:both;
	font-weight:bold;
	margin:40px 0 0;
	font-size:15px;
	font-size:1.5rem;
	color:#363c52;
}


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


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

.list li {
	position: relative;
	padding-left:1em;
}
.list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: #123274;
}

.list-02 li::after {	background-color: #5f71ad;}

.list-03 li::after {	background-color:#c5c9d9;}

.list-04 li{
	display:inline;
	padding-left:10px;
	margin-right:5px;
}

.list-04 li::after {
	background-color:#000;
	width: 3px;
	height: 3px;
	top: .7em;
	left:3px;
}

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

.link li a{
	padding:0 0 0 15px;
	display:block;
	position: relative;
}

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

.link li a:hover::after {
	border-right: 1px solid #425abe;
	border-bottom: 1px solid #425abe;
}

.link li a:visited::after {
	border-right: 1px solid #52608c;
	border-bottom: 1px solid #52608c;
}



/* --- 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 --- */

ul.compact{
	margin:20px auto 0;
	text-align:center;
}

ul.compact.nomag{
	margin-top: 0;
}

.compact li{
	display:inline;
	margin-right:10px;
	padding-left:10px;
	position:relative;
}

.compact li:not(:first-child):after{
	display: block;
	content: '/';
	position: absolute;
	top: -2px;
	left: 0;
	/*width: 18px;
	height: 18px;*/
	color: #000;
	font-size:16px;
	font-weight:bold;
}

.compact li:first-child{
	padding-left:0;
}

.compact02 li{
	display:inline;
	vertical-align:middle;
	margin-right:1em;
}

.compact03 li{
	float: left;
}

.compact03 li:nth-child(odd) { min-width: 52%; }
.compact03 li:nth-child(even){ min-width: 48%; }
.compact03 li:last-child{ width: 100%; }


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

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

.within li{
	background:url(../images/icon_arrow_within.png) no-repeat 0 0.4em;
	padding-left:15px;
}


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


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

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


.list dt{
	position: relative;
	padding-left:1em;
}
.list dt::after {
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: #123274;
}

.list dd{
	padding-left:1em;
}

/* --- 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 {
  clear: left;
  float: left;
  width: 10em;
  padding:8px 8px 8px 0;
}

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



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

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

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

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

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

.grid-1{ width:45%;}


/* 720px 
.grid-1 { width: 60px; }
.grid-2 { width:110px; }
.grid-3 { width:170px; }
.grid-4 { width:230px; }
.grid-5 { width:290px; }
.grid-6 { width:350px; }
.grid-7 { width:410px; }
.grid-8 { width:470px; }
.grid-9 { width:530px; }
.grid-10{ width:590px; }
.grid-11{ width:650px; }*/



/* ------ 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:none;
	border-top:2px solid #7d88ae;
	width:100%;
	-webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;

}

table th,
table td{
	padding:10px 5px;
	vertical-align:top;
	border-bottom:1px solid #c0c0cf;
	background-color: rgba(255,255,255,0.6);
}

table th{
	background:#f1f3f9;
	font-weight:bold;
	border-bottom:1px solid #a3acca;
}

table thead th,
th.head {
	background:#e0ecfa;
	text-align:center;
	border-bottom:2px solid #7d88ae;
}

table caption{
	background-color:#737fa9;
	color:#fff;
	padding:10px 12px;
}

/* --- noborder --- */

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

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

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

.index dl {
	position: relative;
	float: left;
	display: inline;
	margin-left: 20px;
	width: 350px;
	background: #eee;
}

.index dt {
	padding: 7px;
	background:#ddd;
}

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

.index dd {
	padding: 7px;
}


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

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

.entry-date {
	text-align: right;
	font-size: 87%;
}

/* --- 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:33%;
}


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

.entry-navigation .entry-list{
	float:left;
	text-align:center;
}

.entry-navigation .entry-old{
	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;
	border-top: 1px solid #E8E8E8;
}

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


/* ------ decoration -------------------------------- */

.decoration{	padding:20px;}
.decoration02{	padding:40px 20px;}

.d-001{	border:1px solid #b8bccc;}
.d-002{
	background-color:#e7e8ef;
	border-radius:3px;
}
.d-004{	border:2px solid #b8bccc;}

.decoration h4,
.decoration h2{ margin-top:0;}

.decoration02 h2{ margin-bottom:40px!important;}

.d-006{
	background-color:#f3f5f9;
	border-radius:3px;
}

.d-008{
	/*color:#fff;*/
	border:2px solid #7d88ae;
	box-shadow:0px 0px 0px 2px #ffffff inset;
	background-color:#b9bdd7;
}




/* --- lay-list --- */

ul.lay-list{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	flex-wrap: wrap;
	margin-left:-30px;
}

.lay-list li{
	width : 380px;
	margin-bottom:2em;
	border:2px solid #b8bccc;
	margin-left:30px;
}


.lay-list li dl{
	padding:20px;
	margin:0 auto;
	overflow:hidden;
}

.lay-list li dl dt{
	color:#363c52;
	font-weight:bold;
	font-size:16px;
	font-size:1.6rem;
}

.map-btn a{
	display:block;
	float:right;
	width:3em;
	height:25px;
	line-height:25px;
	background-color:#253988;
	border-radius:5px;
	text-decoration:none;
	text-align:center;
	color:#fff;
}

.map-btn a:hover{
	background-color:#2a3252;
	text-decoration:none;

}

#map {
	width:100%;
	margin:30px auto;
}

/* 組織図flow-box */

/*.flow-box table{
	width:100%;
	border:none;
	border-spacing:0 10px;
	border-collapse:separate;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
  
.flow-box table td{
	vertical-align:top;
	text-align: center;
	border:none;
	font-size:13px;
	line-height:1.3;
	padding-bottom: 0;
	position:relative;
}

.flow-box table td.x-line::after{
	content:"";
	position:absolute;
	top:25px;
	left:0;
	width:105%;
	height:1px;
	background-color:#9191b3;
}


.flow-box table td.y-line::before{
	content:"";
	position:absolute;
	top:25px;
	left:0;
	width:100%;
	height:1px;
	background-color:#9191b3;
}

.flow-box table td.y-line::after{
	content:"";
	position:absolute;
	top:25px;
	right:0;
	margin:auto;
	width:1px;
	height:88.5%;
	background-color:#9191b3;
}

.flow-box table td.y-02::after{
	height:73%;
}

.flow-box table td.w10{
	width:1px;
	padding:0!important;
}

.flow-box table td.spot{
	width:200px;
	border:2px solid #7d88ae;
	font-size:16px;
	font-size:1.6rem;
	font-weight:bold;
	vertical-align:middle;
	padding-bottom:10px;
	color:#363c52;
}*/

/*　sitemap　*/

.sitemap-area{
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
	font-weight:bold;
	font-size:24px;
	font-size:2.4rem;
}

.sitemap-area a{
	text-decoration:none;
}

.sitemap-area p a{
	display:block;
	background:#2a3252;
	line-height:46px;
	color:#fff;
	text-decoration:none;
	padding:0 0 0 15px;
}

.site-list > dt > button {
	background: #2a3252;
	border:none;
	position: relative;
	color: #FFF;
	text-align: left;
	cursor: pointer;
	width: 100%;
	display:block;
	line-height:46px;
	padding:0 0 0 15px;
}
.site-list > dt > button:hover,
.site-list > dt > button:focus {
	background: #2a3252;
}

.site-list > dt > button::before{
	position:absolute;
	top:0;
	right:0;
	content:"";
	background-color:#3a4a8b;
	width:46px;
	height:100%;
	display:block;
}

.site-list > dt > button::after {
	position: absolute;
	top:15px;
	right:18px;
	content:"";
	width: 10px;
	height:10px;
	border-left: 1px solid #d4d8e7;
	border-bottom: 1px solid #d4d8e7;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.site-list > dt > button[aria-expanded="true"]::after {
	top:20px;
	border-left: none;
	border-bottom: none;
	border-right: 1px solid #d4d8e7;
	border-top: 1px solid #d4d8e7;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.site-list > dt:first-child > button {
	border-top: none;
}
.site-list > dd[aria-hidden="true"]{
	display: none;
}

.site-list dd li{
	background:#fff;
	font-weight:normal;
	font-size:16px;
	font-size:1.6rem;
	border-bottom:1px solid #c0c0cf;
}

.site-list dd li:nth-child(even){
	background-color:#f3f5f9;
}

.site-list dd li a{
	display:block;
	padding:0 20px;
	position:relative;
}

.sitemap-area p span,
.sitemap-area dt span{
	font-size:16px;
	font-size:1.6rem;
	display:inline-block;
	vertical-align:top;
	margin-left:1em;
	font-weight:normal;
}

.site-list dd li a::after{
	position: absolute;
	top:15px;
	right:18px;
	content:"";
	width: 10px;
	height:10px;
	border-right: 1px solid #52608c;
	border-bottom: 1px solid #52608c;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


.content h3.po-title{
	clear:both;
	margin:50px 0 0;
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
	font-weight:bold;
	font-size:30px;
	font-size:3rem;
	color:#363c52;
	line-height:1.3;
	text-align: center;
}

.content h3.po-title span{
	display:block;
	font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3","メイリオ","ＭＳ Ｐゴシック", Osaka;
	font-weight:normal;
	font-size:20px;
	font-size:2rem;
	margin-left:0;
}
