.d-none {
    display: none;
}

.check .h-adr {
    padding: 0 5rem;
}

.pt-5 input[type="text"],
input[type="email"],
input[type="tel"],
select {
    width: 100%;
    padding: 0.3rem;
    border: #cccccc 1px solid;
    font-size: 1em;
    background-color: #FFFFFF;
    border-radius: .9rem;
    min-height: 6.6rem;
    margin-bottom: 2.8rem;
    color: #111;
}

.form-check-input {
    appearance: auto;
}

.pt-5 textarea {
    width: 100%;
    min-height: 18rem;
    padding: 0.3rem;
    border: #cccccc 1px solid;
    background-color: #FFFFFF;
    border-radius: .9rem;
    color: #111;
    font-size: 1em;
}

ul,
li {
    list-style: none;
}

li.col-auto {
    display: inline-block;
}

.error li,
.error_text {
    color: rgb(200, 0, 0);
    background-color: #ffffbe;
}

[id^="item_birth"] {
    display: inline-block;
}

#item_time li.col-auto::after {
    content: ",";
}

#item_time li.col-auto:nth-last-of-type(1)::after {
    content: "";
}

.pt-5 {
    background-image: url(../img/kusuo_lp_pc_bg.webp), linear-gradient(to bottom,
            #293061 0%,
            #0E0F2D 70%,
            #192A9E 100%);
    background-attachment: fixed, scroll;
    background-blend-mode: multiply;
    background-size: cover, auto;
    background-repeat: no-repeat, no-repeat;
    position: relative;
    color: #FFFFFF;
    font-size: 1.8rem;
    padding-top: 2rem;
    font-weight: bold;
    padding-bottom: 9rem;
}

.required-txt {
    font-size: 1.4rem;
    font-weight: bold;
    margin: 5rem;
    margin-top: 7.2rem;
    margin-bottom: 2.8rem;
    letter-spacing: .1em;
}


.col-3 {
    margin-bottom: 1.2rem;
    letter-spacing: .1em;
}

ul.row {
    display: flex;
    /* ← list-item から flex に */
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 2.6rem;
}

ul.row>li {
    flex: 0 1 auto;
    /* 中身幅にフィット */
    margin: 0.5rem 6.2rem .5rem 0;
    /* お好みで間隔 */
    letter-spacing: .1em;
}

/* ３つごとに強制改行する例①（margin-right:auto ハック） */
ul.row>li:nth-child(3n) {
    margin-right: auto;
}

/* ３つごとに強制改行する例②（疑似要素ハック） */
ul.row>li:nth-child(3n)::after {
    content: "";
    display: block;
    /* これで flex アイテムとして認識される */
    flex-basis: 100%;
    width: 0;
    height: 0;
}

.pt-5 .row {
    font-size: 1.8rem;
    margin: 0 5rem;
    margin-bottom: 3.6rem;
}

ul.row {
    display: flex;
    /* ← list-item から flex に */
    flex-wrap: wrap;
    list-style: none;
    margin: 0 !important;
    padding: 0;
    margin-bottom: 2.6rem !important;
}

.check .h2-title,
.complete .h2-title {
    margin-bottom: 7.2rem;
}

.complete .col-8 {
    margin: 0 5rem;
    line-height: 2em;
}

.check .pt-5 .row,
.complete .pt-5 .row {
    justify-content: center;
    gap: 1.2rem;
    margin-top: 2.6rem;
}

.complete .col-4 {
    margin-top: 4.6rem;
}
.p-3 {
        margin-top: 4.6rem;
    }
@media screen and (max-width: 559px) {
    .pt-5 .row {
        margin: 0 2rem;
    }

    .required-txt {
        font-size: 1.4rem;
        margin: 2rem;
        margin-top: 4.2rem;
        margin-bottom: 1.2rem;
    }

    .pt-5 input[type="text"],
    input[type="email"],
    input[type="tel"],
    select {
        margin-bottom: 2rem;
        min-height: 4.2rem;
    }

    ul.row>li {
        margin: 0.5rem 1.2rem .5rem 0;
    }
    .p-3 ul.row>li {
        margin:0;
        width: 100%;
    } 
    .pt-5 textarea {
        min-height: 12rem;
    }
    #item_privacy-policy {
        margin-top: 2rem;
    }
   ul.row>li:nth-child(3n) {
    margin-right: 1.2rem;
   }
}
input[type="radio"] {
  /* デフォルト丸表示を消す */
  -webkit-appearance: none;
  appearance: none;
  /* サイズ */
  width: 16px;
  height: 16px;
  /* 未選択時は透明な中身＋青いボーダー */
  background-color: transparent;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  cursor: pointer;
  margin-right: .4rem;
  top: -.2rem;
  position: relative;
}

input[type="radio"]:checked {
  /* 選択時は中を青く塗りつぶし */
  background-color: #FFFFFF;
}

.pp-container {
    border: .1rem solid #ffffff;
    height: 12rem;
    font-size: 1.4rem;
    overflow-y: auto;
    font-weight: inherit;
    line-height: 1.8em;
    padding: 1rem;
    margin-bottom: 2rem;
}

.check #item_privacy-policy .row {
    justify-content: left;
}