﻿/*
font-family: "Noto Sans JP", sans-serif;
font-family: "Tomorrow", sans-serif;
*/
/*******************************************************************************
title
********************************************************************************/
#topTitle{
    position: relative;
    background: url("../img/title_bg.png") center bottom;
    z-index: 0;
}
#topTitle h1{
    position: absolute;
    top: 3%;
    z-index: 1;
    width: 700px;
}
#topTitle h1 img{
    width: 100%;
}
#topTitle::before{
    content: "";
    display: block;
    width: 600px;
    height: 110%;
    background: url("../img/left.png") no-repeat right top;
    background-size: auto 100%;
    position: absolute;
    top: 0;
    right: calc(((100% - 1000px) / 2) + 930px);
    z-index: 1;
}
#topTitle::after{
    content: "";
    display: block;
    width: 600px;
    height: 110%;
    background: url("../img/right.png") no-repeat left top;
    background-size: auto 100%;
    position: absolute;
    top: 0;
    left: calc(((100% - 1000px) / 2) + 930px);
    z-index: 1;
}

#titlePhoto{
    display: inline-block;
    position: relative;
    width: 120%;
    margin-left: -10%;
    padding-top: 70%;
    z-index: 0;
}
#titlePhoto img{
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    animation: image-switch-animation 16s infinite;
}
@keyframes image-switch-animation {
  0%{ opacity: 0;}
  5%{ opacity: 1;}
  25%{ opacity: 1;}
  30%{ opacity: 0;}
  100%{ opacity: 0;}
}
#titlePhoto img:nth-of-type(1) {
  animation-delay: 0s;
}
#titlePhoto img:nth-of-type(2) {
  animation-delay: 4s;
}
#titlePhoto img:nth-of-type(3) {
  animation-delay: 8s;
}
#titlePhoto img:nth-of-type(4) {
  animation-delay: 12s;
}
.mskImg {
  mask-image: url("../img/mask.png");
  mask-repeat: no-repeat;
  mask-position: 3% 0;
  mask-size: auto 100%;
  -webkit-mask-image: url("../img/mask.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 3% 0;
  -webkit-mask-size: 100% 100%;
}
#aboutUs{
    width: 470px;
    display: block;
    background: url("../img/aboutUs_bg.png") no-repeat left top;
    background-size: 100% 100%;
    padding: 4em 2em 2em;
    color: #FFF;
    font-weight: 400;
    font-size: 0.85em;
    line-height: 1.7;
    text-align: center;
    position: absolute;
    right: calc(50% - 540px);
    bottom: -2em;
    z-index: 2;
    text-shadow: 0px 0px 10px #1aa9e2;
}
#aboutUs h2{
    font-size: 1.8em;
    margin-bottom: 0.3em;
}
#aboutUs strong{
    display: block;
    font-size: 1.2em;
    font-weight: 700;
    color: #FFFF00;
}
#aboutUs p{
    margin-bottom: 1em;
}

/*--1000px以下------------------------------------*/
@media only screen and (max-width: 1000px) {
#topTitle h1{
    width: 70%;
}
#topTitle::before,
#topTitle::after{
    display: none;
}
#aboutUs{
    width: 50%;
    right: -2em;
    font-size: 1.4vw;
}
}
/*--737px以下 ------------------------------------*/
@media only screen and (max-width: 737px) {
#topTitle{
    background: #37bbfe;
}
#topTitle h1{
    top: 2%;
    left: 50%;
    transform: translateX(-52%);
    width: 85%;
}
#titlePhoto{
    padding-top: 110%;
}
#titlePhoto img{
    width: auto;
    height: 100%;
    transform: translateX(-48%);
}
.mskImg{
    mask-position: 15% 0;
    -webkit-mask-position: 15% 0;
}
#aboutUs{
    position: relative;
    width: 100%;
    padding: 0 0 1px;
    left: auto;
    right: auto;
    font-size: 3vw;
    margin-top: -4em;
    background: transparent;
    text-shadow: 1px  1px 3px #37bbfe,
      -1px  1px 3px #37bbfe,
       1px -1px 3px #37bbfe,
      -1px -1px 3px #37bbfe;

}
}

/*******************************************************************************
What's new
********************************************************************************/
#whatsNew{
    background: url("../img/title_bg.png") center bottom;
    padding-bottom: 5%;
    z-index: -1;
}
#whatsNew h3{
    color: #f5756e;
    font-weight: 400;
}
#whatsNew h3 strong{
    font-family: "Tomorrow", sans-serif;
    font-weight: 400;
    font-size: 1.3em;
    margin-right: 0.5em;
}
.newsWrap{
    background-color: #FFF;
    border: 1px solid #999;
    box-shadow: 2px 2px 1px rgba(0,0,0,0.1);
    padding: 0.8em 0 0.8em 1em;
}
.newsBox{
    overflow-y: scroll;
    max-height: 8em;
    padding-right: 1em;
}
.newsBox li{
    margin-bottom: 0.8em;
    padding-left: 7em;
    position: relative;
}
.newsBox li span{
    display: inline-block;
    position: absolute;
    left: 0;
}
/*--737px以下 ------------------------------------*/
@media only screen and (max-width: 737px) {
#whatsNew{
    position: relative;
    padding-top: 11%;
    padding-bottom: 8%;
    overflow: hidden;
}
#whatsNew::before{
    content: "";
    display: block;
    width: 120vw;
    height: 60vw;
    clip-path: inset(0px 0px 0px 0px round 80px);
    background-color: #37bbfe;
    position: absolute;
    left: -15vw;
    top: -54vw;
    transform: rotate(7deg);
}


.newsBox{
    max-height: 10em;
}
.newsBox li{
    padding: 0;
}
.newsBox li span{
    position: relative;
    left: auto;
    display: block;
}
}

/*******************************************************************************
column_report
********************************************************************************/
#column_report{
    display: flex;
    flex-wrap: wrap;
    padding-top: 0;
    padding-bottom: 0;
}
#column{
    position: relative;
    flex-basis: 50%;
    max-width: 50%;
    padding:5% 5% 8% 0;
    z-index: 0;
}
#column::before{
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;
    background: url("../img/column_bg.webp") right top /cover;
    z-index: -1;
}
#column h3 span{
    color: #33c3a7;
}
#column h3 strong::before{
    background-image: url("../img/title_icon_note.webp");
}
#report{
    position: relative;
    flex-basis: 50%;
    max-width: 50%;
    padding: 5% 0 8% 5%;
}
#report::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 50vw;
    height: 100%;
    background: url("../img/report_bg.webp") left top /cover;
    z-index: -1;
}
#report h3 span{
    color: #f3b100;
}
#report h3 strong::before{
    background-image: url("../img/title_icon_note.webp");
}

dl.articleTemplate{
    position: relative;
    background-color: #FFF;
    padding: 10px;
    z-index: 0;
}
dl.articleTemplate::before{
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    width: 5em;
    height: 4em;
    background: linear-gradient(to left top, transparent 50%,#33c3a7 51%) no-repeat top left/100% 100%;
    z-index: 1;
}
dl.articleTemplate::after{
    content: 'Column';
    display: inline-block;
    color: #FFF;
    transform: rotate(-40deg);
    position: absolute;
    left: 0;
    top: 0.7em;
    z-index: 1;
}
dl.articleTemplate dt{
    position: relative;
}
dl.articleTemplate dt img{
    width: 100%;
}
dl.articleTemplate dd{
    padding: 1em;
    color: #333;
}
dl.articleTemplate dd h4{
    margin: 0 0 0.5em;
    font-size: 1.2em;
    line-height: 1.4;
}
dl.articleTemplate dd .columnNo,
dl.articleTemplate dd .reportNo{
    display: none;
}
dl.articleTemplate dd .author{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-bottom: 0.5em;
}

dl.articleTemplate dd::after{
    display: inline-block;
    text-align: center;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 2em;
    color: #FFF;
    padding: 0.5em 2em;
    margin-top: 1em;
}
dl.articleTemplate .articleLink a{
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*コラム*/
#columnLoad dl.articleTemplate dd::after{
    content: "コラムの続きはこちらから";
    background-color: #33c3a7;
}
#columnLoad dl.articleTemplate::after{
    content: 'Column';
}
#columnLoad dl.articleTemplate::before{
    background: linear-gradient(to left top, transparent 50%,#33c3a7 51%) no-repeat top left/100% 100%;
}
/*レポート*/
#reportLoad dl.articleTemplate dd::after{
    content: "レポートの続きはこちらから";
    background-color: #f3b100;
}
#reportLoad dl.articleTemplate::after{
    content: 'Report';
}
#reportLoad dl.articleTemplate::before{
    background: linear-gradient(to left top, transparent 50%,#f3b100 51%) no-repeat top left/100% 100%;
}

#column .comingsoon{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 60%;
}
#column .comingsoon p{
    font-size: 1.6em;
    color: #33c3a7;
    font-weight: 600;
}

/*--737px以下 ------------------------------------*/
@media only screen and (max-width: 737px) {
#column_report{
    padding: 0;
}
#column{
    flex-basis: 100%;
    max-width: 100%;
    padding: 7%;
}
#report{
    flex-basis: 100%;
    max-width: 100%;
    padding: 7%;
}

#column::before{
    width: 100vw;
}
#report::before{
    width: 100vw;
}

}

/*******************************************************************************
documentDownload
********************************************************************************/
#documentDownload{
    background-color: #e3f9ff;
    padding-top: 3%;
    padding-bottom: 3%;
}
.documentWrap{
    display: flex;
    flex-wrap: wrap;
}
.doc_title{
    background-color: #29a2da;
    color: #FFF;
    padding: 0.5em;
    text-align: center;
    max-width: 10em;
    margin-right: 2em;
}
.doc_title h3{
    font-size: 1.4em;
    line-height: 1.4;
    border-bottom: 1px solid #FFF;
    padding: 0.5em;
    margin-bottom: 0.5em;
}
.doc_title h3 + p{
    font-size: 0.8em;
}
[class^="docLink_to_index"]{
    margin: 1em 0;
}
[class^="docLink_to_index"] a{
    position: relative;
    display: block;
    background-color: #FFF;
    color: #29a2da;
    line-height: 1.2;
    font-size: 0.9em;
    padding: 0.5em 1.5em 0.5em 1em;
    border-radius: 1em;
    text-align: center;
    border: 1px solid #29a2da;
}
[class^="docLink_to_index"] a::after{
    content: "≫";
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
}
.docLink_to_index2{
    display: none;
}
.doc_list{
    max-width: calc(100% - 12em);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.doc_list::before,
.doc_list::after{
    content: "";
    display: inline-block;
    flex-basis: calc(100% / 4 - 2%);
    order: 1;
}
.docBox{
    flex-basis: calc(100% / 4 - 3%);
    max-width: calc(100% / 4 - 3%);
    position: relative;
    margin: 0.5em 0;
}
.docBox dt{
    position: relative;
    padding: 5%;
    background-color: #FFF;
    border-radius: 0 5px 5px 5px;
    margin-top: 16px;
}
.docBox dt::before{
    content: "";
    width: 50%;
    height: 16px;
    position: absolute;
    bottom: 100%;
    left: 0;
    background-color: #FFF;
    border-radius: 5px 5px 0 0;
}
.docBox dt::after{
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    position: absolute;
    bottom: 100%;
    left: 50%;
    background: linear-gradient(to bottom left, transparent 50%,#ffffff 51%) no-repeat top left/100% 100%;
}
.docBox dt img{
    width: 100%;
    border-radius: 5px;
}
.docBox dd h4{
    margin: 0.5em 0;
    font-size: 0.9em;
    font-weight: 400;
    line-height: 1.4;
}
.docBox .docLink a{
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}

/*--737px以下 ------------------------------------*/
@media only screen and (max-width: 737px) {
#documentDownload{
    padding-top: 4%;
    padding-bottom: 4%;
}
.doc_title{
    max-width: none;
    margin: 0 0 1em;
    flex-basis: 100%;
}
.doc_title h3{
    padding: 0 0 0.2em;
    margin-bottom: 0.2em;
}
.doc_title h3 br {display: none;}
.docLink_to_index1{display: none;}
.docLink_to_index2{
    display: block;
    flex-basis: 80%;
    margin: 1em 10%;
}
.docLink_to_index2 a{
    display: block;
    font-size: 1.1em;

}
.doc_list{
    flex-basis: 100%;
    max-width: 100%;
}
.docBox {
    flex-basis: calc(100% / 2 - 3%);
    max-width: calc(100% / 2 - 3%);
}
}
