/*! destyle.css v1.0.13 | MIT License | https://github.com/nicolas-cusan/destyle.css */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

::before, ::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0
}

main {
  display: block
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none
}

dt {
  font-weight: bold
}

dd {
  margin-left: 0
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit
}

pre {
  font-family: monospace, monospace;
  font-size: inherit
}

address {
  font-style: inherit
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

img {
  border-style: none;
  vertical-align: bottom
}

embed, object, iframe {
  border: 0;
  vertical-align: bottom
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit
}

[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox
}

[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio
}

button, input {
  overflow: visible
}

button, select {
  text-transform: none
}

button, [type="button"], [type="reset"], [type="submit"] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

button[disabled], [type="button"][disabled], [type="reset"][disabled], [type="submit"][disabled] {
  cursor: default
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0
}

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText
}

option {
  padding: 0
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type="checkbox"], [type="radio"] {
  padding: 0
}

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
  height: auto
}

[type="search"] {
  outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

label[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

caption {
  text-align: left
}

td, th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: bold
}

template {
  display: none
}

[hidden] {
  display: none
}

.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}

.slick-list:focus {
  outline: none
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table
}

.slick-track:after {
  clear: both
}

.slick-loading .slick-track {
  visibility: hidden
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}

[dir="rtl"] .slick-slide {
  float: right
}

.slick-slide img {
  display: block
}

.slick-slide.slick-loading img {
  display: none
}

.slick-slide.dragging img {
  pointer-events: none
}

.slick-initialized .slick-slide {
  display: block
}

.slick-loading .slick-slide {
  visibility: hidden
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}

.slick-arrow.slick-hidden {
  display: none
}

.slider_note {
  position: absolute;
  top: 310px;
  left: 10px;
  font-size: 90%;
}

@media screen and (max-width: 1024px) {
  .slider_note {
    position: absolute;
    top: 180px;
    left: 10px;
    font-size: 85%;
  }
}

html, body {
  height: 100%
}

body {
  font-family: 'Noto Sans JP', sans-serif
}

img {
  max-width: 100%;
  height: auto
}

em {
  font-style: normal
}

@media screen and (max-width: 1024px) {
  .pc-only {
    display: none
  }
}

.sp-only {
  display: none
}

@media screen and (max-width: 1024px) {
  .sp-only {
    display: inline-block
  }
}

.common__link {
  text-decoration: underline;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.common__link:hover {
  opacity: 0.6
}

.common__btn--type1 {
  display: inline-block;
  padding: 8px 10px 8px 30px;
  border: 1px solid #000032;
  background-color: rgba(0, 0, 50, 0.07);
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: relative;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s
}

.common__btn--type1::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 6px);
  left: 6px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.common__btn--type1::before {
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s
}

.common__btn--type1:hover {
  background-color: #000032;
  color: #fff
}

.common__btn--type1:hover::before {
  border-color: #fff
}

.common__btn--type2 {
  display: inline-block;
  padding: 5px 10px 5px 30px;
  border: 1px solid #000032;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.1em;
  position: relative;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s
}

.common__btn--type2::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 5px);
  left: 6px;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.common__btn--type2::before {
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s
}

.common__btn--type2:hover {
  background-color: #000032;
  color: #fff
}

.common__btn--type2:hover::before {
  border-color: #fff
}

@media screen and (max-width: 1024px) {
  .common__btn--type2 {
    font-size: 14px;
    position: relative
  }

  .common__btn--type2::before {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 4px);
    left: 5px;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
}

.common__table--type1 {
  border: 2px solid rgba(0, 0, 50, 0.07)
}

.common__table--type1 table tr th, .common__table--type1 table tr td {
  vertical-align: middle;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.18em
}

.common__table--type1 table tr th {
  border-bottom: 2px solid #fff;
  background-color: rgba(0, 0, 50, 0.07)
}

.common__table--type1 table tr td {
  border-bottom: 2px solid rgba(0, 0, 50, 0.07)
}

.common__table--type1 table tr:last-of-type th, .common__table--type1 table tr:last-of-type td {
  border-bottom: none
}

.common__table--type2 table {
  width: 100%
}

.common__table--type2 table tr th, .common__table--type2 table tr td {
  border-right: 5px solid #fff;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.1em
}

.common__table--type2 table tr th:last-of-type, .common__table--type2 table tr td:last-of-type {
  border: none
}

.common__table--type2 table thead tr th {
  background-color: rgba(0, 0, 50, 0.07)
}

.common__table--type2 table tbody tr:nth-of-type(even) {
  background-color: rgba(0, 0, 50, 0.07)
}

.breadcrumb {
  background-color: #F8F8F0
}

.breadcrumb__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px 15px;
  margin: 0 auto;
  max-width: 1020px
}

.breadcrumb__list {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.breadcrumb__list a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.breadcrumb__list a:hover {
  opacity: 0.6
}

.breadcrumb__list+.breadcrumb__list {
  margin-left: 7px;
  padding-left: 15px;
  position: relative
}

.breadcrumb__list+.breadcrumb__list::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 3px);
  left: 0px;
  width: 6px;
  height: 6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media screen and (max-width: 1024px) {
  .breadcrumb {
    margin: 60px 20px 0;
    padding: 10px 0 0;
    border-top: 2px solid #e5e5e5;
    width: calc(100% - 40px);
    background-color: #fff !important
  }

  .breadcrumb__lists {
    padding: 0
  }
}

.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 999
}

.loading span {
  display: block;
  position: absolute;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 2px inset;
  box-shadow: 0 0 0 2px inset;
  color: #e5e5e5;
  top: calc(50% - 15px);
  left: calc(50% - 15px);
  width: 30px;
  height: 30px;
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear
}

.loading span::before, .loading span::after {
  position: absolute;
  content: ""
}

.loading span::before {
  width: 17px;
  height: 32px;
  background-color: #fff;
  top: -1px;
  left: -1px;
  -webkit-transform-origin: 17px 16px;
  transform-origin: 17px 16px;
  -webkit-animation: loaderAnime 1.5s infinite ease;
  animation: loaderAnime 1.5s infinite ease
}

.loading span::after {
  width: 17px;
  height: 32px;
  background-color: #fff;
  top: -1px;
  left: 16px;
  -webkit-transform-origin: 0 16px;
  transform-origin: 0 16px;
  -webkit-animation: loaderAnime 1.5s infinite ease 0.3s;
  animation: loaderAnime 1.5s infinite ease 0.3s
}

@-webkit-keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

@keyframes loaderAnime {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg)
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}

.wrapper {
  padding: 130px 0 0;
  position: relative;
  width: 100%;
  height: 100%;
  color: #000032
}

@media screen and (max-width: 1024px) {
  .wrapper {
    padding: 50px 0 0
  }
}

.pagetop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 70px;
  height: 70px;
  z-index: 98
}

.pagetop a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.pagetop a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .pagetop {
    bottom: 10px;
    right: 10px;
    width: 50px;
    height: 50px
  }
}

.viewmorelink {
  margin: 80px 0 0;
  text-align: center
}

.viewmorelink a {
  display: inline-block;
  border: 1px solid #000032;
  padding: 15px 40px 15px 60px;
  font-size: 19px;
  letter-spacing: 0.2em;
  position: relative;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s
}

.viewmorelink a::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 6px);
  left: 30px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
  transform: rotate(45deg) skew(8.5deg, 8.5deg)
}

.viewmorelink a::before, .viewmorelink a::after {
  -webkit-transition: border-color .3s;
  transition: border-color .3s
}

.viewmorelink a:hover {
  background-color: #000032;
  color: #fff
}

.viewmorelink a:hover::before, .viewmorelink a:hover::after {
  border-color: #fff
}

@media screen and (max-width: 1024px) {
  .viewmorelink {
    margin: 20px 0 0
  }

  .viewmorelink a {
    padding: 10px 20px 10px 35px;
    font-size: 14px;
    letter-spacing: 0.2em;
    position: relative
  }

  .viewmorelink a::before {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 4px);
    left: 12px;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
    transform: rotate(45deg) skew(8.5deg, 8.5deg)
  }
}

.section {
  margin: 150px auto 0;
  max-width: 1020px
}

.section__head {
  text-align: center
}

.section__title {
  position: relative;
  padding: 0 0 15px;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.18em
}

.section__title::after {
  content: "";
  position: absolute;
  left: calc(50% - 17px);
  bottom: 0;
  width: 34px;
  height: 4px;
  background-color: #ed0d5f
}

.section__label {
  margin: 15px 0 0
}

.section__body {
  margin: 80px 0 0
}

.section__lead {
  font-size: 28px;
  text-align: center;
  letter-spacing: 0.13em;
  line-height: 1.5
}

.section__decotext {
  font-size: 22px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em
}

.section__decotext span {
  position: relative;
  display: inline-block;
  padding: 0 20px
}

.section__decotext span::after, .section__decotext span::before {
  content: "";
  position: absolute;
  top: calc(50% - 14px);
  width: 1px;
  height: 36px;
  background-color: #000032
}

.section__decotext span::before {
  left: 0;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg)
}

.section__decotext span::after {
  right: 0;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg)
}

@media screen and (max-width: 1024px) {
  .section {
    margin: 90px auto 0
  }

  .section__title {
    font-size: 24px
  }

  .section__title::after {
    left: calc(50% - 12px);
    width: 24px;
    height: 3px
  }

  .section__label {
    margin: 10px 0 0
  }

  .section__body {
    margin: 50px 0 0
  }

  .section__lead {
    font-size: 18px
  }

  .section__decotext {
    font-size: 14px
  }

  .section__decotext span {
    padding: 0 10px
  }

  .section__decotext span::after, .section__decotext span::before {
    top: calc(50% - 10px);
    height: 28px
  }
}

.section-block__title {
  font-size: 20px;
  letter-spacing: 0.1em
}

@media screen and (max-width: 1024px) {
  .section-block__title {
    font-size: 16px
  }
}

.information__item {
  letter-spacing: 0.1em
}

.information__item--alert {
  color: #ed0d5f
}

.information__date {
  clear: both;
  float: left;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5
}

.information__text {
  padding: 0 0 0 100px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.5
}

.information__text a {
  text-decoration: underline;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.information__text a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .information__date {
    font-size: 14px
  }

  .information__text {
    padding: 0 0 0 80px;
    font-size: 14px
  }
}

.deliverydate__item {
  margin: 0 auto;
  max-width: 650px
}

.deliverydate__lead {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.1em
}

.deliverydate__lead em {
  font-size: 24px;
  font-weight: 700
}

.deliverydate__desc {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 15px 0 0;
  padding: 25px 0
}

.deliverydate__desc::after, .deliverydate__desc::before {
  content: "";
  position: absolute;
  left: 0;
  height: 8px;
  width: 100%;
  background-image: radial-gradient(#ed0d5f 28%, transparent 28%);
  background-position: 5px -5px;
  background-size: 18px 18px
}

.deliverydate__desc::after {
  top: 0
}

.deliverydate__desc::before {
  bottom: 0
}

.deliverydate__text {
  font-size: 50px;
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap
}

.deliverydate__date {
  padding: 0 0 0 50px;
  background: url(../images/common/arw_delivery.svg) 5px center no-repeat;
  background-size: 30px auto;
  font-size: 50px;
  font-weight: 400;
  letter-spacing: 0.08em;
  white-space: nowrap
}

.deliverydate__option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 40px 0 0
}

.deliverydate__optiontext span {
  position: relative;
  display: inline-block;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em
}

.deliverydate__optiontext span::before {
  content: "";
  position: absolute;
  left: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%
}

.deliverydate__optiontext--7e span {
  padding: 0 0 0 40px
}

.deliverydate__optiontext--7e span::before {
  top: calc(50% - 18px);
  width: 36px;
  height: 36px;
  background-image: url(../images/common/ico_7eleven.png)
}

.deliverydate__optiontext--hd {
  margin: 0 0 0 40px
}

.deliverydate__optiontext--hd span {
  padding: 0 0 0 60px
}

.deliverydate__optiontext--hd span::before {
  top: calc(50% - 19px);
  width: 50px;
  height: 38px;
  background-image: url(../images/common/ico_homedelivery.svg)
}

@media screen and (max-width: 1024px) {
  .deliverydate__lead {
    line-height: 1.5;
    font-size: 14px
  }

  .deliverydate__lead em {
    display: inline-block;
    padding-left: 0.5em;
    font-size: 16px;
    letter-spacing: 0.18em
  }

  .deliverydate__desc {
    margin: 15px auto 0;
    padding: 15px 0;
    max-width: 355px
  }

  .deliverydate__desc::after, .deliverydate__desc::before {
    height: 4px;
    background-image: radial-gradient(#ed0d5f 20%, transparent 20%);
    background-position: 3px -3px;
    background-size: 10px 10px
  }

  .deliverydate__text {
    font-size: 26px
  }

  .deliverydate__date {
    padding: 0 0 0 30px;
    background-size: 15px auto;
    font-size: 26px
  }

  .deliverydate__option {
    display: block;
    margin: 20px 0 0;
    text-align: center
  }

  .deliverydate__optiontext span {
    font-size: 14px
  }

  .deliverydate__optiontext--7e span {
    padding: 0 0 0 30px
  }

  .deliverydate__optiontext--7e span::before {
    top: calc(50% - 11px);
    width: 22px;
    height: 22px
  }

  .deliverydate__optiontext--hd {
    margin: 10px 0 0
  }

  .deliverydate__optiontext--hd span {
    padding: 0 0 0 35px
  }

  .deliverydate__optiontext--hd span::before {
    top: calc(50% - 10px);
    width: 28px;
    height: 20px
  }
}

.maketype__head {
  text-align: center
}

.maketype__title {
  position: relative;
  display: inline-block;
  padding: 0 15px;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.1em
}

.maketype__title::before, .maketype__title::after {
  content: "";
  position: absolute;
  top: calc(50% - 20px);
  width: 4px;
  height: 50px;
  background: url(../images/common/deco1.svg) 0 0 no-repeat;
  background-size: 100%
}

.maketype__title::before {
  left: 0;
  -webkit-transform: rotate(-30deg);
  transform: rotate(-30deg)
}

.maketype__title::after {
  right: 0;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg)
}

.maketype__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 50px auto 0;
  max-width: 1000px
}

.maketype__item {
  width: 30%;
  vertical-align: top
}

.maketype__item--sp figure {
  width: 20%
}

.maketype__item--sp figure path {
  fill: #FE7139
}

.maketype__item--sp .maketype__label {
  color: #FE7139
}

.maketype__item--sp .maketype__inner a:hover {
  border-color: #FE7139;
  background-color: #FE7139
}

.maketype__item--sp .maketype__inner a:hover figure path {
  fill: #fff
}

.maketype__item--sp .maketype__inner a:hover .maketype__label {
  color: #fff
}

.maketype__item--pc figure {
  width: 41.66667%
}

.maketype__item--pc figure path {
  fill: #5BBDC8
}

.maketype__item--pc .maketype__label {
  color: #5BBDC8
}

.maketype__item--pc .maketype__inner a:hover {
  border-color: #5BBDC8;
  background-color: #5BBDC8
}

.maketype__item--pc .maketype__inner a:hover figure path {
  fill: #fff
}

.maketype__item--pc .maketype__inner a:hover .maketype__label {
  color: #fff
}

.maketype__item--shop figure {
  width: 38.33333%
}

.maketype__item--shop figure path {
  fill: #a13e91
}

.maketype__item--shop .maketype__label {
  color: #a13e91
}

.maketype__item--shop .maketype__inner a:hover {
  border-color: #a13e91;
  background-color: #a13e91
}

.maketype__item--shop .maketype__inner a:hover figure path {
  fill: #fff
}

.maketype__item--shop .maketype__inner a:hover .maketype__label {
  color: #fff
}

.maketype__item .maketype__inner a {
  -webkit-transition: background-color 0.3s, border-color 0.3s;
  transition: background-color 0.3s, border-color 0.3s
}

.maketype__item .maketype__inner a:hover .maketype__detail {
  color: #fff
}

.maketype__item .maketype__inner a:hover .maketype__detail::before {
  border-color: #fff
}

.maketype__inner {
  position: relative;
  width: 100%;
  padding: 100% 0 0
}

.maketype__inner a {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 4px solid #000032;
  border-radius: 50%;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  vertical-align: top
}

.maketype__inner a svg {
  vertical-align: top
}

.maketype__btn {
  width: 100%;
  text-align: center
}

.maketype__btn figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  height: 130px;
  vertical-align: middle
}

.maketype__btn figure svg {
  display: block;
  width: 100%;
  height: auto
}

.maketype__btn figure path {
  -webkit-transition: fill 0.3s;
  transition: fill 0.3s
}

.maketype__label {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.03em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s
}

.maketype__label span {
  font-size: 24px;
  font-weight: inherit
}

.maketype__detail {
  position: relative;
  display: inline-block;
  margin: 10px 0 0;
  padding: 0 0 0 1em;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.05em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s
}

.maketype__detail::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 5px);
  left: 0;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s
}

.maketype__link {
  margin: 20px 0 0;
  text-align: center
}

.maketype__link a {
  display: inline-block;
  border: 1px solid #000032;
  padding: 10px 15px 10px 35px;
  background-color: #000032;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: relative;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s
}

.maketype__link a::before {
  content: "";
  position: absolute;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: calc(50% - 5px);
  left: 15px;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
  transform: rotate(45deg) skew(8.5deg, 8.5deg)
}

.maketype__link a::before, .maketype__link a::after {
  -webkit-transition: border-color .3s;
  transition: border-color .3s
}

.maketype__link a:hover {
  background-color: #fff;
  color: #000032
}

.maketype__link a:hover::before, .maketype__link a:hover::after {
  border-color: #000032
}

@media screen and (max-width: 1024px) {
  .maketype__title {
    padding: 0 15px;
    font-size: 20px
  }

  .maketype__title::before, .maketype__title::after {
    top: calc(50% - 10px);
    width: 3px;
    height: 28px
  }

  .maketype__btn figure {
    height: 45px
  }

  .maketype__body {
    margin: 25px auto 0;
    padding: 0 10px;
    max-width: 375px
  }

  .maketype__inner a {
    border-width: 2px
  }

  .maketype__item {
    width: 32%
  }

  .maketype__label {
    font-size: 12px
  }

  .maketype__label span {
    font-size: 10px
  }

  .maketype__detail {
    margin: -5px 0 0;
    font-size: 9px;
    letter-spacing: 0
  }

  .maketype__detail::before {
    top: calc(50% - 2px);
    width: 5px;
    height: 5px
  }

  .maketype__link {
    margin: 10px 0 0
  }

  .maketype__link a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 6px 6px 6px 18px;
    height: 45px;
    line-height: 1.4;
    text-align: center;
    font-size: 12px;
    position: relative
  }

  .maketype__link a::before {
    content: "";
    position: absolute;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    top: calc(50% - 2.5px);
    left: 5px;
    width: 5px;
    height: 5px;
    -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
    transform: rotate(45deg) skew(8.5deg, 8.5deg)
  }
}

.common-content {
  margin: 0 auto;
  padding: 50px 0 0;
  max-width: 1020px
}

.common-content__head {
  text-align: center
}

.common-content__title {
  font-size: 42px;
  line-height: 1.4;
  letter-spacing: 0.18em
}

.common-content__lead {
  margin: 60px 0 0;
  font-size: 20px;
  letter-spacing: 0.18em
}

@media screen and (max-width: 1024px) {
  .common-content {
    padding: 25px 0 0
  }

  .common-content__title {
    font-size: 26px
  }

  .common-content__lead {
    margin: 20px 0 0;
    font-size: 14px
  }
}

.howto {
  margin: 0 auto;
  max-width: 880px
}

.howto--period {
  margin-top: 150px
}

.howto--receiv {
  margin-top: 120px
}

.howto--payment {
  margin-top: 70px
}

.howto__image {
  margin: 50px 0 0
}

.howto__image--small {
  text-align: center
}

.howto__image--small+* {
  margin-top: 20px
}

.howto__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 20px 0 0;
  border: 3px solid #e5e5e5
}

.howto__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-right: 3px solid #e5e5e5;
  padding: 25px;
  width: 40.90909%;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.12em
}

.howto__desc {
  padding: 25px;
  width: 59.09091%
}

.howto__text__big {
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

.howto__text__big span {
  font-size: 22px;
  color: #ED1061;
}

.howto__text {
  font-size: 16px;
  line-height: 1.5
}

.howto__text+* {
  margin-top: 20px
}

.howto__btn a {
  padding: 10px;
  width: 100%;
  font-size: 20px
}

@media screen and (max-width: 1024px) {
  .howto {
    padding: 0 15px;
    max-width: 520px
  }

  .howto--period {
    margin-top: 60px
  }

  .howto--period+.deliverydate {
    margin-top: 40px
  }

  .howto--receiv {
    margin-top: 50px
  }

  .howto--payment {
    margin-top: 40px
  }

  .howto__image {
    margin: 30px auto 0;
    padding: 0 40px;
    max-width: 400px
  }

  .howto__image--small {
    text-align: center
  }

  .howto__image--small+* {
    margin-top: 20px
  }

  .howto__item {
    display: block;
    margin: 10px 0 0;
    border-width: 2px
  }

  .howto__label {
    border-right: none;
    border-bottom: 2px solid #e5e5e5;
    padding: 10px 20px;
    width: 100%;
    font-size: 18px
  }

  .howto__desc {
    padding: 20px;
    width: 100%
  }

  .howto__text {
    font-size: 14px
  }

  .howto__text+* {
    margin-top: 15px
  }

  .howto__btn a {
    padding: 5px;
    font-size: 14px
  }
}

.js-accordion-target {
  display: none
}

.header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 100
}

.header__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  height: 130px
}

.header__logo--ff {
  position: absolute;
  top: 15px;
  left: 20px;
  width: 90px
}

.header__logo--ya {
  position: absolute;
  top: 30px;
  left: calc(50% - 155px);
  width: 310px
}

.header .sp-menu--open {
  display: none
}

.header.fix {
  position: fixed;
  -webkit-animation: openHeader 0.3s;
  animation: openHeader 0.3s
}

.header.fix .header__logo--ff {
  display: none
}

.header.fix .header__logo--ya {
  top: 18px;
  left: 20px;
  width: 220px
}

.header.fix .header__inner {
  height: 60px
}

@media screen and (max-width: 1024px) {
  .header {
    position: absolute
  }

  .header.fix {
    position: fixed;
    -webkit-animation: openHeader 0.3s;
    animation: openHeader 0.3s
  }

  .header.fix .header__logo--ff {
    display: none
  }

  .header.fix .header__logo--ya {
    top: 14px;
    left: calc(50% - 75px);
    width: 135px;
    left: 12px
  }

  .header.fix .header__makebtn {
    right: 50px
  }

  .header.fix .header__inner {
    height: 50px
  }

  .header.fix .sp-menu {
    top: 0
  }

  .header__inner {
    height: 50px
  }

  .header__logo--ff {
    top: 10px;
    left: 10px;
    width: 64px;
    z-index: 105
  }

  .header__logo--ya {
    top: 14px;
    left: calc(50% - 75px);
    width: 135px;
    z-index: 105
  }

  .header .sp-menu {
    display: block;
    position: absolute;
    right: 0;
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
  }

  .header .sp-menu span {
    display: block;
    position: absolute;
    border-radius: 2px;
    height: 2px;
    background-color: #000032
  }

  .header .sp-menu--open {
    bottom: -50px;
    z-index: 101
  }

  .header .sp-menu--open span {
    left: calc(50% - 12px);
    width: 24px
  }

  .header .sp-menu--open span:nth-of-type(1) {
    top: calc(50% - 9px)
  }

  .header .sp-menu--open span:nth-of-type(2) {
    top: calc(50%)
  }

  .header .sp-menu--open span:nth-of-type(3) {
    top: calc(50% + 8px)
  }

  .header .sp-menu--close {
    display: none;
    top: 0;
    z-index: 105
  }

  .header .sp-menu--close span {
    width: 30px;
    top: calc(50%);
    left: calc(50% - 15px)
  }

  .header .sp-menu--close span:nth-of-type(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }

  .header .sp-menu--close span:nth-of-type(2) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }
}

@-webkit-keyframes openHeader {
  0% {
    top: -100px
  }

  100% {
    top: 0
  }
}

@keyframes openHeader {
  0% {
    top: -100px
  }

  100% {
    top: 0
  }
}

.footer {
  margin: 150px 0 0;
  padding: 0 0 20px
}

.footer .snav__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.footer .snav__list {
  border-right: 1px solid #000032;
  padding: 0 20px
}

.footer .snav__list:last-of-type {
  border-right: none
}

.footer .snav__list a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.footer .snav__list a:hover {
  opacity: 0.6
}

.footer .bnr {
  margin: 40px auto 0;
  max-width: 880px
}

.footer .bnr__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.footer .bnr__list {
  width: 23.63636%
}

.footer .bnr__list.is-border {
  border: 1px solid #ccc
}

.footer .bnr__list:nth-of-type(n+5) {
  margin-top: 15px
}

.footer .bnr__list a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.footer .bnr__list a:hover {
  opacity: 0.6
}

.footer .sns {
  margin-top: 40px
}

.footer .sns__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.footer .sns__list {
  margin-right: 25px
}

.footer .sns__list:last-of-type {
  margin-right: 0
}

.footer .sns__list.sns__list--instagram {
  width: 30px
}

.footer .sns__list.sns__list--twitter {
  width: 32px
}

.footer .sns__list.sns__list--line {
  width: 32px
}

.footer__inner {
  margin: 40px auto 0;
  max-width: 1020px
}

.footer .guide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end
}

.footer .guide__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.footer .guide__list {
  margin: 0 30px 0 0
}

.footer .guide__list a {
  position: relative;
  padding-left: 10px;
  font-size: 14px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.footer .guide__list a:hover {
  opacity: 0.6
}

.footer .guide__list a::after {
  content: "";
  position: absolute;
  border-right: 1px solid #000032;
  border-top: 1px solid #000032;
  top: calc(50% - 3px);
  left: 0;
  width: 5px;
  height: 5px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.footer .guide__item {
  padding-right: 40px;
  text-align: right
}

.footer .guide__trademark {
  font-size: 11px;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.footer .guide__copyright {
  margin: 5px 0 0;
  font-size: 10px;
  letter-spacing: 0.1em
}

.footer .guide__copyright a {
  display: inline-block;
  margin-left: 20px;
  width: 65px
}

@media screen and (max-width: 1024px) {
  .footer {
    margin: 20px 0 0;
    padding: 0 0 10px
  }

  .footer .snav__list {
    padding: 0 10px;
    font-size: 12px
  }

  .footer .bnr {
    margin: 20px auto 0;
    padding: 0 20px;
    max-width: 500px
  }

  .footer .bnr__list {
    width: 47.69231%
  }

  .footer .bnr__list:nth-of-type(n+3) {
    margin-top: 10px
  }

  .footer .sns {
    margin-top: 20px
  }

  .footer__inner {
    margin: 20px auto 0;
    padding: 0 20px
  }

  .footer .guide {
    display: block
  }

  .footer .guide__lists {
    display: block
  }

  .footer .guide__list+.guide__list {
    margin: 5px 0 0 0
  }

  .footer .guide__list a {
    padding-left: 10px;
    font-size: 12px
  }

  .footer .guide__item {
    margin: 15px 0 0;
    text-align: left
  }

  .footer .guide__trademark {
    font-size: 10px
  }

  .footer .guide__copyright {
    font-size: 8px
  }
}

.gnav__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 40px;
  height: 60px
}

.gnav__list>a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 60px;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.gnav__list>a:hover {
  opacity: 0.6
}

.gnav__list+.gnav__list {
  margin-left: 40px
}

.gnav__list.is-sublist>a {
  padding-right: 12px
}

.gnav__list.is-sublist>a::after {
  content: "";
  position: absolute;
  border-right: 1px solid #000032;
  border-bottom: 1px solid #000032;
  top: calc(50% - 5px);
  right: 0;
  width: 7px;
  height: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media screen and (max-width: 1024px) {
  .gnav {
    display: none
  }
}

.header__makebtn>a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 260px;
  height: 60px;
  background-color: #ED1061;
  font-size: 20px;
  color: #fff;
  letter-spacing: 0.08em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.header__makebtn>a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .header__makebtn {
    position: absolute;
    right: 0;
    top: calc(50% - 25px);
    z-index: 101;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s
  }

  .header__makebtn a {
    display: block;
    padding: 7px 0 0;
    width: 100px;
    height: 50px;
    font-size: 10px;
    text-align: center
  }

  .header__makebtn a span {
    display: block;
    margin: 3px 0 0;
    font-size: 16px
  }
}

.is-sublist {
  position: relative
}

.is-sublist .nav__sublists {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  opacity: 0;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  -webkit-transform: translateY(-5px) scaleY(0);
  transform: translateY(-5px) scaleY(0);
  -webkit-transition: opacity 0.3s, -webkit-transform 0.2s;
  transition: opacity 0.3s, -webkit-transform 0.2s;
  transition: opacity 0.3s, transform 0.2s;
  transition: opacity 0.3s, transform 0.2s, -webkit-transform 0.2s
}

.is-sublist:hover .nav__sublists {
  opacity: 1;
  -webkit-transform: translateY(0px) scaleY(1);
  transform: translateY(0px) scaleY(1)
}

.is-sublist .nav__sublist {
  position: relative;
  background-color: rgba(255, 255, 255, 0.9)
}

.is-sublist .nav__sublist::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10px;
  width: calc(100% - 20px);
  height: 1px;
  background-color: #e5e5e5
}

.is-sublist .nav__sublist:last-of-type::before {
  content: none
}

.is-sublist .nav__sublist a {
  display: block;
  width: 100%;
  height: 38px;
  line-height: 38px;
  font-size: 14px;
  text-align: center;
  letter-spacing: 0.1em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.is-sublist .nav__sublist a:hover {
  opacity: 0.6
}

.is-sublist--large .nav__sublist a {
  height: 55px;
  line-height: 55px;
  font-size: 18px
}

.sp-nav {
  display: none
}

@media screen and (max-width: 1024px) {
  .sp-nav {
    display: block;
    position: fixed;
    padding: 50px 0 0;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100%;
    background-color: #fff;
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: left 0.3s 0.2s steps(1, end), -webkit-transform 0.3s 0.2s;
    transition: left 0.3s 0.2s steps(1, end), -webkit-transform 0.3s 0.2s;
    transition: transform 0.3s 0.2s, left 0.3s 0.2s steps(1, end);
    transition: transform 0.3s 0.2s, left 0.3s 0.2s steps(1, end), -webkit-transform 0.3s 0.2s;
    z-index: 99
  }

  .sp-nav__lists {
    border-top: 1px solid #e5e5e5;
    padding: 0 15px;
    height: 100%;
    overflow-y: auto
  }

  .sp-nav__list {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: opacity 0.2s, -webkit-transform 0.2s steps(1, end);
    transition: opacity 0.2s, -webkit-transform 0.2s steps(1, end);
    transition: transform 0.2s steps(1, end), opacity 0.2s;
    transition: transform 0.2s steps(1, end), opacity 0.2s, -webkit-transform 0.2s steps(1, end)
  }

  .sp-nav__list a, .sp-nav__list span {
    display: block;
    padding: 20px 40px 20px 10px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 16px;
    letter-spacing: 0.1em
  }

  .sp-nav__list a {
    position: relative
  }

  .sp-nav__list a::after {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 6px);
    right: 15px;
    width: 12px;
    height: 12px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }

  .sp-nav__sublist a {
    padding-left: 35px;
    font-weight: 700
  }
}

.sp-nav--open .header__makebtn {
  opacity: 0
}

.sp-nav--open .header__makebtn a {
  pointer-events: none
}

.sp-nav--open .sp-menu--open {
  opacity: 0;
  cursor: unset
}

.sp-nav--open .sp-menu--close {
  display: block;
  opacity: 1
}

.sp-nav--open .sp-nav {
  left: 0;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s
}

.sp-nav--open .sp-nav__list {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1
}

.sp-nav--open .sp-nav__list:nth-of-type(1) {
  -webkit-transition: opacity 0.3s .4s, -webkit-transform .3s .4s;
  transition: opacity 0.3s .4s, -webkit-transform .3s .4s;
  transition: opacity 0.3s .4s, transform .3s .4s;
  transition: opacity 0.3s .4s, transform .3s .4s, -webkit-transform .3s .4s
}

.sp-nav--open .sp-nav__list:nth-of-type(2) {
  -webkit-transition: opacity 0.3s .5s, -webkit-transform .4s .5s;
  transition: opacity 0.3s .5s, -webkit-transform .4s .5s;
  transition: opacity 0.3s .5s, transform .4s .5s;
  transition: opacity 0.3s .5s, transform .4s .5s, -webkit-transform .4s .5s
}

.sp-nav--open .sp-nav__list:nth-of-type(3) {
  -webkit-transition: opacity 0.3s .6s, -webkit-transform .5s .6s;
  transition: opacity 0.3s .6s, -webkit-transform .5s .6s;
  transition: opacity 0.3s .6s, transform .5s .6s;
  transition: opacity 0.3s .6s, transform .5s .6s, -webkit-transform .5s .6s
}

.sp-nav--open .sp-nav__list:nth-of-type(4) {
  -webkit-transition: opacity 0.3s .7s, -webkit-transform .6s .7s;
  transition: opacity 0.3s .7s, -webkit-transform .6s .7s;
  transition: opacity 0.3s .7s, transform .6s .7s;
  transition: opacity 0.3s .7s, transform .6s .7s, -webkit-transform .6s .7s
}

.sp-nav--open .sp-nav__list:nth-of-type(5) {
  -webkit-transition: opacity 0.3s .8s, -webkit-transform .7s .8s;
  transition: opacity 0.3s .8s, -webkit-transform .7s .8s;
  transition: opacity 0.3s .8s, transform .7s .8s;
  transition: opacity 0.3s .8s, transform .7s .8s, -webkit-transform .7s .8s
}

.sp-nav--open .sp-nav__list:nth-of-type(6) {
  -webkit-transition: opacity 0.3s .9s, -webkit-transform .8s .9s;
  transition: opacity 0.3s .9s, -webkit-transform .8s .9s;
  transition: opacity 0.3s .9s, transform .8s .9s;
  transition: opacity 0.3s .9s, transform .8s .9s, -webkit-transform .8s .9s
}

.sp-nav--open .sp-nav__list:nth-of-type(7) {
  -webkit-transition: opacity 0.3s 1s, -webkit-transform .9s 1s;
  transition: opacity 0.3s 1s, -webkit-transform .9s 1s;
  transition: opacity 0.3s 1s, transform .9s 1s;
  transition: opacity 0.3s 1s, transform .9s 1s, -webkit-transform .9s 1s
}

.sp-nav--open .sp-nav__list:nth-of-type(8) {
  -webkit-transition: opacity 0.3s 1.1s, -webkit-transform 1s 1.1s;
  transition: opacity 0.3s 1.1s, -webkit-transform 1s 1.1s;
  transition: opacity 0.3s 1.1s, transform 1s 1.1s;
  transition: opacity 0.3s 1.1s, transform 1s 1.1s, -webkit-transform 1s 1.1s
}

.sp-nav--open .sp-nav__list:nth-of-type(9) {
  -webkit-transition: opacity 0.3s 1.2s, -webkit-transform 1.1s 1.2s;
  transition: opacity 0.3s 1.2s, -webkit-transform 1.1s 1.2s;
  transition: opacity 0.3s 1.2s, transform 1.1s 1.2s;
  transition: opacity 0.3s 1.2s, transform 1.1s 1.2s, -webkit-transform 1.1s 1.2s
}

.sp-nav--open .sp-nav__list:nth-of-type(10) {
  -webkit-transition: opacity 0.3s 1.3s, -webkit-transform 1.2s 1.3s;
  transition: opacity 0.3s 1.3s, -webkit-transform 1.2s 1.3s;
  transition: opacity 0.3s 1.3s, transform 1.2s 1.3s;
  transition: opacity 0.3s 1.3s, transform 1.2s 1.3s, -webkit-transform 1.2s 1.3s
}

.sp-nav--open .sp-nav__list:nth-of-type(11) {
  -webkit-transition: opacity 0.3s 1.4s, -webkit-transform 1.3s 1.4s;
  transition: opacity 0.3s 1.4s, -webkit-transform 1.3s 1.4s;
  transition: opacity 0.3s 1.4s, transform 1.3s 1.4s;
  transition: opacity 0.3s 1.4s, transform 1.3s 1.4s, -webkit-transform 1.3s 1.4s
}

.sp-nav--open .sp-nav__list:nth-of-type(12) {
  -webkit-transition: opacity 0.3s 1.5s, -webkit-transform 1.4s 1.5s;
  transition: opacity 0.3s 1.5s, -webkit-transform 1.4s 1.5s;
  transition: opacity 0.3s 1.5s, transform 1.4s 1.5s;
  transition: opacity 0.3s 1.5s, transform 1.4s 1.5s, -webkit-transform 1.4s 1.5s
}

.top-hero {
  position: relative;
  padding: 90px 0 0
}

.top-hero__inner {
  margin: 0 auto;
  padding: 0 60px;
  max-width: 1200px
}

.top-hero__title {
  width: 370px;
  position: relative;
  font-size: 48px;
  line-height: 1.8;
  letter-spacing: 0.18em;
  z-index: 1
}

.top-hero__text {
  position: relative;
  margin: 135px 0 0;
  width: 240px;
  font-size: 24px;
  line-height: 2;
  letter-spacing: 0.2em;
  z-index: 1
}

.top-hero__item {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 540px
}

.top-hero__image {
  width: 100%;
  height: 540px;
  background: url(../images/top/img_hero1.jpg) center center no-repeat;
  background-size: cover;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  opacity: 0;
  -webkit-transition: opacity 3s, -webkit-transform 3s;
  transition: opacity 3s, -webkit-transform 3s;
  transition: transform 3s, opacity 3s;
  transition: transform 3s, opacity 3s, -webkit-transform 3s
}

.top-hero.js-scale .top-hero__image {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1
}

@media screen and (max-width: 1024px) {
  .top-hero {
    padding: 30px 30px 0
  }

  .top-hero__inner {
    margin: 0 auto;
    padding: 0;
    max-width: 520px
  }

  .top-hero__title {
    width: 130px;
    font-size: 24px
  }

  .top-hero__text {
    margin: 150px 0 0;
    width: 190px;
    font-size: 16px
  }

  .top-hero__item {
    height: 385px
  }

  .top-hero__image {
    height: 385px
  }
}

@media screen and (max-width: 600px) {
  .top-hero__image {
    background-image: url(../images/top/img_hero1_sp.jpg)
  }
}

.top-yearalbum {
  position: relative;
  margin: 70px 0 0;
  height: 380px
}

.top-yearalbum__image {
  position: absolute;
  top: 0
}

.top-yearalbum__image--cover {
  left: calc(50% - 145px)
}

.top-yearalbum__image--page {
  left: calc(50% - 265px);
  opacity: 0
}

.top-yearalbum.visible .top-yearalbum__image--cover {
  -webkit-animation: fadeInOut1 6s linear infinite;
  animation: fadeInOut1 6s linear infinite
}

.top-yearalbum.visible .top-yearalbum__image--page {
  -webkit-animation: fadeInOut2 6s linear infinite;
  animation: fadeInOut2 6s linear infinite
}

.top-yearalbum p.note {
  text-align: left;
  width: 70%;
  font-size: 90%;
  position: absolute;
  top: 390px;
  left: calc(50% - 265px);
  margin: 0 auto;
}


@media screen and (max-width: 1024px) {
  .top-yearalbum {
    margin-top: 60px 0 0;
    height: 240px
  }

  .top-yearalbum__image--cover {
    width: 182px;
    left: calc(50% - 91px)
  }

  .top-yearalbum__image--page {
    width: 334px;
    left: calc(50% - 167px)
  }

  .top-yearalbum p.note {
    text-align: left;
    font-size: 90%;
    position: absolute;
    top: 250px;
    left: calc(50% - 150px);
  }


}

@-webkit-keyframes fadeInOut1 {
  0% {
    opacity: 1
  }

  25% {
    opacity: 1
  }

  50% {
    opacity: 0
  }

  75% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes fadeInOut1 {
  0% {
    opacity: 1
  }

  25% {
    opacity: 1
  }

  50% {
    opacity: 0
  }

  75% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@-webkit-keyframes fadeInOut2 {
  0% {
    opacity: 0
  }

  25% {
    opacity: 0
  }

  50% {
    opacity: 1
  }

  75% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

@keyframes fadeInOut2 {
  0% {
    opacity: 0
  }

  25% {
    opacity: 0
  }

  50% {
    opacity: 1
  }

  75% {
    opacity: 1
  }

  100% {
    opacity: 0
  }
}

.top-point {
  position: relative;
  margin: 100px auto 0;
  overflow: hidden;
  max-width: 1020px
}

.top-point__title {
  position: relative;
  margin-left: 120px;
  width: 500px;
  color: #5BBDC8;
  font-size: 54px;
  line-height: 1.5;
  letter-spacing: 0.2em;
  z-index: 1
}

.top-point__image {
  position: relative;
  margin-top: -20px;
  width: 860px
}

.top-point__video {
  margin-top: 30px;
  position: relative;
  z-index: 1
}

.top-point__video video:focus {
  outline: none
}

.top-point__body {
  position: relative;
  padding: 100px 0 50px 14.64844%
}

.top-point__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(150 / 1024 * 100% + 40px);
  width: 3px;
  height: 100%;
  background-color: #5BBDC8;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transition: -webkit-transform 2s;
  transition: -webkit-transform 2s;
  transition: transform 2s;
  transition: transform 2s, -webkit-transform 2s
}

.top-point__body.visible::before {
  -webkit-transform: scaleY(1);
  transform: scaleY(1)
}

.top-point__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.top-point__column+.top-point__column {
  margin: 70px 0 0
}

.top-point__item {
  padding: 0 0 0 45px
}

.top-point__label {
  padding: 15px 0 0;
  width: 26px
}

.top-point__lead {
  font-size: 36px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.15em
}

.top-point__text {
  margin: 35px 0 0;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.15
}

@media screen and (max-width: 1024px) {
  .top-point {
    margin: 80px 0 0
  }

  .top-point__title {
    margin: 0 auto;
    width: 270px
  }

  .top-point__image {
    margin: -10px 0 0;
    width: 100%
  }

  .top-point__image img {
    width: 100%
  }

  .top-point__video {
    margin: 25px auto 0;
    max-width: 520px;
    text-align: center
  }

  .top-point__video video {
    max-width: 100%;
    height: auto;
    vertical-align: top
  }

  .top-point__body {
    position: relative;
    margin: 0 auto;
    padding: 30px 15px;
    max-width: 520px
  }

  .top-point__body::before {
    left: 42px;
    width: 2px
  }

  .top-point__column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .top-point__column+.top-point__column {
    margin: 70px 0 0
  }

  .top-point__item {
    padding: 0 0 0 20px;
    width: calc(100% - 20px)
  }

  .top-point__label {
    padding: 10px 0 0;
    width: 20px
  }

  .top-point__lead {
    font-size: 22px
  }

  .top-point__text {
    margin: 20px 0 0;
    font-size: 14px
  }
}

.top-concept {
  margin: 80px auto 0;
  overflow: hidden;
  max-width: 1020px
}

.top-concept__title {
  position: relative;
  width: 452px;
  color: #FE7139;
  font-size: 54px;
  line-height: 1.5;
  letter-spacing: 0.2em;
  z-index: 1
}

.top-concept__image {
  margin: -20px -100px 0 13.04348%;
  width: 86.95652%
}

.top-concept__image img {
  width: 100%
}

.top-concept__text {
  margin: 50px 0 0 13.04348%;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.15em
}

@media screen and (max-width: 1024px) {
  .top-concept {
    margin: 50px 0 0
  }

  .top-concept__title {
    padding-left: 20px;
    margin: 0 auto;
    width: auto;
    max-width: 520px
  }

  .top-concept__title img {
    width: 270px
  }

  .top-concept__image {
    margin: -10px 0 0;
    width: 100%
  }

  .top-concept__text {
    margin: 20px auto 0;
    padding: 0 15px;
    max-width: 520px;
    font-size: 16px
  }
}

.emergency {
  padding: 0 20px;
  background-color: #000032;
}

.emergency__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
  padding: 30px 0;
  max-width: 1020px;
  line-height: 1.5;
  letter-spacing: 0.1em
}

.emergency__item {
  width: 80.07812%;
  height: auto
}

.emergency__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 17.57812%;
  /* height: 120px; */
  background-color: #fff;
  color: #000032;
  font-size: 18px;
  font-weight: 500
}

.emergency__date {
  font-size: 16px;
  font-weight: 400
}

.emergency__text {
  /* margin-top: 10px; */
  font-size: 16px;
  color: #fff;
}

.emergency__text a {
  text-decoration: underline;
  color: #fff;
}
@media screen and (max-width: 1024px) {
  .emergency {
    padding: 0 20px
  }

  .emergency__inner {
    display: block;
    padding: 20px 0
  }

  .emergency__item {
    margin-top: 10px;
    width: auto;
    height: auto
  }

  .emergency__title {
    width: 100%;
    height: 38px;
    font-size: 16px
  }

  .emergency__date {
    font-size: 14px
  }

  .emergency__text {
    margin-top: 5px;
    font-size: 14px
  }
}

.top-information {
  margin: 150px auto 0;
  border-top: 6px solid #a13e91;
  border-bottom: 6px solid #a13e91;
  max-width: 1020px
}

.top-information__inner {
  padding: 25px 30px 30px
}

.top-information__title {
  margin: 0 0 25px;
  padding: 0 0 25px;
  border-bottom: 2px solid #000032;
  font-size: 38px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: center
}

.top-information__item+.top-information__item {
  margin-top: 20px
}

.top-information__morelink {
  margin: 30px 0 0;
  text-align: center
}

.top-information__morelink a {
  position: relative;
  display: inline-block;
  padding: 8px 35px 8px 45px;
  border: 1px solid #000032;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.24em;
  -webkit-transition: background-color .3s, color .3s;
  transition: background-color .3s, color .3s
}

.top-information__morelink a::before, .top-information__morelink a::after {
  -webkit-transition: border-color .3s;
  transition: border-color .3s
}

.top-information__morelink a:hover {
  background-color: #000032;
  color: #fff
}

.top-information__morelink a:hover::before, .top-information__morelink a:hover::after {
  border-color: #fff
}

.top-information__morelink a::before {
  content: "";
  position: absolute;
  border-right: 1px solid #000032;
  border-bottom: 1px solid #000032;
  top: calc(50% - 7px);
  left: 25px;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

@media screen and (max-width: 1024px) {
  .top-information {
    margin: 80px auto 0;
    max-width: 520px;
    border-width: 3px
  }

  .top-information__inner {
    padding: 15px 10px 20px
  }

  .top-information__title {
    margin: 0 0 15px;
    padding: 0 0 15px;
    border-width: 1px;
    font-size: 24px
  }

  .top-information__item+.top-information__item {
    margin-top: 15px
  }

  .top-information__morelink {
    margin: 20px 0 0
  }

  .top-information__morelink a {
    padding: 6px 25px 6px 35px;
    border: 1px solid #000032;
    font-size: 14px
  }

  .top-information__morelink a::before {
    top: calc(50% - 6px);
    left: 18px;
    width: 8px;
    height: 8px
  }
}

.top-designprice .section__lead {
  font-size: 22px
}

.top-designprice .dp-design {
  overflow: hidden;
  position: relative;
  margin: 30px 0 0;
  height: 340px;
  background: url(../images/top/bg_cover.jpg) 0 0 repeat-x;
  background-size: auto 340px
}

.top-designprice .dp-design .slick-slide:focus {
  outline: none
}

.top-designprice .dp-design__arrow {
  position: absolute;
  border-radius: 50%;
  top: calc(50% - 30px);
  width: 60px;
  height: 60px;
  background-color: rgba(0, 0, 0, 0.1);
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: 10
}

.top-designprice .dp-design__arrow:hover {
  background-color: rgba(0, 0, 0, 0.5)
}

.top-designprice .dp-design__arrow::before {
  content: "";
  position: absolute;
  border-top: 2px solid #fff;
  top: calc(50% - 12px);
  width: 24px;
  height: 24px
}

.top-designprice .dp-design__arrow--prev {
  left: 10px
}

.top-designprice .dp-design__arrow--prev::before {
  border-left: 2px solid #fff;
  left: calc(50% - 8px);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.top-designprice .dp-design__arrow--next {
  right: 10px
}

.top-designprice .dp-design__arrow--next::before {
  border-right: 2px solid #fff;
  right: calc(50% - 8px);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.top-designprice .dp-design__book {
  overflow: hidden;
  outline: none;
  border: none
}

.top-designprice .dp-design__book--first {
  padding-left: 50px;
  opacity: 0.5
}

.top-designprice .dp-design__book--last {
  padding-right: 50px;
  opacity: 0.5
}

.top-designprice .dp-design__book figure {
  width: 3003px
}

.top-designprice .dp-design__book img {
  max-width: initial;
  max-width: auto;
  width: 3003px;
  height: 340px
}

.top-designprice .dp-price {
  margin: 100px 0 0;
  padding: 0 30px
}

.top-designprice .dp-price__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.top-designprice .dp-price__item+.dp-price__item {
  margin-top: 50px
}

.top-designprice .dp-price__image {
  width: 54.58333%
}

.top-designprice .dp-price__image figure {
  position: relative
}

.top-designprice .dp-price__image figure figcaption {
  position: absolute;
  padding: 10px;
  top: 0;
  left: 0;
  background-color: #000032;
  color: #fff;
  font-size: 10px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.top-designprice .dp-price__image figure figcaption em {
  display: block;
  font-size: 36px;
  font-weight: 500;
  line-height: 1
}

.top-designprice .dp-price__table {
  width: 41.66667%
}

.top-designprice .dp-price__table table {
  width: 100%
}

.top-designprice .dp-price__table table tr th, .top-designprice .dp-price__table table tr td {
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.1em
}

.top-designprice .dp-price__table table tr th:first-of-type, .top-designprice .dp-price__table table tr td:first-of-type {
  width: 37.5%;
  border-right: 10px solid #fff
}

.top-designprice .dp-price__table table thead tr th {
  height: 65px;
  font-size: 16px;
  font-weight: 500;
  background-color: rgba(0, 0, 50, 0.07)
}

.top-designprice .dp-price__table table tbody tr td {
  height: 70px;
  font-size: 24px
}

.top-designprice .dp-price__table table tbody tr:nth-of-type(even) {
  background-color: rgba(0, 0, 50, 0.07)
}

.top-designprice .deliverydate {
  margin-top: 100px
}

.top-designprice .maketype {
  margin-top: 120px
}

@media screen and (max-width: 1024px) {
  .top-designprice .section__lead {
    font-size: 16px
  }

  .top-designprice .section__label img {
    width: 102px
  }

  .top-designprice .dp-design {
    margin: 20px auto 0;
    height: 200px;
    max-width: 520px;
    background-size: auto 200px, auto 200px
  }

  .top-designprice .dp-design__arrow {
    top: calc(50% - 16px);
    width: 32px;
    height: 32px
  }

  .top-designprice .dp-design__arrow::before {
    border-width: 1px;
    top: calc(50% - 6px);
    width: 12px;
    height: 12px
  }

  .top-designprice .dp-design__arrow--prev {
    left: 5px
  }

  .top-designprice .dp-design__arrow--prev::before {
    border-width: 1px;
    left: calc(50% - 3px)
  }

  .top-designprice .dp-design__arrow--next {
    right: 5px
  }

  .top-designprice .dp-design__arrow--next::before {
    border-width: 1px;
    right: calc(50% - 3px)
  }

  .top-designprice .dp-design__book {
    padding: 0;
    height: 200px
  }

  .top-designprice .dp-design__book figure {
    width: 1766px
  }

  .top-designprice .dp-design__book img {
    width: 1766px;
    height: 200px
  }

  .top-designprice .dp-price {
    margin: 40px 0 0;
    padding: 0
  }

  .top-designprice .dp-price__item {
    display: block
  }

  .top-designprice .dp-price__item+.dp-price__item {
    margin-top: 30px
  }

  .top-designprice .dp-price__image {
    margin: 0 auto;
    max-width: 520px;
    width: 100%
  }

  .top-designprice .dp-price__image figure figcaption {
    padding: 10px;
    font-size: 9px
  }

  .top-designprice .dp-price__image figure figcaption em {
    font-size: 24px
  }

  .top-designprice .dp-price__table {
    margin: 25px auto 0;
    padding: 0 50px;
    max-width: 400px;
    width: 100%
  }

  .top-designprice .dp-price__table table tr th:first-of-type, .top-designprice .dp-price__table table tr td:first-of-type {
    border-width: 6px
  }

  .top-designprice .dp-price__table table thead tr th {
    height: 45px;
    font-size: 12px
  }

  .top-designprice .dp-price__table table tbody tr td {
    height: 45px;
    font-size: 16px
  }

  .top-designprice .deliverydate {
    margin-top: 50px
  }

  .top-designprice .maketype {
    margin-top: 60px
  }
}

.top-sceneexperience .se-guide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 950px
}

.top-sceneexperience .se-guide__item {
  width: 31.57895%
}

.top-sceneexperience .se-guide__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 2px solid #000032;
  border-bottom: 2px solid #000032;
  padding: 12px 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.top-sceneexperience .se-guide__item a figure {
  width: 50%
}

.top-sceneexperience .se-guide__item a:hover {
  opacity: 0.6
}

.top-sceneexperience .se-guide__label {
  padding: 0 0 0 10px;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1.5
}

@media screen and (max-width: 1024px) {
  .top-sceneexperience .se-guide {
    display: block
  }

  .top-sceneexperience .se-guide__item {
    margin: 0 auto;
    width: 280px
  }

  .top-sceneexperience .se-guide__item+.se-guide__item {
    margin-top: 30px
  }

  .top-sceneexperience .se-guide__label {
    font-size: 16px
  }
}

.questions {
  margin: 0 auto;
  max-width: 880px
}

.questions__item+.questions__item {
  margin: 30px 0 0
}

.questions__item.js-accordion-open .questions__question::after {
  top: calc(50% - 5px);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg)
}

.questions__question {
  position: relative;
  padding: 15px 20px 15px 60px;
  background-color: #e5e5e5;
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 1.7;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.questions__question:hover {
  opacity: 0.6
}

.questions__question::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 15px;
  width: 36px;
  height: 36px;
  background: url(../images/common/ico_question.svg) 0 0 no-repeat;
  background-size: 100%
}

.questions__question::after {
  content: "";
  position: absolute;
  border-right: 2px solid #000032;
  border-bottom: 2px solid #000032;
  top: calc(50% - 10px);
  right: 30px;
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: top 0.3s, -webkit-transform 0.3s;
  transition: top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, top 0.3s;
  transition: transform 0.3s, top 0.3s, -webkit-transform 0.3s
}

.questions__answer {
  position: relative;
  margin: 20px 0 0;
  padding: 0 20px 0 60px;
  line-height: 1.5
}

.questions__answer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  width: 32px;
  height: 38px;
  background: url(../images/common/ico_answer.svg) 0 0 no-repeat;
  background-size: 100%
}

.questions__text {
  font-size: 18px
}

.questions__text--indent {
  padding-left: 1em;
  text-indent: -1em
}

.questions__text--note {
  margin: 10px 0 0;
  font-size: 14px
}

.questions__otherlink {
  margin: 50px 0 0;
  text-align: center
}

.questions__otherlink a {
  display: inline-block;
  padding: 20px 20px 20px 40px;
  background-color: #e5e5e5;
  font-size: 18px;
  letter-spacing: 0.1em;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.questions__otherlink a::before {
  content: "";
  position: absolute;
  border-top: 1px solid #000032;
  border-right: 1px solid #000032;
  top: calc(50% - 6px);
  left: 15px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
  transform: rotate(45deg) skew(8.5deg, 8.5deg)
}

.questions__otherlink a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .questions {
    padding: 0 20px;
    max-width: 520px
  }

  .questions__item+.questions__item {
    margin: 15px 0 0
  }

  .questions__item.js-accordion-open .questions__question::after {
    top: calc(50% - 3px)
  }

  .questions__question {
    padding: 10px 30px 10px 40px;
    font-size: 14px
  }

  .questions__question::before {
    top: 10px;
    left: 10px;
    width: 20px;
    height: 20px
  }

  .questions__question::after {
    border-width: 1px;
    top: 15px;
    right: 20px;
    width: 8px;
    height: 8px
  }

  .questions__answer {
    margin: 15px 0 0;
    padding: 0 15px 0 40px
  }

  .questions__answer::before {
    top: 0;
    left: 10px;
    width: 20px;
    height: 24px
  }

  .questions__text {
    font-size: 14px
  }

  .questions__text a {
    text-decoration: underline
  }

  .questions__text a:hover {
    text-decoration: none
  }

  .questions__text--indent {
    padding-left: 1em;
    text-indent: -1em
  }

  .questions__text--note {
    margin: 10px 0 0;
    font-size: 11px
  }

  .questions__otherlink {
    margin: 25px 0 0
  }

  .questions__otherlink a {
    padding: 10px 15px 10px 25px;
    font-size: 14px;
    position: relative
  }

  .questions__otherlink a::before {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 4px);
    left: 12px;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg) skew(8.5deg, 8.5deg);
    transform: rotate(45deg) skew(8.5deg, 8.5deg)
  }
}

@media screen and (max-width: 1024px) {
  .footer {
    margin: 60px 0 0
  }
}

@media screen and (max-width: 1024px) {
  .make.android .android-only {
    display: block !important
  }

  .make.android .ios-only {
    display: none
  }

  .make.android .display--pc {
    display: none
  }

  .make.ios .ios-only {
    display: block !important
  }

  .make.ios .android-only {
    display: none
  }

  .make.ios .display--pc {
    display: none
  }
}

.make__btn a {
  display: inline-block;
  border: 1px solid #000032;
  border-radius: 4px;
  color: #fff;
  background-color: #000032;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.5;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s
}

.make__btn a:hover {
  background-color: #fff;
  color: #000032
}

.make__btn--pc a {
  background-color: #5BBDC8;
  border-color: #5BBDC8
}

.make__btn--pc a:hover {
  color: #5BBDC8
}

.make__btn--shop a {
  background-color: #a13e91;
  border-color: #a13e91
}

.make__btn--shop a:hover {
  color: #a13e91
}

.make__btn--app a {
  background-color: #FE7139;
  border-color: #FE7139
}

.make__btn--app a:hover {
  color: #FE7139
}

.make .make-hero {
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover
}

.make .make-hero__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 auto;
  padding: 0 20px;
  max-width: 1020px;
  width: 100%;
  height: 550px
}

.make .make-hero__circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 20px 0 0;
  border-radius: 50%;
  width: 370px;
  height: 370px;
  background-color: #fff;
  text-align: center
}

.make .make-hero__title {
  font-size: 50px;
  letter-spacing: 0.10em
}

.make .make-hero__lead {
  margin: 15px 0 0;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.15em
}

.make .make-hero .make-nav {
  margin: 15px 0 0
}

.make .make-hero .make-nav--install {
  margin: 30px 0 0
}

.make .make-hero .make-nav__lists {
  margin: 0 auto;
  max-width: 310px
}

.make .make-hero .make-nav__lists--install {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 340px
}

.make .make-hero .make-nav__list+.make-nav__list {
  margin: 15px 0 0
}

.make .make-hero .make-nav__list a {
  padding: 10px 20px;
  width: 100%;
  font-size: 20px
}

.make .make-hero .make-nav__list--ios a, .make .make-hero .make-nav__list--android a {
  padding: 0
}

.make .make-hero .make-nav__list--ios {
  width: 160px
}

.make .make-hero .make-nav__list--android {
  margin: 0 !important;
  width: 160px
}

.make .make-hero.make-hero--pc {
  background-image: url(../images/pc/bg_hero.jpg)
}

.make .make-hero.make-hero--pc .make-hero__title, .make .make-hero.make-hero--pc .make-hero__lead {
  color: #5BBDC8
}

.make .make-hero.make-hero--shop {
  background-image: url(../images/shop/bg_hero.jpg)
}

.make .make-hero.make-hero--shop .make-hero__title, .make .make-hero.make-hero--shop .make-hero__lead {
  color: #a13e91
}

.make .make-hero.make-hero--app {
  background-image: url(../images/app/bg_hero.jpg)
}

.make .make-hero.make-hero--app .make-hero__title, .make .make-hero.make-hero--app .make-hero__lead {
  color: #FE7139
}

@media screen and (max-width: 1024px) {
  .make .make-hero__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 370px
  }

  .make .make-hero__circle {
    margin: 0 auto;
    width: 225px;
    height: 225px
  }

  .make .make-hero__title {
    font-size: 28px
  }

  .make .make-hero__lead {
    margin: 10px 0 0;
    font-size: 10px
  }

  .make .make-hero .make-nav {
    margin: 20px 0 0
  }

  .make .make-hero .make-nav--install {
    margin: 20px 0 0
  }

  .make .make-hero .make-nav__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 330px
  }

  .make .make-hero .make-nav__lists--install {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 270px
  }

  .make .make-hero .make-nav__list+.make-nav__list {
    margin: 0 0 0 10px
  }

  .make .make-hero .make-nav__list a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0;
    width: 160px;
    height: 65px;
    font-size: 14px
  }

  .make .make-hero .make-nav__list--ios {
    padding: 0 5px;
    width: 130px
  }

  .make .make-hero .make-nav__list--ios a {
    width: 120px !important;
    height: auto
  }

  .make .make-hero .make-nav__list--android {
    padding: 0 5px;
    width: 130px
  }

  .make .make-hero .make-nav__list--android a {
    width: 120px;
    height: auto
  }

  .make .make-hero.make-hero--pc {
    background-image: url(../images/pc/bg_hero_sp.jpg)
  }

  .make .make-hero.make-hero--app {
    background-image: url(../images/app/bg_hero_sp.jpg)
  }

  .make .make-hero.make-hero--shop {
    background-image: url(../images/shop/bg_hero_sp.jpg)
  }

  .make .make-hero.make-hero--shop+.make-howto {
    margin-top: 40px
  }
}

.make .deliverydate {
  margin-top: 100px
}

@media screen and (max-width: 1024px) {
  .make .deliverydate {
    margin-top: 20px
  }
}

.make .step {
  margin: 90px auto 0;
  max-width: 880px
}

.make .step__list {
  position: relative;
  border: 3px solid #e5e5e5;
  padding: 25px 25px 25px 40px
}

.make .step__list+.step__list {
  margin-top: 55px
}

.make .step__list+.step__list::before {
  content: "";
  position: absolute;
  border-right: 3px solid #e5e5e5;
  border-bottom: 3px solid #e5e5e5;
  top: -50px;
  left: calc(50% - 12px);
  width: 24px;
  height: 24px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.make .step__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.make .step__inner--w1 .step__column--center {
  width: 44.99382%
}

.make .step__inner--w1 .step__column--right {
  width: 39.55501%
}

.make .step__inner--w2 .step__column--center {
  width: 52.41038%
}

.make .step__inner--w2 .step__column--right {
  width: 32.13844%
}

.make .step__inner--w3 .step__column--center {
  width: 54.88257%
}

.make .step__inner--w3 .step__column--right {
  width: 29.66625%
}

.make .step__inner--w4 .step__column--center {
  width: 51.17429%
}

.make .step__inner--w4 .step__column--right {
  width: 33.37454%
}

.make .step__inner--w5 .step__column--center {
  width: 48.7021%
}

.make .step__inner--w5 .step__column--right {
  width: 35.84672%
}

.make .step__inner--w6 .step__column--center {
  width: 57.35476%
}

.make .step__inner--w6 .step__column--right {
  width: 27.19407%
}

.make .step__inner--w7 .step__column--center {
  width: 36.34116%
}

.make .step__inner--w7 .step__column--right {
  width: 48.20766%
}

.make .step__inner--w8 .step__column--center {
  width: 63.53523%
}

.make .step__inner--w8 .step__column--right {
  width: 21.0136%
}

.make .step__column--left {
  padding-right: 2.47219%;
  width: 15.45117%
}

.make .step__column--center {
  padding-right: 3.70828%
}

.make .step__column--right .step__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.make .step__column--right .step__box {
  padding: 5px 15px;
  min-width: 120px;
  border-radius: 4px;
  border: 2px solid #000032;
  font-size: 14px;
  line-height: 1.5;
  text-align: center
}

.make .step__column--pc1 .make__btn a {
  padding: 25px 20px;
  width: 100%;
  font-size: 20px
}

.make .step__column--pc1 .appinfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 10px 0 0
}

.make .step__column--pc1 .appinfo__image {
  width: 20.3125%
}

.make .step__column--pc1 .appinfo__item {
  padding-left: 25px;
  width: 79.6875%
}

.make .step__column--pc1 .appinfo__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.make .step__column--pc1 .appinfo__list {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.3
}

.make .step__column--pc1 .appinfo__list+.appinfo__list {
  margin: 3px 3px 0 0
}

.make .step__column--pc1 .appinfo__note {
  margin: 5px 0 0;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 10px
}

.make .step__column--shop1 {
  padding: 25px 0
}

.make .step__column--shop1 .make__btn a {
  padding: 25px 20px;
  width: 100%;
  font-size: 20px
}

.make .step__column--app1 .appbanner+.appbanner {
  margin: 20px 0 0;
  padding: 20px 0 0;
  border-top: 3px solid #e5e5e5
}

.make .step__column--app1 .appbanner__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.make .step__column--app1 .appbanner__title {
  padding: 0 10px 0 0;
  width: 35%;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.1em
}

.make .step__column--app1 .appbanner__box {
  width: 32.5%;
  text-align: center
}

.make .step__column--app1 .appbanner__label {
  font-size: 14px;
  letter-spacing: 0.1em
}

.make .step__column--app1 .appbanner__banner {
  margin: 5px auto 0
}

.make .step__column--app1 .appbanner__banner--ios {
  width: 105px
}

.make .step__column--app1 .appbanner__banner--ios a {
  width: 105px
}

.make .step__column--app1 .appbanner__banner--android {
  width: 105px
}

.make .step__column--app1 .appbanner__banner--qrcode {
  width: 80px
}

.make .step__column--app1 .appbanner__note {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.1em
}

.make .step__column--app1 .ios-only, .make .step__column--app1 .android-only {
  display: none
}

.make .step__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
  padding-left: 0.3em;
  border: 3px solid #e5e5e5;
  width: 105px;
  height: 105px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 0.8;
  text-align: center
}

.make .step__num em {
  display: block;
  font-size: 58px
}

.make .step__title {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.2em
}

.make .step__text {
  margin: 10px 0 0;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.12em
}

.make .step__text--alert {
  color: #ed0d5f
}

.make .step__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.make .step__item p {
  max-width: 160px
}

.make .step__item figure {
  margin: 10px 0 0 20px
}

.make .step-other {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 20px 0 0
}

.make .step-other__btn a {
  padding: 10px 44px;
  font-size: 18px
}

.make .step__environment {
  margin: 20px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.make .step__environment--left {
  width: 68%
}

.make .step__environment--left .environment__lists {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.make .step__environment--left .environment__list {
  padding-left: 1em;
  text-indent: -1em
}

.make .step__environment--right {
  width: 30%;
  text-align: right
}

.make .step__environment--right .make__btn a {
  padding: 10px;
  font-size: 14px
}

@media screen and (max-width: 1024px) {
  .make .step {
    margin: 50px auto 0;
    padding: 0 15px;
    max-width: 520px
  }

  .make .step__list {
    border-width: 2px;
    padding: 25px 20px 20px
  }

  .make .step__list+.step__list {
    margin-top: 35px
  }

  .make .step__list+.step__list::before {
    border-width: 2px;
    top: -35px;
    left: calc(50% - 9px);
    width: 18px;
    height: 18px
  }

  .make .step__inner {
    position: relative;
    display: block;
    padding-left: 80px
  }

  .make .step__inner--w1 .step__column--center, .make .step__inner--w1 .step__column--right, .make .step__inner--w2 .step__column--center, .make .step__inner--w2 .step__column--right, .make .step__inner--w3 .step__column--center, .make .step__inner--w3 .step__column--right, .make .step__inner--w4 .step__column--center, .make .step__inner--w4 .step__column--right, .make .step__inner--w5 .step__column--center, .make .step__inner--w5 .step__column--right, .make .step__inner--w6 .step__column--center, .make .step__inner--w6 .step__column--right, .make .step__inner--w7 .step__column--center, .make .step__inner--w7 .step__column--right, .make .step__inner--w8 .step__column--center, .make .step__inner--w8 .step__column--right {
    width: auto
  }

  .make .step__column--left {
    padding-right: 0;
    width: auto
  }

  .make .step__column--center {
    padding-right: 0
  }

  .make .step__column--right {
    margin: 20px 0 0
  }

  .make .step__column--right .step__group {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 250px
  }

  .make .step__column--right .step__group figure {
    width: 80px
  }

  .make .step__column--right .step__box {
    padding: 5px;
    margin-left: 10px;
    font-size: 12px
  }

  .make .step__column--pc1 {
    position: relative
  }

  .make .step__column--pc1 .make__btn {
    padding-right: 60px
  }

  .make .step__column--pc1 .make__btn a {
    padding: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    height: 50px;
    font-size: 13px
  }

  .make .step__column--pc1 .make__btn--spdl {
    margin: 10px 0 0;
    padding-right: 0
  }

  .make .step__column--pc1 .appinfo {
    display: block;
    margin: 5px 0 0
  }

  .make .step__column--pc1 .appinfo__image {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px
  }

  .make .step__column--pc1 .appinfo__item {
    padding-left: 0;
    width: 100%
  }

  .make .step__column--pc1 .appinfo__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .make .step__column--pc1 .appinfo__list {
    font-size: 10px
  }

  .make .step__column--pc1 .appinfo__note {
    margin: 5px 0 0;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 10px
  }

  .make .step__column--shop1 {
    padding: 0
  }

  .make .step__column--shop1 .make__btn a {
    padding: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: left;
    height: 50px;
    font-size: 13px
  }

  .make .step__column--app1 {
    margin-left: -80px
  }

  .make .step__column--app1 .appbanner+.appbanner {
    margin: 15px 0 0;
    padding: 15px 0 0;
    border-width: 2px
  }

  .make .step__column--app1 .appbanner__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .make .step__column--app1 .appbanner__title {
    width: 33.3%;
    font-size: 12px
  }

  .make .step__column--app1 .appbanner__box {
    width: 33.3%
  }

  .make .step__column--app1 .appbanner__label {
    font-size: 12px
  }

  .make .step__column--app1 .appbanner__banner {
    margin: 3px auto 0
  }

  .make .step__column--app1 .appbanner__banner--ios {
    width: 90px
  }

  .make .step__column--app1 .appbanner__banner--ios a {
    width: 90px !important
  }

  .make .step__column--app1 .appbanner__banner--android {
    width: 90px
  }

  .make .step__column--app1 .appbanner__note {
    margin: 5px 0 0;
    font-size: 10px
  }

  .make .step__column--app1 .install-banner {
    margin: 0 auto
  }

  .make .step__column--app1 .install-banner--ios {
    width: 160px
  }

  .make .step__column--app1 .install-banner--android {
    width: 180px
  }

  .make .step__num {
    position: absolute;
    top: 0;
    left: 0;
    border-width: 2px;
    width: 65px;
    height: 65px;
    font-size: 9px;
    line-height: 1
  }

  .make .step__num em {
    font-size: 36px
  }

  .make .step__title {
    font-size: 18px
  }

  .make .step__text {
    font-size: 14px
  }

  .make .step__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }

  .make .step__item p {
    max-width: initial;
    width: 70%
  }

  .make .step__item figure {
    margin: 10px 0 0 20px;
    width: 65px
  }

  .make .step-other {
    display: block;
    margin: 15px 0 0
  }

  .make .step-other__btn a {
    width: 100%;
    padding: 10px;
    font-size: 14px
  }

  .make .step-other__btn+.make__btn {
    margin-top: 10px
  }

  .make .step__environment {
    margin: 15px 0 0;
    display: block
  }

  .make .step__environment--left {
    width: 100%
  }

  .make .step__environment--left .environment__lists {
    font-size: 10px
  }

  .make .step__environment--right {
    margin: 10px 0 0;
    width: 100%
  }

  .make .step__environment--right .make__btn a {
    padding: 5px 10px;
    width: 100%
  }
}

.make .function {
  margin: 60px 0 0
}

.make .function__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

.make .function__text {
  font-size: 18px;
  letter-spacing: 0.12em
}

.make .function__btn {
  margin-left: 20px
}

.make .function__btn a {
  padding: 10px 60px;
  font-size: 18px
}

.make .function__note {
  margin: 20px 0 0;
  color: #ed0d5f;
  font-size: 18px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.12em
}

@media screen and (max-width: 1024px) {
  .make .function {
    margin: 30px 0 0;
    padding: 0 15px
  }

  .make .function__inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .make .function__text {
    font-size: 14px
  }

  .make .function__btn {
    margin-left: 10px
  }

  .make .function__btn a {
    padding: 5px 20px;
    font-size: 14px
  }

  .make .function__note {
    margin: 10px 0 0;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.12em
  }
}

.sitemap__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 50px 0 0
}

.sitemap__lists+.sitemap__lists {
  margin: 0 0 0 100px
}

.sitemap__list+.sitemap__list {
  margin: 30px 0 0
}

.sitemap__list>a {
  padding-left: 1.3em;
  font-size: 20px;
  letter-spacing: 0.18em;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.sitemap__list>a::before {
  content: "";
  position: absolute;
  border-top: 2px solid #000032;
  border-right: 2px solid #000032;
  top: calc(50% - 6px);
  left: 0px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.sitemap__list>a:hover {
  opacity: 0.6
}

.sitemap__sublists {
  margin: 20px 0 0;
  padding: 0 0 0 50px
}

.sitemap__sublist+.sitemap__sublist {
  margin: 20px 0 0
}

.sitemap__sublist>a {
  padding-left: 1.3em;
  font-size: 16px;
  letter-spacing: 0.18em;
  position: relative;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.sitemap__sublist>a::before {
  content: "";
  position: absolute;
  border-top: 2px solid #000032;
  border-right: 2px solid #000032;
  top: calc(50% - 5px);
  left: 0px;
  width: 10px;
  height: 10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.sitemap__sublist>a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .sitemap__menu {
    display: block;
    margin: 30px 0 0
  }

  .sitemap__lists {
    margin: 0 auto;
    max-width: 250px
  }

  .sitemap__lists+.sitemap__lists {
    margin: 20px auto 0
  }

  .sitemap__list+.sitemap__list {
    margin: 20px 0 0
  }

  .sitemap__list>a {
    padding-left: 1.3em;
    font-size: 14px;
    position: relative
  }

  .sitemap__list>a::before {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 4px);
    left: 0px;
    width: 8px;
    height: 8px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }

  .sitemap__sublists {
    margin: 15px 0 0;
    padding: 0 0 0 30px
  }

  .sitemap__sublist+.sitemap__sublist {
    margin: 15px 0 0
  }

  .sitemap__sublist>a {
    font-size: 14px;
    position: relative
  }

  .sitemap__sublist>a::before {
    content: "";
    position: absolute;
    border-top: 1px solid #000032;
    border-right: 1px solid #000032;
    top: calc(50% - 3px);
    left: 0px;
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
  }
}

.dealings .common-content__title {
  font-size: 38px
}

.dealings__table {
  border: 2px solid rgba(0, 0, 50, 0.07);
  margin: 30px auto 0;
  max-width: 1020px
}

.dealings__table table tr th, .dealings__table table tr td {
  padding: 20px 20px 20px 15px;
  vertical-align: middle;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.18em
}

.dealings__table table tr th {
  border-bottom: 2px solid #fff;
  width: 21.56863%;
  background-color: rgba(0, 0, 50, 0.07)
}

.dealings__table table tr td {
  border-bottom: 2px solid rgba(0, 0, 50, 0.07)
}

.dealings__table table tr:last-of-type th, .dealings__table table tr:last-of-type td {
  border-bottom: none
}

.dealings__text--indent {
  padding-left: 1em;
  text-indent: -1em
}

.dealings__lists--ordered .dealings__list {
  padding-left: 3em;
  text-indent: -3em
}

.dealings__list {
  padding-left: 1em;
  text-indent: -1em
}

.dealings__item+.dealings__item {
  margin-top: 1em
}

@media screen and (max-width: 1024px) {
  .dealings {
    margin: 0 auto;
    max-width: 520px
  }

  .dealings .common-content__title {
    font-size: 24px
  }

  .dealings__table {
    border: none;
    margin: 25px auto 0
  }

  .dealings__table table, .dealings__table tbody, .dealings__table tr, .dealings__table th, .dealings__table td {
    display: block
  }

  .dealings__table table tr th {
    padding: 15px 20px;
    border: none;
    width: 100%;
    font-size: 16px
  }

  .dealings__table table tr td {
    margin: 0 auto;
    padding: 20px;
    max-width: 520px;
    border: none;
    font-size: 14px
  }
}

.info .information {
  margin: 30px 0 0;
  border-top: 6px solid #a13e91
}

.info .information__inner {
  padding: 60px 60px 0
}

.info .information__item+.information__item {
  margin: 30px 0 0
}

.info .information__text {
  padding-left: 120px
}

@media screen and (max-width: 1024px) {
  .info .information {
    border-width: 3px
  }

  .info .information__inner {
    margin: 0 auto;
    padding: 30px 20px 0;
    max-width: 520px
  }

  .info .information__date {
    float: none
  }

  .info .information__text {
    margin: 5px 0 0;
    padding-left: 0
  }
}

.faq .faq-nav {
  margin: 80px auto 0;
  max-width: 840px
}

.faq .faq-nav__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.faq .faq-nav__list {
  width: 22.61905%
}

.faq .faq-nav__list:nth-of-type(n+5) {
  margin: 20px 0 0
}

.faq .faq-nav__list a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 4px;
  width: 100%;
  height: 150px;
  background-color: #e5e5e5;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.18em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.faq .faq-nav__list a::after {
  content: "";
  position: absolute;
  border-right: 2px solid #000032;
  border-bottom: 2px solid #000032;
  bottom: 15px;
  left: calc(50% - 7px);
  width: 14px;
  height: 14px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.faq .faq-nav__list a:hover {
  opacity: 0.6
}

@media screen and (max-width: 1024px) {
  .faq .faq-nav {
    margin: 30px auto 0;
    padding: 0 20px;
    max-width: 520px
  }

  .faq .faq-nav__list {
    width: 47.35202%
  }

  .faq .faq-nav__list:nth-of-type(n+3) {
    margin: 15px 0 0
  }

  .faq .faq-nav__list a {
    height: 90px;
    font-size: 16px
  }

  .faq .faq-nav__list a::after {
    border-width: 1px;
    bottom: 10px;
    left: calc(50% - 4px);
    width: 8px;
    height: 8px
  }
}

.faq .faq-section {
  margin: 100px auto 0;
  max-width: 880px
}

.faq .faq-section__title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.18em
}

@media screen and (max-width: 1024px) {
  .faq .faq-section {
    margin: 50px auto 0;
    padding: 0 20px;
    max-width: 520px
  }

  .faq .faq-section__title {
    font-size: 18px;
    text-align: center
  }
}

.faq .faq-questions {
  margin: 40px 0 0
}

.faq .faq-questions__item {
  line-height: 1.5;
  letter-spacing: 0.18em
}

.faq .faq-questions__item+.faq-questions__item {
  margin: 30px 0 0
}

.faq .faq-questions__item.js-accordion-open .faq-questions__question::after {
  top: calc(50% - 5px);
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg)
}

.faq .faq-questions__question {
  position: relative;
  padding: 10px 80px 20px 60px;
  border-bottom: 2px solid #e5e5e5;
  font-size: 18px;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s
}

.faq .faq-questions__question:hover {
  opacity: 0.6
}

.faq .faq-questions__question::before {
  content: "";
  position: absolute;
  top: 0;
  left: 5px;
  width: 45px;
  height: 45px;
  background: url(../images/common/ico_question2.svg) 0 0 no-repeat;
  background-size: 100%
}

.faq .faq-questions__question::after {
  content: "";
  position: absolute;
  border-right: 2px solid #000032;
  border-bottom: 2px solid #000032;
  top: 20px;
  right: 40px;
  width: 12px;
  height: 12px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: top 0.3s, -webkit-transform 0.3s;
  transition: top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, top 0.3s;
  transition: transform 0.3s, top 0.3s, -webkit-transform 0.3s
}

.faq .faq-questions__answer {
  position: relative;
  margin: 20px 0 0;
  padding: 0 80px 0 60px
}

.faq .faq-questions__answer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  width: 32px;
  height: 38px;
  background: url(../images/common/ico_answer.svg) 0 0 no-repeat;
  background-size: 100%
}

.faq .faq-questions__text {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.17em
}

.faq .faq-questions__text a {
  text-decoration: underline
}

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

.faq .faq-questions__text+.faq-questions__text {
  margin: 10px 0 0
}

.faq .faq-questions__text--midium {
  font-weight: 500
}

.faq .faq-questions__text--note {
  margin-top: 10px;
  font-size: 14px
}

.faq .faq-questions__text--indent {
  padding-left: 1em;
  text-indent: -1em
}

.faq .faq-questions__block {
  margin: 5px 0 0
}

.faq .faq-questions__block+* {
  margin: 15px 0 0
}

.faq .faq-questions .step__list {
  padding-left: 1.5em;
  text-indent: -1.5em
}

@media screen and (max-width: 1024px) {
  .faq .faq-questions {
    margin: 25px 0 0
  }

  .faq .faq-questions__item+.faq-questions__item {
    margin: 20px 0 0
  }

  .faq .faq-questions__item.js-accordion-open .faq-questions__question::after {
    top: 15px
  }

  .faq .faq-questions__question {
    padding: 5px 40px 10px 40px;
    border-width: 1px;
    font-size: 16px
  }

  .faq .faq-questions__question::before {
    top: 2px;
    left: 3px;
    width: 26px;
    height: 26px
  }

  .faq .faq-questions__question::after {
    border-width: 1px;
    top: 10px;
    right: 20px;
    width: 8px;
    height: 8px
  }

  .faq .faq-questions__answer {
    margin: 10px 0 0;
    padding: 0 0 0 40px
  }

  .faq .faq-questions__answer::before {
    top: 0;
    left: 5px;
    width: 20px;
    height: 24px
  }

  .faq .faq-questions__text {
    font-size: 14px
  }

  .faq .faq-questions__text--note {
    font-size: 12px
  }

  .faq .faq-questions .step__list {
    font-size: 14px
  }
}

.dl .dl-content {
  margin: 0 auto;
  width: 1020px
}

.dl .dl-hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 60px 0 0
}

.dl .dl-hero__head {
  width: 45.89844%
}

.dl .dl-hero__title {
  font-size: 42px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.16em
}

.dl .dl-hero__title span {
  position: relative
}

.dl .dl-hero__title span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #5BBDC8
}

.dl .dl-hero__lead {
  margin: 20px 0 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.16em
}

.dl .dl-hero__dl-btn {
  margin: 20px 0 0
}

.dl .dl-hero__dl-btn a {
  display: inline-block;
  border: 2px solid #5BBDC8;
  border-radius: 10px;
  padding: 35px;
  background-color: #5BBDC8;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.18em;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s
}

.dl .dl-hero__dl-btn a:hover {
  color: #5BBDC8;
  background-color: #fff
}

.dl .dl-hero__notelists {
  margin: 10px 0 0
}

.dl .dl-hero__notelist {
  padding-left: 1em;
  width: 90%;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.1em
}

.dl .dl-hero__notelist+.dl-hero__notelist {
  margin: 5px 0 0
}

.dl .dl-hero__process-btn {
  margin: 15px 0 0
}

.dl .dl-hero__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 4px solid #5BBDC8;
  margin: 40px 0 0;
  border-radius: 10px;
  padding: 20px
}

.dl .dl-hero__item figure {
  width: 75px
}

.dl .dl-hero__text {
  padding: 0 0 0 20px;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.1em
}

.dl .dl-hero__text em {
  font-size: 32px;
  font-weight: 500
}

.dl .dl-hero__image {
  width: 48.82812%
}

.dl .deliverydate {
  margin-top: 80px
}

.dl .dl-block {
  margin: 100px 0 0
}

.dl .dl-block+.dl-block {
  margin: 60px 0 0
}

.dl .dl-block__item {
  margin: 20px 0 0
}

.dl .dl-block__text {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.6
}

.dl .dl-block__text+.dl-block__text {
  margin: 5px 0 0
}

.dl .dl-block__note {
  margin: 10px 0 0;
  font-size: 14px;
  text-align: right;
  letter-spacing: 0.1em
}

.dl .dl-block__table table {
  width: 100%
}

.dl .dl-block__table table tr th, .dl .dl-block__table table tr td {
  padding: 10px 30px
}

.dl .dl-block__box {
  overflow-y: scroll;
  height: 300px;
  padding: 25px 30px;
  border: 2px solid rgba(0, 0, 50, 0.07);
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8
}

.dl .dl-block__box>ol {
  margin: 20px 0 0
}

.dl .dl-block__box>ol>li {
  margin: 20px 0 0;
  list-style: inside;
  list-style-type: decimal
}

.dl .dl-block__box>ol ul li {
  padding-left: 3em;
  text-indent: -3em
}

.thanks .thanks-content {
  margin: 0 auto;
  width: 1020px
}

.thanks__head {
  margin: 60px 0 0
}

.thanks__title {
  font-size: 36px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.2em;
  text-align: center
}

.thanks__title span {
  display: inline-block;
  position: relative
}

.thanks__title span::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #5BBDC8
}

.thanks__title span+span {
  margin-top: 5px
}

.thanks__image {
  margin: 40px auto 0;
  max-width: 840px
}

.thanks__lead {
  margin: 35px 0 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.18em;
  text-align: center
}

.thanks__text {
  margin: 80px 0 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.18em;
  text-align: center
}

.thanks__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 40px 0 0
}

.thanks__btn {
  margin-left: 2%;
  width: 32.22656%
}

.thanks__btn:first-of-type {
  margin-left: 0
}

.thanks__btn a {
  padding-left: 20px;
  width: 100%;
  font-size: 14px;
  text-align: center
}

.detail {
  margin: 0 auto;
  max-width: 1020px
}

.detail__head {
  padding: 70px 0 0;
  text-align: center
}

.detail__title {
  position: relative;
  padding: 0 0 20px;
  font-size: 42px;
  font-weight: 700;
  letter-spacing: 0.18em
}

.detail__title::after {
  content: "";
  position: absolute;
  left: calc(50% - 17px);
  bottom: 0;
  width: 34px;
  height: 4px;
  background-color: #ed0d5f
}

.detail__label {
  margin: 20px 0 0
}

.detail__body {
  margin: 80px 0 0
}

@media screen and (max-width: 1024px) {
  .detail__head {
    padding: 60px 0 0
  }

  .detail__title {
    padding: 0 0 15px;
    font-size: 30px
  }

  .detail__title::after {
    left: calc(50% - 14px);
    width: 28px;
    height: 3px
  }

  .detail__label {
    margin: 10px auto 0;
    width: 110px
  }

  .detail__body {
    margin: 40px 0 0
  }
}

.detail-section+.detail-section {
  margin: 150px 0 0
}

.detail-section__head {
  padding: 20px 0;
  border-top: 3px solid #000032;
  border-bottom: 3px solid #000032;
  text-align: center
}

.detail-section__head--coverdesign {
  border-color: #FE7139
}

.detail-section__head--pagedesign {
  border-color: #5BBDC8
}

.detail-section__title {
  color: #000032;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.18em
}

.detail-section__title span {
  font-size: 20px
}

.detail-section__body--coverdesign {
  margin: 30px 0 0
}

.detail-section__body--pagedesign {
  margin: 70px 0 0
}

.detail-section__lead {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.15em;
  text-align: center
}

.detail-section__decotext {
  margin: 80px 0 0
}

.detail-section__text {
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.15em
}

.detail-section__text--large {
  margin: 20px 0 0;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center
}

.detail-section__image--large {
  margin: 30px 0 0;
  text-align: center
}

.detail-section__note {
  margin: 30px 0 0;
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 1.5;
  text-align: center
}

.detail-section__note+.detail-section__note {
  margin: 10px 0 0
}

.detail-section__btn {
  margin: 40px auto 0;
  width: 380px;
  text-align: center
}

.detail-section__btn a {
  width: 100%
}

@media screen and (max-width: 1024px) {
  .detail-section {
    margin: 0 auto;
    max-width: 520px;
    padding: 0 10px
  }

  .detail-section+.detail-section {
    margin: 80px auto 0
  }

  .detail-section__head {
    padding: 15px 0;
    border-width: 2px
  }

  .detail-section__title {
    font-size: 22px
  }

  .detail-section__title span {
    font-size: 14px
  }

  .detail-section__body--coverdesign {
    margin: 20px 0 0
  }

  .detail-section__body--pagedesign {
    margin: 30px 0 0
  }

  .detail-section__lead {
    font-size: 16px
  }

  .detail-section__decotext {
    margin: 40px 0 0
  }

  .detail-section__text {
    font-size: 14px
  }

  .detail-section__text--large {
    margin: 15px 0 0;
    font-size: 20px
  }

  .detail-section__image--large {
    margin: 20px 0 0
  }

  .detail-section__note {
    margin: 15px 0 0;
    font-size: 12px
  }

  .detail-section__note+.detail-section__note {
    margin: 8px 0 0
  }

  .detail-section__btn {
    margin: 20px auto 0;
    width: 100%
  }
}

.detail-section .detail-color {
  margin: 50px 0 0
}

.detail-section .detail-color__lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 20px 0 0
}

.detail-section .detail-color__list {
  width: 70px;
  text-align: center
}

.detail-section .detail-color__list figure img {
  width: 46px
}

.detail-section .detail-color__list figure figcaption {
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 1.3
}

.detail-section .detail-color__title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center
}

.detail-section .detail-color__title--small {
  font-size: 14px
}

@media screen and (max-width: 1024px) {
  .detail-section .detail-color {
    margin: 20px 0 0
  }

  .detail-section .detail-color__lists {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0
  }

  .detail-section .detail-color__list {
    margin: 15px 0 0;
    width: 55px
  }

  .detail-section .detail-color__list figure img {
    width: 36px
  }

  .detail-section .detail-color__list figure figcaption {
    margin: 3px 0 0;
    font-size: 10px
  }

  .detail-section .detail-color__title {
    font-size: 14px
  }

  .detail-section .detail-color__title--small {
    font-size: 12px
  }
}

.detail-section .detail-design.detail-design--coverdesign1 {
  margin: 100px 0 0
}

.detail-section .detail-design.detail-design--coverdesign1 .note {
  margin: 30px 10px 0 10px;
  font-size: 90%;
  line-height: 1.5;
}

.detail-section .detail-design.detail-design--border {
  margin: 70px 0 0;
  padding: 70px 0 0;
  border-top: 3px solid #e5e5e5
}

.detail-section .detail-design__head {
  margin: 0 0 40px
}

.detail-section .detail-design__title {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center
}

.detail-section .detail-design__title--en {
  margin: 5px 0 0;
  font-size: 20px
}

.detail-section .detail-design__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.detail-section .detail-design__body--center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.detail-section .detail-design__body--center .detail-design__item {
  width: 240px
}

.detail-section .detail-design__item {
  width: 200px;
  text-align: center
}

.detail-section .detail-design__label {
  position: relative;
  margin: 20px 0 0;
  padding: 15px 0 0;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em
}

.detail-section .detail-design__label::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 12px);
  width: 24px;
  height: 2px;
  background-color: #FE7139
}

@media screen and (max-width: 1024px) {
  .detail-section .detail-design.detail-design--coverdesign1 {
    margin: 50px 0 0
  }

  .detail-section .detail-design.detail-design--border {
    margin: 40px 0 0;
    padding: 40px 0 0;
    border-width: 2px
  }

  .detail-section .detail-design__head {
    margin: 0 0 20px
  }

  .detail-section .detail-design__title {
    font-size: 18px;
    font-weight: 500
  }

  .detail-section .detail-design__title--en {
    margin: 3px 0 0;
    font-size: 14px
  }

  .detail-section .detail-design__body {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }

  .detail-section .detail-design__body--center .detail-design__item {
    width: 50%
  }

  .detail-section .detail-design__item {
    padding: 0 20px;
    width: 50%
  }

  .detail-section .detail-design__item figure {
    margin: 0 auto;
    max-width: 180px
  }

  .detail-section .detail-design__item:nth-of-type(n+3) {
    margin: 20px 0 0
  }

  .detail-section .detail-design__label {
    margin: 10px 0 0;
    padding: 10px 0 0;
    font-size: 13px
  }

  .detail-section .detail-design__label::before {
    left: calc(50% - 6px);
    width: 16px;
    height: 2px
  }
}

.detail-section .detail-layout__text {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.5;
  text-align: center
}

.detail-section .detail-layout__body {
  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
}

.detail-section .detail-layout__item {
  margin: 30px 0 0;
  width: 33.3%;
  text-align: center
}

.detail-section .detail-layout__label {
  margin: 10px 0 0;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.15em
}

@media screen and (max-width: 1024px) {
  .detail-section .detail-layout__text {
    font-size: 14px
  }

  .detail-section .detail-layout__item {
    margin: 20px 0 0;
    padding: 0 15px;
    width: 50%
  }

  .detail-section .detail-layout__label {
    margin: 5px 0 0;
    font-size: 14px
  }
}

.detail-section .detail-block__head {
  margin: 140px 0 0;
  text-align: center
}

.detail-section .detail-block__title {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.15em
}

.detail-section .detail-block__title::before, .detail-section .detail-block__title::after {
  content: "";
  position: absolute;
  border: 2px solid #000032;
  top: calc(50% - 21px);
  width: 10px;
  height: 42px
}

.detail-section .detail-block__title::before {
  left: 0;
  border-right: none
}

.detail-section .detail-block__title::after {
  right: 0;
  border-left: none
}

.detail-section .detail-block__lead {
  margin: 20px 0 0;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.15em
}

.detail-section .detail-block__body {
  margin: 60px 0 0
}

@media screen and (max-width: 1024px) {
  .detail-section .detail-block__head {
    margin: 60px 0 0
  }

  .detail-section .detail-block__title {
    padding: 0 20px;
    font-size: 22px
  }

  .detail-section .detail-block__title::before, .detail-section .detail-block__title::after {
    top: calc(50% - 13px);
    width: 5px;
    height: 26px
  }

  .detail-section .detail-block__lead {
    margin: 15px 0 0;
    font-size: 14px
  }

  .detail-section .detail-block__body {
    margin: 20px 0 0
  }
}

.detail .detail-spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid rgba(0, 0, 50, 0.07)
}

.detail .detail-spec__image {
  padding: 20px 40px;
  text-align: center
}

.detail .detail-spec__table {
  border: none;
  border-left: 2px solid rgba(0, 0, 50, 0.07);
  width: 100%
}

.detail .detail-spec__table table {
  width: 100%;
  border: none
}

.detail .detail-spec__table table tr th, .detail .detail-spec__table table tr td {
  padding: 15px 30px;
  font-size: 16px
}

.detail .detail-spec__table table tr th {
  width: 20%;
  text-align: center
}

@media screen and (max-width: 1024px) {
  .detail .detail-spec {
    display: block;
    border: 2px solid rgba(0, 0, 50, 0.07)
  }

  .detail .detail-spec__image {
    padding: 20px;
    text-align: center
  }

  .detail .detail-spec__image img {
    width: 100px
  }

  .detail .detail-spec__table {
    border: none;
    border-top: 2px solid rgba(0, 0, 50, 0.07)
  }

  .detail .detail-spec__table table tr th, .detail .detail-spec__table table tr td {
    padding: 15px;
    font-size: 13px
  }

  .detail .detail-spec__table table tr th {
    width: 30%;
    text-align: center
  }
}

.detail .detail-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

.detail .detail-price__item {
  width: 420px
}

.detail .detail-price__item+.detail-price__item {
  margin-left: 30px
}

.detail .detail-price__item figure {
  position: relative
}

.detail .detail-price__item figure:nth-of-type(2) {
  margin: 0 0 0 20px
}

.detail .detail-price__item figure figcaption {
  position: absolute;
  padding: 8px;
  top: 0;
  left: 0;
  background-color: #000032;
  color: #fff;
  font-size: 10px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.detail .detail-price__item figure figcaption em {
  display: block;
  font-size: 32px;
  font-weight: 500;
  line-height: 1
}

.detail .detail-price__table {
  margin: 40px 0 0
}

.detail .detail-price__table table tr th, .detail .detail-price__table table tr td {
  padding: 10px;
  font-size: 16px;
  letter-spacing: 0.15em
}

.detail .detail-price__table table tr th {
  font-weight: 500
}

@media screen and (max-width: 1024px) {
  .detail .detail-price {
    display: block
  }

  .detail .detail-price__item {
    width: auto
  }

  .detail .detail-price__item+.detail-price__item {
    margin: 20px 0 0
  }

  .detail .detail-price__item figure {
    margin: 0 -10px
  }

  .detail .detail-price__item figure:nth-of-type(2) {
    margin: 20px -10px 0
  }

  .detail .detail-price__item figure figcaption {
    padding: 5px;
    font-size: 9px
  }

  .detail .detail-price__item figure figcaption em {
    font-size: 24px
  }

  .detail .detail-price__item figure img {
    width: 100%
  }

  .detail .detail-price__table {
    margin: 20px 0 0;
    width: 100%
  }

  .detail .detail-price__table table {
    width: 100%
  }

  .detail .detail-price__table table tr th, .detail .detail-price__table table tr td {
    padding: 10px 5px;
    font-size: 13px
  }
}

.detail .detail-otherprice__table table {
  width: 100%
}

.detail .detail-otherprice__table table tr th, .detail .detail-otherprice__table table tr td {
  padding: 10px 30px;
  font-size: 16px
}

.detail .detail-otherprice__table table tr td {
  width: 400px;
  text-align: center
}

@media screen and (max-width: 1024px) {
  .detail .detail-otherprice__table table, .detail .detail-otherprice__table tbody, .detail .detail-otherprice__table tr, .detail .detail-otherprice__table th, .detail .detail-otherprice__table td {
    display: block
  }

  .detail .detail-otherprice__table table tr th, .detail .detail-otherprice__table table tr td {
    padding: 10px;
    text-align: center;
    font-size: 13px
  }

  .detail .detail-otherprice__table table tr td {
    width: 100%
  }
}

.detail .deliverydate {
  margin-top: 100px
}

@media screen and (max-width: 1024px) {
  .detail .deliverydate {
    margin-top: 50px
  }
}

.detail .maketype {
  margin-top: 120px
}

@media screen and (max-width: 1024px) {
  .detail .maketype {
    margin-top: 50px
  }
}

.price-table {
  padding: 20px 0;
  color: #000032
}

.price-table__note {
  margin: 30px 0 0;
  font-size: 14px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.15em;
  line-height: 1.5;
  text-align: center
}

.price-table__note+.price-table__note {
  margin: 10px 0 0
}

.price-table__title {
  color: #000032;
  font-size: 24px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center
}

@media screen and (max-width: 1024px) {
  .price-table__note {
    margin: 15px 0 0;
    font-size: 12px
  }

  .price-table__note+.price-table__note {
    margin: 8px 0 0
  }

  .price-table__title {
    font-size: 18px
  }
}

.price-table .detail-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 30px 0 0
}

.price-table .detail-price__item {
  width: 420px
}

.price-table .detail-price__item+.detail-price__item {
  margin-left: 30px
}

.price-table .detail-price__item figure {
  position: relative
}

.price-table .detail-price__item figure figcaption {
  position: absolute;
  padding: 8px;
  top: 0;
  left: 0;
  background-color: #000032;
  color: #fff;
  font-size: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.price-table .detail-price__item figure figcaption em {
  display: block;
  font-size: 32px;
  font-weight: 500;
  line-height: 1
}

.price-table .detail-price__table {
  margin: 40px 0 0
}

.price-table .detail-price__table table tr th, .price-table .detail-price__table table tr td {
  padding: 10px;
  color: #000032;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.15em
}

.price-table .detail-price__table table tr th {
  font-weight: 500
}

@media screen and (max-width: 1024px) {
  .price-table .detail-price {
    display: block
  }

  .price-table .detail-price__item {
    margin: 0 auto;
    width: auto
  }

  .price-table .detail-price__item+.detail-price__item {
    margin: 20px auto 0
  }

  .price-table .detail-price__item figure {
    margin: 0 auto;
    max-width: 400px;
    text-align: center
  }

  .price-table .detail-price__item figure figcaption {
    padding: 5px;
    font-size: 9px
  }

  .price-table .detail-price__item figure figcaption em {
    font-size: 24px
  }

  .price-table .detail-price__table {
    margin: 20px 0 0;
    width: 100%
  }

  .price-table .detail-price__table table {
    width: 100%
  }

  .price-table .detail-price__table table tr th, .price-table .detail-price__table table tr td {
    padding: 10px 5px;
    font-size: 13px
  }
}

#PriceTable .price-table .detail-price__table tr td, #PriceTable .price-table .detail-price__table tr th {
  font-size: 14px
}

.product-hero {
  position: relative;
  height: 514px
}

.product-hero::before {
  content: "";
  position: absolute;
  top: 330px;
  left: 0;
  width: 100%;
  height: 10px;
  background-color: #5BBDC8;
  z-index: 1
}

.product-hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 72.65625%;
  height: 514px;
  background: url(../images/product/bg_hero.jpg) center center no-repeat;
  background-size: cover;
  z-index: 2
}

.product-hero__head {
  position: absolute;
  top: 0;
  right: 0;
  width: 27.34375%;
  height: 514px;
  text-align: center
}

.product-hero__title {
  padding: 170px 0 0;
  font-size: 96px;
  font-font-weight: 300;
  letter-spacing: 0.16em
}

.product-hero__title span {
  display: block;
  font-size: 24px;
  letter-spacing: 0.1em
}

@media screen and (max-width: 1024px) {
  .product-hero {
    height: 85.33333vw
  }

  .product-hero::before {
    top: 45.33333vw;
    height: 1.06667vw
  }

  .product-hero__image {
    right: auto;
    left: 0;
    width: 69.33333%;
    height: 85.33333vw;
    background-image: url(../images/product/bg_hero_sp.jpg);
    background-size: cover
  }

  .product-hero__head {
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    width: 30.66667%;
    height: 85.33333vw
  }

  .product-hero__title {
    padding: 29.33333vw 0 0;
    font-size: 10.66667vw;
    letter-spacing: 0.16em
  }

  .product-hero__title span {
    font-size: 2.93333vw
  }

  .product-hero__point {
    bottom: 6.66667vw;
    width: 17.33333vw;
    left: calc(50% - 8.66667vw)
  }
}

.product-section--bg {
  background-color: #F8F8F0
}

.product-section__inner {
  margin: 0 auto;
  max-width: 1020px
}

.product-section__lead {
  font-size: 34px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.15em
}

.product-section__text {
  margin: 50px 0 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.1em
}

.product-section__note {
  margin: 20px 0 0;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.1em
}

.product-section__note+.product-section__note {
  margin-top: 5px
}

.product-taste__head .note {
  text-align: center;
  font-size: 90%;
  margin-top: 20px;
  line-height: 1.5;
}


@media screen and (max-width: 1024px) {
  .product-section__inner {
    padding: 0 20px;
    max-width: 520px
  }

  .product-section__lead {
    font-size: 20px;
    letter-spacing: 0.1em
  }

  .product-section__text {
    margin: 20px 0 0;
    font-size: 14px
  }

  .product-section__note {
    margin: 10px 0 0;
    font-size: 11px
  }
}

.product-about1 {
  margin: 60px 0 0
}

.product-about1__point1 {
  text-align: center
}

.product-about1__head {
  margin: 30px 0 0;
  text-align: center
}

.product-about1__title--large {
  font-size: 48px;
  font-weight: 500;
  letter-spacing: 0.15;
  line-height: 1.6
}

.product-about1__title--middle {
  font-size: 38px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5
}

.product-about1__body {
  margin: 100px 0 0
}

.product-about1__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.product-about1__column--left {
  width: 400px
}

.product-about1__column--right {
  width: 580px
}

.product-about1__text {
  margin: 30px 0 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em
}

.product-about1__lead {
  margin: 160px 0 0;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center
}

.product-about1__menu {
  position: relative;
  width: 400px;
  height: 390px;
  background: url(../images/product/img_product1.svg) center 74px no-repeat;
  background-size: 255px 243px;
  z-index: 2
}

.product-about1__symbol {
  position: absolute
}

.product-about1__symbol a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 3px 0 0;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  width: 144px;
  height: 144px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center
}

.product-about1__symbol a::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  border-style: solid;
  border-width: 3px;
  top: calc(50% - 67px);
  left: calc(50% - 67px);
  width: 134px;
  height: 134px;
  background-color: #fff;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  z-index: 0
}

.product-about1__symbol a span {
  position: relative;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
  z-index: 1
}

.product-about1__symbol a:hover span {
  color: #fff
}

.product-about1__symbol--case1 {
  top: 0;
  left: calc(50% - 72px)
}

.product-about1__symbol--case1 a:before {
  border-color: #37419A
}

.product-about1__symbol--case1 a:hover:before {
  background-color: #37419A
}

.product-about1__symbol--case2 {
  top: 90px;
  left: 0
}

.product-about1__symbol--case2 a:before {
  border-color: #FE7139
}

.product-about1__symbol--case2 a:hover:before {
  background-color: #FE7139
}

.product-about1__symbol--case3 {
  top: 90px;
  right: 0
}

.product-about1__symbol--case3 a:before {
  border-color: #fe5c58
}

.product-about1__symbol--case3 a:hover:before {
  background-color: #fe5c58
}

.product-about1__symbol--case4 {
  left: 48px;
  bottom: 0
}

.product-about1__symbol--case4 a:before {
  border-color: #5BBDC8
}

.product-about1__symbol--case4 a:hover:before {
  background-color: #5BBDC8
}

.product-about1__symbol--case5 {
  right: 48px;
  bottom: 0
}

.product-about1__symbol--case5 a:before {
  border-color: #a13e91
}

.product-about1__symbol--case5 a:hover:before {
  background-color: #a13e91
}

@media screen and (max-width: 1024px) {
  .product-about1 {
    margin: 30px auto 0;
    padding: 0 10px;
    max-width: 520px
  }

  .product-about1__point1 {
    margin: 0 auto;
    width: 65px
  }

  .product-about1__head {
    margin: 30px 0 0
  }

  .product-about1__title--large {
    margin: 20px 0 0;
    font-size: 25px;
    text-align: center
  }

  .product-about1__title--middle {
    margin: 30px 0 0;
    font-size: 22px
  }

  .product-about1__image {
    position: relative;
    top: auto;
    left: auto;
    margin: -70px auto 0;
    width: 320px
  }

  .product-about1__body {
    margin: 50px 0 0;
    text-align: center
  }

  .product-about1__item {
    display: block
  }

  .product-about1__column--left {
    width: auto
  }

  .product-about1__column--right {
    width: auto
  }

  .product-about1__text {
    margin: 30px 0 0;
    font-size: 14px;
    text-align: left
  }

  .product-about1__text br {
    display: none
  }

  .product-about1__lead {
    margin: 70px 0 0;
    font-size: 22px
  }

  .product-about1__menu {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto;
    width: 320px;
    height: 310px;
    background-position: center 58px;
    background-size: 202px 192px
  }

  .product-about1__symbol a {
    padding: 2px 0 0;
    width: 120px;
    height: 120px;
    font-size: 12px
  }

  .product-about1__symbol a::before {
    border-width: 2px;
    top: calc(50% - 53px);
    left: calc(50% - 53px);
    width: 106px;
    height: 106px
  }

  .product-about1__symbol--case1 {
    left: calc(50% - 60px)
  }

  .product-about1__symbol--case2 {
    top: 73px
  }

  .product-about1__symbol--case3 {
    top: 73px
  }

  .product-about1__symbol--case4 {
    left: 38px
  }

  .product-about1__symbol--case5 {
    right: 38px
  }
}

.product-function {
  position: relative;
  margin: 150px 0 0;
  padding-top: 90px;
  width: 100%
}

.product-function.product-section--bg {
  padding-bottom: 70px;
  background: linear-gradient(to bottom, #fff 90px, #F8F8F0 90px)
}

.product-function--case1 .product-function__title::before {
  border-color: #37419A
}

.product-function--case1 .product-function__label--right {
  color: #37419A
}

.product-function--case2 .product-function__title::before {
  border-color: #FE7139
}

.product-function--case2 .product-function__label--right {
  color: #FE7139
}

.product-function--case3 .product-function__title::before {
  border-color: #fe5c58
}

.product-function--case3 .product-function__label--right {
  color: #fe5c58
}

.product-function--case4 .product-function__title::before {
  border-color: #5BBDC8
}

.product-function--case4 .product-function__label--right {
  color: #5BBDC8
}

.product-function--case5 .product-function__title::before {
  border-color: #a13e91
}

.product-function--case5 .product-function__label--right {
  color: #a13e91
}

.product-function__head {
  position: relative;
  padding: 70px 0 0;
  width: 100%
}

.product-function__head--right .product-function__title {
  right: 60px
}

.product-function__head--left .product-function__title {
  left: 60px
}

.product-function__head--left .product-function__label {
  margin-left: 50%
}

.product-function__title {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 50%;
  border: 2px solid #dcdcdc;
  top: -90px;
  width: 300px;
  height: 300px;
  background-color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center
}

.product-function__title::before {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 6px solid #ccc;
  top: calc(50% - 133px);
  left: calc(50% - 133px);
  width: 266px;
  height: 266px
}

.product-function__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 50%
}

.product-function__label--left {
  padding: 20px 0 0
}

.product-function__label--left span {
  display: inline-block;
  border-bottom: 1px solid #000032;
  padding: 0 20px 10px;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.1em
}

.product-function__label--right span {
  display: inline-block;
  margin-left: -20px;
  line-height: 0.9;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.07em;
  text-align: center
}

.product-function__label--right span em {
  display: block;
  font-size: 115px;
  font-weight: 300
}

.product-function__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 50px 0 0
}

.product-function__body--case1 .product-function__column--left {
  width: 50%
}

.product-function__body--case1 .product-function__column--right {
  width: 50%
}

.product-function__body--case1 .product-function__column--bottom {
  margin: 40px 0 0;
  padding: 0 260px 0 0
}

.product-function__body--case1 .product-function__column--bottom .product-function__text {
  margin: 0
}

.product-function__body--case2 .product-function__column--left, .product-function__body--case4 .product-function__column--left {
  width: 41.01562%
}

.product-function__body--case2 .product-function__column--right, .product-function__body--case4 .product-function__column--right {
  width: 58.98438%;
  padding: 0 0 0 60px
}

.product-function__body--case3 .product-function__column--left {
  width: 58.59375%
}

.product-function__body--case3 .product-function__column--right {
  width: 41.40625%;
  padding: 0 0 0 30px
}

.product-function__body--case5 .product-function__column--left {
  width: 48.82812%
}

.product-function__body--case5 .product-function__column--right {
  width: 51.17188%;
  padding: 0 0 0 30px
}

.product-function__body--case5 .product-function__column--right figure:nth-of-type(1) {
  position: relative;
  z-index: 1
}

.product-function__body--case5 .product-function__column--right figure:nth-of-type(2) {
  margin: -40px 0 0;
  text-align: right
}

.product-function__column {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1
}

@media screen and (max-width: 1024px) {
  .product-function {
    margin: 80px 0 0;
    padding-top: 50px
  }

  .product-function.product-section--bg {
    padding-bottom: 50px;
    background: linear-gradient(to bottom, #fff 50px, #F8F8F0 50px)
  }

  .product-function__head {
    margin: 0 auto;
    padding: 30px 0 0;
    max-width: 400px
  }

  .product-function__head--right .product-function__title {
    right: 0
  }

  .product-function__head--left .product-function__title {
    left: 0
  }

  .product-function__head--left .product-function__label {
    margin-left: 40%
  }

  .product-function__title {
    padding: 5px 0 0;
    border-width: 1px;
    top: -50px;
    width: 150px;
    height: 150px;
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center
  }

  .product-function__title::before {
    border-width: 3px;
    top: calc(50% - 63px);
    left: calc(50% - 63px);
    width: 126px;
    height: 126px
  }

  .product-function__label {
    width: 60%
  }

  .product-function__label--left {
    padding: 10px 0 0
  }

  .product-function__label--left span {
    padding: 0 10px 5px;
    font-size: 14px
  }

  .product-function__label--right span {
    margin-left: -10px;
    font-size: 12px
  }

  .product-function__label--right span em {
    font-size: 60px
  }

  .product-function__body {
    display: block;
    margin: 30px 0 0
  }

  .product-function__body .product-section__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .product-function__body--case1 .product-function__column--left {
    width: 100%
  }

  .product-function__body--case1 .product-function__column--right {
    margin: 20px auto 0;
    width: 100%;
    max-width: 400px
  }

  .product-function__body--case1 .product-function__column--bottom {
    margin: 20px 0 0;
    padding: 0
  }

  .product-function__body--case2 .product-function__column--left, .product-function__body--case4 .product-function__column--left {
    width: 100%
  }

  .product-function__body--case2 .product-function__column--right, .product-function__body--case4 .product-function__column--right {
    width: 100%;
    padding: 0
  }

  .product-function__body--case2 .product-function__column--right figure, .product-function__body--case4 .product-function__column--right figure {
    display: block;
    margin: 20px auto 0;
    max-width: 400px
  }

  .product-function__body--case3 .product-function__column--left {
    width: 100%
  }

  .product-function__body--case3 .product-function__column--left figure {
    display: block;
    margin: 20px auto 0;
    max-width: 300px
  }

  .product-function__body--case3 .product-function__column--right {
    width: 100%;
    padding: 0
  }

  .product-function__body--case5 .product-function__column--left {
    width: 100%
  }

  .product-function__body--case5 .product-function__column--left .product-function__images {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 20px auto 0;
    max-width: 400px
  }

  .product-function__body--case5 .product-function__column--left .product-function__images figure {
    width: 48%
  }

  .product-function__body--case5 .product-function__column--right {
    width: 100%;
    padding: 0
  }
}

.product-assist {
  padding: 70px 0 0
}

.product-assist__inner {
  position: relative;
  margin: 0 auto;
  padding: 0 40px 30px;
  max-width: 820px;
  text-align: center
}

.product-assist__inner::before, .product-assist__inner::after {
  content: "";
  position: absolute;
  border: 1px solid #000032;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.product-assist__inner::after {
  top: 10px;
  left: 10px
}

.product-assist__head {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  text-align: center
}

.product-assist__head::before, .product-assist__head::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 5px;
  top: -2px;
  left: 0;
  background-color: #fff;
  z-index: 1
}

.product-assist__head::after {
  top: 8px;
  left: 10px
}

.product-assist__title {
  position: relative;
  top: -10px;
  display: inline-block;
  font-size: 24px;
  letter-spacing: 0.1em;
  z-index: 2
}

.product-assist__body {
  position: relative;
  z-index: 3
}

.product-assist__text {
  margin: 20px 0 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.1em
}

.product-assist__logo {
  margin: 40px 0 0
}

.product-assist .viewmorelink {
  margin-top: 40px
}

.product-assist .viewmorelink a {
  font-size: 16px
}

@media screen and (max-width: 1024px) {
  .product-assist {
    margin: 0 auto;
    padding: 50px 30px 0 20px;
    max-width: 520px
  }

  .product-assist__inner {
    padding: 0 20px 20px
  }

  .product-assist__inner::after {
    top: 5px;
    left: 5px
  }

  .product-assist__head {
    padding: 0 20px
  }

  .product-assist__head::before, .product-assist__head::after {
    height: 5px
  }

  .product-assist__head::after {
    top: 3px;
    left: 5px
  }

  .product-assist__title {
    top: -20px;
    font-size: 20px
  }

  .product-assist__text {
    margin: 0;
    font-size: 14px
  }

  .product-assist__logo {
    margin: 20px auto 0;
    max-width: 180px
  }

  .product-assist .viewmorelink {
    margin-top: 30px
  }

  .product-assist .viewmorelink a {
    font-size: 14px
  }
}

.product-about2 {
  margin: 200px 0 0
}

.product-about2__point2 {
  text-align: center
}

.product-about2__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 40px 0 0;
  padding: 0 0 0 40px
}

.product-about2__title {
  margin: 0 0 0 60px;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.15em
}

.product-about2__lead {
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center
}

.product-about2__lead--upper {
  margin: 160px 0 0
}

.product-about2__lead--lower {
  margin: 180px 0 0
}

@media screen and (max-width: 1024px) {
  .product-about2 {
    margin: 100px 0 0
  }

  .product-about2__point2 {
    margin: 0 auto;
    width: 80px
  }

  .product-about2__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin: 20px 0 0;
    padding: 0;
    text-align: center
  }

  .product-about2__title {
    margin: 0;
    padding: 0 0 0 1em;
    font-size: 24px
  }

  .product-about2__image {
    margin: 20px auto 0;
    width: 150px
  }

  .product-about2__lead {
    font-size: 20px
  }

  .product-about2__lead--upper {
    margin: 70px 0 0
  }

  .product-about2__lead--lower {
    margin: 80px 0 0
  }
}

.product-print {
  margin: 70px 0 0;
  padding: 0 60px 60px;
  border: 1px solid #000032;
  text-align: center
}

.product-print__head {
  position: relative;
  display: inline-block
}

.product-print__head::before, .product-print__head::after {
  content: "";
  position: absolute;
  border: 1px solid #000032;
  border-radius: 50%;
  top: -6px;
  width: 11px;
  height: 11px;
  z-index: 1
}

.product-print__head::before {
  left: 0px
}

.product-print__head::after {
  right: 0px
}

.product-print__title {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  top: -20px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  background-color: #fff
}

.product-print__image {
  margin: 50px 0 0
}

.product-print__text {
  margin: 40px 0 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.1em
}

@media screen and (max-width: 1024px) {
  .product-print {
    margin: 40px 0 0;
    padding: 0 20px 30px
  }

  .product-print__head::before, .product-print__head::after {
    top: -4px;
    width: 7px;
    height: 7px
  }

  .product-print__title {
    padding: 0 20px;
    top: -15px;
    font-size: 18px
  }

  .product-print__image {
    margin: 10px 0 0
  }

  .product-print__text {
    margin: 20px 0 0;
    font-size: 14px;
    text-align: left
  }
}

.product-features {
  margin: 80px 0 0;
  padding: 80px 0
}

.product-features+.product-features {
  margin: 0
}

.product-features__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

.product-features__title span {
  display: inline-block;
  padding: 0 0 5px;
  border-bottom: 1px solid #000032;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.15em
}

.product-features__lead {
  margin: 60px 0 0
}

.product-features--case1 .product-features__title {
  color: #5BBDC8
}

.product-features--case1 .product-features__column--left {
  width: 44.92188%
}

.product-features--case1 .product-features__column--right {
  width: 55.07812%;
  padding: 0 0 0 60px
}

.product-features--case2 .product-features__title {
  color: #37419A
}

.product-features--case2 .product-features__column--left {
  width: 47.85156%
}

.product-features--case2 .product-features__column--right {
  width: 52.14844%;
  padding: 0 0 0 30px
}

.product-features--case2 .product-features__column--right figure:nth-of-type(1) {
  text-align: right
}

.product-features--case2 .product-features__column--right figure:nth-of-type(2) {
  position: relative;
  margin: -30px 0 0;
  z-index: 1
}

.product-features--case3 .product-features__title {
  color: #fe5c58
}

.product-features--case3 .product-features__column--left {
  width: 50.78125%
}

.product-features--case3 .product-features__column--right {
  width: 49.21875%;
  padding: 0 0 0 60px
}

@media screen and (max-width: 1024px) {
  .product-features {
    margin: 40px 0 0;
    padding: 40px 0
  }

  .product-features+.product-features {
    margin: 0
  }

  .product-features__body {
    display: block
  }

  .product-features__title span {
    padding: 0 0 3px;
    font-size: 18px
  }

  .product-features__lead {
    margin: 30px 0 0
  }

  .product-features--case1 .product-features__column--left {
    width: 100%
  }

  .product-features--case1 .product-features__column--right {
    width: 100%;
    padding: 0
  }

  .product-features--case1 .product-features__column--right figure {
    margin: 30px auto 0
  }

  .product-features--case2 .product-features__column--left {
    width: 100%
  }

  .product-features--case2 .product-features__column--left .product-features__column--images {
    margin: 30px 0 0;
    width: 100%
  }

  .product-features--case2 .product-features__column--left .product-features__column--images figure:nth-of-type(1) {
    padding-left: 20%;
    text-align: right
  }

  .product-features--case2 .product-features__column--left .product-features__column--images figure:nth-of-type(2) {
    position: relative;
    width: 60%;
    margin: -30px 0 0;
    z-index: 1
  }

  .product-features--case2 .product-features__column--right {
    width: 100%;
    padding: 0
  }

  .product-features--case3 .product-features__column--left {
    width: 100%
  }

  .product-features--case3 .product-features__column--right {
    width: 100%;
    padding: 0
  }

  .product-features--case3 .product-features__column--right figure {
    margin: 30px auto 0
  }
}

.product-taste {
  padding: 200px 0 0
}

.product-taste__head .product-taste__lead {
  margin: 50px 0 0
}

.product-taste__title {
  position: relative;
  padding: 0 0 50px;
  font-size: 46px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center
}

.product-taste__title::after {
  content: "";
  position: absolute;
  left: calc(50% - 40px);
  bottom: 0;
  width: 80px;
  height: 4px;
  background-color: #ed0d5f
}

.product-taste__lead {
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: center
}

@media screen and (max-width: 1024px) {
  .product-taste {
    padding: 80px 0 0
  }

  .product-taste__head .product-taste__lead {
    margin: 30px 0 0
  }

  .product-taste__title {
    padding: 0 0 30px;
    font-size: 24px
  }

  .product-taste__title::after {
    left: calc(50% - 22px);
    width: 44px;
    height: 2px
  }

  .product-taste__lead {
    font-size: 14px
  }

  .product-taste__lead--large {
    font-size: 18px
  }
}

.product .taste-section {
  padding: 80px 0
}

.product .taste-section--bg {
  background-color: #F8F8F0
}

.product .taste-section__inner {
  margin: 0 auto;
  max-width: 1020px
}

.product .taste-section__head {
  text-align: center
}

.product .taste-section__title {
  margin: 20px 0 0;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em
}

.product .taste-section__body {
  margin: 50px 0 0
}

.product .taste-section .taste-mainphoto {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.product .taste-section .taste-mainphoto__image img {
  -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2)
}

.product .taste-section__photo {
  margin: 80px 0 0;
  text-align: center
}

.product .taste-section__stamp {
  text-align: center
}

.product .taste-section__text {
  margin: 30px 0 0;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center
}

.product .taste-section .taste-compile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 50px 0 0;
  background: url(../images/product/arw_product1.svg) center 45px no-repeat;
  background-size: 80px auto
}

.product .taste-section .taste-compile__column {
  width: 50%;
  text-align: center
}

.product .taste-section .taste-compile__column--old .taste-compile__image figcaption, .product .taste-section .taste-compile__column--old .taste-compile__text em, .product .taste-section .taste-compile__column--old .taste-compile__number em {
  color: #5BBDC8
}

.product .taste-section .taste-compile__column--old .taste-compile__number {
  border-color: #5BBDC8
}

.product .taste-section .taste-compile__column--new .taste-compile__image figcaption, .product .taste-section .taste-compile__column--new .taste-compile__text em, .product .taste-section .taste-compile__column--new .taste-compile__number em {
  color: #FE7139
}

.product .taste-section .taste-compile__column--new .taste-compile__number {
  border-color: #FE7139
}

.product .taste-section .taste-compile__image figcaption {
  margin: 15px 0 0;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em
}

.product .taste-section .taste-compile__text {
  margin: 40px 0 0;
  font-size: 22px;
  letter-spacing: 0.1em
}

.product .taste-section .taste-compile__text img {
  margin: 0 5px;
  vertical-align: middle
}

.product .taste-section .taste-compile__text em {
  font-weight: 700
}

.product .taste-section .taste-compile__number {
  display: inline-block;
  margin: 20px 0 0;
  padding: 15px 20px;
  border-width: 2px;
  border-style: solid;
  font-size: 38px;
  letter-spacing: 0.1em
}

.product .taste-section .taste-compile__number em {
  font-weight: 700
}

@media screen and (max-width: 1024px) {
  .product .taste-section {
    padding: 40px 0
  }

  .product .taste-section__inner {
    padding: 0 20px;
    max-width: 520px
  }

  .product .taste-section__title {
    margin: 15px 0 0;
    font-size: 18px
  }

  .product .taste-section__body {
    margin: 25px 0 0
  }

  .product .taste-section .taste-mainphoto {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }

  .product .taste-section .taste-mainphoto__image {
    padding: 0 10px;
    width: 33.3%;
    text-align: center
  }

  .product .taste-section .taste-mainphoto__image:nth-of-type(n+4) {
    margin: 20px 0 0
  }

  .product .taste-section__photo {
    margin: 40px -20px 0
  }

  .product .taste-section__stamp {
    text-align: center
  }

  .product .taste-section__text {
    margin: 20px 0 0;
    font-size: 14px
  }

  .product .taste-section .taste-compile {
    display: block;
    margin: 30px 0 0;
    background: none
  }

  .product .taste-section .taste-compile__column {
    width: auto
  }

  .product .taste-section .taste-compile__column:nth-of-type(2) {
    position: relative;
    margin: 110px 0 0
  }

  .product .taste-section .taste-compile__column:nth-of-type(2)::before {
    content: "";
    position: absolute;
    top: -80px;
    left: calc(50% - 50px);
    width: 100px;
    height: 62px;
    background: url(../images/product/arw_product3.svg) 0 0 no-repeat;
    background-size: 100%
  }

  .product .taste-section .taste-compile__image img {
    width: 280px
  }

  .product .taste-section .taste-compile__image figcaption {
    margin: 10px 0 0;
    font-size: 16px
  }

  .product .taste-section .taste-compile__text {
    margin: 20px 0 0;
    font-size: 16px;
    letter-spacing: 0.1em
  }

  .product .taste-section .taste-compile__number {
    margin: 15px 0 0;
    padding: 10px 15px;
    font-size: 26px
  }
}

.js-trigger {
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s
}

.js-trigger.visible {
  opacity: 1
}

.js-translate-y {
  -webkit-transform: translateY(30px);
  transform: translateY(30px);
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
  transition: opacity 1s, transform 1s, -webkit-transform 1s
}

.js-translate-y.visible {
  -webkit-transform: translateY(0);
  transform: translateY(0)
}

.blocker {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 200;
  padding: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.75);
  text-align: center
}

.blocker:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.05em
}

.blocker.behind {
  background-color: transparent
}

.modal {
  display: none;
  vertical-align: middle;
  position: relative;
  z-index: 2;
  max-width: 840px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  padding: 15px 30px;
  -webkit-box-shadow: 0 0 10px #000;
  box-shadow: 0 0 10px #000;
  text-align: left
}

.modal a.close-modal {
  position: absolute;
  top: -12.5px;
  right: -12.5px;
  display: block;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAAXNSR0IArs4c6QAAA3hJREFUaAXlm8+K00Acx7MiCIJH/yw+gA9g25O49SL4AO3Bp1jw5NvktC+wF88qevK4BU97EmzxUBCEolK/n5gp3W6TTJPfpNPNF37MNsl85/vN/DaTmU6PknC4K+pniqeKJ3k8UnkvDxXJzzy+q/yaxxeVHxW/FNHjgRSeKt4rFoplzaAuHHDBGR2eS9G54reirsmienDCTRt7xwsp+KAoEmt9nLaGitZxrBbPFNaGfPloGw2t4JVamSt8xYW6Dg1oCYo3Yv+rCGViV160oMkcd8SYKnYV1Nb1aEOjCe6L5ZOiLfF120EjWhuBu3YIZt1NQmujnk5F4MgOpURzLfAwOBSTmzp3fpDxuI/pabxpqOoz2r2HLAb0GMbZKlNV5/Hg9XJypguryA7lPF5KMdTZQzHjqxNPhWhzIuAruOl1eNqKEx1tSh5rfbxdw7mOxCq4qS68ZTjKS1YVvilu559vWvFHhh4rZrdyZ69Vmpgdj8fJbDZLJpNJ0uv1cnr/gjrUhQMuI+ANjyuwftQ0bbL6Erp0mM/ny8Fg4M3LtdRxgMtKl3jwmIHVxYXChFy94/Rmpa/pTbNUhstKV+4Rr8lLQ9KlUvJKLyG8yvQ2s9SBy1Jb7jV5a0yapfF6apaZLjLLcWtd4sNrmJUMHyM+1xibTjH82Zh01TNlhsrOhdKTe00uAzZQmN6+KW+sDa/JD2PSVQ873m29yf+1Q9VDzfEYlHi1G5LKBBWZbtEsHbFwb1oYDwr1ZiF/2bnCSg1OBE/pfr9/bWx26UxJL3ONPISOLKUvQza0LZUxSKyjpdTGa/vDEr25rddbMM0Q3O6Lx3rqFvU+x6UrRKQY7tyrZecmD9FODy8uLizTmilwNj0kraNcAJhOp5aGVwsAGD5VmJBrWWbJSgWT9zrzWepQF47RaGSiKfeGx6Szi3gzmX/HHbihwBser4B9UJYpFBNX4R6vTn3VQnez0SymnrHQMsRYGTr1dSk34ljRqS/EMd2pLQ8YBp3a1PLfcqCpo8gtHkZFHKkTX6fs3MY0blKnth66rKCnU0VRGu37ONrQaA4eZDFtWAu2fXj9zjFkxTBOo8F7t926gTp/83Kyzzcy2kZD6xiqxTYnHLRFm3vHiRSwNSjkz3hoIzo8lCKWUlg/YtGs7tObunDAZfpDLbfEI15zsEIY3U/x/gHHc/G1zltnAgAAAABJRU5ErkJggg==")
}

.modal-spinner {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  padding: 12px 16px;
  border-radius: 5px;
  background-color: #111;
  height: 20px
}

.modal-spinner>div {
  border-radius: 100px;
  background-color: #fff;
  height: 20px;
  width: 2px;
  margin: 0 1px;
  display: inline-block;
  -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;
  animation: sk-stretchdelay 1.2s infinite ease-in-out
}

.modal-spinner .rect2 {
  -webkit-animation-delay: -1.1s;
  animation-delay: -1.1s
}

.modal-spinner .rect3 {
  -webkit-animation-delay: -1.0s;
  animation-delay: -1.0s
}

.modal-spinner .rect4 {
  -webkit-animation-delay: -0.9s;
  animation-delay: -0.9s
}

@media screen and (max-width: 1024px) {
  .blocker {
    padding: 20px 15px
  }

  .modal {
    padding: 10px;
    max-width: 600px
  }

  .modal-spinner {
    padding: 10px
  }
}

@-webkit-keyframes sk-stretchdelay {
  0%, 40%, 100% {
    -webkit-transform: scaleY(0.5)
  }

  20% {
    -webkit-transform: scaleY(1)
  }
}

@keyframes sk-stretchdelay {
  0%, 40%, 100% {
    transform: scaleY(0.5);
    -webkit-transform: scaleY(0.5)
  }

  20% {
    transform: scaleY(1);
    -webkit-transform: scaleY(1)
  }
}



/* 追加 */

.main-image-bnr01 ,
.main-image-bnr02 {
  margin: 0 -509px 0 0;
  width: 210px;
  height: 210px;
  background: #ffffff;
  border-radius: 180px;
  box-shadow: 3px 3px 4px rgba(0,0,0,0.7);
  overflow: hidden;
  position: fixed;
  /* top: 50%; */
 /* top: 33%; */
  bottom: 40px;
  right: 50%;
  z-index: 1000;
}
.main-image-bnr01 img ,
.main-image-bnr02 img {
  width: 100%;
}

.bnr_close  {
  margin: 0 -509px 0 0;
  width: 30px;
  height: 30px;
  position: fixed;
  /* top: 50%; */
 /* top: 33%; */
  bottom: 215px;
  right: 49%;
  z-index: 1001;
}


@media only screen and (max-width: 768px) {

  .main-image-bnr01 ,
  .main-image-bnr02 {
    margin: 0 -150px 0 0;
    width: 150px;
    height: 150px;
    background: #ffffff;
    border-radius: 100px;
    box-shadow: 3px 3px 4px rgba(0,0,0,0.7);
    overflow: hidden;
    position: fixed;
    bottom: 30px;
    right: 50%;
    z-index: 1000;
  }
  .bnr_close  {
    margin: 0 -150px 0 0;
    width: 25px;
    height: 25px;
    position: fixed;
    bottom: 170px;
    right: 49%;
    z-index: 1001;
  }
}



/* 追加2020.10.01 */
.top-good-design {
  margin: 0 auto 170px;
  padding: 125px 0 0 0;
  width: 94%;
  max-width: 1230px;
  text-align: left;
  overflow: hidden;
  position: relative;
}

.top-good-design .logo {
  margin: 0 0 0 0;
  width: 172px;
  max-width: 18%;
  float: left;
  position: relative;
  z-index: 2;
}

.top-good-design .image {
  width: 412px;
  position: absolute;
  top: 190px;
  left: 116px;
  z-index: 1;
}

.top-good-design .box {
  margin: 0 0 0 0;
  width: 62%;
  float: right;
  position: relative;
  z-index: 2;
}

.top-good-design .box p {
  font-weight: 500;
  letter-spacing: 0.15em;
  margin: 0 0 30px 0;
  padding: 0 0 0 0;
  line-height: 1.6em;
  font-size: 36px;
  color: #000032;
}

.top-good-design .box .app-download {
  margin: 0 auto 0 auto;
  padding: 0 0 0 0;
  max-width: 580px;
  line-height: 1.6em;
  font-size: 22px;
  color: #000032;
  text-align: center;
}

.top-good-design .box .app-download .logo {
  margin: 0 10px;
  padding: 0 0 0 0;
  width: 128px;
  display: inline-block;
}

.top-good-design .box .app-download .app {
  margin: 0 10px;
  padding: 0 0 0 0;
  width: 198px;
  display: inline-block;
}

@media only screen and (max-width: 768px) {
.top-good-design {
  margin: 0 auto 40px;
  padding: 70px 0 0 0;
  width: 87.7%;
  max-width: 1250px;
  text-align: left;
  overflow: hidden;
}

.top-good-design .logo {
  margin: 0 0 35px 0;
  width: 110px;
  max-width: 110px;
  float: none;
}

.top-good-design img {
  width: 100%;
  height: auto;
  display: block;
}

.top-good-design .box {
  margin: 0 0 0 0;
  width: 100%;
  max-width: 100%;
  float: none;
  overflow: hidden;
}

.top-good-design .box p {
  margin: 0 0 10px 0;
  padding: 0 0 0 0;
  line-height: 1.6em;
  font-size: 20px;
  color: #000032;
}

.top-good-design .box .app-download {
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  max-width: 100%;
  line-height: 1.6em;
  font-size: 13px;
  color: #000032;
  text-align: center;
}

.top-good-design .box .app-download .logo {
  margin: 0 4px 0 0;
  padding: 0 0 0 0;
  width: 70px;
  max-width: 24%;
  display: inline-block;
  vertical-align: top;
}

.top-good-design .box .app-download .app {
  margin: 0 6px;
  padding: 0 0 0 0;
  width: 120px;
  max-width: 29%;
  display: inline-block;
  vertical-align: top;
}

.top-good-design .image {
  width: 260px;
  position: absolute;
  top: 111px;
  left: 73px;
  z-index: 1;
}


}


.app-good-design {
  margin: 80px auto 80px;
  padding: 55px 0 60px 0;
  width: 94%;
  max-width: 986px;
  text-align: left;
  border: 3px solid #DB3463;
  box-sizing: border-box;
  overflow: hidden;
}

.app-good-design .wrap {
  margin: 0 auto;
  padding: 0 0 25px 0;
  width: 94%;
  max-width: 860px;
  text-align: left;
  overflow: hidden;
  border-bottom: 2px solid #DB3463;
}

.app-good-design img {
  width: 100%;
  height: auto;
  display: block;
}

.app-good-design .logo {
  margin: 10px 55px 0 0;
  width: 267px;
  float: left;
}

.app-good-design .box {
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0 0 0 55px;
  line-height: 1.3em;
  font-size: 36px;
  color: #000032;
  /* border-left: 4px solid #DB3463; */
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
.app-good-design {
  margin: 60px auto 35px;
  padding: 35px 20px 40px;
  width: 90%;
  max-width: 986px;
  text-align: left;
  border: 3px solid #DB3463;
  box-sizing: border-box;
  overflow: hidden;
}

.app-good-design .wrap {
  margin: 0 auto;
  padding: 0 0 0 0;
  width: 100%;
  max-width: 860px;
  text-align: left;
  overflow: hidden;
}

.app-good-design img {
  width: 100%;
  height: auto;
  display: block;
}

.app-good-design .logo {
  margin: 0 auto 0 auto;
  width: 216px;
  /* background: url("../images/app/bk01.png") no-repeat center bottom; */
  float: none;
}

.app-good-design .box {
  padding: 20px 0px;
  line-height: 1.6em;
  font-size: 18px;
  color: #000032;
  text-align: center;
  border-left: none;
  overflow: hidden;
}
.app-good-design .box p {
  text-align: left;
}

}



/* 20201006 */

.app-good-design .appbanner {
  padding: 5px 0px;
}

.app-good-design .appbanner ul {
  display: flex;
  justify-content: center;
  width: 80%;
  margin: 20px auto 0;
}

.app-good-design .appbanner ul li {
  width: 20%;
  margin: 0 20px 10px;
  text-align: center;
}
.app-good-design .appbanner ul li .appbanner__label {
  margin: 10px 0;
}
.app-good-design .appbanner ul li figure img {
  margin-left: 35px;
}
.app-good-design .appbanner ul li .appbanner__banner img {
  text-align: center;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  .app-good-design .appbanner ul {
    width: 90%;
    max-width: 640px;
  }
  .app-good-design .appbanner ul li {
    width: 30%;
  }

}

@media only screen and (max-width: 768px) {
  .app-good-design .appbanner ul {
    display: block;
    width: 100%;
    max-width: 335px;
  }
  .app-good-design .appbanner ul li {
    width: 80%;
    margin: 0px auto 10px;
  }
  .app-good-design .appbanner ul li:nth-child(1) {
    float: left;
    width: 30%;
  }
  .app-good-design .appbanner ul li:nth-child(2), .app-good-design .appbanner ul li:nth-child(3) {
    float: right;
    width: 70%;
  }
  .app-good-design .appbanner ul li figure img {
    margin: 0 auto;
  }
  .appbanner__box .appbanner__label {
    display: inline-block;
    width: 4em;
    text-align: right;
    vertical-align: bottom;
  }
  /* .appbanner__box .appbanner__label--ios {
    position: absolute;
    right: 60%;
  } */
  .appbanner__box .appbanner__banner {
    display: inline-block;
    width: calc(100% - 4.5em) !important;
    max-width: 120px;
  }

  .app-good-design .appbanner .appbanner__banner--ios a {
    width: 100%!important;
    max-width: 120px;
    height: 36px !important;
  }

  .app-good-design .appbanner .appbanner__banner--android a {
    width: 100%;
  }

  .app-good-design .appbanner .appbanner__banner--android a img {
    width: 100%;
    height: auto !important;
  }
  .app-good-design .appbanner ul li figure img {
    width: 80px !important;
  }



}


.update_info {
  margin: 90px auto 0;
  max-width: 700px;
  position: relative;
  border: 3px solid #e5e5e5;
  padding: 25px 25px 25px 40px;
}
.update_info .information__date figure {
  position: absolute;
  top: 24%;
  left: 10%;
  width: 82px;
}
.update_info .information__text h4 {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}
.update_info .information__text .viewmorelink {
  margin-top: 15px;
}
.update_info .information__text .viewmorelink a {
  font-size: 16px;
  padding: 10px 103px;
  text-decoration: none;
}

@media only screen and (max-width: 768px) {
  .update_info {
    margin: 70px auto 0;
    width: 95%;
    padding: 15px 0 20px;
  }
  .update_info .information__date {
    float: left;
  }
  .update_info .information__date figure {
    position: absolute;
    top: 24px;
    left: 4%;
    width: 58px;
  }
  .update_info .information__text {
    padding-left: 73px;
  }
  .update_info .information__text h4 {
    font-size: 16px;
  }
  .update_info .information__text .viewmorelink a {
    font-size: 16px;
    padding: 5px 25px 5px 35px;
  }
}

.size figure{
  text-align: center;
}

  .dp-price .detail-price{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .dp-price .detail-price__item{
    width: 420px;
  }
  .dp-price .detail-price__table{
    margin: 40px 0 0;
  }
  .detail-price__item h4{
    background-color: #17375E;
    color: #fff;
    padding: 10px 15px;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    text-align: center;
  }

  .detail-price__item h4 em{
    font-size: 150%;
  }
  .detail-price__table table tr th,
  .detail-price__table table tr td{
    padding: 12px;
    font-size: 16px;
    letter-spacing: 0.15em;
    font-weight: 600;
  }
  .dp-price .detail-price__item+.detail-price__item{
    margin-left: 30px;
  }

  @media screen and (max-width: 1024px){

  .top-designprice .dp-price {
      margin: 40px auto 0;
      padding: 0
    }

  .dp-price .size{
  text-align: center;
}

  .dp-price .detail-price{
    display: block;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 0 15px;
  }
  .dp-price .detail-price__item{
    width: 100%;
  }
  .dp-price .detail-price__table{
    margin: 20px 0 0;
    width: 100%;
  }
  .detail-price__item h4{
    background-color: #17375E;
    color: #fff;
    padding: 5px 15px;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
    text-align: center;
  }

  .detail-price__item h4 em{
    font-size: 150%;
  }
  .detail-price__table table tr th,
  .detail-price__table table tr td{
    padding: 10px;
    font-size: 16px;
    letter-spacing: 0.15em;
    font-weight: 500;
  }
  .dp-price .detail-price__item+.detail-price__item{
    margin-left: 0;
  }
  }
