/* 2024.05.5 Yamaoka,Tadashi ver.1.0 */
@charset "utf-8";
@import url("flexbox.css");
@import url("concept-layout.css");
@import url("text-parts.css");
/* Google Font 読み込み */
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@200;300;400;500;600;700;900&family=BIZ+UDGothic:wght@200;300;400;500;600;700;900&family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
/* ----- フェードインエフェクトに関するcss -----*/
body {
	animation: fadeIn 3s ease 0s 1 normal;
	-webkit-animation: fadeIn 3s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
	.fadein-sp {
		opacity: 0.01;
		transform: translate(0px, 90px);
		transition: all 2000ms;
	}
	.fadein-sp.scrollin {
		opacity: 1;
		transform: translate(0px, 0px);
	}
html {
	font-size: 62.5%; /*フォントサイズをremで表すため*/
}
html, body {
	/*font-family: "BIZ UDGothic", 'Noto Sans JP', sans-serif;*/
	/*font-family: 'Noto Sans JP', sans-serif;*/
	font-family: heisei-kaku-gothic-std, 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "sans-serif";
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.05em;
}
/* paddingの部分はみ出し防止 */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}
/* メールフォームのスタイル */
form input[type=text], form select, form textarea {
	padding: 5px;
	font-size: 1.6rem;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border: none;
	height: 2.5lh;
	font-weight: 500;
}
form input[type=number]{
	padding: 5px;
	margin: 3px;
	font-size: 1.6rem;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border: #333 1px solid;
	height: 1.5lh;
	font-weight: 500;
}
form input[type=checkbox], form label[type=checkbox] {
	margin: 0px 0 0px 0;
	height: 1.5lh;
}
form textarea {
	width: 80%;
	margin: 0 auto 0 auto;
}
/* 共通レイアウト
-------------------------------------------- */
body {
	padding: 0;
}
/*--- ヘッダー --- */
header {
	font-size: 1.6rem;
}
header.indexpage {
	background: #fff;
}
div.h-menu {
	display: none;
}
/*--- スマホ用メニュー --- */
div.sp-drawer {
	display: block;
}
/*--- パンくずメニュー --- */
div.pankuzu-body {
	width: 100%;
	margin: 10px auto 10px auto;
}
ul.pankuzu {
	padding: 10px 0 30px 0;
}
ul.pankuzu li {
	float: left;
	color: #161616;
	font-size: 1.3rem;
	font-weight: 500;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 12px 3px 0;
	color: #444;
}
ul.pankuzu li a {
	color: #444;
}
ul.pankuzu li a:hover {
	color: #ffd53c;
	transition: all 0.2s;
}
ul.pankuzu li:before {
	content: "＞";
	margin-right: 2px;
}
ul.pankuzu li.home:before {
	content: url(../../images/common/pankuzu-home.png);
	margin-right: 5px;
}
/*基本レイアウト*/
.header-menu-area {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	transition: 0.5s;
}
.main-ideal-logo {
	background: rgba(255, 255, 255, .85);
	width: 100%;
	height: 90px;
	padding: 20px 150px 20px 30px;
	border-radius: 0px 0px 0px 0px;
}
div.header-menu {
	display: none;
}
/*-------------------
  コンテンツ 
-------------------- */
section {
	width: 100%;
	margin: 0 0 0px 0;
	padding: 10px 0 10px 0;
	font-size: 1.6rem;
}
section.section-w {
	background: #fff;
	margin: 0 0 0 0;
}
.section-w-body {
	position: relative;
	width: 100%;
	margin: 0 0 0 0;
	padding: 10px;
}
/*--- フッター --- */
footer {
	padding: 20px 0 10px 0;
	background: #888;
	border-top: 1px solid #ededed;
	font-size: 1.6rem;
}
.footer-menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 0 0px;
	width: 100%;
}
.footer-menu-l {
	padding: 0 0 0 5%;
}
address.footer-ad {
	font-style: normal;
	width: 95%;
	line-height: 1.6;
	letter-spacing: 0.07em;
	color: #fff;
	margin: 0 auto 0 auto;
	text-align: left;
}
address.footer-ad a img {
	width: 90%;
	display: inline;
	margin: 0 auto 10px auto;
	vertical-align: middle;
}
div.footer-menu-menu {
	margin: 10px 0 0 10px;
}
div.footer-menu-menu p {
	display: inline-block;
	margin: 3px 0 8px 0;
	padding: 2px 20px 3px 7px;
	line-height: 1.0;
	font-size: 1.6rem;
	border-left: solid 6px #555;
	border-bottom: solid 1px #555;
}
ul.footer-menu-menu {
	margin: 0px 0 0px 0px;
	list-style: none;
	list-style-position: inside;
}
ul.footer-menu-menu li {
	float: none;
	margin: 6px 3px 13px 0px;
	font-size: 1.4rem;
}
ul.footer-menu-menu li:before {
	content: "・";
	color: #fff;
	font-size: 1.4rem;
	margin-right: 0px;
}
ul.footer-menu-menu li a {
	color: #fff;
}
.footer-menu-menu li a:hover {
	color: #eaf367;
}
.footer-menu-r {
	border-left: 1px solid #ddd;
}
.footer-credit {
	margin: 10px auto 0 auto;
	width: 100%;
	padding: 20px 0 0 0;
	border-top: 1px solid #ddd;
}
.footer-credit-l {
	width: 90%;
	padding: 0 0 0 5%;
	margin: auto;
}
.footer-credit-menu li {
	float: left;
	margin: 0 20px 10px 0;
	font-size: 1.4rem
}
.footer-credit-menu li a {
	color: #fff;
}
.footer-credit-menu li a:hover {
	color: #eaf367;
}
.footer-credit-r {
	clear: both;
	text-align: center;
	width: 100%;
	padding: 10px 0% 0 0;
}
.copyright {
	text-align: none;
	font-size: 1.3rem;
	padding: 0px 0 5px 0;
	color: #eee;
	font-weight: 500;
}
.side-btn {
	display: none;
}
span.off {
	background: #fed800;
	color: #000;
	border-radius: 15px;
	padding: 0px 8px 3px 8px ;
	margin: 0 5px 0 0;
	font-size: 80%;
}
/*固定フッター*/	
#footer-fixed {
	display: block;
    position: fixed;
    bottom:0px;
	background:#eaf367;
	width: 100%;
	z-index: 1000;
	
}

div.footer-menu {
	border-collapse:collapse;
	border-spacing:0;
	margin:0;
	padding:0;
	border:none;
	width:100%;
	}
ul.footer-icon{
	display:block;
	 display: -webkit-box;/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;/* iOS8以前Safari用 */
	display: flex;
	-webkit-justify-content: center;/*左右中央寄せ*/
	justify-content: center;/*左右中央寄せ*/
	-webkit-align-items: center;/*上下中央寄せ*/
	align-items: center;/*上下中央寄せ*/
	margin:0 0px 0px 0px;
	padding:0px 0 0px 0;
	font-size:11px;
	color: #333;
	height: 60px;
	width: 100%;
}

ul.footer-icon li{
	margin:0 20px;
	text-align: center;
}
	ul.footer-icon li a{
		color: #333;
	}
	ul.footer-icon li a:hover{
		color: #666;
	}

/* ==レスポンシブ */
@media print, screen and (max-width : 767px) {}
/* ==PC */
@media print, screen and (min-width : 768px) {
	/* ----- フェードインエフェクトに関するcss -----*/
	body {
		animation: fadeIn 3s ease 0s 1 normal;
		-webkit-animation: fadeIn 3s ease 0s 1 normal;
	}
	@keyframes fadeIn {
		0% {
			opacity: 0
		}
		100% {
			opacity: 1
		}
	}
	.fadein {
		opacity: 0.01;
		transform: translate(0px, 90px);
		transition: all 2000ms;
	}
	.fadein.scrollin {
		opacity: 1;
		transform: translate(0px, 0px);
	}
	
	body {
		padding: 0;
		position: relative;
	}
	/*--- ヘッダー --- */
	header {}
	.header-menu-area {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		width: 100%;
		transition: 0.5s;
	}
	.main-ideal-logo {
		background: rgba(255, 255, 255, .85);
		width: 25%;
		height: 100px;
		padding: 20px 70px 20px 30px;
		border-radius: 0px 0px 30px 0px;
	}
	.main-ideal-logo img {
		width: 85%;
		max-width: 250px;
		min-width: 180px;
	}
	div.header-menu {
		display: block;
		position: absolute;
		right: 4.0%;
		bottom: -10px;
		width: auto;
		background: rgba(255, 255, 255, .85);
		padding: 15px 45px 15px 45px;
		margin: 0 auto 0 0;
		border-radius: 25px 25px 25px 25px;
	}
	ul.header-menu {}
	ul.header-menu li {
		float: left;
		margin: 0 20px 0 20px;
		width: auto;
		alignment-baseline: text-top;
	}
	/*--- パンくずメニュー --- */
	ul.pankuzu li {
		font-size: 1.4rem;}
	div.pankuzu-body {
		margin: 30px 0 0 0;
	}
	.side-btn {
		display: block;
		position: fixed;
		right: 0;
		bottom: 15%;
		width: 40px;
		z-index: 1000;
		padding: 0 0 0 auto;
		margin: 0;
		text-align: center;
	}
	.side-btn img {
		display: inline;
	}
	.side-btn a {
		color: #2F2F2F;
	}
	.s-btn-q, .s-btn-r, .s-btn-s {
		width: 100%;
		padding: 20px 10px 20px 10px;
		margin: 20px 0 20px 0;
		font-size: 1.6rem;
		border-radius: 6px 0px 0px 6px;
		letter-spacing: 0.15em;
		border-bottom: 1px solid #ececec;
		border-top: 1px solid #ececec;
		border-left: 1px solid #ececec;
	}
	.tategaki {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		margin: 5px 1px 0 0;
	}
	.s-btn-q {
		background: #ffffff;
	}
	.s-btn-r {
		background: #fffdec;
	}
	.s-btn-s {
		background: #e3e3e3;
	}
	/*--- スマホ用メニュー --- */
	div.sp-drawer {
		display: none;
	}
	/*--- コンテンツ --- */
	section {
		margin: 0 0 0 0;
		padding: 10px 0 10px 0;
	}
	section.section-w {
		background: #fff;
		margin: 30px 0 0px 0;
	}
	.section-w-body {
		position: relative;
		width: auto;
		margin: 0 10% 0 10%;
		padding: 0px;
	}

	/*　フッター　*/
	footer {
		padding: 140px 0 140px 0;
		margin: 0;
	}
	.footer-menu {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 0 100px 0px;
		width: 100%;
	}
	.footer-menu-l {
		padding: 0 0 0 5%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	address.footer-ad {
		font-style: normal;
		width: 300px;
		line-height: 1.6;
		letter-spacing: 0.07em;
		color: #fff;
		margin: 0 0 0 0;
	}
	address.footer-ad a img {
		width: 85%;
		display: inline;
		margin: 0 0 20px 0;
		vertical-align: middle;
	}
	div.footer-menu-menu {
		display: -webkit-box;
		display: -moz-box;
		display: -webkit-flexbox;
		display: -moz-flexbox;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: -moz-flex;
		display: flex;
		justify-content: flex-start;
		-webkit-justify-content: flex-start;
		flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		margin: 0 0 0 50px;
	}
	div.footer-menu-flex {
		width: auto;
		margin-right: 25px;
	}
	div.footer-menu-menu p {
		display: inline-block;
		margin: 3px 0 8px 0;
		padding: 2px 20px 3px 7px;
		line-height: 1.0;
		font-size: 1.6rem;
		border-left: solid 6px #555;
		border-bottom: solid 1px #555;
	}
	ul.footer-menu-menu {
		margin: 0px 0 0px 0px;
		list-style: none;
		list-style-position: inside;
	}
	ul.footer-menu-menu li {
		float: none;
		margin: 10px 3px 16px 0px;
		font-size: 1.4rem;
	}
	ul.footer-menu-menu li:before {
		content: "・";
		color: #fff;
		font-size: 1.4rem;
		margin-right: 0px;
	}
	ul.footer-menu-menu li a {
		color: #fff;
	}
	.footer-menu-menu li a:hover {
		color: #eaf367;
	}
	.footer-menu-r {
		border-left: 1px solid #ddd;
	}
	.footer-credit {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 50px auto 0 auto;
		width: 100%;
		padding: 50px 0 0 0;
		border-top: 1px solid #ddd;
	}
	.footer-credit-l {
		padding: 0 0 0 5%;
	}
	.footer-credit-menu li {
		float: left;
		margin-right: 20px;
		font-size: 1.4rem;
		display: flex;
		align-items: center;
	}
	.footer-credit-menu li a {
		color: #fff;
	}
	.footer-credit-menu li a:hover {
		color: #eaf367;
	}
	.footer-credit-menu li img {
		width: 40px;
		margin: -10px 0px 0 0;
	}
	.footer-credit-r {
		text-align: right;
		padding: 0 5% 0 0;
	}
/*SP用固定フッター*/
	div.fixed-menu {
	border-collapse:collapse;
	border-spacing:0;
	margin:0;
	padding:0;
	border:none;
	width:80px;
	}
ul.fixed-icon{
}

ul.fixed-icon li{
	border:2px solid #008fcc;
	margin:0 0 4px 0;
}
	ul.fixed-icon li a:hover{
		color: #FFF;
	}
/*固定フッター*/	
#footer-fixed,ul.footer-icon {
	display: none;
}
	/* ==PC 大*/
	@media print, screen and (min-width : 1680px) {
		.main-ideal-logo {
			width: 20%;
			height: 100px;
			padding: 20px 70px 20px 30px;
			border-radius: 0px 0px 25px 0px;
		}
	}