@charset "utf-8";
/*
Theme Name: 原爆の図 丸木美術館
Theme URI: https://marukigallery.jp/wp-content/themes/maruki/
Description: Maruki theme
Version: 1.0
Author: Coco-Factory
Author URI: http://coco-factory.jp
*/

@import url(//use.fontawesome.com/releases/v5.0.11/css/all.css);

/* # =================================================================
   # Original style
   # ================================================================= */

body{
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
    font-weight:500;
    font-style: normal;
	background:#f6f6f6;
	color: #333;
	font-size:0.95rem;
	line-height:1.85;
	overflow-x:hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
}

small{
	display: block;
    letter-spacing: 0.1em;
}

a{
	color: #333;
	text-decoration: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
	outline: none;
}

em{
    font-style: italic;
}

.font-s{
    font-size:0.8rem;
}

.font-big{
    font-size: 2vw;
}

@media screen and (max-width:850px) {
.font-big{
    font-size: 1.5rem;
}
   
}

ul{
	list-style: none;
}

.wrapper ul{
	margin:0 0 50px 1.2em;
}

.wrapper ul.form-list,
.wrapper ul.blocks-gallery-grid{
	margin:0 0 50px 0;
}

.mgnone ul.blocks-gallery-grid{
	margin:0!important;
}

.wrapper ul li{
	list-style: disc;
}

.wrapper ul.form-list li,
.wrapper ul.blocks-gallery-grid li{
     list-style: none;   
}

.wrapper ol{
	margin:0 0 50px 2.2em;
}

.wrapper ol li{
	list-style: decimal;
}

.wrapper p{
	margin:0 0 50px 0;
}

.wrapper ol a,
.wrapper ul a,
.wrapper p a{
    color: #285395;
}

.wrapper ol a:hover,
.wrapper ol a:active,
.wrapper ul a:hover,
.wrapper ul a:active,
.wrapper p a:hover,
.wrapper p a:active{
	text-decoration: underline;
}

.page-id-1067 .l-inner p a,
.page-id-1058 .l-inner p a,
.box a,
.wp-block-table a{
    color: #285395;
    text-decoration: underline;
}

.page-id-1067 .l-inner p a:hover,
.page-id-1058 .l-inner p a:hover,
.box a:hover,
.box a:active,
.wp-block-table a:hover{
    text-decoration: none;
}

*{box-sizing:border-box;}

.pcnone{
		display:none;
}

@media screen and (max-width:1023px) {
.pcnone{
		display: block;
}
.spnone{
	display: none;
}
}

.cl{
	overflow: hidden;
}


/* wordpress editor */

.aligncenter{
	display: block;
	clear: both;
	margin:0 auto 30px auto;
	text-align:center;
}
 
.alignleft{
	float:left;
	margin:0 30px 30px 0;
}

.alignright{
	float:right;
	margin:0 0 30px 30px;
}

@media only screen and (max-width:465px){

.alignleft,
.alignright{
	float: none;
	display: block;
	margin:0 auto 20px auto;
}	
	
}

.wp-block-columns{
    flex-wrap: nowrap!important;    
}

@media only screen and (max-width:599px){

.wp-block-columns{
    flex-wrap: wrap!important;    
}
    
}

.wp-block-media-text,
.wp-block-table,
.wp-block-separator{
    margin: 0 0 50px 0;
}

.wp-block-table th,
.wp-block-table td{
    padding: 10px;
}

.gallery ul{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.gallery-columns-3 .gallery-item{
	width:31.333%;
	margin:0 0 15px 0;
}

.gallery-columns-4 .gallery-item{
	width:23%;
	margin:0 0 15px 0;
} 

.wp-caption-text{
	display: block!important;
}

/* video */
.wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 51.65%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  z-index: 2;
}

.wp-block-embed__wrapper iframe, .wp-block-embed__wrapper object, .wp-block-embed__wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* btn */

.btn{
	position: relative;
	border: 1px solid #555;
    padding: 8px 30px;
    text-align: center;
    transition: all .2s linear;
    color: #333!important;
    display: inline-block;
}

.btn.d-block{
	display:block!important;
}

@media screen and (max-width:450px) {
.btn{
    text-align: left;
}
}

.btn:hover{
    text-decoration: none!important;
    background: #eee;
}


.btn::after{
    content: "";
    position: absolute;
    top: 41%;
    right: 13px;
    width: 6px;
    height: 6px;
    border: 1px solid;
    border-color: #666 #666 transparent transparent;
    transform: rotate(45deg);
    transition: all 0.3s;
}
.btn:hover::after{
	right:16px;
}

.btn.arrowunder::after{
    left: 13px;
    right:inherit;
    transform: rotate(135deg);
}
.btn.arrowunder:hover::after{
	right:inherit;
    top:43%;
}


.select-link a{
	position: relative;
	border: 1px solid #285395;
    padding: 8px 20px 8px 30px;
    text-align: center;
    transition: all .2s linear;
    color:#285395!important;
    display: inline-block;
}

.select-link li.current a,
.select-link a:hover{
    text-decoration: none!important;
    background: #285395;
    color: #fff!important;
}

.select-link a::after{
    content: "";
    position: absolute;
    top: 41%;
    left: 10px;
    width: 6px;
    height: 6px;
    border: 1px solid;
    border-color: #285395 #285395 transparent transparent;
    transform: rotate(45deg);
    transition: all 0.3s;
}

.select-link li.current a::after,
.select-link li.current a:hover::after,
.select-link a:hover::after{
    border-color: #fff #fff transparent transparent;
    transform: rotate(135deg);
}

@media screen and (max-width:450px) {
    .select-link{
        justify-content: flex-start!important;
    }
    .select-link li{
        width: 100%;
        margin: 0 0 10px 0;
    }
    .select-link li a{
        display: block;
    }
}

/* img
------------------------------ */
img{
	max-width:100%;
	height: auto;
}

img[src$=".svg"],
img[src$=".svgz"]{
	width: 100%;
}


/* iframe
------------------------------ */

.iframe-area{ position:relative; margin:15px 0;	padding-bottom:51.65%; padding-top:30px; height:0; overflow:hidden;}
.iframe-area iframe,
.iframe-area object,  
.iframe-area embed{ position:absolute; top:0; left:0; width:100%; height:100%; }


/* bg
------------------------------ */

.bg-white{
	background:#fff;
}

.bg-gray{
	background:#f6f6f6;
}



/* color
------------------------------ */

.font-red{
	color:#cc0000;
}


/* align
------------------------------ */

.txt-center{
	text-align: center;
}

.txt-right{
	text-align: right;
}

/* margin padding
------------------------------ */

.m-auto{
	margin-right:auto;
	margin-left:auto;
}

.mx-10{
	margin-right:10px;
	margin-left:10px;
}

.my-30{
	margin-top:30px;
	margin-bottom:30px;
}

.my-50{
	margin-top:50px;
	margin-bottom:50px;
}

@media screen and (max-width:768px) {
.my-50{
	margin-top:30px;
	margin-bottom:30px;
}
}

.mr-10 {
	margin-right:10px;
}

.mr-20 {
	margin-right:20px;
}
.mr-30 {
	margin-right:30px;
}

.mt-20 {
	margin-top:20px;
}
.mt-30 {
	margin-top:30px;
}
.mt-50 {
	margin-top:50px;
}
@media screen and (max-width:768px) {
.mt-50 {
	margin-top:30px;
}	
}

.mb-10 {
	margin-bottom:10px;
}

.mb-20 {
	margin-bottom:20px;
}

.mb-30 {
	margin-bottom:30px;
}

.mb-40 {
	margin-bottom:40px;
}

.mb-50 {
	margin-bottom:50px;
}

.mb-80 {
	margin-bottom:80px;
}

@media screen and (max-width:768px) {
.mb-50 {
	margin-bottom:30px;
}	

.mb-80 {
	margin-bottom:50px;
}	
}

.p-10{
	padding:10px;
}

.p-20{
	padding:20px;
}

.p-30{
	padding:30px;
}

.p-50{
	padding:50px;
}

.p-80{
	padding:80px;
}

@media screen and (max-width:1035px) {
.p-80{
	padding:80px 0 0 0;
}

}

@media screen and (max-width:768px) {
.p-80{
	padding:0;
}
.p-50{
	padding:30px;
}
}

.px-10{
	padding-right:10px;
	padding-left:10px;
}

.px-15{
	padding-right:15px;
	padding-left:15px;
}

.px-20{
	padding-right:20px;
	padding-left:20px;
}

.px-30{
	padding-right:30px;
	padding-left:30px;
}

.py-20{
	padding-top:20px;
	padding-bottom:20px;
}

.py-30{
	padding-top:30px;
	padding-bottom:30px;
}

.py-40{
	padding-top:40px;
	padding-bottom:40px;
}

.py-50{
	padding-top:50px;
	padding-bottom:50px;
}

.py-80{
	padding-top:80px;
	padding-bottom:80px;
}


@media screen and (max-width:768px) {
.py-50{
	padding-top:30px;
	padding-bottom:30px;
}

.py-80{
	padding-top:50px;
	padding-bottom:50px;
}

}

.pl-30{
	padding-left:30px;
}

.pr-30{
	padding-right:30px;
}
.pt-30 {
	padding-top:30px;
}
.pt-40 {
	padding-top:40px;
}
.pt-50 {
	padding-top:50px;
}

.pt-100 {
	padding-top:100px;
}

.pb-10 {
	padding-bottom:10px;
}

.pb-20 {
	padding-bottom:20px;
}

.pb-30 {
	padding-bottom:30px;
}

.pb-40 {
	padding-bottom:40px;
}

.pb-50 {
	padding-bottom:50px;
}

.pb-60 {
	padding-bottom:60px;
}

.pb-80 {
	padding-bottom:80px;
}

/* flex
------------------------------ */

.flex{
	display: flex;
}

.flex-wrap{
	flex-wrap:wrap;
}

.justify-between{
	justify-content: space-between;
}

.justify-around{
	justify-content: space-around;
}

.justify-center{
	justify-content: center;
}

.justify-end{
     justify-content: flex-end;   
}


.align-items-center{
	align-items: center;
}

.align-content-center{
	align-content: center;
}

.row-reverse{
	flex-direction: row-reverse;
}

/* INNER
------------------------------ */

.inner {
	width:92%;
	margin:0 auto;
}

.l-inner {
	width:92%;
	max-width:1100px;
	margin:0 auto;
}

.l-inner-m {
	width:92%;
	max-width:980px;
	margin:0 auto;
}

@media screen and (max-width:500px) {
.en .inner {
    width: 86%;
}

.l-inner-m {
	width:100%;
}
}

.wd10{
	width:10%;
}

.wd15{
	width:15%;
}

.wd20{
	width:20%;
}

.wd23{
	width:23%;
}

.wd25{
	width:25%;
}

.wd30{
	width:30%;
}

.wd31{
	width:31%;
}


.wd40{
	width:40%;
}

.wd43{
    width:43%;
}

.wd50{
	width:48%;
}

.wd55{
	width:55%;
}

.wd60{
	width:58%;
}

.wd70{
	width:68%;
}

.wd80{
	width:78%;
}

.wd90{
	width:88%;
}

.wd100{
	width:100%;
}

@media screen and (max-width:960px) {
    .wd23{
        width:48%;
    }
}

@media screen and (max-width:768px) {
.wd10,
.wd20,
.wd30,
.wd31,
.wd40,
.wd43,
.wd50,
.wd55,
.wd60,
.wd70,
.wd80,
.wd90{
	width:100%;
}

.pn-link .wd30{
    width:30%;      
}

.pn-link .wd70{
    width:65%;    
}
	
}

@media screen and (max-width:375px) {
.wd23{
	width:100%;
}    
}

/* HEADING
------------------------------ */

.heading01{
	line-height: 1.4;
	font-family: a-otf-ryumin-pr6n, serif;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.heading01 span.title{
	display: block;
	font-size:2rem;
}

.heading01 span.cap{
	font-size:0.95rem;
	color:#285395;
}

.heading02{
	font-size:1.2rem;
    color: #285395;
	margin:0 0 30px 0;
	position:relative;
}

.heading03{
	font-size:1.4rem;
	font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;
}

.heading04{
    font-size:1.4rem;
}

.heading04a{
    text-align: center;
    padding: 0 0 10px 0;
}

.wrapper h4,
.heading04a{
    position: relative;
    margin: 0 0 50px 0;
    color: #285395;
    font-size:1.2rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

.heading04a.py-50{
    padding: 50px 0 10px 0;
}


.heading04a::after{
    content:'';
    position: absolute;
    width:3.5%;
    height: 1px;
    background:#285395;
    bottom:-5px;
    left: 48%; 
}

.heading05{
    font-size:1.1rem;
    border-bottom: dashed #666 1px;
    padding: 0 0 10px 0;
}

.heading06{
    position: relative;
    font-size:1.4rem;
}

.heading06:after{
    content:'';
    position: absolute;
    width:3%;
    height: 1px;
    background:#888;
    bottom:-10px;
    left:48%;
}

@media screen and (max-width:768px) {
.heading01 span.title{
	font-size:1.5rem;
}

.heading01 span.cap{
	font-size:0.8rem;
}
    
.heading03,
.heading04{
    font-size:1.2rem;
}
    
.heading03{
    text-align: center;
}
    
.heading03 span{
    display: block;
}

    
.heading04a,
.wrapper h4{
    font-size:1.1rem;
}
    
.heading02{
	font-size:1rem;
}	
}



/* LOADING
------------------------------ */

#splash {
	position: fixed;
	width: 100%;
	height: 100%;
    background:#285395;
	z-index: 9999999;
	text-align:center;
	color:#fff;
}

#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#splash_logo img{
	width:180px;
}

/* HEADER
------------------------------ */

#header{
    position: relative;
    background:#000;
    height: 40vh;
}

.header-img{
    position: absolute;
    left:0;
    top:0;
    opacity: 0.6;
    width:100%;
    height: 40vh;
	background-position:center!important;
	background-size: cover!important;
	background-repeat: no-repeat!important;
}


.en #header,
.en .header-img{
    height:100vh;
}

.en .header-img{
    opacity: 0.8;
}

.identity{
    position: absolute;
    left:40px;
    top:40px;
    z-index:5;
}


.identity a{
    display: block;
}

.identity img{
    width:170px;   
}




@media screen and (max-width:768px){
#header,
.header-img{
 height:250px;   
}
	
.identity{
    left:20px;
    top:20px;
	}

}

@media screen and (max-width:450px){
.identity {
    top: 50%;
    left: 50%;
   margin: -23px 0 0 -90px;
}
}


.header-link{
    position: absolute;
    z-index: 2;
    top:0;
    right:6.5%;
    padding:20px 0;
    text-transform: uppercase;
}

.header-link li{
    position: relative;
}

.header-link li a::after{
	position: absolute;
    bottom: 0;
    left: 10%;
    content: '';
    width: 80%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}

.header-link li a:hover::after,
.header-link li a:active::after{
    transform-origin: center top;
    transform: scale(1, 1);
}

.header-link li:nth-child(1)::before,
.header-link li:nth-child(2)::before,
.header-link li:nth-child(4)::before{
     content:'';  
    position: absolute;
    top:8px;
    left:0;
    width: 0;
    height: 0;
    border-left: 7px solid #fff;
    border-top: 5px solid transparent;
    border-bottom:5px solid transparent;
}

.header-link li:nth-child(3)::before{
    font-family: "Font Awesome 5 Free";
    content: "\f0c1";
    color: #fff;
    font-weight: bold;
    padding: 0 10px 0 0;
}

.header-link a{
    color: #fff;
}

.ticket-btn,
.donate-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    background:#952832;
    color: #fff; 
    position: fixed;
    top: 40%;
    right: 0;
    width: 60px;
    z-index: 2;
    height: 150px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    letter-spacing: 0.1em;
}

.donate-btn:hover{
    background:#dca54a;   
}

.ticket-btn{
    top: 20%;
    right: 0;  
    background:#285395;
}

.ticket-btn:hover{
    background:#fff;
    color: #333;
}

@media screen and (max-width: 1023px){
.ticket-btn{
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    top: inherit;
    bottom: 0;
    right: 0; 
    width:100%;
    height: inherit;
    padding:15px;
    background:#dca54a;  
    color: #fff;
    }
}

/* GNAVI
------------------------------ */

#g-nav{
    position: absolute;
    top: 70px;
    width:100%;
    padding: 0 6.5% 0 0;
}

#g-nav ul li a{
	position: relative;
	display: block;
	text-decoration: none;
	color: #fff;
    border-left: 1px solid #fff;
    padding: 0 20px;
	transition:all .3s;
    white-space: nowrap;
}

#g-nav ul li:first-child a{
    border:none;
}

@media screen and (max-width:1180px){
#g-nav ul li a{
    padding: 0 10px;
}    
}

#g-nav ul li a::after{
	position: absolute;
    bottom: 0;
    left: 10%;
    content: '';
    width: 80%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}

#g-nav ul li.current a::after,
#g-nav ul li a:hover::after,
#g-nav ul li a:active::after{
    transform-origin: center top;
    transform: scale(1, 1);
}

#g-nav ul ul li a::after{
    display: none;
}

#g-nav ul li:last-child a{
    border:none;
}

#g-nav ul li.has-child img{
	max-width: 100%;
	height: auto;
	transition: all .5s;
	vertical-align: bottom;
}

#g-nav ul li.has-child img:hover{
	transform: scale(1.2);
}

#g-nav ul li.has-child dl{
    background: #fff;
    border:3px solid #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all .5s;
}

#g-nav ul li.has-child dl:hover{
     border-color:#aaa;   
}

#g-nav ul li.has-child dt{
	overflow: hidden;
	height: 12vh;
    width:40%;
}

#g-nav ul li.has-child dd{
    width:60%;
    padding: 20px;
    white-space:normal!important;
}

#g-nav li.has-child ul{
    position:absolute;
	left:0;
	top:62px;
	z-index: 4;
	display: flex;
	justify-content: space-around;
    align-items: center;
	flex-wrap: wrap;
	background:#f3f3f3;
	width:100%;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}

#g-nav li.has-child:hover > ul{
  visibility: visible;
  opacity: 1;
}

#g-nav li.has-child ul#visit-link li{
    width:25%;
}

#g-nav li.has-child ul li{
    width:30%;
}

#g-nav li.has-child ul li a{
    color:#333;
    border:none;
    padding:50px 20px;
}

#g-nav li.has-child ul li a:hover{
    color:#285395;
}

#g-nav p.logo{
    display: none;
}

@media screen and (max-width:1023px){
    
.header-inner.wd80{
    width: 100%;
}
    
.header-link{
    right: 70px;
}

.header-link li:nth-child(1),
.header-link li:nth-child(2),
.header-link li:nth-child(5),
.header-link li:nth-child(6),
.header-link li:nth-child(7),
.donate-btn,
.header-link li a::after{
    display: none;
}

#g-nav p.logo{
        display: block;
        margin:30px auto;
        width:150px;
}
    
#g-nav ul{
	display: block;
}

#g-nav li.has-child ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;
	opacity:1;
	display: none;
	transition:none;
    transform:  translate3d(0, 0, 0);
}

#g-nav ul li{
    border-bottom:1px solid #ccc;
}
    
#g-nav li.sns,
#g-nav li.sns li{
    border-bottom:none;
    text-align: center;
}

#g-nav li.sns li{
    margin: 30px 0 0 0;
    padding: 0 20px;
}
    
#g-nav li.sns ul{
    display: flex;
    justify-content: center;
    width:100%;
}

#g-nav li.sns li a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    font-size:1.6rem;
}


#g-nav li.has-child ul#visit-link li,
#g-nav li.has-child ul li{
		width:100%;
}
	
#g-nav li.has-child ul li dl{
		justify-content: flex-start;

}
#g-nav li.has-child ul li dt{
		width:75px;
		height: auto;
}

#g-nav li.has-child ul li dd{
    padding: 0 0 0 20px;
}
    
#g-nav ul li a{
    padding: 10px 20px 10px 40px;
    border-left:none;
}
    
#g-nav ul li a::after{
     display: none;
}
    
#g-nav li.has-child ul li a{
    padding: 0;
}
	
#g-nav ul li.has-child > a::before{
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
	top:17px;
	left:20px;
    transform: rotate(135deg);
}
    
#g-nav ul li.has-child.active > a::before{
    transform: rotate(-45deg);
}

#g-nav{
    display: none;
}
    
#g-nav.panelactive{
    display: block;
    position:fixed;
    z-index: 99;
	top: 0;
	width:100%;
    height: 100vh;
    padding: 0;
}

.circle-bg{
    position: fixed;
	z-index:9;
    width: 100px;
    height: 100px;
    background: #285395;
	transform: scale(0);
	right:-18px;
    top:-18px;
    transition: all .6s;
}

.circle-bg.circleactive{
	transform: scale(50);
}

#g-nav-list{
    opacity: 0;
    display: block;
    position: fixed;
    z-index: 99; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#g-nav.panelactive #g-nav-list{
     opacity: 1;
}

#g-nav ul {
	opacity: 0;
    width: 90%;
    margin:0 auto 60px auto;
}
    
#g-nav ul ul{
    margin:0;
}

#g-nav.panelactive ul {
    opacity:1;
}

}

.openbtn{
    display: none;
}

@media screen and (max-width:1023px) {
.openbtn{
    display: block;
	position:fixed;
	top:0;
	right: 0;
	z-index: 999;
	cursor: pointer;
    width: 65px;
    height:65px;
	background:#285395;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 17px;
    height: 2px;
    border-radius: 5px;
	background: #fff;
  	width: 45%;
  }


.openbtn span:nth-of-type(1) {
	top: 18px;
}

.openbtn span:nth-of-type(2) {
	top: 26px;
}

.openbtn span:nth-of-type(3) {
	top: 34px;
}

.openbtn span:nth-of-type(3)::after {
	content:"Menu";
	position: absolute;
    top: 6px;
    left: 1px;
	color: #fff;
	font-size: 0.6rem;
	text-transform: uppercase;
}

.openbtn.active span:nth-of-type(1) {
    top: 25px;
    left: 22px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 37px;
    left: 23px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(3)::after {
	content:"Close";
    transform: translateY(0) rotate(-45deg);
    top: 6px;
    left: 9px;
}
  
}




/* FOOTER
------------------------------ */

.sns-link{
	font-size:1.4rem;
}

.sns-link li a{
    width:50px;
    height:50px;
    border:1px solid #666;   
    border-radius: 25px;
    color:#666;   
}

.sns-link li a:hover{
    background:#666;
    color: #fff;
}

.footer-link{
    line-height: 3.5;
}

.footer-link li{
	position: relative;
	font-size:0.9rem;
}

.footer-link li a:hover{
    color:#000;
}

.footer-link li a::after{
	position: absolute;
    bottom: 8px;
    left: 10%;
    content: '';
    width: 80%;
    height: 1px;
    background: #666;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
}

.footer-link li a:hover::after,
.footer-link li a:active::after{
    transform-origin: center top;
    transform: scale(1, 1);
}

@media screen and (max-width:768px) {
	
.footer-link li a::after{
	display:none;
}
    
#footer .px-20{
    text-align: left;
}

}

#page-top{
    position: relative;
    transition: all 0.5s;
    top:0;
}

#page-top:hover{
    top:-10px;
}


#page-top img{
    width:100px;   
}

#page-top::before {
    content: "";
    position: absolute;
    top:0;
    left:49%;
    width: 15px;
    height: 15px;
    border: 2px solid;
    border-color: #666 #666 transparent transparent;
    transform: rotate(-45deg);
    transition: all 0.3s;
}

#page-top:hover::before {
    top:-5px;
}

/* TOP
------------------------------ */

.top-info-area .top-info-list{
    order:1;
}

.top-info-area header{
    position: relative;
    order:2;  
    display: flex;
    justify-content: center;
    align-items: center;
}

.top-info-area header h2{
    font-size: 1.2rem;
    line-height: 1.4;
    font-family: a-otf-ryumin-pr6n, serif;
    letter-spacing: 0.2em;
    font-weight: 600;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
}

.top-info-area header::before{
     content:'';
    position: absolute;
    background:#aaa;
    width:1px;
    height: 5em;
    top:0;
    left:50%;
}

.top-info-area header::after{
     content:'';
    position: absolute;
    background:#aaa;
    width:1px;
    height:5em;
    bottom:0;
    right:50%;
}

.top-info-area .top-info-detail{
    order:3;
    line-height: 2;
}

.top-info-area .top-info-detail dl:nth-of-type(1) dt,
.top-info-area .top-info-detail dl:nth-of-type(2) dt,
.top-info-area .top-info-detail dl:nth-of-type(3) dt{
    white-space: nowrap;
}

.top-info-area .top-info-detail dl:nth-of-type(1) dt::after,
.top-info-area .top-info-detail dl:nth-of-type(2) dt::after,
.top-info-area .top-info-detail dl:nth-of-type(3) dt::after{
     content:':';
    padding: 0 10px;
}

.top-info-area .top-info-detail .btn{
    letter-spacing: 0.1em;
    font-size: 0.85rem;
}

.top-info-area .top-info-detail dl:last-child br{
    display: none;
}

.border-gr{
    border:3px solid #ccc;
    padding: 20px;
    margin: 0 auto 80px auto;
    text-align: center;
}


@media screen and (max-width:1368px) {
    
.top-info-area .top-info-detail dl:nth-child(1) dd,
.top-info-area .top-info-detail dl:nth-child(2) dd,
.top-info-area .top-info-detail dl:nth-child(3) dd{
    width:100%;
}
  
}

@media screen and (max-width:960px) {
    
.top-info-area .wd10, 
.top-info-area .wd43{
    width:100%;
    margin: 0 0 50px 0;
} 
.top-info-area header {
    order: 2;
}
 
.top-info-area header h2{
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
}

.top-info-area header::before{
    width: 3em;
    height: 1px;
    top:45%;
    left:0;
}

.top-info-area header::after{
    width: 3em;
    height: 1px;
    right: 0;
    top:45%;
}
    
.top-info-area .top-info-list{
    order: 3;
} 
    
.top-info-area .top-info-detail {
    order: 1;
}
    
.top-info-area .top-info-detail dl:first-child,
.top-info-area .top-info-detail dl:nth-child(2),
.top-info-area .top-info-detail dl:nth-child(3){
    background:#eee;
    padding: 10px 20px;
    flex-wrap: wrap;
}
    
.top-info-area .top-info-detail dl:nth-child(4),
.top-info-area .top-info-detail dl:nth-child(5),
.top-info-area .top-info-detail dl:nth-child(6){
        justify-content: center;
}
    
.top-info-area .top-info-detail dl:first-child dt,
.top-info-area .top-info-detail dl:nth-child(2) dt,
.top-info-area .top-info-detail dl:nth-child(3) dt{
    font-weight: bold;
    color: #285395;
}

.top-info-area .top-info-detail dl:nth-of-type(1) dt::after,
.top-info-area .top-info-detail dl:nth-of-type(2) dt::after,
.top-info-area .top-info-detail dl:nth-of-type(3) dt::after{
     content:'';
    padding:0;
}
    
  
.top-info-area .top-info-detail dl:first-child,
.top-info-area .top-info-detail dl:nth-child(2){
    margin: 0;
}

.top-info-area .top-info-detail dl:last-child br{
        display: block;
}

.border-gr{
    text-align: left;
    margin: 0 0 50px 0;
}    
}

.top-about-block{
    position: relative;
    background:#000;
}

.top-about-img{
    position:absolute;
    z-index: 1;
    opacity: 0.7;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    transition: all 0.5s;
}

.top-about-block:hover .top-about-img{
     opacity: 1;   
}

.top-about-block a{
    position: relative;
    z-index: 2;
    color: #fff;
    min-height: 600px;
}

.top-about-block h3{
    font-size: 1.3rem;
	line-height: 1.4;
	font-family: a-otf-ryumin-pr6n, serif;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.top-about-block .top-about-lead{
    position: absolute;
    bottom: 20px;
    left:0;
    width:100%;
    text-align: center;
}

@media screen and (max-width:1280px) {
  .top-about-block .top-about-lead{
    text-align: left;
    }
}

@media screen and (max-width:768px) {
    .top-about-block a{
     min-height:430px;
    }
}


/* COLLABORATION
------------------------------ */

.works-title-area{
    position: relative;
}

.works-title h3{
 	font-size:1.6rem;
	font-family: a-otf-ryumin-pr6n, serif;
    font-weight: 300;  
    text-align: center;
}

.works-size{
    position: absolute;
    bottom:10%;
    color: #666;
}

.works-list:nth-of-type(2n) .flex{
    flex-direction: row-reverse;
}

.works-list figure img{
    width:100%;
}

.works-commentary p{
    margin: 0 0 20px 20px;
    line-height: 2!important;
}

@media screen and (max-width:930px) {
.works-commentary{
    width:100%;
}
    
}
@media screen and (max-width:768px) {
    .lead{
        text-align: left;
    }
.works-title-area{
    display: block;
}
.works-commentary-area{
    justify-content: flex-start;
    flex-direction: row;
}
 .works-commentary p{
    margin: 0 0 20px 0!important;
     padding: 0 20px;
     line-height: 1.8!important;
}
.works-title{
    height: auto;
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    text-orientation:mixed;
    text-align: center;
}

.works-title h3{
    font-size: 1.4rem;
}

.works-size{
    position: relative;
    bottom:inherit;
    padding: 10px 0 0 0;
}
}

/* SUMA
------------------------------ */

.timeline{
    margin: 0 0 50px 0!important;
}

.timeline li{
    position: relative;
	padding:0 0 20px 0;
}

.timeline dl{
	margin:0 0 20px 3em;
}


/*絶対配置で線を設定*/
.border-line {
    /*線の位置*/
	position: absolute;
	left:0.25em;
	top:0;
	width:2px;
	height:0;
	background: #ccc;
}

/*タイムラインの見出し横の丸の位置と形状*/
.timeline li::after{
	content:'';
	position: absolute;
	top:0;
	left:0;
	width:10px;
	height: 10px;
	background:#285395;
	border-radius: 50%;
}

.timeline li dt{
    font-weight: bold;
    margin: 0 0 10px 0;
}

/* NEWS
------------------------------ */

.news-block a{
    border-bottom: 1px dashed #666;
}

@media screen and (max-width:450px) {
.news-block a{
    flex-wrap: wrap;
}
}

.news-block a:hover{
     color:#285395;   
}

.news-block h3{
    font-size:0.95rem;
    font-weight: normal;
}

time{
	color:#666;
}



/* EVENT
------------------------------ */

.topics-block{
    opacity: 0;
}

.topics-block figure{
    overflow: hidden;
}

.topics-block figure img{
	width: 100%;
	height: auto;
	transition: all .5s;
	vertical-align: bottom;
}

.topics-block figure img:hover{
	transform: scale(1.2);
}

.select-year a{
    color: #333!important;
}

.select-year a:hover{
    text-decoration: none!important;
    color:#285395!important;
}

.time{
    color:#666;
    font-size:0.9rem;
    margin: 0 0 20px 0!important;
}

.cat-list{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 20px 0!important;
}

.single-event-en .cat-list{
    justify-content: flex-end;
}

.cat-list span{
    padding:2px 10px;
    margin: 0 0 0 10px;
    white-space: nowrap;
    font-size: 0.8rem;
}

.topics-block .cat-list span{
    margin: 0 10px 10px 0;
    display: block;
}

.cat-list span{
    border:1px solid #ccc;
}

.info-cat-open,
.info-cat-end,
.info-cat-pickup,
.info-cat-comingsoon{
    color: #fff;
    border:none!important;
}

.info-cat-s{
	padding:5px 10px;
	letter-spacing: 0.1em;
	font-size:0.8rem;
}

.link-date{
	color:#666;
	font-size:0.7rem;
}

.event-title{
	font-size:0.8rem;
}

.wp-pagenavi{
	margin:50px 0;
	text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
    border:none!important;
    padding: 8px 14px!important;
	margin:0 5px!important;
	border-radius: 20px;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border:none!important;
	background:#ddd;
}

.pdf-link li{
    margin:0 0 20px 0;
}

i.fa-file-pdf{
  color:#cc0000;  
}

.pdf-link li,
.select-year li{
	list-style:none!important;
}

@media only screen and (max-width: 510px){
    .pdf-link li{
        width:100%;
        margin: 0 0 10px 0;
    }
    .pdf-link a{
    display: block;
    }

}

.select-year li a:after{
    content:'|';
    padding: 0 10px;
}

.select-year li:last-child a:after{
    content:'';
}

.pn-link{
	margin:0 0 50px 0!important;
	border-top:1px dotted #666;
	border-bottom:1px dotted #666;
    line-height: 1.6;
}

.pn-link li{
	list-style:none!important;
}


.pn-link li.wd50{
	width:50%;	
}

.pn-link a{
	padding:10px 40px 10px 40px;
	display: flex;
    justify-content: space-between;
    align-items: center;
	position: relative;
    color: #333!important;
}

.single-news-en .pn-link a{
    display: block;
}

.pn-link li:first-child a{
	padding:10px 40px 10px 40px;
}

.pn-link a:hover{
	background:#fafafa;	
    text-decoration: none!important;
}

.pn-link li a:after {
    position: absolute;
    content: '';
    top: 45%;
    right: 13px;
    width: 6px;
    height: 6px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    transition: all .3s;
    z-index: 3;
}

.pn-link li:first-child a:after {
    right: inherit;
    left: 13px;
    transform: rotate(-135deg);
}


@media only screen and (max-width: 1000px){
    
.pn-link{
		flex-wrap: wrap;
}
.pn-link li.wd50{
    width: 100%;
}
.pn-link li:first-child a{
		border-bottom:1px solid #aaa;
}
}
@media only screen and (max-width: 960px){

.topics-area{
    justify-content: space-between;
}
    
    
.topics-block.wd25{
    width:48%;
    padding: 0;
}
}
@media only screen and (max-width: 430px){

.topics-block.wd25{
    width:100%;
}
    
.pn-link a{
	padding:10px 30px 10px 30px;
}

.pn-link li:first-child a{
	padding:10px 30px 10px 30px;
}
	
}

/* DONATION
------------------------------ */

.donation-list .wd30{
    background-size:cover;
    background-repeat:none;
    min-height: 400px;
}

.donation-list a:hover{
    box-shadow: 0 0 10px #ccc;
}

@media only screen and (max-width: 768px){
.donation-list .wd30{
    min-height: 300px;
    }
.donation-list .btn{
    display: block;
}    
}

.tomo-table td:nth-of-type(2n+1){
    width:20%;
}

/* CONTACT
------------------------------ */

.form-list li{
	list-style:none;
	margin:0 0 20px 0;
}

.dnone{
    display: none;
}

@media screen and (max-width:1050px) {
.dnone{
    display: block;
}
    
}

input , button , textarea , select {
	margin:0;
	padding:0;
	border:none;
	border-radius:0;
	outline:none;
	background:none;
}

input[type='text'] , 
input[type='email'] , 
textarea{
	width:100%;
	border:1px solid #ccc;
	background:#f8f9fa;
	padding: 10px;
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
}

#rentyear,
#rentmonth,
#rentday,
input#howtoway102,
input#howtoway202,
input#howtoway302,
input#howtoway402,
input#howtoway502,
input#sum,
input#sum2,
input#sum3{
    margin: 0 0 20px 0;
}

input#howtoway102,
input#howtoway202,
input#howtoway302,
input#howtoway402,
input#howtoway502,
input#sum,
input#sum2,
input#sum3,
input#telc,
input#post-address,
input#post-address2,
input#facilitypost-address,
input#facilitypost-address2{
	width:90px;
}

input#tel{
    width:50%;
}

input[type='text'] , input[type='email'] {
	height:50px;
}

input[type='checkbox']{
	-webkit-appearance:none;
	   -moz-appearance:none;
	        appearance:none;
	border:1px solid #ccc;
	padding:10px;
	cursor: pointer;
} 

input[type='checkbox']:checked{
	position: relative;
}

input[type='checkbox']:checked:before{
	position: absolute;
    top: -2px;
    left: 2px;
	content:'\f00c';
	font-family:'Font Awesome 5 Free';
	font-weight:900;
	font-size: 14px;
	color: #666;
}

.mw_wp_form_preview dl{
	padding:0 0 10px 0;
	border-bottom:1px solid #ccc;
}

@media screen and (max-width:374px) {
	.mw_wp_form .horizontal-item{
		width:100%;
		display: block;
		margin:0 0 10px 0!important;
	}
}

textarea {
	height:300px;
}

.form-list select {
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.form-list select::-ms-expand {
    display: none;
}

.form-list .select {
	position: relative;
	border: 1px solid #bbbbbb;
    padding: 10px;
    margin: 0 10px;
}

.form-list .select::before {
	position: absolute;
	top: 40%;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}
.form-list .select::after {
	position: absolute;
	top: 0;
	right: 2.5em;
	bottom: 0;
	width: 1px;
	content: '';
	border-left: 1px solid #bbbbbb;
}

.mw_wp_form_preview .form-list .select{
    border:none;
    padding: 0;
    margin: 0;
}
.mw_wp_form_preview .form-list .select::after,
.mw_wp_form_preview .form-list .select::before{
    display: none;
}

.form-list .select select {
	padding: 8px 38px 8px 8px;
	color: #666666;
}

@media screen and (max-width:1050px) {
    .form-list .select{
        margin: 0 10px 0 0;
    }
    .form-list .select select{
        margin: 0 0 20px 0;
        width:70%;
    }
    
}

@media screen and (max-width:768px) {
.form-list dt{
	margin:0 0 10px 0;
}
	
}

/* Rental */
@media screen and (max-width:768px) {

.rental-table td{
    display: block;
    width: 100%;
}
.rental-table td:nth-of-type(2n+1){
    font-weight: bold;
}

}

/* Others */

.has-fixed-layout thead{
    background:#ddd;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section li{
    margin: 0 0 10px 1.5em;
    list-style:disc;
}

.accordion-area section {
	border: 1px solid #ccc;
}

.acc-title {
    position: relative;
    cursor: pointer;
    padding:20px 20px 20px 50px;
    transition: all .5s ease;
}

.acc-title::before,
.acc-title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #285395;   
}

.acc-title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.acc-title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}

.acc-title.close::before{
	transform: rotate(45deg);
}

.acc-title.close::after{
	transform: rotate(-45deg);
}

.box {
    display: none;
    padding: 20px;
}


.works-table{
    width:100%;
}

.works-table thead th{
    background: #f3f3f3;
}

.works-table th,
.works-table td{
    padding: 10px;
    border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 900px){
.works-table thead {
    display: none;
}
    
.works-table tbody th{
    background: #f3f3f3;
}
    
.works-table tbody th,
.works-table tbody td{
    width:100%;
    display: block;
}
    
.works-table td br{
    display: none;    
}

.works-table tbody td:nth-of-type(1)::before{
    content:'サイズ：';
}
.works-table tbody td.empty:nth-of-type(1)::before{
    content:'サイズ：記載なし';
}    
.works-table tbody td:nth-of-type(2)::before{
    content:'技法・材質：';
}    
.works-table tbody td.empty:nth-of-type(2)::before{
    content:'技法・材質：記載なし';
}     
.works-table tbody td:nth-of-type(3)::before{
    content:'作者：';
}   
.works-table tbody td.empty:nth-of-type(3)::before{
    content:'作者：記載なし';
}
.works-table tbody td:nth-of-type(4)::before{
    content:'制作年：';
}    
.works-table tbody td.empty:nth-of-type(4)::before{
    content:'制作年：記載なし';
}   
.works-table tbody td:nth-of-type(5)::before{
    content:'所蔵：';
}
.works-table tbody td.empty:nth-of-type(5)::before{
    content:'所蔵：記載なし';
}
}

.flip-list{
  transform:  translate3d(0, 0, 0);   
}
