@charset "utf-8";

/*##### Base Width #####*/
.baseW {
  width: calc(100% - 40px);
  min-width: 1080px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
.baseW02 {
  width: calc(100% - 40px);
  min-width: 1080px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
@media all and (max-width: 640px){
  .baseW,
  .baseW02 {
    width: 100%;
    min-width: auto;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }
  .baseSpW {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
  }
}


/*##### Base Com #####*/
.boxBaseCom > p {
  line-height: 1.7;
  letter-spacing: 0.08em;
  font-size: 1.13rem;
}
@media all and (max-width: 640px){
  .boxBaseCom > p {
    line-height: 1.6;
    font-size: 0.9rem;
  }
}

.boxBaseCom > p + p {
  margin-top: 1.5em;
}


/*##### boxBaseTtl01 #####*/
.boxBaseTtl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 3.04em;
}
.boxBaseTtl01.typeWhite {
  color: #fff;
}
@media all and (max-width: 640px){
  .boxBaseTtl01 {
    margin-bottom: 2.0em;
  }
}

.boxBaseTtl01 .p01 {
  text-align: center;
  letter-spacing: 0.03em;
  font-size: 1.3rem;
}
@media all and (max-width: 640px){
  .boxBaseTtl01 .p01 {
    font-size: 0.9rem;
  }
}


/*##### ttlBase01 #####*/
.ttlBase01 {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 4.0em;
}
.ttlBase01.typeWhite {
  color: #fff;
}
@media all and (max-width: 640px){
  .ttlBase01 {
    margin-bottom: 2.0em;
  }
}

.ttlBase01:after {
  content: '';
  position: absolute;
  bottom: -2.0em;
  left: 0.1em;
  right: 0;
  width: 20.7em;/*290px;*/
  margin: auto;
  background-image: url('./../../images/base/base-icn-ttl01-black.svg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  aspect-ratio: 30 / 1;
}
.ttlBase01.typeWhite:after {
  background-image: url('./../../images/base/base-icn-ttl01-white.svg');
}
@media all and (max-width: 640px){
  .ttlBase01:after {
    bottom: -1.1em;
    width: 50vw;
  }
}

.ttlBase01 .ttlEn {
  line-height: 1.0;
  letter-spacing: 0.015em;
  font-family: var(--base-font-en);
  font-size: 6.9rem;
  font-style: italic;
}
@media all and (max-width: 640px){
  .ttlBase01 .ttlEn {
    font-size: 3.3rem;
  }
}

.ttlBase01 .ttlJa {
  position: relative;
  top: 0.05em;
  margin-right: 0.2em;
  margin-left: 0.9em;
  line-height: 1.25;
  letter-spacing: 0.04em;
  font-size: 2.0rem;
  font-style: italic;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .ttlBase01 .ttlJa {
    font-size: 1.16rem;
  }
}


/*##### ttlBase02 #####*/
.ttlBase02 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  min-height: 2.6em;
  margin-bottom: 3.14em;
  padding: 0.3em 1.0em 0.3em 1.3em;
  background-color: #191724;
  letter-spacing: 0.12em;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
}
@media all and (max-width: 640px){
  .ttlBase02 {
    min-height: 2.2em;
    margin-bottom: 1.5em;
    padding: 0.3em 1.0em 0.3em 0.7em;
    font-size: 1.2rem;
  }
}


/*##### ttlBase03 #####*/
.ttlBase03 {
  position: relative;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 2.4em;
}
.ttlBase03.typeWhite {
  color: #fff;
}
@media all and (max-width: 640px){
  .ttlBase03 {
    margin-bottom: 1.6em;
  }
}

.ttlBase03 .ttlJa {
  margin-left: 0.3em;
  margin-bottom: 0.25em;
  line-height: 1.0;
  letter-spacing: 0.04em;
  font-size: 2.0rem;
  font-style: italic;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .ttlBase03 .ttlJa {
    font-size: 1.16rem;
  }
}

.ttlBase03 .ttlEn {
  position: relative;
  left: -0.1em;
  line-height: 1.0;
  letter-spacing: 0.03em;
  font-family: var(--base-font-en);
  font-size: 6.9rem;
  font-style: italic;
}
@media all and (max-width: 640px){
  .ttlBase03 .ttlEn {
    font-size: 3.3rem;
  }
}
