@charset "UTF-8";

/* ========================================
@media screen and (min-width: 768px),print {
======================================== */
@media screen and (min-width: 768px),print {
.p-fv {
	margin-block: -58px 100px;
}

.p-fv .l-inner.l-fv {
	margin-inline: auto;
	width: min(95%, 1500px);
}

.p-fv .p-fv__contents {
	background: url(../images/form/fv_img.jpg) no-repeat top center/cover;
	margin-inline: auto;
	padding-block: 115px 110px;
	width: 100%;
}

.p-fv .p-fv__contents-txt {
	color: #ffffff;
	margin-inline: auto;
	width: min(95%, 1280px);
}

.p-fv .p-fv__contents-txt h2 {
	display: grid;
	gap: 15px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 26px;
}

.p-fv .p-fv__contents-txt h2 span.top {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2083333333;
}

.p-fv .p-fv__contents-txt h2 span.bottom {
	font-size: 42px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4285714286;
}

.p-fv .p-fv__contents-txt p {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.p-kentou {
	margin-bottom: -64px;
	position: relative;
	z-index: 10;
}

.p-kentou .p-kentou__ttl {
	background: #333333;
	color: #ffffff;
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.1875;
	margin-bottom: -16px;
	margin-inline: auto;
	padding: 17px 45px;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 10;
}

.p-kentou .p-kentou__items {
	background: url(../images/form/kentou_bg.jpg) no-repeat top center/cover;
	display: grid;
	gap: 17px 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding-block: 68px 53px;
	position: relative;
	width: min(95%, 1100px);
}

.p-kentou .p-kentou__items::after {
	background: url(../images/form/kentou_arrow.svg) no-repeat center center/contain;
	bottom: -30px;
	content: "";
	height: 30px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 110px;
}

.p-kentou .p-kentou__item {
	border-bottom: 1px dashed #434242;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5555555556;
	margin-inline: auto;
	padding-bottom: 20px;
	padding-inline: 30px 0;
	position: relative;
	width: min(95%, 714px);
}

.p-kentou .p-kentou__item:before {
	background: #333333;
	content: "";
	height: 10px;
	left: 4px;
	position: absolute;
	top: 10px;
	width: 10px;
}

.p-kentou .p-kentou__item.last {
	border: none;
	padding-bottom: 0;
	position: static;
	text-align: right;
	font-size: 16px;
	padding-inline: 0 5px;
	margin-block: -8px 0;
}

.p-kentou .p-kentou__item.last:before {
	content: none;
}

.p-soudan {
	background: #E9E7E3;
}

.p-soudan .l-inner.l-soudan {
	padding-block: 173px 120px;
}

.p-soudan .p-soudan__en {
	margin-bottom: -138px;
	text-align: center;
}

.p-soudan .p-soudan__ttl-wrap {
	align-items: flex-end;
	display: flex;
	justify-content: space-between;
	margin-bottom: -8px;
	margin-inline: auto;
	width: min(95%, 1000px);
}

.p-soudan .p-soudan__ttl {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.8125;
	text-align: center;
	position: relative;
	top: -54px;
}

.p-soudan .p-soudan__img {
	margin-bottom: 38px;
	text-align: center;
}

.p-soudan .p-soudan__txt {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
	text-align: center;
}

.p-step {
	background: #E9E7E3;
	padding-block: 0 160px;
}

.p-step .l-inner.l-step {
	margin-inline: auto;
	width: min(95%, 1280px);
}

.p-step .p-step__en {
	margin-bottom: 10px;
	text-align: center;
}

.p-step .p-step__ttl {
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.8125;
	margin-bottom: 43px;
	text-align: center;
}

.p-step .p-step__items {
	display: grid;
	gap: 0 40px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-step .p-step__item {
	background: #ffffff;
	padding-block: 13px 40px;
	position: relative;
}

.p-step .p-step__item:last-child {
	position: static;
}

.p-step .p-step__item:last-child::after {
	content: none;
}

.p-step .p-step__item::after {
	background: url(../images/form/step_arrow.svg) no-repeat center center/contain;
	content: "";
	height: 48px;
	position: absolute;
	right: -43px;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	z-index: 10;
}

.p-step .p-step__item-inner {
	margin-inline: auto;
	width: min(95%, 360px);
}

.p-step .p-step__item-inner .en {
	text-align: right;
}

.p-step .p-step__item-inner .label {
	margin-bottom: -9px;
	position: relative;
	text-align: center;
}

.p-step .p-step__item-inner .img {
	margin-bottom: 20px;
}

.p-step .p-step__item-inner .txt {
	font-size: 16px;
  font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.625;
	text-align: center;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1300px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1300px) {
.p-soudan .p-soudan__img img {
  width: 100%;
  height: auto;        
}

.p-step .p-step__item-inner .img img {
  width: 100%;
  height: auto;        
}

.p-step .p-step__item-inner .en {
  margin-bottom: 8px;
}
}


/* ========================================
@media screen and (max-width: 767px) {
======================================== */
@media screen and (max-width: 767px) {
.p-fv {
	margin-bottom: 19.324vw;
}

.p-fv .l-inner.l-fv {
	margin-inline: auto;
	width: 100%;
}

.p-fv .p-fv__contents {
	background: url(../images/form/fv_img_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	padding-block: 22.261vw 20.676vw;
	width: 100%;
}

.p-fv .p-fv__contents-txt {
	color: #ffffff;
	margin-inline: auto;
	width: min(95%, 89.3vw);
}

.p-fv .p-fv__contents-txt h2 {
	display: grid;
	gap: 3.763vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-bottom: 6.454vw;
}

.p-fv .p-fv__contents-txt h2 span.top {
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.p-fv .p-fv__contents-txt h2 span.bottom {
	font-size: 7.729vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5625;
}

.p-fv .p-fv__contents-txt p {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
}

.p-kentou {
	margin-bottom: -10.324vw;
}

.p-kentou .p-kentou__ttl {
	background: #333333;
	color: #ffffff;
	font-size: 4.831vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2;
	margin-bottom: -5.246vw;
	margin-inline: auto;
	padding: 4.5vw 6.522vw;
	position: relative;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.p-kentou .p-kentou__items {
	background: url(../images/form/kentou_bg_sp.jpg) no-repeat top center/cover;
	display: grid;
	gap: 3.831vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	padding-block: 13.5vw 9.145vw;
	position: relative;
	width: min(95%, 94.2vw);
}

.p-kentou .p-kentou__items::after {
	background: url(../images/form/kentou_arrow.svg) no-repeat center center/contain;
	bottom: -7.246vw;
	content: "";
	height: 7.246vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 26.57vw;
}

.p-kentou .p-kentou__item {
	border-bottom: 1px dashed #434242;
	font-size: 3.865vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-inline: auto;
	padding-bottom: 4.831vw;
	padding-inline: 10.246vw 0;
	position: relative;
	width: min(95%, 86.9vw);
}

.p-kentou .p-kentou__item:before {
	background: #333333;
	content: "";
	height: 2.415vw;
	left: 2vw;
	position: absolute;
	top: 2.2vw;
	width: 2.415vw;
}

.p-kentou .p-kentou__item.last {
	border: none;
	padding-bottom: 0;
	position: static;
	text-align: right;
	font-size: 14px;
	padding-inline: 0 3vw;
}

.p-kentou .p-kentou__item.last:before {
	content: none;
}

.p-soudan {
	background: #E9E7E3;
	padding-bottom: 15vw;
}

.p-soudan .l-inner.l-soudan {
	padding-block: 31.739vw 14.976vw;
}

.p-soudan .p-soudan__en {
	margin-bottom: -22.155vw;
	text-align: center;
}

.p-soudan .p-soudan__en img {
	height: auto;
	width: 83.575vw;
}

.p-soudan .p-soudan__ttl-wrap {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
  place-items: center;
}

.p-soudan .p-soudan__ttl {
	font-size: 5.797vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.7916666667;
	text-align: center;
	margin-bottom: 6vw;
}

.p-soudan .p-soudan__ttl-wrap img {
  width: 82.1vw;
}

.p-soudan .p-soudan__img {
	margin-bottom: 7.246vw;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 91.7vw);
}

.p-soudan .p-soudan__txt {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-inline: auto;
	text-align: left;
	width: min(95%, 86.9vw);
}

.p-step {
	background: #E9E7E3;
	padding-block: 0 20.816vw;
}

.p-step .l-inner.l-step {
	margin-inline: auto;
	width: min(95%, 91.7vw);
}

.p-step .p-step__en {
	margin-bottom: 1.831vw;
	text-align: center;
}

.p-step .p-step__en img {
	height: auto;
	width: 12.077vw;
}

.p-step .p-step__ttl {
	font-size: 5.797vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.7916666667;
	margin-bottom: 6.213vw;
	text-align: center;
}

.p-step .p-step__items {
	display: grid;
	gap: 4.28vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.p-step .p-step__item {
	background: #ffffff;
	padding-block: 4.246vw 9.111vw;
	position: relative;
}

.p-step .p-step__item:last-child {
	position: static;
}

.p-step .p-step__item:last-child::after {
	content: none;
}

.p-step .p-step__item::after {
	background: url(../images/form/step_arrow_sp.svg) no-repeat center center/contain;
	bottom: -7vw;
	content: "";
	height: 11.594vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 11.594vw;
	z-index: 10;
}

.p-step .p-step__item-inner {
	margin-inline: auto;
	width: min(95%, 82.7vw);
}

.p-step .p-step__item-inner .en {
	text-align: right;
}

.p-step .p-step__item-inner .en img {
	height: auto;
	width: 24.879vw;
}

.p-step .p-step__item-inner .label {
	margin-bottom: -2.623vw;
	position: relative;
	text-align: center;
}

.p-step .p-step__item-inner .img {
	margin-bottom: 4.831vw;
}

.p-step .p-step__item-inner .txt {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7142857143;
	text-align: center;
}

#form .sp-page-top {
	padding-block: 14.493vw 0;
}
}