@charset 'UTF-8';

/* **********************************************************************
 *
 *       Title:   JPRS master.css
 *
 ********************************************************************** */

/* FONT
======================================================= */

@import url('https://fonts.googleapis.com/css?family=Roboto+Slab');
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed');


/* IE用印刷設定CSS
======================================================= */

@media print {
	body {
		_zoom: 67%; /*WinIE only */
	}

	#top_a {
		_zoom: 95%; /*WinIE only */
	}
}


/* 基本設定
======================================================= */

* {
	margin: 0;
	padding: 0;
}

html { font-size: 62.5%; }

body {
	font: 1.0rem 'メイリオ', 'Meiryo', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'ＭＳ Ｐゴシック', 'Helvetica', 'Arial', 'Verdana', 'sans-serif';
	line-height: 1.6;
	position: relative;
	min-width: 963px;
	text-align: left;
	color: #2a2a2a; 		/* 基本文字 文字色 */
	background: #fff ; 		/* サイトの枠組み 背景色 */
	*font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Helvetica', 'Arial', 'sans-serif';
}

body.contact {
	min-width: 700px;
	background: #fff;
}

* html body {
	font: x-small;
}
:first-child + html body {
	font-size: small;
}
a {
	display: inline-block;
}
a:link {
	word-break: break-all;
	text-decoration: none;
	color: #5253ab;		/* 基本文字 リンク文字色 */
}
a:visited {
	text-decoration: none;
	color: #4c2472;		/* 基本文字 リンク文字色 */
}
a:hover,
a:active {
	text-decoration: underline;
	color: #c2050d;		/* 基本文字 リンク文字色 */
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-weight: normal;
	font-style: normal;
}

p {
	font-size: 14px;
	font-size: 1.4rem;
}

ul {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 5px 0 5px 10px;
	padding: 0 0 0 10px;
}

ol {
	font-size: 14px;
	font-size: 1.4rem;
	margin: 5px 0 5px 15px;
	padding: 0 0 0 20px;
}

ul ul,
ol ul{
    list-style-type: disc;
}

.roboto {
    font-family: 'Roboto Slab';
}



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

.wrap {
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 0 0 0;
	padding: 0 0 40px 220px;
	text-align: left;
	background: #fff url(../img/bg.png) 0 0 repeat-y;
}

.wrap_un {
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0;
	padding: 0 0 50px 220px;
	text-align: left;
	background: #fff url(../img/bg.png) 0 0 repeat-y;
}

.wrap_un .side {
	display: none;
}

.wrap .main {
	max-width: 900px;		/* 基本設定　メインカラムの幅 */
	margin: 0 auto;
	padding: 0 40px;
}
.wrap_un .main {
	width: auto;		/* 基本設定　メインカラムの幅 */
	margin: 0 60px;
	line-height: 1.8;
}

.wrap_un .main p{
	margin-bottom: 1.0em;
}

.contact .wrap_un {
	float: none;
	font-size: 14px;
	font-size: 1.4rem;
	width: 700px;
	margin: 0 auto;
	padding: 0 0 50px;
	text-align: left;
}

.contact .wrap_un .main {
	float: none;
	width: auto;
	padding: 20px 0 40px;
}


/* header設定
======================================================= */

header {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
	min-width: 963px;
	width: 100%;
	margin: 0;
	padding: 4px;
	background: #d2232a ; 		/* ヘッダー 背景色 */
}

header.under {
	padding: 13px 20px 12px;
}

header ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

header .head_l {
	float: left;
	width: 315px;
	padding: 0;
}

header .head_l h1,
header .head_l p {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	color: #fff;		/* ヘッダー h1文字色 */
}

header .head_r {
	line-height: 1;
	float: right;
	min-width: 567px;
	padding:0;
}
header .head_r .head_r_space{
	height: 36px;
}

body.en header .head_r{
	width: auto;
}

body.en .pc_headnav {
	float: right;
}

header .head_r .tel {
	float: left;
	margin: 0;
}

header .head_r ul.headnav {
	float: left;
	padding: 11px 0;
}

header .head_r ul.headnav li {
	float: left;
	margin: 0 25px 0 0;
}

body.en header .head_r ul.headnav li{
	margin: 0 21px 0 0;
}

body.en header .head_r ul.headnav li]first-child{
	margin: 0 25px 0 0;
}

header .head_r ul.headnav li a{
	font-size: 12px;
	font-size: 1.2rem;
	text-decoration: none;
	color: #fff;
}

header .head_r ul.headnav li a:hover{
	text-decoration: underline;
}


header #sp_menu {
	display: none;
}

#build-menu,
#sp_btn {
	display: none !important;
}

.sp_trigger,
.overlay,
nav .sp_btn {
	display: none;
}

.contact header {
	position: static;
	min-width: 700px;
	width: 700px;
	margin: 0 auto;
	padding: 13px 0px 12px;
	background: #fff;
}

header .h_form{
	float: left;
	width: 150px;
	padding: 6px 0;
}

header .h_form form{
    position: relative;
}

header .h_form #srchBox{
	max-height: 24px;
}

header .h_form form input#srchInput{
	width: 110px;
	height: 24px;
	border: 0;
	padding: 0 28px 0  12px;
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
	font-size: 12px;
	font-size: 1.2rem;
}

header .h_bnr{
	float: left;
	padding: 0 0 0 25px;
}

header .h_form form #srchBtn {
    position: absolute;
    top: 0;
    right: 4px;
    padding: 6px;
}

#srchBox.watermark #srchInput{
	background: #fff url(https://s.yimg.jp/images/search/customsearch/yjlogo/yjlogo_type4.gif) 12px center no-repeat;
}
#srchBox.watermark #srchInput.nomark{
	background: #fff;
}
#srchBox.watermark #srchLogo{
	display: none;
}

/* 検索結果 */

/* #yjserp {
  width: 100%;
  height: 100%;
}
#yjserp iframe {
  border: 0;
  width: 100%;
  height: 100%;
} */


/* nav
======================================================= */

#top nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 219px;
	margin: 0;
	border-right: 1px solid #dedede;	/* ナビゲーション（第一階層メニュー）枠線色 */
	background: #fff {$nav_a_img$};		/* ナビゲーション（第一階層メニュー）背景色 */
	overflow: auto;
	padding: 0;
	z-index: 50;
}

nav {
    display: block!important;
	width: 219px;
	margin: 0;
	border-right: 1px solid #dedede;	/* ナビゲーション（第一階層メニュー）枠線色 */
	background: #fff;		/* ナビゲーション（第一階層メニュー）背景色 */
	overflow: auto;
	position: absolute;
	top: 0;
	left: 0;
	padding: 0;
}

nav .logo {
	text-align: center;
	padding: 43px 0 44px;
}

body.en nav .logo{
	padding: 53px 0 52px;
}

nav ul.menu {
	margin: 0 0 40px;
	padding: 0;
	list-style-type: none;
	border-top: 1px solid #dedede;	/* ナビゲーション（第一階層メニュー）枠線色 */
}

nav ul.menu li {
	border-bottom: 1px solid #dedede;	/* ナビゲーション（第一階層メニュー）枠線色 */
}

nav ul.menu li a {
	display: block;
	padding: 18px 20px 17px;
}

nav ul.menu li a:link,
nav ul.menu li a:visited {
	text-decoration: none;
	color: #2a2a2a;	/* ナビゲーション（第一階層メニュー）文字色 */
	background: #fff url(../img/arw.png) 95% 50% no-repeat;
}

.en nav ul.menu li a:link{
	word-break: normal;
}

nav ul.menu li a:hover,
nav ul.menu li a.selected ,
nav ul.menu li a.active {
	text-decoration: none;
	color: #2a2a2a;	/* ナビゲーション（第一階層メニュー）文字色ハイライト時 */
	background: #f8f8f8 url(../img/arw.png) 95% 50% no-repeat;	/* ナビゲーション（第一階層メニュー）背景色ハイライト時 */
}

nav ul.menu li a.selected,
nav ul.menu li a.active{
	font-weight: bold;
}


nav ul.menu li.selected a.active,
nav ul.menu li.parent.active > a{
	background: #f8f8f8 url(../img/arw_down.png) 95% 50% no-repeat;
}


nav .bnr {
	padding: 0 0 60px;
	text-align: center;
}
nav .bnr p {
	margin: 0 0 10px;
}

/* submenu */

nav ul.submenu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	background: #f8f8f8;	/* ナビゲーション（第二階層メニュー）背景色 */
	border-top: 0;
}

nav ul.menu li.parent.close ul.submenu{
	display: none;
}

nav ul.menu li.parent ul.submenu li {
	border-top: 1px solid #dedede;	/* ナビゲーション（第一階層メニュー）枠線色 */
    border-bottom: 0;
}

nav ul.submenu li a {
	display: block;
	padding: 18px 20px 17px 35px;
}

nav ul.submenu li a:link,
nav ul.submenu li a:visited {
	text-decoration: none;
	color: #2a2a2a;	/* ナビゲーション（第二階層メニュー）文字色 */
	background: #f8f8f8 url(../img/arw.png) 95% 50% no-repeat;	/* ナビゲーション（第二階層メニュー）背景色ハイライト時 */
}

nav ul.submenu li a:hover,
nav ul.submenu li a.subselected ,
nav ul.submenu li a.active {
	text-decoration: none;
	color: #fff;		/* ナビゲーション（第二階層メニュー）文字色ハイライト時 */
	background: #d2232a url(../img/arw_w.png) 95% 50% no-repeat;	/* ナビゲーション（第二階層メニュー）背景色ハイライト時 */
}
nav ul.submenu li a.subselected ,
nav ul.submenu li a.active {
	font-weight: bold;
}

/* localmenu */

nav ul.localmenu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	background: #d2232a url(../img/arw_w.png) 95% 50% no-repeat;	/* ナビゲーション（第三階層メニュー）背景色 */
}

nav ul.localmenu li a {
	display: block;
	padding: 18px 20px 17px;
}

nav ul.localmenu li a:link,
nav ul.localmenu li a:visited {
	text-decoration: none;
	color: #fff;	/* ナビゲーション（第三階層メニュー）文字色 */
	background: #d2232a url(../img/arw_w.png) 95% 50% no-repeat;	/* ナビゲーション（第三階層メニュー）背景色 */
}

nav ul.localmenu li a:hover,
nav ul.localmenu li a.localselected ,
nav ul.localmenu li a.active {
	text-decoration: none;
	color: #fff;	/* ナビゲーション（第三階層メニュー）文字色ハイライト時 */
	background: #d2232a url(../img/arw_w.png) 95% 50% no-repeat;	/* ナビゲーション（第三階層メニュー）背景色ハイライト時 */
}

nav ul.localmenu li a.localselected ,
nav ul.localmenu li a.active {
	font-weight: bold;
}


/* 検索窓
======================================================= */
.search_window{
	display: none;
}

/* パンくず
======================================================= */
div.breadcrumb {
	height: 20px;
}

ol.breadcrumb {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0 auto 20px;
	padding: 12px 20px;
	list-style-type: none;
	background: #efefef;
}

ol.breadcrumb li {
	float: left;
}

ol.breadcrumb li a{
	text-decoration: none;
}

ol.breadcrumb li a:hover{
	text-decoration: underline;
}

.breadcrumb_b{
	background: #f8f8f8;
	text-align: center;
	padding: 12px 20px;
	margin: 0 auto 30px;
	text-align: center;
}

.breadcrumb_b ol.bread_main {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0;
	padding: 0 0 0 270px;
	list-style-type: none;
}

.breadcrumb_b ol.bread_main li {
	float: left;
}

.breadcrumb_b ol.bread_main li a{
	text-decoration: none;
}

.breadcrumb_b ol.bread_main li a:hover{
	text-decoration: underline;
}

.breadcrumb_b ol.bread_main ol.bread_sub {
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0 auto;
	padding: 0;
	list-style-type: none;
	background: #f8f8f8;
}

/* シェアボタン
======================================================= */

.snslist ul{
	float: right;
	margin: 0 0 10px;
	padding: 0;
	list-style-type: none;
}

.snslist ul li{
	float: left;
	padding: 0 0 0 10px;
	line-height: 0;
}


/* お知らせ設定
======================================================= */

.top_topiclist{
	width: 100%;
	margin: 0 0 40px;
}

.topic {
	float: left;
	width: 680px;
}

.top_topiclist .topic.first{
	float: left;
	width: 47%;
	max-width: 420px;
}

body.en .top_topiclist .topic.first{
	float: none;
	width: 100%;
	max-width: 100%;
}

.top_topiclist .topic.last{
	float: right;
	width: 47%;
	max-width: 420px;
}

.mceTopics {
    margin: 0;
    padding: 0;
}

.mceTopics ul,
.mceTopics ol {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    list-style: none;
}
.mceTopics li {
    margin: 10px 0 0;
    padding: 0 0 5px;
}
.mceTopics li span {
    display: block;
}
.mceTopics li span.day {
    font-weight: bold;
    font-size: 12px;
    font-size: 1.2rem;
}
.topicsblock {
    background: #fff;	/* トップページお知らせ見出し 背景色 */
    padding: 5px 0;
    margin: 0 0 10px;
    border-bottom: 1px solid #dedede;
}
.topicsblock_un {
    margin: 0 0 30px;
    padding: 0;
    border-bottom: 1px solid #e6e6e6;
}
.main .topicsblock_un h1 {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: normal;
    margin: 0;
    padding: 0 0 18px;
    float: left;
    width: 620px;
    border: 0;
}
.main .block p{
	margin:0px 0;
}
.main dl{
	margin:10px 0;
}
.main hr{
	margin:15px 0;
}
#top .topicsblock h2 {
    font-size: 20px;
    font-size: 2.0rem;
    font-weight: normal;
    line-height: 1.5;
    float: left;
    margin: 0;
    padding: 0 5px 0 0;
    color: #2a2a2a;	/* トップページお知らせ見出し 文字色 */
}

.topicsblock .linkset {
    float: right;
}
#top_b .topicsblock .linkset {
    padding: 5px 0 0;
}
.topicsblock .infolist {
    font-size: 12px;
    font-size: 1.2rem;
    float: left;
    padding: 1px 0 0;
}
.topicsblock .infolist a {
    padding: 0 0 0 14px;
    background: url(../img/arw.png) 0 50% no-repeat;
}
.inforss {
    float: right;
    width: 13px;
    padding: 4px 0 0;
    line-height: 1;
}

ul.pager {
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    text-align: center;
}
ul.pager li {
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}
ul.pager li strong {
    display: inline-block;
    padding: .25em .4em;
    color: #fff;
    border: 1px #999 solid;
    background-color: #999;
}
ul.pager li a {
    display: inline-block;
    padding: .25em .4em;
    text-decoration: none;
    border: 1px #ccc solid;
}
ul.pager li a:link,
ul.pager li a:visited {
    color: #333;
    border-color: #ccc;
}
ul.pager li a:hover,
ul.pager li a:active {
    color: #fff;
    border-color: #999;
    background-color: #999;
}

/* サイトマップ設定
======================================================= */
#under dl.sitemapList{
	margin: 1em 0;
	line-height: 1.3;
}
#under dl.sitemapList dt{
	margin: .5em 0;
}
#under dl.sitemapList dd{
	margin: .5em 0 .5em 1em;
}
#under dl.sitemapList dt a,
#under dl.sitemapList dd a{
	background: url("../img/lm_link.gif") no-repeat 0 45%;
	padding: 0 10px 0 14px;
}



/* pagetop
======================================================= */

.pagetop {
	display: block!important;
	width: 100%;
	background: #efefef;
	text-align: center;
	position: relative!important;
	bottom: 0!important;
    z-index: 50;
}

.pagetop a {
	color: #2a2a2a;
	display: block;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	text-decoration: none;
	padding: 17px 0;
	outline: none;
}

.pagetop a span {
	padding: 0 0 0 26px;
	background: url(../img/arw_top.png) 0 50% no-repeat;
}


/* 電話
======================================================= */

.tel a {
	cursor: default;
	text-decoration: none;
	pointer-events: none;
}


/* footer
======================================================= */

footer {
	clear: both;
	min-width: 883px;
	margin: 0 0 0 0;
	padding: 0 40px;
	background: #d2232a;		/* フッター（Copyright部） 背景色 */
}

.contact footer {
	margin: 0;
}

footer.under {
	margin: 0;
}

footer .foot_in {
	width: auto;
	margin: 0 auto;
}


/* foot_nav */

footer .foot_nav {
	float: left;
	background: #d2232a;		/* フッター（メニュー部） 背景色 */
}
.foot_nav_space{
	height: 60px;
}


.foot_nav ul {
	margin: 0;
	padding: 36px 0 20px;
	list-style-type: none;
}

.foot_nav ul li {
	float: left;
	margin: 0 21px 0 0;
}

.foot_nav a:link,
.foot_nav a:visited {
	font-size: 13px;
	font-size: 1.3rem;
	color: #fff;		/* フッター（メニュー部） 文字色 */
	text-decoration: none;
}

.foot_nav a:hover {
	color: #fff;		/* フッター（メニュー部） 文字色 */
	text-decoration: underline;
}

footer .copy {
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	margin: 0;
}


.contact footer .foot_in {
	width: 700px;
}

.contact footer .foot_info .logo_address {
	float: left;
	width: 580px;
}

.contact footer .foot_info .logo_address .logo {
	float: left;
	width: 200px;
}

.contact footer .foot_info .logo_address ul {
	float: right;
	width: 360px;
}

.contact footer .foot_info .f_sns {
	float: right;
	width: 100px;
	padding: 15px 0 0;
}


.foot_logo{
	float: right;
	padding: 40px 0;
}


/* スマホPC切替スイッチ
======================================================= */

.dvc_switch {
	width: 100%;
	margin: 0;
	text-align: center;
	background: #d2232a;
	clear: both;
}

.dvc_switch ul {
	width: 90%;
	margin: 0 auto;
	padding: 20px 0 30px;
}

.dvc_switch li {
	float: left;
	width: 100%;
	list-style-type: none;
}

.dvc_switch li.pc {
	display: none;
}

.dvc_switch li.sp {
	display: inline-block;
	padding: 8px 19px 8px 47px;
	text-decoration: none;
	color: #f0c6c7;
	border: 1px solid #f0c6c7;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	background: url(../img/sp/ico_sp.png) 19px 50% no-repeat;
	-webkit-background-size: 18px;
	   -moz-background-size: 18px;
		 -o-background-size: 18px;
			background-size: 18px;
		-ms-background-size: 18px;
	box-sizing: border-box;
}

.dvc_switch li.sp a {
	display: block;
	padding: 10px 0;
	text-decoration: none;
	color: #fff;
}

.dvc_switch li a {
	width: 100%;
	padding: 0;
	text-decoration: none;
	color: #fff;
}

.dvc_switch li:first-child a {
	line-height: 1.6;
}

.dvc_switch p {
	font-size: 77%;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 10px;
	text-align: center;
	color: #fff;
}
