/******************************************************************************/
/* スマートフォン用スタイルシート - last update: 26.06.07 */


/******************************************************************************/
@media screen and (max-width: 960px) {
/******************************************************************************/


/**********************************************************/
/* ホームページ全体 */

img {
	max-width: 100% !important;
	height: auto;
	width /***/: auto;
	margin-left: auto;
	margin-right: auto;
}


/******************************************************************************/
/* header - ヘッダ */

header {
	height: 120px;
}

header h1 a {
	top: 10px;
	left: 10px;
	width: 55%;
	max-width: 600px;
	height: 100px;
}

header .header_menu3 a {
	top: 70px;
	right: 160px;
	width: 140px;
	height: 40px;
	line-height: 40px;
	font-size: 16px;
}



/******************************************************************************/
/* header.fixed - ヘッダ固定時 */

header.fixed {
	height: 65px;
	border-bottom: 2px solid #EEEEEE;
}

header.fixed h1 a {
	top: 10px;
	width: 55%;
	max-width: 600px;
	height: 50px;
}

header.fixed .header_menu3 a,
header.fixed #header_search {
	display: none;
}


/******************************************************************************/
/* #header_search - ヘッダ検索フォーム */

#header_search {
	top: 70px;
	right: 0;
	width: 140px;
	height: 40px;
}

#header_search .text {
	width: 100px;
	padding: 0 0 0 10px;
	font-size: 14px;
}

#header_search a {
	width: 38px;
	font-size: 18px;
}




/******************************************************************************/
/* .ham_menu - ハンバーガーメニュー */

.ham_menu {
	display: block;
	height: 30px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 18px;
	right: 16px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

.ham_menu:hover {
	cursor: pointer;
}

.ham_menu span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #555555;
}

.ham_menu span {
	transition: all 0.3s;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
}

.ham_menu span.top {
	transform: translateY(-8px);
	-webkit-transform: translateY(-8px);
	-moz-transform: translateY(-8px);
}

.ham_menu span.btm {
	transform: translateY(8px);
	-webkit-transform: translateY(8px);
	-moz-transform: translateY(8px);
}

.ham_menu:hover span.top {
	transform: translateY(-10px);
	-webkit-transform: translateY(-10px);
	-moz-transform: translateY(-10px);
}

.ham_menu:hover span.btm {
	transform: translateY(10px);
	-webkit-transform: translateY(10px);
	-moz-transform: translateY(10px);
}

.ham_menu.opened span.mid {
	background: rgba(255, 255, 255, 0);
	transform: translateX(30px);
	-moz-transform: translateX(30px);
	-webkit-transform: translateX(30px);
}

.ham_menu.opened span.top {
	background: #FFFFFF;
	transform: rotate(-45deg) translateY(0px);
	-moz-transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);
}

.ham_menu.opened span.btm {
	background: #FFFFFF;
	transform: rotate(45deg) translateY(0px);
	-moz-transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);
}


/******************************************************************************/
/* #global_menu - グローバルメニュー */

#global_menu {
	position: fixed;
	top: 0;
	right: -100%;
	background: #5FB0D8;
	width: 80%;
	max-width: 480px;
	height: 100%;
	padding-top: 76px;
	font-size: 14px;
	letter-spacing: 0;
	overflow: auto;
	z-index: 3000;
}

#global_menu ul {
	display: block;
	clear: both;
	margin: 0 0 100px 0;
	padding: 0;
}

#global_menu ul li:first-child {
	border-top: 1px solid #4994bd;
}

#global_menu ul li {
	border-bottom: 1px solid #4994bd;
}

#global_menu ul li a {
	display: block;
	line-height: 25px;
	padding: 16px 30px 14px 32px;
	color: #FFFFFF;
	text-decoration: none;
	vertical-align: middle;
}

#global_menu ul li a:hover {
	color: #FF9933;
}

#global_menu ul.menu_base > li > a.nav1 i {
	display: none;
}

#global_menu ul.menu_base > li > a.nav1 span.hide {
	display: inline;
}


/**********************************************************/
/* #global_menu .up_menu - アコーディオンメニュー */

#global_menu ul li a.up_menu {
	position: relative;
	background-image: none;
}

#global_menu ul li a.up_menu::after {
	display: block;
	position: absolute;
	top: 20px;
	right: 26px;
	width: 20px;
	height: 20px;
	line-height: 20px;
	color: #FFFFFF;
	content: "▼";
	font-size: 11px;
	text-align: center;
}

#global_menu ul li a.s {
	color: #FF9933;
}

#global_menu ul li a.up_menu.active {
	color: #FFFF33;
}

#global_menu ul li a.up_menu.active::after {
	content: "▲";
}

#global_menu div.sub_menu {
	display: none;
}

#global_menu ul li ul li {
	border-bottom: none;
}

#global_menu ul li li:first-child {
	border-top: none;
}

#global_menu ul li ul {
	margin-bottom: 13px;
}

#global_menu ul li ul li a {
	border-bottom: none;
	line-height: 23px;
	padding: 0 30px 5px 32px;
}

#global_menu ul li ul li a::before {
	padding-right: 5px;
	color: #FFFFFF;
	content: "・";
}

#global_menu ul li ul li a.s::before {
	color: #FF9933;
}

#global_menu ul li ul li a:hover {
	color: #FF9933;
}

#global_menu ul li ul li a:hover::before {
	color: #FF9933;
}

#global_menu .sub_menu_title {
	display: none;
}


/**********************************************************/
/* .cotent_shadow - アコーディオンメニューの背景シャドウ */

.cotent_shadow {
	display: block;
	position: fixed;
	background: #00152B;
	width: 100%;
	height: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	z-index: 2000;
}


/******************************************************************************/
/* #mainvisual - メインビジュアル */

	.mainvisual_wrap {
		padding-top: 120px;
	}

	#mainvisual .slide_text_right {
		top: clamp(28px, 5vw, 55px);
		right: clamp(25px, 5vw, 55px);
		width: 56%;
	}

	#mainvisual .slide_text_right_half {
		top: clamp(28px, 5vw, 55px);
		right: clamp(25px, 5vw, 55px);
		width: 36%;
	}

	#mainvisual .slide_text_left {
		top: clamp(28px, 5vw, 55px);
		left: clamp(25px, 5vw, 55px);
		width: 56%;
	}

	#mainvisual .top_catch {
		letter-spacing: 0.06em;
	}

	#mainvisual .date {
		font-size: clamp(13px, 1.6vw, 17px);
		line-height: 180%;
		letter-spacing: 0.06em;
	}


/******************************************************************************/
/* #maincontent - 本文領域 */

#maincontent {
	padding-top: 120px;
}


}	/* end of ~960px */






/******************************************************************************/
@media screen and (max-width: 740px) {
/******************************************************************************/


/******************************************************************************/
/* header - ヘッダ */

header {
	height: 100px;
}

header h1 a {
	top: 5px;
	left: 5px;
	width: 75%;
	max-width: 450px;
	height: 55px;
}

header .header_menu3 a {
	top: 60px;
	right: 150px;
	width: 120px;
	height: 30px;
	line-height: 30px;
	font-size: 14px;
}

header.fixed h1 a {
	top: 5px;
	width: 75%;
	max-width: 450px;
	height: 55px;
}


/******************************************************************************/
/* #header_search - ヘッダ検索フォーム */

#header_search {
	top: 60px;
	height: 30px;
}

#header_search .text {
	height: 30px;
	line-height: 30px;
	font-size: 14px;
}

#header_search a {
	height: 30px;
	line-height: 26px;
	font-size: 16px;
}


/******************************************************************************/
/* #mainvisual - メインビジュアル */

#maincontent  {
	padding-top: 100px;
}

	.mainvisual_wrap {
		padding-top: 100px;
	}

	#mainvisual .slide_text_left,
	#mainvisual .slide_text_right_half,
	#mainvisual .slide_text_right {
		top: 8%;
		right: 5%;
		left: 5%;
		width: auto;
	}

	#mainvisual .date {
		margin-top: 12px;
		font-size: clamp(12px, 3vw, 15px);
		line-height: 170%;
	}


/******************************************************************************/
/* #maincontent .table_border - 汎用テーブル（枠あり） */

#maincontent .table_border {
	width: 100%;
}

#maincontent .table_border.fix {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

#maincontent .table_border.fix > tbody {
	display: table;
	width: 740px;
}


/******************************************************************************/
/* #maincontent .table_form - 登録フォーム等 */

#maincontent .table_form {
	width: 100%;
}


/******************************************************************************/
/* #maincontent .box1 - 囲み枠 */

#maincontent .box1 {
	width: 96%;
}



}	/* end of ~740px */




/******************************************************************************/
@media screen and (max-width: 640px) {
/******************************************************************************/


/******************************************************************************/
/* #maincontent - 本文領域 */

#maincontent {
	margin: 0 auto 40px auto;
}


/******************************************************************************/
/* .button_topics - 汎用ボタン */

.button_topics a {
	width: 90%;
}



}	/* end of ~640px */




/******************************************************************************/
@media screen and (max-width: 540px) {
/******************************************************************************/


/******************************************************************************/
/* #mainvisual - メインビジュアル */

#mainvisual .slide_btn a {
	bottom: 3%;
	right: 1%;
	letter-spacing: 0;
}

.sp-buttons {
	padding: 4px 0 0 0 !important;
}


/******************************************************************************/
/* #maincontent .table_form - 登録フォーム等 */

#maincontent .table_form {
	border-top: 1px solid #999999;
}

#maincontent .table_form td {
	display: inline-block;
	border: 0 none;
}

#maincontent .table_form td.h2 {
	width: 100%;
}

#maincontent .table_form td.h {
	width: 100%;
}

#maincontent .table_form td.d {
	width: 100%;
	border-top: 0 none;
	border-right: 0 none;
	border-bottom: 1px solid #999999;
	border-left: 0 none;
}



}	/* end of ~540px */




/******************************************************************************/
@media screen and (max-width: 460px) {
/******************************************************************************/


/******************************************************************************/
/* header - ヘッダ */

header h1 a {
	top: 5px;
	left: 0;
	width: 75%;
	max-width: 450px;
	height: 55px;
}


/******************************************************************************/
/* header.fixed - ヘッダ固定時 */

header.fixed h1 a {
	top: 5px;
	left: 0;
	width: 75%;
	max-width: 450px;
	height: 55px;
}


/******************************************************************************/
/* #maincontent - 本文領域 */

#maincontent .txt-c.xl {
	text-align: left;
}

#mainvisual .date {
	display: none;
}

/******************************************************************************/
/* #maincontent .table_normal - 汎用テーブル（枠なし） */

#maincontent .table_normal.inline tr {
	display: inline-block;
}

#maincontent .table_normal.inline td {
	display: inline;
}


/******************************************************************************/
/* #maincontent .table_fix - 汎用テーブル（枠なし、幅固定） */

#maincontent .table_fix.inline tr {
	display: inline-block;
	width: 100%;
}

#maincontent .table_fix.inline td {
	display: inline;
	padding: 0 clamp(5px, 1.6vw, 15px) 0 0;
}


/******************************************************************************/
/* #maincontent .table_border - 汎用テーブル（枠あり） */

#maincontent .table_border:not(.fix) {
	border-top: 1px solid #999999;
	border-right: 0 none;
	border-bottom: 0 none;
	border-left: 0 none;
}

#maincontent .table_border:not(.fix) tr {
	border-bottom: 1px solid #999999;
}

#maincontent .table_border:not(.fix) td {
	display: inline-block;
	width: 100%;
	border: 0 none;
}


/******************************************************************************/
/* .pagetop - PAGE TOPボタン */

.pagetop a {
	width: 60px;
	height: 60px;
}


}	/* end of ~460px */




