.fixed_button {
	width: 700px;
    position: fixed;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
	z-index: 100;
	transition: .5s;
	opacity: 1;
}
.fixed_button.none {
	opacity: 0;
	display: none !important;
}


.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-50 {
	margin-top: 50px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-70 {
	margin-top: 70px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-90 {
	margin-top: 90px;
}
.mt-100 {
	margin-top: 100px;
}

.mt-m160 {
	margin-top: -160px;
}
.mt-m500 {
	margin-top: -500px;
}
.mt-m70 {
	margin-top: -70px;
}
.mt-m60 {
	margin-top: -60px;
}
.mt-m36 {
	margin-top: -36px;
}
.mt-m120 {
	margin-top: -120px;
}
.mt-m130 {
	margin-top: -130px;
}
.mt-m40 {
	margin-top: -40px;
}
.mt-m50 {
	margin-top: -50px;
}

.mb-80 {
	margin-bottom: 80px;
}

.w-95 {
	width: 95%;
}
.w-90 {
	width: 90%;
}
.w-85 {
	width: 85%;
}
.w-324 {
	width: 324px;
}
.w-622 {
	width: 622px;
}

.bg-gray {
	background-color: #F5F5F5;
	padding: 50px 0 0;
}

.z1 {
	margin-top: -60px;
    z-index: -1;
    position: relative;
}
.z2 {
	margin-top: -300px;
    z-index: -1;
    position: relative;
}
.z3 {
	margin-top: -190px;
    z-index: 1;
    position: relative;
}
.z4 {
    z-index: 5;
    position: relative;
}

footer {
	width: 100%;
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0 30px;
	margin-top: 0px;
}

footer p {
	font-size: 24px;
	color: #fff;
	font-weight: 300;
}



.content_form {
	width: 100%;
	background-color: #FAFAFA;
	padding: 40px 50px;
}

.content_form .content_title {
	width: 100%;
	margin-bottom: 50px;
}

.content_form .content_title h2 {
	font-size: 46px;
	font-weight: 900;
}

.content_form .content_title h2 span {
	font-size: 34px;
}

.input_unit {
	width: 100% !important;
	display: flex !important;
	flex-direction: column;
	margin: 0 !important;
	align-items: flex-start;
}
.input_unit:not(:last-child) {
	margin-bottom: 60px !important;
}

.my_left {
	padding: 0 !important;
	width: auto !important;
	text-align: left !important;
}

.form_input_label {
	font-size: 32px;
	position: relative;
}

.my_column.my_left label:first-child:after {
	width: 82px !important;
	height: 50px !important;
	background-color: #FF1235 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	font-size: 24px !important;
	border-radius: 0 !important;
	font-weight: 400 !important;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
	right: -100px;
}

.my_right {
	padding: 0 !important;
	width: 100% !important;
	margin-top: 30px !important;
}

form.myForm input[type="text"] {
	width: 100% !important;
	border: solid 1px #ECECEC !important;
	background-color: #fff !important;
	font-size: 28px !important;
	padding: 50px 30px !important;
}

form.myForm .select_frame {
    width: 100%;
	position: relative;
}
form.myForm .select_frame::after {
	content: "";
    position: absolute;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 12px solid #555;
    border-bottom: 0;
    top: 50%;
    right: 30px;
	transform: translatey(-50%);
}

form.myForm select {
	width: 100% !important;
	max-width: 100% !important;
	border: solid 1px #ECECEC !important;
	background-color: #fff !important;
	font-size: 28px !important;
	padding: 50px 30px !important;
	-webkit-appearance: none;
    appearance: none;
	position: relative;
}

form.myForm input[type="image"] {
	width: 100% !important;
	margin-top: 20px !important;
}

.form_input_submit {
	margin-top: 0 !important;
	margin-bottom: 50px;
}

@media only screen and (max-width: 800px) {
	.my_left {
		margin: 0 !important;
	}
}

/* チェックボックスのサイズ調整 */
input[type="checkbox"] {
    width: 40px !important;  /* チェックボックスの幅 */
    height: 40px !important; /* チェックボックスの高さ */
    margin-right: 10px; /* チェックボックスとラベルの間隔を調整 */
    accent-color: #0073e6; /* チェックボックスの色 */
    vertical-align: middle; /* チェックボックスをラベルと垂直方向で中央揃え */
    border: 2px solid #ccc; /* 枠線を追加 */
    border-radius: 4px; /* 角を丸くする */
    background-color: #fff; /* 背景色を白に設定 */
    position: relative; /* チェックマーク用の位置調整 */
    transition: background-color 0.3s, border-color 0.3s; /* アニメーション */
}

/* チェックボックスがチェックされたときの色変更 */
input[type="checkbox"]:checked {
    background-color: #0073e6; /* チェック時の背景色 */
    border-color: #0073e6; /* チェック時の枠線色 */
}

/* チェックマークの非表示 */
input[type="checkbox"]:checked::after {
    content: none; /* チェックマークを非表示にする */
}

/* チェックボックスがチェックされていない場合の状態 */
input[type="checkbox"]:not(:checked) {
    background-color: #fff; /* チェックされていない場合の背景色（白） */
    border-color: #ccc; /* チェックされていない場合の枠線色（グレー） */
}

/* チェックボックスのラベルの位置調整 */
.checkbox_label {
    display: flex;
    align-items: center;
    font-size: 28px; /* フォームと合わせた文字サイズ */
    line-height: 50px; /* チェックボックスとラベルが重ならないように調整 */
}

/* チェックボックスとラベルの間隔調整 */
.checkbox_label label {
    margin-left: 10px; /* チェックボックスとラベルの間隔 */
    white-space: nowrap; /* ラベルの文字が折り返さないように */
    overflow: hidden; /* はみ出した文字を非表示 */
    text-overflow: ellipsis; /* はみ出した部分を省略表示 */
}
/* フォーム内でチェックボックスを横並びにする場合 */
.checkbox_frame {
    display: flex;
    align-items: center;
}

/* フォームのレイアウト調整 */
.input_unit {
    display: flex;
    flex-direction: column;
    margin: 0;
    align-items: flex-start;
    width: 100%;
}

.input_unit:not(:last-child) {
    margin-bottom: 60px;
}

.my_left {
    padding: 0;
    width: auto;
    text-align: left;
}

.form_input_label {
    font-size: 32px;
    position: relative;
}

.my_column.my_left label:first-child:after {
    width: 82px;
    height: 50px;
    background-color: #FF1235;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border-radius: 0;
    font-weight: 400;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -100px;
}

.my_right {
    padding: 0;
    width: 100%;
    margin-top: 30px;
}

/* 入力フィールドのサイズ調整 */
form.myForm input[type="text"],
form.myForm select {
    width: 100%;
    max-width: 100%;
    border: solid 1px #ECECEC;
    background-color: #fff;
    font-size: 28px;
    padding: 50px 30px;
}

/* セレクトボックスの矢印を整える */
form.myForm .select_frame::after {
    content: "";
    position: absolute;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 12px solid #555;
    border-bottom: 0;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
}

/* 送信ボタンのデザイン調整 */
form.myForm input[type="image"] {
    width: 100%;
    margin-top: 20px;
}

.form_input_submit {
    margin-top: 0;
    margin-bottom: 50px;
}

@media only screen and (max-width: 800px) {
    .my_left {
        margin: 0;
    }

    /* モバイル表示用の調整 */
    .content_form {
        padding: 30px 20px;
    }
}