@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@500&family=Noto+Sans+JP:wght@300;500&family=Noto+Serif+JP:wght@300;500&family=Zen+Maru+Gothic:wght@300;500&display=swap');
@import url("https://use.typekit.net/zbi2spm.css");

/*-- フォント --*/

.l-topTitleArea__body {
    color: #7d4f50;
    text-shadow: none;
}

.c-smallNavTitle,
.paci-en,
.btn-underlile,
a.btn-more,
.c-widget__title {
    font-family: 'Cormorant', serif;
}

.c-pageTitle,
.c-postTitle__ttl,
.menu-item,
.noto-jp,
.c-postTimes__posted.icon-posted,
.b-txt,
.ft-nav a,
a.btn-contact,
.intro,
.post_content dt,
.post_content h2,
.post_content h3,
.post_content h4,
.swell-block-step__title,
.btn-application>.wp-block-button.is-style-outline>.wp-block-button__link {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
}

.lt-sp-1 {
    letter-spacing: .1em;
}

h2.en-index,
p.en-index {
    font-weight: 500;
    font-size: 3em;
}

h2.de-index,
p.de-index {
    font-weight: 500;
    font-size: 2.4em;
}

.c-widget__title {
    font-weight: 400;
}

.c-pageTitle {
    display: flex;
    justify-content: center;
    flex-direction: column;
}


.c-pageTitle__subTitle {
    font-style: normal;
    margin-top: .5em;
}

.p-termNavigation.c-categoryList {
    display: none;
}

p.en-index {
    font-size: 1.8em;
}

.jp-index,
.jp-title {
    font-weight: 400;
    color: #7d4f50;
}

.jp-index {
    font-size: .9em;
}

.jp-title,
.p-postSlider__title,
p.en-index {
    font-size: 1.6em;
}

.menu-item {
    color: #7d4f50;
}

#fix_bottom_menu .menu-item {
    color: #fff;
}

.c-smallNavTitle {
    font-weight: 400;
    font-size: 1em;
    color: var(--color_main);
}

.c-postTimes__posted.icon-posted,
.intro {
    font-size: 1.3em;
    font-weight: 400;
}

.p-postList .p-postList__title {
    font-weight: 400;
}

.has-white-background-color {
    color: #7d4f50;
}

.b-txt {
    font-size: 1.2em;
}

.txt-schedule {
    font-size: .6em;
}

.-type-list2 .p-postList__body::after,
.-type-big .p-postList__body::after {
    opacity: 1;
}


/*-- レイアウト --*/

.l-topTitleArea {
    text-align: center;
    min-height: 11em;
}


.l-container[data-postid="95"] {
    padding-top: 0;
}

.p-postList__body {
    display: flex;
    flex-wrap: wrap;
}

.has-border,
div.has-background,
p.has-background {
    padding: 1em;
}

.-type-card.-pc-col1 .p-postList__item {
    margin: 0 0 1em;
}

.ob-contents-about-layout,
.ob-contents-lesson-layout {
    display: flex;
}

/*-- ボタン --*/

.c-fixBtn {
    background-color: var(--color_main);
    color: #fff;
    transition: all .25s;
}

a.btn-more {
    font-weight: 400;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 75%;
    margin: auto;
    padding: .5rem 4rem;
    border: 1px solid #7d4f50;
    color: #7d4f50;
    transition: 0.25s;
}

a.btn-more:hover {
    color: #fff;
    border: 1px solid #ea98c1;
    background: #ea98c1;
}

a.btn-contact,
a.btn-contact-de {
    font-weight: 400;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 75%;
    margin: auto;
    padding: 1.5rem;
    background-color: #fff;
    color: #7d4f50;
    transition: 0.25s;
}

a.btn-contact:hover,
a.btn-contact-de:hover {
    color: #fff;
    background: #ea98c1;
}

.btn-underlile {
    color: #7d4f50;
    font-size: .9em;
    font-weight: 500;
    border-bottom: solid 1px;
    padding-bottom: 3px;
    transition: all .2s linear;
}

.btn-underlile:hover {
    letter-spacing: .1em;
}

.btn-underlile:after {
    content: '';
    display: inline-block;
    width: 1.5em;
    height: 1em;
    background-image: url('https://oishiibacken.com/wp-content/uploads/2023/04/arrow-1.svg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-left: 1em;
}

.-type-big .p-postList__body:after,
.-type-list2 .p-postList__body:after {
    box-shadow: 0 0 0 1px #7d4f50;
}

.btn-application>.wp-block-button {
    width: 50%;
}

.btn-application>.wp-block-button.is-style-outline>.wp-block-button__link {
    display: block;
    border: 1px solid;
    font-size: 1em;
    font-weight: 300;
    transition: .25s;
    margin: auto;
}

.btn-application>.wp-block-button.is-style-outline>.wp-block-button__link:hover {
    color: #fff;
    border: 1px solid #ea98c1;
    background: #ea98c1;
    transition: .25s;
}

@media screen and (max-width:960px) {
    .btn-application>.wp-block-button {
        width: 100%;
    }
}


/*-- 非表示 --*/

.c-postTimes__posted.icon-posted:before,
.p-postList__cat.u-thin.icon-folder {
    display: none;
}

.p-mainVisual__textLayer {
    text-shadow: none !important;
    color: #7d4f50 !important;
}

.schedule {
    position: absolute;
    bottom: 0;
}

.c-postThumb__cat.icon-folder::before {
    display: none;
}

.alignfull>.wp-block-cover__inner-container>*,
.alignfull>.wp-block-group__inner-container>*,
.swell-block-fullWide__inner>* {
    margin-bottom: 0;
}


/*-- 装飾 --*/

.is-style-index {
    margin-bottom: 3rem;
}

ul.is-style-index li:before {
    width: 4px;
    height: 4px;
}

.lace img {
    width: 100%;
}

.p-postList.-type-simple,
.-frame-off .p-postList.-type-list2 {
    border-top: 1px solid rgba(125, 79, 80, 0.3);
}

.-type-simple .p-postList__link,
.-type-list2 .p-postList__item {
    border-bottom: 1px solid rgba(125, 79, 80, 0.3);
}

.-type-simple .p-postList__link {
    transition: all .25s;
}

.-type-simple .p-postList__link:hover {
    background-color: #fff;
    opacity: .5;
    transition: all .25s;
}

.ob-contents-about-line {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    padding-top: 15.6%;
    height: 250px;
    background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/line-3.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

.swell-block-fullWide.ob-bg1 {
    background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/bg-1.jpg);
    background-repeat: repeat;
}

.swell-block-fullWide.ob-bg2 {
    background-image: url(https://oishiibacken.com/wp-content/uploads/2024/02/bg2.jpg);
    background-repeat: repeat;
}


.swell-block-fullWide.ob-bg3 {
    background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/bg3-3.jpg);
    background-repeat: repeat;
}

.wp-block-cover {
    padding: 1em;
}

.page-template-default>.l-content {
    padding-top: 0em;
}

.wp-block-table {
    --table-border: 3px solid #fff;
}

.post_content th {
    color: #7d4f50;
    font-weight: 500;
}


/*-- グローバルナビ --*/

.l-header__inner.l-container {
    padding-top: 10px;
    padding-bottom: 10px;
}

.c-gnav>li>a,
.c-gnav>.-current>a {
    transition: all .25s;
}

.c-gnav>li:hover>a {
    transition: all .25s;
    opacity: .5;
}

.l-fixHeader__inner.l-container {
    padding-top: 10px;
    padding-bottom: 10px;
}

.c-gnav>.menu-item {
    background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/dot.png);
    /*使用する画像の指定*/
    background-repeat: repeat-y;
    /*縦方向への繰り返し指定*/
}


.c-gnav>.menu-item>a {
    padding: 0px 30px;
    /*余白の指定*/
}


/*-- fotter --*/

.w-beforeFooter {
    margin: 0 auto;
}

.ft-nav {
    text-align: center;
    padding: 30px;
}

.ft-nav a {
    color: #7d4f50;
    text-decoration: none;
    transition: all .25s;
}

.ft-nav a:hover {
    opacity: .5;
    transition: all .25s;
}

.ft-nav .ft-menu {
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.ft-nav .ft-menu li {
    margin: 0;
    padding: 2px 20px;
}

.c-smallNavTitle {
    opacity: 1;
}



@media screen and (min-width:960px) {
    .lace01-pc {
        display: block;
    }

    .lace01-tab {
        display: none;
    }

    .ob-sp-only {
        display: none;
    }

    .ob-pc-only {
        margin-right: 2rem
    }

    .ob-contents-about-detail,
    .ob-contents-lesson-detail {
        width: 40%;
    }

    .ob-contents-lesson-detail {
        margin-right: 2rem;
    }
}

/*-ご注文レイアウト-*/

.ob-link-underline {
    text-decoration: underline;
}

.ob-order-category-btn {
    display: flex;
    justify-content: center;
    gap: 1em;
}

button.ob-order-category-btn,
button.ob-order-category-btn.active {
    padding: 1em;
    width: 25%;
    background: none;
    position: relative;
}

button.ob-order-category-btn:after,
button.ob-order-category-btn.active:after {
    border: none;
    content: '';
    position: absolute;
    top: 5px;
    left: 5px;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    z-index: -1;
}

button.ob-order-category-btn {
    color: #999;
    border: 1px solid #999;
}

button.ob-order-category-btn:after {
    background-color: #f5f5f5;
}

button.ob-order-category-btn.active {
    color: #7d4f50;
    border: 1px solid #C3AEAE;
}

button.ob-order-category-btn.active:after {
    background-color: #FFEFF2;
}

.ob-order p {
    margin-bottom: 1em;
}

.ob-order-list p:before {
    content: "";
    display: block;
    margin-top: 1em;
}

.ob-order-list li {
    display: flex;
    gap: 1em;
    margin-top: 3em;
    border-bottom: dotted 1px #7d4f50;
    padding-bottom: 3em;
    align-items: flex-start;
}

.ob-order-list li:last-child {
    border-bottom: initial;
}

.ob-order-detail {
    width: 50%;
    display: flex;
    flex-direction: column;
}

.ob-order-price-detail {
    margin-bottom: 1em;
}

.ob-order-price-sale {
    white-space: nowrap;
}

.ob-order-list>li>img {
    aspect-ratio: 3 / 2;
    width: 50%;
    object-fit: cover;
}

.post_content ul.ob-order-list {
    padding-left: 0;
}

.ob-order-list li::marker {
    display: none;
}

.ob-order-detail {
    display: flex;
    flex-direction: column;
}

.ob-order-name {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.2em;
    margin-bottom: 1em;
}

.price-pattern,
.price {
    font-size: 1.05em;
}

.price-pattern:after {
    content: '･･･';
}

.price {
    margin-right: .5em;
}

.sale-application {
    color: #cc3830;
    text-decoration: line-through;
}

.sale-application span {
    color: #7d4f50;
}

.price.sale {
    color: #cc3830;
}

.ob-order-content {
    display: block;
}

.hidden.btn-off {
    display: none;
}

/*-レッスンレイアウト-*/
.ob-language-btn {
    margin-bottom: 3rem;
    display: flex;
    justify-content: center;
}

button.ob-language-btn {
    display: block;
    background-color: initial;
    border: solid 1px #7d4f50;
    color: #7d4f50;
    padding: 1em;
    width: 25%;
    margin: 0 .5em;
    transition: .25s;
}

button.ob-language-btn:hover {
    opacity: .75;
    transition: .25s;
}

button.ob-language-btn.active {
    background-color: #ea98c1;
    border: #ea98c1;
    color: #fff;
}

.post_content h2.ob-lesson-category-name {
    margin: 0;
    margin-bottom: 1em;
}

.ob-lesson-category {
    margin-bottom: 2em;
}

.ob-lesson-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    list-style: none;
    margin-right: -1em;
}

.ob-lesson-list>li>img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
	margin-bottom:-5px;
}

.post_content ul.ob-lesson-list {
    padding-left: 0;
}

.ob-lesson-list li {
    width: calc(33% - 1em);
    margin-bottom: 2em;
}

.ob-lesson-list li::marker {
    display: none;
}

.ob-detail {
    display: flex;
    flex-direction: column;
}

.ob-name {
    font-family: 'Noto Serif JP', serif;
    font-size: 1.1em;
}

.ob-time {
    display: flex;
    font-size: .9em;
}

.ob-txt{
    margin-top:.5em;
}

.ob-language {
    display: block;
}

.btn-off {
    display: none;
}

.ob-acceptance-ok {
    background-color: #7d4f50;
    color: #fff;
    text-align: center;
    padding: 4px;
    margin: 10px 0 0;
    font-size: .9em;
    margin-bottom:.5em;
}


.ob-acceptance-stop {
    background-color: #f5f5f5;
    color: #999;
    text-align: center;
    padding: 4px;
    margin: 10px 0 0;
    font-size: .9em;
    margin-bottom:.5em;
}

/*Bogoボタン*/

.bogo-language-switcher {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 1em;
    margin-left: -1em;
}

.bogo-language-switcher li {
    width: 100%;
    text-align: center;
}


.bogo-language-switcher li span {
    display: block;
    width: 100%;
}

.bogo-language-switcher a {
    display: block;
    width: 100%;
    padding: 1em;
    color: #7d4f50;
    border: solid 1px #7d4f50;
}

.bogo-language-switcher .current a {
    color: #fff;
    background-color: #ea98c1;
    border: solid 1px #ea98c1;
}

/* お問い合わせフォーム */

.ob-contact {
    max-width: 100%;
    box-sizing: border-box;
}

.ob-contact dd {
    margin: 0 0 30px 0;
}

span.wpcf7-list-item {
    display: block;
}


/* 必須マーク */


.ob-contact dt {
    font-family: 'Noto Sans JP', sans-serif;

}

.ob-contact .must,
.ob-contact .optional {
    color: #cc3830;
    font-size: .9em;
    margin-right: 5px;
}

.btn_ob-contact {
    text-align: center;
}

.btn_ob-contact input {
    width: 100%;
    padding: 10px;
    background-color: #FFF;
    color: #7d4f50;
    font-size: 1.1em;
    font-weight: 400;
    letter-spacing: 0.2em;
    border: 1px solid #7d4f50;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}

.btn_ob-contact input:hover {
    background-color: #ea98c1;
    border: solid 1px #ea98c1;
    color: #FFF;
}

span.contact-title {
    font-size: .9em;
}

.menu-btn a {
    max-width: 90%;
}

@media screen and (min-width: 520px) {
    .contact7 dt {
        float: left;
        clear: left;
        width: 35%;
        padding: 5px 10px 5px 0;
    }

    .contact7 dd {
        margin-left: 35%;
        margin-top: 20px;
    }

    .input-text-area {
        width: 100%;
    }
}



@media screen and (max-width:960px) {
    .lace01-tab {
        display: block;
    }

    .lace01-pc {
        display: none;
    }


    a.btn-contact {
        font-size: .9em;
        text-align: center;
        padding: 1.5rem 2rem;
    }

    .ob-contents-about-line {
        padding-top: 25%;
        height: 180px;
        background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/line-tab.png);
        margin-bottom: -6em;
    }

    .ob-pc-only {
        display: none;
    }

    h2.de-index,
    p.de-index {
        font-size: 2.1em;
    }

}

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

    h2.en-index.paci-en {
        font-size: 2em;
    }

    h2.de-index,
    p.de-index {
        font-size: 1.6em;
    }

    p.b-txt {
        font-size: 1em;
    }

    p {
        font-size: .9em;
    }

    .ft-nav {
        padding: 10px;
    }

    .ft-nav a {
        font-size: .9em;
    }

    .ft-nav .ft-menu li {
        padding: 2px 10px;
    }

    .intro {
        font-size: 1.1em;
    }

    .ob-contents-about-line {
        padding-top: 48%;
        background-image: url(https://oishiibacken.com/wp-content/uploads/2023/04/line-sp-1.png);
        margin-bottom: -6em;

    }
}



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

    button.ob-language-btn {
        width: 50%;
    }

    .ob-lesson-list li {
        width: calc(50% - 1em);
        margin-bottom: 2em;
    }
}

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

    .ob-order-category-btn {
        gap: .5em;
    }

    button.ob-order-category-btn,
    button.ob-order-category-btn.active {
        padding: .5em;
        width: 50%;
    }

    button.ob-order-category-btn:after,
    button.ob-order-category-btn.active:after {
        top: 3px;
        left: 3px;
        width: calc(100% - 6px);
        height: calc(100% - 6px);
    }

    button.ob-language-btn {
        padding: .5em;
    }

    .ob-lesson-list li {
        width: 100%;
        margin-bottom: 2em;
    }

    .ob-order p {
        margin-bottom: 1em;
    }

    .ob-order-list li {
        flex-direction: column-reverse;
    }

    .ob-order-detail {
        width: 100%;
    }

    .ob-order-list>li>img {
        width: 100%;
    }

    .bogo-language-switcher a {
        padding: .5em;
    }
}

.toiro-banner {
    font-size: 14px;
    text-decoration: underline;
}