@charset "UTF-8";

/*デフォルトCSS無効化
　全ての要素の前後の余白を0、boxのサイズ計算の指定  -->　外部のリセットCSSを適用のため記述せず
*,
::before,
::after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
 */

/*リストの行頭記号なし　　→　olも含めて指定　*/
ul,
ol {
	list-style: none; /* none disc circle square decimal decimal-leading-zero 等がある　*/
}

/*リンクの色を親要素と同じとし、青字、アンダーラインの解消*/
a {
	color: inherit; /* 親要素の色を継承*/
	text-decoration: none; /* linkを示すアンダーラインを非表示に*/
}

/* bodyの基本設定 　個別に設定が無ければ、基本設定が適用される*/
body {
	font-family: sans-serif;
	font-size: 16px;
	color: #000000;  /*#000でも可*/
	line-height: 1; /* 行間１指定 */
	background-color: #ffffff; /*#fffでも可*/
}

/* 画像の幅が親要素の幅を超えないように　最大幅を親要素の100%で指定 */
img {
	max-width: 100%;
}

/*ヘッダー内部　横並び、位置調整*/
.header-inner {    /* header の全ての範囲（ロゴ、ボタン、ナビ）　*/
	max-width: 1200px; /* ディスプレイの解像度（横） 約1300PXを前提に1200pxで設定*/
	height: 110px;
	margin-left: auto;
	margin-right: auto; /* 左右のmarginをautoにすることで、ヘッダ領域を画面の中央に配置　*/
	padding-left: 40px; /*要素内の余白を指定*/
	padding-right: 40px;
	display: flex; /* flex-box 配置を指定 ロゴ、ボタン、ナビブロックが横並びに　*/
	justify-content: space-between; /* 水平方向の配置 */
	align-items: center; /* 縦方向の揃え */
}

/* PC表示の場合に、バーガーメニューを非表示にする*/
.toggle-menu-button {
	display: none; /* スマホの場合に、ONにする */
}

/*ロゴ(img)をライン要素からブロック要素に変更し、サイズを調整する*/
.header-logo {
	display: block;
	width: 170px; /* 縦横比を固定のまま、幅のみ指定　*/
}

/*サイトメニューリストを横並びにする*/
.site-menu ul {
	display: flex;
}

/*メニュー間に余白を追加*/
.site-menu ul li {
	margin-left: 20px;
	margin-right: 20px;
}

/*google フォント*/
.site-menu ul li a {
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
}

/* テキストアニメーション */

.gnavi li a {
	position: relative;
}

.gnavi li a:hover,
.gnavi li.current a {
	color: #c51;
}

.gnavi li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #c51;
	transition: all 0.3S;
	transform: scale(0,1);
	transform-origin: left top;
}

.gnavi li a:hover::after,
.gnavi li.current a::after {
	transform: scale(1,1);
}

/*フッターの文字色：白、背景を設定
　　並びを縦方向にする*/
.footer {
	color: #ffffff;
	background-color: #24211b;
	padding-top: 30px;
	padding-bottom: 15px;
	display: flex;
	flex-direction: column;
	align-items: center; /*　配置方向の交差軸（この場合横方向）の配置を指定 */
}

.footer-logo {
	display: block;
	width: 235px;
	margin-top: 90px;
}

.footer-tel {
	font-size: 26px;
	font-weight: bold;
	margin-top: 28px;
}

.footer-time {
	font-size: 13px;
	margin-top: 16px;
}

.copyright {
	font-size: 14px;
	font-weight: bold;
	margin-top: 90px;
}

/* テキストアニメーション */

.gnavi-f li a {
	position: relative;
}

.gnavi-f li a:hover,
.gnavi-f li.current a {
	color: #fff;
}

.gnavi-f li a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #fff;
	transition: all 0.3S;
	transform: scale(0,1);
	transform-origin: left top;
}

.gnavi-f li a:hover::after,
.gnavi-f li.current-f a::after {
	transform: scale(1,1);
}

/* PC表示　電話リンク　無効化 */

@media (min-width: 801px) {
	a[href^="tel:"] {
  pointer-events: none;
	}
}

/* モバイル　表示調整 */

@media (max-width: 800px) { 

	.site-menu ul {
		display: block; /* メニューの表をFLEX-boxから、ブロック要素に再設定 */
		text-align: center;
	}

	.site-menu li {
		margin-top: 20px;
	}

	.header {
		position: fixed; /*headerを上部に固定*/
		top: 0;
		left: 0;
		right: 0; /* positionを固定すると、別レイアとして取扱扱われる*/
		background-color: #ffffff;
		height: 50px;
		z-index: 10; /* 最前面に表示させるために z-indx を　10　とする　*/
		box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
	}

	.header-inner {
		padding-left: 20px;
		padding-right: 20px;
		height: 100%; /* 親要素と同じ高さ */
		position: relative; /* adsoluteの親要素に指定*/
	}

	.header-logo {
		width: 100px; /* ロゴの大きさ調整 */
	}

	.header-site-menu {
		position: absolute;
		top: 100%; /* 親要素から、親要素と同じ高さの位置に表示 */
		left: 0;
		right: 0;
		color: #ffffff;
		background-color: #736E62;
		padding-top: 30px;
		padding-bottom: 50px;
		display: none; /* ボタンがクリックされるまで、非表示とする */
	}

	.gnavi li a:hover,
	.gnavi li.current a {
		color: #fff;
	}

	.gnavi li a::after {
		background-color: #fff;
	}

	.is-show {
		display: block; /* javascriptで、ボタンがクリックされた場合に、クラス名is-showが追加 */
	} /* is-showが追加されたセレクタを、ブロック要素として表示 */

	.toggle-menu-button {
		display: block;
		position: relative;/*ボタン内側の基点となるためrelativeを指定*/
		background:#fff;
		cursor: pointer;
    width: 50px;
    height:40px;
	}

	/*ボタン内側*/
	.toggle-menu-button span {
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background: #000;
		width: 45%;
	}

	.toggle-menu-button span:nth-of-type(1) {
		top:15px;	
	}
	
	.toggle-menu-button span:nth-of-type(2) {
		top:23px;
	}
	
	.toggle-menu-button span:nth-of-type(3) {
		top:31px;
	}

	/*activeクラスが付与されると線が回転して×に*/

	.toggle-menu-button.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 35%;
	}

	.toggle-menu-button.active span:nth-of-type(2) {
		opacity: 0;/*真ん中の線は透過*/
	}

	.toggle-menu-button.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 35%;
	}

	.main {
		padding-top: 50px;

	}

	.footer-logo {
		margin-top: 60px;
	}

	.footer-tel {
		font-size: 20px;
		text-decoration: underline;
	}

	.copyright {
		margin-top: 50px;
	}

}


