@charset "utf-8";

/*----------------------------------------------------
	Reset CSS
----------------------------------------------------*/
/*
Modification:Qurion
Base:
OZ RESET CSS
Author: ONZE
Author URI: http://on-ze.com
Version: 1.1
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

*, *:before, *:after {
	border:0;
	margin:0;
	outline:0;
	padding:0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	font:inherit;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:none;
	vertical-align:baseline;
}

html {	/* スクロールバー常時表示・スマホ調整 */
	overflow-y: scroll;
	font-size: 62.5%;
}

body {
	line-height:1;
	position:relative;
		-webkit-text-size-adjust:100%;
		-moz-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
		-o-text-size-adjust:100%;
		text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	width:100%;
	height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,hr {display:block;}
ol,ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}

/*----------------------------------------------------
　Webフォント
----------------------------------------------------*/
/* Noto Sans JP、Noto Serif JP */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@600&display=swap');

/*----------------------------------------------------
　基本設定
----------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}
/* ie6 hack */
* html .clearfix {
	height: 1%;
}
/* ie7 hack */
*:first-child+html .clearfix {
	min-height: 1%;
}
/* フォント他 */
body {
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
 	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	color: #333333;
	margin: 0;
	padding: 0;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;

	/*overflow: hidden;*/
}
/* 見出しフォント自動カーニング */
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
	letter-spacing: 0.04em;
	font-feature-settings: "palt" 1;
}
/* 画像プロテクト */
.protect {
	pointer-events: none;
}

strong {
	font-weight: 700;
}

/*----------------------------------------------------
　リンク設定
----------------------------------------------------*/
a:link {
	color: #789900;
	/*text-decoration: none;*/
}
a:visited {
	color: #789900;
	text-decoration: none;
}
a:hover {
	color: #789900;
	text-decoration: underline;
	transition: .4s;
}
a:active {
	color:#789900;
	text-decoration: underline;
	transition: .4s;
}

a {
    -webkit-transition: 0.2s linear;
       -moz-transition: 0.2s linear;
         -o-transition: 0.2s linear;
            transition: 0.2s linear;
}
a:hover { filter: alpha(opacity=70); -moz-opacity: 0.70; opacity: 0.70; cursor: pointer; }

/* Link Icon */
.linkIcon,
.linkIconBlank {
	line-height: 1;
	display: block;
	margin: 30px auto;
	text-align: center;
	border: 1px solid #8fab1a;
	width: 360px;
}
.linkIcon a,
.linkIconBlank a {
	height: 100%;
	width: 100%;
	display: block;
}
.linkIcon a:hover,
.linkIconBlank a:hover {
	background-color: #f3f9da;
	transition: .4s;
}
.linkIcon a span,
.linkIconBlank a span {
	position: relative;
	display: inline-block;
	padding: 20px;
}
.linkIcon a span::after,
.linkIconBlank a span::after {
	content: "";
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: right center;
	position: absolute;
}
.linkIcon a span::after {
	background-image: url(/common/images/icon_arrow.png);
	width: 47px;
	height: 9px;
	top: calc(50% - 4px);
	right: -40px;
}
.linkIconBlank a span::after {
	background-image: url(/common/images/icon_blank.png);
	width: 17px;
	height: 16px;
	top: 19px;
	right: -8px;
}
.linkText {
	padding-left: 16px;
	line-height: 24px;
	position: relative;
}
.linkText::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	display: inline-block;
	background-repeat: no-repeat;
	background-size: 100%;
	background-image: url(/common/images/icon_triangle.png);
	width: 12px;
	height: 15px;
}
.linkDownArrow {
	padding-left: 16px;
	position: relative;
	display: block;
}
.linkDownArrow::before {
	content: "\f107";
	font-family: "FontAwesome";
	font-weight: normal;
	color: #8fab1a;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
	.linkIcon,
	.linkIconBlank {
		width: 300px;
	}
	.linkIcon a span::after,
	.linkIconBlank a span::after {
		right: -30px;
	}
}
@media screen and (max-width: 330px) {
	.linkIcon,
	.linkIconBlank {
		width: 100%;
	}
}

/* 表示 */
.pcNone {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .spNone {
    display: none !important;
  }
  .pcNone {
		display: block !important;
	}
}

/*----------------------------------------------------
　マージン・パディング設定
----------------------------------------------------*/
.mT20 { margin-top: 20px !important; }
.mT30 { margin-top: 30px !important; }
.mT40 { margin-top: 40px !important; }

.mB0 { margin-bottom: 0 !important; }
.mB20 { margin-bottom: 20px !important; }
.mB30 { margin-bottom: 30px !important; }
.mB40 { margin-bottom: 40px !important; }

.pT20 { padding-top: 20px !important; }
.pT30 { padding-top: 30px !important; }
.pT40 { padding-top: 40px !important; }

.pB0 { padding-bottom: 0 !important; }
.pB20 { padding-bottom: 20px !important; }
.pB30 { padding-bottom: 30px !important; }
.pB40 { padding-bottom: 40px !important; }

@media screen and (max-width: 767px) {
	.mT20 { margin-top: 15px !important; }
	.mT30 { margin-top: 25px !important; }
	.mT40 { margin-top: 35px !important; }

	.mB20 { margin-bottom: 15px !important; }
	.mB30 { margin-bottom: 25px !important; }
	.mB40 { margin-bottom: 35px !important; }

	.pT20 { padding-top: 15px !important; }
	.pT30 { padding-top: 25px !important; }
	.pT40 { padding-top: 35px !important; }

	.pB20 { padding-bottom: 15px !important; }
	.pB30 { padding-bottom: 25px !important; }
	.pB40 { padding-bottom: 35px !important; }
}

/*----------------------------------------------------
　noscript
----------------------------------------------------*/
.noscript-anotation {
	background-color: #1a9d4a;
	min-height: 100vh;
}
.noscript-anotation p {
	background-color: #1a9d4a;
	line-height: 2;
	color: #ffffff;
	width: 100%;
	text-align: center;
	position:absolute;
	top: 50%;
	margin-top: -80px;
}
.noscript-anotation a {
	color: #fcff86;
}

/*----------------------------------------------------
　IE7アラート表示
----------------------------------------------------*/
#error {
 padding: 20px 0;
 color: #000000;
 background: #d2fae0;
 text-align: center;
}
#error p {
 font: bold 16px/30px Meiryo,sans-serif;
}
#error a {
 color: #f00;
 text-decoration: underline;
}
#error a:hover {
 color: #ffffff;
 background: #ff0000;
}
