@charset "UTF-8";
/*
    Template: swell
    Theme Name: LF_DEV_K
    Theme URI:
    Description:
    Version: 0.1
    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=Zen+Maru+Gothic:wght@400;500&display=swap');

body{
    font-feature-settings: "palt" 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: 'Zen Maru Gothic', sans-serif;
}

.w-beforeFooter{
    margin: 0 auto;
}

/* ---------- アニメーション ---------- */
@keyframes vertical {
    0% { transform:translateY( -10px); }
  100% { transform:translateY(  0px); }
}

@keyframes horizontal {
    0% { transform:translateX( -10px); }
  100% { transform:translateX(  0px); }
}

@keyframes yurayura {
    0% { transform:translateY( -15px) rotate( -10deg); }
  100% { transform:translateY ( 0px) rotate( 5deg); }
}

@keyframes bgiLoop {
    0% { background-position: 0 0;}
  100% { background-position: 1920px 3000px;}
}

.anim_fuwa {
    -webkit-animation: vertical 1s ease-in-out infinite alternate;
    animation: vertical 1s ease-in-out infinite alternate;
}

.anim_yura {
    -webkit-animation: yurayura 1.5s ease-in-out infinite alternate;
    animation: yurayura 1.5s ease-in-out infinite alternate;
}

/* ---------- 共通ヘッダー ---------- */
.c-gnav>.menu-item>a .ttl{
    font-size: 1em;
    letter-spacing: 0;
}
@media (min-width: 960px) {
    .-series .l-header__inner {
        justify-content: space-between;
    }
    .-series-left .w-header {
        margin-left: 0;
    }
    .l-fixHeader__inner{
        justify-content: space-between;
    }
}

.head_tel{
    color: #555;
}
.head_tel_desc{
    text-align: right;
    margin-bottom: 0;
}
ul.head_tel_inner{
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
    padding-left: 0;
    margin-bottom: 4px;
}
.head_tel_icon i{
    font-size: 1.5em;
    transform: rotate(-45deg);
}
.head_tel_note{
    font-size: 0.75em;
    line-height: 1.3;
    padding-left: 1em;
    font-weight: bold;
}
li.head_tel_tel{
    padding-left: 0.5em;
    font-size: 1.5em;
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: bold;
    margin: 0;
    line-height: 1;
}
.head_tel_icon {
    color:var(--color_main);
}
.head_tel_tel a{
    text-decoration: none;
    color:var(--color_main);
}
.head_tel_time{
    background-color: var(--color_gray);
    padding: 8px 16px 12px;
}
.head_tel_time>p:first-child{
    margin-bottom: 4px;
}
.head_tel_time>p{
    font-size: 12px;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
}
.head_tel_time>p>span{
    background-color: var(--color_main);
    color: #fff;
    padding: 0 4px;
    margin-right: 4px;
}
.l-fixHeader li.head_tel_tel{
    font-size: 1.5em;
    margin-bottom: 2px;
}
.l-fixHeader .head_tel_time{
    padding: 2px 8px;
}
.l-fixHeader .head_tel_time>p{
    font-size: 11px;
}

/* ---------- 共通フッター ---------- */
#fix_bottom_menu .menu_list{
    padding: 0;
}
#fix_bottom_menu .menu-item a{
    padding: 8px 0;
}

.spf_reserv{
    background-color: #fdfae2;
}
.spf_tel{
    background-color: var(--color_main);
}
.spf_access{
    background-color: var(--color_main);
}
.spf_line{
    background-color:#a5d24d;
}
#fix_bottom_menu .menu-item.spf_tel a{
    color: #fff;
}
#fix_bottom_menu .menu-item.spf_access a{
    color: #fff;
}

/* ---------- ボタン ---------- */
.btn_line a{
    background: #06c755 !important;
}
.btn-white a{
    background: #fff;
    color: var(--color_main);
}
.btn-white a:hover{
    background: var(--color_main);
    color: #FFF;
}
.is-style-btn_normal a:hover{
    background: #FFF;
    color: var(--color_main);
    transition: 0.3s;
}
.btn-cta a{
    font-size: 1.2em;
    width: 100%;
}
.footer-button-tel a{
    background: transparent;
    color: #555;
    border-top: dashed 1px #555;
    border-bottom: dashed 1px #555;
    font-size: 1.5em;
}
.footer-button-tel a span:first-child{
    font-weight: normal;
}

/* ---------- 背景 ---------- */
.bg_dot{
    background: url(asset/img/background.gif) 50% 50% repeat;
}


/* ---------- トップページ ---------- */

/* メインビジュアル（SVG画像） */
.mv_copy_img{
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 240, 0.8));
}
/* メインビジュアル（テキストタイプ） */
.mv_copy{      
}
.mv_copy_txt{
    font-size: 3em;
    line-height: 1.5;
    font-weight: bold;
}
.mv_copy_txt span{
    border-bottom: 4px solid #fff;
    display: inline-block;
}

@media (max-width: 959px){
    .mv_copy_txt{
        font-size: 2em;
    }
    .mv_copy_txt span{
        border-bottom: 1px solid #fff;
    }
}

/* アニメーション装飾 */
.deco_char01{
    position: absolute;
    top: 0;
    z-index: 100;
    right: 3em;
    width: 10em;
}
.deco_char02{
    position: absolute;
    bottom: 0;
    z-index: 100;
    left: 3em;
    width: 10em;
}
.deco_char03{
    position: absolute;
    bottom: 0;
    z-index: 100;
    right: 3em;
    width: 7em;
}
.deco_char04{
    position: absolute;
    bottom: 0;
    z-index: 100;
    left: 2em;
    width: 8em;
} 
.deco_char05{
    position: absolute;
    bottom: 0;
    z-index: 100;
    left: 2em;
    width: 10em;
}
.deco_char06{
    position: absolute;
    top: 0;
    z-index: 100;
    right: 3em;
    width: 8em;
}
@media (max-width: 599px){
    .deco_char01{
        right: 0.5em;
        top: -2em;
        width: 6em;
    }
    .deco_char02{
        width: 6.5em;
        left: auto;
        right: 0.5em;
        bottom: -4em;
    }
    .deco_char03{
        right: 0.5em;
        bottom: -2em;
        width: 5em;
    }
    .deco_char04{
        width: 5em;
        left: 0.5em;
    }
    .deco_char05{
        right: 0.5em;
        bottom: -6em;
        width: 6em;
    }
    .deco_char06{
        width: 5em;
        left: 0.5em;
        top: -1em;
    }
}





.deco_blush{
    position: absolute;
    top: 0;
    z-index: 100;
    left: 3em;
    width: 10em;
}
.deco_tooth{
    position: absolute;
    top: 0;
    z-index: 100;
    right: 3em;
    width: 10em;
}
.deco_tube{
    position: absolute;
    top: 0;
    z-index: 100;
    left: 3em;
    width: 9em;
}
.deco_floss{
    position: absolute;
    top: -1em;
    z-index: 100;
    right: 2em;
    width: 10em;
}
@media (max-width: 599px){
    .deco_blush{
        left: 2em;
        width: 6em;
    }
    .deco_tooth{
        width: 6em;
        right: 3em;
    }
    .deco_tube{
        left: 2em;
        width: 6em;
    }
    .deco_floss{
        width: 6em;
        right: 2em;
    }
}

/* プロフィール */
.profile_table table th{
    text-align:right !important;
}
.profile_table table td{
    text-align:left !important;
}
@media (max-width: 959px){
    .profile_table table th, .profile_table table td{
        text-align:center !important;
    }
}

/* 医院案内 */
.open_table table th{
    text-align:right !important;
}
.open_table table td{
    text-align:left !important;
}
@media (max-width: 959px){
    .open_table table th, .open_table table td{
        text-align:center !important;
    }
}
.time_table table{
    margin: auto;
}

/* ---------- 見出し ---------- */
h1.c-pageTitle{
    font-size: 3em;
    text-align: center;
    font-weight: normal;
}
h2.is-style-default{
    font-size: 1.5em;
}
h2.is-style-section_ttl{
    font-size: 2.2em;
}
h2.is-style-section_ttl span.ttl_sub{
    font-size: 0.7em;
    letter-spacing: 0.1em;
    display: block;
    margin-top: 0.25em;
}
h3.is-style-section_ttl{
    font-size: 1.8em;
    letter-spacing: 0.02em;
}
@media (min-width: 960px){
    h1.c-pageTitle{
        font-size: 1.5em;
    }
    h2.is-style-default{
        font-size: 1.8em;
    }
    h2.is-style-section_ttl{
        font-size: 2.0em;
        letter-spacing: 0.03em;
    }
    h3.is-style-section_ttl{
        font-size: 1.8em;
        letter-spacing: 0.02em;
    }
}

/* 記事一覧 */
.p-postList__meta{
    font-size: 14px;
    font-weight: bold;
}


/* ボックスメニュー */
.top_boxmenu_xl{
    border-radius: 0.5em;
    padding: 3em 2em !important;
    position: relative;
}
.top_boxmenu_xl:hover{
    background-color: #FFFDF2 !important;
}
.top_boxmenu_xl:before{ 
    content: "";
    bottom: 0;
    right: 0;
    border-top: 3em solid transparent;
    border-right: 3em solid #FEF200;
    position: absolute;
    z-index: 100;
    border-radius: 0 0 0.5em 0;
}

.top_boxmenu_xl:after{
    font-family: "FontAwesome";
    content: "\f061"; /*候補 f30b f178 */
    display: block;
    bottom: 0;
    transform: rotate(0deg);
    color: #fff;
    right: 5px;
    position: absolute;
    z-index: 101;
}

.swell-block-box-menu__item .swell-block-box-menu__link{
    border-radius: 0.5em;
}

.top_boxmenu .swell-block-box-menu__item .swell-block-box-menu__link{
    border-radius: 0.5em;
    padding: 2em 1em !important;
    position: relative;
}
.top_boxmenu .swell-block-box-menu__item .swell-block-box-menu__link:before{ 
    content: "";
    bottom: 0;
    right: 0;
    border-top: 1em solid transparent;
    border-right: 1em solid #FEF200;
    position: absolute;
    z-index: 100;
    border-radius: 0 0 0.5em 0;
}
.top_boxmenu .swell-block-box-menu__item.boxmenu-link-off .swell-block-box-menu__link:before{ 
    display: none;
}
.top_boxmenu_long .swell-block-box-menu__item .swell-block-box-menu__link{
    border-radius: 0.5em;
    padding: 2em 1em !important;
    position: relative;
}
.top_boxmenu_long .swell-block-box-menu__item .swell-block-box-menu__link:before{ 
    content: "";
    right: 1em;
    border-top: 1em solid transparent;
    border-right: 1em solid var(--color_main);
    transform: rotate(-45deg);
    position: absolute;
    z-index: 100;
}
.top_boxmenu_long .swell-block-box-menu__text{
    line-height: 1.3;
}

@media screen and (max-width: 568px){
    .top_boxmenu_xl{
        padding: 1.5em !important;
    }
    .top_boxmenu_xl img{
        max-width: 45px !important;
    }
    .top_boxmenu_xl .top_boxmenu_xl_head{
        margin-bottom: 0.5em;
    }
    .top_boxmenu_xl .top_boxmenu_xl_head>div.wp-block-group__inner-container{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1em;
    }
    .top_boxmenu .swell-block-box-menu__item .swell-block-box-menu__link{
        border-radius: 0.5em;
        padding: 1em !important;
        position: relative;
    }
}

/* 囲み文字 */
.has-inline-background, .has-swl-main-thin-background-color{
    border-radius: 0.5em;
    padding: 0.25em 0.5em;
}

/* 角丸設定 */
.clip_leaf{
    clip-path: inset(0 0 round 0 16% 0 16%);
}
.clip_kadomaru{
    clip-path: inset(0 0 round 1em);
}
.kadomaru,
.kadomaru_no-padding{
    border-radius: 1em;
}
.kadomaru_img img{
    border-radius: 1em;
}
.kadomaru_door img{
    clip-path: inset(0 0 round 50% 50% 5% 5%);
    aspect-ratio: 0.9;
    object-fit: cover;
}
.post_content h2{
    border-radius: 0 1em 1em 0;
	margin-bottom: 1em;
}

/* 診療時間表 */
.time_table table{
    margin: auto;
}


/* 投稿リストブロックのカード型とサムネイル型を4列表示にする */
@media (min-width: 960px) {
    .-col4 .-type-card.-pc-col3 .p-postList__item, .-col4 .-type-thumb.-pc-col3 .p-postList__item{
      width: calc(100% / 4);
    }
  }

  @media screen and (max-width: 598px) {
    ul.footer_nav.swell-block-linkList.-flex .swell-block-linkList__item{
        width: calc(50% - 0.5em);
    }
}

/*  スマホハンバーガーメニュー色 */
.c-iconBtn__icon:before,
.c-iconBtn__label {
	color: #ffffff;
}

/*  余白設定 */
.margin_bottom1 {
	margin-bottom: 1em;
}
.margin_bottom5 {
	margin-bottom: 5em;
}
.padding2 {
	padding: 2em !important;
}
.padding3 {
	padding: 3em !important;
}
.padding0-4 {
	padding: 0 4em !important;
}
@media (max-width: 960px) {
.margin_bottom5 {
	margin-bottom: 3em;
}
.padding2 {
	padding: 0 !important;
}
.padding3 {
	padding: 0 !important;
}
.padding0-4 {
	padding: 0 !important;
}
}
.swell-block-columns .swell-block-column.margin_left2 {
	margin-left: 2em;
}
.swell-block-columns .swell-block-column.margin_left3 {
	margin-left: 3em;
}
.swell-block-columns .swell-block-column.margin_left4 {
	margin-left: 4em;
}
.swell-block-columns .swell-block-column.margin_left5 {
	margin-left: 5em;
}
@media (max-width: 960px) {
	.swell-block-columns .swell-block-column.margin_left2 {
	margin-left: 0;
}
.swell-block-columns .swell-block-column.margin_left3 {
	margin-left: 0;
}
.swell-block-columns .swell-block-column.margin_left4 {
	margin-left: 0;
}
.swell-block-columns .swell-block-column.margin_left5 {
	margin-left: 0;
}
}
.swell-block-columns__inner {
	justify-content: center;
}
@media (max-width: 960px) {
	.flex-end .swell-block-columns__inner {
	justify-content: flex-end
	}
}

.-list-under-dashed>li, .border_bottom>li {
	margin-bottom: 1.5em;
	padding-bottom: 1.5em;
}
.has-border.kadomaru,
div.has-background.kadomaru,
p.has-background.kadomaru {
	padding: 3em 5em;
}
@media (max-width: 960px) {
	.has-border.kadomaru,
div.has-background.kadomaru,
p.has-background.kadomaru {
	padding: 1.5em 1.5em;
}
}
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
	margin-right: 6em;
}
@media (max-width: 960px) {
.wp-block-media-text.has-media-on-the-right>.wp-block-media-text__content {
	margin-right: 0;
}
}
@media (max-width: 960px) {
	.swell-block-columns__inner {
		row-gap: 2em;
	}
}
ul.is-style-index li {
	margin: .7em 0;
}
@media not all and (min-width: 960px) {
	.swell-block-fullWide__inner.l-article, .swell-block-fullWide__inner.l-container {
		padding-inline: 5.5vw;
	}
}
@media (max-width: 960px) {
	.text_small {
		font-size: 12px ;
	}
}

/* ポップアップ */
.top_popup{position: relative}
.top_popup ul, .top_popup li{ position: relative;}
.top_popup li{ line-height: 1;}

@media (max-width: 960px) {
    .top_popup h3{ font-size: 15px;}
	.top_popup p, .top_popup li{ font-size: 12px; line-height: 1.2;}
}