@charset "utf-8";
/*@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@100;200;300;400;500&family=Zen+Kaku+Gothic+Antique:wght@300;400;500;700&display=swap');
@import url('swiper/dist/css/swiper.css');
@import '../../common/css/print.css' print;

/* all
---------------------------------------------------------------------------*/
body {
  font-size: 1.44em;
  font-weight: 400;
  font-family: 'Roboto Mono', 'Zen Kaku Gothic Antique', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif, monospace;
  line-height: 1.5;
  letter-spacing: 0.048em;
  color: #2a2a2a;
  background: #fff;
  position: relative;
  overflow-x: hidden;
	-webkit-text-size-adjust: none; }

.txtC {text-align: center!important;}
.txtR {text-align: right!important;}
.txtL {text-align: left!important;}

.fontS, small {font-size: 1.04rem!important;}
.com {font-size: 1.2rem!important;color:#e6e6e6;}
.fontM {font-size: 1.44rem!important;}
.fontL {font-size: 1.68rem!important;}
.fontLL {font-size: 1.92rem!important;}

.fontB {font-weight: bold!important;}

.fcR {color: #EA3A11!important;}

/* sup, sub */
sup {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
  margin-right: 0.2em; }
sub {
  font-size: 70%;
  vertical-align: bottom;
  position: relative;
  top: 0.2em;
  margin-right: 0.2em; }

@media screen and (max-width: 480px) {
  body {
    font-size: 3.8vw; }
}

/* wrap
---------------------------------------------------------------------------*/
.wrap {
  max-width: 1366px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 32px;
  padding-right: 32px; }

/* a
---------------------------------------------------------------------------*/
a {
  color: #2a2a2a;
  text-decoration: none; }
main a {
  text-decoration: underline; }
a:hover {
  cursor: pointer; }
/*a:hover img {
  opacity: .8; }*/

/* h-tag
---------------------------------------------------------------------------*/
h2, h3, h4, h5, h6 {
  color: #2a2a2a;
  font-weight: 500; }

/* h2 */
h2 {
  font-size: 2.56rem; }

/* h3 */
h3 {
  font-size: 2.32rem; }

/* h4 */
h4 {
  font-size: 2.08rem; }

/* h5 */
h5 {
  font-size: 2.08rem; }

/* h6 */
h6 {
  font-size: 1.84rem; }

/* btn
---------------------------------------------------------------------------*/
button {
  position: relative; }
button a {
  text-decoration: none; }

button.btnA {
  width: 128px;
  color: #fff;
  background: #2a2a2a;
  padding: 0.32em 1.5em;
  display: flex;
  justify-content: center;
  align-items: center; }

/* ul
---------------------------------------------------------------------------*/
ul[class^="list"] {
  line-height: 1.6; }

/* ol
---------------------------------------------------------------------------*/
ol[class^="list"] li {
  position: relative;
  line-height: 1.6;
  margin-left: 2.08em; }
ol[class^="list"] li::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: -1.44em; }

/*ol.listA li {
  margin-left: 1.3em; }*/
ol.listA.ttl li span {
  display: block;
  font-weight: bold;
  margin-bottom: 0.4em; }
ol.listA.ttl li::before {
  font-weight: bold; }
ol.listA.ttl li + li {
  margin-top: 1.6em; }

ol.listB > li::before {
  left: -1.2em; }
ol.listB > li:nth-child(1)::before {
  content: '①'; }
ol.listB > li:nth-child(2)::before {
  content: '②'; }
ol.listB > li:nth-child(3)::before {
  content: '③'; }
ol.listB > li:nth-child(4)::before {
  content: '④'; }
ol.listB > li:nth-child(5)::before {
  content: '⑤'; }
ol.listB > li:nth-child(6)::before {
  content: '⑥'; }
ol.listB > li:nth-child(7)::before {
  content: '⑦'; }
ol.listB > li:nth-child(8)::before {
  content: '⑧'; }
ol.listB > li:nth-child(9)::before {
  content: '⑨'; }
ol.listB > li:nth-child(10)::before {
  content: '⑩'; }

/* dl
---------------------------------------------------------------------------*/
dl[class^="list"] dt {
  width: 8em;
  white-space: nowrap;
  float: left;
  clear: both; }
dl[class^="list"] dd {
  margin-left: 8em; }
dl[class^="list"] dt:not(:first-child) + dd,
dl[class^="list"] dd + dt {
  margin-top: 0.8em; }

/* table
---------------------------------------------------------------------------*/
table[class^="table"] td,
table[class^="table"] th {
  padding: 0.24em 0.64em;
  border: solid 1px rgba(0,0,0, .32); }
table[class^="table"] th {
  vertical-align: middle; }
table[class^="table"].ttlC th {
  text-align: center; }
table[class^="table"].ttlR th {
  text-align: right; }
table[class^="table"].ttlL th {
  text-align: left; }

table[class^="table"] .widthSSS {width: 80px;}
table[class^="table"] .widthSS {width: 120px;}
table[class^="table"] .widthS {width: 160px;}
table[class^="table"] .widthM {width: 200px;}
table[class^="table"] .widthL {width: 410px;}
table[class^="table"] .width100p {width: 100%;}

/*table.tableA.border-top th {
  text-align: left; }
table.tableA.border-top tr:not(:last-of-type) th {
  border-bottom: none!important; }
table.tableA.border-top tr:not(:first-of-type) th {
  border-top: solid 1px rgba(0,0,0, .32); }*/

@media screen and (max-width: 880px) {
  /* 横スワイプ */
  /*table.tableA {
    overflow: auto;
    white-space: nowrap;
    display: block;
    width: auto; }
  table.tableA th {
    white-space: nowrap; }*/

  /* 縦並び */
  table.tableB {
    width: 100%; }
  table.tableB th,
  table.tableB td {
    width: 100%;
    display: block; }
}
@media screen and (max-width: 500px) {
  table[class^="table"] .widthSSS,
  table[class^="table"] .widthSS,
  table[class^="table"] .widthS,
  table[class^="table"] .widthM,
  table[class^="table"] .widthL {width: 100%;}
}

/* flex-wrap
---------------------------------------------------------------------------*/
.flex-wrap {
  display: flex;
  flex-wrap: wrap; }
.flex-wrap li figure {
  text-align: center; }

/* 1 */
.flex-wrap.one li {
  width: 100%; }
.flex-wrap.one li + li {
  margin-top: 2.4em; }

/* 2 */
.flex-wrap.two {
  align-items: center; }
.flex-wrap.two.top {
  align-items: flex-start; }
.flex-wrap.two li {
  width: calc((100% - 6.4em) / 2); }
.flex-wrap.two li:nth-child(2n) {
  margin-left: 6.4em; }
.flex-wrap.two li:nth-child(n + 3) {
  margin-top: 2.4em; }
.flex-wrap.two.reverse {
  flex-direction: row-reverse; }
.flex-wrap.two.reverse li:nth-child(2n) {
  margin-left: 0;
  margin-right: 6.4em; }

/* 3 */
.flex-wrap.three li {
  width: calc((100% - 3.2em) / 3); }
.flex-wrap.three li:not(:nth-child(3n - 2)) {
  margin-left: 1.6em; }
.flex-wrap.three li:nth-child(n + 4) {
  margin-top: 2.4em; }

/* 4 */
.flex-wrap.four li {
  width: calc((100% - 4.8em) / 4); }
.flex-wrap.four li:not(:nth-child(4n - 3)) {
  margin-left: 1.6em; }
.flex-wrap.four li:nth-child(n + 5) {
  margin-top: 2.4em; }

/* 5 */
.flex-wrap.five li {
  width: calc((100% - 6.4em) / 5); }
.flex-wrap.five li:not(:nth-child(5n - 4)) {
  margin-left: 1.6em; }
.flex-wrap.five li:nth-child(n + 6) {
  margin-top: 2.4em; }

/* 6 */
.flex-wrap.six li {
  width: calc((100% - 8em) / 6); }
.flex-wrap.six li:not(:nth-child(6n - 5)) {
  margin-left: 1.6em; }
.flex-wrap.six li:nth-child(n + 7) {
  margin-top: 2.4em; }

@media screen and (max-width: 880px) {
  .flex-wrap.four li,
  .flex-wrap.five li,
  .flex-wrap.six li {
    width: calc((100% - 3.2em) / 3); }
  .flex-wrap.four li:not(:nth-child(4n - 3)),
  .flex-wrap.five li:not(:nth-child(5n - 4)),
  .flex-wrap.six li:not(:nth-child(6n - 5)) {
    margin-left: 0; }
  .flex-wrap.four li:nth-child(n + 5),
  .flex-wrap.five li:nth-child(n + 6),
  .flex-wrap.six li:nth-child(n + 7) {
    margin-top: 0; }
  .flex-wrap.four li:not(:nth-child(3n - 2)),
  .flex-wrap.five li:not(:nth-child(3n - 2)),
  .flex-wrap.six li:not(:nth-child(3n - 2)) {
    margin-left: 1.6em; }
  .flex-wrap.four li:nth-child(n + 4),
  .flex-wrap.five li:nth-child(n + 4),
  .flex-wrap.six li:nth-child(n + 4) {
    margin-top: 2.4em; }
  
  .flex-wrap.two li {
    width: 100%; }
  .flex-wrap.two li:nth-child(2n) {
    margin-left: 0; }
  .flex-wrap.two.reverse li:nth-child(2n) {
    margin-right: 0; }
  .flex-wrap.two li + li {
    margin-top: 2.4em; }
}
@media screen and (max-width: 640px) {
  .flex-wrap.three li,
  .flex-wrap.four li,
  .flex-wrap.five li,
  .flex-wrap.six li {
    width: calc((100% - 1.6em) / 2); }
  .flex-wrap.three li:not(:nth-child(3n - 2)),
  .flex-wrap.four li:not(:nth-child(3n - 2)),
  .flex-wrap.five li:not(:nth-child(3n - 2)),
  .flex-wrap.six li:not(:nth-child(3n - 2)) {
    margin-left: 0; }
  .flex-wrap.three li:nth-child(n + 4),
  .flex-wrap.four li:nth-child(n + 4),
  .flex-wrap.five li:nth-child(n + 4),
  .flex-wrap.six li:nth-child(n + 4) {
    margin-top: 0; }
  .flex-wrap.three li:nth-child(2n),
  .flex-wrap.four li:nth-child(2n),
  .flex-wrap.five li:nth-child(2n),
  .flex-wrap.six li:nth-child(2n) {
    margin-left: 1.6em; }
  .flex-wrap.three li:nth-child(n + 3),
  .flex-wrap.four li:nth-child(n + 3),
  .flex-wrap.five li:nth-child(n + 3),
  .flex-wrap.six li:nth-child(n + 3) {
    margin-top: 2.4em; }
}
@media screen and (max-width: 500px) {
  .flex-wrap {
    margin-top: 48px; }
  .flex-wrap.two li,
  .flex-wrap.three li,
  .flex-wrap.four li,
  .flex-wrap.five li,
  .flex-wrap.six li {
    width: 100%; }
  .flex-wrap.two li:nth-child(2n),
  .flex-wrap.three li:nth-child(2n),
  .flex-wrap.four li:nth-child(2n),
  .flex-wrap.five li:nth-child(2n),
  .flex-wrap.six li:nth-child(2n) {
    margin-left: 0; }
  .flex-wrap.three li:nth-child(n + 3),
  .flex-wrap.four li:nth-child(n + 3),
  .flex-wrap.five li:nth-child(n + 3),
  .flex-wrap.six li:nth-child(n + 3),
  .flex-wrap li + li {
    margin-top: 2.4em; }
}

/* breadcrumbs
---------------------------------------------------------------------------*/
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center; }
.breadcrumbs ol li {
  padding: 0.2em 0; }
.breadcrumbs ol li,
.breadcrumbs ol li a {
  color: #2a2a2a; }
.breadcrumbs ol li a:hover {
  color: #666; }
.breadcrumbs li + li::before {
  content: "";
  padding: 0 0.64em; }

/* to top
---------------------------------------------------------------------------*/
#toTop a {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 40px;
  right: 40px;
  transition: .32s ease;
  z-index: 998; }
#toTop a::before {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  margin-top: -0.12em;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
#toTop a:hover {
	transform: translateY(-0.32em);
  transition: .32s ease; }

/* nav
---------------------------------------------------------------------------*/
#gNav {
  width: 100%;
  background: #2a2a2a;
  position: relative; }
#gNav ol {
  display: flex;
  justify-content: space-between;
  align-items: center; }
#gNav ol > li {
  width: calc(100% / 6); }
#gNav ol > li > a {
  color: #fff;
  height: 48px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center; }

/* 入れ子（幅100%） */
#gNav ol > li > ul {
  width: 100%;
  height: 0;
  background: #fff;
  padding: 0;
  position: absolute;
  top: 48px;
  left: 0;
  visibility: hidden;
  opacity: 0;
  transition: .16s ease; }
#gNav ol > li > ul h2,
#gNav ol > li > ul a {
  color: #2a2a2a; }

#gNav ol > li:hover > ul {
  height: auto;
  padding: 32px 32px 24px;
  visibility: visible;
  opacity: 1;
  transition: .48s ease; }

/* blankspace
---------------------------------------------------------------------------*/
main p {
  line-height: 2.1; }

.sub p + p,
h5 + div, h5 + p, h5 + ul, h5 + ol, h5 + dl {
  margin-top: 8px; }

h2 + div, h2 + p, h2 + ul, h2 + ol, h2 + dl, h2 + table, h2 + figure,
h3 + div, h3 + p, h3 + ul, h3 + ol, h3 + dl, h3 + table, h3 + figure,
h4 + div, h4 + p, h4 + ul, h4 + ol, h4 + dl, h4 + table, h4 + figure,
h5 + table, h5 + figure,
div + div, div + p, div + ul, div + ol, div + dl, div + table, div + figure,
p + div, p + ul, p + ol, p + dl, p + table, p + figure,
ul + div, ul + p, ul + ul, ul + ol, ul + dl, ul + table, ul + figure,
ol + div, ol + p, ol + ul, ol + ol, ol + dl, ol + table, ol + figure,
dl + div, dl + p, dl + ul, dl + ol, dl + dl, dl + table,
table + div, table + p, table + ul, table + ol, table + dl, table + table, table + figure,
figure + div, figure + p, figure + ul, figure + ol, figure + dl, figure + table, figure + figure {
  margin-top: 24px; }

h2 + ul {
  margin-top: 40px; }

.sub p + p.btnB,
h2 + h3,
h3 + h4,
h4 + h5 {
  margin-top: 64px; }

div + h3, div + h4, div + h5,
p + h3, p + h4, p + h5,
ul + h3, ul + h4, ul + h5,
ol + h3, ol + h4, ol + h5,
dl + h3, dl + h4, dl + h5,
table + h3, table + h4, table + h5,
figure + h3, figure + h4, figure + h5 {
  margin-top: 64px; }

div + div.wrap {
  margin-top: 96px; }
div + div.item {
  margin-top: 64px; }

/* sp-only
---------------------------------------------------------------------------*/
.spOnly {
  display: none; }

@media screen and (max-width: 720px) {
  .ptOnly {
    display: none; }
  .spOnly {
    display: block; }
}