
/* # =================================================================
	# フォント
	# ================================================================= */
@font-face {
	font-family: "Noto Sans";
	src: url("../font/NotoSansJP-Regular.woff") format("woff"),url("../font/NotoSansJP-Regular.ttf") format("truetype");
    font-weight: 400;
}
@font-face {
	font-family: "Noto Sans";
	src: url("../font/NotoSansJP-Medium.woff") format("woff"),url("../font/NotoSansJP-Medium.ttf") format("truetype");
    font-weight: 500;
}
@font-face {
	font-family: "Noto Sans";
	src: url("../font/NotoSansJP-Bold.woff") format("woff"),url("../font/NotoSansJP-Bold.ttf") format("truetype");
    font-weight: 700;
}
@font-face {
	font-family: "Shippori Mincho";
	src: url("../font/ShipporiMinchoB1-Regular.woff") format("woff"),url("../font/ShipporiMinchoB1-Regular.ttf") format("truetype");
    font-weight: 400;
}
@font-face {
	font-family: "Shippori Mincho";
	src: url("../font/ShipporiMinchoB1-Medium.woff") format("woff"),url("../font/ShipporiMinchoB1-Medium.ttf") format("truetype");
    font-weight: 500;
}
@font-face {
	font-family: "Shippori Mincho";
	src: url("../font/ShipporiMinchoB1-SemiBold.woff") format("woff"),url("../font/ShipporiMinchoB1-SemiBold.ttf") format("truetype");
    font-weight: 600;
}
@font-face {
	font-family: "Shippori Mincho";
	src: url("../font/ShipporiMinchoB1-Bold.woff") format("woff"),url("../font/ShipporiMinchoB1-Bold.ttf") format("truetype");
    font-weight: 700;
}
.Noto {
    font-family: "Noto Sans";
}
.Merri {
    font-family: 'Merriweather', serif;
}
.Shippori {
    font-family: 'Shippori Mincho', serif;
}

/* # =================================================================
   # 共通要素
   # ================================================================= */
.wrap  {
    font-family: "Shippori Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝","Yu Mincho", "游明朝体", "YuMincho","ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 18px;
	line-height: 1.7;
	color: #000;
    overflow: hidden;
}
main {

}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a {
	color: inherit;
	transition: all .25s;
	text-decoration: none;
}
a:hover {
	opacity: 0.8;
}


h1, h2, h3, h4 {
	font-weight: bold;
}
p {
	line-height: 2.3;
	margin-bottom: 1.5em;
}

header {
	width: 100%;
}
#common_header {
    position: relative;
    z-index: 50;
}
#toggleArea {
    position: fixed;
    top: calc(50% - 10px);
    left: 40px;
    width: 34px;
    font-size: 9px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFF;
    font-family: 'Merriweather', serif;
    cursor: pointer;
    z-index: 100;
}
.toggle {
    display: block;
    position: relative;
    height: 22px;
}
.toggle::before, .toggle::after {
    content: "";
    width: 34px;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    left: 0;
    transition: transform 0.15s;
    z-index: 10;
}
.toggle::before {
    top: 0;
}
.toggle::after {
    top: 10px;
}
.open #toggleArea {
    color: #FFF!important;
}
.open .toggle::before, .open .toggle::after {
    background-color: #FFF!important;
    top: calc(50% - 8px);
}
.open .toggle::before {
    transform: rotate(45deg);
}
.open .toggle::after {
    transform: rotate(135deg);
}
#toggleArea.invert {
    color: #000;
}
.invert .toggle::before, .invert .toggle::after {
    background-color: #000;
}
.drawer {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    color: #FFF;
    background: linear-gradient(to right, #000 0%, transparent 70%);
    background: -webkit-linear-gradient(0deg, #000 0%, transparent 70%);
    padding: 90px 140px;
    z-index: 10;
}
.drawer > .relative {
    height: 100%;
}
.drawer .logo50th {
    margin-bottom: 55px;
}
.drawer nav li {
    letter-spacing: 0.1em;
    margin-bottom: 20px;
}
.drawer nav li span {
    display: block;
    color: rgba(255,255,255,0.6);
    font-size: 12px;
}
.drawer .addrBox {
    position: absolute;
    bottom: 0;
    font-family: "Noto Sans";
    font-size: 12px;
    line-height: 1.6;
}
.drawer .addrBox .logomark {
    margin-bottom: 15px;
}

footer {
    text-align: center;
	color: #FFF;
    background: radial-gradient(circle at top left, #A7865F 10%, #6C4F2C 75%);
    background: -webkit-radial-gradient(circle at top left, #A7865F 10%, #6C4F2C 75%);
    padding: 2vw 0 1vw;
}
.footerLogo {
    margin-bottom: 0.8vw;
}
.copyright {
    font-family: 'Merriweather', serif;
    font-size: 11px;
    letter-spacing: 0.1em;
    font-weight: 300;
}


.relative { position: relative; }
.container {
	width: 82%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

.scPa {
	padding-top: 8vw;
	padding-bottom: 8.8vw;
}
.scPt {
    padding-top: 8vw;
}
.scPb {
	padding-bottom: 8.8vw;
}
.mb0 { margin-bottom: 0!important;}
.sp, .spInline { display: none; }
.dNone { display: none; }
.dFlex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


/* # =================================================================
   # 見出し・文字
   # ================================================================= */
.txtWh {
	color: #FFF;
}
.underline {
    text-decoration: underline;
}
.ttlCenter {
    font-family: 'Shippori Mincho', serif;
    font-size: clamp(32px, 3.5vw, 40px);
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.7;
    margin-bottom: 60px;
}
.ttlCenter span {
    display: block;
    font-size: 18px;
    color: #B28146;
    letter-spacing: 0.15em;
    margin-top: 0.1em;
}


/* # =================================================================
   # ページコンテンツ
   # ================================================================= */

#mv {
	position: relative;
    background: url("../img/mv.jpg") no-repeat center center / cover;
    height: calc(100vh - 25px);
}
.mvLogo {
    position: absolute;
    top: 30px;
    left: 40px;
    max-width: 159px;
}
h1 {
    position: absolute;
    top: 48%;
    left: 17vw;
    font-family: "Shippori Mincho";
    text-align: center;
    color: #FFF;
    font-size: clamp(30px, 2.7vw, 53px);
    transform: translateY(-50%);
}
h1 span {
    display: block;
    margin-bottom: 0.4em;
}
h1 img {
    width: 25.6vw;
}
#mv .notes {
    font-family: "Noto Sans";
    color: #AFAFAF;
    font-size: clamp(10px, 0.65vw, 11px);
    position: absolute;
    bottom: 40px;
    left: 40px;
}

#scIntroduction {
    position: relative;
	
    overflow: hidden;
}
#scIntroduction .ttlCenter {
    font-size: clamp(40px, 3.5vw, 50px);
    white-space: nowrap;
}
#scIntroduction .container {
    max-width: 786px;
    position: relative;
    z-index: 2;
}
#scIntroduction p {
    margin-bottom: 4.5vw;
}
.btn {
    display: block;
    color: #FFF;
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    background: radial-gradient(circle at top left, #A7865F, #6C4F2C 80%);
    background: -webkit-radial-gradient(circle at top left, #A7865F, #6C4F2C 80%);
    outline: 1px solid #FFF;
    outline-offset: -7px;
    max-width: 358px;
    padding: 20px 15px;
    margin: 0 auto;
}
#scIntroduction .btn {
    width: 47%;
}
.bgArea {
    position: absolute;
    top: 50%;
    left: 0;
    height: 100%;
    transform: translateY(-50%);
    z-index: 1;
}
.toLeft, .toRight {
    display: flex;
    width: 4500px;
    height: 50%;
}
.toLeft img:first-child {
    animation: toLeft1 200s -100s linear infinite;
    -webkit-animation: toLeft1 200s -100s linear infinite;
}
.toLeft img:last-child {
    animation: toLeft2 200s linear infinite;
    -webkit-animation: toLeft2 200s linear infinite;
}
.toRight img:first-child {
    animation: toRight1 200s -100s linear infinite;
    -webkit-animation: toRight1 200s -100s linear infinite;
}
.toRight img:last-child {
    animation: toRight2 200s linear infinite;
    -webkit-animation: toRight2 200s linear infinite;
}
@keyframes toLeft1 {
	0% { transform: translateX(100%); }
	to { transform: translateX(-100%); }
}
@-webkit-keyframes toLeft1 {
	0% { transform: translateX(100%); }
	to { transform: translateX(-100%); }
} 
@keyframes toLeft2 {
	0% { transform: translateX(0); }
	to { transform: translateX(-200%); }
}
@-webkit-keyframes toLeft2 {
	0% { transform: translateX(0); }
	to { transform: translateX(-200%); }
} 
@keyframes toRight1 {
	0% { transform: translateX(-100%); }
	to { transform: translateX(100%); }
}
@-webkit-keyframes toRight1 {
	0% { transform: translateX(-100%); }
	to { transform: translateX(100%); }
} 
@keyframes toRight2 {
	0% { transform: translateX(-200%); }
	to { transform: translateX(0); }
}
@-webkit-keyframes toRight2 {
	0% { transform: translateX(-200%); }
	to { transform: translateX(0); }
} 

.bgGray {
    background: #F2F2F2;
}
.bgObj {
    position: absolute;
    z-index: 0;
}
#scExhibition {
    margin-bottom: 5vw;
}
#scExhibition .bgObj {
    top: 10.5vw;
    left: 0;
    max-width: 48vw;
}
#scMainExhibit .bgObj {
    top: 2vw;
    right: 3.5vw;
    max-width: 40vw;
}
.exhCntnt {
    background: #FFF;
    width: 684px;
    padding: 55px;
    margin: 0 auto;
}
.exhCntnt .period {
    margin-bottom: 35px;
}
.exhCntnt dt {
    font-size: 13px;
    margin: 1.3em 0 0.3em;
}
.exhCntnt dd {
    font-size: 16px;
    padding-bottom: 0.8em;
    border-bottom: 1px solid #000;
}
.exhibit01 {
    margin-bottom: 30px;
}
.exhibit02 {
    margin-bottom: 80px;
}
.exhibit01 .img, .exhibit02 .img {
    width: 40.5%;
}
.exhibit01 .txt, .exhibit02 .txt {
    width: 59.5%;
}
.ttlLeft {
    font-size: clamp(28px, 1.8vw, 34px);
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 0.9em;
}
.ttlLeft span {
    display: block;
    color: #B28146;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.13em;
    margin-bottom: 0.7em;
}
#scMainExhibit p {
    font-family: "Noto Sans";
    font-size: 16px;
    line-height: 2;
}
.exhibit01 .img {
    transform: translateX(-40px);
}
.exhibit02 .img {
    order: 2;
    transform: translateX(40px);
}
.exhSl .slick-dots {
    font-family: 'Merriweather', serif;
    bottom: -38px;
    text-align: right;
}
.exhSl .slick-dots li {
    height: auto;
    width: auto;
    line-height: 1;
    color: rgba(0,0,0,0.4);
    letter-spacing: 0.15em;
    padding-left: 7px;
    margin: 0;
}
.exhSl .slick-dots li.slick-active {
    color: #000;
}
.exhSl .slick-dots li:first-child {
    border-right: 1px solid #000;
    padding-right: 7px;
}
.reproExh {
    background: #FFF;
    padding: 38px;
    box-shadow: 0 3px 16px rgba(0,0,0,0.16);
}
.reproExh .txt {
    width: 51%;
}
.reproExh .img {
    order: 2;
    width: 45%;
}
.movieRow {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    grid-gap: min(10vw,60px) 6%;
    margin-top: min(6vw, 45px);
}
.movieRow > div {
    width: 47%;
}
#scMovie h3 {
    font-family: "Noto Sans";
    font-size: clamp(16px,1.5vw,18px);
    font-weight: 500;
    margin-bottom: 0.4em;
}
.movieArea {
    position: relative;
    height: 0;
    padding-top: 56.25%;
    margin-bottom: min(4vw, 15px);
}
.movieArea iframe {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}
.movieRow p {
    font-family: "Noto Sans";
    font-size: 16px;
    line-height: 2;
    margin-bottom: 0;
}
#scVr {
    background: url("../img/vr-bg.jpg") no-repeat center center /cover;
    padding: 4vw 0 4.5vw;
}
#scVr .cntnt {
    width: 65%;
    color: #FFF;
    padding: 0 8%;
    margin-left: auto;
}
#scVr .cntnt .dFlex {
    align-items: flex-end;
    margin-bottom: 1.5vw;
}
#scVr .txt {
    width: 69%;
}
#scVr .qr {
    margin-bottom: 10px;
}
#scVr p {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.8;
    margin-bottom: 0;
}
.credit {
    font-size: 13px;
    margin-bottom: 8px;
}
.engCredit {
    /*text-align: justify;
    text-align-last: justify;*/
    text-align: center;
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    background: #2E308E;
    border: 1px solid #FFF;
    padding: 5px 8px 2px;
}
#scVr .vrSiteLink {
    display: none;
}

#scLecture {
    background: url("../img/event-bg.jpg") no-repeat center bottom / contain;
}
#scLecture .cntnt {
    max-width: 570px;
    margin: 3.5vw auto 0;
}
.eventDate {
    text-align: center;
    margin-bottom: 25px;
}
#scLecture .cntnt dl {
    line-height: 1.6;
    border-bottom: 1px solid #000;
    padding: 1.1em 0 0.8em;
    
}
#scLecture .cntnt dl.dFlex {
    justify-content: flex-start;
    column-gap: 0.5em;
}
#scLecture .cntnt dt {
    font-size: 13px;
    margin-bottom: 0.5em;
}
#scLecture .cntnt dd {
    font-size: 16px;
}
#scLecture .cntnt dd .dFlex:not(:last-child) {
    margin-bottom: 10px;
}
#scLecture .cntnt dl + div {
    font-size: 14px;
    margin: 1.7em 0 2.3em;
}
#scAccess {
    background: #F7F7F7;
    padding: 4vw 0 4.5vw;
}
#scAccess .dFlex {
    justify-content: center;
    column-gap: 30px;
}
#scAccess .map {
    max-width: 270px;
}
#scAccess .small {
    font-size: 13px;
    margin-bottom: 15px;
}
#scAccess .address {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 18px;
}
#scAccess .address a {
    color: #B28146;
    font-size: 12px;
    display: inline-flex;
    column-gap: 5px;
    margin-left: 8px;
}



/* # =================================================================
   # レスポンシブ要素
   # ================================================================= */

@media screen and (max-width: 1500px) {

    .toLeft, .toRight {
        width: 4000px;
    }

}


/* Large（タブレットL・PC） */
@media screen and (max-width: 1024px) {
   
    #scVr {
        background-position: left 36% center;
    }
    #scVr .cntnt {
        width: 50%;
        padding: 0;
    }
    #scVr .qr {
        display: none;
    }
    #scVr .cntnt .dFlex {
        display: block;
    }
    #scVr .txt {
        width: 100%;
        
    }
    #scVr .vrSiteLink {
        display: block;
        margin: 25px 0 20px;
    }
    #scVr .vrSiteLink .btn {
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: "Noto Sans";
        font-size: 16px;
        font-weight: 500;
        border-radius: 50px;
        outline: none;
        border: 1px solid #FFF;
        padding: 12px;
    }
    #scVr .vrSiteLink .btn img {
        margin-left: 10px;
    }

}

/* Medium（タブレット） */
@media screen and (max-width: 768px) {
    #toggleArea {
        top: 70px;
        left: auto;
        right: 20px;
    }
    .drawer {
        display: block;
        background: rgba(0,0,0,0.8);
        transition: all 0.3s cubic-bezier(.06,.41,.42,.93);
        transform: translateX(100%);
    }
    .open .drawer {
        transform: translateX(0);
    }
	.wrap {
		font-size: 16px;
	}
	#mv {
        height: calc(45vh - 25px);
    }

    
    .toLeft, .toRight {
        width: 1500vw;
    }
    #scIntroduction p {
        margin-bottom: 30px;
    }
    #scAccess .address a {
        margin: -3px 0 10px 0;
    }

	
}



/* モバイル */
@media screen and (max-width: 600px) {
    .drawer {
        
        padding: 60px 25px 40px;
    }
    .drawer .logo50th {
        margin-bottom: 40px;
    }
    .drawer nav li {
        margin-bottom: 15px;
    }
    .drawer .addrBox {
        left: 50%;
        transform: translateX(-50%);
    }
    .drawer .addrBox .address {
        white-space: nowrap;
    }
    footer {
        padding: 8vw 0 3.5vw;
    }
    .footerLogo {
        margin-bottom: 5vw;
    }
    .container {
		width: 100%;
		padding-left: 25px;
		padding-right: 25px;
	}
    .sp { display: block; }
	.spInline { display: inline; }
	.spBlock { display: block; }
	.spNone { display: none; }
    .scPa {
        padding-top: 16vw;
        padding-bottom: 20vw;
    }
    .scPt {
        padding-top: 16vw;
    }
    .scPb {
        padding-bottom: 20vw;
    }
    #mv {
        background: none;
        height: auto;
    }
    #mv > div {
        background: radial-gradient(circle at top left, #A7865F, #6C4F2C 80%);
        background: -webkit-radial-gradient(circle at top left, #A7865F, #6C4F2C 80%);
        padding: 20px 25px 25px;
    }
    h1 {
        position: static;
        transform: translateY(0);
    }
    h1 img {
        width: 90vw;
    }
    .mvLogo {
        max-width: 145px;
        top: 10px;
        left: 15px;
    }
    #mv .notes {
        position: static;
        margin-top: 30px;
    }
    .ttlCenter {
        margin-bottom: 40px;
    }
    .btn {
        max-width: 100%;
    }
    #scIntroduction .btn {
        width: 100%;
    }
    #scIntroduction .btn:first-child {
        margin-bottom: 15px;
    }
    #scExhibition {
        margin-bottom: 14vw;
    }
    #scExhibition .bgObj {
        top: 38vw;
        left: -60vw;
        max-width: 87vw;
    }
    #scMainExhibit .bgObj {
        top: 17vw;
        right: -44vw;
        max-width: 81vw;
    }
    .exhCntnt {
        width: calc(100% - 40px);
        padding: 23px;
    }
    .exhCntnt .period {
        margin-bottom: 30px;
    }
    .exhibit01 {
        margin-bottom: 50px;
    }
    .exhibit02 {
        margin-bottom: 60px;
    }
    .exhibit01 .img, .exhibit02 .img {
        transform: translateX(0);
        width: 100%;
    }
    .exhibit01 .img {
    margin-bottom: 25px;
    }
    .exhibit01 .txt, .exhibit02 .txt {
        width: 100%;
    }
    .exhSl.slick-slider {
        margin-bottom: 60px;
    }
    .reproExh .img, .reproExh .txt {
        width: 100%;
    }
    .reproExh .img {
        margin-bottom: 20px;
    }
    .reproExh {
        padding: 20px;
    }
    .movieRow > div {
        width: 100%;
    }
    
    #scVr {
        padding: 0 0 15vw;
        background: #000;
    }
    #scVr .cntnt {
        width: 100%;

    }
    
    #scVr p {
        text-align: center;
    }
    .credit {
        display: flex;
        font-size: 12px;
        letter-spacing: 0;
        margin-bottom: 20px;
    }
    .credit span:first-child {
        white-space: nowrap;
    }
    .engCredit {
        font-size: 11px;
        text-align: justify;        
    }
    
    #scLecture {
        background: url("../img/event-bg-sp.jpg") no-repeat center bottom / contain;
    }
    .eventDate {
        margin-bottom: 15px;
    }
    
    #scAccess {
        padding: 14vw 0 18vw;
    }
    #scAccess .map {
        max-width: 100%;
        margin-bottom: 25px;
    }
    #scAccess .small + a img {
        width: 100%;
    }
	
}


