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

/* ↓フォント、FOT-筑紫A丸ゴシック↓ */
.tsukua {
font-family: fot-tsukubrdgothic-std, Lato, sans-serif;
font-weight: 400;
font-style: normal;
}s
/* ↓フォント、FOT-筑紫A丸ゴシック↓ */
.tsukuab {
font-family: fot-tsukuardgothic-std, sans-serif;
font-weight: 700;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシック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-family: Lato, sans-serif;
font-weight: 700;
font-style: normal;
}
/* ↓フォント、源ノ角ゴシックHeavy、Lato↓ */
.gengh {
font-family: source-han-sans-japanese, sans-serif;
font-family: Lato, sans-serif;
font-weight: 900;
font-style: normal;
}

/* ↓フォント、りょうゴシック、EL↓ */
.ryogel {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 200;
font-style: normal;
}
/* ↓フォント、りょうゴシック、L↓ */
.ryogl {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 300;
font-style: normal;
}
/* ↓フォント、りょうゴシック、R↓ */
.ryogre {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 400;
font-style: normal;
}
/* ↓フォント、りょうゴシック、M↓ */
.ryogm {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
}
/* ↓フォント、りょうゴシック、B↓ */
.ryogb {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
}
/* ↓フォント、りょうゴシック、H↓ */
.ryogh {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 800;
font-style: normal;
}
/* ↓フォント、りょうゴシック、UH↓ */
.ryoguh {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 900;
font-style: normal;
}

/* ↓フォント、りょうゴシック、UH↓ */
.shingol {
font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
font-weight: 300;
font-style: normal;
}

/* ↓お知らせ強調箇所↓ */
.news1 {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
color:#267cd0;
}



/* ↓頭一字下げ */
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がついた画像が表示される */
@media only screen and (min-width: 992px) {
.pc-w { display: block !important; }
.sp-w { display: none !important; }
}
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 991px) {
.pc-w { display: none !important; }
.sp-w { display: block !important; }
}


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

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

/* 576px以下の際に右揃えと左揃え */
@media only screen and (max-width: 576px) {
.sp-l { float: right !important; }
.sp-r { float: left !important; }
}





/* 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%);
}


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



.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}



/* ↓スクロールに応じて要素を固定↓ */
.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;
  background-color:#1e859a;
  right: 0px;
  top: 0;
  width: 60px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 60px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
  margin-top: -10px;

}

/*ハンバーガーアイコンの線*/
.l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
  background-color: #ffffff;
  display: block;
  width: 32px;
  height: 3px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  border-radius: 1.5px;
}
.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: 9px;
	}
}

.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: -300px; /* これで隠れる */
  top: 0;
  width: 300px; /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 80px;
  background-color: #fff;
  transition: all .7s;
  cursor: pointer;
  z-index: 600;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}

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

/*ドロワーメニュー内リスト（ドロップダウン）*/
.l-drawer__itemd {
  list-style: none;
  padding: 0 14px 0 0px;
}
/*ドロワーメニュー内リンクテキスト（ドロップダウン）*/
.l-drawer__itemd a {
  display: block;
  padding: 15px 5px 15px 10px;
  color: #111;
}
/*メニューにカーソルが乗ったら（ドロップダウン）*/
.l-drawer__itemd 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;
  background-color: #fff;
}
.l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
  background-color: #fff;
}
/*メインエリアを暗くする*/
.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;
}



.phone_btn {
position:absolute; top:15px; right:75px;
background-color:#c69359;
width:42px;
height:42px;
border-radius: 50%;
color: #fff;
opacity: 1;
}
.phone_btn:hover {
background:#fff;
border: 1px solid #c69359;
border-radius: 50%;
color: #c69359;
transition: 0.6s;
}



.news_midashi {
    margin: 0 auto;
	display: block;
    width:100px;
    height:100px;
    background: #c69359;
	text-align: center;
	color: #fff;
    border-radius: 50%;
}


a.menu_btn {
    margin: 0 auto;
	display: block;
    width:125px;
    height:125px;
	padding: 0.2em;
    background: #fff;
	text-decoration: none;
	color: #1e859a;
	transition: .6s;
    border-radius: 50%;
}
a.menu_btn:hover {
	text-decoration: none;
	background:#1e859a;
	color: #fff;
    font-weight: 700;
}



.btn-menu {
}

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




/* フッターの右揃え */
@media screen and (min-width: 768px){	
  .foo-pc { text-align:right; }
}
@media screen and (max-width: 768px){	
  .foo-sp { text-align:left; }
}


/* TOP画像のマージン */
@media screen and (min-width: 768px){	
  .ma-pc { margin-top:135px; }
}
@media screen and (max-width: 768px){	
  .ma-sp { margin-top:-5px; }
}

/* 下層ページ上部のマージン */
@media screen and (min-width: 768px){	
  .ma-k-pc { margin-top:160px; }
}
@media screen and (max-width: 768px){	
  .ma-k-sp { margin-top:50px; }
}

/* 下層ページヘッダ下のマージン */
@media screen and (min-width: 768px){	
  .head-pc { margin-top:280px; }
}
@media screen and (max-width: 768px){	
  .head-sp { margin-top:80px; }
}