@charset "utf-8";
/*共通の設定*/
* {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
}
.onlyPC {
	display: none;
}
a:hover{
	opacity: 0.8;
}
header, main, .inner {/*ボックスを分けているので、それぞれに同じwidthと中央配置を設定*/
	max-width: 920px;
	margin: 0 auto;
	padding: 0px 20px;
}

/*大きなボックスの設定*/
body {
	background: #fff;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 0.875em;
	color: #333;
	line-height: 1.5;
}

/*headerの設定*/
header {
	padding-top: 15px;
	padding-bottom: 15px;
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.8);
}
/* メニューアイコンを画面右上に固定しています */
.gMenu .menu-icon {
  cursor: pointer;
  position: absolute;
  right: 20px;
  top: 30px;
  padding-top: 5px;
  height: 12px;
}
/* メニューアイコン（三本線）の真ん中の線です */
.gMenu .menu-icon .navicon {
  background: #000; /* 色は自由に変更可能です */
  display: block;
  height: 2px; /* 太さ */
  width: 31px; /* 長さ */
  position: relative;
  transition: background .4s ease-out; /* 形が変わる時のアニメーション */
}
/* メニューアイコン（三本線）の上と下の線を疑似要素で追加 */
.gMenu .menu-icon .navicon::before,
.gMenu .menu-icon .navicon::after {
  background: #000; /* 色は自由に変更可能です */
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .4s ease-out; /* 形が変わる時のアニメーション */
  width: 100%;
}
.gMenu .menu-icon .navicon::before {top: 10px;} /* 位置を上にずらしています */
.gMenu .menu-icon .navicon::after {top: -10px;} /* 位置を下にずらしています */
/* 表示されるメニューです */
.gMenu .menu {
  background-color: rgba(255,255,255,0.9);
  overflow: hidden;
  max-height: 0; /* ★最初は高さを0にして非表示状態に */
  transition: max-height .6s; /* 表示されるときのアニメーション */
  text-align: center;
}
/* メニュー部分のデザインです */
.gMenu .menu li:first-of-type {
  padding-top: 50px;
}
.gMenu .menu li a {
  display: block;
  padding: 24px 20px;
  text-decoration: none;
  text-transform: uppercase;
}
.gMenu .menu li a:hover {
opacity:1;
  background-color:  #fff9db;;
}
/* チェックボックスは常に非表示です */
.gMenu .menu-btn {
  display: none;
}
/* ▼▼▼以下はチェックボックスがONの時の状態です▼▼▼ */
.gMenu .menu-btn:checked ~ .menu {
  max-height: 395px; /* ★チェックボックスがオンの時高さを338pxにして表示させます */
  transition: max-height .6s;
}
/* メニューボタンの中央の線を非表示に */
.gMenu .menu-btn:checked ~ .menu-icon .navicon {background: transparent;}

/* メニューボタンの上下の線を45度傾けて✕印を作ります */
.gMenu .menu-btn:checked ~ .menu-icon .navicon::before {transform: rotate(-45deg);top: 0;}
.gMenu .menu-btn:checked ~ .menu-icon .navicon::after {transform: rotate(45deg);top: 0;}
/* ハンバーガーメニューの設定はここまで */

/*mainの設定*/
main {
	margin-top: 100px;/* headerが重なるのでその分余白をとる */
	margin-bottom: 50px;
	width: 90%;
}
main .card {
	display: block;
	margin-bottom: 30px;
	padding: 20px;
background: #fff9db;
color: #6b5e4a;
	border-radius: 20px;
	text-align: center;
}
main .card section {
	display: flex;
	flex-direction: column;
	height: 100%;
}
main .card section h2 {
	margin-bottom: 5px;
	color: #555;
	font-weight: bold;
	font-size: 2.2em;
	font-family: 'Sorts Mill Goudy', serif;
	letter-spacing: .1em;
}
main .card section p:nth-child(2) {
	margin-bottom: 15px;
}
main .card section p:nth-child(3) {
	text-align: left;
	flex-grow: 1;/* PCとタブレットの時にボタンの位置を揃えるため伸ばす */
	flex-shrink: 0;/* 縮まない */
	margin-bottom: 20px;
}
main .card section p:last-child {
	height: 50px;
	border: solid 1px #99CC66; /* 少し濃い目の緑で枠線を締める */
	border-radius: 25px; /* 高さ50pxの半分を指定 */
	box-shadow: 0 0 10px #DDEEBB; /* 影も同系色にすると馴染みます */
	background: #fff3b0;
color: #6b5e4a;
	line-height: 50px;
	font-weight: bold;
	text-align: center; /* ボタンなら中央寄せがおすすめです */
}

/*footerの設定*/
footer {
	padding-bottom: 30px;
	background: url(../images/line01.gif) repeat-x left center;
}
footer ul {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 50px;
}
footer ul li a {
	border-right: solid 1px #333;
	padding: 0 8px;
}
footer ul li:last-child a {
	border-right: none;
	padding-right: 0;
}
footer ul li a:hover {
	text-decoration: underline;
	opacity: 1;
}
footer p {
	text-align: center;
	font-size: 13px;
}

/*============　タブレット用 768px以上の時　===========*/
@media screen and (min-width: 768px){
	.onlyPC {
		display: block;
	}
	.onlySP {
		display: none;
	}
	.flex {
		display: flex;
	}
	/*headerの設定*/
	header {
		position: static;/* position: fixed;を解除 */
		padding-top: 50px;
		padding-bottom: 40px;
		justify-content: space-between;
	}
	header .sns {
		font-size: 30px;
	}
	header .sns li {
		margin-left: 10px;
	}
	/*navの設定*/
	.gnav {/*幅を設定していないボックスに上下ボーダーと背景を設定*/
		border-top: dotted 1px #333;
		border-bottom: dotted 1px #333;
		background: #fff9db;
color: #6b5e4a;
	}
	.gnav ul li {
		border-right: dotted 1px #333;/*liの右にボーダーを設定*/
	}
	.gnav ul li:first-child {
		border-left: dotted 1px #333;
	}
	.gnav ul li a {
		display: block;
		padding: 10px 20px;/*aにpaddingを設定すると、その部分もリンク領域になる*/
		font-weight: bold;
		letter-spacing: .1em;/*字間を調整*/
		text-shadow: 1px 1px 0 #fff;
	}
	.gnav ul li a:hover {
		background:rgba(0,0,0,0.25);
		opacity: 1;/*共通設定したopacityを解除する*/
	}
	/*mainの設定*/
	main {
		justify-content: space-between;
		margin-top: 20px;/* mainのSPの時のmargin-top: 100px;をPC用に調整 */
		width: 100%;/* mainのSPの時のwidthを90%から100%に変更 */
	}
	main .card {
		width: calc(280 / 920 * 100%);
	}
	footer p {
		font-size: 16px;
	}
}

/*============　PC用 960px以上の時　===========*/
@media screen and (min-width: 960px){
	header, main, .inner {
		padding-left: 0;/* mainのSPの時の左右のpaddingを変更 */
		padding-right: 0;
	}
	main {
		padding-top: 205px;/*背景画像の高さ+余白をpaddingで設定して背景画像が表示されるようにする*/
		background: url(../images/vis01.jpg) no-repeat center top;/*キーイメージを背景で設定*/
	}
}