@charset "utf-8";

/* ****************************************************

layout_sp.css
-----------------------------------
0: com
1: headerContainer
2: mainContainer
3: footerContainer
-----------------------------------
ex: clearfix

***************************************************** */

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

	/*=================================

		1: headerContainer

	=================================*/
	
	/* #globalHeader
	=========================================*/
	#globalHeader {
		height: 50px;
	}
	
	/* ----- header ----- */
	#header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		z-index: 1001;
	}
	
	/* ----- header-wrap ----- */
	.header-wrap {
		position: relative;
		width: 100%;
		padding: 0 0 0 15px;
		background-color: #191919;
		color: #fff;
		z-index: 1;
	}
	.header-wrap .wrap_inner {
		display: flex;
		flex-flow: row nowrap;
	}
	
	/* ----- header-identity ----- */
	.header-identity {
		width: 100%;
	}
	.header-identity .identity_logo {
		display: flex;
		align-items: center;
		height: 50px;
	}
	.header-identity .identity_logo img {
		width: 200px;
		max-width: 100%;
		height: auto;
		vertical-align: top;
	}
	
	/* ----- header-menu-trigger ----- */
	.header-menu-trigger {
		display: flex;
		flex-flow: row nowrap;
		flex-shrink: 0;
		margin-left: 15px;
	}
	.header-menu-trigger .trigger_menu > a,
	.header-menu-trigger .trigger_search > label {
		display: block;
		width: 50px;
		height: 50px;
		padding-top: 33px;
		background-color: #191919;
		background-repeat: no-repeat;
		font-size: 1rem;
		color: #fff;
		text-align: center;
		transition: border-color .2s ease-out 0s;
	}
	.header-menu-trigger .trigger_menu > a.is-active,
	.header-menu-trigger .trigger_search > label.is-active {
		background-color: #0064aa;
	}
	.header-menu-trigger .trigger_menu > a {
		background-image: url(../img/hdr_menu_ic01.png);
		background-position: 50% 10px;
		background-size: 22px 17px;
	}
	.header-menu-trigger .trigger_search > label {
		background-image: url(../img/hdr_search_ic01.png);
		background-position: 50% 8px;
		background-size: 23px 22px;
	}
	
	/* ----- header-utility ----- */
	.header-utility .header-link,
	.header-utility .header-global-link{
		display: none !important;
	}
	
	/* ----- header-link ----- */
	.header-link .link_list {
		display: flex;
		flex-flow: row wrap;
		margin-top: 25px;
		padding: 0 10px;
	}
	.header-link .link_list > li {
		width: calc((100% - 15px) / 2);
		margin: 20px 0 0 15px;
	}
	.header-link .link_list > li:nth-child(2n+1) {
		margin-left: 0 !important;
	}
	.header-link .link_list > li:nth-child(-n+2) {
		margin-top: 0 !important;
	}
	.header-link .link_list > li > a {
		display: inline-block;
		color: #fff;
		font-size: 1.4rem;
	}
	.header-link .link_list > li[class*="icon"] > a {
		position: relative;
		padding-left: 22px;
	}
	.header-link .link_list > li[class*="icon"] > a::before {
		position: absolute;
		left: 0;
		content: "";
	}
	.header-link .link_list > li.icon1 > a::before {
		top: .1em;
		width: 14px;
		height: 14px;
		background: url(../img/hdr_link_ic01_sp.png) no-repeat 0 0;
		background-size: 14px 14px;
	}
	.header-link .link_list > li.icon2 > a::before {
		top: .2em;
		width: 14px;
		height: 11px;
		background: url(../img/hdr_link_ic02_sp.png) no-repeat 0 0;
		background-size: 14px 11px;
	}
	.header-link .link_list > li.icon3 > a::before {
		top: .1em;
		width: 14px;
		height: 14px;
		background: url(../img/hdr_link_ic03_sp.png) no-repeat 0 0;
		background-size: 14px 14px;
	}
	.header-link .link_list > li > a::after {
		display: inline-block;
		position: relative;
		top: -2px;
		width: 6px;
		height: 6px;
		margin-left: 10px;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		transform: rotate(-45deg);
		content: "";
	}
	
	/* ----- header-global-link ----- */
	.header-global-link {
		margin-top: 25px;
	}
	.header-global-link .link_list {
		display: flex;
		flex-flow: row wrap;
	}
	.header-global-link .link_list > li {
		display: flex;
		width: calc((100% - 15px) / 2);
		margin: 15px 0 0 10px;
	}
	.header-global-link .link_list > li:nth-child(2n+1) {
		margin-left: 0 !important;
	}
	.header-global-link .link_list > li:nth-child(-n+2) {
		margin-top: 0 !important;
	}
	.header-global-link .link_list > li > a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 8px;
		border: 1px solid #529fd4;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.3rem;
		text-align: center;
	}
	
	/* ----- header-search ----- */
	.header-search {
		display: none;
		position: fixed;
		width: 100%;
		top: 50px;
		left: 0;
		padding: 25px 15px;
		background-color: #0064aa;
		box-shadow: 0 4px 4px 1px rgba(0,0,0,.3);
	}
	.header-search input::placeholder { color: #555; }
	.header-search .search_form {
		position: relative;
		height: 45px;
	}
	.header-search .search_text {
		display: block;
		width: 100%;
		height: 45px;
		margin: 0;
		padding: 0 45px 0 12px;
		border: none;
		border-radius: 0;
		box-shadow: none;
		background: #fff;
		color: #333;
		vertical-align: top;
		outline: none;
	}
	.header-search .search_submit {
		display: inline-block;
		position: absolute;
		top: 0;
		right: 0;
		width: 45px;
		height: 45px;
		padding: 0;
		border: none;
		border-radius: 0;
		background-color: transparent;
		background-image: url(../img/com_search_ic01_sp.png);
		background-size: 20px 19px;
		background-repeat: no-repeat;
		background-position: 50% 50%;
		text-indent: -9999em;
		vertical-align: top;
		overflow: hidden;
		outline: none;
		cursor: pointer;
	}
	
	/* ----- header-navi ----- */
	.header-navi {
		display: none !important;
	}
	
	/* ----- menu-megadrop ----- */
	.menu-megadrop {
		display: none;
		padding: 0 0 0 30px;
	}
	/* navi_global */
	.header-menu .navi_global > li {
		border-bottom: solid 1px #268fd6;
	}
	.header-menu .navi_global > li:first-child {
		border-top: solid 1px #268fd6;
	}
	.header-menu .navi_global > li > a {
		display: block;
		position: relative;
		padding: 16px 35px 16px 10px;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.25;
	}
	.header-menu .navi_global > li > a {
		display: block;
		position: relative;
		padding: 16px 35px 16px 10px;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.25;
	}
	.header-menu .navi_global > li > a:not(.a-blank):not(.a-toggle)::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin-top: -5px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(-45deg);
		content: "";
	}
	.header-menu .navi_global > li > a.a-blank::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 7px;
		margin-top: -4px;
		background: url(../../common/img/sp_com_ic17.png) no-repeat 0 0;
		background-size: 8px 7px;
		content: "";
	}
	.header-menu .navi_global > li > a.a-toggle::before,
  .header-menu .navi_global > li > a.a-toggle::after {
		position: absolute;
		top: 50%;
		right: 8px;
		width: 14px;
		height: 2px;
		margin-top: -1px;
		background-color: #fff;
		content: "";
		transition: transform .2s ease-out 0s;
	}
	.header-menu .navi_global > li > a.a-toggle::before {
		transform: rotate(90deg);
	}
	.header-menu .navi_global > li > a.a-toggle.is-active::before {
		transform: rotate(0);
	}
	/* megadrop_heading */
	.menu-megadrop .megadrop_heading {
		border-top: 1px solid #529fd4;
	}
	.menu-megadrop .megadrop_heading .megadrop_heading_title_label {
		display: block;
		position: relative;
		padding: 12px 30px 12px 10px;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.4rem;
	}
	.menu-megadrop .megadrop_heading a.megadrop_heading_title_label:not(.a-blank)::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin-top: -5px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(-45deg);
		content: "";
	}
	.menu-megadrop .megadrop_heading a.megadrop_heading_title_label.a-blank::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 7px;
		margin-top: -4px;
		background: url(../../common/img/sp_com_ic17.png) no-repeat 0 0;
		background-size: 8px 7px;
		content: "";
	}
	/* megadrop_close */
	.menu-megadrop .megadrop_close {
		display: none;
	}
	/* megadrop_content */
	.menu-megadrop .megadrop_content > *:first-child {
		margin-top: 0 !important;
	}
	/* megadrop_column */
	.menu-megadrop .megadrop_column > .megadrop_column_item {
		border-top: 1px solid #529fd4;
	}
	/* megadrop_link_text */
	.menu-megadrop .megadrop_link_text > li {
		border-top: 1px solid #529fd4;
	}
	.menu-megadrop .megadrop_link_text > li > a {
		display: block;
		position: relative;
		padding: 12px 30px 12px 10px;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.4rem;
	}
	.menu-megadrop .megadrop_link_text > li > a:not(.a-blank)::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin-top: -5px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(-45deg);
		content: "";
	}
	.menu-megadrop .megadrop_link_text > li > a.a-blank::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 7px;
		margin-top: -4px;
		background: url(../../common/img/sp_com_ic17.png) no-repeat 0 0;
		background-size: 8px 7px;
		content: "";
	}
	/* megadrop_index_layout */
	.menu-megadrop .megadrop_index_layout > .block {
		display: block;
		position: relative;
		padding: 12px 30px 12px 10px;
		background-color: #0064aa;
		color: #fff;
		font-size: 1.4rem;
	}
	.menu-megadrop .megadrop_index_layout > a.block:not(.a-blank)::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 6px;
		height: 6px;
		margin-top: -5px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
		transform: rotate(-45deg);
		content: "";
	}
	.menu-megadrop .megadrop_index_layout > a.block.a-blank::after {
		display: inline-block;
		position: absolute;
		top: 50%;
		right: 10px;
		width: 8px;
		height: 7px;
		margin-top: -4px;
		background: url(../../common/img/sp_com_ic17.png) no-repeat 0 0;
		background-size: 8px 7px;
		content: "";
	}
	.menu-megadrop .megadrop_index_layout .megadrop_index_image {
		display: none;
	}
	
	/* ----- header-menu ----- */
	.header-menu {
		display: none;
		position: fixed;
		top: 50px;
		left: 0;
		width: 100%;
		border-bottom: 1px solid #0064aa;
		padding: 25px 15px 0;
		background-color: #0064aa;
		box-shadow: 0 4px 4px 1px rgba(0,0,0,.3);
		color: #fff;
		overflow-y: auto;
		z-index: 1;
	}
	.header-menu .menu_contents {
		padding-bottom: 25px;
	}
	
	/* ----- menu-overlay ----- */
	.menu-overlay {
		display: none;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: rgba(0,0,0,.3);
	}
	
	/* ----- search-overlay ----- */
	.search-overlay {
		display: none;
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: rgba(0,0,0,.3);
	}
	

	/*=================================

		2: mainContainer

	=================================*/
	#mainContainer {
		width: 100%;
		margin: 0 auto;
		padding: 0 10px;
	}
	/*　左ナビがないときは<body>に[class="noAside"]を追加する　*/
	.noAside #mainContainer {
		width: 100% !important;
	}
	.noAside #mainContainer #mainContents {
		width: 100% !important;
	}
	/* 幅ぶちぬきでない場合は[<div class="innerContent">]で囲う　*/
	.noAside #mainContainer #mainContents .innerContent {
		width: 100%;
		margin: 0 auto;
	}

	/* topicPath */
	#mainContainer #topicPath {
		display: none;
	}

	/* #contentContainer
	------------------------------------------------------ */
	/* #mainContents */
	#mainContainer #contentContainer #mainContents {
		float: none;
		width: 100%;
		margin-left: 0;
		padding: 15px 0 40px;
	}

	/* #localNav */
	#mainContainer #contentContainer #localNav {
		float: none;
		margin: 0 -10px;
	}
	#mainContainer #contentContainer #localNav .category2nd a {
		display: block;
		padding: 10px 0;
		background-color: #007bcf;
		text-align: center;
		font-size: 15px;
		font-size: 1.5rem;
		font-weight: bold;
		color: #ffffff;
		line-height: 1.1;
	}
	#mainContainer #contentContainer #localNav .category2nd a span {
		padding-left: 0;
		border-left: none;
		line-height: 1.1;
	}
	#mainContainer #contentContainer #localNav .category2nd + .category3rd {
		border-top: none;
	}
	#mainContainer #contentContainer #localNav .category3rd {
		border-top: 1px solid #ffffff;
	}
	#mainContainer #contentContainer #localNav .category3rd > li > a {
		display: block;
		padding: 10px 15px;
		border-bottom: 1px solid #ffffff;
		background: url(../../common/img/sp_com_ic03.png) right 50% no-repeat #f4f4f4;
		background-size: 15px 8px;
	}
	#mainContainer #contentContainer #localNav .category3rd > li > a.type-pdf {
		background: url(../../common/img/sp_com_ic12.png) 99% 50% no-repeat #f4f4f4;
		background-size: 12px 12px;
	}
	#mainContainer #contentContainer #localNav .category3rd > li.current,
	#mainContainer #contentContainer #localNav .category3rd li.on span {
		background-color: #f2f2f2;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on span {
		position: relative;
		border-bottom: none;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on span:after {
	}
	#mainContainer #contentContainer #localNav .category3rd > li a {
		position: relative;
		color: #555555;
	}
	#mainContainer #contentContainer #localNav .category3rd li.current,
	#mainContainer #contentContainer #localNav .category3rd li.on > a {
		color: #333333;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th {
		display: none;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > a {
		display: block;
		padding: 10px 0 10px 15px;
		position: relative;
		border: none;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > a {
		background-color: #f4f4f4;
		background-image: none;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on a.pcHead {
		display: none;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th li + li {
		border-top: 1px dotted #dddddd;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th li {
		position: relative;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th li:after {
		position: absolute;
		right: 0;
		top: 15px;
		background: url(../../common/img/sp_com_ic03.png);
		background-size: 15px 8px;
		content: "";
		width: 15px;
		height: 8px;
	}
	#mainContainer #contentContainer #localNav .category3rd > li.on > .category4th > li > a {
		display: block;
		padding: 10px 0 10px 30px;
		border-bottom: 1px solid #ffffff;
		background: url(../../common/img/sp_com_ic30.png) 15px 50% no-repeat #ffffff;
		background-size: 7px 1px;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on + li {
		border-top: 1px solid #ffffff;
	}
	#mainContainer #contentContainer #localNav .category3rd > li.on > .category4th > li > a + a {
		border-top: 1px solid #f4f4f4;
	}


	#mainContainer #contentContainer #localNav .category3rd li.on {
		position: relative;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on:after {
		content: url(../../common/img/com_ic06.gif);
		position: absolute;
		right: 10px;
		top: 8px;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on.open:after {
		content: url(../../common/img/com_ic07.gif);
		position: absolute;
		right: 10px;
		top: 8px;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th li.toggle.on:after {
		content: url(../../common/img/com_ic07.gif);
		position: absolute;
		right: 10px;
		top: 20px;
	}
	#mainContainer #contentContainer #localNav .category3rd li.on > .category4th li.toggle > .category5th {
		display: none;
	}



	#mainContainer #contentContainer #localNav .addAside {
		margin: 10px 0;
		padding: 0 15px;
	}
	#mainContainer #contentContainer #localNav .addAside > li {
		float: left;
		width: 48%;
	}
	#mainContainer #contentContainer #localNav .addAside > li > a {
		display: block;
		padding: 15px;
		border: solid 1px #dddddd;
		background: url(../../common/img/com_ic34.png) 95% 50% no-repeat;
	}
	#mainContainer #contentContainer #localNav .addAside > li > a.type-blank {
		background: url(../../common/img/com_ic14.png) 95% 50% no-repeat;
	}
	#mainContainer #contentContainer #localNav .addAside > li + li {
		margin-left: 4%;
	}
	#mainContainer #contentContainer #localNav .addAside > li > a:hover {
		-webkit-transition: .2s ease-in-out;
			 -moz-transition: .2s ease-in-out;
				-ms-transition: .2s ease-in-out;
				 -o-transition: .2s ease-in-out;
						transition: .2s ease-in-out;
		background-color: #e4f1fa;
	}
	#mainContainer #contentContainer #localNav .addAside > li#cate {
		width: 100%;
	}

	/* IRディレクトリ用 */
	#mainContainer #contentContainer #localNav .irAsideBox {
		padding: 	20px 15px;
		margin: 20px 15px;
		background-color: #f2f2f2;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .title {
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
		margin-bottom: 10px;
		text-align: center;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .mailer {
	}
	#mainContainer #contentContainer #localNav .irAsideBox .mailer a {
		display: block;
		position: relative;
		margin-bottom: 18px;
		padding: 13px 30px 11px 20px;
		font-size: 16px;
		font-size: 1.6rem;
		text-align: center;
		color: #ffffff;
		background: url(../../common/img/com_ic19.png) 90% 50% no-repeat #ed7411;
		-webkit-border-radius: 24px;
			 -moz-border-radius: 24px; 
				-ms-border-radius: 24px;
				 -o-border-radius: 24px; 
						border-radius: 24px;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .mailer a:hover {
		opacity: 0.7;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .mailer a span {
		padding-left: 30px;
		background: url(../../common/img/com_ic29.png) left 0.2em no-repeat;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .heading08 {
		padding: 6px 0;
		text-align: center;
		font-weight: bold;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .iconLink04 {
		margin-bottom: 12px;
		padding-left: 15px;
		background: url(../../common/img/com_ic38.gif) left 0.4em no-repeat;
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .unit {
		font-size: 12px;
		font-size: 1.2rem;
		font-weight: normal;
		text-align: center;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .unit > .tel {
		display: block;
		font-size: 26px;
		font-size: 2.6rem;
		font-weight: bold;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .faq {
		margin-top: 10px;
		padding-top: 15px;
		border-top: solid 1px #cccccc;
		font-size: 13px;
		font-size: 1.3rem;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .faq a {
		display: block;
		padding: 10px 15px;
		padding-right: 20px;
		text-align: center;
		border: solid 1px #007bcf;
		background: url(../../common/img/com_ic18.png) 95% 50% no-repeat #ffffff;
		-webkit-border-radius: 24px;
			 -moz-border-radius: 24px; 
				-ms-border-radius: 24px;
				 -o-border-radius: 24px; 
						border-radius: 24px;
	}
	#mainContainer #contentContainer #localNav .irAsideBox .faq a:hover {
		-webkit-transition: .2s ease-in-out;
			 -moz-transition: .2s ease-in-out;
				-ms-transition: .2s ease-in-out;
				 -o-transition: .2s ease-in-out;
						transition: .2s ease-in-out;
		background-color: #e4f1fa;
	}
	
	/*=================================

		3: footerContainer

	=================================*/
	
	/* globalFooter
	------------------------------------------------------ */
	#globalFooter {
		width: 100%;
		padding: 25px 15px;
		background-color: #333;
	}
	
	/* ----- footer ----- */
	#footer {
		color: #fff;
	}
	
	/* ----- footer-link ----- */
	.footer-link {
		width: 100%;
	}
	.footer-link .link_list {
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		margin: 0 -13px;
	}
	.footer-link .link_list > li {
		font-size: 1.1rem;
		margin: 0 13px 10px;
	}
	.footer-link .link_list > li > a {
		color: #fff;
	}
	
	/* ----- footer-copyright ----- */
	.footer-copyright {
		margin-top: 15px;
		color: #fff;
		font-size: 1.1rem;
		text-align: center;
	}
	
	/* ----- pageTopArea ----- */
	.pageTopArea {
		position: fixed;
		bottom: 10px;
		right: 10px;
		z-index: 1000;
	}
	.pageTopArea .pageTop {
		width: 40px;
		height: 40px;
		background-color: #fff;
	}
	.pageTopArea .pageTop a {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
		background-color: #007bcf;
		text-indent: -9999px;
		overflow: hidden;
	}
	.pageTopArea .pageTop a::after {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 14px;
		height: 14px;
		margin: -4px 0 0 -7px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		content: "";
	}
	
	/*=================================

		ex

	=================================*/

	/* clearfix
	------------------------------------------------------ */
	#mainContainer #topicPath .pathNavi:after,
	#mainContainer #contentContainer:after,
	#mainContainer #contentContainer #localNav .addAside:after {
		content: "";
		display: block;
		clear: both;
	}
	#mainContainer #topicPath .pathNavi,
	#mainContainer #contentContainer,
	#mainContainer #contentContainer #localNav .addAside {
		zoom: 1;
	}

}