
@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');

*{
	color: #333;
}
body {
	font-family: "Noto Sans JP", "Helvetica Neue", Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	position: relative;
	min-height: calc(100vh - 5rem);
}
a{
	text-decoration: none;
}

/* ----------------------------------------- */
header{
	display: flex;
    align-items: center;
    justify-content: space-between;
	width: 100%;
	padding: 0 5rem;
    background-color: #222;
	position:fixed;
	height: 5rem;
	top: 0;
    left: 0;
	z-index: 99999;
}
header h1{

}
header a{
	color: #FFF;
}


header nav{

}
header nav ul{
	display: flex;
    align-items: center;
}
header nav ul li{
	padding: 0 0 0 0.5rem;
    list-style: none;
}
header nav ul li a{
	font-size: 120%;
	padding:0.5rem 1.5rem;
	border: none;
}
header nav ul li a:hover{
	background-color: #FFF;
	color: #333;
}

.openbtn{
	display: none;
}
/* ----------------------------------------- */
main{
	margin: 6.5rem auto 0;
	width: calc(100% - 10rem);
	max-width: 1600px;
}
main .auve_info{
	display: flex;
    flex-direction: column;
    align-items: center;
}
main .auve_info h2{
	padding-top: 1rem;
}
main .auve_info img{
	width: auto;
	height: auto;
	display: block;
    margin: 0 auto;
}
main .auve_info p{
	display: inline-block;
    padding: 1rem;
    font-size: 105%;
    border: 1px solid #333;
	margin: 1rem 0 0 0;
}
main .auve_h2{
	border-bottom: 3px solid #333;
    font-size: 1.9rem;
    padding: 0.5rem 0 0.5rem 1.0rem;
	margin-top: 3.5rem;
	margin-bottom: 3rem;
}
.auve_guid{
	margin-top: 2rem;
	display: flex;
    justify-content: center;
}
.auve_guid img{
	width: 100%;
	max-width: 1250px;
	height: auto;
}

main .auve_fea{
	display: flex;
}
main .auve_fea .slick-slide{
	margin: 2rem 0;
}
main .auve_fea .slick-slide>div{
	display: flex;
    justify-content: space-evenly;
    align-items: center;
}
main .auve_fea .slick-slide>div>img{
	max-width: 800px;
	width: calc(100% - 300px);
	height: auto;
}
main .auve_fea .slick-slide>div>p{
	font-size: 1.5rem;
	padding: 0 2rem;
	font-feature-settings: "palt";
}
main .auve_fea h3{
	font-size: 1.5rem;
    text-align: left;
    padding: 1rem 0 1rem 1rem;
    border-bottom: 2px solid #333;
    border-left: 3px solid #333;
    margin-bottom: 1rem;
	position: relative;
}

main .auve_fea h3::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 20px;
	color: #333;
	font-size: 2.2rem;
} 

.auve_faq dl{
	margin: 2rem 0;
}
.auve_faq dt,
.auve_faq dd{
	padding: 15px 25px 15px 60px;
	color: #333;
}
.auve_faq dd{
	color: #333;
}

.auve_faq dt{
	background: url("../images/img_q.png") 13px 13px no-repeat;
    background-size: 35px auto;
    cursor: pointer;
    border: 1px solid #333;
    margin-bottom: 15px;
    position: relative;
}
.auve_faq dt:after{
	content: "▶";
	transform: rotate(90deg);
	float: right;
	position: absolute;
	right: 10px;
	top: 20%;
	font-size: 120%;
}
.auve_faq dt.faq_open:after{
	transform: rotate(-90deg);
}

.auve_faq dd{
	background:url("../images/img_q.png") 13px 13px no-repeat;
	background-size: 35px auto;
	cursor: pointer;
	margin-bottom: 15px;
	font-size: 95%;
	position: relative;
}
.auve_faq dd{
	background:url("../images/img_a.png") 15px 15px no-repeat #eff4d9;
	background-size: 35px auto;
	line-height: 1.5;
	display: none;
}
.auve_news{

}
.auve_news dl{
	margin: 0 0 1.5rem;
	font-size: 110%;
	padding: 0 1.5rem;
}
.auve_news dl dt{
	margin-top: 1.5rem;
}
.auve_news dl dd{
	padding: 0.5rem 0 0.5rem 1.5rem;
    border-bottom: 1px dotted #333;
}

.contact_input form>div.scrollable {
	display: block;
    width: 100%;
    height: 300px;
    overflow: auto;
    border: 1px solid #ccc;
    padding: 10px;
}

.contact_show{
	display: block;
}
.contact_hide{
	display: none;
}

.contact_input{
	font-size: 110%;
}
.contact_input form>div{
	margin: 1.5rem 1.5rem 2rem;
	display: flex;
	align-items: center;
    justify-content: space-between;
}
.contact_input form>div>div{
	display: flex;
	align-items: center;
    justify-content: space-between;
}
.contact_input form>div>div.c_radio{
	justify-content: flex-start;
	width: calc(100% - 320px);
}
.contact_input form>div>div.c_radio input{
	width: 20px;
}
.contact_input form>div>div>p{
	width: 13rem;
	font-weight: bold;
}
.contact_input form>div>div>span{
	text-align: center;
    color: #e11a1a;
    border: 1px solid #e11a1a;
    font-weight: bold;
    padding: 5px;
    font-size: 80%;
}
.contact_input form>div input,
.contact_input form>div textarea{
	width: calc(100% - 20rem);
}
.contact_input form>div input.input_error,
.contact_input form>div textarea.input_error{
	background-color: #ffdbdb;
	border: 1px solid #e11a1a;
}
.contact_input .form_consent{
	display: flex;
    align-items: center;
    justify-content: center;
}
.contact_input .form_consent label{
	display: flex;
    align-items: center;
}
.contact_input .form_consent input{
	width: 25px;
	height: 25px;
}
.contact_input form>div.form_submit{
	width: 25rem;
	margin: 1.5rem auto;
}
.contact_input #mail_comf_btn[type=submit]:disabled{
	color: #C4C4C4;
	background-color: #FFF;
	border: 2px solid #C4C4C4;
	cursor:default;
}
.contact_input #mail_comf_btn{
	padding: 0 10px;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
    border-radius: 23px;
    width: 100%;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
	height: 60px;
    border-width: 2px;
    border-radius: 30px;
	color: #2778BE;
    border: 2px solid #2778BE;
	background-color: #FFF;
	cursor:pointer
}

.contact_confirm>div{
	margin: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.contact_confirm>div>p{
	width: 13rem;
	font-weight: bold;
	font-size: 110%;
}
.contact_confirm>div>input{
	width: calc(100% - 20rem);
}

.contact_confirm .form_submit{
	justify-content: center;
}
.contact_confirm #mail_back_btn,
.contact_confirm #mail_comp_btn{
	width: 25rem;
	padding: 0 10px;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
    border-radius: 23px;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
	height: 60px;
    border-width: 2px;
    border-radius: 30px;
	color: #2778BE;
    border: 2px solid #2778BE;
	background-color: #FFF;
	cursor:pointer
}
.contact_confirm #mail_back_btn{
	margin-right: 1.5rem;
	color: #e11a1a;
	border: 2px solid #e11a1a;
}
.contact_confirm #mail_comp_btn{
	margin-left: 1.5rem;
}

.contact_comprete,
.contact_error{
	margin: 1.5rem;
}

footer{
	margin: 5rem auto 1rem;
    max-width: 1600px;
    text-align: center;
}


header h1 img{
	height: 65px;
	width: auto;
}
#auve_info{
	background-image: url("../images/top.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 100%;
	min-height: 500px;
	/* align-items: flex-end; */
	align-items: flex-start;
    justify-content: center;
}
main .auve_info p{
	max-width: 45%;
	border: none;
	padding: 1rem 0 1rem 0;
}
main .auve_h2{
	font-size: 1.4rem;

}
main .auve_fea h3{
	font-size: 1.3rem;
}
main .auve_info p,
main .auve_fea .slick-slide>div>p{
	font-size: 1.2rem;
}

.scrollable p{
	font-size: 95%;
	margin-bottom: 0.35rem;
}
@media screen and (min-width: 1050px ) and ( max-width: 1300px) {
	#auve_info{
		min-height: 400px;
	}
}
@media screen and (min-width: 767px ) and ( max-width: 1050px) {
	main{
		width: calc(100% - 5rem);
	}
	#auve_info{
		min-height: 300px;
		background-position: 100%;
	}
}

@media screen and (min-width: 767px ) and ( max-width: 1100px) {
	main .auve_info h2>span{
		display: block;
	}
}
@media screen and (min-width: 767px ) and ( max-width: 830px) {
	main .auve_info h2
	{
		width: 100%;
		text-align: left;
	}
}
@media screen and (max-width: 767px) {
	#auve_info{
		background-image: none;
		min-height:auto;
	}
	main .auve_info h2
	{
		width: 100%;
		text-align: center;
	}
	main .auve_info h2>span{
		display: block;
	}
	main .auve_info p{
		max-width: 95%;
	}
	header h1 img {
		height: 50px;
		width: auto;
	}
}