/* ↓全体の文字カラー↓ */
body {
color: #4f4e4e;

font-size: 16px;
line-height: 210%;
}


/* ↓全体のリンク文字↓ */
a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}



/* ↓部分的な行間↓ */
.gyo {
line-height: 175%;
}

/* ↓部分的な行間↓ */
.gyo200 {
line-height: 200%;
}

/* ↓部分的な行間↓ */
.gyo250 {
line-height: 250%;
}


/* ↓プロポーショナルメトリクス↓ */
.jikanpm {
  font-feature-settings: "palt";
}

/* ↓字間、かなツメ↓ */
.jikankana {
  font-feature-settings: "pkna";
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.tpc { display: block !important; }
.tsp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 576px) {
.tpc { display: none !important; }
.tsp { display: block !important; }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.tpc2 { display: block !important; }
.tsp2 { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 400px) {
.tpc2 { display: none !important; }
.tsp2 { display: block !important; }
}


/* ↓フォント、源ノ角ゴシックExtraLight、Lato↓ */
.gengel {
font-family: source-han-sans-japanese, sans-serif;
font-family: Lato, sans-serif;
font-weight: 100;
font-style: normal;
}

/* ↓フォント、源ノ角ゴシックLight↓ */
.gengl {
font-family: source-han-sans-japanese, sans-serif;
font-weight: 200;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックNormal、Lato↓ */
.gengn {
font-family: source-han-sans-japanese, sans-serif;
font-family: Lato, sans-serif;
font-weight: 300;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックRegular、Lato↓ */
.gengre {
font-family: source-han-sans-japanese, sans-serif;
font-family: Lato, sans-serif;
font-weight: 400;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックMedium↓ */
.gengm {
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックBold、Lato↓ */
.gengb {
font-family: source-han-sans-japanese, sans-serif;
font-weight: 700;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックHeavy、Lato↓ */
.gengh {
font-family: source-han-sans-japanese, sans-serif;
font-weight: 900;
font-style: normal;
}

/* ↓フォント、源ノ明朝ExtraLight↓ */
.genmel {
font-family: source-han-serif-japanese, serif;
font-weight: 200;
font-style: normal;
}
/* ↓フォント、源ノ明朝Light↓ */
.genml {
font-family: source-han-serif-japanese, serif;
font-family: Lato, sans-serif;
font-weight: 300;
font-style: normal;
}
/* ↓フォント、源ノ明朝Regular↓ */
.genmre {
font-family: source-han-serif-japanese, serif;
font-family: Lato, sans-serif;
font-weight: 400;
font-style: normal;
}
/* ↓フォント、源ノ明朝Medium↓ */
.genmm {
font-family: source-han-serif-japanese, serif;
font-weight: 500;
font-style: normal;
}
/* ↓フォント、源ノ明朝 SemiBold↓ */
.genmsb {
font-family: source-han-serif-japanese, serif;
font-weight: 600;
font-style: normal;
}
/* ↓フォント、源ノ明朝Bold、Lato↓ */
.genmb {
font-family: source-han-serif-japanese, serif;
font-weight: 700;
font-style: normal;
}
/* ↓フォント、源ノ明朝Heavy↓ */
.genmh {
font-family: source-han-serif-japanese, serif;
font-weight: 900;
font-style: normal;
}




/* ↓フォント、リュウミンLight↓ */
.ryu {
font-family: a-otf-ryumin-pr6n, serif;
}


/* ↓フォント、century↓ */
.century {
font-family: century-old-style-std,serif;
font-weight: 400;
font-style: normal;
}


/* ↓フォント、再描画防止 */
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}


/* ↓ページ見出し↓ */
h2 {
    padding: 0.1em;
    margin: 1.5em 0;
	text-align:center;
    background: #364269;/*背景色*/
}
h2 p {
    color: #fff;
	font-size:30px;
    font-weight: 300;
    margin: 0; 
    padding: 0;
}


/* ↓中見出し↓ */
h3 {
	text-align:center;
    color: #e2041b;
	font-size:30px;
    font-weight: 400;
    padding:0;
}



/* ↓パソコンのみ改行↓ */
@media screen and (min-width: 650px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
/* ↓スマホのみ改行↓ */
@media screen and (max-width: 650px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}




/*ハンバーガーメニュー*/


/*ドロワー*/
.l-drawer {
  position: relative;
}
.l-drawer__checkbox {
  display: none;
}
/*ハンバーガーアイコンのサイズ*/
.l-drawer__icon {
  position: absolute;
  background-color:rgba(255,255,255,0.8);
  right: 15px;
  top: 20px;
  width: 45px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 45px; /* クリックしやすいようにちゃんと高さを指定する */
  border-radius: 50%;/*角丸*/
  cursor: pointer;
  z-index: 300;
}

/*ハンバーガーアイコンのサイズ、下層ページ*/
.l-drawer__icon_k {
  position: absolute;
  right: 15px;
  top: 20px;
  width: 45px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 45px; /* クリックしやすいようにちゃんと高さを指定する */
  border-radius: 50%;/*角丸*/
  cursor: pointer;
  z-index: 300;
}

/*ハンバーガーアイコンの線*/
.l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
  background-color: #8A9847;
  display: block;
  width: 28px;
  height: 1px;
  border-radius: 2px; /* 線の端を丸く */
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
  content: " ";
}
.l-drawer__icon-parts:before {
  top: 18px;
}

/* Firefoxのズレ修正 */
@-moz-document url-prefix() {
.l-drawer__icon-parts:before {
  top: 10px;
	}
}

.l-drawer__icon-parts:after {
  top: -18px;

}
.l-drawer__overlay {
  background: #000;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
}

/*ドロワーメニュー*/
.l-drawer__menu {
	
  position: fixed;
  margin: 0;
  padding: 0;
  right: -320px; /* これで隠れる */
  top: 0;
  width: 320px; /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 60px;
  background-color: #fff;
  transition: all .7s;
  cursor: pointer;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

/*ドロワーメニュー内リスト*/
.l-drawer__item {
  list-style: none;
  padding: 0 24px 0 0;
  margin-left: -15px;
}
/*ドロワーメニュー内リンクテキスト*/
.l-drawer__item a {
  display: block;
  padding: 28px 5px 20px 20px;
  border-bottom: 1px solid #eee;
  color: #111;
}
/*メニューにカーソルが乗ったら*/
.l-drawer__item a:hover {
  text-decoration: none;
  background-color: #eee;
}

/*重なりを調整（1がメインエリア）*/
.l-drawer__icon {
  z-index: 4;
}
.l-drawer__menu {
  z-index: 3;
}
.l-drawer__overlay {
  z-index: 2;
}

/*クリック後のハンバーガーアイコン*/
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts {
  background: transparent;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
}

/*クリック後のハンバーガーアイコン、下層ページ*/
.l-drawer__checkbox:checked ~ .l-drawer__icon_k .l-drawer__icon-parts {
  background: transparent;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon_k .l-drawer__icon-parts:before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon_k .l-drawer__icon-parts:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
}

    
/*メインエリアを暗くする*/
.l-drawer__checkbox:checked ~ .l-drawer__overlay {
  opacity: 0.5;
  pointer-events: auto;
}
.l-drawer__checkbox:checked ~ .l-drawer__menu {
  right: 0;
}

/* ↓動きをスムーズに↓ */
.l-drawer__icon-parts, .l-drawer__icon-parts:after, .l-drawer__icon-parts:before, .l-drawer__overlay, .l-drawer__menu {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}



/*ページ内リンク位置修正*/
a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

a.anchor_h{
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}




/* Bootstrapのガター幅を調整するための汎用CSS */
.row-0{ margin-left:0px;  margin-right:0px}
.row-0 >div{ padding-right:0px;  padding-left:0px}
.row-10{ margin-left:-5px;  margin-right:-5px}
.row-10 >div{ padding-right:5px;  padding-left:5px}
.row-20{ margin-left:-10px;  margin-right:-10px}
.row-20 >div{ padding-right:10px;  padding-left:10px}
.row-30{ margin-left:-15px;  margin-right:-15px}
.row-30 >div{ padding-right:15px;  padding-left:15px}
.row-40{ margin-left:-20px;  margin-right:-20px}
.row-40 >div{ padding-right:20px;  padding-left:20px}
.row-50{ margin-left:-25px;  margin-right:-25px}
.row-50 >div{ padding-right:25px;  padding-left:25px}




a.we_btn {
    margin: 0 auto;
	display: block;
    width:200px;
    height:200px;
	padding: 0.2em;
    background: #fff;
	text-align: center;
	text-decoration: none;
	color: #8A9847;
	transition: .6s;
    font-family: source-han-serif-japanese, sans-serif;
    font-weight: 200;
    font-style: normal;
    border-radius: 50%;
}
a.we_btn:hover {
	background:#8A9847;
	color: #fff;
    font-weight: 700;
}



.box_green {
	position: relative;
	text-align: center;
	color: #8A9847;
    background: #fff;/*背景色*/
	height: 120px;
}
.box_green:hover {
	background:#8A9847;
	color: #fff;
    transition: 1.2s;
}
.box_green p {
	position: absolute;
	top: 40%;
	left: 51%;
	-webkit-transform : translate(-50%,-50%);
	transform : translate(-50%,-50%);
	text-align: center;/*一応BOX内の文字も中央寄せ*/
}


.yoyaku {
position:absolute; top:15px; right:80px;
background-color:rgba(255,255,255,0.5);
padding:0px 8px;
border: 1px solid #879D4E;
border-radius: 5px;
color: #879D4E;
opacity: 1;
}
.yoyaku:hover {
	background:#8A9847;
	color: #fff;
    transition: 0.6s;
}

.yoyaku_k {
position:absolute; top:15px; right:70px;
background-color:none;
padding:0px 8px;
border: 1px solid #879D4E;
border-radius: 5px;
color: #879D4E;
opacity: 1;
}
.yoyaku:hover_k {
	background:#8A9847;
	color: #fff;
    transition: 0.6s;
}



.topics {
    width:80%;
    max-width:400px;
    background:#8A9847;
    color: #fff;
    padding:2px; 
    height:40px;
    transition: 0.6s;
    border-radius:20px;
}
.topics:hover {
	background:#fff;
	color: #8A9847;
    transition: 1.6s;
}


.detailed {
    width:140px;
    background:#fff;
    padding:0px; 
    height:34px;
    border-radius:17px;
}
.detailed:hover {
	background:#8A9847;
	color: #fff;
    transition: 1.6s;
}



/* ↓ボックス、アイコン、オイルあり↓ */
.boxicon {
   color: #ffffff;
   white-space: nowrap;		/* 改行させない */
   font-size:80%;
   background-color:#879D4E;    /* 背景色指定 */
   padding:2px 6px ;              /* 余白指定 */
   border-radius: 5px;
}

/* ↓ボックス、アイコン、オイルなし↓ */
.boxicon-s {
   color: #879D4E;
   white-space: nowrap;		/* 改行させない */
   font-size:80%;
   background-color:none;    /* 背景色指定 */
   padding:2px 6px ;              /* 余白指定 */
   border: solid 1px #879D4E ;
   border-radius: 5px;
}

/* ↓ボックス、アイコンSP、オイルあり↓ */
.boxiconsp {
   color: #ffffff;
   white-space: nowrap;		/* 改行させない */
   font-size:80%;
   background-color:#D19E4F;    /* 背景色指定 */
   padding:2px 6px ;              /* 余白指定 */
   border-radius: 5px;
}

/* ↓ボックス、アイコンSP、オイルあり↓ */
.boxstaff {
   color: #8F9448;
   white-space: nowrap;		/* 改行させない */
   font-size:80%;
   background-color:#FCF6CB;    /* 背景色指定 */
   padding:2px 6px ;              /* 余白指定 */
   border-radius: 5px;
}

/* ↓スタッフ募集の枠↓ */
.recruitblock {
    color:#879D4E;
    border-radius:10px;
    border:1px solid #879D4E;
    line-height:180%;
}
/* スタッフ募集の枠（PC） */
@media only screen and (min-width: 561px) {
.recruitblock { padding:2.5em 4em }
}
/* スタッフ募集の枠（スマホ） */
@media only screen and (max-width: 560px) {
.recruitblock { padding:2.5em 0.5em }
}

/* スタッフ募集の枠（PC） */
@media only screen and (min-width: 561px) {
.recruitblocks { padding:0em 1em }
}
/* スタッフ募集の枠（スマホ） */
@media only screen and (max-width: 560px) {
.recruitblocks { padding:0em 0em }
}



/* メニューページ */
@media only screen and (min-width: 941px) {
.mblock { padding:0% 8%; margin-bottom:120px }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 940px) {
.mblock { padding:0% 3%; margin-bottom:40px }
}



/* メニューページ、bottom少なめ */
@media only screen and (min-width: 941px) {
.mblock_s { padding:0% 8%; margin-bottom:60px }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 940px) {
.mblock_s { padding:0% 3%; margin-bottom:20px }
}


/* スタッフページ */
@media only screen and (min-width: 941px) {
.staff_block { padding:0% 8%; margin-bottom:120px }
}


/* ↓ボックス、アイコン、お知らせリスト↓ */
.news_list {
   color: #879D4E;
   white-space: nowrap;		/* 改行させない */
   font-family: source-han-sans-japanese, sans-serif;
   font-weight: 300;
   font-style: normal;
   font-size:90%;
   background-color:none;    /* 背景色指定 */
   padding:5px 32px ;              /* 余白指定 */
   border: solid 1px #879D4E ;
   border-radius: 5px;
}

.news_list:hover {
	background:#8A9847;
	color: #fff;
    transition: 0.6s;
}

.news_link {
  position: relative;
  display: inline-block;
  transition: .5s;
}
.news_link::after {
  position: absolute;
  bottom: 3px;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #879D4E;
  transition: .3s;
}
.news_link:hover::after {
  width: 100%;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 940px) {
.staff_block { padding:0% 15%; margin-bottom:40px }
}


/* スマホ（sm以下）のみ1文字インデント */
@media only screen and (max-width: 575px) {
.inde-s { text-indent:1em }
}