@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: '';
  content: none;
}

q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
}

.cta_button, .support_button, .form_button, .modal_list div a {
  text-decoration: none;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  height: 18.66667vw;
  font-size: 4.8vw;
  font-weight: 700;
  position: relative;
}

.cta_button::after, .support_button::after, .form_button::after, .modal_list div a::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 4vw;
  width: 1.86667vw;
  height: 1.86667vw;
  margin-top: -0.93333vw;
  border-top: solid 0.53333vw #333;
  border-right: solid 0.53333vw #333;
  transform: rotate(45deg);
  content: "";
}

@media screen and (min-width: 768px){
  .cta_button, .support_button, .form_button, .modal_list div a {
    height: 8rem;
    font-size: 2.4rem;
    position: relative;
  }
  .form_button {
    max-width: 38rem;
  }
  .form_button._submit, .form_button._area {
    border-radius: 0.6rem;
    background-position: calc(100% - 2rem) center;
    background-size: 1.3rem 2.2rem;
  }
  .form_button + .form_button {
    margin-bottom: 0;
    margin-left: 2rem;
  }
}

html {
  font-size: 2.6666666667vw;
}
@media screen and (min-width: 576px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  padding-bottom: 18.13333vw;
  color: #333;
  scroll-behavior: smooth;
}

body.gapless {
  padding-bottom: 0;
}

@media screen and (min-width: 750px) {
  body {
    padding-bottom: 6.8rem;
  }
}

.spnone {
  display: none !important;
}

@media screen and (min-width: 750px) {
  .spnone {
    display: block !important;
  }
}

.pcnone {
  display: block !important;
}

@media screen and (min-width: 750px) {
  .pcnone {
    display: none !important;
  }
}

.header{
	position: relative;
	z-index: 2;
	padding: 1rem 0;
	}
header .logo{
	display: inline-block;
	vertical-align: -4px;
	padding: 0 0 0 1rem;
	text-align: center;
	font-size: 11px;
	}
	header .logo > img{
		width: 90px;
		display: block;
		margin: 0 auto 2px;
		}
	.ttl-h1 > img{
		display: block;
		margin: 0 auto;
		max-width: 178px;
		}

.form_head {
  padding: 1.3rem 0;
  text-align: center;
  background: #004ea2;
}

.form_head._area {
  background: #1fb6b4;
}

.form_body {
  padding: 2rem 1rem;
}

.form_wrapper {
  margin-bottom: 3rem;
}

.form_ttle {
  font-size: 1.6rem;
  color: #fff;
}

.form_lead {
  margin-bottom: 10vw;
}

.form_lead p {
  font-size: 3.46667vw;
  line-height: 1.4;
}

.form_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 3rem;
}

.form_table tr th, .form_table tr td {
  display: block;
  width: 100%;
}

.form_table tr th {
  text-align: left;
  font-size: 4vw;
  font-weight: 500;
  padding-bottom: 1.86667vw;
}

.form_table tr th .required,
.required {
  background: #EB5405;
  display: inline-block;
  margin-right: 2.66667vw;
  padding: 1.2vw 1.73333vw;
  color: #fff;
  font-size: 2.66667vw;
  border-radius: 0.8vw;
}

.form_table tr th .optional {
  background: #555;
  display: inline-block;
  margin-right: 2.66667vw;
  padding: 1.2vw 1.73333vw;
  color: #fff;
  font-size: 2.66667vw;
  border-radius: 0.8vw;
}

.form_table tr td {
  font-size: 4vw;
  padding-bottom: 5.33333vw;
}

.form_table tr td .nolink {
  color: #333;
  text-decoration: none;
  pointer-events: none;
}

.form_table tr td .ERR {
  color: #ff3000;
  margin-top: 2.66667vw;
}

.form_table._confirm tr th {
  font-weight: 400;
  background-color: #eee;
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  box-sizing: border-box;
}

.form_table._confirm tr td {
  font-weight: 400;
  padding: 1rem 1.5rem 2rem;
}

.form_input {
  outline: none;
  -webkit-appearance: none;
  background: #fff;
  border: 0.13333vw solid #cccccc;
  border-radius: 1.06667vw;
  padding: 0 5.33333vw;
  width: 100%;
  box-sizing: border-box;
  font-size: 4.26667vw;
  height: 15.46667vw;
}

.form_label {
  background: #fff;
  display: block;
  border: 0.13333vw solid #cccccc;
  border-radius: 1.06667vw;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
  position: relative;
}

.form_label:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 6vw;
  transform: translateX(-50%);
  width: 1.86667vw;
  height: 1.86667vw;
  margin-top: -0.93333vw;
  border-top: solid 0.53333vw #333;
  border-right: solid 0.53333vw #333;
  transform: rotate(135deg);
  content: "";
}

.form_select {
  width: 110%;
  outline: none;
  font-size: 4.26667vw;
  padding-left: 5.33333vw;
  height: 15.46667vw;
  background: #fff;
  color: #333;
  -webkit-appearance: none;
}

.form_button {
  width: 100%;
}

.form_button._area {
  background: #1fb6b4 url(../img/ico-right@2x.png) no-repeat calc( 100% - 5.33333vw) center;
  background-size: 1.73333vw 2.93333vw;
  border-radius: 0.8vw;
  color: #fff;
  border-top: #41c1bf 3px solid;
  border-right: #1b9c9b 3px solid;
  border-bottom: #1b9c9b 3px solid;
  border-left: #188d8b 3px solid;
  font-size: 2rem;
}

.form_button._back,
.back_top a {
  margin: 2rem auto;
  padding: 0;
  font-size: 2rem;
  text-align: center;
  color: #555;
  width: fit-content;
  height: fit-content;
  display: inline-block;
  position: relative;
  background: none;
  border-bottom: .1rem solid #555;
  font-weight: 400;
  line-height: 2.6rem;
  text-decoration: none;
}

.form_row img,
.back_top img {
  margin-right: 0.5rem;
  display: inline-block;
  position: relative;
  width: 1.5rem;
  height: auto;
  vertical-align: baseline;
}

.form_button._submit {
  background-color: #fff000;
  border-radius: 1rem;
  color: #444444;
  font-size: 2rem;
}

.form_button:disabled {
  background: #ccc;
  border: none;
}

.form_button + .form_button {
  margin-bottom: 5.33333vw;
}

.form_nav {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}

.form_nav_ttle {
  font-size: 4vw;
  color: #004ea2;
}

.form_nav_ttle._area {
  color: #1fb6b4;
}

.form_list {
  padding: 5.33333vw;
  margin-left: 6vw;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}

.form_list_item {
  width: 6.66667vw;
  height: 6.66667vw;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  background: rgba(31, 182, 180, 0.3);
  border-radius: 3.33333vw;
  font-size: 4vw;
  color: #fff;
  position: relative;
}

.form_list_item.is-current {
  background: #1fb6b4;
}

.form_list_item + .form_list_item {
  margin-left: 12.66667vw;
}

.form_list_item + .form_list_item:before {
  width: 9.6vw;
  height: 0.26667vw;
  background: rgba(31, 182, 180, 0.3);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -11.33333vw;
  content: "";
}

.form_row {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
  border: none;
}

.form_complete_label {
  font-size: 6.4vw;
  line-height: 1.4;
  margin-bottom: 5.33333vw;
  font-weight: 700;
  text-align: center;
}

.form_complete_lead {
  margin-bottom: 7.33333vw;
}

.form_complete_lead p {
  font-size: 3.46667vw;
  line-height: 1.2;
  text-align: center;
}

.form_complete_lead p.is-alerted {
  color: #ff3000;
  font-size: 3.73333vw;
}

.form_complete_ttle {
  text-align: center;
  font-size: 5.06667vw;
  font-weight: 700;
}

.form_complete_container {
  padding: 6.4vw 6.66667vw;
  background: #e8fdfd;
}

.form_complete_container > p {
  font-size: 3.46667vw;
  line-height: 1.4;
  margin-bottom: 2.66667vw;
}

.form_complete_container > p strong {
  font-size: 3.73333vw;
  font-weight: 700;
}

.form_complete_container > p span {
  font-size: 3.73333vw;
  color: #ff3000;
  font-weight: 700;
}

.form_complete_container > p a {
  color: #333;
  text-decoration: none;
  pointer-events: none;
}

.form_complete_container > ul {
  list-style-type: none;
}

.form_complete_container > ul li {
  font-size: 3.46667vw;
  line-height: 1.4;
  position: relative;
  padding-left: 1em;
  letter-spacing: -0.26667vw;
}

.form_complete_container > ul li:before {
  position: absolute;
  left: 0;
  display: block;
  content: "・";
}

.form_complete_box {
  margin-top: 9.33333vw;
  background: #1fb6b4;
  padding: 1.33333vw;
}

.form_complete_box_head {
  padding: 4.53333vw 0 3.46667vw;
  text-align: center;
}

.form_complete_box_head p {
  font-size: 4.26667vw;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.26667vw;
  line-height: 1.4;
}

.form_complete_box_head.is-centered {
  text-align: center;
}

.form_complete_box_body {
  background: #fff;
  padding: 4vw 0;
  text-align: center;
}

.form_complete_box_body > p {
  margin-top: 3.46667vw;
  font-size: 3.2vw;
  color: #ff3000;
  font-weight: 700;
  line-height: 1.2;
}

.form_complete_box_body > ul {
  list-style-type: none;
}

.form_complete_box_body > ul li {
  font-size: 3.46667vw;
  line-height: 1.2;
}

.form_complete_box_number a {
  display: block;
  font-size: 7.2vw;
  font-weight: 700;
  color: #ff3000;
  line-height: 1;
  text-decoration: none;
  margin-bottom: 2vw;
  pointer-events: none;
}

.form_complete_box_number a img {
  width: 4.8vw;
  height: auto;
  vertical-align: middle;
  margin-right: 1.86667vw;
}

.form_complete_box_number span {
  display: block;
  font-size: 3.2vw;
}

.form_complete_box._def {
  background: #004ea2;
}

.form_complete_box._def .form_complete_box_head {
  padding: 3.46667vw 4vw 3.46667vw;
  text-align: left;
}

.form_complete_box._def .form_complete_box_head p {
  letter-spacing: normal;
}

.form_complete_box._def .form_complete_box_head p span {
  margin: 0 0.8vw;
  font-size: 5.73333vw;
}

.form_complete_box._def .form_complete_box_head.is-centered {
  text-align: center;
}

.form_complete_box._def .form_complete_box_body {
  padding-left: 5.33333vw;
  padding-right: 5.33333vw;
}

.form_complete_box._def .form_complete_box_body > p {
  color: #333;
  margin-bottom: 5.33333vw;
}

.form_complete_box._def .form_complete_box_body > ul {
  text-align: left;
}

.form_complete_box._def + .form_complete_box._def {
  position: relative;
}

.form_complete_box._def + .form_complete_box._def:before {
  position: absolute;
  left: 50%;
  top: -6.66667vw;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 5.33333vw 6.66667vw 0 6.66667vw;
  border-color: #ffd200 transparent transparent transparent;
  transform: translateX(-50%) rotate(0deg);
  content: "";
}

.form_notice {
  margin-bottom: 8.66667vw;
}

.form_notice._def p {
  line-height: 2;
  text-align: left;
}

.form_notice._def p a {
  color: #0000dd;
}

.form_notice p {
  font-size: 3.46667vw;
  line-height: 1.4;
  text-align: center;
  letter-spacing: -0.26667vw;
}

.form_notice p + p {
  margin-top: 5.6vw;
}

.form_flow {
  padding: 2rem 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  background-color: #F2F2F2;
}

.form_flow_ttle {
  font-size: 1.4rem;
  color: #444444;
}

.form_flow_nav {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  margin-left: 6.13333vw;
}

.form_flow_item .num {
  background: #fff;
  width: 3.6rem;
  height: 3.6rem;
  border: .2rem solid #004EA2;
  border-radius: 100%;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  color: #004ea2;
  margin-bottom: .5rem;
}

.form_flow_item .num.is-current {
  background: #004ea2;
  color: #fff;
}

.form_flow_item + .form_flow_item {
  margin-left: 3rem;
  position: relative;
}

.form_flow_item + .form_flow_item:before {
  width: 3rem;
  height: 0.2rem;
  background: #004ea2;
  position: absolute;
  top: 1.9rem;
  left: -3rem;
  content: "";
}

.form_flow_item {
  font-size: 1.3rem;
  text-align: center;
  color: #004EA2;
}

.form_textarea {
  width: 100%;
  box-sizing: border-box;
  border: 0.26667vw solid #cccccc;
  padding: 2.66667vw 4.53333vw;
  border-radius: 1.06667vw;
  font-size: 4.26667vw;
}

.form_group_label {
  font-size: 4.26667vw;
  font-weight: 700;
  margin-bottom: 6vw;
}

.form_btn {
  margin-bottom: 8vw;
}

.form_btn p {
  font-size: 1.5rem;
  margin-bottom: .7rem;
}

.form_btn_list {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem 0;
}

.form_btn_list a,
.form_radio_label {
  width: 17.3rem;
  height: 6rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 1.5rem 1.5rem 3.5rem;
  border-style: solid;
  border-width: 0.1rem;
  border-color: #ccc;
  border-radius: 0.6rem;
  background-color: #f4f4f4;
  cursor: pointer;
  font-size: 1.3rem;
  line-height: 1.6rem;
  color: #333;
  text-decoration: none;
  text-align: center;
  box-sizing: border-box;
}

.form_btn_list a::before,
.form_radio_label::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  left: 1rem;
  box-sizing: border-box;
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.1rem solid #dbdcdc;
  border-radius: 50%;
  background: #fff;
}

.form_btn_list a.is-active::after,
.form_radio:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  background: #062F7D;
  border-color: #062F7D;
  transform: translatey(-50%);
  box-sizing: border-box;
  display: block;
  border-radius: 0.8rem;
}

.form_btn_list a.is-active,
.form_radio:checked + label {
  background-color: #F0F5FF;
  color: #004D9A;
  border-color: #004EA2;
  font-weight: 800;
}

.form_btn_list a.is-active::before,
.form_radio:checked + label::before {
  border: 0.1rem solid #004EA2;
}

.form_flex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem 0;
}

.form_radio {
  display: none;
}

.form_radio_label {
  font-size: 1.3rem;
  height: 5rem;
}

.form_radio_label.first {
  margin-right: 17rem;
}

#reservation{
  display: none;
}

.form_info {
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
  background-color: #868686;
  padding: 1.5rem;
}
.container {
  padding: 0 1.5rem;
  box-sizing: border-box;
}
.thanks {
  color: #004D9A;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
  margin: 3rem auto;
  line-height: 3rem;
}
.note {
  font-size: 1.3rem;
  color: #DB0917;
  text-align: center;
  font-weight: 400;
}
.step1,
.step2,
.step3{
	margin:0 20px;
	padding-left: 35px;
	}
.step1{
	margin-top: 25px;
	}
.step3{
	margin-bottom: 40px;
	}
.step1,
.step2{
	position:relative;
	margin-bottom: 0;
	}
	.step1::before,
	.step2::before{
		position: absolute;
		top: 0;
		left: 20px;
		display:block;
		width: 2px;
		height: 100%;
		z-index: -1;
		content: '';
		}
.step1 .pic,
.step2 .pic{
	position: absolute;
	bottom: 2rem;
	right: 0;
	}
.step1 dt,
.step2 dt{
	margin: 0 0 1.2rem;
	font-size: 20px;
	font-weight: bold;
  color: #3D77B0;
  line-height: 3rem;
	}
.step1 > dt::before,
.step2 > dt::before,
.step3 > dt{
	display:block;
	width: 128px;
	height: 30px;
	margin-left: -35px;
	margin-bottom: 10px;
	line-height: 30px;
	font-size: 15px;
	text-align: center;
	font-weight: bold;
	border-radius: 30px;
	color: #eb5405;
	}
.step3 > dt{
	color: #fff;
	}
.step1 > dt::before{
	content: 'STEP1';
	}
.step2 > dt::before{
	content: 'STEP2';
	}
.step1 dt+ dd,
.step2 dt+ dd{
	margin: 0;
	padding: 0 0 2rem 0;
  font-size: 1.3rem;
  line-height: 1.8rem;
	}
.step::before,
.step3 > dt{
	background: #3D77B0;
	}
.step1::before,
.step2::before{
	background: #3D77B0;
	}
.step1 > dt::before,
.step2 > dt::before,
.step3 > dt{
	border:2px solid #3D77B0;
	}
.step1 > dt::before,
.step2 > dt::before{
	background: #fff;
	color: #3D77B0;
	}
.step3 > dt{
	color: #fff;
	}
.back_top{
  margin: 0 auto;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .form_head {
    padding: 2.4rem 0;
    text-align: center;
  }
  .form_body {
    max-width: 960px;
    margin: 0 auto;
    padding: 4rem 0;
  }
  .form_lead {
    margin-bottom: 3.2rem;
  }
  .form_lead p {
    font-size: 1.6rem;
  }
  .form_ttle {
    font-size: 2.2rem;
  }
  .form_wrapper {
    margin-bottom: 2.5rem;
  }
  .form_table {
    margin: 0 auto 5rem;
  }
  .form_table tr th, .form_table tr td {
    display: table-cell;
    vertical-align: middle;
    padding: 1.5rem;
  }
  .form_table tr th {
    width: 30%;
    text-align: left;
    font-size: 1.5rem;
    font-weight: 500;
    padding-bottom: 0rem;
  }
  .form_table tr th .required, .form_table tr th .optional, .required {
    display: inline-block;
    margin-right: 1rem;
    padding: 0.9rem 1.3rem;
    color: #fff;
    font-size: 1.2rem;
    border-radius: 0.6rem;
  }
  .form_table tr td {
    width: 70%;
    font-size: 1.6rem;
    padding-bottom: 0rem;
  }
  .form_table tr td .ERR {
    color: #ff3000;
    margin-top: 1rem;
  }
  .form_table._confirm tr th {
    font-weight: 400;
    padding: 10px;
    border-bottom: 1px solid #ccc;
  }
  .form_table._confirm tr td {
    font-weight: 400;
    border-bottom: 1px solid #ccc;
    padding: 10px;
  }
  .form_input {
    border: 0.1rem solid #cccccc;
    border-radius: 0.4rem;
    padding: 0 2rem;
    font-size: 1.6rem;
    height: 5.8rem;
  }
  .form_label {
    border: 0.1rem solid #cccccc;
    border-radius: 0.4rem;
    height: 5.8rem;
  }
  .form_label:after {
    right: 2.2rem;
    width: 0.7rem;
    height: 0.7rem;
    margin-top: -0.4rem;
    border-top: solid 0.2rem #333;
    border-right: solid 0.2rem #333;
  }
  .form_select {
    font-size: 1.6rem;
    height: 100%;
    display: block;
    padding-left: 2rem;
  }
  .form_button {
    max-width: 38rem;
  }
  .form_button._submit, .form_button._area {
    border-radius: 0.6rem;
    background-position: calc( 100% - 2rem) center;
    background-size: 1.3rem 2.2rem;
  }
  .form_button._back {
    margin-right: 5rem;
  }
  .form_button + .form_button {
    margin-bottom: 0;
    margin-left: 2rem;
  }
  .form_row {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
  }
  .form_nav {
    display: none;
  }
  .form_complete_label {
    font-size: 3.6rem;
    margin-bottom: 2rem;
  }
  .form_complete_ttle {
    font-size: 2rem;
  }
  .form_complete_lead {
    margin-bottom: 3.2rem;
  }
  .form_complete_lead p {
    font-size: 1.8rem;
  }
  .form_complete_lead p.is-alerted {
    font-size: 1.8rem;
  }
  .form_complete_container {
    max-width: 96rem;
    margin: 0 auto;
    padding: 4.8rem 5rem;
  }
  .form_complete_container > p {
    font-size: 1.6rem;
    margin-bottom: 2rem;
    line-height: 1.8;
  }
  .form_complete_container > p strong {
    font-size: 2.4rem;
    display: block;
  }
  .form_complete_container > p span {
    font-size: 2.4rem;
  }
  .form_complete_container > ul li {
    font-size: 1.6rem;
    letter-spacing: normal;
  }
  .form_complete_box {
    margin: 3.5rem auto 0;
    padding: 1rem;
  }
  .form_complete_box_head {
    padding: 1.7rem 0 1.7rem;
  }
  .form_complete_box_head p {
    font-size: 2.4rem;
    letter-spacing: normal;
  }
  .form_complete_box_body {
    padding: 3rem 0;
  }
  .form_complete_box_body > p {
    margin-top: 1.3rem;
    font-size: 1.8rem;
  }
  .form_complete_box_body > ul li {
    font-size: 1.6rem;
  }
  .form_complete_box_number a {
    font-size: 4rem;
    margin-bottom: 0.7rem;
  }
  .form_complete_box_number a img {
    width: 3rem;
    margin-right: 0.7rem;
  }
  .form_complete_box_number span {
    font-size: 1.5rem;
  }
  .form_complete_box._def .form_complete_box_head {
    padding: 1.3rem 1.5rem 1.3rem;
  }
  .form_complete_box._def .form_complete_box_head p span {
    margin: 0 0.6rem;
    font-size: 3.2rem;
  }
  .form_complete_box._def .form_complete_box_body {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .form_complete_box._def .form_complete_box_body > p {
    line-height: 1.4;
    margin-bottom: 2rem;
  }
  .form_complete_box._def + .form_complete_box._def:before {
    position: absolute;
    left: 50%;
    top: -2.5rem;
    border-width: 2rem 2.5rem 0 2.5rem;
    border-color: #ffd200 transparent transparent transparent;
    transform: translateX(-50%) rotate(0deg);
    content: "";
  }
  .form_notice {
    margin-bottom: 3.2rem;
  }
  .form_notice p {
    font-size: 1.6rem;
    letter-spacing: normal;
  }
  .form_notice p + p {
    margin-top: 1.5rem;
  }
  .form_flow {
    padding: 3rem 0 5rem;
  }
  .form_flow_ttle {
    font-size: 1.6rem;
  }
  .form_flow_nav {
    margin-left: 2.3rem;
  }
  .form_flow_item + .form_flow_item {
    margin-left: 10rem;
    position: relative;
  }
  .form_flow_item + .form_flow_item:before {
    width: 10rem;
    height: 0.3rem;
    left: -10rem;
    content: "";
  }
  .form_textarea {
    border: 0.1rem solid #cccccc;
    padding: 1rem 1.7rem;
    border-radius: 0.6rem;
    font-size: 1.6rem;
  }
  .form_group_label {
    font-size: 1.6rem;
    margin-bottom: 2.3rem;
  }
  .form_btn {
    padding: 1.5rem 1.5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0;
  }
  .form_btn p {
    width: 23rem;
    min-width: 23rem;
  }
  .form_btn_list {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 64.2rem;
    gap: 1rem;
  }
  .form_btn_list a,
  .form_btn_list input {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    border: 0.1rem solid #ccc;
    border-radius: 0.6rem;
    height: 5rem;
    font-size: 1.6rem;
    width: 29rem;
  }
  .form_radio_label {
    border: 0.1rem solid #ccc;
    border-radius: 0.6rem;
    font-size: 1.6rem;
    padding: 0 1.2rem;
    height: 5.8rem;
    width: 18rem;
  }
  .form_flex {
    justify-content: flex-start;
    gap: 1rem;
  }
  .form_radio_label.first {
    margin-right: 0;
  }
  .container {
    width: 80rem;
    margin: 0 auto;
  }
}
.caution {
  font-size: 1.15rem;
  color: #4d4d4d;
  text-align: center;
  margin: 1rem auto 4rem;
  line-height: 1.6rem;
  font-weight: 400;
}
.caution .small {
  margin-top: 1rem;
  font-size: 1rem;
}
.caution a {
  color: #1568c4;
  text-decoration-line: underline;
}
.footer_nav {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 5vw;
  font-weight: normal;
}
.footer_nav li a {
  font-size: 1.2rem;
  position: relative;
  color: #333;
  text-decoration: none;
}
.footer_nav li + li {
  margin-left: 5.33333vw;
}
.footer_ssl {
  padding: 0 5.33333vw;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 8vw;
}
.footer_ssl_ico {
  width: 26.13333vw;
}
.footer_ssl_ico img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.footer_ssl_text {
  width: calc( 100% - 26.13333vw);
  padding-left: 3.46667vw;
  box-sizing: border-box;
  font-size: 3.6vw;
  line-height: 1.4;
  font-weight: 400;
}
.footer_copy {
  background: #333;
  padding: 3.46667vw 0;
  text-align: center;
  color: #fff;
  font-size: 3.2vw;
  font-weight: 300;
  line-height: 1.5rem;
}
@media screen and (min-width: 768px) {
  .footer {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 0;
  }
  .footer_nav {
    margin-bottom: 0;
  }
  .footer_nav li a {
    font-size: 1.2rem;
    margin-left: 5rem;
  }
  .footer_nav li + li {
    margin-left: 2rem;
  }
  .footer_ssl {
    margin-left: 3rem;
    width: 34rem;
    padding: 0;
    margin-bottom: 0;
  }
  .footer_ssl_ico {
    width: 9rem;
  }
  .footer_ssl_text {
    margin-left: 1.3rem;
    width: 100%;
    padding: .5rem 0 0;
    font-size: 1.3rem;
  }
  .footer_copy {
    margin-top: 4rem;
    flex-basis: 100%;
    padding: 1.3rem 0;
    font-size: 1.2rem;
  }
  .footer_ssl_ico img {
    width: 80px;
  }
}