﻿@charset "UTF-8";
.basic-calc__input, .basic-calc__txt, .basic-calc__unit, .cmn-caution-desc, .cmn-caution-title, .sampledesc, .sampledesc__small, .sampledesc__very-small, .samplelink, a.top__category-link {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.sidebar1 {
  width: 210px
}

#paymentList, .cartList .product, .product, .users.wdth_645, .w645_center {
  width: 680px
}

.l-form .txt-align-right, .txt-align-right {
  text-align: right
}

.c-modal__content {
  z-index: 100;
  display: none;
  position: absolute;
  top: 100%
}

.basic-config__select, .top__flow-content, .top__flow-item, a.top__flow-btn {
  position: relative
}

.cmn-caution {
  margin: 20px 0
}

.cmn-caution-title {
  color: #e72c18;
  border: 2px solid #e72c18;
  text-align: center;
  padding: 10px 0;
  margin: 0 0 15px;
  font-size: 16px;
  letter-spacing: .03em
}

.cmn-caution-desc {
  font-size: 24px;
  letter-spacing: .1em;
  line-height: 1.6
}

.cmn-red {
  color: #e72c18
}

.sampledesc, .sampledesc__small, .sampledesc__very-small {
  margin: 40px 0 20px;
  color: #000;
  background: #ff0
}

.sampledesc {
  font-size: 20px;
  padding: 30px
}

.sampledesc::before, .sampledesc__small::before, .sampledesc__very-small::before {
  content: "＜モジュール＞　"
}

.sampledesc__small {
  font-size: 15px;
  padding: 15px;
  width: 80%
}

.sampledesc__very-small {
  width: 60%;
  font-size: 12px;
  padding: 15px
}

.samplelink {
  display: block;
  font-size: 15px;
  padding: 20px 0
}

.top__contents-wrapper {
  margin: 40px 0
}

.top__contents {
  background: #f1f1f1;
  padding: 19px 18px 27px
}

ul.top__category-list {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0
}

.top__category-item {
  width: 32%;
  height: 131px;
  background: #fff;
  margin-right: 2%;
  margin-bottom: 2%;
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, .03)
}

.top__category-item:nth-last-of-type(-n+3) {
  margin-bottom: 0
}

.top__category-item:nth-of-type(3n) {
  margin-right: 0
}

.top__category-link-icon, a.top__category-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

a.top__category-link {
  position: relative;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  color: #3f3939;
  font-size: 15px;
  text-decoration: none;
  height: 100%
}

a.top__category-link::before {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 9px;
  height: 13px;
  background-image: url(../../img/add/icon-arrow.png)
}

a.top__category-link::after {
  box-sizing: border-box;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border: 2px solid red;
  opacity: 0;
  transition: opacity .3s
}

a.top__category-link:hover, a.top__category-link:hover::after {
  opacity: 1
}

.top__slider-arrow-btn:hover, a.top__category-more:hover {
  opacity: .7
}

.top__category-link-icon {
  height: 80px
}

.top__category-link-icon img {
  display: block
}

a.top__category-more, a.top__contents-detail-btn {
  display: block;
  width: 207px;
  height: 30px;
  line-height: 30px;
  font-size: 12px;
  text-align: center;
  color: #fff;
  background: #2a2c2e;
  text-decoration: none;
  margin: 26px auto 0;
  transition: opacity .3s
}

a.top__contents-detail-btn:hover {
  opacity: .5
}

.top__flow {
  width: 100%;
  overflow: hidden;
  padding-top: 25px;
  margin: 0 0 45px
}

ul.top__flow-list {
  display: -ms-flexbox;
  display: flex;
  padding: 0 0 0 8px
}

.top__flow-item {
  width: 123px;
  height: 141px;
  margin-left: -11px
}

.top__flow-item:first-child {
  margin-left: 0
}

.top__flow-item:first-child a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-1.png)
}

.top__flow-item:first-child a.top__flow-btn::after {
  content: "1"
}

.top__flow-item:first-child a.top__flow-btn::before {
  background-image: url(../../img/add/flow-frame.png)
}

.top__flow-item:first-child .top__flow-btn-body {
  margin-left: 12px;
  margin-top: 37px
}

.top__flow-item:first-child .top__flow-icon, .top__flow-item:nth-child(6) .top__flow-icon {
  margin-bottom: 22px
}

.top__flow-item:nth-child(2) a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-2.png)
}

.top__flow-item:nth-child(2) a.top__flow-btn::after {
  content: "2"
}

.top__flow-item:nth-child(2) .top__flow-btn-body {
  margin-left: 33px;
  margin-top: 38px
}

.top__flow-item:nth-child(2) .top__flow-icon {
  margin-bottom: 18px
}

.top__flow-item:nth-child(3) a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-3.png)
}

.top__flow-item:nth-child(3) a.top__flow-btn::after {
  content: "3"
}

.top__flow-item:nth-child(3) .top__flow-btn-body {
  margin-left: 31px;
  margin-top: 43px
}

.top__flow-item:nth-child(3) .top__flow-icon {
  margin-bottom: 21px
}

.top__flow-item:nth-child(3) .top__flow-content, .top__flow-item:nth-child(4) .top__flow-content {
  left: -4px
}

.top__flow-item:nth-child(4) a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-4.png)
}

.top__flow-item:nth-child(4) a.top__flow-btn::after {
  content: "4"
}

.top__flow-item:nth-child(4) .top__flow-btn-body {
  margin-left: 21px;
  margin-top: 38px
}

.top__flow-item:nth-child(4) .top__flow-icon {
  margin-bottom: 23px
}

.top__flow-item:nth-child(5) a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-5.png)
}

.top__flow-item:nth-child(5) a.top__flow-btn::after {
  content: "5"
}

.top__flow-item:nth-child(5) .top__flow-btn-body {
  margin-left: 23px;
  margin-top: 36px
}

.top__flow-item:nth-child(5) .top__flow-icon {
  margin-bottom: 26px
}

.help__question-index-item:nth-last-child(-n+2), .help__question-other-item:last-child {
  margin-bottom: 0
}

.top__flow-item:nth-child(5) .top__flow-content {
  left: -8px
}

.top__flow-item:nth-child(6) a.top__flow-btn {
  background-image: url(../../img/add/flow-bg-6.png)
}

.top__flow-item:nth-child(6) a.top__flow-btn::after {
  content: "6"
}

.top__flow-item:nth-child(6) .top__flow-btn-body {
  margin-left: 31px;
  margin-top: 40px
}

.top__flow-item:nth-child(6) .top__flow-content {
  left: -10px
}

.top__flow-item:hover .top__flow-modal {
  opacity: 1;
  pointer-events: auto
}

.help, .megamenu, .sidebar-megamenu, .top__flow-modal {
  pointer-events: none
}

.top__flow-item:hover a.top__flow-btn::before, .top__slider:hover .top__slider-arrow, a.top__flow-btn:hover {
  opacity: 1
}

.top__flow-bar {
  width: 100%;
  height: 13px;
  background: #f1f1f1;
  margin: 8px 0 3px
}

.top__flow-arrow::before, a.top__flow-btn, a.top__flow-btn::before {
  background-repeat: no-repeat;
  background-size: 100% auto
}

a.top__flow-btn {
  text-decoration: none;
  color: #000;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%
}

a.top__flow-btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../img/add/flow-frame-2.png);
  background-size: 100% 100%;
  opacity: 0;
  transition: opacity .3s
}

a.top__flow-btn::after {
  content: "";
  position: absolute;
  left: -7px;
  top: -7px;
  width: 21px;
  height: 21px;
  border-radius: 100%;
  background: #e51f1f;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px
}

.side-nav__posting-period-body, .top__flow-btn-body, .top__flow-content, a.top__flow-btn::after {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.top__flow-btn-body {
  -ms-flex-direction: column;
  flex-direction: column
}

.side-nav__basic.is-active, .side-nav__cart.is-active, .top__flow-arrow, .top__flow-icon img {
  display: block
}

.top__flow-arrow::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-image: url(../../img/add/icon-arrow-2.png);
  margin-right: 5px
}

.top__flow-txt {
  text-align: center;
  line-height: 1.3
}

.top__flow-modal {
  z-index: 10;
  position: absolute;
  left: 0;
  top: calc(100%);
  width: 295px;
  padding: 20px 14px;
  border: 1px solid #d7d7d7;
  background: #fff;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 1.7;
  letter-spacing: -.04em;
  opacity: 0;
  transition: opacity .3s
}

.side-nav__content, .side-nav__tab-item:first-child .side-nav__tab-btn, .side-nav__tab-item:nth-child(2) .side-nav__tab-btn.is-active {
  border-left: 1px solid #e5e5e5
}

.side-nav__content, .side-nav__tab-item:first-child .side-nav__tab-btn.is-active, .side-nav__tab-item:nth-child(2) .side-nav__tab-btn {
  border-right: 1px solid #e5e5e5
}

.side-nav p, .side-nav ul, .top__flow-modal p {
  padding: 0
}

a.top__flow-modal-link {
  display: block;
  text-decoration: none;
  color: #e51f1f;
  margin-top: 6px
}

a.top__flow-modal-link:hover {
  opacity: 1;
  text-decoration: underline
}

.detail__flow {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 22px;
  background: #e5e5e5;
  border-radius: 12px;
  padding: 0;
  margin: 6px 0 20px;
  box-sizing: border-box
}

.detail__flow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #000;
  border-radius: 12px;
  transition: width 1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden
}

.detail__flow--1::before {
  width: 91px
}

.detail__flow--1 .detail__flow-item:first-child p.detail__flow-txt, .detail__flow--2 .detail__flow-item:nth-child(2) p.detail__flow-txt, .detail__flow--3 .detail__flow-item:nth-child(3) p.detail__flow-txt, .detail__flow--4 .detail__flow-item:nth-child(4) p.detail__flow-txt, .detail__flow--5 .detail__flow-item:nth-child(5) p.detail__flow-txt, .detail__flow--6 .detail__flow-item:nth-child(6) p.detail__flow-txt, .detail__flow--7 .detail__flow-item:nth-child(7) p.detail__flow-txt {
  color: #fff
}

.detail__flow--1 .detail__flow-item:first-child .detail__flow-circle, .detail__flow--2 .detail__flow-item:nth-child(2) .detail__flow-circle, .detail__flow--3 .detail__flow-item:nth-child(3) .detail__flow-circle, .detail__flow--4 .detail__flow-item:nth-child(4) .detail__flow-circle, .detail__flow--5 .detail__flow-item:nth-child(5) .detail__flow-circle, .detail__flow--6 .detail__flow-item:nth-child(6) .detail__flow-circle, .detail__flow--7 .detail__flow-item:nth-child(7) .detail__flow-circle {
  background: #fff
}

.detail__flow--2::before {
  width: 210px
}

.detail__flow--3::before {
  width: 307px
}

.detail__flow--4::before {
  width: 405px
}

.detail__flow--5::before {
  width: 481px
}

.detail__flow--6::before {
  width: 579px
}

.detail__flow--7::before {
  width: 100%
}

.detail__flow-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 18px
}

.detail__flow-item:last-child {
  margin-right: 0
}

.detail__flow-item:first-child {
  width: 69px
}

.detail__flow-item:nth-child(2) {
  width: 102px
}

.detail__flow-item:nth-child(3), .detail__flow-item:nth-child(4), .detail__flow-item:nth-child(6), .detail__flow-item:nth-child(7) {
  width: 80px
}

.detail__flow-item:nth-child(5) {
  width: 58px
}

p.detail__flow-txt {
  position: relative;
  top: 1px;
  padding: 0;
  line-height: 22px;
  font-size: 11px;
  color: #706c6c;
  transition: color .3s
}

.detail__flow-circle {
  position: relative;
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: gray;
  transition: background-color .3s
}

.top__slider {
  position: relative;
  margin-bottom: 6px
}

a.top__slider-link:hover {
  opacity: 1
}

.top__slider-arrow {
  opacity: 0;
  transition: opacity .3s
}

.top__slider-arrow-btn {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 100%;
  background: rgba(0, 0, 0, .9);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  transition: opacity .3s
}

.help__header:hover, .side-nav__select-info-btn:hover, .side-nav__tab-btn:hover {
  opacity: 1
}

.top__slider-arrow-btn-body {
  position: relative;
  width: 10px;
  height: 2px
}

.top__slider-arrow-btn-bar {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff
}

.top__slider-arrow-btn-bar:first-child {
  top: -1px
}

.top__slider-arrow-btn-bar:nth-child(2) {
  top: 1px
}

.top__slider-arrow-btn--left {
  left: 10px
}

.top__slider-arrow-btn--left .top__slider-arrow-btn-bar:first-child {
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

.top__slider-arrow-btn--left .top__slider-arrow-btn-bar:nth-child(2) {
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.top__slider-arrow-btn--right {
  right: 10px
}

.top__slider-arrow-btn--right .top__slider-arrow-btn-bar:first-child {
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

.top__slider-arrow-btn--right .top__slider-arrow-btn-bar:nth-child(2) {
  -webkit-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}

body.is-scale-width {
  width: 1400px
}

.dummy-container {
  width: 870px;
  margin: 0 auto
}

.side-nav {
  z-index: 80;
  position: fixed;
  left: 0;
  bottom: 80px;
  width: 225px;
  display: block;
  opacity: 0
}

.side-nav.is-hide, .side-nav__basic, .side-nav__cart, .side-nav__flow-item:first-of-type .side-nav__flow-circle::before, .side-nav__flow-item:last-of-type .side-nav__flow-circle::after {
  display: none
}

.side-nav__tab {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end
}

.side-nav__tab-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50%
}

a.side-nav__tab-btn {
  width: 100%;
  color: #000;
  text-decoration: none
}

.side-nav__tab-btn, .side-nav__tab-icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.side-nav__tab-btn {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-top: 1px solid #e5e5e5;
  height: 40px;
  background: #fff
}

.side-nav__tab-btn.is-active {
  background: #f2f2f2;
  height: 45px
}

.side-nav__tab-icon {
  width: 16px;
  height: 16px;
  background: #000;
  border-radius: 100%;
  margin-right: 6px
}

.side-nav__tab-btn--basic img, .side-nav__tab-btn--cart img {
  width: 8px;
  height: auto
}

.side-nav__tab-txt {
  font-size: 13px
}

.side-nav__content {
  position: relative;
  background: #f2f2f2;
  border-bottom: 1px solid #e5e5e5
}

.side-nav__content-body {
  position: relative;
  padding: 0 10px 17px
}

.side-nav__basic-plan {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between
}

ul.side-nav__basic-plan {
  padding-top: 13px
}

.side-nav__basic-plan-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 97px
}

.side-nav__basic-plan-item:first-child {
  margin-right: 6px
}

.side-nav__basic-plan-content, .side-nav__basic-plan-content-body, .side-nav__cart-index, .side-nav__cart-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.side-nav__basic-plan-content {
  width: 100%;
  min-height: 105px;
  border: 1px solid #e5e5e5;
  background: #fff;
  margin-top: -12px;
  padding-bottom: 5px;
  box-sizing: border-box
}

.side-nav__basic-plan-content-body {
  position: relative;
  top: 11px;
  -ms-flex-direction: column;
  flex-direction: column
}

.side-nav__basic-plan-content-caution, .side-nav__basic-plan-content-date {
  font-size: 10px
}

.side-nav__basic-plan-content-date-strong {
  color: #e72c18
}

.side-nav__basic-plan-title {
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 82px;
  height: 24px;
  background: #000;
  border-radius: 12px;
  box-sizing: border-box;
  font-size: 12px;
  color: #fff
}

.side-nav__basic-plan-content-price {
  font-size: 10px;
  margin: 1px 0 0;
  word-break: break-all
}

p.side-nav__basic-plan-content-price {
  padding: 0 6px
}

.side-nav__basic-plan-content-price-strong {
  color: #e72c18;
  font-size: 18px
}

.side-nav__basic-plan-content-price-weak, .side-nav__option-plan-content-price-weak {
  color: #333;
  font-size: 10px;
  white-space: nowrap;
  -webkit-transform: scale(.9);
  transform: scale(.9);
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 100%
}

.side-nav__basic-plan .side-nav__basic-plan-content-price-weak {
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 5px;
  -ms-flex-pack: center;
  justify-content: center;
  width: auto
}

.side-nav__cart-item:last-of-type, .side-nav__select-info-item:last-child {
  border-bottom: none
}

.side-nav__option-plan, p.side-nav__cart-state {
  padding-top: 11px
}

.side-nav__option-plan-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  border: 1px solid #e5e5e5;
  padding: 13px 0 15px
}

.side-nav__option-plan-body--posting-basic .side-nav__option-plan-content-body {
  width: auto;
  -ms-flex-direction: column;
  flex-direction: column
}

.side-nav__cart-content, .side-nav__option-plan-date {
  font-size: 12px
}

.side-nav__option-plan-date-strong {
  color: #e72c18;
  font-size: 15px
}

.side-nav__option-plan-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  padding: 0 8px;
  box-sizing: border-box
}

.side-nav__option-plan-content-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%
}

.side-nav__option-caution {
  position: relative;
  font-size: 10px;
  margin-top: 8px;
  height: 1em
}

.side-nav__option-caution-txt {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%) scale(.9);
  transform: translate(-50%, -50%) scale(.9);
  white-space: nowrap
}

.side-nav__option-plan-content-copies {
  color: #000;
  font-size: 10px;
  width: 54px;
  height: 24px;
  background-image: url(../../img/add/sidebar-icon-num-gray.png);
  background-repeat: no-repeat;
  background-size: cover;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 9px
}

.side-nav__option-plan-content-copies-body {
  position: relative;
  -webkit-transform: translateX(-5%);
  transform: translateX(-5%)
}

.side-nav__option-plan-content-price {
  font-size: 17px;
  margin-top: 8px
}

.side-nav__option-plan-content-price-strong {
  color: #e72c18;
  font-size: 25px
}

.side-nav__select-info {
  margin-top: 8px
}

a.side-nav__cart-link, a.side-nav__select-info-btn {
  color: #fff;
  text-decoration: none
}

.side-nav__select-info-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  background: #000;
  height: 37px;
  padding: 0 18px;
  color: #fff;
  text-decoration: none;
  font-size: 12px
}

.side-nav__select-info-btn-icon-bar:first-of-type, .side-nav__select-info-btn.is-active .side-nav__select-info-btn-icon-bar:first-of-type, .side-nav__select-info-btn.is-active .side-nav__select-info-btn-icon-bar:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(0);
  transform: translate(-50%, -50%) rotate(0)
}

.side-nav__select-info-btn-icon {
  position: relative;
  display: block;
  width: 14px;
  height: 14px;
  background: #333;
  border-radius: 100%
}

.side-nav__select-info-btn-icon-bar {
  position: absolute;
  display: block;
  width: 7px;
  height: 1px;
  background: #fff;
  left: 50%;
  top: 50%;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.side-nav__select-info-btn-icon-bar:nth-of-type(2) {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg)
}

.side-nav__select-info-content {
  background: #fff;
  font-size: 11px;
  border: 1px solid #e5e5e5;
  padding: 3px 0 6px;
  height: 240px;
  box-sizing: border-box
}

.side-nav__select-info-list {
  height: 100%;
  overflow-y: scroll
}

.side-nav__select-info-item {
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #e5e5e5;
  padding: 6px 0;
  margin: 0 10px;
  color: #000;
  transition: color .7s ease-in-out
}

.side-nav__select-info-title {
  width: 44%;
  padding-right: 4px
}

.side-nav__select-info-txt {
  width: 56%
}

.side-nav__select-info-item--flash {
  color: red
}

ul.side-nav__flow {
  padding: 15px 0 0
}

.side-nav__flow-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 37px;
  background: #fff;
  margin-bottom: 3px
}

.side-nav__flow-item.is-active {
  background: #000
}

.side-nav__flow-item.is-active .side-nav__flow-circle-body {
  background: #fff
}

.side-nav__flow-item.is-active .side-nav__flow-txt {
  color: #fff
}

.side-nav__flow-circle {
  position: relative;
  display: block;
  width: 8px;
  height: 8px;
  margin-left: 7px;
  margin-right: 20px
}

.side-nav__flow-circle::after, .side-nav__flow-circle::before {
  content: "";
  position: absolute;
  left: 50%;
  width: 1px;
  height: 21px;
  background: #e4e4e4;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%)
}

.side-nav__flow-circle::before {
  bottom: 50%
}

.side-nav__flow-circle::after {
  top: 50%
}

.help, .help.is-top {
  top: 0
}

.side-nav__flow-circle-body {
  z-index: 1;
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: #b2b2b2;
  border-radius: 100%
}

.side-nav__flow-txt {
  font-size: 12px;
  color: #b2b2b2
}

.side-nav__cart-state {
  font-size: 13px;
  margin-bottom: 10px;
  text-align: center
}

.side-nav__cart-state-strong {
  color: #e72c18
}

.side-nav__cart-state-num {
  font-size: 18px
}

ul.side-nav__cart-list {
  padding: 6px 0 0
}

.side-nav__cart-list {
  max-height: 282px;
  background: #fff;
  border: 1px solid #e5e5e5;
  margin-bottom: 14px;
  counter-reset: orderlist;
  overflow-y: scroll
}

.side-nav__cart-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  counter-increment: orderlist;
  margin: 0 10px;
  padding: 9px 0;
  border-bottom: 1px solid #e5e5e5
}

.side-nav__cart-item .side-nav__cart-index:before {
  content: counter(orderlist)
}

.side-nav__cart-link {
  background: #000;
  margin: 0 auto;
  transition: opacity .3s;
  width: 151px;
  height: 30px;
  border-radius: 15px;
  font-size: 80%
}

.side-nav__cart-link:hover {
  color: #fff!important;
  background: #00abc9
}

.side-nav__cart-index {
  width: 13px;
  height: 13px;
  background: #e72c18;
  border-radius: 100%;
  font-size: 10px;
  color: #fff;
  margin-right: 8px
}

.side-nav__posting-basic {
  background: #fff;
  border: 1px solid #e5e5e5
}

.side-nav__posting-basic, .side-nav__posting-period {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center
}

.side-nav__posting-period--option {
  padding-top: 6px;
  margin: 10px 0 0;
  border-top: 1px solid #e5e5e5;
  width: calc(100% - 16px)
}

.side-nav__posting-period-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 56px;
  height: 16px;
  background: #f2f2f2;
  font-size: 10px;
  margin-right: 5px
}

.side-nav__posting-period-content {
  font-size: 12px;
  color: #e72c18
}

.help {
  z-index: 10000;
  position: fixed;
  left: 20px;
  bottom: 20px;
  width: 278px
}

.help.is-active {
  pointer-events: auto
}

.help.is-bottom {
  bottom: 80px
}

.help__wrapper {
  background: #fff;
  box-shadow: 4px 4px 10px 0 rgba(197, 197, 197, .1);
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
  transition: .5s;
  opacity: 0;
  -webkit-transform: rotateY(0) scale(.95, .95) translate(0, 0);
  transform: rotateY(0) scale(.95, .95) translate(0, 0)
}

.help__header-back, .help__header-plus {
  height: 45px;
  transition: opacity .3s;
  top: 0
}

.help__wrapper.is-active {
  opacity: 1;
  -webkit-transform: rotateY(0) scale(1, 1) translate(0, 0);
  transform: rotateY(0) scale(1, 1) translate(0, 0)
}

.help__body {
  border: 1px solid #e5e5e5;
  padding: 14px 14px 22px
}

@media (max-height:810px) {
  .help__body {
    max-height: 70vh;
    overflow-y: scroll;
    -ms-overflow-style: -ms-autohiding-scrollbar
  }
}

.help__header {
  position: relative;
  height: 45px;
  background: #231716
}

.help__header, .help__header-back, .help__header-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.help__header-back {
  z-index: 1;
  width: 45px;
  position: absolute;
  left: 0;
  cursor: pointer
}

.help__header-back:hover {
  opacity: .5
}

.help__header-back img {
  display: block;
  width: 12px;
  height: 9px
}

.help__header-body {
  position: relative;
  width: calc(100% - 90px);
  left: -5px;
  padding: 13px 0;
  color: #fff;
  cursor: move
}

.help__header-body:hover {
  opacity: 1
}

.help__header-icon {
  width: 16px;
  margin-right: 7px
}

.help__header-icon img {
  display: block;
  width: 100%;
  height: auto
}

p.help__header-txt, p.help__question-404, p.help__question-header, ul.help__question-index-list, ul.help__question-list {
  padding: 0
}

.help__header-plus {
  position: absolute;
  right: 0;
  width: 45px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.help__header-plus:hover {
  opacity: .5
}

.help__header-plus-body {
  position: relative;
  width: 10px;
  height: 10px
}

.help__header-plus-bar {
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 15px;
  height: 2px;
  background: #fff;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.help__header-plus-bar:first-child {
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

.help__header-plus-bar:nth-child(2) {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg)
}

.help__form {
  position: relative;
  margin-bottom: 16px
}

.help__form-search {
  width: 100%;
  height: 34px;
  border-radius: 17px;
  border: none;
  background: #f2f2f2;
  outline: 0;
  font-size: 10px;
  padding-left: 18px;
  padding-right: 30px;
  box-sizing: border-box
}

.help__form-search::-webkit-input-placeholder {
  transition: color .3s
}

.help__form-search::placeholder {
  transition: color .3s
}

.help__form-search:focus::-webkit-input-placeholder {
  color: transparent
}

.help__form-search:focus::placeholder {
  color: transparent
}

.help__form-send-label {
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  cursor: pointer
}

.help__form-send-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  background-image: url(../../img/add/icon-search.png);
  background-repeat: no-repeat;
  background-size: 100% auto
}

.help__form-send-input {
  display: block;
  width: 12px;
  height: 12px;
  padding: 0;
  text-indent: -9999px;
  border: none;
  outline: 0;
  background: 0 0
}

.help__question-header {
  position: relative;
  font-size: 13px;
  text-align: center;
  margin-bottom: 12px
}

.help__question-header::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  height: 1px;
  background: #e0dede
}

.help__question-header-txt {
  position: relative;
  background: #fff;
  padding: 0 6px
}

.help__question-body {
  overflow-y: auto;
  max-height: 250px
}

.help__question-item {
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  margin-bottom: 5px
}

.help__question-icon {
  position: relative;
  top: 2px;
  width: 14px;
  margin-right: 6px
}

.basic__desc-clearfile-thumbnail img, .basic__desc-drawing img, .help__btn-icon img, .help__question-detail-header-icon img, .help__question-icon img, .sewing-modal__thumbnail img, .toji-modal__thumbnail img {
  width: 100%;
  height: auto
}

a.help__question-link {
  color: #231716
}

.help__question-link {
  font-size: 11px;
  transition: color .3s;
  color: #231716;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  cursor: pointer
}

.help__question-link:hover {
  color: #d5412d;
  opacity: 1;
  text-decoration: underline
}

.help__question-404 {
  text-align: center;
  color: #231716;
  font-size: 11px
}

.help__question-more {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 120px;
  height: 29px;
  border: 1px solid #dfdfdf;
  border-radius: 14px;
  font-size: 10px;
  transition: .3s;
  box-sizing: border-box;
  white-space: nowrap;
  color: #231716;
  cursor: pointer;
  margin: 10px auto 0
}

.help__question-more:focus {
  outline: 0
}

.help__question-more:hover {
  color: #d5412d;
  border: 1px solid #d5412d
}

.help__question-other {
  border: 1px solid #231716;
  padding: 0 12px;
  margin-top: 20px
}

a.help__btn, a.help__question-back, a.help__question-index-link, a.help__question-other-header {
  color: #231716;
  text-decoration: none
}

.help__question-other-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 36px;
  transition: .3s;
  border-bottom: 1px solid transparent
}

.help__question-other-header:hover {
  opacity: 1
}

.help__question-other-header.is-active {
  border-bottom: 1px solid #bdb9b9
}

.help__question-other-header-plus-bar:first-child, .help__question-other-header.is-active .help__question-other-header-plus-bar:first-child, .help__question-other-header.is-active .help__question-other-header-plus-bar:nth-child(2) {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.help__question-other-header-plus {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 10px;
  height: 10px
}

.help__question-other-header-plus-bar {
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 10px;
  height: 2px;
  background: #231716;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s
}

.help__question-other-header-plus-bar:nth-child(2) {
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg)
}

ul.help__question-other-list {
  padding: 0 0 16px 5px;
  margin-top: 9px
}

.help__question-other-item {
  margin-bottom: 5px
}

a.help__question-other-link {
  color: #231716
}

.help__question-other-link {
  font-size: 11px;
  transition: color .3s
}

.help__question-other-link:hover {
  color: #d5412d;
  opacity: 1;
  text-decoration: underline
}

.help__question-other-link::before {
  content: "";
  margin-right: 3px;
  display: inline-block;
  width: 4px;
  height: 6px;
  background-image: url(../../img/add/icon-arrow-black.png);
  background-repeat: no-repeat;
  background-size: 100% auto
}

.help__question-index-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 14px
}

.help__question-index-item {
  margin-right: 7px;
  margin-bottom: 7px
}

.help__question-index-item:nth-child(2n) {
  margin-right: 0
}

.help__question-index-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 120px;
  height: 29px;
  border: 1px solid #dfdfdf;
  border-radius: 14px;
  font-size: 10px;
  transition: .3s;
  box-sizing: border-box;
  white-space: nowrap;
  color: #231716;
  cursor: pointer
}

.help__question-index-link:hover {
  color: #d5412d;
  border: 1px solid #d5412d
}

.help__question-detail-header {
  display: -ms-flexbox;
  display: flex;
  font-size: 13px;
  margin-bottom: 12px;
  color: #231716
}

.help__question-detail-header-icon {
  position: relative;
  top: 1px;
  display: block;
  width: 15px;
  margin-right: 7px
}

p.help__question-detail-answer, p.help__question-detail-header-txt {
  padding: 0;
  color: #231716
}

.help__question-detail-header-txt {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.help__question-detail-answer {
  font-size: 11px;
  line-height: 1.65
}

.help__question-detail-other {
  border-top: 1px solid #e5e5e5;
  margin-top: 24px;
  padding-top: 20px
}

.help__question-detail-other-header {
  text-align: center;
  font-size: 12px;
  color: #231716;
  margin-bottom: 12px
}

.help__btn, .help__question-back {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  transition: .3s
}

.help__question-back {
  border: 1px solid #231716;
  margin: 10px auto 0;
  font-size: 11px;
  color: #231716;
  cursor: pointer;
  width: 101px;
  height: 23px;
  border-radius: 12px
}

.help__question-back:hover {
  opacity: 1;
  color: #fff;
  background: #231716
}

.help__btn {
  z-index: 80;
  position: fixed;
  bottom: 50px;
  left: calc(50% + 435px + 25px);
  width: 138px;
  height: 31px;
  background: #231716;
  border-radius: 16px
}

.help__btn:hover {
  opacity: .7
}

.basic__desc-clearfile-link-btn:hover, .basic__desc-musen-link-btn:hover, .basic__overview::before, .price-table__controller-btn:hover {
  opacity: .5
}

.help__btn.is-active .help__btn-icon img, .help__btn.is-hide {
  display: none
}

.help__btn.is-active {
  background: #c8c9c9;
  color: #231716
}

.help__btn.is-active .help__btn-txt::before {
  content: "ヘルプを閉じる"
}

.help__btn.is-active .help__btn-icon-body {
  display: block
}

a.help__btn {
  color: #fff
}

.help__btn-icon {
  width: 13px;
  height: 13px;
  margin-right: 6px
}

.help__btn-icon-body {
  position: relative;
  height: 100%;
  display: none
}

.help__btn-icon-bar {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 13px;
  height: 2px;
  background: #231716
}

.help__btn-icon-bar:first-child {
  -webkit-transform: translateY(-90%) rotate(45deg);
  transform: translateY(-90%) rotate(45deg)
}

.help__btn-icon-bar:nth-child(2) {
  -webkit-transform: translateY(-90%) rotate(-45deg);
  transform: translateY(-90%) rotate(-45deg)
}

.basic__overview p, dd.price-table__product-item-desc, p.help__btn-txt, tbody td, tbody th {
  padding: 0
}

.basic-calc__input, .basic-calc__unit, .help__btn-txt {
  font-size: 11px
}

.help__btn-txt::before {
  content: "ヘルプ"
}

.basic__overview {
  position: relative;
  height: 317px;
  margin-bottom: 45px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  background-color: #000;
  overflow: hidden
}

.basic__overview::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: 1;
}

@media screen and (max-width: 750px) {
  .basic__overview img {
    position: absolute;
    left: -38%;
    height: 100%;
    max-width: fit-content;
  }
}

.basic__desc-title::after, a.basic-calc__title::after {
  content: "";
  background-image: url(../../img/add/icon-arrow-gray.png)
}

.basic__overview::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  border: 1px solid #f1f1f1;
  width: calc(100% - 14px);
  height: calc(100% - 20px);
  box-sizing: border-box;
  visibility: visible;
  z-index: 1;
}

.basic__overview--1 {
  background-image: url(../../img/add/basic-flyer.jpg)
}

.basic__overview-body {
  position: absolute;
  z-index: 1;
  top: 78px;
  left: 35px;
  color: #fff
}
@media screen and (max-width: 750px) {
  .basic__overview-body {
    position: relative;
    top: 12px;
    left: 0px;
  }
}

.basic__overview-title-sub {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 24px;
  margin-left: 3px
}

.basic__overview-title-main {
  margin-bottom: 27px;
  font-weight: 700;
  font-size: 30px
}

.basic__overview-txt {
  font-weight: 400;
  line-height: 1.5;
  font-size: 14px
}

.basic__overview-sale-left-desc, .basic__overview-sale-left-title, .basic__overview-sale-right {
  font-size: 11px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.basic__overview-txt a {
  color: #fff;
  transition: opacity .3s
}

.basic__overview-txt a:hover {
  opacity: .5;
  text-decoration: underline
}

.basic__overview-sale, .basic__overview-sale-left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.basic__overview-sale {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: -16px;
  padding: 4px;
  background: #e72c18;
  box-sizing: border-box;
  width: 437px
}

.basic__desc-clearfile-link-btn:before, .basic__desc-title::after, .basic__fast-item-title::before, .basic__fast-title::before, .basic__overview-sale-left {
  background-repeat: no-repeat;
  background-size: 100% auto
}

.basic__overview-sale-left {
  width: 137px;
  height: 70px;
  background-image: url(../../img/add/icon-hukidashi-sale.png);
  -ms-flex-pack: center;
  justify-content: center;
  margin-right: 15px
}

.basic__overview-sale-right {
  color: #fff;
  line-height: 1.65;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.basic__overview-sale-left-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center
}

.basic__overview-sale-left-desc, .basic__overview-sale-left-title {
  display: block;
  color: #e72c18
}

.basic__overview-sale-left-desc {
  font-size: 12px
}

.basic__overview-sale-left-desc strong, .cmn-overview__title-mark-txt strong {
  font-size: 20px
}

.basic__desc {
  background: #fafafa;
  border: 1px solid #343434
}

.basic__desc.mt20 {
  margin-top: 20px
}

.basic__desc-title {
  position: relative;
  margin: 0;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 19px 30px;
  cursor: pointer
}

.basic__desc-musen-link-btn, .basic__desc-txt {
  font-size: 12px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.basic__desc-title::after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  -webkit-transform: translateY(-50%) rotate(0);
  transform: translateY(-50%) rotate(0)
}

.basic__desc-title.is-active::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg)
}

.basic__desc-content {
  display: none;
  padding: 5px 30px 30px
}

.basic__desc-txt {
  padding: 0;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 15px
}

.basic__desc-txt:first-child {
  margin-top: 0
}

.basic__desc-txt-red {
  color: red
}

.basic__desc-txt+.basic__desc-drawing {
  margin-top: 30px
}

.basic__desc-drawing {
  background: #fff;
  margin-top: 13px
}

.basic__desc-musen-link {
  display: -ms-flexbox;
  display: flex;
  padding: 0 20px 30px;
  margin-top: 30px
}

a.basic__desc-clearfile-link-btn, a.basic__desc-musen-link-btn {
  color: #fff;
  text-decoration: none
}

.basic__desc-musen-link-btn {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  background: #343434;
  margin-right: 20px;
  padding: 16px 0;
  font-weight: 700;
  transition: opacity .3s
}

.basic__desc-musen-link-btn:last-of-type {
  margin-right: 0
}

.basic__desc-caution::before, .basic__desc-musen-link-btn:before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto
}

.basic__desc-musen-link-btn:before {
  margin-right: 8px;
  width: 10px;
  height: 10px;
  background-image: url(../../img/add/icon-arrow-2-white.png)
}

.basic__desc-caution, .basic__desc-clearfile-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 14px
}

.basic__desc-caution {
  position: relative;
  padding: 0 0 0 24px;
  margin: 40px 0 15px
}

.basic__desc-caution::before {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 17px;
  height: 17px;
  background-image: url(../../img/add/icon-caution.png)
}

.basic__desc-clearfile-title {
  border-bottom: 2px solid #ececec;
  padding: 0 0 13px;
  margin: 37px 0 18px
}

.basic__desc-clearfile-title:first-of-type {
  margin: 0 0 18px
}

.option__item-size-txt:first-of-type, .price-table__product-item:nth-child(4n+1) {
  margin-left: 0
}

.basic-config__color-content-body:last-of-type, .basic-config__color:last-of-type, .flyer-modal__caution-item:nth-last-child(-n+2), .option__item:last-child, table {
  margin-bottom: 0
}

.basic__desc-clearfile-link {
  display: -ms-flexbox;
  display: flex;
  margin-top: 16px
}

.basic__desc-clearfile-link-btn {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  background: #343434;
  margin-right: 20px;
  padding: 16px 0;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 12px;
  transition: opacity .3s
}

.basic__desc-clearfile-link-btn:last-of-type {
  margin-right: 0
}

.basic__desc-clearfile-link-btn:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-image: url(../../img/add/icon-arrow-2-white.png);
  margin-right: 8px
}

.basic-config__color-content-icon-block:last-of-type, .basic__fast-item:last-child, .flyer-modal__caution-item:nth-child(2n), .toji-modal__thumbnail:last-child {
  margin-right: 0
}

.basic__desc-clearfile-block, ul.basic__fast-list {
  display: -ms-flexbox;
  display: flex
}

.basic__desc-clearfile-thumbnail {
  width: 240px;
  min-width: 240px;
  margin-left: 15px
}

.basic__fast {
  margin-bottom: 30px
}

.basic__fast-title {
  position: relative;
  font-weight: 700;
  color: #e72c18;
  font-size: 19px;
  border-bottom: 2px solid #e1e1e1;
  padding: 0 0 15px 53px;
  margin: 0 0 20px;
  box-sizing: border-box;
  width: 100%
}

.basic__fast-item-title::before, .basic__fast-title::before {
  content: "";
  position: absolute;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.basic__fast-title::before {
  top: calc(50% - 10px);
  width: 46px;
  height: 27px;
  background-image: url(../../img/add/icon-fast.png)
}

.basic__fast-txt {
  margin-bottom: 18px;
  font-weight: 400;
  font-size: 14px;
  padding: 0
}

.basic__fast-item-title {
  position: relative;
  font-weight: 700;
  font-size: 12px;
  padding: 0 0 0 18px;
  margin: 0 0 10px
}

.basic__fast-item-title::before {
  top: 50%;
  width: 10px;
  height: 10px;
  background-image: url(../../img/add/icon-arrow-2.png)
}

ul.basic__fast-list {
  padding: 0;
  margin: 0
}

.basic__fast-item {
  position: relative;
  border: 1px solid #e1e1e1;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  margin-right: 8px
}

.basic__fast-item:not(.is-hidden) a.basic__fast-link:hover {
  opacity: 1;
  border: 1px solid #e72c18;
  background: #fff8f8
}

.basic__fast-item.is-hidden {
  display: flex!important
}

.basic-step__heading, .basic__fast-item.is-hidden::after {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  width: 100%
}

.basic__fast-item-txt, .basic__fast-item.is-hidden::after {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 12px
}

.basic__fast-item.is-hidden::after {
  content: "この商品は非対応です";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: rgba(0, 0, 0, .05);
  visibility: visible;
  -ms-flex-pack: center;
  justify-content: center;
  color: rgba(52, 52, 52, .54);
  font-weight: 700;
  line-height: 1
}

.basic__fast-item.is-hidden a.basic__fast-link {
  opacity: .05
}

.basic__fast-item-txt {
  font-weight: 400;
  line-height: 1.5;
  padding: 0
}

a.basic__fast-link {
  display: block;
  color: #000;
  text-decoration: none;
  padding: 12px;
  border: 1px solid transparent;
  box-sizing: border-box;
  transition: .3s;
  min-height: 147px
}

a.basic-calc__title:hover, a.basic__fast-link:hover, a.price-table__tax-btn:hover {
  opacity: 1
}

.basic-step__heading {
  background: #343434;
  box-sizing: border-box;
  padding: 13px 10px;
  position:relative;
}

.basic-step__heading-img {
  height:32px;
  margin-right:32px
}

.basic-step__heading-num, .basic-step__heading-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  color: #fff
}

.basic-step__heading-num {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 11px;
  top: calc((100% / 2) - 8px);
  left:26px;
  position: unset;
  margin-right: 10px;
  border: 1px solid white;
  padding: 3px 5px 3px 5px;
  border-radius: 5px;
}

.basic-step__heading-txt {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  font-size: 18px;
  line-height: 1.5
}

ul.basic-config__content {
  background: #fafafa;
  padding: 8px 20px 17px;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 17px;
  border:1px solid #dcdcdc;
}

.basic-config__content-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: auto;
  box-sizing: border-box;
  padding: 5px 0;
  border-bottom: 1px solid #e3e3e3
}
.basic-config__content-item div {
  max-width: 260px;
  padding-left: 2px;
}
.basic-config__content-item:last-of-type {
  border: none;
  padding: 19px 0 0
}

.basic-config__content-item--color {
    margin: 5px 0;
}

.basic-config__title {
  position: relative;
  font-weight: 700;
  font-size: 90%;
  padding: 0 0 0 10px;
  min-width: 132px;
  box-sizing: border-box
}
.basic-config__title > .title_item_no {
  font-size: 120%;
  margin-right: 2px;
}
.basic-config__title::after, .basic-config__title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 10px
}

.basic-config__title::before {
  background: #e72c18;
  top: 3px
}

.basic-config__title::after {
  background: #ff5830;
  top: 13px
}

.basic-config__selected {
  border: 1px solid #e3e3e3
}

.basic-config__selected::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  background-image: url(../../img/add/icon-arrow-item.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.basic-calc__title.is-active::after, .basic-config__selected.is-active::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg)
}

a.basic-config__select-box {
  text-decoration: none
}

.basic-config__select-box {
  position: relative;
  text-decoration: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 18px 55px 18px 21px;
  border: 1px solid #e3e3e3;
  box-sizing: border-box;
  background: #fff;
  cursor: pointer;
  min-height: 91px;
  transition: background-color .3s;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 13px
}

.basic-config__select-box.is-small {
  width: 269px;
  min-height: auto
}

.basic-config__select--option .basic-config__select-box {
  min-height: auto
}

.basic-config__select-input {
  display: none
}

.basic-config__select-list {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  display: none
}

.basic-config__select-item {
  width: 100%;
  background: #fff
}

.basic-config__select-btn {
  border-top: none
}

.basic-config__select-btn:hover {
  background: #f1f1f1
}

.basic-config__select-txt {
  font-weight: 700;
  font-size: 13px;
  color: #000
}

.basic-config__caution, .basic-config__select-desc, .basic-config__select-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  padding: 0
}

.basic-config__select-desc {
  color: #585858;
  font-weight: 700;
  font-size: 12px
}

.basic-config__caution {
  font-weight: 400;
  font-size: 11px;
  margin-bottom: 17px
}

.basic-config__color-content-txt, .basic-config__color-title, a.basic-calc__title {
  font-weight: 700;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.basic-config__color {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 16px
}

.basic-config__color-title {
  font-size: 14px
}

.basic-calc__body, .basic-calc__horizontal, .basic-calc__vertical, .basic-config__color-content-body, .basic-config__color-content-label {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.basic-config__color-content-body {
  margin-bottom: 16px
}

.basic-config__color-content-label {
  position: relative;
  min-width: 138px;
  box-sizing: border-box;
  cursor: pointer
}

.basic-config__color-content-input {
  margin: 0;
  display: none
}

.basic-config__color-content-input:checked+.basic-config__color-content-txt::after {
  -webkit-transform: translateY(-50%) scale(1);
  transform: translateY(-50%) scale(1)
}

.basic-config__color-content-txt {
  position: relative;
  font-size: 13px;
  padding: 0 0 0 2px
}

.basic-config__color-content-txt::after, .basic-config__color-content-txt::before {
  content: "";
  display: none;
  position: absolute;
  top: 50%;
  border-radius: 100%
}

.basic-config__color-content-txt::before {
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #e3e3e3;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.basic-config__color-content-txt::after {
  left: 5px;
  width: 6px;
  height: 6px;
  background: #343434;
  -webkit-transform: translateY(-50%) scale(0);
  transform: translateY(-50%) scale(0);
  transition: transform .2s, -webkit-transform .2s
}

.basic-config__color-content-icon {
  position: relative;
  display: -ms-flexbox;
  display: flex
}

.basic-config__color-content-icon .front, .basic-config__color-content-icon .back {
  width: 20px;
  height: 21px;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.basic-config__color-content-icon .cross {
  margin: 7px;
  width: 7px;
  height: 7px;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.basic-config__color-content-icon::after {
  display: none
}

.basic-config__color-content-icon-block {
  width: 20px;
  height: 21px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin-right: 7px
}

.basic-config__color-content-icon-block:nth-child(2) {
  width: 7px
}
.basic-config__color-content-icon-block:last-child {
  width: 20px
}
.basic-config__color-content-icon-block.is-type-color {
  background-image: url(../../img/add/icon-color.png)
}

.basic-config__color-content-icon-block.is-type-mono {
  background-image: url(../../img/add/icon-mono.png)
}

.basic-config__color-content-icon-block.is-type-none {
  background-image: url(../../img/add/icon-none.png)
}

.basic-config__color-content-icon-block.is-type-haku {
  background-image: url(../../img/add/icon-hakuoshi.png)
}


a.basic-calc__title::after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.basic-calc__content {
  display: none;
  padding: 4px 34px 24px
}

.basic-calc__vertical {
  margin-right: 31px
}

.basic-calc__txt {
  color: #343434;
  margin-right: 5px;
  font-size: 12px
}

.basic-calc__unit {
  color: #343434;
  margin-left: 4px
}

.flyer-modal--price .flyer-modal__item:nth-of-type(13), .price-table__tax {
  border-bottom: none
}


.basic-calc__btn-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400;
  color: #fff;
  font-size: 11px
}

.basic-calc__btn-input {
  display: none
}

.basic-calc__result {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 27px;
  position: relative;
}

.basic-calc__result-title, .basic-calc__result-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  color: #343434;
  padding: 0
}
.price-table__info, .price-table__tax {
  background: #fafafa;
  box-sizing: border-box
}

.basic-calc__result-txt {
  font-size: 13px
}

.price-table__wrapper {
  position: relative;
  padding: 0;
  margin-bottom: 10px;
  margin-left: 5px;
}

.price-table__tax {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end
}

.price-table__info-main, .price-table__info-sub, a.price-table__tax-btn {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.price-table__info, a.price-table__tax-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  pointer-events: none
}

a.price-table__tax-btn {
  text-decoration: none;
  width: 100%;
  background: #000;
  border: 1px solid #dcdcdc;
  border-bottom: none;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  font-weight: 400;
  color: #fff;
  font-size: 14px;
  height: 37px
}

a.price-table__tax-btn.is-active {
  color: #fff;
  background: #e7190f;
  height: 47px;
  border: 1px solid #e7190f
}

.price-table__info {
  height: 78px
}

.price-table__info-main, .price-table__info-sub {
  font-weight: 700;
  color: #e72c18;
  font-size: 15px
}

.price-table__info-sub {
  color: #111;
  font-size: 11px
}

.price-table__heading {
  position: relative;
  width: 100%;
  border: 1px solid #dcdcdc;
  box-sizing: border-box;
  border-top: 2px solid #343434
}

.price-table__content-body, .price-table__heading-body, .price-table__limit-body {
  width: 100%;
  overflow: hidden
}

.price-table__content-table, .price-table__heading-table, .price-table__limit-table {
  width: 100%;
  border-spacing: 0
}

.price-table__tr {
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  box-sizing: border-box;
  padding-left: 105px
}

.price-table__th {
  z-index: 10;
  position: absolute;
  left: 0;
  font-weight: 700;
  font-size: 12px
}



.price-table__td:first-of-type:last-of-type, .price-table__td:first-of-type:nth-last-child(2), .price-table__td:first-of-type:nth-last-child(2)~.price-table__td, .price-table__td:first-of-type:nth-last-child(3), .price-table__td:first-of-type:nth-last-child(3)~.price-table__td, .price-table__td:first-of-type:nth-last-child(4), .price-table__td:first-of-type:nth-last-child(4)~.price-table__td, .price-table__td:last-of-type {
  border-right: 1px solid #dcdcdc
}

.flyer-modal--price .flyer-modal__item:nth-of-type(n+14), .flyer-modal--size .flyer-modal__item:nth-of-type(n+13) {
  border-right: none
}

.price-table__cell {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 3px;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  position: relative;
  top: 2px
}

.price-table__heading-limited {
  font-weight: 700;
  font-size: 8px;
  color: #e72c18;
  -webkit-transform: scale(.9);
  transform: scale(.9);
  letter-spacing: -1px
}

.price-table__heading-date {
  font-size: 13px;
  line-height: 1;
  margin-bottom: 1px
}

.price-table__heading-date, .price-table__heading-finish, .price-table__heading-state {
  display: block;
  font-weight: 700
}

.price-table__heading-state {
  -webkit-transform: scale(.8);
  transform: scale(.8);
  font-size: 10px;
  margin-bottom: 2px
}

.price-table__heading-finish {
  font-size: 15px;
  background: #e72c18;
  color: #fff;
  line-height: 1;
  padding: 3px;
  margin-bottom: 3px;
  max-width: 100%
}

.price-table__heading-finish.is-normal {
  background: #ececec;
  color: #343434;
  font-size: 16px;
  padding: 3px 7px;
  display: flex;
  justify-content: center;
  box-sizing: border-box
}

.price-table__heading-finish-txt {
  display: block;
  position: relative;
  -webkit-transform: scale(.6);
  transform: scale(.6)
}

.price-table__heading-caution {
  display: block;
  font-weight: 700;
  font-size: 10px
}

.price-table__controller-btn {
  z-index: 11;
  position: absolute;
  top: 50%;
  width: 23px;
  height: 53px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transition: opacity .3s;
  -webkit-transform: translate(0, -48%);
  transform: translate(0, -48%)
}

#price-table__controller-btn--left {
    left: calc(105px - 5px);
    top:92px!important;
}

#price-table__controller-btn--right {
    left: calc(100% - 38px);
    top:92px!important;
}
@media screen and (max-device-width:750px) {
    #price-table__controller-btn--right {
        left: calc(100% - 28px);
        top:92px!important;
    }
}

ul.price-table__caution {
  padding: 0;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.65;
  margin-top: 23px;
  border: 1px solid #dcdcdc;
  border-top: none;
}

.price-table__caution-item::before {
  content: "・"
}

table {
  border-collapse: separate
}

tbody, tfoot, thead {
  border: none
}

.price-table__limit-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 10px;
  line-height: 1.65;
  -webkit-transform: scale(.9);
  transform: scale(.9);
  width: 100%
}

.price-table__limit {
  position: relative;
  width: 100%;
  border: 1px solid #dcdcdc;
  box-sizing: border-box;
  border-top: transparent
}

.price-table__limit .price-table__td, .price-table__limit .price-table__th {
  height: 42px
}

a.pricetable_link {
  position: relative;
  margin: auto;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
  text-decoration: none
}

a.pricetable_link:hover {
  opacity: 1;
  text-decoration: none
}

.price-table__wrapper {
  background: #fafafa
}

.price-table__body, .price-table__heading, .price-table__limit, .price-table__th {
  background: #f7f7f7
}

.price-table__product-wrapper {
  background: #fafafa;
  height: 130px
}

.price-table__product {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 22px;
  height: 110px;
  border: 1px solid #e3e3e3;
  background: #fff;
  box-sizing: border-box
}

.price-table__product-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.price-table__product-title {
  display: block;
  position: relative;
  font-weight: 700;
  font-size: 13px;
  padding-left: 8px;
  margin-bottom: 13px
}

.price-table__product-title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  height: 11px;
  background: #e72c18
}

.price-table__product-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 18px
}

.price-table__product-item:nth-child(n+5) {
  margin-top: 7px
}

.form-campaign__desc, .form-campaign__desc-small, .form-campaign__title, .l-form dd input[type=password], .l-form dd input[type=tel], .l-form dd input[type=text], .l-form dl, .price-table__product-item-desc, .price-table__product-item-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.price-table__product-item-title {
  background: #f4f4f4;
  padding: 3px 5px;
  margin-right: 10px;
  font-size: 11px
}

.price-table__product-item-desc {
  font-size: 12px
}

.price-table__wrapper.is-fixed {
  padding-top: 0
}

.price-table__wrapper.is-fixed .price-table__product-wrapper {
  z-index: 20;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  max-width: 883px
}

.price-table__wrapper.is-fixed .price-table__tax {
  z-index: 20;
  position: -webkit-sticky;
  position: sticky;
  top: 130px;
  width: 100%;
  max-width: 883px;
  padding: 4px 0 0;
  box-sizing: border-box
}

.price-table__wrapper.is-fixed .price-table__heading {
  z-index: 30;
  position: -webkit-sticky;
  position: sticky;
  top: 179px;
  width: 100%;
  max-width: 883px
}

.price-table__wrapper.is-fixed .price-table__limit {
  z-index: 20;
  position: -webkit-sticky;
  position: sticky;
  top: 265px;
  width: 100%;
  max-width: 883px
}

@media screen and (max-width:1180px) {
  .price-table__wrapper.is-fixed .price-table__heading, .price-table__wrapper.is-fixed .price-table__limit, .price-table__wrapper.is-fixed .price-table__product-wrapper, .price-table__wrapper.is-fixed .price-table__tax {
    min-width: 714px
  }
}

@media screen and (max-width:1080px) {
  .price-table__wrapper.is-fixed .price-table__heading, .price-table__wrapper.is-fixed .price-table__limit, .price-table__wrapper.is-fixed .price-table__product-wrapper, .price-table__wrapper.is-fixed .price-table__tax {
    min-width: 714px
  }
}

.price-table__wrapper.is-fixed.is-mobile-tablet .price-table__heading, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__limit, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__product-wrapper, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__tax {
  position: sticky;
  width: 100%;
  max-width: 100%;
  min-width: 100%
}

_:-ms-lang(x)::-ms-backdrop, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__heading {
  top: auto
}

_:-ms-lang(x)::-ms-backdrop, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__limit {
  top: auto
}

.price-table__origin-price {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 17px;
  z-index: 0;
  margin: 0 0 0 -6px
}

.price-table__origin-price__num {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 9px;
  color: #918d8d;
  text-decoration: line-through
}

.price-table__origin-price__disc-rate, .price-table__origin-price__disc-rate-txt {
  font-family: "Helvetica Neue", Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  color: #e72c18;
  font-weight: 700;
  font-size: 10px
}

.price-table__origin-price__disc-rate {
  text-indent: .3em
}

.price-table__origin-price__disc-rate::after {
  position: relative;
  content: "OFF";
  font-size: 10px
}

.price-table__origin-price__disc-rate-num {
  position: relative;
  display: block
}

.price-table__origin-price__disc-rate-txt {
  position: relative;
  top: 1px;
  display: block
}

.option__item-desc, .option__item-title-txt, .option__item-type, .price-table__one-sheet-price, .price-table__result-price, a.option__item__flyer-btn {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.price-table__one-sheet-price, .price-table__result-price {
  font-weight: 700;
  color: #000
}

.price-table__result-price {
  display: block;
  margin-bottom: 2px;
  font-size: 10px
}

.price-table__result-price>.price-table__tax-excluded {
  font-size: 12px
}

.price-table__tax-included {
  font-weight: unset
}

.price-table__one-sheet-price {
  display: -ms-flexbox;
  display: flex;
  font-size: 10px;
  justify-content: center
}

.price-table__one-sheet-price__num, .price-table__one-sheet-price__txt {
  display: block
}

.price-table__content {
  position: relative;
  width: 100%;
  border: 1px solid #dcdcdc;
  border-top: none;
  box-sizing: border-box
}

.price-table__content .price-table__td, .price-table__content .price-table__th {
  border-bottom: 1px solid #dcdcdc
}

.price-table__content .price-table__td {
  background: #fff
}

.price-table__content .price-table__cell {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center
}

.option__item {
  position: relative;
  padding-bottom: 19px;
  margin-bottom: 19px;
  border-bottom: 1px solid #e3e3e3
}

.option__item-body, .option__item-left, .option__item-size, .option__item-size-label {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.option__item-left {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 30%;
  margin: 0 6% 0 0
}

.option__item-right {
  position: relative;
  width: 64%
}

.option__item-select, .option__item-textarea {
  width: 100%;
  border: 1px solid #e3e3e3;
  box-sizing: border-box
}

.option__item-type {
  -ms-flex-item-align: start;
  align-self: flex-start;
  font-weight: 700;
  font-size: 11px;
  background: #e5e5e5;
  color: #111;
  padding: 2px 8px;
  box-sizing: border-box;
  min-width: 38px
}

.option__item-type--required {
  background: #e8352d;
  color: #fff
}

.option__item-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: 8px;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.option__item-title-txt {
  font-weight: 700;
  font-size: 14px
}

a.option__item__flyer-btn {
  position: relative;
  text-decoration: none;
  color: #ea3223;
  border: 1px solid #ea3223;
  margin-left: 13px;
  min-width: 64px;
  box-sizing: border-box;
  transition: opacity .3s;
  font-weight: 700;
  padding: 0 6px 0 11px;
  font-size: 10px
}

.option__item__sewing-btn:hover, a.option__item__flyer-btn:hover, a.sewing-modal__link:hover {
  opacity: .5
}

a.option__item__flyer-btn::before {
  content: "";
  display: block;
  width: 4px;
  height: 6px;
  background-image: url(../../img/add/icon-arrow.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.option__item-desc {
  padding: 23px 25px;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.65;
  background: #fafafa;
  margin-top: 14px
}

.option__item-note, .option__item-select, .option__item-textarea, .sewing-modal__txt, .toji-modal__txt, a.sewing-modal__link {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.option__item-desc a {
  color: #000
}

.option__item-textarea {
  padding: 13px;
  outline: 0;
  -webkit-appearance: none;
  appearance: none
}

.l-form dd select, .option__item-select {
  height: 50px;
  outline: 0;
  padding-left: 17px
}

.option__item-note, .option__item-select, .option__item-textarea {
  font-size: 13px;
  color: #000
}

.option__item-note {
  display: block;
  margin-bottom: 10px
}

.option__item-note-textarea, .option__item-size-input {
  display: none
}

.option__item__sewing-btn {
  position: relative;
  top: -1px;
  display: block;
  width: 17px;
  height: 17px;
  background-image: url(../../img/add/icon-question-2.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin-left: 13px;
  transition: opacity .3s
}

.flyer-modal__item, .option__item-size-btn, .option__submit {
  transition: background-color .3s
}

.sewing-modal__body {
  display: -ms-flexbox;
  display: flex;
  padding: 22px 16px
}

.sewing-modal__thumbnail {
  width: 238px
}

.sewing-modal__content {
  padding-left: 16px;
  padding-top: 4px
}

.sewing-modal__txt, a.sewing-modal__link {
  font-size: 11px
}

.sewing-modal__txt {
  line-height: 1.6;
  padding: 0
}

a.sewing-modal__link {
  display: block;
  padding: 7px 0;
  text-decoration: none;
  background: #343434;
  color: #fff;
  width: 110px;
  text-align: center;
  margin-top: 22px;
  transition: opacity .3s
}

.toji-modal__body {
  padding: 23px 15px 21px
}

.toji-modal__body-inner {
  display: -ms-flexbox;
  display: flex
}

.toji-modal__txt {
  font-size: 15px;
  margin-bottom: 22px;
  padding: 0 0 0 5px
}

.option__item-size-txt, .option__submit-txt {
  font-size: 14px;
  font-weight: 700;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.toji-modal__thumbnail {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  margin-right: 9px
}

.option__submit {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 395px;
  height: 65px;
  border: 2px solid #e8352d;
  cursor: pointer;
  margin: 34px auto 0
}

.option__submit:hover {
  background: #e8352d
}

.cmn-overview__title::before, .option__item-size-btn::before, .option__submit-txt::after, .option__submit-txt::before {
  background-repeat: no-repeat;
  background-size: 100% auto;
  content: ""
}

.option__submit:hover .option__submit-txt {
  color: #fff
}

.option__submit:hover .option__submit-txt::before, a.clearfile-template__btn:hover .clearfile-template__btn-icon::before {
  opacity: 0
}

.option__item-size-input:checked+.option__item-size-btn::before, .option__submit:hover .option__submit-txt::after, a.clearfile-template__btn:hover .clearfile-template__btn-icon::after {
  opacity: 1
}

.option__submit-txt {
  position: relative;
  color: #e8352d
}

.flyer-modal__caution-item-red, .flyer-modal__right-txt--red {
  color: #ea3223
}

.option__submit-txt::after, .option__submit-txt::before {
  display: block;
  position: absolute;
  left: -18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 10px;
  height: 10px
}

.option__submit-txt::before, a.cart__next .cart__btn-txt::before {
  background-image: url(../../img/add/icon-arrow-2.png)
}

.option__submit-txt::after {
  background-image: url(../../img/add/icon-arrow-2-white.png);
  opacity: 0
}

.option__item-size-label {
  margin-left: 18px;
  cursor: pointer
}

.option__item-size-input:checked+.option__item-size-btn {
  background: #000
}

.option__item-size-btn {
  position: relative;
  display: block;
  width: 11px;
  height: 11px;
  border: 1px solid #000;
  box-sizing: border-box
}

.option__item-size-btn::before {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 7px;
  height: 5px;
  background-image: url(../../img/add/icon-check.png);
  opacity: 0;
  transition: opacity .3s
}

.option__item-size-txt {
  margin-left: 5px
}

.basic-calc__batsu, .option__item-size-txt-change {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 12px
}

.basic-calc__batsu {
  font-size: 14px;
  margin-right: 31px
}

.option__item-right .basic-calc__txt, .option__item-right .basic-calc__unit {
  font-size: 14px
}

.option__item-right .basic-calc__input {
  font-size: 12px
}

.flyer-modal {
  z-index: 10;
  position: absolute;
  right: 0;
  top: calc(100% - 19px);
  background: #fafafa;
  width: 680px;
  box-sizing: border-box;
  border: 2px solid #e3e3e3;
  display: none
}

@media screen and (max-device-width:750px) {
  .basic__desc-clearfile-block, .option__item-body, .option__item-left, ul.basic__fast-list {
    display: block
  }
  .basic__fast-item {
    margin-right: 0
  }
  ul.basic-config__content {
    padding: 10px
  }
  .basic-config__content-item {
    display: block;
    height: auto
  }
  .basic-config__content-item div {
    max-width: none;
  }  
  .basic-config__content-item select {
    width: 100%!important
  }
  .basic-config__title {
    min-width: 100%
  }
  .price-table__wrapper.is-fixed .price-table__heading, .price-table__wrapper.is-fixed .price-table__limit, .price-table__wrapper.is-fixed .price-table__product-wrapper, .price-table__wrapper.is-fixed .price-table__tax {
    width: 100%;
    max-width: 100%;
    min-width: 100%
  }
  .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__heading, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__limit, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__product-wrapper, .price-table__wrapper.is-fixed.is-mobile-tablet .price-table__tax {
    position: sticky;
    width: 100%;
    max-width: 100%;
    min-width: 100%
  }
  .option__item-left {
    width: 100%;
    margin: 0 0 4px
  }
  .option__item-right, .option__submit {
    width: 100%
  }
  .option__item-note, .option__item-select, .option__item-textarea {
    font-size: 16px
  }
  .flyer-modal {
    top: 60px;
    width: 100%
  }
}

.flyer-modal--price .flyer-modal__item {
  border-bottom: 1px solid #e3e3e3;
  border-right: 1px solid #e3e3e3;
  cursor: pointer
}

.flyer-modal--price .flyer-modal__item:not(.is-active):not(.is-hidden):hover {
  background: rgba(254, 226, 226, .7)
}

.flyer-modal--price .flyer-modal__item.is-active {
  cursor: auto;
  background: rgba(237, 237, 237, .45)
}

.flyer-modal--price .flyer-modal__item.is-hidden {
  cursor: auto
}

.flyer-modal--price .flyer-modal__item.is-hidden .flyer-modal__item-body {
  opacity: .3
}

.flyer-modal--price .flyer-modal__item.is-hidden .flyer-modal__right-txt--red, .megamenu a {
  color: #000
}

.flyer-modal--size {
  top: 0;
  padding: 0 25px 14px
}

.flyer-modal--size .flyer-modal__body {
  height: 650px
}

.flyer-modal--size .flyer-modal__item {
  border-top: 1px solid #e3e3e3;
  border-right: 1px solid #e3e3e3;
  padding: 10px 8px 10px 12px
}

.flyer-modal--size .flyer-modal__item:last-child, .flyer-modal--size .flyer-modal__item:nth-of-type(12) {
  border-bottom: 1px solid #e3e3e3
}

.flyer-modal--size .flyer-modal__right {
  position: relative;
  top: 2px
}

.flyer-modal__heading {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 15px;
  padding: 23px 0 20px 3px
}

.flyer-modal__body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 702px;
  box-sizing: border-box
}

.flyer-modal__item {
  width: 50%;
  height: 54px;
  padding: 10px 12px;
  box-sizing: border-box
}

.flyer-modal__item, .flyer-modal__item-body, .flyer-modal__left {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.flyer-modal__item-body {
  width: 100%;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.clearfile__content, .flyer-modal__left {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.flyer-modal__right {
  width: 84px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 11px
}

.flyer-modal__thumbnail {
  width: 29px;
  margin-right: 13px
}

.flyer-modal__thumbnail img {
  display: block;
  width: 100%;
  height: auto
}

.flyer-modal__title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 12px
}

.flyer-modal__right-txt, ul.clearfile__list {
  padding: 0
}

.flyer-modal__item-input {
  display: none
}

ul.flyer-modal__caution {
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 10px
}

.flyer-modal__caution-item {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 10px;
  margin-right: 50px;
  margin-bottom: 3px
}

.flyer-modal__close {
  position: absolute;
  display: block;
  right: 15px;
  top: 15px;
  width: 17px;
  height: 17px;
  transition: opacity .3s
}

.flyer-modal__close:hover {
  opacity: .5
}

.clearfile__thumbnail img, .flyer-modal__close img {
  width: 100%;
  height: auto
}

.cmn-overview {
  margin-bottom: 40px
}

.cmn-overview__title {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding: 0;
  margin-bottom: 13px;
  letter-spacing: 0
}

.cmn-overview__title::before {
  z-index: -1;
  position: absolute;
  left: 60px;
  top: -7px;
  width: 576px;
  height: 106px;
  background-image: url(../../img/add/icon-flyer-title.png)
}

.cmn-overview__title-txt {
  position: relative;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.8;
  margin-left: 12px;
  white-space: nowrap
}

.cmn-overview__title-txt-small {
  font-size: 15px
}

.cmn-overview__title-mark {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 95px;
  height: 95px;
  border-radius: 100%;
  background: #e72c18
}

.cmn-overview__title-mark::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 90px;
  height: 90px;
  border-radius: 100%;
  box-sizing: border-box;
  border: 1px solid #fff
}

.basic__spec-course-item:nth-last-child(-n+2), .booklet__block:last-of-type, .booklet__content-cats-item:last-of-type, .clearfile__item:last-child, .l-form dl:last-of-type, .modal__content dl:last-of-type {
  margin-bottom: 0
}

.cmn-overview__title-mark-body, .cmn-overview__title-txt-mark {
  position: relative
}

.cmn-overview__title-mark-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 15px;
  line-height: 1.2
}

.cmn-overview__title-mark-txt-max {
  line-height: 1
}

.clearfile__title-mark-circle {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: -5px;
  width: 32px;
  height: 2px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.clearfile__title-mark-circle-dot {
  width: 2px;
  height: 2px;
  background: #fff;
  display: block
}

.cmn-overview__txt, .cmn-overview__txt-caution {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  padding: 0
}

.cmn-overview__txt-caution {
  font-size: 13px;
  margin-top: 20px
}

.cmn-overview__title-txt-mark::before {
  z-index: -1;
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: #fff100
}

.clearfile-template {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  padding: 35px 0 20px
}

.clearfile-template__txt-1 {
  position: relative;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 13px;
  color: #343434
}

.clearfile-template__txt-1::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 5px;
  width: 100%;
  height: 2px;
  background: #fff21b
}

.clearfile-template__txt-1-body, .header__menu-link--is-menu span {
  position: relative
}

.clearfile-template__btn, .clearfile-template__btn-icon {
  position: relative;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.clearfile-template__btn {
  background: #fff;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 21px;
  width: 395px;
  height: 65px;
  border: 2px solid #343434;
  transition: .3s
}

.clearfile-template__btn-icon {
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 1px solid #343434;
  margin-right: 9px;
  transition: border-color .3s
}

.clearfile-template__btn-icon::after, .clearfile-template__btn-icon::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 3px;
  height: 5px;
  background-image: url(../../img/add/icon-arrow-black.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  transition: opacity .3s
}

.clearfile-template__btn-icon::after {
  background-image: url(../../img/add/icon-arrow-white.png);
  opacity: 0
}

a.clearfile-template__btn {
  text-decoration: none;
  color: #343434
}

a.clearfile-template__btn:hover {
  text-decoration: none;
  opacity: 1;
  background: #343434;
  color: #fff
}

a.clearfile-template__btn:hover .clearfile-template__btn-icon {
  border: 1px solid #fff
}

.clearfile-template__txt-2 {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: #343434
}

.clearfile__block {
  background-image: url(../../img/add/flyer-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 30px 20px 20px
}

.clearfile__block-title {
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 30px
}

.clearfile__block-title-main, .clearfile__block-title-sub {
  position: relative;
  display: block;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.clearfile__block-title-sub {
  margin-bottom: 13px;
  font-size: 16px
}

.clearfile__block-title-sub::after, .clearfile__block-title-sub::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 18px;
  height: 14px;
  background-image: url(../../img/add/icon-flyer-concept.png);
  background-repeat: no-repeat;
  background-size: 100% auto
}

.clearfile__block-title-sub::before {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -28px
}

.clearfile__block-title-sub::after {
  -webkit-transform: translateY(-50%) scaleX(-1);
  transform: translateY(-50%) scaleX(-1);
  right: -26px
}

.booklet__content-title::before, a.clearfile__link::before {
  -webkit-transform: translateY(-50%);
  top: 50%;
  left: 0;
  content: ""
}

.clearfile__block-title-main {
  left: 13px;
  font-size: 23px
}

.clearfile__block-title-red {
  color: #e72c18
}

.clearfile__block-title-red strong {
  font-size: 33px
}

.clearfile__item {
  position: relative;
  background: #fff;
  padding: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 14px
}

.clearfile__thumbnail {
  margin: 0 28px 0 0;
  width: 237px
}

.clearfile__content-title, .clearfile__content-title-tag {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.clearfile__content-title {
  padding: 0;
  margin-bottom: 13px
}

.clearfile__content-title-tag {
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  font-weight: 700;
  font-size: 10px;
  height: 18px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  margin-right: 10px
}

.clearfile__content-title-tag, .clearfile__content-title-txt, .clearfile__content-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.clearfile__content-title-txt {
  display: block;
  font-weight: 700;
  font-size: 18px
}

.clearfile__content-txt {
  padding: 0;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 15px
}

.clearfile__content-cats {
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px
}

.clearfile__content-cats-item {
  display: block;
  border: 1px solid #e9e9e9;
  font-size: 10px;
  padding: 0 11px;
  margin-right: 4px
}

.booklet__block-title, .clearfile__balloon-txt {
  padding: 0;
  font-weight: 700;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  line-height: 1.5;
  color: #fff
}

.clearfile__content-cats-item:last-of-type {
  margin-right: 0
}

a.clearfile__link {
  position: relative;
  font-size: 12px;
  color: #000;
  text-decoration: none;
  padding-left: 20px;
  transition: opacity .3s
}

.basic__spec-desc a:hover, .l-form dd.input__address label:hover, .modal-open:hover, .modal__close:hover, a.basic__spec-pamphlet-menu-link:hover, a.booklet__content-cats-size-link:hover, a.clearfile__link:hover {
  opacity: .5
}

.clearfile__balloon, a.clearfile__link::before {
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100% auto
}

.basic__spec-title, .booklet__content-cats-title-body, .booklet__content-title, .form-campaign__title, .form-login__title, .l-form, .l-form dt, .sidebar-menu__item {
  position: relative
}

a.clearfile__link::before {
  transform: translateY(-50%);
  width: 13px;
  height: 13px
}

.clearfile__balloon {
  left: -9px;
  top: -9px;
  width: 79px;
  height: 77px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center
}

.clearfile__balloon-txt {
  text-align: center;
  font-size: 11px
}

.clearfile__balloon-txt-money, .l-form dd {
  display: block
}

.clearfile__balloon-txt-money-mark, .clearfile__balloon-txt-money-num {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 11px
}

.clearfile__balloon-txt-money-num {
  font-size: 14px
}

.clearfile__item--light .clearfile__balloon {
  background-image: url(../../img/add/icon-balloon-green.png)
}

.clearfile__item--light .clearfile__content-title-tag {
  width: 48px;
  color: #6cdfa5;
  background-image: url(../../img/add/icon-tag-green.png)
}

.clearfile__item--light .clearfile__link::before {
  background-image: url(../../img/add/icon-arrow-green.png)
}

.clearfile__item--super .clearfile__balloon {
  background-image: url(../../img/add/icon-balloon-blue.png)
}

.clearfile__item--super .clearfile__content-title-tag {
  width: 56px;
  color: #182987;
  background-image: url(../../img/add/icon-tag-blue.png)
}

.clearfile__item--super .clearfile__link::before {
  background-image: url(../../img/add/icon-arrow-blue.png)
}

.clearfile__item--premium .clearfile__balloon {
  background-image: url(../../img/add/icon-balloon-yellow.png)
}

.clearfile__item--premium .clearfile__content-title-tag {
  width: 66px;
  color: #9b7a14;
  background-image: url(../../img/add/icon-tag-yellow.png)
}

.clearfile__item--premium .clearfile__link::before {
  background-image: url(../../img/add/icon-arrow-yellow.png)
}

.booklet__block {
  margin-bottom: 46px
}

.booklet__block-title {
  margin: 0;
  border: none;
  width: 100%;
  height: 57px;
  background: #e7190f;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 18px
}

ul.booklet__list {
  padding: 20px 15px;
  margin: 0;
  background: #fafafa
}

.booklet__item {
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, .08)
}

.booklet__item:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none
}

.booklet__thumbnail {
  width: 250px;
  min-width: 250px;
  min-height: 230px
}

.booklet__thumbnail img {
  display: block;
  width: 100%;
  height: auto
}

.booklet__content {
  margin-left: 25px
}

.booklet__content-title, .booklet__content-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  color: #000
}

.booklet__content-title {
  padding-left: 15px;
  margin: 0 0 10px;
  font-weight: 700;
  font-size: 18px
}

.booklet__content-title::before {
  position: absolute;
  transform: translateY(-50%);
  width: 3px;
  height: 17px;
  background: #e72c18
}

.booklet__content-txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  padding: 0;
  margin-bottom: 20px
}

.booklet__content-cats {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column
}

.booklet__content-cats-item {
  background: #fff;
  border: 1px solid #e3e3e3;
  margin-bottom: 5px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: 42px
}

.booklet__content-cats-title, .booklet__content-cats-title-body, .form__checkbox, .l-form .input__address-body, .l-form dd label, .l-form dt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.booklet__content-cats-title {
  width: 112px;
  min-width: 112px;
  -ms-flex-pack: center;
  justify-content: center
}

.booklet__content-cats-title.icon-guide {
  width: 145px;
  min-width: 145px
}

.booklet__content-cats-title-body::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
  margin-right: 10px
}

.basic__spec-pamphlet-menu-link:nth-of-type(3n), .booklet__content-cats-size-link:last-of-type, .cart__state-subtotal-txt:last-of-type, .megamenu__list:last-of-type, .sidebar-megamenu__block:nth-of-type(3n) {
  margin-right: 0
}

.booklet__content-cats-title.icon-vertical .booklet__content-cats-title-body::before {
  width: 17px;
  height: 17px;
  background-image: url(../../img/add/icon-booklet-vertical.png)
}

.booklet__content-cats-title.icon-horizontal .booklet__content-cats-title-body::before {
  width: 25px;
  height: 14px;
  background-image: url(../../img/add/icon-booklet-horizontal.png)
}

.booklet__content-cats-title.icon-square .booklet__content-cats-title-body::before {
  width: 19px;
  height: 16px;
  background-image: url(../../img/add/icon-booklet-square.png)
}

.booklet__content-cats-title.icon-photo .booklet__content-cats-title-body::before {
  width: 22px;
  height: 15px;
  background-image: url(../../img/add/icon-booklet-photo.png)
}

.booklet__content-cats-title.icon-guide .booklet__content-cats-title-body::before {
  width: 13px;
  height: 19px;
  background-image: url(../../img/add/icon-booklet-guide.png)
}

.booklet__content-cats-title-txt {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 14px
}

.booklet__content-cats-size {
  display: -ms-flexbox;
  display: flex
}

a.booklet__content-cats-size-link {
  text-decoration: none;
  color: #000;
  transition: opacity .3s
}

.booklet__content-cats-size-link {
  position: relative;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 10px;
  padding-left: 22px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-right: 23px
}

.booklet__content-cats-size-link::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  background-repeat: no-repeat;
  background-size: 4px auto;
  background-image: url(../../img/add/icon-arrow-white.png);
  background-position: center center;
  background-color: #e72c18;
  border-radius: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.basic__spec {
  background: #fafafa;
  padding: 34px 24px 30px;
  margin-bottom: 30px
}

.basic__spec-desc, .basic__spec-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.basic__spec-title {
  margin: 0 0 20px;
  padding: 0 0 0 15px;
  font-weight: 700;
  color: #343434;
  font-size: 19px
}

.basic__spec-title::after, .basic__spec-title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 10px
}

.basic__spec-title::before {
  top: 0;
  background: #e72c18
}

.basic__spec-title::after {
  top: 10px;
  background: #ff5830
}

.basic__spec-desc {
  font-weight: 400;
  color: #000;
  font-size: 12px;
  line-height: 1.5;
  padding: 0;
  margin-top: 15px
}

.basic__spec-desc a {
  color: #000;
  transition: opacity .3s
}

.basic__spec-content {
  display: -ms-flexbox;
  display: flex;
  margin-top: 18px
}

.basic__desc-drawing--clearfile {
  padding: 28px 25px
}

.basic__spec-content-left {
  margin-right: 19px
}

.basic__spec-content-left, .basic__spec-content-right {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.basic__spec-content-thumbnail {
  width: 100%
}

.basic__spec-content-thumbnail img, .basic__spec-pamphlet-menu-thumbnail img, .modal-open img, .modal__close img {
  width: 100%;
  height: auto
}

.basic__spec-course-list+.basic__spec-content-thumbnail {
  margin-top: 46px;
  padding-bottom: 20px
}

.basic__spec-desc-red {
  color: #e72c18
}

.basic__spec-course-desc, .basic__spec-course-tag, .basic__spec-course-title, .basic__spec-pamphlet-title-main {
  color: #000;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.basic__spec-course {
  padding: 24px 24px 20px;
  background: #fff
}

.basic__spec-course-title {
  font-weight: 400;
  font-size: 14px;
  border-bottom: 2px solid #efefef;
  padding: 0 0 12px;
  margin-bottom: 14px
}

ul.basic__spec-course-list {
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 520px
}

.basic__spec-course-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 7px;
  min-width: 260px
}

@media screen and (max-device-width:750px) {
  .flyer-modal--size {
    top: 60px
  }
  .flyer-modal--size .flyer-modal__body {
    height: auto
  }
  .flyer-modal--size .flyer-modal__item {
    border-right: none
  }
  .flyer-modal__body {
    height: auto;
    display: block
  }
  .flyer-modal__item {
    width: 100%
  }
  .flyer-modal__close {
    right: 5px;
    top: 0
  }
  .basic__spec {
    padding: 24px 4% 20px
  }
  .basic__spec-course {
    padding: 12px
  }
  ul.basic__spec-course-list {
    width: 100%;
    display: block
  }
  .basic__spec-course-item {
    min-width: 100%
  }
  .basic__spec-course-item:nth-last-child(-n+2) {
    margin-bottom: 7px
  }
}

.basic__spec-course-tag {
  border: 1px solid #000;
  padding: 2px 6px;
  margin-right: 12px;
  font-weight: 700;
  font-size: 11px;
  line-height: 1
}

.basic__spec-course-desc {
  font-weight: 400;
  font-size: 12px;
  line-height: 1.5
}

.basic__spec-pamphlet {
  width: 100%;
  box-sizing: border-box;
  padding: 48px 43px 36px;
  background: #fff
}

.basic__spec-pamphlet-title {
  display: block;
  text-align: center;
  margin-bottom: 24px
}

.basic__spec-pamphlet-title-main {
  display: block;
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 10px
}

.basic__spec-pamphlet-title-main-red, .l-form .txt-red {
  color: #e72c18
}

.basic__spec-pamphlet-title-sub {
  display: block;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  color: #000;
  font-size: 13px
}

.basic__spec-pamphlet-menu {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

a.basic__spec-pamphlet-menu-link {
  display: block;
  text-decoration: none;
  transition: opacity .3s
}

.basic__spec-pamphlet-menu-link {
  margin-right: 22px;
  margin-bottom: 30px
}

.basic__spec-pamphlet-menu-link:nth-last-of-type(-n+3) {
  margin-bottom: 0
}

.basic__spec-pamphlet-menu-thumbnail {
  width: 167px;
  margin-bottom: 10px
}

.form-login__title, .l-form dd select, a.form__submit {
  width: 100%;
  box-sizing: border-box
}

.basic__spec-caution, .basic__spec-pamphlet-menu-title {
  text-align: center;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.basic__spec-pamphlet-menu-title {
  display: block;
  color: #000;
  font-size: 15px
}

.basic__spec-caution {
  color: #e72c18;
  font-size: 22px;
  line-height: 1.5;
  margin: 0 0 30px
}

.l-form {
  padding: 16px;
  margin-bottom: 17px;
  background: #fafafa
}

.l-form__body {
  padding: 28px 16px 30px;
  background: #fff
}

.l-form .txt-caution {
  display: block;
  font-size: 12px
}

.l-form .error-message {
  margin-top: 3px;
  margin-bottom: 10px
}

.cart__header-subtotal:last-of-type, .cart__item:last-of-type, .cart__option-txt:last-of-type, .cart__state-subtotal-txt:last-of-type, .delivery__history-item:last-of-type, .delivery__info-item:last-of-type, .delivery__item:last-of-type, .delivery__setting-item-sub-title:last-of-type, .delivery__setting-item:last-of-type, .megamenu-sub__item:last-of-type, .payment__info-item:last-of-type {
  margin-bottom: 0
}

.l-form .input__address input+.error-message {
  margin-left: 10px
}

.l-form .input__address-body+.txt-caution, .l-form input+.txt-caution, .l-form select+.txt-caution {
  margin-top: 10px
}

.l-form dl {
  margin-bottom: 20px;
  font-size: 14px
}

.l-form dt {
  margin-bottom: 12px;
  padding-bottom: 0
}

.l-form dt.form__login-password {
  -ms-flex-pack: justify;
  justify-content: space-between
}

.l-form dd input[type=password], .l-form dd input[type=tel], .l-form dd input[type=text] {
  font-size: 13px;
  padding: 13px 18px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e3e3e3
}

.l-form dd.input__name input[type=text] {
  width: 235px;
  margin-left: 13px
}

.l-form dd.input__address input[type=text] {
  width: 278px
}

.l-form dd input[type=checkbox], .l-form dd input[type=radio] {
  margin: 0 7px 0 0;
  min-width: 20px
}

.l-form dd.input__address label {
  height: 34px;
  background: #000;
  cursor: pointer;
  color: #fff;
  font-size: 11px;
  padding: 0 12px;
  margin-left: 17px;
  transition: opacity .3s
}

.l-form dd.input__address label input {
  position: absolute;
  opacity: 0;
  cursor: pointer
}

.l-form dd.input__name input[type=text]:first-of-type {
  margin-right: 17px
}

.l-form dd label {
  cursor: pointer;
  margin-bottom: 10px
}

.l-form dd select {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer
}

.l-form dd select.form-error {
  background-color: pink
}

.l-form dd.input__medium input, .l-form dd.input__medium select {
  width: 440px
}

.form__checkbox {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 1
}

.form__checkbox input {
  margin: 0 12px 0 0
}

.form__login-state {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 24px
}

.form__login-state+a.form__submit {
  margin-top: 21px
}

a.form__submit {
  display: block;
  text-align: center;
  border: 1px solid #e72c18;
  padding: 22px 0;
  text-decoration: none;
  margin-top: 25px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: #e72c18;
  transition: .3s
}

a.form__submit:hover {
  background: #e72c18;
  opacity: 1;
  color: #fff
}

.form-input__mail:placeholder-shown~.form__submit {
  border: 1px solid #000;
  color: #fff;
  background: #000;
  opacity: .1;
  pointer-events: none
}

.form-login__title {
  border: none;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 19px;
  padding: 0 0 0 20px;
  margin: 0 0 17px
}

.form-login__title::after, .form-login__title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 4px;
  height: 10px
}

.form-login__title::before {
  top: 0;
  background: #e72c18
}

.form-login__title::after {
  top: 10px;
  background: #ff5830
}

.header__top-link::before, .megamenu__link::before {
  background-size: 100% auto;
  background-repeat: no-repeat
}

.form-campaign {
  margin-top: 36px
}

.form-campaign__title {
  padding: 0 0 16px 24px;
  margin: 0 0 18px;
  font-size: 14px;
  border-bottom: 1px solid #e1e1e1
}

.megamenu, .modal__content {
  left: 50%;
  border: 2px solid #e3e3e3;
  box-sizing: border-box
}

.form-campaign__title::before, .form-login__modal-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: 18px;
  height: 20px;
  background-image: url(../../img/add/icon-cracker.png);
  background-repeat: no-repeat;
  background-size: 100% auto
}

.form-campaign__desc, .form-campaign__desc-small {
  display: block
}

.header__top-link:last-of-type::after, .header__top::after {
  display: none
}

.form-campaign__desc {
  margin-bottom: 15px;
  font-size: 13px
}

.form-campaign__desc-small {
  font-size: 12px
}

.modal__content {
  z-index: 100;
  background: #fafafa;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 40px;
  width: 680px;
  padding: 26px 22px 22px;
  display: none
}

.modal__content dl {
  padding: 16px 21px;
  background: #fff;
  margin-bottom: 8px
}

.modal__content dt {
  position: relative;
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
  padding: 0 0 0 8px
}

.delivery__type-item dt::before, .l-form--register dt::before, .modal__content dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  background: #e72c18
}

.modal__content dt::before {
  display: block;
  height: 13px
}

.form-login__modal-title, .header__top, .megamenu-sub__link, .modal__content dd, .modal__content dt, .payment__desc, .payment__title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif
}

.modal__content dd {
  padding: 0;
  font-weight: 400;
  font-size: 12px
}

.form-login__modal-title {
  display: block;
  position: relative;
  font-weight: 700;
  font-size: 17px;
  padding-left: 25px;
  margin-bottom: 20px
}

.form-login__modal-title::before {
  top: 0;
  width: 17px;
  height: 17px;
  background-image: url(../../img/add/icon-caution-red.png)
}

.modal-open, .modal__close {
  position: absolute;
  right: 5px;
  top: 3px;
  display: block;
  width: 17px;
  height: 17px;
  transition: opacity .3s
}

.modal__close {
  right: 15px;
  top: 15px;
  padding: 10px
}

.l-form--register dl {
  padding-bottom: 17px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f4f4f4
}

.l-form--register dt {
  position: relative;
  padding-left: 8px
}

.delivery__type-item dt::before, .l-form--register dt::before {
  height: 15px
}

.l-form--register-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 13px;
  margin-bottom: 30px
}

.form__kuroneko {
  padding: 30px 0 35px
}

.form__kuroneko-label {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 15px;
  line-height: 1;
  margin-bottom: 16px
}

.form__kuroneko-label input {
  margin: 0 10px 0 0
}

.form__kuroneko-label, .form__kuroneko-txt, .form__questionnaire, .form__required {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.form__kuroneko-txt {
  display: block;
  font-size: 12px;
  text-align: center
}

.form__questionnaire, .form__required {
  color: #fff
}

.form__required {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 38px;
  height: 21px;
  background: #e8352d;
  margin-left: 10px;
  font-size: 11px
}

.form__questionnaire {
  font-size: 16px;
  background: #343434;
  text-align: center;
  padding: 20px 0
}

.form__submit-back, .header__menu-link, .megamenu__link {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 12px
}

.form__questionnaire-body, .sidebar-megamenu__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.form__questionnaire-body label {
  margin-right: 20px
}

a.form__submit--confirm {
  width: 580px;
  margin: 40px auto 0
}

.form__submit-back {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 90px;
  height: 20px;
  margin: 23px auto 0;
  text-align: center;
  font-weight: 700;
  transition: opacity .3s
}

a.form__submit-back:hover {
  opacity: .5;
  text-decoration: underline
}

.header__menu-list {
  display: -ms-flexbox;
  display: flex;
  width: 100%
}

.header__menu-item {
  position: relative;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.header__menu-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 50px;
  background: #343434;
  font-weight: 700;
  transition: opacity .3s
}

.header__menu-link:hover {
  opacity: .9
}

.header__menu-item:hover .megamenu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible
}

.header__menu-link--is-menu span::before {
  content: "";
  position: absolute;
  right: -10px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
  width: 4px;
  height: 6px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url(../../img/add/icon-arrow-white.png)
}

a.header__menu-link {
  color: #fff;
  text-decoration: none
}

a.sidebar-menu__link, a.sidebar__link, a.sidebar__other-link {
  color: #000
}

.megamenu {
  z-index: 200;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 18px 27px 27px;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s
}

.megamenu__block {
  display: -ms-flexbox;
  display: flex;
  margin-top: 5px
}

.megamenu-sub__link, .megamenu__link {
  display: block;
  font-weight: 700;
  transition: opacity .3s
}

.megamenu__block:first-of-type {
  margin-top: 0
}

.megamenu__list {
  width: 175px;
  margin-right: 20px
}

.megamenu__item {
  border-top: 1px solid #e6e6e6
}

.megamenu__link {
  position: relative;
  padding: 12px 0 12px 19px
}

.megamenu__link:hover {
  text-decoration: none;
  opacity: .5
}

.megamenu__link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url(../../img/add/icon-arrow-red.png)
}

a.megamenu__link {
  text-decoration: none
}

.megamenu-sub__list {
  padding-left: 20px;
  margin-bottom: 10px
}

.megamenu-sub__item {
  margin-bottom: 7px
}

.megamenu-sub__link {
  font-size: 11px
}

.megamenu-sub__link:hover {
  text-decoration: underline;
  opacity: .5
}

.header__top {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-top: 1px solid #e72c18;
  padding: 15px 0 20px;
  font-weight: 400;
  font-size: 12px
}

.sidebar-megamenu__desc, .sidebar-megamenu__medium-title, .sidebar-megamenu__title-txt, .sidebar-menu__link, .sidebar__header {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.header__logo {
  width: 190px;
  padding: 0;
  margin: 0 33px 0 0
}

.header__logo img, .sidebar-megamenu__header-right img, .sidebar-menu__bnr-link img {
  display: block;
  width: 130px;
  height: auto
}

.header__logo-link, .sidebar-menu__bnr-link {
  display: block;
  transition: opacity .3s
}

.header__logo-link:hover, a.header__top-link:hover {
  opacity: .5
}

.header__top-left, .header__top-right, .sidebar-megamenu__title, .sidebar-megamenu__title-icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.header__top-right {
  padding-right: 4px
}

.header__top-link {
  position: relative;
  padding-left: 21px;
  padding-right: 17px;
  margin-right: 15px
}

.header__top-link::after, .header__top-link::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%)
}

.header__top-link::before {
  left: 0
}

.header__top-link::after {
  right: 0;
  width: 1px;
  height: 10px;
  background: #aeaeae
}

.header__top-link:last-of-type {
  padding-right: 0;
  margin-right: 0
}

a.header__top-link {
  text-decoration: none;
  transition: opacity .3s;
  color: #000
}

.header__top-link--customer::before {
  width: 13px;
  height: 9px;
  background-image: url(../../img/add/icon-customer.png)
}

.header__top-link--cart::before {
  width: 15px;
  height: 14px;
  background-image: url(../../img/add/icon-cart-red.png)
}

.header__top-link--login::before {
  width: 10px;
  height: 10px;
  background-image: url(../../img/add/icon-login.png)
}

.header__top-link--mypage::before {
  width: 12px;
  height: 12px;
  background-image: url(../../img/add/icon-mypage.png)
}

a.header__top-link--logout {
  text-decoration: underline
}

.sidebar__block {
  margin-top: 17px
}

.sidebar__header {
  display: block;
  font-size: 12px;
  padding: 9px;
  background: #343434;
  color: #fff;
  text-align: center
}

.sidebar-menu {
  width: 100%;
  border: 1px solid #eee;
  box-sizing: border-box
}

.sidebar-menu__item:nth-of-type(2n) .sidebar-menu__link {
  background: #f9f9f9
}

.sidebar-menu__link {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-size: 13px;
  line-height: 1;
  padding: 0 24px 0 0;
  transition: color .3s;
  height: 44px
}

.sidebar-menu__link::before {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 4px;
  height: 5px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url(../../img/add/icon-arrow.png)
}

a.sidebar-menu__link:hover {
  color: #e72c18;
  opacity: 1
}

.sidebar-menu__bnr-link:hover {
  opacity: .7
}

.sidebar-menu__link-icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 44px;
  height: 100%;
  margin-right: 3px
}

.sidebar-menu__link--icon-none {
  padding: 0 24px 0 17px
}

.sidebar-menu__link-txt {
  position: relative;
  top: 1px
}

.sidebar-megamenu {
  z-index: 500;
  position: absolute;
  left: 100%;
  top: 0;
  width: 640px;
  border: 2px solid #e3e3e3;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s
}

.sidebar-menu__item:hover .sidebar-megamenu {
  opacity: 1;
  pointer-events: auto;
  visibility: visible
}

.sidebar-megamenu__header {
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 22px
}

.sidebar-megamenu__header-left {
  margin-right: 35px
}

.sidebar-megamenu__header-right {
  width: 250px;
  min-width: 250px
}

.sidebar-megamenu__title {
  margin-bottom: 11px;
  height: 44px
}

.sidebar-megamenu__title-icon {
  -ms-flex-pack: center;
  justify-content: center;
  width: 30px;
  height: 100%;
  margin-right: 10px
}

.sidebar-megamenu__desc, .sidebar-megamenu__title-txt {
  font-size: 19px
}

.sidebar-megamenu__desc {
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5
}

.sidebar-megamenu__block {
  width: 195px;
  padding: 18px 10px 10px;
  box-sizing: border-box;
  background: #f9f9f9;
  margin-right: 5px
}

.sidebar-megamenu__block:nth-of-type(n+4) {
  margin-top: 5px
}

.sidebar-megamenu__medium-title {
  position: relative;
  display: block;
  font-size: 15px;
  padding-left: 11px;
  margin-bottom: 18px
}

.sidebar__link, .sidebar__other-link {
  font-size: 12px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  position: relative
}

.sidebar-megamenu__medium-title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  height: 14px;
  background: #e74973
}

.cart__footer--payment::after, .cart__header::after, .cart__state::after {
  display: none
}

.sidebar-megamenu__block-body {
  background: #fff;
  padding: 20px 10px
}

.sidebar-megamenu__block-body-inner {
  padding-bottom: 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid #f1f1f1
}

.sidebar-megamenu__block-body-inner:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none
}

.sidebar__other {
  padding: 9px;
  background: #f9f9f9
}

.sidebar__other-item {
  margin-bottom: 5px
}

.sidebar__other-link, .sidebar__other-link-icon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.sidebar__other-link {
  padding: 21px 18px 21px 10px;
  background: #fff;
  box-sizing: border-box;
  border-left: 1px solid #e72c18;
  min-height: 36px;
  transition: color .3s;
  box-shadow: 0 0 7px 1px rgba(0, 0, 0, .04)
}

.sidebar__link::before, .sidebar__other-link::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: 100% 100%
}

.sidebar__other-link::before {
  right: 10px;
  width: 5px;
  height: 7px;
  background-image: url(../../img/add/icon-arrow.png)
}

a.sidebar__other-link:hover {
  color: #e72c18;
  opacity: 1
}

.sidebar__other-link-icon {
  -ms-flex-pack: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #f9f9f9;
  border-radius: 100%
}

.sidebar__other-link-txt {
  margin-left: 6px
}

.sidebar__link-wrapper {
  padding-left: 13px
}

.sidebar__link {
  display: block;
  padding-left: 18px;
  margin-bottom: 10px;
  transition: opacity .3s
}

.sidebar__link::before {
  left: 0;
  width: 12px;
  height: 12px;
  background-image: url(../../img/add/icon-arrow-red.png)
}

a.sidebar__link:hover {
  opacity: .5
}

.cart__state {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border: 1px solid #f6ebeb;
  background: #fff9f9;
  width: 100%;
  padding: 17px 15px
}

.cart__state--footer {
  padding: 26px 19px;
  margin-top: 66px
}

.cart__state--footer .cart__state-subtotal-txt {
  font-size: 13px
}

.cart__state--footer .cart__state-total {
  font-size: 17px
}

.cart__state--delivery {
  padding: 26px 19px
}

.cart__state--delivery .cart__state-subtotal-txt {
  font-size: 13px
}

.cart__state-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.cart__state-btn, .cart__state-subtotal-txt, .cart__state-tag, .cart__state-total {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.cart__state-tag {
  position: relative;
  background: #e8352d;
  color: #fff;
  padding: 8px 9px 8px 14px;
  margin-right: 31px;
  font-size: 11px
}

.cart__state-tag::before {
  content: "";
  position: absolute;
  left: 99.9%;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17px 0 17px 11px;
  border-color: transparent transparent transparent #e8352d
}

.cart__state-subtotal-txt {
  display: block;
  font-size: 12px;
  margin-bottom: 5px
}

.cart__state-total {
  display: block;
  font-size: 15px
}

.cart__header-tag, .cart__state-btn {
  font-size: 11px;
  box-sizing: border-box
}

.cart__state-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 143px;
  height: 35px;
  background: #fff;
  border: 2px solid #e72c18;
  transition: .3s;
  margin-left: 22px
}

a.cart__state-btn {
  color: #e72c18;
  text-decoration: none
}

a.cart__state-btn:hover {
  opacity: 1;
  background: #e72c18;
  color: #fff
}

.cart__list {
  margin-top: 33px;
  margin-bottom: 50px
}

ul.cart__list {
  padding: 0
}

.cart__item {
  border: 1px solid #e8e8e8;
  border-top: 4px solid #343434;
  margin-bottom: 30px;
  padding-bottom: 33px
}

.cart__footer, .cart__invoice {
  border-top: 1px solid #f4f4f4
}

.cart__header {
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #f9f9f9;
  padding: 21px 15px 21px 10px
}

.cart__header, .cart__header-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center
}

.cart__header-block:first-of-type {
  width: 52%
}

.cart__header-tag {
  display: block;
  color: #fff;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  background: #e72c18;
  padding: 4px 13px;
  margin-right: 16px;
  min-width: 56px
}

.cart__header-type-invoice, .cart__header-type-option, .cart__header-type-title {
  display: block
}

.cart__header-type-invoice {
  font-size: 12px;
  margin-bottom: 10px
}

.cart__header-subtotal, .cart__header-type-invoice, .cart__header-type-option, .cart__header-type-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.cart__header-type-title {
  margin-bottom: 6px;
  font-size: 16px
}

.cart__header-subtotal, .cart__header-type-option {
  font-size: 11px
}

.cart__header-subtotal {
  display: block;
  font-size: 13px;
  margin-bottom: 3px
}

.cart__header-subtotal--small {
  font-size: 12px;
  text-align: right
}

.cart__content {
  padding: 0 22px
}

.cart__plan {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 12px;
  padding: 20px 0 20px 3px;
  margin-bottom: 30px;
  border-bottom: 1px solid #f4f4f4
}

.cart__invoice {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 20px;
  margin-bottom: 20px
}

.cart__invoice, .cart__invoice input, .cart__option-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 13px
}

.cart__footer-delete-btn, .cart__option-txt {
  font-size: 12px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.cart__invoice input {
  box-sizing: border-box;
  width: 440px;
  height: 50px;
  border: 1px solid #e3e3e3;
  margin-left: 22px;
  padding-left: 12px
}

.cart__option {
  background: #f9f9f9;
  padding: 30px 30px 37px
}

.cart__option-title {
  position: relative;
  display: block;
  margin-bottom: 14px;
  padding-left: 11px
}

.cart__option-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  height: 11px;
  background: #e72c18
}

.cart__option-content {
  display: -ms-flexbox;
  display: flex;
  margin-left: -5px
}

.cart__option-left {
  width: 290px
}

.cart__option-right, .delivery__history-right {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.cart__option-txt {
  display: block;
  line-height: 2
}

.cart__footer {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 19px;
  padding-top: 25px;
  padding-right: 5px
}

.cart__footer--payment {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between
}

.cart__footer-delete-btn, .cart__footer-gray-btn {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  transition: opacity .3s
}

.cart__footer-gray-btn {
  height: 27px;
  background: #343434;
  width: 124px
}

a.cart__footer-gray-btn {
  color: #fff;
  text-decoration: none
}

.cart__caution a:hover, a.cart__footer-delete-btn:hover, a.cart__footer-gray-btn:hover {
  opacity: .7
}

.cart__footer-delete-btn {
  line-height: 1;
  background: #e7e7e7;
  padding: 5px;
  width: 47px;
  min-width: 47px;
  box-sizing: border-box
}

a.cart__footer-delete-btn {
  color: #5f5f5f;
  text-decoration: none
}

.cart__footer-delete-btn-icon {
  position: relative;
  display: block;
  width: 10px;
  height: 10px;
  border: 1px solid #5f5f5f;
  box-sizing: border-box;
  margin-right: 3px
}

.cart__footer-delete-btn-icon::after, .cart__footer-delete-btn-icon::before {
  content: "";
  visibility: visible;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 9px;
  height: 1px;
  background: #5f5f5f
}

.cart__footer-delete-btn-icon::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg)
}

.cart__footer-delete-btn-icon::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg)
}

a.cart__footer-delete-btn--white {
  color: #fff
}

.cart__footer-delete-btn--white {
  background: 0 0;
  font-size: 13px;
  margin-left: 6px;
  width: 54px;
  min-width: 54px
}

.cart__footer-delete-btn--white .cart__footer-delete-btn-icon {
  border: 1px solid #fff;
  width: 12px;
  height: 12px;
  margin-right: 5px
}

.cart__footer-delete-btn--white .cart__footer-delete-btn-icon::after, .cart__footer-delete-btn--white .cart__footer-delete-btn-icon::before, .payment__list {
  background: #fff
}

.cart__caution {
  width: 540px;
  margin: 40px auto 50px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  font-size: 11px;
  line-height: 1.5
}

.cart__caution a {
  color: #3f49a0;
  transition: opacity .3s
}

.cart__btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 580px;
  height: 65px;
  transition: .3s;
  margin: 0 auto
}

.cart__btn, .cart__btn-txt {
  position: relative
}

.cart__btn-txt::after, .cart__btn-txt::before {
  content: "";
  display: block;
  position: absolute;
  left: -18px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  transition: opacity .3s
}

.cart__btn-txt::after {
  background-image: url(../../img/add/icon-arrow-2-white.png);
  opacity: 0
}

.cart__btn:hover .cart__btn-txt::before {
  opacity: 0
}

.cart__btn:hover .cart__btn-txt::after {
  opacity: 1
}

.cart__next {
  border: 2px solid #e72c18;
  font-size: 14px
}

a.cart__back, a.cart__next {
  color: #e72c18;
  text-decoration: none
}

a.cart__next:hover {
  background: #e72c18;
  color: #fff;
  opacity: 1
}

.cart__back, .cart__next, .cart__state-caution {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.cart__back {
  border: 2px solid #343434;
  margin: 27px auto 0;
  font-size: 13px
}

.cart__back .cart__btn-txt::before {
  background-image: url(../../img/add/icon-arrow-2-black.png)
}

a.cart__back {
  color: #000
}

a.cart__back:hover {
  background: #343434;
  color: #fff;
  opacity: 1
}

.delivery__add:hover, .delivery__another-btn:hover, .delivery__main-open-btn:hover {
  opacity: .7
}

.cart__state-caution {
  margin-top: 10px;
  font-size: 11px
}

.payment__body {
  padding: 20px;
  background: #fafafa
}

ul.payment__list {
  padding: 0 28px 20px
}

.payment__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  padding: 27px 0;
  border-bottom: 1px solid #f4f4f4
}

.payment__item:last-of-type {
  border-bottom: none
}

.payment__title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 172px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.4
}

.payment__title input {
  margin: 0 13px 0 0
}

.payment__desc {
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.75
}

.delivery__info-header, .delivery__info-item, .payment__back, .payment__caution, .payment__info-item, .payment__point-check, .payment__point-current, .payment__point-price, .payment__point-select {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.payment__caution a, .payment__desc a {
  color: #3f49a0;
  transition: opacity .3s;
  display: inline-block
}

.payment__caution a:hover, .payment__desc a:hover, a.payment__back:hover {
  opacity: .7;
  text-decoration: underline
}

.payment__desc-caution {
  position: relative;
  display: block;
  background: #fef7f6;
  color: #e72c18;
  padding: 8px 14px;
  font-size: 11px;
  margin-bottom: 13px
}

.payment__desc-caution::before {
  content: "";
  position: absolute;
  top: 99.9%;
  left: 26px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 9px 0;
  border-color: #fef7f6 transparent transparent
}

.payment__desc-large {
  font-size: 13px
}

.payment__desc-small {
  font-size: 11px
}

.payment__caution {
  font-size: 11px;
  padding: 30px 0;
  width: 560px;
  margin: 0 auto
}

.payment__caution.txt-center {
  text-align: center
}

.payment__back {
  display: block;
  width: 50px;
  margin: 26px auto 0;
  text-align: center;
  font-size: 12px
}

a.payment__back:hover {
  transition: opacity .3s
}

.payment__info-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-size: 11px;
  margin-bottom: 10px
}

.payment__info-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 85px;
  height: 22px;
  background: #fafafa;
  margin-right: 12px
}

.payment__agreement {
  width: 100%;
  height: 187px;
  overflow-y: scroll;
  border: 1px solid #dadada;
  padding: 20px 0;
  box-sizing: border-box;
  margin-top: 34px;
  margin-bottom: 50px
}

.payment__sheet {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 225px;
  height: 41px;
  transition: .3s;
  margin: 42px auto 0;
  background: #343434
}

.delivery__type-item select, .payment__point-select {
  background: #fff;
  outline: 0;
  box-shadow: none;
  height: 50px;
  cursor: pointer
}

a.payment__sheet {
  color: #fff;
  text-decoration: none
}

.payment__point {
  margin-top: 38px
}

.payment__point-select {
  width: 128px;
  box-sizing: border-box;
  border: 1px solid #e3e3e3;
  padding-left: 17px;
  border-radius: 0;
  font-size: 12px;
  margin-left: 30px
}

.delivery__info, .delivery__type-item input[type=text], .delivery__type-item select {
  border: 1px solid #e3e3e3;
  box-sizing: border-box
}

.payment__point-current {
  display: block;
  font-size: 15px;
  margin-bottom: 4px
}

.payment__point-price {
  display: block;
  font-size: 12px
}

.payment__point-check {
  font-size: 13px;
  cursor: pointer
}

.payment__point-check input {
  margin-right: 7px
}

.delivery__info {
  margin: 29px 0 48px
}

.delivery__info-header {
  color: #fff;
  font-size: 15px;
  background: #343434;
  text-align: center;
  padding: 18px 0
}

.delivery__info-content {
  padding: 23px
}

.delivery__info-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  font-size: 90%;
  margin-bottom: 10px
}

.delivery__item, .delivery__type-item input[type=text], .delivery__type-item select {
  font-size: 12px;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.delivery__info-title {
  display: block;
  min-width: 68px;
  padding: 5px 10px;
  background: #fafafa;
  text-align: center;
  margin-right: 16px;
  line-height: 1;
  box-sizing: border-box
}

.delivery__list {
  margin-top: 33px
}

ul.delivery__list {
  padding: 0
}

.delivery__item {
  border: 1px solid #e8e8e8;
  border-top: 4px solid #343434;
  margin-bottom: 30px;
  padding-bottom: 33px
}

.delivery__setting, .delivery__type {
  margin-bottom: 30px;
  border-bottom: 1px solid #f4f4f4
}

.delivery__type {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding-bottom: 30px
}

.delivery__type-item dt {
  position: relative;
  padding-left: 8px;
  margin-bottom: 14px
}

.delivery__type-item select {
  padding-left: 17px;
  border-radius: 0;
  width: 100%
}

.delivery__type-item input[type=text] {
  padding: 15px 10px;
  height: 100%;
  width: 75px;
  margin-right: 5px
}

.delivery__type-item input[type=checkbox] {
  margin-right: 6px
}

.delivery__type-item:first-of-type {
  width: 179px
}

.delivery__type-item:nth-of-type(2) {
  width: 206px
}

.delivery__type-item:nth-of-type(3) {
  width: 128px
}

.delivery__type-item:nth-of-type(4) {
  width: 100px
}

.delivery__type-txt {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  min-height: 50px;
  padding: 0 0 0 10px
}

.delivery__setting {
  padding-bottom: 30px
}

.delivery__setting-title {
  position: relative;
  padding-left: 8px;
  margin-bottom: 14px
}

.delivery__setting-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 2px;
  height: 15px;
  background: #e72c18
}

.delivery__setting-item {
  margin-bottom: 17px
}

.delivery__setting-item-title {
  display: block;
  margin-bottom: 17px;
  cursor: pointer
}

.delivery__setting-item-sub-title input, .delivery__setting-item-title input {
  margin-right: 8px
}

.delivery__setting-item-sub-title {
  display: block;
  margin-left: 18px;
  margin-bottom: 9px;
  cursor: pointer
}

.delivery__caution {
  display: block;
  color: #e72c18;
  margin-top: 12px
}

.delivery__type-item-remain {
  display: block;
  margin-top: 15px
}

.delivery__another {
  margin: 30px 0
}

.delivery__another-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 57px;
  background: #343434;
  box-sizing: border-box;
  padding: 0 6px 0 14px
}

.delivery__another-header::after, .js-new-adress-content {
  display: none
}

.delivery__another-header-left {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700;
  color: #fff;
  font-size: 13px
}

.delivery__another-header-right {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  min-width: 0
}

.delivery__another-btn {
  display: block;
  background: #fff;
  padding: 6px 10px;
  font-size: 11px;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  transition: opacity .3s;
  margin-right: 10px
}

.delivery__another-btn:last-of-type {
  margin-right: 0
}

.delivery__add, .delivery__history-close-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer
}

.delivery__history-close-btn {
  position: absolute;
  right: 25px;
  top: 25px;
  background: #d2d2d2;
  width: 18px;
  height: 18px
}

.delivery__history-close-btn::after, .delivery__history-close-btn::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 10px;
  height: 2px;
  background: #2d2d2d
}

.delivery__history-close-btn::before {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg)
}

.delivery__history-close-btn::after {
  visibility: visible;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg)
}

.delivery__add {
  width: 225px;
  height: 41px;
  background: #343434;
  transition: opacity .3s;
  margin: 32px auto 10px;
  color: #fff;
  text-decoration: none
}

.delivery__add--pick {
  margin: 32px auto 30px
}

.delivery__history-content {
  left: 0;
  width: 100%;
  background: #fafafa;
  border: 2px solid #e3e3e3;
  box-sizing: border-box;
  padding: 20px 20px 30px;
  max-height: 400px;
  overflow-y: scroll;
  -ms-overflow-style: -ms-autohiding-scrollbar
}

.delivery__history-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  border-bottom: 1px solid #e3e3e3;
  padding-bottom: 26px;
  margin-bottom: 25px
}

.delivery__history-item input {
  margin-right: 15px
}

.delivery__history-left {
  margin-right: 80px;
  width: 150px
}

.delivery__history-title {
  margin-bottom: 25px
}

.delivery__main {
  position: relative;
  border: 1px solid #e3e3e3;
  padding: 22px 25px 40px;
  margin-top: 40px
}

.delivery__main-open-btn, .delivery__main-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.delivery__main-title {
  display: block;
  margin-bottom: 18px
}

.delivery__main-open-btn {
  position: absolute;
  right: 20px;
  top: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 76px;
  height: 23px;
  background: #343434;
  color: #fff;
  font-size: 80%;
  cursor: pointer;
  transition: opacity .3s
}

.delivery__main-content {
  left: 0;
  top: 55px;
  width: 100%;
  background: #fafafa;
  border: 2px solid #e3e3e3;
  box-sizing: border-box
}

.delivery__taking-over {
  border: 1px solid #e3e3e3;
  padding: 28px
}

.delivery__taking-over-desc, .delivery__taking-over-title {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: 700
}

.delivery__taking-over-title {
  display: block;
  margin-bottom: 17px;
  font-size: 13px
}

.delivery__taking-over-desc {
  font-size: 12px;
  line-height: 2
}

.delivery__taking-over-desc a {
  color: #001490
}

.delivery__taking-over-caution {
  width: 550px;
  margin: 60px auto
}

.new-adress-open-btn::before {
  content: "入力欄を表示"
}

.new-adress-open-btn.is-active::before {
  content: "閉じる"
}

.bookcover__product {
  margin: 0 0 30px;
  padding: 18px 18px 0;
  background: #fafafa;
  box-sizing: border-box
}

.bookcover__product h2 {
  margin: 0 0 8px;
  padding: 0;
  font-size: 120%;
  font-weight: 700
}

.bookcover__list {
  display: flex;
  flex-wrap: wrap
}

.bookcover__list a {
  width: 49%;
  margin: 0 2% 18px 0;
  text-align: center
}

.bookcover__list a:nth-child(2n) {
  margin: 0 0 18px
}

.template_notice {
  width: 100%;
  margin: 20px 0;
  text-align: center;
  font-size: 90%
}

.banrsta_spec table, .banrsta_spec td, .banrsta_spec th {
  border-collapse: collapse;
  border: 1px solid #ececec
}

@media screen and (max-width:750px) {
  .side-nav {
    display: none
  }
  .help {
    left: 10px;
    bottom: 10px
  }
  .basic__overview {
    padding: 0 24px
  }
  .basic__overview-title-sub {
    font-size: 70%;
    margin-bottom: 5px
  }
  .basic__overview-title-main {
    margin-bottom: 5px;
    font-size: 120%
  }
  .basic__overview-txt {
    line-height: 130%;
    font-size: 80%
  }
  .basic-calc__body, .basic-calc__horizontal, .basic-calc__vertical, .l-form .input__address-body, .l-form dt {
    flex-wrap: wrap
  }
  .price-table__wrapper {
    padding: 0;
    margin-left: 0;
  }
  .l-form dd.input__address input[type=text], .l-form dd.input__medium input, .l-form dd.input__medium select, .price-table__tr, a.form__submit--confirm {
    width: 100%
  }
  .scroll__table2 {
    overflow: auto;
    white-space: nowrap
  }
  .price-table__product-wrapper {
    background: #fafafa;
    height: 130px
  }
  .price-table__product {
    margin: 0 0 14px;
    padding: 0 8px;
    height: auto
  }
  .price-table__product-item {
    margin-left: 0
  }
  .bookcover__list, .clearfile__item, .cmn-overview__title {
    display: block
  }
  .cmn-overview__title::before {
    display: none
  }
  .cmn-overview__title-txt {
    white-space: normal;
    display: block;
    margin-left: 0;
    text-align: center;
    line-height: 1.4
  }
  .cmn-overview__title-mark {
    margin: 0 auto 4px
  }
  .cmn-overview__title-txt-mark {
    display: inline-block
  }
  .clearfile-template__btn {
    width: 100%;
    font-size: 13px
  }
  .clearfile__block-title-main {
    left: 0;
    text-align: center
  }
  .clearfile__thumbnail {
    margin: 0 auto;
    width: 100%
  }
  .l-form dd.input__address label {
    width: 100%;
    height: 24px;
    margin-left: 0;
    text-align: center;
    align-items: center;
    justify-content: center
  }
  .delivery__main {
    padding: 14px
  }
  .bookcover__list a {
    width: 100%;
    margin: 0 0 18px
  }
  .flex-container {
    width: 100%!important;
    display: block!important
  }
  .search-size {
    width: 100%!important;
    padding-top: 10px!important;
    text-align: left!important
  }
}

.price-table-div {
    overflow:auto;
    width:100%;
    height:710px;
    border: 1px solid #dcdcdc;
}
.price-table-div table{
    margin: 0;
    border-spacing: 0;
    /*border-left: 1px solid #dcdcdc;*/
    width: auto;
}
.price-table-div tr {
    padding-left: 0px!important;
    box-sizing: border-box;    
    display: table-row!important;
}
.price-table-div .selected {
    background-color: RGB(255,228,228)!important;
    background-color: #ff5024!important;
    /*border: 2px solid #e7190f;*/
}
.price-table-div .selected .price-table__result-price,
.price-table-div .selected .price-table__origin-price__num {
    color: #fff;
    /*color: #000;*/
}
.price-table-div th{
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    background: rgb(247, 247, 247)!important;
    width: 105px;
    min-width: 105px;
    max-width: 105px;
    box-sizing: border-box;
    height: 83px;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 12px;
    z-index: 1;
}
.price-table-div th {
    position: sticky;
    left: 0;
}
.price-table-div tr:nth-child(1) th {
    top: 0;
}
.price-table-div tr:nth-child(2) th {
    top: 83px;
    height: 42px;
}
.price-table-div td,
.price-table__td{
    border-right: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    width: 105px;
    min-width: 105px;
    max-width: 105px;
    box-sizing: border-box;
    height: 83px;
    justify-content: center;
    align-items: center;
    display: table-cell!important;
}
.price-table__content-table tr:nth-child(odd) {
  border-bottom: 0;
  background-color: #f2f2f2
}
.price-table__content-table tr:nth-child(even) {
  border-bottom: 0;
  background-color: #fff
}
.price-table-left{
    float: left;
    width: 450px;
}
.price-table-right{
    float: right;
    width: calc(100% - 450px);
}
@media screen and (max-device-width:750px) {
    .price-table-left{
        float: none;
        width: 100%;
    }
    .price-table-right{
        float: none;
        width: 100%;
    }
}
.loader_div {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
.loader_img {
    border: 8px solid #e72c18;
    border-radius: 50%;
    border-top: 8px solid #fff;
    width: 70px;
    height: 70px;
    animation: spin 1s linear infinite;
}
.loader_p {
    color: red;
}
@keyframes spin {
    0%{
        transform: rotate(0deg);
    }
    100%{
        transform: rotate(360deg);
    }
}
.basic-calc {
    border: 1px solid #dcdcdc;
    border-top: none;
    background: #fafafa;
}
.basic-calc__input {
    width: 80px;
    padding: 7px;
    border: 1px solid #e3e3e3;
    box-sizing: border-box
}
.basic-calc__btn {
    width:80px;
    margin-left: 10px;
    margin-top: -20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 31px;
    background: #343434;
    cursor: pointer;
}
.basic-calc__result-title {
    width: 55px;
    height: 22px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 14px;
}
.basic-calc__result-txt {
    width: calc(100% - 55px);
}
.basic-calc__result-title_p {
  position: absolute;
  left: 4px;
  font-size: 11px;
}
a.basic-calc__title {
  position: relative;
  display: block;
  text-decoration: none;
  font-size: 14px;
  padding: 16px 32px;
  box-sizing: border-box;
  color: #343434
}
@media screen and (max-device-width:750px) {
    .basic-calc__input {
        width: 111px;
    }
    .basic-calc__btn {
        width: 110px;
        margin-left: 16px;
        margin-top: -16px;
    }
    .basic-calc__result-title {
        width: 65px;
        height: 24px;
    }
    .basic-calc__result-title_p {
        left: 8px;
    }
    a.basic-calc__title {
        padding: 16px 32px 16px 24px;
    }
}
.postage-txt {
    width:100%;
    text-align: right;
    margin-bottom: 10px;
    padding-right: 10px;
}
.etc_table{
    padding-bottom: 40px;
}
.etc_table_line {
    display: table;
    width: 100%;
}
.etc_table_cell {
    display: table-cell;
    border: 1px solid #eeeeee;
    font-size: 90%;
    font-weight:700;
    width:50%;
}
.dd-options {
    max-height: 300px!important;
}

#modal_due_date {
    height: 600px;
}
#modal_due_date .modal_due_date__h2 {
    margin-bottom: 10px!important;
}
#modal_due_date .modal-header p {
    font-size: small;
    width: 75%;
    margin: 0 auto 10px auto;
}
#modal_due_date .modal-body {
    margin-bottom: 20px;
}
#modal_due_date .modal-body .div-table{
    overflow-y: scroll;
    width:100%;
    border: 1px solid #e72c18;
    border-radius: 6px;
    padding: 20px;
    height: 320px;
}
#modal_due_date .modal-body div{
    clear:both;
}
#modal_due_date .modal-body input{
    width:5%;
    height:55px;
    float:left;
    margin: 0!important;
    vertical-align: middle;
}
#modal_due_date .modal-body .label_date{
    font-size: large;
    font-weight: 700;
    margin-top: 0.57em;
    width:20%;
    height:55px;
    float:left;
    vertical-align: middle;
}
#modal_due_date .modal-body .sat{
    color: blue;
}
#modal_due_date .modal-body .sun{
    color: red;
}
#modal_due_date .modal-body .label_text{
    width:70%;
    height:55px;
    float:left;
    vertical-align: middle;
}
#modal_due_date .modal-footer {
    justify-content: space-around;
    display: flex;
    flex-direction: row;
}
#modal_due_date .modal-footer button {
    width:45%;
    float: left;
    margin: 0!important;
}
@media screen and (max-device-width:750px) {
    #modal_due_date {
        width: 400px;
        min-height: 75%;
    }    
    #modal_due_date .modal-body .div-table{
        padding: 10px;
    }
    #modal_due_date .modal-body .label_date{
        width:85%;
        height: auto;
    }
    #modal_due_date .modal-body .label_text{
        margin-left: 5%;
        width:85%;
        height: auto;
    }
}
#modal_quantity {
    height: 640px;
    width: 700px;
}
#modal_quantity .modal-body {
    margin-bottom: 20px;
}
#modal_quantity .modal-body input{
    vertical-align: middle;
    margin: 0;
}
#modal_quantity .modal-body .div-header{
    width:100%;
    padding: 0;
}
#modal_quantity .modal-body .div-header a{
    display: inline-block;
    width: calc(100% / 8);
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    border: 1px solid #e7190f;
    border-bottom: none;
    border-right: none;
    background-color: #fff;
    color: #e7190f;
    height: 40px;
    padding-top: 8px;
}
#modal_quantity .modal-body .div-header a:first-child {
    border-radius: 6px 0px 0px 0px;
}
#modal_quantity .modal-body .div-header a:last-child {
    border-right: 1px solid #e7190f;
    border-radius: 0px 6px 0px 0px;
}
#modal_quantity .modal-body .div-header a:hover{
    background-color: #e7190f;
    color: #fff;
}
#modal_quantity .modal-body .div-table{
    overflow-y: scroll;
    width:100%;
    border: 1px solid #e7190f;
    border-radius: 0px 0px 6px 6px;
    padding: 20px;
    height: 370px;
}
#modal_quantity .modal-body .div-tr{
    display: table-row;
}
#modal_quantity .modal-body .div-th{
    display: table-cell;
    width:100%;
    float:left;
    background-color: #e7190f;
    color: #fff;
    font-weight: 700;
    padding-left: 10px;
}
#modal_quantity .modal-body .div-td{
    display: table-cell;
    width:20%;
    height: 35px;
    float:left;
}
#modal_quantity .modal-body .div-td:nth-child(5n+1){
    display: table-cell;
    width:20%;
    clear:both;
}
#modal_quantity .modal-footer {
    justify-content: space-around;
    display: flex;
    flex-direction: row;
}
#modal_quantity .modal-footer button {
    width:45%;
    float: left;
    margin: 0!important;
}
@media screen and (max-device-width:750px) {
    #modal_quantity {
        width: 400px;
        min-height: 75%;
    }
    #modal_quantity .modal-body .div-header a{
        width: calc(100% / 4);
        border: 1px solid #e7190f;
        border-radius: 0px 0px 0px 0px;
    }
    #modal_quantity .modal-body .div-header a:first-child {
        border-radius: 0px 0px 0px 0px;
    }
    #modal_quantity .modal-body .div-header a:last-child {
        border-right: 1px solid #e7190f;
        border-radius: 0px 0px 0px 0px;
    }
    #modal_quantity .modal-body .div-table{
        border-radius: 0px 0px 0px 0px;
        padding: 10px;
    }
    #modal_quantity .modal-body .div-td{
        display: table-cell;
        width:25%;
        float:left;
    }
    #modal_quantity .modal-body .div-td:nth-child(5n+1){
        display: table-cell;
        width:25%;
        clear:none;
    }
    .radio_label{
        margin-left: 0.2rem!important;
        margin-right: 0.2rem!important;
    }
}


@media screen and (max-width: 750px) {
    #mainContent {
        width: 98% !important;
        min-width: 98% !important;
    }
}
div[class^=sec-] {
    font-weight: 700;
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table:not(:first-child) {
        margin-top: 75px;
    }
}
@media only screen and (min-device-width: 750px) {
    div[class^=sec-]:not(:first-child) {
        margin-top: 40px;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-]:not(:first-child) {
        margin-top: 32px;
    }
}
div.sec-detail-price-table .option {
    text-align: center;
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option {
        margin-top: 38px;
    }
}
@media only screen and (max-device-width: 750px) {
    div.sec-detail-price-table .option {
        margin-top: 18px;
    }
}
div.sec-detail-price-table .option .desc1 {
    font-weight: 400;
    line-height: 1.642;
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc1 {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .option .desc1 {
    font-size: 12px;
  }
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        margin-top: 12px;
    }
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        line-height: 30px;
    }
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        margin-top: 12px;
    }
}

@media only screen and (max-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        line-height: 30px;
    }
}
@media only screen and (max-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        font-size: 12px;
    }
}
div.sec-detail-price-table .option .desc2 {
    font-weight: 500;
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 span {
        font-size: 20px;
    }
}
@media only screen and (max-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 span {
        font-size: 20px;
    }
}
div.sec-detail-price-table .option .desc2 span {
    color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        line-height: 30px;
    }
}

@media only screen and (min-device-width: 750px) {
    div.sec-detail-price-table .option .desc2 {
        font-size: 14px;
    }
}







div.sec-detail-price-table .result {
  background-color: #F5F5F5;
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result {
    width: 81.72%;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result {
    width: 91.2%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result {
    padding-top: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result {
    padding-top: 28px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result {
    padding-bottom: 42px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result {
    padding-bottom: 28px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result {
    margin-top: 40px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result {
    margin-top: 28px;
  }
}
div.sec-detail-price-table .result .title {
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result .title {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result .title {
    font-size: 16px;
  }
}
div.sec-detail-price-table .result dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl {
    width: 92.1%;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl {
    width: 88.82%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl {
    margin-top: 22px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl {
    margin-top: 18px;
  }
}
div.sec-detail-price-table .result dl dt, div.sec-detail-price-table .result dl dd {
  background-color: #fff;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl dt, div.sec-detail-price-table .result dl dd {
    padding-top: 9px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl dt, div.sec-detail-price-table .result dl dd {
    padding-top: 9px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl dt, div.sec-detail-price-table .result dl dd {
    padding-bottom: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl dt, div.sec-detail-price-table .result dl dd {
    padding-bottom: 8px;
  }
}
div.sec-detail-price-table .result dl dt {
  font-weight: 700;
  text-align: center;
  margin: 0;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl dt {
    width: calc((100% - 15px) / 3 * 0.3859);
  }
  div.sec-detail-price-table .result dl dt:not(:nth-of-type(3n+1)) {
    margin-left: 3px;
  }
  div.sec-detail-price-table .result dl dt:nth-of-type(n+4) {
    margin-top: 3px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl dt {
    width: 34.82%;
  }
  div.sec-detail-price-table .result dl dt:nth-of-type(n+2) {
    margin-top: 3px;
  }
}
div.sec-detail-price-table .result dl dd {
  font-weight: 600;
  color: #e7190f;
  margin: 0;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .result dl dd {
    width: calc((100% - 15px) / 3 * 0.614);
    padding-left: 19px;
    padding-right: 19px;
    margin-left: 3px;
  }
  div.sec-detail-price-table .result dl dd:nth-of-type(n+4) {
    margin-top: 3px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .result dl dd {
    width: calc(65.18% - 3px);
    padding-left: 19px;
    padding-right: 19px;
    margin-left: 3px;
  }
  div.sec-detail-price-table .result dl dd:nth-of-type(n+2) {
    margin-top: 3px;
  }
}





div.sec-detail-price-table h3 {
  position: relative;
  margin: 0 auto;
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3 {
    width: 88.82%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table h3 {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3 {
    font-size: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table h3 {
    padding-left: 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3 {
    padding-left: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table h3 {
    margin-top: 50px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3 {
    margin-top: 40px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table h3 {
    margin-bottom: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3 {
    margin-bottom: 11px;
  }
}
div.sec-detail-price-table h3::before {
  content: "";
  height: 100%;
  background-color: #e7190f;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table h3::before {
    width: 6px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table h3::before {
    width: 4px;
  }
}

div.sec-detail-price-table > .text {
  font-weight: 500;
  line-height: 1.875;
  margin: 0 auto;
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table > .text {
    width: 88.82%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table > .text {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table > .text {
    font-size: 16px;
  }
}
div.sec-detail-price-table .flow {
  margin: 0 auto;
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow {
    width: 88.82%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow {
    margin-top: 42px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow {
    margin-top: 40px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li:not(.first-child) {
    margin-top: 51px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li:not(.first-child) {
    margin-top: 40px;
  }
}
div.sec-detail-price-table .flow > li h4 {
  font-weight: 700;
  border-bottom: 1px solid #e7190f;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    font-size: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    padding-bottom: 8px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    padding-bottom: 10px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    margin-bottom: 17px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li h4 {
    margin-bottom: 19px;
  }
}
div.sec-detail-price-table .flow > li h4 .color {
  color: #e7190f;
}
div.sec-detail-price-table .flow > li .desc, div.sec-detail-price-table .flow > li figure {
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .desc, div.sec-detail-price-table .flow > li figure {
    width: 83.54%;
  }
}
div.sec-detail-price-table .flow > li .desc {
  font-weight: 500;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .desc {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .desc {
    font-size: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li figure {
    margin-top: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li figure {
    margin-top: 18px;
  }
}
div.sec-detail-price-table .flow > li .bg {
  background-color: #F5F5F5;
  position: relative;
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    width: 81.72%;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    padding-top: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    padding-top: 24px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    padding-bottom: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    padding-bottom: 25px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    margin-top: 43px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg {
    margin-top: 40px;
  }
}
div.sec-detail-price-table .flow > li .bg::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 26.5px 30px 26.5px;
  border-color: transparent transparent #F5F5F5 transparent;
  display: block;
  position: absolute;
  bottom: calc(100% - 4px);
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg::before {
    border-width: 0 26.5px 30px 26.5px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg::before {
    border-width: 0 15px 13px 15px;
  }
}
div.sec-detail-price-table .flow > li .bg .text1 {
  font-weight: 700;
  text-align: center;
  color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text1 {
    font-size: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text1 {
    font-size: 16px;
  }
}
div.sec-detail-price-table .flow > li .bg .text2 {
  line-height: 1.875;
  font-weight: 500;
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text2 {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text2 {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text2 {
    margin-top: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  div.sec-detail-price-table .flow > li .bg .text2 {
    margin-top: 10px;
  }
}







div[class^=sec-] h2 {
    font-weight: 700;
    border-bottom: 1px solid #e7190f;
}
@media only screen and (min-device-width: 750px) {
    div[class^=sec-] h2 {
        margin-bottom: 40px;
    }
}
@media only screen and (min-device-width: 750px) {
    div[class^=sec-] h2 {
        padding-bottom: 5px;
    }
}
@media only screen and (min-device-width: 750px) {
    div[class^=sec-] h2 {
        font-size: 24px;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-] h2 {
        margin-bottom: 32px;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-] h2 {
        padding-bottom: 10px;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-] h2 {
        border-width: 2px;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-] h2 {
        font-size: 16px;
    }
}
div[class^=sec-] h2 span {
    color: #e7190f;
}
div[class^=sec-] .contents {
    margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
    div[class^=sec-] .contents {
        width: 81.72%;
    }
}
@media only screen and (max-device-width: 750px) {
    div[class^=sec-] .contents {
        width: 94.72%;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .articleList {
        gap: 54px 24px;
    }
}
.contents .articleList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
@media only screen and (max-device-width: 750px) {
    .contents .articleList {
        gap: 20px 16px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .articleList > li {
        width: calc((100% - 72px) / 4);
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .articleList > li {
        width: calc((100% - 16px) / 2);
    }
}
.contents .articleList > li a {
    font-weight: 500;
    line-height: 1.785;
    color: #000;
}
@media only screen and (min-device-width: 750px) {
    .contents .articleList > li a {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .articleList > li a {
        font-size: 12px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .articleList > li .text {
        margin-top: 10px;
    }
    .contents .articleList > li img {
        object-fit: cover;
        width: 223px;
        height: 174px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .articleList > li .text {
        margin-top: 8px;
    }
    .contents .articleList > li img {
        object-fit: cover;
        width: 166px;
        height: 130px;
    }
}
.contents .viewMore:not(:first-child) {
    margin-top: 21px;
}
.contents .viewMore {
    text-align: right;
}
.contents .viewMore a {
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
    color: #e7190f;
}




@media only screen and (max-device-width: 750px) {
    .contents .stepList {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 16px;
    }
}
.contents .stepList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li:not(:first-child) {
        padding-left: 10px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li:not(:last-child) {
        padding-right: 10px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li {
        width: 25%;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .stepList > li {
        width: calc((100% - 16px) / 2);
    }
}
.contents .stepList > li .num {
    font-size: 18px;
    text-align: center;
    color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li:not(:last-child) figure {
        position: relative;
    }
}
.contents .stepList > li figure {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 11px;
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li figure img {
        width: 100px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .stepList > li figure img {
        width: 80px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li:not(:last-child) figure::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7.5px 0 7.5px 15px;
        border-color: transparent transparent transparent #e7190f;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 100%;
        margin: auto;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li .text1 {
        margin-top: 9px;
    }
}

@media only screen and (min-device-width: 750px) {
    .contents .stepList > li .text1 {
        font-size: 15px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .stepList > li .text1 {
        margin-top: 8px;
    }
}

@media only screen and (max-device-width: 750px) {
    .contents .stepList > li .text1 {
        font-size: 14px;
    }
}
.contents .stepList > li .text1 {
    text-align: center;
}
@media only screen and (min-device-width: 750px) {
    .contents .stepList > li .text2 {
        margin-top: 11px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .stepList > li .text2 {
        margin-top: 6px;
    }
}
.contents .stepList > li .text2 {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.785;
}
.contents .pane.center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media only screen and (min-device-width: 750px) {
    .contents .pane:not(:first-child) {
        margin-top: 34px;
    }
}
.contents .pane {
    background-color: #F5F5F5;
}
@media only screen and (min-device-width: 750px) {
    .contents .pane {
        padding: 28px 48px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .pane:not(:first-child) {
        margin-top: 20px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .pane {
        padding: 21px 24px 30px;
    }
}
.contents .pane .head {
    text-align: center;
}
@media only screen and (min-device-width: 750px) {
    .contents .pane .head {
        margin-bottom: 27px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .pane .head {
        font-size: 20px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .pane .head:not(:first-child) {
        margin-top: 16px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .pane .head {
        margin-bottom: 20px;
    }
}

@media only screen and (max-device-width: 750px) {
    .contents .pane .head {
        font-size: 14px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .pane .head:not(:first-child) {
        margin-top: 35px;
    }
}
.contents p {
    font-weight: 500;
    line-height: 1.875;
}
@media only screen and (min-device-width: 750px) {
    .contents p {
        font-size: 16px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents p {
        font-size: 14px;
    }
}


.contents .buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
@media only screen and (min-device-width: 750px) {
    .contents .buttons {
        gap: 20px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .buttons {
        gap: 16px;
    }
}
.contents .buttons > li {
    position: relative;
}
@media only screen and (min-device-width: 750px) {
    .contents .buttons > li {
        width: calc((100% - 60px) / 4);
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .buttons > li {
        width: calc((100% - 16px) / 2);
    }
}
.contents .buttons > li a {
    color: #000;
    text-align: center;
    border: 1px solid #e7190f;
    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;
}
@media only screen and (min-device-width: 750px) {
    .contents .buttons > li a {
        border-radius: 10px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .buttons > li a {
        font-size: 16px;
    }
}
@media only screen and (min-device-width: 750px) {
    .contents .buttons > li a {
        height: 60px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .buttons > li a {
        border-radius: 5px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .buttons > li a {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
    .contents .buttons > li a {
        height: 52px;
    }
}






.sec-flow .links {
    margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links {
        width: 349px;
    }
}
.sec-flow .links > li:not(:first-child) {
    margin-top: 17px;
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a {
        border-radius: 10px;
    }
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a {
        font-size: 16px;
    }
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a {
        height: 67px;
    }
}
.sec-flow .links > li a {
    width: 100%;
    font-weight: 700;
    color: #000;
    background-color: #fff;
    border: 1px solid #CCCCCC;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 24px;
}
@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a {
        padding: 0 11px;
    }
}

@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a {
        border-radius: 5px;
    }
}
@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a {
        height: 37px;
    }
}
.sec-flow .links > li a > span {
    display: inline-block;
    position: relative;
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a > span {
        padding-left: 21px;
    }
}
@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a > span {
        padding-left: 18px;
    }
}






@media only screen and (max-device-width: 750px) {
    .sec-flow .links > li a > span::before {
        font-size: 15px;
    }
}
@media only screen and (min-device-width: 750px) {
    .sec-flow .links > li a > span::before {
        font-size: 17px;
    }
}




@media only screen and (min-device-width: 750px) {
    .sec-flow dl {
        margin-bottom: 27px;
    }
}
@media only screen and (min-device-width: 750px) {
    .sec-flow dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
;
    }
}

@media only screen and (min-device-width: 750px) {
    .sec-flow dl {
        font-size: 16px;
    }
}
.sec-flow dl dt {
    margin: 0;
}
@media only screen and (min-device-width: 750px) {
    .sec-flow dl dd {
        margin-left: 20px;
    }
}

.sec-flow dl dd {
    font-weight: 500;
    color: #e7190f;
}
@media only screen and (max-device-width: 750px) {
    .sec-flow dl {
        margin-bottom: 10px;
    }
}

@media only screen and (max-device-width: 750px) {
    .sec-flow dl {
        text-align: center;
    }
}
@media only screen and (max-device-width: 750px) {
    .sec-flow dl {
        font-size: 14px;
    }
}
@media only screen and (max-device-width: 750px) {
    .sec-flow dl dd {
        margin-top: 5px;
    }
}






@font-face {
  font-family: "icomoon";
  src: url("../../fonts/icomoon.eot?k7z45d");
  src: url("../../fonts/icomoon.eot?k7z45d#iefix") format("embedded-opentype"), url("../../fonts/icomoon.ttf?k7z45d") format("truetype"), url("../../fonts/icomoon.woff?k7z45d") format("woff"), url("../../fonts/icomoon.svg?k7z45d#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-icon_circle_arrow:before {
  content: "\e900";
  color: #e7190f;
}

.icon-icon_circle_arrow2:before {
  content: "\e901";
  color: #fff;
}

.icon-icon_circle_minus:before {
  content: "\e902";
}

.icon-icon_circle_plus:before {
  content: "\e903";
}

@media only screen and (min-device-width: 750px) {
  br.sp {
    display: none;
  }
}
@media only screen and (max-device-width: 750px) {
  br.pc {
    display: none;
  }
}

@media only screen and (min-device-width: 750px) {
  img.sp {
    display: none;
  }
}
@media only screen and (max-device-width: 750px) {
  img.pc {
    display: none;
  }
}

body.no-aside .breadcrumbs {
  left: 0;
}
body.no-aside #mainContent {
  width: 100%;
}

@media only screen and (max-device-width: 750px) {
  #content1 .products__wrap > section.wideBgSp::before {
    content: "";
    width: 100vw;
    height: 100%;
    background-color: #F5F5F5;
    display: block;
    position: absolute;
    top: 0;
    left: -3vw;
    z-index: -1;
  }
}

section[class^=sec-] {
  font-weight: 700;
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-]:not(:first-child) {
    margin-top: 40px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-]:not(:first-child) {
    margin-top: 32px;
  }
}
section[class^=sec-]:last-child {
  margin-bottom: 73px;
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-]:last-child {
    margin-bottom: 73px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-]:last-child {
    margin-bottom: 22px;
  }
}
section[class^=sec-] h2 {
  font-weight: 700;
  border-bottom: 1px solid #e7190f;
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-] h2 {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-] h2 {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-] h2 {
    border-width: 2px;
  }
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-] h2 {
    padding-bottom: 5px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-] h2 {
    padding-bottom: 10px;
  }
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-] h2 {
    margin-bottom: 40px;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-] h2 {
    margin-bottom: 32px;
  }
}
section[class^=sec-] h2 span {
  color: #e7190f;
}
section[class^=sec-] .contents {
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  section[class^=sec-] .contents {
    width: 81.72%;
  }
}
@media only screen and (max-device-width: 750px) {
  section[class^=sec-] .contents {
    width: 94.72%;
  }
}
section[class^=sec-] .contents.wide {
  width: 94.51%;
}
section[class^=sec-] .contents.full {
  width: 100%;
}

.contents p {
  font-weight: 500;
  line-height: 1.875;
}
@media only screen and (min-device-width: 750px) {
  .contents p {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents p {
    font-size: 14px;
  }
}
.contents .itemList > li:not(:first-child) {
  margin-top: 40px;
}
.contents .itemList > li h3 {
  margin-bottom: 20px;
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li h3 {
    font-size: 22px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li h3 {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li h3 {
    text-align: center;
  }
}
.contents .itemList > li h3 span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #F4FF53));
  background: -webkit-linear-gradient(transparent 70%, #F4FF53 70%);
  background: linear-gradient(transparent 70%, #F4FF53 70%);
}
.contents .itemList > li .desc {
  font-size: 16px;
  font-weight: 500;
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .desc {
    text-align: center;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .desc {
    margin-bottom: 40px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .desc {
    margin-bottom: 28px;
  }
}
.contents .itemList > li .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items {
    gap: 26px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items {
    gap: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items {
    margin-top: 30px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items {
    margin-top: 28px;
  }
}
.contents .itemList > li .items > li {
  text-align: center;
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items > li {
    width: calc((100% - 78px) / 4);
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items > li {
    width: calc((100% - 16px) / 2);
  }
}
.contents .itemList > li .items > li figure {
  border: 1px solid #CCCCCC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.contents .itemList > li .items > li figure img {
  width: 100%;
}
.contents .itemList > li .items > li .title {
  margin-top: 10px;
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items > li .title {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items > li .title {
    font-size: 14px;
  }
}
.contents .itemList > li .items > li .price {
  color: #000;
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items > li .price {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items > li .price {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .itemList > li .items > li .price .unit {
    font-size: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .itemList > li .items > li .price .unit {
    font-size: 12px;
  }
}
.contents .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons {
    gap: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons {
    gap: 16px;
  }
}
.contents .buttons > li {
  position: relative;
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li {
    width: calc((100% - 60px) / 4);
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li {
    width: calc((100% - 16px) / 2);
  }
}
.contents .buttons > li a {
  color: #000;
  text-align: center;
  border: 1px solid #e7190f;
  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;
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li a {
    height: 60px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li a {
    height: 52px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li a {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li a {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li a {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li a {
    border-radius: 5px;
  }
}
.contents .buttons > li input[type=radio] {
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  z-index: -99999;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
}
.contents .buttons > li input[type=radio] + label {
  color: #000;
  text-align: center;
  border: 1px solid #e7190f;
  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;
  font-weight: 700;
  margin: 0;
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    height: 60px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    height: 52px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .buttons > li input[type=radio] + label {
    border-radius: 5px;
  }
}
.contents .buttons > li input[type=radio]:checked + label {
  color: #fff;
  background-color: #e7190f;
}
.contents .buttons > li .text span {
  display: block;
}
.contents .buttons > li .text .small {
  font-size: 12px;
}
.contents table {
  background: none;
}
@media only screen and (max-device-width: 750px) {
  .contents table {
    font-size: 12px;
  }
}
.contents table tbody {
  background: none;
}
.contents table.no-border th {
  min-width: 3.5em;
  vertical-align: top;
}
.contents .pane {
  background-color: #F5F5F5;
}
@media only screen and (min-device-width: 750px) {
  .contents .pane {
    padding: 28px 48px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane {
    padding: 21px 24px 30px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .pane:not(:first-child) {
    margin-top: 34px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane:not(:first-child) {
    margin-top: 20px;
  }
}
.contents .pane.center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-device-width: 750px) {
  .contents .pane .accordion {
    padding-left: 27px;
    padding-right: 27px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane .accordion .control {
    font-size: 12px;
  }
}
.contents .pane .head {
  text-align: center;
}
@media only screen and (min-device-width: 750px) {
  .contents .pane .head {
    font-size: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane .head {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .pane .head {
    margin-bottom: 27px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane .head {
    margin-bottom: 20px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .pane .head:not(:first-child) {
    margin-top: 35px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .pane .head:not(:first-child) {
    margin-top: 16px;
  }
}
.contents .accordion {
  background: none;
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion ul > li:not(:first-child) {
    margin-top: 27px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion ul > li:not(:first-child) {
    margin-top: 16px;
  }
}
.contents .accordion .control {
  background-color: #fff;
  border: 1px solid #CCCCCC;
  position: relative;
  cursor: pointer;
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control {
    padding: 12px 57px 13px 17px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control {
    padding: 6px 17px 7px;
  }
}
.contents .accordion .control span {
  background-color: #000;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control span {
    width: 22px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control span {
    width: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control span {
    height: 22px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control span {
    height: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control span {
    right: 23px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control span {
    right: 9px;
  }
}
.contents .accordion .control span::before, .contents .accordion .control span::after {
  content: "";
  height: 2px;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .control span::before, .contents .accordion .control span::after {
    width: 12px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .control span::before, .contents .accordion .control span::after {
    width: 8px;
  }
}
.contents .accordion .control span::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.contents .accordion .control.center {
  text-align: center;
}
.contents .accordion .control.open span::after {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}
.contents .accordion .target {
  height: 0;
  -webkit-transition: height 0.3s;
  transition: height 0.3s;
  overflow: hidden;
}
.contents .accordion .target .targetInner {
  font-weight: 500;
  line-height: 1.875;
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .target .targetInner {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .target .targetInner {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .accordion .target .targetInner {
    padding: 27px 4px 0;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .accordion .target .targetInner {
    padding: 15px 0 0;
  }
}
.contents .viewMore {
  text-align: right;
}
.contents .viewMore:not(:first-child) {
  margin-top: 21px;
}
.contents .viewMore a {
  font-size: 14px;
  text-decoration: underline;
  color: #e7190f;
}
.contents .stepList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .stepList > li {
    width: 25%;
  }
  .contents .stepList > li:not(:last-child) {
    padding-right: 10px;
  }
  .contents .stepList > li:not(:first-child) {
    padding-left: 10px;
  }
  .contents .stepList > li:not(:last-child) figure {
    position: relative;
  }
  .contents .stepList > li:not(:last-child) figure::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 15px;
    border-color: transparent transparent transparent #e7190f;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    margin: auto;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList > li {
    width: calc((100% - 16px) / 2);
  }
}
.contents .stepList > li .num {
  font-size: 18px;
  text-align: center;
  color: #e7190f;
}
.contents .stepList > li figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 11px;
}
@media only screen and (min-device-width: 750px) {
  .contents .stepList > li figure img {
    width: 100px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList > li figure img {
    width: 80px;
  }
}
.contents .stepList > li .text1 {
  text-align: center;
}
@media only screen and (min-device-width: 750px) {
  .contents .stepList > li .text1 {
    font-size: 15px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList > li .text1 {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .stepList > li .text1 {
    margin-top: 9px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList > li .text1 {
    margin-top: 8px;
  }
}
.contents .stepList > li .text2 {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.785;
}
@media only screen and (min-device-width: 750px) {
  .contents .stepList > li .text2 {
    margin-top: 11px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .stepList > li .text2 {
    margin-top: 6px;
  }
}
.contents .articleList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-device-width: 750px) {
  .contents .articleList {
    gap: 54px 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .articleList {
    gap: 20px 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .articleList > li {
    width: calc((100% - 72px) / 4);
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .articleList > li {
    width: calc((100% - 16px) / 2);
  }
}
.contents .articleList > li a {
  font-weight: 500;
  line-height: 1.785;
  color: #000;
}
@media only screen and (min-device-width: 750px) {
  .contents .articleList > li a {
    font-size: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .articleList > li a {
    font-size: 12px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .articleList > li .text {
    margin-top: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .articleList > li .text {
    margin-top: 8px;
  }
}
.contents select {
  background: none;
  background-color: #fff;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
}
.contents select::-ms-expand {
  display: none;
}
.contents .selectWrap {
  position: relative;
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap {
    width: 484px;
  }
}
.contents .selectWrap select {
  height: auto;
  font-weight: 700;
  color: #000;
  border: 1px solid #e7190f;
  display: block;
  margin: 0;
  cursor: pointer;
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap select {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap select {
    font-size: 12px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap select {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap select {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap select {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap select {
    padding: 17px 42px 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap select {
    padding: 12px 20px 15px;
  }
}
.contents .selectWrap::before {
  content: "\e901";
  font-family: "icomoon";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap::before {
    width: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap::before {
    width: 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap::before {
    height: 19px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap::before {
    height: 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap::before {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .contents .selectWrap::before {
    right: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .contents .selectWrap::before {
    right: 20px;
  }
}

[data-target]:not([data-state=on]) {
  width: 0;
  height: 0;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0;
  margin: 0;
  z-index: -99999;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
}

.sec-filter {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1000;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .pane {
    padding: 21px 23px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .pane {
    padding: 17px 0;
  }
}
.sec-filter .contents ul.case {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case {
    gap: 12px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case {
    gap: 10px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li {
    width: calc((100% - 24px) / 3);
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li {
    width: calc((100% - 10px) / 2);
  }
}
.sec-filter .contents ul.case > li a {
  width: 100%;
  font-weight: 700;
  color: #000;
  background-color: #fff;
  border: 1px solid #CCCCCC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    height: 67px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    height: 37px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    padding: 0 11px;
  }
}
.sec-filter .contents ul.case > li a > span {
  display: inline-block;
  position: relative;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a > span {
    padding-left: 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a > span {
    padding-left: 18px;
  }
}
sec-filter .contents ul.case > li a > span::before {
  content: "\e900";
  font-family: "icomoon";
  font-weight: 400;
  color: #e7190f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a > span::before {
    font-size: 17px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a > span::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents ul.case > li a {
    font-size: 14px;
  }
}
.sec-filter .contents .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link {
    margin-top: 13px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link {
    margin-top: 11px;
  }
}
.sec-filter .contents .link a {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a {
    min-width: 438px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a {
    max-width: 213px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a {
    font-size: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a {
    padding: 13px 0 19px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a {
    padding: 6px 18px 8px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a span {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a span {
    font-size: 16px;
  }
}
.sec-filter .contents .link a::before {
  content: "\e901";
  font-family: "icomoon";
  font-weight: 400;
  color: #fff;
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a::before {
    font-size: 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-filter .contents .link a::before {
    margin-right: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-filter .contents .link a::before {
    margin-right: 5px;
  }
}

.sec-flow .links {
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links {
    width: 349px;
  }
}
.sec-flow .links > li:not(:first-child) {
  margin-top: 17px;
}
.sec-flow .links > li a {
  width: 100%;
  font-weight: 700;
  color: #000;
  background-color: #fff;
  border: 1px solid #CCCCCC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 24px;
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a {
    height: 67px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a {
    height: 37px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a {
    padding: 0 11px;
  }
}
.sec-flow .links > li a > span {
  display: inline-block;
  position: relative;
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a > span {
    padding-left: 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a > span {
    padding-left: 18px;
  }
}
.sec-flow .links > li a > span span {
  color: #e7190f;
}
.sec-flow .links > li a > span::before {
  content: "\e900";
  font-family: "icomoon";
  font-weight: 400;
  color: #e7190f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a > span::before {
    font-size: 17px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow .links > li a > span::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow .links > li a {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
.sec-flow .links > li a span::before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
@media only screen and (min-device-width: 750px) {
  .sec-flow dl {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow dl {
    font-size: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow dl {
    text-align: center;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-flow dl {
    margin-bottom: 27px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow dl {
    margin-bottom: 10px;
  }
}
.sec-flow dl dt {
  margin: 0;
}
.sec-flow dl dd {
  font-weight: 500;
  color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  .sec-flow dl dd {
    margin-left: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-flow dl dd {
    margin-top: 5px;
  }
}

@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li:not(:first-child) {
    margin-top: 35px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li:not(:first-child) {
    margin-top: 19px;
  }
}
.sec-voices .voiceList > li .call {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .call figure {
    width: 84px;
  }
  .sec-voices .voiceList > li .call .text {
    width: calc(100% - 84px - 26px);
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .call figure {
    width: 57px;
  }
  .sec-voices .voiceList > li .call .text {
    width: calc(100% - 57px - 20px);
  }
}
.sec-voices .voiceList > li .text {
  font-weight: 500px;
  line-height: 1.562;
  border: 1px solid #6F6F6F;
  border-radius: 10px;
  position: relative;
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    margin-left: 26px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    margin-left: 20px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    padding: 24px 21px 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .text {
    padding: 18px 18px 21px;
  }
}
.sec-voices .voiceList > li .text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 9px 17px 9px 0;
  border-color: transparent #6F6F6F transparent transparent;
  translate: -100% -50%;
}
.sec-voices .voiceList > li .text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 7.9px 14.9px 7.9px 0;
  border-color: transparent #fff transparent transparent;
  translate: -100% -50%;
}
.sec-voices .voiceList > li .from {
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    font-size: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    font-size: 12px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-left: 110px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    text-align: right;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    margin-top: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-voices .voiceList > li .from {
    margin-top: 9px;
  }
}

.sec-rakuraku-size .contents .selectWrap select option .size {
  color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .selectWrap select option .size {
    font-size: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .selectWrap select option .size {
    font-size: 16px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .selectWrap select option .size {
    margin-right: 11px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents figure {
    margin-top: 23px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents figure {
    margin-top: 16px;
  }
}
.sec-rakuraku-size .contents .link2 {
  font-weight: 700;
  color: #000;
  border: 1px solid #e7190f;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    width: 484px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    padding: 15px 24px 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    padding: 13px 22px 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    margin-top: 32px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 {
    margin-top: 15px;
  }
}
.sec-rakuraku-size .contents .link2 .head {
  text-align: center;
  color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 .head {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 .head {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 .head {
    margin-right: 11px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 .head {
    margin-bottom: 4px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2 .head {
    margin-bottom: 6px;
  }
}
.sec-rakuraku-size .contents .link2::before {
  content: "\e901";
  font-family: "icomoon";
  color: #e7190f;
  display: block;
  position: absolute;
  right: 10px;
  margin: auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    width: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    width: 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    height: 19px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    height: 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    bottom: 13px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    bottom: 17px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    right: 14px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-size .contents .link2::before {
    right: 13px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-size .contents .buttons,
  .sec-rakuraku-type .contents .buttons,
  .sec-rakuraku-thickness .contents .buttons {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-type .contents .buttons > li {
    width: 175px;
  }
}
.sec-rakuraku-type .contents .selectWrap {
  margin: 0 auto;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-type .contents .selectWrap {
    margin-top: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-type .contents .selectWrap {
    margin-top: 15px;
  }
}
.sec-rakuraku-type .contents .selectWrap select {
  font-weight: 700;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-type .contents .selectWrap select {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-type .contents .selectWrap select {
    font-size: 16px;
  }
}
.sec-rakuraku-color .contents .buttons {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.sec-rakuraku-color .contents .buttons > li input[type=radio] + label {
  height: auto;
  min-height: 60px;
  text-align: center;
  position: relative;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .buttons > li input[type=radio] + label {
    padding: 9px 0 45px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .buttons > li input[type=radio] + label {
    padding: 11px 0 49px;
  }
}
.sec-rakuraku-color .contents .buttons > li input[type=radio] + label img {
  width: 58px;
  position: absolute;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .buttons > li input[type=radio] + label img {
    bottom: 15px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .buttons > li input[type=radio] + label img {
    bottom: 17px;
  }
}
.sec-rakuraku-color .contents .info {
  background-color: #F5F5F5;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info {
    padding: 27px 200px 40px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info {
    padding: 18px 40px 27px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info {
    margin-top: 57px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info {
    margin-top: 40px;
  }
}
.sec-rakuraku-color .contents .info .head {
  font-weight: 700;
  text-align: center;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info .head {
    font-size: 18px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info .head {
    font-size: 16px;
  }
}
.sec-rakuraku-color .contents .info table {
  border-collapse: separate;
  border-spacing: 3px;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info table {
    font-size: 16px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info table {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info table {
    margin-top: 22px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info table {
    margin-top: 15px;
  }
}
.sec-rakuraku-color .contents .info table tr th, .sec-rakuraku-color .contents .info table tr td {
  background-color: #fff;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info table tr th, .sec-rakuraku-color .contents .info table tr td {
    padding: 9px 20px 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info table tr th, .sec-rakuraku-color .contents .info table tr td {
    padding: 7px 17px 8px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .info table tr th {
    width: 88px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .info table tr th {
    width: 80px;
  }
}
.sec-rakuraku-color .contents .info table tr td {
  font-weight: 400;
}
.sec-rakuraku-color .contents .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link {
    margin-top: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link {
    margin-top: 16px;
  }
}
.sec-rakuraku-color .contents .link a {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #e7190f;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    min-width: 438px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    max-width: 213px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    font-size: 20px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    font-size: 14px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    border-radius: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    border-radius: 5px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    padding: 13px 0 19px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a {
    padding: 6px 18px 8px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a span {
    font-size: 24px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a span {
    font-size: 16px;
  }
}
.sec-rakuraku-color .contents .link a::before {
  content: "\e901";
  font-family: "icomoon";
  font-weight: 400;
  color: #fff;
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a::before {
    font-size: 21px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a::before {
    font-size: 15px;
  }
}
@media only screen and (min-device-width: 750px) {
  .sec-rakuraku-color .contents .link a::before {
    margin-right: 10px;
  }
}
@media only screen and (max-device-width: 750px) {
  .sec-rakuraku-color .contents .link a::before {
    margin-right: 5px;
  }
}