@charset "utf-8";

/* ------------------------------------------------------------ */
/* 	layout	 */
/* ------------------------------------------------------------ */
/* 全体 */
html {
	font-size: 62.5%;
}
body {
	margin: 0px;
	padding: 0px;
	border: 0px;
	text-align: center;
	font-size: 1.7rem;
	line-height: 1.5em;
	word-break: break-all;
	word-wrap: break-word;
	color: #4c4c4c;
}

#container {
	/* width: auto; */
	/* height: auto; */
	/* margin: 0px; */
	/* padding: 0px; */
	/* text-align: left; */
}

/* ヘッダ */
#header {
	/* width: auto; */
	/* max-width: 1100px; */
	/* height: auto; */
	/* margin: 0px auto 0px; */
	/* padding: 0px; */
}

/* フッタ */
#footer {
	/* clear: both; */
	/* width: auto; */
	/* height: auto; */
	/* margin: 0px; */
	/* padding: 0px; */
}

/* メイン */
#mymainback {
	clear: both;
	float: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	width: 100%;
	height: auto;
	margin: 0px auto;
	padding: 0px;
}

#main,.tpl_side1 #main {
	float: none;
	width: 100%;
	margin: 0px;
	padding: 0px;
}

#main{
	font-size: inherit;
}

#main_a {
	margin: 0 auto;
	padding: 0;
	max-width: 1100px;
}

#main_body {
	margin: 0px;
	padding: 0px;
}

/* サイド */
#sidebar1 {
	float: none;
	-webkit-box-ordinal-group: 11;
	    -ms-flex-order: 10;
	        order: 10;
	width: 300px;
	margin: 0px;
	padding: 0px;
}

#sidebar2 {
	float: none;
	-webkit-box-ordinal-group: 13;
	    -ms-flex-order: 12;
	        order: 12;
	width: 310px;
	margin: 0px;
	padding: 0px;
}

.side1 #main {
	width: calc(100% - 300px);
}
.side1 #main_a {
	padding-left: 40px;
}

.side2 #main {
	width: calc(100% - 310px);
}
.side2 #main_a {
	padding-right: 40px;
}

.side1.side2 #main {
	width: calc(100% - 600px);
}
.side1.side2 #main_a {
	padding-left: 40px;
	padding-right: 40px;
}

.side1 hr.hide,
.side2 hr.hide {
	display: none;
}



/* ------------------------------------------------------------ */
/* 	parts	 */
/* ------------------------------------------------------------ */
/********** 1 共通 **********/

/* float clear */
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom: 1;
}

/* スマートフォン用 */
#sp_page_index_link_wrap {
	display: none;
}
#spm_wrap {
	/* display: none; */
}
.sp_button {
	/* display: none; */
}

/* レスポンシブアコーディオン用 */
.acc_title + input {
	display: none;
}
.acc_icon {
	display: none;
}

/* 隠す */
.hide {
	/* display: block; */
	/* width: 0px; */
	/* height: 0px; */
	/* margin: 0px; */
	/* padding: 0px; */
	/* clip: rect(0,0,0,0); */
	/* overflow: hidden; */
}
hr.hide {
	border: none;
}

/* 注釈・備考 */
p.note{
	font-size: 1.2rem;
}


/* 承認枠 */
#approval_table {
	font-size: 1.4rem;
}

/********** 2 基本設定 **********/

/* フォント */
body {
	/* font-family: sans-serif; */
	font-family: "BIZ UDPゴシック","メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;
}
em {
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', sans-serif;
}

.mincho {
	font-family: serif;
}

/* リンク */
a:link {
	color: #005bac;
	text-decoration: underline;
}
a:visited {
	color: #5f00ac;
	text-decoration: underline;
}
a:active {
	color: #cc0000;
	text-decoration: underline;
}
a:hover {
	color: #000000;
	text-decoration: underline;
}

a img {
	border: none;
}

a:hover img{
	opacity: 0.75;
}

input[type="button"],
input[type="submit"],
button {
	cursor: pointer;
/* 	font-family: sans-serif; */
	font-family: "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 1em;
}

input[type="text"],
textarea,
select {
/* 	font-family: sans-serif; */
	font-family: "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 1.6rem;
}

/* 外部リンク */
.external_link_text {
	display: none;
}

/* 基本タグ */
p {
	margin: 1em 0px;
	word-break: normal;
	word-wrap: break-word;
}

hr {
	clear: both;
}

pre{
	white-space: pre-wrap;
	font-family: sans-serif;
}

/* テーブル */
#main_body table {
	border-color: #666666;
	border-collapse: collapse;
	border-style: solid;
	border-width: 2px;
	margin: 0px 0px 10px;
	width: auto;
	max-width: 100%;
}
#main_body th {
	background: #f5f5f5;
	border-color: #666666;
	border-collapse: collapse;
	border-style: solid;
	border-width: 1px;
	padding: 0.5em;
}
#main_body td {
	border-color: #666666;
	border-collapse: collapse;
	border-style: solid;
	border-width: 1px;
	padding: 0.5em;
}

/* テーブル内のpタグのマージンを0にする */
#main_body table p {
	margin: 0;
}

/* 見出し */
#main_header {
	margin-bottom: 20px;
}
#main_header h1 {
	margin: 0px;
	padding: 0.8em 20px 0.8em 25px;
	background: url(/img/common/h1bg.png) repeat-y right center #005bac;
	border: none;
	font-size: 3.2rem;
	font-weight: bold;
	line-height: 1.4em;
	color: #ffffff;
}

#main_body h2 {
	clear: both;
	margin: 20px 0px;
	padding: 1.7rem 20px 1.7rem 25px;
	border: none;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
}

#main_body h3 {
	clear: both;
	margin: 20px 0px;
	padding: 1.4rem 20px 1.4rem 15px;
	background: #BADCF0;
	border: none;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1.4;
}

#main_body h4 {
	clear: both;
	display: block;
	width: auto;
	margin: 20px 0px;
	padding: 1.2rem 20px 1.2rem 25px;
	background: #DFEEF7;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
}

#main_body h5 {
	clear: both;
	margin: 20px 0px;
	padding: 1.1rem 25px;
	background: transparent;
	border: none;
	border-bottom: 2px solid #d8d8d8;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.4;
}

#main_body h6 {
	clear: both;
	margin: 20px 0px;
	padding: 0 10px;
	background: transparent;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
	border: none;
	border-left: 15px solid #d8d8d8;
	/* box-sizing: border-box; */
}

/********** 3 ヘッダ **********/

/* ヘッダ */

#header2 {
	/* display: -webkit-box; */
	/* display: flex; */
	/* flex-wrap: nowrap; */
	/* -webkit-box-pack: justify; */
	/* justify-content: space-between; */
	/* max-width: 1100px; */
	/* margin: 0px auto; */
}

#he_left {
	/* width: 430px; */
	/* height: auto; */
	/* min-height: 100px; */
	/* display: -webkit-box; */
	/* display: flex; */
	/* flex-wrap: nowrap; */
	/* -webkit-box-pack: justify; */
	/* justify-content: space-between; */
	/* -webkit-box-align: center; */
	/* align-items: center; */
	/* background: url(/img/common/header_bg.png) no-repeat center right 70px transparent; */
}
#he_left #logo a {
	/* display: block; */
}

#he_right {
	/* padding: 20px 0px; */
	/* text-align: right; */
	/* font-size: 1.5rem; */
}

ul#header_link {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
ul#header_link > li {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 0px 0px 10px;
	text-align: left;
	position: relative;
}
ul#header_link > li > a {
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: left center;
	padding: 5px 0px 5px 30px;
	line-height: 1em;
	color: currentColor;
	text-decoration: none;
}
ul#header_link > li > a:hover,ul#header_link > li > a:focus{
	text-decoration: underline;
}
ul#header_link > li#hl_func > a {
	background-image: url(/img/common/icon_acc.png);
}
ul#header_link > li#hl_onsei > a {
	background-image: url(/img/common/icon_onsei.png);
}
ul#header_link > li#hl_lang > a {
	background-image: url(/img/common/icon_lang.png);
	padding-left: 28px;
}
ul#header_link > li#hl_nihongo > a {
	background-image: url(/img/common/icon_nihongo.png);
	padding-left: 24px;
}

/* やさしい日本語 */
ul#header_link > li#hl_nihongo > a.h_navi_btn.js_easy_nsi {
	display: none;
}
.easy_active ul#header_link > li#hl_nihongo > a.h_navi_btn.js_easy_ari {
	display: none;
}
.easy_active ul#header_link > li#hl_nihongo > a.h_navi_btn.js_easy_nsi {
	display: inline-block;
}

ul#header_sns{
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
ul#header_sns li{
	display: inline-block;
	vertical-align: middle;
	margin-left: 20px;
}
ul#header_sns a{
	display: block;
}

/* アクセシビリティ機能 */
#hl_func {
	position: relative;
}

#header_link .acc_menu_box {
	display: none;
	position: absolute;
	top: calc(100% + 5px);
	right: 0;
	z-index: 100;
	background: #ffffff;
	box-shadow: 0px 4px 12px -3px rgba(0, 0, 0, 0.5);
	border-radius: 5px;
	box-sizing: border-box;
	min-width: 100%;
	margin: 0;
	padding: 20px 20px;
	list-style: none;
	text-align: center;
}
#header_link .acc_menu_box.open {
	display: block;
}
#acc_func_box ul{
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
}
#acc_func_box li {
	display: block;
	margin-bottom: 15px;
}
#acc_func_box li:last-child{
	margin-bottom: 0;
}

#acc_func_box dl {
	margin: 0px;
	padding: 0px;
	font-size: 1.4rem;
	line-height: 1.8rem;
	display: -webkit-box;
	display: flex;
	flex-wrap: nowrap;
	-webkit-box-align: center;
	        align-items: center;
}
#acc_func_box dl dt {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 5px 0px 0px;
	padding: 6px 0px;
	font-weight: bold;
	/* 	width: 5em; */
	white-space: nowrap;
	/* line-height: 1em; */
}
#acc_func_box dl dd {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 0px 0px 2px;
	padding: 0px;
}
#acc_func_box dl dd a {
	display: block;
	background: #dfeef6;
	border-radius: 5px;
	color: #000000;
	text-decoration: none;
	padding: 10px 10px;
	white-space: nowrap;
	font-weight: 500;
	line-height: 1em;
}
#acc_func_box dl dd a#haikei_white {
	background: #ffffff !important;
	color: #000000 !important;
	/* border: 1px solid #ccc; */
	/* box-sizing: border-box; */
	box-shadow: 0 0 0 1px #CCB inset;
}
#acc_func_box dl dd a#haikei_black {
	background: #000000 !important;
	color: #ffffff !important;
	box-shadow: 0 0 0 1px #ffffff;
}
#acc_func_box dl dd a#haikei_blue {
	background: #0000ff !important;
	color: #ffff00 !important;
	box-shadow: 0 0 0 1px #ffffff;
}
#acc_func_box dl dd a:hover {
	border-color: #cc0000;
}

#func_menu_close {
	border: none;
	background: #e6e6e6;
	border-radius: 3px;
	font-size: 1.4rem;
	margin: 0px;
	padding: 0px 20px;
	height: 3rem;
}
#func_menu_close:hover {
	background: #f5f5f5;
}

button.acc_menu_close {
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px;
	padding-left: 40px;
	box-sizing: border-box;
	background: #000;
	border: none;
	color: #fff;
	text-align: center;
	font-size: 1.5rem;
	line-height: 1em;
	position: relative;
}
button.acc_menu_close:before{
	content: '';
	display: block;
	width: 2px;
	height: 1em;
	background: #fff;
	position: absolute;
	left: calc(50% - 2em);
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    transform: translateY(-50%) rotate(45deg);
}
button.acc_menu_close:after{
	content: '';
	display: block;
	width: 2px;
	height: 1em;
	background: #fff;
	position: absolute;
	left: calc(50% - 2em);
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	    transform: translateY(-50%) rotate(-45deg);
}

/* 検索 */
#top_search_keyword {
	padding: 0 10px;
}

#cse-search-box {
	display: block;
	vertical-align: middle;
	/* width: 300px; */
	box-sizing: border-box;
	/* border: 1px solid #cccccc; */
}
#tmp_query {
	display: inline-block;
	vertical-align: middle;
	border: none !important;
	box-sizing: border-box;
	width: calc(100% - 60px);
	height: 3.5rem;
	font-size: 1.6rem;
}
#submit {
	display: inline-block;
	vertical-align: middle;
	border: none;
	background: #4c4c4c;
	color: #ffffff;
	box-sizing: border-box;
	width: 60px;
	height: 3.5rem;
	margin: 0px;
	padding: 0px;
	font-size: 1.6rem;
	line-height: 1em;
	white-space: nowrap;
}
#submit:hover {
	text-decoration: underline;
}

#cse_filetype {
	display: inline-block;
	vertical-align: middle;
}
#cse_filetype fieldset {
	border: none;
	margin: 0px;
	padding: 0px 0px 0px 10px;
}
#cse_filetype fieldset legend {
	margin: 0px;
	padding: 0px;
	display: none;
}
#cse_filetype fieldset span {
	font-size: 1.4rem;
	display: inline-block;
}
#cse_filetype fieldset span input {
	margin: 4px;
	vertical-align: middle;
}

/* グローバルナビ */
#top_search {
}

#top_search_box{
	display: table;
	width: 100%;
}
ul#gnav {
	display: table-row;
	width: 100%;
	max-width: 1100px;
	margin: 0px auto;
	padding: 0px 0px;
	list-style: none;
}
ul#gnav > li {
	display: table-cell;
	vertical-align: middle;
	width: 20%;
	position: relative;
	/* height: 100%; */
	border-right: 2px solid rgba(255,255,255,0.5);
	box-sizing: border-box;
}
ul#gnav > li:last-child{
	width: 40%;
	border: none;
}
ul#gnav > li > button.search_open,
ul#gnav > li > a{
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 10px 0;
	background: none;
	border: none;
	font-weight: bold;
	text-align: center;
	color: #4c4c4c;
	text-decoration: none;
	line-height: 1em;
	font-family: "メイリオ", Meiryo, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 1em;
}
ul#gnav > li.open > button.search_open{
	background-color: #005BAC;
	color: #ffffff;
}
ul#gnav > li > button.search_open:hover,
ul#gnav > li > button.search_open:focus,
ul#gnav > li > button.search_open:hover span,
ul#gnav > li > button.search_open:focus span,
ul#gnav > li > a:hover,
ul#gnav > li > a:focus,
ul#gnav > li > a:hover span,
ul#gnav > li > a:focus span{
	background-color: #034482;
	color: #ffffff;
}
ul#gnav > li > button.search_open span,
ul#gnav > li > a span{
	display: inline-block;
	padding: 10px 0;
}
ul#gnav > li > button.search_open span:after{
/* 	content: '▼'; */
}

ul#gnav > li button:after{
	content: '';
	display: block;
	width: 10px;
	height: 10px;
	border: 2px solid #4c4c4c;
	border-top: none;
	border-left: none;
	-webkit-transform: scaleY(0.75) rotate(45deg);
	        transform: scaleY(0.75) rotate(45deg);
	position: absolute;
	bottom: 6px;
	left: calc(50% - 10px);
}
ul#gnav > li button:hover:after,
ul#gnav > li button:focus:after,
ul#gnav > li.open button:after{
	border-color: #fff;
}


ul#gnav > li > .search_list_wrap{
	display: none;
	min-width: 100%;
	height: auto;
	position: absolute;
	z-index: 9999;
	top: 100%;
	left: 0;
	/* background: #318bc1; */
	background: #2B7BAA;
	color: #ffffff;
}
ul#gnav > li.open > .search_list_wrap{
	display: block;
}
ul#gnav > li > .search_list_wrap a{
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 10px;
	padding-right: 30px;
	border-bottom: 1px solid rgba(0,0,0,0.5);
	position: relative;
	white-space: nowrap;
}
ul#gnav > li > .search_list_wrap a:after{
	content: '\232a';
	line-height: 1em;
	position: absolute;
	right: 10px;
	top: calc(50% - 0.5em);
}
ul#gnav > li > .search_list_wrap a:hover,
ul#gnav > li > .search_list_wrap a:focus{
	background: rgba(0,0,0,0.25);
}
ul#gnav > li > .search_list_wrap a:hover:after{
	content: '';
}
#search_theme > .search_list_wrap > ul.search_life3{
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 100%;
}
#search_theme .search_list_wrap ul.search_life3 > li{
	display: block;
}
#search_theme .search_list_wrap ul.search_life2{
	display: none;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 99999;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #2C7CAD;
	width: auto;
	min-height: 100%;
}
#search_theme .search_list_wrap ul.search_life3 > li.open ul.search_life2 {
	display: block;
}
#search_theme .search_list_wrap ul.search_life1{
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
	background: #266f99;
	position: absolute;
	top: 0;
	left: 100%;
/* 	min-width: 100%; */
	width: auto;
	min-height: 100%;
}
#search_theme .search_list_wrap ul.search_life2 > li.open ul.search_life1 {
	display: block;
}

#search_theme .search_list_wrap ul.search_life1 > li{
	display: block;
}

#search_mokuteki ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.search_close_wrap{
	text-align: center;
	padding: 0;
	background: #333;
}
.search_close_wrap button.search_close{
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 0px 10px 20px;
	box-sizing: border-box;
	background: none transparent;
	border: none;
	color: currentColor;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1em;
	position: relative;
}
.search_close_wrap button.search_close:before{
	content: '';
	border: none;
	display: block;
	width: 2px;
	height: 1em;
	background: #fff;
	position: absolute;
	left: calc(50% - 2em);
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	    transform: translateY(-50%) rotate(45deg);
}
ul#gnav .search_close_wrap button.search_close:after{
	content: '';
	border: none;
	display: block;
	width: 2px;
	height: 1em;
	background: #fff;
	position: absolute;
	left: calc(50% - 2em);
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	    transform: translateY(-50%) rotate(-45deg);
}

.search_close_wrap button.search_close:hover,
.search_close_wrap button.search_close:focus{
	background: rgba(255,255,255,0.25);
}


/* グローバルナビ（動的メニュー） ※使用する場合は要調整 */
#context_category02,
#context_category01 {
	display: none;
}

/********** 4 パンくず **********/

/* パンくず */
#pankuzu_wrap {
	width: auto;
	height: auto;
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 20px 20px 20px;
	box-sizing: border-box;
}
#pankuzu_wrap > div {
	width: auto;
	box-sizing: border-box;
}

.pankuzu {
	clear: both;
	margin-bottom: 5px;
	padding: 3px 0px;
	position: relative;
}
.pankuzu .icon_current {
	display: none;
}
.pankuzu:first-child .icon_current {
	display: none;
}

/********** 5 フッタ **********/

/* フッタ */
#footer {}
#back_or_pagetop {}
#back_or_pagetop > div {}

div#to_page_top a {
	display: block;
	position: fixed;
	z-index: 9999;
	right: 30px;
	bottom: -60px;
	width: 60px;
	height: 60px;
	background: #005BAC;
	margin: 0;
	padding: 0;
	-webkit-transition: bottom 0.75s ease;
	transition: bottom 0.75s ease;
	color: #ffffff;
}
div#to_page_top a:before{
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	border: 4px solid #ffffff;
	border-right: none;
	border-bottom: none;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform-origin: center center;
	    transform-origin: center center;
	-webkit-transform: translate(-50%,-35%) rotate(45deg);
	transform: translate(-50%,-35%) rotate(45deg);
}

.fixed div#to_page_top a{
	bottom: 30px;
}

#footer_navi {
	max-width: 1100px;
	margin: 0 auto;
	border-top: 1px solid #9e9e9e;
}
#footer_navi ul {
	width: 98%;
	max-width: 1100px;
	margin: 0px auto;
	padding: 20px 0px;
	list-style: none;
}
#footer_navi ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 10px 5px 0px;
	padding-right: 15px;
	border-right: 1px solid #9e9e9e;
	line-height: 2rem;
}
#footer_navi ul li:last-child {
	margin-right: 0px;
	padding-right: 0px;
	border-right: none;
}
#footer_navi ul li a{
	color: #4c4c4c;
}
#footer_navi ul li a:hover,#footer_navi ul li a:focus,#footer_navi ul li a:active{
	color: #DD2200;
}
#footer_navi ul li a:visited{
	color: #CC0000;
}

#author_info {
}
#author_box {
	/* width: 98%; */
	/* max-width: 1100px; */
	/* margin: 0px auto; */
	/* padding: 20px 0px; */
	/* border-top: 3px solid #bfbfbf; */
}
#author_box p {
	/* margin: 10px 0; */
	/* line-height: 1.8; */
}
#author_box p.f_author {
	/* font-size: 2.1rem; */
	/* line-height: 1em; */
	/* font-weight: normal; */
	/* border-left: 5px solid #005bac; */
	/* margin: 0 0 20px; */
	/* padding: 1rem 0 1rem 15px; */
}
#author_box p span {
	display: inline-block;
	margin-right: 1em;
}
#author_box p span.f_number {
	margin: 0 0 0 1em;
	font-size: 1.4rem;
}

#author_box ul.author_link{
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}
#author_box ul.author_link li{
	display: inline-block;
	margin-right: 30px;
}
#author_box ul.author_link li a{
	color: #4c4c4c;
	display: block;
	padding-left: 30px;
	position: relative;
}
#author_box ul.author_link li a:before{
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	    transform: translateY(-50%);
}
#author_box ul.author_link li.ft_al_access a:before {
	content: url(/img/common/icon_footer_access.png);
}
#author_box ul.author_link li.ft_al_soudan a:before {
	content: url(/img/common/icon_footer_soudan.png);
}
#author_box ul.author_link li.ft_al_busyo a:before {
	content: url(/img/common/icon_footer_busyo.png);
}
#author_box ul.author_link li.ft_al_toiawase a:before {
	content: url(/img/common/icon_footer_main.png);
}

#author_box ul.author_link li a:hover,#author_box ul.author_link li a:focus,#author_box ul.author_link li a:active{
	color: #DD2200;
}
#author_box ul.author_link li a:visited{
	/* color: #CC0000; */
}

#copyright p {
	/* margin: 0px; */
	/* padding: 20px 0px; */
	/* text-align: center; */
	/* font-size: 1.4rem; */
	/* line-height: 2rem; */
}

/* おすすめ情報（回遊ボタン） */

/********** 6 バナー **********/

/* バナー広告 */

/********** 7 リスト **********/

/* リスト（横並び） */
.navigation ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.navigation ul li,
.navigation > div {
	display: inline;
	vertical-align: middle;
	margin: 5px 0px 5px 0px;
	/* padding-right: 15px; */
	line-height: 1.4;
}
.navigation ul li:before,
.navigation > div:before{
	content: '';
	margin: 0 10px;
}
.navigation ul li:first-child:before,
.navigation > div:first-child:before {
	display: none;
}

/* リスト（一覧） */
.info_list ul {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

/* リスト（日付） */
.info_list.info_list_date ul li {
	width: 100%;
	display: table;
	padding: 14px 20px 14px 20px;
	border-bottom: 1px solid #a4a4a4;
	box-sizing: border-box;
}
.info_list.info_list_date ul li:first-child{
	border-top: 1px solid #a4a4a4;
}
.info_list.info_list_date ul li > span {
	display: table-cell;
	vertical-align: top;
}
.info_list.info_list_date ul li > span.article_date {
	width: 11em;
}

/* リスト（サムネイル） */
.info_list.info_list_thum ul{
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: stretch;
	        align-items: stretch;
	margin: 20px 0 0;
}
.info_list.info_list_thum ul li {
	display: block;
	width: 230px;
	margin: 0 35px 35px 0;
	padding: 0;
	border: none;
}
.info_list.info_list_thum ul li:first-child{
	border: none;
}
.info_list.info_list_thum ul li:nth-child(3n){
	margin-right: 0;
}
.info_list.info_list_thum ul li:before {
	display: none;
}

.list_pack {
	display: block;
}

.list_pack .article_img {
	display: block;
	width: auto;
	height: auto;
	background: #e5e5e5;
	padding: 5px;
	margin: 0 0 10px;
}
.list_pack .article_img span {
	display: block;
	width: 220px;
	text-align: center;
	margin: 0 auto;
}
.list_pack .article_img span:empty {
	height: 140px;
	background: url(/img/common/noimage.png) no-repeat center center;
}
.list_pack .article_img span img {
	width: 100%;
	height: auto;
}

.list_pack .article_txt {
	display: table-cell;
	vertical-align: middle;
}
.list_pack .article_txt .article_date,
.list_pack .article_txt .article_title {
	display: block;
}


/* リスト（担当課） */
.article_section {}
.article_section:empty:before,
.article_section:empty:after {
	display: none;
}

/* リスト（一覧リンク） */
div.link_ichiran {
	margin-top: 20px;
	text-align: right;
}


/********** 8 サイド **********/

/* サイドバー */
#sidebar1 > div:last-child,
#sidebar2 > div:last-child {
	margin-bottom: 0 !important;
}
#sidebar1 img,
#sidebar2 img {
	max-width: 100% !important;
	height: auto !important;
}

/* サイドメニュー */
.side_box,
#sidebar1 .side_box,
#sidebar2 .side_box {
	background: #e5e5e5;
	margin: 0px 0px 10px;
	padding: 10px;
}
.side_box_ttl h2,
#sidebar1 .side_box_ttl h2,
#sidebar2 .side_box_ttl h2 {
	background: #ffffff;
	font-size: 1.5rem;
	font-weight: normal;
	margin: 0px;
	padding: 6px 15px;
	text-align: left;
	border: none;
	border-left: 5px solid #005bac;
}

.side_box_list ul,
#sideabr1 .side_box_list ul,
#sidebar2 .side_box_list ul {
	margin: 0px;
	padding: 10px 15px;
	list-style: none;
}
.side_box_list ul li,
#sidebar1 div:not([id="common_banner_link"]) .side_box_list ul li,
#sidebar2 div:not([id="common_banner_link"]) .side_box_list ul li {
	margin: 0px;
	padding: 0px 0px 6px 20px;
	box-sizing: border-box;
	position: relative;
}
.side_box_list ul li:before {
	content: url(/img/common/icon_link_more.png);
	width: 10px;
	height: 10px;
	position: absolute;
	top: 4px;
	left: 0px;
}
.side_box_list ul li ul {
	padding: 0px;
}

.side_box_txt {
	padding: 10px;
}
.side_box_txt p {
	margin: 0px 0px 10px;
}
.side_box_txt p:last-child {
	margin-bottom: 0px;
}

#sidebar1 > div,
#sidebar2 > div{
	/* background: #dfeef6; */
	margin: 0 0 3px;
}
#sidebar1 > div h2,
#sidebar2 > div h2,
#in_sidebar2 h2{
	margin: 0;
	padding: 10px 0;
	background: #bfddef;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.25em;
}

#sidebar1 ul,
#sidebar2 ul {
	display: block;
	margin: 0;
	padding: 10px 20px;
	list-style: none;
}
#sidebar1 li,
#sidebar2 li{
	margin: 0;
	padding: 0px 0px 10px 0px;
}

/* 関連リンク */
#kanren_link,
.kanren_link {
	background: #dfeef6;
}
#sidebar1 #kanren_link li,
#sidebar2 #kanren_link li,
#sidebar1 .kanren_link li,
#sidebar2 .kanren_link li {
	padding: 8px 0px;
}

/* レコメンド */
#sidebar_recommend {
	background: #dfeef6;
}
#sidebar1 #sidebar_recommend li,
#sidebar2 #sidebar_recommend li {
	padding: 8px 0px;
}

/* 「見つからないときは」「よくある質問」バナー */

/********** 9 メイン **********/

/* メイン */
#mymainback {
	/* padding-bottom: 30px; */
	/* position: relative; */
	/* z-index: 10; */
	justify-content: center;
}
#main_body .toc_link_wrap{
	display: none;
}

/********** 10 各ページ **********/

/* 印刷用アイコン */
#content_header {
	margin: 20px 0px;
	text-align: right;
	font-size: 1.4rem;
	display: none;
}
#content_header span {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	text-align: left;
}
#content_header span.external_link_text{
	display: none;
}

#content_header #common_button_sns{
	display: inline-block;
	vertical-align: top;
	margin: 0;
}
#content_header #common_button_sns > div{
	display: inline-block;
	vertical-align: top;
}

#print_mode_link,
#print_mode_link_large {
	color: currentColor;
	padding-left: 20px;
	background: url(/img/common/icon_print.png) no-repeat left center;
}

/* カレンダー登録・SNSボタン */
#content_footer {
	clear: both;
	margin: 30px 0px 0px;
}
#content_footer:empty{
	margin: 0;
}
#content_footer div[id^="calendar_button_"] {
	display: inline-block;
	vertical-align: middle;
	margin: 0px 20px 20px 0px;
}

#sns_button_wrap{
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}
#sns_button_wrap  div[id^="sns_button_"] {
	display: inline-block;
	vertical-align: middle;
}
#sns_button_wrap  div[id^="sns_button_"] a {
	display: block;
/* 	line-height: 1.5rem; */
}
#sns_button_wrap  div[id^="sns_button_"] a img{
	display: inline-block;
	vertical-align: middle;
	width: 32px;
	height: auto;
}
#sns_button_wrap  div#sns_button_facebook a {}
#sns_button_wrap  div#sns_button_twitter a {}
#sns_button_wrap  div#sns_button_line a {}

/* PDF・WMPリンク */
.pdf_download,
.wmplayer_download {
	clear: both;
	margin: 30px 0px 0px;
	width: 100%;
	display: table;
}
.pdf_download .pdf_img,
.wmplayer_download .wmplayer_img {
	display: table-cell;
	vertical-align: top;
	width: 158px;
	margin: 0px;
	padding: 0px;
}
.pdf_download .pdf_img img,
.wmplayer_download .wmplayer_img img {
	width: 100%;
	height: auto;
}

.tenpu_txt {
	display: table-cell;
	vertical-align: top;
	margin: 0px;
	padding: 0px 0px 0px 20px;
	font-size: 1.3rem;
	line-height: 1.5;
}
.tenpu_txt br {
	display: none;
}

/* アンカーリンクリスト */
ul.page_anchor_list {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
}

ul.page_anchor_list li {
	display: inline-block;
	vertical-align: middle;
	margin: 10px;
	padding: 0px;
}

ul.page_anchor_list li a {
	display: block;
	margin: 0;
	padding: 0;
}

/* 重要なお知らせ */
#detail_side_important {
	margin: 0px 0px 10px;
	background: #fde1e7;
	color: #bb0000;
}
#in_sidebar2 #detail_side_important h2,
#sidebar1 #detail_side_important h2,
#sidebar2 #detail_side_important h2 {
	margin: 0px;
	padding: 15px;
	font-size: 1.6rem;
	font-weight: bold;
	background: #fcd4dc;
	color: #bb0000;
}
#detail_side_important ul {
	margin: 0px;
	padding: 10px 15px;
	list-style: none;
}
#detail_side_important ul li {
	padding: 8px 0px;
}
#detail_side_important ul li a {
	color: #bb0000;
}
#detail_side_important ul li > span {
	display: block;
}


.link_more {
	display: block;
	padding: 20px 0;
}

.link_more a {
	display: block;
	padding-left: 20px;
	background: url(/img/common/icon_link_more.png) no-repeat left center transparent;
}

span.link_more {
	display: block;
	padding: 20px 0;
}

span.link_more a {
	display: block;
	padding-left: 20px;
	background: url(/img/common/icon_link_more.png) no-repeat left center transparent;
}

/* 代表問い合わせ先を分離して表示 20211223 */
.side_box_txt .grpname_box {
	border-top: 1px solid;
	margin-top: 10px;
	padding-top: 10px;
}
.side_box_txt .kakuka_grpname,
.side_box_txt .kakuka_tel,
.side_box_txt .kakuka_fax {
	text-align: left;
}
.side_box_txt .kakuka_link_mapimage,
.side_box_txt .kakuka_view {
	margin-top: 10px;
}
/* 代表問い合わせ先を分離して表示 20211223 ここまで */



/* ------------------------------------------------------------ */
/* 	parts-detail	 */
/* ------------------------------------------------------------ */
/********** 1 共通 **********/

#main_body div.detail_table_center {
	clear: both;
	width: 100%;
	margin: 0px 0px 15px;
	padding: 0px;
}
#main_body div.detail_writing {
	clear: both;
	width: 100%;
	margin: 0px 0px 15px;
	padding: 0px;
}
#main_body div.detail_map {
	clear: both;
	width: 100%;
	margin: 0px 0px 15px;
	padding: 0px;
}
#main_body div.detail_free {
	clear: both;
	width: 100%;
	margin: 0px 0px 15px;
	padding: 0px;
}
#main_body div.detail_image_normal {
	clear: both;
	width: 100%;
	margin: 0px 0px 15px;
	padding: 0px;
}
#main_body div.detail_image_left {
	text-align: left;
	margin: 15px 0px;
	padding: 0px;
}
#main_body div.detail_image_center {
	text-align: center;
	margin: 15px 0px;
	padding: 0px;
}
#main_body div.detail_image_right {
	text-align: right;
	margin: 15px 0px;
	padding: 0px;
}

#main_body div.detail_h2 {
	clear: both;
	width: 100%;
}
#main_body div.detail_h3 {
	clear: both;
	width: 100%;
}

hr.hr_1 {
	clear: both;
	height: 1px;
	border-top: 2px dotted #999999;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}
hr.hr_2 {
	clear: both;
	height: 1px;
	border-top: 1px solid #333333;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}
hr.hr_3 {
	clear: both;
	height: 1px;
	border-top: 1px solid #ff0000;
	border-right: none;
	border-bottom: none;
	border-left: none;
	margin: 15px 0px;
}

/* リンク */
.detail_link {
	margin: 1em 0px;
}

.link_l {
	margin: 1em 0px;
}

.detail_free .external_link_text,
.link_l .external_link_text {
	display: inline;
}

/* 画像 */
.detail_img_left {
	text-align: left;
}
.detail_img_center {
	text-align: center;
}
.detail_img_right {
	text-align: right;
}

/* 添付ファイル */
.detail_file {
	margin: 1em 0px;
}

div[class^="detail_"] a[href^="/uploaded/attachment/"]:before,
div[class^="file_"] a[href^="/uploaded/life/"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_etc.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}
div[class^="detail_"] a[href$=".pdf"]:before,
div[class^="detail_"] a[href$=".PDF"]:before,
div[class^="file_"] a[href$=".pdf"]:before,
div[class^="file_"] a[href$=".PDF"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_pdf.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}
div[class^="detail_"] a[href$=".xls"]:before,
div[class^="detail_"] a[href$=".XLS"]:before,
div[class^="file_"] a[href$=".xls"]:before,
div[class^="file_"] a[href$=".XLS"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_xls.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}
div[class^="detail_"] a[href$=".xlsx"]:before,
div[class^="detail_"] a[href$=".XLSX"]:before,
div[class^="file_"] a[href$=".xlsx"]:before,
div[class^="file_"] a[href$=".XLSX"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_xlsx.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}
div[class^="detail_"] a[href$=".doc"]:before,
div[class^="detail_"] a[href$=".DOC"]:before,
div[class^="file_"] a[href$=".doc"]:before,
div[class^="file_"] a[href$=".DOC"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_doc.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}
div[class^="detail_"] a[href$=".docx"]:before,
div[class^="detail_"] a[href$=".DOCX"]:before,
div[class^="file_"] a[href$=".docx"]:before,
div[class^="file_"] a[href$=".DOCX"]:before {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(/img/common/file/icon_docx.png) no-repeat center center;
	background-size: contain;
	margin-right: 10px;
}

.file_pdf, .file_pdf2, .file_excel, .file_word, .file_etc {
	margin: 1em 0px;
}

/* 移行時に紛れ込んだ見出しの中のspace.gifを消す */
#main_body div[class*="detail_"] img[src*="space.gif"] {
	display: none !important;
}

/* 画像サイズ */
#main_body div[class*="detail"] img {
	/* max-width: 100%; */
	/* height: auto !important; */
	/* vertical-align: top; */
}

/* iframeの最大サイズ */
#main_body iframe {
	max-width: 100%;
}

/* アンカーリンク */
div[class^="detail_"] a:not([href]) {
	display: inline-block;
	text-decoration: none !important;
	max-width: 100%;
}
div[class^="detail_"] a:not([href]):empty {
	display: block;
}
div[class^="detail_"] a:not([href]):hover {
	color: inherit;
}

/* ワープロライクのフロート対応 */
div[class^="detail_"]:before,
div[class^="detail_"]:after {
	content: "";
	display: table;
}
div[class^="detail_"]:after {
	clear: both;
}
div[class^="detail_"] {
	zoom: 1;
}

/* プレビュー編集モード調整用 */
.preview_body .detail_free ul,
.preview_body .detail_free ol {
	margin: 1em 0px !important;
	padding-left: 40px;
}

.status_bar div {
	font-size: 2rem !important;
}

.sticky #keep_page,
.sticky #osusume_banner {
	display: none;
}

/********** 2 個別設定 **********/

/* 行間 */
#main_body div[class^="detail_"] p,
#main_body .detail_writing {
	line-height: 1.867em;
}


/* お問い合わせ先 */
#section_footer {
	clear: both;
	background: #fff;
	border: 1px solid #007bc7;
	border-radius: 20px;
	margin: 30px 0 0;
	overflow: hidden;
	font-size: 1.6rem;
}
#section_footer h2,
#main_body #section_footer h2 {
	margin: 0;
	padding: 30px 25px;
	background: #e5eef7;
	border: none;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.2;
}
#section_footer_detail {
	padding: 30px 25px;
}
#section_footer_detail a {
	color: inherit;
}
#section_footer_detail a:hover,
#section_footer_detail a:focus {
	text-decoration: none;
}
#section_footer_detail span {
	display: inline-block;
	margin-right: 1em;
}

#section_footer_detail div.sf_email {
	margin-top: 10px;
}

/* 評価エリア */
#hyouka_area_box {
	clear: both;
	background: #e4e4e4;
	margin: 30px 0px 0px;
	font-size: 1.4rem;
}
#hyouka_area_box .system_box {
	margin: 0;
	padding: 0;
}
#hyouka_area_box .system_box h2,
#main_body #hyouka_area_box .system_box h2 {
	margin: 0px;
	padding: 20px;
	background: #d8d8d8;
	border: none;
	font-size: 2.2rem;
}

.hyouka_box{
	padding: 20px;
}

.hyouka_box_detail {
	border-bottom: 1px solid #666666;
	margin-bottom: 10px;
}
.hyouka_box_detail:last-child {
	border-bottom: none;
	margin-bottom: 0px;
}
.hyouka_box_detail  fieldset {
	border: none;
	margin: 0px;
	padding: 0px;
}
.hyouka_box_detail  fieldset legend {
	margin: 0px 0px 10px;
	padding: 0px;
	width: 100%;
}
.hyouka_box_detail  span {
	display: inline-block;
	margin: 0px 5px 5px 0px;
}
.hyouka_box_detail  span input {
	margin: 4px;
	vertical-align: middle;
}
.hyouka_box_detail span input:focus + label{
	text-decoration: underline;
}

.hyouka_area_ans textarea {
	max-width: 100%;
	padding: 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

#hyouka_area_submit {
	padding: 0 0 20px;
	text-align: center;
}
#hyouka_area_submit input {
	display: inline-block;
	min-width: 25%;
	background: none transparent;
	color: currentColor;
	line-height: 1em;
	margin: 0px;
	padding: 10px;
	text-align: center;
	border: 2px solid #494949;
}
#hyouka_area_submit input:hover {
	background: #f5f5f5;
}
/* 評価エリアここまで */



/* ------------------------------------------------------------ */
/* 	parts-site	 */
/* ------------------------------------------------------------ */

/* サブサイト共通ヘッダ */

/* サブサイト共通フッタ */

/* 自由編集項目 */
.free_box {
	margin: 0;
}
.free_box p {
	margin: 0;
}
.free_box img {
	max-width: 100%;
	height: auto !important;
}

/* サイドメニュー */
.subsite_menu {
	background: #e5e5e5;
	margin: 0px 0px 3px;
	padding: 10px 10px 10px;
}

.subsite_menu_ttl,
h2.subsite_menu_ttl,
#sidebar1 h2.subsite_menu_ttl,
#sidebar2 h2.subsite_menu_ttl {
	background: #fff;
	/* 	font-size: 1.8rem; */
	font-size: 1.5rem;
	font-weight: normal;
	margin: 0px;
	padding: 5px 15px;
	border: none;
	border-left: 4px solid #005bac;
	text-align: left;;
}

.subsite_menu_list ul,
#sidebar1 .subsite_menu_list ul,
#sideabr2 .subsite_menu_list ul {
	margin: 0px;
	padding: 10px 15px 0;
	list-style: none;
}
.subsite_menu_list ul li,
#sidebar1 .subsite_menu_list ul li,
#sidebar2 .subsite_menu_list ul li {
	margin: 0px;
	padding: 3px 0px 3px 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
}
.subsite_menu_list ul li:before,
#sidebar1 .subsite_menu_list ul li:before,
#sidebar2 .subsite_menu_list ul li:before {
	content: url(/img/common/icon_link_more.png);
	position: absolute;
	top: 0.6em;
	left: 0px;
}
.subsite_menu_list div.link_ichiran,
#sidebar1 .subsite_menu_list div.link_ichiran,
#sidebar2 .subsite_menu_list div.link_ichiran {
	margin-top: 0px;
	padding: 0px 15px 0px;
}


/* ------------------------------------------------------------ */
/* 教育委員会　トップページ */
/* ------------------------------------------------------------ */

/* ---------- 共通設定 ---------- */
#mymainback [id^="top_"] {
	margin: 80px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
#mymainback [id^="top_"] h2,
#main_body [id^="top_"] h2 {
	margin: 0;
	padding: 0;
	background: none;
	font-size: 1.6rem;
	line-height: 1.2;
	text-align: center;
}
#mymainback [id^="top_"] h2 img {
	vertical-align: top;
}

/* ---------- 教育委員会ヘッダ ---------- */
#site_header {
	background: url(/img/site/kyouiku/bg.png) #007bc7 repeat center top;
	color: #fff;
	overflow: hidden;
	margin: 20px 0 0;
	padding: 0;
	position: relative;
	z-index: 0;
}

#site_logo h1 {
	margin: 0;
	padding: 0 0 0 20px;
	position: relative;
}
#site_logo img {
	vertical-align: top;
}

#header_menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0;
	position: relative;
}
#header_menu::before {
	content: '';
	background: url(/img/site/kyouiku/bg_tl.png) no-repeat center top / contain;
	display: block;
	width: 374px;
	height: 229px;
	position: absolute;
	top: -15px;
	left: -170px;
	z-index: 0;
}
#logo h1 {
	margin: 0;
	padding: 0 0 0 20px;
	position: relative;
}
#logo img {
	vertical-align: top;
}
#menu_box {
	padding: 40px 0;
	position: relative;
	z-index: 1;
}
#menu_box::after {
	content: '';
	background: url(/img/site/kyouiku/bg_tr.png) no-repeat center top / contain;
	display: block;
	width: 272px;
	height: 373px;
	position: absolute;
	top: -5px;
	right: -260px;
	z-index: 0;
}
#menu_box ul {
	list-style: none;
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	background: rgb(4 70 122 / .8);
	border-radius: 10px;
	color: #fff;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 1;
}
#menu_box ul li {
	margin: 0;
	padding: 0;
	display: inline-block;
}
#menu_box ul li a {
	display: block;
	margin: 0;
	padding: 15px;
	border-radius: 10px;
	color: #fff;
	font-size: 1.6rem;
	text-decoration: none;
	-webkit-transition: background .3s ease-in;
	-o-transition: background .3s ease-in;
	transition: background .3s ease-in;
}
#menu_box ul li a:hover, #menu_box ul li a:focus {
	background: #fff;
	color: #333;
}

/* スライドエリア */
#header_mv_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	width: 100%;
	max-width: 1100px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 auto;
	padding: 0 0 230px;
	position: relative;
	z-index: 11;
}
#header_mv_box .box2 img {
	border-radius: 20px;
}

/* メインビジュアル スライド（バナー広告） */
#top_slide_wrap {
	position: relative;
}
ul.banner_list {
	margin: 0;
	padding: 0;
	width: 520px;
	height: 400px;
	aspect-ratio: 13 / 10;
	list-style: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	        -ms-flex-pack: start;
	    justify-content: flex-start;
}
ul.banner_list li {
	width: 520px;
	height: auto;
	aspect-ratio: 13 / 10;
	margin: 0;
	padding: 0;
	position: relative;
	outline: none;
}
ul.banner_list li img {
	border-radius: 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	    -ms-transform: translate(-50%,-50%);
	        transform: translate(-50%,-50%);
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
.banner_text {
	display: block;
	padding: 10px;
	font-size: 1.4rem;
	line-height: 1.3;
	text-align: left;
	position: absolute;
	bottom: -1em;
	left: 0;
}

/* スライドコントローラ */
#mp_control_box,
#mv_control_box {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	position: absolute;
	right: 5px;
	bottom: -60px;
}
button[id^="mp_control_"],
button[id^="mv_control_"] {
	margin: 10px 5px;
	padding: 0;
	width: 30px;
	height: 30px;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	border: 0;
	border-radius: 100%;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	text-indent: -9999em;
}
#mp_control_prev {
	background-image: url(/img/site/kyouiku/slide_prev_w.png);
}
#mp_control_next {
	background-image: url(/img/site/kyouiku/slide_next_w.png);
}
#mp_control_pause {
	background-image: url(/img/site/kyouiku/slide_stop_w.png);
}
#mp_control_play {
	background-image: url(/img/site/kyouiku/slide_play_w.png);
}

/* ---------- 新着情報 ---------- */
#main_body { position: relative; }
#site_header::after {
	content: '';
	background: url(/img/site/kyouiku/bg_ml.png) no-repeat center top / contain;
	display: block;
	width: 399px;
	height: 270px;
	position: absolute;
	bottom: 110px;
	left: calc(50% - 770px);
	z-index: 0;
}
#main_body #top_news {
	background: #fff;
	border-radius: 20px;
	position: relative;
	margin: -170px auto 80px;
	padding: 50px 60px 0;
	min-height: 200px;
}

.section_information {
	margin-top: 0px;
}
.section_information .link_ichiran {
	display: block;
	text-align: center;
}
.section_information .link_ichiran a {
	display: block;
	color: #007bc7;
	font-size: 1.4rem;
	letter-spacing: 0.15rem;
	text-decoration: none;
}
.section_information .link_ichiran a:hover,
.section_information .link_ichiran a:focus {
	text-decoration: underline;
}
.section_information h2,
#main_body .section_information h2 {
	margin: 0 0 10px;
	padding: 0;
	font-size: 2rem;
	line-height: 1em;
	background: none;
	text-align: center;
}
.section_information p.no_data {
	margin: 0;
	padding: 20px;
	text-align: center;
}
.section_information_list ul {
	margin: 50px 0;
	padding: 0;
	list-style: none;
}
.section_information_list ul li {
	width: 100%;
	display: table;
	padding: 14px 20px 14px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-image: -o-linear-gradient(left, #c7c7c7 2px, transparent 1px);
	background-image: linear-gradient(to right, #c7c7c7 2px, transparent 1px);
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-position: left bottom;
}
.section_information_list ul li > span {
	display: table-cell;
	vertical-align: top;
}
.section_information_list ul li > span.article_title{
	padding-left: 20px;
}
.section_information_list ul li > span.article_title a {
	display: block;
	color: inherit;
	text-decoration: none;
	align-items: start;
	text-align: left;
}
.section_information_list ul li span a::after{
	display: none;
}
.section_information_list ul li > span.article_title a:hover,
.section_information_list ul li > span.article_title a:focus {
	text-decoration: underline;
}
.section_information_list ul li > span.article_date {
	width: 12em;
	color: currentColor;
}

.section_information_list div.link_box {
	padding: 0 20px 20px;
	text-align: right;
}
.section_information_list div.link_box span {
	display: inline-block;
	vertical-align: middle;
	margin: 5px 0 5px 10px;
	padding-left: 15px;
	border-left: 1px solid #666;
	line-height: 1.4;
}
.section_information_list div.link_box span:first-child {
	border-left: none;
	margin-left: 0;
	padding-left: 10px;
}


/* ---------- よく見られる情報 ---------- */
#top_info ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	list-style: none;
	margin: 60px 0;
	padding: 0;
	gap: 40px;
}
#top_info ul li {
	width: calc((100% - 80px) / 3);
	margin: 0;
	padding: 0;
}
#top_info ul li a {
	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;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background: #e5eef7;
	color: inherit;
	text-decoration: none;
}
#top_info ul li a:hover, #top_info ul li a:focus {
	text-decoration: underline;
}
#top_info ul li a::before {
	content: '';
	display: block;
	background-position: center center;
	background-repeat: no-repeat;
	width: 150px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-bottom: 20px;
	-webkit-transition: -webkit-transform 0.75s ease;
	transition: -webkit-transform 0.75s ease;
	-o-transition: transform 0.75s ease;
	transition: transform 0.75s ease;
	transition: transform 0.75s ease, -webkit-transform 0.75s ease;
	will-change: transform;
}
#top_info ul li:nth-of-type(1) a::before { background-image: url(/img/site/kyouiku/info_1.png); }
#top_info ul li:nth-of-type(2) a::before {
	background-image: url(/img/site/kyouiku/info_2.png);
	aspect-ratio: 1.5 / 1;
	width: 225px;
}
#top_info ul li:nth-of-type(3) a::before { background-image: url(/img/site/kyouiku/info_3.png); }
#top_info ul li:nth-of-type(4) a::before { background-image: url(/img/site/kyouiku/info_4.png); }
#top_info ul li:nth-of-type(5) a::before {
	background-image: url(/img/site/kyouiku/info_5.png);
	background-size: contain;
}
#top_info ul li:nth-of-type(6) a::before { background-image: url(/img/site/kyouiku/info_6.png); }

#top_info ul li a .txt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	padding: 20px 10px 0;
	font-size: 2.4rem;
	letter-spacing: 0.2rem;
	text-align: center;
}

/* ホバーまたはフォーカス時のジャンプアニメーション */
#top_info ul li a:hover::before,
#top_info ul li a:focus::before {
	-webkit-animation: jump 0.75s ease;
	        animation: jump 0.75s ease;
}
@-webkit-keyframes jump {
	0%   { -webkit-transform: translateY(0); transform: translateY(0); }
	25%  { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
	50%  { -webkit-transform: translateY(0); transform: translateY(0); }
	75%  { -webkit-transform: translateY(-4px); transform: translateY(-4px); }
	100% { -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes jump {
	0%   { -webkit-transform: translateY(0); transform: translateY(0); }
	25%  { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
	50%  { -webkit-transform: translateY(0); transform: translateY(0); }
	75%  { -webkit-transform: translateY(-4px); transform: translateY(-4px); }
	100% { -webkit-transform: translateY(0); transform: translateY(0); }
}


/* ---------- 注目の取組 ---------- */

#main_body #top_pickup > h2 {
	margin-bottom: 60px;
}
#top_pickup p.notfound {
	text-align: center;
}
#top_pickup .box {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
#top_pickup:not(:has([class^="detail_"])) { display: none; }
#top_pickup .box:not(.slick-slider) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}
#top_pickup .box div.detail_free {
	clear: none;
	display: inline-block;
	width: 340px;
	margin: 0 40px 0 0;
	position: relative;
}
/* 最後のアイテムにだけ余計な余白が付かないように */
#top_pickup .box div.detail_free:last-child {
  margin-right: 0;
}
#top_pickup .box div.detail_free p {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 300px;
	margin: 0 0 0 auto;
	padding: 0 20px 0 30px;
	position: relative;
	box-sizing: border-box;
	font-size: 1.4rem;
	line-height: 1.6;
}
#top_pickup .box div.detail_free p:first-of-type {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 340px;
	height: 340px;
	aspect-ratio: 1 / 1;
	margin: 0;
	padding: 0;
	background: #e5eef7;
	border-radius: 20px;
	position: absolute;
	top: 0;
	left: 0;
	vertical-align: middle;
	text-align: center;
	overflow: hidden;
}
#top_pickup .box div.detail_free p:first-of-type img {
	width: 100% !important;
	height: 100% !important;
	-o-object-fit: contain;
	   object-fit: contain;
	margin: 0 !important;
	border: none !important;
}
#top_pickup .box div.detail_free h2,
#top_pickup .box div.detail_free h3 {
	width: 300px;
	margin: 290px 0 0 auto;
	padding: 30px 20px 20px 30px;
	background: #fff;
	border-radius: 20px 0 0 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	position: relative;
	color: #007bc7;
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.6;
	text-align: left;
}
#top_pickup .box div.detail_free h2 a,
#top_pickup .box div.detail_free h3 a {
	color: inherit;
	text-decoration: none;
}
#top_pickup .box div.detail_free a:hover h2,
#top_pickup .box div.detail_free a:focus h2,
#top_pickup .box div.detail_free a:hover h3,
#top_pickup .box div.detail_free a:focus h3 {
	text-decoration: underline;
}
#top_pickup .box div.detail_free p:last-of-type {
	padding-bottom: 15px;
}
#top_pickup .box div.detail_free p:not(:first-of-type) a {
	color: inherit;
	text-decoration: none;
}

/* スライドコントローラ */
#mv_control_box {
	bottom: -50px;
}
#mv_control_prev {
	background-image: url(/img/site/kyouiku/slide_prev.png);
}
#mv_control_next {
	background-image: url(/img/site/kyouiku/slide_next.png);
}
#mv_control_pause {
	background-image: url(/img/site/kyouiku/slide_stop.png);
}
#mv_control_play {
	background-image: url(/img/site/kyouiku/slide_play.png);
}


/* ---------- 公式SNS一覧 ---------- */
#top_sns_link {
	background: #e5eef7;
	width: 100%;
}
#top_sns_link .box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	max-width: 1100px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 auto;
	padding: 60px 40px;
	text-align: center;
}
#top_sns_link .headline {
	-webkit-box-ordinal-group: 3;
	    -ms-flex-order: 2;
	        order: 2;
	text-align: center;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
}
#top_sns_link .headline h2 {
	margin: 0 0 20px;
}
#top_sns_link .headline .txt {
	margin: 1em 0;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
}
#top_sns_link .link1 {
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
}
#top_sns_link .link2 {
	-webkit-box-ordinal-group: 4;
	    -ms-flex-order: 3;
	        order: 3;
}
#top_sns_link [class^="link"] {
	list-style: none;
	margin: 0;
	padding: 0;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 40px;
	max-width: 300px;
}
#top_sns_link [class^="link"] a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 130px;
	height: 130px;
	margin: 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	padding: 30px;
	background: #fff;
	border-radius: 20px;
}
#top_sns_link [class^="link"] a img {
	vertical-align: top;
}


/* ---------- お問い合わせ先 ---------- */
#section_footer_wrap {
	width: 100%;
	max-width: 1100px;
	margin: 60px auto;
}


/* ---------- フッタ上バナー ---------- */
#footer_banner {
	width: 100%;
	max-width: 1100px;
	margin: 60px auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 20px 10px;
}
#footer_banner:not(:has(.free_box)) {
	display: none;
}
#footer_banner .free_box {
	width: calc((100% - 30px) / 4);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	    flex-wrap: nowrap;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
	border-radius: 5px;
	overflow: hidden;
	min-height: 80px;
}
#footer_banner .free_box:not(:has(img)) {
	outline: 1px solid #efefef;
	outline-offset: -1px;
}
#footer_banner .free_box p {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
}
#footer_banner .free_box a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	width: 100%;
	height: 100%;
}
#footer_banner .free_box a:hover
#footer_banner .free_box a:focus {
	text-decoration: none;
}
#footer_banner .free_box img {
	width: 100%;
	max-width: -webkit-fit-content;
	max-width: -moz-fit-content;
	max-width: fit-content;
	height: auto !important;
	vertical-align:top;
}


/* ------------------------------------------------------------ */
/* 	背景色変更	 */
/* ------------------------------------------------------------ */
.color_change #header_menu::before,
.color_change #menu_box::after,
.color_change #main_body::before {
	content: none;
}
.color_change #site_header,
.color_change #menu_box ul,
.color_change #main_body #top_news {
	background: none;
}
.color_change #menu_box ul li a:hover,
.color_change #menu_box ul li a:focus {
	background: inherit;
	color: currentcolor;
}
.color_change #top_info ul li a,
.color_change #top_sns_link {
	background: rgb(0 0 0 / .3);
	outline: 1px solid rgb(255 255 255 / .5);
}
.color_change #main_body h2 {
	background: rgb(0 0 0 / .3) !important;
}
.color_change #top_pickup .box div.detail_free p:first-of-type {
	background-color: rgb(255 255 255 / .3) !important;
}

.color_change button[id^="mp_control_"],
.color_change button[id^="mv_control_"] {
	outline: none;
}
.color_change #mv_control_prev {
	background-image: url(/img/site/kyouiku/slide_prev_w.png);
}
.color_change #mv_control_next {
	background-image: url(/img/site/kyouiku/slide_next_w.png);
}
.color_change #section_footer h2, .color_change #main_body #section_footer h2 {
	background: rgba(255, 255, 255, 0.2) !important;
}
/* 黒 */
.color_black #top_pickup .box div.detail_free p,
.color_black #top_pickup .box div.detail_free h2,
.color_black #top_pickup .box div.detail_free h3 {
	background-color: #333 !important;
}
/* 青 */
.color_blue #top_pickup .box div.detail_free p,
.color_blue #top_pickup .box div.detail_free h2,
.color_blue #top_pickup .box div.detail_free h3 {
	background-color: #00a !important;
}

/* ------------------------------------------------------------ */
/* 	タブレットレイアウト	 */
/* ------------------------------------------------------------ */

@media screen and (max-width: 900px) {

	html {
		font-size: 50%;
	}

	#sidebar1 {
		width: 30%;
	}
	#sidebar2 {
		width: 30%;
	}

	.side1 #main {
		width: 70%;
	}
	.side1 #main_a {
		padding-left: 20px;
	}

	.side2 #main {
		width: 70%;
	}
	.side2 #main_a {
		padding-right: 20px;
	}

	.side1.side2 #main {
		width: 40%;
	}
	.side1.side2 #main_a {
		padding-left: 10px;
		padding-right: 10px;
	}

	#he_right{
		width: calc(100% - 460px);
	}
	.spm_search_open #he_right{
		width: auto;
	}

	div[id^="main_header_life3_"] {
		height: 150px;
	}

	#life_menu_left {
		width: 70%;
		padding-right: 20px;
	}
	#life_menu_right {
		width: 30%;
	}

	#soshiki_pr_image img {
		max-height: 150px;
	}

	.info_list.info_list_thum ul li,.info_list.info_list_thum ul li:nth-child(3n) {
		margin-right: 20px;
		width: calc(50% - 20px);
	}

	#main_body div[class*="detail"] img{
		max-width: 100%;
		height: auto !important;
	}

	/* ------------------------------------------------------------ */
	/* 教育委員会　トップページ */
	/* ------------------------------------------------------------ */
	
	#mymainback {
		margin: 0 20px;
		width: auto;
	}

	/* ---------- 教育委員会ヘッダ ---------- */
	#site_header::after {
		bottom: 80px;
		left: -200px;
	}
	#header_menu {
		display: block;
	}
	#header_menu::before { left: -70px; }
	#site_logo h1 {
		padding: 20px 20px 20px 60px;
	}
	#menu_box {
		padding: 0 0 40px;
	}
	#menu_box ul {
		display: block;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		margin: 0 auto;
	}
	#header_mv_box {
		padding-left: 20px;
		padding-right: 20px;
	}
	#header_mv_box .box1 {
		width: 45vw;
	}
	ul.banner_list li {
		width: 45vw;
		/* width: auto; */
	}
	#header_mv_box .box2 {
		width: 45vw;
	}
	#header_mv_box .box2 a img {
		width: 100%;
		height: auto;
	}
	ul.banner_list {
		width: 100%;
		max-width: 520px;
		height: auto;
	}

	/* ---------- よく見られる情報 ---------- */
	#top_info ul {
		gap: 20px;
	}
	#top_info ul li a::before {
		width: 45%;
		background-size: contain;
		margin-bottom: 1vw;
	}
	#top_info ul li:nth-of-type(2) a::before {
		background-size: 85% auto;
		width: 67.5%;
	}
	#top_info ul li a .txt {
		padding-top: 1vw;
	}

	/* ---------- 注目の取組 ---------- */
	
	#top_pickup .box {
		width: 720px;
	}

	/* ---------- 公式SNS一覧 ---------- */
	#top_sns_link .box {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		padding: 40px 20px;
		max-width: none;
		gap: 20px;
	}
	#top_sns_link .headline {
		width: 100%;
		-webkit-box-ordinal-group: 1;
		    -ms-flex-order: 0;
		        order: 0;
		-ms-flex-preferred-size: 100%;
		    flex-basis: 100%;
	}
	#top_sns_link [class^="link"] {
		gap: 20px;
	}
	/* ---------- お問い合わせ先 ---------- */
	#section_footer_wrap {
		width: auto;
		max-width: none;
		margin: 60px 20px;
	}
	/* ---------- フッタ上バナー ---------- */
	#footer_banner {
		width: 544px;
	}
	#footer_banner .free_box {
		width: 267px;
	}

}
/* タブレットここまで */

@media  screen and (max-width: 760px) {
		
	#top_pickup .box {
		width: 340px;
		max-width: 100%;
	}
}

@media  screen and (max-width: 570px) {
	#footer_banner {
		width: 267px;
	}
}


@media screen and (max-width: 900px) {

	/* ------------------------------------------------------------ */
	/* 	sp-common	 */
	/* ------------------------------------------------------------ */

	* {
		float: none;
		word-break: normal;
	}

	/* 領域の位置やサイズに関する設定 */
	#loading-view {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		/* 背景関連の設定 */
		background-color: #ffffff;
		filter: alpha(opacity=85);
		-moz-opacity: 0.85;
		-khtml-opacity: 0.85;
		opacity: 0.85;
	}

	#xp1 {
		width: auto;
		margin: 0px auto;
	}

	/* viewSwitch */
	#viewSwitch {
		display: none;
		background: #cccccc;
		border-top: 1px solid #cccccc;
		text-align: center;
		padding: 15px 0px;
	}
	#viewSwitch dl {
		margin: 0px;
		padding: 0px;
	}
	#viewSwitch dt,
	#viewSwitch dd,
	#viewSwitch ul,
	#viewSwitch li {
		display: inline-block;
		margin: 0px;
		padding: 0px;
	}
	#viewSwitch dt {
		margin-right: 10px;
		color: #333333;
	}
	#viewSwitch ul {
		list-style: none;
	}
	#viewSwitch li {
		padding: 2px 5px;
	}
	#viewSwitch li:nth-child(1) {
		border-right: solid 1px #333333;
	}
	#viewSwitch li:nth-child(2) {
		border-right: solid 1px #333333;
	}
	#vsSP {
		font-weight: bold;
	}

	/* spbutton */
	.spbutton {
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		padding: 10px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		border: 1px solid #dcdcdc;
		background: -moz-linear-gradient( center top, #f9f9f9 5%, #e9e9e9 100% );
		background: -ms-linear-gradient( top, #f9f9f9 5%, #e9e9e9 100% );
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
		background: -webkit-gradient( linear, left top, left bottom, color-stop(5%, #f9f9f9), color-stop(100%, #e9e9e9) );
		background-color: #f9f9f9;
		color: #000000;
		text-shadow: 1px 1px 0px #ffffff;
		-webkit-box-shadow:inset 1px 1px 0px 0px #ffffff;
		-moz-box-shadow:inset 1px 1px 0px 0px #ffffff;
		box-shadow:inset 1px 1px 0px 0px #ffffff;
		font-size: 1.5rem;
		text-decoration: none;
		text-align: center;
	}
	.button:hover {
		background: -moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% );
		background: -ms-linear-gradient( top, #e9e9e9 5%, #f9f9f9 100% );
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
		background: -webkit-gradient( linear, left top, left bottom, color-stop(5%, #e9e9e9), color-stop(100%, #f9f9f9) );
		background-color: #e9e9e9;
	}
	.button:active {
		position: relative;
		top: 1px;
	}

	/* テーブル切り替え */
	#main_body .sp_table_wrap {
		overflow: auto;
	}

	#main_body div.sp_large_table {
		width: 1000px;
		overflow: visible;
	}

	.sp_button {
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		padding: 10px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		border: 1px solid #dcdcdc;
		background: -moz-linear-gradient( center top, #f9f9f9 5%, #e9e9e9 100% );
		background: -ms-linear-gradient( top, #f9f9f9 5%, #e9e9e9 100% );
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f9f9', endColorstr='#e9e9e9');
		background: -webkit-gradient( linear, left top, left bottom, color-stop(5%, #f9f9f9), color-stop(100%, #e9e9e9) );
		background-color: #f9f9f9;
		color: #000000;
		text-shadow: 1px 1px 0px #ffffff;
		-webkit-box-shadow:inset 1px 1px 0px 0px #ffffff;
		-moz-box-shadow:inset 1px 1px 0px 0px #ffffff;
		box-shadow:inset 1px 1px 0px 0px #ffffff;
		font-size: 1.5rem;
		text-decoration: none;
		text-align: center;
	}
	.sp_button:hover {
		background: -moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% );
		background: -ms-linear-gradient( top, #e9e9e9 5%, #f9f9f9 100% );
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e9e9e9', endColorstr='#f9f9f9');
		background: -webkit-gradient( linear, left top, left bottom, color-stop(5%, #e9e9e9), color-stop(100%, #f9f9f9) );
		background-color: #e9e9e9;
	}
	.sp_button:active {
		position: relative;
		top: 1px;
	}
	.gsc-result .gs-title {
		height: auto !important;
	}

	/* ページ内目次 ※使用しない */
	#sp_page_index_link_wrap {
		display: none !important;
	}

	#sp_page_index_link_toggle {
		width: 100%;
		height: auto;
		margin: 0px;
		padding: 10px;
		font-size: 1.5rem;
		border: 1px solid #333333;
		background: url(/img/sp/acc_open.png) no-repeat 97% center #eeeeee;
		background-size: 15px 15px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		text-align: center;
	}
	#sp_page_index_link_toggle.open {
		background-image: url(/img/sp/acc_close.png);
	}
	#sp_page_index_link_toggle:focus {
		outline: none;
	}

	#main #main_a ul#sp_page_index_link {
		margin: 0px;
		padding: 0px;
		list-style: none;
	}
	#main #main_a ul#sp_page_index_link li {
		padding: 10px;
		border-bottom: 1px solid #CCCCCC;
	}
	#main #main_a ul#sp_page_index_link li a {
		display: block;
		background: url(/img/sp/arrow_r.png) no-repeat right center;
		background-size: 8px auto;
		padding-right: 12px;
		text-decoration: none;
	}
	#main #main_a ul#sp_page_index_link li a.sp_headtype_h2 {padding-left: 10px; font-size: 2.0rem; line-height: 1.2em;}
	#main #main_a ul#sp_page_index_link li a.sp_headtype_h3 {padding-left: 20px; font-size: 1.8rem; line-height: 1.2em;}
	#main #main_a ul#sp_page_index_link li a.sp_headtype_h4 {padding-left: 30px; font-size: 1.6rem; line-height: 1.2em;}
	#main #main_a ul#sp_page_index_link li a.sp_headtype_h5 {padding-left: 40px; font-size: 1.4rem; line-height: 1.2em;}
	#main #main_a ul#sp_page_index_link li a.sp_headtype_h6 {padding-left: 50px; font-size: 1.2rem; line-height: 1.2em;}


	/* ------------------------------------------------------------ */
	/* 	sp-layout	 */
	/* ------------------------------------------------------------ */
	/* 全体 */
	html {
		font-size: 62.5%;
	}
	body {
		min-width: 320px;
		margin: 0px;
		padding: 0px;
		font-size: 1.4rem;
		line-height: 1.5;
		word-break: normal;
		-webkit-text-size-adjust: none;
	}

	#container {
		float: none;
		width: 100%;
		min-width: 320px;
		margin: 0px;
		padding: 0px;
		overflow: hidden;
	}

	/* ヘッダ */
	#header {
		/* width: auto; */
		/* height: auto; */
		/* margin: 0px; */
		/* padding: 0px; */
	}

	/* フッタ */
	#footer {
		/* clear: both; */
		/* width: auto; */
		/* height: auto; */
		/* margin: 0px; */
		/* padding: 0px; */
	}

	/* メイン */
	#mymainback {
		clear: both;
		float: none;
		width: auto;
		padding: 0 0 10px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
			-ms-flex-direction: column;
				flex-direction: column;
		-ms-flex-wrap: nowrap;
			flex-wrap: nowrap;
	}

	#main,
	.side1 #main,
	.side2 #main,
	.side1.side2 #main {
		-webkit-box-ordinal-group: 11;
		-ms-flex-order: 10;
		order: 10;
		clear: both;
		float: none;
		width: auto;
		margin: 0px;
		padding: 0px;
	}
	#main_a,
	.side1 #main_a,
	.side2 #main_a,
	.side1.side2 #main_a {
		margin: 0px;
		padding: 0px;
	}

	#sidebar1 {
		-webkit-box-ordinal-group: 12;
		-ms-flex-order: 11;
		order: 11;
		clear: both;
		float: none;
		width: auto;
		margin: 0px;
		padding: 0px;
	}

	#sidebar2 {
		-webkit-box-ordinal-group: 13;
		-ms-flex-order: 12;
		order: 12;
		clear: both;
		float: none;
		width: auto;
		margin: 0px;
		padding: 0px;
	}

	/* ------------------------------------------------------------ */
	/* 	sp-parts	 */
	/* ------------------------------------------------------------ */
	/********** 1 共通 **********/

	/* レスポンシブアコーディオン用 */
	.acc_title_wrap {
		position: relative;
	}
	.acc_title {
		position: relative;
	}
	.acc_title > label {
		display: block;
		cursor: pointer;
		padding-right: 30px;
	}
	h2.acc_title > label,
	h3.acc_title > label,
	h4.acc_title > label,
	h5.acc_title > label,
	h6.acc_title > label {
		padding-right: 30px;
		padding-top: 10px;
		padding-bottom: 10px;
	}


	input[id*="acc_ttl_label"] + * {
		display: none;
	}
	.acc_title + input[id*="acc_ttl_label"]:checked + * {
		display: block;
	}
	label[for*="acc_ttl_label"] {
		background: url(/img/sp/acc_open.png) no-repeat right 10px center transparent;
		background-size: 25px auto;
	}
	.acc_open label[for*="acc_ttl_label"] {
		background-image: url(/img/sp/acc_close.png);
	}

	/* 足あと・ブックマーク機能 */
	#footstep_wrap, #keep_page {
		display: none !important;
	}

	/********** 2 基本設定 **********/

	/* フォント */
	body {
		font-family: arial, sans-serif;
	}

	/* ボタン */
	input[type="button"],
	input[type="submit"],
	button {
		font-size: 1.6rem;
	}

	input[type="text"],
	textarea {
		font-size: 1.3rem;
	}

	/* テーブル */
	#main_body table {
		font-size: 1.3rem;
		line-height: 1.4;
	}

	/* 見出し */
	#main_header {
		margin-bottom: 1px;
	}
	#main_header h1 {
		margin: 0px;
		padding-left: 15px;
		padding-right: 10px;
		font-size: 2.4rem;
	}

	#main_body h2 {
		/* margin: 0px 0px 1px; */
		padding-left: 15px;
		padding-right: 10px;
		font-size: 2rem;
	}

	#main_body h3 {
		margin: 0px 0px 1px;
		padding-left: 15px;
		padding-right: 10px;
		font-size: 1.8rem;
	}

	#main_body h4 {
		margin: 0px 0px 1px;
		padding-left: 15px;
		padding-right: 10px;
		font-size: 1.6rem;
	}

	#main_body h5 {
		margin: 0px 0px 1px;
		padding-left: 15px;
		padding-right: 10px;
		font-size: 1.4rem;
	}

	#main_body h6 {
		margin: 0px 0px 1px;
		padding-left: 15px;
		padding-right: 10px;
		font-size: 1.4rem;
	}

	/********** 3 ヘッダ **********/

	/* ヘッダ */
	#header {
		/* position: relative; */
		/* font-size: 1.3rem; */
	}

	#spm_wrap {
		/* display: block; */
		/* position: absolute; */
		/* top: 10px; */
		/* right: 10px; */
		/* z-index: 200; */
	}
	button#spm_menu {
		/* display: block; */
		/* width: 60px; */
		/* height: 60px; */
		/* margin: 0px; */
		/* padding: 0px; */
		/* border: none; */
		/* background: url(/img/sp/btn_menu.png) no-repeat center center; */
		/* background-size: 27px auto; */
		/* color: #000000; */
		/* text-indent: -9999em; */
		/* text-align: left; */
		/* overflow: hidden; */
	}
	.open button#spm_menu {
		background-image: url(/img/sp/btn_close.png);
	}

	#header2 {
		/* width: auto; */
		/* min-height: 80px; */
		/* flex-wrap: wrap; */
		/* display: block; */
	}
	.open #header2{
		background: #bfddef;
	}

	#he_left {
		/* position: static; */
		/* width: 180px; */
		/* margin: 0px; */
		/* padding: 10px 80px 10px 10px; */
		/* background-position: right 150px center; */
		/* background-size: 140px auto; */
		/* width: auto; */
		/* min-height: 70px; */
	}

	#he_right {
		/* display: none; */
		/* width: auto; */
		/* margin: 0px; */
		/* padding: 10px; */
		/* text-align: center; */
	}
	.open #he_right {
		display: block;
	}

	#logo{}
	#logo img{
		width: 70%;
		max-width: 372px;
		height: auto;
	}

	ul#header_link{}
	ul#header_link > li {
		margin: 0px 5px;
	}
	ul#header_link > li#hl_main,
	ul#header_link > li#hl_func {
		display: none !important;
	}
	ul#header_link > li > a {
		background-size: auto 18px;
		padding-left: 20px;
		font-size: 1.2rem;
	}
	ul#header_sns{
		margin: 0;
	}
	ul#header_sns img{
		width: auto !important;
		height: auto !important;
	}

	ul#header_link > li{
		display: none;
		margin-bottom: 10px;
	}
	ul#header_link > li#hl_lang,
	ul#header_link > li#hl_nihongo{
		display: inline-block;
	}
	ul#header_link > li > a{
		display: block;
		padding: 10px;
		font-size: 1.6rem;
		font-weight: bold;
	}

	/* 検索 */
	#cse-search-box {
		/* display: block; */
		width: auto;
	}

	#tmp_query {
		font-size: 1.4rem;
	}
	#submit {
		font-size: 1.4rem;
	}

	#cse_filetype {
		display: block;
	}
	#cse_filetype fieldset {
		padding: 5px 0px 0px;
		text-align: right;
	}
	#cse_filetype fieldset span {
		font-size: 1.2rem;
	}

	/* グローバルナビ */
	#top_search {
		/* display: none; */
	}
	.open #top_search {
		display: block;
	}

	#top_search_box{
		display: block;
	}
	ul#gnav {
		display: block;
		width: auto;
		padding: 10px 0 20px;
	}
	ul#gnav li {
		display: block;
		margin: 0px;
		padding: 0px;
		border: none;
		width: auto;
	}


	ul#gnav li a {
		font-size: 1.8rem;
		padding: 10px 15px;
		text-align: left;
	}
	ul#gnav > li{
		padding: 10px;
	}
	ul#gnav > li:last-child{
		width: auto;
	}

	ul#gnav > li > button.search_open, ul#gnav > li > a{
		text-align: left;
		/* width: auto; */
		padding: 7px 20px;
		margin: 0;
		background: #fff;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
	}

	ul#gnav > li > button.search_open{
		background-repeat: no-repeat;
		background-position: right 15px center;
		background-color: #ffffff;
		background-image: url(/img/sp/acc_open.png);
		background-size: 25px auto;
	}
	ul#gnav > li.open > button.search_open{
		background-image: url(/img/sp/acc_close_white.png);
	}

	ul#gnav > li button.search_open:after{
		display: none;
	}

	ul#gnav > li > button.search_open span:after{
		display: none;
	}

	ul#gnav > li > a{
		background: url(/img/sp/link_arrow_right_fill.png) no-repeat right 20px center #ffffff;
		background-size: 10px auto;
	}

	#top_search_keyword{
		padding: 0;
	}

	ul#gnav > li > .search_list_wrap{
		position: static;
	}

	#search_theme .search_list_wrap ul.search_life2 {
		position: static;
		min-height: 0;
		padding-left:  20px;
	}

	#search_theme .search_list_wrap ul.search_life1 {
		position: static;
		min-height: 0;
		padding-left: 20px;
	}

	/********** 4 パンくず **********/

	/* パンくず */
	#pankuzu_wrap {
		margin: 0px 0px 5px;
		padding: 10px 10px 5px;
	}
	#pankuzu_wrap > div {
		width: auto;
	}
	.pankuzu {
		font-size: 1.2rem;
		/* padding-left: 6rem; */
	}

	.pankuzu:first-child .icon_current {
		/* width: 5rem; */
		/* font-size: 1.1rem; */
		/* padding: 1px 0px; */
		display: none;
	}

	/********** 5 フッタ **********/

	/* フッタ */
	#footer {
		/* font-size: 1.3rem; */
	}

	#back_or_pagetop {
		width: auto;
	}
	#back_or_pagetop > div a {
		font-size: 1.2rem;
		right: 10px;
	}
	.fixed div#to_page_top a{
		right: 10px;
		bottom: 10px;
	}

	#footer_navi ul {
		width: auto;
		padding: 20px 20px;
		padding-right: 80px;
	}

	#author_box {
		/* width: auto; */
		/* padding: 20px 20px 20px; */
	}

	#author_box p.f_author {
		/* font-size: 2.4rem; */
	}

	#author_box p span.f_number {
		display: block;
		margin: 6px 0 -6px 0;
		font-size: 1.3rem;
	}

	#author_box ul.author_link li{
		margin: 10px 10px 10px 0;
	}

	#copyright p {
		/* padding: 20px 80px; */
		/* font-size: 1.2rem; */
	}

	/********** 6 バナー **********/

	/********** 7 リスト **********/

	/* リスト */
	.info_list ul li {
		display: block;
		margin: 0px;
		padding: 10px;
		border: none;
		border-bottom: 1px solid #cccccc;
	}
	.info_list ul li:last-child {
		border-bottom: none;
	}
	.info_list ul li:before {
		display: none;
	}
	.info_list ul li a {
		display: block;
		background: url(/img/sp/arrow_r.png) no-repeat right center;
		background-size: 8px auto;
		padding-right: 12px;
		text-decoration: none;
	}


	.info_list.info_list_thum ul{
		display: block;
	}

	.info_list.info_list_date ul li {
		display: block;
		width: auto;
	}
	.info_list.info_list_date ul li > span {
		display: block;
	}
	.info_list.info_list_date ul li > span.article_date {
		width: auto;
	}
	.info_list.info_list_thum ul li,
	.info_list.info_list_thum ul li:first-child{
		width: auto;
		margin: 0;
		padding: 10px 0;
		border-bottom: 1px solid #cccccc;
	}

	.list_pack{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: nowrap;
			flex-wrap: nowrap;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
			-ms-flex-direction: row;
				flex-direction: row;
		width: 100%;
	}
	.list_pack .article_img{
		width: 120px;
		display: block;
	}
	.list_pack .article_img span{
		width: auto;
	}
	.list_pack .article_txt{
		display: block;
		width: calc(100% - 120px);
		padding-left: 10px;
		padding-right: 10px;
		-webkit-box-sizing: border-box;
				box-sizing: border-box;
	}

	.article_section {
		display: block;
		text-align: right;
		padding-right: 10px;
	}
	.article_section a {
		display: inline !important;
		background: none !important;
		padding-right: 0px !important;
		text-decoration: underline !important;
	}

	/* リスト（一覧リンク） */
	div.link_ichiran {
		margin: 0px;
		padding: 10px;
	}

	/********** 8 サイド **********/

	/* サイドバー */
	#sidebar1,
	#sidebar2 {
		margin-top: 10px;
	}

	/* サイドメニュー */
	.side_box_list ul {
		padding: 0px;
	}
	.side_box_list ul li {
		display: block;
		margin: 0px;
		padding: 10px;
		border: none;
		border-bottom: 1px solid #cccccc;
	}
	.side_box_list ul li:last-child {
		border-bottom: none;
	}
	.side_box_list ul li:before {
		display: none;
	}
	.side_box_list ul li a {
		display: block;
		background: url(/img/sp/arrow_r.png) no-repeat right center;
		background-size: 8px auto;
		padding-right: 12px;
		text-decoration: none;
	}
	.side_box_list ul li ul li {
		padding-right: 0px;
	}

	/* 関連リンク */
	#kanren_link ul,
	#sidebar1 #kanren_link ul,
	#sidebar2 #kanren_link ul,
	.kanren_link ul,
	#sidebar1 .kanren_link ul,
	#sidebar2 .kanren_link ul {
		padding: 0px;
	}
	#kanren_link li,
	#sidebar1 #kanren_link li,
	#sidebar2 #kanren_link li,
	.kanren_link li,
	#sidebar1 .kanren_link li,
	#sidebar2 .kanren_link li {
		display: block;
		margin: 0px;
		padding: 10px 20px;
		background-position: 10px 12px;
		border: none;
		border-bottom: 1px solid #cccccc;
	}
	#kanren_link ul li:last-child,
	#sidebar1 #kanren_link li:last-child,
	#sidebar2 #kanren_link li:last-child,
	.kanren_link ul li:last-child,
	#sidebar1 .kanren_link li:last-child,
	#sidebar2 .kanren_link li:last-child {
		border-bottom: none;
	}

	/* レコメンド */
	#sidebar_recommend ul {
		padding: 0px;
	}
	#sidebar_recommend ul li,
	#sidebar1 #sidebar_recommend li,
	#sidebar2 #sidebar_recommend li {
		display: block;
		margin: 0px;
		padding: 10px 20px;
		background-position: 10px 12px;
		border: none;
		border-bottom: 1px solid #cccccc;
	}
	#sidebar_recommend ul li:last-child,
	#sidebar1 #sidebar_recommend li:last-child,
	#sidebar2 #sidebar_recommend li:last-child {
		border-bottom: none;
	}


	/********** 9 メイン **********/

	/* メイン */

	/********** 10 各ページ **********/

	/* 印刷用アイコン */
	#content_header {
		margin: 0;
		padding: 0;
	}

	#print_mode_link,
	#print_mode_link_large {
		display: none !important;
	}

	/* PDF・WMPリンク */
	.pdf_download, .wmplayer_download {
		margin: 15px 0px;
		display: block;
		width: auto;
	}
	.pdf_download .pdf_img, .wmplayer_download .wmplayer_img {
		display: block;
	}
	.tenpu_txt {
		display: block;
		padding: 10px 0px 0px;
		font-size: 1.2rem;
	}


	/* ------------------------------------------------------------ */
	/* 	sp-parts-detail	 */
	/* ------------------------------------------------------------ */
	/* 見出し */
	.detail #main_body h2,
	.detail #main_body h3,
	.detail #main_body h4,
	.detail #main_body h5,
	.detail #main_body h6 {
		margin: 15px 0px;
	}

	/* ページ内容 */
	div[class^="detail_"]{
		overflow: auto;
	}
	/* ページ内容ここまで */

	/* お問い合わせ先 */
	#section_footer {
		margin: 15px 0px;
	}
	#section_footer h2,
	#main_body #section_footer h2 {
	}
	#section_footer_detail {
		padding: 10px 20px 20px;
	}

	/* 評価エリア */
	#hyouka_area_box {
		margin: 15px 0px;
	}
	#hyouka_area_box .system_box {
	}
	#hyouka_area_box .system_box h2, #main_body #hyouka_area_box .system_box h2 {
		font-size: 1.8rem;
		padding: 15px 20px;
	}
	#hyouka_area_submit {
		padding: 15px 0px 0px;
	}

	/* カレンダー登録・SNSボタン */
	#detail_button_wrap {
		margin: 15px 0px;
	}
	#detail_button_wrap > div a {
		font-size: 1rem;
		line-height: 1.5rem;
		background-size: 30px auto;
		padding: 40px 5px 5px;
	}
	#detail_button_wrap > div#btn_google_calendar a,
	#detail_button_wrap > div#btn_yahoo_calendar a {
		padding: 15px 5px;
	}
	#detail_button_wrap > div#sns_button_facebook a {
		background-size: 20px auto;
	}

	/* 重要なお知らせ */
	#detail_side_important h2 {
		font-size: 1.8rem;
		padding: 15px;
	}
	#detail_side_important ul {
		padding: 0px;
	}
	#detail_side_important ul li {
		display: block;
		margin: 0px;
		padding: 10px 20px;
		border: none;
		border-bottom: 1px solid #cc0000;
	}

	#detail_side_important ul li:last-child {
		border-bottom: none;
	}
	#detail_side_important ul li a {}

	.hyouka_box{
		padding: 20px;
	}


	/* ------------------------------------------------------------ */
	/* 	sp-parts-site	 */
	/* ------------------------------------------------------------ */
	/* サブサイト共通ヘッダ */

	/* サブサイト共通フッタ */
	#site_footer_box {
		padding: 15px;
	}

	/* サイドメニュー */
	.subsite_menu {
		margin: 0px 0px 1px;
	}
	.subsite_menu_ttl.acc_title {
		padding-right: 10px;
	}
	.subsite_menu_list ul {
		padding: 0px;
	}
	.subsite_menu_list ul li {
		display: block;
		margin: 0px;
		padding: 10px;
		border: none;
		border-bottom: 1px solid #888888;
	}
	.subsite_menu_list ul li:last-child {
		/* border-bottom: none; */
	}
	.subsite_menu_list ul li:before {
		display: none;
	}
	.subsite_menu_list ul li a {
		display: block;
		background: url(/img/sp/arrow_r.png) no-repeat right 10px center;
		background-size: 8px auto;
		padding-right: 12px;
		text-decoration: none;
	}


	/* 新着情報 */
	.detail #main_body .section_information h2 {
		margin: 0px;
	}

	/* 新着情報（サムネイルあり） */
	.list_pack > div.article_img {
		/* width: 120px; */
		/* padding-right: 15px; */
	}

	.list_pack > div.article_img span:empty {
		height: 90px;
		background-size: contain;
	}

	.subsite_menu_list ul,
	#sidebar1 .subsite_menu_list ul,
	#sideabr2 .subsite_menu_list ul{
		padding-left: 0;
		padding-right: 0;
	}
	.subsite_menu_list ul li,
	#sidebar1 .subsite_menu_list ul li,
	#sidebar2 .subsite_menu_list ul li{
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.subsite_menu_ttl,
	h2.subsite_menu_ttl,
	#sidebar1 h2.subsite_menu_ttl,
	#sidebar2 h2.subsite_menu_ttl{
		padding-right: 0;
	}

	.subsite_menu_list div.link_ichiran,
	#sidebar1 .subsite_menu_list div.link_ichiran,
	#sidebar2 .subsite_menu_list div.link_ichiran{
		text-align: left;
	}
	.subsite_menu_list div.link_ichiran a,
	#sidebar1 .subsite_menu_list div.link_ichiran a,
	#sidebar2 .subsite_menu_list div.link_ichiran a{
		display: block;
		background-color: #fff;
		padding: 10px;
		background: url(/img/sp/link_arrow_right_fill.png) no-repeat right 20px center #ffffff;
		background-size: 10px auto;
		text-decoration: none;
	}

	.no_list label[for*="acc_ttl_label"]{
		background-image: none;
		padding-right: 0;
	}
	.no_list label[for*="acc_ttl_label"] span,
	.no_list label[for*="acc_ttl_label"] a{
		display: block;
	}

	/* ------------------------------------------------------------ */
	/* 教育委員会　トップページ */
	/* ------------------------------------------------------------ */

	#mymainback [id^="top_"] h2 img,
	#top_sns_link .headline h2 img {
		width: auto;
		height: 22px;
	}
	#mymainback [id^="top_"] {
		margin: 60px 0;
	}

	/* ---------- 教育委員会ヘッダ ---------- */
	#site_header {
		margin: 0;
	}
	#header_menu {
		display: block;
	}
	#header_menu::before {
		width: 187px;
		height: 115px;
		top: -10px;
		left: -22px;
	}
	#site_logo img {
		width: 70%;
		max-width: 372px;
		height: auto;
	}
	#site_logo h1 {
		padding: 15px 0;
		text-align: center;
	}
	#menu_box {
		padding: 0;
	}
	#menu_box::after {
		width: 82px;
		height: 113px;
		top: auto;
		bottom: -90px;
		right: -15px;
	}
	#menu_box ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		background: transparent;
		margin: 0 auto 25px;
		gap: 1px
	}
	#menu_box ul li {
		margin: 0;
		padding: 0;
		width: calc((100% - 2px) / 3);
	}
	#menu_box ul li a,
	#menu_box ul li a:hover, #menu_box ul li a:focus {
		background: rgb(4 70 122 / .8);
		color: #fff;
		width: 100%;
		height: 100%;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		font-size: 1.4rem;
		text-align: center;
		line-height: 1.2;
	}

	@media screen and (max-width: 670px){
	#header_mv_box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		gap: 30px;
		max-width: none;
		padding: 0 20px 150px;
	}
	#header_mv_box .box1,
	#header_mv_box .box2 {
		width: 100%;
		max-width: 520px;
		margin: 0 auto;
	}
	#header_mv_box .box1 { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
	#header_mv_box .box2 { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
	#header_mv_box .box2 a {
		width: 100%;
	}
	#header_mv_box .box2 a img {
		max-width: 100%;
		height: auto;
	}
	/* スライドコントローラ */
	#mp_control_box, #mv_control_box {
		position: static;
		margin: 0 auto;
	}

	}
	
	/* ---------- 新着情報 ---------- */
	#site_header::after {
		width: 120px;
		height: 82px;
		left: -30px;
	}
	#main_body #top_news {
		padding: 40px 20px 0;
		margin-top: -100px;
	}

	/* リスト（新着情報） */
	.section_information {
		margin: 10px 0px;
	}
	.section_information h2,
	#main_body .section_information h2 {
		font-size: 1.8rem;
	}
	.section_information .link_ichiran a {
		display: inline-block;
	}
	.section_information p.no_data {
		padding: 15px;
	}
	.section_information_list ul {
		margin: 30px 0;
	}
	.section_information_list ul li {
		display: block;
		width: auto;
		margin: 0;
		padding: 10px;
	}
	.section_information_list ul li > span {
		display: block;
	}
	.section_information_list ul li > span.article_date {
		width: auto;
	}
	.section_information_list ul li a {
		display: block;
		text-decoration: none;
	}
	.section_information_list div.link_box {
		padding: 15px;
	}

	/* ---------- よく見られる情報 ---------- */
	#top_info ul {
		margin: 30px 0;
		gap: 20px;
	}
	@media screen and (max-width: 670px){
	#top_info ul li {
		width: calc((100% - 20px) / 2);
	}
	}
	#top_info ul li a::before {
		background-size: contain;
		width: 50%;
		margin: 0;
	}
	#top_info ul li a .txt {
		padding: 10px 5px 0;
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	/* ---------- 注目の取組 ---------- */
	#top_pickup .box {
		touch-action: pan-y;
		overscroll-behavior: contain;
	}
	#top_pickup .box div.detail_free {
		/* margin: 0; */
	}
	#top_pickup .box div.detail_free p,
	#top_pickup .box div.detail_free h2,
	#top_pickup .box div.detail_free h3 {
		width: calc(100% - 40px);
		min-width: 200px;
	}
	#top_pickup .box div.detail_free h2,
	#top_pickup .box div.detail_free h3 {
		margin-top: 88%;
	}
	#top_pickup .box div.detail_free p:first-of-type {
		width: 100%;
		height: auto;
	}


	/* ---------- 公式SNS一覧 ---------- */
	#top_sns_link .headline .txt {
		font-size: 1.4rem;
	}
	#top_sns_link [class^="link"] {
		gap: 20px;
		margin: 0;
		max-width: none;
	}
	/* ---------- お問い合わせ先 ---------- */
	#section_footer_wrap {
		margin: 60px 20px;
	}
	#section_footer_wrap:not(:has(*)){
		margin: 0px;
	}

	/* ---------- フッタ上バナー ---------- */
	#footer_banner {
		margin: 60px auto;
	}

}

/* やさしい日本語対応 */

/* 教育委員会 */
#top_info ul li a .txt:has(ruby) {
	display: block;
}