@charset "utf-8";
/* CSS Document */
body,
footer {
    width: auto;
	min-width: 320px;
}

.floating-btn {
	display: none;
}

/* footer */
footer{
	padding-top: 45px;
}
footer .fNav{
	max-width: 340px;
	justify-content: center;
	flex-wrap: wrap;
	text-align: center;
	padding: 0 30px 43px;
}
footer .footerInfo {
    margin-right: 0;
}
footer .footerInfo .logo{
	margin-bottom: 30px;
}
footer .footerInfo .logo2{
	margin-bottom: 20px;
	text-align: left;
	padding-left: 90px;
}
footer .footerInfo .logo2 img{
	padding-left: 15px;
}
footer .list{
	margin-top: 20px;
	text-align: left;
	flex-direction: column;
    align-items: center;
}
/* main */
#main_visual .top-cnt{
    justify-content: space-between;
    align-items: flex-end;
	flex-direction: column;
	transform: translate(0);
}
#main_visual h1{
    margin-top: 0;
	padding: 0 30px;
}
#main_visual .top-cnt p.sub{
	max-width: clamp(130px, 40vw, 230px);
	padding-right: 30px;
}

#main_visual .top-point{
	margin:-50px auto 0;
	clip-path: polygon(0 0%, 100% 0, 100% 100%, 0% 100%);
    flex-direction: column;
}
#main_visual .top-point > div img {
    width: 100%;
    height: clamp(300px, 50vw, 350px);
    object-fit: cover;
    object-position: 0 30%;
}
#main_visual .top-point > div p{
    font-size: clamp(1.25rem, 5vw, 1.5625rem);
}
#main_visual .top-point > div.text1 p{
    left: 30px;
	padding: 29px 25px 25px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}
#main_visual .top-point > div.text2 p{
	left: 30px;
    top: inherit;
    padding: 29px 10px 25px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	bottom:0;
}
#main_visual .top-point > div.text3 p{
    left: 30px;
    padding: 29px 25px 25px;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

#top_cnt01{
	padding:40px 30px 80px;
}
#top_cnt01 .text_cnt p{
	font-size: 1rem;
}
#top_cnt01 .text_cnt .sub{
	font-size: 1.375rem;
}
#top_cnt01 h2{
    font-size: 1.75rem;	
}
#top_cnt01 h3{
	font-size: 1.5rem;
	margin-bottom: 15px;
	padding-left: 44px;
}
#top_cnt01 ol{
	max-width: inherit;
	margin: 40px auto 0;
	gap: 40px 15px;
}
#top_cnt01 ol li{
	max-width: inherit;
}
#top_cnt01 ol li:before{
	top: 2px;
}
#top_cnt01 p.orange_box span{
	margin-left: 6px;
	margin-right: 6px;
}

#top_cnt02{
	padding: 40px 30px 40px;	
}
#top_cnt02 h2{
	font-size: 1.75rem;
}
#top_cnt02 .flow{
	margin: 40px auto;
	gap:30px;
	flex-direction: column;
	align-items: center;
}
#top_cnt02 .flow > div{
	max-width: inherit;
	padding: 35px 30px 35px;
}
#top_cnt02 .flow > div:after{
	top:inherit;
	bottom:-16px;
	right: 0;
	left: 0;
	transform: rotate(90deg);
}
#top_cnt02 .flow > div .img{
	margin-bottom: 15px;
}
#top_cnt02 .flow > div h3{
	font-size: 1.375rem;
}

/* form */
#top_cnt03 {
	padding: 40px 30px 80px;
}
#form h2{
	font-size: 1.75rem;	
}
#form > p{
    margin: 40px auto 0;
}
#form table{
	margin: 50px auto 0;
}
#form table tr{
	display: flex;
	flex-direction: column;
}
#form table th{
	padding-bottom: 10px;
}
#form table td{
	padding-bottom: 25px;	
}
#form table tr:last-of-type th,
#form table tr:last-of-type td{
	padding-bottom: 18px;
}
#form table td{
	padding-left: 0;
}
#form table th,
#form table th *{
	text-align: left;
}
#form .radio{
	padding-left: 0;
}
#form table th.txt_area{
    padding-top: 0;
	padding-bottom: 10px;
}
#form table td.txt_area{
	padding-bottom: 25px;
}
#form .btn_cnt{
    justify-content: center;
    max-width: inherit;
}

.mw_wp_form #form .error{
	font-size: 0.9375rem;
	font-weight: 700;
}
.mw_wp_form_preview p.checkbox{
	font-weight: 400 !important;
	padding-left: 0 !important;
}
.mw_wp_form_preview #form table th.txt_area{
	padding-top: 0;
}
.mw_wp_form_preview #form .radio {
    padding-left: 0;
}