@charset "UTF-8";

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: inherit
}

button {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    line-height: inherit;
    color: inherit
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0
}

input,
select {
    vertical-align: middle
}

input[type=reset],
input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    background: #ccc
}

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
    font-size: 1rem;
    line-height: 170%;
    -webkit-text-size-adjust: 100%;
    letter-spacing: -0.001em
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom
}

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

.cf:after {
    clear: both
}

.txC {
    text-align: center
}

.txS {
    font-size: 0.75rem
}

.txRed {
    color: red
}

.txGreen {
    color: #5a7b79
}

.dispNone {
    display: none
}

.pc {
    display: none
}

#wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
    color: #666
}

.sec {
    padding-bottom: 4rem
}

.secTtl {
    width: 90%;
    padding: 1rem 2rem;
    font-weight: normal;
    font-size: 1.125rem;
    color: #fff;
    background: #5a7b79;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    letter-spacing: 1px
}

.secTtl.ttl_def {
    position: relative
}

.secTtl.ttl_def:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -0.5rem;
    width: 1rem;
    height: 3.7rem;
    background: #fff;
    -webkit-transform: skewX(8deg);
    -ms-transform: skewX(8deg);
    transform: skewX(8deg)
}

.small {
    font-size: 0.75rem;
    color: #aaa
}

.formOuter iframe {
    height: 1000px
}

.formWrap {
    padding: 1rem 1rem 2rem
}

.formWrap #txt_explain {
    padding-bottom: 1rem
}

.formWrap .table {
    width: 100%
}

.formWrap td,
.formWrap th {
    display: block;
    width: 100%
}

.formWrap th {
    position: relative;
    padding-bottom: 0.5rem;
    text-align: left
}

.formWrap td {
    padding-bottom: 1.5rem
}

.formWrap .red {
    font-size: 0
}

.formWrap .red:before {
    content: "(必須)";
    position: absolute;
    top: 0;
    right: 1rem;
    display: block;
    padding: 0 0.5rem;
    color: #fff;
    font-size: 0.75rem;
    background: #5a7b79
}

.formWrap input[type=email],
.formWrap input[type=text] {
    display: block;
    width: 100%;
    padding: 0.5rem;
    background: #d9d9d9;
    border: none;
    line-height: 2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.formWrap .checkboxWrap {
    padding-right: 1.875rem;
    line-height: 2.5;
    font-size: 0.875rem
}

.formWrap textarea {
    display: block;
    width: 100%;
    padding: 0.5rem;
    background: #d9d9d9;
    border: none;
    line-height: 2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 200px
}

.formWrap input[type=submit] {
    display: block;
    width: 40%;
    max-width: 320px;
    margin: 1rem auto;
    padding: 0.5rem 0;
    background: #5a7b79;
    border: none;
    color: #fff;
    font-size: 1rem
}

.formWrap input[value=戻る] {
    background: #999
}

@media screen and (min-width:980px) {
    .sp {
        display: none
    }

    .tablet {
        display: none
    }

    .pc {
        display: block
    }

    #wrapper {
        font-size: 0.875rem
    }

    .w1080 {
        max-width: 1080px;
        margin: 0 auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .secTtl {
        letter-spacing: 3px;
        line-height: 1.7;
        font-size: 1.5rem
    }

    .secTtl.ttl_def {
        width: 50%
    }

    .secTtl.ttl_def:after {
        width: 2rem;
        right: -1rem;
        height: 5rem;
        background: #fff;
        -webkit-transform: skewX(18deg);
        -ms-transform: skewX(18deg);
        transform: skewX(18deg)
    }

    .formOuter iframe {
        height: 800px
    }

    .formWrap {
        max-width: 800px;
        margin: 0 auto;
        padding: 2rem 4rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    .formWrap form {
        width: 100%;
        text-align: left
    }

    .formWrap td,
    .formWrap th {
        display: table-cell
    }

    .formWrap th {
        width: 30%;
        padding: 1rem 0
    }

    .formWrap td {
        margin-top: -0.5rem
    }

    .privacyWrap {
        width: 800px;
        margin: 0 auto
    }
}

.headerBar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #5a7b79
}

.sitelogo {
    width: 90px;
    line-height: 80px;
    padding-left: 1rem
}

.sitelogo a {
    display: block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.sitelogo a img {
    vertical-align: middle
}

.header-icons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    padding-right: 1rem
}

.header-icons .instagram-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 70px;
    padding: 0 1rem;
    text-decoration: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.header-icons .instagram-link img {
    height: 40px;
    width: auto;
    display: block
}

.header-icons .instagram-link:focus,
.header-icons .instagram-link:hover {
    opacity: 0.8
}

.sitelogoInner {
    position: relative;
    width: 55%;
    margin: 0 auto;
    z-index: 10
}

.sitelogoInner a {
    display: block;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.btn_gNavWrap a,
.btn_gNavWrap button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    background: rgba(115, 189, 189, 0);
    padding: 0 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.menu-trigger,
.menu-trigger span {
    display: inline-block;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.menu-trigger {
    position: relative;
    height: 30px;
    display: block
}

.menu-trigger svg {
    display: block;
    width: 30px;
    height: 30px
}

.menu-trigger span:first-of-type {
    top: 0
}

.menu-trigger span:nth-of-type(2) {
    top: 7px
}

.menu-trigger span:nth-of-type(3) {
    bottom: 0
}

.menu-trigger.active .line1 {
    -webkit-transform: translateY(35px) rotate(-45deg);
    -ms-transform: translateY(35px) rotate(-45deg);
    transform: translateY(35px) rotate(-45deg)
}

.menu-trigger.active .line2 {
    opacity: 0
}

.menu-trigger.active .line3 {
    -webkit-transform: translateY(-35px) rotate(45deg);
    -ms-transform: translateY(-35px) rotate(45deg);
    transform: translateY(-35px) rotate(45deg)
}

.menu-trigger .line {
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    transform-box: fill-box;
    fill: #fff
}

.gNavWrap {
    position: relative
}

.gNav {
    display: none;
    position: absolute;
    width: 100%;
    background: #fafafa;
    border-top: 1px solid #ccc;
    border-bottom: 8px solid #000;
    z-index: 100
}

.gNav a {
    position: relative;
    display: block;
    width: 100%;
    font-family: "Noto Serif JP", serif;
    text-decoration: none;
    color: #666;
    font-size: 1rem;
    line-height: 1.5;
    padding: 1rem 0.5rem 1rem 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 1px solid #ddd
}

.gNav a .icon-arrow-nav {
    position: absolute;
    top: 50%;
    right: 5%;
    width: 1em;
    height: 1em;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 0.785rem;
    fill: none;
    stroke: currentColor
}

.gNav li:first-child a {
    border: none
}

.btnNav_close a,
.btnNav_close button {
    display: block;
    width: 100%;
    padding: 1rem 0;
    text-align: center;
    font-family: "Merriweather", serif;
    font-size: 1rem;
    color: #000
}

.btnNav_close a:after,
.btnNav_close button:after {
    content: none
}

.btnNav_close a .icon.icon-close,
.btnNav_close button .icon.icon-close {
    width: 1em;
    height: 1em;
    vertical-align: middle;
    fill: none;
    stroke: currentColor
}

@media screen and (min-width:980px) {
    .header {
        position: relative
    }

    .gNavWrap {
        position: absolute;
        width: 70%;
        top: 0;
        right: 100px
    }

    .gNav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 auto;
        border: none;
        list-style: none;
        background: none
    }

    .gNav li {
        -webkit-box-flex: 1;
        -ms-flex: auto;
        flex: auto
    }

    .gNav li a {
        border: none;
        padding: 0;
        color: #fff;
        line-height: 80px;
        font-size: 1.25rem;
        text-align: center;
        -webkit-transition: 0.5s;
        transition: 0.5s
    }

    .gNav li a:hover {
        background: #3a4f4e;
        color: #fff
    }

    .gNav li a:after {
        content: none
    }

    .gNav li a .icon-arrow-nav {
        display: none
    }

    .gNavLast {
        background: #333
    }
}

.mainV {
    padding: 2rem;
    background: #5a7b79;
    background: -webkit-gradient(linear, left top, left bottom, from(#5a7b79), color-stop(20%, #5a7b79), color-stop(10%, #fff), to(#fff));
    background: linear-gradient(to bottom, #5a7b79 0%, #5a7b79 20%, #fff 10%, #fff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="$color-base", endColorstr="#fff", GradientType=0)
}

.siteTtl {
    padding: 1rem 0 2rem;
    margin: 0 -1rem;
    font-family: "Noto Serif JP", serif;
    font-size: 2.5rem;
    color: #000
}

.siteTtl .mainVtxt {
    font-size: 0.85rem
}

.siteTtl .mainVtxt strong {
    font-size: 1.25rem
}

.siteTtl .ttl {
    padding-top: 0.5rem;
    color: #5a7b79
}

.siteTtl .ttl:after {
    content: "";
    display: block;
    width: 20%;
    margin-top: 1rem;
    border-bottom: 2px solid #5a7b79
}

.recoList {
    list-style: none
}

.recoList .recoItem {
    padding: 1rem 0
}

.recoList .recoItem .yt {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden
}

.recoList .recoItem .yt iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.recoList .recoItem a {
    font-size: 0.85rem;
    line-height: 1
}

.recoList .recoItem:first-child {
    border-bottom: 1px dashed #ccc
}

#news .sec>.ttl,
#reco .sec>.ttl {
    text-align: center;
    font-weight: normal;
    font-size: 1.25rem;
    letter-spacing: 2px
}

#news .sec>.ttl:after,
#reco .sec>.ttl:after {
    content: "";
    display: block;
    width: 90%;
    margin: 0 auto;
    border: 1px solid #ccc
}

#news .secInner,
#reco .secInner {
    padding: 0 2rem
}

.newsList {
    list-style: none;
    padding: 0;
    margin: 0
}

.newsItem {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid #ccc
}

.newsItem .date {
    display: block;
    letter-spacing: 1px;
    padding: 0 1rem 0.5rem 0;
    font-size: 0.5rem
}

.newsItem .detail {
    font-size: 0.75rem;
    color: #494852
}

.newsItem .detail.txGreen {
    color: #5a7b79
}

#prof {
    margin-top: 2rem
}

#prof .secInner {
    padding: 0 1rem
}

.profBox {
    padding: 2rem 0;
    border-bottom: 1px dashed #a5c1b5
}

.profBox .profGa .gaList {
    list-style: none;
    position: relative;
    padding-bottom: 1rem
}

.profBox .profGa .gaList .gaItem {
    width: 80%;
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.profBox .profGa .gaList .gaItem.item02 {
    bottom: 0;
    right: 0;
    width: 60%;
    margin: -6rem 0 0 auto
}

.profImg {
    width: 100%;
    margin: 0 auto
}

.profName {
    font-family: "Noto Serif JP", serif;
    padding: 1rem 0 0;
    font-size: 1.5rem;
    line-height: 2
}

.profGenre {
    padding: 1rem 0 0 2rem;
    font-size: 1.25rem;
    color: #5a7b79;
    font-family: "Noto Serif JP", serif;
    line-height: 2
}

.profInner {
    padding: 1rem
}

.profInner p {
    padding-bottom: 1rem
}

.profInner .name {
    font-weight: bold
}

.profInner .msg {
    font-size: 0.85rem
}

.profData {
    font-size: 0.85rem
}

.tokugi {
    font-size: 1rem
}

.career {
    padding-top: 2rem
}

.career .box {
    padding: 1rem 0
}

.career .box .ttl {
    padding: 1rem 0;
    text-align: center;
    color: #5a7b79
}

.career .box ul {
    padding: 0 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0.75rem
}

.career .box ul.genru {
    font-size: 1rem
}

.career .box ul li {
    padding-bottom: 0.5rem
}

.career .box .msg {
    padding: 1rem;
    font-size: 0.85rem
}

.career .prof_videoWrap {
    padding-top: 2rem
}

.career ul .ttl {
    list-style: none;
    text-indent: 1rem
}

.ga {
    padding-top: 2rem
}

.ga .gaList {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto
}

.ga .gaList .gaItem {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
    padding: 0.25rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.careerTtl {
    display: block;
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    border-left: 0.5rem solid #5a7b79;
    padding-left: 0.5rem
}

.profMsg ul {
    padding-left: 1rem;
    font-size: 0.75rem;
    color: #999
}

.profMsg ul li {
    padding-bottom: 0.5rem
}

.profMsg ul li a {
    color: #999
}

.profMsg ul li a .icon-external {
    width: 1em;
    height: 1em;
    margin-left: 0.5rem;
    fill: none;
    stroke: currentColor;
    vertical-align: middle
}

#gallery .galleryInner ul {
    padding: 1rem 2rem;
    list-style: none
}

#gallery .galleryInner ul li {
    padding-bottom: 0.5rem
}

#gallery .galleryInner ul li a {
    font-size: 0.75rem;
    color: #666
}

#gallery .galleryInner ul li a .icon-external {
    width: 1em;
    height: 1em;
    margin-left: 0.5rem;
    vertical-align: middle;
    fill: none;
    stroke: currentColor
}

.ga_photoWrap .ga_photo {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 0.5rem
}

.ga_photoWrap .ga_photo li {
    -ms-flex-preferred-size: 33%;
    flex-basis: 33%;
    padding: 0.25rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#welfare .welfareInner .ttl {
    padding-top: 1rem;
    text-align: center;
    font-size: 1.25rem;
    color: #5a7b79
}

#welfare .welfareInner .ttl .small {
    display: block;
    color: #333
}

#welfare .welfareInner .msg {
    padding: 1rem;
    font-size: 0.85rem;
    text-align: center
}

#welfare .welfareInner .welBox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style-type: none
}

#welfare .welfareInner .welBox ul li {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    padding: 0.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#welfare .welfareInner .welBox ul li.full {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

#privateLesson .sec>.en {
    text-align: center;
    font-family: "Permanent Marker", cursive;
    color: #000;
    -webkit-transform: rotate(-6deg);
    -ms-transform: rotate(-6deg);
    transform: rotate(-6deg);
    padding-top: 1rem
}

#privateLesson .secTtl_pl {
    width: 70%;
    margin: 0 auto;
    text-align: center;
    padding-top: 0.5rem
}

#privateLesson .secTtl_pl a,
#privateLesson .secTtl_pl button {
    display: block;
    padding: 0.5rem 0;
    font-family: "Noto Serif JP", serif;
    text-decoration: none;
    color: #fff;
    font-weight: normal;
    background: #000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0.875rem
}

#privateLesson .secTtl_pl a .en,
#privateLesson .secTtl_pl button .en {
    font-family: "Noto Serif JP", serif;
    display: block;
    font-size: 1.5rem
}

#privateLesson .secTtl_pl a .icon-arrow-pl,
#privateLesson .secTtl_pl button .icon-arrow-pl {
    width: 1em;
    height: 1em;
    margin-left: 0.5rem;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    fill: none;
    stroke: currentColor;
    vertical-align: middle
}

#privateLesson .secTtl_pl a.active .icon-arrow-pl,
#privateLesson .secTtl_pl button.active .icon-arrow-pl {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg)
}

#privateLesson .plWrap {
    display: none
}

#privateLesson .plWrap .plWrapInner {
    padding-top: 2rem
}

#privateLesson .plWrap .plWrapInner .plImg {
    position: relative
}

#privateLesson .plWrap .plWrapInner .plImg .catchCopy {
    position: absolute;
    left: 1rem;
    bottom: 4rem;
    display: inline-block;
    padding: 0.5rem 0 0.5rem 0.5rem;
    font-size: 2rem;
    font-family: "Noto Serif JP", serif;
    font-weight: bold;
    color: #000;
    background: #fff
}

#privateLesson .plWrap .plWrapInner .plInfo {
    position: relative;
    background: #000
}

#privateLesson .plWrap .plWrapInner .plInfo:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1200px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -150px;
    background: rgba(255, 255, 255, 0.1);
    z-index: 0
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail {
    position: relative;
    z-index: 1;
    color: #fff;
    padding: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail>.ttl {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: normal;
    font-size: 1.25rem;
    padding: 1rem 0;
    line-height: 2;
    letter-spacing: 2px
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .member {
    display: block;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 0.875rem;
    padding-bottom: 2rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .price {
    display: block;
    margin: 0 -1rem;
    padding: 1rem 0;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    background: rgba(90, 123, 121, 0.5);
    letter-spacing: 2px
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap {
    padding: 2rem 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    text-align: center;
    font-size: 0.85rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .plLesson {
    width: 50%;
    padding: 1rem 0.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .plLesson:first-child {
    border-right: 1px solid rgba(90, 123, 121, 0.5)
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .plLesson dt {
    font-size: 1.125rem;
    padding-bottom: 1rem;
    letter-spacing: 2px
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .plLesson dd span {
    font-size: 0.75rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .bottom {
    text-align: center;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    padding: 1rem;
    color: #5a7b79;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap .bottom mark {
    display: inline-block;
    font-style: normal;
    padding: 0 0.25rem;
    margin: 0 0.25rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plPoint {
    padding: 1rem 1rem 2rem;
    font-size: 0.875rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plDetail .plPoint>.ttl {
    padding-bottom: 1rem;
    font-size: 1.125rem;
    font-weight: normal;
    letter-spacing: 2px
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact {
    padding: 1rem;
    position: relative;
    z-index: 1;
    background: #fff;
    color: #000
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .ttl {
    padding: 1rem 0;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-size: 1rem;
    letter-spacing: 2px
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner>.ttl {
    font-family: "Noto Serif JP", serif;
    text-align: center;
    font-size: 0.875rem;
    color: #000
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .line a {
    color: #000
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .line .tag {
    background: #000;
    padding: 0.5rem 2rem
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .secTtl_left.secTtl:after {
    border-color: #000
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp ul {
    list-style-type: disc
}

#privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp .joinBottom {
    font-size: 0.875rem
}

#privateLesson .btn_c {
    text-align: center;
    width: 70%;
    margin: 0 auto;
    padding: 2rem 0
}

#privateLesson .btn_c a,
#privateLesson .btn_c button {
    position: relative;
    display: block;
    font-family: "Noto Serif JP", serif;
    text-decoration: none;
    color: #222;
    font-size: 1.25rem
}

#privateLesson .btn_c a:after,
#privateLesson .btn_c a:before,
#privateLesson .btn_c button:after,
#privateLesson .btn_c button:before {
    content: "";
    display: block;
    position: absolute;
    width: 30%;
    border-top: 1px solid #000;
    top: 0.9rem;
    left: 0
}

#privateLesson .btn_c a:after,
#privateLesson .btn_c button:after {
    left: auto;
    right: 0
}

.line {
    padding: 2rem
}

.line .tag {
    display: inline-block;
    margin-right: 1rem;
    padding: 1rem 2rem;
    background: #5a7b79;
    color: #fff
}

.line a {
    color: #666
}

.joinLineTemp {
    padding: 1rem 2rem
}

.joinLineTemp ul {
    list-style: none;
    padding: 0 1rem 2rem;
    font-size: 0.85rem
}

#contact {
    padding: 2rem 0 6rem
}

#contact .msg {
    padding: 2rem 1rem;
    text-align: center
}

.privacyWrap {
    padding: 1rem
}

.privacyLink a,
.privacyLink button {
    color: #666;
    font-size: 0.85rem
}

.privacyTxt {
    display: none;
    padding: 1rem;
    font-size: 0.75rem;
    color: #999
}

.privacyTxt ul {
    list-style: none;
    padding: 1rem 0
}

.privacyTxt ul li {
    padding-bottom: 1rem
}

.privacyTtl {
    font-weight: bold;
    color: #666
}

.privacyTxt .close {
    display: block;
    margin-top: 1rem;
    text-align: center
}

.privacyTxt .close a,
.privacyTxt .close button {
    color: #666
}

@media screen and (min-width:980px) {
    .mainV .mainVimg {
        max-width: 1600px;
        margin: 0 auto
    }

    .mainV .siteTtl {
        max-width: 1080px;
        margin: -4rem auto 0;
        color: #fff;
        text-shadow: 1px 1px 4px #666;
        font-size: 2rem
    }

    #news .secInner {
        width: 70%;
        margin: 0 auto;
        border-bottom: 1px solid #ccc
    }

    .newsItem:last-child {
        border: none
    }

    #reco .recoList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    #reco .recoList .recoItem {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        max-width: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 1rem 2rem;
        border: none
    }

    .profBox {
        padding: 1rem 0 2rem
    }

    .profBox .prof_videoWrap {
        position: relative;
        height: 0;
        padding: 20% 0;
        overflow: hidden
    }

    .profBox .prof_videoWrap iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-width: 640px;
        height: 100%
    }

    .profBox .profGa .gaList {
        max-width: 800px;
        margin: 0 auto
    }

    .profBox .profName {
        text-align: center
    }

    .profBox .profGenre {
        padding: 1rem 0 1rem;
        text-align: center;
        letter-spacing: 2px
    }

    .profBox .profData dd,
    .profBox .profData dt {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%
    }

    .profBox .career .genru {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: distribute;
        justify-content: space-around
    }

    .profBox .career .genru li {
        padding: 1rem 0
    }

    .profBox .career .box li {
        padding-bottom: 0
    }

    #gallery .galleryInner ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    #gallery .galleryInner ul li {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 2rem 4rem
    }

    #gallery .galleryInner ul li.yt p {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden
    }

    #gallery .galleryInner ul li.yt p iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%
    }

    #welfare .welBox {
        max-width: 640px;
        margin: 0 auto
    }

    #privateLesson .plWrap .plWrapInner {
        background: #000;
        margin-top: 2rem;
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    #privateLesson .plWrap .plWrapInner .plImg {
        -ms-flex-preferred-size: 35%;
        flex-basis: 35%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: auto
    }

    #privateLesson .plWrap .plWrapInner .plImg .catchCopy {
        left: 2rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo {
        -ms-flex-preferred-size: 65%;
        flex-basis: 65%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        overflow: hidden;
        padding: 0 2rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail>.ttl {
        font-size: 2rem;
        text-align: left;
        padding: 0
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail span {
        padding-left: 1rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail .member {
        display: inline-block
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail .price {
        margin: 0 -3rem;
        font-size: 1.25rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail .plLessonWrap {
        padding: 2rem 0 1rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plDetail .plPoint {
        padding: 0
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact {
        background: none;
        color: #fff;
        padding: 0
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .ttl {
        font-size: 1.25rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap {
        width: 80%;
        margin: 0 auto 1rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap .line,
    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap .ttl {
        -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap .ttl {
        color: #fff;
        font-size: 1rem;
        font-weight: normal;
        letter-spacing: 2px;
        text-align: left
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap .line {
        padding-top: 0.5rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .plLineWrap .line a {
        color: #fff
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .secTtl_left {
        font-size: 1.25rem;
        padding: 1rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .secTtl_left.secTtl:after {
        border-color: #fff
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp {
        width: 80%;
        max-width: 800px;
        padding-bottom: 2rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp ul {
        padding: 0 0 1rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp ul li {
        display: inline-block;
        padding: 0 1rem
    }

    #privateLesson .plWrap .plWrapInner .plInfo .plContact .plContactInner .joinLineTemp ul li:before {
        content: "●";
        margin-right: 0.5rem
    }

    #privateLesson .plWrap .btn_c {
        max-width: 460px
    }

    .line {
        width: 460px;
        margin: 0 auto
    }

    .joinLineTemp {
        width: 640px;
        margin: 0 auto
    }

    .joinLineTemp ul {
        padding-left: 4rem
    }
}

.footer {
    background: #5a7b79;
    position: relative
}

.footerInner {
    padding-top: 4rem
}

.btn_top {
    position: absolute;
    text-align: center;
    top: -35px;
    left: 50%;
    margin-left: -35px
}

.btn_top a {
    display: block;
    width: 70px;
    height: 70px;
    margin: 0 auto;
    line-height: 70px;
    text-decoration: none;
    color: #5a7b79;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #5a7b79
}

.foot_copy {
    padding-bottom: 3rem;
    text-align: center;
    font-size: 0.75rem;
    color: #fff
}

@media screen and (min-width:980px) {

    .btn_top a:after,
    .btn_top a:before {
        content: "";
        display: block;
        position: absolute;
        width: 70px;
        top: -1px;
        left: -1px;
        height: 70px;
        border: 1px solid rgb(255, 255, 255);
        border-radius: 50%;
        -webkit-transition: 1s;
        transition: 1s
    }

    .btn_top a:hover:after,
    .btn_top a:hover:before {
        width: 170px;
        height: 170px;
        top: -51px;
        left: -51px;
        border-color: rgba(115, 189, 189, 0)
    }

    .btn_top a {
        position: relative
    }

    .btn_top a:after {
        top: -2px;
        left: -2px;
        border: 2px solid rgb(115, 189, 189)
    }

    .btn_top a:hover:after {
        border-color: rgba(115, 189, 189, 0)
    }

    .foot_copy {
        text-align: center;
        padding-top: 4rem
    }
}

.mailFormPage .sitelogo {
    width: 30%;
    padding: 2rem 0 1rem;
    margin: 0 auto
}

.mailFormPage .pageTtl {
    text-align: center;
    padding: 1rem 0 3rem;
    background: #000;
    color: #fff;
    font-weight: normal
}

.mailFP_msg {
    padding: 4rem 0 7rem
}

.btn_index a {
    display: block
}

.err404 .coming_txt {
    background: url(/img/pose_08.png) center 0 no-repeat;
    padding-top: 9rem;
    background-size: 40%
}

.coming_txt {
    text-align: center;
    font-size: 0.85rem;
    padding: 0 1rem 1rem
}

@media screen and (min-width:980px) {
    .comingsoon {
        margin: 0 auto 8rem
    }

    .coming_txt {
        font-size: 1.125rem
    }
}

/*# sourceMappingURL=style.css.map */