@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP",sans-serif;line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea,select{font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP",sans-serif;}
input{font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP",sans-serif;line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:bold;}
ol,ul{list-style:none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="text"],input[type="submit"],input[type="button"],input[type="email"],input[type="tel"],input[type="date"],select,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*,*::before,*::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw_100:100vw;
	--vw_50:calc(var(--vw_100) / 2);
	--font_noto:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP",sans-serif;
	--font_roboto:"Roboto",sans-serif;
}

html{
	visibility:hidden;
	overflow-y:scroll;
}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{
	position:relative;
	overflow:hidden;
}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.sp_size{display:none !important;}

a{
	color:#333;
	text-decoration:underline;
}
a:visited{color:#8909A8;}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	/* background:url(/img/common/popup.svg) no-repeat center left; */
}
a.non{
	display:inline-block;
	transition:opacity 0.3s;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a.non:hover{opacity:0.5;}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	/* background:url(/img/common/icon_word.svg) no-repeat center left; */
}
a[href$=".xls"], a[href$=".xlsx"], a[href$=".xlsm"]{
	padding-left:20px;
	/* background:url(/img/common/icon_excel.svg) no-repeat center left; */
}
a[href$=".zip"]{
	padding-left:20px;
	/* background:url(/img/common/icon_zip.svg) no-repeat center left; */
}
a[href$=".pdf"]{
	padding-left:20px;
	/* background:url(/img/common/icon_pdf.svg) no-repeat center left; */
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	font-weight:normal;
	text-decoration:none !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

.link_btn{
	display:block;
	position:relative;
	width:240px;
	padding:18px 45px 18px 30px;
	background:#fff;
	border-radius:30px;
	color:#216B9E !important;
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:2.4rem;
	text-decoration:none !important;
	transition:color 0.3s, background 0.3s;
}
.link_btn:hover{
	background:#164C71;
	color:#fff !important;
}
.link_btn::before, .link_btn::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:16px;
	height:14px;
	margin:auto;
	background:no-repeat center/cover;
	transition:opacity 0.3s;
}
.link_btn::before{background-image:url(/disaster-prevention/img/common/arrow_r.svg);}
.link_btn:hover::before{opacity:0;}
.link_btn::after{
	background-image:url(/disaster-prevention/img/common/arrow_r_white.svg);
	opacity:0;
}
.link_btn:hover::after{opacity:1;}

.cta_area{
	margin-top:100px;
	padding:40px 20px 50px;
	background:#164C71;
}
.cta_box{
	max-width:1100px;
	margin:auto;
}
.cta_head{
	margin-bottom:35px;
	color:#fff;
	font-size:3.2rem;
	letter-spacing:1.92px;
	line-height:4.6rem;
	text-align:center;
}
.cta_box_in{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}
.cta_item{
	padding:20px 10px 25px;
	background:#fff;
	border-radius:20px;
	color:#333 !important;
	text-align:center;
	text-decoration:none !important;
	transition:background 0.3s;
}
.cta_item:hover{background:#D2EDFF;}
.cta_item h3{
	margin:0 0 8px;
	font-size:2.2rem;
	font-weight:bold;
	letter-spacing:1.32px;
	line-height:3.2rem;
}
.cta_item p{
	margin:0;
	color:#216B9E;
	font-family:var(--font_roboto);
	font-weight:bold;
	text-decoration:none !important;
	line-height:4rem;
}
.cta_tel p{
	font-size:3.7rem;
	letter-spacing:2.22px;
}
.cta_mail p{
	font-size:3rem;
	letter-spacing:1.8px;
}


/*----- header -----*/
#header_wrap{
	display:flex;
	align-items:center;
	justify-content:space-between;
	background:#fff;
}
#logo{
	width:250px;
	margin:0 30px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
	height:100%;
}
.header_area{
	display:flex;
	align-items:center;
}
#toggle{display:none;}
.menu_list{
	display:flex;
	align-items:center;
}
.menu_item{
	list-style:none;
	margin-right:30px;
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0.96px;
}
.menu_link{
	display:block;
	color:#333 !important;
	text-decoration:none !important;
}
.menu_link_txt{
	display:inline-block;
	position:relative;
	padding:9px 0;
}
.menu_link_txt::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:4px;
	background:#E6241C;
	opacity:0;
	transition:opacity 0.3s;
}
a:hover .menu_link_txt::after{opacity:1;}
.on .menu_link_txt::after{opacity:1;}
.menu_cta{display:flex;}
.menu_tel{
	width:235px;
	height:90px;
	padding:21px 0;
	background:#216B9E;
	color:#fff !important;
	font-family:var(--font_roboto);
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:1.9rem;
	text-align:center;
	text-decoration:none !important;
	transition:background-color 0.3s;
}
.menu_tel_txt{
	display:block;
	font-family:var(--font_noto);
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:1.2px;
	line-height:1.7rem;
}
.menu_tel_number{
	display:inline-block;
	margin-left:3px;
	font-size:2.4rem;
	letter-spacing:0;
	line-height:3.2rem;
}
.menu_mail{
	width:90px;
	height:90px;
	padding-top:53px;
	margin-left:1px;
	background:#216B9E url(/disaster-prevention/img/common/icon_mail.svg) no-repeat top 22px center/34px;
	color:#fff !important;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.7rem;
	text-align:center;
	text-decoration:none !important;
	transition:background-color 0.3s;
}
.menu_cta a:hover{background-color:#164C71;}


/*----- footer -----*/
#return{
	position:relative;
	z-index:20;
}
.return_btn{
	position:fixed;
	right:20px;
	bottom:20px;
	width:50px;
	height:50px;
	background:#216B9E;
	border:1px solid #fff;
	border-radius:50%;
	opacity:0;
	visibility:hidden;
	font-size:0;
	text-decoration:none !important;
	transition:background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{background:#164C71;}
.return_btn.display, .return_btn.pos_end{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{position:absolute;}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	background:url(/disaster-prevention/img/common/pagetop.svg) no-repeat center;
}
.return_btn span{display:none;}

.footer_area{
	padding:50px 20px 60px;
	background:#EAF0F1;
}
.footer_box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1100px;
	margin:auto;
}
.footer_box_in{
	max-width:1100px;
	margin:auto;
}
.f_logo{width:250px;}
.f_logo_link, .f_logo_img{
	display:block;
	width:100%;
	height:100%;
}
.f_menu_list{
	padding:0;
	margin:20px 0 0;
}
.f_menu_item{
	list-style:none;
	margin:0 0 0 40px;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.f_menu_link{
	color:#333 !important;
	text-decoration:none !important;
}
.f_menu_link:hover{text-decoration:underline !important;}
.f_sub_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1140px;
	padding:20px 20px 30px;
	margin:auto;
}
.f_sub_list{
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	margin:0 25px 0 0;
	font-size:1.4rem;
	letter-spacing:0.84px;
	line-height:2rem;
}
.f_sub_link{
	display:block;
	color:#333 !important;
	text-decoration:none !important;
}
.f_sub_link[target="_blank"]{
	padding-left:20px;
	background:url(/disaster-prevention/img/common/popup.svg) no-repeat center left;
}
.f_sub_link:hover{text-decoration:underline !important;}
.copyright{
	font-size:1.4rem;
	letter-spacing:0.84px;
	line-height:2rem;
}


@media screen and (min-width:768px) and (max-width:1024px){

.cta_area{margin-top:80px;}
.cta_head{
	margin-bottom:25px;
	font-size:2.7rem;
	letter-spacing:1.62px;
	line-height:3.8rem;
}
.cta_box_in{gap:20px;}
.cta_item h3{
	font-size:2rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
.cta_tel p{
	font-size:3.4rem;
	letter-spacing:2.04px;
}
.cta_mail p{
	font-size:2.7rem;
	letter-spacing:1.62px;
}

#logo{
	width:220px;
	margin:0 20px;
}
.menu_item{margin-right:25px;}
.menu_tel{
	width:220px;
	height:70px;
	padding:13px 0;
}
.menu_mail{
	width:70px;
	height:70px;
	padding-top:40px;
	background-position:top 15px center;
	background-size:28px;
}

.f_logo{width:220px;}
.f_menu_list{margin-top:15px;}
.f_menu_item{
	font-size:1.8rem;
	letter-spacing:1.08px;
	line-height:2.6rem;
}

}


@media screen and (max-width:767px){

.sp_size{display: block;}
[href^="tel:"]{pointer-events:auto;}
.link_btn{
	padding-top:17px;
	font-size:1.4rem;
	line-height:2rem;
}
.cta_area{
	padding:35px 20px 30px;
	margin-top:60px;
}
.cta_head{
	margin-bottom:15px;
	font-size:2.2rem;
	letter-spacing:1.32px;
	line-height:3.2rem;
}
.cta_box_in{display:block;}
.cta_item{
	display:block;
	padding:15px 20px;
	margin-bottom:10px;
	border-radius:10px;
}
.cta_item h3{
	margin-bottom:5px;
	font-size:1.8rem;
	letter-spacing:1.08px;
	line-height:2.6rem;
}
.cta_tel p{
	font-size:3.2rem;
	letter-spacing:1.92px;
}
.cta_mail p{
	font-size:2.4rem;
	letter-spacing:1.44px;
}

#logo{
	width:180px;
	margin:0 12px;
}
.header_area{flex-direction:row-reverse;}
#toggle{display:block;}
.toggle_btn{
	display:block;
	position:relative;
	width:55px;
	height:55px;
	padding:0;
	margin-left:1px;
	background:#216B9E;
	cursor:pointer;
}
.toggle_txt{
	display:block;
	width:100%;
	height:100%;
	font-size:0;
}
.toggle_btn:before, .toggle_btn:after, .toggle_txt::after{
	content:'';
	display:block;
	position:absolute;
	width:28px;
	height:2px;
	right:0;
	left:0;
	margin:auto;
	background:#fff;
	transition:all 0.3s;
}
.toggle_btn:before{top:20px;}
.toggle_btn:after{top:32px;}
.toggle_btn.open:before, .toggle_btn.open:after, .toggle_txt::after{
	top:26px;
}
.toggle_btn.open:before{transform:rotate(30deg);}
.toggle_btn.open:after{transform:rotate(-30deg);}
.open .toggle_txt{
	opacity:0;
	visibility:hidden;
}
.menu_dis{display:none !important;}

.menu_tel{
	width:55px;
	height:55px;
	padding:14px 0 0;
	background:#216B9E url(/disaster-prevention/img/common/icon_phone.svg) no-repeat top 12px center;
	font-size:0;
}
.menu_tel::after{
	content:'Tel';
	display:block;
	font-size:1rem;
	line-height:1.5rem;
}
.menu_tel_txt, .menu_tel_number{display:none;}
.menu_mail{
	width:55px;
	height:55px;
	padding-top:32px;
	background-position:top 12px center;
	background-size:20px;
	font-size:1rem;
	line-height:1.5rem;
}

.footer_area{padding:40px 20px 50px;}
.f_logo{width:180px;}
.f_menu_list{margin-top:10px;}
.f_menu_item{
	font-size:1.6rem;
	letter-spacing:0.96px;
	line-height:2.4rem;
}
.f_sub_area{
	display:block;
	padding:0;
}
.f_sub_list{display:block;}
.f_sub_item{
	margin:0;
	border-bottom:1px solid #ccc;
	font-size:1.3rem;
	letter-spacing:0.78px;
	line-height:1.9rem;
}
.f_sub_link{padding:16px 20px;}
.f_sub_link[target="_blank"]{
	padding-left:40px;
	background-position:center left 20px;
}
.copyright{
	display:block;
	padding:15px 20px 20px;
	font-size:1.3rem;
	letter-spacing:0.78px;
	line-height:1.9rem;
	text-align:center;
}



#menu{
	position:fixed;
	z-index:10;
	top:55px;
	right:0;
	bottom:0;
	left:0;
	width:100%;
	height:100%;
	padding:0 0 50px;
	background:#216B9E;
	border-top:1px solid #ccc;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.menu_list{display:block;}
.menu_item{
	margin:0;
	border-bottom:1px solid #1B5B86;
}
.menu_link{
	padding:12px 20px 13px;
	color:#fff !important;
}
.menu_link_txt{padding:5px 0;}
.menu_link_txt::after{
	height:2px;
	background:#fff;
}

}


@media screen and (max-width:500px){

.footer_area{padding:40px 0 0;}
.footer_box{display:block;}
.f_logo{margin:0 auto 20px;}
.f_menu_list{margin:0;}
.f_menu_item{
	margin:0;
	border-top:1px solid #ccc;
}
.f_menu_link{
	display:block;
	padding:20px 20px 21px;
	text-align:center;
}

}