@charset "utf-8";
@import url(swiper.css);
@import url('https://fonts.googleapis.com/css?family=Cinzel&display=swap');
@import url('https://fonts.googleapis.com/css?family=Crimson+Text:400,600&display=swap');
@import url('https://fonts.googleapis.com/css?family=Didact+Gothic&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+TC&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+SC&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+KR&display=swap');

/**********************************************************************　基本　*******************************************************************************/

html { font-size: 100% }html { height:100% }
body { height:100%; text-align: center } 
body { background-color: #fff; color: #000; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -moz-font-feature-settings: 'palt' 1; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
body.ja { font-family: "A1 Mincho", serif; letter-spacing: .12em; }/**/
body.en { font-family: 'Crimson Text', serif; font-weight: 300; letter-spacing: .0em; }
body.zh_cn { font-family: 'Noto Serif SC', serif; }
body.zh-tw { font-family: 'Noto Serif TC', serif; }
body.ko { font-family: 'Noto Serif KR', serif; }

.enlogo { font-family: 'Didact Gothic', sans-serif; letter-spacing: 0em; }
.ensub { font-family: 'Crimson Text', serif; text-transform: uppercase; } /*Cinzel*/
.eng, .tell { font-family: 'Crimson Text', serif; }
.shold.eng { font-size: 1.4em ; line-height: 1.6em; display: block; padding: 0 0 20px 0 }

section, footer, article, main, div, p { position:relative } 
section { font-size: 1.0em ; line-height: 1.6em ; font-weight: 200 }

img, div, p, figure{ margin: 0; padding: 0 }img { border-style: none; vertical-align: bottom }

.rela { position: relative }
.fxt { position: fixed }
.abso { position: absolute }
.clear-box { clear: both; float: none; margin: 0; padding: 0; }
.clearfix:after { content: '';display: block;clear: both; }
.clearfix { zoom: 1; /* for IE6/7 */ }

.typo { font-size: 0; line-height: 0; text-align: left; text-indent: -5000px }
.notice-box { font-size: .8em ; line-height: 1.em; padding: 0 0 20px 0 ;font-weight: 300; }
.pt10 { padding-top: 10px }

/**********************************************************************　タイポグラフィー　*************************************************************************/

h1,h2,h3,h4 { padding: 0 ; margin: 0 }
h1, h2, h3, h4 { font-weight: 300; }

.jp h1, .jp h2, .jp h3, .jp h4 { font-weight: normal; }
.en h1, .en h2, .en h3, .en h4 { letter-spacing: 0.05em ;font-weight: 200; }

.phj img { width: 100%; height: auto }
.txl { text-align: left }
.txj { text-align: justify }

body.en .txj { text-align: left }

.txc { text-align: center }
.txr { text-align: right }

.h2-box { text-align: center }
.h3-box { text-align: center; padding: 30px 0 10px ; }
.h4-box { border-left: hsla(0,0%,62%,1.00) solid 1px; padding: 0 0 0 10px; margin: 20px 0 }

th,td 	{ font-size: 0.8em; }

html,body { height: 100%; }
#flash01, #flash02, #flash03, #flash04, #flash05 { opacity: 0 }
#flash01s, #flash02s, #flash03s, #flash04s, #flash05s { opacity: 0 }

.detail-pad { margin: 50px 0 }
.detail-box { font-size: 1.0em; line-height: 2.0em; text-align: justify;  }

#edit2025.detail-pad { margin: 50px 0 }
#edit2025.detail-pad h2 { padding: 0; margin: 20px 0 20px }
#edit2025.detail-pad .shold.eng.gault { padding: 0; margin: 40px 0 20px; line-height: 2em }
#edit2025.detail-pad h3 { padding: 0; margin: 20px 0 20px; line-height: 2em }
#edit2025.detail-pad a { font-size: .9em; letter-spacing: 0}

#index .palette { text-align: center; font-size: 0.8em; line-height: 2.0em; }
#index .palette a { display: block; }
#index .palette a .ensub { border-bottom: #fff 3px solid; display: inline; padding-bottom: 8px; font-size: 1.2em }
#index .palette a:hover { opacity: 1!important }
#index .palette a:hover .ensub { border-bottom: #000 3px solid; transition-property: all;transition: 0.5s linear; }
#index .palette .cpp { display: block; padding-top: 10px }

#index .palette img { padding: 0 0 20px 0; display: block; }

#about .palette,
#scene .palette,
#course .palette { text-align: justify; font-size: 0.8em; line-height: 1.6em; }
.palette h4 { font-size: 1.1em; line-height: 1.6em; padding: 0 0 5px 0; margin: 0 }
.palette .price { font-size: 1.1em; padding: 0 0 0 0; margin: 0 }
.palette ul li { font-size: .9em }

.palette img { width: 100%; height: auto; }

.rei { font-size: .7em }
.dtbt { font-size: .8em }
a:hover .dtbt i { padding-right: 5px; transition-property: all;transition: 0.1s linear; }

ul.maru {
margin-top: 0px ;
padding-top: 0px ;
padding-left: 1.1em
}
ul.maru li {
  position: relative;
}

ul.maru li::after {
  display: block;
  content: '';
  position: absolute;
  top: .7em;
  left: -1em;
  width: 5px;
  height: 5px;
  background-color: #fff;
  border: 2px solid rgba(0,0,0,0.50);
  border-radius: 100%;
}

/***********************************************************************　フッター　******************************************************************************/
.hide-box {font-size: 0px; line-height: 0px}
footer { font-size: 0.8em; line-height: 1.8em; margin: 100px 0 0 0; padding: 30px 0; background-color: hsla(0,0%,0%,.03) }
address { font-style: normal; }
.tell { font-size: 2.0em; line-height: 1.0em; letter-spacing: 0.01em; margin: 15px 0 15px 0 }

.resv-box { width: 100% ;padding: 20px 0 16px }

div.hresv a { border: solid 1px hsla(0,0%,0%,1.00); padding: 7px 14px 6px 14px ; margin: 0 0 30px; text-align: center ; letter-spacing:0.1em ; }
.hresv { font-size: .85em ; font-family: 'Crimson Text', serif; text-transform: uppercase; }

p.resv a {  border: solid 1px hsla(0,0%,0%,1.00); padding: 7px 11px 7px 14px ; margin: 0 0 30px; text-align: center ;}
.resv { font-size: 1.3em ;}

.gyk { font-size: 1.2em ; }
p.gyk { position: relative ; top: 15px ; padding:0 ; margin: 0 }

p.resv a:after { 
    content: '\f054'; font-family: 'Font Awesome 5 Free'; font-weight: 900; padding-left: 8px;}


/***********************************************************************　スワイパー　******************************************************************************/

.swiper-wrapper { position: relative; }
.swiper-container { overflow: hidden ; position: relative; }
.swiper-container { background-color: #eee ; }
.swiper-slide { width: 100%; vertical-align: top}
.swiper-slide img { width: 100%;height: auto; padding: 0 0 30px 0;vertical-align: top }

.swiper-slide {  }  

.swiper-pagination-bullet {
  display: inline-block;
  background: #fff;
  opacity: 1;
}
.swiper-pagination-bullet:hover,
.swiper-pagination-bullet-active {
  opacity: 0.3;
}

.pagination-num { position: absolute; z-index: 1; right: 0px }
.pagination-num p { line-height: 1em; text-align: center; float: left }


.swiper-slide {
        text-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
.swiper-slide {
		-webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
}

/**********************************************************************　フォーム類　*******************************************************************************/

ul { margin: 0; padding: 0; list-style: none; }

.eng.url { font-weight: 400;padding: 20px 0 20px; }
.tel.eng { padding-top: 10px ; padding-bottom: 10px ; font-size: 1.6em }

/***********************************************************************　リンク　色　******************************************************************************/
a { text-decoration: none; color: #000;}
a { transition-property: all;transition: 0.5s linear; }
a:hover { opacity: .7;}

footer a { color: #000!important; }
.sns i { font-size: 1.4em ; margin: 20px 12px; }
.sns a { color: #000!important; }

.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 20px; }
.mb50 { margin-bottom: 50px; }
.mt50 { margin-top: 50px; }
.mt100 { margin-top: 100px; }

/************************************************animation************************************************/

.fadeInStay {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fadeInStay;
 animation-name: fadeInStay;
 visibility: visible !important;
}
@-webkit-keyframes fadeInStay {
 0% { opacity: 0; -webkit-transform: translateY(0); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInStay {
 0% { opacity: 0; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

