@charset "utf-8";

body {
	margin: 0;
	padding: 100px 0 0 0;
	background-color: #fff;
	color: #000;
	font-family: "M PLUS 1p", sans-serif;
	-webkit-text-size-adjust: 100%;
	font-size: 120%;
	position: relative;
/*	line-height: 1.6;*/
letter-spacing: 0.08em;
}
a {
	text-decoration: none;
	color: #000;
}
a:hover {
	text-decoration: underline;
}

.center {
text-align: center;

}


.inner ul li {
margin-bottom: 1em;
}


header, main, footer {
	display: block;
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
main {
	margin-bottom: 80px;
	position: relative;
	z-index: 0
}
header {
	max-width: 100%;
	height: 100px;
	background-color: #fff;
	z-index: 99;
	position: fixed;
	top: 0;
}
.header_inner {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 24px;
	display: flex;
	justify-content: space-between;
	position: relative;
}
#header_left {
}
#header_right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#logo {
	display: inline-block;
	margin: 0;
	padding: 0;
	height: 48px;
}
#logo img {
	height: 100%;
	width: auto;
}
#iilogo {
	height: 60px;
	width: auto;
}

#header_menu {
	margin: 0;
	padding: 0;
	border: 1px solid #333;
	background-color: #fff;
	position: absolute;
	z-index: -1;
	right: 60px;
	top: 50px;
	opacity: 0;
	transition: all 0.2s;
	pointer-events: none;
}
#header_menu li {
	list-style: none;
	border-bottom: 1px solid #333;
	margin-left: 1em;
	padding: 9px 4em 9px 9px;
	position: relative;
}
#header_menu li:first-of-type {
	border-bottom-width: 0px;
	margin-bottom: 1em;
	padding-right: 9px;
}
#header_menu li:last-of-type {
	margin-bottom: 4em;
}
#header_menu li:not(:first-of-type) a {
	display: block;
	width: 100%;
}
#menu .menu_btn.pc {
	height: 20px;
	width: auto;
	margin-right: 8px;
	position: relative;
}
#menu .menu_btn.pc::after {
	content: "";
	display: block;
	height: 20px;
	width: 14px;
	background-image: url("../img/arrow.png");
	background-size: 100%;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	right: 42px;
}
#menu .menu_btn.sp {
	height: 30px;
	width: auto;
	margin-left: 8px;
}

.gsc-input {
	/*border: 1px solid #333 !important;*/
	border-radius: 4px;
	line-height: 1.8em;
	background-position: left 8px center !important;
	margin-left: 1em;
}
.gsc-input-box {
	z-index: 99;
}
.gsc-search-box,
.gsc-input {
	width: 100%;
	max-width: 480px;
	height: 1.8em !important;
}
.gsib_a, .gsib_b {
	height: auto !important;
	width: auto !important;
	padding: 0 !important;
	position: relative;
}
td.gsib_b {
	width: 56px !important;
	text-align: left;
}
li.head_kensaku_form {
	margin-left: 0 !important;
}
.gsc-completion-container {
	position: fixed !important;
	width: 90% !important;
	max-width: 480px;
}
#header_menu li:has(.gsc-input)::after {
	content: "";
	background-image: url("../img/icon-search.png");
	display: block;
	height: 18px;
	width: 18px;
	background-size: contain;
	position: absolute;
	bottom: 12px;
	right: 12px;
}
@media screen and (max-width: 768px){
	.gsc-search-box,
	.gsc-input {
		width: 100%;
		max-width: 100%;
		margin: 0 !important;
	}
	.gsc-input {
		width: calc( 100% - 1em ) !important;
		margin-left: 0.5em !important;
	}
	#header_menu li:has(.gsc-input)::after {
		bottom: 10px;
		right: 16px;
	}
}


#header_menu.active {
	transition: all 0.2s;
	z-index: 99;
	opacity: 1;
	pointer-events: auto;
}

#totop {
	display: none;
	padding: 8px;
	background-color: #fff;
	border-style: solid;
	border-color: #005ca7;
	border-width: 2px 4px 4px 2px;
	border-radius: 4px;
	position: fixed;
	bottom: 8px;
	right: 10%;
	z-index: 98;
}
#totop::after {
	content: "ページトップへ";
	color: #005ca7;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 0.8em;
}

footer {
	text-align: center;
	margin-bottom: 16px;
	position: relative;
}

#toiawase {
text-align: left;
}

footer .logo {
	width: 200px;
    height: auto;
    margin: 0;
}


@media screen and (max-width: 767px){
#footer_toiawase {

}
}


.inner {
	display: block;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

strong, em {
	color: #f00;
}
.color_b {
	color: #005ca7;
}
.under_line {
	text-decoration: underline;
}
.fw_500 {
	font-weight: 500;
	line-height: 1.6;
letter-spacing: 0.08em;
}
.font-s {
	font-size: 0.9em;
}
.font-m {
	font-size: 1.1em;
}
.font-l {
	font-size: 1.5em;
}
.pc {
	display: block;
}
.pc_ib {
	display: inline-block;
}
.sp {
	display: none;
}
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
}


@media screen and (max-width: 768px){
	body{
		font-size: 100%;
		padding: 80px 0 0 0;
	}
	#slider_area li img {
		width: auto;
		height: 300px;
	}
	header, footer {
		width: calc( 100% - 32px );
		padding-left: 16px;
		padding-right: 16px;
	}
	header {
		height: 80px;
	}
	.header_inner {
		width: 100%;
		max-width: 100%;
		height: 100%;
		margin-left: auto;
		margin-right: auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		margin-top: 0;
	}
	#header_menu {
		right: 0;
		top: 60px;
	}
	#header_menu li {
		padding: 9px 2em 9px 9px;
	}
	#totop {
		bottom: 8px;
		right: 2%;
	}
	#totop::after {
		font-size: 0.8em;
	}

	main {
		width: 100%;
	}
	main section {
		width: calc( 100% - 32px );
		padding-left: 16px;
		padding-right: 16px;
	}
	#header_right {
		flex-direction: row-reverse;
	}
	#iilogo {
		height: 50px;
		margin-right: 8px;
	}

	.inner {
		width: 100%;
	}
	
	.font-s {
		font-size: 0.9em;
	}
	.font-m {
		font-size: 1.1em;
	}
	.font-l {
		font-size: 1.5em;
	}
	.pc {
		display: none;
	}
	.pc_ib {
		display: none;
	}
	.sp {
		display: block;
	}
}


/*ファイルアイコン*/

a[href*=".pdf"]:before {
  content: url(../img/icon/pdf.gif); 
  padding: 1px 1px 1px 0;
}
a[href*=".xls"]:before,
a[href*=".xlsx"]:before,
a[href*=".csv"]:before{
  content: url(../img/icon/excel.gif); 
  padding: 1px 1px 1px 0;
}
a[href*=".doc"]:before,
a[href*=".docx"]:before,
a[href*=".rtf"]:before{
content: url(../img/icon/word.gif); 
  padding: 1px 1px 1px 0;
}
a[href*=".zip"]:before {
  content: url(../img/icon/zip.gif); 
  padding: 1px 1px 1px 0;
}

a[href*=".ppt"]:before ,
a[href*=".pptx"]:before {
  content: url(../img/icon/ppt.gif); 
  padding: 1px 1px 1px 0;
}