.terms_link_list {
	display: flex;
}

.terms_link_list li {
	font-family: "FOT-筑紫A丸ゴシック Std B", sans-serif;
	color: #1a1a1a;
	text-align: center;
	display: flex;
	justify-content: center;
	width: 50%;
}

.terms_link_list li:last-child {
	margin-right: 0;
}

.terms_link_list li.active {
	background-color: #ffee58;
	position: relative;
}

.terms_link_list li:not(.active) {
	background-color: #bfe79e;
}

.terms_link_list li a,
.terms_link_list li span {
	color: #1a1a1a;
	width: 100%;
	margin: auto;
}

.progress_bar {
	display: flex;
	justify-content: space-between;
	text-align: center;
	margin: 0 auto;
}

.progress_bar li {
	width: 33.3%;
	display: flex;
}

.progress_bar li:first-child {
	justify-content: flex-start;
}

.progress_bar li:last-child {
	justify-content: flex-end;
}

.progress_bar li:last-child p {
	width: 5em;
}

.progress_bar li:nth-child(2) {
	position: relative;
	justify-content: center;
}

.progress_bar li:nth-child(2)::before,
.progress_bar li:nth-child(2)::after {
	content: '';
	display: block;
	background-color: #cacaca;
	position: absolute;
}

.progress_bar li .progress_state {
	display: block;
	position: relative;
	border-radius: 50%;
	margin: 0 auto;
}

.progress_bar li .progress_state.active {
	background-color: #bfe79e;
}

.progress_bar li .progress_state:not(.active) {
	background-color: #cacaca;
}

.progress_bar li .progress_state::after {
	content: '';
	display: block;
	background-color: #fff;
	border-radius: 50%;
	position: absolute;
}

.progress_bar li p {
	font-family: "FOT-筑紫A丸ゴシック Std B", sans-serif;
	color: #1a1a1a;
	line-height: 1.8;
}

.progress_bar li p span {
	display: block;
	font-size: 0.8em;
}

body.contact .document_request::after {
	content: '';
	display: block;
	position: absolute;
	z-index: 20;
	background-image: url("../img/asset/document.svg");
	background-position: center;
}

body.confirm .progress_bar li:nth-child(2)::before {
	background-color: #bfe79e;
}

body.confirm .input_container {
	border: none !important;
}

body.compleate .progress_bar li:nth-child(2)::before {
	background-color: #bfe79e;
}

body.compleate .progress_bar li:nth-child(2)::after {
	background-color: #bfe79e;
}

body.compleate .txt_caption {
	text-align: center;
}

body.compleate .link_btn {
	margin: 0 auto;
}

body .txt_caption a {
	color: #31622c;
	text-decoration: none;
}

body.terms_request .category_container.caption .input_container {
	border: none;
	border-radius: 0;
}

body.terms_request .category_inner:not(.input_container) {
	display: flex;
	align-items: center;
}

body.terms_request .category_inner.input_container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	overflow: hidden;
}

body.terms_request .category_inner.input_container.inquiry label {
	height: 100%;
}

body.terms_request .category_inner.input_container.not_padding {
	padding: 0;
}

body.terms_request .category_inner.input_container.postal_code {
	border: none;
	display: flex;
}

body.terms_request .category_inner.input_container.postal_code .text_input_container {
	width: auto;
}

body.terms_request .category_inner.input_container.postal_code .text_input_container:first-child {
	position: relative;
}

body.terms_request .category_inner.input_container.postal_code .text_input_container:first-child::after {
	content: '';
	display: block;
	background-color: #cacaca;
	position: absolute;
}

body.terms_request .category_inner.input_container.prefectures {
	border: none;
}

body.terms_request .category_name {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	color: #1a1a1a;
	line-height: 2;
}

body.terms_request .category_caption {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	color: #1a1a1a;
	line-height: 2;
}

body.terms_request .required {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	line-height: 1.9;
	color: #fff;
	display: inline-block;
	background-color: #e64957;
	text-align: center;
}

body.terms_request .check_box_container,
body.terms_request .radio_container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
	margin-bottom: 0;
}

body.terms_request .check_box_container.w_100,
body.terms_request .radio_container.w_100 {
	width: 100%;
}

body.terms_request .check_box_container .lever,
body.terms_request .radio_container .lever {
	display: block;
	border-style: solid;
	border-color: #cacaca;
	background-color: #fff;
}

body.terms_request .check_box_container .lever::after,
body.terms_request .radio_container .lever::after {
	content: '\02713';
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0;
}

body.terms_request .check_box_container p,
body.terms_request .radio_container p {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	color: #1a1a1a;
}

body.terms_request .check_box_container p + p,
body.terms_request .radio_container p + p {
	margin-top: 0;
}

body.terms_request .check_box_container.agree_check,
body.terms_request .radio_container.agree_check {
	font-size: 10px;
	margin-left: auto;
	margin-right: auto;
	justify-content: center;
}

body.terms_request .check_box_container.agree_check p,
body.terms_request .radio_container.agree_check p {
	font-family: "FOT-筑紫A丸ゴシック Std B", sans-serif !important;
}

body.terms_request .text_input_container {
	width: 100%;
	margin-bottom: 0;
}

body.terms_request .select_container {
	position: relative;
	margin-bottom: 0;
}

body.terms_request .select_container::after {
	content: '';
	display: block;
	background-color: #cacaca;
	background-image: url("../img/asset/arrow_w_bottom.svg");
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 0;
	right: 0;
	pointer-events: none;
	cursor: pointer;
}

body.terms_request .select_container select {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	width: 100%;
	line-height: 2;
	border: none;
	background-color: #fff;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	cursor: pointer;
}

body.terms_request input[type="text"],
body.terms_request input[type="tel"],
body.terms_request input[type="email"] {
	display: block;
	border: none;
	width: 100%;
	line-height: 2;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
}

body.terms_request input[type="text"]:-ms-input-placeholder,
body.terms_request input[type="tel"]:-ms-input-placeholder,
body.terms_request input[type="email"]:-ms-input-placeholder {
	color: #cacaca;
}

body.terms_request input[type="text"]::-webkit-input-placeholder,
body.terms_request input[type="tel"]::-webkit-input-placeholder,
body.terms_request input[type="email"]::-webkit-input-placeholder {
	color: #cacaca;
}

body.terms_request input[type="text"]::placeholder,
body.terms_request input[type="tel"]::placeholder,
body.terms_request input[type="email"]::placeholder {
	color: #cacaca;
}

body.terms_request input[name="medical_institution"] {
	display: block;
	border: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
}

body.terms_request input[name="medical_institution"]:-ms-input-placeholder {
	color: #cacaca;
}

body.terms_request input[name="medical_institution"]::-webkit-input-placeholder {
	color: #cacaca;
}

body.terms_request input[name="medical_institution"]::placeholder {
	color: #cacaca;
}

body.terms_request input[name="other"] {
	display: block;
	border: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
}

body.terms_request input[name="other"]:-ms-input-placeholder {
	color: #cacaca;
}

body.terms_request input[name="other"]::-webkit-input-placeholder {
	color: #cacaca;
}

body.terms_request input[name="other"]::placeholder {
	color: #cacaca;
}

body.terms_request input[type="checkbox"],
body.terms_request input[type="radio"] {
	display: none;
}

body.terms_request input[type="checkbox"]:checked + .lever::after,
body.terms_request input[type="radio"]:checked + .lever::after {
	opacity: 1;
}

body.terms_request textarea {
	width: 100%;
	height: 100%;
	border: none;
	resize: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
}

body.terms_request .agree_check .lever {
	color: #1a1a1a !important;
}

body.terms_request .submit_btn {
	border: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
}

body.terms_request .submit_btn:not(.agree) {
	opacity: 0.6;
	pointer-events: none;
}

body.terms_request .submit_btn.agree {
	opacity: 1;
	cursor: pointer;
}

body.terms_request .back_btn {
	border: none;
	cursor: pointer;
	background-color: #cacaca;
	border-color: #cacaca;
	-ms-appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border-radius: 0;
}

body.terms_request .back_btn span {
	background-image: url("../img/asset/arrow_b_left.svg");
	background-position: 5% center;
}

body.terms_request .error_message {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	color: #f00;
	line-height: 1.7;
	text-align: center;
}

body.terms_request .category_container.error .input_container {
	border-color: #f00;
}

body.terms_request .category_container.error .category_name {
	color: #f00;
}

body.terms_request .category_container.error p {
	color: #f00 !important;
}

body.terms_request .category_container.error input[name="postal_code1"],
body.terms_request .category_container.error input[name="postal_code2"] {
	border-color: #f00;
}

body.terms_request .category_container.error .select_container {
	border-color: #f00;
}

body.terms_request .category_container.error select {
	color: #f00;
}

body.terms_request .confirm_data {
	display: flex;
}

body.terms_request .confirm_data + .confirm_data {
	position: relative;
}

body.terms_request .confirm_data + .confirm_data::before {
	content: '/';
	display: block;
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	position: absolute;
}

body.terms_request .confirm_data p {
	font-family: "FOT-筑紫ゴシック Pr5 M", sans-serif;
	color: #1a1a1a;
	line-height: 2;
	text-decoration: none;
	margin: 0;
}

body.confirm .category_inner.input_container {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	overflow: hidden;
}

body.confirm .txt_caption + fieldset .check_box_container {
	justify-content: center;
}

@media print, screen and (min-width: 769px) {

.terms_link_list li {
	font-size: 1.8em;
	line-height: 1.77;
	margin-right: 20px;
	border-radius: 4px;
}

.terms_link_list li.active::after {
	content: '';
	display: block;
	width: 30px;
	height: 20px;
	position: absolute;
	right: 0;
	left: 0;
	margin: 0 auto;
	bottom: -20px;
	background: url("../img/asset/arrow_y_bottom.svg") no-repeat center;
	background-size: 30px 20px;
}

.terms_link_list li a,
.terms_link_list li span {
	padding: 15px 0;
}

.progress_bar {
	width: 600px;
	margin-bottom: 30px;
}

.progress_bar li:nth-child(2)::before,
.progress_bar li:nth-child(2)::after {
	width: 184px;
	height: 2px;
	top: 13px;
}

.progress_bar li:nth-child(2)::before {
	left: -120px;
}

.progress_bar li:nth-child(2)::after {
	right: -120px;
}

.progress_bar li .progress_state {
	width: 26px;
	height: 26px;
	margin-bottom: 15px;
}

.progress_bar li .progress_state::after {
	width: 12px;
	height: 12px;
	top: calc(50% - 6px);
	left: calc(50% - 6px);
}

.progress_bar li p {
	font-size: 1.8em;
}

body.contact .document_request {
	border-radius: 4px;
}

body.contact .document_request:hover::after {
	background-image: url("../img/asset/document_w.svg");
}

body.contact .document_request::after {
	width: 21px;
	height: 26px;
	top: calc(50% - 13px);
	left: 15px;
	background-size: 21px 26px;
}

body.confirm #form {
	max-width: 900px;
	margin: 0 auto;
}

body.compleate .progress_bar {
	margin-bottom: 60px;
}

body.terms_request .category_container + .category_container:not(.caption) {
	margin-top: 25px;
}

body.terms_request .category_container + .cmn_wrap {
	margin-top: 30px;
}

body.terms_request .category_container.caption .input_container {
	padding: 10px;
}

body.terms_request .category_wrap {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

body.terms_request .category_inner:not(.input_container) {
	width: 22%;
	padding-right: 10px;
	justify-content: space-between;
}

body.terms_request .category_inner.input_container {
	width: 78%;
	padding: 30px 10px;
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.terms_request .category_inner.input_container.inquiry {
	height: 240px;
}

body.terms_request .category_inner.input_container.postal_code .text_input_container:first-child::after {
	width: 12px;
	height: 1px;
	top: calc(50% - 1px);
	left: calc(64px + 10px);
}

body.terms_request .category_name {
	font-size: 1.6em;
	width: calc(100% - 74px);
}

body.terms_request .category_caption {
	font-size: 1.6em;
}

body.terms_request .required {
	font-size: 1.4em;
	width: 64px;
	border-radius: 4px;
	margin-left: 10px;
}

body.terms_request .check_box_container,
body.terms_request .radio_container {
	margin-left: 30px;
}

body.terms_request .check_box_container.w_100,
body.terms_request .radio_container.w_100 {
	margin-top: 15px;
}

body.terms_request .check_box_container .lever,
body.terms_request .radio_container .lever {
	width: 20px;
	height: 20px;
	margin-right: 10px;
	border-radius: 4px;
	border-width: 1px;
}

body.terms_request .check_box_container .lever::after,
body.terms_request .radio_container .lever::after {
	font-size: 1.6em;
}

body.terms_request .check_box_container p,
body.terms_request .radio_container p {
	font-size: 1.6em;
	line-height: 2;
}

body.terms_request .check_box_container p + p,
body.terms_request .radio_container p + p {
	margin-left: 40px;
}

body.terms_request .check_box_container p + input,
body.terms_request .radio_container p + input {
	margin-left: 30px;
}

body.terms_request .select_container {
	width: 240px;
	padding: 10px 15px;
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.terms_request .select_container::after {
	width: 48px;
	height: 100%;
	background-size: 12px 6px;
}

body.terms_request .select_container select {
	font-size: 1.6em;
}

body.terms_request input[type="text"],
body.terms_request input[type="tel"],
body.terms_request input[type="email"] {
	font-size: 1.6em;
	padding: 10px 15px;
}

body.terms_request input[name="postal_code1"],
body.terms_request input[name="postal_code2"] {
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.terms_request input[name="postal_code1"] {
	width: 64px;
	margin-right: 30px;
}

body.terms_request input[name="postal_code2"] {
	width: 80px;
}

body.terms_request input[name="medical_institution"] {
	width: 60%;
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.terms_request input[name="other"] {
	width: 80%;
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.terms_request textarea {
	font-size: 1.6em;
	line-height: 2;
	padding: 10px 15px;
}

body.terms_request .submit_btn {
	margin: 0 auto 30px;
}

body.terms_request .back_btn {
	margin: 0 auto 30px;
}

body.terms_request .back_btn:hover span {
	background-image: url("../img/asset/arrow_w_left.svg");
}

body.terms_request .submit_container {
	margin-top: 80px !important;
}

body.terms_request .error_message {
	font-size: 1.6em;
}

body.terms_request .section_container .error_message:last-child {
	margin-bottom: 50px;
}

body.terms_request .confirm_data + .confirm_data {
	margin-left: 20px;
}

body.terms_request .confirm_data + .confirm_data::before {
	font-size: 1.5em;
	bottom: 10px;
	left: -12px;
}

body.terms_request .confirm_data p {
	font-size: 1.6em;
}

body.confirm .category_inner:not(.input_container) {
	width: 40%;
	padding-right: 10px;
	justify-content: space-between;
}

body.confirm .category_inner.input_container {
	width: 60%;
	padding: 30px 10px;
	border: 1px solid #cacaca;
	border-radius: 4px;
}

body.confirm .txt_caption + fieldset .check_box_container {
	margin-top: 20px;
}

}

@media screen and (max-width: 768px) {

.terms_link_list li {
	font-size: 4vw;
	line-height: 1.5;
	margin-right: 2vw;
	border-radius: 1.07vw;
}

.terms_link_list li a,
.terms_link_list li span {
	padding: 5.33vw 0;
}

.progress_bar {
	margin-bottom: 8vw;
}

.progress_bar li:nth-child(2)::before,
.progress_bar li:nth-child(2)::after {
	width: 18.67vw;
	height: 0.53vw;
	top: 3.07vw;
}

.progress_bar li:nth-child(2)::before {
	left: -13.33vw;
}

.progress_bar li:nth-child(2)::after {
	right: -13.33vw;
}

.progress_bar li .progress_state {
	width: 6.93vw;
	height: 6.93vw;
	margin-bottom: 4vw;
}

.progress_bar li .progress_state::after {
	width: 3.2vw;
	height: 3.2vw;
	top: calc(50% - 1.5vw);
	left: calc(50% - 1.5vw);
}

.progress_bar li p {
	font-size: 3.47vw;
}

body.contact .list_wrap span {
	display: block;
}

body.contact .document_request {
	border-radius: 1.07vw;
}

body.contact .document_request::after {
	width: 5.33vw;
	height: 6.67vw;
	top: calc(50% - 3.3vw);
	left: 5.33vw;
	background-size: 5.33vw 6.67vw;
}

body.compleate .progress_bar {
	margin-bottom: 16vw;
}

body.terms_request .category_container + .category_container:not(.caption) {
	margin-top: 6.67vw;
}

body.terms_request .category_container + .cmn_wrap {
	margin-top: 6.67vw;
}

body.terms_request .category_container.caption .input_container {
	padding: 1.33vw;
}

body.terms_request .category_inner:not(.input_container) {
	width: 100%;
	margin-bottom: 4vw;
	justify-content: flex-start;
}

body.terms_request .category_inner.input_container {
	padding: 4vw 1.33vw;
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.terms_request .category_inner.input_container.inquiry {
	height: 53.33vw;
}

body.terms_request .category_inner.input_container.postal_code .text_input_container:first-child::after {
	width: 3.2vw;
	height: 0.27vw;
	top: calc(50% - 1vw);
	left: calc(17vw + 3vw);
}

body.terms_request .category_name {
	font-size: 3.73vw;
}

body.terms_request .category_caption {
	font-size: 3.73vw;
}

body.terms_request .required {
	font-size: 3.47vw;
	width: 17.07vw;
	border-radius: 1.07vw;
	margin-left: 2.67vw;
}

body.terms_request .check_box_container,
body.terms_request .radio_container {
	margin-left: 4vw;
	flex-wrap: wrap;
}

body.terms_request .check_box_container.w_100,
body.terms_request .radio_container.w_100 {
	margin-top: 4vw;
}

body.terms_request .check_box_container.w_100 span + p,
body.terms_request .radio_container.w_100 span + p {
	width: 80%;
}

body.terms_request .check_box_container.w_100 .other_option,
body.terms_request .radio_container.w_100 .other_option {
	width: auto;
	padding-right: 7.47vw;
}

body.terms_request .check_box_container .lever,
body.terms_request .radio_container .lever {
	width: 5.33vw;
	height: 5.33vw;
	margin-right: 1.33vw;
	border-radius: 1.07vw;
	border-width: 0.27vw;
}

body.terms_request .check_box_container .lever::after,
body.terms_request .radio_container .lever::after {
	font-size: 5.33vw;
}

body.terms_request .check_box_container p,
body.terms_request .radio_container p {
	font-size: 3.73vw;
	line-height: 1.9;
}

body.terms_request .check_box_container p + p,
body.terms_request .radio_container p + p {
	margin-left: 6.67vw;
}

body.terms_request .check_box_container p + input,
body.terms_request .radio_container p + input {
	margin-left: 2.67vw;
}

body.terms_request .select_container {
	width: 64vw;
	padding: 2.67vw 4vw;
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.terms_request .select_container::after {
	width: 12.8vw;
	height: 100%;
	background-size: 3.2vw 1.6vw;
}

body.terms_request .select_container select {
	font-size: 3.73vw;
}

body.terms_request input[type="text"],
body.terms_request input[type="tel"],
body.terms_request input[type="email"] {
	font-size: 3.73vw;
	padding: 2.67vw 4vw;
}

body.terms_request input[name="postal_code1"],
body.terms_request input[name="postal_code2"] {
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.terms_request input[name="postal_code1"] {
	width: 17.07vw;
	margin-right: 8vw;
}

body.terms_request input[name="postal_code2"] {
	width: 21.33vw;
}

body.terms_request input[name="medical_institution"] {
	width: 60%;
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.terms_request input[name="other"] {
	width: 60%;
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.terms_request .submit_btn {
	margin: 0 auto 5.33vw;
}

body.terms_request .back_btn {
	margin: 0 auto 5.33vw;
}

body.terms_request .submit_container {
	margin-top: 10.67vw !important;
}

body.terms_request .error_message {
	font-size: 3.73vw;
}

body.terms_request .section_container .error_message:last-child {
	margin-bottom: 6.67vw;
}

body.terms_request .confirm_data + .confirm_data {
	margin-left: 5.33vw;
}

body.terms_request .confirm_data + .confirm_data::before {
	font-size: 4vw;
	bottom: 2vw;
	left: -3.2vw;
}

body.terms_request .confirm_data p {
	font-size: 3.73vw;
}

body.confirm .category_inner:not(.input_container) {
	width: 100%;
	margin-bottom: 4vw;
	justify-content: flex-start;
}

body.confirm .category_inner.input_container {
	padding: 4vw 1.33vw;
	border: 0.27vw solid #cacaca;
	border-radius: 1.07vw;
}

body.confirm .txt_caption + fieldset .check_box_container {
	margin-top: 5.33vw;
}

}

