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



/*テキストリンク*/   
.cp_link2 {
	padding: 0.1em 0.3em;
	position: relative;
	display: inline-block;
	transition: .3s;
}
.cp_link2::after {
	position: absolute;
	bottom: 2px;
	left: 0;
	content: '';
	width: 0;
	height: 16px;
	background: linear-gradient(transparent  30%, #e8f1f3  30%);
    z-index: -1;
	transition: .25s;
}
.cp_link2:hover::after {
	width: 100%;
}

/*テキストリンク簡易*/   
.cp_link1 {
	font-weight: 500;
}
.cp_link1:hover {
    color: #e8f1f3;
	transition: .5s;
}

/*テキストリンク*/   
.cp_link {
	padding: 0.1em 0.3em;
	position: relative;
	display: inline-block;
	transition: .3s;
}
.cp_link::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 40px;
	background: linear-gradient(transparent  75%, #e8f1f3  75%);
    z-index: -1;
	transition: .25s;
}
.cp_link:hover::after {
	width: 100%;
}





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

.latol {
font-family: Lato, sans-serif;
font-weight: 300;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;
}

/* ↓フォント、リュウミン↓ */
.ryu-m {
font-family: 'a-otf-ryumin-pr6n', serif;
font-weight: 300;
font-style: normal;
} 

/* ↓TBちび丸ゴシックPlusK Pro R↓ */
.chibi-mg {
font-family: 'tbchibirgothicplusk-pro', sans-serif;
font-weight: 400;
font-style: normal;
}


/* ↓砧 山本庵 StdN↓ */
.Kinuta {
font-family: yamamotoan-stdn, sans-serif;
font-weight: 400;
font-style: normal;
}


/* ↓フォント、Helvetica↓ */
.helve {
font-family: 'Helvetica','Arial',sans-serif;
font-weight:100; 
}


/* ↓フォント、Helvetica↓ */
.fonsan {
font-family: 'Helvetica','Arial',sans-serif;
font-weight:100; 
}




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

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

/* ↓字間、プロポーショナル字形に置き換え↓ */
.jikanpwid {
  font-feature-settings: "pwid";
}


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


/* ↓部分的な行間_4分アキ↓ */
.gyo2 {
line-height: 200%;
}

/* ↓部分的な行間_4分アキ↓ */
.gyo25 {
line-height: 250%;
}



/* ↓パソコンのみ改行↓ */
@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: 991px) {
.pc { display: none !important; }
.sp { display: block !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}


/* ↓メニュードロップダウン（ホバー）↓ */
.dropdown:hover>.dropdown-menu {
  display: block;
  padding:12px 25px 12px 15px;
}


/* ↓GoogleMap↓ */
#map_canvas{
	position: relative;
	padding-bottom: 66%;
	padding-top: 100px;
	height: 0;
	overflow: hidden;
}
#map_canvas iframe{
	position: absolute;
	top: 0;
	left: 0;
    width : 100%;
    height : 100%;
}

/* ↓convivia_color_slide↓ */
.convivia_color {
    position: relative;
    width: 100%;
    padding-top: 72.5%;
    }
 
.convivia_color iframe {
    position: absolute;
    top: 0;
    left: 0;
    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;
  }




/*ハンバーガーメニュー2*/
/* input非表示 */
        #check_input {
            display: none;
        }

/* /* ハンバーガーボタン */
        #menu_btn {
            position: fixed;
            top: 74px;
            right: 8px;
            height: 50px;
            width: 50px;
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius:8px;            
            z-index: 10000;
            background-color: #ffffff;
            cursor: pointer;
        }
       /* 三本線*/
        #menu_btn span,
        #menu_btn span::before,
        #menu_btn span::after {
            content: "";
            display: block;
            position: absolute;
            height: 2px;
            width: 25px;
            border-radius: 3px;
            background-color: #78a4ae;
            transition: all 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
            /*アニメーションのイージングも設定しておく*/
        }
        #menu_btn span::before {
            bottom: 8px;
        }
        #menu_btn span::after {
            top: 8px;
        }

        /* クリックされたら三本線が×に変化する */
        #check_input:checked ~ #menu_btn span {
            background-color: transparent; 
        }
        #check_input:checked ~ #menu_btn span::before {
            bottom: 0;
            transform: rotate(45deg);
        }
        #check_input:checked ~ #menu_btn span::after {
            top: 0;
            transform: rotate(-45deg);
        }

/* ドロワーメニュー */
        #menu_cont {
            position: fixed;
            top: 0;
            left: 100%; /*left 100%で画面の外に出しておく*/
            width: 80%;
            height: 100%;
            background: #fff;
            z-index: 90;
            transition: left 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
        }

        /* ドロワーメニュー外の背景 */
        #drawer_back {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 80;
        }

        /* メニューリストの装飾 */
        #menu_cont ul {
            padding: 10% 10% 0;
            margin-top:65px;
        }
        #menu_cont ul li {
            list-style: none;
        }
        #menu_cont ul li a {
            font-size: 16px;
            display: block;
            width: 100%;
            padding: 18px 15px;
            margin: 5px;
            color:#505050;
            text-decoration: none;
  border-radius:5px; 
  background-image: linear-gradient(rgba(0, 0, 0, 0) 50%, rgba(238, 238, 238) 50%);
  background-position: 0 0;
  background-size: auto 200%;
  transition: .1s;
        }
        /* メニューリストにカーソルが乗ったら */
        #menu_cont ul li a:hover {
  background-position: 0 100%;
  color: #505050;
        }



        /* クリックされたらドロワーメニュー表示 */
        #check_input:checked ~ #menu_cont {
            left: 35%;
        }
        #check_input:checked ~ #drawer_back {
            display: block;
        }
/*ハンバーガーメニュー2ここまで*/



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

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

}

/*ハンバーガーアイコンの線*/
.l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
  background-color: #78a4ae;
  display: block;
  width: 22px;
  height: 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: 16px;
}

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

.l-drawer__icon-parts:after {
  top: -16px;
}
.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;
}
.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__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;
}


/* ↓ワークス、サムネイル↓ */
.works figure {
	overflow: hidden;
}
.works figure img {
	transition: .25s;
}
a:hover figure img {
	transform: scale(1.1);
}


a.zo_btn {
	display: block;
    width: auto;
	padding: 0.2em;
	text-align: center;
	text-decoration: none;
    font-size:0.9em;
	color:#78a4ae;
	border: 1px solid #78a4ae;
	border-radius: 3px;
	transition: .4s;
}
a.zo_btn:hover {
	background: #78a4ae;
	color: #fff;
}


img.fuchi {
    border: 1px solid #C7C7C7;
}

/* ↓キリプロLPボタン↓ */
.kiri_btn{
  margin: 0 auto;
  overflow: hidden;

}
.kiri_btn img{
  cursor: pointer;
  transition-duration: 0.3s;
}
.kiri_btn:hover img{
  opacity: 0.6;
  transition-duration: 0.3s;
}
