@charset "utf-8";
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanmp.min.css');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marcellus&display=swap');


/* リセットCSS */
/* 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;
	color: inherit;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6{
	height: auto;
}

/* 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,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* /リセットCSS */


/****************************************
		clearfix
*****************************************/
.cf::before,
.cf::after {
	content: " ";
	display: table;
}
.cf::after {
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
.cf {
	display: inline-block;
	*zoom: 1;
}

* html .cf {
	height: 1%;
}
/* /clearfix */

/****************************************
		base
*****************************************/

*{
	box-sizing: border-box;
}
body{
	width: 100%;
	max-width: 100%;
	position: relative;
  font-family: 'YakuHanMP',"Shippori Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", 游明朝, "Yu Mincho", YuMincho, HGS明朝E, serif;
	font-size: 14px;
  font-weight: 400;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
}

.en,
.num,
.date{
  font-family: 'Marcellus',"Shippori Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", 游明朝, "Yu Mincho", YuMincho, HGS明朝E, serif;
  font-weight: 400;
  font-style: normal;
}


p{
	line-height: 2.07em;
	letter-spacing: -0.01em;
	word-break: break-word;
	overflow-wrap : break-word;
	font-weight: 500;
}

h1,h2,h3,h4,h5,h6{
	line-height: 1.4em;
	letter-spacing: 0.05em;
	word-break: break-word;
	overflow-wrap : break-word;
}

img{
	margin: 0 auto;
	line-height: 0;
	padding: 0;
	vertical-align: bottom;
	max-width: 100%;
}
a{
	transition: 0.3s;
	display: inline-block;
	text-decoration: none;
	color: inherit;
}
a:hover{
	transition: 0.3s;
	color: inherit;
	opacity: 0.7;
}

button{
	font-size: 100%;
	border: 0;
	padding: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

body ::-webkit-scrollbar {
	height: 10px;
	width: 10px;
	display: inline-block;
}
body ::-webkit-scrollbar-track {
	background: #f3f3f3;
}

body ::-webkit-scrollbar-thumb {
	background: #abbbe1;
}


/****************************************
		共通
*****************************************/
.wrapper{
	position: relative;
}

.inner{
	margin: 0 auto;
	width: 86%;
	box-sizing: border-box;
	display: block;
	max-width: 1340px;
}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex.col2 li{
	width: 48%;
	margin-bottom: 4%;
}
.flex.col3 li{
	width: 30%;
	margin-bottom: 4%;
}
.flex.col4 li{
	width: 24%;
	margin-bottom: 1.5%;
}


.section_tit{
	margin: 0 0 2.3em;
}
.section_tit .en{
	display: block;
	letter-spacing: 0.01em;
	color: #fff;
	font-weight: bold;
	font-size: 4.4em;
	line-height: 1.2;
	letter-spacing: 0.41em;
	margin-bottom: 0.25em;
}
.section_tit .ja{
	text-align: center;
	transition: .3s;
	font-size: 1.2em;
	letter-spacing: 0.14em;
	font-weight: 800;
}

.indent{
	padding-left: 1em;
	text-indent: -1em;
}
.indent-half{
	text-indent: -0.5em;
	padding-left: 0.5em;
	display: inline-block;
}
.indent1em{
	text-indent: 1em;
	display: inline-block;
}
.indent-1em{
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.indent-list{
	line-height: 1.4;
	margin: 2em 0 1em;
}
.indent-list li{
	text-indent: -1.5em;
	padding-left: 1.5em;
	margin-bottom: 1em;
}
.kerning{
	margin-left: -0.09em;
}

.txt_left{
	text-align: left;
}
.txt_center{
	text-align: center;
}
.txt_right{
	text-align: right;
}

.f_weight600{
	font-weight: 600;
}
.f_weight700{
	font-weight: 700;
}
.f_weight800{
	font-weight: 800;
}
.f_weight900{
	font-weight: 900;
}
.bold,
b{
	font-weight: bold;
}
sup{
	font-size: 0.8em;
	vertical-align: top;
}
.big{
	font-size: 1.2em;
}

.map iframe{
	width: 100%;
}
.movie_wrap iframe{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.btn_more{
	position: relative;
	text-align: right;
	width: 90%;
	box-sizing: border-box;
	border-radius: 10px;
	padding: 1.4em 2.1em;
	max-width: 17.2em;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.15em;
	display: flex;
  align-items: center;
	justify-content: flex-end;
	color: #fff;
	background-image: linear-gradient(120deg, #fff 50%, #000 50%);
	background-position: 99%;
	background-size: 300%;
	background-repeat: no-repeat;
	transition: all 1s;
}
.btn_more:after,
.btn_more:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 3em;
	transition: all 1s;
	height: 1em;
	background: url(../img/ico_arrow.png) center center/contain no-repeat;
}
.btn_more:after{
	background: url(../img/ico_arrow_wh.png) center center/contain no-repeat;
}

.table_default{
	border-bottom: solid 1px #7b8a9d;
	width: 100%;
}
.table_default th,
.table_default td{
	border-top: solid 1px #7b8a9d;
	padding: 1.79em 0;
	line-height: 2.1em;
}
.table_default th{
	padding-right: 1em;
	width: 12.5em;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
}

.line_anime a{
	padding: 0.2em 0;
	position: relative;
	display: inline-block;
	border-bottom: 1px solid transparent;
}
.line_anime a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	bottom: -1px;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform 0.3s;
}
.line_anime .contact a::after {
	display: none;
}


/****************************************
		アニメーション
*****************************************/
/* fadein */
.fadein {
  transition: all 2s;
  opacity: 0;
  visibility: hidden;
  transform: translate(0px, 20px);
}

.fadein.scrollin {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
}
.fadein + .fadein{
	transition-delay: 0.2s;
}
.fadein + .fadein + .fadein{
	transition-delay: 0.4s;
}
.fadein + .fadein + .fadein + .fadein{
	transition-delay: 0.6s;
}
.fadein + .fadein + .fadein + .fadein + .fadein{
	transition-delay: 0.8s;
}
.fadein + .fadein + .fadein + .fadein + .fadein + .fadein{
	transition-delay: 1s;
}

.p-top .top_solution .fadein + .fadein{
	transition-delay: 0.5s;
}
.p-solution .sec_intro .fadein + .fadein{
	transition-delay: 0.5s;
}

/* p-top anime */
/* .scrollify {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.scrollify.is-active {
  opacity: 1;
  transform: translateY(0);
} */


/* .scrollify.is-active {
  transition-delay: 0.2s;
} */

.anime-top-heroimg{
	animation-name: anime-top-heroimg;
	animation-duration: 3s;
	animation-delay: 0.1s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes anime-top-heroimg {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}
.anime-top-herotxt{
	animation-name: anime-top-herotxt;
	animation-duration: 1s;
	animation-delay: 2s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes anime-top-herotxt {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (min-width: 769px) {
	.p-top .anime-header{
		animation-name: anime-header;
		animation-duration: 1s;
		animation-delay: 1s;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes anime-header {
		from {
			opacity: 0;
			transform: translateX(-100px);
		}

		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
}

@media (max-width: 768px) {
	.anime-top-heroimg{
		animation-duration: 1s;
		animation-delay: 0.1s;
	}
	.anime-top-herotxt{
		animation-duration: 2s;
		animation-delay: 1s;
	}
}


/* sub-page anime */
.anime-heroimg{
	animation-name: fadeRightAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeRightAnime {
	from {
		opacity: 0;
		transform: translateX(-200px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}
.anime-herotxt{
	animation-name: fadeUpAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/****************************************
		header
*****************************************/
header{
	top: 0;
	left: 0;
	z-index: 100;
	pointer-events: none;
	position: fixed;
}
header .header_logo{
	margin: 4em 0 0 4.2em;
  pointer-events: auto;
}
header .header_menu{
	margin: 6.3em 0 0 4.3em;
  pointer-events: auto;
}
header .header_menu .menu_list li{
	margin-bottom: 1.1em;
}
header .header_menu .menu_list li a{
	padding: 0.2em 0;
	font-size: 1.2em;
	letter-spacing: 0.11em;
}
header .header_menu .menu_list .contact{
	margin-top: 1.7em;
	max-width: 9.3em;
}
header .header_menu .menu_list .contact a{
	padding: 0.9em 0 0.7em;
	font-size: 1.05em;
	font-weight: 400;
	letter-spacing: 0.2em;
}
.menu_list .contact a{
	position: relative;
	text-align: center;
	border-radius: 10px;
	display: flex;
  align-items: center;
	justify-content: center;
	color: #fff;
	background-image: linear-gradient(120deg, #fff 50%, #000 50%);
	background-position: 99%;
	background-size: 300%;
	background-repeat: no-repeat;
	transition: all 1s;
}

/****************************************
		pagetop
*****************************************/
.pagetop{
	margin: 0 auto;
	box-sizing: border-box;
	left: auto;
	right: 2.8em;
	top: -1.9em;
	position: absolute;
	z-index: 10;
	transition: .3s;
}

/****************************************
		footer
*****************************************/

footer{
	position: relative;
	padding: 8.5em 0 8em;
	background: #fff;
}
footer .inner{
	max-width: none;
}
footer .footer_menu{
	overflow: hidden;
}
footer .footer_menu .menu_list{
	display: flex;
	gap: 2.7em;
}
footer .footer_menu .menu_list li{
	display: flex;
	align-items: center;
}
footer .footer_menu .menu_list li a{
	padding: 0.2em 0;
	font-size: 1.2em;
	letter-spacing: 0.11em;
}
footer .footer_menu .menu_list .contact{
	max-width: 9.3em;
	padding: 0.5em 1em;
	margin-left: -1em;
}
footer .footer_menu .menu_list .contact a{
	padding: 0.9em 0 0.7em;
	font-size: 1.05em;
	font-weight: 400;
	letter-spacing: 0.2em;
	min-width: 130px;
}
footer .footer_menu .footer_left{
	float: left;
	margin-bottom: 3em;
}
footer .footer_menu .footer_right{
	float: right;
	text-align: right;
}
footer .footer_menu .footer_right .footer_logo{
	margin-bottom: 1.7em;
}
footer .footer_menu .footer_right .name{
	font-size: 1.1em;
}
footer .footer_menu .footer_right .address{
	font-size: 1.08em;
}
footer .footer_copy{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 3.5em;
}
footer .footer_copy .line_anime{
	padding: 0.4em 0;
}
footer .footer_copy .right{
	text-align: right;
}
footer .footer_copy small{
	font-size: 0.83em;
	display: block;
	padding: 1.8em 0;
}

/****************************************
		@top
*****************************************/

.p-top .top_hero_wrap{
	position: relative;
	height: 100vh;
}
.p-top .top_hero_wrap .top_hero{
	position: fixed;
	top: 0;
	left: 0;
}
.p-top .top_hero{
	width: 100%;
	height: 100vh;
	background: #fff;
}
.p-top .top_hero .img{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.p-top .top_hero .slide_img {
  transition: 5s;
  width: 100%;
	height: 100vh;
}
.p-top .top_hero .slide_img img {
  max-width: none;
	object-fit: cover;
  width: 100%;
	height: 100vh;
}
.p-top .top_hero .swiper-slide-active .slide_img,
.p-top .top_hero .swiper-slide-prev .slide_img {
  transform: scale(1.1, 1.1);
  transition: 20s;
}

.p-top .top_hero .txt{
	position: absolute;
	right: 8%;
	bottom: 6.3em;
	text-align: right;
	width: 78%;
}
.p-top .top_hero .txt .tit{
	font-size: 2.4em;
	margin-bottom: 0.5em;
}
.p-top .top_hero .txt .tit .en{
	color: #fff;
	text-shadow: 0px 0px 10px rgb(0 0 0 / 60%);
	display: block;
	font-size: 2.7em;
	line-height: 1.1;
	letter-spacing: 0.05em;
}
.p-top .top_hero .txt .tit .ja{
	margin-top: 0.4em;
	letter-spacing: 0.08em;
	display: block;
	margin-right: -0.1em;
}
.p-top .top_hero .txt p{
	line-height: 2.06em;
}
.p-top .top_hero .txt .btn_more{
	margin: 2.4em 0.3em 0 auto;
}


.p-top .top_solution{
	position: relative;
	width: 100%;
	min-height: 64.5em;
	background: #fff;
	padding: 3.5em 0 1em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.p-top .top_solution .img{
	position: absolute;
	top: 5.5em;
	left: 0;
	width: 73%;
	text-align: center;
	height: 100%;
	background: #edf1fa;
	padding: 1em 12em 8em 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.p-top .top_solution .img img{
	margin: 0 0 0 0;
}
.p-top .top_solution .txt{
	position: relative;
	z-index: +1;
	width: 50%;
	max-width: 445px;
	margin: 0 0 0 auto;
}
.p-top .top_solution .txt .tit{
	font-size: 1.6em;
	line-height: 1.5;
	margin-bottom: 1.8em;
}
.p-top .top_solution .txt .tit .en{
	font-size: 3.5em;
	letter-spacing: 0.03em;
	display: block;
}
.p-top .top_solution .txt .tit .ja{
	letter-spacing: 0;
	display: block;
}
.p-top .top_solution .txt p{
	line-height: 2;
}
.p-top .top_solution .txt .btn_more{
	margin: 3.5em 0 0 0;
}


/****************************************
		@sub
*****************************************/
.sub-page .main_content{
	position: relative;
	overflow: hidden;
	min-height: 50vh;
}
.p-solution.sub-page .main_content{
	margin-bottom: 2.5em;
}
.sub-page .main_content:before{
	content: "";
	display: block;
	background: #edf1fa;
	position: absolute;
	width: 71%;
	height: 100%;
	top: 36.7vw;
	left: 0;
	z-index: -1;
}
.sub-page .main_content.hero_img_none:before{
	top: 5vw;
}
.sub-page .sub_main{
	padding: 0 0 10em 0;
	width: 85%;
	margin: 0 0 0 auto;
}

.sub-page .sub_main .inner{
	width: 86%;
	max-width: 1030px;
}
.sec_flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1em;
	padding-bottom: 7em;
}
.sec_flex .sec_flex_tit{
	width: 14.5em;
}
.sec_flex .sec_flex_content{
	flex: 1;
}
.sec_tit{
	font-size: 1.9em;
	line-height: 1.5em;
}
.sec_tit .en{
	display: block;
	font-size: 0.58em;
}
.sec_tit .ja{
	display: block;
	margin-left: -0.1em;
	letter-spacing: 0.01em;
}

.sub-page .sub_hero{
	padding-bottom: 7.7em;
	padding-left: 4.5em;
}
.sub-page .hero_img_none .sub_hero{
	padding-bottom: 6.1em;
	padding-left: 0;
	padding-top: 10vw;
}
.p-confirm.sub-page .sub_hero,
.p-completion.sub-page .sub_hero{
	padding-bottom: 2em;
}

.sub-page .main_content:not(.hero_img_none) .sub_hero .inner{
	width: 89%;
}
.sub-page .sub_hero .img img{
	width: 100%;
}
.sub-page .sub_hero .pagetit{
	font-size: 1.4em;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.sub-page .sub_hero .img + div .pagetit{
	margin-top: -4.2em;
}
.p-solution.sub-page .sub_hero .img + div .pagetit{
	margin-top: -4.8em;
}
.sub-page .sub_hero .pagetit .en{
	font-size: 4.8em;
	display: block;
}
.sub-page .sub_hero .pagetit .ja{
	display: block;
}

.sub-page .hero_img_none .sub_hero .pagetit{
	font-size: 1.9em;
	margin-bottom: 2.3em;
}
.sub-page .hero_img_none .sub_hero .pagetit .en{
	font-size: 2.9em;
}
.sub-page .hero_img_none .sub_hero .pagetit .ja{
	margin-top: 1em;
}
.sub-page .sub_hero .copy{
	font-size: 2.3em;
	line-height: 1.4;
	margin: 0.5em 0 1.7em 0;
}
.p-solution.sub-page .sub_hero .copy{
	margin: 0.2em 0 1.3em 0;
}
.sub-page .sub_hero .pagetit + p:not(.copy){
	margin-top: 2.2em;
}

/****************************************
		.p-company
*****************************************/
.p-company .sec_greeting p{
	font-size: 1.11em;
}
.p-company .sec_greeting .copy{
	font-size: 2.1em;
	margin-bottom: 2em;
}
.p-company .sec_greeting .copy .en{
	display: block;
	letter-spacing: 0.05em;
	font-size: 1.7em;
}
.p-company .sec_greeting .copy .ja{
	display: block;
}

.p-company .sec_outline{
	padding-bottom: 7.6em;
}
.p-company .sec_outline .sec_tit .ja{
    letter-spacing: 0.15em;
}
.p-company .sec_outline .table_default{
	margin-top: 0.7em;
}

.p-company .sec_access .map{
	margin-top: 1em;
}

/****************************************
		.p-solution
*****************************************/
.p-solution.sub-page .sub_main{
	padding-bottom: 5.1em;
}
.p-solution .sec_intro{
	position: relative;
	min-height: 48.5em;
}
.p-solution .sec_intro .sec_intro_txt{
	max-width: 330px;
}
.p-solution .sec_intro .sec_intro_img{
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
	height: 100%;
	width: 76%;
	padding-top: 1.4em;
}
.p-solution .sec_intro .sec_intro_img img{
	object-fit: contain;
	width: auto;
	height: 100%;
}
.p-solution .sec_service{
	padding: 3.8em 0 0;
	margin-left: -15vw;
}
.p-solution .sec_service .inner{
	max-width: 1210px;
}
.p-solution .sec_service .service_list li{
	display: flex;
	gap: 8.5%;
	margin-bottom: 4.5em;
}
.p-solution .sec_service .service_list li .img{
	flex: 1;
	margin-left: calc(50% - 50vw);
}
.p-solution .sec_service .service_list li .txt{
	width: 51.7%;
}
.p-solution .sec_service .service_list li .tit_wrap{
	display: flex;
	gap: 1em;
	margin-bottom: 3.1em;
}
.p-solution .sec_service .service_list li .tit_wrap .ico{
	margin-top: 1.4em;
	margin-left: -0.8em;
}
.p-solution .sec_service .service_list li .tit_wrap .ico img{
	width: 7.5em;
}
.p-solution .sec_service .service_list li .tit_wrap .tit{
	margin-top: 1.9em;
}
.p-solution .sec_service .service_list li .tit_wrap .tit .en{
	display: block;
	font-size: 1.15em;
	margin-bottom: 0.8em;
}
.p-solution .sec_service .service_list li .tit_wrap .tit .ja{
	display: block;
	font-size: 1.95em;
	line-height: 1.4;
	letter-spacing: -0.01em;
}
.p-solution .sec_service .service_list li .copy{
	font-size: 1.4em;
	letter-spacing: 0.01em;
	line-height: 1.9em;
	margin-bottom: 0.8em;
}

/****************************************
		.p-privacy
*****************************************/
.p-privacy .pagetit .ja{
	letter-spacing: 0.01em;
}
.p-privacy .copy{
	margin-top: 1em;
}
.p-privacy .policy-list {
	border-top: solid 1px #7b8a9d;
	max-width: 920px;
	margin-bottom: 5em;
}
.p-privacy .policy-list li {
	padding: 3.5em 0 3.3em;
	border-bottom: solid 1px #7b8a9d;
}
.p-privacy .policy-list .tit {
	font-size: 1.48em;
	margin-bottom: 1.3em;
}
.p-privacy .policy-list p{
	font-size: 0.97em;
	line-height: 2.15em;
	letter-spacing: -0.03em;
}


/****************************************
		.p-contact
*****************************************/
.p-contact .sec_form .sec_tit{
	margin-bottom: 1.4em;
	padding-left: 0.5em;
}
.p-contact .sec_form .sec_tit .ja{
	letter-spacing: 0.1em;
}
.p-contact.p-completion .sec_form .sec_tit .ja span{
	letter-spacing: -0.1em;
}
.p-contact .sec_form p{
	font-size: 1.11em;
}

.p-contact .copy{
  text-align: center;
}
.p-contact .note{
  font-size: 0.7em;
}
.p-contact .link {
	pointer-events: all;
	display: inline;
  color: #000;
	border-bottom: 1px solid #000;
}
.err {
  position: relative;
}
.error-message{
  color: #ff0000;
  font-size: 0.6em;
  margin: 0.5em 0.5em;
  position: absolute;
  left: 0;
	top: 0;
  font-weight: 500;
}

.form-wrap {
	margin-top: 3em;
  margin-bottom: 4.5em;
	max-width: 920px;
	border-top: 1px solid #000;
	padding-top: 2.8em;
}
.form-wrap .require {
	color: #ff0000;
  display: inline-block;
}
.form-wrap .form-list{
  margin: 3em auto 0;
	border-top: solid 1px #000;
}
.form-wrap .form-list .item-wrap{
	border-bottom: solid 1px #000;
	padding: 1.2em 1em 0.7em 2em;
	position: relative;
	min-height: 80px;
}
.form-wrap .form-list dt{
  font-weight: inherit;
  display: block;
	font-size: 0.84em;
	letter-spacing: 0.03em;
	line-height: 1.2;
}
.form-wrap .form-list dd{
  display: block;
  position: relative;
  flex: 1;
	word-break: break-word;
	overflow-wrap: break-word;
	font-size: 17px;
	line-height: 1.8;
}

.p-confirm .form-wrap .form-list{
	margin-top: 6.4em;
}
.p-confirm .form-wrap .form-list .item-wrap{
	display: flex;
	padding: 1.6em 2em 1.6em 2em;
}
.p-confirm .form-wrap .form-list dt,
.p-confirm .form-wrap .form-list dd{
	font-size: 1.15em;
	line-height: 1.8;
}
.p-confirm .form-wrap .form-list dt{
	width: 11.5em;
	padding-right: 1em;
}

.form-wrap input{
  width: 100%;
}
.form-wrap textarea{
  width: 100%;
	height: 10em !important;
}
.form-wrap .w-middle{
  width: 49%;
  position: relative;
}
.form-wrap .w-large{
  max-width: 320px;
}
.form-wrap .money{
  width: 48.5%;
  display: flex;
    align-items: flex-end;
    gap: 0.5em;
}

.form-wrap input,
.form-wrap textarea,
.form-wrap select{
	width: 100%;
	border: none;
	background: transparent;
	font-size: 17px;
	line-height: 1.8;
	padding: 0;
	outline: none;
	box-sizing: border-box;
	font-family: inherit;
	word-break: break-word;
	overflow-wrap: break-word;
}

.form-wrap input::placeholder,
.form-wrap textarea::placeholder,
.form-wrap select::placeholder{
  color: #B4B4B4;
}


.status{
	margin-top: 0.4em;
	letter-spacing: -0.05em;
}
/* フォーカス時 */
.status-focus{
  transition: all 0.3s ease 0s;
	background: #fff;
}
.status-focus .status{
  transition: all 0.3s ease 0s;
	height: auto;
	position: static;
}
/* 入力後 */
.status-valid .status,
.status-filled .status{
  transition: all 0.3s ease 0s;
	height: auto;
	position: static;
}
/* 空のとき */
.status-blur{
  transition: all 0.3s ease 0s;
}
.form-wrap .form-list .item-wrap.status-blur{
	padding: 2em 1.8em 0 1.8em;
}
.form-wrap .form-list .status-blur dt{
	font-size: 1.2em;
}
.status-blur .status{
  transition: all 0.3s ease 0s;
	position: absolute;
	top: 0;
	left: 0;
	margin-top: 0;
	resize: none;
	height: 0 !important;
}
/* エラー時 */
.err:has(.error-message),
.status-error{
  transition: all 0.3s ease 0s;
	background: #fbdcdc;
}

.form-wrap textarea{
  display: block;
}
.form-wrap label{
	display: block;
}
.form-wrap label input[type="radio"],
.form-wrap label input[type="checkbox"]{
  opacity: 0;
	position: absolute;
	cursor: pointer;
  width: auto;
}
.form-wrap label input[type="radio"] + span,
.form-wrap label input[type="checkbox"] + span{
  cursor: pointer;
  position: relative;
  font-size: 21px;
  display: flex;
  align-items: center;
}
.form-wrap label input[type="radio"] + span::before,
.form-wrap label input[type="checkbox"] + span::before{
  content: "";
  display: block;
  box-sizing: border-box;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  border: none;
  background-color: #fff;
  border: solid 2px #dddddd;
  margin-right: 0.2em;
}
.form-wrap label input[type="checkbox"] + span::before{
  border-radius: 0.2em;
  transition: all 0.3s ease 0s;
}
.form-wrap label input[type="checkbox"] + span::after{
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 24px;
  height: 14px;
  top: 0.2em;
  left: 0;
  transform: rotate(-45deg);
  border-bottom: 4px solid;
  border-left: 4px solid;
  border-color: #000;
  opacity: 0;
  transition: all 0.3s ease 0s;
}
.form-wrap label input[type="radio"]:checked + span::before{
  background-color: #000;
  box-shadow: inset 0 0 0 4px #fff;
  transition: all 0.3s ease 0s;
}
.form-wrap label input[type="checkbox"]:checked + span::after{
  opacity: 1;
  transition: all 0.3s ease 0s;
}


.form-wrap .agree {
	margin: 0 auto 1em;
  text-align: center;
  padding: 3em 0;
  position: relative;
}
.form-wrap .agree .err{
  display: inline-block;
}
.form-wrap .agree label input[type="checkbox"] + span::before{
  margin-right: 1.5em;
	width: 24px;
	height: 24px;
}
.form-wrap .agree .agree-txt {
	display: inline-flex !important;
	align-items: flex-start;
	justify-content: center;
	line-height: 1.6;
	letter-spacing: 0.01em;
	margin-right: 2.8em;
	font-size: 1em;
	text-align: left;
}
.form-wrap .agree .agree-txt span{
	flex: 1;
}

.form-wrap .btn-wrap{
	width: 100%;
	margin: 0 auto 2em;
}

.p-confirm .form-wrap .btn-wrap{
	margin-top: 3em;
}
.p-completion .form-wrap .btn-wrap{
	margin-top: 5.5em;
}

.form-wrap .btn-submit,
.form-wrap .btn-send .arrow,
.form-wrap .btn-send .arrow_back,
.form-wrap .btn-tohome{
	display: flex;
  position: relative;
	padding: 0;
}
.form-wrap .btn-submit input,
.form-wrap .btn-send .arrow input,
.form-wrap .btn-send .arrow_back input,
.form-wrap .btn-tohome{
	display: block;
	background: none;
	border: none;
	color: inherit;
	text-align: center;
	cursor: pointer;
	color: #fff;
	margin: 0 auto;
	border-radius: 10px;
	font: inherit;
	font-size: 1.25em;
	letter-spacing: 0.1em;
	padding: 2.4em 1em;
	width: 340px;
	background-image: linear-gradient(120deg, #fff 50%, #000 50%);
	background-position: 99%;
	background-size: 300%;
	background-repeat: no-repeat;
	transition: all 1s;
}
.form-wrap .btn-send{
  margin: 2em 0 0;
	display: flex;
	justify-content: center;
	gap: 1.4em;
}
.form-wrap .btn-send .arrow,
.form-wrap .btn-send .arrow_back{
  width: 37%;
}

/****************************************
		レスポンシブ
*****************************************/
.pc{
	display: block;
}
.sp{
	display: none;
}
.tablet{
	display: none;
}
img.pc{
	display: inline-block !important;
}
img.sp{
	display: none !important;
}

/****************************************
		PCのみ
*****************************************/
@media (min-width: 769px) {
	.btn_more:hover{
		transition: all 1s;
		opacity: 1;
		background-position: 0;
		color: #000;
	}
	.btn_more:hover:after{
		transition: all 1s;
		opacity: 0;
	}
	.line_anime a:hover{
		opacity: 1;
	}
	.line_anime a:hover::after {
		transform: scale(1, 1);
	}
	.menu_list .contact a:hover{
		transition: all 1s;
		opacity: 1;
		background-position: 0;
		color: #000;
	}

	.form-wrap .btn-submit input:hover,
	.form-wrap .btn-send .arrow input:hover,
	.form-wrap .btn-send .arrow_back input:hover,
	.form-wrap .btn-tohome:hover{
		transition: all 1s;
		opacity: 1;
		background-position: 0;
		color: #000;
	}
}
/****************************************
		タブレット
*****************************************/
@media (max-width: 999px) and (min-width: 769px) {
	.tablet{
		display: block;
	}
	.br:before {
		content: "\A";
		white-space: pre;
	}
	.sub-page .main_content:before{
    top: 32.5vw;
    width: 80%;
	}
	.sub-page .sub_main{
    width: 78%;
	}
	.p-solution .sec_service{
    margin-left: -22vw;
	}
	.sub-page .sub_hero{
    padding-left: 2em;
	}
	.sub-page .sub_hero .pagetit{
		font-size: 1.1em;
	}
	.sub-page .hero_img_none .sub_hero .pagetit{
		font-size: 1.5em;
	}
	.sec_flex{
    flex-direction: column;
    padding-bottom: 6em;
	}
	.sec_flex .sec_flex_tit{
		width: 100%;
		border-top: solid 1px #7b8a9d;
	}
	.sec_flex .sec_tit{
		padding: 1.4em 0;
	}
	.p-company .sec_greeting .copy{
    font-size: 2em;
	}
	.form-wrap .agree .agree-txt{
		margin-right: 0;
	}
}

/****************************************
		スマホ
*****************************************/
@media (max-width: 768px) {
	.pc{
		display: none !important;
	}
	.sp{
		display: block;
	}
	img.pc{
		display: none !important;
	}
	img.sp{
		display: inline-block !important;
	}
	.sp-scroll-x{
		overflow-x: auto !important;
	}
	.sp-scroll-x table{
		margin-bottom: 0 !important;
	}
	.sp-scroll-x + p{
		margin-top: 1em;
	}
	.br:before {
		content: "\A";
		white-space: pre;
	}
	body{
    font-size: 3vw;
		min-width: 0;
		-webkit-text-size-adjust: 100%;
	}
	.inner{
		width: 84%;
	}
	.table_default th,
	.table_default td{
		display: block;
    line-height: 1.8em;
	}
	.table_default th{
		padding: 1.5em 0 0.2em;
		width: 100%;
	}
	.table_default td{
		border: none;
		padding: 0 0 1.5em;
	}
	.btn_more{
    max-width: 15.5em;
    border-radius: 0.5em;
    padding: 1.3em 2em;
	}

	header{
		width: 100%;
	}
	header .header_logo{
    margin: 9vw 0 0 5vw;
	}
	header .header_logo img{
    width: 25vw;
	}

	/****************************************
		ハンバーガーメニュー
	*****************************************/
	header .ham_menu {
		top: 0;
		left: 0;
		right: 0;
		pointer-events: none;
		position: static;
	}
	header .ham_menu .menu {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		box-sizing: border-box;
		letter-spacing: 0.1em;
		transition: 0.3s;
		z-index: 999;
		overflow-x: auto;
		opacity: 0;
		pointer-events: none;

		background: rgb(255 255 255 / 5%);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
	header .ham_menu.active .menu {
		opacity: 1;
		transition: 0.3s;
		pointer-events: auto;
	}
	header .header_menu {
		pointer-events: none;
	}
	header .header_menu .menu_list {
		flex-wrap: wrap;
		padding: 31vw 5vw 6vw 9vw;
		width: 58%;
		height: 100%;
		margin: 0 0 0 auto;
		background: rgb(255 255 255 / 92%);
		margin-right: -100vw;
	}
	header .ham_menu.active .menu_list{
		margin-right: 0;
	}
	header .header_menu .menu_list li {
		width: 100%;
		margin-bottom: 8.2vw;
		height: auto;
	}
	header .header_menu .menu_list li a{
    letter-spacing: 0.13em;
	}
	header .header_menu .menu_list .contact {
		color: #fff;
		margin-top: 9vw;
    max-width: 9.5em;
	}
	header .header_menu .menu_list .contact a{
    letter-spacing: 0.25em;
    font-size: 1.1em;
		border-radius: 0.5em;
	}
	header .header_menu .menu_list .contact img {
		width: 1em;
	}

	/* .nav_toggle */
	header .ham_menu .nav_toggle {
		position: absolute;
		top: 7.5vw;
		right: 4.5vw;
		z-index: 1000;
		appearance: none;
		cursor: pointer;
		pointer-events: auto;
		border: none;
		box-sizing: border-box;
		width: 13vw;
		height: 10.5vw;
		padding: 2.5vw;
		border-radius: 1.5vw;
	}
	header .ham_menu .nav_toggle .line {
		position: relative;
		width: 100%;
		margin: 0 0 0 auto;
		text-align: right;
		box-sizing: border-box;
		display: block;
	}
	header .ham_menu .nav_toggle .line:before,
	header .ham_menu .nav_toggle .line:after {
		content: "";
		position: absolute;
		width: 100%;
		right: 0;
	}
	/* header .ham_menu .nav_toggle .line, */
	header .ham_menu .nav_toggle .line:before,
	header .ham_menu .nav_toggle .line:after {
		height: 1px;
		background-color: #000;
		display: block;
		transition: all .4s;
	}
	header .ham_menu .nav_toggle .line:before {
		top: -0.6vw;
	}
	header .ham_menu .nav_toggle .line:after {
		top: 0.7vw;
	}

	/* .scroll */
	body.scroll:not(.ham_active) header .ham_menu .nav_toggle{
		background: #000;
	}
	body.scroll:not(.ham_active) header .ham_menu .nav_toggle .line:before,
	body.scroll:not(.ham_active) header .ham_menu .nav_toggle .line:after{
		background-color: #fff;
	}

	/* .active */
	body.ham_active {
		overflow: hidden;
	}
	header .ham_menu.active .nav_toggle .line {
		visibility: hidden;
		transition: all .4s;
		background: transparent !important;
		width: 8vw;
	}
	header .ham_menu.active .nav_toggle .line:before,
	header .ham_menu.active .nav_toggle .line:after {
		top: 0;
		visibility: visible;
		transition: all .4s;
	}
	header .ham_menu.active .nav_toggle .line:before {
		transform: rotate(32deg);
	}
	header .ham_menu.active .nav_toggle .line:after {
		transform: rotate(-32deg);
	}


	.pagetop{
		right: 5.1vw;
		top: -5vw;
	}
	.pagetop a img{
    width: 5vw;
	}
	
	.p-top footer{
	}
	footer{
    padding: 6.4em 0 6em;
		background: #F7F8FA;
	}
	footer .footer_menu .footer_left{
		display: none;
	}
	footer .footer_menu .footer_right{
		width: 100%;
		text-align: center;
	}
	footer .footer_menu .footer_right .footer_logo{
    margin-bottom: 1.4em;
	}
	footer .footer_menu .footer_right .footer_logo img{
    width: 36vw;
	}
	footer .footer_menu .footer_right .name{

	}
	footer .footer_copy{
    flex-direction: column;
		text-align: center;
    margin-top: 3.8em;
	}
	footer .footer_copy .left a{
		margin: 0 auto;
	}
	footer .footer_copy .right{
		text-align: center;
	}
	footer .footer_copy small{
		font-size: 0.72em;
	}

	.p-top .top_hero{
	}
	.p-top .top_hero .txt{
		width: 95%;
    right: 0;
    left: 0;
    margin: 0 auto;
		text-align: center;
    /* bottom: 6em; */
		bottom: 15vh;
	}
	.p-top .top_hero .txt .tit{
		font-size: 6.4vw;
	}
	.p-top .top_hero .txt .tit .en{
    font-size: 2.2em;
	}
	.p-top .top_hero .txt .tit .ja{
    letter-spacing: 0.1em;
		margin-top: 0.8em;
	}
	.p-top .top_hero .txt p{
    font-size: 0.94em;
	}
	.p-top .top_hero .txt .btn_more{
		margin: 1.5em auto 0;
	}

	.p-top .top_solution{
		height: auto;
		padding: 4em 0 6.4em;
}
	.p-top .top_solution .img{
		position: static;
		width: 95%;
		padding: 14vw 0 15vw;
		height: auto;
    justify-content: flex-start;
	}
	.p-top .top_solution .img .inner{
		width: 100%;
	}
	.p-top .top_solution .img img{
		width: 100%;
	}

	.p-top .top_solution .txt{
		width: 100%;
		margin-top: -12vw;
		height: auto;
    max-width: none;
	}
	.p-top .top_solution .txt .tit{
    font-size: 4.2vw;
	}
	.p-top .top_solution .txt .tit .ja{
		margin-top: 0.5em;
	}
	.p-top .top_solution .txt .btn_more{
    margin: 1.6em 0 0 0;
	}

	.sub-page .main_content{
		margin-bottom: 5.4em;
	}
	.p-solution.sub-page .main_content{
    margin-bottom: 6.8em;
	}
	.sub-page .main_content:before{
    width: 74%;
	}
	.sub-page .main_content.hero_img_none:before{
    top: 13vw;
	}
	.sub-page .sub_main{
		margin: 0 auto;
		padding: 0 0 2em 0;
		width: 100%;
	}
	.sub-page .sub_main .inner{
    width: 85%;
	}
	.sub-page .sub_hero{
		padding: 0 0 4.8em;
	}
	.sub-page .hero_img_none .sub_hero{
    padding-top: 22vw;
    padding-bottom: 4.6em;
	}
	.p-confirm.sub-page .sub_hero,
	.p-completion.sub-page .sub_hero{
    padding-bottom: 3.5em;
	}
	.sub-page .main_content:not(.hero_img_none) .sub_hero .inner{
    width: 85%;
	}
	.sub-page .sub_hero .pagetit{
		font-size: 4vw;
	}
	.sub-page .sub_hero .pagetit .en{
		font-size: 3.65em;
    margin-top: 0.2em;
    line-height: 1.15;
	}
	.sub-page .hero_img_none .sub_hero .pagetit{
    font-size: 1.25em;
    margin-bottom: 2em;
	}
	.sub-page .hero_img_none .sub_hero .pagetit .ja{
    margin-top: 1.2em;
	}

	.sub-page .sub_hero .copy{
    font-size: 6.1vw;
    margin: 0 0 1.2em 0;
	}
	
	.p-solution.sub-page .sub_hero .img + div .pagetit{
    margin-top: -4.2em;
	}
	.p-solution.sub-page .sub_hero .copy{
		margin: 0.5em 0 1.3em 0;
	}

	.sec_flex{
    flex-direction: column;
    padding-bottom: 6em;
	}
	.sec_flex .sec_flex_tit{
		width: 100%;
		border-top: solid 1px #7b8a9d;
	}
	.sec_tit{
    font-size: 1.8em;
		padding: 1.4em 0;
	}
	.sec_tit .en{
    font-size: 0.55em;
	}
	.p-company .sec_greeting p{
		font-size: 1.01em;
	}
	.p-company .sec_greeting .copy{
		font-size: 4.2vw;
		margin-top: 0.3em;
    margin-bottom: 0.4em;
	}
	.p-company .sec_greeting .copy .en{
    font-size: 1.7em;
	}
	.p-company .sec_greeting .copy .ja{
    margin-top: 0.2em;
    letter-spacing: 0.05em;
	}
	.p-company .sec_outline{
    padding-bottom: 5em;
	}
	.p-company .sec_outline .table_default{
    margin-top: 1.5em;
	}
	.p-company .sec_access .map iframe{
    height: 81vw;
	}

	.p-solution .sec_intro{
		min-height: 0;
	}
	.p-solution .sec_intro .sec_intro_txt{
		max-width: none;
	}
	.p-solution .sec_intro .sec_intro_img{
		position: static;
		margin-left: -7.5vw;
    padding-top: 7em;
		width: 90.5vw;
	}
	.p-solution .sec_intro .sec_intro_img img{
		height: auto;
	}

	.p-solution .sec_service{
		margin: 0em auto 0;
		padding: 1em 0;
	}
	.p-solution .sec_service .service_list{
		margin: 0 auto;
	}
	.p-solution .sec_service .service_list li{
		flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: 4.3em;
	}
	.p-solution .sec_service .service_list li .img{
		width: 91vw;
		margin-left: -7.5vw;
		margin-bottom: 1.8em;
	}
	.p-solution .sec_service .service_list li .txt{
		width: 100%;
	}
	.p-solution .sec_service .service_list li .tit_wrap{
		flex-wrap: wrap;
    margin-bottom: 3em;
	}
	.p-solution .sec_service .service_list li.product .tit_wrap .ico,
	.p-solution .sec_service .service_list li.organizational .tit_wrap .ico{
    margin-left: 0;
	}
	.p-solution .sec_service .service_list li .tit_wrap .ico img{
    width: 6.5em;
	}
	.p-solution .sec_service .service_list li .tit_wrap .tit{
    margin-top: 0.2em;
	}
	.p-solution .sec_service .service_list li .tit_wrap .tit .en{
    font-size: 1.05em;
		margin-bottom: 0.2em;
	}
	.p-solution .sec_service .service_list li .tit_wrap .tit .ja{
		font-size: 1.8em;
		line-height: 1.8em;
	}
	.p-solution .sec_service .service_list li .copy{
    font-size: 1.3em;
    line-height: 1.8em;
    margin-bottom: 1.2em;
	}

	.p-privacy .policy-list{
    margin-bottom: 8em;
	}
	.p-privacy .policy-list li{
    padding: 3em 0 3em;
	}
	.p-privacy .policy-list .tit{
    font-size: 1.3em;
    margin-bottom: 0.8em;
	}
	.p-privacy .policy-list p{
    font-size: 1em;
    line-height: 1.7em;
	}

	.p-contact .sec_form .sec_tit{
		padding: 1.4em 0 0.8em;
	}
	.p-contact.p-completion .sec_form .sec_tit{
		margin-bottom: 0;
	}
	.p-contact .sec_form p{
    font-size: 1em;
	}
	.p-contact .note{
    font-size: 0.8em;
	}

  .error-message {
    font-size: 2vw;
    margin: 0.4em 0.4em;
  }
  .form-wrap{
    padding-top: 0;
    margin-bottom: 15vw;
    margin-top: 1.1em;
  }
  .form-wrap .require{
    font-size: 3vw;
  }
  .form-wrap form{
    max-width: none;
  }
  .form-wrap .form-list{
    margin: 11vw auto 0;
    max-width: none;
  }
	.p-confirm .form-wrap .form-list{
		margin-top: 12vw;
	}

	.form-wrap .form-list .item-wrap,
	.p-confirm .form-wrap .form-list .item-wrap{
    display: block;
    min-height: 15.5vw;
    padding: 2.6vw 2.8vw 1vw 2.8vw;
	}
	.form-wrap .form-list .item-wrap.status-blur{
    padding: 5.8vw 2.8vw 1vw 2.8vw;
	}
	
  .form-wrap .form-list dt,
	.p-confirm .form-wrap .form-list dt{
		font-size: 2.4vw;
		width: auto;
  }
	.form-wrap .form-list .status-blur dt{
		font-size: 3.2vw;
	}
  .form-wrap .form-list dd,
	.p-confirm .form-wrap .form-list dd{
    font-size: 3.1vw;
  }

  .form-wrap .w-large{
    max-width: 64%;
  }
  
  .form-wrap .select-box,
  .form-wrap input,
  .form-wrap textarea,
  .form-wrap select{
    border-radius: 0.8vw;
    font-size: 3vw;
  }
  .form-wrap textarea{
    height: 56vw !important;
  }

  .form-wrap label input[type="radio"] + span,
  .form-wrap label input[type="checkbox"] + span{
    font-size: 3.6vw;
  }
  .form-wrap label input[type="radio"] + span::before,
  .form-wrap label input[type="checkbox"] + span::before{
    width: 3vw;
    height: 3vw;
    margin-right: 0.4em;
  }
  .form-wrap label input[type="checkbox"] + span::after{
    width: 5vw;
    height: 2.7vw;
    border-bottom: 0.2em solid;
    border-left: 0.2em solid;
    border-color: #000;
  }

  .form-wrap .agree{
    margin: 0 auto 0.5em;
    max-width: none;
  }
  .form-wrap .agree label input[type="checkbox"] + span::before{
    width: 5vw;
    height: 5vw;
  }
  .form-wrap .agree .agree-txt{
		font-size: 3vw;
    align-items: flex-start;
		text-align: left;
		margin-right: 0;
		letter-spacing: -0.02em;
  }
  .form-wrap .btn-wrap{
    max-width: none;
		margin: 0 auto 7.2em;
  }
	.p-confirm .form-wrap .btn-wrap{
		margin-top: 2.5em;
	}
	.p-completion .form-wrap .btn-wrap{
		margin-top: 4em;
	}
  .form-wrap .btn-submit input,
  .form-wrap .btn-send .arrow input,
  .form-wrap .btn-send .arrow_back input,
  .form-wrap .btn-tohome{
    font-size: 3.5vw;
    padding: 2.3em 1em;
    width: 100%;
    border-radius: 1vw;
  }
  .form-wrap .btn-submit input,
  .form-wrap .btn-tohome{
    width: 63vw;
	}

	.form-wrap .btn-send .arrow,
	.form-wrap .btn-send .arrow_back{
		width: 44%;
	}
	.form-wrap{
		border-top: none;
	}
	

}