/*
Theme Name: a_dental
Author: 穴吹デザインプラス
Description: アルファ歯科のホームページです。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 高松駅・兵庫町商店街から徒歩３分の痛くない、気持ち良く通院できる歯医者さんを目指しています。JR高松駅から徒歩3分の歯科医院。
Text Domain: https://www.a-dental.info/
*/

/* --- General Reset & Base Styles --- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    color: #717070;
    scroll-behavior: smooth;
    font-family: "Zen Maru Gothic", sans-serif;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Zen Maru Gothic", sans-serif;
    line-height: 1.6;
    color: #717070;
    background-color: #fff;
    overflow: auto;
}

/* --- Typography --- */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Zen Maru Gothic", sans-serif;
    color: #717070;
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    line-height: 1.2em;
    font-weight: 500;
}
strong{
    font-weight: 500!important;
}
h1 {
    font-size: 2.8em;
}
h2 {
    font-size: 2.2em;
    margin: 0 auto 50px;
}
h3 {
    font-size: 1.8em;
}
h4 {
    font-size: 1.4em;
}
h5 {
    font-size: 1.2em;
}
h6 {
    font-size: 1em;
}

h2 span {
    font-size: 16px;
}
p {
    margin-bottom: 1em;
    font-family: "Zen Maru Gothic", sans-serif;
}

a {
    color: #007bff; /* Primary link color (blue) */
    text-decoration: none;
}

a:hover,
a:focus {
    color: #0056b3;
    /*text-decoration: underline;*/
}
a.wp-block-button__link.wp-element-button{
    font-weight: 500;
}

/* --- Layout & Structure --- */
.header__container {
    max-width: 1080px; /* Adjusted for full-width content */
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item > a.mega-menu-link {
    background: rgb(255 255 255 / 0%) !important;
    color: #333 !important;
    font-size: 16px;
    padding: 0 6px;
    font-weight: 500 !important;
    line-height: 30px;
    height: 30px;
}
#mega-menu-wrap-main-menu #mega-menu-main-menu {
    background: rgb(255 255 255 / 0%) !important;
}
#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-item {
    background: #fff !important;
}

#mega-menu-wrap-main-menu
    #mega-menu-main-menu
    li.mega-menu-item-has-children
    > a.mega-menu-link
    > span.mega-indicator:after {
    content: none !important;
}
.main__visual {
    height: 60vh;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.main__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* --- Layout & Structure --- */
.container {
    /*max-width: 960px; */
    margin: 0 auto;
    /*padding: 0 20px;*/
}

/*
.site-content {
    padding: 40px 0 0;
}
*/
span.nav-subtitle {
    background: #e87b93;
    padding: 10px 15px;
    border-radius: 25px;
    color: #fff!important;
}
.site-main-post-page {
    margin: 100px auto;
    max-width: 1080px;
    width: 100%;
}
.article_news_page {
    padding: 100px;
}
.news__btn {
    margin: 50px auto 0;
    text-align: center;
}
a.news__lists__button {
    background: #e87b93;
    padding: 10px 20px;
    border-radius: 25px;
    color: #fff !important;
}


/* --- Header --- */
.site-header {
    background-color: #ffffff;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    text-align: center; /* Center align for simplicity */
}

.site-branding {
    display: inline-block; /* To center align */
    line-height: 1;
    /*margin-bottom: 20px;  */
}

.site-title {
    margin: 0;
    font-size: 2.5em;
}

.site-title a {
    color: #2c3e50;
    text-decoration: none;
}

.site-description {
    font-size: 0.9em;
    color: #777;
    margin-top: 5px;
}

/*post*/
.nav-links {
    display: flex;
    justify-content: space-evenly;
}
span.nav-subtitle {
    color: #333;
}
.item-list {
    position: relative;
    max-width: 960px;
    margin: 150px auto;
}
.item-list h2 {
    margin: 50px auto;
    text-align: center;
    line-height: 0.9;
}
.item-list h2 span {
    font-size: 16px;
}
.item-list ul {
    margin-left: 0;
    padding-left: 0;
}
.item-list ul li {
    list-style: none;
    border-bottom: 1px solid #333;
    font-weight: 500;
}
.posted-on {
    font-weight: 500;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
span.post__item {
    margin-left: 15px;
}
.post__category {
    background: #e87b93;
    color: #fff !important;
    padding: 0 5px 2px;
}
/*
.item-list ul li:last-child{
    border-bottom: none;
}
*/
.item-list ul li a {
    color: #333;
    display: flex;
}
p.date {
    min-width: 120px;
}
p.cate {
    min-width: 120px;
    text-align: center;
}
p.cate span {
    background: #e87b94;
    color: #fff;
    border-radius: 100vh;
    display: block;
    padding: 3px 17px;
    width: 100px;
}
a.more_btn {
    background-color: #fff;
    color: #e87b94;
    border-radius: 25px;
    padding: 10px 50px;
    letter-spacing: 2px;
    position: relative;
    border: 2px solid #e87b94;
    font-weight: 500;
}
a.more_btn:hover {
    background-color: #e87b94;
    color: #fff;
    border-radius: 25px;
    padding: 10px 50px;
    letter-spacing: 2px;
    position: relative;
    border: 2px solid #e87b94;
}
a.more_btn::after {
    content: "→";
    position: absolute;
    right: 20px;
}

a.more_btn:hover::after {
    transform: translateX(10px);
    transition: 0.4s;
}
.btn {
    margin: 50px auto;
    text-align: center;
}
.wp-block-button__link {
    background-color: #fff !important;
    color: #e87b94 !important;
    border-radius: 25px !important;
    padding: 10px 50px !important;
    letter-spacing: 2px !important;
    position: relative !important;
    border: 2px solid #e87b94 !important;
}
.wp-block-button__link:hover {
    background-color: #e87b94 !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 10px 50px !important;
    letter-spacing: 2px !important;
    position: relative !important;
    border: 2px solid #e87b94 !important;
}

.wp-block-button__link::after {
    content: "→";
    position: absolute !important;
    right: 20px !important;
}
.wp-block-button__link:hover::after {
    transform: translateX(10px);
    transition: 0.4s;
}


/*クリニック紹介*/
span.en {
    font-size: 20px;
    letter-spacing: 2px;
    font-weight: 500;
}
span.jp {
    font-size: 150%;
    letter-spacing: 3px;
    font-weight: 500;
}

/* --- Navigation --- */
.main-navigation {
    display: block; /* Take full width */
    text-align: center; /* Center the menu items */
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block; /* To center align the ul */
}

.main-navigation li {
    display: inline-block; /* Horizontal menu items */
    margin: 0 15px;
}

.main-navigation a {
    color: #2c3e50;
    text-decoration: none;
    padding: 5px 0;
    position: relative; /* For underline effect */
    transition: color 0.3s ease;
}

.main-navigation a:hover,
.main-navigation a:focus {
    color: #007bff;
}

.main-navigation a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #007bff;
    transition: width 0.3s ease;
}

.main-navigation a:hover::after {
    width: 100%;
}
#mega-menu-wrap-main-menu #mega-menu-main-menu > li.mega-menu-flyout ul.mega-sub-menu {
    width: 150px;
}

/*news*/
.news__inner {
    max-width: 1080px;
    width: 100%;
    margin: auto !important;
}
section.news {
    margin-bottom: 150px !important;
}
ul.item-tab.list {
    display: flex;
    flex-wrap: nowrap;
}
ul.item-tab.list li {
    list-style: none;
    margin: 0 10px;
}
ul.item-tab.list li a {
    color: #717070;
}

.cat-blog span {
    background: #64a0dc !important;
}

/* --- Post/Page Content --- */
article {
    background-color: #fff;
    /*padding: 30px;*/
    /*margin-bottom: 30px;*/
    border-radius: 5px;
    box-shadow: 4px 4px 5px 5px rgba(0, 0, 0, 0.08);
}

.entry-header {
    margin-bottom: 20px;
}

.entry-title {
    font-size: 2em;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: center; /* Center post/page titles */
}

.entry-meta {
    font-size: 0.85em;
    color: #777;
    text-align: center; /* Center meta info */
    margin-bottom: 20px;
}

.entry-meta a {
    color: #777;
}

.entry-content {
    line-height: 1.7;
    /*padding-top: 100px;*/
}

.entry-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: auto; 
}

.read-more {
    display: inline-block;
    background-color: #007bff;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    margin-top: 15px;
}

.read-more:hover {
    background-color: #0056b3;
    text-decoration: none;
}
.common__access {
    max-width: 1080px;
    margin: 100px auto 100px!important;
}
.content {
    max-width: 1080px;
    margin: 100px auto 100px!important;
}
.top_page_facility {
    margin: 50px auto 100px!important;
}

p.C__type {
    background: #a0c3ec;
    color: #fff;
    padding: 0 20px;
    width: fit-content;
    font-size: 25px;
}
dl.operation {
    border: 1px solid #000;
    border-radius: 6px;
    padding: 20px 15px;
    margin: 0 auto;
}
dl.operation dt {
    border-right: 1px solid;
    text-align: center;
    min-width: 100px;
    align-content: center;
}
dl.operation dd {
    margin-inline-start: 70px;
    /*width: calc(100% - 100px);*/
}

p.point{
    font-weight: 500;
}
p.point span{
    font-size: 200%;
}


.content_treatment {
    max-width: 700px;
    margin: 0 auto 100px !important;
}
.cavity_op_box {
    margin-top: 100px;
    margin-bottom: 0;
}


.director__message {
    max-width: 1080px;
    margin: 100px auto 100px!important;
}


.director__position {
    background: #64a0dc;
    width: fit-content;
    color: #fff;
    padding: 2px 20px;
    border-radius: 25px;
}
h3.director__name {
    margin: 0;
}
h3.director__name span {
    font-size: 16px;
}
.director__profile {
    max-width: 1080px;
    width: 100%;
    margin: auto;
    background: #f0f6fc;
    border-radius: 15px;
}
.director__profile img {
    max-width: 150px;
    width: 100%;
    margin: 20px;
}
.about__features {
    background: #f0f6fc;
    /*margin: 80px auto !important;*/
    padding: 80px 10px;
}
.about__features__box {
    max-width: 1080px;
    width: 100%;
    margin: auto;
}
.about__clinic {
    margin: 130px 20px !important;
}
.about__clinic_box {
    max-width: 1080px;
    width: 100%;
    margin: auto;
}
.about__clinic_box img {
    /*max-width: 200px;*/
    width: 100%;
}
.access__time {
    max-width: 1080px;
    margin: 100px auto !important;
    width: 100%;
    display: grid;
}
.access__time img {
    max-width: 500px;
    width: 100%;
}
.access__time__caution {
    text-align: left;
    margin: auto;
    justify-self: anchor-center;
    place-self: center;
}
.access__column {
    max-width: 1080px;
    width: 100%;
    margin: auto !important;
}
.access__column_box {
    margin: 100px auto;
}
.access__column_box img {
    max-width: 600px;
    width: 100%;
    margin: 0 auto 20px !important;
}
.access__column_box p{
    margin: 0;
    padding: 0;
}
.parking {
    margin: 50px auto 100px;
}
.parking__box {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto 100px !important;
    /*padding: 0 30px;*/
}

.facilities__column {
    margin: 50px auto;
}
.facilities__column h3{
    margin-top: 25px;
}

    .facilities__column img{
        border-radius: 20px!important;
    }
.facility__column {
    max-width: 1080px;
    width: 53%;
    margin: 100px auto 100px !important;
}
.equipment_column {
    max-width: 1080px;
    margin: auto !important;
    width: 100%;
}
.equipment_col {
    margin: 0 auto !important;
    padding: 100px 20px 50px;
}

.periodontal_list {
    margin: 0 auto !important;
}

/*
.periodontal_list .periodontal_list_check p{
    margin-left: 25px;
}
*/
.periodontal_list .periodontal_list_check p::before {
    content: url("https://a-dental.ask-dplus.com/wp/wp-content/uploads/2025/10/check.webp");
    padding-right: 5px;
}
.periodontal__table {
    border: none;
}
.periodontal__table th {
    min-width: 190px;
    background: #717070;
    color: #fff;
    border-bottom: 1px solid #fff;
    position: relative;
    padding: 15px 0;
    border-right: 1px solid #707070;
}
.periodontal__table th::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-left: 3px solid #707070;
    border-top: 3px solid #707070;
    border-bottom: 3px solid #00000000;
    transform: rotate(135deg) skew(10deg, 10deg);
    right: -5px;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    background-color: #707070;
}
.periodontal__table th:first-child {
    border-top: 1px solid #707070;
}
.periodontal__table td {
    border: none;
    border-bottom: 1px solid #707070;
    padding-left: 20px;
    border-top: 1px solid #707070;
}
.periodontal__table td:nth-child(3) {
    background-color: #f0f6fc !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    min-width: 210px;
}
.treatment__step {
    width: 100%;
    margin: auto;
}
.treatment__step dl:first-child{
    border-top: 1px solid #707070;
}
.treatment__step dl{
    display: flex;
    border-bottom: 1px solid #707070;
    margin: 0;
    padding: 10px 0;
}
.treatment__step dt {
    text-align: center;
    color: #fff !important;
    background: #707070;
    padding: 8px 0 !important;
    border-radius: 6px;
    margin: 10px !important;
    min-width: 90px;
}

.treatment__step dd {
    /*margin-left: 0 !important;*/
    align-content: center;
    align-self: center;
    place-content: center;
    margin-left: 0;
}
.bubble p {
    min-width: 230px;
    background: #fff;
    text-align: center;
    height: 110px;
    margin: 20px 10px;
    align-content: center;
    place-content: center;
    position: relative;
  display: inline-block;
    border: 1px solid #64A0DC;
}
.bubble p::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 19px;
    background-image: url(https://a-dental.ask-dplus.com/wp/wp-content/uploads/2025/11/arrow.png);
    background-size: contain;
    /* background-repeat: no-repeat; */
    background-position: center;
    margin-right: 3px;
    bottom: -16.5px;
    position: absolute;
    right: 30px;
}

.soudan_col {
    max-width: 750px;
    width: 100%;
    margin: 20px auto !important;
    border-radius: 5px;
    background: #fff;
}
td.bg_b {
    background-color: #f0f6fc !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
    min-width: 90px;
}
.red_bdr_col {
    max-width: 1080px;
    margin: 50px auto !important;
    border: 1px solid #e97c95;
    padding: 50px 70px;
    border-radius: 20px;
}
.step dl {
    display: flex;
    flex-wrap: nowrap;
    border-top: 1px solid #707070;
    padding: 15px 5px;
    align-items: center;
}
.step dl:last-child {
    border-bottom: 1px solid #707070;
}
.step dt {
    min-width: 80px;
    background: #707070;
    padding: 5px 10px;
    border-radius: 10px;
    color: #fff;
    text-align: center;
}
.step dd {
    margin-left: 20px;
    min-width: 235px;
}
.is-layout-flex{
    margin-bottom: 0;
}

.parking__lineup {
    margin: 30px auto;
}
.soudan__box{
    max-width: 1080px;
    width: 100%;
    margin: auto !important;
    padding: 100px 20px 100px;
    border-radius: 20px;
}

/*cavity*/
/*むし歯*/
.treatment__intro {
    max-width: 1080px;
    width: 100%;
    margin: auto !important;
    padding: 100px 20px 100px;
}
.about__denture{
    margin: 100px auto 0!important;
}
.treatment__menu{
    max-width: 1080px;
    margin: 100px auto 100px !important;
}
.merits{
    max-width: 1080px;
    width: 100%;
    margin: auto !important;
    padding: 100px 20px 100px !important;
    
}
.inlay__crown{
 max-width: 1080px;
    width: 100%;
    padding: 100px 20px 100px !important;
    margin: auto!important;
}
p.incrmenu{
    margin-bottom: 0 !important;
    border-radius: 10px;
    padding: 10px;
}
.flow__step{
    max-width: 1080px;
    width: 100%;
    padding: 100px 0 100px !important;
    margin: auto!important;
}
.maintenance{
    max-width: 1080px;
    width: 100%;
    padding: 0 20px 100px !important;
    margin: auto!important;
}
.about__cost {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto 100px !important;
    padding: 30px 10px;
}
nav.navigation.post-navigation {
    margin: 100px auto;
}








/* --- Footer --- */
.site-footer {
    background-color: #639fdb;
    color: #fff;
    padding: 30px 0;
    text-align: center;
    font-size: 0.9em;
    margin-top: -30px;
}
.footer__content {
    max-width: 1080px;
    margin: auto;
}
.footer-container {
    max-width: 1080px;
    margin: auto;
    padding: 20px 20px 5px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.footer__address {
    text-align: left;
    font-size: 20px;
    font-weight: 900;
}

.site-footer a {
    color: #007bff;
}

.site-footer a:hover {
    color: #0056b3;
}

.footer__menu a {
    color: #fff;
}
.footer__menu li {
    text-decoration: none;
}
.footer__menu ul {
    text-decoration: none;
    list-style: none;
    padding-inline-start: 0;
}
ul.flex_ul {
    display: flex;
    margin: 10px 0;
}
ul.flex_ul li {
    width: calc(100% / 4);
}
.footer__logo img {
    max-width: 300px;
    width: 100%;
}
.footer__sns img {
    max-width: 30px;
    width: 100%;
    margin: 10px 5px;
}
.footer__sns {
    text-align: left;
}
.footer__menu {
    display: block;
    width: 60%;
    text-align: left;
}

/* --- WordPress Specific Classes --- */
.alignwide {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    max-width: none;
}

.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    max-width: none;
}

/* Gutenberg block specific styles - basic */
.wp-block-button__link {
    display: inline-block;
    background-color: #007bff;
    color: #fff;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}
.wp-block-button__link:hover {
    background-color: #0056b3;
}

.top__treatment {
    margin: auto;
    justify-content: center;
    padding: 100px 0;
}
.top__treatment__content {
    max-width: 1080px;
    margin: auto;
}

.travelby {
    background: #fff;
    padding: 0 20px;
    display: flex;
    align-items: center !important;
}
.travelby__access{
    padding: 10px 20px!important;
}
.travelby__access h4{
    margin-top: 0;
}
.travelby__access img{
    margin: 1em auto 0 auto!important;
}
.travelbybox {
    align-items: center !important;
    gap: 1.0em;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100%;
}
.travelbybox img{
    max-width: 110px;
    }
.treatment__symptoms{
    max-width: 1080px;
    width: 100%;
    margin: auto;
    padding-top: 50px !important;
    padding-bottom: 50px!important;
    border-radius: 20px;
}
.hex__button__top{
    margin: 100px auto 0;
}
.treatment__symptoms p{
    margin: 5px auto!important;
}


.br_sp{
    display: none;
}
.pc{
    display: block;
}
.sp{
    display: none;
}

/*hex button*/
.hex-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: center;
  padding: 0;
}

/* Outer shape */
.hex {
    width: calc(100% / 5 - 3vw);
    aspect-ratio: 1 / 1.1547;
    /*clip-path: polygon(49% 0%, 103% 25%, 100% 75%, 48% 101%, -13% 69%, 0% 23%);*/
    cursor: pointer;
    overflow: hidden;
    transition: transform 0.3s ease;
    margin: 0 10px;
    /*margin-top: -35px;*/
}

.hex:hover {
  transform: scale(1.05);
}

/* Inner image area */
.hex-inner {
  width: 90%;
  height: 90%;
  background: var(--img) center/cover no-repeat;
  transition: background 0.3s ease;
}

/* Hover image change */
.hex:hover .hex-inner {
  background: var(--hover) center/cover no-repeat;
}


        
.area {
    max-width: 1080px;
    margin: 0 auto 100px;
    border-radius: 20px;
}
.taiou__area {
    background: #fff;
    border: 1px solid #707070;
    border-radius: 20px;
    padding: 10px 20px;
    max-width: 680px;
    margin: auto;
    display: flex;
    justify-content: center;
    width: 100%;
}
.taiou__area dl {
    display: flex;
    flex-wrap: nowrap;
}
.taiou__area dt {
    align-content: center;
}
.taiou__area dd img{
    width: 16px;
}

.aab__accordion_head.aab_right_icon {
    border-radius: 15px;
}
div#aab_accordion_13a0fd79_0{
    border-radius: 15px;
    border: none!important;
}
.aab__accordion_head.aab_right_icon::before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url('https://a-dental.ask-dplus.com/wp/wp-content/uploads/2025/11/q.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 6px; 
}
.aab__accordion_component{
    display: -webkit-inline-box;
    display: -moz-inline-box;
}
.aab__accordion_body{
    border-top: none!important;
}
.wp-block-aab-accordion-block .aab__accordion_component p {
    margin-top: 0;
    padding-right: 40px;
}
.aab__accordion_component::before {
    content: "";
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url('https://a-dental.ask-dplus.com/wp/wp-content/uploads/2025/11/a.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 6px; 
}
.white__bg_img_txt{
    background: #fff;
    min-height: 430px;
    border-radius: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.white__bg_img_txt{
    background: #fff;
    min-height: 430px;
    border-radius: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.cavity_white__bg_img_txt{
    background: #fff;
    min-height: 360px;
    border-radius: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.osusume{
    max-width: 1080px;
    margin: 0 auto 0 !important;
    padding: 50px 20px;
}
.white__bg_img_txt img{
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.white__bg_img_txt p{
    padding: 0 20px;
}
.cavity_white__bg_img_txt p{
     padding: 0 20px;
}
.cavity_white__bg_img_txt img{
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
a.tel--add{
   font-size: 150%;
}
.round-radius-img img{
    border-radius: 20px;
}
.equip__list {
    max-width: 280px;
    width: 100%;
    margin: 20px 0 !important;
}
.equip__list img{
    border-radius: 15px;
}
.equip__list p{
    padding: 0 10px;
}
.equipment__box {
    display: flex;
    justify-content: center;
}


    .periodontal_list_check p{
        margin: 5px !important;
    }
.denture__types{
    max-width: 1080px;
    margin: 100px auto 100px !important;
    padding: 0 30px;
}
.flow{
    max-width: 1080px;
    margin: 0 auto 100px !important;
    padding: 0 30px;
}








/* --- Responsive Adjustments --- */
@media (max-width: 768px) {
    
    /*トップページ*/
    
    /*お知らせ*/
    
    .item-list{
        margin: auto 20px 100px;
    }
    p.date {
    min-width: 75px;
    }
    p.cate {
    min-width: 110px;
    }
    .entry-content{
        padding-top: 0;
        /*display: inline-grid;*/
        /*margin: 50px auto 0;*/
    }
    .top__treatment__content {
    margin: 50px 20px !important;
    }
    .content {
        margin: 0 auto 50px !important;
        padding: 0 20px;
    }
    .common__access{
        margin: 50px auto 100px !important;
        padding: 0 20px;
    }
    .top_page_facility{
        margin: 50px auto!important;
    }
    
    /*クリニック紹介*/
    
    .director__message {
    padding: 0 20px;
    }
    .director__box{
        gap: 0;
    }
    .director__profile{
        padding: 20px;
    }
    .director__profile__left{
        margin: auto;
        text-align: center;
    }
    .about__features {
        padding: 100px 20px 100px !important;
        margin-bottom: 0 !important;
    }
    .about__clinic {
    margin: 80px auto!important;
    padding: 0 20px;
    }
    .parking__lineup {
    margin: 30px auto;
    padding: 0 20px;
}
    
    /*施設紹介*/
    
    .facility__column{
        padding: 0 20px;
    }
    
    .facility__column h3{
        margin-top: 0;
    }
    .facilities__column{
        margin-top: 0;
        margin-bottom: 2em;
    }
    .equipment_col{
        padding: 50px 20px!important;
    }
    
    .access__column{
        margin: auto 20px !important;
    }
    .access__time{
        margin: 50px 20px 100px !important;
    }
    .access__column_box {
    margin: 50px auto !important;
    }
    .access__column_box img{
        margin: 20px auto !important;
    }
    .parking {
    margin: 50px auto;
    }
    .parking__coupon {
    border: 1px solid #707070;
    padding: 15px;
    }
    .parking__box{
        margin: 0 0 50px !important;
    }
    
    
    /*cavity*/
    
    dl.operation dt{
        border-right: none;
        margin-bottom: 10px;
    }
    dl.operation dd {
    margin-inline-start: 0;
    }
    .periodontal__table th {
    min-width: 65px;
    background: #717070;
    color: #fff;
    border-bottom: 1px solid #fff;
    position: relative;
    padding: 15px 9px;
    border-right: 1px solid #707070;
    -webkit-writing-mode: vertical-lr;
    line-height: 1.2;
   }
    .periodontal__table th::after {
    content: "";
    position: absolute;
    width: 15px;
    height: 15px;
    border-left: 7px solid #707070;
    border-top: 7px solid #707070;
    border-bottom: 3px solid #00000000;
    transform: rotate(135deg) skew(10deg, 10deg);
    right: -5px;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    }
    .periodontal__table td {
    border: none;
    border-bottom: 1px solid #707070;
    padding-left: 15px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    }
    dl.treatment__step{
        display: block!important;
    }
    .treatment__menu{
        margin: 100px 20px 100px !important;
    }
    
    .red_bdr_col{
        margin: 0 20px 100px !important;
    }
    .step dl{
        display: block;
    }
    .step dd{
        margin-top: 20px;
    }
    p.incrmenu {
    margin-bottom: 0 !important;
    border-radius: 10px;
    padding: 5px;
    font-size: 14px !important;
    }
    
    .overlay_img {
    position: absolute;
    z-index: 10;
    bottom: 10%;
    left: 35%;
    transform: translateX(-50%);
}
    span.jp {
    font-size: 120%;
    }
    
    .site-branding {
        margin-bottom: 10px;
    }

    .site-title {
        font-size: 2em;
    }
.site-content {
    padding: 0;
}
    .site-description {
        font-size: 0.8em;
    }
   h2 {
    font-size: 1.8em;
}
    h3 {
    font-size: 1.4em;
}
    h4 {
    font-size: 1.1em;
}
    .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex{
        justify-content: center;
    }
    
.wp-block-columns.has-background.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    padding: 0;
}
    .travelbybox {
    align-items: center !important;
    flex-wrap: nowrap!important;
    margin-bottom: 0!important;
}
    .wp-block-column.travel_box_img.is-layout-flow.wp-block-column-is-layout-flow{
    flex-basis: 33.33% !important;
}
    
    .content_treatment{
        padding: 0 20px;
    }
    .content_treatment img{
        max-width: 200px;
        width: auto;
        margin: 0 auto;
    }
    .cavity_op_box{
        margin-top: 50px;
    }
    .periodontal_list {
    margin: 0 auto !important;
    padding: 0 20px;
    gap: 0;
    }
    
    .main-navigation ul {
        display: block; /* Stack menu items */
    }

    .main-navigation li {
        display: block; /* Each item on its own line */
        margin: 0 0 10px 0;
    }

    .main-navigation a {
        padding: 8px 15px;
        background-color: #f0f0f0;
        border-radius: 3px;
        display: block;
    }

    .main-navigation a::after {
        display: none; /* Hide underline on mobile */
    }

    .entry-title {
        font-size: 1.8em;
    }
    .footer__menu {
        display: none;
    }
    
    .hex {
        width: calc(100% / 4 - 2vw);
    }
    
    
    .article_news_page {
    padding: 50px 30px;
}
}

@media (max-width: 600px) {
    .taiou__area dl {
    display: block;
    }
    .taiou__area dd img{
        transform: rotate(90deg);
    }
    .taiou__area dt {
        align-content: center;
        text-align: center;
    }
    .taiou__area dd {
        margin-left: 0;
        letter-spacing: -2px;
    }
    .taiou__area{
        padding: 10px;
    }
    .area{
        padding: 30px 10px !important;
    }
    
}

@media (max-width: 540px) {
.hex {
        width: calc(100% / 3 - 20px);
    }
    header.site-header img{
        max-width: 140px;
        width: 100%;
    }
    .main__visual {
        height: 70vh;
        padding-top: 89px !important;
    }
    .teeth_compare img{
        max-width: 200px;
        width: 100%;
        margin: auto;
    }
}
    
@media (max-width: 490px) {
    h2 {
        font-size: 1.5em;
    }
    h3{
        font-size: 1.3em;
    }
    span.en{
        font-size: 18px;
    }
    span.jp {
        font-size: 20px;
    }
    
    .director__profile dl {
    display: inline-grid!important;
    }
    .director__profile dt {
    min-width: 90px;
    }
    .br_sp{
    display: block;
    }
    .hex__button__top {
    margin: 30px auto 0;
}
    .travelby{
        padding: 20px 20px;
    }
    .travelbybox{
        flex-wrap: wrap!important;
        gap: 0!important;
        
    }
    .director__profile img {
    max-width: 90px;
    width: 100%;
    margin: 0 auto;
}
    .director__profile__colmn{
        gap: 0;
    }
    .white__bg_img_txt{
        min-height: 400px;
    }
    .has-medium-font-size {
    font-size: 16px !important;
    }
    .equipment__box{
        gap: 0;
    }
    .parking__coupon{
        background-color: #fff;
    }
    .inlay__crown{
        padding: 50px 20px 100px !important;
    }
    .cavity_white__bg_img_txt{
        min-height: 340px;
    }
    .cavity_white__bg_img_txt p{
    padding: 0 20px;
    }    
    .about__denture {
    margin: 50px auto 0 !important;
    }
    .denture__types{
    max-width: 1080px;
    margin: 0 auto 100px !important;
    }
    .bubble p{
        min-width: 330px;
    }
    .osusume{
    padding: 50px 0!important;
    margin: 0 auto 100px !important;
    }
    .periodontal__table td:nth-child(3) {
    min-width: auto;
    }
    .red_bdr_col{
        padding: 50px 10px;
    }
    .red_bdr_col ul{
        padding-left: 25px;
        margin: 0;
    }
    .red_bdr_wpcol{
        gap: 0;
    }
    .red_bdr_li li{
        margin-bottom: 10px;
    }
    .merits{
        padding: 50px 20px 50px!important
    }
    .periodontal_list{
        padding: 0 20px;
    }
    .step dd{
        margin-left: 0;
    }
    .treatment__menu {
        margin: 50px 20px 100px !important;
    }
    .treatment__menu img{
        width: 100%;
    }
    .periodontal__table th::after{
        content: none;
    }
    .periodontal__table tr{
        display: grid;
        margin-bottom: 10px;
    }
    .periodontal__table th{
        writing-mode: horizontal-tb;
    -webkit-writing-mode: horizontal-tb;
    }
    .periodontal__table td{
        border-left: 1px solid #707070;
    }
    .flow__step{
        padding: 50px 20px 100px !important;
    }
    .soudan {
    padding: 20px!important;
    }
    .area {
        padding: 50px 20px !important;
    }
    .red_bdr_col_gap{
        gap: 0;
    }
    .treatment__step dt{
        align-content: center;
        align-self: center;
        place-self: center;
    }
    
    
    
.pc{
    display: none;
}
.sp{
    display: block;
}
    
    
}
@media (max-width: 350px) {
    
    .bubble p{
        min-width: 290px;
    }
}
