@charset "UTF-8";
/* CSS Document */

body {
font-family: "Kiwi Maru", serif;
font-weight: 400;
font-style: normal;
color: #2e1200;
background: #ffeeee;
margin: 0;
padding: 0;
font-feature-settings: "palt";
}
h1, h2, h3, h4, h5 {
font-family: "Kiwi Maru", serif;
font-weight: 500;
font-style: normal;
margin: 0;
padding: 0;
}
p {
line-height: 180%;
margin: 0;
padding: 0;
font-size: 16px;
}
a {
text-decoration: none;
color: #2e1200;
display: block;
}
a:hover {
opacity: 0.7
}
ul, li, dl, dt, dd {
margin: 0;
padding: 0;
list-style: none;
}
img {
max-width: 100%;
}
.sp {
display: none;
}
.inner {
width: 1040px;
margin: 0 auto;
}
.dt-deco {
display: inline-block;
width: 12px;
height: 12px;
border-radius: 50%;
background: #ff9a9a;
margin-right: 10px;
}
.btn-contact {
margin-top: 30px;
}
.btn-contact a {
display: block;
width: 600px;
box-sizing: border-box;
background: #ff9a9a  url("../img/btn-right.png") 95% 50% no-repeat;
background-size: 30px;
padding: 20px;
font-size: 28px;
color: #fff;
border-radius: 100px;
margin: 0 auto;
text-align: center;
}

/* mv */
.mv {
}
.mv .mv-content {
background: url("../img/mv.jpg")50% 50% no-repeat;
background-size: cover;
height: 700px;
margin: 0 80px;
padding: 0;
border-radius: 80px;
text-align: center;
box-sizing: border-box;
display: flex;
justify-content: center;
position: relative;
}
.mv .contact a {
position: absolute;
bottom: -40px;
left: -60px;
display: block;
}

/* header */
.header h1 {
margin: 40px  auto;
text-align: center;
font-size: 32px;
}
.header .header-ul {
display: flex;
flex-direction: column;
position: absolute;
align-items: center;
justify-content: center;
right: 0;
background: rgba(255, 238, 238, 0.9);
padding: 0 25px;
transition: all 0.3s;
z-index: 999;
}
.header .header-ul.fixed {
position: fixed;
right: 0;
top: 0;
height: 100vh;
}
.header .header-ul li {
writing-mode: vertical-rl;
margin-bottom: 30px;
font-size: 18px;
}
.header .header-ul .instagram {
width: 25px;
height: auto;
}
.hamburger-menu {
display: none;
}
.slide-menu {
display: none;
}

/* intro */
#intro {
padding: 120px 0 180px;
background: url("../img/instructor-bg-top.png") 50% 100% no-repeat;
background-size: 100%;
}
#intro .inner {
position: relative;
}
#intro .txt-inner {
background: url("../img/intro-bg.png") 0% 50% no-repeat;
background-size: 522px;

}
#intro h2 {
font-size: 48px;
margin-bottom: 40px;
}
#intro p {
font-size: 20px;
}
#intro .img-inner {
position: absolute;
top: -50px;
right: -65px;
}

/* instructor */
#instructor {
background: #ffd5d5;
position: relative;
padding: 70px 0 100px;
}
#instructor h2 {
font-size: 42px;
}
#instructor .flex {
display: flex;
justify-content: space-between;
flex-direction: row-reverse;
position: relative;
}
#instructor .flex::before {
content: '';
display: inline-block;
width: 83px;
height: 66px;
background: url("../img/bg-deco.png") 0% 0% no-repeat;
background-size: 100%;
top: -63px;
left: 261px;
position: absolute;
}
#instructor .flex::after {
content: '';
display: inline-block;
width: 83px;
height: 66px;
background: url("../img/bg-deco.png") 100% 100% no-repeat;
background-size: 100%;
bottom: 50px;
right: 133px;
position: absolute;
}
#instructor .txt-inner {
background: #fff;
border-radius: 80px;
padding: 50px;
box-sizing: border-box;
width: 580px;
margin: 50px 0;
letter-spacing: -0.05em;
z-index: 999;
}
#instructor h3 {
font-size: 28px;
margin-bottom: 10px;
}
#instructor h3 small {
font-size: 16px;
margin-left: 30px;
}
#instructor .img-inner {
width: 500px;
margin: -20px 0 0 -40px;
}
#instructor .img-inner img {
border-radius: 80px;
}
#instructor .message {
margin: 0 auto;
width: 1000px;
}
#instructor .message h4 {
text-align: center;
margin-bottom: 10px;
}
#instructor .message rt {
margin-bottom: -0.5em;
}
#instructor dl dt {
font-size: 20px;
margin-bottom: 10px;
margin-top: 20px;
font-weight: 500;
}
#instructor dl dd {
font-size: 18px;
}

/* practice */
#practice {
text-align: center;
padding: 100px 0 170px;
background:  url("../img/cta-bg-top.png") 50% 100% no-repeat;
background-size: 100%;
}
#practice h2 {
font-size: 42px;
margin-bottom: 30px;
}
#practice p {
font-size: 18px;
}
#practice .practice-day {
display: flex;
justify-content: center;
align-items: stretch;
margin: 40px auto;
}
#practice .practice-day dt {
border-radius: 50px 0 0 50px;
background: #ffe89a;
font-size: 28px;
padding: 20px 50px;
line-height: 100%;
display: flex;
align-items: center;
}
#practice .practice-day dd {
border-radius: 0 50px 50px 0;
background: #fff;
font-size: 20px;
line-height: 120%;
padding: 20px 50px;
}
#practice .practice-day dd small {
font-size: 14px;
}
#practice .practice-inner {
background: #fff;
border-radius: 80px;
width: 1040px;
box-sizing: border-box;
}
#practice .practice-inner h3 {
padding: 30px;
font-size: 28px;
border-radius: 80px 80px 0 0;
color: #fff;
}
#practice .practice-children {
margin-bottom: 50px;
}
#practice .practice-children h3 {
background: #ff9a9a;
}
#practice .practice-adult h3 {
background: #ffaa8f;
}
#practice .practice-inner .flex {
display: flex;
justify-content: space-between;
align-items: center;
padding: 50px;
}
#practice .practice-inner .txt-inner {
width: 470px;
text-align: left;
}
#practice .practice-inner .img-inner {
width: 420px;
}
#practice .practice-inner .img-inner img {
border-radius: 80px;
}
#practice .practice-inner dl {
font-size: 18px;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#practice .practice-inner dt {
width: 30%;
margin-bottom: 10px;
}
#practice .practice-inner dd {
width: 70%;
}
#practice .practice-inner small {
font-size: 14px;
}
#practice .practice-inner h4 {
font-size: 28px;
margin: 40px auto 20px;
}
#practice .txt-inner p {
font-size: 16px;
}

/* cta */
#cta {
background: #ffd5d5;
text-align: center;
padding-bottom: 100px;
position: relative;
}
#cta::before {
content: '';
display: inline-block;
width: 305px; 
height: 366px;
background: url("../img/cta-left.png") 0% 50% no-repeat;
background-size: 100%;
top: 160px;
left: 0px;
position: absolute;
}
#cta::after {
content: '';
display: inline-block;
width: 295px; 
height: 366px;
background: url("../img/cta-right.png") 100% 50% no-repeat;
background-size: 100%;
top: 160px;
right: 0px;
position: absolute;
}
#cta h2 {
font-size: 42px;
position: relative;
margin-bottom: 30px;
}
#cta .price {
position: absolute;
bottom: 5px;
left: -50px;
}
#cta p {
font-size: 18px;
}
#cta .preparations {
background: #fff;
border-radius: 40px;
width: 450px;
box-sizing: border-box;
padding: 30px;
margin: 40px auto;
}
#cta .preparations h3 {
font-size: 28px;
}
#cta .preparations p {
font-size: 20px;
line-height: 120%;
margin-top: 15px;
}
#cta .preparations p small {
font-size: 14px;
}
.marker {
background-image: linear-gradient(0deg, #ffe89a 0.4em, transparent 0.4em);
}

/* voice */
#voice {
padding: 100px 0;
}
#voice h2 {
font-size: 42px;
text-align: center;
margin-bottom: 40px;
}
#voice .txt-right {
text-align: right;
}
#voice .voice-container {
width: 1070px;
box-sizing: border-box;
overflow: hidden;
padding: 40px 15px 30px;
}
#voice .slick-track {
display: flex;
}
#voice .voice-box {
background: #fff;
border-radius: 50px;
padding: 70px 30px 30px;
position: relative;
box-sizing: border-box;
margin: 0 15px;
height: auto;
display: flex;
flex-direction: column;
justify-content: space-between;
}
#voice .voice-icon {
position: absolute;
left: calc(50% - 54px);
top: -40px;
width: 108px;
height: auto;
}
.slick-prev, .slick-next {
display: block;
width: 21px!important;
height: 36px!important;
background: url("../img/slick-next.png") no-repeat center!important;
background-size: 100%!important;
position: absolute;
top: calc(50% - 18px)!important;
content: "";
margin: 0!important;
text-indent: -9999px;
z-index: 100;
border: none;
}
.slick-prev {
left: -20px;
transform: scale(-1, 1);
}
.slick-dots li button {
width: 10px!important;
height: 10px!important;
background: #ffeeee!important;
border: 1px solid #ff9a9a!important;
}
.slick-dots li.slick-active button {
background: #ff9a9a!important;
}

/* qanda */
#qanda .qanda-content {
background: url("../img/qanda-bg.jpg")50% 50% no-repeat;
background-size: cover;
height: 430px;
margin: 0;
padding: 0;
position: relative;
}
#qanda .qanda-content::before {
content: '';
display: inline-block;
width: 100%; 
height: 430px;
background: url("../img/qanda-bg-top.png") 0% 0% no-repeat;
background-size: 100%;
top: 0px;
left: 0px;
position: absolute;
}
#qanda .qanda-content::after {
content: '';
display: inline-block;
width: 100%; 
height: 430px;
background: url("../img/qanda-bg-bottom.png") 0% 100% no-repeat;
background-size: 100%;
bottom: 0px;
left: 0px;
position: absolute;
}
#qanda h2 {
font-size: 42px;
margin: 70px 0 40px;
}
#qanda dt {
font-size: 18px;
padding: 15px 20px;
border-radius: 10px;
background: #fff;
padding-left: 2.5em;
text-indent: -1.5em;
}
#qanda dt span {
font-size: 21px;
color: #ff9a9a;
margin-right: 5px;
}
#qanda dd {
font-size: 16px;
margin: 15px 5px 30px;
padding-left: 2.5em;
text-indent: -1.5em;
}
#qanda dd span {
font-size: 18px;
margin-right: 5px;
}

/* cta-box */
#cta-box {
text-align: center;
background: #ffd5d5;
padding: 100px 0;
margin: 100px auto;
width: 1040px;
border-radius: 225px;
box-sizing: border-box;
position: relative;
}
#cta-box::before {
content: '';
display: inline-block;
width: 83px;
height: 66px;
background: url("../img/bg-deco.png") 0% 0% no-repeat;
background-size: 100%;
top: 12px;
left: 108px;
position: absolute;
}
#cta-box::after {
content: '';
display: inline-block;
width: 83px;
height: 66px;
background: url("../img/bg-deco.png") 100% 100% no-repeat;
background-size: 100%;
bottom: 34px;
right: 57px;
position: absolute;
}
#cta-box h2 {
font-size: 42px;
margin-bottom: 40px;
}
#cta-box p {
font-size: 18px;
}

/* info */
#info {
background: #fff;
padding: 100px 0;
}
#info h2 {
font-size: 42px;
margin-bottom: 40px;
text-align: center;
}
#info iframe {
border-radius: 80px;
}
#info dl {
display: flex;
padding: 0px 50px;
justify-content: space-between;
flex-wrap: wrap;
}
#info dt {
width: 10%;
margin-bottom: 5px;
}
#info dd {
width: 90%;
}
#info .txt-right {
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0px 50px;
}
#info .map-icon {
width: 15px;
height: 15px;
margin-left: 10px;
margin-top: 5px;
}

/* copyright */
.copyright {
text-align: center;
font-size: 13px;
padding: 20px 0;
}