
  html, body {
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    font-family: 'Quattrocento', "Hiragino Mincho ProN","ＭＳ 明朝","Helvetica Neue", "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif; 
    font-size:15px;
    color:272828;
    letter-spacing:0.03em;
    background-color:#fff;
  }
  
  a{
    color:#272828;
    cursor:pointer;
  }
  
  a:hover{
    color:#595959;
  }
  
  #preload{
    display : none;
   }
   
  .sp{
    display:none;
  }
  
  .pc{
    display:inline;
  }
 

/* @loader */

  #loader{
   display: flex;
   justify-content: center;
   align-items: center;
width: 100%;
height: 100%;
position:absolute;
  }

  #loader p{
   padding:1em;
  }


.site-title {
    animation: blink 1s ease-in-out infinite alternate;//点滅アニメの設定
}

/* 点滅 */
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
  }

  
/* @to */

  #totop{
    z-index:5;
    bottom : 6em;
    display : none;
    position : fixed;
    width:8%;
    margin:0 2% 0 90%;
  }

  #tonavi{
    z-index:10;
    bottom : 2em;
    display : none;
    position : fixed;
    width:8%;
    margin:0 2% 0 90%;
  }

  #totop img, #tonavi img{
    width:20px;
  }

/* @top */
  
  #top {
    width: 100%;
    height: 80%;
    overflow:hidden;
    min-height: 500px;
    position: relative;
    z-index:800;
    min-width:960px;
    background:#fff;
    text-align:center;
  }

  #top ul{
    width: 100%;
    height: 100%;
  }

  #top ul li {
  width: 100%;
  height: 100%;
  min-width:960px;
  min-height:500px;
  position: absolute;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center bottom;
  text-align:center;
 }
 
 #top p {
     color:#fff;
 }
 
 
/* @wrap */

  #wrap{
    width:100%;
    margin:0 auto;
    text-align:right;
    opacity:0;
  }
	
/* @main */

  #main{
    width:80%;
    margin:0 auto;
    padding:0;
    font-size:85%;
    text-align:left;
  }

/* @header */

  #header h1{
    width:100%;
    height:20px;
    font-size:200%;
    margin:2em 0;
    /*margin:4em 0 3em 0; */
    /*background: url("../img/logo.png") no-repeat; */
    /*background-size: contain; */
    /*text-indent:-9999px; */
    font-family: 'Quattrocento', serif;
  }

  #header h2{
    margin-bottom:1em; 
  }

  #header h2 p{
    margin:3em 0; 
    font-size:110%;
    line-height:2.4;
  }

  #header h2 p span{
    padding-top:1em; 
    display:block;
    line-height:2.4;
  }

  #header h2 .jpn{
   margin-bottom:3em;
  }

/* @navi */

  #navi, #navi2{
    width:100%;
    padding-top:4em;
    margin-bottom:2em;
  }

  #navi ul, #navi2 ul{
    width:100%;
    padding-bottom:2em;
    display:none;
    opacity:0;
  }
  
  #navi ul li, #navi2 ul li{
    width:12.5%;
    float:left;
  }

  #navi ul li a, #navi2 ul li a{
    margin:0 1px 1px 0;
    padding:1em 0;
    color:#fff;
    background: #272828;
    text-align:center;
    font-family: "Noto Sans Japanese", "Helvetica Neue", "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif;
    display: block;
  }
  
  #navi .full{
    margin-bottom:2em; 
    padding-top:0.8em; 
    text-decoration:underline;
    display:block;
    font-size:100%;
    line-height:1.8;
  }
  
  #navi .full .pc{
    text-decoration:none;
  }

/* @content */

  #content {
    margin-bottom:3em;
  }
  
  #content dl{
    padding:1.5em 0;
    overflow:hidden;
  }

  #content dt{
    margin:2em 0 1.5em 0;
    background: url("../img/k.png") repeat-x bottom;
    background-size: 60%;
    display:inline-block;
  }

  #content dt h3{
    padding:0.5em 0;
    font-size:140%;
  }

  #content dt h3 .no{
    font-size:150%;
    margin-right:0.5em;
    font-family:  "Hiragino Mincho ProN","ＭＳ 明朝","Helvetica Neue", "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif; 
  }

  #content dt h3 .eng{
    font-size:60%;
    margin-left:1.5em;
  }

  #content dd{
    padding:1.3em 0; 
    width:100%;
  }

  
  #content .pic{
    width:100%;
    padding:0; 
    margin:1.3em 0;
  }

  #content .pic span{
    display:inline;
  }
  
  #content dd .preview{
    position:absolute;
    background:#272828;
    cursor:pointer;
    display:none;
    z-index:9999;
    color:#fff;
    font-size:100%;
    text-align:center;
  }

  #content dd .preview img{
    opacity:0;
  }
  
  #content dd .box1_2{
    width:100%;
    height:60%;
    margin:0;
    padding:0;
  }

  #content dd .box1{
    width:60%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:left; 
  }

  #content dd .box2{
    width:40%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:left;
  }

  #content dd .box3_4{
    width:100%;
    height:40%;
    margin:0;
    padding:0;
  }

  #content dd .box3{
    width:60%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:left;
  }

  #content dd .box4{
    width:40%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:left;
  }

  #content dd .pic_a{
    width:100%;

    display:inline;
  }

  #content dd .box2 .pic_b{
    width:100%;

    display:inline;
  }
  
  #content dd .box4 .pic_b{
    width:100%;
    height:100%;
    display:inline;
  }

  #content dd .box2 .pic_c{
    width:50%;

    display:inline;
  }
  
  #content dd .box3 .pic_c{
    width:33.333%;
    height:50%;
    display:inline;
  }

  #content .text p{
    font-size:110%;
    line-height:2.4;
  }

  #content .text .eng{
    margin:1em 0 0.5em 0; 
  }

  #content .caption{
    margin:1.5em 0 0 0;
    width:100%;
    height:25px;
    text-align:right;
    display: block;
  }

  #content .caption p{
    font-size:80%;
    display: inline;
    margin-right:0em;
    margin-top:0;
  }
  
  #content .caption .eng{
    padding-left:1em;
  }

  #content .caption .jpn{

  }
  
  #content ul img, #content iframe{
    opacity: 0;
  }
  
  #content .preview img{
    margin-top:0em;
  }

/* @about */

  #about{
    padding:3em 0 0 0; 
    font-size:110%;
    line-height:2.4;
  }
  
  #about dt h3{
    padding:0.5em 0 0 0;
    font-size:130%;
  }
  
  #about dd{
    margin-bottom:2em;
  }

   #about p{
    padding:2em 0;
  }
  
   #about .mail{
    display:block;
    margin:2em 0 0 0; 
   }
   
   #about span{
    text-decoration:underline;
  }
   
   #about .print{
    display:inline;
  }
  
   #about iframe{
    padding:2em 0; 
  }
  
   #about li{
    list-style-type:disc;
    list-style-position:inside;
  }
  
  
/* @footer */

  #footer {
    width: 96%;
    font-size:85%;
    padding:10em 2% 3em 2%;
    min-width: 96%;
    text-align: left;
    z-index:888;
  }

  #footer dt{
    margin-bottom:1em;
  }

  #footer dt a{
    margin:0 2em 0 0;
  }

  #footer .contact a{
    transform: scale(0.85, 1);
    font-size:127%;
  }

  #footer .cr{
    margin-top:0em;
  }

  #footer .cr .text{
    font-size:80%;
    font-family: "Noto Sans Japanese", "Helvetica Neue", "HelveticaNeue", "Helvetica-Neue", Helvetica, Arial, sans-serif;
    display: inline;
  }

  #footer .sns li {
    display:inline;
  }
  
  #footer .sns .line {
    display:none;
  }


/* @media_960 ---------------------------*/
@media (max-width: 1200px) {

  #main{
    width:960px;
  }
}
/*--------------------------- @media_1200 */
  
  
/* @media_960 ---------------------------*/
@media (max-width: 1000px) {

  #header h1{
    /*margin:4em 2% 3em 2%; */
    margin:2em 2%;
    width:96%;
  }

  #header h2{
    margin:0 2% 1em 2%;
    width:96%;
  }

  #navi{
    margin:2em 2%;
    width:96%;
  }
  
  #content dt{
    margin:2em 2% 1.5em 2%;
  }

  #about dt{
    margin:2em 2% 0 2%;
  }
  
  #content .pic{
    width:96%;
    margin:0 auto;
  }

  #content .text{
    width:96%;
    margin:0 auto;
  }
 
  #content .caption{
    margin:1.5em 2% 0 2%;
    width:96%;
  }

  #about p{
    margin:0 2%; 
    width:96%;
  }

  #footer {
    width: 96%;
    min-width: 96%;
    padding: 10em 2% 3em 2%;
  }
    #footer .sns .line {
    display:none;
  }

}
/*--------------------------- @media_1000 */


/* @media_640 ---------------------------*/
@media (max-width: 640px) {

  .pc{
    display:none;
  }
  
  .sp{
    display:inline;
  }

  html, body {
    font-size:16px;
  }

  
/* @to */

  #totop{
    margin:0 4% 0 86%;
  }

  #tonavi{
    margin:0 4% 0 86%;
    bottom : 1.9em;
  }

  #totop img, #tonavi img{
    width:25px;
  }

/* @top */
  #top {
    width: 100%;
    height: 83%;
    min-width:320px;
    min-height: 80px;
  }

  #top ul{
    width: 100%;
    height: 100%;
  }

  #top ul li {
    width: 100%;
    height: 100%;
    min-width:320px;
    min-height: 80px;
 }
 
 
   #navi ul li a, #navi2 ul li a{
    margin:0 0.5% 1% 0;
    
    }
 
 /* @main */
 

  #main{
    width:100%;
    overflow: hidden;
    font-size:65%;
  }

/* @header */

  #header h1{
    /*margin:4em 5% 3em 5%;*/
    font-size:170%;
    margin:2em 5%;
    width:90%;
    height:15px;
  }

  #header h2{
    margin:0 5% 0em 5%;
    width:90%;
  }

  #header h2 p{
    margin:2em 0; 
    font-size:110%;
    line-height:2.4;
  }
  
  #header h2 p span .sp{
    display:inline;
  }

/* @navi */

  #navi, #navi2{
    width:94%;
    padding-top:2em;
    margin:0 3% 1em 3%;
  }

  #navi ul li, #navi2 ul li{
    width:25%;
  }

  #navi ul li a, #navi2 ul li a{
    margin:0 1% 2% 0;
    padding:1.5em 0;
  }

/* @content */


  #content dt{
    background-size: 80%;
    margin:2em 3% 0.5em 3%;
  }

  
  dt h3{
    font-size:130%;
  }
  
  #content .pic{
    width:94%;
    margin:1.5% 3%;
    background-color:#fff;
  }
  #content dd li img{
    cursor:auto;
  }

  #content dd .box1_2{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
  }

  #content dd .box1{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:none;
  }

  #content dd .box2{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:left;
  }

  #content dd .box3_4{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
  }

  #content dd .box3{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    line-height: 0;
    float:none;
  }

  #content dd .box4{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    float:none;
  }
  
  #content dd .box2 .pic_c{
    width:100%;

    display:inline;
  }
  
  #content dd .box3 .pic_c{
    width:100%;

    display:inline;
  }

  #content dd .pic_a{
    width:100%;
    height:100%;
    display:inline;
  }

  #content dd .pic_b{
    width:100%;
    height:100%;
    display:inline;
  }

  #content dd .pic_c{
    width:100%;
    height:100%;
    display:inline;
  }

  #content .text{
    width:90%;
    margin:0 auto;
  }

  #content .caption{
    margin:1.5em 0% 0 0%;
    width:100%;
    text-align:right;
  }

  #content .caption .eng{
    margin-right:0.5em;
  }

  #content .caption p{
    font-size:100%;
    margin-top:0.2em;
    display:block;
  }

/* @about */

  #about{
    margin:0 3%; 
    width:94%;
    padding:0; 
  }
  
  #about dt h3{
    font-size:110%;
  }

/* @footer */

  #footer {
    width: 90%;
    padding: 10em 5% 3em 5%;
    min-width: 90%;
    text-align: left;
    font-size:70%;
  }

  #footer .cr{
    width:100%;
  }
  
  #footer .cr .text{
    font-size:70%;
  }
  
  #footer .sns .line {
    display:inline;
  }
  
}
/*--------------------------- @media_640 */


/* ------------------------------------------------------
clearfix
---------------------------------------------------- */

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}
