@charset "UTF-8";


/* -- font
-------------------------------------------------------------------------------- */
@font-face {
    font-family: 'Gilroy';
    src: url('./font/Gilroy-Medium.woff2') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('./font/Gilroy-Bold.woff2') format('woff');
    font-weight: bold;
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('./font/Gilroy-ExtraBold.woff2') format('woff');
    font-weight: 900;
    font-style: normal;
}


/* -- Base and Reset
-------------------------------------------------------------------------------- */
html {
    font-size: 62.5%;
	width: 100%;
}
body {
	font: 1rem 'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	text-align: left;
    font-feature-settings: 'palt';
    color: #1a1a1a;
	width: 100%;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
caption,th,td {
	font-weight: normal;
	text-align: left;
}
input,textarea,select {
	font-family: 'circular', 'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	vertical-align: middle;
}
textarea {
	resize: vertical;
}
h1,h2,h3,h4,h5,h6 { font-size: 100%; }
ul,ol { list-style: none; }
fieldset,img { border: 0; vertical-align: top; }
iframe {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
input{
    color:#333;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
label{
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a{
    text-decoration:none;
    color:inherit;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:focus{
    outline:none;
}
select::-ms-expand {
    display: none;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -webkit-touch-callout;
    min-width: 1024px;
}
.pc-hide{
    display: none!important;
}
@media (max-width: 1280px){
    html {
        font-size: 56.25%;
    }
}
@media (max-width: 767px){
    html {
        font-size: 50%;
    }
    body {
        min-width: auto;
    }
    .pc-hide{
        display: block!important;
    }
    .sp-hide{
        display: none!important;
    }
}
@media (max-width: 375px){
    html {
        font-size: 2.133334vw;
    }
}
.home .about.sample-content .section-inner{
    padding: 40rem 0;
}
.home .about.sample-content p{
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
}


/* -- scroll-fade
-------------------------------------------------------------------------------- */
.scroll-fade.img-fade{
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.scroll-fade.img-fade.show{
    transform: scale(1);
    opacity: 1;
}


/* -- intro
-------------------------------------------------------------------------------- */
.intro{
    width: 100%;
    min-width: 1024px;
    height: 100%;
    background: #fafafa;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}
.intro.hide{
    opacity: 0;
    transition: opacity 0.3s ease;
}
.intro .intro-inner{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: opacity 0.6s ease;
}
.intro .intro-inner.active{
    opacity: 1;
}
.intro .intro-inner.active.hide{
    opacity: 0;
}
.intro .intro-inner .intro-item{
    transition: transform 0.6s ease;
    transform: scale(1.05);
}
.intro .intro-inner.active .intro-item{
    transform: scale(1);
}
.intro .intro-inner.active.hide .intro-item{
    transform: scale(0.95);
}
.intro .logo{
    display: flex;
}
.intro .logo span{
    display: flex;
    align-items: center;
    height: 6rem;
}
.intro .logo span + span{
    margin-left: 4rem;
    padding-left: 4rem;
    border-left: solid 1px #e0e0e0;
}
.intro .logo span img{
    height: 6rem;
}
.intro .logo span.iir img{
    height: 5.6rem;
}
.intro .intro-item .center-name{
    display: flex;
    align-items: center;
}
.intro .intro-item .center-name .logo{
    font-size: 4.4rem!important;
    margin-bottom: 0;
}
.intro .intro-item .center-name .txt{
    margin-left: 0;
    padding-left: 0;
    border-left: none;
}
@media (max-width: 767px){
    .intro {
        min-width: auto;
    }
    .intro .logo span{
        height: 4.8rem;
    }
    .intro .logo span + span{
        margin-left: 2.4rem;
        padding-left: 2.4rem;
        border-left: solid 1px #e0e0e0;
    }
    .intro .logo span img{
        height: 4.8rem;
    }
    .intro .logo span.iir img{
        height: 3.2rem;
    }
    .intro .intro-item .center-name .logo {
        font-size: 4rem!important;
        margin-bottom: 0;
    }
}


/* -- header
-------------------------------------------------------------------------------- */
header{
    width: 100%;
    height: 9rem;
    padding: 0 0 0 3%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-width: 1024px;
    box-sizing: border-box;
    position: relative;
    z-index: 100;
}
header.fix{
    height: 7rem;
    background: #fff;
    padding: 0 3%;
    position: fixed;
    top: 0;
    left: 0;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}
body.barba header.fix{
    transition: none;
}
header.fix.active{
    transform: translateY(0);
}
header .logo-wrap{
    display: flex;
    align-items: center;
}
header .logo-wrap .st{
    margin-left: 4rem;
    padding-top: 0.2rem;
}
header .logo-wrap .st .ico{
    margin-right: 0;
    height: 1.25em;
}
header .logo,
.intro .intro-item .center-name .logo{
    font-size: 3.2rem;
    display: flex;
    align-items: center;
}
header .logo .ico,
.intro .intro-item .center-name .logo .ico{
    height: 1.5em;
    margin-right: 0.5em;
}
header .logo .ico img,
.intro .intro-item .center-name .logo .ico img{
    height: 100%;
}
header .logo .txt,
.intro .intro-item .center-name .txt{
    font-family: Gilroy;
    font-size: 1em;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
    text-indent: -0.05em;
}
header.fix .logo{
    font-size: 2.8rem;
}
header .header-inner{
    display: flex;
    align-items: center;
}
header nav > ul{
    display: flex;
    align-items: center;
}
header nav > ul > li{
    position: relative;
}
header nav > ul > li + li{
    margin-left: 3.2rem;
}
header nav > ul > li a{
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    transition: color 0.15s ease;
}
@media (min-width: 1025px){
    header nav > ul > li:hover > a{
        color: #b4a28e;
    }
}
header nav > ul > li > a.active{
    color: #b4a28e;
}
header nav .sub-nav{
    position: absolute;
    top: 2rem;
    left: 50%;
    padding-top: 1.6rem;
    transform: translateX(-50%);
    opacity: 0;
    visibility: hidden;
    transition: 0.2s ease;
}
@media (min-width: 1025px){
    body:not(.onmouse) header nav > ul > li:hover .sub-nav{
        opacity: 1;
        visibility: visible;
    }
}
header nav .sub-nav ul{
    background: #fff;
    overflow: hidden;
    border-radius: 0.4rem;
    box-shadow: 0 0.4rem 1.6rem rgba(0,0,0,0.2);
}
header nav .sub-nav li + li{
    border-top: solid 1px rgba(0,0,0,0.1);
}
header nav .sub-nav li a{
    display: block;
    font-size: 1.2rem;
    padding: 1.6rem 2rem;
    text-align: center;
    white-space: nowrap;
    transition: 0.15s ease;
}
@media (min-width: 1025px){
    header nav .sub-nav li a:hover{
        background: #0c323b;
        color: #fff;
    }
}
header nav .sub-nav li a.active{
    background: #f5f5f5;
    color: #b4a28e;
}
header .consortium{
    border-left: solid 1px #e0e0e0;
    padding: 0.8rem 3.2rem;
    margin-left: 3.2rem;
}
header .consortium a{
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}
header .consortium a .ico{
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0.8rem;
}
header .consortium a .ico svg{
    display: block;
    width: 100%;
    height: 100%;
    fill: #0c323b;
    transition: 0.15s ease;
}
header .consortium a .txt{
    color: #0c323b;
    transition: color 0.15s ease;
}
header .consortium a.active .txt{
    color: #b4a28e;
}
header .consortium a.active .ico svg{
    fill: #b4a28e;
}
@media (min-width: 1025px){
    header .consortium a:hover .txt{
        color: #b4a28e;
    }
    header .consortium a:hover .ico svg{
        fill: #b4a28e;
    }
}
header .lang{
    display: flex;
    align-items: center;
    height: 9rem;
    background: #0c323b;
    color: #fff;
    padding: 0 3.2rem;
}
header .lang ul{
    display: flex;
    align-items: center;
    margin-left: 2.4rem;
}
header .lang li + li{
    position: relative;
    margin-left: 2rem;
}
header .lang li + li::before{
    content: "";
    display: block;
    height: 100%;
    border-left: solid 1px;
    transform: rotate(20deg);
    position: absolute;
    top: 0;
    left: -1.1rem;
}
header .lang a,
header .lang p{
    display: block;
    font-family: Gilroy;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    text-transform: uppercase;
}
header .lang .ttl{
    font-size: 1.2rem;
}
header .lang a{
    opacity: 0.3;
    transition: opacity 0.15s ease;
}
header .nav-btn{
    display: none;
}
header.fix .lang{
    display: none;
}
header.fix nav{
    display: flex;
}
header.fix nav .consortium{
    height: 7rem;
    display: none;
}
@media (min-width: 1025px){
    header .lang a:hover{
        opacity: 1;
    }
}
header .logo .min{
    display: none;
}
@media (max-width: 1100px) and (min-width: 768px){
    header .logo .wide{
        display: none;
    }
    header .logo .min{
        display: block;
    }
}
@media (max-width: 767px){
    body{
        padding-top: 7rem;
    }
    header{
        display: none;
        min-width: auto;
        height: 7rem;
        padding-left: 5%;
    }
    header.fix{
        display: flex;
        padding: 0 0 0 5%;
        transform: translateY(0);
    }
    header .logo-wrap {
        flex: 1;
        justify-content: space-between;
        padding-right: 2.4rem;
    }
    header .logo {
        font-size: 3.2rem;
    }
    header .nav-btn{
        width: 7rem;
        height: 7rem;
        background: #0c323b;
        position: relative;
        display: block;
    }
    header .nav-btn span{
        width: 2.4rem;
        border-top: solid 2px #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        transition: 0.3s ease;
    }
    header .nav-btn span.bar-1{
        margin-top: -0.7rem;
    }
    header .nav-btn span.bar-3{
        margin-top: 0.7rem;
    }
    .nav-open header .nav-btn span.bar-1{
        margin-top: 0;
        transform: translate(-50%,-50%) rotate(-45deg);
    }
    .nav-open header .nav-btn span.bar-2{
        opacity: 0;
    }
    .nav-open header .nav-btn span.bar-3{
        margin-top: 0;
        transform: translate(-50%,-50%) rotate(45deg);
    }
    header nav{
        display: none;
    }
    header.fix nav{
        display: block;
        padding: 12rem 6rem;
        box-sizing: border-box;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background: #f2f1f0;
        overflow: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
    .nav-open header.fix nav{
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    header nav > ul{
        display: block;
    }
    header nav > ul li{
    }
    header nav > ul li{
    }
    header nav > ul > li + li{
        margin-left: 0;
        margin-top: 1.2rem;
    }
    header nav > ul > li a{
        display: block;
        font-size: 2.8rem;
        opacity: 0;
        transform: translateX(3.2rem);
    }
    header nav > ul > li a.show{
        opacity: 1;
        transform: translateX(0);
        transition: opacity 0.3s ease, transform 0.3s ease;
    }
    header nav .sub-nav{
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        padding: 1.2rem 0;
    }
    header nav .sub-nav ul {
        background: transparent;
        overflow: visible;
        border-radius: 0;
        box-shadow: none;
    }
    header nav .sub-nav li + li{
        border-top: none;
    }
    header nav .sub-nav li a {
        font-size: 1.6rem;
        text-align: left;
        padding: 0.4rem 0;
    }
    header nav .sub-nav li a.active {
        background: transparent;
    }
    header nav .consortium,
    header.fix nav .consortium{
        background: none;
        margin-top: 4.8rem;
        display: flex;
        height: auto;
        margin-left: 0;
        padding: 0;
        border-left: none;
    }
    header nav .consortium a{
        font-size: 1.6rem;
        background: transparent;
    }
    header nav .consortium a .ico {
        width: 2rem;
        height: 2rem;
    }
    header .lang {
        margin-left: 0;
        height: auto;
        padding: 0;
        background: transparent;
        color: #0c323b;
    }
    header .lang{
        position: absolute;
        top: 0;
        right: 7rem;
        margin-left: 0;
        height: 7rem;
        padding-left: 0;
        padding-right: 3.2rem;
    }
    header.fix .lang {
        display: flex;
        display: none;
    }
    header .lang ul {
        margin-left: 2rem;
    }
    header .lang a,
    header .lang p{
        font-size: 1.8rem;
    }
}


/* -- main
-------------------------------------------------------------------------------- */
main{
    display: block;
}


/* -- breadcrumb
-------------------------------------------------------------------------------- */
.breadcrumb {
    padding: 0 3%;
}
.breadcrumb ul{
    display: flex;
}
.breadcrumb li{
    display: block;
    font-family: Gilroy,'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1.4375;
    text-transform: uppercase;
    color: #a7a8ab;
    position: relative;
}
.breadcrumb li span{
    display: block;
    max-width: 24em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.breadcrumb li + li{
    margin-left: 3.2rem;
}
.breadcrumb li + li::before{
    content: "";
    display: block;
    height: 100%;
    border-left: solid 1px #0c323b;
    transform: rotate(20deg);
    position: absolute;
    top: 0;
    left: -1.7rem;
}
.breadcrumb li a{
    display: block;
    color: #0c323b;
    transition: color 0.15s ease;
    text-decoration: underline;
}
@media (min-width: 1025px){
    .breadcrumb li a:hover{
        color: #b4a28e!important;
    }
}
@media (max-width: 767px){
    .breadcrumb{
        display: none;
    }
}


/* -- section
-------------------------------------------------------------------------------- */
.section-ttl .jp{
    display: block;
    font-size: 3.2rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
    display: flex;
}
.section-ttl .jp.center{
    justify-content: center;
}
.section-ttl .jp span{
    transform: rotate3d(1, 0, 0, 90deg);
    transition: transform 0.5s ease;
}
.section-ttl .jp span:nth-child(1){
    transition-delay: 0.0175s;
}
.section-ttl .jp span:nth-child(2){
    transition-delay: 0.2625s;
}
.section-ttl .jp span:nth-child(3){
    transition-delay: 0.175s;
}
.section-ttl .jp span:nth-child(4){
    transition-delay: 0.2275s;
}
.section-ttl .jp span:nth-child(5){
    transition-delay: 0.2975s;
}
.section-ttl .jp span:nth-child(6){
    transition-delay: 0.07s;
}
.section-ttl .jp span:nth-child(7){
    transition-delay: 0.1925s;
}
.section-ttl .jp span:nth-child(8){
    transition-delay: 0.315s;
}
.section-ttl .jp span:nth-child(9){
    transition-delay: 0.035s;
}
.section-ttl .jp span:nth-child(10){
    transition-delay: 0.1225s;
}
.section-ttl.show .jp span{
    transform: rotate3d(1, 1, 1, 0);
}
.section-ttl .en{
    display: block;
    font-family: Gilroy;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    margin-top: 1.6rem;
    color: #0c323b;
    text-transform: uppercase;
    transform: rotate3d(1, 0, 0, 90deg);
    transition: transform 0.5s ease 0.315s;
}
.section-ttl.show .en{
    transform: rotate3d(1, 1, 1, 0);
}
.no-transition .section-ttl .jp span,
.no-transition .section-ttl .en{
    transition: none;
}
.section-sub-ttl{
    font-size: 2.8rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.section-lead {
    font-size: 1.6rem;
    line-height: 2;
    text-align: justify;
    letter-spacing: 0.12em;
    margin-top: 6rem;
}
.box-link-btn{
    display: flex;
    justify-content: flex-start;
}
.box-link-btn a{
    color: #0c323b;
    border: solid 1px #0c323b;
    padding: 0 4rem;
    padding-right: calc(4rem + 2.2rem - 0.8rem);
    line-height: 5.4rem;
    border-radius: 2.8rem;
    font-family: Gilroy;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: 0.3s ease;
}
.box-link-btn a + a{
    margin-left: 0.8rem;
}
.box-link-btn a::before{
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    width: 200%;
    height: 110%;
    background: linear-gradient(90deg, #0c323b, #0c323b, transparent);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}
.box-link-btn.wh a{
    color: #fff;
    border-color: #fff;
}
.box-link-btn.wh a::before{
    background: linear-gradient(90deg, #fff, #fff, transparent);
}
.box-link-btn a span{
    position: relative;
}
.box-link-btn a span::after{
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 100%;
    background: #b4a28e;
    position: absolute;
    top: 50%;
    right: calc(-0.6rem - 1.6rem);
    transform: translateY(-50%);
    transition: 0.15s ease;
}
.box-link-btn.wh a span::after{
    background: #fff;
    transition: 0.15s ease;
}
.box-link-btn a[target="_blank"] {
    padding-right: calc(4rem + 3.2rem - 0.8rem);
}
.box-link-btn a[target="_blank"] span::after{
    background: url(../img/ico_ex_link_hover.svg) no-repeat center;
    background-size: contain;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 0;
    right: calc(-1.6rem - 1.6rem);
}
@media (min-width: 1025px){
    .box-link-btn a:hover{
        color: #fff;
    }
    .box-link-btn a:hover::before{
        transform: translateX(0%);
    }
    .box-link-btn.wh a:hover{
        color: #0c323b;
    }
    .box-link-btn.wh a:hover span::after{
        background: #b4a28e;
    }
}
@media (max-width: 767px){
    .section-ttl .jp {
        font-size: 2.8rem;
    }
    .section-ttl .en {
        margin-top: 1.2rem;
    }
    .section-lead {
        margin-top: 4rem;
    }
}


/* -- main-visual
-------------------------------------------------------------------------------- */
.main-visual{
    background: #505256;
    position: relative;
}
.main-visual .section-inner{
    position: relative;
    padding: 0 0 0 3%;
}
.main-visual .main-visual-inner{
    position: relative;
}
.main-visual .main-visual-inner::before{
    content: "";
    display: block;
    width: 103.0927835%;
    height: 50%;
    position: absolute;
    top: 0;
    right: 0;
    background: #fff;
}
.main-visual .main-visual-block{
    position: relative;
    overflow: hidden;
}
.main-visual .main-visual-bg{
    width: 100%;
    height: 60vh;
    max-height: 60rem;
    background: #fff;
    position: relative;
    transform: scale(1.08);
    transition: transform 1.5s ease;
}
.main-visual.active .main-visual-bg{
    transform: scale(1);
}
.main-visual .main-visual-bg span{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -5%;
    left: 0;
    opacity: 0;
}
.main-visual.active .main-visual-bg span.active{
    opacity: 1;
    transition: opacity 1.5s ease;
    animation: mv-move 7s linear infinite;
}
@keyframes mv-move{
    0% { transform: translateX(0)}
    100% { transform: translateX(-3%)}
}
.main-visual .main-visual-bg span img{
    width: 106%;
    height: 106%;
    object-fit: cover;
}
.main-visual .logo{
    font-family: Gilroy;
    font-size: 12rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #fff;
    position: absolute;
    left: 4rem;
    bottom: 2.4rem;
    display: flex;
    overflow: hidden;
    margin-left: -0.05em;
}
.main-visual .logo span{
    transform: rotate3d(1, 0, 0, 90deg);
    transition: transform 0.5s ease;
}
.main-visual .logo span:nth-child(1){
    transition-delay: calc(0.8075s + 0.0175s);
}
.main-visual .logo span:nth-child(2){
    transition-delay: calc(0.8075s + 0.0875s);
}
.main-visual .logo span:nth-child(3){
    transition-delay: calc(0.8075s + 0.0525s);
}
.main-visual .logo span:nth-child(4){
    transition-delay: calc(0.8075s + 0.1925s);
}
.main-visual.active .logo span{
    transform: rotate3d(1, 1, 1, 0);
}
.main-visual .main-visual-foot{
    padding: 0 0 0 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.main-visual .center-name{
    color: #fff;
    font-size: 1.6rem;
    padding-bottom: 0.8rem;
}
.main-visual .center-name span{
    display: block;
    font-weight: bold;
}
.main-visual .center-name .jp {
    font-size: 1.3125em;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.main-visual .center-name .en{
    font-family: Gilroy;
    letter-spacing: 0.05em;
    margin-top: 1.2rem;
}
.main-visual .bg-nav {
    display: flex;
    padding: 2.8rem 2rem 2.8rem 1.2rem;
    background: #fff;
}
.main-visual .bg-nav li {
    width: 14rem;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}
.main-visual .bg-nav li .img,
.main-visual .bg-nav li .txt {
    opacity: 0.2;
    transition: opacity 1.5s ease, filter 1.5s ease;
}
.main-visual .bg-nav li .img {
    filter: grayscale(1);
}
.main-visual .bg-nav li.active .img,
.main-visual .bg-nav li.active .txt {
    opacity: 1;
    filter: grayscale(0);
}
.main-visual .bg-nav li + li::before {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_cross_min.svg) no-repeat center;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1rem;
    margin-left: -1rem;
}
.main-visual .bg-nav li .img {
    width: 4rem;
    margin: 0 auto 1.2rem;
}
.main-visual .bg-nav li .img img {
    width: 100%;
}
.main-visual .bg-nav li .txt {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: center;
}
@media (max-width: 767px){
    .main-visual .bg-nav {
        display: block;
        width: auto;
        padding: 2rem 1.6rem 1.6rem;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .main-visual .section-inner {
        padding-left: 5%;
    }
    .main-visual .main-visual-inner::before {
        width: 100vw;
    }
    .main-visual .center-name {
        font-size: 1.4rem;
        padding-bottom: 0;
    }
    .main-visual .logo {
        font-size: 8rem;
        left: 2.4rem;
        bottom: 1.2rem;
    }
    .main-visual .main-visual-foot{
        padding: 2.4rem 0 3.2rem 2.4rem;
    }
    .main-visual .bg-nav li{
        width: auto;
    }
    .main-visual .bg-nav li + li{
        margin-top: 3.2rem;
    }
    .main-visual .bg-nav li + li::before {
        position: absolute;
        top: -1.6rem;
        left: 50%;
        width: 1.2rem;
        height: 1.2rem;
        margin-top: -0.6rem;
        margin-left: -0.6rem;
    }
    .main-visual .bg-nav li .txt {
        font-size: 0.9rem;
    }
    .main-visual .bg-nav li .img {
        width: 3.2rem;
        margin: 0 auto 0.8rem;
    }
}
.main-visual .center-name .jp .sp-min-show {
    display: none;
}
@media (max-width: 480px){
    .main-visual .center-name .jp .sp-min-show {
        display: block;
    }
}
@media (max-width: 375px){
    .main-visual .center-name {
        font-size: 1.2rem;
    }
}


/* -- about
-------------------------------------------------------------------------------- */
.home .about{
    padding: 2rem 2rem;
    position: relative;
    z-index: 1;
}
.home .about .section-inner{
    background: #f2f1f0;
    padding: 12rem 0 16rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.home .about .section-ttl{
    margin-bottom: 6rem;
}
.home .about .about-dept{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 65%;
    padding: 0 5%;
    box-sizing: border-box;
    position: relative;
    margin: -4.8rem 0;
}
.home .about .about-dept.sp{
    display: none;
}
.home .about .about-dept::before{
    content: "";
    display: block;
    width: 4rem;
    height: 4rem;
    background: url(../img/ico_cross.svg) no-repeat center;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -2rem;
    margin-left: -2rem;
}
.home .about .about-dept-box{
    width: 50%;
    padding: 4.8rem 0;
}
.home .about .about-dept-img{
    width: 12rem;
    margin: 0 auto 3.2rem;
}
.home .about .about-dept-img img{
    width: 100%;
    opacity: 0;
    transform: scale(1.2);
    transition: 1s ease;
}
.home .about .about-dept-img.show img{
    opacity: 1;
    transform: scale(1);
}
.home .about .about-dept-ttl{
}
.home .about .about-dept-ttl span{
    display: block;
    text-align: center;
}
.home .about .about-dept-ttl .jp{
    font-size: 2.2rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.home .about .about-dept-ttl .en{
    font-family: Gilroy;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    margin-top: 1.2rem;
    text-transform: uppercase;
    color: #0c323b;
}
.home .about .about-body{
    width: 35%;
    box-sizing: border-box;
    padding-right: 8rem;
}
.home .about .about-body .section-lead{
    margin-top: 0;
}
.home .about .about-body .section-lead p + p{
    margin-top: 2rem;
}
.home .about .box-link-btn{
    margin-top: 4.8rem;
}
@media (max-width: 767px){
    .home .about .section-inner {
        padding: 6rem 0 8rem;
    }
    .home .about .section-ttl {
        margin-bottom: 0;
    }
    .home .about .section-ttl .jp {
        justify-content: center;
    }
    .home .about .section-ttl .en{
        text-align: center;
    }
    .home .about .about-dept.pc{
        display: none;
    }
    .home .about .about-dept.sp{
        display: block;
        display: block;
        width: 100%;
        margin: 4rem 0;
        padding: 0;
    }
    .home .about .about-dept-box{
        width: 100%;
        padding: 0;
    }
    .home .about .about-dept-box + .about-dept-box{
        margin-top: 8rem;
        position: relative;
    }
    .home .about .about-dept::before{
        display: none;
    }
    .home .about .about-dept-box + .about-dept-box::before{
        content: "";
        display: block;
        background: url(../img/ico_cross.svg) no-repeat center;
        position: absolute;
        top: -4rem;
        left: 50%;
        width: 3.2rem;
        height: 3.2rem;
        margin-top: -1.6rem;
        margin-left: -1.6rem;
    }
    .home .about .about-dept-img {
        width: 8rem;
        margin: 0 auto 2.4rem;
    }
    .home .about .about-body {
        width: 100%;
        margin-left: 0;
        padding: 0 3.2rem;
    }
    .home .about .box-link-btn{
        justify-content: center;
    }
}


/* -- news
-------------------------------------------------------------------------------- */
.home .news{
    padding: 12rem 8%;
    margin-left: auto;
    margin-right: auto;
}
.home .news .section-inner{
    display: flex;
    justify-content: space-between;
}
.home .news .box-link-btn{
    margin-top: 8rem;
}
.home .news .news-body{
    flex: 1;
    padding-left: 12rem;
}
.news .news-list{
    margin: -3.2rem 0;
}
.news .news-list li{
    padding: 3.2rem 0;
}
.news .news-list li + li{
    border-top: solid 1px #e0e0e0;
}
.news .news-list a{
    display: flex;
    align-items: center;
    padding-right: 8rem;
    position: relative;
}
.news .news-list a .date{
    display: block;
    font-family: Gilroy;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.6;
    color: #0c323b;
    width: 9em;
    transform: translateY(1px);
    transition: color 0.15s ease;
}
.new .date span{
    position: relative;
}
.new .date span::after{
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 100%;
    background: #f21414;
    position: absolute;
    top: -0.6rem;
    right: -1rem;
    transform: translate(0.3rem,-0.3rem);
}
.news .news-list a .ttl{
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.6;
    flex: 1;
    transition: color 0.15s ease;
}
.news .news-list a .mark{
    display: block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.news .news-list a .mark::before,
.news .news-list a .mark::after{
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_link.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.news .news-list a[target="_blank"] .mark::before{
    background-image: url(../img/ico_ex_link.svg);
}
.news .news-list a.doc .mark::before{
    background-image: url(../img/ico_doc_link.svg);
}
.news .news-list a .mark::after,
.news .news-list a[target="_blank"] .mark::after,
.news .news-list a.doc .mark::after{
    opacity: 0;
    transition: opacity 0.15s ease;
}
.news .news-list a .mark::after{
    background-image: url(../img/ico_link_hover.svg);
}
.news .news-list a[target="_blank"] .mark::after{
    background-image: url(../img/ico_ex_link_hover.svg);
}
.news .news-list a.doc .mark::after{
    background-image: url(../img/ico_doc_link_hover.svg);
}
@media (min-width: 1025px){
    .news .news-list a:hover .date{
        color: #b4a28e;
    }
    .news .news-list a:hover .ttl{
        color: #b4a28e;
    }
    .news .news-list a:hover .mark::after,
    .news .news-list a[target="_blank"]:hover .mark::after,
    .news .news-list a.doc:hover .mark::after{
        opacity: 1;
    }
}
@media (max-width: 767px){
    .home .news{
        padding: 6rem 5%;
    }
    .home .news .section-inner{
        display: block;
    }
    .home .news .news-head{
        text-align: center;
    }
    .home .news .news-head .section-ttl .jp{
        justify-content: center;
    }
    .home .news .news-body {
        padding-left: 0;
        margin-top: 4.8rem;
    }
    .news .news-list {
        margin: -2.4rem 0;
    }
    .news .news-list li {
        padding: 2.4rem 0;
    }
    .news .news-list a{
        display: block;
        padding-right: 5.2rem;
    }
    .new .date span::after {
        top: -0.4rem;
        right: -0.8rem;
    }
    .news .news-list a .date {
        width: auto;
        transform: translateY(0);
        margin-bottom: 0.8rem;
    }
    .home .news .box-link-btn{
        justify-content: center;
        margin-top: 4.8rem;
    }
    .home .news .box-link-btn.pc-hide{
        display: flex!important;
    }
}


/* -- event
-------------------------------------------------------------------------------- */
.home .event{
    padding: 8rem 0 0;
    overflow: hidden;
    position: relative;
}
.home .event .section-ttl{
    text-align: center;
}
.home .event .event-body{
    background: #828487;
    color: #fff;
    margin-top: 8rem;
    padding: 0 8% 12rem;
    position: relative;
}
.home .event .event-body::before{
    content: "";
    display: block;
    width: 100%;
    height: 8.5vw;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
@media (max-width: 1024px){
    .home .event .event-body::before{
        height: 87px;
    }
}
.event .event-list{
    position: relative;
}
.event .event-list ul{
    display: flex;
}
.event .event-list ul li{
    width: 33.333333%;
    box-sizing: border-box;
    flex-shrink: 0;
}
.event .event-list ul li a{
    display: block;
}
.event .event-list ul li .img-wrap{
    opacity: 0;
    transform: scale(1.12);
    transition: 1s ease;
}
.home .event .event-list ul li:nth-child(2) .img-wrap{
    transition-delay: 0.1s;
}
.home .event .event-list ul li:nth-child(3) .img-wrap{
    transition-delay: 0.2s;
}
.home .event .event-list ul li:nth-child(4) .img-wrap{
    transition-delay: 0.3s;
}
.event .event-list ul li.show .img-wrap{
    opacity: 1;
    transform: scale(1);
}
.event .event-list .img{
    width: 100%;
    padding-top: 66.666666%;
    position: relative;
    overflow: hidden;
    transition: 0.3s ease;
}
.event .event-list .img img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
@media (min-width: 1025px){
    .event .event-list a:hover .img{
        transform: scale(0.92);
        box-shadow: 4rem 4rem 8rem 0 rgba(0,0,0,0.3);
        z-index: 1;
    }
    .event .event-list a:hover .img img{
        transform: scale(1.15);
    }
}
.event .event-list .txt{
    margin-top: 3.2rem;
}
.event .event-list .tag{
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    margin-bottom: 1.2rem;
    color: #cebca7;
}
.event .event-list .ttl{
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.6;
}
.event .event-list .date{
    font-size: 1.4rem;
    font-family: Gilroy;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-top: 2rem;
}
.home .event .event-nav{
    margin-top: 8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.home .event .event-nav .slide-nav{
    display: flex;
}
.home .event .event-nav .slide-nav li{
    width: 5.6rem;
    height: 5.6rem;
    position: relative;
}
.home .event .event-nav .slide-nav li + li{
    margin-left: 1.2rem;
}
.home .event .event-nav .slide-nav li + li::before{
    content: "";
    display: block;
    height: 100%;
    border-left: solid 1px rgba(255,255,255,0.2);
    position: absolute;
    top: 0;
    left: -0.6rem;
}
.home .event .event-nav .slide-nav li span{
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.home .event .event-nav .slide-nav li span::before{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    border-top: solid 3px;
    position: absolute;
    top: 50%;
    margin-top: -0.7rem;
    transition: 0.15s ease;
}
.home .event .event-nav .slide-nav li.prev span::before{
    left: 50%;
    border-left: solid 3px;
    transform: rotate(-45deg);
    margin-left: -0.4rem;
}
.home .event .event-nav .slide-nav li.next span::before{
    right: 50%;
    border-right: solid 3px;
    transform: rotate(45deg);
    margin-right: -0.4rem;
}
@media (min-width: 1025px){
    .home .event .event-nav .slide-nav li span:hover::before{
        color: #b4a28e;
    }
}
@media (max-width: 767px){
    .home .event {
        padding-top: 2rem;
    }
    .home .event .event-body {
        margin-top: 4.8rem;
        padding: 0 10% 8rem;
    }
    .event .event-list ul li a {
        overflow: hidden;
        position: relative;
        z-index: 1;
    }
    .home .event .event-nav .slide-nav {
        display: none;
    }
    .home .event .event-nav {
        margin-top: 4.8rem;
        justify-content: center;
    }
}


/* -- research
-------------------------------------------------------------------------------- */
.home .research{
    padding: 2rem 2rem;
    position: relative;
}
.home .research .research-inner{
    display: flex;
    position: relative;
    overflow: hidden;
}
.home .research .research-inner::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_research_bg.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    right: 0;
    filter: blur(0.8rem);
    transform: scale(1.134);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.home .research.show .research-inner::before{
    transform: scale(1.05);
    opacity: 1;
}
.home .research .research-inner::after{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.3), rgba(0,0,0,0.15));
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: opacity 1s ease;
}
.home .research.show .research-inner::after{
    opacity: 1;
}
.home .research .section-inner{
    flex: 1;
    color: #fff;
    padding: 12rem 8rem;
    position: relative;
    z-index: 1;
}
.home .research .section-ttl .en{
    color: #fff;
}
.home .research .research-body{
    width: 56%;
    color: #fff;
    padding: 12rem 8rem 12rem 4rem;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}
.home .research .research-body .research-body-inner{
    position: relative;
    z-index: 1;
}
.home .research .research-body dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 2rem;
    height: 9rem;
}
.home .research .research-body dl + dl{
    border-top: solid 1px rgba(255,255,255,0.2);
}
.home .research .research-body dt{
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    display: flex;
    align-items: center;
}
.home .research .research-body dt .img{
    width: 4rem;
    margin-right: 3.2rem;
}
.home .research .research-body dt .img img{
    width: 100%;
}
.home .research .research-body dt a{
    transition: color 0.15s ease;
}
@media (min-width: 1025px){
    .home .research .research-body dt a:hover{
        color: #b4a28e;
    }
}
.home .research .research-body dd{
    font-weight: bold;
    font-size: 1.4rem;
    display: flex;
    align-items: baseline;
}
.home .research .research-body dd span{
    font-family: Gilroy;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin-right: 0.4rem;
    transform: translateY(1px);
}
.home .research .research-body .note{
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    padding: 2rem 2rem 0;
}
.home .research .box-link-btn{
    margin-top: 4.8rem;
}
@media (max-width: 767px){
    .home .research .research-inner{
        display: block;
        padding: 4.8rem 3.2rem 6rem;
    }
    .home .research .section-inner{
        padding: 0;
    }
    .home .research .research-inner::before{
        background-position: left 40% center;
    }
    .home .research .research-body{
        width: 100%;
        padding: 0;
        margin-top: 3.2rem;
    }
    .home .research .research-body dl {
        padding: 0;
        height: 7rem;
    }
    .home .research .research-body dt .img {
        width: 3.2rem;
        margin-right: 2.4rem;
    }
    .home .research .research-body dd{
        font-size: 1.2rem;
    }
    .home .research .research-body dd span{
        font-size: 2.2rem;
    }
    .home .research .research-body .note {
        font-size: 1rem;
        padding: 1.2rem 0 0;
    }
    .home .research .box-link-btn{
        justify-content: center;
        position: relative;
        z-index: 1;
    }
    .home .research .box-link-btn.pc-hide{
        display: flex!important;
    }
}


/* -- member
-------------------------------------------------------------------------------- */
.home .member{
    padding: 0 2rem 2rem;
}
.home .member .section-inner{
    color: #fff;
    padding: 12rem 8rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.home .member .section-inner::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_member_bg.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.home .member.show .section-inner::before{
    transform: scale(1);
    opacity: 1;
}
.home .member .research-body{
    position: relative;
    z-index: 1;
}
.home .member .section-ttl .en{
    color: #fff;
}
.home .member .box-link-btn{
    margin-top: 8rem;
}
@media (max-width: 767px){
    .home .member .section-inner::before{
        background-position: right 30% center;
    }
    .home .member .section-inner {
        padding: 4.8rem 3.2rem 6rem;
    }
    .home .member .box-link-btn {
        margin-top: 4.8rem;
    }
}


/* -- links
-------------------------------------------------------------------------------- */
.home .links{
    padding: 0 2rem 2rem;
    display: flex;
    justify-content: space-between;
}
.home .links a{
    display: block;
    background: #f2f1f0;
    width: calc(50% - 1rem);
    height: 24rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: background 0.3s ease;
}
.home .links a .links-inner{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: transform 0.3s ease;
}
@media (min-width: 1025px){
    .home .links a:hover{
        background: #e9e8e6;
    }
    .home .links a:hover .links-inner{
        transform: scale(1.1);
    }
}
.home .links a .img{
    width: 28rem;
}
.home .links a .img.iir{
    width: 7.2rem;
    margin-right: 2.4rem;
}
.home .links a .img img{
    width: 100%;
}
.home .links a .txt{
    padding-bottom: 0.4rem;
}
.home .links a .jp{
    display: block;
    font-size: 2.8rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.home .links a .en{
    display: block;
    font-family: Gilroy;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    color: #0c323b;
    font-weight: bold;
    margin-top: 0.8rem;
}
.home .links a::before{
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_ex_link.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 2.4rem;
    bottom: 2.4rem;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s ease;
}
@media (min-width: 1025px){
    .home .links a:hover::before{
        opacity: 1;
        visibility: visible;
    }
}
@media (max-width: 767px){
    .home .links{
        display: block;
    }
    .home .links a{
        width: 100%;
        height: 12rem;
    }
    .home .links a + a{
        margin-top: 2rem;
    }
    .home .links a .img {
        width: 21rem;
    }
    .home .links a .img.iir {
        width: 5.2rem;
        margin-right: 2rem;
    }
    .home .links a .jp {
        font-size: 2.4rem;
    }
    .home .links a .en {
        font-size: 1.4rem;
    }
}


/* -- page
-------------------------------------------------------------------------------- */
.page section {
    padding: 12rem 8% 16rem;
    margin-left: auto;
    margin-right: auto;
}
.page-column{
    display: flex;
    align-items: flex-start;
    position: relative;
}
.page-column .column-sub{
    width: 20%;
    position: sticky;
    top: calc(12rem + 7rem);
}
.page-column .column-sub li + li{
    margin-top: 2rem;
}
.page-column .column-sub li a{
    font-size: 1.4rem;
    letter-spacing: 0.15em;
    font-weight: bold;
    transition: color 0.15s ease;
}
@media (min-width: 1025px){
    .page-column .column-sub li a:hover{
        color: #b4a28e;
    }
}
.page-column .column-sub li a.active{
    color: #b4a28e;
}
.page-column .column-main{
    flex: 1;
}
.page-column .column-ttl{
    font-size: 2.8rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
    margin-bottom: 8rem;
}
.txt-box p{
    font-size: 1.6rem;
    line-height: 2;
    text-align: justify;
    letter-spacing: 0.12em;
}
.txt-box p + p{
    margin-top: 2.5em;
}
.column-sub-sp{
    display: none;
}
.page-research .column-sub-sp{
    padding: 6rem 8% 0;
}
.column-sub-sp select {
    width: 100%;
    margin: 0 0;
}
@media (max-width: 767px){
    .page section{
        padding: 6rem 3.2rem 8rem;
    }
    .column-sub-sp {
        padding: 4rem 0 0;
        display: block;
    }
    .page-column{
        display: block;
    }
    .page-column .column-sub{
        display: none;
    }
    .page-research .column-sub-sp{
        padding: 6rem 3.2rem 0;
    }
}


/* -- page-about
-------------------------------------------------------------------------------- */
.page-about .about{
    background: #f2f1f0;
    position: relative;
    padding-top: 14rem;
    padding-bottom: 14rem;
}
.page-about .about::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: solid 2rem #fff;
    box-sizing: border-box;
}
.page-about .about .section-inner{
    position: relative;
}
.page-about .about-body{
    padding-top: 12rem;
}
.page-about .about-body .section-sub-ttl{
    margin-bottom: 8rem;
}
.page-about .about-body .name{
    margin-top: 10rem;
    display: flex;
    justify-content: space-between;
}
.page-about .about-body .name .sub{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    line-height: 1.6;
    margin-bottom: 1.6rem;
}
.page-about .about-body .name .main {
    font-weight: bold;
}
.page-about .about-body .name .main .jp{
    display: block;
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.page-about .about-body .name .main .en{
    display: block;
    font-family: Gilroy;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    margin-top: 1.2rem;
    color: #0c323b;
    text-transform: uppercase;
}
.page-about .about-body .name .img{
    width: 35%;
}
.page-about .about-body .name .img img{
    width: 100%;
}
.page-about .organization-box li{
    display: flex;
    align-items: center;
    flex: 1;
    border-top: solid 1px rgba(0,0,0,0.15);
    padding-top: 8rem;
    margin-top: 8rem;
}
.page-about .organization-box li .img {
    width: 40%;
    padding-top: 40%;
    position: relative;
}
.page-about .organization-box li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
.page-about .organization-box li .dept-txt{
    flex: 1;
    padding-right: 8rem;
}
.page-about .organization-box li .ttl {
    margin-bottom: 6rem;
    position: relative;
    padding-left: calc(8rem + 3.2rem);
}
.page-about .organization-box li .ttl span {
    display: block;
}
.page-about .organization-box li .ttl .dept-img {
    width: 8rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.page-about .organization-box li .dept-img img {
    width: 100%;
}
.page-about .organization-box li .ttl .jp {
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.page-about .organization-box li .ttl .en {
    font-family: Gilroy;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    margin-top: 1.2rem;
    text-transform: uppercase;
    color: #0c323b;
}
.page-about .organization-box li .txt{
    font-size: 1.6rem;
    line-height: 2;
    text-align: justify;
    letter-spacing: 0.12em;
}
.page-about .organization-box li .link {
    margin-top: 4rem;
}
.page-about .organization-box li .box-link-btn {
    margin-top: 4rem;
}
.link a {
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    color: #0c323b;
    transition: color 0.15s ease;
}
.link a[target="_blank"]::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/ico_ex_link.svg) no-repeat center;
    background-size: contain;
    transform: translateY(-1px);
    margin-left: 0.4rem;
    transition: background 0.15s ease;
}
.pamphlet{
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    margin-top: 12rem;
    border: solid 1px rgba(0,0,0,0.15);
    transition: border 0.15s ease;
    margin-left: auto;
    margin-right: auto;
}
.pamphlet + .pamphlet{
    margin-top: 4rem;
}
.pamphlet .pamphlet-inner{
    padding: 4.8rem 6rem 4.8rem 8rem;
    display: flex;
    align-items: center;
}
.pamphlet .txt{
    flex: 1;
    padding-right: 6rem;
}
.pamphlet .ttl{
    margin-bottom: 4rem;
}
.pamphlet .ttl .jp{
    display: block;
    font-size: 2rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.pamphlet .ttl .en{
    display: block;
    font-family: Gilroy;
    font-size: 1.3rem;
    letter-spacing: 0.12em;
    margin-top: 1rem;
    text-transform: uppercase;
    color: #0c323b;
}
.pamphlet .lead{
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.12em;
}
.pamphlet .img{
    width: 24rem;
    transition: 0.3s ease;
}
.pamphlet .img img{
    width: 100%;
}
@media (min-width: 1025px){
    .link a:hover {
        color: #b4a28e
    }
    .link a[target="_blank"]:hover::after {
        background-image: url(../img/ico_ex_link_hover.svg);
    }
    .pamphlet:hover{
        border-color: #0c323b;
    }
    .pamphlet:hover .img{
        transform: scale(1.06);
        box-shadow: 1.2rem 1.2rem 3.2rem 0 rgba(0,0,0,0.15);
    }
}
@media (max-width: 767px){
    .page-about .about{
        padding: 8rem calc(3.2rem + 2rem) 10rem;
    }
    .page-about .about-body{
        padding-top: 6rem;
    }
    .page-about .about-body .name{
        display: block;
        margin-top: 4rem;
    }
    .page-about .about-body .section-sub-ttl {
        margin-bottom: 4rem;
    }
    .page-about .organization-box li{
        display: block;
        padding-top: 6rem;
        margin-top: 6rem;
    }
    .page-about .organization-box li:first-child{
        margin-top: 0;
    }
    .page-about .organization-box li .ttl {
        margin-bottom: 4rem;
        padding-left: 0;
        text-align: center;
    }
    .page-about .organization-box li .ttl .dept-img {
        width: 8rem;
        position: static;
        transform: translateY(0);
        margin: 0 auto 2.4rem;
    }
    .page-about .organization-box li .dept-txt{
        padding-right: 0;
    }
    .page-about .organization-box li .img {
        width: 100%;
        padding-top: 100%;
        margin-top: 6rem;
    }
    .page-about .organization-box li .box-link-btn {
        justify-content: center;
    }
    .page-about .about-body .name .sub {
        margin-bottom: 1.2rem;
    }
    .page-about .about-body .name .img {
        width: 100%;
        margin-top: 6rem;
    }
    .pamphlet{
        margin-top: 8rem;
        position: relative;
    }
    .pamphlet + .pamphlet{
        margin-top: 4rem;
    }
    .pamphlet::before{
        content: "";
        display: block;
        width: 4rem;
        height: 4rem;
        background: url(../img/ico_modal_zoom.svg) no-repeat center;
        background-size: 1.6rem;
        background-color: #828487;
        position: absolute;
        right: 1.6rem;
        bottom: 1.6rem;
        border-radius: 100%;
    }
    .pamphlet .pamphlet-inner{
        display: block;
        padding: 3.2rem 3.2rem 4rem;
    }
    .pamphlet .ttl{
        margin-bottom: 2.4rem;
    }
    .pamphlet .txt{
        padding-right: 0;
    }
    .pamphlet .img {
        width: 70%;
        max-width: 32rem;
        margin-top: 4rem;
        margin-left: auto;
        margin-right: auto;
    }
}


/* -- modal-content
-------------------------------------------------------------------------------- */
.modal-content{
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.modal-content.active{
    opacity: 1;
    visibility:visible; 
}
.modal-content .modal-content-inner{
}
.modal-content .modal-close{
    display: block;
    width: 8rem;
    height: 8rem;
    position: absolute;
    top: 2rem;
    right: 2rem;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.modal-content .modal-close::before,
.modal-content .modal-close::after{
    content: "";
    display: block;
    width: 6rem;
    border-top: solid 1px #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -1px;
    margin-left: -3rem;
    transition: transform 0s ease 0.3s;
}
.modal-content.active .modal-close::before,
.modal-content.active .modal-close::after{
    transition: transform 0.3s ease 0s;
}
.modal-content.active .modal-close::before{
    transform: rotate(45deg);
}
.modal-content.active .modal-close::after{
    transform: rotate(-45deg);
}
.modal-content .img{
    height: 75vh;
}
.modal-content .img img{
    height: 100%;
}
@media (max-width: 1200px){
    .modal-content .img{
        width: 90vw;
        height: auto;
    }
    .modal-content .img img{
        width: 100%;
        height: auto;
    }
}
@media (max-width: 767px){
    .modal-content .modal-close{
        top: 1.2rem;
        right: 1.2rem;
    }
}


/* -- page-research
-------------------------------------------------------------------------------- */
.page-research .research {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
.page-research .research .section-ttl {
    padding: 16rem 8%;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.page-research .research .section-ttl::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: solid 2rem #fff;
    box-sizing: border-box;
    z-index: 1;
}
.page-research .research .section-ttl .bg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.page-research .research .section-ttl .bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_research_bg.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.page-research .research .section-ttl.show .bg::before{
    transform: scale(1);
    opacity: 1;
}
.page-research .research .section-ttl .bg::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.2);
    opacity: 0;
    transition: opacity 1s ease;
}
.page-research .research .section-ttl.show .bg::after{
    opacity: 1;
}
.no-transition .page-research .research .section-ttl .bg::before,
.no-transition .page-research .research .section-ttl .bg::after {
    transition: none;
}
.page-research .research .section-ttl .jp,
.page-research .research .section-ttl .en {
    color: #fff;
    position: relative;
    z-index: 2;
}
.page-research .research-body {
    padding: 10rem 8% 0;
}
.page-research .research-ttl-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8rem;
}
.page-research .research-ttl-area .research-nav {
    display: flex;
    align-items: center;
}
.page-research .research-ttl-area .num {
    font-size: 1.4rem;
    font-weight: bold;
    display: flex;
    align-items: baseline;
}
.page-research .research-ttl-area .num span {
    font-family: Gilroy;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    margin-right: 0.4rem;
    transform: translateY(1px);
}
.page-research .research-ttl-area .select-box {
    margin-left: 3.2rem;
}
.select-box {
    min-width: 20rem;
    position: relative;
}
.select-box::before{
    content: "";
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/ico_select_arrow.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 2.4rem;
    transform: translateY(-50%);
    z-index: 1;
    pointer-events: none;
}
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    box-shadow: none;
    align-items: center;
    border: solid 1px transparent;
    border-radius: 0;
    text-align: inherit;
}
select{
    font-size: 1.6rem;
    font-family: Gilroy,'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
    letter-spacing: 0.12em;
    line-height: 1.6;
    width: 22rem;
    background: #fff;
    padding: 1.6rem 2.4rem;
    border-radius: 3.2rem;
    border: solid 1px #0c323b;
    color: #0c323b;
    position: relative;
}
select {
    margin: -1rem 0;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: background 0.3s ease;
}
@media (min-width: 1025px){
    select:hover {
        background: #fafafa;
    }
}
.page-research .research-list > ul > li{
    font-family: Gilroy,'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
    border-bottom: solid 1px #e0e0e0;
    padding: 3.2rem 0;
}
.page-research .research-list > ul > li:first-child{
    border-top: solid 1px #e0e0e0;
}
.page-research .research-list li dl{
    display: flex;
}
.page-research .research-list li dt{
    font-family: Gilroy;
    letter-spacing: 0.08em;
    font-weight: bold;
    color: #0c323b;
    width: 4.5em;
}
.page-research .research-list li dd{
    flex: 1;
    word-break: break-word;
}
.page-research .research-list li b{
    text-decoration: underline;
}
.page-research .research-list li a{
    color: #0c323b;
    text-decoration: underline;
    transition: color 0.15s ease;
}
.page-research .research-list li a[target="_blank"]::after,
.article a[target="_blank"]::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.2rem;
    height: 1.2rem;
    background: url(../img/ico_ex_link_min.svg) no-repeat center;
    background-size: contain;
    margin: 0 0.6rem;
    transform: translateY(-1px);
    transition: background 0.15s ease;
}
@media (min-width: 1025px){
    .page-research .research-list li a:hover{
        color: #b4a28e;
    }
    .page-research .research-list li a:hover::after,
    .article a[target="_blank"]:hover::after{
        background-image: url(../img/ico_ex_link_min_hover.svg);
    }
}
@media (max-width: 767px){
    select{
        font-size: 1.8rem;
        width: 100%;
        margin: 0;
        padding-right: 6rem;
    }
    .page-research .research-ttl-area{
        display: block;
        margin-bottom: 3.2rem;
    }
    .page-research .research .section-ttl::before{
        display: none;
    }
    .page-research .research .section-ttl{
        padding: 12rem 0;
    }
    .page-research .research-body {
        padding: 6rem 3.2rem 0;
    }
    .page-research .research-ttl-area .research-nav {
        justify-content: space-between;
        margin-top: 2rem;
    }
}


/* -- page-member
-------------------------------------------------------------------------------- */
.page-member .member {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
.page-member .member .section-ttl {
    padding: 16rem 8%;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.page-member .member .section-ttl::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: solid 2rem #fff;
    box-sizing: border-box;
    z-index: 1;
}
.page-member .member .section-ttl .bg {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.page-member .member .section-ttl .bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_member_bg.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.page-member .member .section-ttl.show .bg::before {
    transform: scale(1);
    opacity: 1;
}
.page-member .member .section-ttl .bg::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.2);
    opacity: 0;
    transition: opacity 1s ease;
}
.page-member .member .section-ttl.show .bg::after {
    opacity: 1;
}
.page-member .member .section-ttl .jp,
.page-member .member .section-ttl .en {
    color: #fff;
    position: relative;
    z-index: 2;
}
.page-member .anchor-link {
    display: flex;
    justify-content: center;
    padding: 0 8%;
    margin-top: 6rem;
}
.page-member .anchor-link li {
    flex: 1;
    font-size: 2rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    line-height: 1.2;
    padding: 4rem 4rem;
    position: relative;
    cursor: pointer;
    border-top: solid 1px #e0e0e0;
    border-bottom: solid 1px #e0e0e0;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: color 0.15s ease, background 0.15s ease;
}
.page-member .anchor-link li + li {
    box-sizing: border-box;
    border-left: solid 1px #e0e0e0;
}
.page-member .anchor-link li::before,
.page-member .anchor-link li::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_link.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 4rem;
    transform: translateY(-50%) rotate(90deg);
}
.page-member .anchor-link li::after {
    background-image: url(../img/ico_link_hover.svg);
    opacity: 0;
    transition: opacity 0.15s ease;
}
@media (min-width: 1025px){
    .page-member .anchor-link li:hover {
        color: #b4a28e;
        background: #fafafa;
    }
    .page-member .anchor-link li:hover::after {
        opacity: 1;
    }
}
.page-member .member-body {
    padding: 12rem 8% 0;
}
.page-member .member-body + .member-body {
    border-top: solid 1px #e0e0e0;
    margin-top: 8rem;
}
.page-member .member-body + .member-body {
    margin-top: 12rem;
}
.page-member .member-list{
    margin-left: -3.2rem;
    margin-right: -3.2rem;
    display: flex;
    flex-wrap: wrap;
}
.page-member .member-list > li{
    width: calc(100% / 3);
    box-sizing: border-box;
    padding: 0 3.2rem;
    margin-top: 8rem;
}
@media (max-width: 1280px){
    .page-member .member-list > li{
        width: calc(100% / 3);
    }
}
.page-member .member-list .member-list-body{
    border-top: solid 3px #0c323b;
    padding-top: 2.4rem;
}
.page-member .member-list .member-list-body-inner{
    display: flex;
}
.page-member .member-list .member-list-body-box{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-right: 2.4rem;
}
.page-member .member-list .ttl-area{
}
.page-member .member-list .ttl-area .ttl{
    font-size: 2rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.page-member .member-list .ttl-area .ttl span{
    font-size: 1.4rem;
    letter-spacing: 0.12em;
}
.page-member .member-list .ttl-area .affiliation{
    font-size: 1.3rem;
    letter-spacing: 0.08em;
    margin-top: 1.6rem;
}
.page-member .member-list .ttl-area .en{
    font-family: Gilroy;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #0c323b;
    text-transform: uppercase;
    margin-top: 1.2rem;
}
.page-member .member-list .cat,
.research-list .cat{
    display: flex;
    margin-top: 2rem;
}
.page-member .member-list .cat li,
.research-list .cat li{
    width: 2.4rem;
    height: 2.4rem;
}
.page-member .member-list .cat li + li,
.research-list .cat li + li{
    margin-left: 1.6rem;
}
.page-member .member-list .cat img,
.research-list .cat img{
    height: 100%;
}
.page-member .member-list .cat li:not(.active) img,
.research-list .cat li:not(.active) img{
    filter: grayscale(1);
    opacity: 0.2;
}
.page-member .member-list .img{
    width: 30%;
    transform: scale(1.12);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.page-member .member-list li .img.show{
    transform: scale(1);
    opacity: 1;
}
.page-member .member-list .img .img-inner{
    width: 100%;
    padding-top: 133.333333%;
    position: relative;
}
.page-member .member-list .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;    
}
.page-member .member-list .member-list-foot{
    margin-top: 2.4rem;
    border-top: solid 1px #e0e0e0;
}
.page-member .member-list .keyword{
    margin-top: 2rem;
}
.page-member .member-list .keyword dt{
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    color: #0c323b;
    margin-bottom: 0.6rem;
}
.page-member .member-list .keyword dd{
    font-size: 1.3rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
    text-align: justify;
}
.page-member .member-list .link{
    margin-top: 2rem;
}
.page-member .member-list .link + .link{
    margin-top: 0.6rem;
}
.page-member .member-list .link a{
    font-size: 1.3rem;
}
.page-member .member-list .link a[target="_blank"]::after {
    width: 1.4rem;
    height: 1.4rem;
}
@media (max-width: 767px){
    .page-member .member .section-ttl {
        padding: 12rem 3.2rem;
    }
    .page-member .member .section-ttl::before{
        display: none;
    }
    .page-member .member .section-ttl .bg::before {
        background-position: right 15% center;
    }
    .page-member .member .section-ttl .jp, 
    .page-member .member .section-ttl .en{
        justify-content: flex-start;
        text-align: left;
    }
    .page-member .anchor-link {
        padding: 0;
        margin-top: 0;
    }
    .page-member .anchor-link li {
        font-size: 1.6rem;
        padding: 2.4rem 2.4rem;
        border-top: none;
    }
    .page-member .anchor-link li::before,
    .page-member .anchor-link li::after {
        width: 1.6rem;
        height: 1.6rem;
        right: 2.4rem;
    }
    .page-member .member-body{
        padding: 8rem 3.2rem 0;        
    }
    .page-member .member-body + .member-body {
        margin-top: 8rem;
    }
    .page-member .member-list{
        display: block;
        margin: 0;
    }
    .page-member .member-list > li{
        width: 100%;
        padding: 0;
        margin-top: 6rem;
    }
    .page-member .member-list .ttl-area {
        height: auto;
    }
    .page-member .member-list .ttl-area .ttl{
        font-size: 2.4rem;
    }
    .page-member .member-list .ttl-area .ttl span{
        font-size: 1.6rem;
    }
    .page-member .member-list .keyword dt{
        font-size: 1.4rem;
    }
    .page-member .member-list .keyword dd{
        font-size: 1.4rem;
    }
    .page-member .member-list .link a{
        font-size: 1.4rem;
    }
}


/* -- page-event
-------------------------------------------------------------------------------- */
.page-event section {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}
.section-ttl-area{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.page-event .section-ttl-area {
    padding-left: 8%;
    padding-right: 8%;
}
.page-event .event-body {
    margin-top: 12rem;
    color: #fff;
    background: #828487;
    padding-left: 8%;
    padding-right: 8%;
    padding-bottom: 16rem;
    position: relative;
}
.page-event .event-body::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(8rem + 6.25vw);
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.page-event .event .event-list {
}
.page-event .event .event-list ul {
    flex-wrap: wrap;
    margin: -8rem -2.4rem 0;
}
.page-event .event .event-list li {
    width: 25%;
    padding: 0 2.4rem;
    margin-top: 8rem;
}
@media (max-width: 1600px){
    .page-event .event-body::before {
        height: calc(8rem + 8.5vw);
    }
    .page-event .event .event-list li {
        width: 33.333333%;
    }
}
@media (max-width: 1024px){
    .page-event .event-body::before {
        height: calc(8rem + 87px);
    }
}
.page-nav {
    margin-top: 12rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.6rem;
    font-family: Gilroy;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #0c323b;
}
.page-nav > p {
    color: #d0d0d0;
}
.page-nav a{
    transition: color 0.15s ease;
}
@media (min-width: 1025px){
    .page-nav a:hover {
        color: #b4a28e;
    }
}
.page-nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 2.4rem;
}
.page-nav ul li {
    text-align: center;
}
.page-nav ul li p {
    color: #b4a28e;
    padding: 0 1.2rem;
}
.page-nav ul li a {
    padding: 0 1.2rem;
}
.page-event .page-nav {
    color: #fff;
}
@media (min-width: 1025px){
    .page-event .page-nav a:hover {
        color: #cebca7;
    }
}
.page-event .page-nav ul li p {
    color: #cebca7;
}
.page-event .page-nav > p {
    opacity: 0.3;
}
@media (max-width: 767px){
    .section-ttl-area{
        display: block;
    }
    .page-event .section-ttl-area {
        padding-left: 3.2rem;
        padding-right: 3.2rem;
    }
    .page-event .select-box {
        margin-top: 4rem;
    }
    .page-event .event-body{
        margin-top: 6rem;
        padding-left: 3.2rem;
        padding-right: 3.2rem;
        padding-bottom: 8rem;
    }
    .page-event .event .event-list ul{
        display: block;
        margin: 0;
    }
    .page-event .event .event-list li{
        width: 100%;
        padding: 0;
        margin-top: 6rem;
    }
    .page-event .event .event-list ul li a{
        overflow: visible;
    }
    .page-nav {
        margin-top: 8rem;
    }
}


/* -- page-event-details
-------------------------------------------------------------------------------- */
.page-event-details .event-details {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
}
.page-event-details .section-ttl {
    display: block;
    font-size: 3.2rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
}
.page-event-details .event-details-head{
    color: #fff;
    background: #828487;
    position: relative;
}
.page-event-details .event-details-head::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: solid 2rem #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.page-event-details .event-details-head .event-details-head-inner{
    position: relative;
    padding: 2rem 2rem;
    display: flex;
}
.page-event-details .event-details-head .event-details-head-inner .ttl{
    flex: 1;
    padding: 16rem 8rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.page-event-details .event-details-head .event-details-head-inner .img{
    width: 50%;
    overflow: hidden;
}
.page-event-details .event-details-head .event-details-head-inner .img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.page-event-details .event-details-head .event-details-head-inner .img.show img{
    transform: scale(1);
    opacity: 1;
}
.page-event-details .date-area{
    display: flex;
    align-items: center;
    margin-bottom: 4rem;
}
.page-event-details .date-area .cat{
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    color: #cebca7;
}
.page-event-details .date-area .date {
    font-size: 1.6rem;
    font-family: Gilroy;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-left: 2rem;
    color: #fff;
}
.page-event-details .date-area .cat + .date {
    border-left: solid 1px rgba(255,255,255,0.3);
    padding-left: 2rem;
}
.page-event-details .event-details .article{
    margin-top: 10rem;
}
@media (max-width: 767px){
    .page-event-details .event-details-head::before {
        display: none;
    }
    .page-event-details .event-details-head .event-details-head-inner {
        display: block;
        padding: 0;
    }
    .page-event-details .event-details-head .event-details-head-inner .ttl{
        padding: 6rem 3.2rem;
    }
    .page-event-details .date-area {
        margin-bottom: 2.4rem;
    }
    .page-event-details .section-ttl {
        font-size: 2.8rem;
    }
    .page-event-details .event-details-head .event-details-head-inner .img {
        width: calc(100% - 3.2rem);
        height: 30rem;
        margin-left: auto;
    }
    .page-event-details .event-details .article{
        margin-top: 6rem;
        padding-left: 3.2rem;
        padding-right: 3.2rem;
    }
}


/* -- page-news-details
-------------------------------------------------------------------------------- */
.page-news-details .section-ttl {
    display: block;
    font-size: 3.2rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
    position: relative;
}
.page-news-details .section-ttl::after {
    content: "";
    display: block;
    width: 4rem;
    border-bottom: solid 1px #0c323b;
    padding-top: 12rem;
}
.page-news-details .news-details-head{
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
.page-news-details .date-area{
    display: flex;
    align-items: center;
    margin-bottom: 4rem;
}
.page-news-details .date-area .date {
    font-size: 1.6rem;
    font-family: Gilroy;
    font-weight: bold;
    letter-spacing: 0.08em;
    color: #0c323b;
}
.page-news-details .news-details .article{
}
@media (max-width: 767px){
    .page-news-details .date-area {
        margin-bottom: 2.4rem;
    }
    .page-news-details .section-ttl {
        font-size: 2.8rem;
    }
    .page-news-details .section-ttl::after {
        padding-top: 6rem;
    }
    .page-news-details .news-details .article {
        margin-top: 4rem;
    }
}


/* -- article
-------------------------------------------------------------------------------- */
.article{
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
.article a{
    color: #0c323b;
    transition: color 0.15s ease;
    text-decoration: underline;
}
@media (min-width: 1025px){
    .article a:hover{
        color: #b4a28e;
    }
}
.article .article-ttl{
    display: block;
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-top: 10rem;
    margin-bottom: 4rem;
}
.article .article-ttl:first-child{
    margin-top: 4rem;
}
.article .article-ttl span{
    display: block;
    position: relative;
}
.article .article-ttl span::before{
    content: "";
    display: block;
    width: 4rem;
    border-top: solid 1px #0c323b;
    padding-top: 4rem;
}
.article .article-ttl:first-child span::before {
    display: none;
}
.article .article-sub-ttl{
    display: block;
    font-size: 2rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-top: 4rem;
    margin-bottom: 2rem;
    position: relative;
    padding-left: 1.5em;
}
.article .article-sub-ttl:first-child{
    margin-top: 0;
}
.article .article-sub-ttl::before{
    content: "";
    display: block;
    width: 0.9em;
    height: 0.9em;
    background: #b4a28e;
    border-radius: 100%;
    position: absolute;
    top: 0.6rem;
    left: 0;
}
.article .txt-box{
    margin: 12rem 0 0;
}
.article figure{
    display: block;
    padding: 0;
    margin: 12rem 0;
}
.article figure.min + figure.min {
    margin-top: -6rem;
}
.article figure .img{
    display: block;
    width: 100%;
}
.article figure .img img{
    width: 100%;
    transform: scale(1.05);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.article figure .img.show img{
    transform: scale(1);
    opacity: 1;
}
.article figure .cap{
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0.12em;
    margin-top: 2rem;
    color: #0c323b;
    text-align: justify;
}
.article figure.min .img,
.article figure.min .cap{
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}
.article figure .video {
    display: block;
    padding: 56.25% 0 0 0;
    position: relative;
    overflow: hidden;
    transform: scale(1.05);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.article figure .video.show{
    transform: scale(1);
    opacity: 1;
}
.article figure .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.article .data-list{
    margin: 12rem 0 0;
}
.article .data-list dl{
    padding: 2rem 0;
    border-bottom: solid 1px #e0e0e0;
    display: flex;
}
.article .data-list dl:first-child{
    border-top: solid 1px #e0e0e0;
}
.article .data-list dt,
.article .data-list dd{
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.12em;
}
.article .data-list dt{
    min-width: 10em;
}
.article .data-list dt + dd{
    padding-left: 2em;
}
.article .link-list{
    margin: 12rem 0 0;
}
.article .link-list li + li{
    margin-top: 0.8rem;
}
.article .txt-box + .data-list,
.article .txt-box + .link-list{
    margin-top: 8rem;
}
.article .link-list a{
    display: block;
    background: #f2f1f0;
    padding: 2.4rem 2.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    text-decoration: none;
    position: relative;
}
.article .link-list a[target="_blank"]{
    padding-right: 8rem;
}
.article .link-list a::before,
.article .link-list a::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    margin: 0;
    background: url(../img/ico_link.svg) no-repeat center;
    position: absolute;
    top: 50%;
    right: 2.8rem;
    transform: translateY(-50%);
}
.article .link-list a[target="_blank"]::before {
    background-image: url(../img/ico_ex_link.svg);
}
.article .link-list a.doc::before {
    background-image: url(../img/ico_doc_link.svg);
}
.article .link-list a::after,
.article .link-list a[target="_blank"]::after,
.article .link-list a.doc::after {
    opacity: 0;
    transition: opacity 0.15s ease;
}
.article .link-list a::after{
    background-image: url(../img/ico_link_hover.svg);
}
.article .link-list a[target="_blank"]::after{
    background-image: url(../img/ico_ex_link_hover.svg);
}
.article .link-list a.doc::after {
    background-image: url(../img/ico_doc_link_hover.svg);
}
@media (min-width: 1025px){
    .article .link-list a:hover::after,
    .article .link-list a[target="_blank"]:hover::after,
    .article .link-list a.doc:hover::after {
        opacity: 1;
    }
}
.article .txt-box:first-child,
.article .data-list:first-child,
.article .link-list:first-child{
    margin-top: 4rem;
}
.article figure:last-child{
    margin-bottom: 0;
}
.article .article-ttl + .txt-box,
.article .article-ttl + .data-list,
.article .article-ttl + .link-list{
    margin-top: 0;
}
.article .article-sub-ttl + .txt-box,
.article .article-sub-ttl + figure,
.article .article-sub-ttl + .data-list,
.article .article-sub-ttl + .link-list{
    margin-top: 0;
}
.index-nav{
    margin-top: 12rem;
    display: flex;
    justify-content: center;
}
.index-nav a{
    display: flex;
    align-items: center;
}
.index-nav .ico{
    display: block;
    width: 2rem;
    height: 2rem;
    margin-right: 1.6rem;
    background: url(../img/ico_index.svg) no-repeat center;
    background-size: contain;
    transition: background 0.15s ease;
    position: relative;
}
.index-nav .ico::before{
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/ico_index_hover.svg) no-repeat center;
    background-size: contain;
    opacity: 0;
    transition: opacity 0.15s ease;
}
.index-nav .txt{
    display: block;
    font-family: Gilroy;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    font-weight: bold;
    text-transform: uppercase;
    color: #0c323b;
    transition: color 0.15s ease;
}
@media (min-width: 1025px){
    .index-nav a:hover .ico::before{
        opacity: 1;
    }
    .index-nav a:hover .txt{
        color: #b4a28e;
    }
}
@media (max-width: 767px){
    .article .article-ttl {
        margin-top: 6rem;
    }
    .article .txt-box {
        margin-top: 6rem;
    }
    .article figure {
        margin: 6rem 0;
    }
    .article figure.min + figure.min {
        margin-top: 0;
    }
    .article figure.min .img, 
    .article figure.min .cap {
        width: 100%;
    }
    .article .link-list {
        margin-top: 6rem;
    }
    .article .link-list a {
        padding: 2rem 2.4rem;
    }
    .article .link-list a[target="_blank"] {
        padding-right: 6.6rem;
    }
    .index-nav {
        margin-top: 8rem;
    }
    .article .data-list dl{
        display: block;
    }
    .article .data-list dt{
        min-width: auto;
    }
    .article .data-list dd{
        word-break: break-all;
    }
    .article .data-list dt + dd{
        padding-left: 0;
        margin-top: 0.8rem;
    }
    .article .txt-box + .data-list,
    .article .txt-box + .link-list {
        margin-top: 4rem;
    }
}


/* -- page-news
-------------------------------------------------------------------------------- */
.page-news .news-body{
    margin-top: 12rem;
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px){
    .page-news .select-box {
        margin-top: 4rem;
    }
    .page-news .news-body {
        margin-top: 6rem;
    }
}


/* -- page-links
-------------------------------------------------------------------------------- */
.page-links .links {
    position: relative;
    background: #f2f1f0;
    padding-top: 14rem;
    padding-bottom: 18rem;
}
.page-links .links::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: solid 2rem #fff;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
}
.page-links .links .section-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
}
.page-links .links .links-head {
    width: 20%;
}
.page-links .links .links-body {
    flex: 1;
    padding-left: 12rem;
}
.page-links .links .links-cat {
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 1.4;
    margin-bottom: 6rem;
}
.page-links .links .links-cat::before {
    content: "";
    display: block;
    width: 4rem;
    border-top: solid 1px #0c323b;
    padding-top: 4rem;
}
.page-links .links .links-list + .links-cat {
    margin-top: 10rem;
}
.page-links .links .links-list {
    margin: -3.2rem 0;
}
.page-links .links .links-list li {
    padding: 3.2rem 0;
}
.page-links .links .links-list li + li {
    border-top: solid 1px #e0e0e0;
}
.page-links .links .links-list a {
    display: flex;
    align-items: center;
    padding-right: 8rem;
    position: relative;
}
.page-links .links .links-list a .ttl {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.6;
    flex: 1;
    transition: color 0.15s ease;
}
.page-links .links .links-list a .mark {
    display: block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.page-links .links .links-list a .mark::before {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_ex_link.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: background 0.15s ease;
}
@media (min-width: 1025px){
    .page-links .links .links-list a:hover .ttl{
        color: #b4a28e;
    }
    .page-links .links .links-list a:hover .mark::before{
        background-image: url(../img/ico_ex_link_hover.svg);
    }
}
@media (max-width: 767px){
    .page-links .links {
        padding: 8rem calc(3.2rem + 2rem) 10rem;
    }
    .page-links .links .section-inner{
        display: block;
    }
    .page-links .links .links-head {
        width: 100%;
    }
    .page-links .links .links-body{
        padding-left: 0;
        margin-top: 6rem;
    }
    .page-links .links .links-cat {
        font-size: 2rem;
        margin-bottom: 4rem;
    }
    .page-links .links .links-cat::before{
        padding-top: 4rem;
    }
    .page-links .links .links-list + .links-cat {
        margin-top: 6rem;
    }
    .page-links .links .links-list {
        margin: -2.4rem 0;
    }
    .page-links .links .links-list li {
        padding: 2.4rem 0;
    }
    .page-links .links .links-list a {
        padding-right: 5.2rem;
    }
}


/* -- page-consortium
-------------------------------------------------------------------------------- */
.page-consortium {
    position: relative;
}
.page-consortium .breadcrumb,
.page-consortium-details .breadcrumb{
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 1.6rem;
    z-index: 2;
}
.page-consortium .breadcrumb li + li::before,
.page-consortium-details .breadcrumb li + li::before{
    border-color: #fff;
}
.page-consortium .breadcrumb li a,
.page-consortium-details .breadcrumb li a{
    color: #fff;
}
.page-consortium .consortium {
    padding: 0;
}
.page-consortium .consortium .consortium-head .section-ttl {
    padding: 16rem 8%;
    text-align: left;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.page-consortium .consortium .consortium-head .section-ttl .en {
    color: #fff;
}
.page-consortium .section-ttl .bg {
    display: block;
    width: 100%;
    height: 107%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}
.page-consortium .section-ttl .bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_consortium.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(1.08);
    opacity: 0;
    transition: transform 1s ease, opacity 1s ease;
}
.page-consortium .section-ttl.show .bg::before {
    transform: scale(1);
    opacity: 1;
}
.section-flex{
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    z-index: 1;
}
.section-flex .section-flex-ttl{
}
.section-flex .section-flex-ttl span {
    display: block;
}
.section-flex .section-flex-ttl .jp {
    font-size: 2.4rem;
    letter-spacing: 0.12em;
    line-height: 1.2;
}
.section-flex .section-flex-ttl .en {
    font-family: Gilroy;
    font-size: 1.4rem;
    letter-spacing: 0.12em;
    margin-top: 1.2rem;
    text-transform: uppercase;
    color: #0c323b;
}
.section-flex-sub{
    width: 30%;
    max-width: 40rem;
    box-sizing: border-box;
    background: #f2f1f0;
    position: relative;
}
.section-flex-sub .section-flex-sub-inner{
    position: sticky;
    top: 7rem;
}
.section-flex-sub .section-flex-ttl-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6rem 6rem 6rem 6rem;
    border-bottom: solid 1px #e0e0e0;
}
.section-flex-sub .section-flex-ttl-wrap .lead{
    margin-top: 4rem;
}
.section-flex-sub .section-flex-ttl-wrap .lead p{
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0.08em;
}
.section-flex-sub .member-body {
    padding: 6rem 6rem 8rem 6rem;
}
.section-flex-sub .member-list {
    margin-top: -2rem;
    margin-bottom: -2rem;
}
.section-flex-sub .member-list li{
    padding: 2rem 0;
    font-family: Gilroy;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1.6;
    position: relative;
    padding-left: 2.4rem;
}
.section-flex-sub .member-list li::before{
    content: "";
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    background: #b4a28e;
    border-radius: 100%;
    position: absolute;
    top: calc(2rem + 0.4rem);
    left: 0;
}
.section-flex-sub .member-list li + li{
    border-top: solid 1px #e0e0e0;
}
.section-flex-sub .box-link-btn{
    display: block;
}
.section-flex-sub .box-link-btn a{
    display: block;
    padding-right: 4rem;
}
.section-flex-sub .section-flex-ttl-wrap .box-link-btn {
    margin-top: 4rem;
}
.section-flex-sub .section-flex-ttl-wrap .box-link-btn a span {
    display: block;
}
.section-flex-sub .section-flex-ttl-wrap .box-link-btn a span::after {
    right: calc(-0.6rem - 0.6rem);
}
.section-flex-sub .member-body .box-link-btn a{
    padding: 0;
    font-family: 'Noto Sans JP', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
    font-size: 1.4rem;
    line-height: 5.2rem;
    padding-bottom: 0.2rem;
}
.section-flex-sub .member-body .box-link-btn a + a{
    margin-top: 1.2rem;
    margin-left: 0;
}
.section-flex-sub .member-body .box-link-btn a span {
    display: block;
}
.section-flex-sub .member-body .box-link-btn a[target="_blank"] span::after {
    right: 2.4rem;
}
.section-flex-main{
    flex: 1;
    background: #fff;
    padding: 12rem 8% 16rem 8%;
    margin-top: -12rem;
}
.section-flex-main .section-flex-ttl{
    margin-bottom: 8rem;
}
.section-flex-main .section-flex-ttl .jp {
    font-size: 2.8rem;
}
.page-consortium .news-list li {
    border-bottom: solid 1px #d5d4d3;
}
.page-consortium .news-list li + li {
    border-top: none;
}
.page-consortium .news-list li:first-child {
    border-top: solid 1px #d5d4d3;
}
.page-consortium .news .news-list {
    margin: 0;
}
.page-consortium .news-list a{
    display: block;
    padding-right: 0;
}
.page-consortium .news-list a .ttl{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.12em;
    line-height: 1.4;
}
.page-consortium .news-list a .foot{
    margin-top: 2.4rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.page-consortium .news-list a .mark {
    position: relative;
    transform: none;
    border: solid 1px #d5d4d3;
    border-radius: 100%;
    transition: border 0.15s ease;
}
@media (min-width: 1025px){
    .page-consortium .news-list a:hover .mark {
        border-color: #b4a28e;
    }
}
.page-consortium .news-list a .mark::before,
.page-consortium .news-list a .mark::after {
    width: 1.6rem;
    height: 1.6rem;
}
.page-consortium .page-nav {
    margin-top: 8rem;
}
@media (max-width: 767px){
    .section-flex {
        display: block;
    }
    .page-consortium .consortium .consortium-head .section-ttl{
        padding: 12rem 3.2rem;
        text-align: center;
    }
    .page-consortium .consortium .consortium-head .section-ttl .jp{
        justify-content: center;
    }
    .section-flex-main {
        padding: 6rem 3.2rem 8rem;
        margin-top: 0;
    }
    .section-flex-sub{
        width: 100%;
        max-width: none;
        margin-top: 0;
        padding: 0 2rem 2rem;
        background: none;
    }
    .section-flex-sub .member-list li::before {
        top: calc(2rem + 0.6rem);
    }
    .section-flex-sub .member-list li {
        font-size: 1.6rem;
    }
    .section-flex .section-flex-ttl {
        text-align: center;
    }
    .section-flex-main .section-flex-ttl {
        margin-bottom: 6rem;
    }
    .section-flex .section-flex-ttl .jp{
        font-size: 2.8rem;
    }
    .section-flex-sub .section-flex-sub-inner{
        position: static;
        background: #f2f1f0;
    }
    .section-flex-sub .section-flex-ttl-wrap {
        padding: 6rem 0;
        height: auto;
    }
    .section-flex-sub .section-flex-ttl-wrap .lead p {
        font-size: 1.6rem;
        text-align: center;
    }
    .section-flex-sub .member-body {
        padding: 6rem 0;
    }
    .section-flex-sub .box-link-btn {
        width: 28rem;
        margin-left: auto;
        margin-right: auto;
    }
    .section-flex-sub .box-link-btn a{
        flex: 1;
    }
    .section-flex-sub .box-link-btn a + a{
        margin: 0 0 0 1.2rem;
    }
    .page-consortium  .news-list a .date {
        margin-bottom: 0;
    }
    .page-consortium .news-list a .foot{
        margin-top: 1.6rem;
    }
    .page-consortium .page-nav {
        margin-top: 4.8rem;
    }
}


/* -- page-consortium-details
-------------------------------------------------------------------------------- */
.page-consortium-details{
    background: #f2f1f0;
    position: relative;
}
.consortium-details-head-wrap{
    background: url(../img/img_consortium.jpg) no-repeat center;
    background-size: cover;
    color: #fff;
}
.consortium-details-head{
    padding: 16rem 8% 18rem;
    margin-left: auto;
    margin-right: auto;
}
.consortium-details-head .section-ttl {
    flex: 1;
    margin-bottom: 8rem
}
.consortium-details-head .date-area{
    margin-bottom: 0;
    justify-content: flex-end;
}
.page-consortium-details .date-area .date{
    color: #fff;
}
.page-consortium-details .section-ttl::after{
    display: none;
}
.page-consortium-details .consortium-details{
    padding: 0 8%;
}
.page-consortium-details .consortium-details .section-inner{
    background: #fff;
    margin-top: -14rem;
    padding: 12rem 8rem 16rem;
}
.page-consortium-details .article .txt-box:first-child,
.page-consortium-details .article .data-list:first-child,
.page-consortium-details .article .link-list:first-child{
    margin-top: 0;
}
.consortium-details .article .article-ttl:first-child span::before{
    display: block;
}
@media (max-width: 767px){
    .consortium-details-head{
        padding-top: 8rem;
        padding-left: 3.2rem;
        padding-right: 3.2rem;
        padding-bottom: 16rem;
    }
    .consortium-details-head .section-ttl {
        margin-bottom: 4.8rem;
    }
    .page-consortium-details .consortium-details {
        padding: 0 2rem;
    }
    .page-consortium-details .consortium-details .section-inner{
        padding: 4.8rem 3.2rem 8rem;
    }
}


/* -- page-consortium-member
-------------------------------------------------------------------------------- */
.page-consortium-member .consortium-details-head {
    padding-bottom: 6rem;
}
.page-consortium-member .consortium-details .section-inner {
    margin-top: -6rem;
}
.page-consortium-member .consortium-details-head .section-ttl{
    background: #fff;
    color: #1a1a1a;
    padding: 8rem 8rem 0;
    margin-bottom: 0;
}
.page-consortium-member .member-body {
    max-width: 90rem;
    margin-left: auto;
    margin-right: auto;
}
.page-consortium-member .member-list {
    margin: -3.2rem 0;
}
.page-consortium-member .member-list li {
    padding: 3.2rem 0;
}
.page-consortium-member .member-list li + li {
    border-top: solid 1px #e0e0e0;
}
.page-consortium-member .member-list a {
    display: flex;
    align-items: center;
    padding-right: 8rem;
    position: relative;
}
.page-consortium-member .member-list .ttl {
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.08em;
    line-height: 1.6;
    flex: 1;
    transition: color 0.15s ease;
}
.page-consortium-member .member-list a .mark {
    display: block;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.page-consortium-member .member-list a .mark::before {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ico_ex_link.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: background 0.15s ease;
}
@media (min-width: 1025px){
    .page-consortium-member .member-list a:hover .ttl{
        color: #b4a28e;
    }
    .page-consortium-member .member-list a:hover .mark::before{
        background-image: url(../img/ico_ex_link_hover.svg);
    }
}
@media (max-width: 767px){
    .page-consortium-member .consortium-details-head{
        padding-left: 2rem;
        padding-right: 2rem;
        padding-bottom: 3rem;
    }
    .page-consortium-member .consortium-details .section-inner {
        margin-top: -3rem;
    }
    .page-consortium-member .consortium-details-head .section-ttl{
        padding: 4.8rem 3.2rem 0;
        text-align: center;
    }
    .page-consortium-member .consortium-details-head .section-ttl .jp{
        justify-content: center;
    }
    .page-consortium-member .member-list {
        margin: -2.4rem 0;
    }
    .page-consortium-member .member-list li {
        padding: 2.4rem 0;
    }
    .page-consortium-member .member-list a {
        padding-right: 5.2rem;
    }
}


/* -- footer
-------------------------------------------------------------------------------- */
footer{
    background: #0c323b;
    color: #fff;
    padding: 12rem 0 14rem;
}
footer .footer-inner{
    margin: 0 auto;
    padding: 0 8%;
}
footer .footer-body{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
footer .center-name .logo,
footer .center-name .en,
footer .copyright,
.intro .center-name .logo,
.intro .copyright{
    font-family: Gilroy;
}
footer .center-name{
    font-size: 1.4rem;
}
footer .center-name .logo,
.intro .center-name .logo{
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
    margin-bottom: 2.4rem;
    text-indent: -0.02em;
}
footer .center-name .jp{
    font-size: 1.3125em;
    letter-spacing: 0.12em;
    line-height: 1.2;
    font-weight: bold;
    white-space: nowrap;
}
footer .center-name .en{
    font-size: 1em;
    font-weight: bold;
    letter-spacing: 0.05em;
    white-space: nowrap;
    margin-top: 1.2rem;
}
footer .footer-foot{
    margin-top: 8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
footer .contact{
    font-size: 1.3rem;
    letter-spacing: 0.12em;
}
footer .contact a{
    display: inline-block;
    position: relative;
    padding-bottom: 0.8rem;
}
footer .contact a::before,
footer .links a[target="_blank"]::after{
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: url(../img/ico_ex_link_min_wh.svg);
    position: absolute;
    top: 50%;
    right: -1.6rem;
    transform: translateY(-50%);
    margin-top: -0.4rem;
}
footer .contact a::after{
    content: "";
    display: block;
    width: 100%;
    border-bottom: solid 1px;
    position: absolute;
    bottom: 0;
}
@keyframes contact-hover{
    0% { 
        left: auto;
        right: 0;
        width: 100%;
    }
    50% {
        left: auto;
        right: 0;
        width: 0%;
    }
    51% {
        left: 0;
        right: auto;
        width: 0%;
    }
    100% {
        left: 0;
        right: auto;
        width: 100%;
    }
}
@media (min-width: 1025px){
    footer .contact a:hover::after{
        animation: contact-hover 0.6s ease both;
    }
}
footer .copyright{
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    font-weight: bold;
    opacity: 0.5;
}
footer .links{
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    font-weight: bold;
    display: flex;
    justify-content: flex-end;
}
footer .links a{
    position: relative;
    transition: color 0.15s ease;
}
footer .links a + a{
    margin-left: 3.2rem;
}
footer .links a[target="_blank"]::after{
    display: inline-block;
    position: static;
    transform: translateY(0);
    margin-top: 0;
    margin-left: 0.6rem;
    transition: background 0.15s ease;
}
@media (min-width: 1025px){
    footer .links a:hover{
        color: #b4a28e;
    }
    footer .links a:hover[target="_blank"]::after{
        background-image: url(../img/ico_ex_link_min_hover.svg);
    }
}
@media (max-width: 767px){
    footer {
        padding: 4.8rem 0 6rem;
    }
    footer .footer-body{
        display: block;
    }
    footer .links-block{
        text-align: right;
    }
    footer .center-name .logo{
        margin-bottom: 1.6rem;
    }
    footer .center-name-block{
        margin-top: 6rem;
    }
    footer .center-name {
        font-size: 1.2rem;
    }
    footer .links a + a {
        margin-left: 2.8rem;
    }
    footer .footer-foot{
        display: block;
        margin-top: 4rem;
    }
    footer .contact {
    }
    footer .copyright{
        margin-top: 6rem;
    }
}