@charset "utf-8";

html, body {
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN",
               Meiryo, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* フォントが来るまでは表示を優先（linkのdisplay=swapが効く） */
}

#container{
/*	padding-top:140px;
	-webkit-transition:padding-top 0.3s ease-out;
	transition:f-linkpadding-top 0.3s ease-out;
*/}
.wrapper{
	position:relative;
	/*max-width:980px;*/
	margin:0 auto;
}
.ifSp{
	display:none;
}
.inlineSp{
	display:none;
}


/* --------------------------------
	#header
-------------------------------- */
#header{
	/*position:fixed;
	left:0;
	top:0;
	width:100%;
	border-bottom: 3px solid #a7c54a;
	/*height:229px;*/
	z-index:999;
	/*border-bottom:solid 1px #f1efef;
	border-bottom:solid 1px #ffffff;
	-webkit-transition:height 0.3s ease-out;
	transition:height 0.3s ease-out;
	border-top: solid 10px #fed900;*/
}
.home #header{
	/*border-bottom:solid 1px #ffffff;*/
}
#header.smaller{
	height:160px;
}
.home #header.smaller{
	border-bottom:solid 1px #f1efef;
	border-bottom:solid 1px #ffffff;
}

#header #disc-text {
	background-color: #e60012;
	color: #fff;
	font-size: 92%;
	margin-bottom: 10px;
}
#header #disc-text .wpr {
	padding: 10px 0;
}
#header #disc-text .disc-cont {	float: left; }
#header #disc-text .right-link { float: right; }
#header #disc-text a:link,
#header #disc-text a:visited { color: #fff; text-decoration: underline; }




#header #header-info {
	max-width: 980px;
	margin: 0 auto 10px;
}
#header #logo img {
	width: 380px;
	display: block;
	float: left;
	/*-webkit-transition:all 0.3s ease-out;
	transition:all 0.3s ease-out;*/
}

/* #tel 電話番号 */
#header #tel {
	float: left;
	margin-left: 20px;
	text-align: center;
}
#header #tel img {
	width: 309px !important;
	margin-top: 12px;
	display: block;
}
#header #tel p {
}
#header #tel .tel-title,
#header #tel .tel-time {
	background-color: #e60012;
	color: #fff;
	padding: 5px;
}
#header #tel .tel-title {
	margin-top: 4px;
}
#header #tel .tel-time {
	margin-top: 10px;
	padding: 5px 15px;
	font-size: 92%;
	display: inline-block;
}



#header #tel .btn-contact {
	background-color: #a7c54a;
	width: 400px;
	height: 40px;
}
#header #tel .btn-contact a {
	color: #fff;
	font-family: "FP-ヒラギノ丸ゴ StdN W3", "FP-HiraMaruStdN-W3";
	display: table-cell;
	text-align: center;
	/*position: absolute;*/
	margin-top: 0px;
	padding-left: 20px;
	font-size: 108%;
	width: 400px;
	height: 40px;
}
#header #tel .btn-contact span {
	padding-top: 6px;
	display: block;
}
#header #tel .btn-contact span:before {
	content: "";
	position: absolute;
	background: url("/images/icon-mail.png") no-repeat;
	background-size: 22px auto;
	width: 22px;
	height: 16px;
	margin-top: 5px;
	margin-left: -30px;
}
#header #tel .btn-contact a:hover {
	background-color: #6d9815;
}

/* #mtsumori 見積りボタン */
#header #mtsumori {
	float: left;
	text-align: center;
	margin-left: 15px;
}
#header #mtsumori img {
	width: 254px !important;
	margin-top: 5px;
}
#header #mtsumori .mitsumori-cont {
	color: #ff8400;
	font-size: 98%;
}
#header #mtsumori .big-cont {
	font-size: 122%;
	text-decoration: underline;
}



#header #reservation {
	display: inline-table;
	background-color: #cd667c;
	width: 200px;
	height: 110px;
}
#header #reservation a {
	color: #fff;
	/*position: absolute;*/
	display: table-cell;
	text-align: center;
	font-size: 132%;
	width: 200px;
	height: 110px;
	font-family: "FP-ヒラギノ丸ゴ StdN W3", "FP-HiraMaruStdN-W3";

	background: url("/images/icon-reservation.png") no-repeat center 20px;
	background-size: 32px auto;
}
#header #reservation span {
	margin-top: 65px;
	display: block;
}
#header #reservation a:hover {
	background-color: #a5293c;
}
#header.smaller #logo{
	margin:10px auto 11px auto;
	width:100px;
}
/*#header #logo img{
	width: 380px;
}
#header #tel img {
	width: 370px;
	margin: 15px 0 5px 0;
}
*/
/* --------------------------------
	#nav
-------------------------------- */
#header #nav {
	background-color: #003c96;
	box-shadow: 0px 1px 5px rgba(0,0,0,0.4);

	height: 80px;
	top: 0px;
}
#header #nav ul{
	list-style:none;
	text-align:center;
}
#header #nav ul li{
	display:inline-block;
	line-height:100%;
	position:relative;
}
#header #nav ul li:first-child {
	border: 0;
}
#header.smaller #nav ul li{
	/*padding:12px 0 6px 0;*/
}
#header #nav ul li.current{
	border-bottom:solid 2px #e8da65;
}
#header #nav ul li a{
	display:block;
	text-decoration:none;
	line-height:100%;
	letter-spacing:1px;
	font-size:96%;
}
#header #nav ul li a img{
	margin-right:10px;
	vertical-align:-1px;
}
#header #nav ul li a:after{
	/*content:'';
	position:absolute;
	left:50%;
	top:24px;
	top:36px;
	width:0;
	height:2px;
	-webkit-transition:all 0.2s ease-out;
	transition:all 0.2s ease-out;*/
}
#header #nav ul li a:hover:after{
	/*width:100%;
	left:0;*/
}
#header.smaller #nav ul li a:after{
	/*top:20px;
	top:31px;*/
}
#main{
	padding-top: 0px;
}


.contents-title-t {
	text-align: center;
	font-size: 184.71%;
	font-weight: 700;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
}

.contents-title {
	position: relative;
	font-size: 184.71%;
	font-weight: 700;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
	text-align: center;
	line-height: 1.4;
	margin: 10px 0 60px;
}
.contents-title:after {
	content: '';
	display: block;
	height: 2px;
	width: 20%;
	position: absolute;
	bottom: -30px;
	left: 40%;
	background: #f18d00;
}

#page-top a {
	background-color: #f8faf1;
	text-align: center;
	display: block;
	padding: 30px 0;
	margin: 30px 0;
}

#access-map {

}
#map-canvas {
	width: 100%;
	height: 300px;
	margin: 10px 0 30px;
}

/* --------------------------------
	#footer フッター
-------------------------------- */
#footer #pagetop img {
	width: 103px;
}
#footer .tel {
	background-color: #e51118;
	padding: 20px 0;
}
#footer .line-site {
	padding: 0 0 20px;
}

#footer .f_main {
	/*border-top: 1px solid #ddd;*/
	/*background-color: #fef5e8;*/
	background: url("/images/common/foot-background.webp") bottom center no-repeat;
}
#footer .nav-box {
	width: 660px;
	margin: 30px 0 0 0px;
	float: left;
}
#footer .nav-box:first-child {
	margin-left:0;
}
#footer .nav-title {
	font-size: 115.71%;
	font-weight: 700;
	color: #738735;
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #ddd;
}
#footer .nav-title a:link, #footer .nav-title a:visited { color: #738735; text-decoration:none; }
#footer .nav-title a:hover { text-decoration:underline; }
#footer .footer-list {
	/*padding: 10px 30px;*/
}
#footer .nav-box ul {
	display: inline-table;
}
#footer .nav-box li {
	width: 292px;
	float: left;
	background: url("/images/common/foot-link-icon.png") top left no-repeat;
	background-position: 0 0px;
	background-size: 21px 21px;
	padding-left: 28px;
	margin: 0 0 15px 0;
	font-size: 117.71%;
	min-height: 21px;
}
#footer .nav-box li.home {
	width: 100%;
}
#footer .nav-box li > ul {
	list-style-type: disc;
	list-style-position: outside;
	margin: 0 0 5px 20px;
}
#footer .nav-box a.blank:after{
	content: "";
	position: absolute;
	background-image:url("/images/blank.png");
	background-size:10px 8px;
	/*background-position: 10px 5px;*/
	width:10px;
	height:8px;
	margin-top:0px;
	margin-left:5px;
}
#footer #company-box li {
	background: url("/images/common/foot-link-icon2.png") top left no-repeat;
	background-position: 0 0px;
	background-size: 21px 21px;
	padding-left: 28px;
	margin: 15px 0 0 0px;
	font-size: 117.71%;
	min-height: 21px;
}
#footer #company-box .footer-logo img {
	/*width: 98%;*/
	width: 283px;
	margin-bottom: 15px;
}
#footer #company-box .tel-contact {
	margin-bottom: 10px;
	font-size: 117.71%;
}
#footer #company-box .adress-desc {
	display: block;
	line-height: 1.5;
}
#footer .reserve-btn a {
	display:block; /*ブロック化*/
	padding: 22px 40px 22px 15px; /*a要素の領域を拡大*/
	text-decoration:none;
	font-size: 168.71%;
	background-color: #fff;
	border: 1px solid #e51118;
	color: #e51118;
	text-align: center;
	position:relative;
}
#footer .reserve-btn a:hover {
	background: #e51118;
	color: #fff;
}
#footer .reserve-btn a:hover:after {
	border-top: #fff 4px solid;
	border-right: #fff 4px solid;
}
#footer .reserve-btn a:after {
	content:"";
	display:block;

	width: 15px;
	height: 15px;
	border-top: #e51118 4px solid;
	border-right: #e51118 4px solid;

	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);

	position:absolute;
	right: 25px;

	top:0;
	bottom:0;
	margin:auto;
}
#foot-under-bn {
	margin-top: 200px;
	background-color: rgba(255,255,255,0.4);
	padding: 20px 0;
}
#foot-under-bn .bn-left { float: left; margin-top: 40px;}
#foot-under-bn .bn-right { float: right; }
#foot-under-bn .bn-left li,
#foot-under-bn .bn-right li { display: inline-block; }
#foot-under-bn .img-jta { width: 200px; }
#foot-under-bn .img-g { width: 84px; }
#foot-under {
	text-align: right;
	margin: 10px 0 30px;
}
.footer-area-message {
	font-size: 96.71%;
	line-height: 1.5;
}

/* ************************************************************************ */
/* ************************************************************************ */
/* PC SIZE */
@media screen and (min-width: 980px){

	/* --------------------------------
		reset
	-------------------------------- */
	.ifSp,
	.ifSp-480 {
		display:none !important;
	}
	/* --------------------------------
		#header
	-------------------------------- */
	#header #nav .sub-links{
		position:fixed;
		right:2%;
		right:40px;
		top:30px;
		text-align:right;
		-webkit-transition:top 0.3s ease-out;
		transition:top 0.3s ease-out;
	}
	#header.smaller #nav .sub-links{
		top:20px;
	}
	#header #nav .sub-links .sep{
		display:inline-block;
		width:1px;
		height:16px;
		vertical-align:middle;
		margin:0 20px;
		background:#222222;
	}
	#header #nav .sub-links a{
		display:inline-block;
		height:18px;
		line-height:18px;
		vertical-align:middle;
	}
	#header #nav .sub-links a.en_link{
		text-decoration:none;
		margin-right:10px;
		letter-spacing:1px;
		font-size:95%;
	}
	#header #nav .sub-links a img{
		display:block;
		height:100%;
		width:auto;
	}

	header ul#gnav .gnav-top,
	header ul#gnav .gnav-simulation,
	header ul#gnav .gnav-plan,
	header ul#gnav .gnav-flow,
	header ul#gnav .gnav-help,
	header ul#gnav .gnav-recruit {
		background-image: url('/images/common/gnav.png?20200729');
		background-repeat: no-repeat;
	}
	header ul#gnav {
		margin: 0 auto;
		padding-top: 0px;
		width: 980px;
	}
	header ul#gnav:after {
		content: "";
		display: table;
		clear: both;
	}
	header ul#gnav > li {
		float: left;
		margin-left: 0px;
	}
	header ul#gnav > li:first-child {
		margin-left: 0;
		border-left: 0;
	}

	header ul#gnav > li.gnav-top { width: 72px; }
	header ul#gnav > li.gnav-top li { min-width: 71px; }

	header ul#gnav > li.gnav-simulation { width: 234px; }
	header ul#gnav > li.gnav-simulation li { min-width: 233px; }

	header ul#gnav > li.gnav-plan { width: 145px;	}
	header ul#gnav > li.gnav-plan li { min-width: 143px; }

	header ul#gnav > li.gnav-flow { width: 144px; }
	header ul#gnav > li.gnav-flow li { min-width: 143px; }

	header ul#gnav > li.gnav-help { width: 143px; }
	header ul#gnav > li.gnav-help li { min-width: 142px; }

	header ul#gnav > li.gnav-recruit {  width: 242px; }
	header ul#gnav > li.gnav-recruit li {  min-width: 243px; }

	header ul#gnav > li > a {
	  display: block;
	  height: 80px;
	  text-indent: 100%;
	  white-space: nowrap;
	  overflow: hidden;
	}
	header ul#gnav .gnav-top { background-position: 0 0; }
	header ul#gnav .gnav-top:hover { background-position: 0 -80px; }

	header ul#gnav .gnav-simulation { background-position: -72px 0px; }
	header ul#gnav .gnav-simulation:hover { background-position: -72px -80px; }

	header ul#gnav .gnav-plan { background-position: -306px 0px; }
	header ul#gnav .gnav-plan:hover { background-position: -306px -80px; }

	header ul#gnav .gnav-flow { background-position: -451px 0px; }
	header ul#gnav .gnav-flow:hover { background-position: -451px -80px; }

	header ul#gnav .gnav-help { background-position: -595px 0px; }
	header ul#gnav .gnav-help:hover { background-position: -595px -80px;	}

	header ul#gnav .gnav-recruit { background-position: -738px 0px; }
	header ul#gnav .gnav-recruit:hover { background-position: -738px -80px; }






















	header ul#gnav > li.menu__multi {
	    position: relative;
	}

	/**
	 * multi menu
	 */
	.menu__second-level {
	  	position: absolute;
	  	top: 70px;
	  	width: 100%;
	  	background: #003c96;
	  	-webkit-transition: all .2s ease;
	  	transition: all .2s ease;
	  	visibility: hidden;
	  	opacity: 0;
	  	z-index: 1000;
	}
	header ul#gnav .gnav-flow .menu__second-level li,
	header ul#gnav .gnav-help .menu__second-level li {
	  	width: 287px;
	  	background: #003c96;
	}
	.menu__multi:hover .menu__second-level {
	  	top: 80px;
	  	visibility: visible;
	  	opacity: 1;
	}
	.menu__multi .menu__second-level li a {
		display: block;
	  	position: relative;
	  	padding: 15px 0;
	  	color: #fff;
	}
	.menu__multi .menu__second-level li:hover,
	header ul#gnav .gnav-flow .menu__second-level li:hover,
	header ul#gnav .gnav-help .menu__second-level li:hover {
		background: #03337b;
	}
	.menu__multi .menu__second-level li {
	  	border-top: 1px dotted #ccc;
	  	line-height: 1;
	}
	.menu__multi .menu__second-level li:first-child {
		border-top: 0px;
	}
	.menu__multi .menu__second-level li .menu__third-level {
	  position: absolute;
	  top: 0px;
	  left: 100%;
	  width: 100%;
	  background: #6b912f;
	  -webkit-transition: all .2s ease;
	  transition: all .2s ease;
	  visibility: hidden;
	  opacity: 0;
	  line-height: 1.5;
	}
	.menu__multi .menu__second-level li:hover .menu__third-level {
	  visibility: visible;
	  opacity: 1;
	}
	.menu__multi .menu__second-level li .menu__third-level li a {
	  position: relative;
	  line-height: 200%;
	}
	.menu__multi .menu__second-level li .menu__third-level li:hover {
	  background: #4e661e;
	}
	.menu__multi .menu__second-level li .menu__third-level li .menu__fourth-level {
	  position: absolute;
	  top: -1px;
	  left: 100%;
	  width: 100%;
	  background: #6b912f;
	  -webkit-transition: all .2s ease;
	  transition: all .2s ease;
	  visibility: hidden;
	  opacity: 0;
	}
	.menu__multi .menu__second-level li .menu__third-level li:hover .menu__fourth-level {
	  visibility: visible;
	  opacity: 1;
	}
	.init-right:after {
	  content: '';
	  display: inline-block;
	  width: 6px;
	  height: 6px;
	  margin: 0 0 0 15px;
	  border-right: 1px solid #fff;
	  border-top: 1px solid #fff;
	  -webkit-transform: rotate(45deg);
	  transform: rotate(45deg);
	}

	/* --------------------------------
		breadcrumbs　パンクズ
	-------------------------------- */
	#breadcrumbs-block {
		background-color: #f6f6f6;
		box-shadow: 0px 2px 3px #eee inset;
		margin: 15px 0 0;
	}
	ul#breadcrumbs {
		font-size: 88%;
		text-decoration: none;
		padding: 20px 0;
	}
	ul#breadcrumbs li {
		float: left;
		background: url("/images/breadcrumbs_arrow.png") no-repeat;
		background-position: 0 4px;
		padding: 0 10px;
	}
	ul#breadcrumbs li.stay { font-weight: 700; }
	ul#breadcrumbs li a {
		text-decoration: underline;
	}
	ul#breadcrumbs li:first-Child {
		background: url("") no-repeat;
		padding-left: 0;
	}

	/* --------------------------------
		#footer
	-------------------------------- */
	#footer .tel img,
	#footer .line-site img {
		width: 980px;
	}
	#footer #company-box {
		float: left;
		padding: 30px 0 0 0px;
		margin-left: 0px;
		/*border-left: 1px solid #ddd;*/
		width: 320px;
	}
	#footer #cts-pr-area li {
		margin: 20px 0 0 10px;
		padding: 8px;
		float: left;
	}
	#footer #cts-pr-area li.m-line-1 {
		width: 300px;
	}
	#footer #cts-pr-area li.m-line-2 {
		width: 630px;
		margin: 20px 0 0 0;
	}
	#footer #cts-pr-area li:first-child {
		/*margin: 20px 0 0 0 !important;*/
	}
	#foot-under-link {
		background-color: #e51118;
		text-align: right;
		padding: 20px 0;
		color: #fff;
	}
	#foot-under-link a:link,#foot-under-link a:visited { color:#fff; }

	.tel-box .wrapper {	margin-left: 108px; }
	#footer .tel-parts { float: left; }

	/* ---------固定ボタン --------- */
	#estimate_block-btn img {
		position: fixed;
		top: 30%;
		right: 0;
		z-index: 9999;
	}
}

/* ************************************************************************ */
/* ************************************************************************ */

/* 伸縮ずれ調整 */
@media screen and (max-width: 1000px){
	#header #mtsumori img {
		width: 242px !important;
	}
}

/* SMARTPHONES SIZE */
@media screen and (max-width: 980px){

	/* add 2025/1/27 */

	.sp-menu---line {
		padding-top: 10px;
	}

	.sp_menu--tel {
		background-color: #fff;
		padding-top: 10px;
	}
	.sp_menu--tel img {
		width: 90%;
	}
	.sp_menu--tel span {
		font-size: 0.8em;
		color: #d02d26;
		display: block;
		padding-top: 5px;
	}

	#area-estimate {
		background-color: #fff;
		padding: 10px;
	}
	#area-estimate .normal-estimate a,
	#area-estimate .sp-tel a,
	#area-estimate .other-form a,
	#area-estimate .other-zoom a,
	#area-estimate .sp-estimate a {
		background-color: #d02d26;
		padding: 20px 10px;
		color: #fff;
		display: block;
	}
	#area-estimate .other-form,
	#area-estimate .other-zoom {
		width: 50%;
	}
	#area-estimate .other-estimate {
		gap: 10px;
	}

	#area-estimate .sp-tel a {
		padding: 10px 10px;
	}
	#area-estimate .sp-estimate a {
		background-color: #57a849;
	}
	#area-estimate .other-form a {
		background-color: #3F64AC;
	}
	#area-estimate .other-zoom a {
		background-color: #57a849;
	}

	/* --------------------------------
		reset
	-------------------------------- */
	*{
		font-weight:400;
	}
	body{
		text-size-adjust:none;
		-webkit-text-size-adjust: none;
		font-weight:400;
	}
	.over-hidden {
		/*overflow: hidden;*/
	}
	#main{
		padding-bottom:0px;
		padding-top: 0px;
	}
	.wpr {
		max-width: 94vw;
		max-width: 96%;
		margin:0 auto;
	}
	.ifSp {
		display:block;
	}
	.ifPc, .ifSp-480 {
		display:none !important;
	}
	.inlineSp{
		display:inline !important;
	}
	#footer ul li a,
	#header #logo a img,
	#header #nav .sub-links a img,
	#header,
	#header #logo,
	#container,
	#header #nav ul li,
	#header #nav .sub-links{
		-webkit-transition: inherit;
		-moz-transition: inherit;
		-ms-transition: inherit;
		-o-transition: inherit;
		transition: inherit;
	}
	#container{
		padding-top:70px;
	}
	#container.menuOpen{
		/*padding-top:0;*/
	}
	.corner-content { text-align: center; }

	/* --------------------------------
		#header
	-------------------------------- */
	#header{
		height:78px;
		position:fixed;
		left:0;
		top:0;
		width:100%;
		border-bottom: 3px solid #a7c54a;
		box-shadow: 0px 0px 5px rgba(0,0,0,0.4);
		background-color: #fff;
	}
	.english  #header{
		height:70px;
	}
	.home #header{
		border-bottom:none;
	}
	.menuOpen #header{
		/*position:relative;*/
		height:auto;
		border-bottom:none;
		height:78px;
	}
	#header.smaller{
		height:0px;
	}
	.home #header.smaller{
		border-bottom:none;
	}
	#header #logo,
	#header #open-logo {
		width: 246px;
		padding-top:5px;
		margin: 0 0 0 10px;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		box-sizing:border-box;
	}
	#header #open-logo{
		padding-top:5px;
	}
	.menuOpen  #header #logo{
		/*display:none;*/
	}
	#header.smaller #logo{
		padding-top:5px;
		width:200px;
		margin: 0 0 0 10px;
	}
	#menuOpener a:before {
		color: #333;
		content: "メニュー";
		margin-left: 30px;
		margin-top: 2px;
		float: left;
	}
	#menuOpener.opened a:before {
		content: "閉じる";
	}
	#menuOpener{
		display:block;
		width:95px;
		height:22px;
		position:absolute;
		top:18px;
		right:10px;
		z-index:999;
		padding:11px;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	.menuOpen #menuOpener{
		position:fixed;
	}
	#menuOpener .relative{
		display:block;
		width:25px;
		height:22px;
		position:relative;
	}
	#menuOpener .relative .bar{
		display:block;
		width:25px;
		height:2px;
		background:#182028;
		position:absolute;
		-webkit-transition: all 0.4s ease-out;
		-moz-transition: all 0.4s ease-out;
		-ms-transition: all 0.4s ease-out;
		-o-transition: all 0.4s ease-out;
		transition: all 0.4s ease-out;
	}
	#menuOpener .relative .bar:first-of-type{
		top:0px;
		left:0px;
	}
	#menuOpener .relative .bar:nth-of-type(2){
		top:8px;
		left:0px;
	}
	#menuOpener .relative .bar:nth-of-type(3){
		top:16px;
		left:0px;
	}
	#menuOpener.opened .relative .bar:first-of-type{
		-ms-transform: rotate(-225deg);
		-webkit-transform: rotate(-225deg);
		transform: rotate(-225deg);
		left: -1px;
		top: 10px;
		width: 25px;
		height:2px;
	}
	#menuOpener.opened .relative .bar:nth-of-type(2){
		-moz-opacity:0;
		-khtml-opacity:0;
		opacity:0;
		left:20px;
		width:0;
		height:0;
		top:11px;
	}
	#menuOpener.opened .relative .bar:nth-of-type(3){
		-ms-transform: rotate(225deg);
		-webkit-transform: rotate(225deg);
		transform: rotate(225deg);
		left: -1px;
		top: 10px;
		width: 25px;
		height:2px;
	}
	/* --------------------------------
		#header #nav
	-------------------------------- */
	#header #nav {
		margin-top: 78px;
	}
	#header #nav ul{
	}
	#header #nav ul li{
		display:block;
		width:100%;
		border:none;
		margin:0;
		background:#0c3481;
		border-top: 1px dotted #fff;
		text-align: left;
		/*background-color: #990000;*/
	}
	#header #nav ul li:first-child{
		border:0;
	}
	#header .accordion li a,
	#header .accordion_on li a{
		background-color:#042d6a !important;
	}
	#header #nav ul li.current{
		border:none;
	}
	#header.smaller #nav ul li{
		display:block;
		width:100%;
		/*padding:10px 0;*/
		margin:0;
	}
	#header #nav ul li a{
		padding: 17px 6px 17px 25px;
		font-size:92.86%;
		color: #fff;
		display: block;

		/*background: url('/images/accordion-minus.png') center right no-repeat;
		background-position: 10px center;*/
	}
	#header #nav ul li a.blank:after{
		content: "";
		position: absolute;
		background-image:url("/images/white_blank.png");
		background-size:10px 8px;
		/*background-position: 10px 5px;*/
		width:10px;
		height:8px;
		margin-top:0px;
		margin-left:5px;
	}

	#header #nav ul li.local_2_links a {
		padding-left: 40px;
		background-position: 25px center;
	}
	#header #nav ul li.local_3_links a {
		padding-left: 50px;
		background-position: 25px center;
	}
	/* アコーディオン用 矢印 */
	#header #nav li.under a,
	#header #nav li.sprite_off .sprite.is-active {
		background: url('/images/accordion-minus.png') center right no-repeat;
		background-position: 96% center;
		background-size: 20px 20px;
	}
	/* 開いている状態のアイコン 閉じている状態のアイコン */
	#header #nav li.sprite_on .sprite.is-active {
		background: url('/images/accordion-plus.png') center right no-repeat;
		background-position: 96% center;
		background-size: 20px 20px;
	}
	/* 開いている状態のアイコン */
	#header #nav .toggle_on {
		background: url('/images/accordion-minus.png') center right no-repeat;
		background-position: 96% center;
		background-size: 20px 20px;
	}
	/* 閉じている状態のアイコン */
	#header #nav .toggle_off {
		background: url('/images/accordion-plus.png') center right no-repeat;
		background-position: 96% center;
		background-size: 20px 20px;
	}
	#header.smaller #nav ul li a{
		/*font-size:142.86%;*/
	}
	#header #nav ul li a img{
		width:22px;
	}

	#header #nav .sitemap{
		text-align:center;
		background-color:#0c3481 !important;
		font-size:92.86%;
		padding: 20px 0 60px;
		color: #fff;
	}
	#header #nav .sitemap a{
		color: #fff;
	}
	#header #nav .sub-links{
		position:relative;
		text-align:center;
		background-color:#042d6a !important;
		font-size:92.86%;
	}
	#header #nav .sub-links a{
		padding: 18px 0;
		border-bottom: 1px dotted #fff;
		display: block;
		color: #fff;
	}
	#header #nav .sub-links a.first {
		border-top: 1px dotted #fff;
	}
	#header #nav .sub-links a:before{
		content: "";
		position: absolute;
		background-image:url("/images/owner-icon.png");
		background-size:25px 30px;
		/*background-position: 10px 5px;*/
		width:25px;
		height:30px;
		margin-top:-4px;
		margin-left:-38px;
	}
	#header #nav .sub-links a:last-of-type{
		margin-right:8px;
	}
	#header #nav .sub-links .sep{
		height: 20px;
		margin: 0 25px;
	}
	#header #nav .corpo_links{
		max-width:250px;
		margin:0 auto;
		border-top:solid 1px #f1efef;
		border-bottom:solid 1px #f1efef;
		padding-top:10px;
	}
	#header #nav .corpo_links a{
		margin-bottom:5px;
		margin-top:5px;
	}
	#header #nav ul li a:after{
		/*display:none;*/
	}
	#header #nav .sub-links a.en_link{
	/*	display:block;
		text-align:center;
		margin:0;
		padding-top:5px;
		padding-bottom:5px;
		margin-bottom:20px;*/
	}
	/* --------------------------------
		#header #nav
	-------------------------------- */
	#header #nav.opened{
		display:block;
		position:fixed;


		overflow: scroll;
		height:100%;
	}
	.menuOpen #spHider{
		/*height:0;
		overflow:hidden;
		background-color: red;*/
	}

	/* --------------------------------
		#head_image
	-------------------------------- */
	#head_image .page-title {
		position: relative;
		font-size: 182.71%;
		font-weight: 700;
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
		text-align: center;
		margin: 10px 0 60px;
	}
	#head_image .page-title:after {
		content: '';
		display: block;
		height: 2px;
		width: 20%;
		position: absolute;
		bottom: -20px;
		left: 40%;
		background: #f18d00;
	}
	.none-img {
		margin-top: 30px;
	}

	/* --------------------------------
		#footer
	-------------------------------- */
	.footer-area-message {
		margin-top: 20px;
	}
	#footer .tel img.sp1 {
		max-width: 354px;
	}
	#footer .tel img.sp2 {
		max-width: 294px;
		margin: 10px auto 10px;
	}
	#footer .tel img.sp3 {
		max-width: 282px;
	}
	#footer #company-box {
		padding: 20px 0 0 0;
		text-align: center;
	}
	#footer #company-box .footer-logo img {
		width: 283px;
		margin-bottom: 15px;
	}
	#footer #company-box .tel-contact {
		margin-bottom: 5px;
	}

	#foot-under-bn { margin-top: 10%; text-align: center; }
	#foot-under-bn .bn-left { float: none; margin-top: 0px;}
	#foot-under-bn .bn-right { float: none; }
	#foot-under-bn .bn-left li,
	#foot-under-bn .bn-right li { display: block; }
	#foot-under-bn img { margin: 5px; }
	#foot-under { text-align: center; }



	.btn-f-contact a {
		margin-bottom: 20px;
	}
	#footer #cts-pr-area {
		padding: 20px 0 10px;
	}
	#footer #cts-pr-area li {
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
	}
	#footer #cts-pr-area ul {
		margin-top: 10px;
	}
	#footer #cts-pr-area li img {
		margin: 10px 10px 0 10px;
	}
	#footer #cts-pr-area li span {
		margin-bottom: 5px;
	}
	#footer #cts-pr-area .ico-tbl span {
		padding: 8px 0;
	}
	#footer #cts-pr-area .blog-cont {
		text-align: center;
		margin-top: 5px;
	}
	#footer{
		padding-top:0;
		border:none;
	}

	@-webkit-keyframes switch{
		0% {margin-left:0;}
		33% {margin-left:-100%;}
		66% {margin-left:-200%;}
		100% {margin-left:0;}
	}
	@keyframes switch{
		0% {margin-left:0;}
		33% {margin-left:-100%;}
		66% {margin-left:-200%;}
		100% {margin-left:0;}
	}


	/* --------------------------------------------------- side menu */

	/* サイドオープン時にメインコンテンツを覆う部分 */
	.overlay {
	  content: '';
	  visibility: hidden;
	  position: fixed;
	  top: 0;
	  left: 0;
	  display: block;
	  width: 100%;
	  height: 100%;
	  background: rgba(0,0,0,0);
	  -webkit-transition: all .5s ease;
	  transition: all .5s ease;
	  z-index: 3;
	}
	.side-open .overlay {
	  visibility: visible;
	  cursor: pointer;
	  background: rgba(0,0,0,.7);
	}
	.side-open .overlay::after {
	  visibility: visible;
	  color: rgba(255,255,255,.8);
	}


	.side-menu-icon{
	}
	.side-menu-icon::before {
	  content: "";
	  transform: translateX(-50%);
	  transition: .5s all ease;
	  position: fixed;
	  background: url(../img/icon_arbot.png) no-repeat;
	  background-size: contain;
		left: 40px;
		bottom: -3px;
		width: 160px;
		height: 200px;
	  z-index: 101;
	  transform: translateX(calc(100vw + 3px));
	}
	@media screen and (min-width: 361px) and (max-width: 375px) {
		.side-menu-icon::before {
			left: 10px;
		}
	}
	@media screen and (min-width: 321px) and (max-width: 360px) {
		.side-menu-icon::before {
	    width: 130px;
	    height: 170px;
			left: 10px;
		}
	}
	@media screen and (max-width: 320px) {
		.side-menu-icon::before {
	    width: 100px;
	    height: 140px;
			left: 0;
		}
	}

	.side-menu-icon.active{
	}
	.side-menu-icon.active::before {
	  transform: translateX(0);
	  transition: all .5s ease;
	}

	.side-menu {
		position: fixed;
		top: 78px;
		right: 0;
		box-sizing: border-box;
		width: 280px;
		height: 100%;
		padding-top: 0px;
		text-align: left;
		font-size: 14px;
		background: #eee;
		z-index: 101;
		transform: translateX(calc(100vw + 3px));
		transition: all .5s ease;
	}


	.side-menu.active{
		transition: all .5s ease;
		transform: translateX(0);
	}

	.side-menu__ul {
		width: 100%;
		height: 100%;
		display: block;
		overflow: auto;
	}
	.side-menu__ul li{
		position: relative;
		border-bottom: solid 1px #aaa;
	}
	.side-menu__ul li:last-child{
		border: none;
	}

	.side-menu__ul--child,
	.slide-omakase > ul {
		display: none;
	}

	.open .side-menu__ul--child,
	.slide-omakase.slide-down > ul {
		display: block;
		padding: 0 20px;
	}

	.side-menu__ul--child li{
		border-bottom: solid 1px #ccc;
	}
	.side-menu__ul--child li a,
	.side-menu__ul--child li.sub-menu-list {
		display: block;
		padding: 15px;
		font-size: 12px;
		color: #003272;
	}

	.side-menu__ul--child li.sub-menu-list.slide-omakase{
		position: relative;
	}
	.side-menu__ul--child li.sub-menu-list.slide-omakase::after{
		position: absolute;
		content: "";
	  display: inline-block;
	  width: 5px;
	  height: 5px;
	  border-bottom: 2px solid #003272;
	  border-right: 2px solid #003272;
	  transform: rotate(45deg);
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		top: 20px;
		right: 10px;
		color: #003272;
		font-size: 10px;
	}

	.side-menu__ul--child li.sub-menu-list .slide-omakase.slide-down::after {
		content: "";
	  display: inline-block;
	  width: 5px;
	  height: 5px;
	  border-top: 2px solid #003272;
	  border-left: 2px solid #003272;
	  transform: rotate(45deg);
	}

	.side-menu__ul--child li.sub-menu-list > ul{
		font-weight: bold;
		margin-top: 10px;
	}
	.side-menu__ul--child li.sub-menu-list > ul > li{
		position: relative;
		border: none;
		margin-bottom: 10px;
	}
	.side-menu__ul--child li.sub-menu-list > ul > li:last-child{
		margin-bottom: 0;
	}
	.side-menu__ul--child li.sub-menu-list li::before{
		content: "";
		position: absolute;
		top: 9px;
		left: 0;
		width: 10px;
		border: solid 0.5px #003272;
	}
	.side-menu__ul--child li.sub-menu-list > ul > li a{
	 font-weight: normal;
	 padding: 0 10px 0 20px;
	}
	.side-menu__ul > li > a,
	.side-menu__ul > li .slide-menu-title {
		display: block;
		padding: 15px 15px 15px 45px;
		font-size: 12px;
		color: #003272;
	}

	.side-menu__ul .slide-menu-title {
		cursor: pointer;
		transition: all .5s ease;
		font-size: 12px;
		font-weight: normal;
	}
	.side-menu__ul > li::before,
	.side-menu__ul > li .slide-menu-title::before{
		position: absolute;
		content: "";
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 0 50%;
		top: 13px;
		left: 15px;
		width: 20px;
		height: 20px;
	}

	.side-menu-tanshin::before{	background-image: url(../img/icon_side_tanshin.png);}
	.side-menu-family::before{	background-image: url(../img/icon_side_family.png);}
	.side-menu-simulation::before{	background-image: url(../img/icon_side_simulation.png);}
	.side-menu-heart::before{	background-image: url(../img/icon_side_heart.png);}
	.side-menu-campaign::before{	background-image: url(../img/icon_side_campaign.png);}
	.side-menu-support::before{	background-image: url(../img/icon_side_support.png);}
	.side-menu-first::before{	background-image: url(../img/icon_side_first.png);}
	.side-menu-shopping::before{	background-image: url(../img/icon_side_shopping.png);}
	.side-menu-houjin::before{	background-image: url(../img/icon_side_houjin.png);}
	.side-menu-sdgs::before{	background-image: url(../img/icon_side_sdgs.png);}
	.side-menu-part::before{	background-image: url(../img/icon_side_part.png);}
	.side-menu-anime::before{	background-image: url(../img/icon_side_anime.png);}

	.side-menu-line { background-color: #00B900; }
	.side-menu-line a { color: #fff!important; }
	.side-menu-line::before { background-image: url(../img/icon_side_line.png); }

	.side-menu__ul > li > .slide-menu-title::after {
		position: absolute;
		content: "";
	  display: inline-block;
	  width: 5px;
	  height: 5px;
	  border-bottom: 2px solid #003272;
	  border-right: 2px solid #003272;
	  transform: rotate(45deg);
		line-height: 1;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		top: 20px;
		right: 10px;
		color: #003272;
		font-size: 10px;
		font-weight: bold;
	}

	.side-menu__ul > li.active .slide-menu-title::after {
		content: "";
	  display: inline-block;
	  width: 5px;
	  height: 5px;
	  border-top: 2px solid #003272;
	  border-left: 2px solid #003272;
	  transform: rotate(45deg);
	}

	.side-menu__ul li .site-search{
		margin-bottom: 10px;
		padding: 0 15px;
	}
	.side-menu__ul li .site-search input#SS_searchQuery{
		padding: 5px;
		width: 100%;
		background: #FFF;
		font-size: 16px;
		box-sizing: border-box;
	}
	.side-menu__ul li .site-search input#SS_searchSubmit{
		position: absolute;
		top: 8px;
		right: 30px;
		border: 0px;
		width: 16px;
		height: 16px;
		background: url(../img/icon_search.png) no-repeat left center;
	}


}
/* SMALL SMARTPHONES SIZE */
@media screen and (max-width: 480px){

	.ifSp-480{
		display:block !important;
	}

	/* --------------------------------
		#footer
	-------------------------------- */
	#footer .tel img {
		width: 80%;
	}
	#footer .reserve-btn a {
		font-size: 148.71%;
		padding: 20px 40px 20px 10px; /*a要素の領域を拡大*/
	}
	#footer .reserve-btn a:after {
		width: 10px;
		height: 10px;
		border-top: #e51118 2px solid;
		border-right: #e51118 2px solid;
		right: 20px;
	}
	#footer .reserve-btn a:hover:after {
		border-top: #fff 2px solid;
		border-right: #fff 2px solid;
	}
	#foot-under{
		padding-bottom: 70px;
	}

	.fix_menu_smartphone{
	  position: fixed;
	  bottom: 0px;
	  left: 0px;
	  z-index: 100;
	  display: block;
	}
	.fix_menu_smartphone .btn-img {
		width: 50%;
		float: left;
	}
	.fix_menu_smartphone .tel-img {
		width: 50%;
		float: left;
	}
	.fix_menu_smartphone img{
	  width:100%;
	}


}
