/*********************************

page-privacy.scss

*********************************/
/*********************************

_variables.scss

*********************************/
/*********************************

_mixins.scss

*********************************/
/*********************************

_functions.scss

*********************************/
/*********************************

_base.scss

*********************************/
* {
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: normal;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  color: #000;
  background-color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

section {
  position: relative;
}

main {
  margin: 0 auto;
  padding: 99px 0 0;
  display: block;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  line-height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Hide HTML5 Up and Down arrows. */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

textarea {
  resize: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
a:hover {
  text-decoration: none !important;
  opacity: 0.8;
}

img {
  margin: 0 auto;
  display: block;
  width: 100%;
  height: auto;
}

ul {
  list-style-position: inside;
}

::-webkit-input-placeholder {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}

::placeholder,
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
button:hover {
  text-decoration: none !important;
  opacity: 0.8;
}

picture {
  display: block;
}

@media print, screen and (max-width: 1279px) and (min-width: 1000px) {
  main {
    padding: 7.734375vw 0 0;
  }
}
@media print, screen and (max-width: 999px) and (min-width: 394px) {
  main {
    padding: 10.1801801802vw 0 0;
  }
}
@media print, screen and (max-width: 393px) {
  main {
    padding: 10.1781170483vw 0 0;
  }
}
/*********************************

_misc.scss

*********************************/
/*********************************

_utilities.scss

*********************************/
.textCenter {
  text-align: center;
}

.displayNone {
  display: none;
}

.noDrag {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

@media print, screen and (min-width: 1000px) {
  .pcBlock {
    display: block;
  }
  .spBlock {
    display: none !important;
  }
  .mdspBlock {
    display: none !important;
  }
}
@media print, screen and (max-width: 999px) and (min-width: 394px) {
  .pcBlock {
    display: none !important;
  }
  .spBlock {
    display: none !important;
  }
  .mdBlock {
    display: block;
  }
}
@media print, screen and (max-width: 999px) {
  .pcBlock {
    display: none !important;
  }
  .spBlock {
    display: none !important;
  }
  .mdspBlock {
    display: block !important;
  }
}
@media print, screen and (max-width: 393px) {
  .pcBlock {
    display: none !important;
  }
  .mdBlock {
    display: none !important;
  }
  .spBlock {
    display: block !important;
  }
}
/*********************************

_page-privacy.scss

Long-form policy page: the shared KV band (same shape as `pageKv--company`)
over a plain prose column, closing on the shared contact-cta.

*********************************/
.pageKv--privacy .pageKv__container {
  position: relative;
  height: 308px;
  overflow: hidden;
}
.pageKv--privacy .pageKv__bg {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pageKv--privacy .pageKv__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.pageKv--privacy .pageKv__content {
  top: auto;
  bottom: 96px;
  left: 0;
  padding: 0 132px;
  display: block;
}
.pageKv--privacy .pageKv__contentTxt {
  padding-left: 0;
  width: 100%;
}
.pageKv--privacy .pageKv__infoTxt {
  margin: 0;
  font-size: 16px;
}
.pageKv--privacy .pageKv__infoTxt .separator {
  margin: 0 8px 0 11px;
}
.pageKv--privacy .pageKv__title {
  margin: 0;
  letter-spacing: 0.075em;
}

.privacyPolicy {
  padding: 54px 0 150px;
  background-color: #fff;
}
.privacyPolicy__container {
  margin: 0 auto;
  width: 1020px;
  max-width: 100%;
}
.privacyPolicy__section {
  margin-top: 44px;
}
.privacyPolicy__title {
  margin: 0;
  color: #1C1C1C;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.privacyPolicy__subTitle {
  margin: 24px 0 4px;
  color: #1C1C1C;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.privacyPolicy__subTitle.mt-0 {
  margin-top: 0;
}
.privacyPolicy__text {
  margin: 0 0;
  color: #1C1C1C;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.privacyPolicy__title + .privacyPolicy__text, .privacyPolicy__subTitle + .privacyPolicy__text {
  margin-top: 16px;
}
.privacyPolicy__title + .privacyPolicy__text.mt-0, .privacyPolicy__subTitle + .privacyPolicy__text.mt-0 {
  margin-top: 0;
}
.privacyPolicy__list {
  margin: 4px 0 0;
  padding: 0 0 0 18px;
  list-style: none;
}
.privacyPolicy__item {
  color: #1C1C1C;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
  position: relative;
}
.privacyPolicy__item:before {
  content: "";
  top: 0.8em;
  right: auto;
  bottom: auto;
  left: -13px;
  position: absolute;
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #1C1C1C;
}
.privacyPolicy__note {
  margin: 30px 0 0;
  color: #1C1C1C;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
  word-break: break-all;
}
.privacyPolicy__link {
  color: #1C1C1C;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
.privacyPolicy__link:hover {
  opacity: 0.7;
}

@media print, screen and (max-width: 1279px) and (min-width: 1000px) {
  .pageKv--privacy .pageKv__container {
    height: 24.0625vw;
  }
  .pageKv--privacy .pageKv__content {
    bottom: 7.5vw;
    padding: 0 10.3125vw;
  }
  .pageKv--privacy .pageKv__infoTxt {
    font-size: 1.25vw;
  }
  .pageKv--privacy .pageKv__infoTxt .separator {
    margin: 0 0.625vw 0 0.859375vw;
  }
  .privacyPolicy {
    padding: 3.90625vw 0 11.71875vw;
  }
  .privacyPolicy__container {
    width: 79.6875vw;
  }
  .privacyPolicy__section {
    margin-top: 3.4375vw;
  }
  .privacyPolicy__title {
    font-size: 1.40625vw;
  }
  .privacyPolicy__subTitle {
    margin: 1.875vw 0 0.3125vw;
    font-size: 1.25vw;
  }
  .privacyPolicy__text {
    margin: 0;
    font-size: 1.09375vw;
  }
  .privacyPolicy__title + .privacyPolicy__text, .privacyPolicy__subTitle + .privacyPolicy__text {
    margin-top: 1.25vw;
  }
  .privacyPolicy__list {
    margin: 0.3125vw 0 0;
    padding: 0 0 0 1.40625vw;
  }
  .privacyPolicy__item {
    font-size: 1.09375vw;
  }
  .privacyPolicy__item:before {
    left: -1.015625vw;
    width: 0.3125vw;
    height: 0.3125vw;
  }
  .privacyPolicy__note {
    margin: 2.34375vw 0 0;
    font-size: 1.015625vw;
  }
}
@media print, screen and (max-width: 999px) and (min-width: 394px) {
  .pageKv--privacy .pageKv__container {
    height: 55.975975976vw;
  }
  .pageKv--privacy .pageKv__bg:after {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.6);
  }
  .pageKv--privacy .pageKv__content {
    bottom: 9.6096096096vw;
    padding: 0 3.8138138138vw;
  }
  .pageKv--privacy .pageKv__infoTxt {
    font-size: 2.8028028028vw;
  }
  .pageKv--privacy .pageKv__infoTxt .separator {
    margin: 0 1.5315315315vw 0 2.032032032vw;
  }
  .pageKv--privacy .pageKv__infoTxt .en {
    font-size: 3.0530530531vw;
    letter-spacing: 1.021021021vw;
  }
  .pageKv--privacy .pageKv__title {
    font-size: 6.1061061061vw;
  }
  .privacyPolicy {
    padding: 7.6376376376vw 0 17.8178178178vw;
  }
  .privacyPolicy__container {
    padding: 0 3.8138138138vw;
    width: 100%;
  }
  .privacyPolicy__section {
    margin-top: 7.6376376376vw;
  }
  .privacyPolicy__title {
    font-size: 3.8138138138vw;
  }
  .privacyPolicy__subTitle {
    margin: 4.0740740741vw 0 1.021021021vw;
    font-size: 3.3033033033vw;
  }
  .privacyPolicy__text {
    margin: 0;
    font-size: 2.8528528529vw;
  }
  .privacyPolicy__title + .privacyPolicy__text, .privacyPolicy__subTitle + .privacyPolicy__text {
    margin-top: 2.5425425425vw;
  }
  .privacyPolicy__list {
    margin: 1.021021021vw 0 0;
    padding: 0 0 0 3.5635635636vw;
  }
  .privacyPolicy__item {
    font-size: 2.8528528529vw;
  }
  .privacyPolicy__item:before {
    left: -2.5425425425vw;
    width: 0.8008008008vw;
    height: 0.8008008008vw;
  }
  .privacyPolicy__note {
    margin: 5.0950950951vw 0 0;
    font-size: 2.6026026026vw;
  }
}
@media print, screen and (max-width: 393px) {
  .pageKv--privacy .pageKv__container {
    height: 55.9796437659vw;
  }
  .pageKv--privacy .pageKv__bg:after {
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.6);
  }
  .pageKv--privacy .pageKv__content {
    bottom: 9.6692111959vw;
    padding: 0 3.8167938931vw;
  }
  .pageKv--privacy .pageKv__infoTxt {
    font-size: 2.7989821883vw;
  }
  .pageKv--privacy .pageKv__infoTxt .separator {
    margin: 0 1.5267175573vw 0 2.0356234097vw;
  }
  .pageKv--privacy .pageKv__infoTxt .en {
    font-size: 3.0534351145vw;
    letter-spacing: 1.0178117048vw;
  }
  .pageKv--privacy .pageKv__title {
    font-size: 6.106870229vw;
  }
  .privacyPolicy {
    padding: 7.6335877863vw 0 17.8117048346vw;
  }
  .privacyPolicy__container {
    padding: 0 3.8167938931vw;
    width: 100%;
  }
  .privacyPolicy__section {
    margin-top: 7.6335877863vw;
  }
  .privacyPolicy__title {
    font-size: 3.8167938931vw;
  }
  .privacyPolicy__subTitle {
    margin: 4.0712468193vw 0 1.0178117048vw;
    font-size: 3.5623409669vw;
  }
  .privacyPolicy__text {
    margin: 0;
    font-size: 3.3078880407vw;
  }
  .privacyPolicy__title + .privacyPolicy__text, .privacyPolicy__subTitle + .privacyPolicy__text {
    margin-top: 2.5445292621vw;
  }
  .privacyPolicy__list {
    margin: 1.0178117048vw 0 0;
    padding: 0 0 0 3.5623409669vw;
  }
  .privacyPolicy__item {
    font-size: 3.3078880407vw;
  }
  .privacyPolicy__item:before {
    left: -2.5445292621vw;
    width: 0.7633587786vw;
    height: 0.7633587786vw;
  }
  .privacyPolicy__note {
    margin: 4.5801526718vw 0 0;
    font-size: 2.5445292621vw;
  }
}