/* base_main.css ---------- メインサイト PC版共通CSS  */
body {
	margin: 0;
}
.dev-pc .cms-public > .page {
	width: 100%!important;
}
body:not(.dev-tb):not(.dev-sp):not(.dev-mb) .cms-public .layout {
	width: 100%!important;
	min-width: 1200px;
}

/* リンク */
.cms-public a:link, footer .desc a {
	color:#333;
	text-decoration:underline;
}

.cms-public a:visited {
	color:#660299;
}

.cms-public a:hover {
	color:#001280;
	text-decoration:none;
}


body:not(.dev-tb):not(.dev-sp):not(.dev-mb) .cms-public .layout {
	width:1200px;
	margin:0 auto;
}


.cms-public .contentArticleDoc {
	min-height:1px;
}
.cms-public .side_area_left {
    /*margin-top: 70px;*/
}
.cms-public .side_area,
.cms-public .area4 {
	margin:70px 0 50px 0;
}

.cms-public .side_area .parts,
.cms-public .area4 .parts {
	width: 300px;
	margin-left:80px;
}

.cms-public .side_area .list,
.cms-public .area4 .list {
	width:300px;
}

.cms-public .side_area figure,
.cms-public .area4 figure {
	margin:0;
	padding:0;
}

.cms-public .header_area {
	position:relative;
}
.dev-pc .cms-public .header_area .globalmenu,
.dev-pc .cms-public .area1 .globalmenu {
	position:absolute;
	left:calc((100% - 1200px) / 2 + 240px);
	top:40px;
	z-index:5;
       /*width: 800px;*/
       width: 960px;
}

.dev-pc .cms-public .header_area .globalmenu > ul,
.dev-pc .cms-public .area1 .globalmenu > ul {
	/*width:800px;*/
	width:960px;
}
body:not(.dev-mb) .cms-public .heading h1 {
    margin: 70px 0px 50px 0px;
}
body.dev-sp .cms-public .heading h1 {
    margin: 20px 0px 20px 0px;
}
/*------------------- public.cssに移行されていなかったためbase_style.cssより移行 ---------------------------*/
/* リスト */
.cms-public li,
.cms-public list ol,
.cms-public dl dt,
.cms-public dl dd,
.cms-public .select label,
.cms-public select option,
.cms-public .select select,
.cms-public .attach .item a {
	font-size:1em;
	line-height:1.75em;
	color:#333;
}

.cms-public dd {
	margin-bottom:0.75em;
}

.cms-public .select {
	margin-bottom:20px;
}
.cms-public .select p, .attach item {
	font-size:1em;
	color:#333;
}

.cms-public .contact .contact_title strong {
	line-height: 1.4;
	padding-left: 8px;
	border-left: solid 4px #081f51;
	font-size: 1.25em;
	color: #081f51;
}


/* セレクト、チェックボックス */
/*
.cms-public .select {
	clear:both;
	margin-top:20px;
	position:relative;
}
.cms-public .select p {
	position:absolute;
	top:0;
	left:0;
	width:40%;
}

.cms-public .select select {
	text-align: left;
	margin-left:40%;
}

.cms-public .select label {
	text-align: left;
	margin-left:40%;
	display:block;
	padding:0;
}
*/

.cms-public .select label {
	display:block;
}


.cms-public checkbox {
	color:#081f51;
}

.cms-public input[type="radio"]{
	-webkit-appearance: none;
	width:15px;
	height:15px;
	border:2px solid #081f51;
	border-radius:15px;
	background:transparent;
	opacity:0.5;
}

.cms-public input[type="radio"]:checked{
	background:#081f51;
	opacity:1;
}

.cms-public input[type="checkbox"]{
	-webkit-appearance: none;
	width:15px;
	height:15px;
	border:2px solid #081f51;
	border-radius:2px;
	background:transparent;
	opacity:0.5;
	position:relative;
	top:3px;
}

.cms-public input[type="checkbox"]:checked{
	background:#081f51;
	opacity:1;
}

body:not(.dev-mb) .cms-public .area3 .html img {
	max-width: 100%;
	height: auto;
}

/* 添付 */
.cms-public .attach .item  {
	font-size:1em;
	line-height:1.75em;
    display: block;
	/*display:table; 

	position:relative;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);*/
}

.cms-public .attach .item .file-extension {
	/*position:relative;
	top: 22px;
	margin-right:5px;*/
}
body:not(.dev-mb) .cms-public .attach img.file-extension {
    width: 50px;
    height: 50px;
    vertical-align: middle;
    margin: 0 0.5em 0.5em 0;
}


/*----------------------------------- サイドエリア -------------------------------------*/
.dev-pc .cms-public .area3 {
	width: 820px !important;
}
.dev-pc .cms-public .side_area,
.dev-pc .cms-public .area4 {
	width: 380px !important;
}
/* リンク */
.cms-public .relatedlinks a:link {
	color:#333;
	text-decoration:underline;
}

.cms-public .relatedlinks figure {
	margin:0;
	padding:0;
}

.cms-public .relatedlinks .linkblock,
.cms-public .relatedlinks .textlink {
	width:300px;
	margin-top:0;
	padding-top:0;
}

.cms-public .relatedlinks .linkblock .image {
	border-left:1px solid #2D8080;
	border-right:1px solid #2D8080;
	border-top:1px solid #2D8080;
}
.cms-public .relatedlinks .textlink .list {
	padding-top:15px;
	border-left:1px solid #2D8080;
	border-right:1px solid #2D8080;
	border-bottom:1px solid #2D8080;
    box-sizing: border-box;
}

.cms-public .relatedlinks .block {
	float:none;
}
.cms-public .side_area .border_radius,
.cms-public .area4 .border_radius {
	background-color:#d0ecf4; 
	padding: 10px;
	margin-bottom:10px;
	text-align: center;
	border-radius:10px;
	-webkit-border-radius: 10px;	
	-moz-border-radius: 10px;	
	-ms-border-radius:10px;
}

.cms-public .relatedlinks .cms-public .image .block {
	margin:0;
	padding:0;
}
.cms-public .relatedlinks .image {
	margin:0;
	padding:0;
}

body:not(.dev-mb) .cms-public .relatedlinks h2 {
	border-top-left-radius: 10px; 
	border-top-right-radius: 10px;
	-webkit-border-top-left-radius: 10px;
	-webkit-border-top-right-radius: 10px;
	-moz-border-radius-topleft: 10px;
	-moz-border-radius-topright: 10px; 
	background-color:#00a5bf; 
	color:#fff;
	font-size:1.25em;
	padding:10px 0;
	width:300px;
	text-indent:1em;
	margin:0;
	border-left:none;
}

.cms-public .relatedlinks .linkblock .image figure {
	margin-top:20px;
	padding:0;
	text-align:center;
}

.cms-public .relatedlinks .textlink ul {
	border-top:1px solid #081f51;
	margin:10px 20px 0 20px;
	padding:20px 0;
}
.cms-public .relatedlinks .textlink li {
	list-style-type:none;
	font-size:1em;
	margin-bottom:5px;
    position: relative;
    display: block;
    padding-left: 12px;
}

.cms-public .relatedlinks .textlink li:before {
    content: "";
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #333;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -4px;
}

.cms-public .relatedlinks .linkblock .list figure {
	margin:0px;
	padding:0;
}




/*----------------------------------- バナー -------------------------------------*/
.cms-public .side_banner {
	padding:0;
	margin:70px 0 50px 0;
	color #071e50;
}

.cms-public .side_banner li {
	border-left:6px solid #071e50;
	border-top:1px solid #071e50;
	border-bottom:1px solid #071e50;
	border-right:1px solid #071e50;
	list-style-type:none;
	margin-bottom:10px;
}
.cms-public .side_banner li a {
	height:80px;
	width:300px;
	vertical-align: middle;
	display: table-cell;
	padding-left:100px;
	padding-right:20px;
	font-size:1.25em;
	line-height:1.25em;
	color:#071e50;
	text-decoration:none;
	font-weight:bold;
}

.cms-public .side_banner li:first-child a {
	background:url(/file/img/icon_docs.png) 20px center no-repeat;
}
.cms-public .side_banner li a {
	background:url(/file/img/icon_sns.png) 20px center no-repeat;
}

.cms-public .side_banner ul {
	margin:0;
	padding:0;
}

.cms-public .side_banner list {

}



/*----------------------------------- よくあるご質問 -------------------------------------*/
.cms-public .side_qa {
	background-color:#d0ecf4; 
	padding: 10px;
	margin-bottom:10px;
	text-align: center;
	border-radius:10px;
	-webkit-border-radius: 5px;	
	-moz-border-radius: 5px;	
	-ms-border-radius:5px;
	font-size:1.5em;
	width:280px;
	font-weight:bold;
	margin-bottom:70px;
}

.cms-public .side_qa a:before,
.cms-public .side_qa a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}

.cms-public .side_qa a{
	position: relative;
	display: inline-block;
	padding: 0 0 0 32px;
	color: #333;
	vertical-align: middle;
	text-decoration: none;
	font-size: 1em;
	text-decoration:none;
}

.cms-public .side_qa a:before{
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	border: 2px solid #333;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.cms-public .side_qa a:after{
	left: 6px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cms-public .side_qa p {
	padding:0;
	margin:0;
}






/*----------------------------------- ヘッダー -------------------------------------*/

.dev-pc .cms-public .header .safe .sentence {
}

.dev-pc .cms-public .header .safe a {
	color:#081F51;
}
.cms-public .sp_header {
   display: none;
}

/*------------------------------------- タイトルリスト ---------------------------------------------*/
.cms-public .title-list {
	border: none;
}

.cms-public .title-list li {
	list-style-type:none;
}

.cms-public .title-list .index {
	font-size:1em;
	border: none;
}

.cms-public .title-list .index li {
	font-size:1.5em;
	font-weight:bold;
	line-height:1.4em;
	color:#081f51;
	border-bottom:2px solid #081f51;
	background:#f2f2f2;
}

.cms-public .title-list .index li.active {
	padding-left:0;
	border-bottom:2px solid #081f51;
}

.cms-public .title-list .tab {
	border: none;
}
.cms-public .title-list .tab li * {
	color:#333;
}

.cms-public .title-list .tab ul {
	padding-left:0;
	margin:20px 0;
	font-size: 1em;
}
.cms-public .title-list .tab ul li {
	margin-bottom:5px;
	padding-left:148px; /**/
}

.cms-public .title-list .tab ul li {
	font-size: 1em;
}

.cms-public .title-list .title {
/*	margin-left:140px;
	display:block;*/
	display:inline-block;/**/
	margin-left:0;/**/
}

.cms-public .title-list time {
    position: static;
    padding-left: 12px;
/*	float:left;*/
	top:0;
	left:0;/**/
}


.cms-public .title-list time:before {
    content: "";
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #333;
    position: absolute;
    top: 0.5em;
    left: 0;
    margin-top: 0px;
}

.cms-public .title-list .tab ul li .belong {
	display:inline-block;
	margin-left:0px;/**/
}


.cms-public .title-list .paging {
	font-size:1em;
	color:#333;
	text-align:right;
}

.cms-public .title-list .paging a {
	text-decoration:underline;
}

.cms-public .title-list .paging span.first, .cms-public .title-list .paging span.prev, .cms-public .title-list .paging span.next, .cms-public .title-list .paging span.last {
	color:#333;
	border:none;
}
.cms-public .title-list .paging span.page {
	padding:0 5px;
}

.cms-public .title-list .other span a {
    position: relative;
    display: inline-block;
    padding-left: 20px;
}

.cms-public .title-list .other span a:before {
    content: "";
    width: 14px;
    height: 14px;
    background: #333;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -7px;
}

.cms-public .title-list .other span a:after {
    content: "";
    width: 0;
    height: 0;
    border: solid 3px transparent;
    border-left: solid 5px #ffffff;
    position: absolute;
    top: 50%;
    left: 5px;
    margin-top: -3px;
}

.cms-public .title-list .tab ul.tile li {
	border:none;
	display:inline-block;
	float:none;
	vertical-align:top;
	padding-left:0;/**/
}

.cms-public .title-list .tab ul.tile li time {
    padding-left:12px;
    position:relative;
    float:none;
}
.cms-public .title-list .tab ul.tile li time:before {
    content: "";
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #333;
    position: absolute;
    top: 0.5em;
    left: 0;
    margin-top: 0px;
}

.cms-public .title-list .tab ul.tile li .belong {
	display:block;
/*	background:#f2f2f2;*/
	margin-left:0;
}
.cms-public .title-list .tab ul.tile li .title {
	margin-left:0;
}







.cms-public .title-list .tab ul.totaling li .belong {
	display:inline-block;
    margin-left:0px;
    vertical-align: top;
}

.cms-public .title-list .tab ul.totaling li {
	padding-left: 9.5em;
}
.cms-public .title-list .tab ul.totaling li .title {
	display:inline-block;
	margin-left:0;
}
.cms-public .title-list .tab ul.totaling li .summary {
	margin-left:0;
}

.cms-public .title-list .tab ul.totaling li time {
    top:0;
    left: 15px;
    display: inline-block;
    padding-left:0;
    vertical-align: top;
}
.cms-public .title-list .tab ul.totaling li time:before {
    content: "";
    width: 0;
    height: 0;
    border: none;
}


.cms-public .title-list .tab ul.totaling li title {
    text-indent:15px;
    position:relative;
    display:block;
}
.cms-public .title-list .tab ul.totaling li:before {
    content: '';
    width: 0;
    height: 0;
    border: solid 4px transparent;
    border-left: solid 4px #333;
    position: absolute;
    top: 0.5em;
    left: 0;
    margin-top: 0px;
}


.cms-public .pickup .title-list .tab .paging {
	visibility:hidden;
}

/* device change */
.dev-pc .to_original_page {
	clear: both;
	width: 100%;
	min-width: 1200px;
	margin: 0;
	padding: 30px  0;
	background-image: url(/img/sp_bg_footer.gif);
}
.dev-pc .to_original_page a {
	display: block;
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	border: solid 2px #FFF;
	box-sizing: border-box;
	font-weight: normal;
	font-size: 0.8em;
	color: #fff;
}


/*----------------------------------- パンくずリスト -------------------------------------*/
.breadcrumb {
	font-size:0.93em;
	color:#333;
	background-color:#f5f5f5;
/*	margin: 0 -1000%;
	padding: 5px 1000% 5px 1000%; */
}
@media all and (-ms-high-contrast:none) {
.breadcrumb {
	margin: 0 ;
	padding: 5px 0 5px 0;  /* IE10 */
}
}
@media all and (-ms-high-contrast:none) {
     *::-ms-backdrop, .breadcrumb {
	margin: 0 ;
	padding: 5px 0 5px 0;  /* IE11 */
}
}
.breadcrumb fieldset {
	width: 1200px;
	margin: 0 auto;
	padding-left: 18px;
	border:none;
	box-sizing: border-box;
}
.cms-public .bread-list {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.7em 0 1.8em;
}
.cms-public .bread-list .breadShowMore,
.cms-public .bread-list .breadHydeMore {
	text-align: right;
}
.cms-public .bread-list .breadShowMore span,
.cms-public .bread-list .breadHydeMore span {
	text-decoration: underline;
	cursor: pointer;
	font-size: 0.9em;
	color: #001280;
}
.cms-public .bread-list .breadShowMore span:hover,
.cms-public .bread-list .breadHydeMore span:hover {
	text-decoration: none;
}

.cms-public .layout {
	/* 
	最終的には .cms-public に指定で良さそうだが、現状は、HTML内の .page クラスを
	適用している div タグに style 指定でフォントが埋め込まれているため、無効化される
	.cms-public > .page > .layout
	今回は .page で無効化されないようにその下の .layout に対して定義を行う
	*/
    font-family: 'Meiryo', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Osaka', 'MS PGothic', 'arial', 'helvetica', 'sans-serif';
}

.cms-public .list figcaption h2 {
	line-height:1.4em;
	font-size: 1.25em;
	color: #081f51;
}
.cms-public .movie figcaption,
.cms-public .map figcaption {
	font-size:1em;
	line-height:1.75em;
	color:#333;
}

.dev-pc .area-group-2-3-4 {
    width: 1200px;
    padding-left: calc((100% - 1200px) / 2);
    padding-right: calc((100% - 1200px) / 2);
}
.dev-pc .cms-public footer .main:before, 
.dev-pc .cms-public footer .main:after,
.dev-tb .cms-public footer .main:before, 
.dev-tb .cms-public footer .main:after,
.dev-sp .cms-public footer .main:before, 
.dev-sp .cms-public footer .main:after {
	display: none;
}


/* スライド */
.cms-public div.slide {
	padding:20px;
}

.cms-public div.slide div.pause {
        bottom:22px;
}
.cms-public .top_header div.slide div.pause {
	bottom:29px;
}

.cms-public div.slide div.prev, .cms-public div.slide div.next{
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.cms-public div.slide div.prev span.arrow {
	background:url(/file/img/170821.png);
	width:32px;
	height:32px;
    opacity: 1;
}

.cms-public div.slide div.next span.arrow {
	background:url(/file/img/170822.png);
	width:32px;
	height:32px;
    opacity: 1;
}

.cms-public div.slide div.pause span.pause {
	background:url(/img/slide_01.png);
	width:24px;
	height:18px;
}
.cms-public div.slide div.pause span.play {
	background:url(/img/slide_02.png);
	width:24px;
	height:18px;
}
.cms-public div.slide ul.index li span {
	font-size: 1em!important;
}

/* お問い合わせBOX */
.dev-pc .cms-public dl.contact {
	width: 100%;
	margin: 5em 0;
	box-sizing: border-box;
}
.cms-public .contact_mail {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* device change */
.to_original_page {

}
.to_original_page a {
	
}

/* 画像付き文書ブロック */
body:not(.dev-mb) .cms-public .block .sentence_with_image figcaption {
	font-size: 0.94em;
	color: #333;
}

