﻿@charset "UTF-8";
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{;margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}
*{box-sizing:border-box}
:root{
	--color-text:#111;
	--color-accent:#1eac4a;
	--color-accent-02:#1e7737;
}
/* ============================================================

============================================================ */
html{
	width:100%;
	height:100%;
	-webkit-text-size-adjust:none;
	-webkit-font-smoothing: antialiased;
	font-size:62.5%;
}
body{
	width:100%;
	font-family:-apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
	line-height:1.8em;
	font-size:1.6rem;
	color:#333;
	background:#fff;
}
h1,h2,h3,h4,h5,h6{
	font-weight:normal;
}
a{
	color:#333;
	cursor:pointer;
	transition:opacity 0.2s ease 0s, color 0.2s ease 0s;
	/*text-decoration:none;*/
	text-decoration:underline;
}
a:hover{
	opacity:0.7;
}
img{
	vertical-align:top;
}
small{
	font-size:0.9em;
}
.text_center{
	text-align:center;
}
.text_right{
	text-align:right !important;
}
.text_left{
	text-align:left !important;
}
.text_red{
	color:#de3023 !important;
}
a.text_red:hover{
	color:#FF6955 !important;
}
.text_blue{
	color:#19528a !important;
}
.text_yellow{
	color:#e0a72a !important;
}
.text_yellow2{
	color:#f1bc1a !important;
}
.text_gray{
	color:#555 !important;
}
.text_sup{
	font-size:0.6em;
	vertical-align:super;
}
.text_attention{
	font-size:0.8em;
	line-height:1.6em;
}
.text_bold,
.text_bold *,
.text_heavy,
.text_heavy *{
	font-family:'Zen Maru Gothic';
	font-weight:700;
	font-feature-settings:"palt" 1;
}
.text_heavy,
.text_heavy *{
	font-weight:900;
}
.text_noto,
.text_noto *{
	font-family:'Noto Sans JP';
	font-weight:900;
	font-feature-settings:"palt" 1;
}
.text_heading{
	margin-bottom:35px;
	font-size:3.2rem;
	line-height:1.3em;
	font-feature-settings:"palt" 1;
	letter-spacing:0.05em;
}
.text_nowrap{
	white-space:nowrap;
}
.text_highlight {
	background: linear-gradient(transparent 80%, #fff800 0%);
	line-height: 1.3em;
}
img{
	display:block;
	max-width:100%;
	min-height:auto;
}
img.inline{
	display:inline-block;
}
.inline{
	display:inline-block;
}
.img_icon{
	display:inline-block;
	width:100%;
	max-width:0.9em;
	margin:0 0 0 0.4em;
	vertical-align:middle;
	position:relative;
	top: -0.12em;
}
.alpha{
	backface-visibility:hidden;
	transition:opacity 0.2s ease 0s;
	zoom:1;
}
.alpha:hover{
	opacity:0.6;
}
.inview{
	backface-visibility:hidden;
}
.fadein{
	backface-visibility:hidden;
	transition:opacity 0.5s ease 0.2s, top 0.5s ease 0.2s;
	opacity:0;
	position:relative;
	top:30px;
	&.delay_2{
		transition:opacity 0.5s ease 0.4s, top 0.5s ease 0.4s;
	}
	&.delay_3{
		transition:opacity 0.5s ease 0.6s, top 0.5s ease 0.6s;
	}
	&.delay_4{
		transition:opacity 0.5s ease 0.8s, top 0.5s ease 0.8s;
	}
	&.delay_5{
		transition:opacity 0.5s ease 1s, top 0.5s ease 1s;
	}
	&.delay_6{
		transition:opacity 0.5s ease 1.2s, top 0.5s ease 1.2s;
	}
}
.fadein.visible{
	opacity:1;
	top:0;
}
.bn_cta:not(.bn_submit){
	display:inline-block;
	padding:1.2em 2.8em 1.2em 2.5em;
	position:relative;
	z-index:1;
	top:0;
	overflow:hidden;
	color:#fff !important;
	vertical-align:middle;
	font-weight:bold;
	border-radius:2.4em;
	border:solid 2px #ff6700;
	line-height:1;
	letter-spacing:0.06em;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	font-feature-settings:"palt" 1;
	letter-spacing:0.05em;
	background-color:#ff6700;
	filter: drop-shadow(1px 3px 0px rgba(186, 75, 0, 1));
	transition:top 0.1s ease 0s, opacity 0.2s ease 0s, border 0.3s ease 0.1s, color 0.2s ease 0s, background-image 0.3s ease 0.3s, background-color 0.2s ease 0.2s;
	&:hover,
	&.active{
		top:2px;
		opacity:1;
	filter: drop-shadow(1px 3px 0px rgba(0, 0, 0, 0));
		color:#ff6700 !important;
	}
	&:before{
		content:"";
		display:block;
		background:#fff;
		width:100%;
		height:100%;
		opacity:1;
		position:absolute;
		left:-100%;
		top:0;
		z-index:-1;
		border-radius:2.4em;
		transition:left 0.3s ease 0s, opacity 0.3s ease 0.3s;
	}
	&:hover:before{
		left:0;
	}
	&:after{
		content:"";
		display:block;
		width:0.8em;
		height:0.8em;
		position:absolute;
		right:0.6em;
		top:50%;
		margin-top:-0.4em;
		background:url(../img/icon_arrow_white.svg) no-repeat center center/contain;
	}
	&:hover:after{
		background-image:url(../img/icon_arrow_cta_hover.svg);
	}
}

.cta_set{
	display:block;
	margin:0 auto;
	padding:0 0 0 6em;
	position:relative;
	text-decoration:none;
	cursor:pointer;
	font-size:clamp(1.3rem, 1.5vw, 2rem);
	&:hover{
		opacity:1;
	}
}
.cta_mockup{
	width:9.8em;
	position:absolute;
	left:0;
	top: -1.3em;
	z-index:2;
}
.cta_set .bn_cta{
	display:block;
	padding: .9em 1.8em 1em 2.5em;
	font-size:1em;
}
.link_external{
	color: #e0a72a !important;
}
.link_external:after{
	content:"";
	display:inline-block;
	width:0.9em;
	height:0.9em;
	margin:0 0 0 4px;
	background:url(/cms/wp-content/themes/buildee/assets/img/icon_external_yellow.svg) no-repeat center center/cover;
}

/* =====================================
contents_wrapper
===================================== */
.contents_wrapper{
	width:100%;
	position:relative;
}
.contents_wrapper.bg_grad{
	background: linear-gradient(to right, #ffddd1 0%,#fff2be 50%,#def0c0 100%);
}
.contents_inner{
	width:100%;
	max-width:1200px;
	padding-top:90px;
	padding-bottom:90px;
	margin-left:auto;
	margin-right:auto;
	;
	position:relative;
}
@media screen and (max-width:1200px){
	.contents_inner{
		padding-left:2%;
		padding-right:2%;
	}
}
.contents_wave_top:before,
.contents_wave_bottom:before{
	content:"";
	display:block;
	width:100%;
	height:24px;
	position:absolute;
	top:0;
	left:0;
	background: url(../img/img_wave_top.svg) repeat-x center center/auto;
}
.contents_wave_bottom:before{
	top:auto;
	bottom:0;
	background: url(../img/img_wave_bottom.svg) repeat-x center center/auto;
}
.contents_wave_top.white:before{
	background: url(../img/img_wave_top_white.svg) repeat-x center center/auto;
}
.contents_heading{
	margin:0 0 40px;
	text-align:center;
}
.contents_heading_en{
	display:inline-block;
	margin:0 0 20px;
	position:relative;
	z-index:1;
	padding:6px 15px 8px;
	border-radius:10px;
	background:#e0a72a;
	color:#fff;
	font-size:2.4rem;
	letter-spacing:0.1em;
	line-height:1;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.05));
}
.contents_heading_en:after{
	content:"";
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 14px 0 14px;
	border-color: #e0a72a transparent transparent transparent;
	position:absolute;
	bottom:-14px;
	left:50%;
	margin-left:-14px;
}
.contents_heading_en.white{
	background:#fff;
	color:#e0a72a;
}
.contents_heading_en.white:after{
	border-color: #fff transparent transparent transparent;
}
.contents_heading_ja{
	font-size:4.9rem;
	line-height:1.2em;
}
.heading_logo{
	display:inline-block;
	width:4.5em;
	margin:5px 0.2em 0;
	vertical-align: bottom;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
}

/* =====================================
header
===================================== */
#header{
	width:100%;
	padding:0;
	position:fixed;
	top:0;
	z-index:100;
	;
	background:rgba(255,255,255,0);
	transition:box-shadow 0.3s ease 0.3s, background 0.3s ease 0.3s;
}
.header_inner{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	max-width:100%;
	padding:6px 0 6px 10px;
}
.header_login{
	display:inline-block;
	margin:0 10px 0 0;
	padding:0.4em 0.8em 0.4em 0.4em;
	border-radius:10px;
	background:#fff;
	font-weight:bold;
	font-size:1.4rem;
	text-decoration:none;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
	.icon_service,
	.icon_login{
		display:inline-block;
		width:1.5em;
		position:relative;
		top:-0.12em;
		vertical-align:middle;
	}
	.icon_login{
		width:0.9em;
	}
}
.header_logo{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	flex-grow:1;
	max-width:210px;
	padding:10px 10px 10px 1.5em;
	border-radius:10px 0 0 10px;
	;
	background:#fff;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
}
.header_logo_service{
	width:53%;
}
.header_logo_rvsta{
	width:44%;
}

/* =====================================
contents_mainvisual
===================================== */
#contents_mainvisual{
	background-image:url(../img/img_mainvisual_bg_02.webp), url(../img/img_mainvisual_bg.webp);
	background-repeat:no-repeat;
	background-position:top right -10vw, center bottom;
	background-size:870px, cover; 
}
#contents_mainvisual > .contents_inner{
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	flex-direction:row-reverse;
	/*max-width:80%;*/
	max-width:1300px;
	padding-top:40px;
	padding-bottom:40px;
}
/*
@media screen and (max-width:1860px){
	#contents_mainvisual > .contents_inner{
		max-width:1280px;
	}
}
*/
.mainvisual_text{
	width:45%;
	padding:0 3% 3%;
	position:relative;
	&:before{
		content:"";
		display:block;
		width:100%;
		height:75%;
		border-radius:30px;
		position:absolute;
		bottom:0;
		left:0;
		filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.1));
		background:#fff;
	}
}
.mainvisual_text_catch{
	max-width:460px;
	margin:0 auto;
	position:relative;
}
.mainvisual_text_slogan{
	max-width:450px;
	margin:0 auto 20px;
	position:relative;
}
.mainvisual_text_logo{
	max-width:290px;
	margin:0 auto 25px;
	position:relative;
}
.mainvisual_text_point{
	max-width:fit-content;
	padding:4%;
	margin:0 auto 35px;
	position:relative;
	border-radius:8px;
	background:#f4f4f4;
	li{
		padding:0 0 0 1.3em;
		margin:0 0 .5em;
		background: url(../img/icon_check_greenfile.svg) no-repeat center left/1.1em;
		font-size:2.1rem;
		font-weight:bold;
		line-height: 1;
	}
	li:last-child{
		margin:0;
	}
	li span{
		color:var(--color-accent);
	}
}
.mainvisual_image{
	width:52%;
}
.mainvisual_prize{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	max-width:90%;
	margin:0 auto;
	position:relative;
	z-index:1;
}
.mainvisual_image_mockup{
	position:relative;
	z-index:0;
	margin-top:-6%;
}
.mainvisual_image_ui{
	width: 81%;
	position: absolute;
	top: 10%;
	left: 9%;
	border-radius: 3px;
}

/* =====================================
contents_reason
===================================== */
#contents_reason{
	background: linear-gradient(to bottom, #68bd6c 50%, #9adaae 50%);
	.contents_inner{
		padding-bottom:60px;
	}
}
.reason_title{
	max-width:462px;
	margin:0 auto;
	position:relative;
	z-index:2;
}
.contents_reason_inner{
	margin-top: -75px;
	background:#fff;
	border-radius:30px;
	position:relative;
	z-index:1;
}
.reason_slogan{
	margin:0 0 1em;
	font-size:clamp(1.7rem, 4vw, 4rem);
	line-height:1.2em;
	span{
		color:var(--color-accent);
	}
}
.reason_wrap{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:2%;
}
.reason_item{
	padding:12px;
	border-radius:15px;
	background: linear-gradient(to right, #fdf3d2 0%, #e3f0d5 100%);
}
.reason_item_inner{
	min-height:100%;
	padding:15px;
	background: #fff;
	border-radius: 10px;
	text-decoration: none;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
}
.reason_item_image{
	max-width:200px;
	margin:0 auto 20px;
}
.reason_item_title{
	margin:0 0 .5em;
	font-size:2.6rem;
	line-height:1em;
	text-align:center;
	color:var(--color-accent);
}
.reason_item_desc{
	line-height:1.6em;
	font-size:.97em;
}

/* =====================================
contents_solution
===================================== */
#contents_solution{
	background:#9adaae;
	.contents_inner{
		padding-top:30px;
	}
}
.solution_title{
	max-width:540px;
	margin:0 auto 30px;
}
.solution_wrap{
	display: grid;
	grid-template-columns: 1fr 30px 1fr;
	gap: 2%;
	align-items:center;
	max-width:1000px;
	margin:0 auto 20px;
}
.solution_desc{
	margin:0 0 30px;
}
.solution_item_arrow{
	margin-top: 2.8em;
}
.solution_item{
}
.solution_item.after{
	backface-visibility:hidden;
	transition:opacity 0.5s ease 0.2s, left 0.5s ease 0.2s;
	opacity:0;
	position:relative;
	left:-30px;
}
.solution_wrap.delay_2 .solution_item.after{
	transition:opacity 0.5s ease 0.4s, left 0.5s ease 0.4s;
}
.solution_wrap.delay_3 .solution_item.after{
	transition:opacity 0.5s ease 0.6s, left 0.5s ease 0.6s;
}
.solution_wrap.visible .solution_item.after{
	opacity:1;
	left:0;
}
.solution_item_title{
	max-width:fit-content;
	padding:.6em .8em;
	border-radius:10px 10px 0 0;
	white-space:nowrap;
	background:#565656;
	color:#fff;
	font-weight:bold;
	font-size:1.8rem;
	line-height:1em;
	span{
		color:#fff800;
	}
	.after &{
		background:var(--color-accent-02);
	}
}
.solution_item_inner{
	display:flex;
	align-items:center;
	gap:12px;
	padding: 12px;
	border-radius: 0 10px 10px 10px;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
	background: #fff;
}
.solution_item_icon{
	width:80px;
	flex-shrink:0;
}
.solution_item_text{
	flex-grow:1;
	font-size:clamp(1.5rem, 2vw, 2rem);
	line-height:1.2em;
	font-feature-settings:"palt" 1;
	.after &{
		font-size:clamp(1.5rem, 2.2vw, 2.5rem);
		color:var(--color-accent-02);
	}
}


/* =====================================
contents_function
===================================== */
#contents_function{
	background: linear-gradient(to bottom, #ddf3e4 0%, #f8f9f2 100%);
}
.function_title{
	max-width:300px;
	margin:0 auto 20px;
}
.function_desc{
	margin:0 auto 40px;
	font-weight:bold;
	font-size:clamp(1.5rem, 2vw, 2rem);
	line-height:1em;
	font-feature-settings:"palt" 1;
}
.function_wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap:15px;
	margin:0 0 60px;
}
.function_item{
	padding:12px;
	border-radius:15px;
	background: rgba(255,255,255,0.4);
}
.function_item_inner{
	display:flex;
	align-items:center;
	gap:12px;
	padding:10px 15px 10px 10px;
	background: #fff;
	border-radius: 10px;
	text-decoration: none;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.05));
}
.function_item_image{
	width:38%;
	max-width:200px;
	flex-shrink:0;
}
.function_item_text{
	flex-grow:1;
}
.function_item_title{
	margin:0 0 .4em;
	font-size:clamp(1.5rem, 2vw, 2.2rem);
	font-feature-settings:"palt" 1;
	line-height:1.2em;
	color:var(--color-accent-02);
}
.function_item_desc{
	line-height:1.6em;
	font-size:.97em;
}
.function_cta{
	max-width:630px;
	padding:15px 35px 35px;
	margin:0 auto;
	background: #fff;
	border-radius: 20px;
	text-decoration: none;
	filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.03));
}
.function_cta_header{
	display:flex;
	align-items:center;
	gap:15px;
	margin:0 0 20px;
}
.function_cta_logo{
	width:40%;
	flex-shrink:0;
}
.function_cta .cta_set{
	display:block;
	margin:0 auto;
	padding:0 0 0 6em;
	position:relative;
	text-decoration:none;
	cursor:pointer;
	font-size:clamp(1.3rem, 2.7vw, 3rem);
	font-size:3rem;
	&:hover{
		opacity:1;
	}
	.cta_mockup{
		width:9.8em;
		position:absolute;
		left:0;
		top: -1.3em;
		z-index:2;
	}
	.bn_cta{
		letter-spacing:0;
		text-align:right;
		padding: .6em 1.8em .7em 2.5em;
	}
}

/* =====================================
contents_point
===================================== */
#contents_point{
	background:#f8f9f2;
}
#contents_point .contents_inner{
	padding-top:40px;
}
.point_popular_badge{
	max-width:440px;
	margin:0 auto;
}
.point_popular{
	padding:3%;
	padding-top:70px;
	margin-top:-40px;
	;
	border-radius:30px;
	background:#eff1e4;
}
.point_popular_slide{
	padding:0 30px;
	;
}
.point_popular_slide_item{
	max-width:900px;
	margin:0 auto;
	padding:4%;
	;
	border-radius:15px;
	background:#fff;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.05));
}
.point_popular_slide_title{
	margin:0 0 3%;
	font-size:3.5rem;
	line-height:1;
}
.point_popular_slide_title .label{
	display:inline-block;
	margin:0 10px 0 0;
	padding:7px;
	position:relative;
	top:-4px;
	border-radius:10px;
	background:#1eac4a;
	color:#fff;
	line-height:1;
	font-size:0.5em;
}
.point_popular_slide_body{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.point_popular_slide_logo{
	width:45%;
	text-align:center;
}
.point_popular_slide_logo img{
	display:inline-block;
}
.point_popular_slide_text{
	width:53%;
	line-height:2em;
	font-size:0.98em;
}

.point_popular_slide .slick-dots{
	margin-bottom:-15px;
}
.point_popular_slide .slick-dots li button:before{
	opacity:1;
	color:#ccc;
	font-size: 13px;
}
.point_popular_slide .slick-dots li.slick-active button:before{
	opacity:1;
	color:#1eac4a;
}
.point_popular_slide .slick-prev,
.point_popular_slide .slick-next{
	display:block;
	width:20px;
	height:38px;
	top:50%;
	margin-top:-19px;
	-webkit-transform:none;
	-ms-transform:none;
	transform:none;
	z-index:1;
	opacity:1;
	transition:opacity 0.2s ease 0s;
}
.point_popular_slide .slick-prev{
	left:0;
}
.point_popular_slide .slick-next{
	right:0;
}
.point_popular_slide .slick-prev:hover,
.point_popular_slide .slick-next:hover{
	opacity:0.7;
}
.point_popular_slide .slick-prev:before,
.point_popular_slide .slick-next:before{
	display:block;
	content:"" !important;
	width:20px;
	height:38px;
	background:url(../img/icon_arrow_prev.svg) no-repeat center center transparent;
	opacity:1;
}
.point_popular_slide .slick-next:before{
	background:url(../img/icon_arrow_next.svg) no-repeat center center transparent;
}

/* =====================================
contents_download
===================================== */
#contents_download{
	background: linear-gradient(to bottom,  #d4eed3 0%, #dbeab3 100%);
}
#contents_download .heading_logo{
	width: 5.5em;
	margin: -12px 0.2em 0;
	vertical-align: middle;
}
.download_slide{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	flex-direction:row;
	max-width:760px;
	margin:0 auto 30px;
}
.download_slide figure{
	width:49%;
	margin:0.5% 0 !important;
	border:solid 1px #eee;
}
.download_point{
	margin:0 auto;
}
.download_point p{
	display:inline-block;
	margin:0 0.5em 0.6em;
	font-size:2.7rem;
	line-height:1;
}
.download_point p .img_icon{
	margin:0 0.3em 0 0;
}
.download_point_more{
	margin:0 0 50px;
}
.download_form_pop{
	display:inline-block;
	position:relative;
	z-index:1;
	padding:12px 20px 14px;
	border-radius:30px;
	background:#1eac4a;
	color:#fff;
	font-size:3.2rem;
	line-height:1;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.05));
	span{
		color:#fff800;
	}
}
.download_form_pop:after{
	content:"";
	display:block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0 16px;
	border-color: #1eac4a transparent transparent transparent;
	position:absolute;
	bottom:-16px;
	left:50%;
	margin-left:-16px;
}
.download_form_wrap{
	max-width:760px;
	margin:-30px auto 0;
	padding:60px 20px 20px;
	;
	position:relative;
	border-radius:40px;
	background:#fff;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.05));
}
.download_form_slogan{
	margin:0 0 40px;
	font-size:3.4rem;
	line-height:1.2em;
}

/* フォームハンドラー用CSS
========================= */
.contents_form_flex{
	display:flex;
	justify-content:space-between;
}
.contents_form_flex .contents_form_input{
	width:48%;
	margin:0 0 20px;
}
.contents_form_input{
	margin:0 auto 20px;
}
.contents_form_input label:not(.checkbox){
	display:inline-block;
	margin:0 0 6px;
	font-weight:bold;
	line-height:1;
}
.contents_form_input label .notice{
	display:inline-block;
	margin:0 0 0 4px;
	color:#de3023;
	font-size:0.8em;
}
.contents_form_split{
	display:block;
	width:100%;
	height:1px;
	margin:30px auto 25px;
	border:none;
	outline:none;
	background:#ddd;
}
.contents_form_set input::placeholder{
	color:#777;
}
.contents_form_set{
	input:focus::-webkit-input-placeholder {
		color: transparent;
	}
	input:focus::-moz-placeholder {
		color: transparent;
	}
	input:focus::-ms-input-placeholder {
		color: transparent;
	}
	input:focus::placeholder {
		color: transparent;
	}
}
.contents_form_set input:not([type=checkbox]):not([type=submit]):not([type=button]),
.contents_form_set textarea{
	display:inline-block;
	width:100%;
	padding:8px;
	;
	font-size:1.5rem;
	text-transform:none;
	border:solid 1px #ddd;
	border-radius:4px;
	background:#fafafa;
	box-shadow:inset 0 1px 3px rgba(0,0,0,.05);
	-webkit-appearance:none;
	transition:background 0.2s ease 0s;
	font-family: inherit;
}
.contents_form_set input:not([type=checkbox]):not([type=submit]):not([type=button]):focus,
.contents_form_set textarea:focus{
	text-decoration:none;
	outline:none;
	background:#fff;
}
.contents_form_set input:not([type=checkbox]):not([type=submit]):not([type=button]).error,
.contents_form_set textarea.error,
.contents_form_set select.error{
	background:rgba(255,0,0,0.2);
	border:solid 1px #FF0000;
}
@media screen and (min-width:769px) {
	.contents_form_set select{
		display:inline-block;
		width:auto;
		min-width:150px;
		padding:8px 20px 8px 8px;
		;
		font-size:1.5rem;
		text-transform:none;
		border:solid 1px #ddd;
		border-radius:4px;
		background:#fafafa;
		box-shadow:inset 0 1px 3px rgba(0,0,0,.05);
		-webkit-appearance:none;
		transition:background 0.2s ease 0s;
		-webkit-appearance:none;
		-moz-appearance:none;
		appearance:none;
	}
	.contents_form_set select.wide{
		width:100%;
	}
	.contents_form_set select::-ms-expand {
		display:none;
	}
	.contents_form_set .select_wrap{
		position:relative;
	}
	.contents_form_set .select_wrap:after {
		content:'';
		display:block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 11px 6.5px 0 6.5px;
		border-color: #bbbbbb transparent transparent transparent;
		position:absolute;
		right:10px;
		top:12px;
	}
}
.contents_form_set .checkbox_wrap >p{
	display:inline-block;
	margin:0 20px 0 0;
}
.contents_form_set label.checkbox{
	display:inline-block;
	line-height:1;
}
.contents_form_set .checkbox_wrap [type="checkbox"]:not(:checked),
.contents_form_set .checkbox_wrap [type="checkbox"]:checked {
	position:absolute;
	left:-9999px;
}
.contents_form_set .checkbox_wrap [type="checkbox"]:not(:checked) + label,
.contents_form_set .checkbox_wrap [type="checkbox"]:checked + label {
	position:relative;
	padding-left:1.6em;
	cursor:pointer;
	word-break: break-all;
}
.contents_form_set .checkbox_wrap [type="checkbox"]:not(:checked) + label:before,
.contents_form_set .checkbox_wrap [type="checkbox"]:checked + label:before {
	content:'';
	position:absolute;
	left:0;
	top: -3px;
	width:1.25em;
	height:1.25em;
	background:#F4F4F4;
	border:solid 1px #ddd;
	border-radius:4px;
	box-shadow:inset 0 1px 3px rgba(0,0,0,.1);
}
.contents_form_set .checkbox_wrap [type="checkbox"]:not(:checked) + label:after,
.contents_form_set .checkbox_wrap [type="checkbox"]:checked + label:after {
	content:'\2713\0020';
	position:absolute;
	top:0;
	left:.15em;
	font-size:1.3em;
	line-height:0.8;
	color:#09ad7e;
	transition:all .2s;
	font-family:'Noto Sans JP';
}
.contents_form_set .checkbox_wrap [type="checkbox"]:not(:checked) + label:after {
	opacity:0;
	transform:scale(0);
}
.contents_form_set .checkbox_wrap [type="checkbox"]:checked + label:after {
	opacity:1;
	transform:scale(1);
}
.contents_form_set .valid_msg{
	display: block;
	padding:2px 0 0;
	color:#de3023;
	font-weight:bold;
	line-height: 1.2em;
}
.contents_form_set .bn_cta,
.contents_form_set input[type=submit],
.contents_form_set input[type=button]{
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
	outline:none;
}

.contents_formhandler_form{
}
.float_banner_close {
	width: 14px;
	height: 14px;
	padding: 10px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	filter: drop-shadow(0px 0px 1px rgba(0,0,0,0.5));
}
.formhandler_tooltip{
	display:block;
	width:100%;
	position:absolute;
	top:-80px;
	left:0;
	z-index:10;
	opacity:0;
	text-align:center;
	transition:top 0.3s ease 0s, opacity 0.3s ease 0s;
	pointer-events:none;
	user-select:none;
	-moz-user-select:none;
	-webkit-user-select:none;
	-ms-user-select:none;
}
.formhandler_tooltip.visible{
	opacity:1;
	top:-95px;
}
@media screen and (max-width: 980px) {
	.formhandler_tooltip.visible{
		top:-115px;
	}
}
.formhandler_tooltip_inner{
	display:inline-block;
	box-sizing: border-box;
	border-radius: 10px;
	background: #f4f4f4;
	filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.2));
	&:after{
		content:"";
		display:block;
		width: 0;
		height: 0;
		position:absolute;
		left:50%;
		margin-left:-10px;
		border-style: solid;
		border-width: 10px 10px 0 10px;
		border-color: #f4f4f4 transparent transparent transparent;
	}
}
.formhandler_tooltip_header{
	padding:7px 3px 5px;
	;
	background:#01a699;
	border-radius:10px 10px 0 0;
	color:#fff;
	line-height:1;
	font-weight:bold;
	font-size:1.7rem;
	.img_icon{
		font-size:1.3em;
	}
}
.formhandler_tooltip_body{
	;
	padding:7px 10px;
	font-size:1.35rem;
	line-height:1.4em;
}
.contents_formhandler_form_heading{
	max-width:600px;
	box-sizing: border-box;
	position: relative;
	margin: 0 0 1em;
	padding: 0 0 18px;
	font-size: 2rem;
	font-weight: bold;
}
.contents_formhandler_form_heading.wide{
	max-width:100%;
}
.contents_formhandler_form_heading:before, .contents_formhandler_form_heading:after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #ccc;
	position: absolute;
	left: 0;
	bottom: 0;
}
.contents_formhandler_form_heading:after {
	width: 10%;
	left:45%;
	background: #f1bc1a;
}
.contents_formhandler_form_autofill{
	max-width:600px;
	padding:20px 0 0;
}
.contents_formhandler_form_autofill .bn_cta{
	max-width:280px;
	padding:18px 15px 18px 35px;
	font-size:1.5rem;
	background:url(../img/icon_mail.svg) no-repeat center left 18px/18px #fff;
}
.contents_formhandler_form_autofill .bn_cta:hover{
	background:url(../img/icon_mail_hover.svg) no-repeat center left 18px/18px #f1bc1a;
}
#autofill_input{
	display:none;
}
.autofill_modal .modaal-container{
	background:none;
	box-shadow:none;
}
.autofill_input_inner{
	max-width: 500px;
	margin: 0 auto;
	background:#fff;
	border-radius:10px;
}
.autofill_input_title{
	padding:15px;
	box-sizing: border-box;
	border-radius:10px 10px 0 0;
	position:relative;
	line-height:1;
	background:#f1bc1a;
	text-align:center;
}
.autofill_input_form{
	padding:20px;
	box-sizing: border-box;
}
#autofill_text{
	width:100%;
	margin:0 auto 10px;
}
.contents_formhandler_required{
	margin:0 0 0.5em;
	font-size:1.3rem;
}
.contents_formhandler_form_main{
	max-width:600px;
	margin:0 auto;
	padding:0 0 30px;
	box-sizing: border-box;
	text-align:left;
}
.contents_formhandler_form_main .contents_form_input{
	position:relative;
}
.contents_formhandler_form_main .checkbox_wrap{
	margin-top:7px;
	font-size:0.95em;
}
.contents_formhandler_form_main .checkbox_wrap >p {
	display: block;
	margin: 0 20px 2px 0;
}
.contents_formhandler_form_main.contents_form_set input:not([type=checkbox]):not([type=submit]):not([type=button]),
.contents_formhandler_form_main.contents_form_set textarea{
	padding:9px 8px;
}
.contents_formhandler_form_main.contents_form_set input.short{
	max-width:242px;
}
.contents_formhandler_form_main .bn_submit{
	display:inline-block;
	max-width:450px;
	;
	padding:20px 35px 20px 25px;
	position:relative;
	z-index:1;
	top:0;
	overflow:hidden;
	color:#fff !important;
	vertical-align:middle;
	font-weight:bold;
	font-size:2rem;
	border-radius:28px;
	border:solid 2px #d69d00;
	line-height:1;
	letter-spacing:0.03em;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	font-feature-settings:"palt" 1;
	letter-spacing:0.05em;
	background:url(../img/icon_arrow_white.svg) no-repeat center right 10px/13px #1d90d6;
	box-shadow:1px 4px 0px 0px rgba(24,89,137,0.9);
	border:none;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	transition:top 0.2s ease 0s, opacity 0.2s ease 0s, box-shadow 0.2s ease 0s, border 0.4s ease 0s, color 0.1s ease 0s, background 0.2s ease 0.2s;
}
.contents_formhandler_form_main .bn_submit:hover{
	top:-3px;
	opacity:1;
	box-shadow: 0px 4px 7px 0px rgba(24,89,137,0.9);
	color:#fff !important;
	background:url(../img/icon_arrow_white.svg) no-repeat center right 10px/13px #10adfc;
}
.contents_formhandler_form_main .bn_submit:before{
	content:"";
	display:block;
	background:#10adfc;
	width:100%;
	height:100%;
	opacity:1;
	position:absolute;
	left:-50%;
	top:0;
	z-index:-1;
	border-radius:29px;
	transition:left 0.3s ease 0s, opacity 0.1s ease 0.3s;
}
.contents_formhandler_form_main .bn_submit:hover:before{
	width:100%;
	left:0;
	opacity:0;
}
_:-ms-lang(x)::-ms-backdrop, .bn_submit:before{
	display:none;
}
_:-ms-input-placeholder, :root .bn_submit:before{
	display:none;
}


.contents_formhandler_form_main .form_privacy_notice{
	margin:20px 0 0;
	text-align:left;
}
#body .contents_formhandler_form_main .gyr_replace_button{
	display:inline-block !important;
	margin-left:auto !important;
	margin-right:auto !important;
}
.contents_form_input.with_marker{
	display: flex;
	align-items: flex-start;
	justify-content:flex-start;
}
.form_required_marker{
	display:inline-block;
	padding:6px;
	border-radius:10px;
	position: relative;
	top: 5px;
	margin:0 10px 0 0;
	font-size:1.2rem;
	line-height:1;
	color:#fff;
	background:#DE3023;
	white-space:nowrap;
}
.form_required_marker.inline{
	position:static;
}
.form_required_marker.gray{
	background:#888;
}
.contents_form_input.with_marker > div{
	flex-grow:1;
}
#form_checkbox_STEnotfound{
	margin:0 auto;
}
#form_STEnotfound_wrap{
	max-height:0;
	padding-top:0;
	opacity:0;
	overflow:hidden;
}
#form_STEnotfound_wrap.visible{
	max-height:1000px;
	padding-top:30px;
	opacity:1;
	transition:max-height 0.5s ease 0s, padding-top 0.5s ease 0s, opacity 0.5s ease 0s;
}
#form_STEnotfound_wrap .contents_form_input:last-child{
	margin-bottom:0;
}
#form_select_site_wrap{
	max-height:0;
	margin:0;
	opacity:0;
	overflow:hidden;
	transition:max-height 0.5s ease 0s, margin 0.5s ease 0s, opacity 0.5s ease 0s;
}
#form_select_site_wrap.visible{
	max-height:100px;
	margin: 0 auto 20px;
	opacity:1;
}
.contents_formhandler_thanks{
	width:100%;
	max-width:900px;
	margin:0 auto;
	padding:40px 20px;
	;
	border-radius:10px;
	/*background:#fff;*/
}
.contents_formhandler_thanks_inner .paragraph:not(:last-child){
	margin:0 0 2em;
}
.contents_formhandler_thanks_inner p:not(:last-child){
	margin:0 0 1em;
}
.contents_formhandler_thanks_inner hr{
	display:block;
	width:100%;
	height:1px;
	padding:0;
	margin:2em 0;
	border:none;
	border-bottom:dashed 1px #ccc;
	background:none;
}
.contents_formhandler_thanks_inner p.formhandler_thanks_heading_lv2{
	margin: 0 0 0.6em;
	padding:0.1em 0 0.1em 0.3em;
	border-left:solid 4px #f1bc1a;
	font-size: 1.2em;
	font-weight:bold;
	line-height: 1.3em;
	&.text_red{
		border-color:#de3023;
	}
}
.formhandler_thanks_banner_service{
	display:inline-block;
	max-width:650px;
	margin:0 0 2em;
	img{
		border-radius:8px;
	}
}
.formhandler_banner_heading{
	padding:0.7em 0.5em 0.7em;
	color:#fff;
	background:#de3023;
	font-size: 1.3em;
	font-weight:bold;
	line-height: 1.3em;
	border-radius:0.3em;
}


@media screen and (max-width: 768px) {
	.contents_formhandler_form{
	}
	.contents_formhandler_form_heading{
		padding:15px 5px;
		font-size:1.6rem;
	}
	.contents_formhandler_form_autofill{
		padding:20px 0 0;
	}
	.contents_formhandler_form_autofill .bn_cta{
		padding:13px 15px 13px 35px;
		font-size:1.4rem;
	}
	.autofill_modal .modaal-content-container{
		padding:0;
	}
	.form_required_marker{
		padding:4px;
		border-radius:6px;
		top: 7px;
		margin:0 6px 0 0;
		font-size:1rem;
		vertical-align:middle;
	}
	.contents_formhandler_form_main{
		padding:0;
		box-sizing: border-box;
	}
	.contents_formhandler_form_main.contents_form_set input.short{
		max-width:100%;
	}
	.contents_formhandler_form_main .bn_cta{
		font-size:1.8rem;
	}
	.contents_formhandler_thanks{
		padding:10px 20px 30px;
	}
	.contents_formhandler_thanks_inner{
		text-align:left;
	}
	.contents_formhandler_thanks .contents_formhandler_form_heading {
		font-size: 1.8rem;
	}
	.contents_formhandler_thanks_inner nav{
		padding:20px 0 0;
	}
}

/* =====================================
footer
===================================== */
#footer .contents_inner{
	padding-top:40px;
	padding-bottom:10px;
}
.footer_logo{
	display:block;
	width:100%;
	max-width:160px;
	margin:0 auto 25px;
}
.footer_logo_logo img{
	width:100%;
}
#footer .text_attention{
	font-size:1.1rem;
}

/* =====================================
thanks
===================================== */
#contents_mainvisual.mainvisual_thanks > .contents_inner{
	display:block;
	padding-top:40px;
	padding-bottom:30px;
}
.mainvisual_thanks_slogan{
	width:80%;
	max-width:400px;
	margin:0 auto;
}
#contents_thanks .contents_inner{
	padding-top:0;
	margin-top:-40px;
}
#contents_thanks .text_bold,
#contents_thanks .text_heavy{
	font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, Helvetica, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴPro", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
}
#contents_thanks .bn_cta{
	padding:20px 50px;
	color:#333;
	font-size:1.7rem;
}

/* ============================================================
Responsive
============================================================ */
@media screen and (min-width:769px){
	.pc_hide{
		display:none !important;
	}
}
@media screen and (max-width:768px) {
	.sp_hide{
		display:none !important;
	}
	body{
		font-size:1.5rem;
		line-height:1.6em;
	}


	/* =====================================
	header
	===================================== */
	#header,
	#header.scroll{
		position:fixed;
		width:100%;
		padding:10px 0;
	}

	.header_inner{
		flex-direction: row-reverse;
		justify-content: space-between;
		padding:0 2% 0 0 !important;
	}
	.header_login{
		margin:0;
		font-size:1.2rem;
	}
	.header_logo{
		max-width:120px;
		padding:10px;
		border-radius:0 10px 10px 0;
	}

	
	/* =====================================
	contents_wrapper
	===================================== */
	.contents_inner{
		padding-left:5%;
		padding-right:5%;
		padding-top:40px;
		padding-bottom:40px;
	}
	.contents_wave_top:before,
	.contents_wave_bottom:before{
		background: url(../img/img_wave_top.svg) repeat-x center top/40%;
	}
	.contents_wave_bottom:before{
		background: url(../img/img_wave_bottom.svg) repeat-x center bottom/40%;
	}
	.contents_wave_top.white:before{
		background: url(../img/img_wave_top_white.svg) repeat-x center top/40%;
	}
	.contents_heading{
		margin:0 0 30px;
		text-align:center;
	}
	.contents_heading_en{
		margin:0 0 15px;
		font-size:1.8rem;
	}
	.contents_heading_en:after{
		border-width: 10px 10px 0 10px;
		bottom:-10px;
		margin-left:-10px;
	}
	.contents_heading_ja{
		font-size:2.6rem;
		line-height:1.2em;
	}
	.heading_logo{
		width:5em;
	}

	/* =====================================
	contents_mainvisual
	===================================== */
	#contents_mainvisual{
		background-size:60%, cover; 
	}
	#contents_mainvisual > .contents_inner{
		display:block;
		padding:60px 5% 40px;
	}
	.mainvisual_text{
		width:100%;
		margin-top:-20px;
		padding:0 0 20px;
		&:before{
			height:80%;
			border-radius:20px;
		}
	}
	.mainvisual_text_slogan{
		max-width:80%;
		margin:0 auto 10px;
		position:relative;
	}
	.mainvisual_text_logo{
		max-width:60%;
		margin:0 auto 15px;
	}
	.mainvisual_text_point{
		padding:0;
		margin:0 auto 25px;
		background:#fff;
		li{
			font-size:1.5rem;
		}
	}
	.mainvisual_text .cta_set{
		max-width:90%;
		margin:0 auto;
		font-size: 1.6rem;
		.bn_cta{
			padding: .5em 1.2em .55em 2.5em;
		}
	}
	.mainvisual_image{
		width:100%;
		margin:0 auto;
	}
	.mainvisual_prize{
		max-width:90%;
	}
	.mainvisual_image_mockup{
		max-width:70%;
		margin:-6% auto 0;
	}
	
	/* =====================================
	contents_reason
	===================================== */
	#contents_reason{
		background: linear-gradient(to bottom, #68bd6c 50%, #9adaae 50%);
		.contents_inner{
			padding-bottom:40px;
		}
	}
	.reason_title{
		max-width:260px;
	}
	.contents_reason_inner{
		margin-top:-30px;
		border-radius:20px;
	}
	.reason_slogan{
		margin:0 0 1em;
		font-size:5.5vw
	}
	.reason_wrap{
		grid-template-columns: 1fr;
		gap:15px;
	}
	.reason_item_image{
		max-width:140px;
		margin:0 auto 10px;
	}
	.reason_item_title{
		font-size:2rem;
	}
	.reason_item_desc{
		font-size:1em;
	}
	
	/* =====================================
	contents_solution
	===================================== */
	.solution_title{
		max-width:80%;
		margin:0 auto 20px;
	}
	.solution_wrap{
		display:block;
		margin:0 auto 35px;
	}
	.solution_desc{
		margin:0 0 20px;
	}
	.solution_item_arrow{
		width:30px;
		margin:5px auto;
		transform: rotate(90deg);
		
	}
	.solution_item{
	}
	.solution_item.after{
		transition:opacity 0.5s ease 0.2s, top 0.5s ease 0.2s;
		left:auto;
		top:-30px;
	}
	.solution_wrap.delay_2 .solution_item.after{
		transition:opacity 0.5s ease 0.4s, top 0.5s ease 0.4s;
	}
	.solution_wrap.delay_3 .solution_item.after{
		transition:opacity 0.5s ease 0.6s, top 0.5s ease 0.6s;
	}
	.solution_wrap.visible .solution_item.after{
		top:0;
	}
	.solution_item_title{
		font-size:1.5rem;
	}
	.solution_item_inner{
		gap:10px;
	}
	.solution_item_icon{
		width:60px;
	}

	
	/* =====================================
	contents_function
	===================================== */
	#contents_function .contents_inner{
		padding-bottom:0;
	}
	.function_title{
		max-width:70%;
		margin:0 auto 20px;
	}
	.function_desc{
		margin:0 auto 20px;
		line-height:1.5em;
	}
	.function_wrap{
		grid-template-columns: 1fr;
		gap:10px;
		margin:0 0 30px;
	}
	.function_item{
		padding:6px;
		border-radius:10px;
	}
	.function_item_inner{
		gap:10px;
		padding:10px 10px 10px 5px;
		border-radius: 8px;
	}
	.function_item_image{
		width:25%;
	}
	.function_item_title{
		font-size:1.6rem;
		line-height:1.3em;
	}
	.function_item_desc{
		font-size:.9em;
		line-height:1.5em;
	}
	.function_cta{
		padding:15px;
		border-radius: 15px;
	}
	.function_cta_header{
		gap:10px;
		margin:0 0 10px;
	}
	.function_cta .cta_set{
		font-size:1.8rem;
		.bn_cta{
			text-align:center;
			line-height:1.2em;
			padding: .3em 1.8em .35em 2.5em;
		}
	}

	/* =====================================
	contents_point
	===================================== */
	.point_popular{
		padding:0;
		margin:0;
		background:none;
	}
	.point_popular_slide{
		padding:0 20px;
	}
	.point_popular_slide_item{
		padding:20px;
		filter:none;
	}
	.point_popular_slide_title{
		font-size:1.9rem;
	}
	.point_popular_slide_body{
		display:block;
	}
	.point_popular_slide_logo{
		width:60%;
		margin:0 auto;
	}
	.point_popular_slide_text{
		width:100%;
		line-height:1.9em;
		font-size:1.4rem;
	}
	
	.point_popular_slide .slick-dots{
		margin-bottom:-5px;
		left: 0;
	}
	.point_popular_slide .slick-prev,
	.point_popular_slide .slick-next{
		width:16px;
		margin-top:-19px;
	}
	.point_popular_slide .slick-prev{
		left:-4px;
	}
	.point_popular_slide .slick-next{
		right:-4px;
	}
	.point_popular_slide .slick-prev:before,
	.point_popular_slide .slick-next:before{
		width:16px;
	}

	/* =====================================
	contents_download
	===================================== */
	#contents_download{
	}
	.download_slide{
		display:block;
		margin:0 0 50px !important;
	}
	.download_slide figure{
		width:100%;
		margin:0 !important;
	}
	.download_point p{
		font-size:1.8rem;
	}
	.download_point_more{
		margin:0 0 30px;
	}
	.download_form_pop{
		font-size:2rem;
	}
	.download_form_pop:after{
		border-width: 12px 12px 0 12px;
		bottom:-12px;
		margin-left:-12px;
	}
	.download_form_wrap{
		margin:-30px auto 0;
		padding:50px 15px 15px;
	}
	.download_form_slogan{
		margin:0 0 20px;
		font-size:1.7rem;
	}
	
	/* フォームハンドラー用CSS
	========================= */
	@media screen and (max-width: 768px) {
	.contents_form_input{
		margin:0 auto 15px;
	}
	.contents_form_split{
		margin:25px auto 20px;
	}

	.contents_form_set{
		font-size:1.4rem;
	}
	.contents_form_set .checkbox_wrap >p{
		display:inline-block;
		margin:0 0.5em 0.5em 0;
	}
	.contents_formhandler_form_main .bn_submit{
		display:block;
		width:100%;
		padding: 11px 20px;
		white-space: normal;
		font-size:1.6rem;
		line-height:1.4em;
	}

	.contents_form_set select{
		display:block;
		width:100%;
		padding:8px;
		;
		font-size:1.5rem;
		text-transform:none;
		border:solid 1px #ddd;
		border-radius:4px;
		background:#fafafa;
		color:#333;
	}
		.contents_formhandler_form_heading{
			padding:15px 5px;
			font-size:1.6rem;
		}
		.contents_formhandler_form_autofill{
			padding:20px 0 0;
		}
		.contents_formhandler_form_autofill .bn_cta{
			padding:13px 15px 13px 35px;
			font-size:1.4rem;
		}
		.autofill_modal .modaal-content-container{
			padding:0;
		}
		.form_required_marker{
			padding:4px;
			border-radius:6px;
			top: 7px;
			margin:0 6px 0 0;
			font-size:1rem;
			vertical-align:middle;
		}
		.contents_formhandler_form_main{
			padding:0;
			box-sizing: border-box;
		}
		.contents_formhandler_form_main.contents_form_set input.short{
			max-width:100%;
		}
		.contents_formhandler_thanks{
			padding:10px 20px 30px;
		}
		.contents_formhandler_thanks_inner{
			text-align:left;
		}
		.contents_formhandler_thanks .contents_formhandler_form_heading {
			font-size: 1.8rem;
		}
		.contents_formhandler_thanks_inner nav{
			padding:20px 0 0;
		}
	}
	
	/* =====================================
	footer
	===================================== */
	#footer .contents_inner{
		padding-top:40px;
		padding-bottom:10px;
	}
	.footer_logo{
		display:block;
		width:100%;
		max-width:160px;
		margin:0 auto 25px;
	}
	.footer_logo_logo img{
		width:100%;
	}
	#footer .text_attention{
		font-size:1.1rem;
	}

	/* =====================================
	thanks
	===================================== */
	#contents_mainvisual.mainvisual_thanks > .contents_inner{
		padding-top:80px;
		padding-bottom:20px;
	}
	.mainvisual_thanks_slogan{
		width:70%;
	}
	#contents_thanks .contents_inner{
		padding-top:0;
		margin-top:0;
	}
	#contents_thanks .bn_cta{
		display:block;
		padding:20px;
	}

}
