@charset "utf-8";

/*privacy poricy
-----------------------------------*/
.privacyPoricy{}

/* for PC*/
@media print, screen and (min-width:768px) {
  .privacyPoricy{}
}

/*member agreement
-----------------------------------*/
.memberAgreement{}

/* for PC*/
@media print, screen and (min-width:768px) {
  .memberAgreement{}
}


/*返品ポリシー
-----------------------------------*/
.fs-body-about-returnPolicy .ttlEn.type03{
  padding-bottom: 0;
}
.returnPolicy{}

/* for PC*/
@media print, screen and (min-width:768px) {
  .returnPolicy{}
}



/*ログイン
-----------------------------------*/
.fs-body-login .ttlEn.type03{
  padding-bottom: 0;
}

/* for PC*/
@media print, screen and (min-width:768px) {
}





/*-----------------------------------
free page
-----------------------------------*/

/*about
-----------------------------------*/
.about {
  position: relative;
}
.about .fs-c-heading.fs-c-heading--page {
  position: relative;
  aspect-ratio: 15/14;/*375 / 350*/
  font-weight: 400;
  color: #fff;
  z-index: 0;
}

.about .fs-c-heading.fs-c-heading--page .ttlEn {
    position: absolute;
    left: 0;
    /*top: calc((100/350)*100%);*/
  top: 50%;
    width: 100%;
    margin: 0;
    padding: 0;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  line-height: 1.1;
}

.about .fs-c-heading.fs-c-heading--page .fJa {
    /*position: absolute;
    left: 0;
    bottom: calc((140/350)*100%);
    width: 100%;*/
    font-size: 1.6rem;
}

.about .aboutMV{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  z-index: -1;
}
.about .aboutTxt{
  margin: 48px 0 0 0;
}
.about .aboutTxt h2{
  margin: 0 0 24px 0;
  font-size: 2.0rem;
  text-align: left;
}
.about .aboutTxt p{
  margin: 0 0 24px 0;
  font-size: 1.3rem;
  text-align: left;
  line-height: 2.0;
}


/* for PC*/
@media print,
screen and (min-width:768px) {
  .about .fs-c-heading.fs-c-heading--page {
    aspect-ratio: 58/27;/*1160/540*/
  }

  .about .fs-c-heading.fs-c-heading--page .ttlEn {
      /*top: calc((112/400)*100%);*/
      margin: 0;
      padding: 0;
  }

  .about .fs-c-heading.fs-c-heading--page .fJa {
    /*bottom: calc((155/400)*100%);*/
      font-size: 1.8rem;
  }
  
  .about .aboutMV{}
  .about .aboutTxt{
    margin: 80px 0 0 0;
  }
  .about .aboutTxt h2{
    margin: 0 0 32px 0;
    font-size: 2.4rem;
  }
  .about .aboutTxt p{
    margin: 0 0 32px 0;
  }
}


/*contact
-----------------------------------*/
.contact{}
.contact form{
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}
.contact .txt01.type03{
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.fs-l-main .contact form p {
  padding: 0 0 8px 0;
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: left;
}
.fs-l-main .contact form p:first-of-type {
  margin-top: 16px;
}
.fs-l-main .contact form p input {
  margin-bottom: 8px;
}
.fs-l-main .contact form p input:last-of-type {
  margin-bottom: 0;
}
/*.fs-l-main .contact form h1 {
  padding: 120px 0 80px 0;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
  font-weight: 400;
  color: #333;
}
.fs-l-main .contact form h1 + p {
  padding: 0 0 16px 0;
  font-size: 1.3rem;
  line-height: 2.0;
  text-align: center;
}
.fs-l-main .contact form h1 + p + p {
  padding-top: 24px;
}*/

input[type='submit']{
  display: block;
  width: 240px;
  height: 48px;
  line-height: 48px;
  margin: 32px auto 0 auto ;
  background: #333;
  border: none;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
}


/*terms
-----------------------------------*/
.terms{}
.terms .termsList{}
.terms .termsList dt,
.terms .termsList dd{
  padding: 4px 0;
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.5;
}
.terms .termsList dt{
  font-weight: 700;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .terms{}
  .terms .termsList{}
  .terms .termsList dt,
  .terms .termsList dd{
    padding: 0 0 16px 0;
  }
  .terms .termsList dt{
    clear: both;
    float: left;
  }
  .terms .termsList dd{
    padding-left: 8em;
  }
}


/*faq
-----------------------------------*/
.faq{}
.faq .fs-c-heading.fs-c-heading--page + p{
  margin: 64px 0 0 0;
}

.faq .faqList{}
.faq .faqList dt,
.faq .faqList dd{
  position: relative;
  text-align: left;
}
.faq .faqList dt{
  padding: 12px 56px 12px calc(16px + 1em + 16px);
  border: 1px solid #ddd;
  border-top: none;
  font-size: 1.6rem;
  line-height: 1.5;
  transition: .3s;
}
.faq .faqList dt:hover{
  cursor: pointer;
}
.faq .faqList dt:first-of-type{
  border-top: 1px solid #ddd;
}
.faq .faqList dt::before{
  content: "Q";
  position: absolute;
  left: 16px;
  top: 12px;
}
.faq .faqList dt span{
  position: absolute;
  right: 16px;
  top: 16px;
  display: block;
  width: 17px;
  height: 17px;
  transition: .3s;
}
.faq .faqList dt span::before,
.faq .faqList dt span::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  background: #333;
  -weblit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  transition: .3s;
}
.faq .faqList dt span::before{
  width: 100%;
  height: 1px;
}
.faq .faqList dt span::after{
  width: 1px;
  height: 100%;
}
.faq .faqList dt.open{
  background: #eee;
}
.faq .faqList dt.open span{
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.faq .faqList dt.open span::before{
  opacity: 0;
}
.faq .faqList dd{
  display: none;
  border-bottom: 1px solid #ddd;
  padding: 12px 16px 12px calc(16px + 1.6rem + 16px);
  font-size: 1.3rem;
  line-height: 2.0;
}
.faq .faqList dd::before{
  content: "A";
  position: absolute;
  left: 16px;
  top: 8px;
  font-size: 1.6rem;
  color: #D60000;
}


/*ユーザーガイド
-----------------------------------*/
.guide{}
/*
lNav
*/
.guide .lNav{
  display:-webkit-flex;
  display: flex;
  -webkit-flex-wrap:wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 64px 0 0 0;
}
.guide .lNav li{
  width: 50%;
  height: 40px;
  border: 1px solid #ddd;
  border-top: none;
  font-size: 1.0rem;
  line-height: 40px;
}
.guide .lNav li:nth-of-type(-n+2){
  border-top: 1px solid #ddd;
}
.guide .lNav li:nth-of-type(2n+1){}
.guide .lNav li:nth-of-type(2n){
  border-left: none;
}
.guide .lNav li a{}


/* for PC*/
@media print, screen and (min-width:768px) {
  .guide .lNav{
    margin: 80px 0 0 0;
  }
  .guide .lNav li{
    width: 25%;
    border-left: none;
    font-size: 1.3rem;
  }
  .guide .lNav li:nth-of-type(-n+4){
    border-top: 1px solid #ddd;
  }
  .guide .lNav li:nth-of-type(4n+1){
    border-left: 1px solid #ddd;
  }
  .guide .lNav li:nth-of-type(2n){}
  .guide .lNav li a{
    display: block;
    height: 100%;
  }
}

/* for tablet*/
@media only screen and (min-device-width: 768px) and (orientation:portrait) {
/*縦向きのみ*/
  
}


