/* ↓全体の文字カラー↓ */body {
color: #505050;
}
a:link { color: #505050; }
a:visited { color: #505050; }
a {text-decoration: none;}



/* ↓フォント、源ノ角ゴシック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;
}

/* ↓フォント、源ノ角ゴシックMedium↓ */
.gengm {
font-family: source-han-sans-japanese, sans-serif;
font-weight: 500;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックBold↓ */
.gengb {
font-family: source-han-sans-japanese, sans-serif;
font-family: Lato, sans-serif;
font-weight: 700;
font-style: normal;
}


/* ↓ローディング画像 */
.loader-bg {
  align-items: center;
  background-color: #fff;
  display: flex;
  height: 100vh;
  justify-content: center;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 9999;
}
.loader img {
  height: auto;
  width: 160px;
}
.wrap {
}




/* ↓頭一字下げ */
p.indentfront{
  text-indent: 1em;
}

/* ↓頭一字下げ */
p.minusindent{
  text-indent: -1em;
}


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

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



/* ↓パソコンのみ改行↓ */
@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; }
}


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



/* 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}


/* ↓GoogleMap↓ */
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


#map_canvas{
	position: relative;
	padding-top: 100%;
	width: 100%;
	overflow: hidden;
}
#map_canvas iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}


/* ↓スクロールに応じて要素を固定↓ */
.sticky {
    position: -webkit-sticky; /* Safari用 */
    position:sticky; /* 要素をスクロールに応じて固定 */
    top:+10px; /* 縦スクロールに追従 */
    z-index: 100; /* z-indexで最前面に持ってくる */
}



/* ↓スクロールに応じて要素を固定↓ */
#fixed {
  position: fixed;
  left: 0;
  margin: 0;/*余白が入らないように*/
  /*以下装飾*/
  width: 100%;
  color:white;
  }





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

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

/*ハンバーガーアイコンの線*/
.l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
  background-color: #ffffff;
  display: block;
  width: 32px;
  height: 2px;
  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 {
}
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before {
  background: #d87d06;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 0;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
  background: #d87d06;
  -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;
}



.btn-menu {
}

.btn-menu:hover {
  background-color:#FDA129;
  transition: .2s;
}


/* ↓画像に文字を重ねる↓ */
.ontext {/*親div*/
  position: relative;/*相対配置*/
  }

.ontext p {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  text-align: center;
  /*文字の装飾は省略*/
  }

.ontext img {
  width: 100%;
  }


/*ゆっくり透明に*/
.lbotan {
  transition: .3s;
}

/*ホバー時に透明度50%*/
.lbotan:hover {
  opacity: 0.5;
}

/* ↓スタッフ写真↓ */
.plofbottan2 img {
  width: 100%;
  height: 100px;
  object-fit: cover;
  margin-bottom: 5px;

}