* {
  color: #333;
  margin: 0;
}

.button-primary {
  min-width: 240px;
  padding: 12px 1rem;
  background-color: #0e8677;
  border: 1px solid #0e8677;
  border-radius: 0.25rem;
  color: #ffffff;
  font-size: 1rem;
}
button:hover {
  opacity: 0.6;
}
a:hover {
  opacity: 0.7;
}
.container {
  width: 960px;
  margin: 0 auto;
  padding-top: 2rem;
}
.bold {
  font-weight: bold;
}

/* ヘッダー */
header {
  border-bottom: 7px solid #25580b;
  padding-bottom: 2rem;
}
.header-logo,
.header-login {
  display: flex;
  align-items: center;
}
.header-logo img {
  height: 4rem;
  margin-right: 8px;
}
.heading1 {
  line-height: 0.6;
  height: 1.7rem;
}
.heading1 h1 {
  font-size: 2.1rem;
  font-weight: bold;
}
.heading1-english {
  font-size: 1rem;
}
.header-login {
  justify-content: flex-end;
}

main a {
  text-decoration: underline;
  color: #3355cc;
  font-weight: bold;
}
.main-section {
  margin-bottom: 4.5rem;
}

/* トップ */
.heading2 {
  background-color: #328618;
  height: 3rem;
  padding-left: 0.8rem;
  margin-bottom: 0.8rem;
  display: flex;
  align-items: center;
}
.heading2 h2 {
  font-size: 1.3rem;
  color: #fff;
  font-weight: normal;
}
.main-body {
  padding-left: 2rem;
}
.main-body-sub {
  padding-left: 3.6rem;
  margin-top: 1.5rem;
}
.main-text {
  line-height: 1.8;
}
.main-small {
  font-size: 0.8rem;
}
.step {
  list-style-type: none;
  padding: 0;
}
.step-card {
  margin-bottom: 1.2rem;
  display: flex;
}
.step-card-label {
  margin: 15px 6px;
}
.step-card-label-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #00597b;
}
.step-card-label-body.dummy {
  background-color: inherit;
  height: min-content;
}
.step-card-label-top {
  font-size: 12px;
  color: #ffffff;
  line-height: 1.2;
}
.step-card-label-bottom {
  font-size: 20px;
  color: #ffffff;
  font-weight: bold;
  line-height: 1.8;
}
.step-card-body {
  padding: 24px 10px 10px 10px;
}
.step-card-body.no-label {
  padding: 10px;
}
.step-card-title {
  font-size: 1.1rem;
  margin-bottom: 0.8rem;
}
.step-card-body-button {
  padding: 1.2rem 0;
}
.contact-subheading {
  font-size: 1rem;
}
.contact-body {
  padding-left: 0.5rem;
}
.tel {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.2;
}

/* 利用規約 */
.terms-heading2 {
  background-color: #25580b;
  height: 4rem;
  padding-left: 0.8rem;
  margin-bottom: 4rem;
  display: flex;
  align-items: center;
}
.terms-heading2 h2 {
  font-size: 2.1rem;
  color: #fff;
  font-weight: bold;
}
.terms-heading3 {
  background-color: #328618;
  height: 2.4rem;
  padding-left: 0.8rem;
  margin-bottom: 3.2rem;
  display: flex;
  align-items: center;
}
.terms-heading3.terms-heading3-with-caption {
  margin-bottom: 0.6rem;
}
.terms-heading3 h3 {
  font-size: 1.3rem;
  color: #fff;
  font-weight: normal;
}
.terms-last-update-date {
  display: flex;
  justify-content: end;
  margin-bottom: 0.6rem;
}
.terms-sho {
  padding-left: 0.8rem;
  margin-bottom: 3rem;
}
.terms-heading4 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 2.4rem;
}
.terms-zyo {
  margin-bottom: 3rem;
}
.terms-heading5 {
  font-size: 1rem;
  font-weight: normal;
}
.terms-ko-list,
.terms-go-list {
  list-style: none;
  padding: 0;
}

/* プライバシーポリシー */
.policy-heading2 {
  background-color: #328618;
  height: 3rem;
  padding-left: 0.8rem;
  margin-bottom: 1.8rem;
  display: flex;
  align-items: center;
}
.policy-heading2 h2 {
  font-size: 1.3rem;
  color: #fff;
  font-weight: normal;
}
.policy-last-update-date {
  display: flex;
  justify-content: end;
  margin-bottom: 0.6rem;
}
.privacy-section {
  padding-left: 0.8rem;
  margin-bottom: 3rem;
}
.policy-heading3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 2.4rem;
}

/* フッター */
footer {
  height: 146px;
  background-color: #1e2127;
}
footer * {
  color: #f0f0f0;
}
.footer-navi,
.footer-copyright {
  margin-bottom: 1rem;
}
.footer-navi-link {
  color: #eeeeee;
  margin-right: 2rem;
}
.footer-copyright small {
  font-size: inherit;
  font-style: italic;
}
