@charset "UTF-8";

/* 一般的なリセットCSS + 便利なCSS */
/*----------------------------------------------------------------------------------*/

* {
	background-repeat: no-repeat;
}

html,body{
    width: 100%;
}
section, nav, article, aside, hgroup, header, footer, figure, figcaption, details, code {
	display: block;
}
video, audio, canvas {
	display: inline-block;
	*display: inline;
	*zoom: 1;
}
audio:not([controls]) {
	display: none;
}
 [hidden] {
	display: none;
}

/* The root element */
html {
	font-size: 100%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

/* Sections */
html { font-size: 14px; }

body {
	margin: 0;
	line-height: 1.231; 
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Helvetica,Arial,sans-serif;
	/*
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
	*/
}
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	font-size: 1em;
	margin: 0;
}

/* Grouping content */
p, blockquote, dl, dd, figure {
	margin: 0;
}
hr {
	color: inherit;
	height: auto;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
pre {
	margin: 0;
	font-family: 'OCRB', 'Osaka-等幅', 'Osaka-mono', monospace, sans-serif;
/*
	white-space: -webkit-pre-wrap;
	white-space: -moz-pre-wrap;
	white-space: -ms-pre-wrap;
	white-space: -o-pre-wrap;
	white-space: pre-wrap;
	word-wrap: break-word;
*/

	overflow: auto;
/*
	word-wrap: normal;
*/
}
dl, menu, ol, ul {
	margin: 0;
}
dd {
	margin: 0;
}
menu, ol, ul {
	padding: 0;
}
nav ul, nav ol {
	list-style: none;
	list-style-image: none;
}
ul li {
	list-style: none outside none;
}
li {
	margin: 0;
	padding: 0;
}

/* Text-level semantics */
a {
	text-decoration: underline;
	color: #2a2a29;
}
/*
a:link {
	text-decoration: underline;
	color: #2a2a29;
	padding-bottom: 1px;
}
a:visited {
	color:#383836;
}*/

a:focus {
/*	outline: none;*/
}
a:hover {
/*	color: #767674;*/
	text-decoration: underline;
}
a:hover, a:active {
/*	outline: 0;*/
}

strong, b {
	font-weight: bold;
}

em {
	font-weight: normal;
	font-style: normal;
}
small {
	font-size: 0.80em;
}
q {
	quotes: none;
}
abbr[title] {
	border-bottom: 1px dotted;
}
code, samp, kbd {
	font-family: 'OCRB', 'Osaka－等幅', 'Osaka-等幅', 'Osaka-mono', monospace, sans-serif;
	tab-size: 4;
	white-space: pre;
}
mark {
	color: black;
	background-color: yellow;
}
sub, sup {
	font-size: 0.80em;
	line-height: 0;
	vertical-align: baseline;
	position: relative;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
br {
	*letter-spacing: 0;
}

/* Embedded content */
t {
	border: 0;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}
svg:not(:root) {
	overflow: hidden;
}

/* Tabular data */
table {
	width: 100%;
	border-collapse: collapse;
	/*
	border-collapse: separate;
	*border-collapse: collapse;
	border-spacing: 0;
	*/
	font-size: inherit;
}
caption {
	padding: 0;
	text-align: left;
}
th, td {
	text-align: left;
	padding: 0.75em 1em;
	border: 1px solid #cccccc;
	line-height: 1;
}
th { font-weight: bold; }

/* Forms */
form {
	margin: 0;
}
fieldset {
	border: 0;
	padding: 0;
	margin: 0;
}
legend {
	border: 0;
	*margin-left: -7px;
}
input, button, select, textarea {
	font-family: inherit;
	font-size: 1em;
	color: inherit;
	margin: 0;
}
input, button {
	line-height: 1;
	vertical-align: inherit;
	*vertical-align: middle;
}
input {
	padding: 4px;
}
button, textarea {
	border: 1px solid #aaaaaa;
	padding: 4px;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
input::-moz-focus-inner,
button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
input[type="search"] {
	padding: 4px;
	border: 1px solid #cccccc;
	line-height: 1;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"]:focus {
	outline-offset: -2px;
}
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
	border: none;
	cursor: pointer;
}
input[type="submit"], input[type="button"], input[type="reset"], button {
	cursor: pointer;
	border: none;
	*overflow: visible;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
select {
	padding: 4px;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
option {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
optgroup {
	font-weight: normal;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
textarea {
	padding: 4px;
	border: 1px solid #cccccc;
	vertical-align: top;
	overflow: auto;
	resize: vertical;
	*font-family: sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
address{
	font-style: normal;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"] {
	padding: 4px;
	border: 1px solid #cccccc;
	line-height: 1;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}
input[type="file"] {
	line-height: 1;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}


/* 便利なCSSを記述 */
/*----------------------------------------------------------------------------------*/

/* clearfix、回り込み */
/*---------------------------------------------------*/
.clearfix:before, .clearfix:after,
.parent-left:before, .parent-left:after, 
.parent-right:before, .parent-right:after {
	content: " ";
	display: table;
}
.clearfix:after,
.parent-left:after,
.parent-right:after {
	clear: both;
}
.clearfix,
.parent-left,
.parent-right {
	zoom: 1;
}
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.parent-left > * { float: left; }
.parent-right > * { float: right; }
.parent-left * { _float: left; }
.parent-right * { _float: right; }
.parent-left * *,
.parent-right * * { _float: none; }

/* ブロック */
/*---------------------------------------------------*/
.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; *display: inline; *zoom: 1; }
.table { display: table; }
.table-cell { display: table-cell; }
.full-width,
.nav-list.full-width ul,
.nav-list.full-width ol { width: 100%; }
.fixed,
.nav-list.fixed ul,
.nav-list.fixed ol { width: 100%; table-layout: fixed; }

/* テキスト */
/*---------------------------------------------------*/
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-justify { text-align: justify !important; }
.vertical-top { vertical-align: top !important; }
.vertical-middle { vertical-align: middle !important; }
.vertical-bottom { vertical-align: bottom !important; }
.vertical-baseline { vertical-align: baseline !important; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.oblique { font-style: oblique; }
.underline { text-decoration: underline; }
.line-through { text-decoration: line-through; }
.nowrap { white-space: nowrap; }
.big { font-size: 1.20em; }
.small { font-size: 0.80em; }
.note {
	/*padding: 0;
	font-size: 0.80em;
	color: #bbbbbb;
	display: block;*/
}
.error,
.attention {
	color: #cc0000;
	display: block;
}
.not-important {
	color: #dddddd;
	font-weight: normal;
}
.txt_gold {
	color:#e0cd76;
}
.txt_red {
	color:#be003c;
}

/* 余白 */
/*---------------------------------------------------*/
.mgn-t0 { margin-top: 0px !important; }
.mgn-t5 { margin-top: 5px !important; }
.mgn-t10 { margin-top: 10px !important; }
.mgn-t15 { margin-top: 15px !important; }
.mgn-t20 { margin-top: 20px !important; }
.mgn-t30 { margin-top: 30px !important; }
.mgn-t40 { margin-top: 40px !important; }
.mgn-t50 { margin-top: 50px !important; }
.mgn-t60 { margin-top: 60px !important; }
.mgn-t70 { margin-top: 70px !important; }
.mgn-t80 { margin-top: 80px !important; }
.mgn-t90 { margin-top: 90px !important; }
.mgn-t100 { margin-top: 100px !important; }
.mgn-t110 { margin-top: 110px !important; }
.mgn-t120 { margin-top: 120px !important; }
.mgn-t130 { margin-top: 130px !important; }
.mgn-t140 { margin-top: 140px !important; }
.mgn-t150 { margin-top: 150px !important; }
.mgn-t200 { margin-top: 200px !important; }
.mgn-t250 { margin-top: 250px !important; }

.mgn-b0 { margin-bottom: 0px !important; }
.mgn-b5 { margin-bottom: 5px !important; }
.mgn-b10 { margin-bottom: 10px !important; }
.mgn-b15 { margin-bottom: 15px !important; }
.mgn-b20 { margin-bottom: 20px !important; }
.mgn-b30 { margin-bottom: 30px !important; }
.mgn-b40 { margin-bottom: 40px !important; }
.mgn-b50 { margin-bottom: 50px !important; }
.mgn-b60 { margin-bottom: 60px !important; }
.mgn-b70 { margin-bottom: 70px !important; }
.mgn-b80 { margin-bottom: 80px !important; }
.mgn-b90 { margin-bottom: 90px !important; }
.mgn-b100 { margin-bottom: 100px !important; }
.mgn-b110 { margin-bottom: 110px !important; }
.mgn-b120 { margin-bottom: 120px !important; }
.mgn-b130 { margin-bottom: 130px !important; }
.mgn-b140 { margin-bottom: 140px !important; }
.mgn-b150 { margin-bottom: 150px !important; }
.mgn-b200 { margin-bottom: 200px !important; }
.mgn-b250 { margin-bottom: 250px !important; }

.mgn-l0 { margin-left: 0px !important; }
.mgn-l5 { margin-left: 5px !important; }
.mgn-l10 { margin-left: 10px !important; }
.mgn-l15 { margin-left: 15px !important; }
.mgn-l20 { margin-left: 20px !important; }
.mgn-l30 { margin-left: 30px !important; }
.mgn-l40 { margin-left: 40px !important; }
.mgn-l50 { margin-left: 50px !important; }
.mgn-l60 { margin-left: 60px !important; }
.mgn-l70 { margin-left: 70px !important; }
.mgn-l80 { margin-left: 80px !important; }
.mgn-l90 { margin-left: 90px !important; }
.mgn-l100 { margin-left: 100px !important; }
.mgn-l110 { margin-left: 110px !important; }
.mgn-l120 { margin-left: 120px !important; }
.mgn-l130 { margin-left: 130px !important; }
.mgn-l140 { margin-left: 140px !important; }
.mgn-l150 { margin-left: 150px !important; }
.mgn-l200 { margin-left: 200px !important; }
.mgn-l250 { margin-left: 250px !important; }

.mgn-r0 { margin-right: 0px !important; }
.mgn-r5 { margin-right: 5px !important; }
.mgn-r10 { margin-right: 10px !important; }
.mgn-r15 { margin-right: 15px !important; }
.mgn-r20 { margin-right: 20px !important; }
.mgn-r30 { margin-right: 30px !important; }
.mgn-r40 { margin-right: 40px !important; }
.mgn-r50 { margin-right: 50px !important; }
.mgn-r60 { margin-right: 60px !important; }
.mgn-r70 { margin-right: 70px !important; }
.mgn-r80 { margin-right: 80px !important; }
.mgn-r90 { margin-right: 90px !important; }
.mgn-r100 { margin-right: 100px !important; }
.mgn-r110 { margin-right: 110px !important; }
.mgn-r120 { margin-right: 120px !important; }
.mgn-r130 { margin-right: 130px !important; }
.mgn-r140 { margin-right: 140px !important; }
.mgn-r150 { margin-right: 150px !important; }
.mgn-r200 { margin-right: 200px !important; }
.mgn-r250 { margin-right: 250px !important; }

.pdg-t0 { padding-top: 0px !important; }
.pdg-t5 { padding-top: 5px !important; }
.pdg-t10 { padding-top: 10px !important; }
.pdg-t15 { padding-top: 15px !important; }
.pdg-t20 { padding-top: 20px !important; }
.pdg-t30 { padding-top: 30px !important; }
.pdg-t40 { padding-top: 40px !important; }
.pdg-t50 { padding-top: 50px !important; }
.pdg-t60 { padding-top: 60px !important; }
.pdg-t70 { padding-top: 70px !important; }
.pdg-t80 { padding-top: 80px !important; }
.pdg-t90 { padding-top: 90px !important; }
.pdg-t100 { padding-top: 100px !important; }
.pdg-t110 { padding-top: 110px !important; }
.pdg-t120 { padding-top: 120px !important; }
.pdg-t130 { padding-top: 130px !important; }
.pdg-t140 { padding-top: 140px !important; }
.pdg-t150 { padding-top: 150px !important; }
.pdg-t200 { padding-top: 200px !important; }
.pdg-t250 { padding-top: 250px !important; }

.pdg-b0 { padding-bottom: 0px !important; }
.pdg-b5 { padding-bottom: 5px !important; }
.pdg-b10 { padding-bottom: 10px !important; }
.pdg-b15 { padding-bottom: 15px !important; }
.pdg-b20 { padding-bottom: 20px !important; }
.pdg-b30 { padding-bottom: 30px !important; }
.pdg-b40 { padding-bottom: 40px !important; }
.pdg-b50 { padding-bottom: 50px !important; }
.pdg-b60 { padding-bottom: 60px !important; }
.pdg-b70 { padding-bottom: 70px !important; }
.pdg-b80 { padding-bottom: 80px !important; }
.pdg-b90 { padding-bottom: 90px !important; }
.pdg-b100 { padding-bottom: 100px !important; }
.pdg-b110 { padding-bottom: 110px !important; }
.pdg-b120 { padding-bottom: 120px !important; }
.pdg-b130 { padding-bottom: 130px !important; }
.pdg-b140 { padding-bottom: 140px !important; }
.pdg-b150 { padding-bottom: 150px !important; }
.pdg-b200 { padding-bottom: 200px !important; }
.pdg-b250 { padding-bottom: 250px !important; }

.pdg-l0 { padding-left: 0px !important; }
.pdg-l5 { padding-left: 5px !important; }
.pdg-l10 { padding-left: 10px !important; }
.pdg-l15 { padding-left: 15px !important; }
.pdg-l20 { padding-left: 20px !important; }
.pdg-l30 { padding-left: 30px !important; }
.pdg-l40 { padding-left: 40px !important; }
.pdg-l50 { padding-left: 50px !important; }
.pdg-l60 { padding-left: 60px !important; }
.pdg-l70 { padding-left: 70px !important; }
.pdg-l80 { padding-left: 80px !important; }
.pdg-l90 { padding-left: 90px !important; }
.pdg-l100 { padding-left: 100px !important; }
.pdg-l110 { padding-left: 110px !important; }
.pdg-l120 { padding-left: 120px !important; }
.pdg-l130 { padding-left: 130px !important; }
.pdg-l140 { padding-left: 140px !important; }
.pdg-l150 { padding-left: 150px !important; }
.pdg-l200 { padding-left: 200px !important; }
.pdg-l250 { padding-left: 250px !important; }

.pdg-r0 { padding-right: 0px !important; }
.pdg-r5 { padding-right: 5px !important; }
.pdg-r10 { padding-right: 10px !important; }
.pdg-r15 { padding-right: 15px !important; }
.pdg-r20 { padding-right: 20px !important; }
.pdg-r30 { padding-right: 30px !important; }
.pdg-r40 { padding-right: 40px !important; }
.pdg-r50 { padding-right: 50px !important; }
.pdg-r60 { padding-right: 60px !important; }
.pdg-r70 { padding-right: 70px !important; }
.pdg-r80 { padding-right: 80px !important; }
.pdg-r90 { padding-right: 90px !important; }
.pdg-r100 { padding-right: 100px !important; }
.pdg-r110 { padding-right: 110px !important; }
.pdg-r120 { padding-right: 120px !important; }
.pdg-r130 { padding-right: 130px !important; }
.pdg-r140 { padding-right: 140px !important; }
.pdg-r150 { padding-right: 150px !important; }
.pdg-r200 { padding-right: 200px !important; }
.pdg-r250 { padding-right: 250px !important; }

/* 使用頻度の高いコンテンツの初期化 */
/*---------------------------------------------------*/
.breadcrumb li {  }
.breadcrumb li a {  }
.pager li {  }
.pager a {  }

/* 縦並びリスト display: block; */
/*---------------------------------------------------*/
.parent-block > * { display: block; }

/* 横並びリスト display: inline; */
/*---------------------------------------------------*/
.parent-inline > * { display: inline; }

/* 横並びリスト display: table; */
/*---------------------------------------------------*/
/* 区切り文字オプション(半角スペースは消える場合がある) */
.nav-list.space li:last-child:after,
.nav-list.pipe li:last-child:after { content: ""; }
/* スペース */
.nav-list.space li { padding-left: 2em; }
.nav-list.space li:first-child { padding-left: 0; }
/* パイプ */
.nav-list.pipe li { padding-left: 1em; padding-right: 1em; border-left: 1px solid #cccccc; }
.nav-list.pipe li:first-child { padding-left: 0; border-left: none; }
.nav-list.pipe li:last-child { padding-right: 0; }

.nav-list {  }
.nav-list * { line-height: 1; }
.parent-table-cell, 
.nav-list ul, 
.nav-list ol, 
ul.nav-list, 
ol.nav-list {
	display: table;
	border-collapse: collapse;
}
.parent-table-cell > *, 
.nav-list li {
	display: table-cell;
	vertical-align: top;
}
.nav-list li,
.nav-list li img,
.nav-list li iframe {
	text-align: center;
	vertical-align: middle;
}
.nav-list li > a,
.nav-list li > span {
	width: 100%;
	text-align: left;
	vertical-align: middle;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	box-sizing: border-box;
}
.pager ul,
.pager ol,
ul.pager ,
ol.pager {
	margin: 0 auto;
	display: table;
	border-collapse: separate;
	border-spacing: 1px 0; 
}
.pager li,
.pager li a,
.pager li span {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.pager li a,
.pager li span {
	width: 15px;
	height: 15px;
	line-height: 15px;
}
.pager .first a,
.pager .prev a,
.pager .next a,
.pager .last a {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 15px 15px;
}

/* 横並びリスト display: inline-block; */
/*---------------------------------------------------*/
/* 区切り文字オプション(半角スペースは消える場合がある) */
/* 矢印 */
.content-list.arrow li:before { content: ">"; padding: 0 0.75em 0 0.75em; }
.content-list.arrow li:first-child:before { content: ""; padding: 0; }
/* スペース */
.content-list.space li:after { content: ""; padding: 0 0.75em; }
/* コンマ */
.content-list.comma li:after { content: "、"; }
/* スラッシュ */
.content-list.slash li:after { content: "/"; padding: 0 0.75em; }
/* パイプ */
.content-list.pipe li:after { content: "|"; padding: 0 0.75em; }
/*  */
.content-list.space li:last-child:after,
.content-list.comma li:last-child:after,
.content-list.slash li:last-child:after,
.content-list.pipe li:last-child:after { content: ""; padding: 0; }

/* 横並び表示の際、HTMLで改行した場合に生じる左右の余白を消す */
.breadcrumb ul/*, 
.pager ul, 
.pager ol*/, 
.content-list, 
.content-list > .title + *,
.parent-inline-block, 
.parent-inline, 
.split2, 
.split3, 
.split4, 
.split5, 
.split6 { letter-spacing: -1em; word-spacing: -1em; }

:root .breadcrumb ul/*, 
:root .pager ul, 
:root .pager ol*/ { font-size: 0 !important; letter-spacing: -1px; }

:root .content-list, 
:root .content-list > .title + *,
:root .parent-inline-block,
:root .parent-inline, 
:root .split2, 
:root .split3, 
:root .split4, 
:root .split5, 
:root .split6 { font-size: 0 !important; letter-spacing: -1px; word-spacing: -1px; }

.breadcrumb ul */*, 
.pager ul *, 
.pager ol **/, 
.content-list li, 
.content-list > .title, 
.content-list > .title + * > li,
.parent-inline-block > *,
.parent-inline > *, 
.split2 .part, 
.split3 .part, 
.split4 .part, 
.split5 .part, 
.split6 .part
 { font-size: 1rem; letter-spacing: normal; word-spacing: normal; vertical-align: top; display: inline-block; *display: inline; *zoom: 1; }

.parent-inline > * {
	vertical-align: baseline;
	display: inline;
}

.breadcrumb ul */*, 
.pager ul *, 
.pager ol **/, 
.content-list * {
	vertical-align: middle;
}

/* 横並びリストオプション タイトル付き */
.content-list > .title { padding-right: 2em; vertical-align: baseline; display: table-cell; white-space: nowrap; }
.content-list > .title + * { vertical-align: baseline; display: table-cell; }
.content-list > .title + * > li { vertical-align: baseline; }

/* 横分割　IE8以下、Android4.3以下では使用不能。 */
.split2 .part p, 
.split3 .part p, 
.split4 .part p, 
.split5 .part p, 
.split6 .part p {
	text-align: justify;
}

.split2, 
.split3, 
.split4, 
.split5, 
.split6 { margin: -5px; text-align: justify; }/*original: { margin: -15px; text-align: justify; }*/

.split2 .part, 
.split3 .part, 
.split4 .part, 
.split5 .part, 
.split6 .part { margin: 5px; box-sizing: border-box; }

.split2 .part { width: calc(100% / 2 - (5px * 2)); }
.split2 .x2 { width: calc(100% / 2 * 2 - (5px * 2)); }

.split3 .part { width: calc(100% / 3 - (5px * 2)); }
.split3 .x2 { width: calc(100% / 3 * 2 - (5px * 2)); }
.split3 .x3 { width: calc(100% / 3 * 3 - (5px * 2)); }

.split4 .part { width: calc(100% / 4 - (5px * 2)); }
.split4 .x2 { width: calc(100% / 4 * 2 - (5px * 2)); }
.split4 .x3 { width: calc(100% / 4 * 3 - (5px * 2)); }
.split4 .x4 { width: calc(100% / 4 * 4 - (5px * 2)); }

.split5 .part { width: calc(100% / 5 - (5px * 2)); }
.split5 .x2 { width: calc(100% / 5 * 2 - (5px * 2)); }
.split5 .x3 { width: calc(100% / 5 * 3 - (5px * 2)); }
.split5 .x4 { width: calc(100% / 5 * 4 - (5px * 2)); }
.split5 .x5 { width: calc(100% / 5 * 5 - (5px * 2)); }

.split6 .part { width: calc(100% / 6 - (5px * 2)); }
.split6 .x2 { width: calc(100% / 6 * 2 - (5px * 2)); }
.split6 .x3 { width: calc(100% / 6 * 3 - (5px * 2)); }
.split6 .x4 { width: calc(100% / 6 * 4 - (5px * 2)); }
.split6 .x5 { width: calc(100% / 6 * 5 - (5px * 2)); }
.split6 .x6 { width: calc(100% / 6 * 6 - (5px * 2)); }


/* 中央配置 */
/*---------------------------------------------------*/
.parent-absolute,
.thumbnail {
	display: block;
	position: relative;
}
.parent-absolute > *,
.thumbnail > *  {
	margin: auto;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}


/* サムネイル */
/*---------------------------------------------------*/
.thumbnail {
	/*margin: auto;*/
	/*max-width: 100%;*/
	box-sizing: border-box;
	overflow: hidden;
}
.thumbnail > * {
	/*line-height: 1;*/
	/*text-align: center;*/
}
.thumbnail > img {
	max-width: none;
	max-width: initial;
	max-height: none;
	max-height: initial;
	opacity: 0;
}
.thumbnail.landscape > img {
	max-width: none;
	max-width: initial;
	max-height: 100%;

	height: 100%;
	left: 50%;
	right: auto;
}
.thumbnail.portrait > img {
	max-width: 100%;
	max-height: auto;
	max-height: initial;

	width: 100%;
	top: 50%;
	bottom: auto;
}
.thumbnail.contain.landscape > img,
.thumbnail.contain.portrait > img,
.thumbnail.contain > img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
/* ↓.containのとき、横幅(縦幅)が足りないときに無理やり横幅100%にする必要がある場合(なければコメントアウト) */
.thumbnail.contain.landscape > img {
	width: 100%;
	height: auto;
}
.thumbnail.contain.portrait > img {
	width: auto;
	height: 100%;
}
/* ↑.containのとき、横幅(縦幅)が足りないときに無理やり横幅100%にする必要がある場合(なければコメントアウト) */


/* サムネイル */
/*---------------------------------------------------*/
.parent-youtube {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.parent-youtube iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}


/* トグルボタン */
/*---------------------------------------------------*/
.toggle-button {
	position: relative;
	cursor: pointer;
}
.toggle-button .arrow,
.toggle-button .icon {
	margin-top: -7px;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 10px;
	cursor: pointer;
}
.toggle-button .arrow {
	background: url(../images/icon-arrow-bottom.png) no-repeat right center;
	background-size: 15px 15px;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
	transition: transform 0.25s ease-in-out 0;
}
.toggle-button.active .arrow {
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
}
.toggle-button .icon {
	background: url(../images/icon-plus.png) no-repeat right center;
	background-size: 15px 15px;
}
.toggle-button.active .icon {
	background-image: url(../images/icon-minus.png);
}
.toggle-content {
	display: none;
}


/* タブボタン */
/*---------------------------------------------------*/
.parent-tab-button {
	/*margin: 0 -1px;*/
}
.parent-tab-button ul,
.parent-tab-button ol,
ul.parent-tab-button,
ol.parent-tab-button {
	display: table;
	width: 100%;
}
.parent-tab-button li {
	text-align: center;
	vertical-align: middle;
	display: table-cell;
}
.parent-tab-button a {
	padding: 10px;
/*
	border: 1px solid #cccccc;
	border-bottom: none;
	background: #eeeeee;
*/
	color: #333333;
}
.parent-tab-button a:hover,
.parent-tab-button .current a {
/*
	background: #ffffff;
*/
}
.parent-tab-button .current {  }
.parent-tab-button .current a {
/*
	margin-bottom: -1px;
	padding-bottom: 11px;
*/
	position: relative;
}
.parent-tab-button li > a,
.parent-tab-button li > span {
	width: 100%;
	text-align: center;
	vertical-align: middle;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	box-sizing: border-box;
}
.parent-tab-content {
/*
	border: 1px solid #cccccc;
	background: #ffffff;
*/
}
.tab-content {
	padding: 15px;
	display: none;
}

/* ポップアップ */
/*---------------------------------------------------*/
.parent-popup-content.active,
.parent-popup-content.active .popup-background,
.popup-content.active {
	display: block;
}
.parent-popup-content {
	width: 100%;
	height: 100%;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
}
.popup-background {
	margin: auto;
	background: rgba(0,0,0,0.75);
	display: none;
	position: absolute;
	top: -10px;
	right: -10px;
	bottom: -10px;
	left: -10px;
}
.popup-content {
	margin: auto;
	display: none;
	position: absolute;
	top: 30px;
	right: 30px;
	bottom: 30px;
	left: 30px;
	/*overflow-y: auto;*/
	/*overflow: auto;*/
}
.popup-button-close {
	margin: auto;
	position: absolute;
	top: 10px;
	right: 10px;
	overflow-y: auto;
	cursor: pointer;
}


/* その他 */
/*---------------------------------------------------*/
/* いいねボタンの横幅が途切れてしまう現象への対策 */
.fb-like iframe {
	max-width: none !important;
}


/* 以下、レスポンシブ対応でなければ削除 */
/*----------------------------------------------------------------------------------
   ブレイクポイントは480,770。
----------------------------------------------------------------------------------*/

/* table */
.parent-table, table, thead, tbody, tfoot, tr, th, td {
	border: 1px none #cccccc;
}
.parent-table {  }

/* table 枠線なし */
.parent-table.no-border,
.parent-table.no-border thead,
.parent-table.no-border tbody,
.parent-table.no-border tfoot,
.parent-table.no-border tr,
.parent-table.no-border th,
.parent-table.no-border td,
table.no-border thead,
table.no-border tbody,
table.no-border tfoot,
table.no-border tr,
table.no-border th,
table.no-border td,
.parent-table.no-border tr:first-child,
.parent-table.no-border tr:last-child,
body table.no-border tr:first-child,
body table.no-border tr:last-child { border-style: none; }

/* table タブレットより小さい場合レスポンシブ表示する場合 */
.break-tab {  }

/* table レスポンシブにしない場合 */
.not-responsive {  }

td,
th { border-style: solid; padding: 15px; }

/* 繰り返しのパーツ */
.responsive-list {  }
.responsive-list a {  }
.responsive-list .part {  }
.responsive-list .part a {  }

/* はみ出し */
table,
thead,
tbody,
tfoot,
tr,
th,
td,
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="password"],
textarea,
select {
	max-width: 100% !important;
	box-sizing: border-box;
}












@media only screen and (min-width: 1px) and (max-width: 480px) {
	/* 画面サイズによって非表示 */
	.only-pc { display: none !important; }
	.only-tab { display: none !important; }
	.only-sp { display: block !important; }

	.over-pc { display: none !important; }
	.over-tab { display: none !important; }
	.over-sp {  }

	.under-pc {  }
	.under-tab {  }
	.under-sp {  }

	/* 画面サイズによってdisplay: block; */
	.break-only-pc { display: inline !important; }
	.break-only-tab { display: inline !important; }
	.break-only-sp { display: block !important; }

	.break-over-pc { display: inline !important; }
	.break-over-tab { display: inline !important; }
	.break-over-sp { display: block !important; }

	.break-under-pc { display: block !important; }
	.break-under-tab { display: block !important; }
	.break-under-sp { display: block !important; }

	/* clearfix、回り込み */
	.left:not(.not-responsive),
	.right:not(.not-responsive),
	.parent-left:not(.not-responsive) > *,
	.parent-right:not(.not-responsive) > * {
		width: auto;
		display: block;
		float: none;
	}

	/* table */
	table { display: block; }
	thead,
	tbody,
	tfoot,
	tr,
	th,
	td {
		width: 100% !important;
		border-style: none;
		display: block;
	}
	table:not(.no-border) thead,
	table:not(.no-border) tbody,
	table:not(.no-border) tfoot {
		border-right-style: solid;
		border-left-style: solid;
	}
	table:not(.no-border) thead { margin-bottom: 5px; }
	table:not(.no-border) tr {
		border-top-style: solid;
	}
	table:not(.no-border) tr:last-child {
		border-bottom-style: solid;
	}
	table:not(.no-border) th,
	table:not(.no-border) td {
		border-bottom-style: dotted;
	}
	th,
	td {
		padding: 7px !important;
	}
	td:last-child,
	th:last-child,
	table:not(.no-border) td:last-child,
	table:not(.no-border) th:last-child {
		border-bottom-style: none;
	}
	table.not-responsive thead,
	table.not-responsive tbody,
	table.not-responsive tfoot {
		border-right-style: none;
		border-left-style: none;
	}
	table.not-responsive,
	table.not-responsive table { width: 100%; display: table; }
	table.not-responsive thead { display: table-header-group; }
	table.not-responsive tbody { display: table-row-group; }
	table.not-responsive tfoot { display: table-footer-group; }
	table.not-responsive tr { display: table-row; }
	table.not-responsive th,
	table.not-responsive td { display: table-cell; }
	table.not-responsive th,
	table.not-responsive td {
		width: auto !important;
	}
	table.not-responsive:not(.no-border) th,
	table.not-responsive:not(.no-border) td {
		border-style: solid;	
	}
	body .content-list > .title,
	body .parent-table-cell, 
	body .nav-list ul, 
	body .nav-list ol, 
	body ul.nav-list, 
	body ol.nav-list {
		width: auto;
		display: block;
	}
	body .content-list > .title + *,
	body .parent-table-cell > *, 
	body .nav-list li, 
	body .nav-list li a {
		margin-left: 0;
		margin-right: 0;
		width: auto;
		display: block;
	}

	/* 非レスポンシブ */
	.parent-table-cell.not-responsive, 
	.nav-list ul.not-responsive, 
	.nav-list ol.not-responsive, 
	ul.nav-list.not-responsive, 
	ol.nav-list.not-responsive { width: 100%; display: table; }
	.parent-table-cell.not-responsive > *, 
	.nav-list.not-responsive li, 
	.nav-list.not-responsive li a { display: table-cell; }

	/* table 枠線なし */
	.no-border th,
	.no-border td {
		padding: 7px 0 !important;
		border-bottom-style: dotted;
	}

	/* 区切り文字オプション(半角スペースは消える場合がある) */
	/* パイプ */
	.nav-list.pipe li { padding-left: 0; padding-right: 0; border-left: none; }
	.nav-list.pipe li:first-child { padding-left: 0; }
	.nav-list.pipe li:last-child { padding-right: 0; }
	/* スペース */
	.nav-list.space li { padding-left: 0; }
	.nav-list.space.not-responsive li { padding-left: 2em; }
	.nav-list.space.not-responsive li:first-child { padding-left: 0; }
	/* パイプ */
	.nav-list.pipe.not-responsive li { padding-left: 0.5em; padding-right: 0.5em; border-left: 1px solid #cccccc; }
	.nav-list.pipe.not-responsive li:first-child { padding-left: 0; border-left: none; }
	.nav-list.pipe.not-responsive li:last-child { padding-right: 0; }

	/* form */
	input[type="text"],
	input[type="tel"],
	input[type="email"],
	input[type="url"],
	input[type="number"],
	input[type="password"],
	textarea,
	select {
		width: 100%;
		display: block;
	}

	/* 横幅に合わせる */
	body .split2:not(.not-responsive), 
	body .split3:not(.not-responsive), 
	body .split4:not(.not-responsive), 
	body .split5:not(.not-responsive), 
	body .split6:not(.not-responsive) {
		margin: 0;
	}
	body .split2:not(.not-responsive) .part,
	body .split3:not(.not-responsive) .part,
	body .split4:not(.not-responsive) .part,
	body .split5:not(.not-responsive) .part,
	body .split6:not(.not-responsive) .part {
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 0;
		width: auto;
		float: none;
		display: block;
	}
	body .split2:not(.not-responsive) .part:first-child,
	body .split3:not(.not-responsive) .part:first-child,
	body .split4:not(.not-responsive) .part:first-child,
	body .split5:not(.not-responsive) .part:first-child,
	body .split6:not(.not-responsive) .part:first-child {
		margin-top: 0;
	}
}