.keyvisual {
  background-image: url("../../assets/images/buy/keyvisual.png");
  height: 100px;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}

@media (max-width: 768px) {
  .keyvisual {
    background-image: url("../../assets/images/buy/keyvisual_sm.png");
    height: 200px
  }
}

.keyvisual-text {
  line-height: 1.5;
  letter-spacing: 1.6px;
  font-style: normal;
  font-stretch: normal;
  vertical-align: bottom
}

@media (min-width: 768px) {
  .keyvisual-text {
    font-size: 28px;
    margin-left: 8.49194vw;
    padding-top: 25px
  }
}

@media (max-width: 768px) {
  .keyvisual-text {
    font-size: 28px;
    padding-top: 62px;
    margin: 0 9px 0 9px
  }
}

.buy-info {
  left: 0;
  right: 0;
  top: -102px;
  width: 81.991vw;
  border-radius: 0.1rem
}

@media (min-width: 768px) {
  .buy-info {
    z-index: 5
  }
}

@media (max-width: 768px) {
  .buy-info {
    margin-bottom: -112px
  }
}

.sp-card-img {
  position: absolute;
  top: -5rem;
  left: 0;
  right: 0
}

.content-width {
  width: 1039px
}

@media (max-width: 768px) {
  .content-width {
    width: 100%
  }
}

.content-height {
  height: 224px
}

.content-padding {
  padding-top: 22px;
  padding-bottom: 22px
}

.amazon-link {
  background-image: url("../../assets/images/common/amazon.png");
  height: 37px;
  width: 128px;
  background-repeat: no-repeat;
  background-size: contain;
  display: block
}

.kadokawa-link {
  background-image: url("../../assets/images/common/kadokawa.png");
  height: 37px;
  width: 128px;
  background-repeat: no-repeat;
  background-size: contain;
  display: block
}

.rakuten-link {
  background-image: url("../../assets/images/common/rakuten.png");
  height: 37px;
  width: 128px;
  background-repeat: no-repeat;
  background-size: contain;
  display: block
}

.amazon-link-b {
  background-image: url("../../img/direct/amazon.png");
  height: 80px;
  width: 145px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block
}

.kadokawa-link-b {
  background-image: url("../../img/direct/kadokawa.png");
  height: 80px;
  width: 145px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block
}

.rakuten-link-b {
  background-image: url("../../img/direct/rakuten.png");
  height: 80px;
  width: 145px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block
}

.yahoo-link-b {
  background-image: url("../../img/direct/yahoo.png");
  height: 80px;
  width: 145px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block
}

@media (min-width: 768px) {
  .section-two {
    position: relative;
  }
}

.section-two {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  background-color: #FFFFFF
}

.section-two .title {
  padding-top: 50px
}

@media (max-width: 768px) {
  .section-two .title {
    padding-top: 3rem
  }
}

.section-two-content {
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
}

@media (max-width: 768px) {
  .section-two-content {
    width: 90%
  }
}

@media (min-width: 768px) {
  .section-three {
    padding-top: 30px
  }
}

@media (max-width: 768px) {
  .section-three {
    width: 100%;
    background-color: #FFF;
    padding-bottom: 48px
  }
}

.section-three-content {
  width: 740px
}

@media (max-width: 768px) {
  .section-three-content {
    width: 100%
  }
}

.section-four {
  width: 100%;
  height: 240px;
  margin: 0 auto;
  text-align: center;
}

@media (max-width: 768px) {
  .section-four {
    height: 342px;
    padding-top: 46px
  }
}

.section-four-content {
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .section-four-content {
    padding-top: 0;
    width: 90%
  }
}

.section-four-btn {
  margin-left: auto;
  margin-right: auto;
}

.section-five {
  width: 100%;
  margin: 0 auto;
/*  text-align: center;*/
  background-color: #FFFFFF;
  max-width: 1040px;
}
/*
@media (min-width: 768px) {
  .section-five {
    height: 240px
  }
}

@media (max-width: 768px) {
  .section-five {
    padding-bottom: 48px
  }
}
*/
.section-five-content {
  max-width: 1040px;
  margin: 0 auto;
}

.section-five-margin {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .section-five-margin {
    margin-left: 0
  }
}

.section-five-btn {
  margin-left: auto;
  margin-right: auto;
  width: auto;
}

.section-aoshin {
  height: 200px;
  text-align: center;
}

@media (max-width: 768px) {
  .section-aoshin {
    height: 342px;
    padding-top: 46px
  }
}

.section-aoshin-content {
  padding-top: 18px
}

@media (max-width: 768px) {
  .section-aoshin-content {
    padding-top: 0;
    width: 90%;
    margin: 0 auto;
  }
}

.section-six {
  max-width: 1040px;
  margin: 0 auto;
}

@media (max-width: 768px)
{
	.section-six {
    height: auto;
	}
}

.section-six-title {
}

.section-six-content {
  padding-top: 52px;
}

.section-seven {
  max-width: 1040px;
  margin: 0 auto;
}

@media (max-width: 768px)
{
	.section-seven {
    height: auto;
	}
}

.section-seven-content {
  padding-top: 52px;
  padding-bottom: 52px;
}

.section-eight {
  max-width: 1040px;
  margin: 0 auto;
}

@media (max-width: 768px)
{
	.section-eight {
    height: auto;
	}
}

.section-eight-content {
  padding-top: 52px;
}

.section-eight-btn {
  display: block;
  margin-top: 20px;
  margin-left: auto;
  width: auto;
}

.buy-info-shadow {
  box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.16);
  background-color: #ffffff
}

@media (min-width: 768px) {
  .buy-info-content-width {
    width: 77.295vw
  }
}

@media (max-width: 768px) {
  .buy-info-content-width {
    padding: 0 20px;
  }
}

@media (max-width: 768px) {
  .product {
    padding-top: 32px
  }
}

.product-title {
  padding: 0
}

@media (min-width: 768px) {
  .product-supplement {
    margin-top: 60px
  }
}

@media (max-width: 768px) {
  .product-supplement {
    margin-top: 42px
  }
}

.pt-24 {
  padding-top: 24px
}

.pt-48 {
  padding-top: 48px
}

.pb-12 {
  padding-bottom: 12px
}

.pb-18 {
  padding-bottom: 18px
}

.pb-24 {
  padding-bottom: 24px
}

.pb-48 {
  padding-bottom: 48px
}

.pl-20 {
  padding-left: 20px
}

.pr-20 {
  padding-right: 20px
}

.card-footer {
  padding: 0rem 1.25rem
}

@media (min-width: 768px) {
  .comment-text {
    margin-top: 54px;
    padding-bottom: 50px
  }
}

@media (max-width: 768px) {
  .comment-text {
    margin-top: 42px;
    padding-bottom: 48px
  }
}

@media (min-width: 768px) {
  .comment-text-two {
    margin-top: 24px;
    padding-bottom: 56px
  }
}

@media (max-width: 768px) {
  .comment-text-two {
    margin-top: 8px
  }
}

.w-200px {
  width: 200px !important
}

@media (max-width: 768px) {
  .sp-margin-auto {
    margin: auto
  }
}

@media (max-width: 768px) {
  .bg-pc-gray-sp-white {
    background-color: #FFFFFF
  }
}

.h-54px {
  height: 54px
}

.section-divider {
  height: 28px;
  width: 100%;
}

/* -------------------------------------------------------
utility
------------------------------------------------------- */
.pc-none{
  display: none;
}

.screen-reader-text{
  position: absolute;
  overflow: hidden;
  width:1px;
}

.font-small{
  font-size:10px;
  text-align: right;
  margin-top:8px;
}

.breadcrumb{
  background-color: transparent;
  margin-left: 9.7vw;
  padding:25px 0 0;
  font-family:sans-serif;
}

.breadcrumb-list{
  font-size: 13px;
  margin-right:10px;
}

.breadcrumb-list a{
  color: #333;
}

.breadcrumb-list .-select{
  color:#F6AB00;
}

.breadcrumb-list:not(:last-child)::after{
  content: ">";
  color: #333;
  margin-left:10px;
}

/* ======================================================
4.0 Responsive
====================================================== */
@media(max-width:768px){
  .pc-none{
    display: block;
  }

  .mb-none{
    display: none;
  }

  .wrap{
    width:95%;
    overflow: hidden;
    padding:48px 0;
  }

  .breadcrumb{
    width:100%;
    height:40px;
    background-color: #E6E6E6;
    margin-left: 0;
    border-radius: 0;
    padding:10px 8px;
    display: block;
  }

  .breadcrumb-list{
    font-size: 13px;
    margin-right:10px;
    display: inline-block;
  }

  .breadcrumb-list a{
    color: #4D5052;
    font-size: 15px;
    font-weight:bold;
  }

  .breadcrumb-list.-home{
    /* width:50%; */
    text-align: left;
    float: left;
  }

  .breadcrumb-list.-select{
    text-align: right;
    color:#F6AB00;
    font-size: 15px;
    float: right;
  }
}

/* ======================================================
new contents
====================================================== */
h2 {
  margin-top: 50px;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
}

.main-title{
  width: 100%;
  margin: 0;
  padding: 0;
}

.middle-title{
  width: 90%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 768px) {
  .middle-title {
    width: 77.295vw
  }
}

.middle-title h3{
  width: 100%;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
/*  margin-bottom: 50px; */
  color:#FFFFFF;
  line-height: 1.5em;
  background-color: #F6AB00;
  border-radius: 10px;
}

.recommend-wrap {
  max-width: 1040px;
  margin: 0 auto;
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
}

.recommend-wrap dl {
  width: 50%;
  margin: 0;
  padding: 2%;
  background: #F8F8F7;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: block;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  position: relative;
}

.recommend-wrap-supply dl {
  width: 100%;
  margin: 0;
  padding: 2%;
  background: #F8F8F7;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  position: relative;
}

.recommend-wrap dl+dl {
/*  margin-left: 1%; */
}

.recommend-wrap .block{
  width: 70%;
  height: 150px;
  margin: 0 auto;
  padding: 2%;
  text-align: center;
  font-size: 16px;
  background-color: #FFFFFF;
  line-height: 1.5em;
  border-radius: 20px;
}

.recommend-wrap .block img {
  width: 30%;
}

.recommend-wrap .block .txt {
  top: 1em;
  position: relative;
}

.triangle {
  background: #21ADDC;
  height: 40px;
  width: 150px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  margin: 0 auto;
}

.recommend-wrap-supply img {
  width: 100%;
}

@media(max-width:768px){
  .recommend-wrap {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .recommend-wrap dl {
    width: 90%;
    padding: 5%;
    margin: 0 auto;
  }

  .recommend-wrap-supply {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .recommend-wrap-supply dl {
    width: 90%;
    padding: 5%;
    margin: 0 auto;
  }

  .recommend-wrap dl+dl {
/*
    margin-left: 0;
	margin-top: 50px;
*/
    margin: 0 auto;
  }
}

.btn{
  height:32px !important;
  max-width: 100%;
}

.card-body{
  padding:0 !important;
  width:375px
}
@media (max-width: 768px) {
  .card-body {
    width:100%
  }
}
@media (max-width: 1320px) {
  .card-body {
    max-width: 100%;
  }
}

.card-parts-text {
  margin-top: 20px;
  display: grid;
  min-height: 2.8em;
}
.card-parts-text .parts-align {
  width: 100%;
  align-self: center;
}

.table-wrap02{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 0 0 0;
}
.table-wrap02 table{
  width: 100%;
  border: 1px solid #999;
}

.table-wrap02 tbody{
  width: 100%;
}

.table-wrap02 tr{
  width: 100%;
}

.table-wrap02 tr+tr{
  border-top:1px solid #999;
}

.table-wrap02 td{
  width: 25%;
  text-align: left;
  padding: 20px;
  font-size: 14px;
  font-weight: bold;
  background: #f8f8f7;
  background-clip:padding-box;
}

.table-wrap02 td+td{
  width: 75%;
  background: none;
  border-left: 1px solid #999;
  font-weight: normal;
  position: relative;
}

.table-wrap02 td .navi {
  position: absolute;
  right: 0;
}

.table-wrap02 td a {
  font-weight: bold;
  color: #21ADDC;
}

#ln-compare {
  padding-top: 80px;
  margin-top: -80px;
}

.inline-content-inner {
  width: 100%;
  padding: 25px;
  background: #fff;
  margin: 0 auto;
}
.inline-content-inner ul{
  display: block;
}

.inline-content-inner li{
  display:flex;
  align-items: center;
  justify-content: center;
  list-style: none;
}
.btn-compare{
  width: 70%;
  height: 46px !important;
  margin: 20px auto;
  display: block;
  font-weight: 700;
  background-color: #F6AB00;
  color: #fff;
  font-size: 24px;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .btn-compare {
    width: 80%;
    font-size: 14px;
    line-height: 1.2;
  }
}
