@import url("https://fonts.googleapis.com/css2?family=Questrial&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Tangerine&display=swap");
@font-face {
  font-family: BrandonGrotesque;
  font-style: normal;
  font-weight: 400;
  src: url(/static/media/BrandonGrotesque-Regular.2ef29d62.ttf) format("truetype");
  unicode-range: U+0041-007a
}

@font-face {
  font-family: BrandonGrotesque;
  font-style: normal;
  font-weight: 700;
  src: url(/static/media/BrandonGrotesque-Bold.8b12f4d2.ttf) format("truetype");
  unicode-range: U+0041-007a
}

@font-face {
  font-family: "YuGothic";
  src: local("游ゴシック Medium"), local("Yu Gothic Medium"), local("游ゴシック体"), local(YuGothic)
}

html {
  font-size: 62.5%
}

body {
  -webkit-text-size-adjust: none;
  background: #fefefe;
  color: #999;
  font-family: YuGothic, Nunito, sans-serif;
  font-size: 1.3rem;
  line-height: 2;
  margin: 0;
  padding: 0
}

dd, dl, dt, figure, form, h1, h2, h3, h4, h5, li, ol, p {
  font-size: inherit;
  font-weight: 400;
  margin: 0;
  padding: 0
}

ul {
  font-size: inherit;
  font-weight: 400;
  margin: 0;
  padding: 0;
  list-style-type: none
}

ol {
  padding-bottom: 15px;
  padding-left: 40px
}

img {
  border: none;
  height: auto;
  max-width: 100vw;
  vertical-align: middle
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%
}

video {
  max-width: 100%
}

iframe {
  width: 100%
}

a {
  color: #999;
  transition: .2s
}

a:hover {
  color: #70b0eb;
  text-decoration: none
}

body {
  min-width: 320px
}

@media screen and (min-width: 820px) {
  [data-show=s] {
    display: none
  }
}

[data-show=m] {
  display: none
}

@media screen and (min-width: 820px) {
  [data-show=m] {
    display: block
  }
}

#contents {
  overflow: hidden
}

.icon-point, .icon-step {
  display: inline-block;
  font-size: 0;
  line-height: 0;
  min-width: 34px;
  overflow: hidden;
  position: relative
}

.icon-point img, .icon-step img {
  height: auto;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.icon-point:before {
  content: "";
  display: block;
  padding-top: 130.7692307692%
}

.icon-step:before {
  content: "";
  display: block;
  padding-top: 130.7692307692%;
  padding-top: 130.7692307692%
}

.icon-note {
  background-image: url(../img/icons/icon_note.svg);
  display: inline-block;
  height: 16px;
  width: 13px;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain
}

.icon-right:before {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/icons/icon_right.svg);
  content: "";
  display: block;
  padding-top: 171.3632901752%;
  width: 100%
}

.btn-signup {
  background-color: #0e223c;
  box-sizing: border-box;
  color: #fff;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  height: 52px;
  line-height: 52px;
  max-width: 560px;
  text-align: center;
  text-decoration: none;
  width: 100%
}

.btn-signup:hover {
  color: #fff
}

.btn-signup span {
  display: inline-block;
  padding: 0 0 0 17px;
  position: relative
}

.btn-signup span i {
  left: 0;
  margin: -8px 0 0;
  position: absolute;
  top: 50%
}

@media screen and (min-width: 820px) {
  .btn-signup {
    font-size: 1.369047619vw;
    height: auto;
    line-height: 1;
    padding: 1.3em 0;
    width: 33.3333333333%
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .btn-signup {
    font-size: 2.3rem
  }
}

.footer-link {
  text-align: center
}

.footer-link__inner {
  padding: 32px 6.4102564103% 70px
}

.footer-link__logo {
  margin: auto;
  max-width: 258px
}

.footer-link__button {
  padding: 16px 0 0
}

@media screen and (min-width: 820px) {
  .footer-link__outline {
    padding: 0 40px
  }
  .footer-link__inner {
    padding: 200px 0 120px
  }
  .footer-link__button {
    padding: 40px 0 0
  }
}

.about {
  background-color: #EBEBEB;
  padding: 0 0 0
}

.about-header__inner {
  position: relative
}

.about-header__image:before {
  background-image: url(../img/main/main_about_s.png);
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  /* padding-top: 119.4649446494% */
  padding-top: 100%;
  padding-bottom: 10%;
}

.about-header__text {
  font-size: 0;
  left: 50%;
  line-height: 0;
  margin: 105% 0 0;
  position: absolute;
  top: 0;
  transform: translate(-50%);
  width: 71.2820512821%
}

.about-header__text_sp {
  font-size: 14px;
  left: 50%;
  line-height: 1.1;
  text-align: center;
  font-weight: bold;
  font-family: "メイリオ", Meiryo, Osaka;
  text-shadow: 1px 2px 3px #808080;
  color: #444;
  margin: 100% 0 0;
  position: absolute;
  top: 0;
  transform: translate(-50%);
  width: 100%
}

@media screen and (min-width: 820px) {
  .about-header__image:before {
    background-image: url(../img/main/main_about_l.png);
    padding-top: 32.3714285714%;
    padding-bottom: 0%;
  }
  .about-header__text {
    font-size: 28px;
    left: 68%;
    line-height: 1.1;
    text-align: center;
    font-weight: bold;
    font-family: "メイリオ", Meiryo, Osaka;
    text-shadow: 1px 2px 3px #808080;
    color: #444;
    margin: 25% 0 0;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 100% auto
  }

  .about-header__text_sp {
    font-size: 0;
  }

}

.about-description__inner {
  padding: 30px 6.4102564103% 56px;
  position: relative
}

.about-description__body {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.9;
  position: relative;
  z-index: 1
}

.about-description__body p:not(:first-of-type) {
  margin: 2em 0 0
}

@media screen and (min-width: 820px) {
  .about-description__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
  .about-description__inner {
    padding: 10% 0 10%
  }
  .about-description__body {
    font-size: 1.55rem
  }
}

@media screen and (min-width: 1680px) {
  .about-description__body {
    font-size: 1.9rem
  }
}

@media screen and (min-width: 968px) {
  .about_description__body {
    font-size: 1.55rem;
    line-height: 1.8
  }
}

@media screen and (min-width: 1416px) {
  .about_description__body {
    font-size: 1.6rem
  }
}

.about-description__ptn1 {
  bottom: 28px;
  left: -10px;
  position: absolute;
  width: 200px
}

.about-description__ptn1:before {
  background-image: url(../img/backgrounds/bg_about_04_s.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 105.7621275548%;
  width: 100%
}

.about-description__ptn2 {
  position: absolute;
  right: 10px;
  top: 333px;
  width: 64px
}

.about-description__ptn2:before {
  background-image: url(../img/backgrounds/bg_about_05_s.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 105.3086419753%;
  width: 100%
}

@media screen and (min-width: 820px) {
  .about-description__ptn1 {
    bottom: 86px;
    left: -263px;
    width: 240px
  }
  .about-description__ptn2 {
    right: -217px;
    top: 206px;
    width: 106px
  }
}

.about-good {
  position: relative
}

.about-good__inner {
  padding: 5% 6.4102564103% 90px;
  position: relative;
  z-index: 1
}

.about-good__head {
  font-weight: 700
}

@media screen and (min-width: 820px) {
  .about-good__outline {
    padding: 10px 40px 0
  }
  .about-good__body {
    margin: 0 auto;
    max-width: 1133px
  }
}

.about-good__ptn1 {
  left: -18.2857142857%;
  margin-top: 2.8571428571%;
  position: absolute;
  top: 0;
  width: 71.7142857143%
}

.about-good__ptn1:before {
  background-image: url(../img/backgrounds/bg_about_02_s.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 38.172939495%;
  width: 100%
}

.about-good__ptn2 {
  bottom: 50px;
  position: absolute;
  right: 30px;
  width: 122px
}

.about-good__ptn2:before {
  background-image: url(../img/backgrounds/bg_about_03_s.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 45.4975530179%;
  width: 100%
}

@media screen and (min-width: 820px) {
  .about-good__ptn1 {
    bottom: auto;
    left: 0;
    top: 0;
    width: 360px
  }
  .about-good__ptn2 {
    bottom: 0;
    right: 30px;
    width: 151px
  }
}

.about-good__header {
  color: #444;
  font-size: 1.2rem;
  line-height: 1.7;
  padding: 0 0 32px;
  text-align: center
}

.about-good__header b {
  font-size: 2rem
}

@media screen and (min-width: 820px) {
  .about-good__header {
    font-size: 1.9rem;
    line-height: 1.5;
    padding: 0 0 40px
  }
  .about-good__header b {
    font-size: 3.2rem
  }
}

.about-good__items {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0 -2.7027027027%
}

.about-good__item {
  -ms-flex: 50% 0 0px;
  flex: 50% 0 0
}

.about-good__row {
  padding: 0 5.376344086%
}

@media screen and (min-width: 820px) {
  .about-good__items {
    margin: 0 -3.6187113857%
  }
  .about-good__item {
    -ms-flex: 33.33% 0 0px;
    flex: 33.33% 0 0
  }
  .about-good__row {
    padding: 0 10.1234567901%
  }
}

.about-good-item__icon {
  display: block;
  text-align: center;
}

.about-good-item__head {
  color: #444;
  display: block;
  font-size: 3.4523809524vw;
  font-weight: 700;
  line-height: 1.7;
  margin: 0 -2%;
  padding: 16px 0 19px;
  position: relative;
  text-align: center
}

.about-good-item__head:after {
  background-image: url(../img/backgrounds/bg_shopping-guide_02.svg);
  background-repeat: repeat-x;
  background-size: auto 4px;
  bottom: 0;
  content: "";
  display: block;
  height: 4px;
  left: 0;
  position: absolute;
  width: 100%
}

@media screen and (min-width: 420px) {
  .about-good-item__head {
    font-size: 1.2em
  }
}

.about-good-item dd {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.7;
  padding: 16px 0 56px
}

@media screen and (min-width: 820px) {
  .about-good-item__icon {
    text-align: center;
  }
  .about-good-item__head {
    font-size: 1.7699115044vw;
    line-height: 1.3;
    padding: 12px 0 24px
  }
}

@media screen and (min-width: 1130px) {
  .about-good-item__head {
    font-size: 2rem
  }
}

@media screen and (min-width: 820px) {
  .about-good-item__head:after {
    background-size: auto 6px;
    height: 6px
  }
  .about-good-item dd {
    font-size: 1.55rem;
    line-height: 1.9;
    padding: 24px 0 56px
  }
}

@media screen and (min-width: 1680px) {
  .about-good-item dd {
    font-size: 1.9rem
  }
}

.about-fromproducer {
  position: relative
}

.about-fromproducer:before {
  background-position: top;
  border-right: 1px solid red;
  top: 0
}

.about-fromproducer:after, .about-fromproducer:before {
  background-image: url(../img/backgrounds/bg_about_01_s.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  height: 50%;
  left: 0;
  position: absolute;
  width: 100%
}

.about-fromproducer:after {
  background-position: bottom;
  border-right: 1px solid blue;
  bottom: 0
}

@media screen and (min-width: 820px) {
  .about-fromproducer:after, .about-fromproducer:before {
    background-image: url(../img/backgrounds/bg_about_01_l.svg)
  }
}

.about-fromproducer__outline {
  padding: 29.7435897436% 0;
  position: relative;
  z-index: 1
}

.about-fromproducer__inner {
  padding: 0 6.4102564103%;
  position: relative;
  z-index: 2
}

.about-fromproducer__video {
  margin: auto;
  max-width: 624px;
  padding: 0 0 18.8571428571%;
  position: relative
}

@media screen and (min-width: 820px) {
  .about-fromproducer__outline {
    margin: 0 auto;
    max-width: 1133px;
    padding: 150px 40px 74px
  }
  .about-fromproducer__inner {
    padding: 0
  }
  .about-fromproducer__video {
    padding: 0 0 120px
  }
}

.about-fromproducer__head {
  margin: 0 auto;
  padding: 0 0 32px;
  position: relative;
  width: 84.5714285714%
}

.about-fromproducer__head:before {
  background-image: url(../img/texts/txt_about_01_s.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 7.9409940029%;
  width: 100%
}

.about-fromproducer__head span {
  color: transparent;
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0;
  z-index: -1
}

@media screen and (min-width: 820px) {
  .about-fromproducer__head {
    padding: 0 0 43px;
    width: 396px
  }
}

.about-video {
  overflow: hidden;
  position: relative;
  z-index: 1
}

.about-video:before {
  background-color: gray;
  content: "";
  display: block;
  padding-top: 60%
}

.about-video iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%
}

.about-producer__body {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.71;
  padding: 0;
  position: relative
}

.about-producer__body p {
  position: relative;
  z-index: 1
}

@media screen and (min-width: 820px) {
  .about-producer__row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: start;
    justify-content: flex-start
  }
  .about-producer__image {
    -ms-flex: 54.5454545455% 0 0px;
    flex: 54.5454545455% 0 0;
    margin: 0 4.7661076787%
  }
  .about-producer__detail {
    -ms-flex: 1 0;
    flex: 1 0;
    max-width: 40.6884377758%
  }
  .about-producer__body {
    font-size: 1.55rem;
    padding: 0
  }
}

@media screen and (min-width: 1680px) {
  .about-producer__body {
    font-size: 1.9rem
  }
}

.about-producer__image {
  padding: 0 0 36px
}

.about-producer__image:before {
  background-image: url(../img/img_about_01_s.png);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0;
  padding-top: 107.2104018913%;
  width: 100%
}

@media screen and (min-width: 820px) {
  .about-producer__image {
    padding: 0
  }
  .about-producer__image:before {
    background-image: url(../img/img_about_01_l.png);
    padding-top: 77.579519007%
  }
}

.about-producer__head {
  margin: 0 auto 12.5px;
  width: 104px
}

.about-producer__head:before {
  background-image: url(../img/texts/txt_about_02_s.svg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 14.2517814727%;
  width: 100%
}

.about-producer__head span {
  color: transparent;
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0
}

@media screen and (min-width: 820px) {
  .about-producer__head {
    margin: 0 0 16px;
    width: 167px
  }
  .about-producer__head:before {
    background-image: url(../img/texts/txt_about_02_l.svg);
    padding-top: 14.2521341086%
  }
}

.btn-company {
  background-color: #fff;
  border: 1px solid #b0aca7;
  display: inline-block;
  font-size: 1.2rem;
  line-height: 2.3333333333;
  padding: 0 8px;
  text-decoration: none;
  vertical-align: top
}

@media screen and (min-width: 820px) {
  .btn-company {
    font-size: 1.7rem;
    line-height: 2.3529411765
  }
}

.company-header {
  background-color: #ffe674;
  color: #444
}

.company-header__outline {
  margin: 0 auto;
  max-width: 460px
}

.company-header__inner {
  padding: 16.1538461538% 13.8461538462% 13.3333333333%
}

.company-header__text {
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0;
  z-index: -1
}

.company-header .style-1 {
  color: #7fa944
}

.company-header .style-2 {
  color: #c3554a
}

@media screen and (min-width: 820px) {
  .company-header__outline {
    max-width: 900px;
    padding: 0 40px
  }
  .company-header__inner {
    padding: 74px 0 56px
  }
}

.company-header__image:after {
  background-image: url(../img/main/main_company_s.svg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 131.8118390129%
}

@media screen and (min-width: 820px) {
  .company-header__image {
    margin: auto;
    max-width: 538px
  }
  .company-header__image:after {
    background-image: url(../img/main/main_company_l.svg);
    padding-top: 94.304318539%
  }
}

.company-description {
  color: #444;
  font-size: 1.3rem;
  padding: 30px 0 68px
}

.company-description__inner {
  padding: 0 6.4102564103%
}

.company-description__body p:not(:first-of-type) {
  margin: 2em 0 0
}

@media screen and (min-width: 820px) {
  .company-description__outline {
    margin: auto;
    max-width: 900px;
    padding: 50px 0 90px
  }
  .company-description__body {
    text-align: center
  }
  .company-description__body p:not(:first-of-type) {
    margin: 1em 0 0
  }
}

@media screen and (min-width: 968px) {
  .company-description__body {
    font-size: 1.130952381vw;
    line-height: 1.7
  }
}

@media screen and (min-width: 1416px) {
  .company-description__body {
    font-size: 1.6rem
  }
}

.company-profile__outline {
  margin: auto
}

.company-profile__item {
  background-color: #d8dcdc;
  margin: 1px 0 0;
  padding: 18px 6.4102564103%
}

.company-profile__footer {
  padding: 108px 0;
  text-align: center
}

@media screen and (min-width: 820px) {
  .company-profile__item {
    padding: 30px 40px
  }
  .company-profile__footer {
    padding: 130px 0 0
  }
  .company-profile__footer:after {
    background-image: linear-gradient(180deg, #fff 21%, #d8dcdc 66%);
    content: "";
    display: block;
    height: 240px;
    margin: 56px 0 0
  }
}

.company-profile__header {
  padding: 0 6.4102564103% 32px
}

.company-profile__header:before {
  background-image: url(../img/img_company_01_s.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 6.9371766887%
}

.company-profile__header span {
  color: #444;
  display: block;
  font-size: 1.1rem;
  line-height: 1.36;
  margin: 8px 0 0;
  text-align: center
}

@media screen and (min-width: 820px) {
  .company-profile__header {
    margin: auto;
    max-width: 442px;
    padding: 0 0 32px
  }
  .company-profile__header span {
    font-size: 1.2rem;
    line-height: 2.4;
    margin: 10px 0 0
  }
}

.company-profile__body {
  margin: -1px 0 0;
  padding: 0
}

.company-profile__body dl {
  color: #444;
  font-size: 1.2rem;
  line-height: 1.5
}

.company-profile__body dt {
  font-weight: 700
}

.company-profile__body dd {
  font-size: 1.3rem
}

.company-profile__body address {
  font-style: inherit
}

@media screen and (min-width: 820px) {
  .company-profile__body dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 1.7rem;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: auto;
    max-width: 640px
  }
  .company-profile__body dt {
    -ms-flex: 120px 0 0px;
    flex: 120px 0 0;
    margin: 0 16px 0 0;
    width: 120px
  }
  .company-profile__body dd {
    -ms-flex: 1 0;
    flex: 1 0;
    font-size: 1.7rem;
    width: calc(100% - 136px)
  }
}

.deactivate {
  line-height: 1.4;
  color: #000;
  padding: 2em 0
}

.deactivate-ttl {
  font-size: 1em;
  font-weight: 700;
  text-align: center;
  margin: 1em 0 0.5em
}

.deactivate-chk {
  padding-left: 0.6em
}

.deactivate-chk>li {
  margin-top: 0.5em;
  padding-left: 1.6em;
  position: relative
}

.deactivate-chk label input {
  opacity: 0;
  position: absolute
}

.deactivate-chk label input+i {
  display: inline-block;
  vertical-align: -0.3em;
  line-height: 1;
  margin-right: 0.3em;
  border: 1px solid #000;
  width: 1.125em;
  height: 1.125em;
  position: absolute;
  font-style: normal;
  top: 0;
  left: 0;
  z-index: 1
}

.deactivate-chk label input+i::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0em
}

.deactivate-chk label input:checked+i::after {
  content: '✓';
  font-weight: 700;
  color: #f00
}

.deactivate-btn-wp {
  text-align: center;
  margin-top: 2em
}

.deactivate-btn-1 {
  font-size: 1.2em;
  line-height: 1;
  text-decoration: none;
  padding: 1em 2em;
  border: 0;
  border-radius: 8px;
  background: #ccc;
  color: #fff;
  cursor: default;
  display: inline-block;
  pointer-events: none
}

.deactivate-btn-1:hover {
  color: #fff
}

.deactivate-btn-1[href] {
  font-weight: 700;
  background: #f00;
  transition-duration: .4s;
  cursor: pointer;
  pointer-events: auto
}

@media screen and (min-width: 820px) {
  .deactivate-btn-1[href]:hover, .deactivate-btn-1[href]:focus {
    transform: scale(1.1)
  }
}

.faq {
  color: #444;
  font-size: 1.2rem;
  line-height: 1.8
}

@media screen and (min-width: 820px) {
  .faq {
    font-size: 1.6rem;
    line-height: 1.6
  }
}

.faq-header__inner {
  padding: 56px 6.4102564103% 34px
}

.faq-header__head {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  text-align: center
}

@media screen and (min-width: 820px) {
  .faq-header__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
  .faq-header__inner {
    padding: 110px 0 80px
  }
  .faq-header__head {
    font-size: 3.8rem
  }
}

.faq-nav {
  position: relative;
  z-index: 1
}

.faq-nav__inner {
  padding: 0 6.4102564103% 32px
}

.faq-nav__items {
  margin: -2px 0
}

.faq-nav__item {
  font-size: inherit;
  line-height: inherit;
  min-height: 16px;
  padding: 2px 0
}

.faq-nav a {
  color: inherit;
  display: block;
  text-decoration: underline
}

.faq-nav a:before {
  background-image: url(../img/icons/icon_triangle_right.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 5.29px 13.46px;
  content: "";
  display: inline-block;
  height: 16px;
  margin: 2.8px 4px 0 0;
  vertical-align: top;
  width: 16px
}

.faq-nav a:hover {
  text-decoration: none
}

@media screen and (min-width: 820px) {
  .faq-nav__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
  .faq-nav__inner {
    padding: 0 0 32px
  }
}

.faq-sections {
  margin: -56px 0 200px
}

.faq-sections__inner {
  padding: 0 6.4102564103%
}

@media screen and (min-width: 820px) {
  .faq-sections__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
  .faq-sections__inner {
    padding: 0
  }
}

.faq-section {
  position: relative
}

.faq-section__head {
  font-size: 1.3rem;
  font-weight: 700;
  padding: 56px 0 0;
  text-align: center
}

.faq-section>a {
  display: block;
  left: 0;
  position: absolute;
  top: -115px;
  width: 100%
}

@media screen and (min-width: 820px) {
  .faq-section__head {
    font-size: 1.9rem
  }
  .faq-section>a {
    top: -165px
  }
}

.faq-node {
  padding: 32px 0 0;
  position: relative
}

.faq-node:after {
  background-image: url(../img/backgrounds/bg_shopping-guide_02.svg);
  background-position: 0;
  background-repeat: repeat-x;
  background-size: auto 100%;
  content: "";
  display: block;
  height: 6px;
  margin: 16px 0 0
}

.faq-node input[type=checkbox] {
  left: -32px;
  opacity: 0;
  position: absolute;
  top: 0
}

.faq-node__q {
  color: #444444;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 2;
  min-height: 36px;
  padding: 0 0 0 0px;
  position: relative;
  -ms-user-select: none;
  user-select: none
}

.faq-node__q:before {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 36px;
  left: 0;
  position: absolute;
  top: 0;
  width: 36px
}

.faq-node__q a {
  color: inherit
}

.faq-node__a {
  display: none;
  font-size: inherit;
  line-height: inherit;
  padding: 0 0 0 44px
}

.faq-node input[type=checkbox]:checked~.faq-node__a, .faq-node label {
  display: block
}

.faq-section li:last-of-type .faq-node:after {
  display: none
}

@media screen and (min-width: 820px) {
  .faq-node__q {
    font-size: 1.9rem;
    line-height: 1.7
  }
}

[class*=img-guide-point] {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contan
}

[class*=img-guide-point]:before {
  content: "";
  display: block
}

.img-guide-point-1 {
  background-image: url(../img/img_shopping-guide_01_01_s.svg);
  background-size: 100% auto;
}

@media screen and (min-width: 820px) {
  .img-guide-point-1 {
    background-image: url(../img/img_shopping-guide_01_l.png);
    background-size: 100% auto;
  }
}

.img-guide-point-1:before {
  padding-top: 55.2113099714%
}

@media screen and (min-width: 820px) {
  .img-guide-point-1:before {
    padding-top: 97.2059486255%
  }
}

.img-guide-point-2 {
  background-image: url(../img/img_shopping-guide_01_02_s.svg);
  background-size: 100% auto;
}

.img-guide-point-3 {
  background-image: url(../img/img_shopping-guide_02_s.svg);
  background-size: 100% auto;
}

@media screen and (min-width: 820px) {
  .img-guide-point-3 {
    background-image: url(../img/img_shopping-guide_02_l.svg);
    background-size: 100% auto;
  }
}

.img-guide-point-3:before {
  padding-top: 181.9685690653%
}

@media screen and (min-width: 820px) {
  .img-guide-point-3:before {
    padding-top: 114.0989623454%
  }
}

.img-guide-point-4 {
  background-image: url(../img/img_shopping-guide_03_s.svg);
  background-size: 100% auto;
}

@media screen and (min-width: 820px) {
  .img-guide-point-4 {
    background-image: url(../img/img_shopping-guide_03_l.svg);
    background-size: 100% auto;
  }
}

.img-guide-point-4:before {
  padding-top: 64.8475120385%
}

@media screen and (min-width: 820px) {
  .img-guide-point-4:before {
    padding-top: 95.4219208502%
  }
}

.guide {
  background-color: #EBEBEB;
  padding: 0 0 0
}

@media screen and (min-width: 820px) {
  .guide {
    padding: 0
  }
  .guide:after {
    background-color: #EBEBEB;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 0;
    padding-top: 10.2857142857%;
    width: 100%
  }
}

.guide-header {
  overflow: hidden
}

.guide-header__inner {
  position: relative
}

.guide-header__text {
  bottom: 0;
  color: transparent;
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  z-index: -1
}

.guide-header__inner:before {
  background-image: url(../img/main/main_shopping-guide_01_s.svg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: "";
  display: block;
  padding-top: 119.2059756472%
}

@media screen and (min-width: 820px) {
  .guide-header__text {
    font-size: 1.5476190476vw;
    line-height: 1.54;
    margin-bottom: 5.8333333333%
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-header__text {
    font-size: 2.6rem
  }
}

@media screen and (min-width: 820px) {
  .guide-header__inner:before {
    background-image: url(../img/main/main_shopping-guide_01_l.svg);
    padding-top: 33.8267857143%
  }
}

.guide-desc {
  background-color: #EBEBEB;
  position: relative;
  z-index: 1
}

.guide-desc__outline {
  background-color: #EBEBEB;
  margin: auto;
  max-width: 500px
}

.guide-desc__inner {
  background-color: #EBEBEB;
  padding: 30px 6.4102564103%
}

.guide-desc__body {
  background-color: #EBEBEB;
  color: #444;
  font-size: 1.3rem;
  text-align: center
}

@media screen and (min-width: 820px) {
  .guide-desc__outline {
    max-width: 100%
  }
  .guide-desc__inner {
    background-color: #EBEBEB;
    padding: 40px 0 0
  }
}

@media screen and (min-width: 968px) {
  .guide-desc__body {
    font-size: 1.130952381vw;
    line-height: 1.7
  }
}

@media screen and (min-width: 1416px) {
  .guide-desc__body {
    font-size: 1.6rem
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-desc__body {
    font-size: 1.9rem
  }
}

.guide-point {
  background-color: #EBEBEB
}

.guide-point__outline {
  margin: auto;
  max-width: 500px
}

.guide-point__inner {
  padding: 32px 6.4102564103% 50px
}

.guide-point__head {
  color: #444;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center
}

.guide-point__head small {
  font-size: 1.2rem;
  letter-spacing: .1em
}

.guide-point__items {
  list-style: none;
  margin: 0;
  padding: 8px 0
}

.guide-point__item {
  margin: 0;
  padding: 32px 0
}

.guide-point__footer {
  text-align: center
}

.guide-point:before {
  background-image: url(../img/backgrounds/bg_shopping-guide_01_s.svg);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: auto 0%;
  content: "";
  display: block;
  padding-top: 0%;
  transform: translateY(-1px)
}

@media screen and (min-width: 820px) {
  .guide-point {
    margin-top: -3.869047619%
  }
  .guide-point__outline {
    max-width: 1680px
  }
  .guide-point__inner {
    padding: 38px 0 0
  }
  .guide-point__head {
    font-size: 1.9047619048vw;
    line-height: 1.4
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-point__head {
    font-size: 3.2rem
  }
}

@media screen and (min-width: 820px) {
  .guide-point__head small {
    font-size: 1.130952381vw
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-point__head small {
    font-size: 1.9rem
  }
}

@media screen and (min-width: 820px) {
  .guide-point__items {
    margin: 0 auto;
    max-width: 1204px;
    width: 71.6666666667%
  }
  .guide-point__item {
    padding: 32px 0
  }
  .guide-point__footer {
    padding: 32px 0 0
  }
  .guide-point:before {
    padding-top: 5%
  }
}

.guide-point-item__head, .guide-step-item__head {
  color: #444;
  margin: 0 0 24px;
  text-align: center
}

.guide-point-item__head i, .guide-step-item__head i {
  display: block;
  margin: 0 auto;
  width: 34px
}

.guide-point-item__head b, .guide-step-item__head b {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 12px 0 0;
  position: relative;
  vertical-align: top;
  text-align: center
}

.guide-point-item__head b:after, .guide-step-item__head b:after {
  background-image: url(../img/backgrounds/bg_shopping-guide_02.svg);
  background-repeat: repeat-x;
  background-size: auto 4px;
  content: "";
  display: block;
  height: 4px;
  margin: 10px auto 0;
  padding: 0 0;
  width: 84%
}

.guide-point-item__body, .guide-step-item__body {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.71
}

.guide-point-item__body small, .guide-step-item__body small {
  color: #0E223C;
  font-size: 1.2rem
}

@media screen and (min-width: 820px) {
  .guide-point-item__row {
    box-sizing: border-box;
    display: block;
    padding: 0 .8305647841% 0 7.1843853821%
  }
  .guide-point-item__row:after {
    clear: both;
    content: "";
    display: block
  }
  .guide-point-item__head {
    float: left;
    width: 47.342192691%
  }
  .guide-point-item__head b {
    font-size: 1.9047619048vw
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-point-item__head b {
    font-size: 3.2rem
  }
}

@media screen and (min-width: 820px) {
  .guide-point-item__body {
    float: left;
    font-size: 1.130952381vw;
    line-height: 1.8;
    width: 47.342192691%
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-point-item__body {
    font-size: 1.9rem
  }
}

@media screen and (min-width: 820px) {
  .guide-point-item__body small {
    font-size: .9523809524vw
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-point-item__body small {
    font-size: 1.6rem
  }
}

@media screen and (min-width: 820px) {
  .guide-point-item__image {
    float: right
  }
  .guide-point-item__image[data-name="1"] {
    width: 40.5315614618%
  }
  .guide-point-item__image[data-name="2"] {
    display: none
  }
  .guide-point-item__image[data-name="3"] {
    width: 36.6279069767%
  }
  .guide-point-item__image[data-name="4"] {
    width: 41.8604651163%
  }
}

.guide-point-item__image[data-name="1"] {
  margin: 0 0 42px
}

.guide-point-item__image[data-name="2"] {
  margin: 24px auto 0;
  width: 40.5315614618%
}

.guide-point-item__image[data-name="3"] {
  margin: 0 auto 32px;
  width: 39.1176470588%
}

.guide-point-item__image[data-name="4"] {
  margin: 0 auto 32px
}

.guide-step__outline {
  background-color: #EBEBEB;
  margin: auto;
  max-width: 500px
}

.guide-step__inner {
  background-color: #EBEBEB;
  padding: 32px 6.4102564103% 50px
}

.guide-step__head {
  color: #444;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin: 35px 0 0;
  text-align: center
}

.guide-step__items {
  list-style: none
}

.guide-step__item, .guide-step__items {
  margin: 0;
  padding: 16px 0
}

.guide-step__footer {
  text-align: center
}

@media screen and (min-width: 820px) {
  .guide-step__outline {
    max-width: 100%
  }
  .guide-step__inner {
    line-height: 1;
    padding: 3.4523809524% 0 0
  }
  .guide-step__head {
    font-size: 1.9047619048vw
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-step__head {
    font-size: 3.2rem
  }
}

@media screen and (min-width: 820px) {
  .guide-step__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1204px;
    padding: 2.657807309% 0 0;
    width: 71.6666666667%
  }
  .guide-step__item {
    -ms-flex: 26.8272425249% 0 0px;
    flex: 26.8272425249% 0 0
  }
  .guide-step__footer {
    padding: 32px 0 0
  }
  .guide-step:before {
    background-image: url(../img/backgrounds/bg_shopping-guide_03_l.svg);
    padding-top: 16.0714285714%
  }
}

.guide-step-item {
  position: relative
}

.guide-step-item__body {
  text-align: center
}

.guide-step-item__next {
  display: none
}

@media screen and (min-width: 820px) {
  .guide-step-item__head b {
    font-size: 1.9047619048vw;
    margin: 30px 0 0
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-step-item__head b {
    font-size: 3.2rem
  }
}

@media screen and (min-width: 820px) {
  .guide-step-item__head i {
    width: 40px
  }
  .guide-step-item[data-index="3"] .guide-step-item__head b {
    font-size: 1.3095238095vw;
    line-height: 1.3
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-step-item[data-index="3"] .guide-step-item__head b {
    font-size: 2.2rem
  }
}

@media screen and (min-width: 820px) {
  .guide-step-item__body {
    font-size: 1.130952381vw;
    line-height: 1.8;
    text-align: left
  }
}

@media screen and (min-width: 820px) and (min-width: 1680px) {
  .guide-step-item__body {
    font-size: 1.9rem
  }
}

@media screen and (min-width: 820px) {
  .guide-step-item__next {
    display: block;
    left: -21.9814241486%;
    max-width: 26px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 8.0495356037%
  }
  .guide-step-item__next i {
    width: 100%
  }
}

.btn-openshop {
  background-color: #0e223c;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 52px;
  margin: 0 auto;
  max-width: 350px;
  text-align: center;
  text-decoration: none
}

@media screen and (min-width: 820px) {
  .btn-openshop {
    font-size: 2.3rem;
    line-height: 83px;
    max-width: 560px
  }
}

.btn-openshop span {
  background-image: url(../img/icons/icon_note.svg);
  background-position: 0;
  background-repeat: no-repeat;
  background-size: 13px auto;
  display: inline-block;
  padding: 0 0 0 21px
}

@media screen and (min-width: 820px) {
  .btn-openshop span {
    background-size: 20px auto;
    min-height: 26px;
    padding: 0 0 0 28px
  }
}

.openshop-header {
  background-color: #ebebeb
}

@media screen and (min-width: 820px) {
  .openshop-header__outline {
    margin: 0 auto;
  }
}

.openshop-header__inner {
  position: relative
}

@media screen and (min-width: 820px) {
  .openshop-header__inner {
    
  }
}

.openshop-header__text {
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0
}

.openshop-header__image:before {
  background-image: url(../img/main/main_openshop_s.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 119.4871794872%
}

@media screen and (min-width: 820px) {
  .openshop-header__image:before {
    background-image: url(../img/main/main_openshop_l.png);
    padding: 17%
  }
}

@media screen and (min-width: 820px) {
  .openshop-description__outline {
    margin: 0 auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.openshop-description__inner {
  padding: 30px 6.4102564103%
}

@media screen and (min-width: 820px) {
  .openshop-description__inner {
    padding: 50px 0 5px
  }
}

.openshop-description__body {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.9;
  text-align: center
}

@media screen and (min-width: 968px) {
  .openshop-description__body {
    font-size: 1.130952381vw;
    line-height: 1.7
  }
}

@media screen and (min-width: 1416px) {
  .openshop-description__body {
    font-size: 1.6rem
  }
}

.openshop-description__body p:not(:first-of-type) {
  margin-top: 2em
}

@media screen and (min-width: 820px) {
  .openshop-description__body p:nth-of-type(2) {
    margin: 100px 0 0
  }
}

.openshop-description em {
  color: #444;
  font-size: 2.0rem;
  font-style: normal;
  font-weight: 400
}

@media screen and (min-width: 820px) {
  .openshop-description em {
    font-size: 2.6rem;
    line-height: 1.5
  }
}

.openshop-description small {
  display: block;
  font-size: 1.3rem
}

@media screen and (min-width: 820px) {
  .openshop-description small {
    font-size: 1.6rem;
    padding: 15px 0 0
  }
}

.openshop-cost{
  background-color: #EBEBEB;
}

@media screen and (min-width: 820px) {
  .openshop-cost__outline {
    background-color: #EBEBEB;
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.openshop-cost__inner {
  padding: 16px 0 4px
}

@media screen and (min-width: 820px) {
  .openshop-cost__inner {
  }
}

.openshop-cost__detail {
  padding: 0 15px
}

@media screen and (min-width: 820px) {
  .openshop-cost__detail {
    padding: 0 52px
  }
}

.openshop-cost__label {
  color: transparent;
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0
}

.openshop-cost__body {
  color: #444;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: auto;
  max-width: 500px;
  padding: 0 5px
}

@media screen and (min-width: 820px) {
  .openshop-cost__body {
    margin: 0 -20px;
    max-width: none;
    padding: 0;
    width: auto
  }
}

.openshop-cost__body dt {
  -ms-flex: 100% 0 0px;
  flex: 100% 0 0;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0 0 12px;
  text-align: center
}

@media screen and (min-width: 820px) {
  .openshop-cost__body dt {
    font-size: 1.9rem
  }
}

.openshop-cost__body dd {
  -ms-flex: 50% 0 0px;
  flex: 50% 0 0;
  padding: 12px 0 4px;
  position: relative;
  text-align: center
}

@media screen and (min-width: 820px) {
  .openshop-cost__body dd {
    padding: 14px 0
  }
}


@media screen and (min-width: 820px) {
  .openshop-cost__body dd:last-of-type:before {
    left: 0;
    width: 1px
  }
}

.openshop-cost__num {
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  display: block;
  margin: 0 0 16px;
  width: 100%
}

.openshop-cost__num:before {
  content: "";
  display: block;
  height: 0;
  padding-top: 75%;
  width: 100%
}

@media screen and (min-width: 820px) {
  .openshop-cost__num:before {
    content: "";
    display: block;
    height: 0;
    padding-top: 60%;
    width: 100%
  }
}

.openshop-cost__num {
  background-image: url(../img/texts/txt_openshop_01.png)
}

@media screen and (min-width: 820px) {
  .openshop-cost__num {
    background-image: url(../img/texts/txt_openshop_01_l.png)
  }
}

.openshop-cost__text {
  display: inline-block;
  position: relative;
  vertical-align: bottom
}

.openshop-cost__text span {
  font-size: 0;
  left: 0;
  line-height: 0;
  position: absolute;
  top: 0
}

.openshop-cost__text.-yen {
  width: 43.75%
}

.openshop-cost__text.-yen:before {
  background-image: url(../img/texts/txt_openshop_01.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 79.4388152767%
}

.openshop-cost__text.-per {
  width: 66.875%
}

.openshop-cost__text.-per:before {
  background-image: url(../img/texts/txt_openshop_02.pog);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  padding-top: 51.0928413876%
}

@media screen and (min-width: 820px) {
  .openshop-footer__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.openshop-footer__inner {
  padding: 28px 6.4102564103% 100px
}

@media screen and (min-width: 820px) {
  .openshop-footer__inner {
    padding: 63px 0 110px
  }
}

.privacy {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.8
}

@media screen and (min-width: 820px) {
  .privacy {
    font-size: 1.6rem;
    line-height: 1.6
  }
}

@media screen and (min-width: 820px) {
  .privacy-header__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.privacy-header__inner {
  padding: 56px 6.4102564103% 36px
}

@media screen and (min-width: 820px) {
  .privacy-header__inner {
    padding: 110px 0 36px
  }
}

.privacy-header__head {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  margin: 0 0 32px;
  text-align: center
}

@media screen and (min-width: 820px) {
  .privacy-header__head {
    font-size: 3.8rem;
    margin: 0 0 80px
  }
}

.privacy-header__description {
  font-size: inherit;
  line-height: inherit
}

.privacy-sections {
  margin: -32px 0 0;
  padding: 0 0 200px
}

@media screen and (min-width: 820px) {
  .privacy-sections__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.privacy-sections__inner {
  padding: 0 6.4102564103%
}

@media screen and (min-width: 820px) {
  .privacy-sections__inner {
    padding: 0
  }
}

.privacy-section {
  font-size: inherit;
  line-height: inherit;
  margin: 32px 0 0
}

.privacy-section__head {
  font-weight: 700
}

.privacy-section__list ul {
  font-size: inherit;
  line-height: inherit;
  list-style: disc;
  margin: 0 0 0 20px
}

.law {
  color: #444
}

@media screen and (min-width: 820px) {
  .law-header__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.law-header__inner {
  padding: 56px 6.4102564103% 36px
}

@media screen and (min-width: 820px) {
  .law-header__inner {
    padding: 110px 0 64px
  }
}

.law-header__head {
  font-size: 2.8rem;
  font-size: 7.1794871795vw;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  white-space: nowrap
}

@media screen and (min-width: 390px) {
  .law-header__head {
    font-size: 2.8rem
  }
}

@media screen and (max-width: 280px) {
  .law-header__head {
    font-size: 1.8rem
  }
}

@media screen and (min-width: 820px) {
  .law-header__head {
    font-size: 3.8rem
  }
}

.law-body__items {
  border-bottom: 1px solid #d8dcdc
}

@media screen and (min-width: 820px) {
  .law-body__items {
    margin: 0 auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.law-body__item {
  background-color: #fff;
  border-top: 1px solid #d8dcdc;
  margin: 0;
  padding: 16px 6.4102564103%
}

@media screen and (min-width: 820px) {
  .law-body__item {
    padding: 32px 40px
  }
}

.law-body {
  padding: 0 0 100px
}

.law-body dl {
  font-size: 1.3rem;
  line-height: 1.5
}

@media screen and (min-width: 820px) {
  .law-body dl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 1.7rem;
    -ms-flex-pack: start;
    justify-content: flex-start;
    line-height: 1.4;
    margin: auto
  }
}

.law-body dt {
  font-weight: 700
}

@media screen and (min-width: 820px) {
  .law-body dt {
    -ms-flex: 220px 0 0px;
    flex: 220px 0 0;
    margin: 0 16px 0 0;
    width: 220px
  }
}

.law-body dt span {
  display: inline-block
}

@media screen and (min-width: 820px) {
  .law-body dd {
    -ms-flex: 1 0;
    flex: 1 0;
    max-width: calc(100% - 236px)
  }
}

.law-body a {
  color: inherit;
  text-decoration: underline
}

.law-body address {
  font-size: inherit;
  font-style: normal;
  font-weight: inherit;
  line-height: inherit
}

.term {
  color: #444;
  font-size: 1.3rem;
  line-height: 1.8
}

@media screen and (min-width: 820px) {
  .term {
    font-size: 1.6rem;
    line-height: 1.6
  }
}

@media screen and (min-width: 820px) {
  .term-header__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

.term-header__inner {
  padding: 56px 6.4102564103% 24px
}

@media screen and (min-width: 820px) {
  .term-header__inner {
    padding: 114px 0 32px
  }
}

.term-header__head {
  color: #444;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1;
  padding: 0 0 32px;
  text-align: center
}

@media screen and (min-width: 820px) {
  .term-header__head {
    font-size: 3.8rem;
    padding: 0 0 80px
  }
}

.term-header__text {
  font-size: inherit;
  line-height: inherit
}

.term-groups__inner {
  padding: 0 6.4102564103% 64px
}

@media screen and (min-width: 820px) {
  .term-groups__outline {
    margin: auto;
    max-width: 900px;
    padding: 0 40px
  }
}

@media screen and (min-width: 820px) {
  .term-groups__inner {
    padding: 0 0 54px
  }
}

.term-group__head {
  font-size: inherit;
  font-weight: 700;
  margin: 0;
  padding: 0;
  text-align: center
}

.term-section {
  padding: 0 0 24px
}

.term-section__head {
  font-weight: 700
}

.term-section ul, .term-section__head {
  font-size: inherit;
  line-height: inherit
}

.term-section-list {
  list-style: decimal;
  margin: 0 0 0 20px;
  padding: 0
}

.term-section-list.-customPrefix {
  list-style: none;
  margin: 0
}

.term-section-list.-customPrefix>li {
  padding: 0 0 0 20px;
  position: relative
}

.term-section-list.-customPrefix>li:before {
  content: attr(data-prefix);
  display: inline-block;
  left: 0;
  position: absolute;
  top: 0
}

.term-section-nodes {
  margin: 0 0 0 20px;
  padding: 0
}

.term-section-nodes.-customPrefix {
  list-style: none;
  margin: 0
}

.term-section-nodes.-customPrefix>li {
  padding: 0 0 0 20px;
  position: relative
}

.term-section-nodes.-customPrefix>li:before {
  content: attr(data-prefix);
  display: inline-block;
  left: 0;
  position: absolute;
  top: 0
}

.term-footer {
  margin: -32px 0 0
}

@media screen and (min-width: 820px) {
  .term-footer__outline {
    margin: 0 auto;
    max-width: 900px;
    padding: 0 40px 200px
  }
}

.term-footer__inner {
  padding: 24px 6.4102564103% 200px
}

@media screen and (min-width: 820px) {
  .term-footer__inner {
    padding: 0
  }
}

.term-footer__body {
  text-align: right
}