@charset "UTF-8";

.free_main {
  flex: 1;
  margin: 2.4rem 0 8rem;
}
.headingInr h2 {
  font-size: clamp(20px, 12.759px + 2.069vw, 26px);
  text-align: center;
  margin: 0;
  padding: 0 0 1.25em;
}
.contentsInr {
  padding: 0 4vw;
}
@media screen and (min-width: 640px) {
  .free_main {
    margin: 0 0 15rem;
  }
  .headingInr h2 {
    padding: 2.25em 0;
  }
  .contentsInr {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 2.4rem;
  }
}


/*faq*/
.faqBox dt {
  font-weight: 500;
  padding: 8px 15px;
  background-color: #938d87;
  position: relative;
  color: #fff;
  border-radius: 8px;
  padding-left: 2.7em;
}
.faqBox dt:before {
  content: "Q.";
  font-size: 1.35em;
  position: absolute;
  left: 15px;
  top: 8px;
  line-height: 1;
}
.faqBox dd {
  margin: 8px 0 0 0;
  padding: 0 16px;
  line-height: 2;
}
.faqBox dd + dt {
  margin-top: 3rem;
}

/*guide*/
#guide {
  background-color: #fff9f8;
  padding-bottom: 8rem;
  margin-top: 0;
  padding-top: 3em;
}
.contsBox:not(:first-child) {
  margin-top: 80px;
}
.contsBox a {
  text-decoration: underline;
  text-underline-offset: .2em;
}
.sellInfoBox + .sellInfoBox {
  margin-top: 2.5em;
}
.sellInfoBox h4 {
  margin: 0 0 1em;
}
.sellInfoBox {
  margin-top: 32px;
}
.sellInfoBox p {
  margin: 0 0 1em;
  line-height: 2;
}
@media screen and (min-width: 640px) {
  #guide {
    padding-bottom: 15rem;
    padding-top: 0;
  }
  .contsBox:not(:first-child) {
    margin-top: 8rem;
  }
}
@media screen and (min-width: 961px) {
  .sellInfoBox {
    padding-left: 32px;
    margin-top: 48px;
  }
}

/*happy*/
@media screen and (min-width: 801px) {
  section {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 961px) {
  section {
    max-width: 100%;
  }
}
section .pageTitle {
  margin: 0 auto 20px;
  height: 120px;
  padding: 0 12px;
  overflow-y: hidden;
  position: relative;
  z-index: 40;
  max-width: 1462px;
}
@media screen and (min-width: 961px) {
  section .pageTitle {
    width: 100%;
    margin: 0 auto 40px;
    padding-left: 0;
  }
}
section .pageTitle h2 {
  font-size: clamp(16px, 12.379px + 1.034vw, 19px);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0px;
  transform: translateY(100px);
  transition: 1s;
  margin: 0;
}
section .pageTitle h2 span {
  display: inline-block;
  transform: rotate(135deg) scale(0);
  transition: all 1s;
}

@media screen and (min-width: 961px) {
  section .pageTitle h2 span {
    margin-right: 0px;
  }
}

section .pageTitle h2 span.wordEnd {
  margin-right: 12px;
}

@media screen and (min-width: 961px) {
  section .pageTitle h2 span.wordEnd {
    margin-right: 20px;
  }
}

section .pageTitle h2 strong {
  display: block;
  font-size: clamp(20px, 12.759px + 2.069vw, 26px);
  font-weight: 700;
  letter-spacing: 2px;
  transform: translateY(200px);
  transition: 1s;
  line-height: 1.5;
  margin-top: .5em;
}

section .pageTitle.comein {
  height: auto;
}

section .pageTitle.comein h2 {
  transform: translateY(0px);
}

section .pageTitle.comein h2 span {
  transform: rotate(0deg) scale(1);
}

section .pageTitle.comein h2 strong {
  transform: translateY(-8px);
}
section .pageTitle.comein {
  height: auto;
}
section .pageTitle.comein h2 {
  transform: translateY(0px);
}

section .pageTitle.comein h2 span {
  transform: rotate(0deg) scale(1);
}
section .pageTitle.comein h2 strong {
  transform: translateY(-8px);
}
.catePage .pageTitle {
  width: 100%;
  margin-top: 72px;
}
@media screen and (min-width: 961px) {
  .catePage .pageTitle {
    margin-top: 24px;
    text-align: center;
  }
}
.catePage.about .firstCate .cateImg img {
  object-position: 41% center;
}
@media screen and (min-width: 961px) {
  .catePage.about .firstCate .cateImg img {
    object-position: center;
  }
}
.catePage .cateSection {
  margin-top: 150px;
}
.catePage .cateSection.firstCate {
  margin-top: 0;
}
.catePage .cateSection.firstCate .cateImg {
  width: 100%;
  padding: 0;
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.firstCate .cateImg {
    height: auto !important;
  }
}
.catePage .cateSection.firstCate .cateImg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.firstCate .cateImg img {
    object-fit: fill;
    width: 100%;
    height: auto !important;
  }
}
.catePage .cateSection.firstCate .cateImg.cateImgNofull {
  width: 100%;
  height: auto !important;
  margin-top: 80px;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.firstCate .cateImg.cateImgNofull {
    padding-left: 108px;
    padding-right: 108px;
  }
}

.catePage .cateSection.firstCate .cateImg.cateImgNofull img {
  object-fit: fill;
  height: auto;
}

.catePage .cateSection .cateImg {
  width: 100%;
  padding: 0 20px;
}

.catePage .cateSection .cateImg img {
  width: 100%;
}

.catePage .cateSection .cateText {
  margin-top: 30px;
  line-height: 2.5;
  margin-bottom: 80px;
  letter-spacing: 1px;
  padding: 0 min(4vw,2.4rem);
}

@media screen and (min-width: 961px) {
  .catePage .cateSection .cateText {
    max-width: 1000px;
    margin: 40px auto 160px;
    font-size: 20px;
    letter-spacing: 1.5px;
    line-height: 1.75;
  }
}

.catePage .cateSection .cateText span {
  display: block;
  margin-bottom: 24px;
}

@media screen and (min-width: 961px) {
  .catePage .cateSection .cateText span {
    margin-bottom: 80px;
  }
}
.catePage .cateSection .cateList .fs-pt-list a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  display: block;
  position: relative;
}
.catePage .cateSection .cateList img {
  vertical-align: middle;
}
@media screen and (min-width: 961px) {
  .catePage .cateSection .cateList {
    padding: 0 24px;
    max-width: 1248px;
    margin: 0 auto;
  }
}

.catePage .cateSection .cateList ul {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  margin: 0;
}

@media screen and (min-width: 961px) {
  .catePage .cateSection .cateList ul {
    gap: 3.2rem;
  }
}

.catePage .cateSection .cateList ul li p {
  display: none;
}

@media screen and (min-width: 961px) {
  .catePage .cateSection .cateList ul li p {
    display: block;
    text-align: center;
    margin: 12px 0 0;
    font-size: 14px;
    height: 40px;
    line-height: 1.5;
  }
}

@media screen and (min-width: 1441px) {
  .catePage .cateSection .cateList ul li p {
    font-size: 16px;
  }
}

.catePage .cateSection button {
  margin-top: 40px;
}

@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate .cateImg {
    width: 50%;
    float: left;
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate .pageTitle {
    padding-top: 100px;
  }
}

@media screen and (min-width: 1441px) {
  .catePage .cateSection.subCate .pageTitle {
    padding-top: 160px;
  }
}

@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate .pageTitle.pageTitleFl {
    width: calc(50% - 100px - 40px);
    margin-left: 100px;
    margin-right: 40px;
    text-align: left;
    float: right;
  }
}
@media screen and (min-width: 1441px) {
  .catePage .cateSection.subCate .pageTitle.pageTitleFl {
    width: calc(50% - 192px - 100px);
    margin-left: 192px;
    margin-right: 100px;
  }
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate .cateText {
    width: calc(50% - 100px - 40px);
    margin-left: 100px;
    margin-right: 40px;
    float: right;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1441px) {
  .catePage .cateSection.subCate .cateText {
    width: calc(50% - 192px - 100px);
    margin-left: 192px;
    margin-right: 100px;
  }
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate .cateText::after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
  }
}
@media screen and (min-width: 961px) {
  .catePage .cateSection.subCate.subCateR .cateImg {
    float: right;
  }
}
@media screen and (min-width: 961px) {

  .catePage .cateSection.subCate.subCateR .pageTitle.pageTitleFl,
  .catePage .cateSection.subCate.subCateR .cateText {
    float: left;
    margin-right: 100px;
    margin-left: 40px;
  }
}
@media screen and (min-width: 1441px) {
  .catePage .cateSection.subCate.subCateR .pageTitle.pageTitleFl,
  .catePage .cateSection.subCate.subCateR .cateText {
    margin-right: 192px;
    margin-left: 100px;
  }
}
@media screen and (max-width: 639px) {
  .happy {
    margin-top: -2.4rem;
  }
}
.btnB {
  width: 214px;
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border: 1px solid #707070;
  color: #707070;
  text-align: center;
  color: #938d87;
  font-size: clamp(14px, 12.793px + 0.345vw, 15px);
  border-radius: 107px;
  letter-spacing: 2px;
  transition: 0.5s;
  margin-top: 45px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
}
.btnB a {
  display: block;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.cateSection .pageTitle {
  max-width: 1000px;
  padding: 0 min(4vw,2.4rem);
}
.cateSection .cateList {
  padding: 0 min(4vw,2.4rem);
}
.cateSection .fs-pt-list--noMarker > li + li {
  margin-top: 0 !important;
}