@charset 'UTF-8';

/* main */
/* sub */
/*-----------------------------------------------------------------------
	base
-----------------------------------------------------------------------*/
html {
	box-sizing: border-box;
	width: 100%;
	font-size: 62.5%;
}

@media screen and (max-width: 768px) {
	html {
		overflow-x: hidden;
	}
}

*, *::before, *::after {
	box-sizing: inherit;
}

body {
	position: relative;
	min-width: 1060px;
	color: #4d4d4d;
	font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, '游ゴシック Medium', '游ゴシック', 'Yu Gothic Medium', YuGothic, sans-serif;
	font-size: 16px;
	font-weight: normal;
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 1.375;
	-webkit-text-size-adjust: 100%;
}

@media screen and (max-width: 768px) {
	body {
		overflow-x: hidden;
		min-width: 320px;
		font-size: 14px;
	}
}

a {
	display: inline;
	max-width: 100%;
	color: inherit;
	text-decoration: underline;
    text-decoration-style: dotted;
	transition: opacity 0.3s ease;
}

a:hover {
	opacity: 0.7;
}

img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

img[src*='.svg'] {
	width: 100%;
	max-width: none;
}

.contentIn {
	position: relative;
	width: 1040px;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	.contentIn {
		width: auto;
		padding-right: 3.75%;
		padding-left: 3.75%;
	}
	.contentIn.pc {
		padding-right: 0;
		padding-left: 0;
	}
}

/*-----------------------------------------------------------------------
	header
-----------------------------------------------------------------------*/
#header {
	position: relative;
}

#header .block01 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 30px 0 25px;
}

@media screen and (max-width: 768px) {
	#header .block01 {
		padding: 10px 0;
	}
}

#headerLogo {
	flex: 0 0 auto;
	width: 288px;
}

@media screen and (max-width: 768px) {
	#headerLogo {
		width: 238px;
	}
}

#headerContact a {
	padding: 9px 15px;
	background: #2aab39;
	border-radius: 4px;
	color: #fff;
	text-align: center;
	line-height: 1.0;
    display: inline-block;
}

#headerContact span {
	display: inline-block;
}

#headerContact .sub {
	margin-bottom: 5px;
	font-size: 12px;
}

#headerContact .main {
	font-size: 15px;
}

#headerMenuBtn {
	flex: 0 0 auto;
	width: 41px;
}
#header .btn_cube img{
    height: 54px;
    margin-left: 300px;
}
#header .btn_cube{
    padding: 9px 15px;
    color: #2aab39;
    font-size: 14px;
    text-align: center;
    border: solid 1px #2aab39;
    border-radius: 4px;
    margin-left: 290px;
    line-height: 1.25;
    display: inline-block;
    text-decoration: none;
}
#header .btn_cube span{
    font-size: 12px;
}
@media screen and (max-width: 768px) {
    #header .btn_cube{
        display: none;
    }
}


/*-----------------------------------------------------------------------
	gNavi
-----------------------------------------------------------------------*/
#gNavi {
	position: relative;
	background: #dcdcdc;
	line-height: 1.3;
	z-index: 1000;
}

@media screen and (max-width: 768px) {
	#gNavi {
		position: absolute;
		top: 100%;
		right: 0;
		width: 342px;
		max-width: 100%;
		margin-left: 10px;
		background: #fff;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		transition: -webkit-transform 300ms ease;
		transition: transform 300ms ease;
		transition: transform 300ms ease, -webkit-transform 300ms ease;
	}
	.menuOpen #gNavi {
		-webkit-transform: none;
		transform: none;
	}
	#gNavi .contentIn {
		padding: 0;
	}
}

#gNaviTitle {
	padding: 10px 16px;
	background: #414141;
	color: #fff;
	text-transform: uppercase;
}

#gNaviMenu {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	border-right: 1px solid #fff;
}

@media screen and (max-width: 768px) {
	#gNaviMenu {
		display: block;
		border-right: none;
		border-bottom: 1px solid #fff;
	}
}

#gNaviMenu > li {
	flex: 1 1 auto;
	position: relative;
	width: 100px;
	border-left: 1px solid #fff;
}

@media screen and (max-width: 768px) {
	#gNaviMenu > li {
		width: 100%;
		border-top: 1px solid #fff;
		border-left: none;
	}
}

#gNaviMenu > li:hover {
	background: #4d4d4d;
	color: #fff;
}

#gNaviMenu > li:hover .subMenu {
	visibility: visible;
}

#gNaviMenu h4 {
	font-size: 14px;
	text-align: center;
	text-transform: uppercase;
}

@media screen and (max-width: 768px) {
	#gNaviMenu h4 {
		background: #dcdcdc;
		color: #4d4d4d;
		text-align: left;
	}
}

#gNaviMenu h4.title {
	padding: 10px;
	cursor: default;
}

@media screen and (max-width: 768px) {
	#gNaviMenu h4.title {
		padding: 14px 16px;
	}
	#gNaviMenu h4.title::after {
		content: '';
		display: inline-block;
		width: 11px;
		height: 11px;
		margin-left: 4px;
		background: url('../img/common/cmn_arr01_rgry.svg') no-repeat right center/contain;
	}
	#gNaviMenu h4.title:hover {
		background: #4d4d4d;
		color: #fff;
	}
	#gNaviMenu h4.title:hover::after {
		background-image: url('../img/common/cmn_arr01_rwht.svg');
	}
	#gNaviMenu h4.title.open {
		background: #4d4d4d;
		color: #fff;
	}
	#gNaviMenu h4.title.open::after {
		background-image: url('../img/common/cmn_arr01_dwht.svg');
	}
}
#gNaviMenu a {
    text-decoration: none;
    display: inline-block;
}
#gNaviMenu h4 a {
	width: 100%;
	padding: 10px;
}

@media screen and (max-width: 768px) {
	#gNaviMenu h4 a {
		padding: 14px 16px;
	}
	#gNaviMenu h4 a:hover {
		background: #4d4d4d;
		color: #fff;
	}
}

#gNaviMenu .subMenu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: #fff;
	color: #4d4d4d;
	font-size: 12px;
	visibility: hidden;
}

@media screen and (max-width: 768px) {
	#gNaviMenu .subMenu {
		display: none;
		position: static;
		background: #dcdcdc;
		font-size: 13px;
		visibility: visible;
	}
}

#gNaviMenu .subMenu > li {
	background: #dcdcdc;
}

@media screen and (max-width: 768px) {
	#gNaviMenu .subMenu > li {
		background: #fff;
	}
}

#gNaviMenu .subMenu > li + li {
	margin-top: 1px;
}

#gNaviMenu .subMenu a {
	width: 100%;
	padding: 10px 15px 10px 20px;
}

@media screen and (max-width: 768px) {
	#gNaviMenu .subMenu a {
		padding: 12px 38px;
	}
}

#gNaviMenu .subMenu a:hover {
	background: #999;
	color: #fff;
}

#gNaviCloseBtn {
	background: #4d4d4d;
	color: #dcdcdc;
}

#gNaviCloseBtn button {
	width: 100%;
	padding: 10px;
	text-align: center;
}

#gNaviCloseBtn button::before {
	content: '';
	display: block;
	width: 23px;
	height: 23px;
	margin: 0 auto 5px;
	background: url('../img/common/cmn_ico07_close.svg') no-repeat center center/contain;
}

/*-----------------------------------------------------------------------
	main
-----------------------------------------------------------------------*/
#commonBreadcrumb .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	margin-top: 20px;
	font-size: 12px;
	line-height: 1.6;
}

#commonBreadcrumb li {
	flex: 0 0 auto;
	margin-right: 0.5em;
	white-space: nowrap;
}

#commonBreadcrumb li + li::before {
	content: '>';
	margin-right: 0.5em;
}

#commonBreadcrumb a:hover {
	text-decoration: underline;
}

#commonLinks {
	margin-top: 190px;
}

@media screen and (max-width: 768px) {
	#commonLinks {
		margin-top: 120px;
	}
}

#commonLinks .list {
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	#commonLinks .list {
		display: block;
	}
}

#commonLinks li {
	flex: 0 0 auto;
	width: 162px;
}

@media screen and (max-width: 768px) {
	#commonLinks li {
		width: 210px;
		margin: 0 auto;
	}
}

#commonLinks li + li {
	margin-left: 60px;
}

@media screen and (max-width: 768px) {
	#commonLinks li + li {
		margin-top: 35px;
		margin-left: auto;
	}
}

#commonSns {
	margin-top: 90px;
}

@media screen and (max-width: 768px) {
	#commonSns {
		margin-top: 114px;
	}
}

#commonSns .list {
	display: flex;
	justify-content: center;
	align-items: center;
}

#commonSns li {
	flex: 0 0 auto;
	width: 39px;
}

@media screen and (max-width: 768px) {
	#commonSns li {
		flex: 0 1 auto;
		width: 50px;
	}
}

#commonSns li + li {
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
	#commonSns li + li {
		margin-left: 17px;
	}
}

#commonPager {
	margin-top: 80px;
	color: #787878;
	text-align: center;
	line-height: 1.0;
}

#commonPager .pager {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
	font-size: 18px;
}

@media screen and (max-width: 768px) {
	#commonPager .pager {
		font-size: 14px;
	}
}

#commonPager .pager > * {
	flex: 0 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid currentColor;
	border-radius: 50%;
}

@media screen and (max-width: 768px) {
	#commonPager .pager > * {
		width: 30px;
		height: 30px;
	}
}

#commonPager .pager > *:not(a) {
	cursor: default;
}

#commonPager .pager > *:nth-child(n+2) {
	margin-left: 10px;
}

@media screen and (max-width: 768px) {
	#commonPager .pager > *:nth-child(n+2) {
		margin-left: 6px;
	}
}

#commonPager .pager img {
	border-radius: 50%;
}

#commonPager .pager .first img, #commonPager .pager .prev img {
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}

#twoColBox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
	#twoColBox {
		display: block;
	}
}

#twoColBoxMain {
	flex: 0 0 auto;
	width: 764px;
}

@media print, screen and (min-width: 768.01px) {
	#twoColBoxMain > .contentIn {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
}

@media screen and (max-width: 768px) {
	#twoColBoxMain {
		width: 100%;
	}
}

#twoColBoxMain .pageTitle {
	display: none;
	position: relative;
	margin: 15px 0 47px;
	background: #2aab39;
	box-shadow: rgba(0, 0, 0, 0.2) 0 2px 2px 0;
	color: #fff;
	font-weight: bold;
}

@media print, screen and (min-width: 768.01px) {
	#twoColBoxMain .pageTitle .contentIn {
		width: 100%;
		padding: 7px 0;
	}
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .pageTitle {
		margin: 0 0 13px;
		box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0;
		font-size: 13px;
	}
	#twoColBoxMain .pageTitle .contentIn {
		padding-top: 7px;
		padding-bottom: 7px;
	}
}

#twoColBoxMain .pageTitle .text {
	display: block;
	position: relative;
	padding: 0 9px 0 27px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .pageTitle .text {
		padding: 0 7px 0 14px;
	}
}

#twoColBoxMain .pageTitle .text::before {
	content: '';
	display: block;
	position: absolute;
	top: 2px;
	left: 9px;
	width: 0;
	height: 0;
	border-width: 9px 12px;
	border-style: solid none solid solid;
	border-color: transparent #e1c95f;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .pageTitle .text::before {
		top: 1px;
		left: 0;
		border-width: 7px 10px;
	}
}

#twoColBoxMain .contents p:not(.articleDate) {
	margin-top: 30px;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 2.0;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents p:not(.articleDate) {
		margin-top: 25px;
		line-height: 1.79;
	}
}

@media print, screen and (min-width: 768.01px) {
	#twoColBoxMain .contents p[style*='float'][style*='right'] {
		margin-left: 22px;
	}
	#twoColBoxMain .contents p[style*='float'][style*='left'] {
		margin-right: 22px;
	}
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents p[style*='float'] {
		float: none !important;
		text-align: center;
	}
}

#twoColBoxMain .contents strong {
	font-weight: bold;
}

#twoColBoxMain .contents em {
	font-style: italic;
}

#twoColBoxMain .contents blockquote {
	display: block;

	-webkit-margin-after: 1em;
	-webkit-margin-before: 1em;
	-webkit-margin-end: 40px;
	-webkit-margin-start: 40px;
}

#twoColBoxMain .contents [class*='h1_'] {
	margin-top: 25px;
	font-size: 22px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents [class*='h1_'] {
		margin-top: 20px;
		font-size: 20px;
	}
}

#twoColBoxMain .contents .h1_01, #twoColBoxMain .contents .h1_02, #twoColBoxMain .contents .h1_03, #twoColBoxMain .contents .h1_04 {
	padding: 14px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h1_01, #twoColBoxMain .contents .h1_02, #twoColBoxMain .contents .h1_03, #twoColBoxMain .contents .h1_04 {
		padding-top: 16px;
		padding-bottom: 16px;
	}
}

#twoColBoxMain .contents .h1_05, #twoColBoxMain .contents .h1_06 {
	padding-bottom: 3px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h1_05, #twoColBoxMain .contents .h1_06 {
		padding-bottom: 5px;
	}
}

#twoColBoxMain .contents .h1_07, #twoColBoxMain .contents .h1_08 {
	padding-bottom: 3px;
	padding-left: 70px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h1_07, #twoColBoxMain .contents .h1_08 {
		padding-left: 45px;
	}
}

#twoColBoxMain .contents .h1_07::before, #twoColBoxMain .contents .h1_08::before {
	width: 59px;
	height: calc(100% - 3px);
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h1_07::before, #twoColBoxMain .contents .h1_08::before {
		width: 40px;
	}
}

#twoColBoxMain .contents [class*='h2_'] {
	margin-top: 50px;
	padding-top: 11px;
	padding-bottom: 11px;
	font-size: 18px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents [class*='h2_'] {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}

#twoColBoxMain .contents .h2_05, #twoColBoxMain .contents .h2_06, #twoColBoxMain .contents .h2_07, #twoColBoxMain .contents .h2_08 {
	padding-left: 35px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h2_05, #twoColBoxMain .contents .h2_06, #twoColBoxMain .contents .h2_07, #twoColBoxMain .contents .h2_08 {
		padding-left: 25px;
	}
}

#twoColBoxMain .contents .h2_05::before, #twoColBoxMain .contents .h2_06::before, #twoColBoxMain .contents .h2_07::before, #twoColBoxMain .contents .h2_08::before {
	width: 30px;
	height: 47px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .h2_05::before, #twoColBoxMain .contents .h2_06::before, #twoColBoxMain .contents .h2_07::before, #twoColBoxMain .contents .h2_08::before {
		width: 25px;
		height: 40px;
	}
}

#twoColBoxMain .contents [class*='h3_'] {
	margin-top: 20px;
	padding: 10px 14px;
	font-size: 16px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents [class*='h3_'] {
		margin-top: 40px;
		padding: 8px 14px;
	}
}

#twoColBoxMain .contents [class*='h3_'] + p {
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents [class*='h3_'] + p {
		padding: 14px;
	}
}

#twoColBoxMain .contents .aligncenter {
	display: block;
	margin: 0 auto;
}

#twoColBoxMain .contents .alignright {
	float: right;
	margin-left: 20px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .alignright {
		display: block;
		float: none;
		margin: 20px auto;
	}
}

#twoColBoxMain .contents .alignleft {
	float: left;
	margin-right: 20px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .contents .alignleft {
		display: block;
		float: none;
		margin: 20px auto;
	}
}

#twoColBoxMain .contents img[class*='wp-image-'], #twoColBoxMain .contents img[class*='attachment-'] {
	max-width: 100%;
	height: auto;
}

#twoColBoxMain .articleTitle {
	position: relative;
	padding: 5px 0 8px 70px;
	border-bottom: 1px dashed #999;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.375;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleTitle {
		padding: 5px 0 5px 45px;
		border-bottom-style: dotted;
		font-size: 18px;
	}
}

#twoColBoxMain .articleTitle::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 59px;
	height: calc(100% - 8px);
	background: url('../img/common/cmn_img01_grn.svg') no-repeat left top/100% auto;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleTitle::before {
		width: 44px;
		height: calc(100% - 5px);
	}
}

#twoColBoxMain .articleDate {
	position: relative;
	margin-top: 19px;
	padding-left: 28px;
	color: #787878;
	font-size: 14px;
	line-height: 1.0;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleDate {
		margin-top: 13px;
		padding-left: 23px;
		font-size: 12px;
	}
}

#twoColBoxMain .articleDate::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 21px;
	height: 19px;
	background: url('../img/common/cmn_ico08_calendar.svg') no-repeat center/contain;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleDate::before {
		width: 17px;
		height: 15px;
	}
}

#twoColBoxMain .articleSummary {
	margin-top: 32px;
	padding: 20px;
	background: #f0f0f0;
	border: 1px solid #b4b4b4;
	color: #5a5a5a;
	font-size: 14px;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleSummary {
		margin-top: 18px;
		padding: 15px 10px;
	}
}

#twoColBoxMain .articleSummary li {
	position: relative;
	padding-left: 1.2em;
}

#twoColBoxMain .articleSummary li::before {
	content: '■';
	display: block;
	position: absolute;
	top: -0.15em;
	left: 0;
	font-size: 1.3em;
}

#twoColBoxMain .articleSummary li + li {
	margin-top: 8px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain .articleSummary li + li {
		margin-top: 5px;
	}
}

#twoColBoxMain #commonSns {
	margin-top: 200px;
}

@media screen and (max-width: 768px) {
	#twoColBoxMain #commonSns {
		margin-top: 80px;
	}
}

#twoColBoxSide {
	flex: 0 0 auto;
	width: 234px;
}

@media print, screen and (min-width: 768.01px) {
	#twoColBoxSide > .contentIn {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
}

@media screen and (max-width: 768px) {
	#twoColBoxSide {
		width: 100%;
		margin-top: 120px;
	}
}

#twoColBoxSide .sideSection {
	margin-top: 25px;
	font-size: 14px;
}

#twoColBoxSide .sideSection + .sideSection {
	margin-top: 84px;
}

#twoColBoxSide .sideSection .sectionTitle {
	padding-bottom: 2px;
	border-bottom: 2px solid #4d4d4d;
	color: #787878;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .sectionTitle {
		padding-bottom: 7px;
		border-width: 3px;
		font-size: 18px;
	}
}

#twoColBoxSide .sideSection .sectionTitle + .sectionTitle {
	margin-top: 20px;
}

#twoColBoxSide .sideSection .articleList {
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .articleList {
		margin-top: 27px;
	}
	#twoColBoxSide .sideSection .articleList .detail {
		line-height: 1.57;
	}
}

#twoColBoxSide .sideSection .articleList li + li {
	margin-top: 17px;
	padding-top: 17px;
	border-top: 1px dashed #999;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .articleList li + li {
		margin-top: 25px;
	}
}

#twoColBoxSide .sideSection .articleList a {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

#twoColBoxSide .sideSection .articleList a:hover {
	text-decoration: underline;
}

#twoColBoxSide .sideSection .articleList .image {
	flex: 0 0 auto;
	width: 70px;
	margin-right: 12px;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .articleList .image {
		width: 110px;
		margin-right: 19px;
	}
}

#twoColBoxSide .sideSection .articleList .textArea {
	flex: 1 1 auto;
	color: #5a5a5a;
	letter-spacing: -0.02em;
}

#twoColBoxSide .sideSection .articleList .title {
	color: #000;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .articleList .title {
		font-size: 16px;
	}
}

#twoColBoxSide .sideSection .moreBtn {
	margin-top: 45px;
	color: #787878;
	text-align: center;
	line-height: 1.0;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .moreBtn {
		margin-top: 54px;
		font-size: 18px;
	}
}

#twoColBoxSide .sideSection .moreBtn a {
	display: block;
	max-width: 184px;
	margin: 0 auto;
	padding: 12px 10px;
	border: 1px solid #dcdcdc;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .moreBtn a {
		max-width: 211px;
		padding: 23px 10px;
	}
}

#twoColBoxSide .sideSection .yearArchive {
	margin-top: 10px;
	color: #787878;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .yearArchive {
		margin-top: 20px;
		font-size: 18px;
	}
}

#twoColBoxSide .sideSection .yearArchive li + li {
	margin-top: 7px;
}

@media screen and (max-width: 768px) {
	#twoColBoxSide .sideSection .yearArchive li + li {
		margin-top: 13px;
	}
}

#twoColBoxSide .sideSection .yearArchive a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	#sideNav {
		display: none;
	}
}

#sideNav .list {
	font-size: 12px;
	line-height: 1.3;
}

#sideNav .list dt {
	padding: 9px 12px;
	background: #4d4d4d;
	color: #fff;
	font-size: 14px;
}

#sideNav .list dd + dd {
	margin-top: 1px;
}

#sideNav .list dd.current a {
	background: #999;
	color: #fff;
    text-decoration: none;
}

#sideNav .list a {
	display: block;
	padding: 10px 20px;
	background: #dcdcdc;
    text-decoration: none;
}

#sideNav .list a:hover {
	background: #999;
	color: #fff;
}

#sideBanner {
	margin-top: 115px;
}

@media screen and (max-width: 768px) {
	#sideBanner {
		margin-top: 105px;
	}
	#sideBanner .list {
		max-width: 210px;
		margin: 0 auto;
	}
}

#sideBanner li + li {
	margin-top: 38px;
}

@media screen and (max-width: 768px) {
	#sideBanner li + li {
		margin-top: 35px;
	}
}

/*-----------------------------------------------------------------------
	footer
-----------------------------------------------------------------------*/
#footer {
	margin-top: 70px;
	font-size: 12px;
}

@media screen and (max-width: 768px) {
	#footer {
		margin-top: 87px;
		font-size: 14px;
	}
}

#footer .jsGoTop {
	position: fixed;
	right: 0;
	bottom: 100px;
	z-index: 1000;
}

@media screen and (max-width: 768px) {
	#footer .jsGoTop {
		bottom: 20px;
	}
}

#footer .jsGoTop a {
	width: 135px;
	padding: 25px 0;
	background: #999;
	border-radius: 15px 0 0 15px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	line-height: 1.0;
	white-space: nowrap;
    display: inline-block;
}

@media screen and (max-width: 768px) {
	#footer .jsGoTop a {
		width: 100px;
		padding: 19px 0;
		border-radius: 10px 0 0 10px;
		font-size: 10px;
	}
}

#footer .jsGoTop a::before {
	content: '';
	display: block;
	width: 57px;
	height: 53px;
	margin: 0 auto 15px;
	background: url('../img/common/cmn_arr02_uwht.svg') no-repeat center/contain;
}

@media screen and (max-width: 768px) {
	#footer .jsGoTop a::before {
		width: 42px;
		height: 39px;
		margin-bottom: 10px;
	}
}

#footer .jsGoTop .text {
	display: inline-block;
}

@media screen and (max-width: 768px) {
	#footer .jsGoTop .text {
		-webkit-transform-origin: center top;
		transform-origin: center top;
		-webkit-transform: scale(0.9);
		transform: scale(0.9);
	}
}

#footerContact {
	text-align: center;
}

#footerContact .titleArea {
	padding: 8px;
	background: #dcdcdc;
	font-size: 16px;
}

#footerContact .link {
	margin: 35px 0 70px;
}

#footerContact a {
	padding: 23px 60px;
	background: #2aab39;
	border-radius: 8px;
	color: #fff;
	font-size: 17px;
}

#footerNavi {
	padding: 30px 0 50px;
	background: #dcdcdc;
	line-height: 2.25;
}
#footerNavi a{
    text-decoration: none;
}

@media screen and (max-width: 768px) {
	#footerNavi {
		padding: 20px 0;
		text-align: center;
		line-height: 2.357;
	}
}

#footerCopy {
	padding: 15px 0 25px;
	background: #666;
	color: #fff;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#footerCopy {
		font-size: 13px;
	}
}

#footerCopy .text {
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	#footerCopy .text {
		margin-bottom: 20px;
		line-height: 1.46;
	}
}

/* main */
/* sub */
/*-----------------------------------------------------------------------
	layout
-----------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.pcOnly {
		display: none;
	}
}

@media print, screen and (min-width: 768.01px) {
	.spOnly {
		display: none;
	}
}

.clearfix::after {
	content: '';
	display: block;
	clear: both;
}

.clear {
	clear: both;
}

.upper {
	text-transform: uppercase;
}

/*-----------------------------------------------------------------------
	h tags
-----------------------------------------------------------------------*/
/* common */
[class*='h3_'] {
	line-height: 1.75;
}

[class*='h1_'], [class*='h2_'], .h3_05, .h3_06 {
	line-height: 1.28;
}

/* h1 */
[class*='h1_'] {
	font-size: 18px;
}

.h1_01, .h1_02, .h1_03, .h1_04 {
	padding: 10px;
	border-left: 7px solid #2aab39;
}

.h1_02, .h1_04 {
	border-left-color: #5a5a5a;
}

.h1_03, .h1_04 {
	background: #f0f0f0;
}

.h1_05, .h1_06 {
	border-bottom: 3px solid #2aab39;
}

.h1_06 {
	border-bottom-color: #5a5a5a;
}

.h1_07, .h1_08 {
	position: relative;
	padding-bottom: 2px;
	padding-left: 45px;
	border-bottom: 1px dashed #a0a0a0;
}

.h1_07::before, .h1_08::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 41px;
	height: calc(100% - 2px);
	background: url('../img/common/cmn_img01_grn.svg') no-repeat left top/100% auto;
}

.h1_08::before {
	background-image: url('../img/common/cmn_img01_gry.svg');
}

.h1_09, .h1_10 {
	position: relative;
	padding: 12px 10px 12px 33px;
	background: url('../img/common/cmn_img02_grn.png') no-repeat left top/23px 100%;
	border: 1px #2aab39;
	border-style: solid none;
}

.h1_10 {
	background-image: url('../img/common/cmn_img02_gry.png');
	border-color: #5a5a5a;
}

/* h2 */
[class*='h2_'] {
	padding: 5px 10px;
	font-size: 12px;
}

.h2_01, .h2_02, .h2_03, .h2_04 {
	padding: 7px 10px;
	border: 1px #2aab39;
	border-style: solid none;
}

.h2_01, .h2_02, .h2_05, .h2_06 {
	background: #f0f0f0;
}

.h2_02 {
	border-color: #d2d2d2;
}

.h2_03 {
	border-color: #a0a0a0;
}

.h2_05, .h2_06, .h2_07, .h2_08 {
	position: relative;
	padding-left: 20px;
}

.h2_05::before, .h2_06::before, .h2_07::before, .h2_08::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 16px;
	height: 24px;
	max-height: 100%;
	background: url('../img/common/cmn_img03_grn.png') no-repeat left top/contain;
}

.h2_06::before, .h2_08::before {
	background-image: url('../img/common/cmn_img03_gry.png');
}

.h2_07, .h2_08 {
	border: 1px solid #2aab39;
}

.h2_09, .h2_10 {
	border: 1px dotted #2aab39;
}

.h2_08, .h2_10 {
	border-color: #5a5a5a;
}

.h2_11, .h2_12 {
	background: #2aab39;
	color: #fff;
}

.h2_12 {
	background: #5a5a5a;
}

/* h3 */
[class*='h3_'] {
	min-height: 90px;
	padding: 8px 14px;
	font-size: 10px;
}

.h3_01, .h3_02, .h3_03, .h3_04 {
	border: 1px solid #2aab39;
}

.h3_01, .h3_02 {
	background: #f0f0f0;
}

.h3_01 {
	border-color: #d2d2d2;
}

.h3_03 {
	border-color: #a0a0a0;
}

.h3_05, .h3_06 {
	min-height: 0;
	padding: 4px 14px;
	background: #f0f0f0;
	border: 1px solid #d2d2d2;
	font-size: 11px;
}

.h3_05 + p, .h3_06 + p {
	padding: 8px 14px;
	border: 1px #d2d2d2;
	border-style: none solid solid;
	font-size: 10px;
	line-height: 1.75;
}

.h3_06 {
	background: #a0a0a0;
	border-color: #a0a0a0;
	color: #fff;
}

.h3_06 + p {
	border-color: #a0a0a0;
}

.h3_07 {
	padding-left: 10px;
	border-left: 4px solid #ccc;
	box-shadow: rgba(0, 0, 0, 0.2) 0 1px 2px 0;
}
