@charset "utf-8";

/* =============================================
body設定
サイトサイズ設定
ヘッダー設定
グローバルナビ設定
ローカルナビ設定
コンテンツエリア設定
フッター設定
================================================ */




/* =============================================
 body設定
================================================ */
body {
	background: #FFF;
}


/* スマホ */
@media screen and (max-width: 600px) {
	body {
		-webkit-text-size-adjust: 100%;
		padding-top: 57px;
	}
}


/* =============================================
 レイアウト設定
================================================ */

/* wrapper
---------------------------------------------- */
#wrapper {
	background: url(../images/pc-wrapper-bg.png) no-repeat center top;
	width: 100%;
	padding-top: 39px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#wrapper {
		padding: 30px 20px 0;
		background-position: 50% -10px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#wrapper {
		background: #f0f5f7;
		padding-top: 20px;
	}
}

/* container
---------------------------------------------- */
.container {
	width:960px;
	margin:0 auto;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	.container {
		width:100%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	.container {
		width:auto;
		background: #FFF url(../images/sp-container-bg.png) no-repeat left top/ 28.3% auto;
		padding: 5px 10px 15px 10px;
	}
}

/* トップページ以外 */
body:not(.cate-home) .container {
	min-height: 690px;/* #sideの高さを確保 */
	overflow-y: hidden;/* #sideのはみ出した高さを隠す */
	position: relative;
}

/* スマホ */
@media screen and (max-width: 600px) {
	body:not(.cate-home) .container {
		overflow-y: visible;
		position: static;
		padding: 5px 0 0 10px;
		min-height: 0;
	}
}

/* #side下部の位置に白の三角形を入れる */
body:not(.cate-home) .container::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 48px 40px;
	border-color: transparent transparent #FFF transparent;
	z-index: 100;
}

/* スマホ */
@media screen and (max-width: 600px) {
	body:not(.cate-home) .container::before {
		display: none;
	}
}

/* side
---------------------------------------------- */
#side {
	width: 40px;
	float: left;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	-o-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	background: #D6E6ED;
	font-family: 'Times New Roman', serif;
	font-size:114.3%; font-size:1.143rem;
	color: #088ab0;
	padding: 222px 6px 0 0;
	position: relative;
	z-index: 1;
	margin-right: 40px;
	padding-bottom: 20000px;/* .containerよりも高さがオーバーするように設定 */
	margin-bottom: -20000px;/* padding-bottom分引き上げる */
}

/*firefox*/
@-moz-document url-prefix() {
	#side {
		padding-right: 4px;
	}
}

/* IE10以降 */
@media all and (-ms-high-contrast:none){
	#side {
		padding-right: 5px;
	}
}

#side span {
	width: 40px;
	height: 173px;
	font-size:114.3%; font-size:1.143rem;
	color: #FFF;
	background: #0082A8;
	position: absolute;
	top: 0;
	left: 0;
	padding: 9px 8px 0 0;
	z-index: 1;
}

/*firefox*/
@-moz-document url-prefix() {
	#side span {
		padding-right: 6px;
	}
}

/* IE10以降 */
@media all and (-ms-high-contrast:none){
	#side span {
		padding-right: 7px;
	}
}

#side span::before {
	content: "";
	display: block;
	position: absolute;
	top: 90px;
	left: 16px;
	width: 13px;
	height: 90px;
	background: url(../images/icon-signal.png) no-repeat right top;
	z-index: 3;
}

#side span::after {
	content: "";
	display: block;
	position: absolute;
	top: 173px;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 48px 40px 0 0;
	border-color: #0081a8 transparent transparent transparent;
	z-index: 2;
}

/* main
---------------------------------------------- */
#main {
	width: 880px;
	padding-right: 40px;
}

/* タブレット */
@media only screen and (min-width: 741px) and (max-width: 960px) {
	#main {
		width: 100%;
		padding-right: 30px;
	}
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 740px) {
	#main {
		width: 100%;
		padding-right: 0;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#main {
		width: 100%;
		padding-right: 10px;
	}
}

/* =============================================
 ヘッダー設定
================================================ */

/* header
---------------------------------------------- */
#header{
	background: url(../images/pc-header-bg.png) no-repeat center top;
	border-bottom: 1px solid #0082A8;
	padding-bottom: 1px;
	-webkit-box-shadow: 0 -1px 0 #FFF inset;
	box-shadow: 0 -1px 0 #FFF inset;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#header{
		margin-bottom: 1px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#header{
		background: #0082A8;
		border-bottom: 1px solid #0082A8;
		padding-bottom: 1px;
		-webkit-box-shadow: 0 -1px 0 #FFF inset;
		box-shadow: 0 -1px 0 #FFF inset;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
	}
}

/* header-inner
---------------------------------------------- */
#header-inner{
	width: 960px;
	height: 103px;
	margin: 0 auto;
	position: relative;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#header-inner{
		width: auto;
		margin: 0 20px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#header-inner{
		width: auto;
		height: 55px;
	}
}


/* logo
---------------------------------------------- */
#logo{
	position: absolute;
	top: 0;
	left: 0;
}

/* スマホ */
@media screen and (max-width: 600px) {
	#logo{
		top: 5px;
		left: 5px;
		padding-right: 110px;
	}
}

/* header-coverage
---------------------------------------------- */
#header-coverage{
	position: absolute;
	top: 17px;
	right: 177px;
}

@media only screen and (min-width: 791px) and (max-width: 910px) {
	#header-coverage{
		top: 18px;
		right: 296px;
	}
}

@media screen and (max-width: 790px) {
	#header-coverage{
		display:none;
	}
}

/* header-seminar
---------------------------------------------- */
#header-seminar{
	position: absolute;
	top: 17px;
	right: 0;
}

@media only screen and (min-width: 791px) and (max-width: 910px) {
	#header-seminar{
		top: 18px;
		right: 123px;
	}
}

@media screen and (max-width: 790px) {
	#header-seminar{
		display:none;
	}
}

/* header-entry
---------------------------------------------- */
#header-entry{
	position: absolute;
	top: 56px;
	right: 177px;
}

@media only screen and (min-width: 791px) and (max-width: 910px) {
	#header-entry{
		top: 18px;
		right: 0;
	}
}

@media screen and (max-width: 790px) {
	#header-entry{
		display:none;
	}
}

/* header-contact
---------------------------------------------- */
#header-contact{
	position: absolute;
	top: 56px;
	right: 0;
}

@media only screen and (min-width: 791px) and (max-width: 910px) {
	#header-contact{
		top: 57px;
		right: 0;
	}
}

@media screen and (max-width: 790px) {
	#header-contact{
		display:none;
	}
}


/* gnavi
---------------------------------------------- */

#gnavi{
	background: #FFF;
	border-bottom: 1px solid #FFF;
	padding-bottom: 1px;
	-webkit-box-shadow: 0 -1px 0 #0082A8 inset;
	box-shadow: 0 -1px 0 #0082A8 inset;
}

#gnavi > ul{
	width: 960px;
	height: 53px;
	margin: 0 auto;
}

#gnavi > ul > li{
	float: left;
	position: relative
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#gnavi{
	}
	
	#gnavi > ul{
		width: 100%;
		height: 100%;
		padding: 0 20px;
	}
	
	#gnavi > ul > li{
		width: 14.285%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#gnavi{
		display:none;
	}
}

/* gnavi-menu
---------------------------------------------- */
.gnavi-menu {
	position: absolute;
	top: 100%;
	left: calc(50% - 120px);
	width: 240px;
	padding-top: 10px;
	opacity: 0;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
	transform: translateY(-10px);
	transition: transform 0.4s 0.2s,opacity 0.4s 0.2s,z-index 0s 0.6s;
	z-index: -1;
}

.gnavi-menu ul.list {
	padding: 0 10px 10px;
	background: rgba(0,130,168,0.9);
}

.gnavi-menu ul.list > li {
	border-bottom: 1px dotted #fff;
}

.gnavi-menu ul.list > li a {
	display: block;
	padding: 5px 10px;
	color: #fff;
	text-decoration: none;
}

.gnavi-menu ul.list > li a:hover {
	text-decoration: underline;
}

#gnavi > ul > li:hover .gnavi-menu {
	opacity: 1;
	pointer-events: visible;
	-webkit-user-select: auto;
	user-select: auto;
	transform: translateY(0);
	transition: transform 0.4s 0.2s,opacity 0.4s 0.2s,z-index 0s;
	z-index: 100;
}

@media only screen and (min-width: 601px) and (max-width: 1100px) {
	#gnavi > ul > li:last-of-type .gnavi-menu {
		left: auto;
		right: 0;
	}
}

/* btn-menu
---------------------------------------------- */
#btn-menu{
	position:absolute;
	right:0;
	top:0;
	cursor:pointer;
}

/* btn-recruit
---------------------------------------------- */
#btn-recruit{
	position:absolute;
	right:52px;
	top:0;
	cursor:pointer;
}

/* sp-menu
---------------------------------------------- */
#sp-menu{
	background:rgba(0, 0, 0, 0.7);
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	display:none;
	z-index:1000;
}

/* sp-menu-inner
---------------------------------------------- */
#sp-menu-inner{
	position:absolute;
	background:#0082A8;
	width:100%;
	border:5px solid #0082A8;
}

#sp-menu-inner .logo{
	padding: 0 40px 4px 0;
}

#sp-menu-inner .close{
	position:absolute;
	right:10px;
	top:13px;
	line-height: 1;
}

#sp-menu-inner li{
	border-bottom:1px solid rgba(0, 0, 0, 0);
	font-size:92.9%; font-size:0.929rem;
}

#sp-menu-inner li a,
#sp-menu-inner li p{
	display:block;
	position:relative;
	padding:10px 0 10px 10px;
	background-color:#FFF;
	color:#000;
	text-decoration: none;
}

#sp-menu-inner li a::after{
	width: 6px;
	height: 6px;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -4px;
	border-top: 2px solid #088AB0;
	border-right: 2px solid #088AB0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

#sp-menu-inner li > p {
	cursor: pointer;
	position: relative
}

#sp-menu-inner li > p.has-link {
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0
}

#sp-menu-inner li > p .icon {
	position: absolute;
	top: 50%;
	right: 8px;
	display: block;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: #088AB0;
	border-radius: 2px
}

#sp-menu-inner li > p .icon:before,
#sp-menu-inner li > p .icon:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	background: #fff;
	border-radius: 2px;
	transition: all 0.4s
}

#sp-menu-inner li > p .icon:before {
	right: 7px;
	width: 2px;
	height: 10px;
	margin-top: -5px
}

#sp-menu-inner li > p .icon:after {
	right: 3px;
	width: 10px;
	height: 2px;
	margin-top: -1px
}

#sp-menu-inner li > p.selected .icon:before {
	opacity: 0;
	transform: rotate(90deg)
}

#sp-menu-inner ul.children {
	border-top: 1px solid #088AB0
}

#sp-menu-inner ul.children > li > a {
	padding-left: 30px
}

#sp-menu-inner ul.children > li > a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 14px;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #088AB0;
	border-left: 2px solid #088AB0;
	margin-top: -9px
}

#sp-menu-inner .close-top{
	position:absolute;
	right:10px;
	top:14px;
	line-height: 100%;
}

#sp-menu-inner .close-btm{
	margin: 0 0 10px 5px;
	line-height: 1;
}

/* sp-menu-contact
---------------------------------------------- */
#sp-menu-contact {
	padding: 0 5px;
}

#sp-menu-contact .conversion-btn{
	border: 2px solid #FFF;
	-webkit-border-radius: 20px;
	border-radius: 20px;
	background: rgba(255,255,255,0);
}

#sp-menu-contact .conversion-btn a{
	display: block;
	width: 100%;
	padding: 7px 0 5px;
	color: #FFF;
	text-align: center;
}

#sp-menu-contact .conversion-btn a:hover{
	text-decoration: none;
}

#sp-menu-contact .conversion-btn a span{
	font-size:80.0%; font-size:0.800rem;
}


/* =============================================
 main-visual設定
================================================ */

#main-visual{
	box-sizing: content-box;
	width: 100%;
	height: 460px;
	background: url(../../images/main-visual-bg.png) no-repeat center top;
	border-bottom: 1px solid #FFF;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#main-visual{
		width: auto;
		height: auto;
		background: #088AB0;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#main-visual{
		box-sizing: border-box;
		width: auto;
		height: auto;
		border-top: 1px solid #FFF;
		border-bottom: 0;
		background: #088AB0;
	}
}

/* =============================================
 メインビジュアル bxslider設定
================================================ */

/* #main-visual-wrapper スライダーの前面にロゴと枠
---------------------------------------------- */
#main-visual-wrapper {
	position: relative;
	width: 960px;
	margin: 0 auto;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#main-visual-wrapper {
		width: 100%;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#main-visual-wrapper {
		width: 100%;
	}
}

#main-visual-wrapper .main-visual-tit {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 10;
}



/* 矢印の設定
---------------------------------------------- */
#main-visual .bx-wrapper .bx-prev {
	left: -49px;
}

#main-visual .bx-wrapper .bx-next {
	right: -49px;
}

@media only screen and (min-width: 601px) and (max-width: 1100px) {
	#main-visual .bx-wrapper .bx-prev {
		left: 30px;
	}

	#main-visual .bx-wrapper .bx-next {
		right: 30px;
	}
}

#main-visual .bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 216px;
	outline: 0;
	width: 29px;
	height: 29px;
	text-indent: -9999px;
	z-index: 200;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#main-visual .bx-wrapper .bx-controls-direction a {
		top: 50%;
		margin-top: -15px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#main-visual .bx-wrapper .bx-controls-direction a {
		display: none;
	}
}

#main-visual .bx-wrapper {
	margin: auto;
}

#main-visual .bx-wrapper .bx-viewport {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: none;
	left: 0;
}

#main-visual .bx-wrapper .bx-prev:hover {
	opacity:0.7;
}

#main-visual .bx-wrapper .bx-next:hover {
	opacity:0.7;
}

/* コントローラー
---------------------------------------------- */

/* コントローラーの位置調整 */
#main-visual .bx-wrapper .bx-pager {
	display: none;
}


/* スマホ */
@media screen and (max-width: 600px) {
	#main-visual .bx-wrapper .bx-pager {
		display: block;
		color: #999;
		padding-top: 0;
		z-index: 10;
		bottom: -27px;
	}
}

/* コントローラーのアイコンや間隔設定 */
#main-visual .bx-wrapper .bx-pager.bx-default-pager a {
	background: #999;
}

#main-visual .bx-wrapper .bx-pager.bx-default-pager a:hover,
#main-visual .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #E70012;
}


/* =============================================
 category-visual設定
================================================ */




/* =============================================
 news設定
================================================ */
#news-container {
	width: 960px;
	margin: 38px auto 67px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#news-container {
		width: 100%;
		padding: 0px 20px;
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#news-container {
		width: 100%;
		padding: 0 10px;
		margin-top: 20px;
		margin-bottom: 15px;
	}
}

/* news-list
---------------------------------------------- */
#news-list {
	float: left;
	width: 640px;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#news-list {
		width: 100%;
		width: -webkit-calc(100% - 300px);
		width: calc(100% - 300px);
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#news-list {
		width: auto;
		float: none;
	}
}

/* news-listページ（トップページ以外） */
body:not(.cate-home) #news-list {
	width: 100%;
}

/* news-logo
---------------------------------------------- */
#news-list .news-logo {
	line-height: 1;
	margin-bottom: 30px;
}

/* PC以外 */
@media screen and (max-width: 960px) {
	#news-list .news-logo {
		margin-bottom: 17px;
	}
}

/* news-list dl要素
---------------------------------------------- */

/* news-list dl */
#news-list dl {
	margin-bottom: 6px;
}

/* PC以外 */
@media screen and (max-width: 960px) {
	#news-list dl {
		border-top: 1px dotted #E7E7E7;
		padding: 7px 15px 8px 0;
		margin-bottom: 0;
		position: relative;
		cursor: pointer;
		-webkit-tap-highlight-color: rgba(0,0,0,0.3);
	}

	#news-list dl.only-title {/*リンクがある場合*/
		cursor: default;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}

	#news-list dl::before {
		width:6px;
		height:6px;
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 2px;
		margin-top: -4px;
		border-top: 2px solid #088AB0;
		border-right: 2px solid #088AB0;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#news-list dl.only-title::before {
		display: none;
	}
}

/* news-listページ（トップページ以外） */
body:not(.cate-home) #news-list dl {
	margin-bottom: 12px;
}

/* PC以外 */
@media screen and (max-width: 960px) {
	body:not(.cate-home) #news-list dl {
		margin-bottom: 0;
	}
}

#news-list dl:nth-last-of-type(1) {
	margin-bottom: 0;
}

@media screen and (max-width: 960px) {
	#news-list dl:nth-last-of-type(1) {
		border-bottom: 1px dotted #E7E7E7;
		margin-bottom: 10px;
	}
}

/* news-list dt */
#news-list dt,
.blog-info {
	font-size:107.1%; font-size:1.071rem;
	line-height: 1.4;
}

#news-list dt {
	float: left;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#news-list dt,
	.blog-info {
		float: none;
		margin-bottom: 5px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#news-list dt,
	.blog-info {
		font-size:93.3%; font-size:0.933rem;
		float: none;
		margin-bottom: 2px;
	}
}

#news-list dt span,
.blog-info span {
	min-width: 100px;
	font-size:71.4%; font-size:0.714rem;
	color: #FFF;
	background: #0082A8;
	margin: 0 12px;
	text-align: center;
	display: inline-block;
	padding: 3px 10px 2px;
	vertical-align: top;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#news-list dt span,
	.blog-info span {
		margin: 0 0 0 10px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#news-list dt span,
	.blog-info span {
		min-width: 55px;
		font-size:60.0%; font-size:0.600rem;
		margin: 0 0 0 10px;
		vertical-align: 1px;
		padding: 2px 5px 0px;
	}
/****************************
* safari.cssにスタイルあり  *
****************************/
}

/* news-list dd */
#news-list dd {
	font-size:107.1%; font-size:1.071rem;
	overflow: hidden;
	line-height: 1.5;
}

/* スマホ */
@media screen and (max-width: 600px) {
	#news-list dd {
		font-size:93.3%; font-size:0.933rem;
		line-height: 1.6;
	}
}

#news-list dd a {
	display: inline;
}


/* =============================================
 second-news
================================================ */

#second-news {
	margin-top: 70px;
	border-top: 1px solid #d6e6ed;
}

#second-news .second-news-container {
	width: 960px;
	margin: 0 auto;
}

/*タブレット*/
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#second-news .second-news-container {
		width: 100%;
		padding-right: 20px;
		padding-left: 20px;
	}
}

/*スマホ*/
@media screen and (max-width: 600px) {
	#second-news {
		margin-top: 15px;
	}

	#second-news .second-news-container {
		width: 100%;
		padding-right: 10px;
		padding-left: 10px;
	}
}


/* head
---------------------------------------------- */
#second-news .head {
	color: #088ab0;
	text-align: center;
	padding: 30px 0 25px;
	margin-bottom: 30px;
	position: relative;
}

#second-news .head::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 50%;
	display: block;
	width: 70px;
	height: 0;
	border-top: 5px solid #088ab0;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	margin-left: -40px;
}

#second-news .head::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: calc(100% - 8px);
	height: 0;
	border-top: 4px solid #d6e6ed;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

#second-news .head .en {
	font-family: 'Times New Roman', serif;
	line-height: 1.5;
	
}

#second-news .head .jp {
	font-family: "a-otf-ryumin-pr6n","ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝B","ＭＳ Ｐ明朝", serif;
	line-height: 1.5;
}

#second-news .head .jp span {
	display: inline-block;
	width: 22px;
	height: 22px;
	color: #fff;
	background: #0082a8;
	border-radius: 50%;
	margin: 0 10px;
	line-height: 1.3;
	vertical-align: 2px;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	#second-news .head {
		padding: 10px 0 12px;
		margin: 0 -10px 0;
	}

	#second-news .head::before {
		width: 52px;
		border-top-width: 4px;
		border-right-width: 4px;
		border-left-width: 4px;
		margin-left: -30px;
	}

	#second-news .head .jp span {
		width: 16px;
		height: 16px;
		margin: 0 7px;
	}
}


/* list-detail
---------------------------------------------- */
.list-detail li .fleft a {
	-webkit-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
}

/*PC・タブレット*/
@media only screen and (min-width: 601px) {
	.list-detail li .fleft a:hover {
		opacity: .7;
	}
}

.list-detail li .cate {
	display: inline-block;
	color: #fff;
	background: #0082a8;
	padding: 3px 10px;
	width: 48%;
	max-width: 100px;
	min-width: 70px;
	text-align: center;
	vertical-align: middle;
	margin-right: 8px;
}

.list-detail li .date {
	display: inline-block;
	vertical-align: middle;
}

/*スマホ*/
@media screen and (max-width: 600px) {
	.list-detail li {
		padding: 10px 10px 10px 0;
		border-bottom: 1px dotted #e7e7e7;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
		cursor: pointer;
		position: relative;
	}

	.list-detail li:not(.only-title) {/*リンクがある場合*/
		cursor: pointer;
		-webkit-tap-highlight-color: rgba(0,0,0,0.3);
	}

	.list-detail li:before {
		position: absolute;
		top: 50%;
		right: 0;
		display: block;
		content: "";
		width: 7px;
		height: 7px;
		margin-top: -5px;
		border-top: 3px solid #0082a8;
		border-right: 3px solid #0082a8;
		-ms-transform: rotate(45deg) scale(.75);
		-webkit-transform: rotate(45deg) scale(.75);
		-moz-transform: rotate(45deg) scale(.75);
		transform: rotate(45deg) scale(.75);
	}

	.list-detail li.only-title:after {
		display: none;
	}

	.list-detail li .fleft {
		min-width: 65px;
		width: 20%;
		margin-right: 8px;
	}

	.list-detail li .cate {
		padding: 2px 5px 1px;
		width: 25%;
		min-width: 60px;
		margin-left: 8px;
		margin-right: 0;
	}

	.list-detail li .tit a {
		pointer-events: none;
		color: #444;
	}
}


/* link-btn
---------------------------------------------- */
#second-news .link-btn01 a {
	padding-right: 20px;
	padding-left: 20px;
}


/* =============================================
 フッター
================================================ */
#footer {
	margin-top: 70px;
	border-top: 1px solid #118AAE;
}

#second-news + #footer,
#second-news + * + #footer {
	margin-top: 40px;
}


/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#footer {
		margin-top: 40px;
		padding-top: 1px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#footer {
		margin-top: 15px;
		padding-top: 1px;
		border-top: 2px solid #118AAE;
		-webkit-box-shadow: 0 1px 0 #FFF inset;
		box-shadow: 0 1px 0 #FFF inset;
	}

	#second-news + #footer,
	#second-news + * + #footer {
		margin-top: 15px;
	}
}

/* footer-navi
---------------------------------------------- */
#footer-navi {
	width: 960px;
	height: 53px;
	margin: 0 auto;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#footer-navi {
		width: 100%;
		height: 100%;
		padding: 0 20px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#footer-navi {
		width: auto;
		height: auto;
		background: #F0F5F7;
		padding: 10px 10px 0;
	}
}

/* footer-navi-inner
---------------------------------------------- */
#footer-navi-inner li {
	float: left;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#footer-navi-inner li {
		width: 20%;
	}
}

/* pc-footer-logo
---------------------------------------------- */
#pc-footer-logo {
	padding: 3px 21px 3px 0;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#pc-footer-logo {
		text-align: center;
		padding: 3px 0;
	}
}

/* sp-footer-navi
---------------------------------------------- */

/* スマホ */
@media screen and (max-width: 600px) {
	#sp-footer-navi {

	}

	#sp-footer-navi ul {
		border: 1px solid #0082A8;
	}
	
	#sp-footer-navi ul li {
		width: 50%;
		float: left;
	}
	
	#sp-footer-navi ul li a {
		padding: 10px 28px 10px 10px;
		color: #444;
		background: #FFF;
		font-size:80.0%; font-size:0.800rem;
		display: block;
		position: relative;
	}
	
	#sp-footer-navi ul li a::after {
		width:6px;
		height:6px;
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 12px;
		margin-top: -4px;
		border-top: 2px solid #088AB0;
		border-right: 2px solid #088AB0;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	#sp-footer-navi ul li {
		border-right: 1px solid #0082A8;
	}
	
	#sp-footer-navi ul li:nth-child(2n) {
		border-right: none;
	}
	
	#sp-footer-navi ul li {
		border-bottom: 1px solid #0082A8;
	}
	
	#sp-footer-navi ul li:nth-last-child(-n+2) {
		border-bottom: none;
	}
}

/* footer-banner
---------------------------------------------- */
#footer-banner {
	background: #F0F5F7;
	padding-top: 1px;
	border-top: 1px solid #F0F5F7;
	-webkit-box-shadow: 0 1px 0 #FFF inset;
	box-shadow: 0 1px 0 #FFF inset;
}

/* スマホ */
@media screen and (max-width: 600px) {
	#footer-banner {
		padding-top: 0;
		border-top: none;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
}

/* footer-banner-inner
---------------------------------------------- */
#footer-banner-inner {
	width: 960px;
	margin: 0 auto;
	padding: 20px 0;
}

/* タブレット */
@media only screen and (min-width: 601px) and (max-width: 960px) {
	#footer-banner-inner {
		width: 100%;
		padding: 10px 20px;
	}
}

/* スマホ */
@media screen and (max-width: 600px) {
	#footer-banner-inner {
		width: 100%;
		padding: 15px 10px;
	}
}

/* copyright
---------------------------------------------- */
#copyright {
	text-align: center;
	color: #FFF;
	font-size:78.6%; font-size:0.786rem;
	background: #0082A8;
	padding: 15px 0 14px;
}

/* スマホ */
@media screen and (max-width: 600px) {
	#copyright {
		font-size:60.0%; font-size:0.600rem;
		padding: 7px 0 9px;
	}
}

/* =============================================
 PAGE TOPボタン
================================================ */
#btn-pagetop {
	position: fixed;
	bottom: 70px;
	right: 50px;
	-webkit-transition: 0.4s ease-out;
	transition: 0.4s ease-out;
	z-index: 999;
}

#btn-pagetop.hide {
	opacity: 0;
}