@charset "utf-8";
/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */


/* ---------------------------------------- common */

@media (min-width: 500px) {
	.no-pc {display:none;}
} /* 500- */

p.small-note{ font-size:0.8em;}

/* ---------------------------------------- common */

@media (max-width: 1179px) {

	/* mobile_menu */
	#container {
		position:relative; 
		right:0; 
		top:0px; 
		z-index:999; 
		width:100%; 
		background:#fff; 
		box-shadow:0 -55px 10px 7px 
		rgba(0,0,0,0.3);
		-webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		-moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		-o-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
		-webkit-backface-visibility: hidden; 
		-moz-backface-visibility: hidden; 
		-ms-backface-visibility: hidden; 
		-o-backface-visibility: hidden; 
		backface-visibility: hidden;
	}
	.open_menu #container { right:90%; }
	#mobile_menu { 
		position:fixed; 
		top:0px; 
		right:0px;
		z-index:9; 
		width:90%; 
		height:100%;  
		color: #fff;
		background: var(--blue-color);
		overflow:auto; 
	}
	#mobile_menu:after  {
		display:block; 
		content:''; 
		position:fixed; 
		width:100%; 
		height:100%; 
		top:0px; 
		right:0px; 
		background:#fff; 
		z-index:10;
		-webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		-moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		-o-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); 
		transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
		-webkit-backface-visibility: hidden; 
		-moz-backface-visibility: hidden; 
		-ms-backface-visibility: hidden; 
		-o-backface-visibility: hidden; 
		backface-visibility: hidden;
	}
	.open_menu #mobile_menu:after { right:90%; }

	/* menu_button */
	#menu_button {
		display: block; 
		font-size:11px; 
		width:56px; 
		height:56px; 
/*		background: #fff; */
		line-height:56px; 
		text-decoration:none; 
		text-align:center;
		position: relative;
	}
	#menu_button span { 
		text-indent:100%; 
		white-space:nowrap; 
		overflow:hidden; 
		display:block; 
	}
	#menu_button::before {
		font-family:'FontAwesome'; 
		content:'\f0c9';
		display:block; 
		color: #000;
		font-size:18px; 
		position:absolute; 
		top:50%; 
		left:50%; 
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		-webkit-font-smoothing: antialiased; 
		-moz-osx-font-smoothing: grayscale;
	}
	#menu_button:hover, a.menu_button.active { background:#1e73be; }
	#menu_button:hover:before, #menu_button.active:before { color:#fff; }

	/* mobile_global_menu */
	#mobile_global_menu { 
		width:100%; 
		margin:0; 
		z-index:9; 
	}
	#mobile_global_menu ul { margin:0; }
	#mobile_global_menu a {
		position:relative; 
		display:block; 
		margin:0; 
		padding:18px 20px; 
		line-height:1.6; 
		overflow:hidden; 
		text-decoration:none;
		color:#fff; 
		font-size:13px; 
		border-bottom:1px solid rgba(255,255,255,0.4);
		-moz-box-sizing:border-box; 
		-webkit-box-sizing:border-box; 
		-o-box-sizing:border-box; 
		-ms-box-sizing:border-box; 
		box-sizing:border-box;
	}
	#mobile_global_menu a:hover { color:#fff; }

	/* close_button */
	#mobile_menu .close_button { 
		display:block; 
		width:100%; 
		height:56px; 
		position:relative; 
		cursor:pointer; 
		border-bottom:1px solid rgba(255,255,255,0.5); 
	}
	#mobile_menu .close_button:before {
		font-family:'FontAwesome'; 
		content:'\f00d'; 
		color:#fff; 
		font-size:24px; 
		display:block; 
		position:absolute; 
		top:18px; 
		right:18px;
		-webkit-font-smoothing: antialiased; 
		-moz-osx-font-smoothing: grayscale;
	}

}
@media (min-width: 1180px) {
	#mobile_menu { display: none !important; }
}

/* ---------------------------------------- header */
header .inner {
	position: fixed;
	top: 0px;
	left: 0;
	z-index: 999;
	width: 100%;
	background: rgba( 255, 255, 255, .9 );
}

header .inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;
}
header h1 a { display: block; }

@media (max-width: 1179px) {

	header { padding: 0 0 0 1em; }
	#global_menu { display: none; }

	header h1 img {
		width: 180px;
		height: auto;
	}

} 

/* @media (min-width: 1180px) */
@media (min-width: 1000px) {

	header {
		font-size: 1.4rem;
		padding: 1.7em 0;
	}
	#menu_button_wrap { display: none; }

	header h1 img {
		width: 200px;
		height: auto;
	}

	#global_menu {
		display: table;
	}
	#global_menu li {
		display: table-cell;
		padding: 0 1.5em;
	}
	#global_menu li a {
		display: block;
		color: #666;
	}
	#global_menu li a:hover,
	#global_menu li.current a {
		color: var(--blue-color);
	}

	/* header_button */
	#global_menu #header_button {
		padding: 0 0 0 1.5em;
	}
	#global_menu #header_button a {
		color: #fff;
		background: var(--green-color);
		padding: 1.25em 3em;
	}
	#global_menu #header_button a:hover {
		background: var(--green-color-hover);
	}

} 

/* ---------------------------------------- footer */

footer { color: #666; }

/* footer_contact */

#footer_contact {
	background: #f5f5f5;
	font-size: clamp(1.3rem, 1vw + 0.5rem, 1.4rem);
	line-height: 2;
}
#footer_contact .inner {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}
#footer_contact .inner > div { 
	background: #fff;
	border: 1px solid #ddd;
	padding: 2em;
}
#footer_contact .number {
	color: var(--blue-color);
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-weight: 500;
	font-size: clamp(3.4rem, 2vw + 1.75rem, 3.8rem);
}
#footer_contact .number span {
	font-size: clamp(2.1rem, 1vw + 1.25rem, 2.4rem);
}

@media (max-width: 799px) {
	#footer_contact {
		font-size: 1.3rem;
		line-height: 2;
		padding: 40px 20px;
		margin: 0 0 40px;
	}
	#footer_contact .inner > div { 
		text-align: center;
		padding: 2em;
	}
	#footer_contact .inner > div.contact_mail { border-top: none; }
	#footer_contact .inner > div.contact_mail .design_button { margin: 1em 0 0; }
}

@media (min-width: 800px) and (max-width: 1099px) {
	#footer_contact {
		font-size: 1.3rem;
		line-height: 2;
		padding: 40px 20px;
		margin: 0 0 40px;
	}
	#footer_contact .inner > div { 
		padding: 2em 4em;
	}
}

@media (min-width: 1100px) {
	#footer_contact {
		padding: 60px 20px;
		margin: 0 0 60px;
	}
	#footer_contact .inner {
		display: table;
		border-collapse:collapse;
		border-spacing:0;
	}
	#footer_contact .inner > div { 
		display: table-cell;
		width: 50%;
		vertical-align: middle;
		padding: 2em;
	}
}

@media (min-width: 800px){
	#footer_contact .inner .inside { 
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
	}
	#footer_contact .number { line-height: 1.2; }
}

/* footer_menu */

#footer_menu {
	text-align: center;
	border-top: 1px solid #ddd;
	font-size: 1.4rem;
	line-height: 1.6;
	padding: 1.5em 20px;
}
#footer_menu li a {
	display: block;
	line-height: 1;
}

@media (max-width: 999px) {
	#footer_menu ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#footer_menu ul li {
		width: 50%;
		text-align: left;
		line-height: 1.8;
		margin: 0 0 12px;
	}
}

@media (min-width: 1000px){
	#footer_menu ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#footer_menu ul li { padding: 0 1em; }
	#footer_menu ul li:not(:last-child){
		border-right: 1px #666 solid;
	}
}

/* copyright */

#copyright {
	color: #fff;
	background: var(--copyright-blue);
	text-align: center;
	font-size: 1.2rem;
	padding: 2em 20px;
}

/* ---------------------------------------- return_top */

.open_menu #return_top {
	display: none !important;
}
#return_top {
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index: 9999;
	-webkit-transform: translate3d(0,100%,0);
	transform: translate3d(0,100%,0);
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
}
#return_top.active {
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
#return_top a {
	display: block;
	height: 60px;
	width: 60px;
	background: rgba(0,0,0,0.2);
	line-height: 60px;
	text-decoration: none;
	cursor: pointer;
	position: relative;
	z-index: 100;
}
#return_top span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
#return_top a:hover {
	background: var(--blue-color);
}
#return_top a:before {
	font-family: 'FontAwesome';
	content: '\f106';
	display: block;
	width: 18px;
	height: 18px;
	color: #fff;
	font-size: 18px;
	position: absolute;
	left: 24px;
	top: 2px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* ---------------------------------------- bread_crumb */
/* パンくずリンク */

#bread_crumb li:first-child::before { content:none; }
#bread_crumb li:first-child { padding: 0px; }

#bread_crumb { 
	width:100%; 
	background:var( --blue-color );
}
#bread_crumb ul { 
	width: 100%;
	max-width: 1180px;
	margin:0 auto; 
	padding:17px 0 14px 0; 
}
#bread_crumb li { color:#fff; display:inline; font-size:14px; padding:0 0 0 17px; margin:0 5px 0 0; line-height:1.6; position:relative; }
#bread_crumb li:before {
  font-family:'FontAwesome'; content:'\f105'; color:#fff; font-size:9px; width:9px; height:9px; line-height:9px;
  display:block; position:absolute; left:0; top:4px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home { padding:0 0 0 5px;}
#bread_crumb li.home a {
  position:relative; width:14px; height:18px; word-wrap: break-word;
  text-indent:-300%; overflow:hidden; display:block; float:left;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#bread_crumb li.home a:after {
  font-family:'FontAwesome'; content:'\f015'; width:14px; height:14px; line-height:14px;
  text-indent:0; display:block; position:absolute; top:3px; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home a:hover:after { color:#6698a1; }
#bread_crumb li.home:before { display:none; }
#bread_crumb li a { color:#fff; }
#bread_crumb li a:hover { color:#ffa; } /* 6698a1 */
#bread_crumb li.category a:after { content:','; }
#bread_crumb li.category a:last-of-type:after, #bread_crumb li.category a:only-of-type:after { display:none; }