@charset "utf-8";

/* CSS Document */
.wrap01 {
	width: 88%;
	margin-left: auto;
	margin-right: auto;
}

header {
	padding: 6.9vw 0 4.8vw;
}

header .wrap01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

header .wrap01 .logo {
	width: 35%;
}

header .wrap01 .flow {
	width: 62.7%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

header .wrap01 .flow li {
	width: 23.8%;
	padding-top: 0.2vw;
}

header .wrap01 .flow li>span {
	display: block;
	font-size: 2.4vw;
	font-weight: bold;
	color: #595757;
	text-align: center;
	line-height: 1.5em;
	padding-bottom: 1.4vw;
	background-image: url("../images/common/head_category_bg_deactive.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
	letter-spacing: 0;
}

header .wrap01 .flow li>span.active {
	color: #000;
	background-image: url("../images/common/head_category_bg_active.png");
}

#slide_box {
	width: 100%;
	overflow: hidden;
	position: relative;
	min-height: 1px;
	transition-property: min-height;
	transition-duration: 0.5s;
	transition-timing-function: ease-in-out;
}

#slide_box #slide_content {
	display: flex;
	flex-wrap: wrap;
	/* position: relative; */
	left: 0vw;
	min-height: 1px;
	transition-property: left;
	transition-duration: 0.5s;
	transition-timing-function: ease-in-out;
}

#slide_box #slide_content .slide_block {
	width: 100vw;
}

#slide_box #slide_content .slide_block .bg {
	/* background-color: #d7eefa; */
}

#slide_box #slide_content h2 {
	font-size: 6.5vw;
	font-weight: bold;
	text-align: center;
	line-height: 1.5em;
	color: #305a9a;
}

#slide_box #slide_content h2 span {
	background: linear-gradient(transparent 84%, #FFEA00 84%);
}

.link_box {
	margin-top: 5.3vw;
}

.link_box .back_page {
	width: 10.8vw;
	cursor: pointer;
}

.link_box .back_page .form-Button-back {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 2.8vw;
	line-height: 1.8em;
	padding: 0.5em;
	background-color: #fff;
	border: 1px solid #0091ac;
	color: #305a9a;
	letter-spacing: 0em;
}

footer .wrap01 {
	padding: 4.5vw 0 4.7vw;
}

footer .footer_block+.footer_block {
	margin-top: 5vw;
	padding-top: 5vw;
	border-top: 1px solid #727171;
}

footer .footer_block .txt01 {
	font-size: 3.1vw;
	line-height: 1.6em;
	font-weight: normal;
	text-align: center;
	color: #727171;
	letter-spacing: 0;
}

footer .footer_block .txt01 a {
	color: #727171;
	text-decoration: underline;
}

footer .footer_block .logo01 {
	width: 75.8%;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3.2vw;
}

footer .footer_block .link_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

footer .footer_block .link_list li {
	font-size: 2.7vw;
	line-height: 1.2em;
	padding-bottom: 0.2em;
	letter-spacing: 0;
}

footer .footer_block .link_list li+li {
	margin-left: 0.4em;
	padding-left: 0.4em;
	border-left: 1px solid #727171;
}

footer .footer_block .link_list li a {
	color: #727171;
	font-weight: normal;
	text-decoration: underline;
}



/*--- フォーム ----*/
button {
	cursor: pointer;
}

input::placeholder {
	color: #DCDDDD;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"] {
	-moz-appearance: textfield;
}

.error {
	width: 100%;
	display: inline-block;
	font-size: 2.8vw;
	color: #e60012;
	text-align: left;
	letter-spacing: 0;
	padding-top: 0.5em;
}

.form-InputText {
	font-size: 3.9vw;
	font-weight: 500;
	background-color: #fff;
	border: 0.4vw solid #999999;
	color: #000;
	border-radius: 1.9vw;
	height: 2.5em;
	line-height: 1.5em;
	padding: 0.5em;
	outline: none;
}

/*.form-InputText:focus {
    color: #495057;
    background-color: #fff;
    border-color: #f7a183;
    outline: 0;
}*/
.form-Button-01 {
	font-weight: normal;
	font-size: 5.5vw;
	width: 100%;
	margin: 0 auto;
	border-radius: 14.4vw;
	line-height: 1.0em;
	height: 2.5em;
	padding: 0.8em;
	border: none;
	color: #fff;
	background-image: url("../images/common/arrow_btn.png");
	background-repeat: no-repeat;
	background-size: 2.5vw auto;
	background-position: right 4.8vw center;
	letter-spacing: 0.2em;
	cursor: pointer;
}

span.form-Button-01 {
	display: block;
	cursor: pointer;
	text-align: center;
}

.form-Select {
	width: 100%;
	padding: 2vw 2.5vw 2vw;
	font-size: 5.2vw;
	text-align: center;
	position: relative;
	color: #000;
	background-image: url("../images/common/select_arrow.png");
	background-position: right 2.1vw center;
	background-size: 2.4vw auto;
	background-repeat: no-repeat;
	border: 0.4vw solid #999;
	border-radius: 1.9vw;
	background-color: #fff;
}

select {
	-webkit-appearance: none;
	/* ベンダープレフィックス(Google Chrome、Safari用) */
	-moz-appearance: none;
	/* ベンダープレフィックス(Firefox用) */
	appearance: none;
	/* 標準のスタイルを無効にする */
}

::-ms-expand {
	/* select要素のデザインを無効にする（IE用） */
	display: none;
}

.form-Radio input[type=radio] {
	display: none;
}

.custom-control-label {
	padding-top: 0.3vw;
	font-size: 3.9vw;
}

.custom-control-label {
	position: relative;
	margin-bottom: 0;
}

.form-Radio .custom-control-label:before {
	top: -0.2vw;
	left: -8vw;
	width: 6.8vw;
	height: 6.8vw;
	background-color: #ffffff;
	border: 2px solid #999999;
}

.form-Radio .custom-control-label:after {
	top: 0.86vw;
	left: -6.9vw;
	display: block;
	width: 4.6vw;
	height: 4.6vw;
}

.form-Radio .custom-control-input:checked~.custom-control-label::after {
	background-color: #6cb23c;
}

.custom-control-label::before,
.custom-control-label:after {
	content: "";
	position: absolute;
	border-radius: 50%;
}

.form-ToggleBtn input[type=radio] {
	display: none;
}

.form-ToggleBtn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26.25vw;
	height: 18.75vw;
	padding: 0;
	text-align: center;
	font-size: 8.5vw;
	line-height: 1.2em;
	border-radius: 3vw;
	border: 2px solid #C9CACA;
	/*box-shadow: 2px 2px 8px 0 rgb(0 0 0 / 15%) inset;*/
}

.form-ToggleBtn .form-ToggleBtn_Text {
	font-size: 8.5vw;
	line-height: 1.2em;
	color: #898989;
}

.form_Checkbox {
	padding: 1vw 0 1vw;
	cursor: pointer;
	display: flex;
}

.form_Checkbox .ckboxInput {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}

.form_Checkbox .dummyInput {
	display: block;
	position: relative;
	top: 1.8vw;
	width: 3.3vw;
	height: 3.4vw;
	border: 0.4vw solid #000;
	margin-right: 1.2vw;
	background-color: #fff;
}

.form_Checkbox .ckboxInput:checked+.dummyInput {
	background-color: #fff200;
}

.form_Checkbox .ckboxInput:checked+.dummyInput::before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0.2vw;
	left: 0.1vw;
	width: 3.7vw;
	height: 3.2vw;
	background-image: url("../images/common/check.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left bottom;
}

.form-Radio-02 {}

.form-Radio-02 label {
	display: block;
	cursor: pointer;
}

.form-Radio-02 label input {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}

.form-Radio-02 label .input_txt {
	display: block;
	width: 100%;
	border: 0.4vw solid #ccc;
	border-radius: 1vw;
	text-align: left;
	padding: 0.2em 0.7em 0.2em;
	font-weight: 500;
	font-size: 3.9vw;
	background-color: #fff;
}

