/* CSS Document */
.contents-menu-wrape {
    margin-bottom: 35px;
}
.contents-menu-wrape .menu-item span.env-initiatives {
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    width: 78px;
    height: 70px;
    top: 56px;
}
.contents-menu-wrape .menu-item span.env-connect {
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    width: 72px;
    height: 74px;
    top: 52px;
}
.contents-menu-wrape .menu-item span.env-analysis {
    display: block;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    width: 73px;
    height: 56px;
    top: 70px;
}

.index-link-box {
    width: 100%;
    border-top: 1px solid #757575;
    border-bottom: 1px solid #757575;
    padding: 73px 28px;
    margin-bottom: 168px;
    display: flex;
    justify-content: space-between;
}

.index-link-box .index-link--01 {
    width: 380px;
    flex-basis: 380px;
}
.index-link-box .index-link--02 {
    width: 480px;
    flex-basis: 480px;
}
.banner--01 {
    width: 100%;
}
.banner--01 a
{
    display: block;
}
.banner--01 a:hover,
.mov-play-list-item a:hover
{
    opacity: 0.8;
}
.banner--01 a:active,
.mov-play-list-item a:active
{
    opacity: 0.9;
}
.banner--01:first-of-type {
    margin-bottom: 35px;
}
.initiatives-box,
.charter-box,
.movie-gallery-box,
.customers-box,
.employee-box,
.bunseki-box,
.mads-box,
.ais-box
{
    margin-top: 74px;
}
.initiatives-fig01 {
    width: 994px;
    margin: 59px auto 0;
}
.initiatives-fig02 {
    width: 100%;
    margin-top: 59px;
}
.std p.charter-update {
    margin: 39px auto 0;
}
.charter-fig01 {
    width: 999px;
    margin: 59px auto 0;
}
.charter-box .dl-01,
.timber-box .ol-01
{
    margin-top: 37px;
}

/* Movie Gallery */
.mov-gallery-01 {
    width: 100%;
    margin-bottom: 45px;
}
.mov-gallery-02 {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.mov-gallery-02-01 {
    width: 210px;
    flex-basis: 210px;
    margin-right: 20px;
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

.mov-gallery-02-02 {
    width: calc(100% - 230px);
    flex-basis: calc(100% - 230px);
}
.mov-gallery-02-02 p {
    margin: 0.5em 0;
}
.mov-gallery-03 {
    margin: 104px auto 0;
}
.mov-title {
    font-size: 2.1rem;
    line-height: 1.3em;
    position: relative;
    padding-left: 45px;
    margin-bottom: 28px;
}
.mov-title::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background: url("../img/academy.svg") no-repeat;
    background-size: cover;
    position: absolute;
    margin-right: 50px;
    left: 0;
}
.mov-play-list {
    border: 1px solid #4dc46f;
    padding: 21px 36px;
    display: flex;
    flex-wrap: wrap;
}

.mov-play-list-item {
    font-size: 1.6rem;
    flex-basis: 33%;
    padding: 15px 0;
    border-bottom: 1px dashed #a3ceae;
    margin: 0 1px;
}
.mov-play-list-item:nth-last-child(1),
.mov-play-list-item:nth-last-child(2),
.mov-play-list-item:nth-last-child(3)
{
    border-bottom: none;
}
.mov-play-list-item a {
    display: inline-block;
    position: relative;
    color: var(--base-font);
    padding-left: 22px;
}
.mov-play-list-item a::before {
    content: "";
    display: block;
    width: 17px;
    height: 17px;
    background: url("../img/sprout.svg") no-repeat;
	/*#4DC46F*/
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
}
.mov-gallery-04 {
    margin: 85px auto 69px;
}
.mov-gallery-05 {
    margin: 69px auto;
}
.mov-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
	margin-top: 50px;
}
.mov-list > .mov-item {
    width: 320px;
    flex-basis: 320px;
    margin-right: 32px;
    margin-bottom: 35px;
}
.mov-list > .mov-item:nth-of-type(3n) {
    margin-right: 0;
}
/* Timber */

.timber-box {
    margin-top: 74px;
}
.fig-two-box-01 {
    width: 984px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 58px auto 98px;
}
.timber-fig01 {
    width: 456px;
    flex-basis: 456px;
}
.timber-fig02 {
    width: 482px;
    flex-basis: 482px;
}
.fig-two-box-01 figcaption,
.community-two-box-01 figcaption
{
    font-size: 1.8rem;
    font-weight: 700;
    margin: 0 0 28px;
}
.std ol.bold-01 li,
.bold-02
{
    font-weight: 700;
}
.std ol.bold-01 li span.body {
    font-weight: 400;
}
.timber-box-01 {
    margin: 2em 0 2.4em 2em;
}
.timber-box-01 ul.narrow {
    margin: 0.2em 0 0.2em 1em;
}
.timber-box-02 {
    margin-left: 2em;
}
.timber-box-02 p {
    margin: 0.5em 0 1em;
}
.timber-box-03 {
    margin-left: 2em;
	padding: 10px;
	margin-bottom: 10px; 
	border: solid 1px #333333;
}
.timber-box-03 p {
    margin: 0.5em 0 1em;
}

.timber-fig03 {
    width: 898px;
    margin: 48px auto;
}
/* Our Efforts */
.our-efforts {
    margin-top: 74px;
}
.our-efforts-main-image {
    width: 100%;
    margin: 74px auto 0;
}
.our-efforts-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 28px auto 0;
}
.our-efforts-item {
    width: 320px;
    flex-basis: 320px;
    margin: 0 32px 44px 0;
}
.our-efforts-item:nth-of-type(3n) {
    margin: 0 0 44px 0;
}
.our-efforts-item a {
    text-align: center;
    color: var(--base-font);
}
.our-efforts-item .bd {
    border: 1px solid #d1d1d1;
}
.our-efforts-item h3 {
    font-size: 1.6rem;
    margin-top: 1em;
    display: inline-block;
    position: relative;
    padding-right: 12px;
}
.our-efforts-item h3::after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #8b8b8b;
    border-right: 1px solid #8b8b8b;
    transform: rotate(45deg);
    position: absolute;
    top: 5px;
    right: 0;
}
/* FSC */
.fsc-box {
    margin-top: 74px;
}
.fsc-fig {
    width: 910px;
    margin: 89px auto 72px;
}
.fsc-fig > figcaption {
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 2em;
}
/* TCFD */
.tcfd-box {
    margin-top: 74px;
}
.std ul.box-offset-01,
.std ol.box-offset-01
{
    margin: 2em 0 2em 2em;
}

/* Report */
.report-box {
    margin-top: 74px;
}
.report-two-box {
    width: 100%;
    display: flex;
    align-items: flex-start;
    margin-bottom: 64px;
}
.report-cover {
    width: 210px;
    flex-basis: 210px;
    border: 1px solid #999;
}
.report-summary {
    margin-left: 27px;
    width: calc(100% - 237px);
    flex-basis: calc(100% - 237px);
}
.report-summary p {
    margin: 0;
}
.report-contents {
    margin-top: 68px;
}
.report-contents h2 {
    margin-bottom: 15px;
}
.report-lists {
    border-bottom: 1px solid #ccc;
    padding: 23px 0;
}
.report-lists .headline,
.report-bkn-list li
{
    position: relative;
    font-size: 1.6rem;
    line-height: 1.3em;
    padding-left: 17px;
}
.report-lists .headline::before,
.report-bkn-list li::before
{
    content: "";
    display: block;
    width: 9px;
    height: 9px;
    border-top: 1px solid var(--arrow-line);
    border-right: 1px solid var(--arrow-line);
    transform: rotate(45deg);
    position: absolute;
    top: 5px;
    left: 0;
}
.report-lists ul.narrow {
    margin: 1em 0 0 2em;
}
.report-bkn-box {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.report-bkn-item {
    width: 47.3%;
    flex-basis: 47.3%;
}
.report-bkn-list {
    padding: 1px 1em 24px 0;
    background-color: #f5f5f5;
    height: calc(100% - 21px);
}
.report-bkn-list ul {
    list-style: none;
    
}
.report-bkn-list ul:last-of-type {
    margin-bottom: 0;
}

/* Community */
.community-box {
    margin-top: 74px;
}
.community-two-box-01 {
    width: 952px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 58px auto 98px;
}
.community-fig01 {
    width: 476px;
    flex-basis: 476px;
}
.community-fig02 {
    width: 408px;
    flex-basis: 408px;
}

.community-two-box-02 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 24px auto 0;
}
.community-box-01 {
    width: 485px;
    flex-basis: 485px;
    position: relative;
    padding-bottom: 344px;
}
.community-box-01 h4 {
    font-size: 1.6rem;
    line-height: 1.3em;
    font-weight: 700;
}
.community-box-01 p {
    margin: 0.5em 0;
}
.community-box-01 figure {
    width: 485px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
}
 
.community-two-box-03 {
    margin-top: 32px;
}
.community-two-box-03,
.community-photo-box01 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.community-box-02 {
    width: 671px;
    flex-basis: 671px;
}
.community-two-box-03 .caption-01 {
    font-size: 1.4rem;
    line-height: 1.3em;
    text-align: center;
    margin-bottom: 0.2em;
}
.community-box-03{
    width: 325px;
    flex-basis: 325px;
}
.community-photo01,
.community-photo02
{
    width: 320px;
    flex-basis: 320px;
}
.community-photo02
{
    margin: 0 2.5px;
}

/* employee */
.employee-box.std ol
{
    margin: 0;
}
.employee-box.std ol.ol-02 li:first-child {
    margin: 0 0 1em 1.4em;
}
.box-offset-02 {
    margin-left: 1em;
}
.std p.box-offset-03,
.std ol.box-offset-03
{
    margin: 0.2em 0 1em 3em;
}
dl.list-t01,
dl.list-t02
{
    font-size: 1.6rem;
    line-height: 1.3em;
    border-bottom: 1px solid #ccc;
    margin-left: 2em;
    display: flex;
}

dl.list-t01:first-of-type
{
    margin-top: 1em;
}
dl.list-t01 dt,
dl.list-t02 dt
{
    font-weight: 700;
    padding: 13px 0;
    width: 218px;
    flex-basis: 218px;
}
dl.list-t01 dd,
dl.list-t02 dd
{
    padding: 13px 0;
    width: calc(100% - 218px);
    flex-basis: calc(100% - 218px);
}
dl.list-t02 dt,
dl.list-t02 dd
{
    line-height: 1.4em;
}
.std dl.list-t02{
    margin: 0.5em 0 1em;
}
.std dl.list-t02 dd{
    margin-bottom: 0;
}
/* Margin */
.mgt-01 {
    margin-top: 35px;
}
.mgt-02 {
    margin-top: 94px;
}
.mgt-03 {
    margin-top: 1em;
}
.mgb-03 {
    margin-bottom: 1em;
}
.std p.mgb-02 {
    margin: 2em 0 0;
}

.newslist-wrap {
    width: 1024px;
    margin: 0 auto 101px;
}
.newslist-wrap .newslist-header {
    display: flex;
    align-items: center;
}
.newslist-wrap .newslist-body {
    margin-top: 55px;
    border-top: 1px solid #ccc;
}

.newslist-wrap .newslist-body .news-raw {
    border-bottom: 1px solid #ccc;
    padding: 9px 0 14px;
}
.newslist-wrap .news-raw .cat-data {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.4em;
}
.newslist-wrap .news-raw .date {
    width: 120px;
    flex-basis: 120px;
}

.newslist-wrap .news-raw .news-title {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 1.4em;
    margin: 7px 0 0 120px;
}
.contribution-wrap {
    width: 1024px;
    margin: 94px auto 103px;
}
.contribution-header {
    margin-bottom: 84px;
}
.contribution-body,
.event-announce-item,
.announce-link
{
    display: flex;
    flex-wrap: wrap;
}
.contribution-body,
.event-announce-item {
    justify-content: space-between;
}

.contribution-item {
    width: 495px;
    flex-basis: 495px;
    margin-bottom: 54px;
}
.contribution-item .image-photo {
    margin-bottom: 22px;
}
.contribution-item h3 {
    font-size: 1.8rem;
    letter-spacing: 0.01em;
    line-height: 1.4em;
    text-align: center;
    margin-bottom: 11px;
}
.contribution-item p {
    font-size: 1.4rem;
    line-height: 1.86em;
}
.contribution-item a {
    color: var(--base-font);
}
.contribution-item a:hover,
.event-announce-item li a:hover,
.announce-link li a:hover
{
    opacity: 0.8;
}
.contribution-item a:active,
.event-announce-item li a:active,
.announce-link li a:active
{
    opacity: 0.9;
}
@media screen and (max-width:1067px){
    .newslist-wrap,
    .our-efforts-list
{
        width: 672px;
    }
    .our-efforts-item:nth-of-type(3n) {
        margin: 0 32px 44px 0;
    }
    .our-efforts-item:nth-of-type(2n) {
        margin: 0 0 44px 0;
    }
    .fig-two-box-01 {
        width: 482px;
        justify-content: center;
    }
    .timber-fig01 {
        margin-bottom: 70px;
    }
    .community-two-box-02 {
        justify-content: center;
    }
    .community-box-01 {
        width: 100%;
        flex-basis: 100%;
        padding-bottom: 35px;
    }
    .community-box-01 figure {
        position: relative;
        margin: 25px auto 0;
        left: auto;
        right: auto;
        bottom: auto;
    }
    .community-two-box-03 {
        width: 670px;
        justify-content: center;
        margin: 35px auto;
    }
    .community-box-02 {
        width: 100%;
        flex-basis: 100%;
        margin-bottom: 35px;
    }
}
/* max-width: 1067px */
@media screen and (max-width:1024px){
    .initiatives-fig01,
    .charter-fig01
    {
        width: 100%;
    }
    .mov-list {
        width: 670px;
        margin: 0 auto;
    }
    .mov-list > .mov-item:nth-of-type(3n) {
        margin-right: 20px;
    }
    .mov-list > .mov-item {
        margin-right: 20px;
        margin-bottom: 20px;
    }
    .mov-list > .mov-item:nth-of-type(2n) {
        margin-right: 0;
    }
    .community-two-box-01 {
        width: 100%;
    }
    .community-fig01 {
        width: 47.6%;
        flex-basis: 47.6%;
    }
    .community-fig02 {
        width: 40.8%;
        flex-basis: 40.8%;
    }
}
/* 1024px */
@media screen and (max-width:980px){
    .index-link-box {
        display: block;
    }
    .index-link-box .index-link--01
    {
        width: 480px;
        margin: 0 auto 35px;
    }
    .index-link-box .index-link--02
    {
        margin: 0 auto;
    }
    .timber-fig03 {
        width: 94%;
    }
    .fsc-fig {
        width: 94%;
    }
}
/* max-width: 980px */
@media screen and (max-width:860px) {
    .mov-play-list-row {
        border-bottom: none;
    }
    .mov-play-list-item {
        flex-basis: 49.5%;
    }
    .mov-play-list-item:nth-last-child(2),
    .mov-play-list-item:nth-last-child(3)
    {
        border-bottom: 1px dashed #a3ceae;
    }
}
/* max-width: 860px */
@media screen and (max-width:705px) {
    .contents-menu-wrape {
        width: 100%;
    }
    .contents-menu-wrape .menu-item
    {
        width: 100%;
        flex-basis: 100%;
    }
    .contents-menu-wrape .menu-item span.env-initiatives {
        width: 50px;
        height: 45px;
        top: 16px;
    }
    .contents-menu-wrape .menu-item span.env-connect {
        width: 43px;
        height: 45px;
        top: 16px;
    }
    .contents-menu-wrape .menu-item span.env-analysis {
        width: 59px;
        top: 16px;
    }
    .mov-gallery-02 {
        justify-content: center;
    }
    .mov-gallery-02-01 {
        margin-right: 0;
    }
    .mov-gallery-02-02 {
        width: 100%;
        flex-basis: 100%;
        margin-top: 10px;

    }
    .mov-list {
        width: 320px;
    }
    .mov-list > .mov-item {
        margin-right: 0 !important;
    }
    .our-efforts-list {
        width: 320px;
    }
    .our-efforts-item {
        margin: 0 0 35px 0;
    }
    .report-two-box {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 32px;
    }
    .report-cover {
        margin-bottom: 25px;
    }
    .report-summary {
        margin-left: 0;
        width: 100%;
        flex-basis: 100%;
    }
    .report-summary p {
        font-size: 1.4rem;
    }
    .report-bkn-item {
        width: 100%;
        flex-basis: 100%;
        margin-bottom: 35px;
    }
    .report-bkn-list {
        height: auto;
    }
    .community-two-box-01 {
        width: 400px;
        justify-content: center;
    }
    .community-fig01 {
        width: 400px;
        flex-basis: 400px;
        margin-bottom: 35px;
    }
    .community-fig02 {
        width: 400px;
        flex-basis: 400px;
    }
    .community-two-box-03 {
        width: 320px;
    }
    .community-photo01,
    .community-photo02
    {
        width: 100%;
        flex-basis: 100%;
    }
    .community-photo01,
    .community-box-02
    {
        margin-bottom: 20px;
    }
    .community-two-box-03 .caption-01 {
        font-size: 1.3rem;
        text-align: left;
    }
    .box-offset-02,
    dl.list-t01,
    dl.list-t02
    {
        margin-left: 0;
    }
    .contribution-wrap {
   		width: 750px;
        margin: 30px auto 36px;
    }
    .contribution-body {
        width: 50%;
    }
    .contribution-header {
        margin-bottom: 20px;
    }
    .contribution-item {
        width: 50%;
        margin-bottom: 35px;
    }
    .contribution-item h3 {
        font-size: 1.5rem;
    }
}
/* max-width: 705px */
@media screen and (max-width:520px) {
    .initiatives-box,
    .charter-box,
    .movie-gallery-box,
    .timber-box,
    .our-efforts,
    .fsc-box,
    .tcfd-box,
    .report-box,
    .community-box,
    .customers-box,
    .employee-box,
    .bunseki-box,
    .mads-box,
    .ais-box
    {
        margin-top: 37px;
    }
    .index-link-box {
        padding: 35px 10px;
        margin-bottom: 84px;
    }
    .index-link-box .index-link--01,
    .index-link-box .index-link--02
    {
        width: 100%;
    }
    .contents-menu-wrape .menu-item .cat-menu {
        margin-top: 18px;
    }
    .contents-menu-wrape .menu-item .cat-menu li {
        font-size: 1.4rem;
    }
    .initiatives-fig01,
    .initiatives-fig02,
    .charter-fig01
    {
        margin-top: 27px;
    }
    .std p.charter-update {
        margin: 18px auto 0;
    }
    .mov-gallery-01 {
        margin-bottom: 23px;
    }
    .mov-play-list {
        padding: 10px 12px;
    }
    .mov-play-list-item {
        flex-basis: 100%;
        font-size: 1.4rem;
    }
    .mov-gallery-03 {
        margin: 32px auto 0;
    }
    .mov-title {
        margin-bottom: 14px;
    }
    .mov-gallery-04 {
        margin: 35px auto;
    }
    .timber-fig03 {
        margin: 24px auto;
    }
    .fig-two-box-01 {
        width: 96%;
        margin: 27px auto 48px;
    }
    .timber-fig01,
    .timber-fig02
    {
        width: 100%;
        flex-basis: 100%;
    }
    .fig-two-box-01 figcaption,
    .community-two-box-01 figcaption
    {
        font-size: 1.6rem;
        font-weight: 700;
        margin: 0 0 18px;
    }
    .timber-fig01 {
        margin-bottom: 35px;
    }
    .our-efforts-item,
    .our-efforts-item:nth-of-type(2n),
    .our-efforts-item:nth-of-type(3n)
    {
        margin: 0 0 20px 0;
    }
    .our-efforts-main-image {
        margin: 37px auto 0;
    }
    .mgt-02 {
        margin-top: 47px;
    }
    .fsc-fig {
        width: 100%;
        margin: 24px auto 48px;
    }
    .fsc-fig > figcaption {
        font-size: 1.6rem;
        margin-bottom: 1em;
    }
    .std ul.box-offset-01,
    .std ol.box-offset-01
    {
        margin: 1em 0;
    }
    .report-contents {
        margin-top: 34px;
    }
    .report-lists {
        padding: 13px 0;
    }
    .report-lists .headline,
    .report-bkn-list li
    {
        font-size: 1.4rem;
    }
    .report-contents h2 {
        margin-bottom: 7px;
    }
    .report-lists ul.narrow {
        margin: 1em 0 0 1em;
    }
    .community-box-01 figure {
        width: 96%;
    }
    .community-box ul.arrow01 {
        margin: 1em 0;
    }
    .community-box-01:last-of-type {
        padding-bottom: 0;
    }
    dl.list-t01,
    dl.list-t02
    {
        font-size: 1.4rem;
        flex-wrap: wrap;
    }
    dl.list-t01 dt,
    dl.list-t01 dd,
    dl.list-t02 dt,
    dl.list-t02 dd
    {
        width: 100%;
        flex-basis: 100%;
    }
    dl.list-t01 dt,
    dl.list-t02 dt
    {
        padding: 13px 0 0;
    }
    dl.list-t01 dd,
    dl.list-t02 dd
    {
        padding: 10px 0;
    }
    dl.list-t02 dd {
        margin-left: 1em;
    }
    .std p.box-offset-03,
    .std ol.box-offset-03
    {
        margin: 0.2em 0 1em 1em;
    }
    .mgt-01 {
        margin-top: 20px;
    }
    dl.list-t01:first-of-type,
    dl.list-t02:first-of-type
    {
        margin-top: 0.2em;
    }
    .newslist-wrap {
        margin: 0 auto 37px;
    }
    .newslist-wrap .newslist-body {
        margin-top: 24px;
    }
    .newslist-wrap .news-raw .cat-data {
        font-size: 1.3rem;
    }
    .newslist-wrap .news-raw .news-title {
        font-size: 1.4rem;
        margin: 7px 0 0 0;
		color: 000000;
    }
}

/* max-width: 520px */

@media screen and (max-width:420px) {
.community-two-box-01 {
        width: 96%;
        justify-content: center;
        margin: 28px auto 49px;
    }
    .community-fig01 {
        width: 100%;
        flex-basis: 100%;
        margin-bottom: 25px;
    }
    .community-fig02 {
        width: 100%;
        flex-basis: 100%;
    }
    .contribution-wrap {
    	width: 300px;
        margin: 30px auto 36px;
    }
    .contribution-body {
        width: 100%;
    }
    .contribution-header {
        margin-bottom: 20px;
    }
    .contribution-item {
        width: 50%;
        margin-bottom: 35px;
    }
    .contribution-item h3 {
        font-size: 1.5rem;
    }
}
/* max-width: 420px */
@media screen and (max-width:340px) {
    .mov-list {
        width: 100%;
    }
    .mov-list > .mov-item,
    .our-efforts-item
    {
        width: 100%;
        flex-basis: 100%;
    }
    .community-two-box-03 {
        width: 96%;
    }
}
/* max-width: 340px */