@charset "UTF-8";
/* CSS Document */

/* HTML 
============================== */
html, body {
	position: relative;
	margin: 0;
	padding: 0;
	}
html {
	width: 100%;
	height: 100%;
	font-size: 10px;
	}
body {
	position: relative;
	min-height: 100%;
	background-color: #f7f7f7;
	color: #333;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1;
	}
@media all and (min-width: 1000px) {
	body {
		font-size: 1.6rem;
		}
	}


/* FONT FAMILY */
body, .-sans-serif {
	font-family: 
		"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", 
		"游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", 
		Osaka, "ＭＳ Ｐゴシック", "MS PGothic", 
		Arial, Helvetica, Roboto, "Droid Sans", "Droid Sans Japanese", 
		sans-serif;
	}
.-serif {
	font-family: 
		"ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", 
		"游明朝", "Yu Mincho", "游明朝体", "YuMincho", 
		"HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", 
		"Times New Roman", 
		serif;
	}


/* TEXT */
h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: 600;
	line-height: 1.25;
	}
p, li {
	line-height: 1.25;
  -moz-font-feature-settings: 'palt' 1;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1;
	}
p + p, 
li {
	margin-top: 0.5em;
	}
em, 
address {
	font-style: normal;
	}
sup, sub {
	display: inline-block;
	margin: auto 0.25em;
	font-size: 1.2rem;
	}


/* block */
img, svg {
	width: 100%;
	max-width: 100%;
	height: auto;
	line-height: 0;
	}
hr {
	clear: both;
	width: auto;
	height: 0;
	border-top: solid 0.1rem #666;
	}


/* LINK */
a {
	-webkit-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	transition: all 0.4s ease;
	}
a:hover {
	opacity: 0.8;
	}
a[href^="http"]:empty:after {
  content: attr(href);
	}
a[href^="http"]:empty:after, 
a[href^="mailto"] {
	display: inline;
	white-space: normal;
	word-break: break-all;
	}
@media all and (min-width: 768px) {
	a[href^="tel:"] {
		color: #333;
		text-decoration: none;
		pointer-events: none;
		}
}


/* TABLE */
table, 
table caption, 
table tr, 
table th, 
table td {
	position: relative;
	}
table {
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	color: #666;
	font-size: 0.875em;
	}
table caption {
	margin-bottom: 0.5rem;
	font-weight: 600;
	text-align: left;
	}
table .row_head col {
	width: 10em;
	}
table .row_head, 
table .row_head col:first-child {
	background-color: rgba(0,0,0,0.1);
	}
table thead {
	background-color: #101885;
	}
table thead th {
	color: #FFF;
	}
table thead > tr {
	border-bottom-style: double;
	border-bottom-width: 0.3rem;
	}
table tfoot {
	}
table tfoot > tr {
	border-top-style: double;
	border-top-width: 0.3rem;
	}
table th, 
table td {
	padding: 0.5em;
	border-style: solid;
	border-color: transparent;
	border-width: 0.2rem;
	vertical-align: middle;
	line-height: 1.25;
	}
table th {
	font-weight: 600;
	text-align: center;
	}
table td {
	text-align: left;
	}
table tbody th {
	text-align: left;
	}


/* FORM */
textarea, 
input, 
button, 
select {
	margin: 0.2rem auto;
	padding: 0.2em;
	border-radius: 0.3rem;
	border-style: solid;
	border-width: thin;
	border-color: #ccc;
	background-color: #FFF;
	font-size: 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}
textarea.-w_narrow, 
input.-w_narrow, 
button.-w_narrow, 
select.-w_narrow {
	width: 8em;
	}
textarea.-w_harf, 
input.-w_harf, 
button.-w_harf, 
select.-w_harf,
textarea.-w_full, 
input.-w_full, 
button.-w_full, 
select.-w_full {
	width: 100%;
	}
textarea {
	height: 5em;
	line-height: 1.25;
	}
@media screen and (max-width: 767px) {
	/* iOSフォームズーム対策 */
	textarea, 
	input, 
	button, 
	select {
		font-size: 1.6rem;
		}
}
@media all and (min-width: 768px) {
	textarea.-w_harf, 
	input.-w_harf, 
	button.-w_harf, 
	select.-w_harf {
		width: 49%;
		}
}


/* RESPONSIVE
============================== */

/* br */
.-is_nr, .-is_sp, .-is_tb, .-is_pc { display: none; }
@media screen and (max-width: 320px) {
	.-is_nr { display: block; }
}
@media screen and (max-width: 767px) {
	.-is_sp { display: block; }
}
@media all and (min-width: 768px) {
	.-is_tb { display: block; }
}
@media all and (min-width: 1000px) {
	.-is_pc { display: block; }
}


/* inline-block */
.-ib {
	display: inline-block;
	}
@media all and (min-width: 768px) {
	.-tb_ib {
		display: inline-block;
		}
}
@media all and (min-width: 1000px) {
	.-pc_ib {
		display: inline-block;
		}
}

/* KERNING
============================== */
.-kn_nr {
	display: inline-block;
	margin-right: -0.1em; 
	margin-left: -0.1em;
	letter-spacing: 0 !important;
	}
.text_area .-kn_nr {
	margin-right: auto;
	margin-left: auto;
	}
.-kn_wd {
	display: inline-block;
	letter-spacing: 1em;
	text-indent: 1em;
	}

/*=======================================
  リードスピーカー
=======================================*/

#xp1 {
    bottom: 112px;
    position: fixed;
    right: 17px;
}

.rs_skip_sp {
    display: none;
}

.rs_splitbutton.rsexpanded:not(.rsdetached).rs_addtools .rsbtn_tooltoggle, .rs_splitbutton.rsexpanded:not(.rsdetached).rsbtn .rsbtn_tooltoggle{
    width:15px!important;
}

#content .rs_splitbutton .rsbtn_exp .rsbtn_exp_inner button.rsbtn_pause.rsbtn_player_item {
    padding-left: 25px!important;
}

.rsbtn .rsbtn_exp .rsbtn_exp_inner .rsbtn_player_item{
	padding: 0 12px !important;
}

#header .rs_skip{
   margin-top:-15px;
}

#header .rs_skip a{
    width: 130px;
    padding: 0 10px 0 38px;
    margin:0 0 0 auto;
    border: solid 1px #ddd;
    color: #fff;
    font-weight: 500;
    text-align: center;
    line-height: 1.4em;
    background-color: #253494;
    background-image: url(/common/image/volume_w.png);
    background-repeat: no-repeat;
    background-position: 6px 1px;
    background-size: 1.5em 1.4em;
    display: flex;
    align-items: center;
}

#header .rs_skip a:hover{
    background-color: #9299c9;
    color: #fff;
    background-image: url(/common/image/volume_b.png);
}

@media only screen and (max-width:767px){
#header .rs_skip{
         display: none;
     }

     .rs_skip_sp {
         display: block !important;
         padding:10px 0 0 40px;
         font-weight:bold;
         font-size:16px;
         background-image:url(/common/image/volume_w.png);
         background-repeat:no-repeat;
         background-position:5px 8px;
         background-size: 1.5em 1.4em;
     }
}

