@charset "UTF-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

.NG {
	color: red;
}

.OK {
	color: lime;
}

button {
	outline: none;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	color: #333;
	font-family: "メイリオ", "Meiryo", sans-serif;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.5;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-word;
	-webkit-text-size-adjust: 100%;
}

input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

.button-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}

.button-box2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.button-box3 {
	display: flex;
	flex-direction: column;
    align-items: self-end;
	justify-content: center;
	margin-top: 20px;
	margin-right: 20px;
}

.button-box4 {
	display: flex;
	flex-direction: column;
    align-items: self-start;
	justify-content: center;
	margin-top: 20px;
	margin-left: 20px;
}

.button-box5 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.button-box6 {
	display: flex;
	flex-direction: column;
    align-items: self-end;
	justify-content: center;
}



.button-box--close {
	margin: 20px 0;
}

.button-box--left {
	flex-direction: row;
	justify-content: flex-start;
}

.image-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
    margin-top: 15px;
    margin-bottom: 15px;
}

.form-error-list {
	margin-bottom: 15px;
	color: #e25358;
	font-weight: bold;
}

.form-error-list2 {
	margin-bottom: 15px;
	color: #e25358;
	font-weight: bold;
	width: 100%;
}

.form-error-list3 {
	color: #e25358;
	font-weight: bold;
	font-size: 18px;
}

.form-error-list__item2 {
	text-align: center;
}

.form-error-list:last-child {
	margin-bottom: 0;
}

.button {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 400px;
	height: 64px;
	transition: .2s linear;
	border: 2px solid #4169e1;
	border-radius: 10px;
	background: #4169e1;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.button2 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 600px;
	height: 64px;
	transition: .2s linear;
	border: 2px solid #808080;
	border-radius: 20px;
	background: #808080;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.button3 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 35%;
	height: 64px;
	transition: .2s linear;
	border: 2px solid #4169e1;
	border-radius: 10px;
	background: #4169e1;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.button4 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 80px;
	height: 34px;
	transition: .2s linear;
	border: 2px solid #ee8800;
	border-radius: 10px;
	background: #ee8800;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
}

.button5 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 80px;
	height: 34px;
	transition: .2s linear;
	border: 2px solid #808080;
	border-radius: 10px;
	background: #808080;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
}

.button6 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 600px;
	height: 64px;
	transition: .2s linear;
	border: 2px solid #5fbd8a;
	border-radius: 20px;
	background: #5fbd8a;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.button7 {
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 144px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #6bb6ff;
    border-radius: 10px;
    background: #6bb6ff;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button8 {
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 144px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #808080;
    border-radius: 10px;
    background: #808080;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button9 {
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 144px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #6bb6ff;
    border-radius: 10px;
    background: #6bb6ff;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button10 {
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 144px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #6bb6ff;
    border-radius: 10px;
    background: #6bb6ff;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button11 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 400px;
	height: 64px;
	transition: .2s linear;
	border: 2px solid #ee8800;
	border-radius: 10px;
	background: #ee8800;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1;
}

.button12 {
    display: flex;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 144px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #808080;
    border-radius: 10px;
    background: #808080;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button13 {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 80px;
	height: 34px;
	transition: .2s linear;
	border: 2px solid #ee8800;
	border-radius: 10px;
	background: #ee8800;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
}

/* Q031	アンケート確定画面 AI生成ボタン*/
.button14 {
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    position: relative;
	width: 190px;
    height: 38px;
    transition: .2s linear;
    border: 2px solid #6bb6ff;
    border-radius: 10px;
    background: #6bb6ff;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.button:active {
	background: #fff;
	color: #ee8800;
}

.button2:active {
	background: #fff;
	color: #808080;
}

.button3:active {
	background: #fff;
	color: #6bb6ff;
}

.button4:active {
	background: #fff;
	color: #ee8800;
}

.button5:active {
	background: #fff;
	color: #808080;
}

.button6:active {
	background: #fff;
	color: #5fbd8a;
}

.button7:active {
	background: #fff;
	color: #5fbd8a;
}

.button8:active {
	background: #fff;
	color: #808080;
}

.button9:active {
	background: #fff;
	color: #5fbd8a;
}

.button10:active {
	background: #fff;
	color: #5fbd8a;
}

.button11:active {
	background: #fff;
	color: #ee8800;
}

.button12:active {
	background: #fff;
	color: #808080;
}

.button13:active {
	background: #fff;
	color: #ee8800;
}

.video-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
}

p {
	margin: 0;
}

h2 {
	margin: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

ul {
	padding: 0;
}

ul {
	margin: 0;
	list-style: none;
	list-style-image: none;
}

.input {
	box-sizing: border-box;
	width: 60%;
	height: 64px;
	padding: 20px 20px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.input.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.input2 {
	box-sizing: border-box;
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
}

.input2.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.input3 {
	box-sizing: border-box;
	width: 60%;
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.input3.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.input4 {
	box-sizing: border-box;
	width: 80%;
	height: 64px;
	padding: 20px 20px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.input4.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.input5 {
	box-sizing: border-box;
	width: 100%;
	height: 64px;
	padding: 20px 20px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.input6 {
	box-sizing: border-box;
	width: 60%;
	height: 64px;
	padding: 20px 20px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.input6.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form-tel__input{
	box-sizing: border-box;
	width: calc(5ex + 50px);
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.form-tel__input.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form-tel__input--home{
	box-sizing: border-box;
	width: calc(6ex + 50px);
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.form-tel__input--home.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form-ime-mode-active {
	ime-mode: active;
}


.form-number__input{
	box-sizing: border-box;
	width: 150px;
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
}

.form-number__input.error {
	border-color: #e25358;
	background: #ffe0e1;
}


textarea {
	box-sizing: border-box;
	height: 200px;
	width: 100%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	line-height: 150%;
	resize: none;
}

.textarea {
	box-sizing: border-box;
	height: 200px;
	width: 100%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	line-height: 150%;
	resize: none;
	outline: none;
}

.textarea2 {
	box-sizing: border-box;
	height: 200px;
	width: 80%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	line-height: 150%;
	resize: none;
	outline: none;
	font-size: 19px;
}

.textarea.error {
	border-color: #e25358;
	background: #ffe0e1;
}

button, html
input[type="button"] {
	appearance: button;
	cursor: pointer;
}

input {
	outline: none;
}

.mgn_10 {
	margin-bottom: 10px;
}

.mgn_20 {
	margin-bottom: 20px;
}

.mgn_30 {
	margin-bottom: 30px;
}

.mgn_50 {
	margin-bottom: 50px;
}

.mgn_60 {
	margin-bottom: 60px;
}

.mgn_100 {
	margin-bottom: 100px;
}

.mgn_150 {
	margin-bottom: 150px;
}

botton, input, select, textarea {
	font-size: 100%;
	margin: 0;
	vertical-align: baseline;
}

.radio-box {
	display: flex;
}

.radio {
	height: 100%;
	cursor: pointer;
}

.radio input {
	display: none;
}

input[type="radio"]+label img {
	opacity: 0.2;
}

input[type="radio"]:checked+label img {
	opacity: 1;
}

button, input {
	line-height: normal;
}

.radio-box__item:nth-child(n+2) {
	margin-left: 30px;
}

.form-txt {
	margin-bottom: 15px;
}

.form-address__select, .form-address__input {
	width: 600px;
}

.form-address__input2 {
	width: 100%;
}

.form-mail__input {
	width: 500px;
}

.form-postcode__input {
	width: 115px;
	margin: 0 30px 0 -40px;
}

.radio-box__item {
	display: block;
	position: relative;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	cursor: pointer;
}

.radio__name.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.radio__name {
	display: flex;
	position: relative;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0 20px 0 58px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
}

.radio__name::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 20px;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
	transition: .2s linear;
	background: url(../img/radio_off.png) no-repeat;
}

input:checked+.radio__name::before {
	background: url(../img/radio_on.png) no-repeat;
}

input:checked+.radio__name {
	border-color: #3399cc;
	background: #e7f7ff;
}

.radio__name.error {
	border-color: #e25358;
	background: #ffe0e1;
}

input:checked+.radio__name.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.section {
	margin-top: 20px;
	overflow: hidden;
	border: 1px solid #d0d0d0;
	border-radius: 10px;
	background: #fff;
	text-align: center;
}

.section:first-child {
	margin-top: 0;
}

.section--near {
	margin-top: 20px;
}

.section-in {
	margin-top: 25px;
}

.section2 {
	margin-top: 20px;
	overflow: hidden;
	border: 1px solid #d0d0d0;
	border-radius: 10px;
	background: #fff;
	text-align: center;
}

.section2:first-child {
	margin-top: 0;
}

.main {
	display: block;
	box-sizing: border-box;
	min-width: 940;
	min-height: calc(100vh - 330px);
	padding-top: 10px;
	padding-bottom: 60px;
	background: #dbf0ff;
}

.main2 {
	display: block;
	box-sizing: border-box;
	min-width: 100%;
	min-height: calc(100vh - 440px);
	padding-top: 10px;
	padding-bottom: 50px;
	background: #dbf0ff;
}

.main_error {
	display: block;
	box-sizing: border-box;
	min-width: 940;
	min-height: calc(100vh - 220px);
	padding-top: 10px;
	padding-bottom: 120px;
}

.main__inner {
	width: 940px;
	margin: 0 auto;
	border-radius: 10px;
}

.headline {
	padding: 30px 30px 25px;
	border-bottom: 1px solid #d0d0d0;
	color: #6bb6ff;
	font-weight: bold;
	font-size: 28px;
	line-height: 1;
}

.headline2 {
	padding: 15px 30px 25px;
	border-bottom: 1px solid #d0d0d0;
	color: #6bb6ff;
	font-weight: bold;
	font-size: 26px;
	line-height: 1;
}

.content-wrap {
	padding: 30px;
	background: #fff;
}

.form-table {
	box-sizing: border-box;
	width: 100%;
	border-bottom: 1px solid #d0d0d0;
}

.form-table2 {
	box-sizing: border-box;
	width: 100%;
}

.required {
	display: inline-block;
	padding: 6px 5px;
	background: #ee8800;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	border-radius: 5px;
}

.required2 {
	display: inline-block;
	padding: 6px 5px;
	background: #c7a9a9;
	color: #fff;
	font-size: 14px;
	line-height: 1;
	border-radius: 5px;
}

.form-table__status {
	box-sizing: border-box;
	width: 50px;
	padding: 20px 0 10px 10px;
	border-top: 1px solid #d0d0d0;
	background: #f4f4f4;
	vertical-align: top;
}

.form-table__status--middle {
	vertical-align: middle;
}

.form-table__status2 {
	box-sizing: border-box;
	width: 50px;
	padding: 20px 0 10px 10px;
	border-top: 1px solid #d0d0d0;
	vertical-align: top;
}

.form-table__status2--middle {
	vertical-align: middle;
}


.form-table__ttl {
	box-sizing: border-box;
	width: 150px;
	padding: 24px 10px 10px;
	border-top: 1px solid #d0d0d0;
	background: #B5B5B5;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}

.form-table__status--middle {
	vertical-align: middle;
}

.font-small .form-table__ttl {
	font-size: 20px;
}

.font-large .form-table__ttl {
	font-size: 20px;
}

.form-table__headr {
	font-size: 20px;
	text-align: left;
	text-decoration: underline;
}

.form-table__data {
	position: relative;
	padding: 20px 60px 20px 20px;
	border-top: 1px solid #d0d0d0;
}

.form-table__data2 {
	position: relative;
	padding: 20px 60px 20px 20px;
}

.form-table__data3 {
	position: relative;
	padding: 0px 0px 10px 0px;
}

.form-note-list {
	margin-bottom: 15px;
}

.form-note-list2 {
	margin-bottom: -5px;
}

.form-note-list__item {
	padding-left: 1em;
	text-indent: -1em;
}

.form_field__name {
	display: inline-block;
	width: 200px;
	margin-left: 5px;
}

.form-name {
	display: block;
}

.form-name2 {
	display: flex;
    width: 650px;
}

.form-name3 {
	border-bottom: 1px solid #d0d0d0;
    position: relative;
    padding: 20px 60px 20px 20px;
}

.form-name4 {
	border-bottom: 1px solid #d0d0d0;
    position: relative;
	padding: 0px 15px 5px 5px;
}

.form-name__item {
	display: flex;
	align-items: center;
}

.form-name+.form-name {
	margin: 20px;
}

.form-table__chara02 {
	margin-right: 10px;
}

.form-field__name {
	display: inline-block;
	width: 600px;
	margin-left: 5px;
	font-size: 18px;
}

.form-field__name2 {
	display: inline-block;
	width: 100%;
	margin-left: 5px;
	font-size: 18px;
	text-align: center;
}

.form-field__name3 {
	display: inline-block;
	width: 750px;
	margin-left: 5px;
	font-size: 18px;
}

.form_error-list {
	margin-bottom: 15px;
	color: #e25358;
	font-weight: bold;
}

.form-error-list:last-child {
	margin-bottom: 0;
}

.form-message {
	margin-bottom: 30px;
	font-size: 18px;
	text-align: left;
}

.form-message2 {
	margin-bottom: 30px;
	font-size: 18px;
	color: #e25358;
	font-weight: bold;
	text-align: left;
}

.form-message3{
	font-size: 18px;
	text-align: left;
}

.form-message4 {
	margin-bottom: 10px;
	font-size: 14px;
	text-align: left;
	font-weight: bold;
}

.form-message5 {
	font-size: 22px;
}

.form-message6{
	font-size: 22px;
	text-align:right;
	font-weight: bold;
	padding: 10px 20px 0px 20px;
}

.form-message7{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

/* Q031	アンケート確定画面 pタグ内の文言 */
.form-message8 {
	margin-bottom: 30px;
	font-size: 20px;
	text-align: left;
	width: 80%;
}

.form-message9 {
	font-size: 18px;
	text-align: left;
}

/* Q031	アンケート確定画面 AI生成についての注意文言 */
.form-message10 {
	margin-bottom: 30px;
	font-size: 20px;
	text-align: left;
	width: 80%;
	color: #b86f65;
}

/* Q030	アンケート回答画面 pタグ内の文言 */
.form-message11 {
	margin-bottom: 30px;
	font-size: 20px;
	text-align: left;
}

.form-message12{
	font-size: 18px;
	text-align: center;
}

.form-tel{
	display: flex;
	align-items: center;
}

.form-tel2{
	width: 40%;
	display: flex;
	align-items: center;
}

.form-table__hyphen{
	margin: 0 15px;
	margin-top: 17px;
}

.form-table__hyphen2{
	margin:0 10px;
}

.form_ime-mode-active{
	ime-mode: active;
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    color: #e25358;/*文字色*/
    background: #FFF;
    border: solid 3px #e25358;/*線*/
    border-radius: 10px;/*角の丸み*/
    font-size: 18px;
}
.box2 p {
    margin: 0;
    padding: 0;
}

.box3 {
    padding: 1.0em 1em;
    background: #FFF;
    border: solid 3px;
    border-radius: 10px;
}

.box3 p {
    margin: 0;
    padding: 0;
}

.box4 {
    padding: 0.8em 0.5em;
    background: #FFF;
    border-radius: 10px;
}

.box4 p {
    margin: 0;
    padding: 0;
}

.box5 {
    padding: 1.0em 1em;
    background: #FFF;
	border: 2px solid #d0d0d0;
    border-radius: 10px;
}

.box5 p {
    margin: 0;
    padding: 0;
}

.box6 {
    padding: 0.2em 1em;
    background: #FFF;
    border-radius: 10px;
}

.box6 p {
    margin: 0;
    padding: 0;
}

section {
	display: block;
}

.checkbox {
	margin-left: 20px;
	text-align: center;
	cursor: pointer;
}

.checkbox:first-child {
	margin-left: 0;
}

.checkbox input {
	display: none;
}

.brdisplay {
	display: none;
}

.checkbox__name {
	display: inline-flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 18px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
}

.checkbox__name::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	margin-right: 10px;
	transition: .2s linear;
	border-radius: 5px;
	height: 25px;
	margin-right: 10px;
	transition: .2s linear;
	border-radius: 5px;
	background: url(../img/checkbox_off.png) no-repeat;
}

input:checked+.checkbox__name {
	border-color: #3399cc;
	background: #e7f7ff;
}

.checkbox__name.inactive {
	border-color: #808080;
    background: #d3d3d3;
}

input:checked+.checkbox__name::before {
	background: url(../img/checkbox_on.png) no-repeat;
}

.checkbox__name--bold {
	font-weight: bold;
}

.checkbox__name.disabled {
	background: #f4f4f4;
}

.checkbox__name.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.checkbox-box {
	font-size: 18px;
}

.checkbox-box--left {
	justify-content: flex-start;
}

.form-date__item {
	display: flex;
	align-items: 30px;
}

.form-date__item:nth-child(n+2) {
	margin-left: 30px;
}

.select {
	position: relative;
	box-sizing: border-box;
	width: 115px;
	overflow: hidden;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
}

.select.entered {
	border-color: #3399cc;
}

.form-m__select {
	width: 250px;
}

.select.entered::before {
	border-color: #3399cc;
}

.select.entered::after {
	border-color: #3399cc;
}

.select.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.select.error::before {
	border-color: #e25358;
}

.select.error::after {
	border-color: #e25358;
}

.select select {
	box-sizing: border-box;
	width: 100%;
	height: 64px;
	padding: 0 25px 0 15px;
	border: 0;
	border-radius: 5px;
	outline: none;
	background: none;
	text-indent: 0;
	cursor: pointer;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
}

.select select::-ms-expand {
	display: none;
}

.select::before {
	content: "";
	position: absolute;
	top: 0;
	right: 34px;
	bottom: 0;
	width: 2px;
	border-left: 2px solid #d0d0d0;
}

.select::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	transform: rotate(45deg) translateY(-50%);
	border: 0;
	border-right: solid 2px #d0d0d0;
	border-bottom: solid 2px #d0d0d0;
}

.select:not(is-multiple):after {
	pointer-events: none;
}

.form-list__data {
	margin-top: 15px;
}

 .flat-table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

.flat-table th:first-child{
  border-radius: 5px 0 0 0;
}

.flat-table th:last-child{
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

.flat-table th{
  text-align: center;
  color:white;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  padding: 10px 0;
}

.flat-table td{
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px 0;
}

.flat-table td:last-child{
  border-right: 1px solid #a8b7c5;
}

.flat-table tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

.flat-table tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}


.footer-CopyRight {
	text-align: center;
}

.main__inner2 {
    width: 940px;
    margin: 0 auto;
    margin-top: 10px;
}

.logo2 {
	width: 200px;
	height: 63px;
}

.accordion__body {
	display: none;
}

.accordion__body.is-hidden {
	display: none;
}

.accordion__body.is-shown {
	display: block;
}

/***　おしゃれテーブル3 シアンカラー　***/
.osare3-table {
	width:100%;
	border-right: none !important;
    border-left: none !important;
    border-spacing: 0px 10px;
   }
   
   .osare3-table tbody td, 
   .osare3-table tfoot td {
	line-height:2.5em;
   }
   
   /* 上部ヘッダー（背景：パステルカラー） */
   .osare3-table thead th {
	color: #FFF; 
	font-weight: bold;
	background:#00BCD4;
   }
   
   /* 上部ヘッダーの丸み */
   .osare3-table thead th:nth-child(2) {
	border-radius: 10px 0 0 0;
   }
   .osare3-table thead th:last-child  {
	border-radius: 0 10px  0 0;
   }
   
   .osare3-table th,
   .osare3-table td {
	border-right: none !important;
    border-left: none !important;
   }
   
   /* １行ずつ色変更　不要なら削除 even:奇数行　odd:偶数行 */
   .osare3-table tr:nth-child(even) td { 
	background: #f5f5f5; 
   } 
   .osare3-table tr:nth-child(odd) td {
	background: #FDFDFD; 
   }
   
   /* ヘッダーセル先頭・ボディ項目・フッター項目 */
   .osare3-table tbody th,
   .osare3-table tfoot th,
   .osare3-table thead th:first-child {
	background:none;
	color:#666;
	font-weight: bold;
	line-height:4.5em;
	text-align:right;
   }
   
   /*（共通）　項目の多いテーブルの幅を調整*/
   @media (max-width: 767px) {
	.col6t th,
	.col6t td{
	font-size:0.4em;
	padding: 10px 0px;
	}
	.col5t th,
	.col5t td{
	font-size:0.5em;
	padding: 10px 0px;
	}
	.col4t th,
	.col4t td{
	font-size:0.7em;
	padding: 20px 10px;
	}
	.col3t th,
	.col3t td{
	font-size:0.8em;
	padding: 10px 10px;
	}
   }

.logo {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	transition: .2s linear;
}

.tel {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	transition: .2s linear;
}

.design_nomal{
    border-top: 1px solid #CCCCCC;
    border-left: 1px solid #CCCCCC;
    color: #5F5958;
    font-size:12pt;
    line-height: 150%;
    border-collapse: collapse;
}

.design_nomal th{
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 8px;
	background-color:#ffe4b5;
    color: #2D3E50;
    text-align: left;
	width:"135px"
}

.design_nomal td{
    border-right: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
    padding: 8px;
    margin-bottom: 2.6875rem;
    color: #2D3E50;
    border-radius: 3px;
    background-color: #fff;
    flex: 0 auto;
	width:"100px"
}

.sample_box7 {
    height: 100px;
    background: #FFF;/*背景色*/
    border:1px solid #ffb55b;/*線*/
    color:#000000;/*文字色*/
    border-radius: 10px;/*角の丸み*/
	box-shadow: 2px 2px 2px #ccc; /* 影の色 */
}
.sample_box7 p {
	margin-bottom: 10px;
	font-size: 14px;
	text-align: center;
	font-weight: bold;
}

.heading_center {
    display: flex;
    width: 100%;
    flex-direction: row-reverse;
}

.heading_left {
    width: 300px;
}

.heading_right {
	width:600px;
	text-align:right;
}

.icon_size {
	font-size: 2.1em 
}

.box26 {
    position: relative;
    margin: 1.5em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
	text-align: left;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

.box27 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
	text-align: left;
	width: 50%;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box27 p {
    margin: 0; 
    padding: 0;
}

.box28 {
	width: 200px;
}


input:focus,button:focus{
	outline: 0; 
  }

  .box29{
	display: flex;
	align-items: center;
  }

.box30 {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 3px #95ccff;
    border-radius: 8px;
	text-align: left;
	background: #e4fcff;
}

.box30 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #95ccff;
    font-weight: bold;
}
.box30 p {
    margin: 0; 
    padding: 0;
}

.form-summary__input{

	box-sizing: border-box;
	height: 200px;
	width: 80%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	resize: none;
	outline: none;
	font-size: 18px;
	padding: 15px 11px 15px 15px;
}

.form-summary__input.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form-summary__input2{

	box-sizing: border-box;
	height: 120px;
	width: 80%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	resize: none;
	outline: none;
	font-size: 18px;
	padding: 15px 11px 15px 15px;
}

.form-summary__input2.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form-summary__input3{

	box-sizing: border-box;
	height: 200px;
	width: 90%;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	resize: none;
	outline: none;
	font-size: 18px;
	padding: 15px 11px 15px 15px;
}

.form-summary__input3.error {
	border-color: #e25358;
	background: #ffe0e1;
}

.form_date__input{
	box-sizing: border-box;
	width: 35%;
	height: 64px;
	padding: 20px 15px;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
	background: #fff;
	line-height: normal;
	font-size: 18px;
	background-image : url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="18" height="18" viewBox="0 0 24 24"%3E%3Cpath fill="%230098c2" d="M7 11h2v2H7zm0 4h2v2H7zm4-4h2v2h-2zm0 4h2v2h-2zm4-4h2v2h-2zm0 4h2v2h-2z"%2F%3E%3Cpath fill="%230098c2" d="M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2M19 8l.001 12H5V8z"%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center right 5px;
}

.form_date__input.disabled {
	background: #dadada;
}

#sNewStartDate,#sNewEndDate,#searchStartDate,#searchEndDate {
	width: 75%;
}

.copyDialog{
	margin:10px 5px;
	text-align:left;
	font-size:16px;
	font-weight:normal
}

.copyDialog_table{
	text-align:left;
	margin:5px;
}

.copyDialog_table td{
	display: inline-block;
	margin:5px 0;
}

#sCsvFile{
	font-size: 80%;
	width: 100%;
}

.sw_copyOne{
	padding: 20px;
}

.form_date__input.error {
	border-color: #e25358;
	background: #ffe0e1;
	background-image : url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="18" height="18" viewBox="0 0 24 24"%3E%3Cpath fill="%230098c2" d="M7 11h2v2H7zm0 4h2v2H7zm4-4h2v2h-2zm0 4h2v2h-2zm4-4h2v2h-2zm0 4h2v2h-2z"%2F%3E%3Cpath fill="%230098c2" d="M5 22h14c1.103 0 2-.897 2-2V6c0-1.103-.897-2-2-2h-2V2h-2v2H9V2H7v2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2M19 8l.001 12H5V8z"%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-position: center right 5px;
}

button.link-style-btn{
  cursor: pointer;
  border: none;
  background: none;
  color: #0033cc;
  font-size: 18px;
}
button.link-style-btn:hover{
  text-decoration: underline;
  color: #002080;
}




.form-table__quest {
	box-sizing: border-box;
	width: 100%;
	background: #ffffff;
    font-weight: bold;
	border-radius: 5px;
}

.form-table__quest__headr {
	position: relative;
	cursor: pointer;
	font-size: 26px;
	line-height: 1.4;

}

.form-table__quest__btn{
	position: relative;
	padding: 15px;
	border: 2px solid #000000;
	width: 100%;
	background: #e7e7e7;
	color: #000000;
	text-align: left;
	padding: 15px 0 15px 20px;
	font-size:1em;
	border-radius: 5px;
}

.form-table__quest__btn:hover{
	background-color: #acacac;
}

.form-table__quest__accordionData {
	position: relative;
	border-top: 1px solid #d0d0d0;
}

.form-table__quest__accordionData.is-hidden {
	visibility: collapse;
}

.form-table__quest__accordionData.is-shown {
	display: block;
}

.form-table__quest__data{
	width: 1000px;
	position: relative;
	padding: 20px 60px 20px 20px;
	border: 1px solid #d0d0d0;
}

.radio-003 {
    border: none;
}

.radio-003 label {
	display: inline-flex;
	align-items: center;
	gap: 0 .5em;
	position: relative;
	max-width: 95%;
	width: 95%;
	margin-bottom: .7em;
	padding: .5em .7em;
	border-radius: 3px;
	cursor: pointer;
	border: 2px solid #d0d0d0;
	border-radius: 5px;
}

.radio-003 label:has(:checked) {
    background-color: #2589d026;
}

 .radio-004 label {
    display: inline-flex;
    align-items: center;
    gap: 0 .5em;
    position: relative;
	max-width: 95%;
	width: 95%;
	margin-bottom: .7em;
    padding: .5em .7em;
    border-radius: 3px;
	border-color: #e25358;
    background: #ffe0e1;
    cursor: pointer;
    border: 2px solid #e25358;
    border-radius: 5px;
}

.radio-005 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	margin-bottom: .7em;
	padding: .3em .7em;
    border-radius: 3px;
	border-color: #e25358;
    background: #ffe0e1;
    cursor: pointer;
    border: 2px solid #e25358;
    border-radius: 5px;
}

.radio-006 {
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
  }

  .radio-005 input[type=radio] {
	display: none;
  }
  .radio-005 label {
	position: relative;
	padding: 0 5px;
	color: #ccc;
	cursor: pointer;
	font-size: 60px;
  }
  .radio-005 label:hover {
	color: #ffcc00;
  }
  .radio-005 label:hover ~ label {
	color: #ffcc00;
  }
  .radio-005 input[type=radio]:checked ~ label {
	color: #ffcc00;
  }

  .radio-006 input[type=radio] {
	display: none;
  }
  .radio-006 label {
	position: relative;
	padding: 0 5px;
	color: #ccc;
	cursor: pointer;
	font-size: 60px;
  }
  .radio-006 label:hover {
	color: #ffcc00;
  }
  .radio-006 label:hover ~ label {
	color: #ffcc00;
  }
  .radio-006 input[type=radio]:checked ~ label {
	color: #ffcc00;
  }

  .px {
	font-size: 22px;
  }

  .px2 {
	font-size: 19px;
  }

  .container {
	min-width : 480px;
	max-width : 520px;
  }

  .errorAlert {
	font-size: 18px;
	color: #e25358;
  }

  .wrapper {
	max-width: 1000px;
	margin-block: 50px;
	margin-inline: auto;
  }
  @media screen and (max-width: 1000px) {
	.wrapper {
	  margin-right: 5%;
	  margin-left: 5%;
	}
  }
  
  img {
	max-width: 100%;
	height: auto;
  }
  
  .preview {
	display: flex;
	column-gap: 30px;
	flex-direction: column;
  }
  .preview .file {
	width: 100%;
  }
  .preview .preview-img {
	width: 100%;
  }

  .modal-dialog {
    max-width: 360px;
    margin: 25% auto;
  }
  .modal-sm {
    max-width: 360px;
  }

.form-table__data4 {
	position: relative;
	padding-top:20px;
	padding-bottom:20px;
	border-top: 1px solid #d0d0d0;
}

.form-table__view-questInfo {
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #1900ff;
	background: #9feeb6;
	margin-top: 20px;
}

.form-table__view-questInfo__headr {
	position: relative;
	border: none;
	text-align: left;
	padding: 10px 10px 10px 10px;
}

.form-table__view-questInfo__data{
	position: relative;
	padding: 20px 60px 20px 20px;
	border: none;
}

.form-table__view-questInfo__data2{
	position: relative;
	padding: 20px 60px 20px 20px;
}

.form-Date3{
	border-bottom: 1px solid #030303;
}

.form-input__view-questInfo{
	ime-mode: active;
	height: 34px;
}


*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.btn-wrap {
  margin: 25px 0;
}

a.btn-c {
  font-size: 20px;

  position: relative;

  padding: 0.25rem 2rem 1.5rem 3.5rem;
  height: 70px;
  color: #fff;
  background: #e94919;
  -webkit-box-shadow: 0 5px 0 #d44114;
  box-shadow: 0 5px 0 #d44114;
}

a.btn-c span {
  font-size: 14px;

  position: absolute;
  top: -1.75rem;
  left: calc(50% - 160px);

  display: block;

  width: 320px;
  padding: 0.4rem 0;

  color: #d44114;
  border: 2px solid #d44114;
  border-radius: 100vh;
  background: #fff;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

a.btn-c span:before,
a.btn-c span:after {
  position: absolute;
  left: calc(50% - 10px);

  content: "";
}

a.btn-c span:before {
  bottom: -10px;

  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #d44114 transparent transparent transparent;
}

a.btn-c span:after {
  bottom: -7px;

  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

a.btn-c i {
  margin-right: 1rem;
}

a.btn-c:hover {
  -webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);

  color: #fff;
  background: #eb5b30;
  -webkit-box-shadow: 0 2px 0 #d44114;
  box-shadow: 0 2px 0 #d44114;
}

.textLeft{
	text-align: left;
	font-size: 22px;
}

.linkPageModal{
	font-size: 135% !important;
}

.reviewsPageModal{
	font-size: 135% !important;
}

.accordion-001 {
	width: 100%;
    background-color: #e4fcff;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
	font-size: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    border-radius: 5px;
    background-color: #95ccff;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

.accordion-001 dl {
	padding: 0px 20px 0px 20px;
}

.accordion-001 dt {
	padding-bottom: 20px;
}

.accordion-001 dd {
	padding-bottom: 20px;
	margin-left: 20px;
}

.form-q__select {
	width: 250px;
	background-color: #ffffff;
}

.form-Date2 {
	display: flex;
	align-items: center;
}

.form-Date4 {
	width: 70%;
}

.bk2{
	display: none;
}

.top_btn{
  position: fixed;
  bottom: 10px;
  right: 155px;
  width: 130px;
  height: 40px;
  font-size: 16px;
  border-radius: 10px;
  color: #fff;
  background-color: rgba(255, 100, 0, 0.8);
  border: 2px solid #ee8800;
  padding: 6px 3px;
  font-weight: bold;
  line-height: 1;
}

.down_btn{
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 130px;
  height: 40px;
  font-size: 16px;
  border-radius: 10px;
  color: #fff;
  background-color: rgba(255, 100, 0, 0.8);
  border: 2px solid #ee8800;
  padding: 6px 3px;
  font-weight: bold;
  line-height: 1;
}

.close_btn{
	position: fixed;
	bottom: 10px;
	right: 20px;
	width: 130px;
	height: 40px;
	font-size: 16px;
	border-radius: 10px;
	color: #fff;
	background: #808080;
	border: 2px solid #808080;
	padding: 6px 3px;
	font-weight: bold;
	line-height: 1;
  }

.top_btn:active {
	background: #fff;
	color: #ee8800;
}

.down_btn:active {
	background: #fff;
	color: #ee8800;
}

.close_btn:active {
	background: #fff;
	color: #808080;
}





.body2 {
  font-family: "Open Sans", sans-serif;
  line-height: 1.25;
}

.table2 {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 12pt;
}
.table2 tr {
  background-color: #fff;
  border-bottom: 2px solid #e6e6fa;
}
.table2 tr:nth-child(even){
  background-color: #eee;
}
.table2 th,
.table2 td {
  padding: .35em 1em;
}
.table2 thead th {
    /*font-size: .85em; */
    padding: 1em;
}
.table2 thead tr{
  background-color: #1e90ff;
  color:#fff;
}
.table2 tbody th {
  text-align: left;
  /*font-size: .8em;*/
}
.txt{
   text-align: left;
   /*font-size: .75em;*/
}
.price{
  text-align: right;
  color: #FF7043;
  font-weight: bold;
}

/* 
Q040～Q043 お申込みフローSTEP
 */
.apply-flow-step {
  display: flex;
  justify-content: space-between;
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
}

.apply-flow-step li {
  flex: 1;
  text-align: center;
  position: relative;
}


/* デフォルトの線（グレー） */
.apply-flow-step li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 18px;
	right: -50%;
	width: 100%;
	height: 2px;
	background: #ccc;
	z-index: 0;
}

/* 完了済みステップのliの後ろの線を青色に */
.apply-flow-step li.step-finish-done:not(:last-child)::after {
	background: #007bff;
}

.custom-circle-box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.step-no {
  position: relative;
  z-index: 1; /* 数字を前面に */
  width: 36px;
  height: 36px;
  border-radius: 50%;
  line-height: 36px;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 6px;
  border: 2px solid #ccc;
  background: #f5f5f5;
  color: #ccc;
  transition: all 0.3s;
}

.step-now {
  border-color: #007bff;      /* 青 */
  background: #007bff;
  color: #fff;
  width: 45px;
  height: 45px;
  line-height: 45px;
  font-size: 22px;
  box-shadow: 0 0 0 4px #e3f0ff;
  font-weight: bold;
  z-index: 2;
}

.step-finish {
  border-color: #007bff;      /* 青 */
  background: #007bff;
  color: #fff;
}

.step-yet {
  border-color: #ccc;
  background: #f5f5f5;
  color: #ccc;
}

.step-title {
  font-size: 14px;
  margin-top: 2px;
  color: #333;
}

.apply-flow-step li:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 18px;
  right: -50%;
  width: 100%;
  height: 2px;
  background: #ccc;
  z-index: 0;
}

.apply-flow-step li .step-now ~ .step-title {
  font-weight: bold;
  color: #007bff; /* 青 */
}
.apply-flow-step li .step-finish ~ .step-title {
  color: #007bff; /* 青 */
}

/* 住所自動入力ボタン*/
.addressInputBtn {
	display: inline-block;
	padding: 0.9em 2em 0.5em;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	background: linear-gradient(90deg, #4f8cff 0%, #2356c7 100%);
	border: none;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(79,140,255,0.15);
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
	margin-left: 16px;
	margin-bottom: 6px;
	user-select: none;
}
.addressInputBtn:hover {
	background: linear-gradient(90deg, #2356c7 0%, #4f8cff 100%);
	box-shadow: 0 4px 16px rgba(79,140,255,0.25);
	transform: translateY(-2px) scale(1.03);
}
.addressInputBtn:active {
	background: #2356c7;
	box-shadow: 0 1px 4px rgba(79,140,255,0.10);
	transform: translateY(1px) scale(0.98);
}
.postmark{
	width: 60px;
	vertical-align: middle;
	/* font-weight: bold; */
}
.form-postcode{
	display: flex;
	margin-bottom: 10px;
}
.form-postcode_sentence{
	font-size: 14px;
	color: #666;
	margin-top: 10px
}

#sNewTitle{
	width: 262px;
	height: 100px;
	font-size: 16px;
}

/* 
Q041 コード認証
 */
.otp-input {
  width: 60px;
  height: 60px;
  font-size: 24px;
    text-align: center;
    margin: 5px;
}

.otp-container {
    display: flex;
    justify-content: center;
}

#submit-btn {
  /*padding: 10px 20px;*/
  width: 400px;
  height: 64px;
  font-size: 20px;
  background-color: #ccc;
  border: none;
  border-radius: 10px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#submit-btn:enabled {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .2s linear;
  border: 2px solid #4169e1;
  background: #4169e1;
  color: #fff;
}

#submit-btn:enabled:active {
   background: #fff;
   color: #ee8800;
}


.password-wrapper {
  position: relative;
  width: 100%;
}

.password-input {
  padding-right: 36px; /* アイコン分の余白 */
  box-sizing: border-box;
}

.toggle-icon {
  position: absolute;
  right: 43%;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #666;
  font-size: 18px;
}

.toggle-icon2 {
  position: absolute;
  right: 23%;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #666;
  font-size: 18px;
}

.no-border {
  border: none;           /* 枠線を消す */
  background: transparent;/* 背景を透明にする（任意） */
  /*pointer-events: none;  */ /* マウス操作を無効化（完全に入力不可にしたい場合） */
  font-family: "メイリオ", "Meiryo", sans-serif;
}


/* 約款スクロールボックス */
.agreement-box {
  max-height: 250px;
  overflow-y: scroll;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 6px;
  margin-bottom: 10px;
  font-size: 16px;
}

/* チェックボックス枠 */
.agreement-wrapper {
	width: 45%;
    border: 1px solid #ccc;
    border-radius: 12px;
    padding: 16px;
    transition: border 0.3s, background-color 0.3s;
}

/* ラベル全体をクリック範囲に */
.agreement-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  width: 100%;
  user-select: none;
}

/* デフォルトのチェックボックス非表示 */
.agreement-label input[type="checkbox"] {
  display: none;
}

/* カスタムチェック */
.custom-check {
  width: 20px;
  height: 20px;
  border: 2px solid #666;
  border-radius: 4px;
  position: relative;
  transition: all 0.25s ease;
}

/* チェックON */
.agreement-label input[type="checkbox"]:checked + .custom-check {
  background-color: #0099cc;
  border-color: #0099cc;
}
.agreement-label input[type="checkbox"]:checked + .custom-check::after {
  content: "✓";
  position: absolute;
  top: -2px;
  left: 5px;
  font-size: 18px;
  color: #fff;
}

/* 説明テキスト */
.agreement-label .agreement-text {
  font-size: 18px;
  color: #333;
}

/* エラー時の赤枠＋背景 */
.agreement-wrapper.error {
  border-color: #e25358;
  background-color: #ffe8e8;
}

.agreement-wrapper.scroll-end {
    border-color: #4caf50;
    background-color: #f0fff0; /* スクロール完了で色を薄緑に */
}

  .custom-box {
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
  }





