﻿@charset "UTF-8";
/*
* Don't Delete
* Login Common - Change as needed
*/

:root {
  --primary: #00b7ee!important;
  --primary-hover: #009ece!important;
  --primary-shadow: 0 0 0.2rem rgb(38 197 233 / 50%)!important;
}
.custom-login {
  /*background: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0)), url(../../img/footer.jpg);*/
  background-size:cover;
  background-repeat: no-repeat;
  background-position: bottom;
  background-attachment: fixed;
}
/*
* Don't Delete
* Register Common - Change as needed
*/
.costom-register {
  max-width: 1024px;
  margin-top: 4.5rem;
}
.costom-register h2 {
  font-size: 1.25rem;
  margin-bottom: 15px;
}
.badge-require {
  border: 1px solid #ea0000;
  color: #ea0000;
  background-color: #fff;
}
.badge-optional {
  border: 1px solid #00bcff;
  color: #00bcff;
  background-color: #fff;
}

/*
* Don't Delete - Change as needed
* StepBar Common
*/
.stepBar {
  display: flex;
  max-width: 100%;
  position: relative;
  margin: 20px auto;
  text-align: center;
  padding-left: 0;
}
.stepBar li {
  font-size: 12px;
  list-style: none;
  position: relative;
  width: 33.333%;
}
.stepBar li:after {
  background: rgba(0, 0, 0, 0.3);
  content: "";
  width: calc(100% - 30px);
  height: 2px;
  position: absolute;
  left: calc(-50% + 15px);
  top: 14px;
}
.stepBar li:first-child:after {
  display: none;
}
.stepBar li span {
  height: 30px;
  width: 30px;
  font-size: 20px;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  display: inline-block;
  margin-bottom: 5px;
  line-height: 40px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
}
.stepBar .visited:after, .stepBar .visited span {
  background: rgba(32, 168, 216, 1);
}

/*
* Don't Delete - Change as needed
* RadioButton Button Style
*/
.form-check-btn {
  margin-right: 0;
}
.form-check-btn input[type="radio"],
.form-check-btn input[type="checkbox"] {
  display: none;
}
.form-check-btn input[type="radio"]:checked + label,
.form-check-btn input[type="checkbox"]:checked + label { 
  background-color: var(--primary);
  color: #fff;
}
.form-check-btn .aspNetDisabled + label,
.form-check-btn .aspNetDisabled + label:active {
  color: #FFA500!important;
  background-color: transparent!important;
  opacity: 0.65!important;
  cursor:not-allowed;
}

/*credit list- delete btn style*/
.position-badge-credit {
  position:absolute!important;
  top: -5px!important;
  right: -6px!important;
}
.position-badge-credit i {
  font-size: 15px;
}

/*
* Common Style
*/
/* Blink Common */
.blinking{
  -webkit-animation:blink 1.5s ease-in-out infinite alternate;
  -moz-animation:blink 1.5s ease-in-out infinite alternate;
  animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
  0% {opacity:0;}
  80% {opacity:1;}
  100% {opacity:1;}
}
@-moz-keyframes blink{
  0% {opacity:0;}
  80% {opacity:1;}
  100% {opacity:1;}
}
@keyframes blink{
  0% {opacity:0;}
  80% {opacity:1;}
  100% {opacity:1;}
}
.border-hover {
 border-bottom: solid 2px #d4d4d4 ;
}
.border-hover:hover{
 border-bottom: solid 2px #167495;
}

.custom-bg{
  background-color: #242244;
  color: #fff;
}

.card-brand-logo-size{
  height:55px;
}
@media (max-width: 768px){
  .card-brand-logo-size{
    height:40px;
  }
}

/*signup*/
/*カスタムカラー*/
.btn-custom {
  color: #fff;
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-custom:hover {
  color: #fff;
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
}

.btn-custom:focus, .btn-custom.focus {
  -webkit-box-shadow: var(--primary-shadow);
          box-shadow: var(--primary-shadow);
}

.btn-custom.disabled, .btn-custom:disabled {
  color: #23282c;
  background-color: #e3e3e3;
  border-color: #e3e3e3;
}

.btn-custom:not(:disabled):not(.disabled):active, .btn-custom:not(:disabled):not(.disabled).active,
.show > .btn-custom.dropdown-toggle {
  color: #fff;
  background-color:  var(--primary);
  border-color:  var(--primary);
}

.btn-custom:not(:disabled):not(.disabled):active:focus, .btn-custom:not(:disabled):not(.disabled).active:focus,
.show > .btn-custom.dropdown-toggle:focus {
  -webkit-box-shadow: var(--primary-shadow);
          box-shadow: var(--primary-shadow);
}

.btn:focus, .btn.focus{
  box-shadow: var(--primary-shadow);
}

.bg-custom{
    background-color: var(--primary);
}
.bg-custom-light-yellow{
    background-color: #FFEAC4;
}
.text-custom{
    color: var(--primary)!important;
}
.recommend-mark{
    position: relative;
}
.recommend-mark::before{
    content: "";
    background-image: url(../../img/osusume-orange.png);
    background-size: cover;
    width: 100px;
    height: 25px;
    z-index: -1;
    position: absolute;
    top: -25px;
    right: 0px;
}
.input-supplement{
    font-size: 13.5px;
    color: #FFA500!important;
}
.form-content-title{
    font-size: 15px;
}
.form-label-name{
    font-size: 15px;
    color: #555555;
}
.form-btn{
    font-size: 15px;
    border: #BBBBBB 1px solid;
    background-color: #D9D9D9;
    color: #555555;
}
.form-time-btn{
    width: 23%;
}
.form-input-tel{
    width: 29%;
}
.form-btn-payment{
    width: 31%;
}
.form-btn-radio{
    display: none;
}
.form-btn-radio:checked + .form-btn{
    background-color: #FFA500!important;
}
.form-image-select{
    display: none;
}
.form-image-select-btn{
    padding: 5px 40px;
    cursor: pointer;
    border: #555555 1px solid;
    background-color: #D9D9D9;
    color: #555555;
    font-size: 15px;
    border-radius: .25rem;
}
.form-image-close-btn{
    background-color: #FF3311;
    color: white;
    border: #555555 solid 1px;
    border-radius: .25rem;
    cursor: pointer;
}

.save-load-btn{
    font-size: 12px;
    color: #555555;
    border: 1px solid #FFA500;
    border-top: unset;
    border-radius: 0 0 5px 5px;
    padding: 1px 0px;
    position: absolute;
    top: 0;
    right: 0;
}
.save-load-btn a{
    color: #555555;
    text-decoration: #555 solid underline;
}
.save-load-btn:hover{
    color: #555555;
}
#save-load-buttons{
    display: none;
}
#save-load-buttons li{
    list-style:none;
}
#save-load-buttons button{
    color: white;
    background-color: #FFA500;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;

    width: 100%;
    font-size: 13px;
}
.save-load-date{
    text-decoration: unset;
}
.form-title{
    font-size: 2rem;
    line-height: 2.5rem;
}
.proc-step-container li{
    list-style: none;
    margin-right: 26px;
    font-size: 13px;
    color: white;
    display: block;
    background-color: lightgray;
    height: 30px;
    line-height: 30px;
    padding: 0px 8px 0px 8px;
    margin: 0px 26px 4px 0px;
    position: relative;
}
.proc-step-container li::before{
    content: ' ';
    width: 0px;
    height: 0px;
    position: absolute;
    left: 100%;
    top: 0px;
    border: 15px solid transparent;
    border-left: 15px solid lightgray;
}
.proc-step-container li.proc-step-input{
    background-color: #ffcccc;
}
.proc-step-container li.proc-step-input::before{
    border-left: 15px solid #ffcccc;
}
input[type="text"], select, textarea{
    border: 1px solid #BBBBBB!important;
}
select{
    height: 28px;
}
.heading-container{
    position: relative;
    display: block;
    margin: 1.6em 0 1.4em 0;
    padding: 12px 12px;
    width: 100%;
    font-size: 1.3em;
    color: #555;
    background: #fff;
    border: solid 2px #555;
    box-sizing: border-box;
    font-weight: bold;
}
.heading-container::before {
    content: "";
    position: absolute;
    bottom: -24px;
    left: 10%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-top: 12px solid #fff;
    z-index: 2;
}
.heading-container::after {
    content: "";
    position: absolute;
    bottom: -29px;
    left: 10%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-top: 14px solid #555;
    z-index: 1;
}
.form-custom-line{
    background-color: var(--primary);
    height: 1px;
    display: block;
    margin: 0 calc(50% - 55%);
    width: 110%;
}
.req-mark::after{
    content: "必須";
    display: inline-block;
    font-size: 0.8em;
    height: 1.4em;
    color: #FFFFFF;
    background-color: #FF3311;
    font-family: meiryo, 'Hiragino Kaku Gothic Pro', sans-serif;
    white-space: nowrap;
    border-radius: 4px;
    position: relative;
    margin: 0 0 0 5px;
    line-height: 1rem;
    padding: 0 5px;
}
.any-mark::after{
    content: "必須";
    display: inline-block;
    font-size: 0.8em;
    height: 1.4em;
    color: #FFFFFF;
    background-color: #185dc5;
    font-family: meiryo, 'Hiragino Kaku Gothic Pro', sans-serif;
    white-space: nowrap;
    border-radius: 4px;
    position: relative;
    margin: 0 0 0 5px;
    line-height: 1rem;
    padding: 0 5px;
}
.form-submit-container{
    border-top: #FFA500 solid 1px;
}
.form-submit-btn{
    font-size: 13px;
}
.is-invalid .form-control {
  border-color: #f86c6b!important;
}

/* スマホ用CSS */
@media screen and (max-width: 450px) {
    .form-time-btn{
        display: block;
        width: 100%;
    }
}
@media screen and (max-width: 650px) {
    .form-btn-payment{
        display: block!important;
        width: 100%;
    }
}
.fileup-deletebtn{
  background-color:#ff0000;
  border-radius: 4px;
}