@charset "utf-8";
/* CSS Document */

#wrapper { overflow:inherit; }
@media screen and (min-width: 1090px) {
	header { background: #fff; padding-bottom: 20px;}
	header h1 { color: #000; }
	header .in .h_flex .h_flex_L .h_logo .blk { display: block; }
	header .in .h_flex .h_flex_L .h_logo .wh { display: none; }
	
	.h_flex_R .h_nav li a         { resize: none; display: block; }
	.h_flex_R .h_nav li a:link    { color:#000; text-decoration: none; }
	.h_flex_R .h_nav li a:visited { color:#000; text-decoration: none; }
	.h_flex_R .h_nav li a:hover   { color:var(--base-color); text-decoration: none; }
	.h_flex_R .h_nav li a:active  { color:#000; text-decoration: none; }
}

/*-- headline ------------------------------------------------------------*/
#headline { background: #f5f5ee; }
@media screen and (max-width: 1089px) {
	#headline { position: relative; padding: 10vh 0; }
	#headline .ttl01 { font-size: 1.5em; font-weight: 700; line-height: 1.0; margin-bottom: 10px; text-align: center; order: 2; position: relative; z-index: 2; }
	#headline .enTtl { font-family: "Cormorant Garamond", serif; font-weight: bold; display: block; letter-spacing: 0em; color: #dedede; position: absolute; top: 40%; left: 50%; transform: translate(-50%,-50%); z-index: 1; font-size: 2.5em; }
	#headline .bar-head { width: 50px; height: 2px; background: var(--base-color); margin: 0 auto; }
}
@media screen and (min-width: 1090px) {
	#headline { position: relative; padding: 10vh 6% 10vh; }
	#headline .ttl01 { color: #333; line-height: 1.5; letter-spacing: .2em; margin-bottom: 10px; position: relative; z-index: 2; font-size: 1.2em; font-weight: 700; }
	#headline .enTtl { font-family: "Cormorant Garamond", serif; font-weight: bold; display: block; letter-spacing: 0em; color: #dedede; position: absolute; top: 40%; transform: translateY(-50%); left: 3%; z-index: 1; font-size: 3.0em; }
	#headline .bar-head { width: 50px; height: 2px; background: var(--base-color);}
}
@media screen and (min-width: 1090px) and (max-width: 1189px)  {
	#headline .ttl01 { font-size: 1.1em; }
	#headline .enTtl { font-size: 2.8em; }
}
@media screen and (min-width: 1190px) and (max-width: 1189px)  {
	#headline .ttl01 { font-size: 1.15em; }
	#headline .enTtl { font-size: 2.9em; }
}

/*-- breadcrumbs ------------------------------------------------------------*/
#breadcrumbs { display: flex; justify-content: flex-end; align-items: center; padding: 10px 1%; background: #fff; border-top: 1px solid #dedede; border-bottom: 1px solid #dedede; position: relative; }
#breadcrumbs li { font-size: 0.8rem; margin-right: 5px; display: inline-block; }
#breadcrumbs li:nth-child(1):before { content:"\f109"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: 5px; }
#breadcrumbs li:after { content: "〉"; margin-left: 20px; color: #666; }
#breadcrumbs li:last-child { margin-right: 0px; }
#breadcrumbs li:last-child:after { display: none; }
@media screen and (max-width: 599px) {
	#breadcrumbs { margin-bottom: 0px; padding: 5px 2%; }
	#breadcrumbs li { font-size: 0.7rem; }
}

#breadcrumbs li a         { resize: none; }
#breadcrumbs li a:link    { color:#333; text-decoration: underline; }
#breadcrumbs li a:visited { color:#333; text-decoration: underline; }
#breadcrumbs li a:hover   { color:var(--base-color); text-decoration: underline; }
#breadcrumbs li a:active  { color:#333; text-decoration: underline; }

/*-- section ------------------------------------------------------------*/
@media screen and (max-width: 1089px){
	main { margin: 0 6%; }
	main section { margin-bottom: 10vh; }
	main .ttl01 { font-size: 1.5em; font-weight: 900; line-height: 1.0; margin-bottom: 10px; }
	main .enTtl { font-size: 4.0em; font-weight: 900; line-height: 1.0; margin-bottom: 40px; }
}
@media screen and (max-width: 899px) {
	.in-flex { display: flex; flex-direction: column; margin: 4% 2%; }
	.in-flex aside { margin-bottom: 5vh; order: 2; padding: 4%;  }
	.in-flex aside .side-in .sp-toggle { text-align: center; padding: 5px 0; position: relative; margin-bottom: 0px; }
	.in-flex aside .side-in .sp-toggle:after { content: "\f107"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; top: 50%; right: 2%; transform: translateY(-50%);}
	.in-flex aside .side-in .sp-toggle.active:after { content: "\f106"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; top: 50%; right: 2%; transform: translateY(-50%);}
	.in-flex aside .side-in ul li { padding: 10px; border-bottom: 1px dotted #dedede; border-left: 5px solid var(--base-color); }
	.in-flex aside .side-in ul li a { resize: none; display: block; }
	.in-flex aside .side-in ul li a:link    { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:visited { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li a:active  { color:#000; text-decoration: none; }
	.in-flex aside .side-in .sp-toggleContent { margin-bottom: 40px; }
	.in-flex aside .side-in h4 { background: #f4f4f4; padding: 5px 10px; text-align: center; margin-bottom: 10px;} 
	
	.in-flex main { order: 1; margin: 0 4%; }
}

@media screen and (min-width: 900px){	
	.in-flex { display: flex; justify-content: space-between; margin: 0 2%; }
	.in-flex aside { width: 16%; padding: 4% 2%; }
	.in-flex aside .side-in { position: sticky; top: 10%; }
	.in-flex aside .side-in ul { margin-bottom: 20px; }
	.in-flex aside .side-in ul li { border-left: 3px solid var(--base-color); padding: 10px 10px 10px 15px; border-bottom: 1px dotted #dedede; margin-bottom: 10px; font-size: 0.9em; cursor: pointer; }
	.in-flex aside .side-in ul li.subMenu { border-left:none; padding: 5px 0px 5px 5px; border-bottom: 1px dotted #dedede; margin-bottom: 10px; font-size: 0.9em; }
	.in-flex aside .side-in ul li.subMenu:before { content: "├"; margin-right: 0.25em; display: inline-block; vertical-align: top; }
	.in-flex aside .side-in ul li.subMenu a { display: inline-block; }
	
	.in-flex aside .side-in ul li:hover { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li a { resize: none; display: block; }
	.in-flex aside .side-in ul li a:link    { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:visited { color:#000; text-decoration: none; }
	.in-flex aside .side-in ul li a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li a:active  { color:#000; text-decoration: none; }
	
	.in-flex aside .side-in ul li:hover a { color: #fff; }
	.in-flex aside .side-in ul li:hover a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li:hover a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li:hover a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li:hover a:active  { color:#fff; text-decoration: none; }
	
	.in-flex aside .side-in ul li.current { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li.current:hover a { color: #fff; opacity: 0.7; }
	.in-flex aside .side-in ul li.current a { resize: none; display: block; }
	.in-flex aside .side-in ul li.current a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li.current a:active  { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.current.subMenu a { display: inline-block; }
	
	.in-flex aside .side-in ul li.active { background:var(--base-color); color: #fff; }
	.in-flex aside .side-in ul li.active:hover a { color: #fff; opacity: 0.7; }
	.in-flex aside .side-in ul li.active a { resize: none; display: block; }
	.in-flex aside .side-in ul li.active a:link    { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.active a:visited { color:#fff; text-decoration: none; }
	.in-flex aside .side-in ul li.active a:hover   { color:#fff; text-decoration: none; background: var(--base-color); }
	.in-flex aside .side-in ul li.active a:active  { color:#fff; text-decoration: none; }
	
	.in-flex aside .side-in ul li.toggle { position: relative; }
	.in-flex aside .side-in ul li.toggle:after { position: absolute; top: 50%; transform: translateY(-50%); right: 5px; font-family: "Font Awesome 5 Free"; content: "\f067"; font-weight: 900; opacity: 0.5;}
	.in-flex aside .side-in ul li.active.toggle:after { content: "\f068"; }
	
	.in-flex main { width: 80%; padding: 4% 0%; margin: 0; }
	.in-flex main section { margin-bottom: 10vh; }
	.in-flex main section .in-max { max-width: 1200px; }

	.in-flex main .ttl01 { font-size: 1.8em; font-weight: 900; line-height: 1.0; margin-bottom: 10px; }
	.in-flex main .enTtl { font-size: 5.0em; font-weight: 900; line-height: 1.0; margin-bottom: 40px; }
	
	.in-flex aside .side-in h4 { background: #f4f4f4; text-align: center; margin-bottom: 10px; padding: 5px 0;}
	.ttl { font-size: 2.0em; border-bottom: 1px solid var(--base-color); padding:5px 0; position: relative; margin-bottom: 40px; }
	.ttl span { position: absolute; top: -30px; right: -10px; font-size: 3.0em; font-family: "Oswald", sans-serif; font-weight: 700; z-index: -1; opacity: 0.1; line-height: 1.0; color: var(--base-color); }
	.ttl:after { content: ""; position: absolute; bottom: -3px; left: 0; width: 20%; height: 3px; background:var(--base-color); }
	
	.sign { font-size: 1.1em; font-weight: 700; }
	.sign span { margin-left: 1em; font-size: 1.3em; }
}
@media screen and (min-width: 1090px) and (max-width: 1189px){
}
@media screen and (min-width: 1190px) and (max-width: 1289px)  {
}
@media screen and (min-width: 1290px) and (max-width: 1389px)  {
}
@media screen and (min-width: 1390px) and (max-width: 1489px)  {
}
@media screen and (min-width: 1490px) {
}

/*-- company ------------------------------------------------------------*/
@media screen and (max-width: 599px) {
	.columnList li { display: flex; justify-content: space-between; align-items:flex-start; margin-bottom: 20px;}
	.columnList li .columnListL { width: 26%; margin-right: 4%; }
	.columnList li .columnListR { width: 70%; }
	.columnList li h4 { margin-bottom: 5px; font-size: 1.1em; }
	.columnList li p { margin-bottom: 0px; font-size: 0.9em; }
	.ttl01s { font-size: 1.8em ;margin-bottom: 10px; font-weight: 700;}
	
	.columnContent table { width: 100%; table-layout: fixed; }
	.columnContent table th { background: #f4f4f4; text-align: center; padding: 5px 10px; border: 1px solid #dedede; }
	.columnContent table td { background: #fff; text-align: center; padding: 5px 10px; border: 1px solid #dedede; }
	
	.columnContent h4 { font-weight: bold; font-size: 1.1em; margin-bottom: 10px;}
	.columnContent h5 { font-weight: bold; font-size: 1.1em; margin-bottom: 10px; margin: 20px 0; padding-left: 1em; border-left: 5px solid var(--base-color); }
	
	.columnContent ul { margin-bottom: 20px; }
	.columnContent ul li { padding:5px 0; text-indent:-1.0em; padding-left:1.0em; }
	.columnContent ul li:before { content:"・"; margin-right:10px; font-weight: bold; }
	
	.columnContent hr { display: block; border-top: 1px solid #dedede; margin-bottom: 40px; margin-top: 40px; }
}
@media screen and (min-width: 600px) {
	.columnList li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;}
	.columnList li .columnListL { width: 20%; margin-right: 4%; }
	.columnList li .columnListR { width: 76%; }
	.columnList li h4 { margin-bottom: 5px; font-size: 1.1em; }
	.columnList li p { margin-bottom: 0px; font-size: 0.9em; }
	
	.ttl01s { font-size: 1.8em ;margin-bottom: 10px; font-weight: 700;}
	
	.columnContent table { max-width: 1000px; width: 100%; table-layout: fixed; margin: 0; }
	.columnContent table th { background: #f4f4f4; text-align: center; padding: 5px 10px; border: 1px solid #dedede; }
	.columnContent table td { background: #fff; text-align: left; padding: 5px 10px; border: 1px solid #dedede; }
	
	.columnContent h4 { font-weight: bold; font-size: 1.1em; margin-bottom: 10px;}
	.columnContent h5 { font-weight: bold; font-size: 1.1em; margin-bottom: 10px; margin: 20px 0; padding-left: 1em; border-left: 5px solid var(--base-color); }
	
	.columnContent ul { margin-bottom: 20px; }
	.columnContent ul li { padding:5px 0; text-indent:-1.0em; padding-left:1.0em; }
	.columnContent ul li:before { content:"・"; margin-right:10px; font-weight: bold; }
	
	.columnContent hr { display: block; border-top: 1px solid #dedede; margin-bottom: 40px; margin-top: 40px; }
}

.cate { display: flex; margin-bottom: 10px; }
.cate dt { background: var(--base-color); color: #fff; font-size: 0.7em; border: 1px solid var(--base-color); padding: 2px 5px; line-height: 1.0; }
.cate dd { background: #fff; color: var(--base-color); font-size: 0.7em; border: 1px solid var(--base-color); padding: 2px 5px; line-height: 1.0; }
.cate dd .jp { font-family: 'Noto Serif JP','游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro', serif; margin-left: 5px; }










