@charset "UTF-8";
/*--------------------------
共通 CSS
--------------------------*/

/* Windows 用 Medium 指定の游ゴシック */
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
}

/* font-weight: bold の時は通常どおり Bold 書体を使わせる */
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

/*全体レイアウト*/
*, *:before, *:after {
	box-sizing: border-box;
}
html {
	font-size: 16px;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.8;
	font-feature-settings : "palt";
	color: #001a0e;
}
section, .section {
	padding: 1rem;
}
.container {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
}
main > .container {
	width: calc(100% - 2rem);
	margin:0 auto 4rem;
}
@media (max-width: 767px) {
section, .section {
	padding: 0;
}
main > .container {
	margin:0 auto 2rem;
}
}

@media (max-width: 543px) {
html {
	font-size: 14px;
}
}

/*リンク・ボタン*/
a {
	color: #00693C;
	font-weight: bold;
}
a, a:hover, a:focus, a img, a:hover img, a:focus img, button, button:hover, button:focus {
	transition: all 100ms ease-in;
	backface-visibility: hidden;
}

a:hover {
	text-decoration:none;
}

a img:hover {
	opacity: 0.5;
}

a:focus, button:focus, a:focus img {
	outline: 2px dotted;
	outline-offset: 1px;
}
button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	appearance: none;
}

/*見出し*/
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	line-height: 1;
}
h3 {
	font-size: 1.5rem;
	padding: 1rem 0.5rem 0.5rem;
	border-bottom: 3px solid;
	position: relative;
	margin: 2rem -0.5rem 0;
}
h4 {
	font-size: 1.25rem;
	padding: 0.6rem 0.5rem;
	background-color: #ccded6;
	margin: 1.5rem -0.5rem 0;
}
h5 {
	font-size: 1.25rem;
	margin: 2rem 0 0;
}

/*リスト*/
ul li {
	list-style: none;
}
ul.check {
	padding:0;
	margin:1rem 0 0;
}
ul.check > li {
	padding:0 0 1rem 1rem;
	position: relative;
}
ul.check > li:before{
	position:absolute;
	font-family: FontAwesome;
	content : "\f058";
	left:0;
}
ul.border {
	margin: 1rem 0 0;
	padding: 0;
}
ul.border > li {
	padding: 0.6rem 0;
	border-bottom: 1px solid;
}
ul.col2 {
	overflow: hidden;
	margin: 1rem -1rem 0;
}
ul.col2 > li {
	float: left;
	width: calc(50% - 2rem);
	margin: 0 1rem;
}
@media (max-width: 991px) {
ul.col2 > li {
	width: calc(100% - 2rem);
}
}

/*ボタン汎用*/
a.btn {
	background-color: #005933;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	display: inline-block;
	padding: 0.5em 1.5em;
	border-radius: 5px;
}

a.btn:hover {
	background-color: #fff;
	color: #005933;
}
a.btn:focus {
	outline-color: #fff000;
	outline-offset: -6px;
}

/*その他要素*/
p {
	padding: 0.6rem 0;
	margin: 0;
}
b {
	background-color: #fff000;
	font-weight: normal;
}
small{
	font-weight: normal;
}
img {
	width: 100%;
	display: block;
}
.att:before {
	font-family: FontAwesome;
	content : "\f071";
	padding-right: 0.5rem;
	display: inline-block;
}
.pdf:before {
	font-weight: normal;
	font-family: FontAwesome;
	content : "\f1c1";
	padding: 0 0.2rem 0 0.5rem;
	color: #c00;
	display: inline-block;
}
.zip:before {
	font-weight: normal;
	font-family: FontAwesome;
    content : "\f1c6";
    padding: 0 0.2rem 0 0.5rem;
	display: inline-block;
}

.xls:before {
	font-weight: normal;
	font-family: FontAwesome;
    content : "\f1c3";
	padding: 0 0.2rem 0 0.5rem;
	color: #0b3;
	display: inline-block;
}
.doc:before {
	font-weight: normal;
	font-family: FontAwesome;
    content : "\f1c2";
	padding: 0 0.2rem 0 0.5rem;
	color: #08d;
	display: inline-block;
}

/*スクリーンリーダー対策*/
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/*Javascript無効設定*/
#noscript {
	background-color: #fff000;
	margin: 0;
	padding: 0.6rem 1rem;
	font-size: 1rem;
}

/*ヘッダーナビゲーション*/
body {
	padding-top:3.5rem;
}
header {
	height: 3.5rem;
	background-color: #005933;
	color: #fff;
	font-size: 0;
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 9999;
}
header h1 {
	font-size: 1.5rem;
	padding: 1rem 0 0 1rem;
	display: inline-block;
}
header h2 {
	font-size: 1rem;
	padding: 0.5rem 1rem 1rem;
	display: inline-block;
}
header nav {
	position: absolute;
	width: 100%;
	top: 0;
	text-align: right;
}
header nav ul, header nav ul li {
	padding: 0;
	display: inline-block;
}
header nav a, header nav button {
	background-color: #005933;
	color: #fff;
	font-size: 1rem;
	line-height: 3.5;
	display: inline-block;
	padding: 0 1rem;
	text-decoration: none;
}
header nav a:hover, header nav button:hover {
	background-color: #fff;
	color: #005933;
}
header nav a:focus, button:focus {
	outline-color: #fff000;
	outline-offset: -6px;
}
header nav button {
	display: none;
}

@media (max-width: 1199px) {
body {
	padding-top: 6.5rem;
}
header {
	height: 6.5rem;
}
header nav ul {
	margin-top: 3.5rem;
	width: 100%;
}
header nav ul li {
	width: 20%;
	text-align: center;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}
header nav ul li:first-child {
	border-left: none;
}
header nav ul li a {
	line-height: 3;
	display: block;
}
}

@media (max-width: 767px) {
body {
	padding-top: 5rem;
}
header {
	height: 5rem;
}
header h1, header h2 {
	display: block;
}
header nav button {
	display: inline-block;
	line-height: 5;
	border-left: 1px solid #fff;
	font-weight: bold;
}
header nav button:before {
	font-size: 1rem;
	line-height: 1;
	font-weight: normal;
	font-family: FontAwesome;
	padding-right: 0.5rem;
}
header nav button.open:before {
	content : "\f0c9";
}
header nav button.open:after {
	content : "を開く";
}
header nav button.close:before {
	content : "\f00d";
}
header nav button.close:after {
	content : "を閉じる";
}
header nav ul {
	margin-top: 0;
	display: none;
}
header nav ul li {
	width: 100%;
	border-left: none;
	text-align: left;
}
}

@media (max-width: 543px) {
body {
	padding-top: 8rem;
}
header {
	height: 8rem;
}
header nav button {
	margin-top: 5rem;
	line-height: 3;
	width: 100%;
	border-left: none;
	border-top: 1px solid #fff;
}
}

@media (min-width: 768px) {
header nav ul {
	display: inline-block !important;
}
}

/*お問い合わせ*/
#contact {
	background: url(../img/photo/footer.jpg) no-repeat center bottom;
	background-size: cover;
	text-align: center;
	font-style: normal;
	position: relative;
	min-height: 18rem;
}
#contact dl {
	margin:0;
	position: absolute;
	bottom: 50%;
	right: 50%;
	transform: translate(50%, 50%);
	padding: 2rem;
	background: rgba(255,255,255,0.60);
	border-radius: 10px;
	width: calc(100% - 2rem);
	max-width: 45rem;
}
#contact dt {
	font-size: 1.75rem;
	font-weight: bold;
	line-height: 1.2;
}
#contact dd {
	margin: 0;
	line-height: 1.2;
	padding: 0.5rem;
}
#contact dd.tel {
	font-size: 1.25rem;
	font-weight: bold;
	display: inline-block;
	padding: 0 0.5rem;
}
#contact dd.mail {
	font-size: 1.25rem;
	font-weight: bold;
	padding: 0.5rem 0 1rem;
}
#contact .mail:before {
	font-family: FontAwesome;
	content : "\f003";
	color: #005933;
	padding-right: 0.5rem;
}

/*フッター*/
footer {
	background-color: #005933;
	position: relative;
}
footer a, footer small {
	color: #fff;
	padding: 1rem;
	line-height: 1;
}
footer a {
	display: inline-block;
	text-decoration: none;
}
footer a:hover {
	background-color: #fff;
	color: #005933;
}
footer a:focus {
	outline-color: #fff000;
	outline-offset: -6px;
}
footer small {
	position: absolute;
	bottom: 0;
	right: 0;
}

@media (max-width: 767px) {
footer {
	height: 6rem;
	text-align: center;
}
footer a {
	display: block;
	border-bottom: 1px solid #fff;
}
footer small {
	width: 100%;
	display: block;
}
}

/*可変改行*/
br.var {
	display: none;
}

@media (min-width: 1200px) {
br.el {
	display: inherit;
}
}

@media (max-width: 1199px) and (min-width: 992px) {
br.lg {
	display: inherit;
}
}

@media (max-width: 991px) and (min-width: 768px) {
br.md {
	display: inherit;
}
}

@media (max-width: 767px) and (min-width: 544px) {
br.sm {
	display: inherit;
}
}

@media (max-width: 543px) {
br.xs {
	display: inherit;
}
}

/*ヒーローヘッダー・パンくずリスト*/
#headline {
	background:no-repeat center center;
	background-size: cover;
	position: relative;
	height: 15rem;
}
#headline section {
	width: 100%;
	position: absolute;
	bottom: 0;
	background: rgba(255,255,255,0.60);
}
#headline section > div {
	position: relative;
}
#headline section h2 {
	line-height: 1;
	font-size: 1.75rem;
	padding: 1rem;
}
#headline section p {
	position: absolute;
	padding: 6rem 9rem 2rem 0;
	right: 0;
	bottom: -1rem;
	background: no-repeat 95% 100%;
	background-size: auto 100%;
}
#localnav {
	text-align: right;
}
#localnav ul {
	margin:1rem 0 0;
}
#localnav ul li:after {
	content: "　｜　";
}
#localnav ul li:last-child:after {
	content: none;
}
#localnav ul li {
	display: inline-block;
}

@media (max-width: 767px) {
#headline section h2 {
	
	padding: 1rem 1rem 2.75rem;
}
#headline section p {
	width: 100%;
	padding: 6rem 1rem 0.75rem;
	bottom: 0;
}
#localnav {
	text-align: left;
}
#localnav ul li {
	display: block;
	padding: 0.6rem 0;
	border-bottom: 1px solid;
}
#localnav ul li:after {
	content: none !important;
}
}
#acrobat{
	margin:2rem 1rem;
	padding:0 0 0 3.5rem;
	position:relative;
}
#acrobat:before {
	position:absolute;
	font-family: FontAwesome;
	content : "\f1c1";
	color: #c00;
	font-size:3rem;
	line-height:1.2;
	top:0;
	left:0;
}
@media (max-width: 767px) {
#acrobat{
	margin:1rem 0;
}
}
/*--------------------------
メモ
---------------------------*/
/*
1.25rem = 20px
1.5rem = 24px
1.75rem = 28px
2rem = 32px
2.25rem = 36px
2.5rem = 40px
2.75rem = 44px
3rem = 48px
*/

/*el*/
@media (min-width: 1200px) {/*幅1200px以上で適用されるスタイル*/
}

/*lg*/
@media (max-width: 1199px) {/*幅1199px以下で適用されるスタイル*/
}

@media (min-width: 992px) {/*幅992px以上で適用されるスタイル*/
}

/*md*/
@media (max-width: 991px) {/*幅991px以下で適用されるスタイル*/
}

@media (min-width: 768px) {/*幅768px以上で適用されるスタイル*/
}

/*sm*/
@media (max-width: 767px) {/*幅767px以下で適用されるスタイル*/
}

@media (min-width: 544px) {/*幅544px以上で適用されるスタイル*/
}

/*xs*/
@media (max-width: 543px) {/*幅543px以下で適用されるスタイル*/
}
