@charset "UTF-8";
/*
    Template: swell
    Theme Name: central-dental-metal
    Theme URI: 
    Description: 
    Version: 1.0
    Author: 
    Author URI:

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

/* フォント */
@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Text&display=swap');
.font-serif{
    font-family: “Noto Serif JP”, “Hiragino Mincho ProN”, serif;
} 

.font-shadow-w {
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
}

/* MV */
/* .l-container{
    max-width: 100%;
} */
.p-mainVisual__textLayer{
    align-items: flex-end;
}
@media (max-width: 959px){
    .mv__copy1 p{
        font-size: 1.5em !important;
    }
}

.w-header {
    align-items: flex-start;
}

/* ヘッダーBOXメニュー */
.swell-block-box-menu.header__boxmenu .swell-block-box-menu__item{
    width: auto;
}
.header__boxmenu__tel .swell-block-box-menu__text{
    font-size: 1.5em;
}
.header__boxmenu__web .swell-block-box-menu__text{
    font-size: 1.4em;
}
.swell-block-box-menu.is-style-fill .header__boxmenu__tel .swell-block-box-menu__link{
    background: #f6f4ec;
}
.swell-block-box-menu.is-style-fill .swell-block-box-menu__item.header__boxmenu__tel{
    color: #000;
}
.swell-block-box-menu[data-direction=vertical].header__boxmenu .swell-block-box-menu__figure {
    margin-bottom: 0.7em;
}

/* スマホ用メニュー */
.p-spMenu__inner{
    background-color: var(--color_main);
    color: #FFF;
}
.p-spMenu__inner::before{
    background: transparent;
}
.p-spMenu__body{
    overflow-y: auto;
}
/* [data-spmenu="opened"] .icon-menu-thin:before{
    content: "\e920";
} */

.c-widget__title.-spmenu{
    display: none;
}
[data-spmenu=closed] .p-spMenu {
    transition-delay: 0.3s;
}

/* PCでも開閉メニューを適用 */
@media (min-width: 960px){
    .l-header{
        position: sticky;
        /* padding-right: 95px; */
    }
    .l-header__inner.l-container{
        max-width: 100%;
        padding-right: 0;
    }
    .l-header__menuBtn.sp_{
        display: block !important;
        height: 95px;
        width: 95px;
        background: #fff;
        color: #000;
        position: fixed;
        right: 0;
    }
    
    .c-iconBtn.-menuBtn .c-iconBtn__icon{
        font-size: 2.5em;
    }
    .c-iconBtn.-menuBtn .c-iconBtn__label{
        font-size: 1em;
        font-family: “Noto Serif JP”, “Hiragino Mincho ProN”, serif;
    }
    #gnav{
        display: none;
    }
    .p-spMenu {
        display: block;
        top: var(--swl-adminbarH,0);
    }
    .p-spMenu__inner{
        width: 500px;
        top:95px;
    }
    .l-header__inner .widget_text {
        position: fixed;
        right: 95px;
        z-index: 9999;
    }
}

@media (min-width: 960px) and (min-width: 600px){
    .-series .c-headLogo {
        max-width: 100%;
    }
}

/* ボタン */
.btn-cta a span>span{
    display: block;
}

/* タイトル */
.ttl-question-num{
    font-family: 'Big Shoulders Text', sans-serif;
    letter-spacing: .15em;
}
.ttl-question-num:after{
    content: '';
    display: block;
    height: 1px;
    width: 5rem;
    background-color: var(--color_main);
    margin: 0 auto;
}
span.ans{
    background-color: var(--color_main);
    color: #FFF;
    font-size: 150%;
    padding: 0.2em 0.5em 0.2em 0.6em;
    border-radius: 50%;
    font-family: 'Big Shoulders Text', sans-serif;
}
.ttl-question-num::after
.ttl-section-en{
    display: flex;
    justify-content: center;
    align-items: center;
}
.ttl-section-en:before, .ttl-section-en:after {
    content: '';
    height: 2px;
    flex-grow: 1;
    background-color: #000;
}
.ttl-section-en:before {
    margin-right: 1rem;
}
.ttl-section-en:after {
    margin-left: 1rem;
}

/* 併用 */
.mix__boxmenu .swell-block-box-menu__link{
    padding: 2em 1em;
}
.mix__boxmenu .swell-block-box-menu__text>span{
    font-weight: bold;
    display: block;
}

/* オススメ */
.bg-arrow-w{
    background: #fff;
    position: relative;
    padding-bottom: 10vw !important;
}
.bg-arrow-w::after{
    content: '';
    display: block;
    width: 100%;
    height: 10vw;
    position: absolute;
    bottom: 0;
    background: url(img/arrow-bg-rev-w.svg);
    background-size: cover;
    background-repeat: no-repeat;
}
.case__boxmenu .swell-block-box-menu__text{
    font-size: 1.25em;
    line-height: 1.3;
}

/* RESON */
.ttl-num{
    font-family: “Noto Serif JP”, “Hiragino Mincho ProN”, serif;
    font-style: italic;
    line-height: 1.2;
    margin-bottom: 0.3em;
}
/* .ttl-num:after{
    content: '';aaa
    display: block;
    background: var(--color_main);
    width: 1em;
    height: 0.1em;
    margin: 0 auto 0.5em;
} */
@media (min-width: 960px){
    .img-num .wp-block-group__inner-container{
        position: relative;
    }
    .ttl-num-big{
        position: absolute;
        font-size: 10em !important;
        top: -0.5em;
        left: -0.25em;
        opacity: 0.7;
        color: var(--color_deep04)!important;
    }
}

/* 症例 */
.case__col__img{
    position: relative;
}
.case__col__img .swell-block-columns__inner:before{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 20px solid var(--color_main);
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

/* カルーセル */
.slider-content{
    position: relative;
}
.slider_cp{
    text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
    font-family: “Noto Serif JP”, “Hiragino Mincho ProN”, serif;
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--color_main);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    padding-bottom: 0.5rem;
}

/* 画像グラデーション処理 */
.gf-l figure{
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 40%);
    mask-image: linear-gradient(90deg, transparent 0%, black 50);
}
.gf-r figure{
    -webkit-mask-image: linear-gradient(-90deg, transparent 0%, #000 40%);
    mask-image: linear-gradient(-90deg, transparent 0%, black 50);
}
/* ステップ */
.step-block .swell-block-step__item {
    display: flex;
    background-color: #fff5ed;
    margin-bottom: 4rem !important;
    padding: 2rem 1rem;
    gap: 1rem;
}
.step-block .eof.swell-block-step__item{
        background-color: #e1f7ff;
    }

.step-block.swell-block-step:not(.is-style-big)>.swell-block-step__item:last-child {
    padding-bottom: 2em;
}
.step-block .swell-block-step:not(.is-style-big)>.swell-block-step__item:last-child {
    padding-bottom: 2em;
}
.step-block .swell-block-step__number{
    font-family: 'Big Shoulders Text', sans-serif;
    width: 96px;
    height: 96px;
    position: relative
}
.step-block .swell-block-step__number .__label{
    font-size: 1.5rem;
    padding-bottom: 0.25rem;
}
.step-block .swell-block-step__number:after {
    font-size: 2.5rem;
}

.step-block .swell-block-step__item:before{
    display: none;
}
.step-block .swell-block-step__item:after{
    content: '';
    box-sizing: border-box;
    width: 0;
    border: 30px solid transparent;
    border-top: 20px solid var(--color_main);
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4.5rem;
    z-index: 10;
}
.step-block .swell-block-step__item:last-child:after {
    content: none;
}
.txt-arrow{
    position: relative;
}
.txt-arrow:after{
    content: '';
    box-sizing: border-box;
    width: 0;
    border: 30px solid transparent;
    border-top: 20px solid var(--color_main);
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3rem;
    z-index: 10;
}
.ttl-question-num{
    font-size: 5rem;
    font-weight: 700;
}
h2.is-style-section_ttl{
    font-size: 3rem;
    letter-spacing: 0.2em;
    font-weight: normal;
}
h3.is-style-section_ttl{
    font-size: 2.5rem;
    letter-spacing: 0.15em;
    font-weight: normal;
}

@media (max-width: 599px){
    .case__col__img .swell-block-columns__inner:before{
        transform: rotate(90deg);
    }
    .ttl-question-num{
        font-size: 2rem;
    }
    .mv__copy1 p{
        font-size: 1.2em !important;
    }
    .swell-block-fullWide.alignfull .swell-block-fullWide__inner{
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .body__copy{
        font-size: 1.75em !important;
    }
    .body__copy__sub{
        font-size: 1.2em !important;
    }
    .ttl-section-en{
        font-size: 2em !important;
    }
    .ttl-section-jp{
        font-size: 1.5em !important;
    }
    .case__boxmenu .swell-block-box-menu__text{
        font-size: 1em !important;
        line-height: 1.1 !important;
    }
    .reason__clm-large .swell-block-column{
        padding: 0 1rem !important;
    }
    .reason__clm-large img{
        aspect-ratio: 16/9 !important;
    }
    .ttl-num-big{
        text-align: center;
        font-size: 3em !important;
    }
    .reason__clm-large h3.is-style-section_ttl, #reason07 h3.is-style-section_ttl{
        font-size: 2rem !important;
    }
    .reason__clm-large.clm-sp-rev .swell-block-columns__inner{
        flex-direction: column-reverse;
    }
    h2.is-style-section_ttl{
        font-size: 1.6rem;
        letter-spacing: 0.2em;
        font-weight: normal;
    }
    h3.is-style-section_ttl{
        font-size: 1.4rem;
        letter-spacing: 0.15em;
        font-weight: normal;
    }
    .slider_cp{
        font-size: 12px;
        padding-bottom: 5px;
    }
    .gf-l figure{
        -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 40%);
        mask-image: linear-gradient(0deg, transparent 0%, black 50);
    }
    .gf-r figure{
        -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 40%);
        mask-image: linear-gradient(0deg, transparent 0%, black 50);
    }
    /* ステップ */
    .step-block .swell-block-step__item {
        margin-bottom: 2rem !important;
        padding: 1rem 0.5rem;
        gap: 0.5rem;
    }
    .step-block.swell-block-step:not(.is-style-big)>.swell-block-step__item:last-child {
        padding-bottom: 1em;
    }
    .step-block .swell-block-step:not(.is-style-big)>.swell-block-step__item:last-child {
        padding-bottom: 1em;
    }
    .step-block .swell-block-step__number{
        font-family: 'Big Shoulders Text', sans-serif;
        width: 48px;
        height: 48px;
        position: relative
    }
    .step-block .swell-block-step__number .__label{
        font-size: 10px;
        padding-bottom: 4px;
    }
    .step-block .swell-block-step__number:after {
        font-size: 1.25rem;
    }
    .step-block .swell-block-step__title.u-fz-l{
        font-size: 1rem !important;
    }
    .step-block .swell-block-step__item:after, .step-block .swell-block-step__item:last-child:after{
        content: '';
        box-sizing: border-box;
        width: 0;
        border: 18px solid transparent;
        border-top: 13px solid var(--color_main);
        display: block;
        margin: 0 auto;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -40px;
        z-index: 10;
    }
    .step-block .eof.swell-block-step__item:after, .step-block .eof.swell-block-step__item:last-child:after{
        content: none;
    }
}

.l-header__logo a img{ filter:drop-shadow(1px 1px 1px #fff); }
@media (min-width: 900px) and (max-width: 1200px){
    .adjust-fontsize .swell-block-column p{font-size:1.8vw!important;}}
@media (min-width: 600px) and (max-width: 899px){
    .adjust-fontsize .swell-block-column p{font-size:1em!important;}}
@media (max-width: 599px){
    .adjust-fontsize .swell-block-column p{font-size:5vw!important;}
    .adjust-size-sp{ font-size:1.4rem!important;padding-left:1em;text-indent:-1em;}
}