html, body {
    min-height: 100vh;
    margin: 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    position: relative;
}

.nodisp {
    display: none;
}
.button {
    display: inline-block;
    cursor: pointer;
    padding: 10px 20px;
    width: 200px;
    text-align: center;
    border: 1px solid #68c7ff;
    background: #fff;
}
.button:hover {
    background: #c6eaff;
}
.disabled {
    background: #bfbfbf;
    pointer-events: none;
}
label {
    cursor: pointer;
}
.link_button {
    text-decoration: none;
    color: #000;
}
.text_link {
    color: #0070C0;
    text-decoration: none;
}
.center {
  text-align: center;
}

#header {
    height: 50px;
    border-bottom: 1px solid;
    background: #fff;
}
#header_box {
    display: flex;
    height: 100%;
    justify-content: space-between;
    align-items: center;
}
#logo_box {
    padding: 10px;
}
#logo_box img {
    width: 270px;
}
#menu_box {
    padding: 10px;
}

#menu_box {
    height: 50px;
    width: 50px;
    position: relative;
    text-align: center;
}

#menu_button {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    cursor: pointer;
}
#menu_button span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    right: 0;
    width: 50%;
    margin: auto;
    height: 4px;
    background-color: #fff;
    border-radius: 4px;
}
#menu_button span:nth-of-type(1) {
    top: 10px;
}
#menu_button span:nth-of-type(2) {
    top: 20px;
}
#menu_button span:nth-of-type(3) {
    top: 30px;
}
#menu_check:checked + #menu_button span:nth-of-type(1) {
  transform: translateY(10px) rotate(-45deg);
}
#menu_check:checked + #menu_button span:nth-of-type(2) {
  opacity: 0;
}
#menu_check:checked + #menu_button span:nth-of-type(3) {
  transform: translateY(-10px) rotate(45deg);
}

#menu_content {
    display: none;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 60px;
    right: 0;
    width: 250px;
    background: #3f51b5;
    color: #fff;
    list-style-type: none;
    z-index: 100;
}
#menu_check:checked ~ #menu_content {
    display: block;
}
.menu_item {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    border-bottom: 1px solid;
}
.menu_item a {
    text-decoration: none;
    color: #fff;
    display: inline-block;
    width: 100%;
}
.visible {
    visibility: visible;
}
.v_hide {
    visibility: hidden;
}

#main {
    min-height: calc(100vh - 77px);
    background: #f9f9f9;
}

#content {
    max-width: 1000px;
    margin: auto;
    padding: 30px;
}

#product_name {
    padding: 5px 10px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: 2px solid #68c7ff;
}
#form_title {
    padding: 5px 10px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: 2px solid #68c7ff;
    margin: 0.5em 0;
}
#item_form {
    background: #fff;
}
.item_row {
    display: flex;
    border-bottom: 1px solid #c9c9c9;
}
.item_title {
    width: 200px;
    min-width: 200px;
    padding: 5px 10px;
    background: #F0F0F0;
}
.item_content {
    flex: 1;
    padding: 5px 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    background: #fff;
    max-width: calc(100% - 240px);
    overflow-wrap: break-word;
}
.item_name_block + .item_name_block {
    margin-left: 10px;
}
.item_name_head {
    margin-right: 10px;
}
.text_input {
    width: 100%;
    box-sizing: border-box;
}
.textarea {
    width: 100%;
    height: 50px;
    box-sizing: border-box;
}
#text_count_check_box {
    width: 100%;
    text-align: right;
}
#text_count_check_elm.over_size {
  color: red;
  font-weight: bold;
}
.num_input {
    width: 3em;
}
.size_unit {
    margin-left: 5px;
}
.number_attention {
    margin-left: 1em;
    font-size: 85%;
}
.input_error {
    display: none;
    width: 100%;
    color: red;
    font-weight: bold;
    font-size: 90%;
    margin: 5px 0;
}
#output_format_attention {
    width: 100%;
    font-size: 85%;
}
#output_format_attention a {
    margin-left: 1em;
}

#prm_img {
    height: 250px;
}

#submit_box {
    margin-top: 20px;
    display: flex;
    justify-content: space-around;
}
#submit_button {

}
#confirm_submit_button {
    pointer-events: none;
}
#confirm_submit_button.verified {
    pointer-events: auto;
}
#confirm_display_text {
    width: 100%;
}

.qr_check_text_box {
    text-indent: -1em;
    padding-left: 1em;
    color: red;
    font-weight: bold;
    font-size: 14px;
    width: 100%;
}
.qr_check_box {
    width: 100%;
    margin: 1em auto;
}
#qr_check_label {
    border-bottom: 2px solid #68c7ff;
}
#qr_check_text {

}
#qr_check_label i {
    font-size: 20px;
}
#qr_check + i.fa-circle-xmark {
    color: #ff2d2d;
}
#qr_check + i.fa-circle-xmark + i.fa-circle-check {
    display: none;
}
#qr_check:checked + i.fa-circle-xmark {
    display: none;
}
#qr_check:checked + i.fa-circle-xmark + i.fa-circle-check {
    display: inline-block;
    color: #8bc34a;
}

.confirm_check_label {
    border-bottom: 2px solid #68c7ff;
}
.confirm_check_label i {
    font-size: 20px;
}
.confirm_check_label input[type="checkbox"] + i.fa-circle-xmark {
    color: #ff2d2d;
}
.confirm_check_label input[type="checkbox"] + i.fa-circle-xmark + i.fa-circle-check {
    display: none;
}
.confirm_check_label input[type="checkbox"]:checked + i.fa-circle-xmark {
    display: none;
}
.confirm_check_label input[type="checkbox"]:checked + i.fa-circle-xmark + i.fa-circle-check {
    display: inline-block;
    color: #8bc34a;
}

.payment_method_card {
    display: inline-block;
}
.payment_method_card + .payment_method_card {
    margin-left: 1em;
}
.payment_method_card_text {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    height: 50px;
    border: 1px solid #68c7ff;
}
input[type="radio"]:checked + .payment_method_card_text {
    background: #c6eaff;
}

.check_item_box {
    width: 100%;
}
.check_item_box + .check_item_box {
    margin-top: 30px;
}
.check_item_title {
    padding: 3px;
    /*border-bottom: 2px solid #68c7ff;*/
    display: flex;
    align-items: center;
}
.check_item_title i {
    color: #68c7ff;
    margin-right: 1em;
}
.check_item_number {
    /*margin-right: 1em;*/
}
#mail_check_box {

}

#mail_send_button_block{
    margin: 20px;
}
#confirm_mail_button {
    display: inline-block;
    width: 100px;
    padding: 5px;
    text-align: center;
    border: 1px solid #68c7ff;
    background: #c6eaff;
    cursor: pointer;
}
#confirm_mail_button.verified {
    background: #bfbfbf;
    pointer-events: none;
}
#verify_box {
    display: flex;
    align-items: center;
}
#mail_check_icon {
    display: flex;
    align-items: center;
    height: 100%;
    font-size: 20px;
}
#mail_check_input {
    width: 3em;
    margin-left: 1em;
}
#mail_check_icon i.fa-circle-xmark {
    color: #ff2d2d;
}
#mail_check_icon i.fa-circle-xmark + i.fa-circle-check {
    display: none;
}
#mail_check_icon.verified i.fa-circle-xmark {
    display: none;
}
#mail_check_icon.verified i.fa-circle-xmark + i.fa-circle-check {
    display: inline-block;
    color: #8bc34a;
}

#mail_check_block {
    margin-top: 10px;
    margin-bottom: 1em;
}
.mail_check_text_box {
    text-indent: -1em;
    padding-left: 1em;
    color: red;
    font-weight: bold;
    font-size: 14px;
}

#footer {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 25px;
    background: #fff;
    border-top: 1px solid;
}
#copyright {
    text-align: center;
}

#error_text {
    background: #fff;
    padding: 30px;
}
#error_back_box {
    display: flex;
    justify-content: center;
    align-items: center;
}
#error_text .item_row {
    border: 1px solid #c9c9c9;
    margin-bottom: 1em;
}

#dl_link_box {
    background: #fff;
    padding: 30px;
}
#dl_button {
    background: #68c7ff;
    color: #fff;
}
#thanks_back_box {
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 752px){
    .item_name_block + .item_name_block {
        margin-left: 0;
    }
}

@media screen and (max-width: 600px){
    html, body {
        font-size: 14px;
    }
    .item_row {
        flex-wrap: wrap;
    }
    .item_title {
        width: 100%;
        border: none;
        border-bottom: 1px solid #ddd;
    }
    .item_content {
        padding: 15px 10px;
        width: 100%;
        max-width: calc(100% - 20px);
    }
    .item_name_block {
        display: block;
        width: 100%;
        margin: 5px 0;
    }
    .item_name_block + .item_name_block {
        margin-left: 0;
    }
    .item_name_input {
        width: 100%;
    }
    .item_name_block input[type="text"] {
        width: 100%;
        box-sizing: border-box;
    }
    .item_name_head {
        display: inline-block;
    }
    .item_name_input {
        display: inline-block;
    }
    .textarea {
        height: 100px;
    }
    .radio_box {
        display: flex;
        justify-content: space-around;
    }

    #qr_check_img {
        margin: auto;
    }

    #confirm_submit_button {
        margin-left: 20px;
    }

    #dl_link_box {
        padding: 10px;
    }
    #dl_link_box p {
        margin: 0;
    }

    .nodisp_sp {
        display: none;
    }
    #prm_img_box {
        margin: auto;
    }
}


/* loading */
#loading-bg {
    display:none;
    width:100%;
    height:100%;
    background-color: rgba(0,0,0,0.2);
    position:fixed;
    top:0;
    left:0;
    z-index: 499;
}
.sk-fading-circle {
    display: none;
    margin: auto;
    width: 40px;
    height: 40px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
}

.loader {
    width: 50px;
    aspect-ratio: 1;
    display:grid;
    -webkit-mask: conic-gradient(from 15deg,#0000,#000);
    animation: l26 1s infinite steps(12);
}
.loader,
.loader:before,
.loader:after{
    background:
      radial-gradient(closest-side at 50% 12.5%,
      #68c7ff 96%,#0000) 50% 0/20% 80% repeat-y,
      radial-gradient(closest-side at 12.5% 50%,
       #68c7ff 96%,#0000) 0 50%/80% 20% repeat-x;
}
.loader:before,
.loader:after {
    content: "";
    grid-area: 1/1;
    transform: rotate(30deg);
}
.loader:after {
    transform: rotate(60deg);
}

@keyframes l26 {
    100% {transform:rotate(1turn)}
}
