@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:hover {
  /*	color: #767674;*/
  text-decoration: underline;
}

b,
strong {
  font-weight: bold;
}

em {
  font-weight: normal;
  font-style: normal;
}
small {
  font-size: 0.8em;
}
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.8em;
  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.2em;
}
.small {
  font-size: 0.8em;
}
.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;
}

/* 縦並びリスト 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 * {
  line-height: 1;
}
.parent-table-cell,
.nav-list ul,
.nav-list ol,
ul.nav-list,
ol.nav-list {
  display: table;
  border-collapse: collapse;
	margin-bottom: 10px;
}
.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));
  padding-left: 10px;
}
.split3 .x2 {
  width: calc(100% / 3 * 2 - (5px * 2));
	padding-left: 0;
}
.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 > 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.webp) 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.webp) no-repeat right center;
  background-size: 15px 15px;
}
.toggle-button.active .icon {
  background-image: url(../images/icon-minus.webp);
}
.toggle-content {
  display: none;
}

/* タブボタン */
/*---------------------------------------------------*/
.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 .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;
}

.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;
}

/* 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 タブレットより小さい場合レスポンシブ表示する場合 */

/* table レスポンシブにしない場合 */

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

/* 繰り返しのパーツ */

/* はみ出し */
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;
  }

  /* 画面サイズによって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;
  }
}
