@charset "utf-8";
:root{
    --base-color:#222;
    --bg-color:rgba(221,221,221,0.35);
    --sub-color:#999;
    --link-color:#0080bb;
    --default-font:"Noto Sans JP", serif;
    --eng-font:"Roboto", sans-serif;
    --serif-font:"Noto Serif JP", serif;
    --normal:400;
    --bold:500;
    --google-icon:'Material Symbols Outlined';
    --bootstrap:'bootstrap-icons';
    --white:brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(847%) hue-rotate(11deg) brightness(115%) contrast(104%);
}
*{
    box-sizing: border-box;
}
:where(figure){
    margin-bottom: 0em !important;
}
p,a{
    font-size:1em;
}
header{
    position: fixed;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width:100%;
    padding:1em 3.5% 1em; 
    z-index:100;
    /*background-color:#ffffff;*/
}
a:hover{
    text-decoration: none;
}

header .logo{
    min-width:92px;
    width:6.3vw;
    filter: var(--white);
}
header a{
   color:#fff;
   font-family: var(--eng-font);
   font-size:1.1em;
   transition: all 0.3s ease-in-out;
}
header a:hover{
   color:#007e66 !important;
}
nav#global-nav > ul{
    display:flex;
    gap:2.5em;
}
nav#global-nav > ul > li{
    z-index:100;
}
li.drawer-dropdown{
    position: relative;
}
.drawer-dropdown-menu{
    display:none;
    visibility:hidden;
    opacity:0;
    transition: .4s ease-in-out;
}
#global-nav > ul > li:hover > .drawer-dropdown-menu{
    display:block;
    visibility:visible;
    opacity:1;
    box-sizing:border-box;
    width:180px; height:auto;
    position:absolute;
    top:30px; left:50%; z-index:100;
    transform:translateX(-50%);
    border: 1px solid #ccc;
    background-color:rgba(255,255,255,1);
}
.drawer-dropdown-menu > li > a{
    display: block;
    font-size:0.9em; line-height:1.4;
    text-align: center;
    color:var(--main-color);
    white-space:nowrap;
    text-decoration:none;
    padding:1em 1em 0.8em;
    transition: 0.2s ease-in-out;
}
.drawer-dropdown-menu > li:not(:last-of-type){
    border-bottom:1px dashed #ccc;
}
.drawer-dropdown-menu > li > a:hover{
    background-color: rgba(25,25,25,1);
    color:#fff;
}
.billboard{
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    margin:0 auto;
    z-index:0;
}

.billboard-title{
    position: fixed;
    top:50%;
    transform: translateY(-50%) !important;
    margin-left:8%;
    z-index: 100;
}

.billboard-title h1 img{
    min-width:450px;
    width:28vw;
    filter: var(--white);
}
.billboard-title p{
    color:#fff;
    font-family: var(--eng-font);
    font-size: 1.6vw;
}
.video-container{
    position: fixed;
    height:100vh;
    padding-top: 56.25%; /* 16:9 のアスペクト比 (9 ÷ 16 = 0.5625) */
    overflow: hidden;
    aspect-ratio: 1093 / 615;
}
/*.billboard iframe{
    pointer-events: none; 
    width: 100%;
    height:100vh;
    object-fit: cover;
    object-position: 60% 90%;
}*/
.billboard iframe{
    pointer-events: none; 
    width:112%; height:112%;
    position:absolute;
    top:50% !important; left:50% !important;
    transform:translate(-50%,-50%) !important;
    object-fit: cover;
}
.overlay{
    mix-blend-mode:color-burn;
    background-color:#f5f5ff;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
}
.kv {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.kv-video {
    position: absolute;
    top: 0; left: 0;
    z-index: 1;
    filter: blur(0px); /* 初期状態ははっきり */
    transition: filter 0.3s ease;
}
.spacer{
    height:140vh;
}
.index-container{
    position: relative;
}
.lead-wrapper{
    padding:0 8.3% 180px;
}
.lead-wrapper img{
    width:16px;
    display: inline-block;
    filter: var(--white);
}
.lead-title h1 img{
    min-width:450px;
    width:28vw;
    filter: var(--white);
}
.lead-wrapper p{
    color:#fff;
    width:890px;
}
.lead-title p{
    color:#fff;
    font-family: var(--eng-font);
    font-size: 1.6vw;
    margin-bottom:3.5em;
}
.lead-wrapper a{
    color:#fff;
    text-decoration: underline;
    display: inline;
}
.lead-wrapper .text-box{
    text-align: right;
}
.lead-wrapper .text-box p{
    text-align: left;
    display: inline-block;
}
.index-member{
    background-color:#fff;
    padding-top:150px;
}
.index-member h2:first-of-type img{
    min-width:230px;
    width:16vw;
    display: inline-block
}
.index-member h2:first-of-type{
    text-align: right;
    padding-right:4.5%;
}
.index-member > ul:first-of-type{
    /*display: flex;
    justify-content: space-between;*/
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    padding:60px 7.5% 10.4vw;
    gap:6.2%;
}
.index-member > ul:last-of-type{
    /*display: flex;
    justify-content: space-between;*/
    display: grid;
    grid-template-columns: 1fr 2fr;
    padding:60px 7.5% 10.4vw;
    gap:6.2%;
}
.index-member > ul:last-of-type{
    padding-bottom: 250px;
    gap:13.25%;
}
.index-member > ul:first-of-type > li,
.index-member > ul:last-of-type > li:first-of-type{
    min-width:350px;
}
.index-member ul li figure img{
    aspect-ratio: 35/51;
    min-width:350px;
    width:100%;
    filter: grayscale(1);
    transition: all 0.3s ease-in-out;
}
.index-member ul li a:hover figure img {
    filter: grayscale(0);
}
.index-member ul li a{
    color:var(--base-color);
    /*width:100%;
    display: block;*/
}
.index-member ul li a:hover{
    text-decoration: none;
}
.index-member ul li h3{
    font-size:1.65em;
    margin-right:0.5em;
}
.index-member ul li .en{
    font-family: var(--eng-font);
    font-size:1.3em;
}
.index-member ul li .flex{
    align-items: baseline;
    position: relative;
    line-height: 1;
    margin-top: 1em;
}
.index-member ul li .flex::before {
    content: "";
    position: absolute;
    right:0; bottom:2px;
    display: inline-block;
    width: 24px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
}
.index-member ul li .flex::after{
    content: "";
    position: absolute;
    bottom:2px;
    right: 0;
    width: 16px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
.index-member > h2:nth-of-type(2) img{
    min-width:540px;
    width:37.5vw;
}
.index-member > h2:nth-of-type(2){
    text-align: left;
    padding-left:4.5%;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2){
    border-top:1px solid #ccc;
    /*padding-top:11.8vw;
    width:62%;*/
    padding-top:clamp(11.8vw, 16vw, 19vw);
    min-width:710px;

}
.index-member ul:nth-of-type(2) li:nth-of-type(2) >  a{
    display: flex;
    gap:2em;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) h2{
    text-align: left;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) h2 img{
    min-width:150px;
    width:10.4vw;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) figure img{
    aspect-ratio: 4/5;
    width:100%;
    min-width:320px;
    margin-top:30px;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) h3{
    font-size:1.4em;
    display: inline-block;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) .en{
    font-size:1.2em;
    display: inline-block;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) .button-list{
    display: flex;
    justify-content: flex-end;
    position: relative;
    margin-top:35px;
    padding-right:1.8em;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) .button-list::before{
    content: "";
    position: absolute;
    right:0; bottom:2px;
    display: inline-block;
    width: 18px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
}
.index-member ul:nth-of-type(2) li:nth-of-type(2) .button-list::after{
    content: "";
    position: absolute;
    bottom:2.5px;
    right: 0;
    width: 10px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
.index-member ul:nth-of-type(2) li:first-of-type .flex::before{
    right:0; bottom:1.5px;
}
.advisor-text figure img .button-list a:hover {
    filter: grayscale(0);
}
.button-list{
    position: relative;
    line-height: 1;
}
.button-list a{
    position: relative;
    padding-right:1.8em;
}
.button-list a::before{
    content: "";
    position: absolute;
    right:0; bottom:3px;
    display: inline-block;
    width: 18px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
}
.button-list a::after{
    content: "";
    position: absolute;
    bottom:4px;
    right: 0;
    width: 10px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}
.index-column .button-list a::before{
    bottom:3px;
}
.index-column .button-list a::after{
    bottom:4px;
}
.index-news .button-list a::before{
    bottom:1px;
}
.index-news .button-list a::after{
    bottom:2px;
}
.index-report{
    margin-top: 720px;
    padding:195px 7% 160px;
    background-color: #fff;
}
.index-report h2 img{
    min-width:215px;
    width:15vw;
}
.index-report .flex{
    align-items: center;
    margin-bottom:20px;
}
.index-report  > .flex{
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 30px;
    margin-bottom:35px;
    border-bottom:1px dashed #ccc; 
}
.button-list a{
    color:var(--base-color);
    font-size:1em;
    transition: all 0.2s ease-in-out;
}
.button-list a:hover{
    text-decoration: none;
    color:#007e66;
}
.button-list a:hover::before{
    background-color: #007e66;
}
.button-list a:hover::after{
    background-color: #007e66;
}
.index-report > ul > li{
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom:1px dashed #ccc;
}
.index-report > ul > li a{
    display: flex;
    align-items: flex-start;
    justify-content:space-between ;
}
.index-report ul li figure{
    aspect-ratio: 3/2;
    width:21vw;
    max-width:450px;
    min-width: 300px;
    height: auto;
    background-color: #CCC;
    margin-right: 2.2%;
    overflow: hidden;
}
.index-report ul li figure img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.date{
    color:#999;
    font-weight: var(--bold);  
}
.index-report .date{
    margin-right:2.5%;
    margin-top:1.2em;
}
.index-report a{
    color:var(--base-color);
}
.index-report .flex figure{
    aspect-ratio: 1/1;
    width:100%;
    max-width:60px;
    min-width:55px;
    height: auto;
    border-radius: 999px;
    overflow: hidden;
    margin-right:1.5%;
}
.index-report .flex img{
    object-fit: cover;
    object-position: bottom;
}
.index-report .flex p{
    font-family: var(--eng-font);
    color:#999;
    font-weight: var(--bold);
    font-size:1.35em;
    letter-spacing: 0.025em;
}
.index-report h3{
    font-weight: var(--bold);
    font-size: 1.5em;
    margin-bottom: 0.5em;
}
.index-report .text-box{
    width:50vw;
}
.index-report .text-box p{
    width: 100%;
    -webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.index-report > ul > li > a{
    position: relative;
    padding-right:9%;
}
.index-report > ul > li > a:hover h3{
    text-decoration: underline;
}
.index-report > ul > li > a::before{
    content: "";
    position: absolute;
    right:0; top:50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 24px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transition: all 0.2s ease-in-out ;
}
.index-report > ul > li > a::after{
    content: "";
    position: absolute;
    top:49.5%;
    right: 0;
    transform: translateY(-50%);
    width: 10px;
    height: 1px;
    border-radius: 9999px;
    background-color: #222222;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
    transition: all 0.2s ease-in-out ;
}
/*.index-report > ul > li > a:hover::before{
    background-color: #007e66;
}
.index-report > ul > li > a:hover::after{
   background-color: #007e66;
}*/
.article-block{
    display: flex;
    justify-content: space-between;
    gap:6em;
    background-color: #fff;
    padding:0 7% 160px;
}
.article-block > li {
    width: 46%;
}
.index-column h2 img{
    aspect-ratio: 277/106;
    min-height:80px;
    height:5.6vw;
}
.index-news h2 img{
    aspect-ratio: 186/120;
    min-height:80px;
    height:5.6vw;
}
.article-block .flex{
    justify-content: space-between;
    align-items: baseline;
    padding-bottom:2em;
    margin-bottom:2em;
    border-bottom:1px dashed #ccc;
}

.index-column .text-box{
    width:375px;
}
.article-block .text-box p{
   -webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden; 
}
.index-column figure{
    aspect-ratio: 3 / 2;
    width: 180px;
    height: auto;
    background-color: #ccc;
    margin-right: 24px;
    overflow: hidden;
}
.index-column figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.article-block >li > ul a{
    display: flex;
    align-items: flex-start;
}
.article-block h3{
    line-height: 1.6;
}
.article-block a{
    color:var(--base-color);
}
.index-column h3{
    margin-bottom: 0.4em;
}
.index-column .text-box{
    flex:1;
}
.index-column > ul > li > a:hover h3,
.index-news > ul > li > a:hover h3{
    text-decoration: underline;
}
.index-column > ul > li{
    padding-bottom: 2em;
    margin-bottom:2em;
    border-bottom:1px dashed #ccc;
}
.index-news > ul > li{
    gap:35px;
    padding-bottom:25px;
    margin-bottom:25px;
    border-bottom: 1px dashed #ccc;
}
.index-news ul li a{
    display: flex;
    gap:2em;
}
.index-gallery{
    background-color: var(--base-color);
    padding:120px 0 240px;
    position: relative;
}
.index-gallery > figure{
    width:90vw;
    margin:0 auto;
}
.index-gallery > figure img{
    filter: var(--white);
    opacity: 0.05;
}
.index-gallery div.person01 img{
    aspect-ratio: 280/370;
    width:18.5vw;
    min-width: 280px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person01{
    top:340px;
    left:23.6%;
}
.index-gallery div.person02 img{
    aspect-ratio: 260/230;
    width:17vw;
    min-width: 260px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person02{
    bottom:60px;
    left:0px;
}
.index-gallery div.person03 img{
    aspect-ratio: 280/370;
    width:18.5vw;
    min-width: 280px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person03{
    top:475px;
    right:15.8%;
}
.index-gallery div.person04 img{
    aspect-ratio: 280/260;
    width:18.5vw;
    min-width: 280px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person04{
    top:90px;
    left:9%;
}
.index-gallery div.person05 img{
    aspect-ratio: 260/230;
    width:17.5vw;
    min-width: 260px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person05{
    top:380px;
    right:0;
}
.index-gallery div.person06 img{
    aspect-ratio: 320/210;
    width:21vw;
    min-width: 320px;
    height: auto;
    object-fit:cover;
}
.index-gallery div.person06{
    top:177px;
    right:33%;
}
.person{
    overflow: hidden;
    position: absolute;
}
.person img {
    display: block;
}
footer{
    background-color: #fff;
    z-index: 100;
    position: relative;
    padding:40px 3.5% 45px;
    font-size:0.9em;
}
footer::after{
    content: '';
    background-image: url('../../img/common/footer_bg.png');
    position: absolute;
    top:0;
    right: 0;
    aspect-ratio: 490/330;
    width:auto;
    height: 100%;
}
footer h2{
    width:90px;
    margin-bottom: 1.1em;
}
footer ul li:not(:last-of-type){
    margin-bottom:0.3em;
}
footer ul li:nth-of-type(3) img{
    width:130px;
    margin-left:0.5em;
}
footer ul li:nth-of-type(3){
    display: flex;
    margin-top:0.7em;
    margin-bottom:0.7em;
}
footer ul li:nth-of-type(4){
    display: flex;
    margin-bottom:0.7em;
}
footer ul li:nth-of-type(4) img{
    width:50px;
    margin-left:0.3em;
    margin-right:0.8em;
}
footer > p{
    text-align: right;
    font-size:0.85em;
    z-index: 10;
    position: relative;
    margin-top:1em;
}
.footer-container{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: relative;
    z-index:100;
}

header a {
    transition: color 0.3s ease; /* スムーズな色変化のため */
    position: relative;
    z-index: 1000;
}
footer a:hover{
    text-decoration: underline;
}
main{
    padding:10vw 0;
    border-bottom:1px dashed #ccc;
}
.sub-title{
    margin-bottom:0.4em;
    margin-left: 36%;
}
section .sub-title{
    margin-bottom:0.7em;
    margin-left:0;
}
.about h2 img{
    aspect-ratio: 626/286;
    width: 320px;
    height: auto;
}
.crumb{
    display: flex;
    justify-content: flex-end;
    gap:2.3em;
    padding-bottom: 140px;
    margin-left:36%;
    margin-right: 7%;
}
main > .flex{
    margin:0 36% 0 3.5%;
    align-items: baseline;
    justify-content: space-between;
}
ul.crumb a{
    color: var(--base-color);
    font-family: var(--eng-font);
    font-size:0.85em;
    position: relative;
    letter-spacing: 0.06em;
}
ul.crumb li:not(:last-of-type) a{
    color:#999;
}
.crumb li:not(:last-of-type) a::before{
    content:'';
    height:1px;
    width:12px;
    background-color:#222;
    position: absolute;
    top:50%; right:-22px;
    transform: translateY(-50%);
}
.about > section{
    z-index:1;
    position: relative;
    margin-left:36%;
    margin-right:7%;
}
.about h3{
    font-size:1.9em;
    font-weight: var(--bold);
    letter-spacing: 0.12em;
    line-height: 2;
    margin-bottom: 0.8em;
}
.about .text-box p{
    /*margin-left:100px;
    width:500px;*/
    line-height:2.4;
    letter-spacing: 0.12em;
}
.about .text-box{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    margin-bottom:140px;
    margin-right:7%;
    margin-left:36%;
}
.about section .flex{
    justify-content: space-between;
}
.about section .advisor-figure{
    padding-bottom:2em;
    padding-left:2.5em;
    float:right;
}
.about section figure img{
    aspect-ratio: 3/4;
    width:250px;
    height:auto;
    object-fit: cover;
    object-position:10% 20%;
    filter: grayscale(1);
    float: right;
    margin-left:2em;
    margin-bottom:1.5em;
}
.about section span.en{
    font-family: var(--eng-font);
}
.about section .advisor-box > p{
    line-height: 2.4;
    margin-bottom:4.5em;
}
.advisor-box h2{
    margin-bottom:1.2em;
    font-size:1.8em;
    letter-spacing: 0.15em;
    line-height: 1.7;
}
.about .name-box{
    margin-bottom:2em;
    font-weight: var(--normal);
    /*width:460px;*/
}
.about .name-box p{
    line-height: 2.4;
    font-size:0.95em;
}
.about .name-box h3{
    text-align: left;
    display: inline-block;
    line-height: 1.6;
    letter-spacing: 0.08em;
    font-size:1.4em;
}
.about .advisor-figure figcaption{
    text-align: center;
}
.about .advisor-figure figcaption .size80{
    line-height: 1.6;
    display: block;
    margin-bottom:1em;
}
.profile-box{
    /*border:1px solid #ccc;*/
    background-color:#f8f8f8;
    padding:1.8em 2.5em 2.3em;
}
#advisor-profile{
    scroll-margin-top: 100px;
}
.profile-box h2{
    margin-bottom:0.8em;
    font-size:1.2em;
    font-weight: var(--bold);
    letter-spacing: 0.08em;
}
.profile-box p.en{
    font-size:0.9em;
}
.profile-box > p{
    margin-bottom:0;
    font-size:0.95em;
}
.profile-box h3{
    font-size:1.1em;
    line-height:1.2;
}
/* Member */
.member h2 img{
    aspect-ratio: 626/286;
    width:310px;
    height: auto;
}
.member ul.member-list{
    margin-right:7%;
    margin-left:36%;
}
.member-list > li:not(:last-of-type){
    margin-bottom:190px;
}
.member ul li .member-name{
    padding-bottom:1.6em;
    margin-bottom:1.6em;
    position: relative;
}
.member ul li .member-name::after{
    content:'';
    border-bottom:1px dashed #999;
    height:1px;
    width:57%;
    position: absolute;
    left:0;
    bottom:0;
}
.member > ul > li > figure{
    float: right;
    padding-left: 5%;
    padding-bottom:5%;
}
.member> ul > li > figure img{
    aspect-ratio: 32/43;
    width:16vw;
    min-width:300px;
    height: auto;
    object-fit: cover;
    filter: grayscale(1);
}
.member ul li p.en{
    font-size:0.95em;
    font-family: var(--eng-font);
    margin-top:2em;
    margin-bottom:3.5vw;
}
.member .member-name > h2{
    font-size:1.5em;
    font-family: var(--eng-font);
    font-weight: var(--normal);
    margin-bottom:0.5em;
}
.member .member-name .flex{
    align-items: baseline;
    gap:1em;
}
.member ul li p{
    line-height: 2.2;
}
.member .member-name h3{
    font-size:1.7em;
    font-weight: var(--bold);
    line-height: 1.6;
}
.member h4.en{
    font-size: 1em;
    font-family: var(--eng-font);
    font-weight: var(--normal);
    font-style: italic;
}
ul.member-list li{
    scroll-margin-top: 100px;
}
.member-list .button-list li a{
    font-size:0.95em;
    font-family: var(--eng-font);
}
.member-list .button-list a::after {
    bottom:3.5px;
}
.report-box{
    padding:0 0 0 4.2em;
    position: relative;
}
.report-box::before{
    content: '';
    position: absolute;
    top:0; left:0;
    width:1px; height:100%;
    background-color: #222;
}
.report-box .flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom:1.2em;
}
.report-box h4{
    font-size:1.2em;
}
.report-box ul{
    display: flex;
    gap:3em;
}
main.member .report-box ul:not(.button-list) li{
    width:calc((100% - 6em) / 3);
}
.report-box ul li a{
    color:var(--base-color);
}
.report-box ul.button-list{
    justify-content: flex-end;
}
.report-box ul li p:nth-of-type(2){
    line-height: 1.6;
    -webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden; 
} 
.report-box ul li a:hover p:nth-of-type(2){
    text-decoration: underline;
} 
.report-box ul li a figure{
    aspect-ratio: 16/9;
    background-color: #ccc;
    overflow: hidden;
}
.report-box ul li a figure > img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.report-box ul li .date{
    margin-top:0.4em;
    font-size:0.9em;
}
/*ニュース記事*/
.news-article h2 img{
    aspect-ratio: 584/362;
    width: 240px;
    height: auto;
}
.news{
    z-index:1;
    position: relative;
    margin-left:26%;
    margin-right:7%;
    font-size: 1em;
    font-weight: 400;
    height: auto;
    line-height: 1.8;
    text-align: left;
}
.news .date{
    font-family: var(--eng-font);
    font-size: 0.95em;
    font-weight: var(--bold);
    height: auto;
    line-height: 1.4;
    text-align: left;
    width: auto;
    max-width: 100%;
}
.news h1{
    font-size: 2em;
    font-weight: var(--bold);
    height: auto;
    line-height: 1.4;
    letter-spacing: 0.08em;
    margin-bottom:2em;
    text-align: left;
    width: auto;
    max-width: 100%;
}
.news .article-content{
    padding-bottom:5em;
    margin-bottom:2.5em;
    border-bottom:1px solid #999;
}
.news .article-content p{
    line-height: 2.2;
    letter-spacing:0.08em;
    margin-bottom:2.6rem;
}
.article-content img{
    width:100%;
    height: auto;
    margin:2.4em auto;
}
.entry-bottom{
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: relative;
}
.entry-bottom li{
    position: relative;
}
.entry-bottom li:not(:last-of-type)::after{
    content:'｜';
    margin: 0 1.6em;
    color:var(--base-color);
}
.entry-bottom a{
    color:var(--base-color);
    font-size:0.85em;
}
/*Report 記事*/
.report-article h2 img{
    aspect-ratio: 322/137;
    width: 300px;
    height: auto;
}
.report{
    z-index:1;
    position: relative;
    margin-left:26%;
    margin-right:7%;
    font-size: 1em;
    font-weight: 400;
    height: auto;
    line-height: 1.8;
    text-align: left;
}
.report .date{
    font-family: var(--eng-font);
    font-size: 0.95em;
    font-weight: var(--bold);
    height: auto;
    line-height: 1.4;
    text-align: left;
    width: auto;
    max-width: 100%;
}
.report h1{
    font-size: 2em;
    font-weight: var(--bold);
    height: auto;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-align: left;
    width: auto;
    max-width: 100%;
    margin-bottom:0.6em;
}
.report .article-content{
    padding-bottom:5em;
    margin-bottom:2.5em;
    border-bottom:1px solid #999;
}
.report .article-content p{
    line-height: 2.2;
    letter-spacing:0.08em;
    margin-top:1.5em;
}
.thumbnail{
    margin-bottom:4em !important;
}
.thumbnail > img{
    aspect-ratio: 16/9;
    overflow: hidden;
    object-fit: cover;
}
.article-title .flex{
    align-items: center;
    margin-bottom:2.5em;
}
.article-title .flex figure {
    aspect-ratio: 1 / 1;
    width: 40px;
    height: auto;
    border-radius: 999px;
    overflow: hidden;
    margin-right: 1%;
}
.article-title .flex p{
    font-family: var(--eng-font);
    color: #999;
    font-weight: var(--bold);
    font-size: 1.25em;
    letter-spacing: 0.025em;
}
.report,.news{
    display: flex;
    justify-content: space-between;
}
.report-wrapper{
    width:73%;
}
aside{
    width: 100%;
    padding-left:10%;
    flex:1;
    /*padding-left:90px;*/
}
aside h2{
    font-weight: 600;
    font-size:0.85em;
    color:#222;
    border-bottom:1px solid #222;
    padding-bottom:0.3em;
    margin-bottom:0.5em;
}
aside > ul li{
    margin-bottom:0.5em;
    padding-left: 0.8em;
    position: relative;
}
.report aside > ul li::before{
    content:'';
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    aspect-ratio: 2/3;
    width:0.3em;
    height:auto;
    background-color: var(--base-color);
    position: absolute;
    left:0; top:54%;
    transform: translateY(-50%);
}
.report aside > ul:first-of-type li a{
    font-size:0.85em;
}
aside a{
    color:var(--base-color);
}
aside a:hover{
    color:#007e66;
}
.report .report-box{
//    margin-top:5em;
    padding:0;
}
.report .report-box h2{
    margin-bottom:1em;
}
.report .report-box p{
    font-size:0.85em;
}
.report .report-box p.date{
    font-size:0.8em;
}
.report .report-box::before{
    background-color:transparent;
}
.report .report-box ul:not(.button-list){
    display: block;
}
.report .report-box ul li{
    margin-bottom:1.5em;
}
aside .button-list a{
    font-size:0.85em;
}
aside .button-list a::before{
    bottom: 5px;
    width: 13px;
}
aside .button-list a::after{
    bottom: 6px;
    width: 6px;
}
aside .button-list a:hover::before,
aside .button-list a:hover::after{
    background-color:#007e66;
}
.news aside > ul:not(:last-of-type) li p{
    font-size:0.85em
}
.news aside > ul:not(:last-of-type) li p.date{
    position: relative;
    font-size:0.85em;
}
.news aside > ul:not(:last-of-type) li p.date::before{
    content:'';
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    aspect-ratio: 2/3;
    width:0.35em;
    height:auto;
    background-color: var(--base-color);
    position: absolute;
    left:-0.8em; top:48%;
    transform: translateY(-50%);
}
.news aside > ul li{
    margin-bottom:0.8em;
    padding-left: 0.8em;
}
.news aside > ul li:last-of-type{
    margin-bottom:1.2em;
}
.news aside .button-list{
    display: flex;
    justify-content: flex-end;
}
.report-list-wrapper .flex{
    margin-bottom:1.3em;
    align-items: center;
}
.report-list-wrapper > ul > li:first-of-type{
    padding-top:35px;
    border-top:1px dashed #ccc;
}
.report-list-wrapper > ul > li{
    padding-bottom: 35px;
    margin-bottom: 35px;
    border-bottom:1px dashed #ccc;
}
.report-list-wrapper > ul > li a{
    display: flex;
    align-items: flex-start;
    justify-content:space-between ;
}
.report-list-wrapper > ul > li > a > figure{
    margin-right: 4%;
    overflow: hidden;
}
.report-list-wrapper > ul > li > a > figure.thumbnail > img{
    aspect-ratio: 3/2;
    width:12vw;
    max-width:450px;
    min-width: 250px;
    height: auto;
}
.report-list-wrapper > ul > li > a > figure.thumbnail .no-image{
    background-color: #CCC;
    aspect-ratio: 3/2;
    width:12vw;
    max-width:450px;
    min-width: 250px;
    height: auto;
}
.report-list-wrapper > ul > li > a > figure.thumbnail .no-image > img{
    width: 50%;
    aspect-ratio: auto;
    margin: 0 auto;
}
.report-list-wrapper > ul > li > a > figure.thumbnail{
    margin-bottom:0 !important;
}
.report-list-wrapper ul li figure > img{
    aspect-ratio: 3/2;
    width:100%;
    height:100%;
    object-fit: cover;
}
.report-list-wrapper .date{
    letter-spacing: 0.025em;
}
.report-list-wrapper a{
    color:var(--base-color);
}
.report-list-wrapper .flex figure{
    aspect-ratio: 1/1;
    width:45px;
    height: auto;
    border-radius: 999px;
    overflow: hidden;
    margin-right:1.5%;
}
.report-list-wrapper .flex > figure > img{
    object-fit: cover;
    object-position: bottom;
}
.report-list-wrapper .flex p{
    font-family: var(--eng-font);
    color:#999;
    font-weight: var(--bold);
    font-size:1.3em;
    letter-spacing: 0.025em;
}
.report-list-wrapper  h3{
    font-weight: var(--bold);
    font-size: 1.6em;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-align: left;
    margin-bottom: 0.3em;
}
.report-list-wrapper  .entry-content{
    -webkit-line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
    line-height: 1.8;
    font-size: 1em;
}
.report-list-wrapper > ul > li > a{
    position: relative;
    /*padding-right:7%;*/
}
.report-list-wrapper  > ul > li > a:hover h3{
    text-decoration: underline;
}
.report-list-wrapper .date{
    font-size:1em;
}
.report-list-wrapper .text-box{
    flex:1;
}
.report-name{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex:1;
}
.report-nav-box{
    display: flex;
//    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    margin-left: 26%;
    margin-right:7%;
    margin-bottom:1.5em;
}
.report-nav h2{
    font-size:0.95em;
    padding-right:1.6em;
    position: relative;
}
.report-nav h2::after{
    content:'\e313';
    font-family: var(--google-icon);
    font-size:1.4em;
    position: absolute;
    right:0;
    top:50%;
    transform: translateY(-42%);
}
.report-name figure{
    aspect-ratio: 1/1;
    width:70px;
    height: auto;
    border-radius: 999px;
    overflow: hidden;
    margin-right:1.2em;
}
.report-name p{
    font-family: var(--eng-font);
    color:#999;
    font-weight: var(--bold);
    font-size:2em;
    letter-spacing: 0.04em;
}
.report-nav {
    position: relative;
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
}
.category-button {
    color: var(--base-color);
    cursor: pointer;
}
.category-dropdown-menu {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    top: 100%;
    right: 0;
    border-radius: 5px;
    z-index: 100;
}
.category-dropdown-menu a {
    display: block;
    padding: 0.8em 1.1em;
    text-decoration: none;
    color: var(--base-color);
    font-size:0.9em;
}
.category-dropdown-menu a:hover {
    background-color: #ddd;
}
.pagenavi-box > .wp-pagenavi{
    justify-content: flex-start;
    align-items: baseline;
}
.wp-pagenavi span.pages{
    display: none;
}
.pagenavi-box > .wp-pagenavi a, .pagenavi-box > .wp-pagenavi span.pages, .pagenavi-box > .wp-pagenavi span.extend, .pagenavi-box > .wp-pagenavi span.current{
    font-size: 0.9rem !important;
    font-weight: var(--bold);
}
.pagenavi-box > .wp-pagenavi a.nextpostslink{
    font-size:1.2rem !important;
    padding: 0px 9px 4px !important;
    line-height:1.4;
}
ul li a figure .no-image{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 16 / 9;
}
ul li a figure .no-image img{
    display: block;
    width: 50%; height: auto;
    margin: auto;
}
.index-report ul li a figure .no-image,
ul.article-block li.index-column a figure .no-image{
    aspect-ratio: 3 / 2;
}

/* translator */
.skiptranslate iframe{
    display: none;
}
ul.gnav-list li#lang-menu{
}
ul.gnav-list li img{
//  display:none;
  display:inline-block;
}
ul.gnav-list li .goog-te-gadget{
  font-family:var(--default-font);
  font-size:0.85em; line-height:1.8;
}
ul.gnav-list li .goog-te-gadget > .goog-te-gadget-simple{
  border:1px solid #ccc;
  border-radius:3px;
  font-size:0.9em; line-height:1.8;
  padding:2px 0 2px 4px;
  display:flex;
  align-items:center;
}
ul.gnav-list li .goog-te-gadget > .goog-te-gadget-simple a.goog-te-menu-value{
  margin:0 0.5em;
}
ul.gnav-list li .goog-te-gadget > .goog-te-gadget-simple a.goog-te-menu-value > span{
  margin:0 0.3em;
}