.TermOfService {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
  }
  
  p{
    margin: 0;
    padding: 0;
  }
  li{
    list-style: none;
    margin-left: 0;
    padding-left: 0.1em;
  }
  ol {
    list-style: none;
    margin-left: 0;
    padding-left: 0.2em;
  }  

  .min_text{
    color: #545454;
  }
  
  .TermOfService-Headline {
    font-weight: bold;
    font-size: 32px;
  }
  @media screen and (max-width: 480px) {
    .TermOfService-Headline {
      font-size: 24px;
    }
  }
  .TermOfService-Text {
    letter-spacing: 0.05em;
    line-height: 1.8;
    font-size: 15px;
  }
  .TermOfService-Text.first {
    margin-top: 36px;
  }
  .TermOfService-Box {
    margin-top: 16px;
  }
  .TermOfService-Box-Headline {
    font-weight: bold;
    font-size: 28px;
  }
  @media screen and (max-width: 480px) {
    .TermOfService-Box-Headline {
      font-size: 20px;
    }
  }
  .TermOfService-Box-List {
    margin: 20px 0 0 40px;
    margin: 20px 0 0 5px;
  }
  .TermOfService-Box-List-Item {
    margin-top: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    list-style-type: none;
    overflow-wrap:break-word;
  }

  .TermOfService-Box-List-Item-Ol {
    margin: 20px 0 0 40px;
    list-style-type: none;
  }
  .TermOfService-Box-List-Item-Ol-Item {
    margin-top: 10px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    list-style-type: none;
  }
  .TermOfService-Box-List-Item-Link {
    text-decoration: underline;
    display: inline-block;
    color: red;
  }
  .TermOfService-Box-Contact {
    margin-top: 36px;
  }
  .TermOfService-Box-Contact-Text {
    letter-spacing: 0.05em;
    line-height: 1.8;
    font-size: 15px;
  }
  .TermOfService-Box-Contact-Text:nth-child(2) {
    margin-top: 16px;
  }
  .TermOfService-Box-Item {
    letter-spacing: 0.05em;
    line-height: 1.8;
    font-size: 15px;
  }
  @media screen and (max-width: 480px) {
    .TermOfService-Box-Item {
      letter-spacing: inherit;
      font-size: 14px;
    }
  }
/* 
  利用規約.end
*/


/* 利用規約に同意ボタン */
.TermOfService-Agree button {
  --primary-color: #1bbd36;
  --secondary-color: #fff;
  --hover-color: #1ed33c;
  --arrow-width: 10px;
  --arrow-stroke: 2px;
  box-sizing: border-box;
  border: 0;
  border-radius: 20px;
  color: var(--secondary-color);
  margin: 0 auto;

  padding: 1em 1.8em;
  background: var(--primary-color);
  display: flex;
  transition: 0.2s background;
  align-items: center;
  gap: 0.6em;
  font-weight: bold;
}

.TermOfService-Agree button .arrow-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

.TermOfService-Agree button .arrow {
  margin-top: 1px;
  width: var(--arrow-width);
  background: var(--primary-color);
  height: var(--arrow-stroke);
  position: relative;
  transition: 0.2s;
}

.TermOfService-Agree button .arrow::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  border: solid var(--secondary-color);
  border-width: 0 var(--arrow-stroke) var(--arrow-stroke) 0;
  display: inline-block;
  top: -3px;
  right: 3px;
  transition: 0.2s;
  padding: 3px;
  transform: rotate(-45deg);
}

.TermOfService-Agree button:hover {
  background-color: var(--hover-color);
}

.TermOfService-Agree button:hover .arrow {
  background: var(--secondary-color);
}

.TermOfService-Agree button:hover .arrow:before {
  right: 0;
}
/* 利用規約に同意ボタン.end */


/* 利用規約テンプレートiframe枠 */
.termsOfService-iframe-responsive {
  height: 0;
  overflow: hidden;
  position: relative;
  /* padding-bottom: 56.25%; */
  padding-bottom: 70%;
  min-height: 600px;
}
.termsOfService-iframe-responsive iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
/* 利用規約テンプレートiframe枠.end */
