@charset "UTF-8";
/*
    Template: swell
    Theme Name: AZ-AH
    Theme URI:
    Description:
    Version: 1.0
    Author:
    Author URI:

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

/* 色設定
メインカラー（）：#10bccc
キーカラー（）：
薄色（青系）：#F2FFFB
薄色（黄系）：#FEFAF0
*/


/* 全体調整 */

/* @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;
}

.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;
}

/* ページ内リンクの位置ズレ調整（PCでも追従ヘッダーONにすること） */
@media screen and (min-width: 960px){
    .l-fixHeader{
        height: 122px;
        z-index: 0;
        transform: none !important;
        box-shadow: none !important;
        transition: none !important;
        pointer-events: none !important;
    }
    .l-fixHeader__inner{
        display: none;
    }
}

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

/* メインビジュアル */
.mv_copy_img{
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 240, 0.8));
}

/* 装飾 */
.deco_01{
    position: absolute;
    top: -10em;
    z-index: 100;
    right: 2em;
	max-width: 8vw;
}
.deco_02{
    position: absolute;
    top: 3em;
    z-index: 100;
    left: 2em;
		max-width: 10vw;
}
.deco_03{
    position: absolute;
    top: -1em;
    z-index: 100;
    left: 0.5em;
		max-width: 11vw;
}
.deco_04{
    position: absolute;
    top: -2em;
    z-index: 100;
    right: 0.5em;
		max-width: 11vw;
}
.deco_06{
    position: absolute;
    top: -3em;
    z-index: 100;
    right: 0.5em;
		max-width: 10vw;
}
@media screen and (max-width: 598px) {
	.deco_01,.deco_02,.deco_03,.deco_04,.deco_06{
			max-width: 15vw;
	}
}

/* トップページ バナーエリア */
@media screen and (max-width: 598px) {
    .jc-center .swell-block-columns__inner{
        justify-content: center;
    }
}

/* カバーメニュー */
/* カバーブロックに丸ボタンを追加 */
.wp-block-cover .wp-block-cover__inner-container .txt-detail .swl-inline-icon{
    width: 2.2em;
    height: 2.2em;
    margin-left: .75em;
    vertical-align: middle;
    background: #fff;
    color: var(--color_main);
    border-radius: 50%;
}
.wp-block-cover .wp-block-cover__inner-container .txt-detail .swl-inline-icon:after{
    left: calc(50% - 0.5em);
}
@media (max-width: 599px){
    .wp-block-cover .wp-block-cover__inner-container .txt-detail .swl-inline-icon{
        width: 1em;
        height: 1em;
        padding: 1em;
    }
    .course_box{
        min-height: 200px !important;
    }
}

/* 医院案内 */ /* アクセス */
.information_block h4.is-style-section_ttl, .access_block h4.is-style-section_ttl{
    border-top: 1px dashed #2d1d00;
    padding-top: 2em;
    font-size: 1.5em;
    max-width: 90%;
    margin: 2em auto 1.5em;
}


/* 診療予約 */
.post_content .ttl_reserve_first:before, .post_content .ttl_reserve_first:after{
    content: '';
    width: 1em;
    height: 1em;
    border-radius: 0.5em;
    background-color: #a5d24d;
    display: inline-block;
    vertical-align: text-bottom;
    margin: 0 0.25em;
}
.post_content .ttl_reserve_exsist:before, .post_content .ttl_reserve_exsist:after{
    content: '';
    width: 1em;
    height: 1em;
    border-radius: 0.5em;
    background-color: #82bedc;
    display: inline-block;
    vertical-align: text-bottom;
    margin: 0 0.25em;
}



/* SNS */
.ttl_social_fb:before{
    content: "";
    background-color: var(--color_main);
    display: inline-block;
    height: 1.8em;
    width: 1.8em;
    margin-right: 0.5em;
    -webkit-mask: url("./img/facebook-brands.svg");
    mask: url("./img/facebook-brands.svg");
    -webkit-mask-size: cover;
    mask-size: cover;
    vertical-align: -0.5em;
}
.ttl_social_ins:before{
    content: "";
    background-color: var(--color_main);
    display: inline-block;
    height: 1.8em;
    width: 1.6em;
    margin-right: 0.5em;
    -webkit-mask: url("./img/instagram-brands.svg");
    mask: url("./img/instagram-brands.svg");
    -webkit-mask-size: cover;
    mask-size: cover;
    vertical-align: -0.5em;
}
/* ---------- 共通パーツ ---------- */

/* ヘッダー */
/*
header.l-header{
    background: url(assets/img/bg_header.jpg) 50% 50% repeat;
    background-size: cover;
}
*/
.l-header__logo{
    flex-grow: 3;
}
.w-header{
    background-color: #FFF;
    padding: 0 2em;
}
.c-iconBtn{
    background-color: transparent;
}
.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;
}
.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: 2em;
    font-weight: bold;
    margin: 0;
    line-height: 1;
}
.head_tel_tel a{
    text-decoration: none;
    color: #555;
}

/* 共通フッター */
@media screen and (max-width: 598px) {
    ul.footer_nav.swell-block-linkList.-flex .swell-block-linkList__item{
        width: calc(50% - 0.5em);
    }
}
.footer_tel a{
    text-decoration: none;
}

/* スマホ用固定フッター */
#fix_bottom_menu .menu_list{
    padding: 0;
}
#fix_bottom_menu .menu-item a{
    padding: 8px 0;
}
/* スマホ固定フッター */
#fix_bottom_menu .menu-item a {
    display: flex;
    align-items: center;
    justify-content: center;
}
#fix_bottom_menu span {
    font-size: 15px;
    line-height: 20px;
    margin-top: 0;
    width: auto;
    font-weight: bold;
    margin-left: 7px;
}
#fix_bottom_menu .menu-item{
    position: relative;
}
#fix_bottom_menu .menu_list li:first-child:after{
    content: '';
    border-left: 1px solid #fff;
    height: 100%;
    position: absolute;
    left: 100%;
    top: 0;
}

/* スマホ用メニュー */
.p-spMenu__inner{
    background-color: var(--color_main);
    color: #FFF;
    padding-top: 0; /* ★ */
    width: 100vw; /* ★ */
}
.p-spMenu__inner::before{
    background: transparent;
}
.p-spMenu__body{
    padding: 0;
    width: 100vw;
}
.p-spMenu__nav{
    /* width: 64vw;
    max-width: 400px;
    margin: 0 auto; */
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: absolute;
    width: 100%;
}
.p-spMenu__logo a{
    font-size: 0 !important;
}
.p-spMenu__logo:before{
    content: '';
    height: 3em;
    width: 100%;
    display: block;
    margin-bottom: 2em;
    background: url(assets/img/logo.png) 50% 50% no-repeat;
    background-size: contain;
}

.c-listMenu a{
    border-bottom:1px dashed var(--color_border);
    font-family: sans-serif;
}
.c-listMenu li:first-child a{
    border-bottom: none;
}
.c-listMenu li:nth-child(2) a{
    border-top:1px dashed var(--color_border);
}
.c-gnav .sub-menu a:before, .c-listMenu a:before {
    content: none;
}
.c-listMenu>li>a>span{
    font-size: 1.05em;
    margin-left: 2em;
}
.spMenu_sns_wrap{
    /* margin-left: -4vw;
    margin-right: -4vw; */
    padding: 0.5em !important;
    bottom: 0;
    position: absolute;
    width: 100%;
}
.spMenu_sns_wrap ul.sns-list{
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}
.spMenu_sns_wrap ul.sns-list li{
    padding: 0 1em;
    margin: 0;
}
.spMenu_sns_wrap ul.sns-list li a{
    text-decoration: none;
    font-size: 2.5em;
}
.c-widget__title.-spmenu{
    display: none;
}
[data-spmenu=closed] .p-spMenu {
    transition-delay: 0.3s;
}

/* PCでも開閉メニューを適用 */
@media (min-width: 960px){
    .l-header{
        position: sticky;
        top: var(--swl-adminbarH,0);
        /* padding-right: 95px; */
    }
    .l-header__inner.l-container{
        max-width: 100%;
        padding-right: 0;
    }
    .l-header__menuBtn.sp_{
        display: block !important;
        /* position: absolute;
        top: 0;
        right: 0; */
    }
    #gnav{
        display: none;
    }
    .p-spMenu {
        display: block;
    }
    .p-spMenu__inner{
        width: 100%;
        max-width: none !important;
    }
    .p-spMenu__logo:before{
        height: 4em;
        margin-bottom: 2em;
    }
    .l-header__customBtn, .l-header__menuBtn, .p-spMenu__closeBtn{
        width: 95px;
        height: 122px;
    }
    .c-listMenu a{
        font-size: 1.5em;
    }
    .spMenu_sns_wrap{
        padding: 2em !important;
    }
    .spMenu_sns_icon svg{
        width: 40px !important;
        height: 40px !important;
    }
}

/* 縦の短いPC用調整 */
@media (min-width: 960px) and (min-width: 600px){
    .-series .c-headLogo {
        max-width: 100%;
    }
}

@media (min-width: 960px) and (max-height: 900px){
    .c-listMenu a{
        font-size: 1em;
    }
    .spMenu_sns_wrap {
        padding: 1em !important;
    }
    .p-spMenu__logo:before{
        height: 2em;
        margin-bottom: 1em;
    }
}


/* CSS背景 */
.bg_gingham{
    background-color: #fffcf3;
    background-image: repeating-linear-gradient( 0deg, rgb(255 241 216 / 50%) 0px 10px, transparent 10px 20px),
  repeating-linear-gradient( 90deg, rgb(255 241 216 / 50%) 0px 10px, transparent 10px 20px)
}
.bg_cross{
background: radial-gradient(circle, transparent 20%, #fffdf3 20%, #fffdf3 80%, transparent 80%, transparent) 0% 0% / 64px 64px, radial-gradient(circle, transparent 20%, #fffdf3 20%, #fffdf3 80%, transparent 80%, transparent) 32px 32px / 64px 64px, linear-gradient(#fef6e2 2px, transparent 2px) 0px -1px / 32px 32px, linear-gradient(90deg, #fef6e2 2px, #fffdf3 2px) -1px 0px / 32px 32px #fffdf3;
background-size: 64px 64px, 64px 64px, 32px 32px, 32px 32px;
background-color: #fffdf3;
}
.bg_stripe{
    background-color: #ffffcb;
    opacity: 1;
    background: repeating-linear-gradient( 45deg, #ffffff, #ffffff 2.5px, #ffffcb 2.5px, #ffffcb 12.5px );
}

/* ボタン */
.btn-white a{
    background: #FFF;
    color: var(--color_main);
}
.btn-white a:hover{
    background: var(--color_main);
    color: #FFF;
}
.swell-block-button.is-style-btn_normal a{
    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;
}

/* 角丸設定 */
.clip_leaf{
    clip-path: inset(0 0 round 0 16% 0 16%);
}
.clip_kadomaru{
    clip-path: inset(0 0 round 1em);
}
.kadomaru{
    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;
}

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

/* ---------- 見出し ---------- */
h1.c-pageTitle{
    font-size: 2em;
    text-align: center;
    font-weight: normal;
}
h2.is-style-default{
    font-size: 1.5em;
}
h2.is-style-section_ttl{
    font-size: 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;
}


/* フォーム */
.contact_form span.form_required{
	display:inline-block;
	margin-left: 1em;
	font-size:0.75em;
	padding:0.25em 1em;
	background-color: var(--color_main);
	color: #ffffff;
	position: absolute;
	right: 1em;
}
.post_content .td_to_th_.contact_form tbody tr>:first-child {
    padding-right: 4em;
}
.gcal-sunday a, .gcal-sunday span{color: #f00 !important;}
.gcal-saturday a, .gcal-saturday span{color: #0af !important;}
.special-holiday a, .special-holiday span{color: #f00 !important;}
.jp-holiday a, .jp-holiday span{color: #f00 !important;}
.mwform-tel-field input[type="text"] {width: 70px !important;}

.submit_button{
    background: var(--color_main);
    border: 1px solid var(--color_main);
    color: #fff;
    border-radius: 0.25em;
    display: block;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin: 1.5em auto 0.5em;
    padding: 0.5em;
    position: relative;
    text-decoration: none;
    width: 300px;
}
.submit_button:hover{
    background: #FFF;
    border: 1px solid var(--color_main);
    color: var(--color_main);
}
input[name="submitBack"]{
    background: #FFF;
    border: 1px solid var(--color_main);
    color: var(--color_main);
    margin-top: 0;
}
input[name="submitBack"]:hover{
    background: #dedede;
    border: 1px solid var(--color_main);
    color: var(--color_main);
}

/* フローティングボタン */
.float_btn{
    position: fixed;
    right: 0;
    top: 20%;
    z-index: 99999;
}
.float_btn a{
    -ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    border-radius: 20px 0 0 20px;
}
.float_btn a span{
    text-align: center;
}
@media screen and (max-width: 598px) {
    .float_btn{
        display: none;
    }
}


/* 投稿リストブロックのカード型とサムネイル型を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 - 1vw);
    }
    .-col5 .-type-card.-pc-col3 .p-postList__item, .-col5 .-type-thumb.-pc-col3 .p-postList__item{
        width: calc(100% / 4 - 1vw);
    }
}
@media (min-width: 1500px) {
    .-col5 .-type-card.-pc-col3 .p-postList__item, .-col5 .-type-thumb.-pc-col3 .p-postList__item{
        width: calc(100% / 5 - 1vw);
    }
}
@media (min-width: 1320px) {
    .-sidebar-on.post-type-archive-works .l-mainContent .-type-card.-pc-col3 .p-postList__item,
    .-sidebar-on.archive.tax-works_cat .l-mainContent .-type-card.-pc-col3 .p-postList__item,
    .-sidebar-on.archive.tax-works_tag .l-mainContent .-type-card.-pc-col3 .p-postList__item {
        width: calc(33.33333% - 1vw);
    }
}

/* group hyperlink */
a.wp-block-tiptip-hyperlink-group-block {
    text-decoration: none;
    color: inherit;
    transition: 0.3s;
    margin-top: 0;
    margin-bottom: 0;
  }
  a.wp-block-tiptip-hyperlink-group-block:hover{
    opacity: 0.7;
  }
  .post_content a>:first-child {
    margin-top: 0 !important;
}