/* faq guide アコーディオン */

details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}

.section-container {
  padding-top: 20px;
  margin: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.section {
  width: 100%;
  max-width: 500px;
  margin-bottom: 20px;
  padding: 10px;
}

.faq {
  margin-bottom: 7px;
  border: 1px solid #d6dde3;
  border-radius: 5px;
}

.faq summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 0em 2em 0em 3em;
  margin: 1em 0em 1em 0em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
  min-height: 65px;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.faq[open] summary {
  display: block;
  overflow: visible;
  text-overflow: clip;
}

.faq summary::before,
.faq p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.faq summary::before {
  color: #308be7;
  content: "Q";
}

.faq summary::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%) rotate(-45deg);
  content: "";
  width: 7px;
  height: 7px;
  border-bottom: 3px solid #333333b3;
  border-right: 3px solid #333333b3;
  transition: transform 0.5s;
}

.faq[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}

.faq p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0.3em 3em 1.5em;
  color: #333;
  transition: transform 0.5s, opacity 0.5s;
}

.faq[open] p {
  transform: none;
  opacity: 1;
}

.faq p::before {
  color: #ff6d6d;
  line-height: 1.2;
  content: "A";
}

.nested-accordion {
  margin-top: 10px;
  padding-left: 10px;
  border-left: 1px solid #d6dde3;
}

.nested-accordion details summary::after {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%) rotate(-45deg);
  content: "";
  width: 7px;
  height: 7px;
  border-bottom: 3px solid #333333b3;
  border-right: 3px solid #333333b3;
  transition: transform 0.5s;
}

.nested-accordion details[open] summary::after {
  transform: translateY(-50%) rotate(45deg);
}


/* company */
.companysection-container {
  padding-top: 20px;
  margin: 20px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1600px;
  background-color: #f1f1f1;
  border-radius: 20px;
  padding: 0 10px 0 0;
}

#companytable tr {
  border-bottom: 1px solid #b5b1b1;
}

#companytable th,
#companytable td {
  padding: 24px 0;
  border: none;
  font-size: 16px;
}

#companytable th {
  width: 30%;
}

/* sp */
@media only screen and (max-width: 480px) {
  #companytable th,
  #companytable td {
    padding: 10px;
    width: 95%;
    display: block;
  }

  #companytable th {
    width: 100%;
  }

  #companytable td {
    padding-top: 0;
  }
}

/* 利用規約 */
.Inner {
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
  max-width: 1200px;
}

.Inner h3{
  font-size: 18px;
}

.Inner p{
  font-size: 14px;
}

.Inner-Headline {
  font-weight: bold;
  font-size: 32px;
}
@media screen and (max-width: 480px) {
  .Inner-Headline {
    font-size: 24px;
  }
}
.Inner-Text {
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-size: 15px;
}
.Inner-Text.first {
  margin-top: 36px;
}
.Inner-Box {
  margin-top: 16px;
}
.Inner-Box-Headline {
  font-weight: bold;
  font-size: 28px;
}
@media screen and (max-width: 480px) {
  .Inner-Box-Headline {
    font-size: 20px;
  }
}
.Inner-Box-List {
  margin: 20px 0 0 40px;
}
.Inner-Box-List-Item {
  margin-top: 10px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  list-style-type: decimal;
}
.Inner-Box-List-Item-Ol {
  margin: 20px 0 0 40px;
}
.Inner-Box-List-Item-Ol-Item {
  margin-top: 10px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  list-style-type: decimal;
}
.Inner-Box-List-Item-Link {
  text-decoration: underline;
  display: inline-block;
}
.Inner-Box-Contact {
  margin-top: 36px;
}
.Inner-Box-Contact-Text {
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-size: 15px;
}
.Inner-Box-Contact-Text:nth-child(2) {
  margin-top: 16px;
}
.Inner-Box-Item {
  letter-spacing: 0.05em;
  line-height: 1.8;
  font-size: 15px;
}
@media screen and (max-width: 480px) {
  .Inner-Box-Item {
    letter-spacing: inherit;
    font-size: 14px;
  }
}

/* 特商法 */
.policy-dl-container {
  display: flex;
  flex-direction: column;
}

.policy-dl-container .info-row {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.policy-dl-container .info-item {
  display: flex;
  flex-direction: column;
  margin-right: 2em;
  margin-bottom: 1em;
}


/* 検索ボックスへこみ対策 */
.search-form input {
  border-radius: 0;
}