@charset "UTF-8";

.section_title {
  margin-bottom: 8vw;
  padding-bottom: 3.2vw;
  font-size: 4.6vw;
  border-bottom: 0.533vw solid #BC1983;
}
/**********************************************************
 * select language
 **********************************************************/
  #language .wrapSelect {
    margin-top: 30px;}
/**********************************************************
 * nav_page
 **********************************************************/
#nav_page {
  padding: 5.333vw 0 8vw;
}
#nav_page nav ul {
  flex-wrap: wrap;
  gap: 2.667vw 5.333vw;
}
#nav_page nav a {
  padding-right: 5.333vw;
  font-size: 3.2vw;
}
#nav_page nav a::before {
  width: 3.733vw;
  height: 3.733vw;
}
#nav_page nav a::after{
  right: 1.2vw;
  top: 45%;
  transform: translateY(-45%) rotate(45deg);
  width: 1.067vw;
  height: 1.067vw;
}

/**********************************************************
 * what
 **********************************************************/
#what {
  padding: 0 0 8vw;
}
.what_item {
  flex-direction: column;
  grid-template-columns: 1fr;
}
.what_item:not(:last-of-type) {
  margin: 0 0 8vw;
}
.text {
  order: 2;
  padding: 8vw 5.333vw 5.333vw;
}
.text h4 {
  margin: 0 0 2.133vw;
  font-size: 3.75vw;
}
.text p {
  font-size: 2.8vw;
}
.image {
  order: 1;
  margin-left: 0;
  margin-bottom: -4vw;
  width: 74.667vw;
  border: 1.6vw solid #fff;
  box-shadow: 0 0 1.067vw rgba(0,0,0,.06);
}
.image.vertical {
  width: 48vw;
}
.reverse .text {
  padding: 8vw 5.333vw 5.333vw;
}
.reverse .image {
  margin-right: 0;
}


/**********************************************************
 * history
 **********************************************************/
#history {
  padding: 8vw 0;
}
.l-timeline {
  padding: 5.333vw 2.667vw;
}
.timeline {
  grid-template-columns: 1fr;
}
.timeline::before {
  left: 2.4vw;
  width: 0.533vw;
}
.item {
  display: flex;
  gap: 2.667vw;
}
.date:not(.last),
.dot:not(.last),
.content:not(.last) {
  padding-bottom: 5.333vw;
}
.date,
.content {
  font-size: 2.933vw;
}
.dot {
  margin-left: 1.333vw;
  order: 1;
  grid-column:1;
  justify-content:flex-start;
}
.dot::before {
  width: 2.667vw;
  height: 2.667vw;
}
.date {
  order: 2;
  grid-column:1;
  white-space: normal;
  flex-shrink: 0;
  width: 25.067vw;
}
.content {
  order: 3;
  padding-left: 0;
}
.hl {
  padding: 1.067vw 1.6vw;
}

/**********************************************************
 * qa
 **********************************************************/
#qa {
  padding: 8vw 0;
}
.tabs {
  gap: 2.133vw;
  margin-bottom: 8vw;
}
.tab {
  width: 26.667vw;
  height: 10.667vw;
  padding: 0 2.667vw;
  border: 1px solid #BC1983;
  font-size: 2.667vw;
}
.tab[aria-selected="true"]::after {
  bottom: -3.2vw;
  border-left: 2.133vw solid transparent;
  border-right: 2.133vw solid transparent;
  border-top: 3.733vw solid #BC1983;
}
.qa + .qa {
  margin-top: 5.333vw;
}
.qa__btn {
  padding: 5.333vw 5.333vw 5.333vw 2.667vw;
  gap: 2.667vw;
  font-size: 3.2vw;
}
.qa[aria-expanded="true"] .qa__btn {
  padding: 5.333vw 5.333vw 2.667vw 2.667vw;
}
.qa__left {
  gap: 2.667vw;
}
.badge {
  width: 6.933vw;
  height: 6.933vw;
}
.qa__qtext {
  text-align: left;
}
.qa__icon {
  font-size: 5.867vw;
}
.qa[aria-expanded="true"] .qa__body {
  padding: 0 5.333vw 5.333vw 2.667vw;
}
.answer {
  gap: 2.667vw;
  font-size: 3.2vw;
  line-height: 1.7;
}