@charset "utf-8";

/********** 3 ヘッダ **********/

/* ヘッダ */
#header {
	font-size: 1.3rem;
	position: relative;
}

#sp_header {
	position: fixed;
	z-index: 9999;
	bottom: 0px;
	width: 100%;
	height: 80px;
}
#sp_header #spm_wrap {
	background: #307d9b;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	margin: 0px;
	padding: 10px
}

#spm_wrap div[id^="spm_"] {
	background: #fff;
	color: #000;
	width: calc(25% - 5px);
	height: 60px;
	display: inline-block;
	vertical-align: top;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 36px;
	border: none;
	outline: none;
	position: relative;
	padding: 0px
}
#spm_wrap div#spm_function {
	background-image: url(/img/common/spm_function_icon.png);
}
#spm_wrap div#spm_search,
#spm_wrap div#spm_top_search {
	background-image: url(/img/common/spm_search_icon.png);
}
#spm_wrap div#spm_menu {
	background-image: url(/img/common/spm_menu_icon.png);
}
#spm_wrap div#spm_menu.menu_open,
#spm_wrap div#spm_search.search_open,
#spm_wrap div#spm_top_search.search_open,
#spm_wrap div#spm_function.function_open {
	background-image: url(/img/common/sp_close_icon.png);
	background-color: #f4e97d;
}

#spm_wrap div#spm_ai_ques {
	background-image: url(/img/common/spm_ai_icon.png);
	background-size: auto 31px;
}
#spm_wrap div#spm_ai_ques a {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
}

@media screen and (max-width: 370px) {
	#spm_wrap div[id^="spm_"] {
		background-size: auto 32px;
	}
	#spm_wrap div#spm_ai_ques {
		background-size: auto 26px;
	}
}

#header2 {
	width: auto;
	min-height: auto;
	margin: 0px;
	padding: 0px;
}

#he_left {
	position: static;
	width: 300px;
	height: 35px;
	-webkit-box-sizing: content-box;
	        box-sizing: content-box;
	margin: 0px 0px 0px 10px;
	background-size: auto 40px;
	background-position: 185px center;
}
#he_left #logo {
	width: 180px;
	height: 35px;
}

#he_right {
	display: none;
	margin: 0px;
	padding: 0px;
}

#he_right.search_open {
	display: block;
	position: fixed;
	z-index: 99;
	background: rgba(251, 214, 141, 0.9);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	-ms-scroll-chaining: none;
	    overscroll-behavior: none;
	bottom: 80px;
	top: 0px;
	margin: 0px;
	padding: 10px 10px 100px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#he_right.search_open ul#header_navi {
	display: none !important;
}

#he_right.function_open {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	position: fixed;
	z-index: 99;
	background: rgba(251, 214, 141, 0.9);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	-ms-scroll-chaining: none;
	    overscroll-behavior: none;
	bottom: 80px;
	top: 0px;
	margin: 0px;
	padding: 10px 10px 100px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#he_right.function_open .header_link_div {
	display: none !important;
}
#he_right.function_open ul#header_navi {
	width: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-top: 20px;
}

/* 閲覧補助 */
#support_menu_open,
#support_menu_close {
	display: none !important;
}
#support_menu_box,
#support_menu_box.open {
	display: block;
	position: static;
	width: auto;
	padding: 20px;
}

ul#header_navi li.h_lang {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2;
	margin: 20px 0px 0px;
}
ul#header_navi li.h_support {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1;
	margin: 0px;
}

/* 検索 */
.header_link_div {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

ul.header_link_list,
#close_btn {
	display: none;
}

#header_fixed_div {
	display: block;
	position: static;
	background: no-repeat;
	width: auto;
	height: auto;
	overflow: visible;
}
#header_fixed_box {
	width: auto;
	max-width: none;
	margin: 0px;
	padding: 60px 10px;
}
#search_title_div {
	padding: 0px 0px 40px;
}
#search_title_div img {
	width: auto;
	height: 24px;
}

#search_div {
	display: block;
	margin: 0px;
}

#top_search_keyword,
#page_id_box {
	display: block;
	width: auto;
}
#top_search_keyword label.bl_search_label,
#page_id_box label {
	display: block;
	padding: 5px 0px;
	text-align: left;
	font-size: 1.4rem;
}
#page_id_box label {
	margin-top: 25px;
}

#cse-search-box {
	display: block;
	width: auto;
	max-width: none;
}
#top_search_page_id {
	width: auto;
}
#open_page_id_div {
	display: block;
	width: 75%;
	max-width: 300px;
}
#tmp_query,
#open_page_id {
	width: calc(100% - 80px);
}
#submit,
#open_page_id_submit {
	width: 80px;
	font-size: 1.4rem;
}
#open_page_id_message {
	text-align: left;
}

#cse_filetype {
	display: block;
	margin: 10px 0px 0px;
}
#cse_filetype fieldset {
	padding: 0px;
}
#cse_filetype fieldset span,
#cse_filetype fieldset span label {
	font-size: 1.2rem;
}

.page_search_id a {
	font-size: 1.4rem;
	background-image: url(/img/common/sp_right_arr.png);
	background-size: 7px;
}

/* 注目ワード */
#search_trend_word {
	display: block;
	max-width: initial;
	margin: 20px 0px 0px;
}
#search_trend_word_ttl,
#search_trend_word_ttl h3 {
	margin-bottom: 0px;
	padding: 10px 0px 5px;
	font-size: 1.4rem;
}

#search_trend_word p {
	width: auto;
}
#search_trend_word p a {
	font-size: 1.2rem;
	line-height: 2rem;
	padding: 8px;
}

/* 目的からさがす */
#top_mokuteki_wrap {
	margin: 30px 0px 0px;
}
#top_mokuteki_wrap .ttl,
#top_mokuteki_wrap h3 {
	font-size: 1.4rem;
}
ul#top_mokuteki_list li,
ul#top_mokuteki_list li:nth-child(4n) {
	width: calc(50% - 10px);
	margin: 0px 20px 20px 0px;
	min-height: auto;
}
ul#top_mokuteki_list li:nth-child(2n) {
	margin-right: 0px;
}
ul#top_mokuteki_list li a {
	min-height: 140px;
	padding: 15px 15px 10px;
}
ul#top_mokuteki_list li a > span {
	font-size: 1.2rem;
	line-height: 1.6rem;
}

/* SPメニュー */
.header_link_div.pc_none,
.header_link_div.pc_none ul.header_link_list {
	display: block;
}
.header_link_div.pc_none ul.header_link_list li {
	display: block;
	margin: 10px 0px 0px;
}
.header_link_div.pc_none ul.header_link_list li > a {
	display: block;
	padding: 10px 20px 10px 30px;
}

/* グローバルナビ */
#top_search {
	display: none;
}
#top_search.menu_open {
	display: block;
	position: fixed;
	z-index: 99;
	background: rgba(251, 214, 141, 0.9);
	width: 100%;
	height: 100vh;
	height: 100dvh;
	overflow-y: auto;
	-ms-scroll-chaining: none;
	    overscroll-behavior: none;
	bottom: 80px;
	top: 0px;
	margin: 0px;
	padding: 60px 10px 100px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

ul#gnav {
	display: block;
	width: auto;
	margin: 0px;
	padding: 0px;
}
ul#gnav li[id^="gnav"],
ul#gnav li[id^="gnav"]:first-child,
ul#gnav li[id^="gnav"]:nth-child(n+5),
ul#gnav li[id^="gnav"]:hover,
ul#gnav li[id^="gnav"]:focus {
	display: block;
	width: auto;
	background: url(/img/common/down_arr.png) no-repeat center right 20px;
	background-size: 20px;
	padding: 0px;
	margin: 0px;
	border: none;
	border-bottom: 2px solid #fff;
	padding: 20px;
	text-align: left;
	-webkit-transition: background-color 0.5s;
	-o-transition: background-color 0.5s;
	transition: background-color 0.5s;
}
ul#gnav li[id^="gnav"].nav_open {
	background: url(/img/common/up_arr.png) no-repeat top 22px right 20px;
	background-color: #fef3dd;
	background-size: 20px;
	border-bottom: none;
}
ul#gnav li[id^="gnav"] > a {
	display: inline-block;
	font-size: 1.6rem;
	text-align: left;
	height: auto;
	padding: 0px;
	background: transparent !important;
}
ul#gnav li[id^="gnav"] > a > span  br {
	display: none;
}

ul#gnav li[id^="gnav"].nav_open .chu_menu_box_wrap {
	display: block !important;
	position: static;
	width: auto;
}
ul#gnav .chu_menu_box {
	border: none;
	margin-top: 20px;
}
ul#gnav .chu_menu_box ul {
	display: block;
	padding: 30px 20px 15px;
}
ul#gnav .chu_menu_box ul li {
	display: block;
	width: auto;
	margin: 0px 0px 15px;
}
ul#gnav .chu_menu_box ul li a {
	font-size: 1.4rem;
}

/********** 4 フッタ **********/

/* フッタ */
#footer {
	font-size: 1.3rem;
	background-size: auto 40px;
	padding-top: 40px;
	padding-bottom: 80px;
}

.footer_wrap {
	width: auto;
	margin: 0px 10px;
	padding: 40px 0px;
	background-position: right 60px;
	background-size: auto 80px;
}

.footer_logo {
	width: 100px;
	margin-bottom: 0px;
}
.footer_logo img {
	width: 100px;
	height: auto;
}

.footer_text_wrap {
	display: block;
	width: auto;
	margin-top: 30px;
}
#author_info {
	width: auto;
	padding-right: 0px;
	margin-bottom: 20px;
}
#author_info .f_contact2 {
	margin-top: 20px;
}
#author_info .f_contact2 a {
	display: block;
	width: auto;
	max-width: none;
	font-size: 1.3rem;
	line-height: 2rem;
	text-decoration: none;
	padding: 10px;
}
#author_box .author_number {
	display: block;
}
#author_box p {
	font-size: 1.3rem;
	width: auto;
	margin: 5px 0px 0px;
}
#author_box p.f_author {
	font-size: 1.8rem;
	line-height: 1.5;
	display: inline-block;
	vertical-align: baseline;
}
#author_box p.f_number {
	display: inline-block;
	vertical-align: baseline;
}

#footer_navi {
	width: auto;
}
#footer_navi ul {
	margin: 10px 0px 0px 0px;
	max-width: none;
}
#footer_navi ul li a {
	font-size: 1.3rem;
}

#copyright p {
	margin: 10px 0px 0px;
	font-size: 1.1rem;
	text-align: center;
}

#footer_link_pagetop a {
	padding: 15px 10px;
}

/* AIチャットボット */
.wrap_ai_chatbot {
	display: none !important;
}