
/*---------------------------------
リセットｃｓｓ
---------------------------------*/

*{
padding: 0;
margin: 0;
box-sizing: border-box
}
.js-fadeinup-trigger,
.js-fadein-trigger {
  opacity: 0;
}   

html{
 font-size: 100%;
 font-family: "BIZ UDGothic", "Noto Sans JP" , "sans-serif";
   overflow-x : hidden;
  -webkit-overflow-scrolling: touch;

}
div {			
  -webkit-backface-visibility:hidden;			
  backface-visibility:hidden;			
}



body{
 color: #24292e;
 line-height: 1.5;
background-image: url(img/AdobeStock_155409269511.jpeg);
background-position: center;
  text-align: center;
  background-color: rgba(0, 0, 255, 0.219);

}
a{
 text-decoration: none;
  word-break: break-all;

}

p{
  text-align: justify;
 font-size: 1rem;
}

img{
 max-width: 100%;
  height: auto;

}

li{
 list-style: none;
 font-size: 1.2rem;
}

.wrapper{
margin: 0 auto 130px auto;
font-size: 1rem;
padding: 0 4%;
}
.button {
position: relative;
display: inline-block;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
font-size: 1rem;
color: #000;
border: solid 1px;
}
  
.button:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.button:hover{
  color: #fc82bf;
}

/* ヘッダー */
header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 70px;
  border-bottom: 1px solid #333;
  position: relative;
}
.head_menu {
  position: absolute;
  top: 0;
  right: 0;
}
.head_menu .flex {
display: flex; 
justify-content: flex-end;
    
}   
.head_menu img {
  width: 180px;
  height: 70px;
  
}
header .logo img {
 width: 150px;
 text-align: center;
 position: absolute;
 top: 20px;
 left: 680px;
}

.pc p {
 font-size:23px; 
 font-weight:bold;
}

address{
font-style:normal;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される 
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */

@media screen and (max-width:600px) {
 header{
  position: fixed;
  padding: 4px;
  width: 100%;
  height: 50px;
  top:0;
  left:0;
  border-bottom: solid 0.5px;
}

header .logo img {
 width: 150px;
 text-align: left;
 position: absolute;
 top: 4px;
 left: 6px;
}
/*
.pc { display: none !important; }
.sp { display: block !important; }
*/
.head_menu {
  display: none;
}
.marquee {
  display: none;
}
#navArea img {
  width: 30px;
  height: 20px;
}
}

/* ナビ */
#g_nav{
padding-bottom: 0px;
width: 600px;
display: left;
margin-left: 10px;
}
#g_nav ul {
display: flex;
padding: 0;
width: 75%;
list-style-type: none;
}
#g_nav ul li {
position: relative;
width: 20%;
font-size: 0.7rem;
font-weight: bold;
}
/*
#g_nav ul li:first-child::before {
position: absolute;
display: block;
content: "";
top: 25%;
left: 0px;
width: 1px;
height: 50%;
background-color: #976d52;
}
#g_nav ul li::after {
position: absolute;
display: block;
content: "";
top: 25%;
right: 0px;
width: 1px;
height: 40%;
background-color: #976d52;
}
*/
#g_nav ul li a {
display: block;
padding: 17px 4px;
color: black;
text-align: center;

}
#g_nav ul li a:hover {
opacity: 0.5;
}
                  
nav .inner {
 display: none;
}

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

 body{
  font-weight: 400;
 }
 #g_nav {
  display: none;
 }
 nav {
  display: block;
  width: 220px;
  position: fixed;
  background-color: #ffffff;
  top: 0;
  left: -300px;
  bottom: 0;
  transition: all 0.5s;
  z-index: 999;
  opacity: 0;
 }
 .open nav {
  left: 0;
  opacity: 1;
 }
 
 nav .inner {
  display: block;
  padding: 25px;
 
 }
 nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
 
 }
 
 nav .inner ul li {
  margin: 0;
  border-bottom: 1px solid #333;
 }
 nav .inner ul li a {
  display: block;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  padding: 1rem;
  transition-duration: 0.2s;
 }
 nav .inner ul li a:hover {
  background-color: #e4e4e4;
 }
 
 .toggle-btn {
  display: block;
  position: fixed;
  top: 10px;
  right: 35px;
  width: 30px;
  height: 30px;
  z-index: 3;
  cursor: pointer;
  
 }
 .toggle-btn span {
  position: absolute;
  display: block;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  transition: all 0.5s;
  border-radius: 4px;
 }
 .toggle-btn span:nth-child(1) {
  top: 4px;
 }
 .toggle-btn span:nth-child(2) {
  top: 14px;
 }
 
 .toggle-btn span:nth-child(3) {
  bottom: 4px;
 }
 .open .toggle-btn span {
  background-color: #fff;
 }
 .open .toggle-btn span:nth-child(1) {
  transform: translateY(10px) rotate(-315deg)
 }
 .open .toggle-btn span:nth-child(2) {
  opacity: 0;
 }
 .open .toggle-btn span:nth-child(3) {
  transform: translateY(-10px) rotate(315deg)
 }
 
 #mask {
  display: none;
  transition: 0.5s;
 }
 
 .open #mask {
  display: block;
  background-color: #000;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: fixed;
  opacity: 0.3;
  cursor: pointer;
 }
}
/*---------------------------------
  トップスライダー
---------------------------------*/

#slider {
  width: 100%;
  margin: 0 auto;
  
}
#slider .slider img {
  width: 100%;
}

.slick-prev,
.slick-next {
  z-index: 100;
}


.slick-prev:before,
.slick-next:before
{
  font-family: 'slick';
  font-size: 20px;
  line-height: 1;

  opacity: 1;
  color: white;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

	
/* SP用メディアクエリ */
@media screen and (max-width:600px){
#slider {
  width: 100%;
}

.slick-prev:before,
.slick-next:before {
  display: none;
}
}
@media screen and (max-width: 768px){
#search h2 span.mini {
  font-size: calc( 34 * 100vw / 750 );
  color: #ffd800;
}
}
@media print,screen and (min-width: 769px){
#search h2 span.mini {
  font-size: calc( 30 * 100vw / 1366 );
  color: #ffd800;
}
}

.microcontents {
  font-size: 80%;
}


.site-hd {
  font-size: 20px;
}  

.site-hd {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease-out forwards;
}

@keyframes fadeInUp {
0% {
  opacity: 0;
  transform: translateY(20px);
}
100% {
  opacity: 1;
  transform: translateY(0);
}
}


@media screen and (max-width:600px){
  
.site-hd {
  font-size: 17px;
}  
}

#navArea nav {
  z-index: 99999 !important;
}

.toggle-btn {
  z-index: 100000 !important;
}

#mask {
  z-index: 99998 !important;
}


header {
  z-index: 5000;
  position: relative;
}
#navArea {
  position: relative;
  z-index: 10000;
}

/* 3つの気のトレーニング */

#menu {
  margin: 0 auto;
  padding: 0 4%;
}
#menu .flex {
  display: flex;
  margin-bottom: 50px;
background-color: #e6f3f7;

}
#menu .box {
  padding: 60px;
  width: 50%;
}
#menu .box img {
  box-shadow: 2px 2px 4px gray;
}
#menu .box_x {
  margin: 0 auto;

}
#menu h2 {
  text-align: center;
  margin-top: 130px;
  padding-top: 100px;
  padding-bottom: 50px;
  background-color: #e6f3f7;

}
#menu h3 {
  padding: 20px;
}
#menu h4 {
  margin-top: 20px;
}
#menu .button_g {
  text-align: right;
}
#menu .button_b {
display: inline-block;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
font-size: 1rem;
color: #000;
border: solid 1px;
margin: 30px;
}
  
.button_b:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.button_b:hover{
  color: #fa3e3e;
  opacity: 0.5;
}
#menu .menu_p {
  margin-top: 10px;
}
@media screen and (max-width:800px) {

#menu h2 {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

#menu .flex {
  flex-direction: column;

}

#menu .box {
  padding: 0px;
  width: 100%;
}
#menu .box p {
  margin: 0 8px;
}

#menu .box_x p {
  margin: 0 8px;
}
#menu .box_x:nth-child(1) {
  order: 2;
}

#menu .button_g {
  text-align: center;
}
}

/* 体験 */


#hero {
  max-width: 1500px;
background-color: #e6f3f7;
}
#hero h2 {
  text-align: center;
  padding-top: 100px;
  padding-bottom: 50px;
  font-size: 18px;
}
#hero .flex_a {
  flex-direction: column;
  border: 1px solid rgb(190, 189, 189);
  margin-bottom: 20px;
  padding: 10px;

}
#hero .flex {
  display: flex;
  justify-content: center;

}
#hero .flex_a {
  width: 280px;
  height: 300px;
}
#hero .flex_a img {
  width: 100%;
  height: 170px;
}
#hero .box {
  margin: 10px;
  position: relative;
  margin-bottom: 100px;

}
 
#hero .box_a_1 {
  text-align: right;
}
.button_a {
position: absolute;
display: inline-block;
text-decoration: none;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
font-size: 14px;
color: #083c6d;
right: 0;
bottom: 20px;

}
  
.button_a:active {
  /*押したとき*/
  border: solid 1px #03A9F4;
  box-shadow: none;
  text-shadow: none;
  
}
.button_a:hover{
  color: #fc82bf;
}
@media screen and (max-width:600px) {

#hero .flex {
  flex-direction: column;
}
#hero .flex_a {
  width: 100%;
  height: 350px;
}

#hero h2 {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 16px;
}

#hero .flex_a img {
  width: 100%;
  height: auto;
}
}

/* 歴史 */

#history .flex {
  display: flex;
  padding: 0 50px;
  justify-content: center;
  margin-bottom: 150px;
}
#history .box {
  padding: 30px;
}
#history .box_h {
  column-count: 2;
  column-gap: 2.5em;
}
#history img {
  width: 200px;
  height: auto;
  box-shadow: 2px 2px 4px gray;

}
#history h2 {
  text-align: center;
}
#history p {
  width: 300px;
}
#history h3 {
  margin-bottom: 20px;
}
#history .button_g {
  text-align: right;
  margin: 20px 0;
}
.history_p {
  margin-top: 10px;
}
@media screen and (max-width:800px) {
  
#history .flex {
  flex-direction: column;
  padding: 0;
}

#history .box_h {
  column-count: 1;
}

#history .button_g {
  text-align: center;
  margin: 20px 0;
}

#history img {
  width: 80%;
  height: auto;
}
#history .photo {
  text-align: center;
}
#history .box_h {
  margin-left: 15px;
}
}
/* マップ */

#map {
  margin-top: 50px;
}
#map .flex {
  display: flex;
}
address ul li {
  font-size: 16px;
}
.map_a {
  margin-top: 20px;
}
.map_b {
  margin-top: 20px;
  font-size: 90%;
}
h1 {
  margin-top: 80px;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1;
}
h2 {
  margin-top: 100px;
  font-size: 19px;
}
#one .flex {
  display: flex;
}

#one p {
  margin-left: 10px;
}
#one img {
  width: 300px;
  height: auto;
}
@media screen and (max-width:600px) {
h1 {
  text-align: center;
  margin-top: 50px;
}
h1 span {
  display: inline-block;
}
#map .flex {
  flex-direction: column;
}
#map iframe {
  width: 100%;
  height: auto;
}
#one .flex {
  flex-direction: column;
}
#one img {
  width: 100%;
  height: auto;
}

.breadcrumb {
  margin-top: 20px;
  font-size: 90%;
}
}
/* 本 */
#book {
  border-bottom: solid 1px;
 border-top:solid 1px ;
 background-color: #e6f3f7;

}
#book .flex {
  display: flex;
  justify-content: center;
}
#book .box {
  width: 250px;
  height: 290px;
   border-left:solid 1px ;
   text-align: center;

}
#book h2 {
  margin-bottom: 10px;
  margin-top: 20px;
}
#book h3 {
  border-bottom: 1px solid #333;
}
#book h4 {
  font-size: 15px;
  margin: 10px 0;
}
#book p {
  font-size: 12px;
}
#book .one {
  padding: 20px 0;
}
.book_photo {
  width: 100px;
  height: 140px;
  box-shadow: 2px 2px 4px gray;
  margin-top: 10px;

}

#book .box .ameba_logo {
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
#book .box .book_icon {
  margin-right: 10px;

}
#book .box .insta_icon {
  margin-right: 10px;

}
.button_w {
  margin-top: 30px;
}
@media screen and (max-width:600px) {
  
#book .flex {
  flex-direction: column;


}

#book .box {
  width: 100%;
  height: auto;
  border-left:none;

}
}
/*---------------------------------
トップへもどるボタン
---------------------------------*/

.go-top{
  position: fixed;
  bottom: 100px;
  left: 30px;
  z-index: 9999;
  
}
.go-top a{
  
  width: 50px;
  height: 50px;
  display: inline-block;
  background: #E94E66;
  border-radius: 50px;
  text-align: center;
  line-height: 50px;
  color: black;
  text-decoration: none;
  
}

.go-top a:hover{
opacity: 0.8;
}
@media screen and (max-width:600px) {
.go-top {
  position: relative;
  left: 0;
  bottom: 0;
}
}

   
/*--------------------------------------------
FOOTER
---------------------------------------------*/
#footer {
  background-color: rgb(41, 86, 105);
}
#footer .flex {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 150px;
}
#footer h5,ul,li,a {
  color: white;
  text-align: left;
}
#footer h3 {
  padding-top: 20px;
  color: white;
  text-align: left;
}
#footer .box .aside-map {
  width: 300px;
  height: 200px;
}
#footer .box {
  padding: 20px;
}
.footer_a {
  text-align: center;
  font-size: 14px;
}
#footer .flex_a {
  display: flex;
  justify-content: center;
}
.fontSC {
  color: #000;
  padding: 0 10px;

}
.footer_button {
  text-align: right;
}
.footer_button .button {
  color: white;
  margin-top: 10px;
}

address {
  margin: 10px 0;
}
address ul li {
  font-size: 0.9rem;
}
.map_li {
  margin-top: 10px;
  font-size: 0.8rem;
}
.address_li {
  margin-right: 10px;
}
.aside-map {
  width: 350px;
  height: auto;
}
footer p {
  text-align: center;
}
@media screen and (max-width:600px) {
  
#footer .flex {
  flex-direction: column;
  margin-top: 150px;
}

.footer_button {
  text-align: center;
}

address ul li span {
  display: inline-block;
}
}