article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block
}
audio, canvas, progress, video {
  display: inline-block
}
audio:not([controls]) {
  display: none;
  height: 0
}
template, [hidden] {
  display: none
}
*, ::before, ::after {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}
::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  font-family: sans-serif;
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%
}
body {
  margin: 0
}
h1 {
  font-size: 2em;
  margin: .67em 0
}
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
hr {
  height: 0;
  overflow: visible
}
nav ol, nav ul {
  list-style: none
}
abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}
b, strong {
  font-weight: inherit
}
b, strong {
  font-weight: bolder
}
dfn {
  font-style: italic
}
mark {
  background-color: #ffff00;
  color: #000000
}
progress {
  vertical-align: baseline
}
small {
  font-size: 83.3333%
}
sub, sup {
  font-size: 83.3333%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
::-moz-selection {
  background-color: #b3d4fc;
  color: #000000;
  text-shadow: none
}
::selection {
  background-color: #b3d4fc;
  color: #000000;
  text-shadow: none
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle
}
img {
  border-style: none
}
svg {
  fill: currentColor
}
svg:not(:root) {
  overflow: hidden
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects
}
a:hover {
  outline-width: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  font-size: 1em;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}
::-moz-focus-inner {
  border-style: none;
  padding: 0
}
:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em
}
legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
textarea {
  overflow: auto;
  resize: vertical
}
[type="checkbox"], [type="radio"] {
  padding: 0
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto
}
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
::-webkit-search-cancel-button, ::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-input-placeholder {
  color: inherit;
  opacity: .54
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
[aria-busy="true"] {
  cursor: progress
}
[aria-controls] {
  cursor: pointer
}
[aria-disabled] {
  cursor: default
}
a, area, button, input, label, select, textarea, [tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation
}
[hidden][aria-hidden="false"] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute
}
[hidden][aria-hidden="false"]:focus {
  clip: auto
}
*, *:after, *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility
}
a, abbr, acronym, address, applet, article, aside, audio, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
html {
  line-height: 1;
  font-size: 1.21951vw;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  line-break: strict;
  overflow-wrap: break-word
}
/*Cookieの使用及び外部送信についてのためのCSS*/
.p-privacy-cookie-table .c-table th, .p-privacy-cookie-table .c-table td {
  border: 1px solid #dddddd !important;
  font-size: 80%;
}
.c-table-scroll {
  overflow: auto;
  overflow-y: hidden;
  max-width: 100%;
}
.c-table--full {
  width: 100%;
}
.c-table, .c-contents table {
  font-size: 1rem;
  line-height: 1.8;
}
.c-contents div:last-child {
  margin-bottom: 0;
}
.c-table thead th, .c-contents table thead th, .c-table thead td, .c-contents table thead td {
  padding: 25px 20px;
  background-color: #f7f7f7;
}
.c-table th, .c-contents table th {
  font-weight: bold;
}
.c-table th, .c-contents table th, .c-table td, .c-contents table td {
  padding: 20px;
  text-align: left;
  vertical-align: top;
  border: 1px solid #dddddd;
  border-width: 1px 0 1px;
}
@media (max-width: 640px) {
  html {
    font-size: 4.268vw
  }
}
@media (min-width: 1312px) {
  html {
    font-size: 16px
  }
}
body {
  color: #000;
  position: relative;
  font-weight: 400;
  font-style: normal
}
@media (max-width: 640px) {
  body {
    width: 100%;
    min-width: initial;
    min-width: auto
  }
}
body.fixed {
  height: 100%;
  overflow: hidden
}
ol, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
table td {
  border: none
}
a {
  color: #000;
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s
}
a:hover {
  text-decoration: underline
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom
}
a img:hover {
  opacity: 0.7;
  -webkit-transition: .3s;
  transition: .3s
}
strong {
  font-weight: bold
}
p {
  line-height: 1.8
}
@media (max-width: 640px) {
  .only-pc {
    display: none
  }
}
.only-sp {
  display: none
}
@media (max-width: 640px) {
  .only-sp {
    display: block
  }
}
.container {
  width: 55rem;
  margin: 0 auto;
  padding: 0 1.25rem;
  position: relative
}
@media (max-width: 640px) {
  .container {
    width: 100%
  }
}
.pageHeader {
  padding-top: 5rem;
  margin-bottom: 3.75rem
}
@media (max-width: 640px) {
  .pageHeader {
    padding-top: 2.5rem;
    text-align: center
  }
}
.pageFooter {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  text-align: center;
  padding-top: 5rem;
  padding-bottom: 3.125rem
}
.pageFooter .links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 2;
  margin: 0 -1em 4.5rem -1em;
  letter-spacing: normal;
  font-size: .9375rem
}
@media (max-width: 640px) {
  .pageFooter .links {
    font-size: .6875rem;
    line-height: 1.8;
    margin-bottom: 2.1875rem
  }
}
.pageFooter .links li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}
.pageFooter .links li:not(:last-child):after {
  content: '';
  margin: 0 1em;
  width: 1px;
  height: 1em;
  background: #000;
  display: block;
  margin-top: .25rem
}
.pageFooter .logo {
  width: 13.125rem;
  margin: 0 auto 1.875rem auto
}
@media (max-width: 640px) {
  .pageFooter .logo {
    width: 10rem
  }
}
@media (max-width: 640px) {
  .pageFooter small {
    font-size: .625rem
  }
}
.commonPage {
  position: relative
}
@media (max-width: 640px) {
  .commonPage {
    font-size: .875rem
  }
}
.commonPage h1 {
  font-size: 1.625rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.1875rem;
  line-height: 1.3
}
@media (max-width: 640px) {
  .commonPage h1 {
    text-align: left;
    font-size: 1.375rem
  }
}
.commonPage .text-right {
  text-align: right
}
@media (max-width: 640px) {
  .commonPage .text-right {
    text-align: left
  }
}
.commonPage .text-sign {
  margin-bottom: 4.6875rem
}
@media (max-width: 640px) {
  .commonPage .text-sign {
    margin-bottom: 2.1875rem
  }
}
.commonPage .text-date {
  margin-top: 2.5rem
}
@media (max-width: 640px) {
  .commonPage .text-date {
    text-align: right;
    margin-top: 1.25rem
  }
}
.commonPage .text-bkBox {
  background: #000;
  color: #FFF;
  line-height: 1.6;
  padding: 1.5625rem;
  margin-top: 3.75rem
}
.commonPage .text-bkBox h3 {
  font-weight: 700;
  margin-bottom: .3125rem
}
.commonPage .text-bkBox p:last-child {
  margin-bottom: 0
}
.commonPage a {
  text-decoration: underline
}
.commonPage a:hover {
  text-decoration: none
}
.commonPage .page-initial {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: -6.875rem;
  right: -5rem
}
@media (max-width: 640px) {
  .commonPage .page-initial {
    position: static;
    font-size: 1rem;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    margin-bottom: 1.5625rem
  }
}
@media (max-width: 640px) {
  .commonPage p {
    font-size: .875rem;
    line-height: 2
  }
}
.privacy .privacy-description {
  margin-bottom: 4.6875rem
}
.privacy .privacy__body {
  margin-bottom: 4.375rem
}
@media (max-width: 640px) {
  .privacy .privacy__body {
    margin-bottom: 2.8125rem
  }
}
.privacy .privacy__body:last-child {
  margin-bottom: 0
}
.privacy .privacy__body h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.5625rem;
  line-height: 1.4
}
@media (max-width: 640px) {
  .privacy .privacy__body h2 {
    font-size: 1.0625rem
  }
}
.privacy .privacy__body p + .list-parent {
  margin-top: .46875rem
}
.privacy .privacy__body p + h2 {
  margin-top: 4.375rem
}
.privacy .privacy-table {
  width: 100%;
  margin-bottom: 1.875rem;
  margin-top: 1.25rem
}
.privacy .privacy-table.is-inList {
  width: calc(100% + 2.8125rem);
  margin-left: -2.8125rem
}
.privacy .privacy-table th {
  color: #fff;
  background: #3B4043;
  text-align: center;
  padding: 1.25rem
}
@media (max-width: 640px) {
  .privacy .privacy-table th {
    padding: .9375rem
  }
}
.privacy .privacy-table th.is-check {
  width: 15rem;
  border-left: 1px solid #DADADE
}
@media (max-width: 640px) {
  .privacy .privacy-table th.is-check {
    width: 35%
  }
}
.privacy .privacy-table th.is-head {
  width: 36.25rem;
  border-left: 1px solid #DADADE
}
@media (max-width: 640px) {
  .privacy .privacy-table th.is-head {
    width: 55%
  }
}
.privacy .privacy-table td {
  padding: 1.25rem;
  line-height: 1.6;
  border: 1px solid #DADADE
}
.privacy .privacy-table td p {
  padding-left: 1em
}
.privacy .privacy-table td.is-center {
  vertical-align: middle;
  text-align: center
}
.rule .rule-description {
  margin-bottom: 4.6875rem
}
.rule .rule__body {
  margin-bottom: 3.75rem
}
.rule .rule__body:last-child {
  margin-bottom: 0
}
.rule .rule__body h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.5625rem
}
.third p {
  text-align: center
}
@media (max-width: 640px) {
  .third p {
    text-align: left
  }
}
.cookie h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: .9375rem
}
.cookie p {
  margin-bottom: 3.75rem
}
.cookie .cookie-list dt {
  margin-bottom: .46875rem
}
.cookie .cookie-list dd {
  line-height: 1.8
}
.disclosure .description {
  margin-bottom: 1.875rem
}
.disclosure h2 {
  font-weight: 700;
  margin-bottom: .9375rem
}
.disclosure h3 {
  margin-bottom: .9375rem
}
.disclosure h4 {
  margin-bottom: .46875rem
}
.disclosure p {
  margin-bottom: 2.8125rem
}
.disclosure ul {
  line-height: 1.8;
  margin-bottom: 2.8125rem
}
.disclosure ul .is-nest li:before {
  content: '・'
}
.disclosure .text-bkBox {
  margin-top: 0;
  margin-bottom: 2.8125rem
}
.disclosure .list-parent {
  margin-bottom: 0
}
.overseas .list-parent {
  margin-bottom: 0
}
.overseas .list-parent li:not(:last-child) {
  margin-bottom: 2em
}
.mynumber h2 {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 1.875rem
}
.mynumber section {
  margin-bottom: 3.75rem
}
.mynumber .list-parent {
  margin-bottom: 0
}
.mynumber .list-parent .list-nest {
  margin-left: 1.5em;
  list-style: disc;
  margin-bottom: 0
}
.mynumber .list-parent .list-nest .nest-att {
  margin-left: -1.5em;
  list-style: none
}
.mynumber .list-normal {
  margin-bottom: .9375rem
}
.list-parent > li {
  counter-increment: cnt;
  line-height: 1.8;
  padding-left: 2.8125rem;
  position: relative
}
@media (max-width: 640px) {
  .list-parent > li {
    padding-left: 2.1875rem
  }
}
.list-parent > li:before {
  content: "（"counter(cnt) "）";
  position: absolute;
  left: 0
}
.list-parent > li:not(:last-child) {
  margin-bottom: .46875rem
}
.list-parent .list-nest {
  margin-bottom: 1.875rem
}
.list-parent + h3 {
  margin-top: 2em;
  margin-bottom: .46875rem
}
.list-normal {
  margin-left: 1.5em;
  list-style: disc;
  line-height: 1.8
}
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0
  }
  1% {
    display: block;
    opacity: 0
  }
  100% {
    display: block;
    opacity: 1
  }
}
@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0
  }
  1% {
    display: block;
    opacity: 0
  }
  100% {
    display: block;
    opacity: 1
  }
}
.clearfix::after {
  content: "";
  clear: both;
  display: block
}