@charset "UTF-8";

/* ---------------------------------------------------------------------------------------------
 @HTML5 Reset Stylesheet
---------------------------------------------------------------------------------------------*/

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body { line-height: 1; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display: block; }
nav ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }
img { vertical-align: bottom; border-style: none; } /*追加*/
* { box-sizing: border-box; }

/* ---------------------------------------------------------------------------------------------
	Layer
---------------------------------------------------------------------------------------------*/

@layer reset, base, custom1, custom2;

/* ---------------------------------------------------------------------------------------------
	Root
---------------------------------------------------------------------------------------------*/

@layer base {
	:root {
		--Font-Awesome: bold 1em/1 "Font Awesome 5 Free";
		--Font-Awesome-Brands: bold 1em/1 "Font Awesome 5 Brands";
	}
}

/* ---------------------------------------------------------------------------------------------
	Basic
---------------------------------------------------------------------------------------------*/

/*html, body { overflow: auto; height: 100%; }*/

body {
	font: 14px/1.7 "Meiryo",Hiragino Kaku Gothic Pro;
	color: #333;
	-webkit-text-size-adjust: 100%;
	animation: fadeIn 1.5s ease 0s 1 normal;
/*
	margin: 0;
    display: flex;
    flex-flow: column;
    min-height: 100vh;
*/
}

article { /*flex: 1;*/ position: relative; }

@media screen and ( min-width:671px ), print { 
	article { min-height: 70vh; }
	/*	min-height: 100vh;*/
}

@keyframes fadeIn { 0% {opacity: 0} 100% {opacity: 1} }

@media screen and ( max-width:670px ) {	
	body { font: 14px/1.7 "Meiryo",Hiragino Kaku Gothic Pro; }
	.wrap { width: 90%; margin: 0 auto; }
}

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	body { font: 14px/1.7 "Meiryo",Hiragino Kaku Gothic Pro; }
	.wrap { width: 95%; margin: 0 auto; }
}

@media screen and ( min-width:1024px ), print { 
	.wrap { width: 1000px; margin: 0 auto; }
}

a { color: #096; transition: .6s; }
a:hover { text-decoration: none; transition: .6s; }

.cursor_default { cursor: default; }
.flex { display: flex; }

.flash:hover {
	opacity: 1;
	animation: flash 0.6s ease 0s  alternate;
}

@keyframes flash {
	0% {opacity: 0.2;}
	100% {opacity: 1;}
}


/* ---------------------------------------------------------------------------------------------
	Common
---------------------------------------------------------------------------------------------*/

.Mb005 { margin-bottom: 0.5em!important; }
.Mb010 { margin-bottom: 1em!important; }
.Mb015 { margin-bottom: 1.5em!important; }
.Mb020 { margin-bottom: 2em!important; }
.Mb025 { margin-bottom: 2.5em!important; }
.Mb030 { margin-bottom: 3em!important; }
.Mb040 { margin-bottom: 4em!important; }
.Mb050 { margin-bottom: 5em!important; }
.Mb060 { margin-bottom: 6em!important; }
.Mb070 { margin-bottom: 7em!important; }
.Mb080 { margin-bottom: 8em!important; }
.Mb120 { margin-bottom: 12em!important; }

.Mr005 { margin-right: .5em!important; }
.Mr010 { margin-right: 1em!important; }
.Mr015 { margin-right: 1.5em!important; }

.Ml-05 { margin-left: -0.5em!important; }
.Ml000 { margin-left: 0!important; }
.Ml005 { margin-left: .5em!important; }
.Ml010 { margin-left: 1em!important; }
.Ml015 { margin-left: 1.5em!important; }
.Ml020 { margin-left: 2em!important; }
.Ml025 { margin-left: 2.5em!important; }
.Ml030 { margin-left: 3em!important; }
.Ml040 { margin-left: 4em!important; }

.left { text-align: left!important; }
.center { text-align: center!important; }
.right { text-align: right!important; }

.fit { width: fit-content; }


/* ---------------------------------------------------------------------------------------------
	Font
---------------------------------------------------------------------------------------------*/

.Fs05 { font-size: 0.5em!important; }
.Fs06 { font-size: 0.6em!important; }
.Fs07 { font-size: 0.7em!important; }
.Fs08 { font-size: 0.8em!important; }
.Fs085 { font-size: 0.85em!important; }

.Fs09 { font-size: 0.9em!important; }
.Fs10 { font-size: 1em!important; }
.Fs11 { font-size: 1.1em!important; }
.Fs12 { font-size: 1.2em!important; }
.Fs15 { font-size: 1.5em!important; }
.Fs90 { font-size: 9em!important; }

.brown { color: #A67960; }
.red { color: #c00; }
.green { color: #009933; }
.blue { color: steelblue; }


/* ---------------------------------------------------------------------------------------------
	Icon - 各種アイコン
---------------------------------------------------------------------------------------------*/

/*
a[href^="http"][target*="_blank"]::after {
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	font-weight: bold;
	margin-right: 5px;
}
*/

a.external::after {
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	content: "\f35d";
	font-weight: bold;
	margin-right: 5px;
}

.icon_pdf::after {
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	content: "\f1c1";
	font-weight: bold;
	margin-right: 5px;
}

.icon_phone::before {
	color: #333;
	font-family: "Font Awesome 5 Free";
/*	content: "\f095";*/
	content: "\f098";
	font-size: 14px;
	font-weight: 900;
	margin-right: 5px;
/*	vertical-align: -1px;*/
	vertical-align: 0px;
	text-decoration: none;
}

.icon_arrow a::before {
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	color: #60A578;
	font-size: 1.1em;
	font-weight: 900;
	margin-right: 5px;
}

.icon_caution a::before {
	font-family: "Font Awesome 5 Free";
	color: #d00;
	content: "\f071";
	font-size: 1.1em;
	font-weight: 900;
	margin-right: 5px;
}

.icon_new::after {
/*	display: inline-block;*/
	display: inline;
	content: "NEW";
	text-decoration: none;
	color: #fff;
	background: #d00;
	font-size: 8px;
	font-weight: bold;
	line-height: 1;
	padding: 0em .5em 0em .5em;
	position: relative;
	bottom: 2px;
	margin-left: 5px;
/*	transform: scale(0.9) translateX(-30%);*/
	animation: newAnime .7s infinite alternate;
}

@keyframes newAnime {
	0% { color: #d00; }
	100% { color: #fff; }
}

.icon_hi::before {
	font-size: .8em;
	line-height: 1.5;
	content: "昼";
	border: 1px solid;
	color: #093;
	width: 14px;
	height: 14px;
	display: inline-block;
	text-align: center;
	background: #fff;
}

.icon_en::before {
	font-size: .8em;
	line-height: 1.5;
	content: "延";
	border: 1px solid;
	color: #FF8400;
	width: 14px;
	height: 14px;
	display: inline-block;
	text-align: center;
	background: #fff;
}

.icon_ni::before {
	font-size: .8em;
	line-height: 1.5;
	content: "日";
	border: 1px solid;
	color: #f00;
	width: 14px;
	height: 14px;
	display: inline-block;
	text-align: center;
	background: #fff;
}

/* ---------------------------------------------------------------------------------------------
	List
---------------------------------------------------------------------------------------------*/

.list_00 { list-style: none; }

.list_arrow li { list-style: none; text-indent: -1.3em; margin-left: 1.3em; }
.list_arrow li .date { margin-right: .5em; }
.list_arrow li::before { font-family: "Font Awesome 5 Free"; content: "\f0da"; color: #60A578; font-size: 1.1em; font-weight: 900; margin-right: .5em; margin-left: 5px; }

.list_pdf li a[href$=".pdf"]::after { font-family: "Font Awesome 5 Free"; content: "\f1c1" !important; font-weight: bold; margin-right: 5px; margin-left: 5px; }

.note-circle { list-style: circle; margin-left: 1.5em; }

.note-ul { font-size: 1em; list-style: none; margin-top: .5em; padding-left: 1.2em; text-indent: -1.2em; }
.note-ul li:before { content: "※"; margin-right: .2em; }

.note-ol { font-size: .9em; counter-reset: number; list-style: none; margin-top: .5em; padding-left: 2.1em; text-indent: -2.1em; }
.note-ol li:before { counter-increment: number; content: "※"counter(number); margin-right: 0.5em; }


/* ---------------------------------------------------------------------------------------------
	Table
---------------------------------------------------------------------------------------------*/

.nontable th, .nontable td {
	background: none!important;
	border: none!important;
	margin: 0!important;
	padding: 0!important;
	table-layout: auto!important;
}

.common_table { font-size: .9em; }
.common_table th, .common_table td { border: 1px solid #ccc; padding: 1em 1em; }

/*幅オート*/
[class*="table00"] { width: auto; }
[class*="table00"] th, [class*="table00"] td { border: 1px solid #ccc; vertical-align: middle; padding: .5em 1em; }

/*幅100%*/
[class*="table01"] { width: 100%; }
[class*="table01"] th, [class*="table01"] td { border: 1px solid #ccc; vertical-align: middle; padding: .5em 1em; }

/*見出しグレー*/
[class*="table02"] { width: 100%; }
[class*="table02"] th { color: #666; background: #f5f5f5; }
[class*="table02"] th, [class*="table02"] td { border: 1px solid #ccc; vertical-align: middle; padding: 1em 1em; }

/*見出し緑*/
[class*="table03"] { width: 100%; }
[class*="table03"] th { color: #666; background: #DBF0EA; }
[class*="table03"] th, [class*="table03"] td { border: 1px solid #ccc; vertical-align: middle; padding: 1em 1em; }


/***** IB / WEB-FB / でんさい *****/
[id*="requirements"], [class*="requirements"] {
	display: flex;
	justify-content: space-between;
	padding: 35px 0;
}

[id*="requirements"] .button, [class*="requirements"] .button {
	width: 31.5%;
	position: relative;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	border-radius: 7px;
	z-index: 1;
	transition: .6s;
	padding: 1em 0;
}

#requirements_menu {
	width: 83%;
	padding: 8px;
}

#requirements_menu .button {
	font-size: 8px;
	line-height: 1.3;
	padding: 6em 0 1em 0;
	white-space: nowrap;
}

[id*="requirements"] .button:before, [class*="requirements"] .button:before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	margin: auto;
	color: #B7E5DC;
	font-size: 2.2em;
	line-height: 1.7;
	font-family: "Font Awesome 5 Free";
	z-index: -1;
	transition: .6s;
}

#requirements_menu .button:before {
	left: 50%;
	transform: translateX(-50%);
	font-size: 34px;
	top: -3px;
}

@media screen and ( max-width:670px ) {
	#requirements { flex-wrap: wrap; }
	#requirements .button { width: 100%; }
	#requirements .button + .button { margin-top: 10px; }
	#requirements .button:last-of-type { margin-right: 0; }
	[id*="requirements"], [class*="requirements"] { padding: 25px 0; }
}
@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	#requirements .button { font-size: 2vw; }
}

@media screen and ( min-width:1024px ), print {
	#requirements_menu { display: none; }
}

/***** IB個別 *****/
[id*="requirements"] .IB, [class*="requirements"] .IB {	
	background: #DBEEFF;
	color: #2183B8!important;
	border-bottom: solid 4px #4AABDF;
}

[id*="requirements"] .IB:before, [class*="requirements"] .IB:before {
	color: #c4e1f2;
	content: "\f406";
}

[id*="requirements"] .IB:hover, [class*="requirements"] .IB:hover {
	background: #acd8ff!important;
	transform: translateY(4px);
}

[id*="requirements"] .IB:hover:before, [class*="requirements"] .IB:hover:before {
	color: #8cc9ed;
}

/***** WEB-FB個別 *****/
[id*="requirements"] .WEB-FB, [class*="requirements"] .WEB-FB {
	background: #DBF0EA;
	color: #007D55!important;
	border-bottom: solid 4px #00AA73;
}

[id*="requirements"] .WEB-FB:before, [class*="requirements"] .WEB-FB:before {
	color: #b5e2c8;
	content: "\f1ad";
}

[id*="requirements"] .WEB-FB:hover, [class*="requirements"] .WEB-FB:hover {
	background: #b5e1d5!important;
	transform: translateY(4px);
}

[id*="requirements"] .WEB-FB:hover:before, [class*="requirements"] .WEB-FB:hover:before {
	color: #7dc99c;
}

/***** でんさい個別 *****/
[id*="requirements"] .densai, [class*="requirements"] .densai {
	background: #FFEAEA;
	color: #E80000!important;
	border-bottom: solid 4px #FF8282;
}

[id*="requirements"] .densai:before, [class*="requirements"] .densai:before {
	color: #ffcccc;
	content: "\f09d";
}

[id*="requirements"] .densai:hover, [class*="requirements"] .densai:hover {
	background: #ffcaca!important;
	transform: translateY(4px);
}

[id*="requirements"] .densai:hover:before, [class*="requirements"] .densai:hover:before {
	color: #ff9999;
}


/* ---------------------------------------------------------------------------------------------
	Heading
---------------------------------------------------------------------------------------------*/

.Ttl01 { font-size: 2em; color: #fff; background: #096; padding: 7px; margin-bottom: .6em; }
.Ttl01:before { border-left: 5px solid; content: ""; border-radius: 50px; margin: 0 12px 0 6px; }
.Ttl01 br { display: none; }

@media screen and ( max-width:670px ) {
	.Ttl01 { font-size: 1.3em; }
	.Ttl01 br { display: inline; }
}

.Ttl02 { position: relative; font-size: 1.8em; color: #454545; background: linear-gradient(#F3F3F3, #fff); font-weight: normal; border: 1px solid #E5E5E5; border-radius: 4px; padding: .1em .5em .1em 1.8em; margin-bottom: .8em; }
@media screen and ( max-width:670px ) { .Ttl02 { font-size: 1.2em; padding: .1em .5em .1em 2.2em; } }

.Ttl02::before, .Ttl02::after { position: absolute; content: ''; transform: rotate(45deg); }
.Ttl02::before { top: .4em; left: 0.8em; z-index: 2; width: 15px; height: 15px; background: #B6E0B6; }
.Ttl02::after { top: 1.1em; left: 0.4em; width: 9px; height: 9px; background: #60A578; }

.Ttl02_glay { border-bottom: 2px dotted #999; }
.Ttl02_glay::before { background: #ccc; }
.Ttl02_glay::after { background: #888; }


[class*="Ttl03"] { font-size: 1.4em; color: #454545; font-weight: normal; background: #DBF0EB; border-radius: 4px; padding: 5px 5px; margin-bottom: .8em; }
[class*="Ttl03"]:before { border-left: 5px solid #096; content: ""; border-radius: 50px; margin: 0 12px 0 6px; }
@media screen and ( max-width:670px ) { [class*="Ttl03"] { font-size: 1.1em; } }

.Ttl03_glay { background: #F3F3F3; }
.Ttl03_glay:before { border-left: 5px solid #aeaeae; }

/*先頭のバックに円のデザイン*/
[class*="Ttl04"] {
	font-size: 1.1em;
	position: relative;
	color: #666;
	font-weight: normal;
	letter-spacing: 0.5px;
	border-bottom: 2px dotted #B6E0B6;
	text-shadow: 0 0 2px #fff;
	margin: 0 0 .8em .5em;
}

[class*="Ttl04"] span {
	position: relative;
	right: 0.35em;
}

[class*="Ttl04"]:before {
	content: "";
	position: absolute;
	background: #ccedcc;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	top: 0.82em;
	left: -15px;
	transform: translateY(-55%);
	z-index: -1;
}

/* ---------------------------------------------------------------------------------------------
	Box
---------------------------------------------------------------------------------------------*/

.box_01 { border: 1px solid #ccc; padding: .5em; }

.boxes > div { background: #DEF3E8; border-radius: 10px; padding: 16px; }
.boxes > div + div { margin-top: 16px; }
.boxes .title { font-size: 20px; font-weight: bold; color: #008459; }
.boxes.yellow .title { color: #9D7A00; }
.boxes.yellow > div { background: #FFF7DB; }


/* ---------------------------------------------------------------------------------------------
	FlowChart
---------------------------------------------------------------------------------------------*/

[class^="FlowChart"] > div.item { position: relative; background: #DEF3E8; border-radius: 10px; padding: 16px; }
[class^="FlowChart"] > div.item + div.item { margin-top: 60px; }
[class^="FlowChart"] > div.item + div.item::before { content: "\f0ab"; font: var(--Font-Awesome); font-size: 40px; color: #008459; position: absolute; top: -50px; left: 50%; transform: translateX(-50%); }
[class^="FlowChart"] .title { color: #008459; font-size: 20px; font-weight: bold; }

@media screen and ( min-width:671px ), print {
	[class^="FlowChart"] > div.item + div.item { margin-top: 80px; }
	[class^="FlowChart"] > div.item + div.item::before { font-size: 60px; color: #008459; top: -70px; }
}


/* ---------------------------------------------------------------------------------------------
	Button
---------------------------------------------------------------------------------------------*/

ul.btn_list01 { list-style: none; text-align: left; }
ul.btn_list01 li { width: 100%; }
ul.btn_list01 li + li { margin: .5em 0 0 0; }
ul.btn_list01 li a { display: block; color: #333; text-decoration: none; white-space: nowrap; border: 1px solid; padding: .5em; }
ul.btn_list01 li a::before { display: inline-block; text-align: center; width: 1em; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 1.5em; vertical-align: middle; margin-right: 10px; }

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	ul.btn_list01 { font-size: 1.3vw; }
}

@media screen and ( min-width:671px ), print {
	ul.btn_list01 { display: flex; justify-content: center; text-align: center; }
	ul.btn_list01 li { max-width: 28%; }
	ul.btn_list01 li + li { margin: 0 0 0 1em; }
}

/*インターネットでお申し込み*/
ul.btn_list01 li.net a { background: linear-gradient(to bottom, #FEFEFE, #FEF2B9); border-color: #FDE372; }
ul.btn_list01 li.net a:hover { background: linear-gradient(to bottom, #FEFEFE, #ffea8d); }
ul.btn_list01 li.net a::before { content: "\f108"; color: #F8E386; }

/*スマートフォンでお申し込み*/
ul.btn_list01 li.sp a { background: linear-gradient(to bottom, #F5FDFF, #BDE5FB); border-color: #A2CDE2; }
ul.btn_list01 li.sp a:hover { background: linear-gradient(to bottom, #fff, #a1d8fd); }
ul.btn_list01 li.sp a::before { content: "\f3cd"; color: #97D2FC; }

/*FAXでお申し込み*/
ul.btn_list01 li.fax a { background: linear-gradient(to bottom, #fff, #F4F4F4); border-color: #D1D1D1; }
ul.btn_list01 li.fax a:hover { background: linear-gradient(to bottom, #fff, #eaeaea); }
ul.btn_list01 li.fax a::before {content: "\f1ac"; color: #D2D2D2; }

/*PDFファイル（「キャンペーンチラシはこちら」等）*/
ul.btn_list01 li.pdf a { background: linear-gradient(to bottom, #fff, #FFEAEA); border-color: #ffcccc; }
ul.btn_list01 li.pdf a:hover { background: linear-gradient(to bottom, #fff, #ffd3d3); }
ul.btn_list01 li.pdf a::before {content: "\f1c1"; color: #ffcccc; }

.btn_01 { width: 280px; max-width: 100%; display: inline-block; text-align: center; font-size: 15px; text-decoration: none; outline: 4px solid #fff; outline-offset: -10px; border-radius: 5px; padding: 12px; transition: .4s; }
.btn_01:hover { opacity: .8; transition: .4s; }
.btn_01.yellow { color: #9D7A00; background: #FFECB3; }


ul.btn_list02 { list-style: none; text-align: center; }
ul.btn_list02 li { width: 100%; }
ul.btn_list02 li + li { margin: .5em 0 0 0; }
ul.btn_list02 li a { display: block; color: #009966; font-weight: bold; background: #C9EBD9; outline: 4px solid #fff; outline-offset: -10px; border-radius: 9px; text-decoration: none; white-space: nowrap; padding: 20px 20px; transition: .4s; }
ul.btn_list02 li a:hover { opacity: .8; transition: .4s; }
ul.btn_list02 li a::before { display: block; font: var(--Font-Awesome); font-size: 100px; margin-bottom: 8px; }

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	ul.btn_list02 { font-size: 1.3vw; }
}

@media screen and ( min-width:671px ), print {
	ul.btn_list02 { display: flex; justify-content: center; text-align: center; }
	ul.btn_list02 li a { font-size: 20px; }
	ul.btn_list02 li + li { margin: 0 0 0 1em; }
}

@media screen and ( min-width:1024px ), print {
	ul.btn_list02 li a { font-size: 20px; }
}


/*インターネットでお申し込み*/
ul.btn_list02 li.net a::before { content: "\f0ac"; }

/*住宅ローン相談サービス*/
ul.btn_list02 li.consul a::before { content: "\f059"; }

/*住宅ローンシミュレーション*/
ul.btn_list02 li.sim a::before {content: "\f1ec"; }


/* ---------------------------------------------------------------------------------------------
 	Header
---------------------------------------------------------------------------------------------*/

header { width: 100%; z-index: 99; transition: .5s; border-top: 7px solid #096; }
#header { display: flex; justify-content: space-between; align-items: center; position: relative; margin: 15px 3% 15px 3%; }
#logo h1 { display: inline; }
#logo span { font-size: .8em; position: relative; top: 4px; margin: 0 0 0 1em; }

@media screen and ( max-width:670px) {
	#logo img, #logo span { font-size: 8px; width: 53%; }
}

@media screen and ( max-width:360px) {
	#header { margin: 5% 3% 5% 3%; }
	#logo img, #logo span { width: 43vw; }
}

@media screen and ( min-width:671px ), print {
	#header { margin: 15px 7% 15px 7%; }
}

@media screen and ( max-width:1023px ) {
	#header #rightmenu { display: none; }
}

#header #rightmenu { position: relative; }

#header #rightmenu a {
	font-size: .9em;
	color: #333;
	text-decoration: none;
	white-space: nowrap;
	margin: 0 0.8em;
}

#header #rightmenu a:hover { color: #888; text-decoration: underline; }

#header #rightmenu ul {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	font-size: .92em;
	line-height: 1;
}

#header #rightmenu li { border-left: 1px solid #999; border-right: 1px solid #999; }
#header #rightmenu li+ li { border-left: 0; border-right: 1px solid #999; }

/***** サイト内検索 *****/

#searchbox {
	position: relative !important;
	right: 0px !important;
	margin-bottom: 6px !important;
	width: 280px;
	margin: 0 0 0 auto;
}

.gsc-control-cse { padding: 0 !important; }

.gsc-search-button-v2 {
	background: #096 !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 4px 20px !important;
	cursor: pointer;
	transition: .6s;
}

.gsc-search-button-v2:hover {
	background: #00B377 !important;
	transition: .6s;
}

.gsc-search-box-tools .gsc-search-box .gsc-input {
	font-size: 12px !important;
	padding: 1px 5px !important;
}

#gsc-iw-id1 { border-radius: 4px !important; }

form.gsc-search-box { margin: 0 !important; }

.gsib_b { box-sizing: content-box; height: 24px !important; padding: 4px 4px 4px 0; }

/* ---------------------------------------------------------------------------------------------
	Nav
---------------------------------------------------------------------------------------------*/

.fixed {
	position: fixed;
	top: 0;
	padding: 0;
	width: 100%;
	z-index: 100;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

#header-nav > a {
	display: block;
	color: #000;
	text-decoration: none;
	padding: 15px 0;
}

/* ----- Information ----- */
/*タブ切り替え全体のスタイル*/
#header-nav.fixed { position: fixed; top: 0; }
@media print { #header-nav.fixed { position: relative; } }

a.menu_item { text-decoration: none; }

/*タブのスタイル*/
@media screen and ( max-width:1023px ) {
	.menu_item {
		width: 100%;
		box-sizing: content-box;
		height: 50px;
		border-top: 1px solid #096;
/*		border-bottom: 1px solid #096;*/
		background: #fff;
		line-height: 50px;
		font-size: 14px;
		color: #565656;
		display: block;
		text-indent: 1em;
		font-weight: bold;
		transition: all 0.2s ease;
		cursor : pointer;
		position: relative;
	}
	 .drawer_menu .recruit { border-top: 1px solid #096; border-bottom: 1px solid #096; }
	.menu_content .button {
		line-height: 1;
		display: block;
		color: #555;
		background: #fff;
		text-indent: 1em;
		text-decoration: none;
		border-radius: 5px;
		padding: 13px 0;
		transition: .6s;
		margin: 1em;
	}
	/*タブ切り替えの中身のスタイル*/
	.menu_content {
		height: auto;
		transition: .6s;
/*		height: 70px;*/
	}
	#header-nav label::before {
		position: absolute;
		font-family: "Font Awesome 5 Free";
		content: '\f107';
		font-weight: bold;
		font-size: 1.5em;
		color: #096;
		right: .5em;
		top: 0;
		bottom: 0;
	}
	#header-nav label.recruit::before { content: none; }
	
	#header-nav input:checked + label::before { color: #fff; }
	.requirements_main_menu { display: none; }
}

@media screen and ( min-width:1024px ), print {
	#header-nav {
		background: #fff;
		width: 100%;
		margin: 0 auto;
		position: relative;
		justify-content: space-between;
	}
	.menu_item {
		border-left: 1px solid #096 !important;
		box-sizing: content-box;
		height: 40px;
		border-top: 1px solid #096;
		border-bottom: 5px solid #096;
		background-color: #fff;
		line-height: 42px;
		font-size: 15px;
		text-align: center;
		color: #565656;
		display: block;
		float: left;
		text-align: center;
		font-weight: bold;
		transition: all 0.2s ease;
		cursor : pointer;
	}
	.menu_item { width: 25%; }
	.store {
		position: absolute;
		top: 0;
		left: 24.9%;
	}
	.bishin {
		position: absolute;
		top: 0;
		left: 49.9%;
	}
	.recruit {
		position: absolute;
		top: 0;
		left: 74.9%;
	}
	
	.menu_content .list { display: flex; justify-content: space-between; gap: 10px; }
	.menu_content .list > .button { color: #555; background: #fff; }

	.menu_content .list2 .button { width: 32.8%; }
	
	.menu_content .button {
		width: 100%;
		line-height: 35px;
		display: block;
		text-align: center;
		text-decoration: none;
		border-radius: 5px;
/*		padding: 13px 0;*/
		transition: .6s;
	}

	/*タブ切り替えの中身のスタイル*/
	.menu_content { height: 100%; }
	
	#header-nav .menu_content .requirements_main_menu { width: 80%; padding: 0; display: none; justify-content: center; gap: 10px; }
	#header-nav .menu_content .menu_flex { display: flex; }

	.menu_content .list + .list2 { margin: 10px auto 0 auto; }

	.requirements_main_menu .button { font-size: 1.05em; border: 0; padding: 0; }
	.requirements_main_menu .button:hover { transform: none; }
	.requirements_main_menu .button::before { position: relative; left: 0px; top: 1px; margin-left: 5px; font-size: 18px; font-weight: 900; margin-right: 7px; }
}

.menu_item:first-of-type { border-left: none; }
.menu_item:hover { opacity: 0.75; background: #e6f7f2; }

/*ラジオボタンを全て消す*/
input[name="menu_item"] { display: none; }

/*タブ切り替えの中身のスタイル*/
.menu_content {
	display: none;
	padding: 0 0 0;
	clear: both;
	overflow: hidden;
	background: #F1F1F1;
	position: relative;
	transition: .6s;
	padding: 10px 10px;
}

.menu_content .button:hover { background: #e1e1e1; }

@media screen and ( min-width:671px ) and ( max-width:1150px ) {
	#store_content > .list > .button { font-size: .9em; }
}

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	.menu_content .button { font-size: 1.5vw; }
}

@media print {
	.menu_content .button { font-size: 85%; white-space: nowrap; }
}

/*選択されているタブのコンテンツのみを表示*/
#product:checked ~ #product_content,
#store:checked ~ #store_content,
#bishin:checked ~ #bishin_content,
#recruit:checked ~ #recruit_content {
	display: block;
}

/*選択されているタブのスタイルを変える*/
#header-nav input:checked + .menu_item {
	background-color: #096;
	color: #fff;
}

#product_content .list > .button::before,
#store_content .list > .button::before,
#bishin_content .list > .button::before,
#recruit_content .list > .button::before {
	margin-left: 5px;
	font-family: "Font Awesome 5 Free";
	color: #808080;
	font-size: 1em;
	font-weight: 900;
	margin-right: 7px;
}

/*各タブコンテンツのアイコン*/
#product_content .b1::before { content: "\f4d3"; }
#product_content .b2::before { content: "\f09d"; }
#product_content .b3::before { content: "\f4be"; }
#product_content .b4::before { content: "\f015"; }
#product_content .b5::before { content: "\f109"; }

#store_content .b1::before { content: "\f05a"; }
#store_content .b2::before { content: "\f500"; }
#store_content .b3::before { content: "\f52b"; }
#store_content .b4::before { content: "\f51e"; }
#store_content .b5::before { content: "\f09d"; }

#bishin_content .b1::before { content: "\f05a"; }
#bishin_content .b2::before { content: "\f4c4"; }
#bishin_content .b3::before { content: "\f02d"; }
#bishin_content .b4::before { content: "\f508"; }
#bishin_content .b5::before { content: "\f0c0"; }

#recruit_content .b1::before { content: "\f5da"; }
#recruit_content .b2::before { content: "\f0c0"; }
#recruit_content .b3::before { content: "\f06e"; }
#recruit_content .b4::before { content: "\f05a"; }
#recruit_content .b5::before { content: "\f303"; }


/*ドロワーメニュー内 サイトマップ、お問い合わせ、よくあるご質問*/
@media screen and ( max-width:1023px ) {
	.drawer_menu .drawer_submenu { margin: 1em 0; line-height: 2; }
	.drawer_menu .drawer_submenu a { font-size: 0.9em; color: #333; text-decoration: none; white-space: nowrap; margin: 0 0.8em; }
	.drawer_menu .drawer_submenu a:hover { color: #888; text-decoration: underline; }
	.drawer_menu .drawer_submenu a::before { font-family: "Font Awesome 5 Free"; content: "\f0da"; color: #60A578; font-size: 1.1em; font-weight: 900; margin: 0 5px; }
}
@media screen and ( min-width:1024px ), print {
	.drawer_menu .drawer_submenu { display: none; }
}


/* ---------------------------------------------------------------------------------------------
	Drawer Menu
---------------------------------------------------------------------------------------------*/

@media screen and ( max-width:1023px) {
	.drawer_menu * {
		margin: 0;
		padding: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		text-decoration: none;
		list-style: none;
	}

	.drawer_menu a { color: inherit; text-decoration: none; }
	.drawer_menu a:visited { color: inherit; }

	.drawer_menu .drawer_bg {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 999;
		background-color: rgba(51, 51, 51, 0.5);
		display: none;
		top: 0;
		left: 0;
	}

	.drawer_menu .drawer_button {
		display: block;
		background: none;
		border: none;
		padding: 0;
		width: 42px;
		letter-spacing: 0.1em;
		cursor: pointer;
		position: fixed;
		top: 1.2%;
		right: 1.2%;
		z-index: 1001;
		text-align: center;
		outline: none;
	}
	
	.drawer_menu .drawer_button.active { top: -.8%; }
	.drawer_menu .drawer_button.active .drawer_bar { width: 60px; height: 3px; margin: 45% 0; }
	.drawer_menu .drawer_button.active .drawer_bar1 { transform: rotate(45deg); }
	.drawer_menu .drawer_button.active .drawer_bar2 { opacity: 0; }
	.drawer_menu .drawer_button.active .drawer_bar3 { transform: rotate(-45deg); }
	.drawer_menu .drawer_button.active .drawer_menu_text { display: none; }
	.drawer_menu .drawer_button.active .drawer_close { display: block; position: relative; bottom: 12px; }

	.drawer_menu .drawer_bar {
	  display: block;
	  height: 2px;
	  margin: 10px 0;
	  transition: all 0.2s;
	  transform-origin: 0 0;
	}

	.drawer_menu .drawer_text {
	  text-align: center;
	  font-size: 10px;
	}

	.drawer_menu .drawer_close {
	  letter-spacing: 0.08em;
	  display: none;
	}

	.drawer_menu .drawer_menu_text { display: block; }
	
	.drawer_menu .drawer_nav_wrapper {
		width: 312px;
		height: 100%;
		transition: all 0.2s;
		transform: translate(312px);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		background-color: #FFF;
		overflow-y: auto;
	}

	.drawer_menu .drawer_nav_wrapper.open {
	  transform: translate(0);
	}

	.drawer_menu.left .drawer_button {
	  right: auto;
	  left: 32px;
	}

	.drawer_menu.left .drawer_nav_wrapper {
	  transform: translate(-312px);
	  right: auto;
	  left: 0;
	}

	.drawer_menu.left .drawer_nav_wrapper.open { transform: translate(0); }

	/*+++ Default Navigation CSS +++*/
	.drawer_menu .drawer_nav {
/*	  padding: 75px 24px;*/
/*		margin: 28% 0;*/
	}
	.drawer_menu .drawer_nav > li { line-height: 2; }
	.drawer_menu .drawer_nav li ul { margin-top: 15px; }

	/*+++ Default Button Color +++*/
	.drawer_menu .drawer_button { color: #096; }
	.drawer_menu .drawer_button .drawer_bar { background: #096; }
}

/*ドロワーメニューボタン位置調整*/
@media screen and ( max-width:670px ) {
	.drawer_menu .drawer_button { top: .8%; right: 2%; }
	.drawer_menu .drawer_button.active { top: -.8%; right: 2%; }
}

@media screen and ( min-width:1024px), print {
	.drawer_button { display: none; }
}

@media screen and ( max-width:420px) {
	.drawer_menu .drawer_button.active { top: -.8%; right: 4%; }
	.drawer_menu .drawer_nav_wrapper { width: 100%; transform: translate(100%); }
}

/* ---------------------------------------------------------------------------------------------
	パンくずリスト
---------------------------------------------------------------------------------------------*/

#breadcrumb { background: #F5F5F5; padding: 3px 0; margin-bottom: 2em; }
#breadcrumb ul { margin-left: 1.5em; }
#breadcrumb li { display: inline-block; list-style: none; text-align: left; }
#breadcrumb li:after { font-family: "Font Awesome 5 Free"; content: '\f0da'; color: #093; font-weight: bold; position: relative; left: 2px; padding: 0 .5em; }
#breadcrumb li:last-child { color: #666; }
#breadcrumb li:last-child:after { content: ''; }
#breadcrumb li a { text-decoration: none; color: #666; }
#breadcrumb li a:hover { text-decoration: underline; }

@media screen and ( max-width:670px ) {
	#breadcrumb { font-size: .9em; margin-bottom: 1em; }
}

@media screen and ( min-width:1024px ), print {
	#breadcrumb { background: none; margin-top: 5px; }
	#breadcrumb li { display: inline; }
}

/* ---------------------------------------------------------------------------------------------
	submenu トップページ、各ページフッター共通
---------------------------------------------------------------------------------------------*/

/* ----- submenu ----- */

[id*="submenu"] div { margin: 35px auto; }

[id*="submenu"] a {
	width: 15.5%;
	color: #847974;
	font-weight: bold;
	display: block;
	background: #fff;
	text-align: center;
	text-decoration: none;
	border: solid 1px #92B7B0;
	border-radius: 7px;
	padding: 10px 0px;
}

@media screen and ( max-width:670px ) {
	[id*="submenu"] div { margin: 25px auto; }
	[id*="submenu"] a { width: 100%; font-size: 1em; letter-spacing: 1px; }
	#index [id*="submenu"] a + a { margin-top: 10px; }
	#footer-submenu a { margin-top: 10px; }
}

@media screen and ( min-width:671px ) and ( max-width:1023px ) {
	[id*="submenu"] div { display: flex; justify-content: space-between; }
	[id*="submenu"] a { white-space: nowrap; font-size: 1vw; margin-right: 10px; }
	[id*="submenu"] a:last-of-type { margin-right: 0; }
}

@media screen and ( min-width:1024px ), print {
	[id*="submenu"] div { display: flex; justify-content: space-between; }
}

[id*="submenu"] a::before {
/*	margin-left: 5px;*/
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	color: #60A578;
	font-size: 1.1em;
	font-weight: 900;
	margin-right: 5px;
}

[id*="submenu"] a:hover {
	color: #007D55;
	background: #e6f7f2;
}

/* ----- footer-submenu ----- */

#footer-submenu a { padding: 4px 0px; }
#footer-submenu div { margin: 0 auto 1.5em auto; }

@media screen and ( max-width:670px ) {
	#footer-submenu div {font-size: .9em; display: flex; flex-wrap: wrap; justify-content: space-between; }
	#footer-submenu a { width: 48%; }
}

/* ---------------------------------------------------------------------------------------------
	Footer
---------------------------------------------------------------------------------------------*/

footer { bottom: 0; }
footer a { color: #096; }
#footer-list { background: #F5F5F5; font-size: 11px; white-space: nowrap; }
#footer-list ul { color: #666; display: flex; flex-wrap: wrap; justify-content: center; list-style: none; padding: 30px 0 18px 0; }
#footer-list li { border-left: 1px solid #999; border-right: 1px solid #999; line-height: 1; margin-bottom: 12px; padding: 0 .5em; }
#footer-list li+ li { border-left: 0; border-right: 1px solid #999; }
#Copyright { font-size: 8px; color: #fff; background: #096; text-align: center; padding: 4px 0; }


/* ---------------------------------------------------------------------------------------------
	Back to top
---------------------------------------------------------------------------------------------*/

#pageTop {
/*	display: inherit !important;*/
	position: fixed;
	bottom: 20px;
	right: 20px;
/*	right: 40px;*/
	z-index: 2;
}

#pageTop a {
	display: block;
	z-index: 999;
	padding: 10px 10px;
	border-radius: 50px;
	width: 50px;
	height: 50px;
	background-color: #096;
	font-size: 0.99rem;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
	opacity: 1;
}

#pageTop a:hover { text-decoration: none; opacity: .8; }


/* ---------------------------------------------------------------------------------------------
	dialog
---------------------------------------------------------------------------------------------*/

.dialogBase { position: fixed; background: url(../img/black-70.png); }

*html .dialogBase {
	position: absolute;
	width: 1000px;
	height: 1000px;
	background: url(../img/black.png);
	text-align: center;
	border: 200px 200px 500px 200px #000000 solid;
}

.dialog {
	width: 800px;
	height: 300px;
	background: url(../img/dialogback.png);
	margin-top: 100px;
}

.dialogs {
	max-width: 800px;
	background: #fff;
	border-radius: 15px;
	margin: 100px auto 0 auto;
	padding: 3em 4em;
}

.dialogboxes img { max-width: 100%; }

*html .dialogboxes {
	width: 500px;
}

.dialog-castle {
	text-align: center;
	border: 1px dotted #999;
	padding: 1em;
}

/* ---------------------------------------------------------------------------------------------
	404.html - お探しのページは見つかりません
---------------------------------------------------------------------------------------------*/

#NotFound section { margin-bottom: 3rem; }
#NotFound h2 { font-size: 5vw; color: #fff; background: #096; text-align: center; padding: .5em; margin-bottom: 2rem; }

#NotFound .main-image { margin-bottom: 2rem; }
#NotFound .main-image img { width: 100%; }
#NotFound .text { font-size: 1.18em; margin-bottom: 2rem; }
#NotFound .btn { width: 100%; display: block; font-size: 1.2em; text-align: center; margin: 0 auto; }
#NotFound .btn:hover a { background: #fff; color: #096; }
#NotFound .btn a { display: block; color: #fff; background: #096; text-align: center; border: 1px solid; text-decoration: none; padding: .8em 1.5em; }
#NotFound .btn a::after { margin-left: .5em; font-family: "Font Awesome 5 Free"; content: "\f105"; font-size: 1.1em; font-weight: 900; }

@media screen and ( min-width:671px ), print {
	#NotFound section { margin-bottom: 5rem; }
	#NotFound h2 { font-size: 2em; }
	#NotFound .main-image { margin-bottom: 3rem; }
	#NotFound .text { margin-bottom: 4rem; }
	#NotFound .btn { font-size: 1.4em; width: 15em; }
}
