@charset "utf-8";
/*リセット
==================================================================================================================*/
html, body, h1, h2, h3, h4, h5, h6, div, p, hr, dl, dt, dd, ol, ul, menu, li
, form, fieldset, legend, label, table, caption, thead, tbody, tfoot, tr, th, td
, section, header, main, article, aside, nav, footer, address, summary
, span, a, cite, strong, em, small, i, b, q, u, sub, sup, ruby, rt
, img, picture, source, figure, figcaption, canvas, iframe, audio, video {
  font-size: inherit; font-weight: inherit; font-style: inherit; text-align: inherit;
  margin: 0; padding: 0; background-repeat: no-repeat; border: 0 none; }
* { outline: none; box-sizing: border-box; }
*:focus { outline:none; }
html { -webkit-text-size-adjust: none; height:100%; }
body { font-style:normal; font-weight:normal; font-size:100%; text-align:left; }
ol, ul, li { list-style-image: none; list-style-position: outside; list-style-type: none; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
img { border:0 none; width: auto; height: auto; max-width: 100%;vertical-align: top; }
strong, em { font-weight:bold; }
small{ font-size:80%; }
sub,sup{ font-size:70%; line-height:0; position:relative; vertical-align:baseline; }
sup{ vertical-align:text-top; top:-.5em; }
sub{ vertical-align:text-bottom; bottom:-.25em; }

.fMin { font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
.fGot{ font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; }
.fMaru{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO"; }
.fTime{ font-family: "Times New Roman","Times New Roman",sans-serif; }
@font-face { font-family:"FAsolid"; src:url("./fa-solid-900.woff") format("woff"); }
@font-face { font-family:"FAregular"; src:url("./fa-regular-400.woff") format("woff"); }

.dbl{display: block;}
.dib{display: inline-block;}
.din{display: inline;}
.dtb{display: table;}
.right, .right p{ text-align:right; }
.center, .center p { text-align:center; }
.under{ text-decoration: underline;}
.bold{ font-weight: bold; }
.small{ font-size: 90%; }
.small2{ font-size: 80%; }
/*a[target="_blank"]::after { font-family: "FAsolid"; font-weight:900; content: "\f35d"; display: inline-block; margin:0 0 0 3px; }
*/
.sns_icon a[target="_blank"]::after { display: none;}
.float_left {float: left;}
.float_right {float: right;}
.img_left{ display:block; float:left; margin:0 30px 30px 0; }
.img_right{ display:block; float:right; margin:0 0 30px 30px; }
.img_top{ margin-bottom:30px; }
.clear { clear: both; }
.clearfix::after { display: block; clear: both; content: ""; }
.flex{ display: flex; flex-flow: row wrap; }
.flex_between{ justify-content: space-between; }
.flex_center{ justify-content: center; }
.flex_around{ justify-content: space-around; }
.flex_a_center{ align-items: center; }
.flex_a_end{ align-items: flex-end; }

.indent, .note li { padding-left:1em; text-indent: -1em;}
.note li{line-height: 1.5;margin-bottom: 0.5em;}
.lineclamp2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow:hidden; }
.lineclamp3 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow:hidden; }

/*基本スタイル
==================================================================================================================*/
/*基本文字サイズ&文字色*/
html { font-size:16px; }
body {
  font-family:'Kiwi Maru',"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.8;
  color:#333;
  font-weight: 400;
  letter-spacing: 0.1em;
  background: #ffede9;
}
/*
.wf-active body {
  font-family: "Noto Sans JP", 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo, sans-serif;
}
*/
h1, h2, h3, h4, h5, h6 { padding:.6em 0; }
h1,h2,h3{
  font-weight: normal;
  text-align: center;
  margin-bottom: 30px;
}
.tit_under::after{
	content: "";
	display: block;
	background: url(../images/tit_under.png);
	width: 226px;
	height: 10px;
	margin: 5px auto 0;
}

.tit_under.pnk::after{
	background: url(../images/tit_under_pnk.png);
}

p { margin:0px 0px .8em 0px; } /*下部に余白*/
.cap01{ font-size: 85%; display: block; line-height: 1.2; }

/*リンク文字色*/
a{text-decoration: none;color:#0099cc;}
a:hover   { color:#00a9f0; opacity: 0.8; }

/*マーカー＆強調文字色*/
.c_mrk { background-color:#e5d89b; padding:0 3px; } /*ラインマーカー*/
.c_posi  {color:#d64a5a;}/*positive*/
.c_point {color:#900000;}/*point up*/
.c_nega  {color:#5488a2;}/*negative*/
.c_off   {color:#cac5ba;}/*off*/

/*テーブル*/
table { border-collapse: collapse; border-spacing:0; width: 100%; }
caption { text-align:left; font-weight:bold; color:#993300; }
th,td{ border: #7f9255 1px solid; padding:10px 20px; font-size: 1rem; vertical-align:top; }
thead th,tfoot th { background-color:#728c42; color:#fff; }
thead td,tfoot td { background-color:#999; color:#fff; }
tbody th { background-color: #a0cc3c; color: #fff; }
tbody td { background-color:#fff; }

/*区切り線*/
hr{clear:both;border:0px solid #fff;padding:15px 0;width:0;}
hr.br{ border:none; }

.img_frame { border: solid 4px #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 10%); }

/*レイアウト共通*/
#container  { width: 100%; position: relative; overflow: hidden;}
.inner{ width:96vw; max-width: 1100px; margin:0 auto; }
.inner:after{ content: ""; display: block; clear: both; }
.inner-section{ width: 96vw; max-width: 1100px; margin:0 auto; padding: 50px 0; }

.contents_btm01{margin-bottom: 100px;}
.contents_btm02{margin-bottom: 80px;}
.contents_btm03{margin-bottom: 60px;}
.contents_btm04{margin-bottom: 40px;}
.contents_btm05{margin-bottom: 20px;}
.contents_btm0{margin-bottom: 0;}
.p0{padding: 0 !important;}
.mb0{margin-bottom: 0 !important;}

@media (max-width:999px) {
	body { letter-spacing: 0.1em;}
}

@media (max-width:799px) {
	.inner-section, .inner { width: 92vw;padding: 30px 0;}
}
@media all and (min-width: 600px){
  .noPC{ display:none !important; }
}
@media all and (max-width: 599.999px){
  .noSP{ display:none !important; }
}
@media (max-width: 599px){
  .noTab, .noTab caption, .noTab thead, .noTab tfoot, .noTab tbody, .noTab tr, .noTab th, .noTab td {
    display:block; width:100%; }
  .noTab tr { margin-top:10px; }
  .img_left{ float:none; margin:10px auto; text-align:center; }
  .img_right{ float:none; margin:10px auto; text-align:center; }
}
@media (max-width:599px) {
  body{line-height: 1.7;}
  .order1{ order: 1; }
  .order2{ order: 2; }
  .contents_btm01{margin-bottom: 4rem;}
  .contents_btm02{margin-bottom: 2rem;}
  .contents_btm03,.contents_btm04{margin-bottom: 1rem;}
  h1, h2, h3 { margin: 0;}
}

img.br30{border-radius: 30px;}

/*グローバルナビゲーション
==================================================================================================================*/
/*ヘッダー*/
header{ width: 100%; padding: 0; position: relative;}
#hdr_logo h1 { width: 100px; height: auto; padding: 0;}
#gnav_wrap{position: relative;z-index: 99;background: #fff;height: 60px;}
.nav_menu {width: 100%;}
.nav_menu > li a { display: block; }

/*グローバルメニュー*/
#gnav{ font-weight: bold; letter-spacing: 0.4em;}
#gnav li a{ height: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; overflow: hidden; color: #111; padding: 5px;}
.hamMenu{display: none;}
#header .overlay { position:fixed; display:none; z-index:20; top:0; left:0; width:100vw; height:calc(100vh - 50px); background:rgba(200,200,200,.5);}


.hamMenu p{height: 30px;}
	#gnav { letter-spacing: 0.3em;}
	#gnav_wrap { height: auto;}
	#hdr_logo h1 a { display: block; padding: 10px;}
	#hdr_logo h1 img { height: 100%;}
	#header{position: fixed;top: 0;width: 100%;z-index: 99999;}
	.header_inner.inner{padding: 10px 5px;}
	#gnav_wrap{display: block!important;transition: .5s ease-in-out;float: none;width: 30%;height: 100vh;padding-top: calc( 50px + 0.5em );margin: 0;position: absolute;top: 0;right: -50vw;z-index: 1000;overflow: auto;}
	.menu-is-open #gnav_wrap {transform: translateX(-50vw);}
	.hamMenu{display: block;width: 50px;height: 50px;position: absolute;top: 20px;right: 10px;z-index: 2000;text-indent: -9999px;margin: 0;background: none; cursor: pointer;}
	.hamMenu span {display:block;position:absolute;top:14px;right:10px;width:30px;height:4px;background:#584e4a;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
	.hamMenu span:before {content:'';position:absolute;width:30px;height:4px;background:#584e4a;top:-9px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
	.hamMenu span:after {content:'';position:absolute;width:30px;height:4px;background:#584e4a;bottom:-9px;right:0;-moz-transition:all 0.3s;-webkit-transition:all 0.3s;transition:all 0.3s;}
	.menu-is-open .hamMenu span {background:none;}
	.menu-is-open .hamMenu span:before {transform:rotate(-135deg);top:0;right:0;}
	.menu-is-open .hamMenu span:after {transform:rotate(135deg);bottom:0;right:0;}
	#gnav{background: #fff;}
	#gnav li{width: 100%;border: none;}
	#gnav li a{padding: .75em; border-bottom: 1px #ccc dotted;}
	.menu-is-open #header .overlay { display:block; }

@media (max-width:999px) {
	#hdr_logo h1 { width: 8vw;}
}

@media (max-width:699px) {
	#hdr_logo h1 { width: 60px;}
	#gnav_wrap{width: 100%;right: -100vw;}
.menu-is-open #gnav_wrap {transform: translateX(-100vw);}	

}
@media (max-width:599px) {
	header{ padding: 0; }
	header::before{ display: none; }
	#hdr_logo h1{width: 11vw;padding: 0;}
	#hdr_logo h1 a { padding: 5px;}
	.hamMenu { top: 5px;}
	.hamMenu span { top: 15px;}
	#gnav_wrap, .menu-is-open #gnav_wrap { padding-top: calc( 60px + 0.5em );}
	#header .overlay { top: 60px;}
}

/*フッター*/
#bread { background:#eee; font-size:80%; padding:0.3em; }
#bread li { display:inline-block; }
#bread li::before { font-family:FAsolid; content:"\f105"; font-weight:900; color:red; display:inline-block; margin:.1em .5em; }
#bread li:first-of-type::before { content:"\f015"; margin:.1em .5em .1em 0; }
#bread a { color:green; }

#footer{ background: #e6dfdb; width: 100%; color: inherit;padding: 50px 0 20px;}

#footer .left_area{
	width: 60%;
}
#footer #foot_nav{
	width: 30%;
}
#footer .left_area #foot_logo{
	width: 20%;
	margin-right: 5%;
}

#footer .left_area dl{
	width: 75%;
}
#footer .left_area dl dt{
	color: #727171;
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: .35em;
}

#footer li a{
	color: inherit;
}

#copy{ text-align: right; font-size: 0.875rem;}



@media (max-width: 799px){


#footer .left_area dl dt{font-size: 3.5vw;}



}




@media (max-width:599px){
#footer{ padding: 30px 0 0; }

#footer .left_area,#footer #foot_nav{
	width: 100%;
}
#footer .left_area{
	margin-bottom: 20px;
}
#footer .left_area dl dt{font-size: 1.5rem;}
#footer #foot_nav li{
	display: inline-block;
	margin: 2%;
}
#copy{ text-align: center;}

}



.onoff { opacity: 0; transition:all 1s; }
.onoff.on { opacity: 1; }

.btn_more01{
	width: 100%;
	max-width: 260px;
	margin: auto;
}
.btn_common a{display: block; font-size: 1.125rem; padding: .75em; margin: auto; text-align: center; font-weight: bold;letter-spacing: 0.4em;}
.btn01 a { background: #ef624f;color: #fff;}

.gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative;}
.gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

#page_top{ width: 70px; height: 70px; position: fixed; z-index: 9999; display:none; right: 30px; bottom: 30px; background: rgba(0,0,0,0.8); border-radius: 50%;}
#page_top.on { display:block; }
#page_top a{ position: relative; display: block; width: 70px; height: 70px; text-decoration: none; text-align: center; color: #fff;}
#page_top a::before{ font-family: FAsolid; font-weight: 900; content: '\f106'; display: block; font-size: 25px; color: #fff; width: 25px; height: 25px; margin: 0 auto 10px; text-align: center;}
@media (max-width: 599px){
	#page_top{ width: 50px; height: 50px; right: 5px; bottom: 50px;}
	#page_top a{ width: 50px; height: 50px; line-height:1;}
	#page_top a::before{ margin-bottom:2px;}
.btn_common a{font-size: 1rem;}	
}
@media (max-width: 369px){
	#page_top, #page_top a{width: 45px;height: 45px;}
	#page_top{bottom: 45px;}
	#page_top a::before{margin-bottom:0;height: 22px;}
}

.bg01{ background: #ffd3c9;}


/*サブページ
-------------------------------------------------------------------------------------------------------------------*/
.sub_main{height: 40vw; max-height:360px;width: 100%;position: relative;overflow: hidden;}
.hoiku_business_page .sub_main{background: url(../hoiku_business/hoiku_main_img.jpg) center center;background-size: cover;}
.food_business_page .sub_main{background: url(../food_business/food_main_img.jpg) center center;background-size: cover;}
.company_page .sub_main{background: url(../company/company_main_img.jpg) center center;background-size: cover;}
.recruit_page .sub_main{background: url(../recruit/recruit_main_img.jpg) center center;background-size: cover;}
.contact_page .sub_main{background: url(../contact/contact_main_img.jpg) center center;background-size: cover;}

.sub_main h1{	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;font-size: 2.75rem;color: #f1705e;
	text-align: center;line-height: 1;
	background: url(../images/sub_bg.png);
	background-position: 50% 50%;
	background-size: cover;
	min-width: 378px;
	height: 261px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sh1 { font-size: 2.25rem; color: #ef624f; text-align: center;margin-bottom: 1em;line-height: 1.4;font-weight: bold;}
.sh1::after{
	content: "";
	display: block;
	background: url(../images/tit_under.png);
	width: 180px;
	height: 10px;
	margin: 10px auto 0;
}
.sh2 { font-size: 1.35rem; text-align: center;margin-bottom: 1em;}

.sh3{
    background: #fff;
    border-radius: 50px;
    color: #ef624f;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
}
.mt{ margin-top: 50px;}
#main{margin-bottom: 30px;}

@media (max-width:799px) {

.sub_main h1{
	font-size: 5.5vw;
	min-width: 300px;
	height: 206px;
}
.ah1{font-size: 2rem;}
.sh1 { font-size: 2rem;}
.sh2 { font-size: 1.25rem;}
.mt{margin-top: 30px;}
}



@media (max-width:599px){
.sub_main h1{
	font-size: 2rem;
}	
	.ah1{ font-size: 1.25rem; margin-bottom: 20px; }
	.sh1 { font-size: 1.5rem;}
	.sh2 { font-size: 1.2rem;}
}

@media (max-width:499px){
.sub_main h1{
	font-size: 1.5rem;
	min-width: 240px;
	height: 162px;
}	
}
