:root {
  --mb-section: clamp(40px, 8vw, 80px);
  --mb-block: 40px;
  --mb-component: 24px;
  --black: #333;
  --red: #B90000;
  --gray-dark: #5F5F5F;
  --gray-light: #F3F3F3;
  --gray-border: #D9D9D9;
}

input,
button {
  /*color: inherit;*/
  font-family: inherit;
  font-size: 1rem;
  font-weight: inherit;
  line-height: inherit;
  border-radius: 8px;
  border: none;
  appearance: none;
  background-color: inherit;
}
button {
  cursor: pointer;
}

html {
  background-color: initial !important;

  --mb-section: clamp(40px, 8vw, 80px);
  --mb-block: 40px;
  --mb-component: 24px;
  --black: #333;
  --red: #B90000;
  --gray-dark: #5F5F5F;
  --gray-light: #F3F3F3;
  --gray-border: #D9D9D9;
}

#title-block h1{
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: var(--mb-section); /*add*/
}


/* link */ /* main .contentsを .privacy に修正 */
.privacy a[target="_blank"],
.privacy a[href$=".pdf"] {
  position: relative;
  display: inline-block;
  width: fit-content;
  padding-right: calc(1em + 8px);
  &::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.5em);
    right: 4px;
    width: 1em;
    height: 1em;
    background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_external.svg) no-repeat center center / contain;
  }
}
form a[href$=".pdf"] {
  &::after {
    background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_pdf.svg) no-repeat center center / contain;
  }
}
.link-arrow {
  display: flex;
  gap: 8px;
  align-items: center;
  width: fit-content;
  &::after {
    @include pseudo;
    position: static;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_arrow.svg) no-repeat center center / contain;
  }
}

/* button */
.btn-area {
  text-align: center;
}
/* mod .btn-primary {*/
.btn,
.btn.Submit {
  color: #fff; /*確認画面の戻るボタンで!importantとり*/
  background: var(--red);
  line-height: initial;
  width: stretch; /* 確認画面で合わなかった。。inherit;
  /* width: 100%; add */
  &:hover {
    background: #000;
  }
}
/* mod .btn-secondary { */
#back_button {
  color: var(--black);
  background: #fff;
  border: 1px solid #000;
  &::before {
    color: var(--black);
    left: 16px;
    width: 24px;
    height: 24px;
    transform: rotate(180deg);
    z-index: 0;
    background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_arrow.svg) no-repeat center center / contain;
  }
  &::after {
    display: none;
  }
  &:hover {
    color: #fff;
    background: var(--gray-dark);
    border-color: var(--gray-dark);
    &::before {
      color: #fff;
      left: 16px;
      width: 24px;
      height: 24px;
      transform: rotate(180deg);
      z-index: 0;
      background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_arrow_w.svg) no-repeat center center / contain;
    }
    &::after {
      display: none;
    }
  }
}

/* form */
fieldset {
  border: none;
}
input,textarea,select {
  padding: 16px;
  font-size: 1rem;
  border: 1px solid var(--gray-dark);
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  font-family: "BIZ UDPGothic", "游ゴシック Medium", "Yu Gothic Medium", YuGothicM, 游ゴシック体, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif; /* add */
}
input[type="checkbox"],
.check-box label::before,
input[type="radio"] {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  padding: 0;
}

input[type="checkbox"],
.check-box label::before {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: 1px solid var(--gray-dark); /* add */
}
input[type="checkbox"]:checked {
  position: relative;
  &::after {
    @include pseudo;
    top: 5px;
    left: 3px;
    height: 8px;
    width: 16px;
    border-left: 2px solid #000;
    border-bottom: 2px solid #000;
    rotate: -45deg;
  }
}
/* add */
input[type="checkbox"]:checked + label::after {
  top: 10px;
  width: 16px;
  border-left: 2px solid #000;
  border-bottom: 2px solid #000;
}
input[type="radio"] {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
input[type="radio"]:checked {
  position: relative;
  label::after {
    background: #000;
  }
  &::after {
    @include pseudo;
    top: 5px;
    left: 5px;
    width: 12px;
    height: 12px;
    background: #000;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
  }
}
input[type="radio"]:checked + label::after {
  margin-top: -7px !important; /* add */
  top: 5px;
  left: 6px !important; /* add */
  width: 12px;
  height: 12px;
  background: #000 !important;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.radio-button label::before{
  width: 24px;
  height: 24px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: var(--mb-block);
  font-size: 1.125rem;
  .form-error-message {
    display: none;
    align-items: center;
    gap: 4px;
    color: var(--red);
    font-size: .875rem;
    font-weight: bold;
    &::before {
      content: "";
      width: 20px;
      height: 20px;
      background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_caution.svg) no-repeat center center / contain;
    }
  }
  &.error {
    input:not([type="radio"], [type="checkbox"]), select,textarea {
      border: 2px solid var(--red);
    }
    .form-error-message {
      display: flex;
      &:has(+ .checkbox), &:has(+ .radio) {
        margin: -24px 0 16px;
      }
    }
  }
}
.enquete{
  font-weight: bold;
  line-height: 1.3;
}
.required {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 12px;
  color: #fff;
  font-size: .75rem;
  -webkit-border-radius: 50px !important;
  -moz-border-radius: 50px !important;
  border-radius: 50px !important;
  background: var(--red);
}
.form-support {
  color: var(--gray-dark);
  font-size: .875rem;
}
.checkbox,.radio {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}

.form-caution-list li {
  margin-bottom: 8px !important;
  font-size: .875rem;
}
/* mod .form-agree .form-caution-message, .form-agree .checkbox { */
.privacy {
  .form-caution-message, .checkbox {
    width: fit-content;
    margin: 0 auto 0;
  }
}
.form-yyyymmdd {
  display: flex;
  align-items: center;
  input {
    width: 6em;
    margin: 0 4px 0 16px;
    &:first-of-type {
      margin-left: 0;
    }
  }
}

@media screen and (max-width: $sp) {
  .form-yyyymmdd {
    flex-wrap: wrap;
    input {
      &:first-of-type {
        width: calc(100% - 2em);
        margin-bottom: 16px;
      }
      &:nth-of-type(2) {
        margin-left: 0;
      }
    }
  }
}


/* add */
#step {
  display: none;
}
header {
  display: none;
}
.enquete .question {
  display: none;
}

/*header {*/
/*  font-weight: bold;*/
/*  border-bottom: 1px solid var(--gray-dark);*/
/*  .contents {*/
/*    position: relative;*/
/*  }*/
/*}*/
.header {
  font-weight: bold;
  border-bottom: 1px solid var(--gray-dark);
}
.header .contents {
  position: relative;
}

table td {
  border: none;
}
input,textarea,select, .question-block select {
  box-shadow: none;
  border: 1px solid var(--gray-dark);
}
input[type="text"] {
  box-shadow: none;
  width: 100%;
  border: 1px solid var(--gray-dark);
}
.Comment p {
  color: var(--gray-dark);
  font-size: .875rem;
  font-weight: normal;
}

/* mod .form-caution-message { */
#error-toptext {
  flex-direction: column;
}
.form-caution-message,
#error-toptext {
  background: none; /* add */
  padding: unset; /* add */
  display: flex;
  /*flex-direction: column;*/
  /* del align-items: center; */
  gap: 4px;
  color: var(--red);
  font-size: 0.875rem;
  font-weight: bold;
  /*&::before {*/
  /*  flex-shrink: 0;*/
  /*  content: "";*/
  /*  width: 20px;*/
  /*  height: 20px;*/
  /*  background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_caution.svg) no-repeat center center / contain;*/
  /*}*/
  /* mod &.top { */
  h3 {
    padding: 16px;
    border: 2px solid var(--red);
    padding-left: 24px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    color: var(--red);
    font-size: 0.875rem;
    font-weight: bold;

    text-align: left;
  }
  h3::before {
    flex-shrink: 0;
    content: "";
    width: 20px;
    height: 20px;
    background: url(https://wwwcdn.asahi.com/corporate/privacy-portal/assets/images/icon/icon_caution.svg) no-repeat center center/contain;
  }
  li a:link { /* add */
    text-decoration: none;
    color: var(--red);
  }
}
.form-caution-list li {
  margin-bottom: 8px !important;
  font-size: .875rem;
  font-weight: unset;
}

.header-logo .link-support .btn {
  max-width: fit-content; /* add */
  line-height: clamp(0.75rem, 1.4vw, 0.875rem); /* add */
  height: inherit; /* add */
}

.breadcrumb {
  margin: 0 auto 40px; /* add */
  padding-top: 40px; /* add */
  max-width: 700px;
  margin-inline: auto;
  line-height: 1.6;
}
.breadcrumb a:link {
  text-decoration-line: underline;
}
@media screen and (max-width: 767px) {
  .breadcrumb {
    padding: 16px 16px 0; /* add */
  }
}

/* FOOTER */
.footer {
  border-top: 1px solid var(--gray-dark);
}
.footer .contents {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 40px 16px;
}

@media screen and (max-width: 767px) {
  .footer-sns {
    gap: 24px;
  }
  .footer-nav {
    flex-direction: column;
    gap: 0;
  }
  .footer-nav-menu {
    /* display: none; */
  }
  .footer-copyright p {
    margin-bottom: 16px;
    line-height: 1.3;
  }
}





body {
  width: 100%;
  /*margin: 0 auto;*/
   margin-bottom: 0;
}
form.cfix,
.cfix {
  max-width: 700px;
  margin: 0 auto var(--mb-section);;
}
@media screen and (max-width: 767px) {
  form.cfix,
  .cfix {
    padding: 0px 16px; /*40px 16px;*/
  }
}
form .enquete {
  margin: 0;
}
h2::after {
  display: none;
}
footer,
.note,
.supplement {
  display: none;
}

.privacy {
  border: none;
  padding: 0;
  margin: 24px 0;
}

.enquete dt {
  border: none;
  margin: 24px 0;
}

.button-2set {
  width: unset;
  display: flex;
  gap: 0;
  justify-content: center;
}

/*.Address.auto_address_fill_button {*/
/*  display: none;*/
/*}*/

.check-box {
  text-align: center;
}

.section-contents-s {
  margin-bottom: 100px;
}

nav {
  background-color: inherit;
  height: inherit;
}
nav a {
  color: var(--black);
}
nav a:hover {
  color: var(--red);
  text-decoration: none;
}
nav li {
  margin-right: inherit;
  display: inherit;
  width: initial;
  height: 100%;
}
#title-block {
  margin: 0; /*add*/
}

.center-button .btn {
  margin: 0 auto;
  width: stretch;
}
.btn::after {
  z-index: 0;
}
.footer-support-link a {
  text-decoration: underline;
}
.humberger-text{
  bottom: 5px;
}
.header-nav a {
  width: 100%;
}