
/*== ボタン共通設定 */
.btn{
    /*アニメーションの起点とするためrelativeを指定*/
    position: relative;
	overflow: hidden;
    /*ボタンの形状*/
	text-decoration: none;
	display: inline-block;
   	border: 1px solid #555;/* ボーダーの色と太さ */
    padding: 10px 30px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/   
    transition: ease .2s;
}

/*ボタン内spanの形状*/
.btn span {
	position: relative;
	z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
	color:#333;
}

.btn:hover span{
	color:#fff;
}

/*== 背景が流れる（左から右） */
.bgleft:before {
 	content: '';
    /*絶対配置で位置を指定*/
 	position: absolute;
 	top: 0;
 	left: 0;
 	z-index: 2;
    /*色や形状*/
 	background:#333;/*背景色*/
 	width: 100%;
	height: 100%;
    /*アニメーション*/
 	transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
 	transform: scale(0, 1);
	transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
	transform-origin:left top;
	transform:scale(1, 1);
}



/*塗りから線に変わる*/
.btnchangeline {
    /*線の基点とするためrelativeを指定*/
	position:relative;
    /*ボタンの形状*/  
	color:#333;
    padding: 10px 30px;
	display:inline-block;
    text-decoration: none;
    outline: none;
    /*アニメーションの指定*/   
	transition:all 0.3s ease-in-out;
}

/*線の設定*/
.btnchangeline::before {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    /*線の形状*/
    width: 100%;
    height: 100%;
    border-top: 1px solid #666;
    border-bottom: 1px solid #666;
    /*はじめは透過0に*/
    opacity: 0;
    transform: scale(0, 1);
    /*アニメーションの指定*/   
    transition: all 0.3s;
}

/*背景の設定*/
.btnchangeline::after {
    content: '';
    /*絶対配置で背景の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    /*背景の形状*/
    width: 100%;
    height: 100%;
    background-color:#333;
    /*アニメーションの指定*/ 
    transition: all 0.3s;
}

/*hoverした際の背景と線の形状*/
.btnchangeline:hover::before {
    opacity: 1;/*不透明に*/ 
    transform: scale(1, 1);/*X方向に線を伸ばす*/
}

.btnchangeline:hover::after {
    opacity: 0;/*透過0に*/
    transform: scale(0, 1);/*X方向に背景を縮小*/
}

/*テキストの設定*/
.btnchangeline span {
    /*テキストを前面に出すためz-indexの値を高く設定*/  
	position: relative;
	z-index: 2;
    /*テキストの形状*/
	color: #fff;
    /*アニメーションの指定*/   
    transition: all 0.3s;
}

/*hoverした際のテキストの形状*/
.btnchangeline:hover span {
    letter-spacing: 2px;
	color: #333;
}




/*==================================================
共通　横並びのための設定
===================================*/

.gnavi{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;/*スマホ表示折り返し用なのでPCのみなら不要*/
    list-style: none;
    margin: 100px 0 0 20px;
    width: 14%;
}
.gnavi a{
    text-decoration: none;
    font-family: 'Cambria',sans-serif;
    color: #4B4B4B;
    font-size: 28px;
    letter-spacing: 2px;
}
.gnavi li a{
    padding:10px 30px;
    text-decoration: none;
    color: #333;
}

.gnavi li{
    z-index: 100;
    list-style: none;
    padding-top: 50px;
}

/*==================================================
　5-3-1 中心から外に線が伸びる（下部）
===================================*/

.gnavi li a{
    /*線の基点とするためrelativeを指定*/
	position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
	color:#72b0c0;
}

.gnavi li a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 30px;
    /*線の形状*/
    width: 75px;
    height: 2px;
    background:#72b0c0;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

/*現在地とhoverの設定*/
.gnavi li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}



@media screen and (max-width:640px) {
.gnavi{
    display: none;
}



}








