@charset "utf-8";

/* reset */
* { padding: 0; margin: 0; box-sizing: border-box; }
table { border-collapse: collapse; border-spacing: 0; }
fieldset, img { border: 0; }
address, caption, cite, code, dfn, em, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; }
caption, th { text-align: left; }
h1, h2, h3, h4, h5, h6,strong { font-family: Shuei KakuGo Gin B; font-size: 100%; font-weight: normal; }
q:before, q:after { content: ''; }
abbr, acronym { border: 0; }
section, article { display: block; }

/* base */
html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { -webkit-font-feature-settings: 'palt'; font-feature-settings: 'palt'; word-wrap : break-word; overflow-wrap : break-word; font-kerning: normal; -webkit-font-kerning: normal; font-size: 15px; font-family: Shuei KakuGo Gin M, YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important; text-align: center; letter-spacing: 0.04em; margin: 0px; box-sizing: border-box; background-color: #FFF; color: #000; padding: 0em; }
img { background-color: #fff !important; vertical-align: bottom; height: auto; max-width: 100%; }
::selection { background: #333333; color: #FFF; }
::-moz-selection { background: #333333; }

/* link */
a:link, a:visited, a:active { color: #000; text-decoration: none; }
a:hover { color: #000; text-decoration: none; transition: color 0.05s linear; -webkit-transition: color 0.05s linear; transition: border-color 0.05s linear; -webkit-transition: border-color 0.05s linear; transition: background-color 0.05s linear; -webkit-transition: background-color 0.05s linear; }
a:link img { transition: 0.2s linear; }
a:hover img { -webkit-filter: brightness(110%); -moz-filter: brightness(110%); -o-filter: brightness(110%); -ms-filter: brightness(110%); filter: brightness(110%); }

/* clear */
.clear { clear: both; }
.cbox { zoom: 100%; }
.cbox:after { content: " "; clear: both; height: 0; display: block; visibility: hidden; }

/* options */
.r { border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; }
.rl { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }

/* animation */
@keyframes show { from { opacity: 0; } to { opacity: 1; } }

/* wordpress */
#contents .wp-caption.alignleft { float: left;  }
#contents .wp-caption.alignleft img {  }
#contents .wp-caption.alignleft .wp-caption-text { font-size: 0.8em; }
#contents .wp-caption.alignright { float: right;  }
#contents .wp-caption.alignright img {  }
img.centered { display: block; margin-left: auto; margin-right: auto; }
img.alignright { padding: 0px; margin: 0 0 4% 2%; display: inline; max-width: 47%; }
img.alignleft { padding: 0px; margin: 0 4% 2% 0; display: inline; max-width: 47%; }
.aligncenter { margin-top: 4%; margin-bottom: 4%; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 4%; margin-left: 4%; }
.alignleft { float: left; margin-bottom: 4%; margin-right: 4%; }
img.aligncenter { display: block; }

/* youtube */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* wrapper */
#wrapper { posision:relative; }

/* header */
#header h1 { z-index: 777; position: fixed; top:2em; left:3%; }
#header h1 img { width:auto; height:5em;}
#header nav { z-index: 777; position: fixed; top:4em; right:3%; text-align: center; }
#header nav li { position: relative; display:inline-block; margin-left:3em; }
#header nav li img { width:auto; height:2.5em; }
#header nav li:nth-child(4) img { width:auto; height:2.7em; }
#header nav li a:hover::after,
#news #header nav li:nth-child(1) a::after,
#profile #header nav li:nth-child(2) a::after,
#exhibitions #header nav li:nth-child(3) a::after,
#works #header nav li:nth-child(4) a::after { content: ""; position: absolute; width:100%; height:0.5em; display: inline-block; z-index: 1; bottom:-0.7em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }

/* main */
#main { padding-top:10em; }
#main .list { clear:both; width:80%; margin:auto; display: inline-flex; flex-direction: row; align-items: center; flex-wrap:wrap; margin-top:3em; margin-bottom:3em; }
#main .list li { width:25%; padding:5%; }
#main .list li img { -webkit-filter: brightness(98%); -moz-filter: brightness(98%); -o-filter: brightness(98%); -ms-filter: brightness(98%); filter: brightness(98%);  }

/* home */
.bgslideshow span.slide_01 { background-image: url('../gallery/23_01.jpg?02'); }
.bgslideshow span.slide_02 { background-image: url('../gallery/23_02.jpg?02'); }
.bgslideshow span.slide_03 { background-image: url('../gallery/23_03.jpg?02'); }
.bgslideshow span.slide_04 { background-image: url('../gallery/23_04.jpg?02'); }
.bgslideshow span.slide_05 { background-image: url('../gallery/23_05.jpg?02'); }
.bgslideshow span.slide_06 { background-image: url('../gallery/23_06.jpg?02'); }
.bgslideshow span.slide_07 { background-image: url('../gallery/23_07.jpg?02'); }
.bgslideshow span.slide_08 { background-image: url('../gallery/23_08.jpg?02'); }
.bgslideshow span.slide_09 { background-image: url('../gallery/23_09.jpg?02'); }
.bgslideshow span.slide_10 { background-image: url('../gallery/23_10.jpg?02'); }

/* works */
#works #main nav { margin:auto; margin-bottom:4em; z-index: -1; }
#works #main nav li { position: relative; display:inline-block; margin-left:1.5em; margin-right:1.5em; }
#works #main nav li img { width:auto; height:3em; }
#works #main nav li a:hover::after { content: ""; position: absolute; width:100%; height:0.5em; display: inline-block; z-index: -1; bottom:-0.7em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#works #main h2 { position: relative; margin-top:5em; }
#works #main h2 img { width:auto; height:3em; margin-left:0.5em; margin-right:0.5em; }
#works #main section { overflow: hidden; margin-bottom:10em; text-align: center;}
#works #main .list li { position: relative; }
#works #main .list li dl { display: none; flex-wrap:wrap; align-content:center; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; background-color: rgba(255,255,255,0.9); width:100%; height:100%; }
#works #main .list li dt { width:100%; font-size: 1em; margin-bottom:1em; }
#works #main .list li dd { width:100%; font-size: 0.8em; margin-bottom:0.4em; }
#works #main .list li dd.url { width:100%; font-size: 1.2em; line-height: 2em; margin-top:1em; margin-bottom:0em; }
#works #main .list li dd.url a { display:inline-block; width:2em; height:2em; background-color:#fff; border-radius: 1em; -webkit-border-radius: 1em; -moz-border-radius: 1em; }
#works #main .list li dd.url a:hover { background-color:#fc0; }
#works #main .list li:hover dl { display: flex; animation: show 0.2s linear 0s; }

/* exhibitions */
#exhibitions #main .list { clear:both; width:80%; margin:auto; display: inline-flex; flex-direction: row; align-items: center; flex-wrap:wrap; margin-top:3em; margin-bottom:3em; }
#exhibitions #main .list li { width:25%; padding:5%; }
#exhibitions #main .list li { position: relative; }
#exhibitions #main .list li dl { display: none; flex-wrap:wrap; align-content:center; justify-content: center; align-items: center; position: absolute; left: 0; top: 0; background-color: rgba(255,255,255,0.9); width:100%; height:100%; }
#exhibitions #main .list li dt { width:100%; font-size: 1em; margin-bottom:1em; }
#exhibitions #main .list li dd { width:100%; font-size: 0.8em; margin-bottom:0.4em; }
#exhibitions #main .list li dd:last-child { width:100%; font-size: 0.8em; margin-top:0em; margin-bottom:0em; }
#exhibitions #main .list li:hover dl { display: flex; animation: show 0.2s linear 0s; }

/* news */
#news #main { text-align: left; width:35em; margin:auto; padding-top:13em; }
#news #main h1 { position: relative; font-size:1.4em; line-height: 1.8em; font-weight: bold; margin-top: 2em; margin-bottom: 2em; }
#news #main h1::after { content: ""; position: absolute; width:100%; height:0.35em; display: inline-block; z-index: -1; bottom:-0.7em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#news #main h2 { font-size:1.2em; line-height: 1.8em; font-weight: bold; margin-top: 2em; margin-bottom: 1em; }
#news #main h3 { font-size:1.1em; line-height: 1.8em; font-weight: bold; margin-top: 2em; margin-bottom: 1em; }
#news #main h4 { font-size:1em; line-height: 1.8em; font-weight: bold; margin-top: 2em; margin-bottom: 1em; }
#news #main p { font-size:1em; line-height: 2em; text-align: justify; margin-bottom:1em; }
#news #main hr { position: relative; color:#fff !important; border:none !important; padding-top:3em; margin-bottom:2em; }
#news #main hr::after { content: ""; position: absolute; width:100%; height:0.3em; display: inline-block; z-index: -1; bottom:0em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line_dot.svg"); }
#news #main img { margin-top:2em; margin-bottom:2em; }
#news #main img:nth-child(1) { margin-top:0em; }
#news #main article { font-size:1em; line-height: 2em; margin-bottom:10em; }
#news #main article a { text-decoration: underline; }
#news #main article a:hover { text-decoration: none; }
#news #main article h1 a,#news #main article h2 a,#news #main article h3 a,#news #main article h4 a { text-decoration: none; }
#news #main ul.page-numbers { position: relative; margin-bottom:10em; text-align: center;}
#news #main ul.page-numbers::before { content: ""; position: absolute; width:100%; height:0.35em; display: inline-block; z-index: -1; top:-0.8em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#news #main ul.page-numbers li { display:inline-block; margin:0.4em; }
#news #main ul.page-numbers li a { color :#999; }
#news #main ul.page-numbers li a:hover { color :#000; }
#news #main ul.page-numbers li .current { font-weight: bold; }

/* profile */
#profile #main { text-align: left; width:33%; margin:auto; }
#profile #main h1 { font-size:1.4em; line-height: 1.8em; font-weight: bold; text-align: justify; margin-bottom: 1em; }
#profile #main h1 span { font-size:0.6em; margin-left: 1em; }
#profile #main p { font-size:1em; line-height: 1.8em; text-align: justify; margin-bottom: 1em; }
#profile #main p.en { font-size:0.9em; line-height: 1.8em; text-align: left; margin-bottom: 1em; }
#profile #main .portrait { margin-bottom:2em; }
#profile #main .portrait img { margin-top:3em; margin-bottom:0.3em; }
#profile #main .portrait span { display:block; font-size:0.6em; line-height: 1.8em; text-align: right;}
#profile #main article { margin-bottom:10em; }

/* footer */
#footer .contact img { position: fixed; bottom:2em; left:3%; width:auto; height:2.2em; }
#footer .copyright img { position: fixed; bottom:2em; right:3%; width:auto; height:2.2em; }
#footer .bn_newborn img { position: fixed; bottom:18em; right:3%; width:auto; height:7.777em; }

/* styles */


/* sp */
@media screen and (max-width: 1024px) and (orientation: portrait) {
/* home */
.bgslideshow span.slide_01 { background-image: url('../gallery/23_01_sp.jpg?02'); }
.bgslideshow span.slide_02 { background-image: url('../gallery/23_02_sp.jpg?02'); }
.bgslideshow span.slide_03 { background-image: url('../gallery/23_03_sp.jpg?02'); }
.bgslideshow span.slide_04 { background-image: url('../gallery/23_04_sp.jpg?02'); }
.bgslideshow span.slide_05 { background-image: url('../gallery/23_05_sp.jpg?02'); }
.bgslideshow span.slide_06 { background-image: url('../gallery/23_06_sp.jpg?02'); }
.bgslideshow span.slide_07 { background-image: url('../gallery/23_07_sp.jpg?02'); }
.bgslideshow span.slide_08 { background-image: url('../gallery/23_08_sp.jpg?02'); }
.bgslideshow span.slide_09 { background-image: url('../gallery/23_09_sp.jpg?02'); }
.bgslideshow span.slide_10 { background-image: url('../gallery/23_10_sp.jpg?02'); }

}

@media screen and (max-width: 470px) {
body { font-size: 12px; }

/* wrapper */
#wrapper { posision:relative; }

/* header */
#header h1 { position: static;  }
#header h1 img { width:auto; height:4.5em; margin-top:3.5em; margin-bottom:2.5em;}
#header nav { position: static; }
#header nav li { position: relative; display:inline-block; margin-left:0.5em; margin-right:0.5em; margin-bottom:1.5em; }
#header nav li img { width:auto; height:2em; }
#header nav li:nth-child(4) img { width:auto; height:2.2em; }
#header nav li a:hover::after,
#news #header nav li:nth-child(1) a::after,
#profile #header nav li:nth-child(2) a::after,
#exhibitions #header nav li:nth-child(3) a::after,
#works #header nav li:nth-child(4) a::after { content: ""; position: absolute; width:100%; height:0.35em; display: inline-block; z-index: 1; bottom:-0.5em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); background-position: center center; }
#header nav li a:hover::after { content: none; }

/* main */
#main { padding-top:0em; }
#main .list { width:90%; margin:auto; display: inline-flex; flex-direction: row; align-items: center; flex-wrap:wrap; margin-top:3em; margin-bottom:3em; }
#main .list li { width:50%; padding:5%; }

/* home */
.bgslideshow span.slide_01 { background-image: url('../gallery/23_01_sp.jpg?02'); }
.bgslideshow span.slide_02 { background-image: url('../gallery/23_02_sp.jpg?02'); }
.bgslideshow span.slide_03 { background-image: url('../gallery/23_03_sp.jpg?02'); }
.bgslideshow span.slide_04 { background-image: url('../gallery/23_04_sp.jpg?02'); }
.bgslideshow span.slide_05 { background-image: url('../gallery/23_05_sp.jpg?02'); }
.bgslideshow span.slide_06 { background-image: url('../gallery/23_06_sp.jpg?02'); }
.bgslideshow span.slide_07 { background-image: url('../gallery/23_07_sp.jpg?02'); }
.bgslideshow span.slide_08 { background-image: url('../gallery/23_08_sp.jpg?02'); }
.bgslideshow span.slide_09 { background-image: url('../gallery/23_09_sp.jpg?02'); }
.bgslideshow span.slide_10 { background-image: url('../gallery/23_10_sp.jpg?02'); }

/* works */
#works #main nav { margin:auto; margin-bottom:4em; z-index: -1; }
#works #main nav li { position: relative; display:inline-block; margin-left:1.5em; margin-right:1.5em; }
#works #main nav li img { width:auto; height:3em; }
#works #main nav li a:hover::after { content: ""; position: absolute; width:100%; height:0.5em; display: inline-block; z-index: -1; bottom:-0.7em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#works #main h2 img { width:auto; height:2.5em; margin-bottom:0.5em; display:block; margin-left:auto; margin-right:auto; }
#works #main section { overflow: hidden; margin-bottom:5em; }
#works #main .list li dl { padding-left:12%; padding-right:12%; }
#works #main .list li dt { width:100%; font-size: 1em; margin-bottom:0.5em; }
#works #main .list li dd { width:100%; font-size: 0.8em; margin-bottom:0em; }
#works #main .list li dd.url { width:100%; font-size: 1.2em; margin-top:0.5em; margin-bottom:0em; }

/* exhibitions */
#exhibitions #main .list { clear:both; width:90%; margin:auto; display: inline-flex; flex-direction: row; align-items: center; flex-wrap:wrap; margin-top:3em; margin-bottom:3em; }
#exhibitions #main .list li { width:100%; padding:3em;}

/* news */
#news #main { text-align: left; width:80%; margin:auto; padding-top:0em; }
#news #main h1::after { content: ""; position: absolute; width:100%; height:0.25em; display: inline-block; z-index: -1; bottom:-0.7em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#news #main p { font-size:1em; line-height: 1.8em; text-align: justify; }
#news #main img { margin-top:1em; margin-bottom:1em; }
#news #main img:nth-child(1) { margin-top:0em; }
#news #main article { font-size:1.2em; line-height: 1.8em; margin-bottom:10em; }
#news #main ul.page-numbers { position: relative; margin-bottom:10em; text-align: center; }
#news #main ul.page-numbers::before { content: ""; position: absolute; width:100%; height:0.35em; display: inline-block; z-index: -1; top:-0.8em; left:0; background-size:auto 100%; background-repeat: no-repeat; background-image: url("../images/line.svg"); }
#news #main ul.page-numbers li { font-size:1.2em; display:inline-block; margin:0.4em; }
#news #main ul.page-numbers li a { color :#999; }
#news #main ul.page-numbers li a:hover { color :#000; }
#news #main ul.page-numbers li .current { font-weight: bold; }

/* profile */
#profile #main { text-align: left; width:80%; margin:auto; }
#profile #main h1 { font-size:1.4em; line-height: 1.8em; font-weight: bold; text-align: justify; margin-bottom: 1em; }
#profile #main p { font-size:1em; line-height: 1.8em; text-align: justify; margin-bottom: 1em; }
#profile #main p.en { font-size:0.9em; line-height: 1.8em; text-align: left; margin-bottom: 1em; }
#profile #main img { margin-top:3em; margin-bottom:3em; }
#profile #main article { margin-bottom:10em; }

/* footer */
#home #footer { position: absolute; bottom:0; left:0; right:0; width:auto; }
#footer .contact img { position: static; bottom:2em; left:3%; width:auto; height:2.2em; margin-top:5em; margin-bottom:2em; }
#footer .copyright img { position: static; bottom:2em; right:3%; width:auto; height:2em; margin-bottom:3em;  }
#footer .bn_newborn img { position: absolute; bottom:12em; left:0; right: 0; width:77.777%; height:auto; margin:auto; }

}

@media screen and (max-width: 374px) {
body { font-size: 11px; }
}

@media screen and (min-width: 471px) and (max-width: 1100px) {
body { font-size: 12px; }
#header nav { top:2em; }
#header nav li:last-child { margin-top:1.5em; display:block; }
}

@media screen and (min-width: 1101px) and (max-width: 1150px) {
body { font-size: 11.2px; }
}
@media screen and (min-width: 1151px) and (max-width: 1200px) {
body { font-size: 11.4px; }
}
@media screen and (min-width: 1201px) and (max-width: 1250px) {
body { font-size: 11.8px; }
}
@media screen and (min-width: 1251px) and (max-width: 1280px) {
body { font-size: 12px; }
}
@media screen and (min-width: 1281px) and (max-width: 1300px) {
body { font-size: 12.18px; }
}
@media screen and (min-width: 1301px) and (max-width: 1325px) {
body { font-size: 12.36px; }
}
@media screen and (min-width: 1326px) and (max-width: 1350px) {
body { font-size: 12.54px; }
}
@media screen and (min-width: 1351px) and (max-width: 1375px) {
body { font-size: 12.72px; }
}
@media screen and (min-width: 1376px) and (max-width: 1400px) {
body { font-size: 12.9px; }
}
@media screen and (min-width: 1401px) and (max-width: 1425px) {
body { font-size: 13.08px; }
}
@media screen and (min-width: 1426px) and (max-width: 1450px) {
body { font-size: 13.26px; }
}
@media screen and (min-width: 1451px) and (max-width: 1475px) {
body { font-size: 13.44px; }
}
@media screen and (min-width: 1476px) and (max-width: 1500px) {
body { font-size: 13.62px; }
}
@media screen and (min-width: 1501px) and (max-width: 1525px) {
body { font-size: 13.8px; }
}
@media screen and (min-width: 1526px) and (max-width: 1550px) {
body { font-size: 13.98px; }
}
@media screen and (min-width: 1551px) and (max-width: 1575px) {
body { font-size: 14.16px; }
}
@media screen and (min-width: 1576px) and (max-width: 1600px) {
body { font-size: 14.34px; }
}
@media screen and (min-width: 1601px) and (max-width: 1625px) {
body { font-size: 14.52px; }
}
@media screen and (min-width: 1626px) and (max-width: 1650px) {
body { font-size: 14.7px; }
}
@media screen and (min-width: 1651px) and (max-width: 1675px) {
body { font-size: 14.88px; }
}
@media screen and (min-width: 1676px) and (max-width: 1700px) {
body { font-size: 15px; }
}
