/* common.css v1.0.0 */

/* 共通スタイル・部品指定 */
.mt0 { margin-top: 0 !important;}
.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mr10 { margin-right: 10px !important;}
.mr20 { margin-right: 20px !important;}
.mr30 { margin-right: 30px !important;}
.mr40 { margin-right: 40px !important;}
.mr50 { margin-right: 50px !important;}
.mb0 { margin-bottom: 0 !important;}
.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.ml10 { margin-left: 10px !important;}
.ml20 { margin-left: 20px !important;}
.ml30 { margin-left: 30px !important;}
.ml40 { margin-left: 40px !important;}
.ml50 { margin-left: 50px !important;}

.pt0 { padding-top: 0 !important;}
.pt10 { padding-top: 10px !important;}
.pt20 { padding-top: 20px !important;}
.pr0 { padding-right: 0 !important;}
.pr10 { padding-right: 10px !important;}
.pr20 { padding-right: 20px !important;}
.pb0 { padding-bottom: 0 !important;}
.pb10 { padding-bottom: 10px !important;}
.pb20 { padding-bottom: 20px !important;}
.pl0 { padding-left: 0 !important;}
.pl10 { padding-left: 10px !important;}
.pl20 { padding-left: 20px !important;}

.en {
	line-height: 1.25 !important;
	margin-top: 1.2em !important;
}

.stress, .bold { font-weight: bold !important;}
.fw_n { font-weight: normal !important;}

.indent { text-indent: -1em; padding-left: 1em;}
.indent_2 { text-indent: -1em; padding-left: 2em;}
.indent2_0 { padding-left: 2.0em;}
li.indent_2, li.indent { list-style-type: none !important;}

ul.disc > li { list-style-type: disc !important;}
ul.circle > li { list-style-type: circle !important;}

.f_left { float: left !important;}
.f_right { float: right !important;}
.f_clear { clear: both !important;}

.center { text-align: center !important;}
.left { text-align: left !important;}
.right { text-align: right !important;}

.td_n { text-decoration: none !important;}

.bdb_n { border-bottom: none !important;}
.uline { border-bottom: 1px solid #e6e6e6;}

#js_mediaquery:after {
	content: 'full';
	display: none;
}

.info_legacy_ie{
	margin-top: -1px;
	margin-right: -30px;
	margin-left: -30px;
	padding: 15px 60px 20px;
	border-top: 1px dotted #ccc;
	background-color: #fff;
}

@media screen and (max-width: 800px) {
	#js_mediaquery:after {
		content: 'medium';
	}
}

@media screen and (max-width: 519px) {
	#js_mediaquery:after {
		content: 'small';
	}
}

/* toggle nav */
.toggle_nav {
	display: inline-block;
	box-sizing: content-box;
	margin: 0;
	padding: 0;
	border-width: 0;
	background-color: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	line-height: inherit;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.toggle_nav:hover,
.toggle_nav:focus,
.toggle_nav:active {
	text-decoration: none;
}

[aria-disabled="true"].toggle_nav,
[disabled].toggle_nav {
	cursor: default;
}

.toggle_nav::-moz-focus-inner {
	border-width: 0;
	padding: 0;
}

/* Page wrapper */
.page_wrapper_outer {
	position: relative;
	overflow: hidden;
}

.no-js .page_wrapper_outer {
	display: none;
}

.page_wrapper_inner {
	position: relative;
	left: 0;
	width: 100%;
	-webkit-transition: left 0.25s cubic-bezier(0.19, 1, 0.22, 1);
	transition: left 0.25s cubic-bezier(0.19, 1, 0.22, 1);
}

.offcanvas_right_visible .page_wrapper_inner {
	left: -630px;
}

@media screen and (max-width: 800px) {
	.js .offcanvas_left_visible .page_wrapper_inner {
		left: 210px;
	}
}

@media screen and (max-width: 630px) {
	.offcanvas_right_visible .page_wrapper_inner {
		left: -100%;
	}
}

/* Page header */
.page_header {
	border-bottom: 1px solid #e6e6e6;
	width: 210px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 3;
}

.offcanvas_right_visible .page_header {
	z-index: 3;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
	.page_header {
		position: fixed;
	}
}

@media screen and (max-width: 800px) {
	.page_header {
		min-width: 320px;
	}
	.js .page_header{
		position: fixed;
		right: 0;
		z-index: 2;
		width: auto;
		height: 50px;
		border-bottom-color: #ccc;
		background-color: #fff;
		-webkit-transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
		transition: 0.25s cubic-bezier(0.19, 1, 0.22, 1);
		-webkit-transition-property: left, right;
		transition-property: left, right;
	}
	.js .offcanvas_left_visible .page_header {
		left: 210px;
		right: -210px;
	}
}

/* Site logo */
.site_logo {
	text-align: center;
	margin: 0;
	padding-top: 48px;
}

.site_logo.__pc {
	padding-bottom: 2px;
}

.site_logo a {
	display: inline;
	text-decoration: none;
	font-size: 50%;
}

.docstop {
	margin: 0 0 17px !important;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
}

.docstop a {
	color: #545454;
	display: inline-block;
	font-size: 70%;
	text-decoration: none;
}

.page h2.docstop {
	font-size: 150% !important;
}

.site_logo.__smp {
	display: none;
}

@media screen and (max-width: 800px) {
	.site_logo.__pc {
		display: none;
	}
	.docstop {
		margin-top: 8px !important;
	}
	.site_logo.__smp {
		display: block;
		position: absolute;
		right: 10px;
		top: 10px;
		width: 30px;
		height: 16px;
		padding: 0;
	}
	.site_logo.__smp img {
		max-width: 100%;
		height: auto !important;
	}
}

/* グローバルナビ */
.toggle_nav{
	display: none;
	box-sizing: content-box;
	margin: 0;
	padding: 0;
	border-width: 0;
	background-color: transparent;
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	line-height: inherit;
	text-decoration: none;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

.toggle_nav:hover,
.toggle_nav:active {
	text-decoration: none;
}

[aria-disabled="true"].toggle_nav,
[disabled].toggle_nav {
	cursor: default;
}

.toggle_nav::-moz-focus-inner {
	border-width: 0;
	padding: 0;
}

.page_sidebar {
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	border-right: 1px solid #ccc;
	z-index: 2;
}

.offcanvas_right_visible .page_sidebar {
	z-index: 2;
}

.page_sidebar_inner {
	width: 210px;
}

.primary_nav {
	font-size: 100%;
	line-height: 1.29;
}

.primary_nav a {
	cursor: pointer;
	display: block;
	position: relative;
	text-decoration: none;
	color: #545454;
}

.primary_nav .label {
	display: block;
	min-height: 18px;
	padding: 14px 40px 14px 40px;
}

.primary_nav .label .s_font {
	display: block;
	font-size: 85.72%;
	line-height: 1.34;
}

.primary_nav ul {
	padding-top: 168px;
}

.primary_nav li {
	border-bottom: 1px solid #e6e6e6;
}

.primary_nav li.has_small .label {
	padding: 8px 40px 8px 40px;
}

.primary_nav .icon {
	position: absolute;
	top: 50%;
	left: 20px;
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	line-height: 0;
	vertical-align: top;
	background: url(https://s.yimg.jp/i/docs/top/assets/img/sprites.png) no-repeat 0 0;
}

.no-touch .primary_nav a:hover {
	background-color: #ff0033;
}

.no-touch .primary_nav a:hover .icon {
	width: 16px;
	height: 16px;
	background-position: 0 -40px;
}

.no-touch .primary_nav a:hover .label {
	background-color: #f2f2f2;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
	.footerBox {
		position: static;
	}

	.page_sidebar {
		position: fixed;
		height: 100%;
	}
}

@media screen and (max-width: 800px) {
	.js .toggle_nav {
		display: inline-block;
		position: absolute;
		top: 0;
		left: 0;
		width: 50px;
		height: 50px;
		overflow: hidden;
		border-right: 1px solid #e6e6e6;
		line-height: 1;
	}

	.js .page_sidebar {
		overflow: auto;
		height: 100%;
		z-index: 1;
	}

	.js .offcanvas_left_visible .page_sidebar {
		position: fixed;
	}

	.js .primary_nav {
		position: relative;
		z-index: 0;
	}
	.js .primary_nav ul {
		padding-top: 50px;
	}
	.js .primary_nav li:first-child {
		border-top: 1px solid #e6e6e6;
	}
}

/* Copyright */
.copyright {
	display: block;
	font-size: 71.43%;
	line-height: 1.4;
	color: #808080;
}

.copyright .link_box {
	display: block;
	padding: 0 26px;
}

.copyright .link_box span {
	display: inline-block !important;
	padding: 15px 10px 8px 0 !important;
	font-size: 130% !important;
}
.copyright .link_box span:last-child {
	padding-right: 0;
}

.copyright .txt_box {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0 20px 10px 26px;
	border-bottom: 1px solid #e6e6e6;
	word-break: break-all;
	word-wrap: break-word;
}

/* social_links */
.social_links {
	border-top: 1px solid #e6e6e6;
	border-bottom: 1px solid #e6e6e6;
	line-height: 1;
}

.social_links ul {
	display: table;
	width: 210px;
	height: 35px;
	margin: 8px 0;
}

.social_links li {
	display: table-cell;
	border-left: 1px solid #e6e6e6;
	padding-right: 1px;
	text-align: center;
}

.social_links li:first-child {
	border-left-color: #fff;
}

.social_links a {
	display: block;
	width: 100%;
	height: 100%;
}

.social_links a:hover {
	opacity: 0.7;
}

.social_links a img {
	padding: 9px 0;
}

@media screen and (min-width: 801px) and (min-height: 750px) {
	.social_links {
        position: absolute;
        bottom: 0;
        border-bottom-width: 0;
	}
}

/* Page main */
.page_main {
	position: relative;
	z-index: 1;
	margin-left: 210px;
	padding: 0 30px 50px;
	border-left: 1px solid #ccc;
	background-color: #f2f2f2;
}

@media screen and (max-width: 800px) {
	.js .page_main {
		position: relative;
		margin-left: 0;
		padding: 50px 10px;
		border-left-width: 0;
	}

	.js .offcanvas_left_visible .page_main {
		height: 100%;
		overflow: hidden;
		-webkit-box-shadow: -1px 0 #ccc, -1px 0 3px rgba(0, 0, 0, 0.15);
		box-shadow: -1px 0 #ccc, -1px 0 3px rgba(0, 0, 0, 0.15);
	}
}

/* Info header */
.info_header {
	background-color: #fff;
	margin: 0 -30px;
}

.js .info_header {
	display: none;
}

@media screen and (max-width: 800px) {
	.js .info_header {
		display: block;
		margin: 0 -10px;
	}
}

/* パンくず */
.breadcrumbs {
	height: 33px;
	margin-right: -30px;
	margin-left: -30px;
	padding: 17px 20px 0;
	background-color: #545454;
	font-size: 85.72%;
	line-height: 1.34;
}

.breadcrumbs,
.breadcrumbs a {
	color: #fff;
}

.breadcrumbs a {
	text-decoration: underline;
}

.breadcrumbs em {
	font-style: normal;
}

@media screen and (max-width: 800px) {
	.js .breadcrumbs {
		margin-left: -10px;
		margin-right: -10px;
	}
}

@media screen and (max-width: 480px) {
	.breadcrumbs.long{
		height: 50px;
	}
}

/* article */
.common_article {
	max-width: 756px;
	box-sizing: border-box;
	margin: 30px auto;
	padding: 20px;
	border: 1px solid #e6e6e6;
	background-color: #fff;
}

.common_article h1 {
	margin: 1em 0;
	font-size: 200%;
	line-height: 1.29;
	font-weight: normal;
}

.common_article h2 {
	margin: 2em 0 0.5em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #e6e6e6;
}

.common_article h2.font_s {
	margin: 1.5em 0 0.5em;
	font-size: 114.29%;
	line-height: 1.5;
}

.common_article h3 {
	margin: 1.5em 0 0.5em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #e6e6e6;
	font-size: 114.29%;
	line-height: 1.5;
}

.common_article p,
.common_article ul {
	margin: 0.5em 0 1.5em;
}

.common_article ul {
	padding-left: 2em;
}

.common_article ul li {
	list-style-type: disc;
	line-height: 1.65;
}

.permalinkthum {
	margin: 15px 0 20px;
	text-align: center;
}

.common_wrapper {
    overflow: hidden;
    zoom: 1;
}

.common_pagefooter {
    margin: 5em 0 3em 0;
    text-align: right;
}

.common_pagefooter ul li {
    text-align: left;
}

/* footer */
footer {
	margin: 5px auto;
	padding: 5px;
	max-width: 640px;
	line-height: 1.65;
	font-size: 80%;
	text-align: center;
}

footer p {
	font-size: 120%;
	line-height: 1.2;
	margin: 1.0em 0 1.5em;
}

footer img {
	max-width: 100%;
	height: auto;
}

/* noscript */
.noscript_content {
	height: 100%;
	padding-top: 200px;
	background-color: #f2f2f2;
	text-align: center;
}

.noscript_content h1 {
	margin-bottom: 2.5em;
}

.noscript_content p {
	margin-top: 0.5em;
	font-size: 100%;
	line-height: 1.72;
}

.noscript_content strong {
	font-size: 114.29%;
}

/* footable */
.footable {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border: solid #ccc 1px;
	border-top: none;
	margin: 2em 0;
}

.footable.breakpoint > tbody > tr > td.expand {
	background: url('https://s.yimg.jp/i/docs/release/plus.png') no-repeat 5px center;
	padding-left: 40px;
}

.footable.breakpoint > tbody > tr > td.expand.txt_indent {
	padding-left: 50px !important;
}

.footable.breakpoint > tbody > tr.footable_detail_show > td.expand {
	background: url('https://s.yimg.jp/i/docs/release/minus.png') no-repeat 5px center;
}

.footable.breakpoint > tbody > tr.footable_row_detail {
	background: #f2f2f2;
}

.footable.breakpoint > tbody > tr:hover:not(.footable_row_detail) {
	cursor: pointer;
}

.footable > tbody > tr > td,
.footable > thead > tr > th {
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	padding: 10px;
	text-align: left;
}

.footable > tbody > tr > td.footable_cell_detail {
	border-left: none;
}

.footable > thead > tr > th,
.footable > thead > tr > td {
	background-color: #ffe2e7;
	font-weight: normal;
}

.footable > thead > tr > th.footable-first-column,
.footable > thead > tr > td.footable-first-column,
.footable > tbody > tr > td.footable-first-column,
.footable > thead > tr > th.footable_first_column,
.footable > thead > tr > td.footable_first_column,
.footable > tbody > tr > td.footable_first_column {
	border-left: none;
}

.footable > tbody img {
	vertical-align: middle;
}

.footable > tfoot > tr > th,
.footable > tfoot > tr > td {
	background-color: #f2f2f2;
	padding: 10px;
}

@media screen and (max-width: 480px) {
	.footable > tbody > tr:hover {
		background: #dbdbdb;
	}
}

/* social */
ul.social{
	margin: 0 0 1em 0 !important;
	padding: 0;
}
ul.social.__btm{
	margin-top: 30px;
}
ul.social > li{
	display: inline-block;
	list-style-type: none;
	margin-right: 1em;
	line-height: 1 !important;
	vertical-align: top;
	*display: inline;
	*zoom: 1;
}

/* btn_top */
nav.btn_top {
    margin: 40px 0px 20px;
    text-align: right;
}
nav.btn_top > span{
	color: #324fe1;
	text-decoration: underline;
	cursor: pointer;
}

/* localnav */
nav#local{
	max-width: 756px;
	margin: 30px auto;
	padding: 0;
}
nav#local .twin_block{
	box-sizing: border-box;
}
@media screen and (min-width: 481px){
	nav#local .twin_block{
		float: left;
		width: 48.5%;
	}
	nav#local .twin_block.left_block{
		margin-right: 1.50%;
	}
	nav#local .twin_block.right_block{
		margin-left: 1.50%;
	}
}
@media screen and (max-width: 480px){
	nav#local .twin_block{
		max-width: 100%;
		margin-bottom: 1em;
	}
}

nav#local .current_block{
	box-sizing: border-box;
	margin-bottom: 10px;
}

nav#local .twin_block .border,
nav#local .current_block .border{
	border: 1px solid #e6e6e6;
	background: #fff;
}
nav#local .twin_block .body{
	padding: 5px 20px 10px;
}
nav#local .twin_block .body.stock {
	padding: 10px 15px 18px;
}

nav#local .current_block .body{
	padding: 10px 20px 10px;
}

nav#local .icon,
nav#t_localnav .icon{
	float: left;
	width: 16px;
	height: 16px;
	margin: 0 0 0 -21px;
	background: url(https://s.yimg.jp/i/docs/top/assets/img/sprites.png) no-repeat 0 0;
	vertical-align: middle;
}
nav#local .current_block .icon{
	margin-top: 1px;
}
nav#local .twin_block a.current,
nav#t_localnav a.current{
	color: #545454;
	text-decoration: none;
	cursor: text;
	pointer-events: none;
}
nav#local .current .icon,
nav#local a:hover .icon,
nav#t_localnav .current .icon,
nav#t_localnav a:hover .icon{
	width: 16px;
	height: 16px;
	background-position: 0 -20px;
}
nav#local .twin_block a .label{
	padding: 1px;
}
nav#local .twin_block ul{
	margin: 1em 0 0;
	padding-left: 1em;
}
nav#local .twin_block ul li{
	list-style-type: none;
	margin-bottom: 1em;
	line-height: 1.25;
}
nav#local .twin_block ul li.long{
	line-height: 1.2em;
}
nav#local h2{
	margin: 0;
	padding: 12px;
	border-bottom: 1px solid #e6e6e6;
	font-weight: normal;
	font-size: 1em;
}
nav#local .current_block h2{
	font-weight: bold;
}
nav#local .current_block ul{
	padding: 0 0 0 1em;
}

nav#t_localnav{
	max-width: 756px;
	margin: 30px auto 10px;
}
nav#t_localnav .border{
	border: 1px solid #e6e6e6;
	background: #fff;
}
nav#t_localnav .body{
	padding: 1.5em 20px .5em;
}
nav#t_localnav h2{
	margin: 0;
	padding: 12px;
	border-bottom: 1px solid #e6e6e6;
	font-weight: normal;
	font-size: 1em;
}
nav#t_localnav ul{
	padding: 0 0 0 1em;
}
nav#t_localnav li{
	line-height: 1.25;
}
nav#t_localnav ul li{
	margin: 0 0 1em;
}
nav#t_localnav ul li ul li{
	margin: 1em 0 1em;
}
nav#t_localnav ul li ul{
	display: none;
}
nav#t_localnav ul.wide{
	overflow: hidden;
	zoom: 1;
}
nav#t_localnav ul.wide li{
	float: left;
	line-height: 2;
}

/* module */
.headline{
	padding: 5px 10px;
	border-left: 5px solid #555;
	border-bottom: none !important;
	font-weight: normal;
}
