@charset "utf-8";

/*===============================================
●共通
===============================================*/
* {box-sizing: border-box;}
body {
	color: #000;	/* 20231215 #333 から変更 */
	background-color: #fff;
}
body,
th,
td {
	font-family: "メイリオ", Meiryo, Arial, Helvetica, "MS UI Gothic", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
	line-height: 1.5em;
}
p {
	text-align: justify;
	text-justify: distribute;
	word-break: break-word;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	-ms-interpolation-mode: bicubic; 
}
a:link { color: #000;}	/* 20231215 #333 から変更 */
a:visited { color: #000;}	/* 20231215 #333 から変更 */
a:active {color: #000;}	/* 20231215 #333 から変更 */

#ie8 {
	position: fixed;
	top: 50%;
	left: 50%;
	width: 700px;
	height: 80px;
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
	padding: 2em 0;
	margin: -40px 0 0 -350px;
	border: #ff0000 4px solid;
	background-color: #fff;
	z-index: 10000;
}

/* header
---------------------------------------- */
#header .headerText {
	text-align: center;
	color: #fff;
	font-size: 0.75em;
	line-height: 1.16em;
	padding: 2px 0;
	/* padding: 0.3em 0; */
}
#header .siteName .siteNameTxt {
	font-weight: bold;
	line-height: 1.2em;
	word-break: break-word;
}
#header .siteName a {
	color: #000;
	text-decoration: none;
}
#header #hIconList div {
	/*変更*/
	font-size: 0.875em;
	line-height: 1em;
	color: #fff;
	text-align: center;
	padding: 0.35em;
	vertical-align: middle;
	border-radius: 10px;
}
#header #hIconList .flexBox {
	display: flex;
	padding: 0.15em 0;/*変更*/
	justify-content: space-between;
}
#header #hIconList #hIcon01,
#header #hIconList #hIcon02,
#header #hIconList #hIcon03,
#header #hIconList #hIcon04 {width: 49%;}

#header #hIconList #hIcon01,
#header #hIconList #hIcon02,
#header #hIconList #hIcon03,
#header #hIconList #hIcon04 {
	width: auto;
	flex-grow: 1;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	word-break: break-all;
	display: flex;
	line-height: 1.12em;
	font-size: 100%;
}

#header #hIcon01 {
	border: #0097e5 1px solid;
	background-color: #0097e5;
	box-shadow: 1px 1px 2px #021259;
	background: linear-gradient(#05aaFF, #1E00FF);
}
#header #hIcon02 {
	border: #0097e5 1px solid;
	background-color: #0097e5;
	box-shadow: 1px 1px 2px #021259;
	background: linear-gradient(#05aaFF, #1E00FF);
}
#header #hIcon03 {
	color: #fff!important;
	border: #075800 1px solid;
	/*white-space: nowrap;*/
	border-color: #00aa00;
	box-shadow: 1px 1px 2px #052e00;
	background: linear-gradient(#b0ff00, #007700);
}
#header #hIcon04 {
	border: #3e1d00 1px solid;
	/*white-space: nowrap;*/
	border-color: #884400;
	box-shadow: 1px 1px 2px #052e00;
	background: linear-gradient(#aa5500, #552200);
}

#header #hIconList .flexBox div:nth-child(2) {margin-left: 7px;}

#mainMenu .icon-new-tab {
	display: inline-block;
	padding-left: 0.3em;
}
.TelNo svg,
#header #hTelNo svg {
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	margin-right: 5px;
	vertical-align: middle;
}

/*moreMenu
-----------------------------------*/
#mainMenu ul .subMenu>li.moreMenu>a {text-align: center;}
#mainMenu ul .subMenu>li.moreMenu>a span {
	display: inline-block;
	font-size: 1.3em;
	text-align: center;
	transform: rotate(90deg);
}

/* side
---------------------------------------- */
.sideSEOTitle {
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 0.5em;
	word-break: break-all;
}
.sideSEOText {
	font-size: 0.75em;
	line-height: 1.5em;
	margin-bottom: 1.5em;
	word-break: break-all;
}

/* title
---------------------------------------- */
.tit01, h3.tit01 {
	position: relative;
	font-weight: bold;
	line-height: 1.2em;
	padding-left: 0.5em;
	border-left: #000 4px solid;
}
.tit01:after {
	content: "";
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: -0.5em;
	left: -3px;
	background-color: #aaa;
}

.tit02, h3.tit02 {
	font-weight: bold;
	line-height: 1.5em;
	padding-left: 10px;
	border-left: #000 5px solid;
}
.tit03, h3.tit03 {margin-bottom: 0.7em;}
h3.tit02, h3.tit03 { font-size: 1.1em;}

.tit03 .tit05,
.patern04 .tit05,
.tit03 .t_itemTitle,
.patern05 .patern05Box .t_itemTitle,
.tit04, h3.tit04 {
	font-weight: bold;
	padding-bottom: 0.3em;
	border-bottom: #ccc 1px solid;
}
.tit03 time,
.patern04 time {
	display: block;
	color: #666;
	text-align: right;
}

/*フォントサイズ*/
/*h2*/
.tit03 .t_itemTitle,
.patern05 .patern05Box .t_itemTitle,
.textBox h2{ font-size: 1.1em;}

/*h3*/
h3.tit04,
h3.ckH3{
	font-size: 1.05em;
}

.tit03 .tit05,
.patern04 .tit05,
.tit04 {
	font-size: 1.2em;
}

.iconArrow {
	display: inline-block;
	width: 1em;
	height: 1em;
}

/* btn
---------------------------------------- */
.btnStyle01 {
	padding: 1px;
	border: #000 1px solid;
	background-color: #fff;
	border-radius: 8px;
}
.btnStyle01 a {
	color: #fff;
	text-align: center;
	text-decoration: none;
	display: block;
	padding: 0.5em 0;
	background-color: #000;
	border-radius: 4px;
}
.btnBlue01 {
	padding: 2px;
	border: #00a8ff 2px solid;
	border-radius: 5px;
}
.btnBlue01 a {
	display: block;
	color: #fff;
	font-weight: bold;
	line-height: 1.3em;
	text-align: center;
	text-decoration: none;
	padding: 0.5em 0;
	background-color: #00a8ff;
}

.btnRed01 {
	border: #ff5858 2px solid;
	box-sizing: border-box;
	border-radius: 10px;
}
.btnRed01 a {
	display: block;
	color: #fff;
	font-weight: bold;
	line-height: 1.2em;
	text-align: center;
	text-decoration: none;
	padding: 0.3em 2em 0.15em 1em;
}
.btnColor a{
	border-radius: 8px;
	background: linear-gradient(to top, rgba(255,224,85,1), #fff 100%);
}
.btnStyle01 a:hover,
.btnBlue01 a:hover,
.btnRed01 a:hover {
	color: #fff;
	opacity: 0.85;
}
.gmapBtn {text-align: center;}
.gmapBtn a {
	color: #16a6ee;
	display: inline-block;
	margin: 0 auto;
	background: #ccc;
	background: -webkit-linear-gradient(top, #f5f5f5 0%, #d5d5d5 100%);
	background: linear-gradient(to bottom, #f5f5f5 0%, #d5d5d5 100%);
	border: 1px solid #888;
	box-shadow: -2px -2px 4px 0 rgba(0,0,0,0.25) inset, 2px 2px 2px 0 rgba(255,255,255,0.25) inset;
	border-radius: .3em;
	font-size: 1.125em;
	font-weight: bold;
	text-decoration: none;
	padding: 0.4em 1em;
}
.gmapBtn a:hover {
	color: #16a6ee;
}
.gmapBtn a span {
	font-size: 1.25em;
	font-weight: bold;
	color: #58f;
}
.gmapBtn a span:nth-child(2),.gmapBtn a span:last-child {color: #d43;}
.gmapBtn a span:nth-child(3) {color: #ea0;}
.gmapBtn a span:nth-child(5) {color: #4a5;}
.gmapBtn a i { margin-left: 0.3em;}

/* footer
---------------------------------------- */
#footer {background-color: #000;}

/* footerSitemap */
#footer #footerSitemap {
	background-color: #fff;
	border-radius: 8px;
}
#footer #footerSitemap ul li a {
	display: inline-block;
	font-weight: bold;
	line-height: 1.2em;
	text-decoration: none;
	margin: 0 0 5px 2em;
	word-break: break-word;
}
#footer #footerSitemap ul li.parent {
	position: relative;
	padding-right: 1em;
}
#footer #footerSitemap ul li.parent > a {margin: 0 0.5em 5px 2em;}

/*PG名の後に全角スペースをあけて、矢印を表示*/
#footer #footerSitemap ul li.parent > i {
	color: #612800;
	position: absolute;
	top: 0.2em;
	font-size: 1em;
	cursor: pointer;
}
#footer #siteMapTitle {
	color: #fff;
	font-weight: bold;
	line-height: 1.2em;
}
#footer #footerSitemap ul li a:before {
	content: "\f144";
	font-size: 0.9em;
	font-weight: 900;
	margin: 0 0.4em 0 -1.5em;
	font-family: "Font Awesome 5 Free";
}
#footer #footerSitemap .subMenu {padding-left: 1em;}
#footer #footerSitemap .subMenu li a {font-weight: normal;}
#footer #footerSitemap .subMenu li a:before {content: "\f0da";}

/* footerInfo */
#footer #footerInfoInner h3 {
	margin-bottom: 0.35em;
	font-weight: bold;
	line-height: 1.2em;
}
#footer #footerInfoInner .TelNo a {
	text-decoration: none;
	color: inherit;
	vertical-align: middle;
}
#footer #footerInfoInner address {margin-bottom: 1em;}
#footer #fMapBox #footerMap {
	position: relative;
	width: 100%;
	padding-top: 125%;
	overflow: hidden;
}
#footer #fMapBox #footerMap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#footer #footerSiteName {
	margin: 0 auto;
	text-align: center;
}
#footer #footerSiteName a {
	display: block;
	text-decoration: none;
	font-weight: bold;
	line-height: 1em;
	/* padding-top: 0.5em; */
}
#footer .btnBox {
	width: 100%;
	max-width: 375px;
}
#footer .btnStyle01 a {font-weight: bold;}
#footer .btnStyle01 a i {margin-left: 1em;}

#footer .footerAd {
	display: block;
	background-color: rgba(255, 255, 255, 0)!important;
}

/* workTimeTable */
.workTimeTable {
	margin-bottom: 0.3em!important;
	border: #000 1px solid!important;
	background-color: #fff!important;
}
.workTimeTable th,
.workTimeTable td {
	padding: 2px;
	text-align: center;
	border: #aaa 1px solid!important;
}
.workTimeTable th {
	font-size: 0.92em;
	background-color: #fffcf1;
}
.workTimeTable td {width: 12%;}
.workTimeTable .sat {color: #0071e4;}
.workTimeTable .sun {color: #ff1800;}

/* TelNo */
.TelNo {
	font-size: 1.2em;
	line-height: 1em;
	color: #000;
	font-weight: bold;
	font-family: "Roboto Condensed", sans-serif;
}

/*記事内のリンクカラー*/
#main .textBox a { color: #16a6ee;}
#main .textBox a:hover { color: #ffc587;}

body #side {
	display: grid;
}
body #side .grpArea { grid-area: grpArea; }
body #side .tocArea { grid-area: tocArea; }
body #side .archive { grid-area: archive; }
body #side .sideBanner01 { grid-area: sideBanner01; }
body #side .sideBannerCommon { grid-area: sideBannerCommon; }
body #side .sideBanner02 { grid-area: sideBanner02; }
body #side .sideBorderBox { grid-area: sideBorderBox; }
body #side .sideBanner03 { grid-area: sideBanner03; }
body #side .pageSideText { grid-area: pageSideText; }
body #side .useFulBanner { grid-area: useFulBanner; }
body #side .sideBannerList { grid-area: sideBannerList; }

/*------------------------------------
tocLink
--------------------------------------*/
.topIndex{
	padding: 0 3%;
	position: sticky;
	/* top: 17vw; */
	right: 2.5%;
	z-index: 1;
}
.clearfix{
	overflow: visible !important;
}

/*===============================================
●画面の横幅が730px以下(スマホ共通)
===============================================*/
@media screen and (max-width: 730px){
	
	body {
		font-size: min(5vw, 22px);
		line-height: min(7.75vw, 34px);
		min-width: 320px;
		-webkit-text-size-adjust: none;
	}

	/* 共通
	---------------------------------------- */
	.spNone {display:none!important;}
	.inner {padding: 0 3%;}
	.tit01, h3.tit01 {
		font-size: 1.05em;
		margin-bottom: 1em;
	}
	.tit02 {
		font-size: 1.15em;
		font-size: 1.05em;
		margin-bottom: 0.7em;
	}
	h3.tit02 {
		margin-bottom: 0.7em;
	}
	i.fa-external-link-alt {
		margin-left: 0.5em;
	}

	/* header
	---------------------------------------- */
	#header {
		position: relative;
		/*padding-bottom: 51px;*/
	}
	#header .inner {padding: 0!important;}
	#header .siteName {
		font-size: 1.4em;
		max-width: 480px;
		/* margin-bottom: 0.2em; */
		margin-bottom: 0;
		margin-top: 7px;
		padding: 0 10px;
	}
	#header .siteName span {
		font-size: 0.92em;
		display: block;
		line-height: 1.1em;
	}
	#header #hIconList {padding: 3.5px 3% 4.5px;}
	#headerContactInfo {
		position: absolute;
		bottom: 0;
		display: table;
		font-size: 1.01em;
		border-top: 2px solid #fff;
		width: 100%;
		background-color: #000;
	}
	.fixed {
		position: fixed!important;
		top: 0;
		left: 0;
		z-index: 10001;
		border-top: 2px solid #fff;
		box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 1), 0 2px 3px -1px rgba(0, 0, 0, 1), 0 5px 0 rgba(200, 200, 200, 1);
	}
	#headerContactInfo li {
		display: table-cell;
		font-weight: bold;
		vertical-align: middle;
		text-align: center;
		line-height: 1.1em;
		border-right: #fff 1px solid;
		box-shadow: 0 -1.75vw 1.25vw rgba(0, 0, 0, 0.2) inset, 0 1vw 0.75vw rgba(255, 255, 255, 0.4) inset;
	}
	
	#headerContactInfo li:nth-child(4) {
		border-right: none;
	}
	#headerContactInfo li a,
	#headerContactInfo li .nolink {
		display: block;
		/*font-size: 0.85em;*/
		/*line-height: 1.15em;*/
		text-decoration: none;
		color: #fff;
		/*padding: 5px;*/
	}
	/*メニューの幅指定*/
	#headerContactInfo li#hHome { width: 15%;}
	#headerContactInfo li#menuBtn { width: 30%;}
	#headerContactInfo li#hTelNo { width: 15%;}
	#headerContactInfo li#headerContactBtnSP {
		min-width: 40%;
		padding-top: 0.6%;
	}
	
	#headerContactInfo #headerContactBtnSP a,
	#headerContactInfo #headerContactBtnSP .nolink {
		word-break: break-all;
		font-size: 1.15em;
	}
	#headerContactInfo #headerContactBtnSP a span,
	#headerContactInfo #headerContactBtnSP .nolink span{line-height: 1.15em;}
	#headerContactInfo #headerContactBtnSP a span .textsmall,
	#headerContactInfo #headerContactBtnSP .nolink span .textsmall{
		display: inline-block;
		font-size: 90%!important;
		line-height: 1em;
		vertical-align: middle;
	}
	#headerContactInfo #headerContactBtnSP a .cover:has(br) {
		position: relative;
		top: 1px;
	}
	#headerContactInfo li#menuBtn a {
		font-size: 1.25em;
		line-height: 1em;
		padding-top: 2%;
	}
	#headerContactInfo li#menuBtn a i {vertical-align: 1px;}
	#headerContactInfo li i {
		display: inline-block;
		min-width: 1.7em;
		font-size: 1.35em;
	}
	#headerContactInfo li a .iconArrow i {
		width: 16px;
		min-width: auto;
		height: 16px;
		font-size: 1em;
		vertical-align: middle;
	}
	#headerContactInfo li .fa-phone {
		width: 1.65em;
		height: 1.65em;
		line-height: 1.65em;
		font-size: 1em;
		transform: rotate(90deg);
		background-color: #fff;
		border-radius: 100%;
	}
	
	/* mainMenu
	---------------------------------------- */
	#mainMenu {
		display: none;
		background-color: #fff;
		font-size: 1.01em;
	}
	#mainMenu a {
		display: block;
		font-size: 0.95em;
		color: #fff;
		text-decoration: none;
		padding: 6px 10px 6px 34px;
		border-bottom: #fff 1px solid;
		position: relative;
		overflow-wrap: break-word;
		word-wrap: break-word;
	}
	#mainMenu li a:before {
		content: "\f144";
		font-weight: 900;
		font-family: "Font Awesome 5 Free";
		position: absolute;
		left: 0.5em;
	}
	#mainMenu .closeBtn a {
		text-align: right;
		line-height: 1em;
		color: #fff;
		background: linear-gradient(#888, #777);
		padding: 0 4.5vw;
		height: 2.32em;
		display: flex;
		align-items: center;
		text-align: right;
		justify-content: right;
	}
	#mainMenu .closeBtn a i {
		display: inline-block;
		height: 1em;
		margin-left: 0.5em;
		font-size: 1.17em;
	}
	#mainMenu li.parent a {
		position: relative;
		z-index: 1;
		line-height: 1.2em;
		padding: 10px 4.1em 9px 34px;
	}
	#mainMenu .subMenu li.parent > a {padding: .7em 4.1em .5em 2.5em;}
	#mainMenu li:not(.parent) .subMenu a {padding: .7em 0.9em .5em 2.5em!important;}

	#mainMenu li.parent a i.fa-chevron-circle-down {
		display: flex;
		position: absolute;
		top: 0;
		right: 0;
		width: 4.01em;
		height: calc(100% - 1px);
		background: linear-gradient(#ffffff, rgba(250, 227, 123, 0.65));/*カラー指定がない場合のデフォルトカラー*/
		z-index: 100;
		text-align: center;
	}
	#mainMenu li.parent a i.fa-chevron-circle-down:before {
		content: "\f078";
		font-size: 1.25em;
		display: block;
		align-self: center;
		margin: 0 auto;
	}
	#mainMenu li.parent a i.fa-times:before {content: "\f00d"!important;}
	
	/* moreMenu*/
	#mainMenu .subMenu li.moreMenu a {padding: 6px 0;}
	#mainMenu li.moreMenu a:before { display: none;}
	
	/*Gメニュー MENU 外部リンクアイコン*/
	#mainMenu li.exLink a i.fa-external-link-alt {
		margin-left: 1em;
	}
	#mainMenu li.exLink a i.fa-external-link-alt:before {
		font-size: 1em;
		display: block;
		align-self: center;
		margin: 0 auto;
	}
	#mainMenu .subMenu {
		display: none;
		background-color: #fff;
	}
	#mainMenu .subMenu li a {
		line-height: 1.2em;
		padding: .7em .4em .5em 2.5em;
		text-indent: -.37em;
		color: #391F00;
	}
	#mainMenu .subMenu li a span.iconRightArrow {
		display: inline-block;
		margin-left: -.5em;
	}
	#mainMenu .subMenu.icSubMenu li a span.iconRightArrow {
		margin-left: 0;
	}
	#mainMenu .subMenu li a span svg{
		width: 0.8em;
		height: 0.8em;
		margin-right: .45em;
		fill: #391F00;
	}
	#mainMenu .subMenu.icSubMenu li a span svg{
		margin-right: .25em;
	}
	#mainMenu .subMenu li a:before {
		display: none;
	}
	#mainMenu ul .subMenu>li.moreMenu>a span {
		color: #391F00;
		padding-left: 6px;
	}
	/*.menu>li>a:before, .menu>li>.sub_menu li a:before {
		margin-right: .2em;
		font-family: FontAwesome;
		speak: none;
	}*/
	/*#mainMenu .subMenu li a:before {
		content: '\f04b';
		font-size: .75em;
		line-height: 0;
		position: relative;
		top: -.08em;
		margin-right: .75em;
	}*/
	
	/*Gメニュー　矢印アイコン*/
	#menuBtn .iconArrow {
		position: relative;
		margin-left: 3px;
	}
	/*Gメニュー　MENU横　矢印アイコン 開く*/
	#headerContactInfo li#menuBtn .fa-chevron-circle-down:before {
		position: absolute;
		left: 0;
		right: 0;
		top: -1px;
	}
	/*Gメニュー　MENU横　矢印アイコン 閉じる*/
	#headerContactInfo li#menuBtn .fa-chevron-circle-down:before {
		position: absolute;
		left: 0;
		right: 0;
	}
	
	/*Gメニュー　ドロップダウン時　矢印アイコン*/
	#menuBtn .iconArrow .fa-times-circle:before {
		position: absolute;
		z-index: 1;
		left: 0;
		right: 0;
		top: -1px;
	}
	#menuBtn .iconArrow .fa-times-circle:after {
		border-radius: 1em;
		display: inline-block;
		width: .7em;
		height: .7em;
		content: "";
		position: absolute;
		left: 0.15em;
		top: 0.15em;
		z-index: 0;
		background-color: #2d2d2d;
	}
	
	/* container
	---------------------------------------- */
	#wrapper {
		/* overflow-x:hidden; */
	}
	#container {
		padding-top: 8px;
	}
	#container.tocLink {
		padding-top: 0px;
	}
	#main,
	#side {
		padding:0 3%;
		margin-bottom: 0;
		box-sizing:border-box;
	}
	body #side {
		grid-template-areas:
			"sideBanner01"
			"sideBannerCommon"
			"sideBanner02"
			"sideBorderBox"
			"sideBanner03"
			"pageSideText"
			"useFulBanner"
			"sideBannerList"
			"grpArea"
			"tocArea"
			"archive";
	}
	body#index #side {
		grid-template-areas:
			"sideBanner01"
			"sideBannerCommon"
			"sideBorderBox"
			"sideBanner02"
			"pageSideText"
			"sideBanner03"
			"useFulBanner"
			"sideBannerList"
			"grpArea"
			"tocArea"
			"archive";
	}

	.sideSEOTitle { font-size: 1.08em; }

	#side.addPadding { padding-bottom: 40px;}
	.sideBanner {
		text-align:center;
		margin: 0 auto 2em;/*2020.07.21 SPのみバナー余白1em→2emへ変更*/
	}
	.sideBanner img {
		display:block-inline;
		box-sizing:border-box;
	}
	
	/* pageTop
	---------------------------------------------- */
	#pageTop {
		position: fixed;
		bottom: 0;
		right: 1.25vw;
		z-index: 1000;
	}
	#pageTop a {
		display: block;
		width: 2.7em;
		height: 2.7em;
		color: #fff;
		padding-bottom: 5vw;
		box-sizing: content-box;
		position: relative;
	}
	
	/* footer
	---------------------------------------- */
	#footer #footerSitemap {
		padding: 0.7em 0.6em 0.4em 0.6em;
		margin-bottom: 1em;
	}
	#footer #siteMapTitle {
		padding: 0 0 0.3em 0;
		margin-bottom: 0.5em;
	}
	#footer .inner {
		height: 100%;
		padding: 10px;
	}
	#footer #fRight {display: none;}
	#footer #fTimeBox {margin-bottom: 1.2em;}
	#footer .TelNo,
	#footer .btnRed01 {margin-bottom: 0.7em;}
	#footer #footerInfoInner {margin-bottom: 1em;}
	#footer #footerInfoInner h3 {font-size: 1.05em;}
	#footer #fTimeBox address {
		font-size: 0.92em;
		line-height: 1.5em;
		padding-top: 0.7em;
		margin-bottom: 0.7em;
		border-top: #ffffff55 1px solid;
	}
	#footer #fMapBox #footerMap {margin-bottom: 0.7em;}
	#footer #fMapBox p a:hover {text-decoration: none;}
	#footer #footerSiteName a {
		font-size: 1.15em;
		line-height: 1.25em;
	}
	
	#footer .btnBox {
		margin: 0 auto 10px;
	}

	#footer #footerSitemap .subMenu li a {
		margin: 0 0 5px 1.5em;
	}
	#footer #footerSitemap .subMenu li a:before {
		margin: 0 0.4em 0 -0.75em;
	}

	/* フッター広告 */
	.footerAd {padding: 20px 0 30px;}
	.footerAdList {
		width: 100%;
	}
	.footerAdList .footerAdBanner:not(:last-child) { margin: 0 0 1em;}

	#footer #footerSiteName {max-width: 440px;}
}


/*===============================================
●画面の横幅が320px以下
===============================================*/
@media screen and (max-width: 320px){
	
	/* 全般 */
	body { font-size: max(5vw, 15px); }
	body, th,td {
		line-height: max(7.75vw, 23px);
		letter-spacing: 0.05em;
	}
}

/*===============================================
●画面の横幅が321～360px
===============================================*/
@media (min-width: 321px) and (max-width: 360px){
	
	/* 全般 */
	body, th,td {
		line-height: max(7.75vw, 25px);
		letter-spacing: 0.07em;
	}
}

/*===============================================
●画面の横幅が360px以下
===============================================*/
@media screen and (max-width: 360px){
	
	/* ヘッダー */
	#header { padding-bottom: calc(max(13.6vw, 40px) + 2px); }
	#header .headerText {
		font-size: 0.6em;
		line-height: 1.3em;
	}
	#headerContactInfo { height: max(13.6vw, 40px); }
	
	/* サイドテキスト */
	.sideSEOText {
		font-size: 0.9em!important;
		line-height: 1.5em!important;
	}
	
}

/*===============================================
●画面の横幅が361px～400px以下
===============================================*/
@media (min-width: 361px) and (max-width: 400px) {
	
	/* 全般 */
	body, th,td { line-height: min(7.75vw, 31px); }
	
	/* ヘッダー */
	#header { padding-bottom: calc(13.6vw + 2px); }
	#header .headerText {
		font-size: 0.6em;
		line-height: 1.3em;
	}
	#headerContactInfo { height: 13.6vw; }

	/* サイドテキスト */
	.sideSEOText {
		font-size: 0.9em!important;
		line-height: 1.5em!important;
	}

}

/*===============================================
●画面の横幅が401px～730px以下
===============================================*/
@media (min-width: 401px) and (max-width: 730px) {
	
	/* 全般 */
	
	/* ヘッダー */
	#header { padding-bottom: calc(min(13.6vw, 56px) + 2px); }
	#header .headerText {
		font-size: 0.6em;
		line-height: 1.3em;
	}
	#headerContactInfo { height: min(13.6vw, 56px); }
	
	/* サイドテキスト */
	.sideSEOText {
		font-size: 0.9em!important;
		line-height: 1.5em!important;
	}

}

/*===============================================
●画面の横幅が900px以上(PCのみ)
===============================================*/
@media screen and (min-width: 900px) {
	
	/* 全般
	---------------------------------------- */
	body {font-size: 100%; /* 1em=16pxに設定 */}
	
	body, th,td { line-height: 29px!important; }
	/* header
	---------------------------------------- */
	#header .siteName {
		font-size: 2.5em;
		padding: 0 1% 0 0;
	}
	#header .siteName span { font-size: 0.7em; }
/*
	#header #hIconList {width: 32%;}
*/
}


/*===============================================
●画面の横幅が731px以上(PCのみ)
===============================================*/
@media print, screen and (min-width: 731px) {
	
	/* 全般
	---------------------------------------- */
	body {
		overflow-y:scroll;
	}
	a:hover {
		text-decoration: none;
		transition: all 0.3s;
	}
	a:hover img {
		filter: alpha(opacity=8);
		-moz-opacity: 0.8;
		opacity: 0.8;
	}

	.telLink { pointer-events: none; }
	
	/* 共通
	---------------------------------------- */
	.pcNone,
	#mainMenu .closeBtn,
	#workTimeText,
	#tocLink {
		display: none!important;
	}
	.inner {
		width: 100%;
		max-width: 1070px;
		padding: 0 10px;
		margin: 0 auto;
	}
	.tit01, .tit02, h3.tit01, h3.tit02 h3.tit04 {
		font-size: 1.2em;
		margin-bottom: 1em;
	}
	/* 外部リンクアイコン */
	i.fa-external-link-alt {
		margin-left: 8px;
	}
	
	/* header
	---------------------------------------- */
	#header .inner {
		padding: 5px 10px;
	}
	#header .wrap {
		display: flex;
		align-items: center;
	}
	#header .siteName {
		font-size: 1.86em;
		width: 50%;
		max-width: 440px;
		margin-right: auto;
	}
	#header .siteName span {font-size: 0.92em;}
	#header #hIconList {
		width: 40%;
		max-width: 350px;
		min-width: 200px;
		margin-right: 1%;
	}
	
	#header #hIconList #hIcon01,
	#header #hIconList #hIcon02,
	#header #hIconList #hIcon03,
	#header #hIconList #hIcon04{
		min-height: 20px;
	}
	
	
	/*#header #hIconList div {padding: 0.5em 2px;}*//*無効*/
	/*#header #hIconList #hIcon01 {
		display: flex;
		width: 100%;
		height: 34px;
		overflow: hidden;
		align-items: center;
		justify-content: center;
	}
	#header #hIconList #hIcon03,
	#header #hIconList #hIcon04 {
		width: auto;
		flex-grow: 1;
	}
	
	
	#header #hIconList #hIcon03 {overflow: hidden;}
	#header #hIconList .flexBox div:nth-child(2) {margin-left: 0.5em;}*/
	#header #headerContactInfo {margin-right: 1%;}
	#header #hTelNo {
		font-size: 1.4em;
		line-height: 1em;
		font-weight: bold;
		color: #000;
		margin-bottom: 0.2em;
		white-space: nowrap;
		font-family: "Roboto Condensed", sans-serif;
	}
	#header li.spNone {
		font-size: 0.8em;
		line-height: 1.2em;
	}
	#header .spNone a {text-decoration: none;}
	
	
	/*変更追加*/
	#header #headerContactBtn {
		/*margin: 0 0 20px;*/
		min-width: 91px;
		min-height: 75px;
		background-color: #ffa227;
		border-radius: 8px;
		font-size: 0.92em;
	}
	/*リンクあり、なし共通*/
	#header #headerContactBtn a,
	#header #headerContactBtn .nolink{
		display: inline-block;
		position: relative;
		width: 100%;
		min-width: 91px;
		height: 100%;
		/*変更*/
		min-height: 75px;
		color: #fff;
		vertical-align: middle;
		font-weight: bold;
		line-height: 1.3em;
		text-decoration: none;
		border-radius: 8px;
		background: linear-gradient(135deg, #ff991b 0%,#ff6115 100%);
	}
	#header #headerContactBtn .cover {
		color:#fff !important;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		min-height: 75px;
		padding: 1em 1.65em 1em 0.45em;
		background-size: 6px 6px;
		box-shadow: 2px 2px 3px 0px rgba(255,255,255,0.6) inset,-2px -2px 3px 0px rgba(0,0,0,0.4) inset;
		border-radius: 8px;
	}
	#header #headerContactBtn .nolink .cover {
		padding: 1em 0.45em 1em 0.45em;
	}
	#header #headerContactBtn i {
		display: block;
		position: absolute;
		top: 50%;
		right: 0.4em;
		margin-top: -0.5em;
		font-size: 0.92rem;
	}
	#header #headerContactBtn a:hover {background: #ffa227;}
	
	/* mainMenu
	---------------------------------------- */
	#mainMenu {
		width: 100%;
		background-color: #fff;
	}
	#mainMenuInner {width: 100%;}
	#mainMenuBox {
		width: 100%;
		max-width: 1070px;
		padding: 0 10px;
		margin: 0 auto;
	}
	#mainMenu ul {
		display: flex;
		flex-wrap: wrap;
		border-right: #aaa 1px solid;
		border-left: #aaa 1px solid;
	}
	.fixedMenu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 10001;
		border-top: 4px solid #fff;
		box-shadow: 0 2px 3px -1px rgba(0, 0, 0, 1), 0 2px 3px -1px rgba(0, 0, 0, 1), 0 5px 0 rgba(200, 200, 200, 1);
	}
	#mainMenu ul li {
		display: flex;
		flex-wrap: wrap;
		/* width: 14.2857%; */
		height: 3.2em;
		font-size: 1em;
		border-right: #aaa 1px solid;
	}
	#mainMenuBox > ul > li {
		width: 14.2857%;
		font-size: 0.875em;/*14px*/
	}
	#mainMenuBox > ul > li > ul > li {font-size: 0.875em;/*12px*/}
	/* #mainMenu ul li:first-child:before,
	#mainMenu ul li:nth-child(-n+7):after {	
		content: "";
		width: 1em;
		height: 1.7em;
		position: absolute;
		bottom: -0.85em;
		right: -0.5em;
	} */
	#mainMenu ul li:first-child:before {left: -0.5em;}
	#mainMenu ul li:nth-child(7n) {border-right: none;}
	#mainMenu ul li.parent {position: relative;}
	#mainMenu ul li a {/*変更*/
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		font-weight: bold;
		text-align: center;
		line-height: 1.25;
		padding: 0 5px;
		text-decoration: none;
	}
	#mainMenu ul li a.pcImagePadding {
		padding: 0px 1px 1px 0px;
	}
	#mainMenuBox > ul > li > a > span {
		display: flex;
		align-items: center;
	}
	#mainMenuBox > ul > li > a > span > span.pnameWrap {/*ページ名が長い場合末尾に「…」を表示するために必要*/
		display: grid;
	}
	#mainMenu ul li .pns {
		font-size: 85%; /*ページ名が9文字以上、または2行の時フォントサイズを小さく*/
	}
	#mainMenu ul li span.pname {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	#mainMenu ul li.parent {position: relative;}
	#mainMenu ul li .menuImage {
		width: 100%;
		/* max-width: 140px; */
		max-width: 147px;
		/*height: 40px;*/
		height: 100%;
		overflow:hidden;
		position:relative;
		display: block;
	}
	#mainMenu ul li .menuImage img {
		display: block;
		position: absolute;
		/* top: 0;
		left: 0; */
		top: 50%;
		transform: translateY(-25%);
	}
	#mainMenu ul li.current .menuImage img,
	#mainMenu ul li a:hover .menuImage img {
		/* top: -100%;*/
		opacity: 1;
		top: auto;
		bottom: 50%;
		transform: translateY(25%);

		
	}
	#mainMenu ul .fa-chevron-circle-down {
		display: inline-block;
		padding-left: 0.5em;
		vertical-align: middle;
	}

	/* サブメニューの右アイコン */
	#mainMenu ul.subMenu li.parent a,
	#mainMenu ul.subMenu li.exLink a {
		position: relative;
		padding: 0.7em 2em 0.7em 0.5em!important;
	}
	#mainMenu ul.subMenu li.parent a .fa-chevron-circle-down,
	#mainMenu ul.subMenu li.exLink a .fa-external-link-alt {
		position: absolute;
		right: 0.5em;
		top: 50%;
		transform: translateY(-50%);
	}

	#mainMenu ul .subMenu>li.moreMenu>a {padding: 0.7em 0.5em!important;}

	/* Gメニュー直下のサブメニューは浮かせる */
	#mainMenuBox > ul > .parent > .subMenu {
		position: absolute;
		border-radius: 5px;
		left: 50%;
		transform: translateX(-50%);
		width: 150%;
		/* calc の 30px は Gmenuの要素一つ分の高さ(端数切捨て) */
		max-height: calc(65vh - 30px);	
		overflow-y: auto;
		scrollbar-color: #e4e4e4;
		scrollbar-width: thin;
		/* background: #fff; 要望No940の際に復活する*/
	}
	/* サブメニューのスクロールバーの見た目調整 */
	#mainMenuBox > ul > .parent > .subMenu::-webkit-scrollbar {width: 10px;}
	#mainMenuBox > ul > .parent > .subMenu::-webkit-scrollbar-track {border-radius: 5px;}
	#mainMenuBox > ul > .parent > .subMenu::-webkit-scrollbar-thumb {border-radius: 5px;}
	/* #mainMenuBox > ul > .parent >  li:first-child a:hover {border-radius: 5px 5px 0 0;}
	#mainMenuBox > ul > .parent >  li:last-child a:hover {border-radius: 0 0 5px 5px;} */

	#mainMenu ul .subMenu {
		top: 2.85em;/*変更*/
		left: -0.05em;
		display: none;
		z-index: 1000;
		padding: 0;
		box-sizing: content-box;
		border: none;
	}
	#mainMenu ul .subMenu li {
		display: block;
		width: 100%;
		height: auto;
		padding: 0;
		border: none;
		text-stroke: none;
	}
	#mainMenu ul .subMenu li:before,
	#mainMenu ul .subMenu li:after {
		content: "";
		width: 0;
		height: 0;
	}
	#mainMenu ul .subMenu li a {
		height: auto;
		display: block;
		padding: 0.7em 0.5em!important;/*SP時にmargin-left:2.5emを動的にいれているため、矯正*/
		color: #391F00;
		text-align: left;
		font-weight: bold;
		word-break: break-word;

		/* width: 180%;
		max-height: 60px;
		overflow: hidden;
		text-overflow: ellipsis; */
		/* white-space: nowrap; */
	}
	#mainMenu ul .subMenu li a span {
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		width: 100%;
		line-height: 1.2;
	}
	/* #mainMenu ul .subMenu .subMenu {
		background-color: #fff;
	} */

	/* moreMenuの幅のみautoに変更 */
	#mainMenu ul li.moreMenu a span { width: auto;}
	
	/*サブメニューのアイコンを非表示*/
	#mainMenu ul .subMenu>li>a svg { display: none;}

	/*3階層目以降のテキストシャドウをトル*/
	#mainMenu ul .subMenu[level="2"] a  {text-shadow: none;}

	
	
	/* container
	---------------------------------------- */

	#container {
		width: 100%;
		max-width: 1070px;
		padding: 10px 10px 0;
		margin: 0 auto;
	}
	body #main {
		width: 68.58%;
		max-width: 720px;
	}
	body #side,
	body.sideL #mainInner {
		width: 28.58%;
		max-width: 300px;
	}

	/* sideR サイドカラムが右 */
	body.sideR #main,
	#containerWrap.sideR #main {
		float: left;
	}
	body.sideR #side,
	#containerWrap.sideR #side {
		float: right;
	}
	
	/* sideL サイドカラムが左 */
	body.sideL #main,
	#containerWrap.sideL #main {
		float: right;
	}
	body.sideL #mainInner,
	body.sideL #side,
	#containerWrap.sideL #side {
		float: left;
	}
	body #side {
		grid-template-areas:
			"grpArea"
			"tocArea"
			"archive"
			"sideBanner01"
			"sideBannerCommon"
			"sideBanner02"
			"sideBorderBox"
			"sideBanner03"
			"pageSideText"
			"useFulBanner"
			"sideBannerList";
	}
	body#index #side {
		grid-template-areas:
			"grpArea"
			"tocArea"
			"archive"
			"sideBanner01"
			"sideBannerCommon"
			"sideBorderBox"
			"sideBanner02"
			"pageSideText"
			"sideBanner03"
			"useFulBanner"
			"sideBannerList";
	}
	.sideBanner {
		margin: 0 auto 1em;
	}
	.TelNo {margin-bottom: 1em;}
	
	/* pageTop
	---------------------------------------------- */
	#pageTop {
		position: fixed;
		bottom: 1.5em;
		right: 0;
		z-index: 1000;
		line-height: 1em;
	}
	#pageTop a {
		display: block;
		width: 52px;
		height: 52px;
		padding: 8px;
		box-sizing: content-box;
		text-decoration: none;
		position: relative;
	}
	
	/* footer
	---------------------------------------- */
	#footer {padding-bottom: 1.5em;}
	#footer .inner {padding: 15px 10px 0;}
	#footer #siteMapTitle {margin-bottom: 10px;}
	#footer #siteMapTitle span {
		display: block;
		font-size: 1.2em;
		width: 100%;
		max-width: 1020px;
		padding: 0 0 5px 0;
		margin: 0 auto;
	}
	
	/* footerSitemap */
	#footer #footerSitemap {
		padding: 16px 15px 8px 15px;
		margin-bottom: 15px;
	}
	#footer #footerSitemap nav {
		/* display: flex; */
		/* padding-top: 1.5em;
		margin-bottom: 2.5em; */
	}
	#footer #footerSitemap ul {
		width: 100%;
		column-count: 4;
	}
	#footer #footerSitemap ul li {
		break-inside: avoid;
		column-count: auto;
	}
	#footer #footerSitemap ul li a {margin-bottom: 10px;}
	#footer #footerSitemap ul li a:hover {text-decoration: underline;}
	#footer #footerSitemap ul li.parent {break-inside: avoid;padding-right: 1em;}
	#footer #footerSitemap .subMenu {
		width: 100%;
		/* columns: unset; */
		break-inside: avoid;
		column-count: auto;
	}

	/* フッター ポップ表示 */
	#footer #footerDialog {
		
	}
	#footer #footerDialog .footerList {
		position: fixed;
		width: 60vw;
		height: auto;
		max-height: 80vh;
		padding: 45px 16px 16px;
		background-color: #fff;
		z-index: 10010;
		top: 50%;
		left: 50%;
		right: 50%;
		transform: translate(-50%, -50%);
		word-wrap: break-word;
	}
	#footer #footerDialog .footerList p {
		display: flex;
		justify-content: right;
	}
	#footer #footerDialog .footerList p .title {
		display: none;	/* ダイヤログのタイトルは非表示にしておく */
	}
	#footer #footerDialog .footerList .closeDialog {
		width: 24px;
		line-height: 22px;
		font-size: 18px;
		border: 1px solid #000;
		border-radius: 3px;
		text-align: center;
		cursor: pointer;
		position: absolute;
		top: 12px;
		right: 12px;

	}
	#footer #footerDialog .footerList > .subMenu {
		max-height: calc(80vh - 55px);
		overflow-x: auto;
	}
	#footer #footerDialog .footerList .subMenu li {
		display: block;
		padding: 1em 0.5em 0 1.2em;
		background: url(../images/mainframe/icon_arrow01.png) no-repeat 0.2em 1.5em;
		background-size: 0.5em 0.7em
	}
	
	#footer  #footerDialog .footerOverlay {
		position: fixed;
		width: 100vw;
		height: 100vh;
		background-color: gray;
		z-index: 10009;
		top: 0;
		opacity: 0.5;
	}

	/* footerInfo */
	#footer #footerInfoInner {
		display: flex;
		justify-content: space-between;
	}
	#footer #footerInfoInner h3 {font-size: 1.2em;}
	#footer #fTimeBox {
		min-width: 41%;
		max-width: 41%;
		margin-right: 4%;
	}
	#footer #fTimeBox .workTimeTable {margin-bottom: 0.3em;}
	#footer #fTimeBox .workTimeTable th,
	#footer #fTimeBox .workTimeTable td {font-size: 0.85em;}
	#footer #fTimeBox .btnStyle01 {max-width: 360px;}
	#footer #fMapBox {width: 100%;}
	#footer #fMapBox #footerMap {margin-bottom: 1em;}
	#footer #fMapBox .btnStyle01 {width: 200px;}
	#footer .TelNo {font-size: 1.5em;}
	#footer #footerInfoInner {margin-bottom: 2em;}
	#footer #footerSiteName a {font-size: 1.25em;}
	
	/*地図が表示されていない時*/
	#footer #fTimeBox.layoutChange {
		display: flex;
		width: 100%;
		max-width: none;
		min-width: 210px;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#footer #fTimeBox.layoutChange .innerL,
	#footer #fTimeBox.layoutChange .innerR{
		width: 49%;
	}
	/* #footer #fTimeBox.layoutChange .btnBox {
		width: 100%;
	} */
	/* #footer #fTimeBox.layoutChange .btnBox .btnStyle01 {
		margin: 0 auto;
	} */

	#footer .btnBox {margin: 0 auto 1.5em;}
	
	/* フッター広告 */
	#footer .footerAd {margin-top: 28px;}
	.footerAdList {
		display: flex;
		max-width: 1050px;
		padding: 0 20px;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: center;
		align-items: flex-end;
	}
	.footerAdList .footerAdBanner {
		width: 31.25%;
		max-width: 300px;
		margin: 0 3.1% 28px 0;
	}
	.footerAdList .footerAdBanner:nth-child(3n),
	.footerAdList .footerAdBanner:last-child { margin: 0 0 28px 0;}
}

/*===============================================
●画面の横幅が731px～900px以下(PC表示)
===============================================*/
@media (min-width: 731px) and (max-width: 900px) {
	
	/* 全般
	---------------------------------------- */
	body { font-size: 75%!important; /* 1em=12pxに設定 */ }
	body, th,td { line-height: 1.523em!important;/* 29px */ }
	
	#header #headerContactBtn,
	#header #headerContactBtn a,
	#header #headerContactBtn .cover {
		min-height: 64px!important;
	}
}