@charset "UTF-8";

/* =================================================

    wrap

================================================= */
.wrap {
  width: 1040px;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
}

.wrap930 {
  width: 970px;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
}

.wrap900 {
  width: 940px;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
}

.wrap750 {
  width: 790px;
  padding: 0 20px;
  box-sizing: border-box;
  margin: 0 auto;
}

.maxwid930 {
  max-width: 930px;
}

.table930 {
  width: 930px !important;
  box-sizing: border-box;
  margin: 60px auto !important;
}



/* =================================================

    clear

================================================= */
.clear {
  clear: both;
}

.clearfix:after {
  clear: both;
  content: "";
  height: 0;
  font-size: 0;
  visibility: hidden;
  display: block;
}




/* =================================================

    flex

================================================= */
.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.flexbox-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.flexbox-wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.ai-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.ai-end {
  -webkit-box-align: flex-end;
  -ms-flex-align: flex-end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.jc-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.jc-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.jc-end {
  -webkit-justify-content: flex-end;
  -ms-justify-content: flex-end;
  justify-content: flex-end;
}




/* =================================================

    align

================================================= */
.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.ver-align-middle {
  vertical-align: middle;
}




/* =================================================

    margin/padding

================================================= */
.mb0{margin-bottom:0px !important;}
.mb05{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb15{margin-bottom:15px;}
.mb20{margin-bottom:20px;}
.mb25{margin-bottom:25px;}
.mb30{margin-bottom:30px;}
.mb35{margin-bottom:35px;}
.mb40{margin-bottom:40px;}
.mb45{margin-bottom:45px;}
.mb50{margin-bottom:50px;}
.mb55{margin-bottom:55px;}
.mb60{margin-bottom:60px;}
.mb65{margin-bottom:65px;}
.mb70{margin-bottom:70px;}
.mb75{margin-bottom:75px;}
.mb80{margin-bottom:80px;}
.mb85{margin-bottom:85px;}
.mb90{margin-bottom:90px;}

.mt0{margin-top:0px !important;}
.mt05{margin-top:5px;}
.mt10{margin-top:10px;}
.mt15{margin-top:15px;}
.mt20{margin-top:20px;}
.mt25{margin-top:25px;}
.mt30{margin-top:30px;}
.mt35{margin-top:35px;}
.mt40{margin-top:40px;}
.mt45{margin-top:45px;}
.mt50{margin-top:50px;}
.mt55{margin-top:55px;}
.mt60{margin-top:60px;}
.mt65{margin-top:65px;}
.mt70{margin-top:70px;}
.mt75{margin-top:75px;}
.mt80{margin-top:80px;}
.mt85{margin-top:85px;}
.mt90{margin-top:90px;}

.mtem0{margin-top:0px;}
.mtem1{margin-top:1em;}
.mtem2{margin-top:2em;}
.mtem3{margin-top:3em;}
.mtem4{margin-top:4em;}

.mlem0{margin-left:0px;}
.mlem1{margin-left:1em;}
.mlem2{margin-left:2em;}
.mlem3{margin-left:3em;}
.mlem4{margin-left:4em;}

.pb0{padding-bottom:0px;}
.pb05{padding-bottom:5px;}
.pb10{padding-bottom:10px;}
.pb15{padding-bottom:15px;}
.pb20{padding-bottom:20px;}
.pb25{padding-bottom:25px;}
.pb30{padding-bottom:30px;}
.pb35{padding-bottom:35px;}
.pb40{padding-bottom:40px;}
.pb45{padding-bottom:45px;}
.pb50{padding-bottom:50px;}
.pb55{padding-bottom:55px;}
.pb60{padding-bottom:60px;}
.pb65{padding-bottom:65px;}
.pb70{padding-bottom:70px;}
.pb75{padding-bottom:75px;}
.pb80{padding-bottom:80px;}
.pb85{padding-bottom:85px;}
.pb90{padding-bottom:90px;}

.pt0{padding-top:0px !important;}
.pt05{padding-top:5px;}
.pt10{padding-top:10px;}
.pt15{padding-top:15px;}
.pt20{padding-top:20px;}
.pt25{padding-top:25px;}
.pt30{padding-top:30px;}
.pt35{padding-top:35px;}
.pt40{padding-top:40px;}
.pt45{padding-top:45px;}
.pt50{padding-top:50px;}
.pt55{padding-top:55px;}
.pt60{padding-top:60px;}
.pt65{padding-top:65px;}
.pt70{padding-top:70px;}
.pt75{padding-top:75px;}
.pt80{padding-top:80px;}
.pt85{padding-top:85px;}
.pt90{padding-top:90px;}

.pl0{padding-left:0px !important;}
.pl05{padding-left:5px;}
.pl10{padding-left:10px;}
.pl15{padding-left:15px;}
.pl20{padding-left:20px;}
.pl25{padding-left:25px;}
.pl30{padding-left:30px;}
.pl35{padding-left:35px;}
.pl40{padding-left:40px;}
.pl45{padding-left:45px;}
.pl50{padding-left:50px;}

.pr0{padding-right:0px;}
.pr05{padding-right:5px;}
.pr10{padding-right:10px;}
.pr15{padding-right:15px;}
.pr20{padding-right:20px;}
.pr25{padding-right:25px;}
.pr30{padding-right:30px;}
.pr35{padding-right:35px;}
.pr40{padding-right:40px;}
.pr45{padding-right:45px;}
.pr50{padding-right:50px;}

.fs12{font-size: 12px !important;}
.fs13{font-size: 13px !important;}
.fs14{font-size: 14px !important;}
.fs15{font-size: 15px !important;}
.fs16{font-size: 16px !important;}
.fs17{font-size: 17px !important;}
.fs18{font-size: 18px !important;}
.fs19{font-size: 19px !important;}
.fs20{font-size: 20px !important;}
.fs30{font-size: 30px !important;}

/* =================================================

    Title

================================================= */
.page-ttl {
  font-size: 48px;
  line-height: 1;
  color: #fff;
  text-align: center;
  font-weight: bold;
  margin-bottom: -32px;
}

.page-ttl-parent {
  text-shadow: 0 3px 8px rgba(0,0,0,0.67);
}




.small-ttl {
  margin-top: -40px;
}

.small-ttl.adjust01,
.small-ttl.adjust02 {
  margin-top: 0;
}


.small-ttl.adjust02 span {
  line-height: 1.2;
}

.small-ttl span {
  line-height: 1;
}


.small-ttl .page-ttl-cat {
  position: relative;
  font-size: 24px;
  display: inline-block;
  margin-bottom: 16px;
  line-height: 1.3;
  text-shadow: 0 3px 8px rgba(0,0,0,0.67);
}

.small-ttl .page-ttl-cat::after {
  content: "";
  display: block;
  width: 134px;
  height: 5px;
  position: absolute;
  left: 50%;
  bottom: -16px;
  background-color: #EDEDED;
  background: transparent linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 28%, #0E8848F7 100%) 0% 0% no-repeat padding-box;
  background: linear-gradient(to right,  rgb(255,255,255) 28%,rgb(14,136,72) 100%);
  transform: translateX(-50%);
}



.small-ttl .page-ttl-detail {
  display: block;
  font-size: 30px;
  margin-top: 56px;
  text-shadow: 0 3px 8px rgba(0,0,0,0.67);
}

.small-ttl.adjust02 .page-ttl-detail {
  margin-top: 40px;
}


.ttl-wrap {
  position: relative;
}

/* 下線2重線 */
.ttl01 {
  margin-bottom: 5px;
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  line-height: 38px;
  border-bottom: #0e8848 solid 2px;
  color: #0e8848;
  box-sizing: border-box;
}

.ttl01:after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 0;
  width: 100%;
  height: 2px;
  border-bottom: #0e8848 solid 2px;
}

.ttl01 .small-ttl {
  color: #646464;
  font-size: 1.4rem;
  margin-left: 20px;
  font-weight: normal;
}

.ttl-wrap .ttl-link {
  position: absolute;
  right: 0;
}

.ttl02 {
  position: relative;
  margin-bottom: 35px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 0 0 15px;
}
/* 丸数字インデント対応 */
.ttl02.num-ttl {
  text-indent: -1.5em;
  padding-left: 2em;
}

.ttl02::before,
.ttl02::after {
  content: "";
  display: block;
  width: 7px;
  background-color: #EDEDED;
  position: absolute;
  left: 0;
}
.ttl02::before {
  height: 45px;
  background-color: #EDEDED;
  top: -4px;
}
.ttl02::after {
  height: 29px;
  background-color: #0E8848;
  top: 4px;
}

.ttl03 {
  position: relative;
  margin-bottom: 35px;
}
.ttl03::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #0E8848;
  position: absolute;
  left: 0;
  top: 50%;
}

.ttl03.ttl03-adjust01::after {
  width: 80%;
  right: 0;
  bottom: 20%;
  left: auto;
  top: auto;
}

.ttl03::before {
  content: "";
  display: block;
  width: 7px;
  height: 17px;
  position: absolute;
  left: 0;
  top: 2px;
  background-color: #0E8848;
  z-index: 2;
}
.ttl03 span {
  background-color: #fff;
  padding-right: 10px;
  display: inline-block;
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  z-index: 1;
  line-height: 1.3;
  padding-left: 14px;
}
.ttl03.ttl03-adjust01 span {
  background: none;
}
.ttl03.ttl03-adjust01 span span{
  background-color: #fff;
  padding-left: 2em;
}

.ttl04 {
  padding-bottom: 25px;
  position: relative;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.2;
  padding-bottom: 20px;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.ttl04::after {
  content: "";
  display: block;
  width: 135px;
  height: 5px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #0e8848;
}
.ttl04::before {
  content: "";
  display: block;
  width: 270px;
  height: 5px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #EDEDED;
}
.ttl04 a{
  text-decoration: underline;
}

.ttl04 a:hover{
  text-decoration: none;
}

.ttl05 {
  position: relative;
  margin-bottom: 35px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.5;
  padding: 5px 35px 5px;
  display: inline-block;
}
.ttl05:before,
.ttl05:after {
  content: "";
  display: block;
  width: 4px;
  height: 100%;
  background-color: #0E8848;
  position: absolute;
  top: 0;
  border-radius: 2px;
}
.ttl05:before {
  right: 0;
}
.ttl05:after {
  left: 0;
}



/* =================================================

    Text

================================================= */
.underline {
  text-decoration: underline;
}

.g-txt {
  color: #0E8848;
}

.fwb {
  font-weight: bold;
}

.indent li {
  padding-left: 1em;
  text-indent: -1em;
}

.indent-harf li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.-smaller {
  font-size: smaller;
}



/* =================================================

    Contents

================================================= */
.under-content {
  padding-top: 56px;
}

.mv {
  position: relative;
  background: no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 236px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  -ms-justify-content:center ;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.under-wrap {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  padding-top: 50px;
}

.under-main {
  padding-bottom: 80px;
}

.under-main p a:hover,
.under-main p a:focus {
  text-decoration: none;
}




/* =================================================

    breadcrumb

================================================= */
.breadcrumb-content {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(255,255,255,0.7);
  width: 100%;
  padding: 10px 0;
}

.breadcrumb-content ul li {
  padding-right: 0.5em;
  color: #0E8848;
  font-size: 12px;
}

.breadcrumb-content ul li a {
  position: relative;
  padding-right: 1em;
  text-decoration: underline;
}

.breadcrumb-content ul li a:hover,
.breadcrumb-content ul li a:focus {
  text-decoration: none;
}

.breadcrumb-content ul li a.noLink {
  text-decoration: none;
}

.breadcrumb-content ul li a::after {
  content: "";
  position: absolute;
  top: 5px;
  right: 1px;
  width: 6px;
  height: 6px;
  margin: auto;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}




/* =================================================

    lead

================================================= */
.lead-area01 {
  font-size: 16px;
  width: 930px;
  margin: 0 auto 60px;
}

.lead-area02 {
  font-size: 16px;
  width: 900px;
  margin: 0 auto 60px;
}

.page-desc {
  font-size: 16px;
  width: 900px;
  margin: 0 auto 60px;
}



/* =================================================

    section

================================================= */
.under-main > section {
  padding-top: 80px;
}

.under-main > section:first-of-type {
  padding-top: 0;
}




/* =================================================

    block

================================================= */
.lower-block01 {
  font-size: 18px;
  line-height: 1.3;
}

.lower-block01 .explanation {
  width: 270px;
}

.lower-block01 .lower-list {
  margin-left: 80px;
  line-height: 2;
}




/* =================================================

    link /button

================================================= */
.more-link {
  margin-top: 40px;
}

.more-link a {
  position: relative;
  font-size: 1.8rem;
  line-height: 1;
  box-sizing: border-box;
  text-align: center;
  border-radius: 5px;
  display: block;
  text-decoration: underline;
  color: #0E8848;
  font-weight: bold;
}

.link-box-wrap .link-box {
  padding: 0 50px;
  width: auto;
}

.link-box {
  height: 60px;
  border: #0e8848 solid 2px;
  padding: 0 0 0 30px;
  box-sizing: border-box;
  position: relative;
  border-radius: 2px;
  box-shadow: 2px 2px 0px 0px rgba(217,217,217,1);
  font-size: 1.6rem;
  margin: 0 auto;
  text-align: center;
}
.link-box:hover {
  background-color: #0E8848;
}
.link-box::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border-top: #0E8848 solid 1px;
  border-right: #0E8848 solid 1px;
  position: absolute;
  top: 50%;
  right: 22px;
  margin-top: -5px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: .3s;
  transition: .3s;
}
.link-box:hover::after,
.link-box:focus::after {
  right: 12px;
  border-top-color: #fff;
  border-right-color: #fff;
}
.link-box:hover::before,
.link-box:focus::before {
  width: 100%;
}
.link-box span {
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  z-index: 1;
}
.link-box:hover span,
.link-box:focus span {
  color: #fff;
  font-weight: bold;
}

.link-box-outer {
  margin-top: 50px;
}

.link-box-gr {
  margin: 0 auto;
  width: 300px;
  border: #0e8848 solid 2px;
  position: relative;
  font-size: 1.6rem;
  line-height: 1;
  padding: 18px 0;
  box-sizing: border-box;
  text-align: center;
  border-radius: 2px;
  display: block;
  text-align: center;
  box-shadow: 2px 2px 0px 0px rgba(217,217,217,1);
}

.link-box-gr:hover,
.link-box-gr:focus{
  background-color: #0e8848;
}

.link-box-gr::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border-top: #0E8848 solid 1px;
  border-right: #0E8848 solid 1px;
  position: absolute;
  right: 22px;
  top: 50%;
  margin-top: -5px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: .3s;
  transition: .3s;
}

.link-box-gr span {
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
  z-index: 1;
}

.link-box-gr:hover span,
.link-box-gr:focus span {
  color: #fff;
  font-weight: bold;
}

.link-box-gr:hover:before,
.link-box-gr:focus:before {
}

.link-box-gr:hover:after, .link-box-gr:focus:after {
  border-top-color: #fff;
  border-right-color: #fff;
  right: 12px;
}

.link-box.prev {
  padding-left: 65px;
}

.link-box.prev:before {
  left: auto;
  right: 0;
}

.link-box.prev:after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  right: auto;
  left: 30px;
}

.link-box.prev:hover:after, .link-box.prev:focus:after {
  left: 20px;
}

.link-box span .icon-link {
  top: -1px;
}



/* =================================================

    icon

================================================= */
i.check {
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0E8848;
  position: absolute;
  left: 0;
}

i.check:after {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  box-sizing: border-box;
  border-bottom: #fff solid 3px;
  border-left: #fff solid 3px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -4px 0 0 -6px;
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}

.icon-pdf {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
  top: -3px;
}

.icon-word {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
  top: -3px;
}

.icon-excel {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
  top: -3px;
}

.icon-powerpoint {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
  top: -3px;
}

.icon-link {
  position: relative;
  margin-left: 8px;
  margin-right: 8px;
}

.icon-link img{
  vertical-align: middle;
}

.icon-pdf img {
  width: 12px;
  height: 16px;
  vertical-align: middle;
}

.icon-word img {
  width: 12px;
  height: 16px;
}

.icon-excel img {
  width: 12px;
  height: 16px;
}

.icon-powerpoint img {
  width: 12px;
  height: 16px;
}



/* =================================================

    List

================================================= */
.num-list02 ol {
  counter-reset:number;
}
.num-list02 ol li {
  padding-left:33px;
  position:relative;
  line-height:1.75;
  margin-bottom:12px;
}
.num-list02 ol li:last-child {
  margin-bottom:0;
}
.num-list02 ol li:before {
  content:counter(number);
  counter-increment:number 1;
  position:absolute;
  left:0;
  top:4px;
  font-size:1.2rem;
  line-height:1.33;
  width:16px;
  text-align:center;
  border-radius:50%;
  background-color:#0E8848;
  color:#fff;
  display:block;
}

.dot-list > li {
  padding-left: 28px;
  line-height: 28px;
  position: relative;
  margin-bottom: 8px;
}

.dot-list > li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  left: 8px;
  top: 11px;
}
.dot-list01 > li,
.dot-list02 > li {
  line-height: 2;
  position: relative;
}

.dot-list01 > li {
  padding-left: 12px;
}

.dot-list02 > li {
  padding-left: 23px;
  font-size: 16px;
}

.dot-list01 > li:last-child,
.dot-list02 > li:last-child {
  margin-bottom: 0;
}

.dot-list01 > li::before,
.dot-list02 > li::before {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  left: 0;
  background-color: #000;
}

.dot-list01 > li::before {
  width: 4px;
  height: 4px;
  top: 12px;
}

.dot-list02 > li::before {
  width: 8px;
  height: 8px;
  top: 50%;
  transform: translateY(-50%);
}
/* adjust-y-axis */
.dot-list02 > li.adjust-y-axis01::before {
  top: 15px;
  transform: auto;
}

.dot-list01 > li > a,
.dot-list02 > li > a {
  text-decoration: underline;
}

.dot-list01 > li > a:hover,
.dot-list01 > li > a:focus,
.dot-list02 > li > a:hover,
.dot-list02 > li > a:focus {
  text-decoration: none;
}

.line-list {
  margin-top: 20px;
}

.line-list > li {
  padding-left: 17px;
  line-height: 1.5;
  position: relative;
  margin-bottom: 6px;
  font-size: 1.2rem;
}

.line-list > li:last-child {
  margin-bottom: 0;
}

.line-list > li:before {
  content: "";
  display: block;
  width: 6px;
  height: 2px;
  background-color: #6c7679;
  position: absolute;
  left: 0;
  top: 8px;
}

.notes-list {
  margin-top: 20px;
}

.notes-list > li {
  line-height: 1.5;
  font-size: 1.2rem;
  margin-bottom: 6px;
}

.notes-list a {
	color: #0E8848;
	text-decoration: underline;
}

.notes-list a:hover {
	text-decoration: none;
}

 .arrow-list > li {
  padding-left: 20px;
  position: relative;
  line-height: 1.5;
  margin-bottom: 4px;
}

.arrow-list > li:last-child {
  margin-bottom: 0;
}

.arrow-list > li:before, .arrow-list > li:after {
  content: "";
  display: block;
  position: absolute;
}

.arrow-list > li:before {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #0e8848;
  top: 3px;
  left: 0;
}

.arrow-list > li:after {
  width: 4px;
  height: 4px;
  border-top: #fff solid 1px;
  border-right: #fff solid 1px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left: 4px;
  top: 8px;
}

.arrow-list > li > a {
  text-decoration: underline;
}

.arrow-list > li > a:hover, .arrow-list > li > a:focus {
  text-decoration: none;
}

.decimal-list {
  list-style: outside decimal;
  padding-left: 20px;
}

.decimal-list > li {
  list-style: outside decimal;
  line-height: 2;
  font-size: 1.4rem;
  line-height: 2;
}

.news-list {
  width: 700px;
  margin: 0 auto;
}

.news-list .news-item {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: #000 solid 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.news-list .news-item:last-child {
  margin-bottom: 0;
}

.news-list .news-item .date {
  display: block;
  font-weight: bold;
  font-size: 16px;
  width: 135px;
}

.news-list .news-item .news-ttl {
  font-size: 16px;
  max-width: 805px;
}

.news-list .news-item .news-ttl a {
  text-decoration: underline;
  font-size: 16px;
  padding-left: 1em;
}

.news-list .news-item .news-ttl a:hover, .news-list .news-item .news-ttl a:focus {
  text-decoration: none;
}

.news-list .news-item .news-ttl .icon-pdf {
  top: -8px;
}

.news-list-02 {
  width: 1000px;
  margin: 0 auto;
}

.news-list-02 .news-item {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: #000 solid 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
}

.news-list-02 .news-item:last-child {
  margin-bottom: 0;
}

.news-list-02 .news-item .date {
  display: block;
  font-weight: bold;
  font-size: 16px;
  width: 120px;
}

.news-list-02 .news-item .news-ttl {
  font-size: 16px;
  /*max-width: 740px;*/
  flex: 1;
}

.news-list-02 .news-item .news-ttl a {
  text-decoration: underline;
  font-size: 16px;
}

.news-list-02 .news-item .news-ttl a:hover, .news-list-02 .news-item .news-ttl a:focus {
  text-decoration: none;
}

.cat-label {
  width: 120px;
  position: relative;
  border-style: solid;
  border-width: 1px;
  text-align: center;
  font-size: 16px;
  margin-right: 20px;
  padding: 10px 9px;
  font-weight: bold;
  line-height: 1.125;
  box-sizing: border-box;
}

.cat-label.cat-notice,
.cat-label.cat-notice-en {
  border-color: #0E8848;
}

.cat-label::before,
.cat-notice-en::before {
  content: '';
  background-color: #0E8848;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
}

.cat-label.cat-notice::after {
  content: 'お知らせ';
}

.cat-label.cat-notice-en::after {
  content: 'News';
}

.cat-label.cat-report,
.cat-label.cat-report-en {
  border-color: #88880E;
}

.cat-label.cat-report::before,
.cat-label.cat-report-en::before {
  content: '';
  background-color: #88880E;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
}

.cat-label.cat-report::after {
  content: 'レポート';
}

.cat-label.cat-report-en::after {
  content: 'Report';
}

.cat-label.cat-news {
  border-color: #0E4288;
}

.cat-label.cat-news::before {
  content: '';
  background-color: #0E4288;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
}

.cat-label.cat-news::after {
  content: 'ニュース';
}

.cat-label.cat-event,
.cat-label.cat-event-en {
  border-color: #880E0E;
}

.cat-event::before,
.cat-event-en::before {
  content: '';
  background-color: #880E0E;
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
}

.cat-event::after {
  content: 'イベント';
}

.cat-event-en::after {
  content: 'Event';
}




.horizontal-list > div {
  position: relative;
}

.horizontal-list > div > dt {
  position: absolute;
  left: 0;
  top: 0;
  line-height: 2;
}

.horizontal-list > div > dd {
  line-height: 2;
}

.page-top-list > li {
  line-height: 2.14;
  margin: 40px 0 0 0;
  text-align: right;
}

.page-top-list li a {
  color: #0E8848;
  text-decoration: underline;
}

.note-box {
  margin-top: 10px;
}

.note-box ul {
  padding-left: 100px;
}

.note-box ul li {
  font-size: 10px;
}




/* =================================================

    pager

================================================= */
.pager {
  padding-top: 70px;
  border-top: #e5e6e8 solid 2px;
  margin-top: 70px;
}

.pager .link-box {
  width: 310px;
}

.pager.w100 .link-box {
  width: 100%;
}

.pager .link-box.w400 {
  width: 400px;
}

.pager .link-box.w450 {
  width: 450px;
}

.pager .link-box.w550 {
  width: 550px;
}

.pager .prev {
  text-align: right;
  padding-left: 65px;
}

.pager .prev:before {
  left: auto;
  right: 0;
}

.pager .prev:after {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  right: auto;
  left: 22px;
}

.pager .prev:hover:after, .pager .prev:focus:after {
  left: 12px;
}

.pager .next {
  margin-left: auto;
}



/* =================================================

    xxx

================================================= */




/* =================================================

    Header

================================================= */
#header {
  position: relative;
  z-index: 10000;
  background-color: #fff;
}

#header .header-top {
  height: 54px;
}

#header .header-top:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}

#header .site-ttl {
  float: left;
  padding-top: 10px;
  line-height: 1;
}

#header .site-ttl a {
  font-size: 20px;
  line-height: 1;
  display: block;
  font-weight: bold;
}

#header .site-ttl a.header-logo img {
  vertical-align: middle;
  margin-right: 10px;
}

#header .hd-right {
  float: right;
}

#header .hd-right:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
}

#header .hd-right .hd-nav {
  display: block;
  float: left;
  padding-top: 20px;
}

#header .hd-right .hd-nav > li {
  float: left;
  line-height: 20px;
}

#header .hd-right .hd-nav > li:not(:last-child) {
  margin-right: 15px;
  position: relative;
}

#header .hd-right .hd-nav > li a {
  display: block;
  position: relative;
  text-decoration: underline;
}

#header .hd-right .hd-nav > li > a:hover,
#header .hd-right .hd-nav > li > a:focus {
  text-decoration: none;
}

#header .hd-right .logo-kankyo {
  margin: 0 30px 0 50px;
  float: right;
  padding-top: 5px;
}

#header .hd-right .logo-kankyo a {
  display: block;
}

/*-------G-Navi-------*/
#gnav {
  width: 100%;
  position: absolute;
  top: 54px; /* header-topの高さ分 */
  left: 0;
  z-index: 10000;
}

#gnav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 1px 0 5px rgba(0,0,0,.1);
  background-color: #fff;
  min-width: 1080px;
}

#gnav .gnav-list {
  position: relative;
}

#gnav .gnav-list > li {
  width: 100%;
  margin: 0 5px;
}

#gnav .gnav-list > li .big-cat {
  height: 56px;
  font-size: 18px;
  position: relative;
  -webkit-transition: .3s;
  transition: .3s;
  color: #0E8848;
  font-weight: bold;
  width: 100%;
  border-radius: 4px 4px 0 0;
  font-family: inherit;
  line-height: 1.2;
  overflow: visible;
}

#gnav .gnav-list > li .big-cat:before,
#gnav .gnav-list > li.gnav05 .big-cat::after {
  content: "";
  width: 1px;
  height: 36px;
  position: absolute;
  top: 50%;
  background-color: #707070;
  transform: translateY(-50%);
}

#gnav .gnav-list > li .big-cat:before {
  left: -5px;
}

#gnav .gnav-list > li.gnav05 .big-cat::after {
  right: -5px;
}

#gnav .gnav-list >li.active{
  background-color: #0E8848;
  border-radius:4px;
}
#gnav .gnav-list >li.active .big-cat {
  color: #fff;
}

#gnav .gnav-list >li.is-open .big-cat,
#gnav .gnav-list >li .big-cat.on,
#gnav .gnav-list >li .big-cat:hover {
  opacity: 1;
  background-color: #0E8848;
  color: #fff;
}



#gnav .gnav-list > li .dropdown {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  box-sizing: border-box;
  -webkit-transform: rotateX(90deg);
  -ms-transform: rotateX(90deg);
  transform: rotateX(90deg);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transition: .3s;
  transition: .3s;
  z-index: -1;
  text-align: left;
  -webkit-transition-delay:.5s;
  transition-delay: .5s;
}
/*
#gnav .gnav-list > li.gnav01 .dropdown {
  transform: rotateX(0);
}*/

#gnav .gnav-list > li .dropdown .dropdown-inr {
  border: #0E8848 solid 2px;
  /*border: #0E8848 solid 10px;*/
  background-color: #fff;
  padding: 20px 10px;
}
/*
#gnav .gnav-list > li:not(.gnav03) .dropdown .dropdown-inr,
#gnav .gnav-list > li:not(.gnav05) .dropdown .dropdown-inr {
  flex-wrap: wrap;
  justify-content: center;
}

#gnav .gnav-list > li.gnav03 .dropdown .dropdown-inr,
#gnav .gnav-list > li.gnav05 .dropdown .dropdown-inr {
  flex-wrap: wrap;
  padding-left: 42.5px;
}
*/
.dropdown-contents {
  max-height: calc(100vh - 140px);
  overflow-y: scroll;
}
li:not(.gnav03) .dropdown-contents,
li:not(.gnav05) .dropdown-contents {
  flex-wrap: wrap;
  justify-content: flex-start;
}

li.gnav03 .dropdown-contents,
li.gnav05 .dropdown-contents {
  flex-wrap: wrap;
  padding-left: 32px;
}

#gnav .gnav-list > li .dropdown .dropdown-inr .links-head {
  background-color: #ededed;
  border-left: 10px solid #0E8848;
  margin: 0;
  padding-left: 5px;
}

.dropdown-contents::-webkit-scrollbar{
  width: 10px;
}

.dropdown-contents::-webkit-scrollbar-track{
  background: #fff;
  border: #ddd;
  /*border-radius: 4px;*/
  /*box-shadow: inset 0 0 2px #777;*/
}

.dropdown-contents::-webkit-scrollbar-thumb{
  background: #0E8848;
  /*border-radius: 4px;*/
  box-shadow: none;
}

#gnav .gnav-list > li .dropdown ul {
  /*padding: 10px 35px;*/
  /*padding: 20px 35px;*/
  box-sizing: border-box;
  /*min-width: 390px;*/
  /*width: 400px;*/
  width: 440px;
}

#gnav .gnav-list > li .dropdown ul:nth-child(2) {
  margin-left: 20px;
}

#gnav .gnav-list > li .dropdown .bond-logo-area {
  /*margin-top: 0;*/
  box-sizing: border-box;
  width: 910px;
  border: 1px solid #707070;
  padding: 25px;
}

.bond-logo-area .img-box {
  padding-right: 46px;
}

.bond-logo-area .logo-area-ttl {
  color: #0E8848;
  font-weight: bold;
  font-size: 22px;
  margin-bottom: 10px;
}

/* 「グリーンボンド発行促進プラットフォーム」リンク追加により調整 */
/*
#gnav .gnav-list > li.gnav05 .dropdown .dropdown-inr > ul:first-of-type {
  width: 220px;
}
*/
#gnav .gnav-list > li .dropdown ul li {
  /*font-size: 12px;*/
  font-size: 14px;
  font-weight: bold;
}

#gnav .gnav-list > li .dropdown ul li a {
  font-weight: normal;
  line-height: 24px;
  position: relative;
  display: inline-block;
  text-decoration: underline;
}

#gnav .gnav-list > li .dropdown ul li a:hover,
#gnav .gnav-list > li .dropdown ul li a:focus{
  text-decoration: none;
}

/* hover時の● */
#gnav .gnav-list >li .dropdown ul li a:hover:before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  left: -15px;
  top: 7px;
  background-color: #333;
}

/* ナビ内の外部リンクアイコン　不要なら削除 */
#gnav .gnav-list >li .dropdown ul li a .icon-link {
  top: -3px;
}
/*
#gnav .gnav-list > li:hover .dropdown {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  top: 100%;
  z-index: 0;
}
*/
/*#gnav .gnav-list >li.focus .dropdown*/
#gnav .gnav-list >li.is-open .dropdown {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  top: 100%;
  z-index: 0;
}

#gnav .gnav-list > li .dropdown ul li ul {
  padding: 5px 0 20px 45px;
}

#gnav .gnav-list > li .dropdown ul li ul li{
  width: 100%;
}

.close-button-area {
  margin: 16px 0 0;
  text-align: center;
  width: 100%;
}

.close-button {
  cursor: pointer;
}

/* =================================================

    FOOTER

================================================= */
#footer {
  background-color: #dee2e0;
  padding: 30px 0 60px;
  position: relative;
  z-index: 10;
  margin-top: 50px;
  text-align: center;
}

#footer .ft-inner {
  text-align: center;
}


#footer .ft-logo {
  margin-bottom: 15px;
  font-size: 22px;
}

#footer .ft-logo a {
  color: #3f3f3f;
  font-weight: bold;
  color: #0E8848;
}

#footer .ft-contact {
  line-height: 1.7;
}

#footer .ft-contact dl dt {
  font-size: 16px;
  font-weight: bold;
}

#footer .ft-contact dl dd {
  font-size: 16px;
}

#footer .ft-contact dl dd a {
  text-decoration: underline;
}

#footer .ft-contact dl dd a:hover,
#footer .ft-contact dl dd a:focus {
  text-decoration: none;
}

#footer .ft-inner .bottom-attention {
  font-size: 14px;
  line-height: 2;
  margin: 40px auto;
}

#footer .ft-inner ul li {
  display: inline-block;
  padding-right: 20px;
  margin-right: 10px;
  position: relative;
}

#footer .ft-inner ul li::after {
  content: "|";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 14px;
}

#footer .ft-inner ul li:last-child {
  margin: 0;
  padding: 0;
}

#footer .ft-inner ul li:last-child:after {
  display: none;
}

#footer .ft-inner ul li a {
  font-size: 14px;
  text-decoration: underline;
  line-height: 2;
}

#footer .ft-inner ul li a:hover,
#footer .ft-inner ul li a:focus {
  text-decoration: none;
}

#footer .ft-inner p {
  font-size: 14px;
}

#footer .ft-inner p a {
  font-size: 14px;
}

#footer .ft-inner .copy {
  font-size: 14px;
  color: #252525;
  line-height: 1;
  margin-top: 40px;
}


/* =================================================

    pagetop

================================================= */
#pagetop {
  position: fixed;
  bottom: 50px;
  right: 50px;
  display: none;
  z-index: 10000;
}
#pagetop a {
  display: block;
  position: relative;
  width: 96px;
  height: 96px;
}
#pagetop a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 96px;
  height: 96px;
  background-image: url(/img/common/pagetop.png);
  transition: all 0.2s ease;
}




/* =================================================

    印刷

================================================= */
@media print {
#header .hd-right .hd-nav {
  opacity: 0;
}

#gnav {
  display: none;
}

.under-content {
  padding-top: 0;
}

.mv {
  height: 100px;
}

.page-ttl {
  padding-top: 26px;
}

.under-wrap {
  display: block;
}

.under-wrap #side-nav {
  display: none;
}

.under-wrap .under-main {
  margin-right: auto;
  padding-left: 0;
  width: 100%;
}

.page-ttl .small-ttl {
  font-size: 24px;
}

#footer .footer-in {
  padding-bottom: 0;
  display: none;
}

#footer .ft-logo {
  display: none;
}

#footer .ft-contact dl {
  display: none;
}

#footer .ft-contact .footer-logo {
  margin-top: 0;
}

#footer .ft-nav {
  display: none;
}

#footer .ft-inner ul {
  display: none;
}

}
