@charset "UTF-8";
@import url("grid.css");

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
    display:block;
    color: #333;
    text-decoration-line: none;
}
a:hover { 
    color: #999;
}
a img:hover {
	opacity: 0.8;
}

.underline {
	border-bottom: 3px solid #00866b;
	padding-bottom: 0.5rem;
}
.center {
	text-align: center;
}

.inner {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	height: inherit;
}


/*カーソル載せた時の動き*/
.hover:hover {
    /*浮いた感じ。影を少し広くとってやる*/
    box-shadow: 0px 10px 20px #ccc;
    /*少し上に動かす。縦方向だからY，上だからマイナス*/
    transform: translateY(-5px);
    /*つながって動いているように見せる*/
    transition: .3s;
}



/*ヘッダー
-------------------------------------*/
header {
	background: #005842;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 20;
	
	/* ナビ固定するなら、次の要素（article）に、この高さ分margin-top入れること */
	height: 100px;
	
	color: #fff;
}

.header__inner {
	display: flex;

	/* 縦方向のセンタリング（親と子に高さ指定必要） */
	align-items: center;
	height: inherit;
	
}

header h1 { 
    padding: 0;
    margin: 0;
}

.header__nav {
	margin-left: auto;
	height: inherit;
}

@media (max-width: 767px) {
	.header__nav {
	  display: none;
	}
}

.header__nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;

	/* 縦中央（本人と親に高さ指定） */
	align-items: center;
	height: inherit;
}

.header__nav ul li {
	margin-right: 40px;
}

.header__nav ul li a {
	transition: all 0.3s ease 0s;
	color: inherit;
	display: block;
	position: relative;

	list-style: none;
	padding: 0;
	margin: 0;
	align-items: center;
}

.header__nav ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	height: 2px;
	background: red;
	opacity: 0;
	transition: all 0.3s ease 0s;
}

/* ホバー時、テキスト部分 */
.header__nav ul li a:hover {
	opacity: 0.7;
}

/* ホバー時、疑似要素部分 */
.header__nav ul li a:hover::after,
.header__nav li a.is-active::after {
	opacity: 1;
  }
  

/*------------------------------------
メイン
-------------------------------------*/
.sub2 {
	position: relative;
	overflow: hidden;

	/* ナビ固定してるので、ナビ高さ分のmargin-top入れる */
	margin-top: 100px;
}

h2 {
	margin-top: 40px;
}

/*------------------------------------
模写ページ
-------------------------------------*/
/*
-------------*/
.act {
    margin-top: 50px;
}
.act list {
    width: 100%;
}

/*ボックス（list）設定　code begin②
---------------------------------------------------------------------------*/
/*ボックス１個あたりの設定*/
.sub2 .list {
	position: relative;overflow: hidden;
	margin-bottom: 20px;	/*ボックス同士の上下間の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 20px;	/*ボックス内の余白。変更する際は、下の「#main .list a」のmarginとpaddingの数字も変更する。*/
	background: linear-gradient(#FFF, #eee);	/*グラデーション*/
	box-shadow: 0px 2px 5px #ccc;	/*影の設定。右・下・ぼかし幅・色の設定*/
}


/*ボックスにリンク指定がされた場合に出る「→」マーク*/
.sub2 .col a::before {
	content: "→";	/*この文字を出す。他の文字に変えても可だが機種依存文字は化けるので使わない。*/
	position: absolute;
	right: 20px;	/*ボックスの右から20pxの場所に配置*/
	bottom: 20px;		/*ボックスの上から20pxの場所に配置*/
	background: #999;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.5);	/*rgb指定での背景色。「0,0,0」は黒の事で「0.5」が透明度50%の事。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	border-radius: 4px;		/*角丸のサイズ*/
	width: 30px;		/*幅*/
	line-height: 30px;	/*高さ*/
	text-align: center;
}



/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background: #00866b;
    color: #fff;
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background: #21c0a0;
}


/* ドロワーメニュー */
.drawer-icon {
	position: fixed;
	top: 20px;
	right: 16px;
	z-index: 300;
	display: none;
	transition: transform 0.5s ease 0s;
  }
  @media (max-width: 767px) {
	.drawer-icon {
	  display: block;
	}
  }
  .drawer-icon.is-active {
	transform: translateX(-200px);
  }
  .drawer-icon.is-active .drawer-icon__bar1 {
	transform: rotate(-45deg);
	top: 8px;
  }
  .drawer-icon.is-active .drawer-icon__bar2 {
	display: none;
  }
  .drawer-icon.is-active .drawer-icon__bar3 {
	transform: rotate(45deg);
	top: 8px;
  }
  
  .drawer-icon__bars {
	width: 22px;
	height: 20px;
	display: block;
	position: relative;
  }
  
  .drawer-icon__bar {
	position: absolute;
	width: 22px;
	height: 4px;
	background: #fff;
	top: 0;
	left: 0;
  }
  
  .drawer-icon__bar1 {
	top: 0;
  }
  
  .drawer-icon__bar2 {
	top: 8px;
  }
  
  .drawer-icon__bar3 {
	top: 16px;
  }
  
  .drawer-content {
	width: 200px;
	height: 100%;
	position: fixed;
	right: 0;
	top: 0;
	background: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
	z-index: 299;
	transform: translateX(105%);
	transition: transform 0.5s ease 0s;
  }
  .drawer-content.is-active {
	transform: translateX(0);
  }
  
  .drawer-content__item {
	border-bottom: 1px dotted #707070;
  }
  .drawer-content__item a {
	display: block;
	color: #707070;
	text-decoration: none;
	padding: 18px 20px;
	position: relative;
  }
  .drawer-content__item a::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 11px;
	background: url(../img/arrow-b@2x.png) no-repeat center center/contain;
  }
  
  .drawer-background {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 298;
	display: none;
  }
  .drawer-background.is-active {
	display: block;
  }