@charset "UTF-8";
/* CSS Document */

/* base */
html{}
body{ position:relative; font-family: 'Noto Sans JP', sans-serif;}
img{ max-width:100%;}
a{ transition: .3s;}
.container{ z-index: 1; position: relative;}
.mt0{ margin-top: 0 !important;}
@media (min-width: 768px) {
	.pcnone{ display: none !important;}
	main{ min-width: 1110px; overflow: hidden;}
	.container{ width: 1110px; max-width: inherit;}
}
@media (max-width: 767.98px) {
	.spnone{ display:none !important;}
	.container { padding-right: 10px; padding-left: 10px;}
	.row { margin-right: -10px; margin-left: -10px;}
	.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, .col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, .col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, .col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, .col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, .col-xl-auto{ padding-right: 10px; padding-left: 10px;}
}


/* common */
.text_white{ background-color: blue;}
.text_white *{ color: white;}
.midashi01{ position: relative; margin-top: 0;}
.midashi01 span,
.midashi01 small{ font-weight: bold;}
.midashi01>span{ display: inline-flex; position: relative;}
.midashi01>span::before{ content:""; position: absolute; top: 0; left: 0; background-color: black; display: none;}
.text_white .midashi01>span::before{ background-color: white;}

.midashi02{ position: relative; border-bottom-style: solid; border-bottom-color: #9AD9FB; font-weight: bold;}
.midashi02>span{ display: inline-block; position: relative;}
.midashi02>span::before{ content: ""; position: absolute; left: 0; width: 100%; display: block; background-color: #0088d2; z-index: 2;}

.midashi03{ position: relative; border-bottom-style: solid; border-bottom-color: #0088d2; font-weight: bold;}
.midashi03>span{ display: inline-block; position: relative;}
.midashi03>span::before{ content: ""; position: absolute; left: 0; width: 100%; display: block; background-color: #0088d2; z-index: 2;}

.midashi04 { font-weight: bold; margin-bottom: 2em; }
.midashi04>span { display: block; }
.midashi04>small { display: block; color: #8A8A8A;}

.midashi05 { font-weight: bold; position: relative; margin-bottom: 1em; margin-top: 2em;}
.midashi05::before { display: block; content: ""; position: absolute; }
.midashi05::after { display: block; content: ""; position: absolute; }

.midashi06{ font-weight: bold; color: #0088d2; border-bottom: #0088d2 solid 1px; border-left: #0088d2 solid 5px; line-height: 1em; position: relative; margin: 0;}

.midashi07{ position: relative; border-bottom-style: solid; border-bottom-color: #cccccc; font-weight: normal;}
.midashi07>span{ display: inline-block; position: relative; color: #0088d2;}
.midashi07>span::before{ content: ""; position: absolute; left: 0; width: 100%; display: block; background-color: #0088d2; z-index: 2;}

.midashi08{ font-weight: bold; color: #0088d2; line-height: 1em; position: relative; margin: 0;}

.midashi09{ position: relative; margin-top: 0;}
.midashi09 span,
.midashi09 small{ font-weight: bold;}
.midashi09>span{ display: inline-flex; position: relative;}

.link_box01{ text-align: center;}
.link_box01>a{ display: block; margin-left: auto; margin-right: auto; border: solid 1px white; background-image: url("../images/icon/arrow.svg"); background-repeat: no-repeat;}
.link_box01>a:hover { text-decoration: none; background-color: rgba(255,255,255,0.2); color: #fff;}
.mb-3em { margin-bottom: 3em; }
@media (min-width: 768px) {
	.base_box{ padding: 150px 0 80px;}

	.midashi01{ margin-bottom: 60px;}
	.midashi01>span{ display: block;}
	.midashi01>span::before{ width: 60px; height: 5px;}
	.midashi01>span>small{ font-size: 36px; line-height: 2.5em;}
	.midashi01>span>span{ font-size: 16px; position: absolute; left: 0; right: 0; bottom: 0; white-space: nowrap;}
	.midashi01_ex1::after{ content:"人と社会の営みを支え続ける。"; display: block; position: absolute; top: -2px; left: 0; right: 0; font-size: 18px; white-space: nowrap;}
	.midashi01_ex2::after{ content:"持続可能な世界へ未来を拓く。"; display: block; position: absolute; top: -2px; left: 0; right: 0; font-size: 18px; white-space: nowrap;}
	.midashi01_ex3::after{ content:"新たな夢を共に作る。"; display: block; position: absolute; top: -2px; left: 0; right: 0; font-size: 18px; white-space: nowrap;}

	.midashi02{ font-size: 26px; margin-top: 50px; margin-bottom: 20px; border-bottom-width: 5px;}
	.midashi02>span{ padding-bottom: 5px;}
	.midashi02>span::before{ height: 5px; bottom: -5px;}

	.midashi03{ font-size: 22px; margin-top: 50px; margin-bottom: 20px; border-bottom-width: 1px;}
	.midashi03>span{ padding-bottom: 5px;}
	.midashi03>span::before{ height: 3px; bottom: -1px;}

	.midashi04 { font-size: 28px; border-left: 7px solid #0088d2; padding-left: 10px;}
	.midashi04>span { border-bottom: 1px solid #000; line-height: 54px;}
	.midashi04>small { font-size: 16px; line-height: 40px; }

	.midashi05 { font-size: 18px; border-left: 2px solid #0088d2; padding: 0.2em 0 0.2em 0.5em;}

	.midashi06{ font-size: 20px; padding: 0.5em 0.5em;}

	.midashi07{ font-size: 22px; margin-top: 50px; margin-bottom: 20px; border-bottom-width: 1px;}
	.midashi07>span{ padding-bottom: 5px;}
	.midashi07>span::before{ height: 3px; bottom: -1px;}

	.midashi08{ font-size: 18px; padding: 0.3em 0;}
	
	.midashi09{ color: #0086d3;}
	.midashi09>span>small{ font-size: 36px; line-height: 2.5em; }
	.midashi09>span>span{ font-size: 16px; position: absolute; left: 0; right: 0; margin: auto; top: 0; white-space: nowrap;}

	.white_line{ min-width: 1110px; height: 1px; position: relative;}
	.white_line::before{ content:""; display: block; position: absolute; right: calc(50% - 555px); height: 1px; width: 5000px; background-color: white;}

	.link_box01>a{ width: 300px; line-height: 60px; background-position: right 12px center;}

	.ml-2em { margin-left: 2em; }
}
@media (max-width: 767.98px) {
	.base_box{ padding: 70px 0 40px;}

	.midashi01{ display: flex;}
	.midashi01>span::before{ width: 30px; height: 3px;}
	.midashi01>span>span,
	.midashi01>span>small{ line-height: 18px; margin-top: 13px;	}
	.midashi01>span>span{ font-size: 10px; order: 2; margin-left: 1em;}
	.midashi01>span>small{ font-size: 18px; order: 1;}
	.midashi01_ex1::after{ content:"人と社会の営みを支え続ける。"; display: block; position: absolute; top: -10px; left: 0; font-size: 12px; white-space: nowrap;}
	.midashi01_ex2::after{ content:"持続可能な世界へ未来を拓く。"; display: block; position: absolute; top: -10px; left: 0; font-size: 12px; white-space: nowrap;}
	.midashi01_ex3::after{ content:"新たな夢を共に作る。"; display: block; position: absolute; top: -10px; left: 0; font-size: 12px; white-space: nowrap;}

	.midashi02{ font-size: 16px; margin-top: 50px; margin-bottom: 10px; border-bottom-width: 3px;}
	.midashi02>span{ padding-bottom: 3px;}
	.midashi02>span::before{ height: 3px; bottom: -3px;}

	.midashi03{ font-size: 14px; margin-top: 50px; margin-bottom: 10px; border-bottom-width: 1px;}
	.midashi03>span{ padding-bottom: 3px;}
	.midashi03>span::before{ height: 3px; bottom: -1px;}

	.midashi04 { font-size: 16px; border-left: 5px solid #0088d2; padding-left: 7px;}
	.midashi04>span { border-bottom: 1px solid #000; line-height: 36px;}
	.midashi04>small { font-size: 12px; line-height: 28px; }

	.midashi05 { font-size: 14px; padding-left: 0.5em; border-left: 2px solid #0088d2; padding: 0.2em 0 0.2em 0.5em; }

	.midashi06{ font-size: 16px; padding: 0.5em 0.5em;}

	.midashi07{ font-size: 14px; margin-top: 50px; margin-bottom: 10px; border-bottom-width: 1px;}
	.midashi07>span{ padding-bottom: 3px;}
	.midashi07>span::before{ height: 3px; bottom: -1px;}

	.midashi08{ font-size: 14px; padding: 0.3em 0em;}
	
	.midashi09{ color: #0086d3;}
	.midashi09{ margin-bottom: 30px; display: flex;}
	.midashi09>span>span,
	.midashi09>span>small{ line-height: 18px; margin-top: 13px;	}
	.midashi09>span>span{ font-size: 10px; order: 2; margin-left: 1em;}
	.midashi09>span>small{ font-size: 18px; order: 1;}

	.link_box01{ padding: 0 10px;}
	.link_box01>a{ font-size: 12px; width: 100%; line-height: 50px; background-position: right 10px center; background-size: 16px;}
}


/* news list */
.news_list{ list-style: none; padding: 0; margin: 0;}
.news_list>li{}
.news_list>li>a{ display: flex; align-items: flex-start; text-decoration: none;}
.news_list>li>a>time,.news_list>li>a>i{}
.news_list>li>a>time,.news_list>li>a>i,.news_list>li>a>p{ font-weight: bold; margin: 0;}
.news_list>li>a>time{}
.news_list>li>a>i{ font-style: normal; background-color: black; color: white;}
.news_ct1{ background-color: #63bde7 !important;}
.news_ct2{ background-color: #e56841 !important;}
.news_ct3{ background-color: #84c367 !important;}
.news_ct4{ background-color: #2d8df3 !important;}
.news_list>li>a>p{ padding-left: 0.5em;}
.news_list>li>a>p>span{ display: inline-block; background: url("../images/icon/pdf.png") no-repeat left center;}
@media (min-width: 768px) {
	.news_list>li{ margin-bottom: 20px;}
	.news_list>li>a{ padding: 0; color: #fff;}
	.news_list>li>a>time,.news_list>li>a>i{ font-size: 16px; text-align: left;}
	.news_list>li>a>time,.news_list>li>a>i,.news_list>li>a>p,.news_list>li>a>p>span{ line-height: 20px;}
	.news_list>li>a>time{ width: 110px; font-weight: normal;}
	.news_list>li>a>i{ width: 60px; border-radius: 4px; font-size: 12px; font-weight: normal; text-align: center;}
	.news_list>li>a>p{ width: 830px; font-size: 14px; padding: 0 0 0 20px; font-weight: normal;}
	.news_list>li>a>p>span{ font-size: 10px; background-size: auto 20px; padding-left: 24px;}
}
@media (max-width: 767.98px) {
	.news_list>li{ margin-bottom: 20px;}
	.news_list>li>a{ padding: 0; color: #fff; flex-wrap: wrap;}
	.news_list>li>a>time,.news_list>li>a>i{ line-height: 15px; margin: 0 0 7px 0;}
	.news_list>li>a>time{ font-size: 12px; font-weight: normal;}
	.news_list>li>a>i{ font-size: 10px; margin-left: 10px; margin-right: 10px; min-width: 60px; text-align: center; border-radius: 2px; padding: 0 3px;}
	.news_list>li>a>p,.news_list>li>a>p>span{ line-height: 16px;}
	.news_list>li>a>p{ font-size: 12px; margin-top: 0; font-weight: normal; padding: 0;}
	.news_list>li>a>p>span{ font-size: 12px; background-size: auto 10px; padding-left: 12px;}
}


/* ニュースカテゴリ */
.news_categories { padding: 0 0 35px; display: flex;}
.news_categories a { background-color: #eee; color: #212529; font-size: 12px; min-width: 60px; text-align: center; margin: 0 5px 5px 0; display: flex; justify-content: center; align-items: center; border-radius: 50%; width: 60px; height: 60px;}
.news_categories a:hover,
.news_categories a.active { background-color: #0088d2; text-decoration: none; color: #fff;}
.news_categories.top a { background-color: transparent; border: 1px solid #fff; color: #fff; border-radius: 50%; width: 60px; height: 60px;}
.news_categories.top a:hover,
.news_categories.top a.active { background-color: rgba(255,255,255,0.2);}
@media (max-width: 767.98px) {
	.news_categories { justify-content: center;}
}


/* header */
header{ position: fixed; z-index: 90;}
header>h1{ margin: 0;}
header>h1>a{ display: block; position: relative;}
header>h1>a>img{ display: block;}

#en_btn,
#search_btn{ background-color: transparent; background-position: center; background-repeat: no-repeat; position: fixed; z-index: 90;}
#en_btn{ background-image: url("../images/icon/earth_blue.svg"); background-size:contain;}
#en_btn:hover{ background-image: url("../images/icon/earth_blue.svg"); background-size:contain;}
#search_btn{ background-image: url("../images/icon/search_blue.svg"); background-size:contain; outline: none; padding: 0; border: none; cursor: pointer; transition: .3s;}
#search_btn:hover{ background-image: url("../images/icon/search_blue.svg"); background-size:contain;}
.gsc-results-wrapper-overlay{ width: 70vw !important; height: 80vh !important;}

/* 2022.04.22 */
.googleSearch { display: flex; gap: 15px;}
.googleSearch input[type="search"] { flex-grow: 1; border-width: 1px;}
.googleSearch input[type="submit"] { flex-shrink: 1; width: 70px;}

@media (min-width: 890px) {
	header{ width: 215px; height: 80px; left: 10px; top: 2px; transition: .3s; transform-origin: 0 center;}
	header>h1>a:hover{ opacity: 0.7;}
	header>h1>a::after{ width: 65px; height: 65px; right: -83px; top: -7px;}

	#en_btn{ width: 20px; height: 20px; top: 20px; right: 70px;}
	#search_btn{ width: 20px; height: 20px; top: 50px; right: 68px;}
	#en_btn_text{ position: fixed; right: 15px; top: 20px; font-size: 14px; color: #0088d2;}
	#search_btn_text{ position: fixed; right: 33px; top: 50px; font-size: 14px; color: #0088d2;}
	.gsc-input-box{ padding-top: 3px !important; padding-bottom: 2px !important;}
}
@media (min-width: 890px) and (max-width: 1180px){	
	#en_btn{ width: 15px; height: 15px; top: 20px; right: 55px;}
	#search_btn{ width: 15px; height: 15px; top: 50px; right: 53px;}
	#en_btn_text{ position: fixed; right: 10px; top: 20px; font-size: 12px; color: #0088d2;}
	#search_btn_text{ position: fixed; right: 26px; top: 50px; font-size: 12px; color: #0088d2;}
}
@media (min-width: 890px) and (max-width: 1080px){
	header>h1>a::after{ width: 50px; height: 50px; right: -63px; top: 1px;}	
	header{ width: 170px; height: 64px; left: 10px; top: 14px; transition: .3s; transform-origin: 0 center;}	

	#en_btn{ width: 15px; height: 15px; top: 20px; right: 55px;}
	#search_btn{ width: 15px; height: 15px; top: 50px; right: 53px;}
	#en_btn_text{ position: fixed; right: 10px; top: 20px; font-size: 12px; color: #0088d2;}
	#search_btn_text{ position: fixed; right: 26px; top: 50px; font-size: 12px; color: #0088d2;}
}
@media (min-width: 890px) and (max-width: 1000px){
	header>h1>a::after{ width: 37px; height: 37px; right: -45px; top: 1px;}	
	header{ width: 170px; height: 64px; left: 10px; top: 14px; transition: .3s; transform-origin: 0 center;}	
}
@media (max-width: 889.98px) {
	#overlay_box{ position: fixed; width: 100%; height: 70px; right: 0; top: 0; z-index: 80; transition: .3s;}
	#overlay_box::before{ content: ""; width:100%; height: 100%; left: 0; top: 0; position: absolute; background-color: #fff; transition: .3s; opacity: 1.0;}

	header>h1>a::after{ width: 37px; height: 37px; right: -45px; top: 1px;}	
	header{ width: 150px; height: 64px; left: 10px; top: 19px; transition: .3s; transform-origin: 0 center;}
	header{ width: 160px; height: 60px; left: 10px; top: 6px;}
	header>h1>a::after{ width: 41px; height: 41px; right: -51px; top: -4px; background-size: 41px 41px;}

	#en_btn,
	#search_btn{ width: 30px; height: 50px; top: 10px;}
	#en_btn{ background-size: 26px; right: 85px;}
	#search_btn{ background-size: 25px; right: 50px;}
	#en_btn_text,
	#search_btn_text{ display: none;}
}
@media (max-width: 340px){
	header{ width: 160px; height: 60px; left: 10px; top: 6px;}
	header>h1>a::after{ width: 32.5px; height: 32.5px; right: -41px; top: -2.5px; background-size: 32.5px 32.5px;}
}

/* トップページ修正 */
.modal-dialog{ z-index: 1060;}
@media (min-width: 890px) {
	nav.top_nav{ background-color: #fff; width: 100%; height: 90px; z-index: 1051; position: fixed; border-bottom: 1px solid #ddd;}
	
	.overlayMenu{ position: fixed; top: 40px; right: 290px; z-index: 9; background-color: white; transition: .3s;}
	.overlayMenu::after{ content: ""; background-color: white; height: 2px; width: 100%; position: absolute; left: 0; bottom: 0; z-index: 1;}
	.overlayMenu>ul{ list-style: none; position: relative; width: 100%; max-width: 1054px; margin: 0 auto; padding: 0 15px; display: flex; justify-content: space-between; text-align: center; z-index: 2;}
	.overlayMenu>ul>li{ position: relative; margin: 0 10px;}
	.overlayMenu>ul>li>a{ display: block; font-size: 14px; color: #404040;}
	.overlayMenu>ul>li>a:hover{ text-decoration: none;}
	.overlayMenu>ul>li>a>span{ display: none;}
	.overlayMenu>ul>li::after{ content: ""; display: block; position: absolute; left: 0; bottom: -29px; width: 100%; height: 5px; background-color: #0088d2; opacity: 0; transition: .3s;}
	.overlayMenu>ul>li:hover::after{ opacity: 1;}
	
	.dd_box{ background-color: rgba(0,0,0,0.80); position: absolute; left: 0; top: 50px; width: 200px; visibility: hidden; opacity: 0; text-align: left; transition: .3s; font-size: 14px;}
	.overlayMenu>ul>li:hover .dd_box{ visibility: visible; opacity: 1;}
	.dd_box a{ color: white;}
	.dd_box a:hover{ text-decoration: none; opacity: 0.7;}
	.dd_box .g_list{ margin-bottom: 10px;}
	.dd_box .g_list dt{ color: white; border-bottom: 1px solid rgba(255,255,255,0.50); font-weight: normal; padding: 10px 10px 0; margin: 0 0 10px;}
	.dd_box .g_list dd{ width: calc(100% - 20px); margin: 0 auto;}
	.dd_box .g_list dd.fg_f10{ border-left: 1px solid rgba(255,255,255,0.50); border-top: 1px solid rgba(255,255,255,0.50); display: flex; flex-wrap: wrap;}
	.dd_box .g_list dd.fg_f10 a{ width: 20%; border-right: 1px solid rgba(255,255,255,0.50); border-bottom: 1px solid rgba(255,255,255,0.50); display: flex; justify-content: center; align-items: center; height: 44px;}
	.dd_box .g_list dd.fg_c a{ display: block; margin-bottom: 5px;}

	.dd_box .g_list_p{ margin: 0;}
	.dd_box .g_list_p a{ display: block; padding: 15px 10px; border-bottom: 1px solid rgba(255,255,255,0.50);}
	.dd_box .g_list_p a[target="_blank"]{ background-image: url("../images/icon/target_blank.svg"); background-repeat: no-repeat; background-position: right 10px center;}
	
	/* 20240711 追加 */
	.dd_box .sub_menu_box{ position: relative;}
	.dd_box .sub_menu_box span{ display: block; padding: 15px 10px; border-bottom: 1px solid rgba(255,255,255,0.50); color: #fff;}
	.dd_box .sub_menu_box .sub_menu{ background-color: rgba(27,27,27,0.80); position: absolute; left: 200px; top: -52px; width: 200px; visibility: hidden; opacity: 0; text-align: left; transition: .3s; font-size: 14px;}
	.dd_box .sub_menu_box .sub_menu a{ display: block; padding: 15px 10px; border-bottom: 1px solid rgba(255,255,255,0.50);}
	.dd_box .sub_menu_box:hover .sub_menu{ visibility: visible; opacity: 1;}
	.dd_box .sub_menu_box.menu_long .sub_menu{ left: 200px; top: -156px;}
}
@media (min-width: 1600px){
	.overlayMenu>ul>li{ position: relative; margin: 0 13px;}
}
@media (min-width: 1400px){
	.overlayMenu>ul>li>a{ display: block; font-size: 16px; color: #404040;}
	.overlayMenu>ul>li::after{ content: ""; display: block; position: absolute; left: 0; bottom: -26px; width: 100%; height: 5px; background-color: #0088d2; opacity: 0; transition: .3s;}
}
@media (min-width: 890px) and (max-width: 1245px){
	.overlayMenu{ position: fixed; top: 40px; right: 230px; z-index: 9; background-color: white; transition: .3s;}
	.overlayMenu>ul>li::after{ content: ""; display: block; position: absolute; left: 0; bottom: -29px; width: 100%; height: 5px; background-color: #0088d2; opacity: 0; transition: .3s;}
	.overlayMenu>ul>li{ position: relative; margin: 0 7px;}
}
@media (min-width: 890px) and (max-width: 1180px){
	.overlayMenu{ position: fixed; top: 40px; right: 210px; z-index: 9; background-color: white; transition: .3s;}
	.overlayMenu>ul>li::after{ content: ""; display: block; position: absolute; left: 0; bottom: -32px; width: 100%; height: 5px; background-color: #0088d2; opacity: 0; transition: .3s;}
	.overlayMenu>ul>li>a{ display: block; font-size: 12px; color: #404040;}
}
@media (min-width: 890px) and (max-width: 1080px){
	.overlayMenu{ position: fixed; top: 40px; right: 170px; z-index: 9; background-color: white; transition: .3s;}
	.overlayMenu>ul>li{ position: relative; margin: 0 5px;}
}
@media (max-width: 889.98px) {
	nav.top_nav { background-color: #fff; height: 70px;}
	#overlay_box{ position: fixed; height: 70px; right: 0; top: 0; z-index: 80; transition: .3s; border-bottom: 1px solid #ddd;}
	
	.overlayMenuBtn::before{ content: "MENU"; display: block; width: 100%; text-align: center; color:  #0088d2; position: absolute; line-height: 1em; transition: .3s;}
	.overlayMenuBtn span{ display: block; height: 2px; background: #0088d2; position:absolute; transition: 0.3s;}
	.overlayMenu{ display: block; position: fixed; width: 100%; top: 0; right: 0; background-color: rgba(0,0,0,0.80); transition: .3s;}
	.overlayMenu.open{transform: scale(1,1);}
	.overlayMenuBtn{ position: absolute; right: 0; top: 0; width: 50px; cursor: pointer; height: 70px; z-index: 101;}
	.overlayMenuBtn::before{ font-size: 8px; top: 14px;}
	.overlayMenuBtn span{ width: 30px; left: calc(50% - 15px);}
	.overlayMenuBtn span:nth-child(1){ top: 28px;}
	.overlayMenuBtn span:nth-child(2){ top: 39px;}
	.overlayMenuBtn span:nth-child(3){ top: 50px;}
	.open.overlayMenuBtn span{ top: 39px;}
	.open.overlayMenuBtn span:nth-child(1){ transform: rotate(45deg);}
	.open.overlayMenuBtn span:nth-child(2){ width: 0; left: 50%;}
	.open.overlayMenuBtn span:nth-child(3){ transform: rotate(-45deg);}
	.overlayMenu{ overflow: auto; padding: 75px 10px 60px; min-height: 100vh; z-index: 75; transition: .3s; transform: scale(1,0); transform-origin: top;}
	
	.overlayMenu>ul{ padding: 0; list-style: none; margin: 0;}
	.overlayMenu>ul>li{ font-size: 14px; border-bottom: 1px solid white;}
	.overlayMenu>ul>li>a{ color: white; display: flex; padding: 15px 0;}
	.overlayMenu>ul>li>a>span{ font-size: 14px; font-weight: normal; padding-right: 1em;}
	.overlayMenu>ul>li .dd_box{ display: none;}
}


/* スマホ下部メニュー */
#header_ul{ position: fixed; margin: 0; padding: 0; list-style: none; display: flex; z-index: 1000;}
#header_ul>li{}
#header_ul>li>a{ font-weight: bold;}
#header_ul>li>a:hover{ text-decoration: none;}
@media (min-width: 890px) {
	#header_ul{ width: 200px; height: 90px; right: 95px;}
	#header_ul>li{ font-size: 17px; line-height: 1em; width: 100px; padding: 25px 10px 0;}
	#header_ul>li>a{ display: block; border-bottom-width: 3px; border-bottom-style: solid; padding: 10px 0; text-align: center; color: #0088d2;}	
	#header_ul>li:hover>a{ color: #fff!important;}
	#header_ul>li:hover { background-color: #0088d2;}
	#header_ul>li:first-child>a{ border-bottom-color: #0088d2;}
	#header_ul>li:last-child>a{ border-bottom-color: #0088d2;}
	#header_ul>li:hover>a{ border-bottom-color: #fff!important;}
}
@media (min-width: 890px) and (max-width: 1245px){
	#header_ul{ width: 150px; height: 90px; right: 90px;}
	#header_ul>li{ font-size: 14px; line-height: 1em; width: 100px; padding: 25px 5px 0;}
	#header_ul>li>a{ display: block; border-bottom-width: 3px; border-bottom-style: solid; padding: 10px 0; text-align: center; color: #0088d2;}
}
@media (min-width: 890px) and (max-width: 1180px){
	#header_ul{ width: 150px; height: 90px; right: 75px;}
	#header_ul>li{ font-size: 14px; line-height: 1em; width: 100px; padding: 25px 5px 0;}
	#header_ul>li>a{ display: block; border-bottom-width: 3px; border-bottom-style: solid; padding: 10px 0; text-align: center; color: #0088d2;}	
}
@media (min-width: 890px) and (max-width: 1080px){	
	#header_ul{ width: 100px; height: 90px; right: 75px;}
	#header_ul>li{ font-size: 11px; line-height: 1em; width: 100px; padding: 25px 3px 0;}
	#header_ul>li>a{ display: block; border-bottom-width: 3px; border-bottom-style: solid; padding: 10px 0; text-align: center; color: #0088d2;}
}
@media (max-width: 889.98px) {
	#header_ul{ width: 100%; left: 0; bottom: 0; font-size: 0; box-shadow: 0 2px 5px black;}
	#header_ul>li{ line-height: 1em; margin: 0; width: 50%;}
	#header_ul>li:first-child{ background-color: white;}
	#header_ul>li:last-child{ background-color: #0088d2;}
	#header_ul>li>a{ width: 100%; text-align: center; display: inline-flex; height: 50px; align-items: center; justify-content: center;}
	#header_ul>li>a>span{ display: inline-block; border-bottom-width: 5px; border-bottom-style: solid; padding: 0 10px 10px; font-size: 15px; line-height: 1.2em; text-align: center; color: white; height: 30px;}
	#header_ul>li:first-child>a>span{ border-bottom-color: #0088d2; color:black;}
	#header_ul>li:last-child>a>span{ border-bottom-color: white;}
}


/* footer */
#banner_box{ background-color: #d3dbef;}
#banner_box>div{ display: flex; flex-wrap: wrap;}
#footer_list{ padding: 0; list-style: none;}
#footer_list{ display: flex; flex-wrap: wrap;}
#footer_list a{ color: black;}
#footer_list>li>a{ font-weight: bold; display: block;}
#footer_info{ text-align: center;}
#footer_info>h2{ font-weight: bold;}
@media (min-width: 768px) {
	#banner_box{ min-width: 1110px; position: relative;}
	#banner_box>div{ width: 1110px; margin: 20px auto; padding: 40px 0 20px;}
	#banner_box>div>a{ width: 250px; margin: 0 13.75px 20px;}

	#page_top_pc{ position: fixed; right: 1px; width: 68px; height: 50px; bottom: 1px; background: url("../images/icon/top_arrow.svg") no-repeat center; background-size: 40px 12px; z-index: 110;}
	#page_top_pc:hover { background-color: rgba(0,134,211,0.50);}
	footer{ min-width: 1110px;}
	footer>.container{ padding-top: 30px; width: 1010px;}
	#footer_list{ margin: 0 -10px 60px;}
	#footer_list>li{ width: calc(20% - 20px); margin: 0 10px 20px;}
	#footer_list>li>a{ font-size: 14px; border-bottom: 1px solid black; padding: 6px 0;}
	#footer_list>li:nth-last-child(3)>a,#footer_list>li:nth-last-child(2)>a{ margin-bottom: 6px;}
	#footer_list>li:nth-last-child(3)>a:last-child,#footer_list>li:nth-last-child(2)>a:last-child{ margin-bottom: 0;}
	#footer_list>li>ul{ padding: 0 0 0 5px; list-style: none;}
	#footer_list>li>ul>li>a{ font-size: 12px;}
	#footer_info{ position: absolute; right: 0; bottom: 20px; width: 610px; height: 150px; text-align: right;}
	#footer_info>div{ width: 280px; position: absolute; top: 15px; right: 0; text-align: left;}
	#footer_info>div>h2{ font-size: 32px; margin: 0 0 10px;}
	#footer_info>div>p{ font-size: 13.5px;}
	#footer_info ul{ display: flex; margin: 0; padding: 0; list-style: none; position: absolute; right: 0; bottom: 0;}
	#footer_info ul li{ margin: 0 0 0 20px;}
	#footer_info ul li a{ color: #000; font-size: 12px;}
	
	.copy_box{ background-color: #276dc3; color: #fff; position: relative;}
	.copy_box .footer_tel{ display: flex; justify-content: center; padding: 20px 0 0;}
	.copy_box .footer_tel>a,.copy_box .footer_tel>span{ display: flex; align-items: center; color: #fff; font-size: 40px; margin: 0 15px; font-family: "Roboto", sans-serif; font-weight: bold;}
	.copy_box .footer_tel>a>span:first-child,
	.copy_box .footer_tel>span>span:first-child{ background-color: #276dc3; display: flex; justify-content: center; align-items: center; border-radius: 50%; width: 50px; height: 50px; margin-right: 10px;}
	.copy_box::before { content: ""; background-image: url("../../images/wave/wave3.png"); background-repeat: repeat-x; background-position: center; display: block; width: 100%; height: 40px; background-size: 1156px auto; position: absolute; bottom: 0; z-index: 1; top: -39px;}
	#copy{ margin: 0; text-align: center; line-height: 1em; font-size: 11px; padding: 20px 0;}
}
@media (max-width: 767.98px) {
	#banner_box{ position: relative;}
	#banner_box>div{ width: 100%; max-width: 540px; margin: 0 auto; padding: 25px 0 15px;}
	#banner_box>div>a{ width: calc(50% - 20px); max-width: 250px; margin: 0 10px 20px;}
	#banner_box>div>a:last-child{ margin-bottom: 0;}
	#banner_box>div>a img{ max-height: 70px;}
	
	footer{ padding-bottom: 50px;}
	footer>.container{ padding-top: 30px; padding-bottom: 25px;}
	#footer_list ul{ display: none;}
	#footer_list{ border-top: 1px solid black; border-left: 1px solid black; margin-bottom: 40px;}
	#footer_list>li{ width: 50%; border-right: 1px solid black; border-bottom: 1px solid black;}
	#footer_list>li:last-child,#footer_list>li:nth-last-child(2){ width: 100%; display: flex; flex-wrap: wrap; border: none;}
	#footer_list>li:last-child>a,#footer_list>li:nth-last-child(2)>a{ width: 50%; border-right: 1px solid black; border-bottom: 1px solid black;}
	#footer_list a{ font-size: 12px; text-align: center; line-height: 40px;}
	#footer_info>h2{ font-size: 22px; margin: 0 0 5px;}
	#footer_info>p{ font-size: 10px;}
	#footer_info>div>a,
	#footer_info>div>span{ font-size: 13px; margin: 0 7px;}
	#footer_info>div>a>span:first-child,
	#footer_info>div>span>span:first-child{ width: 32px; height: 32px; margin-right: 7px;}
	#footer_info>div>a>span:first-child>img{ width: 15px; height: 23px;}
	#footer_info>div>span>span:first-child>img{ width: 22.5px; height: 16.5px;}
	#footer_info ul{ display: none;}
	#copy{ font-size: 8px; padding: 15px 0;}
	
	.copy_box{ background-color: #276dc3; color: #fff; position: relative; padding: 0 15px;}
	.copy_box .footer_tel{ display: flex; justify-content: center; padding: 20px 0 0;}
	.copy_box .footer_tel>a,.copy_box .footer_tel>span{ display: flex; align-items: center; color: #fff; font-size: 20px; margin: 0; font-family: "Roboto", sans-serif; font-weight: bold;}
	.copy_box .footer_tel>a{ margin-right: 5px;}
	.copy_box .footer_tel>span{ margin-left: 5px;}
	.copy_box .footer_tel>a>span:first-child,
	.copy_box .footer_tel>span>span:first-child{ background-color: #276dc3; display: flex; justify-content: center; align-items: center; border-radius: 50%; width: 30px; height: 30px; margin-right: 5px;}
	.copy_box::before { content: ""; background-image: url("../../images/wave/wave3.png"); background-repeat: repeat-x; background-position: center; display: block; width: 100%; height: 22px; background-size: 541px auto; position: absolute; bottom: 0; z-index: 1; left: 0; top: -19px;}
	#copy{ margin: 0; text-align: center; line-height: 1em; font-size: 9.5px; padding: 20px 0;}
}



@media (min-width: 768px) {}
@media (max-width: 767.98px) {}
