@charset "utf-8";
body {
    background: none;
    letter-spacing: 0.1em;
}


#wrapper {
	width: 100%;
	margin: 0 auto;
	text-align: left;
    padding: 30px 10px;
    box-sizing: border-box;
}
#wrapper .alert_message {
	font-weight: bold;
	color: #FFF;
	background-color: #F36;
	text-align: center;
	padding: 15px;
}
#wrapper .show_error{
	text-align: center;
	width: 100%;
	top: 50%;
	margin-top:-1em;
	left:0;
	font-size: 14px;
}
#wrapper .show_error h2{
	font-weight:bold;
}

#content{
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	max-width: 100% !important;
}

/* inputフォーム、テキストエリア、セレクトボックス */
input[type="text"], input[type="password"], textarea, select {
    width: 100%;
    height: auto;
    border: none;
    padding: 20px 20px 20px;
    border-radius: 8px;
    box-sizing: border-box;
    outline: none;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    box-shadow: 0 0 5px rgba(0,0,0,.1);
}

input[type="text"]{
  max-width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}



/*	注釈　*/
.memo {
	font-size: 95%;
	color: #888;
	padding-top: 5px;
}


/*　テーブル設定 */
.box {
	display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 50px;
}
.index_check .box {
    border-bottom: 1px solid #ccc;
    padding: 0 10px 25px;
    margin-bottom: 25px;
}
.box_right,
.box_left {
    box-sizing: border-box;
    vertical-align: top;
}

.box_left {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: normal;
}
.box_left::after{
    content: "任意";
    background: #879299;
    color: #FFFFFF;
    padding: 0 5px;
    border-radius: 5px;
    margin: 0 0 0 10px;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 23px;
    display: inline-block;
}
.req .box_left::after{
    content: "必須";
    background: #921D22;
}
.index_check .box_left{
    font-weight: bold;
}
.index_check .box_left::after{
    display: none;
}
.box_right {
    
}
.privacy_policy{
    padding: 30px 0;
}
.privacy_policy_input{
    box-sizing: border-box;
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    height: 270px;
    overflow-y: scroll;
    font-size: 1.4rem;
    line-height: 1.8;
    color: #333;
    margin-bottom: 40px;
    
}
.privacy_policy_input p{
    margin-bottom: 5px;
}
.privacy_policy_input ol{
    list-style: decimal;
    padding-left: 1em;
}
.privacy_policy_input ol li{
    margin-bottom: 15px;
    padding-left: 0.5em;
}
.privacy_policy_input .ql-indent-1{
    padding-left: 2.5em;
}
.privacy_policy .doi{
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    letter-spacing: 0.1em;
    padding: 30px 0 40px;
}
.privacy_policy .doi p{
    margin-bottom: 10px;
}
.privacy_policy .doi p a{
    text-decoration: underline;
}
.privacy_policy .doi p a:hover{
    text-decoration: none;
}
.privacy_policy .doi label{
    margin-top: 40px;
}
.message-send{
    text-align: center;
}
.message-done{
    text-align: center;
    min-height: 300px;
    line-height: 2.2;
    padding-top: 50px;
}



/* パーツセット（名前）
******************************************************************/
/*　項目　*/
.input_name{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.input_name dt {
	padding-right: 10px;
    color: #333;
}

/*　内容　*/
.input_name dd {
	margin-right: 10px;
}
/*　フォーム　*/
.input_name input {
	width: 180px;
}


/* パーツセット（メールアドレス）
******************************************************************/

/*　確認時の文言（確認のためもう一度入力してください。）　*/
.input_mail .conf .txt{
	padding-top: 10px;
	padding-bottom: 5px;
	font-size: 95%;
	color: #666;
}

/* パーツセット（電話番号）
******************************************************************/
/*　フォーム（1番目）　*/
.input_tel .tel1{
	width: 70px;
}
/*　フォーム（2番目）　*/
.input_tel .tel2{
	width: 70px;
}
/*　フォーム（3番目）　*/
.input_tel .tel3{
	width: 70px;
}

/* パーツセット（日付・生年月日）
******************************************************************/
/*　年　*/
.input_date .year{
	padding-right: 10px;
	padding-left: 5px;
}
/*　月　*/
.input_date .month{
	padding-right: 10px;
	padding-left: 5px;
}
/*　日　*/
.input_date .day{
	padding-left: 5px;
}
/* パーツセット（見出し）
******************************************************************/
.parts_title {
	padding-top: 20px;
	padding-bottom: 20px;
	
	font-weight:bold;
}
/* パーツセット（テキスト）
******************************************************************/

.parts_text {
	padding-bottom: 20px;
}
/* パーツセット（ラジオボタン・チェックボックス）
******************************************************************/
.input_radio01 label {
	padding-right: 10px;
}
.input_radio02 label {
	margin-bottom: 5px;
	display: block;
}
/* パーツセット（住所）
******************************************************************/
/*　郵便番号（前半）　*/
.input_address .post1{
	width: 60px;
}
/*　郵便番号（後半）　*/
.input_address .post2{
	width: 80px;
}
/*　見出し　*/
.input_address .title{
	padding-top: 10px;
	padding-bottom: 5px;
}
/* パーツセット（罫線）
******************************************************************/
.input_line {
	border-top-width: 2px;
	border-top-style: solid;
	border-top-color: #CCC;
	margin-top: 20px;
	margin-bottom: 20px;
}

/* エラーメッセージ
******************************************************************/
.errMessageBox {
	margin: 20px;
    color: red;
}

/* ボタン
******************************************************************/
.form-btn-area{
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin:0 auto;
}
@media screen and ( max-width:768px ) {
.form-btn-area{
    flex-direction: column;
}
}
.privacy_checkbox {
    margin-top: 10px;
}


.privacy_policy input {
    color: #666;
    text-align: center;
    width: 20px;
}

.form-btn {
    background: #000000;
    color: #FFFFFF;
    font-weight: bold;
    padding: 15px 30px 16px !important;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 1.8rem;
    min-width: 250px;
    transition: opacity 0.2s;
    box-sizing: border-box;
}

.form-btn:hover {
    opacity: .7;
}

.form-btn2{
    background: #999999;
    color: #FFFFFF;
    font-weight: bold;
    padding: 15px 30px 16px !important;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    font-size: 1.8rem;
    min-width: 250px;
    transition: opacity 0.2s;
    box-sizing: border-box;
}


/* レスポンシブ対応
***********************************************************************/
@media screen and ( max-width:768px ) {
	.form_content {
		padding: 0 10px;
	}
	.box {
    	display: block;
	}
	.box_left,.box_right {
    	width: 100%;
	}
    
    .box_right,.box_left{
        padding: 10px;
    }
}
    
@media screen and ( max-width:480px ) {
    .form_content {
        padding: 0 5px;
    }    
    .box_left {
        width: 100%;
    }
    .box_right{
        width:100%;
    }        
    .box_right, .box_left{
        padding: 3px;
    }    
    .input_name input{
        width:80px;
    }
        
} 