@charset "UTF-8";

/*==================================
 2022.09 ver.2.0 ssc_design_room
==================================*/

/*========================
  CSS Reset
========================*/

input, button, textarea, select {
  font: inherit; 
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/*========================
全体
========================*/

/*========================
見出し
========================*/

.custom_form > p,
.custom_form > ul {
    text-align: left;
}
.custom_form ul.note-01 li {
    font-size: 1.4rem !important;
}

/*========================
テーブル
========================*/

.custom_form {
    text-align: center;
}
.custom_form table {
    margin: 0 auto 2rem;
    width: 100%;
}
.custom_form tr {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.custom_form table tr:nth-child(odd)  {
    background: #FCFBFA;
}
.custom_form table tr:nth-child(even)  {
    padding: 0.3rem 0;
}

.custom_form table th,
.custom_form table td {
    text-align: left;
    vertical-align: top;
    padding: 0.5rem 0 !important;
}

.custom_form table th {
    padding-left: 1rem !important;
    width: 230px;
    max-width: 30%;
}

.custom_form table td {
    width: 770px;
    max-width: 70%;
}

.custom_form .required {
	color: red;
	font-size: 84%;
}


@media screen and (max-width: 767px) {
    .custom_form {
        width: 100%;
        max-width: 100%;
        }
    .custom_form table {
        width: 100%;
    }
    .custom_form table tr  {
        flex-direction: column;
           width: 100%;
 }
    .custom_form table tr:nth-child(odd)  {
        background: #F7F6F3;
    }
    .custom_form table tr:nth-child(even)  {
        padding: 0.3rem 0;;
    }

    .custom_form table th,
    .custom_form table td {
        width: 100%;
        max-width: 100%;
        display: block;    
    }
    .custom_form table th {
        text-align: left;
        font-weight: normal;
        border-left: 0;
        padding: 1rem;
    }
    .custom_form table td {
        text-align: left;
        line-height: 1.5rem;
        position: relative;
        padding: 0 1rem 1rem 1rem !important;
    }
}

/*========================
フォーム
========================*/
.custom_form input,
.custom_form textarea {
    font-family: monospace, sans-serif;
}

.custom_form input[type="text"]{
    padding: 1rem 1rem;
    border: 2px solid #DDDDDD;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #333;
    font-size: 1.6rem;
}
td input:last-child[type="text"]{
    margin-bottom: 0;
}
::placeholder {
    font-size: 1.3rem;
}

/* birth */
.custom_form input#birth_year{
    width: 15%;
}
.custom_form input#birth_month,
.custom_form input#birth_day{
    width: 10%;
}

/* short */
.custom_form input#zip1,
.custom_form input#age{
    width: 30%;
}

/* middle */
.custom_form input#name,
.custom_form input#kana,
.custom_form input#email,
.custom_form input#reEmail,
.custom_form input#tel1,
.custom_form input#tel2{
    width: 60%;
}

/* long */
.custom_form input#addr1{
    width: 90%;
    margin-top: 5px;
}

.custom_form input#zip1 {
    margin-left: 0.5rem;
}
.custom_form input#gender {
    margin-right: 0.3rem;
}
.custom_form input#reEmail {
    margin-top: 5px;
}


.custom_form textarea{
    padding: 1em;
    border: 2px solid #DDD;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}
.custom_form textarea#free_textarea{
    width: 90%;
    height: 250px;
}

.custom_form select {
    width: 70%;
    padding: 0.5rem 1rem;
    margin-right: 10px;
    text-indent: 0.01px;
    text-overflow: ellipsis;
	-webkit-appearance: none;
	-moz-appearance: none;
    appearance: none;
    position: relative;
    border: 2px solid #DDD;
    border-radius: 5px;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100'><polyline points='0,20 50,80 100,20' style='fill:%23FFFFFF;stroke:%23CCCCCC;stroke-width:20' /></svg>") #FFFFFF;
    background-size: 10px;
    background-position: calc(100% - 20px) center;
    background-repeat: no-repeat;
}
.custom_form select::-ms-expand {
    display: none;
}

.custom_form #tempo {
    margin-bottom: 0.5rem;
}
.custom_form #tempo + a {
    display: block;
}


/* 個人情報 */

#agree_detail_html {
    padding: 2rem 0;
}

#agree_form{
	text-align: center;
}

/* ボタン */

.btn-able {
  position: relative;
  display: inline-block;
  background: #009844;
  border: none;
  border-radius: 4px;
}
.btn-back,
.btn-disabled {
  position: relative;
  display: inline-block;
  background: #999;
  border: none;
  border-radius: 4px;
}
.btn-disabled {
  background: #CCC;
  opacity: 1; 
  cursor: default;
  pointer-events: none;
}
.btn-able::before,
.btn-back::before,
.btn-disabled::before {
  position: absolute;
  top: calc( 50% + -0.5rem );
  left: 1.5rem;
  width: 13px;
  height: 13px;
  content: '';
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13' width='13' height='13' preserveAspectRatio='xMinYMid'%3E%3Cpath fill='%23FFFFFF' d='M9.42462254,6.01040888 L3.41421652,0 L2,1.41421402 L6.59619522,6.0104084 L2,10.6066008 L3.41421354,12.0208149 L9.42462254,6.01040888 Z' /%3E%3C/svg%3E");
  background-repeat:  no-repeat;
  display: block;
  background-size: 13px;
  padding-left: 0px;
  background-position: 0;
}
.btn-back::before {
    transform: rotateZ(180deg);
}
input.btn-link-12{
  position: relative;
  text-decoration: none;
  display: inline-block;
  color: #FFF;
  text-align: center;
  outline: none;
  background: transparent;
  font-weight: bold;
  padding: 2rem 3.2rem;
  font-size: 1.8rem;
  min-width: 200px;
}
.btn-able:hover,
.btn-back:hover {
  opacity: 0.6; 
}
.btn-disabled:hover {
  opacity: 1; 
}

input:disabled {
  cursor: default;
  pointer-events: none;
}

@media screen and (max-width: 599px) {
  .btn-link-12 {
    width: 100%;
  }
}



/* チェックボックス */
.checktext{
}

@media screen and (max-width: 767px) {
    td input[type="text"]{
        display: block;
    }
    td input[type="text"]#zip1{
        display: inline-block;
        margin-bottom: 0.5rem;
    }
    td input[type="text"]#email,
    td input[type="text"]#reEmail{
        display: inline-block;
    }
    td input:first-child[type="text"]{
        margin-bottom: 0;
    }
    td input:last-child,
    td select{
        margin-bottom: 1rem;
    }
   /* short */
    .custom_form input#zip1,
    .custom_form input#age{
     width: 40%;
    }
    /* medium */
    /* long */
    .custom_form input#tel1,
    .custom_form input#tel2,
    .custom_form input#name,
    .custom_form input#kana,
    .custom_form input#addr1,
    .custom_form input#email,
    .custom_form input#reEmail{
        width: 100%;
    }
    .custom_form input[type="text"]{
        padding: 0.5rem;
    }
    .custom_form textarea#free_textarea {
        width: 100%;
    }
    .custom_form input#birth_year,
    .custom_form input#birth_month,
    .custom_form input#birth_day {
        display: inline-block;
        width: 25%;
    }
    .custom_form select {
        width: 100%;
    }
    #reEmail + span,
    select#tempo + a {
        display: block;
    }
    th > br{
        display: none;
    }
    input[type="submit"]{
        width: auto;
        min-width: 200px;
    }
    #age{
        display: inline-block;
    }
}

/*========================
ツールチップ
========================*/
.required-box {
  position : relative;
}
.custom_form span.required {
  position: absolute;
  left: 1rem;
  top: -1rem;
  padding: 1rem;
  font-size: 1.4rem;
  margin: -30px 0 0 0;
  background-color: #FBFAF9;
  border:1px solid #CCC;
  border-radius: 5px;
  color: #333;
  box-shadow: 0 4px 14px -2px rgba(0,8,16,.08);
}
.custom_form span.required::after{
  content: "";
  position:absolute;
  top: 100%;
  left: 1rem;
  width: 0px;
  border-top:14px solid #CCC;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
}

/*========================
必須入力
========================*/
.custom_form td:has(label.required) input:invalid,
.custom_form td:has(label.required) select:not(.opSelected),
.custom_form td:has(label.required) input:placeholder-shown,
.custom_form td:has(label.required) textarea:placeholder-shown  {
    border: 2px solid red;
}


