<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";



/* -------------------------------------------

header

------------------------------------------- */
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 8.8rem;
    padding: 0 2rem;
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 999;
}
@media screen and (max-width: 768px) {
	header {
        justify-content: center;
        height: 6rem;
        padding: 0;
        position: relative;
    }
}
/* ---- h1 ---- */
h1 {
    width: 20rem;
}
@media screen and (max-width: 768px) {
    h1 {
        width: 16rem;
    }
}
/* ---- instagram ---- */
img.insta {
    width: 2rem;
}
/* ---- nav ---- */
.gnav-menu {
    display: flex;
    align-items: center;
    font-family: var(--font-zen);
    font-weight: bold;
}
.gnav-menu li:not(:last-child) {
    margin-right: 3rem;
}
a.btn {
    color: #fff;
    background: var(--orange);
    border-radius: 0.8rem;
    padding: 0.3rem 3rem 0.4rem 3rem;
}



/* -------------------------------------------

kv

------------------------------------------- */
.kv {
    display: flex;
    flex-direction: row-reverse;
    padding-bottom: 9rem;
    background: linear-gradient(to top, var(--bg-beige) 60%, transparent 60%);
}
@media screen and (max-width: 768px) {
	.kv {
        display: block;
        padding-bottom: 2.5rem;
    }
}
/* ---- figure ---- */
.kv &gt; figure {
    width: 70%;
}
.kv &gt; figure img {
    border-radius: 4rem 0 0 4rem;
}
@media screen and (max-width: 768px) {
    .kv &gt; figure {
        width: 100%;
    }
    .kv &gt; figure img {
        border-radius: 0;
    }
}
/* ---- div ---- */
.kv &gt; div {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4rem;
    padding-left: 13rem;
}
.kv &gt; div &gt; span {
    width: 13rem;
    height: 13rem;
    background-color: var(--green);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: var(--font-zen);
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 1.4;
    margin-bottom: 2rem;
}
.kv &gt; div &gt; div {
    font-family: var(--font-zen);
    font-weight: bold;
    display: flex;
    flex-direction: column;
    letter-spacing: 0.15em;
}
.kv &gt; div &gt; div &gt; span:nth-child(1) {
    font-size: 1.6rem;
    margin-left: 1rem;
}
.kv &gt; div &gt; div &gt; span:nth-child(2) {
    font-size: 2.7rem;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .kv &gt; div {
        width: 100%;
        padding: 0 3rem;
        margin-top: -2.4rem;
    }
    .kv &gt; div &gt; span {
        width: 100%;
        height: 4.8rem;
        border-radius: 0.5rem;
        font-size: 1.6rem;
        margin-bottom: 1.5rem;
    }
    .kv &gt; div &gt; div {
        text-align: center;
    }
}



/* -------------------------------------------

cv

------------------------------------------- */
.cv {
    background: var(--red);
    padding: 2.5rem 0 1rem 0;
}
.cv ul {
    display: flex;
    justify-content: center;
}
.cv ul li {
    width: 30rem;
}
.cv ul li:not(:last-child) {
    margin-right: 2.5rem;
}
.cv ul a {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 7.2rem;
    border-radius: 1.5rem;
    color: var(--red);
    font-family: var(--font-zen);
    font-weight: bold;
    font-size: 1.8rem;
}
.cv ul a img {
    width: 3.5rem;
    margin-right: 1rem;
}
.cv ul a i {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    margin-left: -0.5rem;
}
.cv ul li:first-child a {
    font-size: 2.4rem;
    line-height: 1.3;
}
.cv ul li:first-child a &gt; span {
    padding-bottom: 0.5rem;
}
.cv ul li &gt; span {
    display: block;
    font-size: 0.9rem;
    color: #fff;
    margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
	.cv {
        padding: 2.5rem 3rem;
    }
    .cv ul {
        display: block;
    }
    .cv ul li {
        width: 100%;
    }
    .cv ul li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 1.5rem;
    }
    .cv ul a {
        font-size: 2.2rem;
        text-decoration: none;
    }
    .cv ul a i {
        font-size: 1.4rem;
    }
    .cv ul li:first-child a {
        font-size: 2.8rem;
    }
    .cv ul li &gt; span {
        font-size: 1.1rem;
    }
}



/* -------------------------------------------

school

------------------------------------------- */
.school {
    padding: 15rem 0;
    background:
        url(../img/deco-1.png) no-repeat right top -6rem,
        url(../img/deco-2.png) no-repeat left top 50rem,
        url(../img/deco-3.png) no-repeat left bottom;
    background-size:
        44rem auto,
        12rem auto,
        20rem auto;
}
@media screen and (max-width: 768px) {
    .school {
        padding: 10rem 3rem;
        background:
            url(../img/deco-1.png) no-repeat right top -6rem,
            url(../img/deco-2.png) no-repeat right top 60rem,
            url(../img/deco-3.png) no-repeat left bottom;
        background-size:
            30rem auto,
            6rem auto,
            12rem auto;
    }
}
/* ---- wrap-1 ---- */
.school .wrap-1 {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    position: relative;
}
.school .wrap-1::before {
    content: "";
    width: 70%;
    height: 82%;
    background: var(--bg-beige);
    position: absolute;
    left: 0;
    bottom: 1rem;
}
.school .wrap-1 &gt; * {
    position: relative;
    z-index: 10;
}
.school .wrap-1 &gt; figure {
    width: 55%;
    position: relative;
    left: -4rem;
}
.school .wrap-1 &gt; div {
    width: 45%;
}
@media screen and (max-width: 768px) {
    .school .wrap-1 {
        display: block;
    }
    .school .wrap-1::before {
        width: 95%;
        height: 83%;
        left: -3rem;
        bottom: 1rem;
    }
    .school .wrap-1 &gt; figure {
        width: 100%;
        left: 0;
        margin-top: 1.5rem;
    }
    .school .wrap-1 &gt; div {
        width: 100%;
    }
}
/* ---- h2 ---- */
.school h2 {
    text-align: left;
    display: flex;
    align-items: flex-end;
}
.school h2 .en {
    margin-left: 1rem;
    margin-bottom: -0.1rem;
    margin-top: 0;
}
/* ---- h3 ---- */
.school h3 {
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 3rem;
    line-height: 1.7;
}
@media screen and (max-width: 768px) {
    .school h3 {
        font-size: 1.8rem;
    }
}
/* ---- wrap-2 ---- */
.school .wrap-2 {
    display: flex;
    align-items: center;
    margin-top: 2rem;
    margin-bottom: 8rem;
}
.school .wrap-2 &gt; ul {
    width: 75%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.school .wrap-2 &gt; ul li {
    width: 50%;
    border-left: solid 0.6rem var(--green);
    padding: 1rem 0 1rem 1.5rem;
    font-weight: 900;
}
.school .wrap-2 &gt; ul li span {
    display: block;
    font-weight: 500;
    font-size: 1.1rem;
    margin-top: 0.5rem;
}
.school .wrap-2 &gt; ul li:nth-child(n + 3) {
    margin-top: 3rem;
} 
.school .wrap-2 &gt; figure {
    width: 25%;
}
@media screen and (max-width: 768px) {
    .school .wrap-2 {
        display: block;
        margin-top: 3rem;
        margin-bottom: 6rem;
    }
    .school .wrap-2 &gt; ul {
        width: 100%;
        display: block;
    }
    .school .wrap-2 &gt; ul li {
        width: 100%;
    }
    .school .wrap-2 &gt; ul li:not(:last-child) {
        margin-bottom: 1.5rem;
    }
    .school .wrap-2 &gt; ul li span {
        font-size: 1.3rem;
    }
    .school .wrap-2 &gt; ul li:nth-child(n + 3) {
        margin-top: 0;
    } 
    .school .wrap-2 &gt; figure {
        width: 80%;
        margin: 2rem auto 0 auto;
    }
}
/* ---- wrap-3 ---- */
.school .wrap-3 &gt; span {
    display: block;
    margin-top: 1rem;
}
.school .wrap-3 &gt; div {
    display: flex;
}
.school .wrap-3 &gt; div &gt; * {
    width: 50%;
}
.school .wrap-3 &gt; div &gt; *:nth-of-type(1) {
    border-right: solid 1px #bbaa9c;
}
@media screen and (max-width: 768px) {
    .school .wrap-3 &gt; div {
        display: block;
    }
    .school .wrap-3 &gt; div &gt; * {
        width: 100%;
    }
    .school .wrap-3 &gt; div &gt; *:nth-of-type(1) {
        border-right: none;
    }
}
/* ---- table ---- */
table th {
    background: var(--brown-1);
    color: #fff;
}
table th,
table td {
    padding: 1rem 0;
}
table tr {
    background: #fefaf3;
}
table tr:nth-of-type(odd) {
    background: #fdf6ea;
}
table td {
    text-align: center;
}



/* -------------------------------------------

teacher

------------------------------------------- */
.teacher {
	padding: 10rem 0 6rem 0;
    background: url(../img/ptn-1.png) center top;
    background-size: 6rem auto;
}
@media screen and (max-width: 768px) {
	.teacher {
        padding: 8rem 3rem 6rem 3rem;
    }
}
/* ---- h2 ---- */
.teacher h2 {
    font-weight: 900;
    font-size: 5.6rem;
    letter-spacing: 0.08em;
    color: #f8f1d9;
    line-height: 1;
    margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
    .teacher h2 {
        text-align: center;
    }
}
/* ---- wrap-1 ---- */
.teacher .wrap-1 {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
}
.teacher .wrap-1 &gt; div {
    width: 70%;
    padding-left: 4rem;
}
.teacher .wrap-1 &gt; figure {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.teacherfigure figcaption {
    margin-top: 3.5rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: bold;
}
.teacher figure figcaption &gt; span:nth-child(1) {
    font-size: 1.1rem;
    margin-right: 1rem;
    margin-bottom: 0.15rem;
}
.teacher .wrap-1 p {
    line-height: 2;
    font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
    .teacher .wrap-1 {
        display: block;
    }
    .teacher .wrap-1 &gt; div {
        width: 100%;
        padding-left: 0;
    }
    .teacher figure {
        margin-bottom: 2rem;
    }
    .teacher figure figcaption {
        margin-top: 2rem;
        font-size: 2.4rem;
        text-align: center;
    }
    .teacher figure figcaption &gt; span:nth-child(1) {
        font-size: 1.4rem;
        margin-bottom: 0.3rem;
    }
    .teacher .wrap-1 p {
        font-size: 1.5rem;
    }
}
/* ---- wrap-2 ---- */
.teacher .wrap-2 {
    display: flex;
    justify-content: space-between;
    margin-top: 7rem;
}
.teacher .wrap-2 &gt; dl {
    width: 65%;
}
.teacher .wrap-2 &gt; div {
    width: 35%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.teacher .wrap-2 &gt; div figure {
    margin-top: 2rem;
    width: 10rem;
}
.teacher .wrap-2 dl:first-of-type {
    padding-right: 5rem;
}
.teacher .wrap-2 dl dt {
    background: var(--brown-2);
    color: #fff;
    width: 9rem;
    text-align: center;
    padding: 0.2rem 0;
    margin-bottom: 1rem;
    font-size: 1.2rem;
}
.teacher .wrap-2 dl dd {
    font-size: 1.2rem;
    line-height: 2;
}
@media screen and (max-width: 768px) {
	.teacher .wrap-2 {
        display: block;
        margin-top: 4rem;
    }
    .teacher .wrap-2 &gt; dl {
        width: 100%;
        margin-bottom: 3rem;
    }
    .teacher .wrap-2 &gt; div {
        width: 100%;
        align-items: flex-start;
    }
    .teacher .wrap-2 &gt; div figure {
        width: 16rem;
        margin: 2rem auto 0 auto;
    }
    .teacher .wrap-2 dl:first-of-type {
        padding-right: 0;
    }
    .teacher .wrap-2 dl dt {
        width: 12rem;
        padding: 0.4rem 0 0.5rem 0;
        font-size: 1.6rem;
    }
    .teacher .wrap-2 dl dd {
        font-size: 1.5rem;
        line-height: 2;
    }
}



/* -------------------------------------------

price

------------------------------------------- */
.price {
    padding: 15rem 0 20rem 0;
    background:
        url(../img/deco-4.png) no-repeat right top,
        url(../img/deco-5.png) no-repeat left bottom;
    background-size:
        24rem auto,
        20rem auto;
}
@media screen and (max-width: 768px) {
    .price {
        padding: 10rem 3rem;
        background-size:
            13rem auto,
            15rem auto;
    }
}
/* ---- wrap-1 ---- */
.price .wrap-1 {
    position: relative;
    margin-bottom: 6rem;
}
@media screen and (max-width: 768px) {
    .price .wrap-1 {
        margin-bottom: 3rem;
    }
}
.price .wrap-1 span {
    width: 12rem;
    height: 12rem;
    background: var(--red);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-weight: bold;
    position: absolute;
    right: -1.5rem;
    bottom: -4rem;
    padding-top: 0.5rem;
}
/* ---- wrap-2 ---- */
.price .wrap-2 {
    display: flex;
    justify-content: space-between;
}
.price .wrap-2 &gt; div:nth-of-type(1) {
    width: 60%;
}
.price .wrap-2 &gt; div:nth-of-type(2) {
    width: 35%;
    background: var(--bg-beige);
    padding: 2rem 2.5rem;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 {
        display: block;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) {
        width: 100%;
        margin-bottom: 3rem;
    }
    .price .wrap-2 &gt; div:nth-of-type(2) {
        width: 100%;
        padding: 2rem 2.5rem;
    }
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dt {
    width: 10rem;
    background: var(--green);
    color: #fff;
    text-align: center;
    padding: 0.3rem 0;
    margin-bottom: 1rem;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd:not(:last-of-type) {
    margin-bottom: 2rem;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl {
    display: flex;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl {
        display: block;
    }
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dt {
    width: 76%;
    background:url(../img/dot.png) repeat-x center left;
    background-size: auto 0.2rem;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl dt span {
    background: #fff;
    padding-right: 1rem;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd {
    width: 24%;
    text-align: right;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dt {
        width: 100%;
        background: none;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl dt span {
        background: none;
        padding-right: 0;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd {
        width: 100%;
        text-align: left;
    }
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dt:nth-of-type(1), 
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) {
    width: 100%;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dt:last-of-type, 
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:last-of-type {
    width: 100%;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:not(:last-of-type) {
    margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:not(:last-of-type) {
        margin-bottom: 3rem;
    }
}
/* 園児年長さん～小学生 */
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl {
    display: flex;
    flex-wrap: wrap;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dt {
    width: 76%;
    text-align: left;
    background:url(../img/dot.png) repeat-x center left;
    background-size: auto 0.2rem;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dt::before {
    content: "・";
    color: var(--green);
    background: #fff;
}
.price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dd {
    width: 24%;
    text-align: right;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl {
        display: block;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dt {
        width: 100%;
        background: none;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dd {
        width: 100%;
        text-align: left;
    }
    .price .wrap-2 &gt; div:nth-of-type(1) &gt; dl &gt; dd &gt; dl &gt; dd:nth-of-type(1) dl dd:not(:last-of-type) {
        margin-bottom: 0.8rem;
    }
}
dt.senior,
dt.private {
    background: none !important; 
}
dd.private {
    text-align: left !important;
}
.price .note {
    color: var(--red);
    margin-top: 1.5rem;
    display: inline-block;
    border: solid 1px var(--red);
    padding: 0.3rem 1rem;
}
/* ---- 教材費 ---- */
.price .wrap-2 &gt; div:nth-of-type(2) dt {
    color: var(--green);
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul {
    margin-bottom: 2.5rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li {
    display: flex;
    align-items: center;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li:not(:last-child) {
    margin-bottom: 1.5rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li img {
    width: 3.5rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li &gt; span {
    width: calc(100% - 3.5rem);
    padding-left: 1.2rem;
    font-size: 1.2rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li &gt; span i {
    display: block;
    font-size: 1rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; div ul li:not(:last-child) {
    margin-bottom: 1rem;
}
.price .wrap-2 &gt; div:nth-of-type(2) dd &gt; div ul li {
    font-size: 1.1rem;
    list-style: decimal;
    margin-left: 2rem;
}
@media screen and (max-width: 768px) {
    .price .wrap-2 &gt; div:nth-of-type(2) dt {
        font-size: 1.8rem;
    }
    .price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li img {
        width: 5rem;
    }
    .price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li &gt; span {
        width: calc(100% - 5rem);
        font-size: 1.5rem;
    }
    .price .wrap-2 &gt; div:nth-of-type(2) dd &gt; ul li &gt; span i {
        font-size: 1.1rem;
    }
    .price .wrap-2 &gt; div:nth-of-type(2) dd &gt; div ul li {
        font-size: 1.2rem;
    }
}



/* -------------------------------------------

blog

------------------------------------------- */
.blog {
    padding: 10rem 0;
    background: url(../img/ptn-2.png) center top;
    background-size: 4rem auto;
    position: relative;
}
@media screen and (max-width: 768px) {
    .blog {
        padding: 8rem 3rem;
    }
}
.blog .deco {
    position: absolute;
    display: block;
    width: 14rem;
    right: 12rem;
    top: -5rem;
}
@media screen and (max-width: 768px) {
    .blog .deco {
            width: 10rem;
        right: 2rem;
        top: -2rem;
    }
}
/* ---- more ---- */
.blog .more {
    margin: 6rem auto 0 auto;
    background: var(--orange);
    color: #fff;
    border-radius: 1.5rem;
    padding: 0.8rem 0 0.9rem 0;
    width: 18rem;
    display: block;
    text-align: center;
}
.blog .CMS-ARTICLE-MORE-READ {
    display: none;
}
.blog .CMS-ARTICLE-INDEX {
    padding-bottom: 0;
}
/* ---- cms ---- */
.CMS-ARTICLE-INDEX {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    padding-bottom: 10rem;
}
.CMS-ARTICLE-INDEX &gt; * {
    width: 31%;
    margin-right: 3.5%;
}
.CMS-ARTICLE-INDEX &gt; *:nth-of-type(3n) {
    margin-right: 0;    
}
.CMS-ARTICLE-INDEX &gt; *:nth-of-type(n + 4) {
    margin-top: 3.5rem;
}
.CMS-ARTICLE-ITEM a {
    transition: all .3s;
    display: block;
}
.CMS-ARTICLE-ITEM a:hover {
    opacity: 0.6;
}
.CMS-ARTICLE-TIME {
    font-size: 1.2rem;
    margin: 1.5rem 0 0.5rem 0;
    padding-bottom: 1rem;
    line-height: 1;
    border-bottom: solid 1px #000;
}
.container .CMS-ARTICLE-TIME {
    border-bottom: 0;
    margin: 0;
    padding: 0;
    font-family: var(--font-zen);
    color: var(--pink);
    font-size: 1.4rem;
}
.CMS-ARTICLE-LINK {
    font-size: 1.4rem;
    line-height: 1.8;
}
.CMS-ARTICLE-INDEX &gt; * img {
    height: 18rem;
    width: 100%;
    object-fit: cover;  
}
/* ---- read more ---- */
.CMS-ARTICLE-MORE-READ {
    background: var(--orange);
    border: none;
    padding: 1.3rem 0 1.4rem 0;
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    width: 31%;
    display: block;
    transition: all .3s;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    border-radius: 10rem;
    font-family: var(--font-zen);
    font-weight: bold;
}
.CMS-ARTICLE-MORE-READ:hover {
    cursor: pointer;
    opacity: 0.6;
}
/* detail */
.CMS-ARTICLE-TITLE {
    border-bottom: solid 1px rgba(0,0,0,0.3);
    font-size: 2.4rem;
    margin-bottom: 3rem;
    padding: 1rem 0 1.5rem 0;
    position: relative;
    font-family: var(--font-zen);
}
.CMS-ARTICLE-TITLE:after {
    border-bottom: solid 4px var(--blue);
    bottom: -4px;
    content: " ";
    display: block;
    position: absolute;
    width: 25%;
}
.CMS-ARTICLE-CONTENT img {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto 3rem auto;
}
@media screen and (max-width: 768px) {
    .CMS-ARTICLE-INDEX {
        display: block;
    }
    .CMS-ARTICLE-INDEX &gt; * {
        width: 100%;
        margin-right: 0;
    }
    .CMS-ARTICLE-INDEX &gt; *:nth-of-type(n + 4) {
        margin-top: 0;
    }
    .CMS-ARTICLE-INDEX &gt; *:nth-of-type(n + 2) {
        margin-top: 3.5rem;
    }        
    .CMS-ARTICLE-TIME {
        margin: 1.5rem 0 0.3rem 0;
    }   
    .CMS-ARTICLE-INDEX &gt; * img {
        height: 24rem;
    }
    .CMS-ARTICLE-CONTENT img {
        width: 100%;
    }
}



/* -------------------------------------------

voice

------------------------------------------- */
.voice {
	padding: 10rem 0;
    background:
        url(../img/deco-6.png) no-repeat right top 3rem,
        url(../img/deco-2.png) no-repeat left bottom 30rem;
    background-size:
        12rem auto,
        14rem auto;
}
@media screen and (max-width: 768px) {
    .voice {
        padding: 8rem 3rem;
        background:
            url(../img/deco-6.png) no-repeat right top 1rem,
            url(../img/deco-2.png) no-repeat left bottom 2rem;
        background-size:
            7rem auto,
            6rem auto;
    }
}
/* ---- h2 ---- */
.voice h2 {
    margin-bottom: 10rem;
}
.voice h2 .jp i:nth-of-type(1) {
    color: #f9b4b9;
}
.voice h2 .jp i:nth-of-type(2) {
    color: #9adcff;
}
/* ---- ul ---- */
.voice &gt; ul:nth-of-type(1) {
    margin-bottom: 12rem;
}
.voice &gt; ul {
    display: flex;
    justify-content: space-between;
}
.voice &gt; ul &gt; li {
    width: 23%;
    font-size: 0.9rem;
    background: #fef7f7;
    padding: 1.5rem 1rem;
}
.voice &gt; ul &gt; li &gt; dl dt {
    background: var(--pink);
    color: #fff;
    font-weight: bold;
    padding: 0.2rem 0.6rem 0.25rem 0.6rem;
    margin-bottom: 0.5rem;
}
.voice &gt; ul &gt; li &gt; dl dd:not(:last-of-type) {
    margin-bottom: 1rem;
}
.voice &gt; ul:nth-of-type(2) li {
    background: #f2fbfd;
}
.voice &gt; ul:nth-of-type(2) &gt; li &gt; dl dt {
    background: var(--blue);
}
@media screen and (max-width: 768px) {
    .voice &gt; ul:nth-of-type(1) {
        margin-bottom: 12rem;
    }
    .voice &gt; ul {
        display: block;
    }
    .voice &gt; ul &gt; li {
        width: 100%;
        font-size: 1.3rem;
        padding: 2.5rem 2.5rem;
    }
    .voice &gt; ul &gt; li:not(:last-child) {
        margin-bottom: 8rem;
    }
    .voice &gt; ul &gt; li &gt; dl dt {
        padding: 0.5rem 1.5rem 0.6rem 1.5rem;
        font-size: 1.5rem;
    }
}
/* prof */
.voice-prof {
    margin-bottom: 1.5rem;
}
.voice-prof figure {
    width: 60%;
    margin: 0 auto -7rem auto;
    position: relative;
    top: -8rem
}
.voice-prof dt {
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
    .voice-prof dt {
        font-size: 1.8rem;
    }	
}



/* -------------------------------------------

map

------------------------------------------- */
.map {
    padding: 10rem 0;
    background: url(../img/ptn-2.png) center top;
    background-size: 4rem auto;	
}
@media screen and (max-width: 768px) {
    .map {
        padding: 8rem 3rem;
    }
}
.map h2 {
    margin-bottom: 8rem;
}
/* ---- wrap ---- */
.map .wrap {
    display: flex;
    justify-content: space-between;
}
.map .wrap &gt; div {
    width: 46%;
    position: relative;
}
@media screen and (max-width: 768px) {
    .map .wrap {
        display: block;
    }
    .map .wrap &gt; div {
        width: 100%;
    }
    .map .wrap &gt; div:nth-of-type(1) {
        margin-bottom: 6rem;
    }
}
.gmap &gt; div {
    border: solid 2px var(--pink);
}
.map .wrap &gt; div:nth-of-type(2) .gmap &gt; div {
    border: solid 2px var(--blue);
}
.gmap iframe {
	width: 100%;
	height: 32rem;
}
.map .wrap &gt; div p {
    margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
    .map .wrap &gt; div p {
        font-size: 1.3rem;
    }
}
.gmap &gt; span {
    width: 14rem;
    height: 4.8rem;
    background: url(../img/bg-arrow-pink.png) no-repeat;
    background-size: 100% auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #fff;
    padding-left: 0.7rem;
    position: absolute;
    left: -3rem;
    top: -3rem;
    transform: rotate(-10deg);
}
.map .wrap &gt; div:nth-of-type(2) .gmap &gt; span {
    background: url(../img/bg-arrow-blue.png) no-repeat;
    background-size: 100% auto;
}
@media screen and (max-width: 768px) {
	.gmap &gt; span {
        left: -2rem;
    }
}



/* -------------------------------------------

contact

------------------------------------------- */
.contact {
    padding: 10rem 0;
	background: #fafafa;
}
@media screen and (max-width: 768px) {
    .contact {
        padding: 8rem 3rem;
    }	
}



/* -------------------------------------------

form

------------------------------------------- */
.CMS-FORM-GROUP {
    align-items: center;
}
.CMS-FORM-GROUP:not(:last-of-type) {
    margin-bottom: 4rem;
}
.CMS-FORM-GROUP &gt; label {
    display: block;
    font-weight: bold;
    margin-bottom: 1rem;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL,
.CMS-FORM-GROUP textarea {
    width: 100%;
    padding: 1.5rem;
    background: #eee;
    border: none;
}
.CMS-FORM-INPUT:focus,
.CMS-FORM-EMAIL:focus,
.CMS-FORM-GROUP textarea:focus {
    font-size: 16px;
}
.CMS-FORM-INPUT,
.CMS-FORM-EMAIL {
    -webkit-appearance: none;
    appearance: none;
}
.CMS-FORM-GROUP textarea {
    height: 20rem;
    -webkit-appearance: none;
    appearance: none;
}
.CMS-FORM-GROUP input[type="submit"] {
    background: #000;
    border: none;
    color: #fff;
    display: block;
    font-weight: 600;
    font-size: 1.4rem;
    width: 18rem;
    padding: 1.2rem 0 1.3rem 0;
    margin: 0 auto;
    transition: all .3s;
    border-radius: 1rem;
}
.CMS-FORM-GROUP input[type="submit"]:hover {
    cursor: pointer;
    opacity: 0.5;
}
/* radio */
.CMS-FORM-RADIO {
    display: flex;
}
@media screen and (max-width: 768px) {
    .CMS-FORM-RADIO {
        flex-direction: column;
    }
}
.CMS-FORM-RADIO &gt; *:not(:last-of-type) {
    margin-right: 2rem;
}
.CMS-FORM-RADIO input[type="radio"] {
    width: 2rem;
    height: 2rem;
    display: block;
    margin-top: 0.9rem;
    border-radius: 50%;
}
.CMS-FORM-RADIO &gt; div {
    display: flex;
    align-items: center;
}
.CMS-FORM-RADIO label{
    display: block;
    margin-top: 0.8rem;
    margin-left: 0.5rem;
    font-weight: 500;
    white-space: nowrap;
}
_::-webkit-full-page-media, _:future, :root .CMS-FORM-RADIO label {
    margin-top: 0;
}
input[type="radio"] {
    position: relative;
    width: 14px !important;
    height: 14px !important;
    border: 1px solid #444;
    background: #fff;
    border-radius: 50%;
    vertical-align: -2px;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}
input[type="radio"]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--red);
    content: '';
}
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-appearance: button;
    appearance: button;
    border: none;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}
.his {
    line-height: 1;
    font-size: 1.1rem;
    margin-left: 1.0rem;
    color: #c80000;
    font-weight: 500;
}
@media screen and (max-width: 768px) {
    .CMS-FORM-GROUP {
        display: block;
    }
    .CMS-FORM-GROUP label {
        width: 100%;
        display: block;
        margin-bottom: 1rem;
    }
    .CMS-FORM-GROUP input,
    .CMS-FORM-GROUP textarea {
        width: 100%;
    }
    .CMS-FORM-RADIO input[type="radio"] {
        transform: scale(0.6);
    }
    _::-webkit-full-page-media, _:future, :root .CMS-FORM-RADIO label {
        margin-top: 1.4rem;
        margin-left: 0;
    }
    .CMS-FORM-GROUP input[type="submit"] {
        width: 100%;
        padding: 2rem 0;
        font-size: 1.8rem;
    }   
}



/* -------------------------------------------

privacy

------------------------------------------- */
.privacy {
    border: 1px solid #ddd;
    padding: 2rem;
    height: 24rem;
    overflow: auto;
    background: #fff;
    font-size: 1.2rem;
}
.privacy-note {
    margin: 4rem 0 2rem 0;
    font-size: 1.2rem;
}



/* -------------------------------------------

thanx

------------------------------------------- */
.thanx {
    text-align: center;
}
.back {
    text-align: center;
    display: block;
}
.back a {
    color: var(--red);
}
@media screen and (max-width: 768px) {
    .thanx {
        text-align: left;
    }
}



/* -------------------------------------------

footer

------------------------------------------- */
footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem 0 2rem 0;
}
@media screen and (max-width: 768px) {
    footer {
        padding: 4rem 0 9rem 0;
    }
}
/* ---- nav ---- */
footer nav ul {
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: var(--font-zen);
}
footer nav ul li:not(:last-child) {
    margin-right: 3rem;
}
@media screen and (max-width: 768px) {
    footer nav ul {
        flex-wrap: wrap;
    }
    footer nav ul li:not(:last-child) {
        margin-right: 0;
    }	
    footer nav ul li {
        width: 50%;
        text-align: center;
        padding: 0.6rem 0;
    }
}

/* ---- logo ---- */
footer .logo {
    width: 22rem;
    margin-bottom: 1rem;
}
footer &gt; div {
    margin: 4.5rem 0;
}
footer address {
    text-align: center;
}
/* ---- small ---- */
footer small {
    display: block;
    font-size: 1rem;
}
@media screen and (max-width: 768px) {
	
}

.top-video video {
    width: 60%;
    margin: 8rem auto;
    display: block;
} 

@media screen and (max-width: 767px) {
    .top-video video {
        width: 100%;
    }
}

/* -------------------------------------------

anchor

------------------------------------------- */
.anchor {
    padding-top: 8.8rem;
    margin-top: -8.8rem;
    display: block;
}
@media screen and (max-width: 768px) {
	.anchor {
        padding-top: 0;
        margin-top: 0;
    }
}
</pre></body></html>