@charset "UTF-8";

/* ------------------------------
main.css 上書き
------------------------------ */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form {
	font-family: "ヒラギノ角ゴ Pro W3", "Noto Sans JP", "メイリオ", sans-serif;
	color: #585858;
}
body {
	padding-top: 0;
}
a {
	/* color: #f00; */
}
a:hover {
	text-decoration: none;
}
a.no-opacity:hover {
	opacity: 1;
}
/* ------------------------------
UIkit 調整
------------------------------ */
.top .uk-container {
	max-width: 1160px
}

.uk-container-small {
	max-width: 1000px
}
.uk-align-top {
	margin-top: 0;
}
/* ------------------------------
背景
------------------------------ */
.bgKomafil {
	background-image: url(/img/komafil_mark.svg);
	background-position: 95% 60px;
	background-repeat: no-repeat;
	background-size: 160px auto;
}
.komafil_mark {
	width: 170px;
    margin-left: 600px; 
    margin-top: 20px; 
}
.bgDemo {
	/* background-image: url(/img/demo01.png);
	background-position: 95% 30px;
	background-repeat: no-repeat;
	background-size: 200px auto; */
}
.demo01 {
	float: right;
	width: 200px;
	/* margin: 10px 0 0 0; */
}
@media (max-width: 639px) {
	.bgKomafil {
		background-size: 20% auto;
	}
	.komafil_mark {
        float: none;
		width: 40%;
		margin-left: 190px;
        margin-top: 20px;
	}
	.bgDemo {
		background-size: 40% auto;
	}
	.demo01 {
		width: 25%;
		/* margin: 20px 0 0 0; */
	}
}

/* ------------------------------
リスト
------------------------------ */
/* 数字付き */
.list-decimal-head {
	font-size: 3.2rem;
	font-size: 32px;
}
ol.list-decimal li {
	list-style-type: decimal;
	list-style-position: outside;
	margin-left: 2em;
	/* font-size: 1.8rem;
	font-size: 18px; */
	font-size: 2.3rem;
	font-size: 23px;
	line-height: 2;
} 
ol.list-decimal-e li {
    padding-left:1em;
	list-style-type: decimal;
	list-style-position: outside;
	margin-left: 2em;
    margin-right: 2em;
	/* font-size: 1.8rem;
	font-size: 18px; */
	font-size: 2.3rem;
	font-size: 23px;
	line-height: 2;
}    
    @media (max-width: 639px) {
    ol.list-decimal-e li {
	margin-left: 2em;
    margin-right: 1em;
	/* font-size: 1.8rem;
	font-size: 18px; */
	font-size: 1em;
	font-size: 18px;
        }
}
ol.list-decimal li span {
	font-size: 2.5rem;
	font-size: 25px;
}

ol.list-decimal-small li,
ul.list-decimal-small li {
	list-style-position: outside;
	margin-left: 2em;
	font-size: 1.3rem;
	font-size: 13px;
	line-height: 2;
}
ol.list-decimal-small li {
	list-style-type: decimal;
}
ul.list-decimal-small li {
	list-style-type: disc;
}
ul.list-decimal-e li {
	list-style-type: disc;
	list-style-position: outside;
    margin-left: 2em;
	/* font-size: 1.8rem;
	font-size: 18px; */
	font-size: 2rem;
	font-size: 20px;
	line-height: 2;
}
/* 丸数字 */
ol.list-decimal2 li {
	list-style-type: none;
	list-style-position: outside;
	padding-left: 1.3em;
	text-indent: -1.3em;
	font-size: 1.8rem;
	font-size: 18px;
	/* line-height: 2; */
}

/* キャプション */
.list-caption {
	margin-top: 5px;
}
.list-caption dt,
.list-caption dd {
	font-size: 1.2rem;
	font-size: 12px;
	line-height: 1.5;
}
.list-caption dt {
	float: left;
}
.list-caption dd {
	margin-left: 3em;
}
@media (max-width: 959px) {
	.list-decimal-head {
		font-size: 2.8rem;
		font-size: 28px;
	}
	ol.list-decimal li {
		font-size: 1.9rem;
		font-size: 19px;
		line-height: 1.8;
	}
	ol.list-decimal li span {
		font-size: 2.1rem;
		font-size: 21px;
	}
}

/* 括弧付き数字 */
ol.list-parentheses {
	margin-top: 5px;
	margin-left: 2em;
}
ol.list-parentheses li{
	list-style-type:none;
	counter-increment: cnt;
	font-size: 1.8rem;
	font-size: 18px;
	margin-top: 15px;
}
ol.list-parentheses li:before{
	display: inline-block;
	margin-left: -2em;
	width: 2em;
	content: "(" counter(cnt) ") ";
}

/* 品目 */
.list-items li {
	font-size: 1.2rem;
	font-size: 12px;
	padding: 3px 6px 1px;
	margin-right: 5px;
	margin-top: 5px;
	background: #effdd5;
}

/* ------------------------------
パーツ
------------------------------ */

/* ボックス */
.boxGrey {
	background: #f4f4f4;
	padding: 20px 30px;
}
.boxWhite {
	background: #fff;
	padding: 20px 30px;
}
.boxWhiteB {
	background: #fff;
	padding: 15px 30px 10px;
	border: 1px solid #a6a7a7;
}
.boxWhiteB2 {
	background: #fff;
	padding: 20px 20px;
	border: 4px solid #efefef;
}
.boxWhiteB3 {
	background: #fff;
	padding: 30px 30px;
	border: 2px solid #ffdc17;
}
.boxWhiteB4 {
	background: #fff;
	padding: 10px 10px;
	border: 1px solid #000;
}
.boxLimegreenB {
	background: #fff;
	border: 7px solid #afdb50;
}
.boxLimegreen {
	background: #afdb50;
	padding: 40px 25px 20px;
}
.boxYellow {
	background: #ffff7f;
	padding: 30px 40px;
}
@media (max-width: 959px) {
	.boxWhiteB2 {
		padding: 10px 15px;
	}
}

/* ボタン */
a.btn_orange {
	display: block;
	max-width: 440px;
	height: 40px;
	line-height: 40px;
	background: #fac358;
	font-size: 2rem;
	font-size: 20px;
	font-weight: bold;
	color: #000;
	text-decoration: none;
	border-radius: 40px;
	border: 1px solid #000;
}
a.btn_orange2 {
	display: block;
	/* max-width: 440px; */
	height: 40px;
	line-height: 40px;
	background: #ffa020;
	font-size: 2rem;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	padding: 5px 20px;
}
a.btn_greenB {
	display: block;
	width: 170px;
	margin: 0 auto;
	height: 42px;
	line-height: 42px;
	background: #fff;
	font-size: 2.1rem;
	font-size: 21px;
	/* font-weight: bold; */
	color: #000;
	text-decoration: none;
	border: 1px solid #008900;
}
a.btn_greenB:hover {
	opacity: 0.4;
}
a.btn_brown {
	display: block;
	background: #be8b6b;
	font-size: 1.7rem;
	font-size: 17px;
	color: #fff;
	text-decoration: none;
	text-align: center;
	padding: .5em;
}
a.link-green {
	color: #00a000;
	font-size: 2.2rem;
	font-size: 22px;
	text-decoration: underline;
}
a.link-green:hover {
	color: #00a000;
	text-decoration: none;
}
a.link-green2 {
	color: #2aa738;
	text-decoration: underline;
}
a.link-green2:hover {
	color: #2aa738;
}
a.link-green3 {
	color: #00b400;
	/* text-decoration: underline; */
}
a.link-green3:hover {
	color: #00b400;
}
a.link-green4 {
	color: #489f40;
	text-decoration: underline;
	font-weight: bold;
}
a.link-green4:hover {
	color: #489f40;
}
a.link-blue {
	color: #0000ff;
	text-decoration: underline;
}
a.link-blue:hover {
	color: #0000ff;
	text-decoration: none;
}
a.link-lightblack {
	color: #231815;
	text-decoration: underline;
}
a.link-lightblack:hover {
	color: #231815;
	text-decoration: none;
}

/* 動画プレイヤー */
.movie-player {
	width: 240px;
	margin: auto;
	/* border: solid 10px #9FA0A0;
	border-radius: 8px; */
}
.movie-player video {
	width: 240px;
	/* height: auto; */
	height: 180px;
}
.movie-player-perforations-top,
.movie-player-perforations-bottom {
	display: block;
	height: 26px;
	background-size: 31px;
}
.movie-player-perforations-top {
	background-image: url(/img/movie-player-perforations-top.png) ;
}
.movie-player-perforations-bottom {
	background-image: url(/img/movie-player-perforations-bottom.png) ;
}
.movie-player-thumbnail {
	width: 240px;
	/* max-height: 150px; */
}
.movie-player-thumbnail-s {
	width: 120px;
	/* max-height: 150px; */
}

/* more */
.more-box {
	position: relative;
	padding-bottom: 2em;
}
p.more {
	position: absolute;
	right: 0;
	bottom: 0;
	padding-top: 0;
	line-height: 1em;
}
p.more a {
	color: #009800;
	font-weight: bold;
}
p.more a:hover {
	text-decoration: none;
}

/* 見出し下線 */
.underline-arrow-green-s {
	height: 48px;
	background-image: url(/img/underline-arrow-green-s.png) ;
	background-position: center 30px;
	background-repeat: no-repeat;
	background-size: 248px 10px;
	width: 100%;
}
/* .underline-arrow-green-m {
	height: 48px;
	background-image: url(/img/underline-arrow-green-m.png) ;
	background-position: center 34px;
	background-repeat: no-repeat;
	background-size: 292px 10px;
	width: 100%;
} */
.underline-arrow-green-m {
	line-height: 1.4;
}
.underline-arrow-green-m:after {
	display: block;
	content: ''; /* 下枠線のみ */
	width: 100%;
	height: 10px;
	padding-top: 10px;
	background-image: url(/img/underline-arrow-green-m.png) ;
	background-repeat: no-repeat;
	background-size: auto 10px;
	background-position: center center;
}

/* 罫線 */
hr.green-2px {
	border: none;
	background-color: #fff;
	border-width: 2px 0 0 0;
	border-top: solid;
	border-color: #009600;
	max-width: 720px;
	margin: 30px auto;
}
hr.black-1px {
	height: 1px;
	background-color: #000;
	color: #000;
	border: none;
	max-width: 740px;
	margin: 20px auto;
}
hr.grey-1px {
	border: none;
	background-color: #fff;
	border-width: 1px 0 0 0;
	border-top: solid;
	border-color: #575757;
	max-width: 810px;
	margin: 20px auto;
}    
/* modal */
.user-thumbnail {
	width: 90px;
	height: 90px;
	margin-right: 10px;
}
.user-name {
	font-size: 14px;
	font-size: 1.4rem;
}
.user-introduce {
	font-size: 13px;
	font-size: 1.3rem;
}
.uk-modal-body {
	padding: 10px;
}
.modal-box {
	border: 1px solid #7bff20;
	padding: 30px;
}
.modal-logo {
	text-align: center;
}
.modal-head {
	font-size: 18px;
	font-size: 1.8rem;
	color: #00a0e9;
	text-align: center;
}
.modal-user-name {
	font-size: 22px;
	font-size: 2.2rem;
}
.modal-user-introduce {
	background: #dfecdd;
	text-align: center;
	font-size: 22px;
	font-size: 2.2rem;
}
.modal-content {
	margin-top: 10px;
}
.modal-content p {
	margin-top: 1em;
}
.modal-image{
	margin-top: 30px;
	text-align: center;
}
.modal-foot {
	text-align: center;
	margin-top: 30px;
}

/* ------------------------------
header
------------------------------ */
/* 高さ調整 */
body>.contents {
	padding-top: 125px;
	/* background: #fee; */
}
@media (max-width: 959px) {
	body>.contents {
		padding-top: 60px;
	}
}

/* header */
#top-header {
	background-color: #fff;
	background-image: url(/img/bg_greenbelt_thin.jpg);
	background-position: 0 13px;
	background-repeat: no-repeat;
	background-size: 100% 18px;
	width: 100%;
	/* height: 79px; */
	/* position: relative; */
	padding-top: 40px;
	padding-bottom: 10px;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 300;
	/*border-bottom: none;*/
    border-bottom: 1px solid #5DA753;
	opacity: 0.9;
}
#top-header .logo {
	width: 228.5px;
	display: block;
}
@media (max-width: 959px) {
	#top-header {
		background-image: none;
		background-image: url(/img/bg_greenbelt_thin.jpg);
		/* background-position: 0 13px; */
		background-position: 0 6px;
		background-size: contain;
		background-size: 100% 6px;
		/* height: 79px; */
		/* position: relative; */
		/* padding-top: 0; */
		padding-top: 16px;
		padding-bottom: 5px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 300;
		/*border-bottom: none;*/
        border-bottom: 1px solid #5DA753;
	}
	#top-header .logo {
		width: 200px;
	}
	/* #top-header .gl {
		background: #fff;
	}
	#top-header .gl > li {
		border-bottom: 1px solid #449933;
	}
	#top-header .gl > li a {
		color: #449933;
	} */
}
@media screen and (max-width:339px) {
	#top-header .logo {
		width: 180px;
	}
}

/* gl */
#top-header .gl > li + li {
    margin-left: .5em;
}
#top-header .gl > li {
    position: relative;
	font-weight: bold;
	padding: 0 0 0 3em;
}
#top-header .gl > li span {
    cursor: pointer;
    padding: 1em 0;
}
#top-header .gl > li span:after {
    /* font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f107";
    padding-left: 0.5em; */
}
#top-header .gl li .child{
	display: none;
	position: absolute;
	/* padding: 0 1.5em 0 1.5em; */
	width: 170px;
	box-sizing: border-box;
	left: 2em;
	/* top: 31px; */
	top: 2.2em;
}
#top-header .gl > li li + li{
	border-top: 1px solid #333;
}
#top-header .gl li a {
	color: #000;
}
#top-header .gl li .child li a{
	padding: 1em 1em;
	display: block;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1;
	background: #E1EEDD;
}
#top-header .gl li .child li a:hover {
	background: #44A444;
	color: #fff;
}

@media (max-width: 959px) {
	.btn-sp {
		width: 20px;
		height: 20px;
        margin-left: 1.5em;
	}
	.btn-sp a {
		display: block;
		width: 20px;
		height: 0;
		padding-top: 20px;
		overflow: hidden;
	}
	.btn-sp a.menu-trigger {
		position: relative;
		width: 20px;
		height: 20px;
		z-index: 99999;
		padding: 0;
        margin: 0;
	}
    
	/*ハンバーガー*/
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		-webkit-transition: all .4s;
		transition: all .4s;
		box-sizing: border-box;
		cursor: pointer;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #449933;
		border-radius: 2px;
 	}
	.menu-trigger span:nth-of-type(1) {
		top: 1px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 9px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 1px;
	}
	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(8.3px) rotate(-315deg);
		-ms-transform: translateY(8.3px) rotate(-315deg);
		transform: translateY(8.3px) rotate(-315deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8.3px) rotate(315deg);
		-ms-transform: translateY(-8.3px) rotate(315deg);
		transform: translateY(-8.3px) rotate(315deg);
	}
	.layer {
		display: none;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,0.77);
        z-index: auto;
        cursor: pointer;
	}
	.layer.active {
		display: block;
	}
    /* gl -----------------------*/
    #top-header .gl {
        display: none;
        position: absolute;
        z-index: 9999;
        top: 0;
        left: 0;
        width: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
		background: #E1EEDD;
		padding: 60px 0 0 0;
    }
    #top-header .gl.active {
        display: block;
    }
    #top-header .gl > li {
		border-bottom: 1px solid #333;
		padding: 0 0 0 0;
    }
    #top-header .gl > li + li {
        margin-left: 0;
    }
    #top-header .gl li .child {
        position: relative;
		background: #E1EEDD;
        padding: 0 ;
        width: 100%;
        left: 0;
        top: 0;
    }
    #top-header .gl li > a,
    #top-header .gl li > span {
        padding: 1em;
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    #top-header .gl li a{
		text-align: center;
		/* border-radius: 0; */
    }
	#top-header .gl > li span:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f107";
		padding-left: 0.5em;
	}
	#top-header .gl > li span.active:after {
		content: "\f106";
	}
	#top-header .gl > li li + li{
		border-top: none;
	}
	#top-header .gl li .child li a:hover {
		background: inherit;
		color: inherit;
	}
    /* ドロップダウンリスト時背景固定 */
    .scroll-prevent {
        position: fixed;
        z-index: -1;
        width: 100%;
        height: 100%;
        top: 0;
        right: 0;
    }
}

/* ------------------------------
footer
------------------------------ */
#footer {
	padding: 0 0;
	background: #fff;
}
#footer .footer-main {
	background-image: url(/img/bg_greenbelt_thick.jpg);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
}
#footer .footer-main .uk-container {
	padding: 10px 40px;
}
#footer .f-gl {
	/* height: 50px; */
	/* display: flex; */
	/* justify-content: center; */
	/* align-items: center; */
}
#footer .f-gl li {
	margin: 0 1.5em;
}
#footer .f-gl li a {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	color: #FFF;
}
#footer .f_logo {
	margin-top: 34px;
	width: 260px;
	/* padding-bottom: 100px; */
}

#footer .copyright {
	border-top: none;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: 0;
	background-color: #E0EDDE;
	text-align: center;
}
#footer .copyright small {
	font-size: 1.2rem;
	font-size: 12px;
	color: #535353;
}

@media (max-width: 959px) {
	#footer .footer-main .uk-container {
		padding: 0 0 0;
	}
	#footer .footer-main {
		background-size: 100% 100%;
	}
	#footer .f-gl li {
		/* width: inherit; */
		/* text-align: center; */
		margin: 0 1em;
	}
	#footer .f_logo {
		margin-top: 0;
		width: 200px;
		/* padding-bottom: 100px; */
	}
    #footer .footer-main .uk-container > div {
        padding: 1em 3% 1em 3%;
    }
    #footer .footer-main .uk-container > div ul.f-gl {
        width: 100%;
        padding: 0 0em;
    }
}
.footer-right {
  position: absolute;
  bottom: 50px;
  right: 20px;
  width: 120px;
}
/* ------------------------------
headline
------------------------------ */
.head-block {
	min-height: 500px;
}
.head-wrapper {
	width: 560px;
	text-align: center;
	margin-right: 0;
}
.head {
	font-size: 5.8rem;
	font-size: 58px;
	font-weight: bold;
	color: #353535;
	line-height: 1.1;
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
.subhead {
	margin: 10px 0 0 0;
	font-size: 2.2rem;
	font-size: 22px;
	color: #494645;
	line-height: 1.4;
	letter-spacing: -0.05em;
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
.lead-block {
	text-align: center;
	padding: 15px;
}
.lead-main {
	color: #3e3a39;
	font-size: 3.2rem;
	font-size: 32px;
	vertical-align: middle;
	line-height: 1.4;
}
.lead-sub {
	font-size: 2.1rem;
	font-size: 21px;
	vertical-align: middle;
	line-height: 1.4;
}
@media (max-width: 959px) {
	.head-block {
		/* min-height: 300px; */
	}
	.head {
		font-size: 4rem;
		font-size: 40px;
	}
	.subhead {
		font-size: 1.7rem;
		font-size: 17px;
	}
	.lead-main {
		font-size: 2.5rem;
		font-size: 25px;
	}
	.lead-sub {
		font-size: 1.7rem;
		font-size: 17px;
	}
}

/* ------------------------------
template-a
------------------------------ */
.template-a-info-title {
	position: relative;
	color: #ed6c00;
	font-weight: bold;
	font-size: 3.4rem;
	font-size: 34px;
	padding-left: 68px;
	line-height: 1.2;
}
.template-a-info-title span.step-number {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 80px;
	height: 80px;
	margin-top: -20px;
	margin-left: -10px;
	padding-top: 20px;
	padding-left: 28px;
	font-style: italic;
	background-image: url(/img/bg-step-number.png);
	background-size: 80px 80px;
	background-repeat: no-repeat;
	font-family: 'Noto Serif JP', "游明朝体", "ヒラギノ明朝 ProN W3", serif;
}
.template-a-info-text {
	margin: 20px 0;
	color: #000;
	font-size: 1.9rem;
	font-size: 19px;
	/* line-height: 2; */
}
.template-a-image {
	position: relative;
}

@media (max-width: 959px) {
	.template-a-info-title {
		font-size: 2.8rem;
		font-size: 28px;
		padding-left: 54px;
	}
	.template-a-info-title span.step-number {
		width: 70px;
		height: 70px;
		margin-top: -18px;
		margin-left: -10px;
		padding-top: 18px;
		padding-left: 24px;
		background-size: 70px 70px;
	}
	.template-a-info-text {
		font-size: 1.5rem;
		font-size: 15px;
	}
	.note {
		font-size: 1.2rem;
		font-size: 12px;
		line-height: 1.6;
	}
}

/* 吹き出し */
.arrow_box {
	position: absolute;
	top: 40%;
	right: -30px;
	/* right: -15px; */
	width: 90px;
	background: #FFFFFF;
	padding: 20px;
	text-align: left;
	border: 5px solid #F39700;
	color: #333333;
	font-size: 1.2rem;
	font-size: 12px;
	border-radius: 15px;
}
.arrow_box:before {
	border: solid transparent;
	content: '';
	height: 0;
	width: 0;
	pointer-events: none;
	position: absolute;
	right: 100%;
	top: 60%;
}
.arrow_box:before{
	border-color: rgba(243, 151, 0, 0);
	border-top-width: 10px;
	border-bottom-width: 10px;
	border-left-width: 22px;
	border-right-width: 22px;
	margin-top: -10px;
	margin-right: 5px;
	border-right-color: #F39700;
}
.arrow_box-text {
	height: 60px;
	font-size: 1.2rem;
}
@media screen and (max-width: 959px) {
	.arrow_box {
		right: -15px;
	}
}

/* ------------------------------
template-b
------------------------------ */
.template-b-section {
	/* padding: 60px 0; */
}
.template-b {
	/* margin: 20px 0 0 0;
	padding: 0 0; */
}
.template-b-head {
	text-align: center;
	margin: 0 auto;
	padding: 20px;
	border: 2px solid #1A499E;
	max-width: 500px;
	font-size: 2.8rem;
	font-size: 28px;
	font-weight: bold;
	color: #000;
	line-height: 1.4;
}
.template-b-lead-block {
	padding: 15px;
	background: #489f40;
}
.template-b-lead-main {
	color: #fff;
	font-size: 3.2rem;
	font-size: 32px;
	font-weight: bold;
	vertical-align: middle;
	line-height: 1.4;
}
.template-b-lead-sub {
	font-size: 2.4rem;
	font-size: 24px;
	vertical-align: middle;
	line-height: 1.4;
}
.template-b-text-block {
	text-align: center;
}
.template-b-menu-block {
	background: #ebecec;
}
.template-b-menu-list {
	max-width: 600px;
	margin: 0 auto;
	padding: 10px;
}
.template-b-menu-list li {
	list-style-type: decimal;
	list-style-position: inside;
	margin: 25px;
	padding: 0  2em;
	font-size: 3rem;
	font-size: 30px;
	line-height: 1.5;
	color: #40a040;
	background: #fff;
}

.template-b-menu-list li a {
    color: #40a040;
}

.template-b-text {
	color: #494645;
	font-size: 2rem;
	font-size: 20px;
	/* line-height: 1.4; */
}
.intro {
	font-size: 2rem;
	font-size: 20px;
	text-align: left;
	line-height: 2;
}
@media (max-width: 959px) {
	.template-b-head {
		padding: 10px; 
		font-size: 2rem;
		font-size: 20px;
	}
	.template-b-lead-main {
		font-size: 2.5rem;
		font-size: 25px;
	}
	.template-b-text-block {
		/* padding: 15px; */ 
	}
	.template-b-menu-list li {
		margin: 15px;
		font-size: 1.8rem;
		font-size: 18px;
	}
	.template-b-text {
		font-size: 1.5rem;
		font-size: 15px;
	}
	.intro {
		font-size: 1.7rem;
		font-size: 17px;
		line-height: 1.9;
	}
}

/* ------------------------------
template-c
------------------------------ */
.template-c-section {
	/* padding: 60px 0; */
}
.template-c-title-block {
	padding-top: 30px;
	padding-bottom: 30px;
}
.template-c-title {
	background-image: url(/img/bg-step-number.png);
	background-size: 60px 60px;
	background-repeat: no-repeat;
	font-weight: bold;
	font-size: 3.2rem;
	font-size: 32px;
	line-height: 1.2;
	min-height: 48px;
	margin-left: -6px;
	padding-top: 12px;
	padding-left: 60px;
}
.template-c-title2 {
	width: 240px;
	height: 60px;
	line-height: 60px;
	text-align: center;
	background: #fff;
	font-size: 2.7rem;
	font-size: 27px;
	/* font-weight: bold; */
	color: #000;
	border: 1px solid #008900;
}
.template-c-title span {
	font-size: 1.9rem;
	font-size: 19px;
	vertical-align: middle;
	line-height: 1.4;
	margin-left: 1em;
}
.template-c-lead-block {
	padding-top: 0;
	padding-bottom: 20px;
	/* padding-left: 100px; */
}
.template-c-lead {
	color: #0070bd;
	font-weight: bold;
	font-size: 2.4rem;
	font-size: 24px;
	line-height: 1.2;
}
.template-c-sublead {
	color: #6F6F6F;
	font-size: 2rem;
	font-size: 20px;
	line-height: 1.5;
#585858}
.template-c-information-block-inner {
	margin-left: 58px;
}
.template-c-information-head {
	color: #004da0;
	margin-top: 30px;
}
.template-c-information-list dt {
	color: #004da0;
	float: left;
}
.template-c-information-list dd {
	color: #004da0;
	margin-left: 3em;
}
.template-c-information-list2 dt {
	float: left;
}
.template-c-information-list2 dd {
	margin-left: 6em;
}
.template-c-information-list3 dt {
	float: left;
	font-size: 1.1rem;
	font-size: 11px;
	font-weight: bold;
}
.template-c-information-list3 dd {
	margin-left: 3em;
	font-size: 1.1rem;
	font-size: 11px;
}
.template-c-information-list4 dt {
	float: left;
	margin-left: 1em;
	font-size: 1.1rem;
	font-size: 11px;
	font-weight: normal;
	color: #666464;
}
.template-c-information-list4 dd {
	margin-left: 4em;
	font-size: 1.1rem;
	font-size: 11px;
	color: #666464;
}
.template-c-information-text {
	/* color: #004da0; */
}
.template-c-text-block {
	/* padding-top: 40px;
	padding-bottom: 40px; */
}
.template-c-text-block-inner {
	padding-left: 96px;
	padding-right: 96px;
}
.template-c-text {
	/* margin: 20px 0; */
	color: #585858;
	font-size: 2.2rem;
	font-size: 22px;
	line-height: 2;
}
.template-c-image-block {
	/* padding-top: 40px;
	padding-bottom: 40px; */
}
.template-c-table-block {
}
.template-c-table-block-inner {
	padding-left: 96px;
	padding-right: 96px;
}
@media (max-width: 959px) {
	.template-c-title-block {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.template-c-title {
		background-size: 60px 60px;
		font-size: 2.8rem;
		font-size: 28px;
		padding-left: 54px;
		min-height: 50px;
		margin-top: 0;
		margin-left: -6px;
		padding-top: 15px;
		padding-left: 60px;
	}
	.template-c-lead-block {
	}
	.template-c-lead {
		font-size: 2rem;
		font-size: 20px;
	}
	.template-c-information-block-inner {
		margin-left: 0;
	}
	.template-c-text-block {
		/* padding-top: 20px;
		padding-bottom: 20px; */
	}
	.template-c-text-block-inner {
		padding-left: 30px;
		padding-right: 30px;
	}
	.template-c-text {
		font-size: 1.7rem;
		font-size: 17px;
		line-height: 2;
	}
	.template-c-table-block-inner {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* ------------------------------
template-e
------------------------------ */
.template-e-table-block {
}
.template-e-table-block-inner {
	padding-left: 96px;
	padding-right: 96px;
}
@media (max-width: 959px) {
	.template-e-table-block-inner {
		padding-left: 30px;
		padding-right: 30px;
	}
}

/* table-plane ------------------- */
.table-plane {
	/* min-width: 808px; */
	/* border: 1px solid #000; */
}
.table-plane tr + tr {
	border-top: 1px solid #595757;
}
.table-plane th + th ,
.table-plane td + td {
	/* border-left: 1px solid #000; */
}
.table-plane th ,
.table-plane td {
	color: #231815;
	vertical-align: top;
	font-size: 12px;
	font-size: 1.2rem;
}
.table-plane th {
	padding: 20px 1em 20px;
	/* font-weight: bold; */
	/* text-align: center; */
}
.table-plane td {
	vertical-align: top;
	/* vertical-align: middle; */
	padding: 10px 1em 10px;
	font-size: 12px;
	font-size: 1.2rem;
	width: 80%;
}
.table-plane td div {
	border-left: 1px solid #595757;
	padding: 1em 2em;
}

/* table-plane2 ------------------- */
.table-plane2 {
	/* min-width: 808px; */
	border: 1px solid #9fa0a0;
}
.table-plane2 tr + tr {
	border-top: 1px solid #9fa0a0;
}

.table-plane2 th ,
.table-plane2 td {
	vertical-align: middle;
	padding: 2px 1em 0;
	color: #333;
}
.table-plane2 th {
	border-right: 1px solid #9fa0a0;
	/* text-align: center; */
	/* font-weight: bold; */
	background: #efefef;
	font-size: 12px;
	font-size: 1.2rem;
	width: 14%;
}
.table-plane2 td {
	/* border-top: 1px dashed #f00; */
	font-size: 11px;
	font-size: 1.1rem;
}

/* table-plane3 ------------------- */
.table-plane3 {
}
.table-plane3 th {
	color: #0095ff;
}
.table-plane3 th ,
.table-plane3 td {
	vertical-align: middle;
	padding: 6px 1em 4px;
	font-size: 12px;
	font-size: 1.2rem;
}
.table-plane3 td.th {
	width: 20%;
	white-space: nowrap;
}
.table-plane3 td {
	color: #000;
}
.table-plane3 tbody tr:nth-of-type(odd),
.table-plane3 > tr:nth-of-type(odd) {
	background: #ffffb4;
}

/* table-plane4 ------------------- */
.table-plane4 {
	/* min-width: 808px; */
	/* border: 1px solid #000; */
}
.table-plane4 tr + tr {
	border-top: 1px solid #595757;
}
.table-plane4 th + th ,
.table-plane4 td + td {
	/* border-left: 1px solid #000; */
}
.table-plane4 th ,
.table-plane4 td {
	color: #000;
	vertical-align: middle;
	font-size: 17px;
	font-size: 1.7rem;
}
.table-plane4 th {
	padding: 20px 1em 20px;
	/* font-weight: bold; */
	text-align: center;
}
.table-plane4 td {
	vertical-align: top;
	/* vertical-align: middle; */
	padding: 10px 1em 10px;
	width: 74%;
}
.table-plane4 td div {
	border-left: 1px solid #595757;
	padding: 1em 2em;
}

@media (max-width: 959px) {
	/* table-plane ------------------- */
	.table-plane td div {
		border-left: none;
		padding: 1em 0 0;
	}
	.table-plane td > span.sp {
		/* border-right: 1px solid #e5e5e5; */
		/* width: 80px; */
		font-weight: bold;
	}
	/* table-plane2 ------------------- */
	.table-plane2 th  {
		white-space: nowrap;
		min-width: 85px;
	}
	/* table-plane3 ------------------- */
	.table-plane3 td.th  {
		white-space: nowrap;
		min-width: 85px;
	}
	/* table-plane ------------------- */
	.table-plane4 td div {
		border-left: none;
		padding: 1em 0 0;
	}
	.table-plane4 td span {
		font-weight: bold;
	}
	.table-plane4 th ,
	.table-plane4 td {
		font-size: 13px;
		font-size: 1.3rem;
	}
}

/* table-history ------------------- */
.table-history {
}
.table-history tr.history-newyear {
	border-top: 1px dashed #b5b5b6;
}
.table-history td {
	vertical-align: top;
	color: #595757;
	font-size: 11px;
	font-size: 1.1rem;
}
.table-history td.history-year {
	width: 45px;
	padding: 6px 0 6px 1em;
	white-space: nowrap;
}
.table-history td.history-month {
	width: 30px;
	padding: 6px 0 6px 0;
	text-align: right;
	white-space: nowrap;
}
.table-history td.history-content {
	padding: 6px 1em 6px 1em;
}

/* ------------------------------
template-f
------------------------------ */
.template-f-image-block {
	max-width: 800px;
	margin-top: 20px;
}
.template-f-image-caption {
	font-size: 1.1rem;
	font-size: 11px;
	text-align: center;
	margin-top: 5px;
}

/* ------------------------------
template-g
------------------------------ */
.template-g-section {
	/* padding: 60px 0; */
}
.template-g-title-block {
	padding-top: 30px;
	padding-bottom: 30px;
}
.template-g-title {
	background-image: url(/img/bg-step-number.png);
	background-size: 60px 60px;
	background-repeat: no-repeat;
	font-weight: bold;
	font-size: 3.2rem;
	font-size: 32px;
	line-height: 1.2;
	min-height: 48px;
	margin-left: -6px;
	padding-top: 12px;
	padding-left: 60px;
}
.template-g-table-block {
}
.template-g-table-block-inner {
	padding-left: 96px;
	padding-right: 96px;
}
.table-trouble_shooting {
	min-width: 808px;
	border: 1px solid #000;
}
.table-trouble_shooting th + th ,
.table-trouble_shooting td + td {
	border-left: 1px solid #000;
}
.table-trouble_shooting th ,
.table-trouble_shooting td {
	padding: 6px 1em 4px;
	color: #000;
}
.table-trouble_shooting th {
	text-align: center;
	font-weight: bold;
	background: #e0ffff;
	font-size: 13px;
	font-size: 1.3rem;
}
.table-trouble_shooting td {
	/* vertical-align: top; */
	vertical-align: middle;
	border-top: 1px solid #000;
	font-size: 12px;
	font-size: 1.2rem;
	width: 43%;
}
.table-trouble_shooting td.th {
	vertical-align: middle;
	border-top: 1px solid #000;
    border-right: 1px solid #000;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	background: #fff2e0;
	width: 14%;
}
@media (max-width: 959px) {
	.template-g-table-block-inner {
		padding-left: 30px;
		padding-right: 30px;
	}
}

.table-lineup {
	min-width: 640px;
}
.table-lineup tr:not(.table-lineup > thead > tr) {
	border-top: 1px solid #fff;
}
.table-lineup th,
.table-lineup td  {
	padding: 4px 1em;
}
.table-lineup thead th {
	background: #dbdad8;
	color: #231815;
	font-weight: bold;
}
.table-lineup thead th:first-child {
	text-indent: 2em;
}
.table-lineup thead th:last-child {
	border-left: 1px solid #fff;
}
.table-lineup td.table-lineup-category {
	color: #231815;
	font-weight: bold;
	font-size: 13px;
	font-size: 1.3rem;
}
.table-lineup td.table-lineup-series {
	color: #fff;
	font-weight: bold;
	font-size: 13px;
	font-size: 1.3rem;
	text-indent: 1em;
	vertical-align: middle;
}
.table-lineup td.table-lineup-type {
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	vertical-align: middle;
}
.table-lineup td.table-lineup-amount {
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	font-size: 1.2rem;
	border-left: 1px solid #fff;
	vertical-align: middle;
}
.table-lineup td.table-lineup-series a {
	color: #fff;
	font-weight: bold;
}
.table-lineup td.table-lineup-series a:hover {
	text-decoration: underline;
}

/* ------------------------------
apc
------------------------------ */
.apc-b1s-black { border: 1px solid #000; }
.apc-fs60 { font-size: 60px; font-size: 6rem; }
.apc-fs40 { font-size: 40px; font-size: 4rem; }
.apc-fs39 { font-size: 39px; font-size: 3.9rem; }
.apc-fs38 { font-size: 38px; font-size: 3.8rem; }
.apc-fs36 { font-size: 36px; font-size: 3.6rem; }
.apc-fs34 { font-size: 34px; font-size: 3.4rem; }
.apc-fs33 { font-size: 33px; font-size: 3.3rem; }
.apc-fs32 { font-size: 32px; font-size: 3.2rem; }
.apc-fs31 { font-size: 31px; font-size: 3.1rem; }
.apc-fs30 { font-size: 30px; font-size: 3rem; }
.apc-fs29 { font-size: 29px; font-size: 2.9rem; }
.apc-fs28 { font-size: 28px; font-size: 2.8rem; }
.apc-fs27 { font-size: 27px; font-size: 2.7rem; }
.apc-fs26 { font-size: 26px; font-size: 2.6rem; }
.apc-fs25 { font-size: 25px; font-size: 2.5rem; }
.apc-fs24 { font-size: 24px; font-size: 2.4rem; }
.apc-fs23 { font-size: 23px; font-size: 2.3rem; }
.apc-fs22 { font-size: 22px; font-size: 2.2rem; }
.apc-fs21 { font-size: 21px; font-size: 2.1rem; }
.apc-fs20 { font-size: 20px; font-size: 2rem; }
.apc-fs19 { font-size: 19px; font-size: 1.9rem; }
.apc-fs18 { font-size: 18px; font-size: 1.8rem; }
.apc-fs17 { font-size: 17px; font-size: 1.7rem; }
.apc-fs16 { font-size: 16px; font-size: 1.6rem; }
.apc-fs15 { font-size: 15px; font-size: 1.5rem; }
.apc-fs14 { font-size: 14px; font-size: 1.4rem; }
.apc-fs13 { font-size: 13px; font-size: 1.3rem; }
.apc-fs12 { font-size: 12px; font-size: 1.2rem; }
.apc-fs11 { font-size: 11px; font-size: 1.1rem; }

.apc-fs44r { font-size: 44px; font-size: 4.4rem; }
.apc-fs40r { font-size: 40px; font-size: 4rem; }
.apc-fs39r { font-size: 39px; font-size: 3.9rem; }
.apc-fs34r { font-size: 34px; font-size: 3.4rem; }
.apc-fs33r { font-size: 33px; font-size: 3.3rem; }
.apc-fs32r { font-size: 32px; font-size: 3.2rem; }
.apc-fs31r { font-size: 31px; font-size: 3.1rem; }
.apc-fs30r { font-size: 30px; font-size: 3rem; }
.apc-fs36r { font-size: 36px; font-size: 3.6rem; }
.apc-fs28r { font-size: 28px; font-size: 2.8rem; }
.apc-fs27r { font-size: 27px; font-size: 2.7rem; }
.apc-fs24r { font-size: 24px; font-size: 2.4rem; }
.apc-fs23r { font-size: 23px; font-size: 2.3rem; }
.apc-fs22r { font-size: 22px; font-size: 2.2rem; }
.apc-fs21r { font-size: 21px; font-size: 2.1rem; }
.apc-fs20r { font-size: 20px; font-size: 2rem; }
.apc-fs19r { font-size: 19px; font-size: 1.9rem; }
.apc-fs16r { font-size: 16px; font-size: 1.6rem; }
.apc-fs15r { font-size: 15px; font-size: 1.5rem; }
@media (max-width: 959px) {
	.apc-fs44r { font-size: 34px; font-size: 3.4rem; }
	.apc-fs40r { font-size: 32px; font-size: 3.2rem; }
	.apc-fs39r { font-size: 31px; font-size: 3.1rem; }
	.apc-fs36r { font-size: 30px; font-size: 3.0rem; }
	.apc-fs34r { font-size: 27px; font-size: 2.7rem; }
	.apc-fs33r { font-size: 26px; font-size: 2.6rem; }
	.apc-fs32r { font-size: 25px; font-size: 2.5rem; }
	.apc-fs31r { font-size: 25px; font-size: 2.5rem; }
	.apc-fs30r { font-size: 24px; font-size: 2.4rem; }
	.apc-fs28r { font-size: 22px; font-size: 2.2rem; }
	.apc-fs27r { font-size: 21px; font-size: 2.1rem; }
	.apc-fs24r { font-size: 19px; font-size: 1.9rem; }
	.apc-fs23r { font-size: 18px; font-size: 1.8rem; }
	.apc-fs22r { font-size: 17px; font-size: 1.7rem; }
	.apc-fs21r { font-size: 16px; font-size: 1.6rem; }
	.apc-fs20r { font-size: 16px; font-size: 1.6rem; }
	.apc-fs19r { font-size: 16px; font-size: 1.6rem; }
	.apc-fs16r { font-size: 15px; font-size: 1.5rem; }
	.apc-fs15r { font-size: 14px; font-size: 1.4rem; }
}
.text-black { color: #585858; }
.text-red { color: #e60012; }
.text-green { color: #009800; }
.text-limegreen { color: #afdb50; }
.text-emeraldgreen { color: #00c47c; }
.text-mosgreen { color: #358da9; }
.text-darkgreen { color: #008200; }
.text-darkgreen2 { color: #008840; }
.text-lightgreen { color: #48a040; }
.text-lightgreen2 { color: #42a000; }
.text-brightgreen { color: #00b400; }
.text-blue { color: #0065ff; }
.text-skyblue { color: #00a0e9; }
.text-orange { color: #f08300; }
.text-darkGrey { color: #535353; }
.text-pink { color: #e4007f; }

.bgWhite { background: #ffffff; }
.bgGrey {
	/* background: #eff0ea; */
	background: #f6f7f2;
}
.bgGrey2 { background: #ededed; }
.bgLightgreen { background: #ECF4D9; }
.bgLightgreen2 { background: #bdff91; }
.bgLightmosgreen { background: #e0edde; }
.bgLimegreen { background: #afdb50; }

.bgGreen { background: #009800; }
.bgLimegreen { background: #afdb50; }
.bgLitegreen { background: #48a040; }
.bgLightorange { background: #fff2e0; }
.bgMikan { background: #f29145; }

.ptb60 { padding-top: 60px; padding-bottom: 60px; }
.ptb30 { padding-top: 30px; padding-bottom: 30px; }
.pb100 { padding-bottom: 100px; }
.apc-mt100 { margin-top: 100px; }

.section60 { width: 100%; padding: 60px 0; }
.section50 { width: 100%; padding: 50px 0; }
.section60t { width: 100%; padding: 60px 0 0; }
.section60b { width: 100%; padding: 0 0 60px; }
.section30 { width: 100%; padding: 15px 0 30px;}
.section30t { width: 100%; padding: 30px 0 0; }
.section30b { width: 100%; padding: 0 0 30px; }
.section15t { width: 100%; padding: 15px 0 30px; }
.section0 { width: 100%; padding: 0 0; }

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}
