@charset "UTF-8";
/* CSS Document */




/*top*/
.top .main_img {
  position: relative;
  height: 460px;
  background: url(../img/top/main_img.jpg) no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  padding-bottom: 50px;
}
.top .main_img .box {
  display: flex;
  align-items: flex-end;
}
.top .main_img .box h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  font-weight: 100;
  text-align: right;
  margin-right: 10px;
  padding-bottom: 1em;
}
.top .main_img .box .icon {
  width: 295px;
  margin-right: 70px;
  padding-bottom: 30px;
}
.top .main_img .box .comment {
  background: rgba(255, 255, 255, .6);
  padding: 15px 40px;
}
.top .main_img .box .comment dl {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.top .main_img .box .comment dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #d03c38;
  letter-spacing: .2em;
  margin-right: .4em;
}
.top .main_img .box .comment dl dd {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.top .main_img .box .comment p {
  width: 245px;
  font-size: 1.6rem;
  line-height: 2.0;
  letter-spacing: .05em;
  color: #d03c38;
}
.top .main_img h4 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .main_img h4 span {
  display: block;
  background: rgba(255, 255, 255, .6);
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.1;
  color: #d03c38;
  letter-spacing: .1em;
  padding: .4em 1em;
}
.top .main_img .line {
  position: absolute;
  bottom: -10px;
  left: 0;
  display: flex;
  width: 100%;
  height: 10px;
}
.top .main_img .line span {
  display: block;
  width: calc((100% - (6px * 3)) / 4);
}
.top .main_img .line span:not(:last-of-type) {
  margin-right: 6px;
}
.top .main_img .line span:nth-of-type(1) {
  background: #65d095;
}
.top .main_img .line span:nth-of-type(2) {
  background: #1b9ad2;
}
.top .main_img .line span:nth-of-type(3) {
  background: #bf2b27;
}
.top .main_img .line span:nth-of-type(4) {
  background: #ec8d37;
}
.top .spotlite {
  background: #f4f4f6;
  padding-top: 50px;
  padding-bottom: 50px;
}
.top .spotlite > .box {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.top .spotlite .box .title_txt {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.top .spotlite .box .title_txt h3 {
  display: flex;
  align-items: center;
  margin-right: 20px;
}
.top .spotlite .box .title_txt h3 span ,
.top .spotlite .box .title_txt h3 em {
  display: block;
}
.top .spotlite .box .title_txt h3 span {
  font-size: 3.6rem;
  font-weight: 500;
  color: #f89937;
  letter-spacing: .2em;
  margin-right: .5em;
}
.top .spotlite .box .title_txt h3 em {
  font-size: 1.8rem;
}
.top .spotlite .box .title_txt p {
  margin-left: auto;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: #d03c38;
}
.top .spotlite .box .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -60px;
}
.top .spotlite .box .list section {
  position: relative;
  width: calc((100% - (85px * 2)) / 3);
  margin-bottom: 60px;
  padding: 3px;
}
.top .spotlite .box .list section:not(:nth-of-type(3n)) {
  margin-right: 85px;
}
.top .spotlite .box .list section.re-news {
  background: #65d095;
}
.top .spotlite .box .list section.sdgs {
  background: #bf2b27;
}
.top .spotlite .box .list section.evidence {
  background: #8ec2df;
}
.top .spotlite .box .list section.re-news-pr {
  background: #ec8d37;
}
.top .spotlite .box .list section .img {
  background: #FFF;
}
.top .spotlite .box .list section .img a {
  position: relative;
  display: block;
}
.top .spotlite .box .list section .img a::before {
  position: absolute;
  top: 1em;
  left: 2em;
  width: 22.7em;
  height: 3.4em;
  z-index: 1;
  background-size: cover !important;
  content: '';
}
.top .spotlite .box .list section.re-news .img a::before {
  background: url(../img/top/spotlite_img_title-re-news.svg) no-repeat center center;
}
.top .spotlite .box .list section.sdgs .img a::before {
  background: url(../img/top/spotlite_img_title-sdgs.svg) no-repeat center center;
}
.top .spotlite .box .list section.evidence .img a::before {
  background: url(../img/top/spotlite_img_title-evidence.svg) no-repeat center center;
}
.top .spotlite .box .list section.re-news-pr .img a::before {
  background: url(../img/top/spotlite_img_title-re-news-pr.svg) no-repeat center center;
}
.top .spotlite .box .list section .box {
  padding: 20px 10px 10px;
}
.top .spotlite .box .list section .box h4 {
  font-size: 1.4rem;
  font-weight: 300;
  margin-bottom: .6em;
}
.top .spotlite .box .list section.sdgs .box h4 {
  color: #FFF;
}
.top .spotlite .box .list section .box .cat {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
}
.top .spotlite .box .list section .box .cat a {
  display: block;
  width: 200px;
  background: #FFF;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  padding: .4em .5em;
}
.top .spotlite .box .list section.re-news .box .cat a {
  color: #65d095;
}
.top .spotlite .box .list section.sdgs .box .cat a {
  color: #bf2b27;
}
.top .spotlite .box .list section.evidence .box .cat a {
  color: #8ec2df;
}
.top .spotlite .box .list section.re-news-pr .box .cat a {
  color: #ec8d37;
}
.top .spotlite .box .list section .box .link {
  display: flex;
  align-items: center;
  justify-content: center;
}
.top .spotlite .box .list section .box .link a {
  position: relative;
  font-size: 1.4rem;
  padding-left: 1em;
  padding-right: 4em;
  color: #FFF;
}
.top .spotlite .box .list section .box .link a::before {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  left: 0;
  width: .714em;
  height: 1em;
  background: url(../img/top/spotlite_arrow_l.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
.top .spotlite .box .list section .box .link a::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.857em;
  height: 1.857em;
  background-size: cover !important;
  content: '';
}
.top .spotlite .box .list section.re-news .box .link a::after {
  background: url(../img/top/spotlite_arrow_r-re-news.svg) no-repeat center center;
}
.top .spotlite .box .list section.sdgs .box .link a::after {
  background: url(../img/top/spotlite_arrow_r-sdgs.svg) no-repeat center center;
}
.top .spotlite .box .list section.evidence .box .link a::after {
  background: url(../img/top/spotlite_arrow_r-evidence.svg) no-repeat center center;
}
.top .spotlite .box .list section.re-news-pr .box .link a::after {
  background: url(../img/top/spotlite_arrow_r-re-news-pr.svg) no-repeat center center;
}
.top .news {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 20px;
  padding-top: 50px;
  padding-bottom: 50px;
}
.top .news h3 {
  font-size: 3.2rem;
  margin-bottom: .8em;
}
.top .news .box section {
  padding: 20px 60px;
  border-bottom: dashed 1px #000000;
  display: flex;
}
.top .news .box section:nth-of-type(1) {
  border-top: dashed 1px #000000;
}
.top .news .box section time {
  display: block;
  font-size: 2.0rem;
  font-weight: 300;
  width: 350px;
}
.top .news .box section p {
  width: calc(100% - 350px);
}
.top .news .box section p a {
  font-size: 1.6rem;
  font-weight: 300;
}





/*about*/
.about .page_title {
  position: relative;
  height: 310px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  padding-bottom: 40px;
}
.about .page_title::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 300px;
  background: url(../img/about/page_title_bg.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
.about .page_title .box {
  width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
}
.about .page_title .box h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  font-weight: 100;
  text-align: right;
  margin-right: 1.5em;
  padding-bottom: .5em;
}
.about .page_title .box .icon {
  width: 220px;
  margin-left: auto;
  margin-right: auto;
}
.about .page_title .box .comment {
  background: rgba(255, 255, 255, .6);
  padding: 15px 40px;
  margin-left: auto;
}
.about .page_title .box .comment dl {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.about .page_title .box .comment dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #d03c38;
  letter-spacing: .2em;
  margin-right: .4em;
}
.about .page_title .box .comment dl dd {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.about .page_title .box .comment p {
  width: 245px;
  font-size: 1.6rem;
  line-height: 2.0;
  letter-spacing: .05em;
  color: #d03c38;
}
.about .page_title .line {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 10px;
}
.about .page_title .line span {
  display: block;
  width: calc((100% - (6px * 3)) / 4);
}
.about .page_title .line span:not(:last-of-type) {
  margin-right: 6px;
}
.about .page_title .line span:nth-of-type(1) {
  background: #65d095;
}
.about .page_title .line span:nth-of-type(2) {
  background: #1b9ad2;
}
.about .page_title .line span:nth-of-type(3) {
  background: #bf2b27;
}
.about .page_title .line span:nth-of-type(4) {
  background: #ec8d37;
}
.about main {
  overflow: hidden;
}
.about main .wrap {
  max-width: 1180px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}
.about main .wrap article {
  width: 735px;
  margin-right: 20px;
}
.about main .wrap article .title {
  position: relative;
  padding-top: 20px;
}
.about main .wrap article .title::before {
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
  width: 150vw;
  height: 100%;
  background: #f4f4f6;
  content: '';
}
.about main .wrap article .title h3 {
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
.about main .wrap article .title h3 span ,
.about main .wrap article .title h3 em {
  display: block;
  line-height: 1.1;
}
.about main .wrap article .title h3 span {
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: .2em;
  color: #808080;
  margin-right: .5em;
}
.about main .wrap article .title h3 em {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.about main .wrap article .title h3 + p {
  font-size: 1.8rem;
  font-weight: 700;
}
.about main .wrap article > section {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
}
.about main .wrap article > section:nth-of-type(odd)::before {
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
  width: 150vw;
  height: 100%;
  background: #f4f4f6;
  content: '';
}
.about main .wrap article > section .main_img {
  margin-bottom: 30px;
}
.about main .wrap article > section .comment01 h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: .8em;
}
.about main .wrap article > section .comment01 p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 300;
}
.about main .wrap article > section .comment01 p strong {
  font-family: "Noto Sans JP", serif;
  font-size: 1.4rem;
  font-weight: 700;
}
.about main .wrap article > section .comment02 h5 {
  font-size: 2.1rem;
  font-weight: 700;
  letter-spacing: .05em;
  margin-bottom: .6em;
}
.about main .wrap article > section .comment02 p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 2.0;
}
.about main .wrap article > section .title01 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: .8em;
}
.about main .wrap article > section .list {
  margin-bottom: 20px;
}
.about main .wrap article > section .list ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -30px;
}
.about main .wrap article > section .list ul li {
  width: calc((100% - (50px * 3)) / 4);
  margin-bottom: 30px;
}
.about main .wrap article > section .list ul li:not(:last-of-type) {
  margin-right: 50px;
}
.about main .wrap article > section .list ul li span {
  display: block;
  margin-bottom: 15px;
}
.about main .wrap article > section .list ul li em {
  display: block;
  font-size: 1.2rem;
}
.about main .wrap article > section .img_list01 {
  margin-bottom: 40px;
}
.about main .wrap article > section .img_list01 ul {
  display: flex;
  flex-wrap: wrap;
}
.about main .wrap article > section .img_list01 ul li {
  width: 320px;
}
.about main .wrap article > section .img_list01 ul li:nth-of-type(1) {
  margin-right: 20px;
}
.about main .wrap article > section .img_list01 ul li:nth-of-type(2) {
  margin-left: auto;
}
.about main .wrap article > section .img_list02 {
  margin-top: -30px;
}
.about main .wrap article > section .img_list02 ul {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
.about main .wrap article > section .img_list02 ul li:nth-of-type(1) {
  width: 155px;
  margin-left: 100px;
  margin-right: 20px;
}
.about main .wrap article > section .img_list02 ul li:nth-of-type(2) {
  width: 295px;
  margin-left: auto;
}
.about main .wrap aside {
  width: 320px;
  margin-left: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}
.about main .wrap aside h3 {
  display: flex;
  align-items: baseline;
  margin-bottom: 10px;
}
.about main .wrap aside h3 span ,
.about main .wrap aside h3 em {
  display: block;
  line-height: 1.1;
}
.about main .wrap aside h3 span {
  font-size: 3.6rem;
  letter-spacing: .2em;
  margin-right: .5em;
  color: #ec8d37;
}
.about main .wrap aside h3 em {
  font-size: 1.8rem;
}
.about main .wrap aside section {
  position: relative;
}
.about main .wrap aside section:not(:last-of-type) {
  margin-bottom: 40px;
}
.about main .wrap aside section h4 {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFF;
  padding: .6em 1em;
}
.about main .wrap aside section.re-news h4 {
  background: #65d095;
}
.about main .wrap aside section.evidence h4 {
  background: #1b9ad2;
}
.about main .wrap aside section.sdgs h4 {
  background: #bf2b27;
}
.about main .wrap aside section.re-news-pr h4 {
  background: #ec8d37;
}
.about main .wrap aside section.news h4 {
  background: #666666;
}
.about main .wrap aside section ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
.about main .wrap aside section ul li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 85px;
  width: 100%;
  padding: .2em .8em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.1rem;
  font-weight: 300;
  line-height: 1.3;
  background: #FFF;
}
.about main .wrap aside section.re-news ul li a {
  border: solid 2px #65d095;
}
.about main .wrap aside section.evidence ul li a {
  border: solid 2px #1b9ad2;
}
.about main .wrap aside section.sdgs ul li a {
  border: solid 2px #bf2b27;
}
.about main .wrap aside section.re-news-pr ul li a {
  border: solid 2px #ec8d37;
}
.about main .wrap aside section.news ul li a {
  border: solid 2px #666666;
}
.about main .wrap aside section .more {
  padding-top: .5em;
  text-align: right;
}





/*post-list*/
.post-list .page_title {
  position: relative;
  height: 310px;
  background-size: cover !important;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  padding-bottom: 40px;
}
.post-list.re-new .page_title {
  background: url(../img/post/page_title_bg_re-new-w.jpg) no-repeat center center;
}
.post-list.evidence .page_title {
  background: url(../img/post/page_title_bg_evidence-w.jpg) no-repeat center center;
}
.post-list.sdgs .page_title {
  background: url(../img/post/page_title_bg_sdgs-w.jpg) no-repeat center center;
}
.post-list.re-news-pr .page_title {
  background: url(../img/post/page_title_bg_re-news-pr-w.jpg) no-repeat center center;
}
.post-list .page_title .box {
  position: relative;
  top: 60px;
  z-index: 2;
  width: 1140px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.post-list .page_title .box h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.875;
}
.post-list.re-new .page_title .box h3 {
  transform: scale(.9 , 1);
  transform-origin: top left;
  letter-spacing: -.075em;
}
.post-list .page_title .box .icon {
  position: relative;
  top: 40px;
  width: 265px;
}
.post-list .page_title .box .comment {
  background: rgba(255, 255, 255, .6);
  padding: 15px 40px;
}
.post-list .page_title .box .comment dl {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}
.post-list .page_title .box .comment dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  color: #d03c38;
  letter-spacing: .2em;
  margin-right: .4em;
}
.post-list .page_title .box .comment dl dd {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.post-list .page_title .box .comment p {
  width: 245px;
  font-size: 1.6rem;
  line-height: 2.0;
  letter-spacing: .05em;
  color: #d03c38;
}
.post-list .page_title .line {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 10px;
}
.post-list .page_title .line span {
  display: block;
  width: 100%;
}
.post-list.re-new .page_title .line span {
  background: #65d095;
}
.post-list.evidence .page_title .line span {
  background: #1b9ad2;
}
.post-list.sdgs .page_title .line span {
  background: #bf2b27;
}
.post-list.re-news-pr .page_title .line span {
  background: #ec8d37;
}
.post-list main {
  overflow: hidden;
}
.post-list main .wrap {
  max-width: 1180px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}
.post-list main .wrap article {
  width: 735px;
  margin-right: 20px;
}
.post-list main .wrap article .title {
  position: relative;
  display: flex;
  padding-top: 20px;
}
.post-list main .wrap article .title::before {
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
  width: 150vw;
  height: 100%;
  background: #f4f4f6;
  content: '';
}
.post-list.detail main .wrap article .title::before {
  display: none;
}
.post-list main .wrap article .title h3 {
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
.post-list main .wrap article .title h3 span ,
.post-list main .wrap article .title h3 em {
  display: block;
  line-height: 1.1;
}
.post-list main .wrap article .title h3 span {
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: .2em;
  margin-right: .5em;
}
.post-list.re-new main .wrap article .title h3 span {
  color: #65d095;
}
.post-list.evidence main .wrap article .title h3 span {
  color: #1b9ad2;
}
.post-list.sdgs main .wrap article .title h3 span {
  color: #bf2b27;
}
.post-list.re-news-pr main .wrap article .title h3 span {
  color: #ec8d37;
}
.post-list main .wrap article .title h3 em {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.post-list main .wrap article .title h3 em i {
  font-size: 1.8rem;
  font-weight: 500;
}
.post-list main .wrap article .title h3 + p {
  font-size: 1.8rem;
  font-weight: 700;
}
.post-list main .wrap article .title .name {
  width: 175px;
  margin-left: auto;
}
.post-list main .wrap article > section {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
}
.post-list main .wrap article > section:nth-of-type(odd)::before {
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
  width: 150vw;
  height: 100%;
  background: #f4f4f6;
  content: '';
}
.post-list.detail main .wrap article > section:nth-of-type(odd)::before {
  display: none;
}
.post-list main .wrap article > section .post_title {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.2em;
}
.post-list main .wrap article > section .post_title h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.5;
  margin-right: .5em;
  width: calc(100% - (160px + .5em));
}
.post-list main .wrap article > section > .post_title .cat_time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
  padding-top: .8em;
}
.post-list main .wrap article > section > .post_title .cat_time p {
  width: 160px;
}
.post-list main .wrap article > section > .post_title .cat_time p a {
  display: block;
  color: #FFF;
  padding: .3em .5em;
  text-align: center;
  font-size: 1.3rem;
  font-weight: 500;
}
.post-list.re-new main .wrap article > section > .post_title .cat_time p a {
  background: #65d095;
}
.post-list.evidence main .wrap article > section > .post_title .cat_time p a {
  background: #1b9ad2;
}
.post-list.sdgs main .wrap article > section > .post_title .cat_time p a {
  background: #bf2b27;
}
.post-list.re-news-pr main .wrap article > section > .post_title .cat_time p a {
  background: #ec8d37;
}
.post-list main .wrap article > section > .post_title .cat_time time {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #bababa;
}
.post-list main .wrap aside {
  width: 320px;
  margin-left: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}
.post-list main .wrap aside h3 {
  display: flex;
  align-items: baseline;
  margin-bottom: 10px;
}
.post-list main .wrap aside h3 span ,
.post-list main .wrap aside h3 em {
  display: block;
  line-height: 1.1;
}
.post-list main .wrap aside h3 span {
  font-size: 3.6rem;
  letter-spacing: .2em;
  margin-right: .5em;
  color: #ec8d37;
}
.post-list main .wrap aside h3 em {
  font-size: 1.8rem;
}
.post-list main .wrap aside section {
  position: relative;
}
.post-list main .wrap aside section:not(:last-of-type) {
  margin-bottom: 40px;
}
.post-list main .wrap aside section h4 {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFF;
  padding: .6em 1em;
}
.post-list main .wrap aside section.re-news h4 {
  background: #65d095;
}
.post-list main .wrap aside section.evidence h4 {
  background: #1b9ad2;
}
.post-list main .wrap aside section.sdgs h4 {
  background: #bf2b27;
}
.post-list main .wrap aside section.re-news-pr h4 {
  background: #ec8d37;
}
.post-list main .wrap aside section.news h4 {
  background: #666666;
}
.post-list main .wrap aside section ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
.post-list main .wrap aside section ul li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 85px;
  width: 100%;
  padding: .2em .8em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.1rem;
  font-weight: 300;
  line-height: 1.3;
  background: #FFF;
}
.post-list main .wrap aside section.re-news ul li a {
  border: solid 2px #65d095;
}
.post-list main .wrap aside section.evidence ul li a {
  border: solid 2px #1b9ad2;
}
.post-list main .wrap aside section.sdgs ul li a {
  border: solid 2px #bf2b27;
}
.post-list main .wrap aside section.re-news-pr ul li a {
  border: solid 2px #ec8d37;
}
.post-list main .wrap aside section.news ul li a {
  border: solid 2px #666666;
}
.post-list main .wrap aside section .more {
  padding-top: .5em;
  text-align: right;
}





/*contact*/
.contact .page_title {
  position: relative;
  height: 300px;
  background: url(../img/contact/page_title_bg_w.jpg) no-repeat center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 60px;
  margin-bottom: 10px;
}
.contact .page_title .box {
  width: 1140px;
  margin: 0 auto;
}
.contact .page_title .box h3 {
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
.contact .page_title .box h3 span ,
.contact .page_title .box h3 em {
  display: block;
  line-height: 1.1;
}
.contact .page_title .box h3 span {
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: .2em;
  margin-right: .5em;
}
.contact .page_title .box h3 em {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.contact .page_title .box h3 + p {
  font-size: 1.8rem;
  font-weight: 700;
}
.contact main .bg {
  padding: 50px 0;
  background: #f4f4f6;
}
.contact main .bg .box {
  max-width: 1180px;
  padding: 0 20px;
  margin: 0 auto;
}
.contact main .bg .box > .comment {
  margin-bottom: 2em;
}
.contact main .bg .box > .form table {
  width: 100%;
}
.contact main .bg .box > .form table tr th ,
.contact main .bg .box > .form table tr td {
  padding: .5em 0;
}
.contact main .bg .box > .form table tr th {
  width: 250px;
}
.contact main .bg .box > .form table tr th span {
  margin-left: 1em;
  color: #FF0000;
}
.contact main .bg .box > .form table tr td {
  width: calc(100% - 250px);
}
.contact main .bg .box > .form .pp {
  padding-top: 1.5em;
}
.contact main .bg .box > .form .pp dl {
  display: flex;
}
.contact main .bg .box > .form .pp dl dt {
  width: 250px;
}
.contact main .bg .box > .form .pp dl dd {
  width: calc(100% - 250px);
}
.contact main .bg .box > .form .comment {
  padding-top: 1em;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}





/*news-list*/
.news-list .page_title {
  position: relative;
  height: 225px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-top: 60px;
  padding-bottom: 10px;
}
.news-list .page_title::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 225px;
  background: url(../img/news/page_title_bg_w.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
.news-list .page_title .box {
  width: 1140px;
  margin: 0 auto;
}
.news-list .page_title .box h3 {
  display: flex;
  align-items: center;
  margin-bottom: .5em;
}
.news-list .page_title .box h3 span ,
.news-list .page_title .box h3 em {
  display: block;
  line-height: 1.1;
}
.news-list .page_title .box h3 span {
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: .2em;
  margin-right: .5em;
}
.news-list .page_title .box h3 em {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .2em;
}
.news-list .page_title .box h3 + p {
  font-size: 1.8rem;
  font-weight: 700;
}
.news-list .page_title .line-top {
  position: absolute;
  top: 70px;
  left: 0;
  display: flex;
  width: 100%;
  height: 10px;
}
.news-list .page_title .line-top span {
  display: block;
  width: calc((100% - (6px * 3)) / 4);
}
.news-list .page_title .line-top span:not(:last-of-type) {
  margin-right: 6px;
}
.news-list .page_title .line-top span:nth-of-type(1) {
  background: #65d095;
}
.news-list .page_title .line-top span:nth-of-type(2) {
  background: #1b9ad2;
}
.news-list .page_title .line-top span:nth-of-type(3) {
  background: #bf2b27;
}
.news-list .page_title .line-top span:nth-of-type(4) {
  background: #ec8d37;
}
.news-list .page_title .line-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  width: 100%;
  height: 10px;
}
.news-list .page_title .line-bottom span {
  display: block;
  width: 100%;
  background: #a6a6a6;
}
.news-list main {
  overflow: hidden;
}
.news-list main .wrap {
  max-width: 1180px;
  padding: 0 20px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}
.news-list main .wrap article {
  width: 735px;
  margin-right: 20px;
}
.news-list main .wrap article > section {
  position: relative;
  padding-top: 100px;
  padding-bottom: 100px;
}
.news-list main .wrap article > section:nth-of-type(odd)::before {
  position: absolute;
  top: 0;
  left: -50vw;
  z-index: -1;
  width: 150vw;
  height: 100%;
  background: #f4f4f6;
  content: '';
}
.news-list.detail main .wrap article > section:nth-of-type(odd)::before {
  display: none;
}
.news-list main .wrap article > section .post_title {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.2em;
}
.news-list main .wrap article > section .post_title h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 2.8rem;
  font-weight: 300;
  letter-spacing: .05em;
  line-height: 1.5;
  margin-right: .5em;
  width: calc(100% - (160px + .5em));
}
.news-list main .wrap article > section > .post_title .cat_time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-left: auto;
  padding-top: .8em;
}
.news-list main .wrap article > section > .post_title .cat_time time {
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #bababa;
}
.news-list main .wrap aside {
  width: 320px;
  margin-left: auto;
  padding-top: 100px;
  padding-bottom: 100px;
}
.news-list main .wrap aside h3 {
  display: flex;
  align-items: baseline;
  margin-bottom: 10px;
}
.news-list main .wrap aside h3 span ,
.news-list main .wrap aside h3 em {
  display: block;
  line-height: 1.1;
}
.news-list main .wrap aside h3 span {
  font-size: 3.6rem;
  letter-spacing: .2em;
  margin-right: .5em;
  color: #ec8d37;
}
.news-list main .wrap aside h3 em {
  font-size: 1.8rem;
}
.news-list main .wrap aside section {
  position: relative;
}
.news-list main .wrap aside section:not(:last-of-type) {
  margin-bottom: 40px;
}
.news-list main .wrap aside section h4 {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFF;
  padding: .6em 1em;
}
.news-list main .wrap aside section.re-news h4 {
  background: #65d095;
}
.news-list main .wrap aside section.evidence h4 {
  background: #1b9ad2;
}
.news-list main .wrap aside section.sdgs h4 {
  background: #bf2b27;
}
.news-list main .wrap aside section.re-news-pr h4 {
  background: #ec8d37;
}
.news-list main .wrap aside section.news h4 {
  background: #666666;
}
.news-list main .wrap aside section ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
.news-list main .wrap aside section ul li a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 85px;
  width: 100%;
  padding: .2em .8em;
  font-family: "Noto Serif JP", serif;
  font-size: 2.1rem;
  font-weight: 300;
  line-height: 1.3;
  background: #FFF;
}
.news-list main .wrap aside section.re-news ul li a {
  border: solid 2px #65d095;
}
.news-list main .wrap aside section.evidence ul li a {
  border: solid 2px #1b9ad2;
}
.news-list main .wrap aside section.sdgs ul li a {
  border: solid 2px #bf2b27;
}
.news-list main .wrap aside section.re-news-pr ul li a {
  border: solid 2px #ec8d37;
}
.news-list main .wrap aside section.news ul li a {
  border: solid 2px #666666;
}
.news-list main .wrap aside section .more {
  padding-top: .5em;
  text-align: right;
}





@media screen and (max-width: 1140px) { 


  /*top*/
  .top .main_img {
    justify-content: center;
    padding-bottom: 0;
  }
  .top .main_img .box {
    width: 100%;
    padding: 0 20px;
    align-items: center;
  }
  .top .main_img .box h3 {
    font-size: 2.8rem;
    margin-right: 1em;
  }
  .top .main_img .box .icon {
    width: 295px;
    margin-left: auto;
    margin-right: auto;
  }
  .top .main_img .box .comment {
    padding: 15px 20px;
  }
  
  

  /*about*/
  .about .page_title .box {
    width: 100%;
    padding: 0 20px;
    align-items: center;
  }
  .about .page_title .box h3 {
    font-size: 2.8rem;
    margin-right: 1em;
  }
  .about .page_title .box .comment {
    padding: 15px 20px;
  }
  .about main .wrap article {
    width: calc(100% - (280px + 20px));
    margin-right: 20px;
  }
  .about main .wrap article > section .img_list01 ul li {
    width: calc((100% - 20px) / 2);
  }
  .about main .wrap aside {
    width: 280px;
  }
  .about main .wrap aside h3 {
    display: flex;
    flex-direction: column;
  }
  .about main .wrap aside h3 span {
    font-size: 3.0rem;
    margin-right: 0;
    margin-bottom: .2em;
  }
  .about main .wrap aside section ul li a {
    font-size: 1.8rem;
  }

  
  
  

  /*post-list*/
  .post-list .page_title {
    justify-content: center;
    padding-bottom: 0;
  }
  .post-list .page_title .box {
    top: 0;
    width: 100%;
    padding: 0 20px;
    align-items: center;
  }
  .post-list .page_title .box h3 {
    font-size: 2.6rem;
    margin-right: 1em;
  }
  .about .page_title .box .icon {
    width: 200px;
  }
  .post-list .page_title .box .comment {
    padding: 15px 20px;
  }
  .post-list main .wrap article {
    width: calc(100% - (280px + 20px));
    margin-right: 20px;
  }
  .post-list main .wrap aside {
    width: 280px;
  }
  .post-list main .wrap aside h3 {
    display: flex;
    flex-direction: column;
  }
  .post-list main .wrap aside h3 span {
    font-size: 3.0rem;
    margin-right: 0;
    margin-bottom: .2em;
  }
  .post-list main .wrap aside section ul li a {
    font-size: 1.8rem;
  }





  /*contact*/
  .contact .page_title .box {
    width: 100%;
    padding: 0 20px;
  }





  /*news-list*/
  .news-list .page_title .box {
    width: 100%;
    padding: 0 20px;
  }
  .news-list main .wrap article {
    width: calc(100% - (280px + 20px));
    margin-right: 20px;
  }
  .news-list main .wrap aside {
    width: 280px;
  }
  .news-list main .wrap aside h3 {
    display: flex;
    flex-direction: column;
  }
  .news-list main .wrap aside h3 span {
    font-size: 3.0rem;
    margin-right: 0;
    margin-bottom: .2em;
  }
  .news-list main .wrap aside section ul li a {
    font-size: 1.8rem;
  }
}





@media screen and (max-width: 1040px) { 
  /*top*/
  .top .spotlite .box .list section {
    width: calc((100% - (40px * 2)) / 3);
  }
  .top .spotlite .box .list section:not(:nth-of-type(3n)) {
    margin-right: 40px;
  }


}




@media screen and (max-width: 940px) { 
  /*top*/
  .top .main_img .box h3 {
    font-size: 2.0rem;
  }
  .top .main_img .box .icon {
    width: 150px;
  }
  .top .main_img .box .comment dl {
    margin-bottom: 15px;
  }
  .top .main_img .box .comment p {
    width: 200px;
    line-height: 1.7;
  }
  .top .spotlite .box .list section {
    width: calc((100% - (20px * 2)) / 3);
  }
  .top .spotlite .box .list section:not(:nth-of-type(3n)) {
    margin-right: 20px;
  }
  .top .news .box section {
    padding: 20px 20px;
  }
  .top .news .box section time {
    width: 200px;
  }
  .top .news .box section p {
    width: calc(100% - 200px);
  }


  
  

  /*about*/
  .about .page_title .box h3 {
    font-size: 2.4rem;
  }
  .about .page_title .box .icon {
    width: 150px;
  }
  .about .page_title .box .comment dl {
    margin-bottom: 15px;
  }
  .about main .wrap article > section .list ul li {
    width: calc((100% - (50px * 1)) / 2);
  }
  .about main .wrap article > section .list ul li:not(:last-of-type) {
    margin-right: 0;
  }
  .about main .wrap article > section .list ul li:not(:nth-of-type(2n)) {
    margin-right: 50px;
  }
  .about main .wrap article > section .list ul li span {
    display: block;
    padding: 0 10%;
  }
  .about main .wrap article > section .img_list02 {
    margin-top: 0;
    padding-top: 20px;
  }
  .about main .wrap article > section .img_list02 ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .about main .wrap article > section .img_list02 ul li:nth-of-type(1) {
    margin-left: 0;
  }
  


  

  /*post-list*/
  .post-list .page_title .box h3 {
    font-size: 2.0rem;
  }
  .post-list .page_title .box .icon {
    width: 150px;
  }
  .post-list .page_title .box .comment dl {
    margin-bottom: 15px;
  }
  .post-list .page_title .box .comment p {
    width: 200px;
    line-height: 1.7;
  }





  /*news-list*/
  .news-list .page_title .line-top {
    top: 0;
  }
}





@media screen and (max-width: 840px) { 
  /*top*/
  .top .spotlite .box .title_txt {
    flex-wrap: wrap;
  }
  .top .spotlite .box .title_txt p {
    margin-left: 0;
    width: 100%;
    padding-top: 10px;
  }
  .top .spotlite .box .list section {
    width: calc((100% - (20px * 1)) / 2);
  }
  .top .spotlite .box .list section:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .top .spotlite .box .list section:not(:nth-of-type(2n)) {
    margin-right: 20px;
  }

  
  

  /*about*/
  .about main .wrap article > section .img_list02 ul li:nth-of-type(1) {
    margin-left: 0;
    margin-right: 10px;
  }
  .about main .wrap article > section .img_list02 ul li:nth-of-type(2) {
    width: 240px;
  }
}






@media screen and (max-width: 767px) { 
  /*top*/
  .top .main_img {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .top .main_img .box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 5vw;
  }
  .top .main_img .box h3 {
    font-size: 2.0rem;
    text-align: center;
    margin-right: 0;
    padding-bottom: 1em;
  }
  .top .main_img .box .icon {
    width: 40vw;
    margin: 0 auto;
    padding-bottom: 5vw;
  }
  .top .main_img .box .comment {
    padding: 3vw 4vw;
  }
  .top .main_img .box .comment dl {
    margin-bottom: 2vw;
  }
  .top .main_img .box .comment dl dt {
    font-size: 1.8rem;
  }
  .top .main_img .box .comment dl dd {
    font-size: 1.2rem;
  }
  .top .main_img .box .comment p {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .top .main_img h4 span {
    font-size: 2.0rem;
    padding: .4em 1em;
  }
  .top .main_img .line {
    bottom: -10px;
    width: 100%;
    height: 10px;
  }
  .top .main_img .line span {
    width: calc((100% - (3px * 3)) / 4);
  }
  .top .main_img .line span:not(:last-of-type) {
    margin-right: 3px;
  }
  .top .spotlite {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .top .spotlite > .box {
    max-width: 100%;
    padding-left: 4%;
    padding-right: 4%;
  }
  .top .spotlite .box .title_txt {
    margin-bottom: 5vw;
    flex-direction: column;
  }
  .top .spotlite .box .title_txt h3 {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    margin-right: 0;
  }
  .top .spotlite .box .title_txt h3 span {
    font-size: 3.0rem;
    letter-spacing: .2em;
    margin-right: 0;
  }
  .top .spotlite .box .title_txt h3 em {
    font-size: 1.8rem;
  }
  .top .spotlite .box .title_txt p {
    margin-left: 0;
    width: 100%;
    padding-top: 2vw;
  }
  .top .spotlite .box .list {
    margin-bottom: -10vw;
  }
  .top .spotlite .box .list section {
    width: 100%;
    margin-bottom: 10vw;
    margin-right: 0 !important;
    padding: 3vw;
  }
  .top .spotlite .box .list section:not(:nth-of-type(3n)) {
    margin-right: 0;
  }
  .top .spotlite .box .list section .box {
    padding: 2vw 3vw;
  }
  .top .spotlite .box .list section .box h4 {
    font-size: 1.4rem;
  }
  .top .spotlite .box .list section .box .cat {
    margin-bottom: 3vw;
  }
  .top .spotlite .box .list section .box .cat a {
    width: 80%;
    padding: .4em .5em;
  }
  .top .spotlite .box .list section .box .link a {
    font-size: 1.4rem;
  }
  .top .news {
    max-width: 100%;
    padding: 0 4%;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .top .news h3 {
    font-size: 2.4rem;
  }
  .top .news .box section {
    padding: 3vw 2vw;
    display: flex;
    flex-direction: column;
  }
  .top .news .box section time {
    font-size: 1.4rem;
    width: 100%;
  }
  .top .news .box section p {
    width: 100%;
  }
  .top .news .box section p a {
    font-size: 1.6rem;
  }
  





  /*about*/
  .about .page_title {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .about .page_title::before {
    height: 100%;
  }
  .about .page_title .box {
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .about .page_title .box h3 {
    font-size: 2.0rem;
    text-align: center;
    margin-right: 0;
    padding-bottom: .5em;
  }
  .about .page_title .box .icon {
    width: 40vw;
    padding-bottom: 5vw;
  }
  .about .page_title .box .comment {
    padding: 3vw 4vw;
  }
  .about .page_title .box .comment dl {
    margin-bottom: 2vw;
  }
  .about .page_title .box .comment dl dt {
    font-size: 1.8rem;
  }
  .about .page_title .box .comment dl dd {
    font-size: 1.2rem;
  }
  .about .page_title .box .comment p {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .about .page_title .line {
    bottom: -10px;
    width: 100%;
    height: 10px;
  }
  .about .page_title .line span {
    width: calc((100% - (3px * 3)) / 4);
  }
  .about .page_title .line span:not(:last-of-type) {
    margin-right: 3px;
  }
  .about main .wrap {
    max-width: 100%;
    padding: 0 4%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .about main .wrap article {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10vw;
  }
  .about main .wrap article .title {
    padding-top: 10vw;
  }
  .about main .wrap article .title h3 span {
    font-size: 2.4rem;
  }
  .about main .wrap article .title h3 em {
    font-size: 1.8rem;
  }
  .about main .wrap article .title h3 + p {
    font-size: 1.4rem;
    font-weight: 500;
  }
  .about main .wrap article > section {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .about main .wrap article > section .main_img {
    margin-bottom: 5vw;
  }
  .about main .wrap article > section .comment01 h4 {
    font-size: 2.0rem;
  }
  .about main .wrap article > section .comment01 p {
    font-size: 1.4rem;
  }
  .about main .wrap article > section .comment01 p strong {
    font-size: 1.4rem;
  }
  .about main .wrap article > section .comment02 h5 {
    font-size: 1.8rem;
    margin-bottom: .6em;
  }
  .about main .wrap article > section .comment02 p {
    font-size: 1.4rem;
  }
  .about main .wrap article > section .title01 {
    font-size: 2.0rem;
  }
  .about main .wrap article > section .list {
    margin-bottom: 5vw;
  }
  .about main .wrap article > section .list ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -6vw;
  }
  .about main .wrap article > section .list ul li {
    width: 100%;
    display: flex;
    align-items: center;
    margin-bottom: 6vw;
  }
  .about main .wrap article > section .list ul li:not(:last-of-type) {
    margin-right: 0;
  }
  .about main .wrap article > section .list ul li span {
    display: block;
    margin-bottom: 0;
    padding: 0;
    width: 30vw;
    margin-right: 5vw;
  }
  .about main .wrap article > section .list ul li em {
    display: block;
    font-size: 1.4rem;
    width: calc(100% - (30vw + 5vw));
  }
  .about main .wrap article > section .img_list01 {
    margin-bottom: 6vw;
  }
  .about main .wrap article > section .img_list01 ul {
    display: flex;
    flex-wrap: wrap;
  }
  .about main .wrap article > section .img_list01 ul li {
    width: 100%;
  }
  .about main .wrap article > section .img_list01 ul li:nth-of-type(1) {
    margin-right: 0;
    margin-bottom: 5vw;
  }
  .about main .wrap article > section .img_list01 ul li:nth-of-type(2) {
    margin-left: 0;
  }
  .about main .wrap article > section .img_list02 {
    margin-top: 0;
  }
  .about main .wrap article > section .img_list02 ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .about main .wrap article > section .img_list02 ul li:nth-of-type(1) {
    width: 50vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5vw;
  }
  .about main .wrap article > section .img_list02 ul li:nth-of-type(2) {
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
  }
  .about main .wrap aside {
    width: 100%;
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 10vw;
  }
  .about main .wrap aside h3 {
    margin-bottom: 3vw;
  }
  .about main .wrap aside h3 span {
    font-size: 2.4rem;
    margin-right: 0;
    margin-bottom: 3vw;
  }
  .about main .wrap aside h3 em {
    font-size: 1.6rem;
  }
  .about main .wrap aside section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .about main .wrap aside section h4 {
    margin-bottom: 3vw;
    font-size: 1.4rem;
    padding: .6em 1em;
  }
  .about main .wrap aside section ul li:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .about main .wrap aside section ul li a {
    min-height: auto;
    padding: .8em .8em;
    font-size: 1.6rem;
  }





  /*post-list*/
  .post-list .page_title {
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .post-list .page_title .box {
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
  .post-list .page_title .box h3 {
    font-size: 1.8rem;
    text-align: center;
    margin-right: 0;
    padding-bottom: .5em;
  }
  .post-list.re-new .page_title .box h3 {
    transform: scale(1 , 1);
    transform-origin: top left;
    letter-spacing: 0;
  }
  .post-list .page_title .box .icon {
    top: 0;
    width: 40vw;
    padding-bottom: 5vw;
  }
  .post-list .page_title .box .comment {
    padding: 3vw 4vw;
  }
  .post-list .page_title .box .comment dl {
    margin-bottom: 2vw;
  }
  .post-list .page_title .box .comment dl dt {
    font-size: 1.8rem;
  }
  .post-list .page_title .box .comment dl dd {
    font-size: 1.2rem;
  }
  .post-list .page_title .box .comment p {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .post-list .page_title .line {
    bottom: -10px;
    width: 100%;
    height: 10px;
  }
  .post-list main {
    overflow: hidden;
  }
  .post-list main .wrap {
    max-width: 100%;
    padding: 0 4%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .post-list main .wrap article {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10vw;
  }
  .post-list main .wrap article .title {
    padding-top: 10vw;
  }
  .post-list main .wrap article .title h3 span {
    font-size: 2.4rem;
  }
  .post-list main .wrap article .title h3 em {
    font-size: 1.8rem;
  }
  .post-list main .wrap article .title h3 em i {
    font-size: 1.8rem;
    font-weight: 500;
  }
  .post-list main .wrap article .title h3 + p {
    font-size: 1.4rem;
    font-weight: 500;
  }
  .post-list main .wrap article > section {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .post-list main .wrap article > section .post_title {
    display: flex;
    flex-direction: column;
  }
  .post-list main .wrap article > section .post_title h4 {
    font-size: 2.0rem;
    margin-right: 0;
    margin-bottom: 3vw;
    width: 100%;
  }
  .post-list main .wrap article > section > .post_title .cat_time {
    flex-direction: row;
    align-items: center;
    margin-left: 0;
    padding-top: 0;
  }
  .post-list main .wrap article > section > .post_title .cat_time p {
    width: 40vw;
  }
  .post-list main .wrap article > section > .post_title .cat_time p a {
    padding: .3em .5em;
    font-size: 1.4rem;
  }
  .post-list main .wrap article > section > .post_title .cat_time time {
    font-size: 1.3rem;
    text-align: right;
    margin-left: auto;
  }
  .post-list main .wrap aside {
    width: 100%;
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 10vw;
  }
  .post-list main .wrap aside h3 {
    margin-bottom: 3vw;
  }
  .post-list main .wrap aside h3 span {
    font-size: 2.4rem;
    margin-right: 0;
    margin-bottom: 3vw;
  }
  .post-list main .wrap aside h3 em {
    font-size: 1.6rem;
  }
  .post-list main .wrap aside section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .post-list main .wrap aside section h4 {
    margin-bottom: 3vw;
    font-size: 1.4rem;
    padding: .6em 1em;
  }
  .post-list main .wrap aside section ul li:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .post-list main .wrap aside section ul li a {
    min-height: auto;
    padding: .8em .8em;
    font-size: 1.6rem;
  }





  /*contact*/
  .contact .page_title {
    height: 50vw;
    padding-top: 0;
    margin-bottom: 5vw;
  }
  .contact .page_title .box {
    width: 100%;
    padding: 0 4%;
  }
  .contact .page_title .box h3 {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: .5em;
  }
  .contact .page_title .box h3 span {
    font-size: 2.4rem;
    margin-right: 0;
  }
  .contact .page_title .box h3 em {
    font-size: 1.6rem;
  }
  .contact .page_title .box h3 + p {
    font-size: 1.4rem;
  }
  .contact main .bg {
    padding: 10vw 0;
  }
  .contact main .bg .box {
    max-width: 100%;
    padding: 0 4%;
  }
  .contact main .bg .box > .form table tr th ,
  .contact main .bg .box > .form table tr td {
    display: block;
    padding: .5em 0;
  }
  .contact main .bg .box > .form table tr th {
    width: 100%;
    padding-bottom: 0;
  }
  .contact main .bg .box > .form table tr td {
    width: 100%;
  }
  .contact main .bg .box > .form .pp {
    padding-top: 1.5em;
  }
  .contact main .bg .box > .form .pp dl {
    display: flex;
    flex-direction: column;
  }
  .contact main .bg .box > .form .pp dl dt {
    width: 100%;
  }
  .contact main .bg .box > .form .pp dl dd {
    width: 100%;
  }
  .contact main .bg .box > .form .comment {
    padding-top: 1em;
    font-size: 1.4rem;
  }





  /*news-list*/
  .news-list .page_title {
    height: 50vw;
    padding-top: 0;
    margin-bottom: 5vw;
  }
  .news-list .page_title::before {
    height: 50vw;
  }
  .news-list .page_title .box {
    width: 100%;
    padding: 0 4%;
  }
  .news-list .page_title .box h3 {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: .5em;
  }
  .news-list .page_title .box h3 span {
    font-size: 2.4rem;
    margin-right: 0;
  }
  .news-list .page_title .box h3 em {
    font-size: 1.6rem;
  }
  .news-list .page_title .box h3 + p {
    font-size: 1.4rem;
  }
  .news-list .page_title .line-top {
    top: 0;
    height: 10px;
  }
  .news-list .page_title .line-top span {
    width: calc((100% - (3px * 3)) / 4);
  }
  .news-list .page_title .line-top span:not(:last-of-type) {
    margin-right: 3px;
  }
  .news-list main .wrap {
    max-width: 100%;
    padding: 0 4%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }
  .news-list main .wrap article {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10vw;
  }
  .news-list main .wrap article > section {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .news-list main .wrap article > section .post_title {
    display: flex;
    flex-direction: column;
  }
  .news-list main .wrap article > section .post_title h3 {
    font-size: 2.0rem;
    margin-right: 0;
    margin-bottom: 3vw;
    width: 100%;
  }
  .news-list main .wrap article > section > .post_title .cat_time {
    flex-direction: row;
    align-items: center;
    margin-left: 0;
    padding-top: 0;
  }
  .news-list main .wrap article > section > .post_title .cat_time time {
    font-size: 1.3rem;
    text-align: right;
    margin-left: auto;
  }
  .news-list main .wrap aside {
    width: 100%;
    margin-left: 0;
    padding-top: 0;
    padding-bottom: 10vw;
  }
  .news-list main .wrap aside h3 {
    margin-bottom: 3vw;
  }
  .news-list main .wrap aside h3 span {
    font-size: 2.4rem;
    margin-right: 0;
    margin-bottom: 3vw;
  }
  .news-list main .wrap aside h3 em {
    font-size: 1.6rem;
  }
  .news-list main .wrap aside section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  .news-list main .wrap aside section h4 {
    margin-bottom: 3vw;
    font-size: 1.4rem;
    padding: .6em 1em;
  }
  .news-list main .wrap aside section ul li:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  .news-list main .wrap aside section ul li a {
    min-height: auto;
    padding: .8em .8em;
    font-size: 1.6rem;
  }




}

