body {
    font-size: 1.0em;
    line-height: 160%;
      font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
  font-style: normal;
}

body a {
    text-decoration: none;
}
body a:hover {
    opacity:0.4;
    transition: .4s ease-in-out;
}
header {
    position: relative;
    width: 100%;
}

header h1 {
    display: block;
    width: 6.9em;
    font-size: 1.8em;
    margin: 0 0 0.5em 0.5em;
}
@media (0px <= width < 800px) {
  header h1 {
    display: block;
      width: 90%;
    font-size: 1.8em;
    margin: 0 auto 0.3em;
}  
    
}

header h1 a{ color:#fff;}
header nav { margin: 0.5em 0;}
header nav a {
    font-size: 1.1em;
    color: #aaa;
    margin: 0 auto;
}
header nav a:visited {
color:#ccc;
}

header nav a:hover {
    color:#fff;
    transition: .4s ease-in-out;
}
section.wrapper {
    margin: 0 0;
    padding: 0 0;
    width: 100%;
}
section.wrapper section.container {
    width: auto;
    margin: 0;
    font-size: 0.9em;
}

section.wrapper section.container.school {
    padding-top:4em;
}

section.wrapper section.container div#about,section.wrapper section.container div#school,section.wrapper section.container div#company,section.wrapper section.container div#sponsor,section.wrapper section.container div#contact {
    width: 100%;
    margin: 0;
    padding:0;
    line-height: 170%;
}


section.wrapper section.container div#news {
    margin: 0;
}

section.wrapper section.container div#news ul {
    list-style-type: none;
    margin: 0;
}
section.wrapper section.container div#news ul li {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    line-height: 2.5rem;
}

section.wrapper section.container div#news time {
    font-size: 0.9em;
    color: #999;
    margin: 0 1em 0 0;
}

section.wrapper section.container div.banner {
    width: 100%;
    margin: 5em 0 0;
    display: flex;
  justify-content: flex-start;
}

section.wrapper section.container div.banner figure img {
    width: 80%;
    margin: 0 10%;
    border: 1px solid #ccc;
}


@media (0px <= width < 480px) {
    section.wrapper section.container div.banner {
        flex-wrap: wrap;
    }
}

@media (0px <= width < 480px) {
    section.wrapper section.container div.banner div.col {
        width:100%;
    }
    section.wrapper section.container div.banner div.col figure img {
        width: 90%;
        margin: 0 5% 3em;
    }
}
@media (481px <= width < 800px) {
    section.wrapper section.container div.banner div.col {
        width:50%;
    }
}
@media (801px <= width < 2400px) {
    section.wrapper section.container div.banner div.col {
        width:50%;
    }
}


section.wrapper section.container h1.head {
    position: relative;
    font-size: 2.3rem;
    font-weight: 600;
    margin: 0 0 4rem;
}

section.wrapper section.container h1.head span {
    position: absolute;
    font-size: 0.8rem;
    top: 2.4em;
    left: 0;
    color: #aaa;
    font-weight: 400;
}


section.wrapper section.container h2.title {
    font-size: 1.2rem;
    margin: 1.5em 0 0.5em;
    padding: 0;
}

section.wrapper section.container.school h2.title {
    background: #eee;
    padding: 0.5em;
}
section.wrapper section.container p {
    margin: 0.5em 0 1em;
}
section.wrapper section.container p.name {
    text-align: right;
    margin: 2em 0 0;
    font-weight: 600;
}
section.wrapper section.container div#greeting { background: #e6f6f8;}
section.wrapper section.container div#sponsor { background: #fafbee;}

section.wrapper section.container div#about article,
section.wrapper section.container div#greeting article,
section.wrapper section.container div#company article,
section.wrapper section.container div#sponsor article,
section.wrapper section.container div#contact article,
section.wrapper section.container div#school article
{ margin:0 5%; width:90%; padding: 8rem 0; color: #333;}

section.wrapper section.container div#about article {
    padding: 4rem 0 8rem;
}


@media (0px <= width < 480px) {
section.wrapper section.container div#about article,
section.wrapper section.container div#greeting article,
section.wrapper section.container div#company article,
section.wrapper section.container div#sponsor article,
section.wrapper section.container div#contact article
{ margin:0 7.5%; width:85%; }
}

section.wrapper section.container div#company article div.com_col { display: flex; flex-wrap: wrap;}
section.wrapper section.container div#company div.col_l {width: 30%; margin-right:5%; }
section.wrapper section.container div#company div.col_l figure img { width:100%;}
section.wrapper section.container div#company div.col_r {width: 65%; }

@media (0px <= width < 480px) {
section.wrapper section.container div#company article div.com_col {  display: block;}
    section.wrapper section.container div#company div.col_l {width: 100%; margin:0 0 1em 0; }
    section.wrapper section.container div#company div.col_r {width: 100%; }
}

/* 事業内容 詳細 */
section.wrapper section.container dl.company,
section.wrapper section.container dl.member {
    width:100%;
    margin: 1em 0 0.5em;
    line-height: 180%;
  display: flex;
  flex-wrap: wrap;
}

section.wrapper section.container dl.company { margin-top:0; }

section.wrapper section.container dl.company dt,
section.wrapper section.container dl.member dt {
    font-weight: 600;
    width: 20%;
    padding: 0.5em 1em 0.5em 0;
}

@media (801px <= width < 2400px) {
    section.wrapper section.container dl.company dt,
    section.wrapper section.container dl.member dt {
        width: 15%;
}
 section.wrapper section.container dl.company dd,
section.wrapper section.container dl.member dd {
    width: 80%;
}
   
}

section.wrapper section.container dl.company dd,
section.wrapper section.container dl.member dd {
    width: 70%;
    padding: 0.5em 0;
}

/* ダンススクール 詳細 */
section.wrapper section.container dl.school {
    width:100%;
    display: table;
    border-bottom: 1px solid #000;
    margin: 1em 0 0.5em;
    line-height: 140%;
}

section.wrapper section.container dl.school dt {
    font-weight: 600;
    display: table-cell;
    width: 45%;
    padding: 0.5em;
}
section.wrapper section.container dl.school dd {
    font-weight: 600;
    display: table-cell;
    width: 25%;
    border-left: 1px solid #000;
    padding: 0.5em 0.7em;
}


/* 会社概要 詳細 */
section.wrapper section.container div.profile {
    margin: 2em 0 3em;
    display: flex;
    flex-wrap: wrap;
}

section.wrapper section.container div.col.fig {
    display: inline;

}
section.wrapper section.container div.col {
}
section.wrapper section.container div.col.text {
    display: inline;
}
@media (0px <= width < 480px) {
    section.wrapper section.container div.col {
        width:30%;
    }
        section.wrapper section.container div.col.text {
        width:70%;
    }
}
@media (481px <= width < 800px) {
    section.wrapper section.container div.col {
        width:15%;
    }
    section.wrapper section.container div.col.fig {
    margin: 0 5% 0 0;
    }
    section.wrapper section.container div.col.text {
        width:80%;
    }
}
@media (801px <= width < 2400px) {
    section.wrapper section.container div.col.fig {
        width:15%;
        margin: 0 5% 0 0;
    }
    section.wrapper section.container div.col.text {
        width:80%;
    }
}

section.wrapper section.container div.profile p {
   margin:0;
}

section.wrapper section.container div.profile figure {
    width: 100%;
    margin:0 5% 0 0;
}

@media (0px <= width < 480px) {
section.wrapper section.container div.profile figure {
        width:90%;
    margin: 0;
    }
}

section.wrapper section.container div.profile figure img{
    width: 100%;
}
section.wrapper section.container div.profile span {
    display: block;
    font-size: 1.2em;
    font-weight: 600;
    line-height: 200%;
}

section.wrapper section.container article div.page_content figure {
    margin: 1em;
}
section.wrapper section.container article div.page_content figure img {
    width: 70%;
    height: auto;
}
section.wrapper section.container article div.page_content div.wp-block-columns {
 display: flex;
}
@media (0px <= width < 480px) {
section.wrapper section.container article div.page_content div.wp-block-columns {
       flex-wrap: wrap;
    }
    section.wrapper section.container article div.page_content div.wp-block-column {
    margin: 0 0 1em;
    flex-basis: 50%!important;
    }
    section.wrapper section.container article div.page_content figure img { width:90%; }
}

@media (0px <= width < 480px) {

}


footer {
    margin: 5em 0 2em;
    color: #999;
    width:100%;
    text-align: center;
    font-size: 0.8em;
}


/*========= 上部固定させるためのCSS ===============*/

#header{
	position: fixed;/*fixedを設定して固定*/
	height: 60px;/*高さ指定*/
	width:100%;/*横幅指定*/
    z-index: 999;/*最前面へ*/
	/*以下はレイアウトのためのCSS*/
	justify-content: space-between;
	align-items: center;
	background:#1a003d;
	color:#fff;
	text-align: center;
	padding: 15px 0.25%;
}

#header.UpMove{
	position: fixed;
	width:100%;
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/

#header.DownMove{
	position: fixed;
	width:100%;
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
/*以下は検証用のレイアウトのためのCSS*/
nav ul{
list-style: none;
display: flex;
justify-content: center;
    margin: 0 auto;
    width:63%;
}
@media (481px <= width < 800px) {
nav ul{

    max-width:42%;
}
}
nav ul li { flex-grow: 1;}
nav ul li a{
text-decoration: none;
padding:0.5em;
}

@media (800px <= width < 4200px) {
header nav {
    margin: 0.5em 0;
    width: auto;
    position: absolute;
    top: 10%;
    right: 3%;
}
    #header {height:30px;}
}

/*==================================================
スライダーのためのcss
===================================*/

#sldr {
    width: auto;
    height: 45vw;
    overflow: hidden;
    position: relative;
    z-index: -1;
    padding: 90px 0 0 0;
}
    @media (800px <= width < 2400px) {
        #sldr{  padding: 60px 0 0 0;}
    }
    
#sldr p {
    position: absolute;
    color: #fff;
    font-size: 5.5rem;
    bottom: 8%;
    left: 5%;
    z-index: 100;
    transform: rotate(-3deg);
    line-height: 1.0em;
    letter-spacing: 2px;
    text-shadow:0 0 6px #111;
     font-family: "Zen Kaku Gothic New", serif;
    font-weight: 600;
}

.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:100%;
    margin:0 auto;
    height: auto;
    overflow: hidden;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/    
    height: 45vw;
    object-position: left center;
}


#sldr ul.slider li { height: 100vw!important;}


#sldr p span {
    font-size: 75%;
    font-weight: 500;
}

@media (481px <= width < 860px) {
#sldr { height: 60vw; }  
#sldr p {
    font-size: 4.5rem;
    bottom:10%;
    left: 5%;
}

.slider img {height: 60vw;}

}


@media (0px <= width < 480px) {
#sldr {height: 80vw;}
#sldr p {
    font-size: 3rem;
    bottom: 6%;
    left: 5%;
}
.slider img {height: 80vw;}
}




#sldr ul.slider li img { object-fit: cover; }

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 22%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}


.fadeUpTrigger{
opacity: 0;
}

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* NEWS ポップアップ*/

#popup {
  display: none; /* label でコントロールするので input は非表示に */
}

.popup-open {
cursor: pointer;
 display: block;
 border-bottom: 1px solid #ccc;
line-height: 3em;
padding-left:5%;
}

.popup-overlay {
  display: none; /* input にチェックが入るまでは非表示に */
}

#popup:checked ~ .popup-overlay {
  display: block;
  z-index: 99999;
  background-color: #00000070;
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.popup-window {
  width: 70vw;
  max-width: 440px;
  padding: 15px 20px;
  background-color: #ffffff;
  border-radius: 10px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
    line-height: 150%;
}

.popup-text {
  margin: 0;
}
.popup-text figure { margin: 1em 0; }
.popup-text img { width:100%; height: auto; }
.popup-text:not(:last-of-type) {
  margin-bottom: 1em
}

.popup-close {
  cursor: pointer;
  position: absolute;
  top: -35px;
  right: 0;
}
